/* Phone presentation only. Keep desktop rules and source content intact. */
@media (max-width:700px) {
  html { scroll-padding-top:110px; }
  body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-text-size-adjust:100%; }
  :is(main,section,article,header,nav,form,fieldset,details) { min-width:0; }
  :is(input,textarea,select) { font-size:16px; }
  :is(h1,h2,h3,h4,p,button,a,label,summary) { overflow-wrap:break-word; }

  /* One opaque, continuous header. The second row scrolls for long languages. */
  body[data-page] .site-header,body[data-page="community"] .site-header {
    position:sticky!important; top:0!important; left:0!important; right:0!important;
    width:100%!important; height:100px!important; min-height:100px;
    margin:0!important; padding:4px 16px 0!important;
    display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:52px 40px;
    align-items:center; gap:4px 6px!important; border:0; border-bottom:1px solid #e5ebf2;
    border-radius:0!important; background:#fff!important; box-shadow:none;
  }
  body[data-page="home"] #app>.site-header { position:fixed!important; }
  body[data-page="guide"] #app>.site-header { position:fixed!important; }
  body[data-page="guide"] #app { padding-top:100px; }
  .site-header .brand { width:min(100%,155px); min-width:0; justify-self:start; grid-column:1; grid-row:1; }
  .site-header .brand img { width:100%; height:auto; max-height:46px; object-fit:contain; }
  .site-header .header-actions { grid-column:2; grid-row:1; gap:0; }
  .site-header .header-actions :is(a,button) { width:40px; height:44px; min-width:40px; min-height:44px; padding:8px; }
  .site-header .header-actions :is(svg,morph-icon) { width:24px; height:24px; }
  .site-header .main-nav { grid-column:1/-1; grid-row:2; width:100%; min-width:0; margin:0; padding:0; gap:18px; display:flex; justify-content:space-between; overflow-x:auto; scrollbar-width:none; border:0; }
  .site-header .main-nav a { flex:0 0 auto; min-height:40px; display:flex; align-items:center; font-size:12px; line-height:1.2; white-space:nowrap; }

  /* Shared product geometry. Explicit minimums prevent oval swatches. */
  body[data-page] .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:stretch; }
  body[data-page] .product-card { height:auto; min-width:0; padding:6px; border-radius:18px; }
  body[data-page] .product-photo { width:100%; height:auto; min-height:0; aspect-ratio:1; border-radius:13px; background-repeat:no-repeat; }
  body[data-page] .product-info { padding:10px 6px 6px; gap:0; }
  body[data-page] .product-info h3 { margin:0 0 6px; min-height:2.6em; height:2.6em; font-size:14px; line-height:1.3; }
  body[data-page] .product-info h3 button { font-size:inherit; line-height:inherit; }
  body[data-page] .product-grid .product-info>p { font-size:12px; line-height:1.45; height:2.9em; min-height:2.9em; margin:0 0 10px; }
  body[data-page] .product-info>strong { margin:0 0 8px; font-size:18px; line-height:1.25; }
  body[data-page] .product-card .swatches { gap:6px; min-height:30px; margin:0 0 8px; padding:4px 0; flex-wrap:wrap; align-items:center; }
  body[data-page] .product-card .swatch { width:18px; height:18px; min-width:18px; min-height:18px; max-width:18px; max-height:18px; flex:0 0 18px; aspect-ratio:1; border-radius:50%; padding:0; }
  body[data-page] .product-card .swatches>span { font-size:10px; line-height:1.25; min-width:0; }
  body[data-page] .product-card .add-button { min-height:44px; height:auto; padding:9px 5px; margin-top:auto; font-size:12px; line-height:1.25; gap:5px; border-radius:12px; }
  body[data-page] .product-card .add-button morph-icon { width:16px; height:16px; flex:0 0 16px; }
  body[data-page] .product-photo .favorite { top:7px; right:7px; width:36px; height:36px; min-width:36px; min-height:36px; max-width:36px; max-height:36px; }
  body[data-page] .product-photo .badge { top:8px; left:7px; padding:5px 7px; font-size:9px; min-height:24px; }

  .shop-section { padding:32px 16px!important; }
  .shop-section .section-heading { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; margin-bottom:20px; }
  .shop-section .section-heading h2 { display:flex; align-items:center; gap:10px; margin:0; font-size:32px; line-height:1.15; }
  .shop-section .section-heading h2 small { position:static; flex:none; margin:0!important; padding:5px 8px; font-size:11px; }
  .shop-section .section-heading h3 { margin:8px 0 14px; font-size:17px; line-height:1.4; }
  .shop-section .shop-cta { min-height:44px; margin:0; padding:12px 18px; font-size:13px; }
  .shop-section .benefits { margin:0; width:100%; min-width:0; max-width:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:12px 8px; border-radius:16px; box-shadow:none; }
  .shop-section .benefits>div { min-width:0; gap:6px; }
  .shop-section .benefits .benefit-icon { width:30px; height:30px; min-width:30px; margin:0; }
  .shop-section .benefits .benefit-label { width:100%; font-size:11px; line-height:1.3; min-height:2.6em; white-space:normal; overflow-wrap:anywhere; }

  /* Orbit and bubbles share the same stage coordinates. */
  .cinematic-scroll { height:280svh; min-height:0; }
  .cinematic-stage { height:100svh; min-height:0; }
  .cinematic-orbit { inset:0; width:100%; height:100%; transform:none; }
  .cinematic-bubbles .orbit-bubble { width:clamp(64px,18vw,84px); }
  .cinematic-bubbles .orbit-bubble:nth-child(1) { left:50%; top:22.2222%; }
  .cinematic-bubbles .orbit-bubble:nth-child(2) { left:83.287%; top:41.416%; }
  .cinematic-bubbles .orbit-bubble:nth-child(3) { left:70.5725%; top:72.473%; }
  .cinematic-bubbles .orbit-bubble:nth-child(4) { left:29.4275%; top:72.473%; }
  .cinematic-bubbles .orbit-bubble:nth-child(5) { left:16.713%; top:41.416%; }
  .orbit-bubble span { font-size:11px; line-height:1.2; }
  .cinematic-categories .category-showcase { min-height:0; height:100%; }
  .cinematic-categories .showcase-window { top:17%; bottom:13%; left:16px; right:16px; }
  .cinematic-categories .showcase-card { flex-basis:84%; border-radius:22px; }
  .cinematic-categories .showcase-track { gap:12px; }
  .cinematic-categories .showcase-copy { top:6%; left:7%; }
  .cinematic-categories .showcase-copy h2 { font-size:26px; }
  .cinematic-categories .showcase-dots { bottom:7%; }
  .bird-shop { height:400px; min-height:0; padding-top:28px; }
  .bird-shop-heading { padding:0 16px; }
  .bird-shop-heading h2 { margin:0; font-size:30px; line-height:1.2; }
  .bird-shop-heading p { margin-top:8px; font-size:13px; }
  .bird-carousel { inset:70px 0 0; }
  .bird-shop:has(.bird-detail[aria-hidden="false"]) { height:auto; padding-bottom:20px; }
  .bird-carousel:has(.bird-detail[aria-hidden="false"]) { position:relative; inset:auto; margin-top:16px; perspective:none; }
  .bird-carousel:has(.bird-detail[aria-hidden="false"]) .bird-carousel-stage { display:none; }
  .bird-detail[aria-hidden="false"] { position:relative; inset:auto; }
  body[data-page] .bird-detail[aria-hidden="false"] .bird-detail-panel { width:calc(100% - 32px); max-height:none; height:auto; grid-template-columns:minmax(0,1fr); transform:none; }
  body[data-page] .bird-detail-media { height:280px; min-height:280px; }
  body[data-page] .bird-detail-copy { margin:0 12px 12px; }
  .bird-detail-copy .bird-science h4 { font-size:26px; }

  /* Collections: controls occupy identical slots; cards retain the home scale. */
  .collection-layout .catalog-hero { min-height:0; height:260px; margin-top:0; }
  body[data-page] .collection-layout .catalog-hero-copy { top:28px!important; left:16px; right:16px; bottom:auto; }
  .catalog-hero-copy h1 { font-size:32px; line-height:1.15; }
  .catalog-hero-copy p { font-size:15px; line-height:1.45; max-width:30ch; }
  .collection-layout .catalog-products { padding:16px; gap:20px; }
  .catalog-sidebar-shell { padding:12px; border-radius:16px; }
  .catalog-toolbar { gap:12px; margin-bottom:20px; }
  .catalog-toolbar h2 { font-size:20px; }
  .catalog-controls { width:100%; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; align-items:start; }
  body[data-page] .catalog-search,body[data-page] .catalog-sort { width:100%; min-width:0; margin:0; min-height:44px; border-radius:12px; box-sizing:border-box; }
  body[data-page] .catalog-search { height:44px; padding:0 10px; gap:6px; border:1px solid #dce5f0; }
  body[data-page] .catalog-search input { width:100%; min-width:0; padding:0; height:42px; font-size:16px; }
  body[data-page] .catalog-sort summary { height:44px; min-height:44px; padding:0 12px; font-size:13px; line-height:1.2; }
  .catalog-sort [data-sort-label] { min-width:0; }
  .catalog-group { margin-bottom:24px; }
  .catalog-group>h3 { font-size:19px; margin:16px 0 12px; }
  body[data-page] .catalog-grid:has(>.product-card:only-child) { grid-template-columns:minmax(0,1fr); }
  body[data-page] .catalog-grid>.product-card:only-child { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); align-items:start; gap:4px; }
  body[data-page] .catalog-grid>.product-card:only-child .product-info { padding:6px; }

  /* A product sheet uses image width, never text-column height, for its ratio. */
  body[data-page] .product-detail-modal { padding:0; }
  body[data-page] .product-detail-sheet { height:100dvh; max-height:100dvh; border-radius:0; padding:0 0 env(safe-area-inset-bottom,0px); }
  .product-detail-tools { top:0; margin:0; padding:8px 16px; min-height:52px; background:#fff; }
  .product-detail-handle,.product-detail-top-fade { display:none; }
  body[data-page] .product-detail-top { padding:12px 16px 20px; gap:20px; }
  body[data-page] .detail-gallery { display:flex; flex-direction:column; gap:10px; }
  body[data-page] .detail-main-photo { width:100%; height:auto; min-height:0; max-height:none; aspect-ratio:1; flex:none; }
  body[data-page] .detail-main-photo>img { object-fit:contain; }
  body[data-page] .detail-thumbs { order:2; display:flex; flex-direction:row; width:100%; overflow-x:auto; padding:2px; }
  body[data-page] .detail-thumb { flex:0 0 56px; width:56px; height:56px; min-height:56px; }
  body[data-page] .detail-summary { padding:16px; gap:12px; border-radius:18px; }
  body[data-page] .detail-summary>:is(h2,h3,p,.detail-price-row) { margin:0; }
  .detail-summary h2 { font-size:25px; line-height:1.2; }
  .detail-summary :is(p,.detail-subtitle) { font-size:14px; line-height:1.5; }
  body[data-page] .detail-purchase { grid-template-columns:82px minmax(0,1fr) 44px; gap:8px; }
  body[data-page] .detail-purchase .detail-add { font-size:14px; min-height:44px; padding:8px; }
  .detail-service-strip { margin:0 16px 16px; padding:12px; gap:12px; }
  .detail-service-strip>div { min-width:0; }
  .detail-service-strip strong,.detail-service-strip small { font-size:11px; }
  .detail-block { margin:0 16px 16px; padding:16px; }
  .detail-lifestyle { grid-template-columns:1fr; }
  .detail-lifestyle img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
  .detail-duo { grid-template-columns:1fr; gap:16px; }

  /* Care reads as a short editorial list instead of expanded desktop tiles. */
  .care-guides { padding:32px 16px; }
  .care-guides h2 { font-size:30px; line-height:1.15; }
  .care-guides>p { font-size:15px; line-height:1.5; }
  .guide-deck { grid-template-columns:1fr; gap:12px; margin-top:20px; }
  .guide-card,.guide-card.is-active { min-height:150px; border:1px solid #e3ebf4; border-radius:18px; box-shadow:none; background-position:right center; }
  .guide-card::before,.guide-card:not(.is-active)::before { background:linear-gradient(90deg,#fff 0%,#fffffff2 48%,#ffffff22 100%); }
  .guide-card-content,.guide-card.is-active .guide-card-content { padding:16px 36% 16px 16px; }
  .guide-icon,.guide-card.is-active .guide-icon { width:28px; height:28px; flex-basis:28px; }
  .guide-icon svg,.guide-card.is-active .guide-icon svg { width:18px; height:18px; }
  .guide-copy h3 { margin:8px 0 4px; font-size:18px; line-height:1.2; }
  .guide-copy p { font-size:13px; line-height:1.4; }
  .care-portal-hero { height:260px; }
  .care-hero-copy { top:80px; left:16px; }
  .care-category-nav a { min-height:84px; }
  .care-feature { min-height:340px; }
  .care-feature-copy { padding:24px 48px; }
  .care-feature h2 { font-size:26px; }
  .care-feature-dots { bottom:16px; }
  .reviews-preview { padding:32px 16px; }
  .reviews-hero { min-height:260px; padding:70px 16px 36px; }
  .reviews-preview h2,.reviews-page h1 { font-size:30px; line-height:1.2; }
  body[data-page] .review-card { flex:0 0 324px; width:324px; height:214px; grid-template-columns:106px minmax(0,1fr); gap:10px; }
  body[data-page] .reviews-grid .canvas-review-card { min-height:210px; grid-template-columns:106px minmax(0,1fr); gap:12px; }
  .review-return-photo { height:100%; aspect-ratio:auto; }
  .review-return-photo img { object-fit:cover; }

  /* X-like phone feed: one scroll owner and contiguous opaque sticky bars. */
  body[data-page="community"] { --community-header-height:100px; --community-search-height:56px; background:#fff; }
  body[data-page] .community-timeline-page { padding-top:0; }
  body[data-page] .community-timeline-page .community-layout { display:block; height:auto; padding:0; }
  body[data-page] .community-timeline-page .community-sidebar { position:static; margin:0; border-radius:0; padding:8px 12px; background:#fff; }
  .community-timeline-page .community-sidebar .community-nav { gap:4px; }
  body[data-page] .timeline-scroll { overflow:visible; max-height:none; height:auto; mask-image:none!important; padding:0; }
  body[data-page] .timeline-search-row { top:100px; min-height:56px; height:56px; padding:6px 16px; margin:0; background:#fff; }
  body :is(.timeline-tabs,.timeline-categories) { top:156px; min-height:44px; margin:0; padding:0 12px; background:#fff; border-bottom:1px solid #e5ebf2; gap:4px; }
  body[data-page] .timeline-search-row input { font-size:16px; }
  body[data-page] .timeline-tabs button { font-size:13px; min-height:44px; }
  body[data-page] .timeline-post { border:0; border-bottom:1px solid #e5ebf2; border-radius:0; padding:16px; box-shadow:none; }
  body[data-page] .timeline-post>header { gap:8px; margin:0 0 10px; }
  body[data-page] .timeline-author { display:flex; flex-wrap:wrap; gap:3px 6px; min-width:0; }
  body[data-page] .timeline-post .social-avatar { width:40px; height:40px; min-width:40px; }
  body[data-page] .timeline-author :is(a,strong) { font-size:15px; }
  body[data-page] .timeline-author :is(small,time,.timeline-original-id) { font-size:12px; line-height:1.3; }
  body[data-page] .timeline-post :is(h2,h3,.timeline-title) { font-size:16px; line-height:1.4; }
  body[data-page] .timeline-post :is(.timeline-body,.timeline-post>p) { font-size:15px; line-height:1.5; margin:8px 0; }
  body[data-page] .timeline-tags button { font-size:12px; }
  body[data-page] .timeline-post [data-social-follow] { min-height:32px; min-width:72px; width:auto; font-size:12px; padding:6px 10px; }
  body[data-page] .timeline-gallery { flex-wrap:nowrap; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; gap:8px; border-radius:14px; margin-top:12px; }
  body[data-page] .timeline-gallery>a { height:auto!important; max-width:100%; flex-shrink:0; scroll-snap-align:start; border-radius:12px; overflow:hidden; }
  body[data-page] .timeline-gallery[data-count="1"]>a { width:100%!important; }
  body[data-page] .timeline-gallery:not([data-count="1"])>a { width:84%!important; }
  body[data-page] .timeline-gallery>a img { width:100%!important; height:auto!important; max-height:420px; aspect-ratio:auto; object-fit:contain!important; display:block; }
  body[data-page] .timeline-gallery:not([data-count="1"])>a { height:230px!important; display:flex; align-items:center; background:#f4f8fc; }
  body[data-page] .timeline-gallery:not([data-count="1"])>a img { height:230px!important; max-height:230px; }
  body[data-page] .timeline-post .timeline-actions { margin-top:10px; min-height:36px; }
  body[data-page] .social-post-dialog { --post-inset:0px; inset:0; width:100%; max-width:100%; height:100dvh; max-height:100dvh; margin:0; padding:0; border:0; border-radius:0; background:#fff; }
  .mobile-post-back { display:flex; align-items:center; gap:12px; width:100%; height:52px; padding:8px 16px; border:0; border-bottom:1px solid #e5ebf2; background:#fff; color:#122e5c; font-family:inherit; font-size:17px; font-weight:600; text-align:left; }
  .mobile-post-back morph-icon { width:22px; height:22px; }
  body[data-page] .social-post-reading { height:calc(100dvh - 52px); max-height:calc(100dvh - 52px); padding:0 16px max(20px,env(safe-area-inset-bottom)); mask-image:none; outline:none; }
  body[data-page] .social-post-reading>header { display:grid; grid-template-columns:40px minmax(0,1fr) auto; grid-template-rows:auto auto; gap:2px 8px; margin:16px 0; }
  body[data-page] .social-post-reading>header>a:first-child { grid-column:1; grid-row:1/3; }
  body[data-page] .social-post-reading>header>.social-author { grid-column:2; grid-row:1; }
  body[data-page] .social-post-reading>header .social-avatar { width:40px; height:40px; min-width:40px; }
  body[data-page] .social-post-reading>header .social-author { font-size:15px; }
  body[data-page] .social-post-reading>header>.timeline-original-id { grid-column:2; grid-row:2; margin:0; font-size:12px; }
  body[data-page] .social-post-reading>header>[data-social-follow] { grid-column:3; grid-row:1/3; min-height:32px; margin-left:auto; padding:6px 12px; font-size:12px; }
  body[data-page] .social-post-reading>h2 { margin:12px 0; font-size:23px; line-height:1.3; }
  body[data-page] .social-post-body { margin:12px 0; font-size:16px; line-height:1.5; color:#263f61; }
  body[data-page] .social-post-reading>.timeline-gallery { margin-top:14px; }
  body[data-page] .social-post-reading .social-comments { margin:16px -16px 0; padding:16px; border-radius:0; border-top:1px solid #e5ebf2; box-shadow:none; background:#fff; }
  body[data-page] .social-comments>header { margin-bottom:14px; }
  body[data-page] .social-comments h3 { font-size:18px; }
  body[data-page] .social-comment-editor textarea { font-size:16px; line-height:1.4; }
  body[data-page] .social-comment-form>.social-primary { min-height:44px; margin:0; }
  body[data-page] .social-comments-empty { padding:20px 4px; font-size:13px; }
  .social-connections-dialog,.social-members-dialog { width:100%; max-width:100%; max-height:100dvh; border-radius:18px; }
  .social-profile-scroll { overflow:visible; max-height:none; mask-image:none; }
  body[data-page] .social-profile-grid { display:grid; grid-template-columns:1fr; gap:0; }
  .social-profile-tabs { background:#fff; }

  /* A small safe-area aware launcher leaves touch targets and media visible. */
  body[data-page] .pf-tools { top:auto!important; left:auto!important; right:12px!important; bottom:calc(12px + env(safe-area-inset-bottom,0px))!important; }
  body[data-page] .pf-tool-rail { width:48px; height:48px; min-height:0; border-radius:50%; }
  body[data-page] .pf-tool-launcher { width:48px; height:48px; min-height:48px; border-radius:50%; opacity:.9; background:#fff; box-shadow:0 4px 20px #15386426; }
  .pf-tool-launcher>span { display:none; }
  .pf-tool-launcher::before { content:"文/A"; color:#214ed9; font-size:13px; font-weight:650; }
  body #pf-tool-actions { position:absolute; right:0; bottom:58px; width:108px; gap:8px; }
  body #pf-tool-actions>button { width:50px; height:50px; min-height:50px; }
  body[data-page] .pf-tool-panels { position:fixed!important; left:12px!important; right:12px!important; top:auto!important; bottom:calc(76px + env(safe-area-inset-bottom,0px))!important; width:auto; max-width:none; }
  .pf-tool-panels>section { width:100%; max-width:none; max-height:70dvh; overflow-y:auto; }
  body:has(.product-detail-modal:not([hidden])) .pf-tools { display:none; }
  .pf-footer-inner { padding:28px 16px 20px; }
  .pf-footer-nav { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 14px; }
  .pf-footer-nav nav { font-size:12px; gap:8px; }
  .pf-footer-nav nav strong { font-size:10px; letter-spacing:.12em; }
  .pf-footer-nav nav a { min-height:32px; }
  .pf-footer-brand { grid-column:1/-1; }
  .pf-footer-logo { width:110px; height:70px; overflow:hidden; }
  .pf-footer-logo img { width:110px; height:110px; transform:translateY(-20px); }
  .pf-footer-meta { font-size:11px; line-height:1.5; }
}
