/* Phone and small touch-screen adaptations. Desktop layouts keep their own rules. */
@media (max-width:900px), (max-width:1100px) and (hover:none) and (pointer:coarse) {
  :root { --g:clamp(18px,5vw,40px); }
  html { scroll-snap-type:none!important;scroll-behavior:auto!important; }
  body { font-size:16px;line-height:1.55;-webkit-text-size-adjust:100%; }
  main,main section,main article,main aside,main figure { min-width:0; }
  h1,h2,h3,p,dt,dd,figcaption { overflow-wrap:anywhere; }
  main>section,.inner-page main>section,.section,.inner-page .section {
    min-height:0;height:auto;scroll-snap-align:none!important;scroll-snap-stop:normal!important;
  }
  .section,.inner-page .section { display:block;padding:52px var(--g); }
  .section-heading,.inner-page .section-heading { display:block;margin-bottom:30px; }
  .section-heading h2,.inner-page .section-heading h2,.final-screen .final-copy h2 {
    font-size:clamp(30px,7.8vw,42px);line-height:1.13;max-width:22ch;
  }
  .section-heading>p,.inner-page .section-heading>p,
  .customization-screen>.section-heading>p,.customization-products .section-heading>p {
    font-size:16px;line-height:1.55;margin-top:20px;max-width:60ch;
  }
  .product>p,.inner-page #products .product>p,.service-list p,.steps p,
  .manufacturing-notes p,.reason-list p,.project-descriptions p,.client-list p,
  #who-we-work-with .client-list p,.product-line-grid p,.ceo-note>p,
  .final-copy>p,.final-screen .final-copy>p,.section-end p,
  .customization-screen .section-end p {
    font-size:16px;line-height:1.55;
  }
  .product-title h2,.inner-page .product-title h2,.inner-page #products .product-title h2,
  .product-title h3,.inner-page .product h3,.service-list h3,.steps h3,
  .manufacturing-notes h3,.reason-list h3,.project-descriptions h3,.client-list h3,
  #who-we-work-with .client-list h3,.product-line-grid h3 {
    font-size:clamp(21px,5.5vw,26px);line-height:1.23;
  }
  .button,.hero .button,.text-link,.hero .text-link,.product>.text-link,
  .inner-page #products .product>.text-link,.ceo-note .text-link,
  .customization-screen .section-end .button {
    min-height:44px;font-size:15px;line-height:1.45;
  }
  .button { max-width:100%;padding:13px 20px;gap:16px;white-space:normal; }
  .text-link { padding-block:10px;gap:12px; }
  .actions { flex-wrap:wrap;gap:12px 20px; }
  .sample-label,.project-photo .sample-label,.asset-placeholder .sample-label,
  .ceo-role,.ceo-portrait figcaption,.final-copy .low-barrier,
  .final-screen .final-copy .low-barrier { font-size:14px;line-height:1.6; }

  /* A readable header with a full touch target for the menu. */
  .topline { font-size:11px; }
  .topline>span { white-space:normal; }
  .topline>a { display:none; }
  header { height:76px;gap:8px; }
  .brand.header-brand { font-size:clamp(24px,6.7vw,30px); }
  .header-brand>.brand-descriptor { font-size:11px; }
  header .header-cta { margin-left:auto;font-size:12px;padding:11px 13px;gap:8px; }
  header .menu {
    display:grid;place-items:center;flex:none;width:48px;height:48px;padding:8px;
    border:1px solid var(--line,#d5e3dd);border-radius:50%;background:#e7f0eb;color:#245e50;
    touch-action:manipulation;
  }
  header .menu svg { width:30px;height:30px;stroke-width:2;stroke-linecap:round; }
  header .menu:active { background:#d7e8df; }
  header .menu:focus-visible { outline:2px solid #316e5e;outline-offset:3px; }
  header #navigation,header #navigation.open { display:none; }
  .mobile-nav-dialog {
    position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100vh;height:100dvh;
    max-height:none;box-sizing:border-box;padding:max(18px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));
    border:0;border-radius:0;background:var(--paper,#f8faf8);color:var(--ink,#24312d);overflow:hidden;
  }
  .mobile-nav-dialog[open] { display:flex;flex-direction:column;gap:clamp(22px,4dvh,40px); }
  .mobile-nav-dialog::backdrop { background:var(--paper,#f8faf8); }
  .mobile-nav-dialog .mobile-nav-bar {
    display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;
    padding-bottom:18px;border-bottom:1px solid var(--line,#d5e3dd);
  }
  .mobile-nav-dialog .mobile-nav-brand { font-size:28px;line-height:1.1;gap:6px;min-width:0; }
  .mobile-nav-dialog .mobile-nav-brand .brand-descriptor { font-size:11px; }
  .mobile-nav-dialog .brand-letter { animation:none;opacity:1;transform:none; }
  .mobile-nav-dialog .mobile-nav-close {
    display:grid;place-items:center;flex:none;width:48px;height:48px;padding:12px;
    border:1px solid var(--line,#d5e3dd);border-radius:50%;background:#e7f0eb;color:var(--ink,#24312d);
    touch-action:manipulation;
  }
  .mobile-nav-dialog .mobile-nav-close svg { width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round; }
  .mobile-nav-dialog .mobile-nav-links {
    display:flex;position:static;inset:auto;flex:1;flex-direction:column;gap:4px;
    min-height:0;width:100%;margin:0;padding:4px;border:0;background:none;
    overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;
  }
  .mobile-nav-dialog .mobile-nav-links a {
    display:block;position:relative;flex:none;min-height:52px;padding:10px 0;
    font-size:clamp(28px,7.7vw,42px);font-weight:600;line-height:1.18;letter-spacing:-.035em;
    color:var(--ink,#24312d);white-space:normal;overflow-wrap:break-word;text-decoration:none;
    transform-origin:left center;transition:scale 160ms ease-out,color 160ms ease-out;
  }
  /* Each fresh menu opening brings the links up in reading order. */
  .mobile-nav-dialog[open] .mobile-nav-links>a {
    animation:mobile-menu-enter 420ms cubic-bezier(.16,1,.3,1) backwards;
    animation-delay:calc(40ms + var(--menu-order,0)*50ms);
  }
  .mobile-nav-links>a:nth-child(2) { --menu-order:1; }
  .mobile-nav-links>a:nth-child(3) { --menu-order:2; }
  .mobile-nav-links>a:nth-child(4) { --menu-order:3; }
  .mobile-nav-links>a:nth-child(5) { --menu-order:4; }
  .mobile-nav-links>a:nth-child(n+6) { --menu-order:5; }
  .mobile-nav-dialog[open] .header-compliance-menu { animation:mobile-menu-enter 400ms 340ms cubic-bezier(.16,1,.3,1) backwards; }
  .mobile-nav-dialog .mobile-nav-links>a:active { scale:.985;color:#316e5e; }
  .mobile-nav-dialog .mobile-nav-links>a:focus-visible { animation:none;opacity:1;transform:none; }
  @keyframes mobile-menu-enter {
    from { opacity:0;transform:translate3d(0,18px,0); }
    to { opacity:1;transform:translate3d(0,0,0); }
  }
  .mobile-nav-dialog .mobile-nav-links a[aria-current=page] { color:#316e5e; }
  .mobile-nav-dialog a:focus-visible,.mobile-nav-dialog button:focus-visible { outline:2px solid #316e5e;outline-offset:3px; }

  /* Let content determine chapter height when copy grows or the phone rotates. */
  .hero {
    display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;
    height:auto;min-height:0;overflow:visible;
  }
  .hero-copy { padding:30px var(--g) 16px; }
  .hero h1 { font-size:clamp(32px,8.5vw,46px);line-height:1.1;max-width:20ch; }
  .hero-copy>p { font-size:16px;line-height:1.55;margin-top:20px;max-width:60ch; }
  #hero .hero-copy>p { display:none; }
  .hero-facts { display:flex;font-size:13px;line-height:1.6;gap:7px 16px;margin-top:18px; }
  .hero-facts span:first-child { display:initial; }
  .hero .actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;width:100%;max-width:100%;min-width:0;margin-top:22px;gap:10px; }
  .hero .actions>.button,.hero .actions>.text-link {
    display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:0;
    min-height:48px;margin:0;font-size:14px;line-height:1.35;gap:6px;white-space:normal;text-align:center;
  }
  .hero .actions>.button { padding:12px 10px; }
  .hero .actions>.text-link { padding:12px 0; }
  .hero .actions>a>span { flex-shrink:0; }
  .hero-visual { min-height:360px;padding:52px 0 100px; }
  .hero .banner-image,.hero-visual[data-selected=case] .banner-image,
  .hero-visual[data-selected=care] .banner-image,.hero-visual[data-selected=bath] .banner-image {
    width:min(82%,390px);height:auto;max-width:82%;max-height:none;margin:0 auto;
  }
  .product-backdrop { width:min(72vw,380px);height:min(72vw,380px); }
  .carousel-tools { top:0;right:var(--g);gap:10px; }
  .carousel-tools button { width:44px;height:44px; }
  .slide-count { font-size:13px; }
  
  
  .stage-controls { bottom:18px;left:var(--g);right:var(--g);gap:7px; }
  .stage-controls button { min-height:48px;min-width:0;font-size:12px;line-height:1.4;padding:9px 7px; }

  /* Cards wrap according to their usable width instead of squeezing two columns. */
  .product-grid,.inner-page .product-grid,.inner-page #products .product-grid,
  body:not(.inner-page) #products .product-grid,
  body:not(.inner-page) #products .product-grid[data-category-overflow="true"] {
    display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
    grid-auto-flow:row;grid-auto-columns:auto;gap:34px 24px;overflow:visible;scroll-snap-type:none;
  }
  .product,.product:last-child,body:not(.inner-page) #products .product-grid>.product { grid-column:auto;margin:0; }
  .home-category-controls { display:none; }
  .product-image,.inner-page .product-image { height:auto;min-height:0;aspect-ratio:1; }
  .product-title,.inner-page #products .product-title { gap:12px;margin:18px 0 10px; }
  .product-title>a { min-width:44px;min-height:44px;text-align:center; }
  .inner-page #products .product-image img { padding:20px; }
  .asset-placeholder { padding:20px; }
  .asset-placeholder>span:first-child,.inner-page #products .asset-placeholder>span:first-child { font-size:21px; }
  .asset-placeholder p,.inner-page #products .asset-placeholder p { font-size:15px;line-height:1.6; }
  .service-list,.custom-services .service-list,.inner-page .custom-services .service-list,
  .steps,.client-list,.reason-list,.project-descriptions,.inner-page .project-descriptions,
  .product-line-grid,.related-products>div {
    display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:28px 24px;
  }
  .reason-list article { display:block;margin:0; }
  .reason-list p { margin-top:14px; }
  .steps span { font-size:14px;margin-bottom:18px; }
  .steps p,.client-list p { margin-top:14px; }
  .custom-layout,.manufacturing-layout,.inner-page .manufacturing-layout,
  .faq-section,.detail-overview,.about-story,.page-cta { display:grid;grid-template-columns:minmax(0,1fr);gap:32px; }
  .section-end,.inner-page .section-end { display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px;margin-top:28px; }
  .section-end>.button { margin-top:0;flex-shrink:1; }

  /* Panoramic case photos retain their source ratio on narrow screens. */
  .project-photo img,.inner-page .project-photo img { width:100%;height:auto;max-height:none;object-fit:contain; }
  .project-photo .sample-label { padding:15px 20px; }
  .factory-visual img,.inner-page .factory-visual img { width:100%;height:auto;max-height:none;object-fit:contain; }
  .project-descriptions dl>div { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:5px 16px;font-size:16px; }
  .project-descriptions dt,.detail-facts dt { min-width:0; }
  .project-descriptions article,.inner-page .project-descriptions article { padding-top:22px; }
  .client-metrics { grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:16px; }
  .client-metric { min-height:130px;padding:24px;gap:15px; }
  .client-metric dd,.bp-stats .client-metric dd { font-size:clamp(34px,8vw,54px); }
  .client-metric dt { font-size:16px; }
  #who-we-work-with .client-heading { display:grid;grid-template-columns:minmax(0,1fr);gap:28px; }
  #who-we-work-with .ceo-card { grid-template-columns:minmax(0,1fr);padding:0;gap:0; }
  .ceo-portrait { grid-column:auto;grid-row:auto;min-height:0;max-height:420px; }
  .ceo-portrait img { width:100%;height:100%;max-height:420px;object-fit:cover;object-position:center 30%; }
  .ceo-voice,.ceo-note { grid-column:auto;padding:24px; }
  .ceo-note { padding-top:0; }
  #who-we-work-with .ceo-voice h3 { font-size:30px; }

  /* Shared page titles grow naturally when long names need several lines. */
  .inner-page .uniform-banner {
    height:auto!important;min-height:0!important;padding:32px var(--g) 38px!important;align-items:flex-start!important;
  }
  .uniform-banner>div { display:grid;grid-template-rows:auto auto auto;row-gap:18px; }
  .inner-page .uniform-banner h1 { font-size:clamp(32px,8vw,44px);line-height:1.16;max-width:26ch; }
  .inner-page .uniform-banner p { font-size:16px;line-height:1.55; }
  .uniform-banner .breadcrumbs,.inner-page .uniform-banner nav.breadcrumbs {
    height:auto;min-height:24px;line-height:1.6;font-size:13px;gap:8px;align-items:center;
  }
  .inner-page .uniform-banner nav.breadcrumbs span:last-child { white-space:normal;overflow-wrap:anywhere;flex:0 1 auto; }
  .breadcrumbs a { display:inline-flex;align-items:center;min-height:32px; }
  .catalog-layout,.inner-page #products .catalog-layout { display:block; }
  .catalog-sidebar { position:static; }
  .catalog-sidebar h3 { font-size:23px; }
  .inner-page #products .catalog-sidebar .filters {
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;
    gap:8px;margin:20px 0 30px;
  }
  .inner-page #products .catalog-sidebar .filters button {
    display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:66px;
    white-space:normal;overflow-wrap:normal;text-wrap:balance;text-align:center;
    font-size:15px;line-height:1.4;padding:12px 10px;
  }
  .catalog-pagination { margin-left:0; }
  .catalog-pagination button { min-width:44px;min-height:44px;height:auto;font-size:15px;padding:9px 14px; }
  .catalog-pagination .page-summary { font-size:14px; }
  .inner-page .product-detail { min-height:0;height:auto;grid-template-columns:minmax(0,1fr);gap:30px;padding:38px var(--g); }
  .product-detail .gallery-stage { width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1; }
  .product-detail .detail-image { height:auto;min-height:0;aspect-ratio:1; }
  .product-detail .detail-copy .product-name { font-size:clamp(30px,7.5vw,40px);line-height:1.16; }
  .detail-copy .detail-lead { font-size:21px;line-height:1.5; }
  .detail-facts>div { grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));font-size:16px;gap:6px 20px; }
  .gallery-prev,.gallery-next { width:44px;height:44px; }
  .gallery-thumb { max-width:100%;min-height:60px;font-size:14px; }
  .gallery-thumbnails { gap:10px; }
  .related-products>div>h2,.related-products>div>a { font-size:23px;line-height:1.4; }
  summary,.custom-services>summary,.about-faq summary { min-height:48px;font-size:17px;line-height:1.5;padding:20px 32px 20px 0; }
  details p { font-size:16px;line-height:1.55;padding-right:0; }
  .direction-rows>a { flex-direction:column;gap:10px; }
  .page-cta { padding:48px var(--g); }
  .page-cta h2 { font-size:clamp(32px,8vw,42px); }

  /* The host sizes each studio from its measured content on mobile. */
  .customization-screen,body:not(.inner-page) #customization.customization-screen,
  .inner-page .customization-products .product-customization {
    display:block;height:auto;min-height:0;overflow:visible;padding:48px var(--g);scroll-snap-align:none!important;
  }
  .customization-products .product-customization .section-heading { padding-top:28px;margin-bottom:28px; }
  .inner-page .customization-products .section-heading h2 { font-size:clamp(28px,7.2vw,38px);line-height:1.18; }
  .customization-products .product-number { font-size:13px; }
  .brand-studio,.customization-screen .brand-studio,.inner-page .brand-studio,
  .inner-page .customization-products .brand-studio { height:auto!important;min-height:0;overflow:visible; }
  .brand-studio iframe,.customization-screen .brand-studio iframe,
  .inner-page .brand-studio iframe,.inner-page .customization-products .brand-studio iframe {
    width:100%;max-width:100%;height:var(--mobile-studio-height,1280px)!important;min-height:0;
  }
  .brand-studio .studio-load-note { font-size:16px; }
  .customization-services-panel .section-end>.button { translate:none; }

  /* Editorial content may include arbitrary uploads, long links and tables. */
  .news-notice { display:block; }
  .news-notice strong { white-space:normal;font-size:17px; }
  .news-notice p { margin-top:12px; }
  .news-row,.news-row:has(>.news-row-cover) { grid-template-columns:minmax(0,1fr);gap:16px;padding:32px 0; }
  .news-row:has(>.news-row-cover)>* { grid-column:1;grid-row:auto; }
  .news-row h2 { font-size:clamp(27px,7vw,36px);line-height:1.2; }
  .news-type,.read-link { font-size:15px; }
  .news-row-cover,.news-row:has(>.news-row-cover)>.news-row-cover { width:100%;height:auto;max-height:none;aspect-ratio:auto; }
  .news-detail-cover img { width:100%;height:auto;max-height:none;object-fit:contain; }
  .editorial p,.news-richtext,.editorial aside { font-size:17px;line-height:1.65; }
  .editorial .article-title { font-size:clamp(30px,7.5vw,40px);line-height:1.18; }
  .editorial h2 { font-size:28px;line-height:1.25;margin-top:36px; }
  .editorial .guide-label { font-size:14px!important; }
  .news-richtext img,.news-richtext video,.news-richtext iframe { max-width:100%!important;height:auto!important; }
  .news-richtext figure { max-width:100%;margin-inline:0; }
  .news-richtext iframe { aspect-ratio:16/9; }
  .news-richtext table { display:block;max-width:100%;overflow-x:auto;border-collapse:collapse; }
  .news-richtext td,.news-richtext th { min-width:100px;white-space:normal; }
  .news-richtext pre { max-width:100%;overflow-x:auto; }

  /* About uses the same reading size and width-based card wrapping. */
  .about-page .about-heading,.about-page .about-production-layout,.about-page .about-uv-layout,
  .about-page .about-photo-pair,.about-page .about-tooling-pair,.about-page .about-planning-copy,
  .about-page .about-quality-layout { grid-template-columns:minmax(0,1fr);gap:28px; }
  .about-page .about-section { padding:48px var(--g); }
  .about-page .about-section h2 { font-size:clamp(30px,7.8vw,42px);line-height:1.15; }
  .about-page .about-section p,.about-page .about-section li,
  .about-page .about-uv-panel p,.about-page .about-quality-checks p,
  .about-page .about-client-list p,.about-page .about-project-steps p,
  .about-page .about-faq details p,.about-page .about-planning-copy p { font-size:16px;line-height:1.55; }
  .about-uv-copy { display:block; }
  .about-page .about-process-notes,.about-page .about-quality-checks,.about-page .about-client-list,
  .about-page .about-project-steps,.about-page .about-planning-figures {
    grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:28px 24px;
  }
  .about-page .about-faq { grid-template-columns:minmax(0,1fr); }
  .about-page .about-tooling-pair>.about-photo:last-child { margin-top:0; }
  .about-page .about-photo figcaption { display:block;font-size:14px;line-height:1.6; }
  .about-photo figcaption>span { display:block;text-align:left;margin-top:5px; }
  .about-page .about-jump-nav {
    display:flex;position:sticky;top:var(--top,108px);flex-direction:row;gap:22px;
    padding:8px var(--g);overflow-x:auto;max-width:100%;
  }
  .about-jump-nav a { min-height:44px;font-size:15px; }
  .about-uv-tabs { flex-wrap:wrap; }
  .about-uv-tabs button { flex:1 1 120px;min-height:48px;font-size:15px;padding:12px 10px; }
  .about-page .about-section .about-photo-source-note,.about-page .about-section .about-diagram-note,
  .about-page .about-intro-notes li,.about-page .about-demo-note { font-size:13px;line-height:1.6; }
  .about-planning-figures dt { font-size:16px; }
  .about-planning-figures dt span { font-size:14px; }
  .about-page .about-project-close { display:block; }
  .about-project-close .button { margin-top:22px; }
  .about-page .about-lightbox { width:calc(100vw - 24px);padding:16px;max-height:calc(100dvh - 24px); }
  .about-lightbox-toolbar { flex-wrap:wrap;gap:16px; }
  .about-lightbox-caption { font-size:14px; }
  .about-photo-view { opacity:1;min-height:44px;font-size:13px; }

  /* A static, readable brand collection keeps image controls reachable. */
  .bp-motion .bp-story { height:auto;min-height:0; }
  .bp-motion .bp-stage { position:relative;top:auto;height:auto;overflow:visible;padding:42px 0 32px; }
  .bp-motion .bp-heading,.bp-motion .bp-deck-window,.bp-motion .bp-deck,
  .bp-motion .bp-card-shell,.bp-motion .bp-stage-bottom { position:relative;inset:auto;transform:none;animation:none; }
  .bp-heading h1 { font-size:clamp(40px,10.5vw,62px); }
  .bp-heading p { font-size:17px;line-height:1.55; }
  .bp-deck,.bp-motion .bp-deck { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:22px;width:90%;margin:32px auto; }
  .bp-motion .bp-card-shell { width:auto;height:auto;margin:0;pointer-events:auto; }
  .bp-card,.bp-card-shell:nth-child(4) .bp-card,.bp-motion .bp-card { height:auto;aspect-ratio:1;min-height:260px;transform:none; }
  .bp-card-caption,.bp-card--photo .bp-card-caption,.bp-card-caption small { font-size:14px;line-height:1.45; }
  .bp-motion .bp-stair-title { display:none; }
  .bp-motion .bp-stage-bottom,.bp-stage-bottom { display:flex;flex-wrap:wrap;width:90%;margin:0 auto;font-size:16px;gap:18px; }
  .bp-stage-bottom a { min-height:44px;white-space:normal; }
  .bp-scroll-hint { display:none; }
  .brand-projects-page .bp-stats { grid-template-columns:minmax(0,1fr);min-height:0;padding:48px var(--g);gap:30px; }
  .bp-stats h2 { font-size:clamp(34px,8.5vw,48px); }
  .bp-stats-copy p { font-size:17px; }
  .bp-stats .client-metric { min-height:140px;padding:24px; }
  .bp-zoom-close,.bp-zoom-nav { width:44px;height:44px; }
  .bp-zoom-info { padding:20px;align-items:flex-start; }
  .bp-zoom-caption { font-size:16px;line-height:1.6; }
  .bp-zoom-count { font-size:14px; }

  /* Footer links remain comfortable to read and touch. */
  body>.homepage-footer { min-height:0;height:auto;padding-top:32px; }
  .footer-directory { grid-template-columns:minmax(0,1fr);gap:24px; }
  .homepage-footer .footer-tagline { font-size:18px; }
  .footer-column h3 { font-size:17px; }
  .footer-column li a,.footer-contact address a { display:flex;align-items:center;min-height:44px;font-size:15px;line-height:1.6; }
  .footer-contact address { display:flex;flex-direction:column;font-size:15px;gap:4px; }
  .footer-inquiry { min-height:44px;font-size:16px; }
  .footer-sample-note,.homepage-footer .footer-social-status { font-size:13px; }
  .footer-meta { display:flex;flex-wrap:wrap;font-size:13px;gap:12px 24px; }
  .footer-meta a { display:inline-flex;align-items:center;min-height:44px; }
  .footer-meta small { width:100%; }
  .homepage-footer .footer-social { width:44px;height:44px; }
  .back-to-top { width:48px;height:48px;bottom:max(22px,env(safe-area-inset-bottom)); }

  /* Remove decorative travel and scroll reveals while preserving action feedback. */
  .home-motion .motion-prepared { opacity:1!important;translate:none!important;transform:none!important; }
  .home-motion .text-arrives,.chapter-enter .section-heading,
  .home-motion .hero-visual .banner-image,
  .header-brand .brand-letter,.header-brand .brand-star,header>.header-cta,
  .header-cta .cta-arrow,.bp-motion .bp-heading,.bp-motion .bp-deck,
  .bp-motion .bp-card-shell,.homepage-footer .footer-wordmark,.signature-caret {
    animation:none!important;transition:none!important;translate:none;
  }
  .header-brand .brand-letter,.header-brand .brand-star,header>.header-cta,.header-cta .cta-arrow { transform:none;opacity:1; }
  .homepage-footer .footer-wordmark[data-typing-active=true],.homepage-footer .footer-wordmark[data-typing-phase=reset] { clip-path:none;opacity:1; }
  .signature-caret { display:none; }
  .banner-image,.product-image img,.back-to-top,.logo-tile,.homepage-footer .footer-social { transition:none; }
  .product-image:hover img,.back-to-top:hover,.logo-tile:hover,.homepage-footer .footer-social:hover { transform:none; }
}

@media (prefers-reduced-motion:reduce) {
  .mobile-nav-dialog[open] .mobile-nav-links>a,
  .mobile-nav-dialog[open] .header-compliance-menu { animation:none; }
  .mobile-nav-dialog .mobile-nav-links>a { transition:none;scale:1; }
}

@media (max-width:380px) {
  header { gap:6px; }
  .brand.header-brand { font-size:23px; }
  header .header-cta { font-size:11px;padding:10px;gap:0; }
  header .header-cta .cta-arrow { display:none; }
}
