@font-face{font-family:Hanken;src:url('assets/shared/HankenGrotesk.813b3f8fa0.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Sora;src:url('assets/brand/SoraVariable.84ff7096ae.ttf') format('truetype');font-weight:100 800;font-display:swap}

:root{--paper:#fff;--ink:#222725;--muted:#5e6561;--surface:#f5f5f5;--field:#e9ebec;--focus:#375d55;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--page-gutter:clamp(24px,5vw,88px);--section-gap:128px;--font-display:clamp(44px,4.3vw,64px)}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:94px;scrollbar-color:#9ca49e #f4f5f3}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Hanken,Arial,sans-serif;font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
::selection{color:#fff;background:#3a5048}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;color:inherit}
button{border:0}
button,select{touch-action:manipulation}
input,textarea{caret-color:var(--focus)}
:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
img{display:block;max-width:100%;height:auto}
button img{pointer-events:none}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.svg-library{position:absolute;width:0;height:0;overflow:hidden}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:500;line-height:1.05;letter-spacing:-.035em;text-wrap:balance}
h2{font-size:var(--font-display)}
h3{font-size:22px;letter-spacing:-.025em}
p{max-width:70ch}
[hidden]{display:none!important}
.wrap{width:100%;max-width:1600px;margin-inline:auto;padding-inline:var(--page-gutter)}
.section{padding-block:var(--section-gap)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:64px;margin-bottom:56px}
.section-head>p{font-size:18px;line-height:1.65;max-width:410px;padding-bottom:4px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:52px;padding:15px 24px;background:var(--ink);color:#fff;border-radius:0;font-size:16px;font-weight:500;transition:background-color 160ms var(--ease-out),transform 160ms var(--ease-out)}
.button:active,.product-photo:active,.document:active{transform:scale(.98)}
.text-link{display:inline-flex;align-items:center;gap:20px;font-weight:500;font-size:16px;background:none;padding:0;min-height:44px;transition:color 160ms var(--ease-out)}
.text-link svg,.button svg{transition:transform 180ms var(--ease-out)}
.skip{position:fixed;top:8px;left:16px;padding:12px 20px;background:var(--ink);color:#fff;transform:translateY(-160%);z-index:100}
.skip:focus{transform:translateY(0)}

.header{height:88px;padding-inline:var(--page-gutter);display:flex;align-items:center;justify-content:space-between;gap:32px;background:#fff;position:relative;z-index:20}
.wordmark{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;font-family:Sora,Hanken,sans-serif;font-size:31px;font-weight:800;letter-spacing:.025em;line-height:1;white-space:nowrap}
.brand-symbol{width:34px;height:46px;stroke:none}
.brand-name{display:block}
.desktop-nav{display:flex;align-items:center;gap:clamp(18px,1.8vw,30px);margin-left:auto;margin-right:10px;font-size:14px;white-space:nowrap}
.desktop-nav a{padding:12px 0;transition:color 160ms var(--ease-out)}
.header-cta{min-height:44px;padding:11px 18px;font-size:14px;gap:22px}
.header-cta svg{width:18px;height:18px}
.menu-toggle{display:none}
/* Owner-selected product pixels blend with an empty studio plate. Products are not regenerated. */
.hero{--hero-silver:#e7e9ec;position:relative;isolation:isolate;background:var(--hero-silver) url('assets/brand/quanhu-studio-background-v2.917db0974d.webp') center/cover no-repeat;overflow:hidden;padding-block:28px 24px}
.hero-content{display:grid;grid-template-columns:minmax(0,34fr) minmax(0,66fr);align-items:center;gap:12px;min-height:610px;padding-right:0}
.hero-copy{position:relative;z-index:1;padding-block:36px}
.hero h1{font-size:clamp(32px,3vw,49px);font-weight:500;line-height:1.12;letter-spacing:-.04em;text-wrap:initial}
.hero-intro{margin-top:28px}
.hero-intro>p{font-size:17px;line-height:1.7;max-width:43ch;margin-bottom:30px}
@media(min-width:1101px){
.hero-copy{align-self:start;padding-top:0}
.hero-intro>p{width:calc(100% + 12px);max-width:60ch;font-size:16px}
}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.hero-actions .text-link{gap:12px}
.hero-visual{width:calc(100% + 52px);max-width:none;aspect-ratio:1448/600;margin:24px 0 0 -26px;overflow:hidden;mix-blend-mode:multiply}
.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 57%}
.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:0;font-size:13px;line-height:1.6}
.hero-bottom>a{display:flex;gap:18px;align-items:center;min-height:44px}
.hero-bottom>a svg{transform:rotate(90deg);width:18px;height:18px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.about-heading{display:flex;align-items:flex-start;flex-direction:column;justify-content:space-between;gap:44px}
.about-copy .lead{font-size:27px;line-height:1.35;letter-spacing:-.02em;max-width:36ch;margin-bottom:25px}
.about-copy>p:not(.lead){font-size:17px;color:var(--muted);line-height:1.8;max-width:54ch}
.about-facts{display:flex;gap:64px;margin-top:34px}
.about-facts div{display:flex;flex-direction:column;gap:7px}
.about-facts strong{font-size:18px;font-weight:500}
.about-facts span{font-size:14px;color:var(--muted)}

.products{background:var(--surface)}
.filter-row{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 36px}
.filter-row button{min-height:44px;padding:9px 18px;background:transparent;font-size:15px;transition:background-color 160ms var(--ease-out),color 160ms var(--ease-out)}
.filter-row button[aria-pressed=true]{background:var(--ink);color:#fff}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;min-height:427px}
.product-photo{display:block;position:relative;background:#eeeef0;width:100%;aspect-ratio:3/4;overflow:hidden;padding:0;transition:transform 160ms var(--ease-out)}
.product-photo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform 450ms var(--ease-out);padding:12px}
.product-pick{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;background:#fff;color:var(--ink);height:36px;width:36px;border-radius:50%;transition:background-color 160ms var(--ease-out),color 160ms var(--ease-out)}
.product-photo[aria-pressed=true] .product-pick{background:var(--ink);color:#fff}
.product-caption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:22px 0 9px}
.product-caption h3{font-size:20px;line-height:1.2}
.product-caption>span{font-size:14px;white-space:nowrap}
.product>p{font-size:13px;color:var(--muted)}
.collection-bottom{margin-top:44px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.collection-bottom>p{font-size:15px}
.factory-facts{margin:0;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:40px}
.factory-facts>div{display:flex;flex-direction:column-reverse;gap:12px}
.factory-facts dt{font-size:16px;color:var(--muted)}
.factory-facts dd{font-size:72px;line-height:1;letter-spacing:-.04em;margin:0;font-weight:500;font-variant-numeric:tabular-nums}
.factory-facts dd span{font-size:27px;letter-spacing:-.025em;font-weight:400}
.source-note{font-size:13px;color:var(--muted);margin:24px 0 36px}
.factory-photo{width:100%;position:relative;padding:0;display:block;background:var(--surface);overflow:hidden}
.factory-photo>img{width:100%;height:540px;object-fit:cover;object-position:center 55%;transition:opacity 220ms var(--ease-out)}
.photo-expand{position:absolute;right:24px;bottom:24px;display:flex;align-items:center;gap:10px;color:var(--ink);background:#fff;padding:12px 17px;font-size:14px}
.photo-expand svg{height:18px;width:18px}
.process-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.process-switch button{background:var(--surface);text-align:left;padding:23px;min-height:93px;transition:color 180ms var(--ease-out),background-color 180ms var(--ease-out)}
.process-switch span,.process-switch small{display:block}
.process-switch span{font-size:18px;font-weight:500}
.process-switch small{font-size:14px;color:var(--muted);margin-top:5px}
.process-switch button[aria-pressed=true]{background:var(--ink);color:#fff}
.process-switch button[aria-pressed=true] small{color:#d7ded8}
.stage-caption{margin-top:20px;font-size:15px;color:var(--muted);min-height:24px}
.factory-equipment{display:flex;justify-content:space-between;gap:32px;margin-top:36px;font-size:15px}
.factory-equipment>p{max-width:26ch;font-weight:500}
.factory-equipment ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 48px;padding:0;margin:0;color:var(--muted)}
.services{display:grid;grid-template-columns:1fr 1.25fr;gap:90px;margin-top:90px}
.services h3{font-size:34px;line-height:1.15}
.services p{font-size:16px;line-height:1.75;color:var(--muted);margin:24px 0;max-width:42ch}
.service-options{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:36px}
.service-options dt{font-size:20px;font-weight:500;letter-spacing:-.02em}
.service-options dd{font-size:15px;line-height:1.75;color:var(--muted);margin:12px 0 0;max-width:30ch}
.blog-page{min-height:70vh}
.blog-page h1{font-size:clamp(44px,5vw,72px);max-width:850px}
.blog-intro{font-size:21px;line-height:1.6;margin-block:32px 56px;max-width:56ch;color:var(--muted)}
.resource-links{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.resource-links a{padding-block:28px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.resource-links strong{font-size:23px;font-weight:500}
.resource-links span{font-size:16px;color:var(--muted)}
.quality{background:var(--surface)}
.quality-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:72px}
.testing-figure{margin:0;align-self:start}
.testing-figure>button{position:relative;width:100%;display:block;padding:0;background:#e4e7e2}
.testing-figure img{width:100%;height:460px;object-fit:cover;object-position:center}
.testing-figure figcaption{display:flex;flex-direction:column;gap:9px;margin-top:26px}
.testing-figure strong{font-size:23px;letter-spacing:-.02em;font-weight:500}
.testing-figure figcaption span{font-size:15px;color:var(--muted)}
.documents{display:flex;flex-direction:column;gap:12px}
.document{display:flex;align-items:center;gap:24px;padding:18px 20px;text-align:left;background:#fff;min-height:135px;transition:transform 160ms var(--ease-out),background-color 160ms var(--ease-out)}
.document>img{width:70px;height:100px;object-fit:contain}
.document>span{display:flex;flex:1;flex-direction:column;gap:3px}
.document strong{font-size:23px;font-weight:500;letter-spacing:-.02em}
.document>span>span{font-size:15px}
.document small{font-size:13px;color:var(--muted);margin-top:6px}
.document>svg{width:18px;height:18px}
.document-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:6px}
.partnership{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;margin-top:100px}
.partnership>img{width:100%;height:360px;object-fit:cover;object-position:center 45%}
.partnership h3{font-size:clamp(29px,2.65vw,40px);line-height:1.1;max-width:500px}
.partnership p{font-size:16px;color:var(--muted);margin:25px 0;max-width:45ch;line-height:1.75}
.buyer-questions>h2{align-self:start}
.buyer-questions{display:grid;grid-template-columns:1fr 1.3fr;gap:96px}
.questions details{padding-block:22px}
.questions details+details{margin-top:7px}
.questions summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:20px;letter-spacing:-.02em;cursor:pointer;min-height:44px}
.questions summary::-webkit-details-marker{display:none}
.questions summary svg{width:19px;height:19px;transition:transform 160ms var(--ease-out)}
.questions details[open] summary svg{transform:rotate(45deg)}
.questions details p{font-size:16px;color:var(--muted);line-height:1.8;max-width:61ch;padding-top:20px;padding-right:30px}

.project{background:#e9ebed}
.project-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}
.project-intro>p{font-size:17px;line-height:1.8;margin-top:32px}
.project-location{display:flex;flex-direction:column;font-size:14px;gap:7px;margin-top:65px;color:var(--muted)}
.project-location strong{font-size:18px;color:var(--ink);font-weight:500}
label{display:flex;flex-direction:column;font-size:14px;gap:10px}
input,select,textarea{width:100%;border:0;border-radius:0;padding:14px 16px;background:#fff;color:var(--ink);font-size:16px;min-height:52px}
input::placeholder,textarea::placeholder{color:#686f6a;opacity:1}
textarea{resize:vertical;min-height:125px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}
form>.button{margin-top:28px}
.form-note{font-size:13px;color:var(--muted);margin-top:15px}
.brief-result{background:white;padding:32px}
.brief-result h3{font-size:30px}
.brief-result>p{font-size:14px;color:var(--muted);margin-top:14px}
.brief-result dl>div{margin-top:18px}
.brief-result dt{font-size:13px;color:var(--muted)}
.brief-result dd{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px}
.brief-actions{display:flex;gap:24px;margin-top:26px;align-items:center;flex-wrap:wrap}
.footer{padding-block:65px;display:flex;gap:50px;align-items:center;justify-content:space-between}
.footer .wordmark{font-size:35px}
.footer .brand-symbol{width:39px;height:53px}
.footer>p{font-size:14px}
.footer nav{display:flex;gap:26px;font-size:14px}
.back-top{display:flex;align-items:center;gap:15px;font-size:14px}
.back-top svg{transform:rotate(-90deg);height:18px;width:18px}

dialog{border:0;padding:28px;max-width:1000px;width:calc(100% - 48px);max-height:calc(100dvh - 48px);overflow:auto;color:var(--ink);background:#fff;/* taste-skill-ignore: native dialog is a floating overlay, not an element at rest. */box-shadow:0 20px 80px #0003}
dialog::backdrop{background:#161c19b8}
.viewer-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px}
.viewer-head h2{font-size:26px}
.close-viewer{background:var(--surface);height:44px;width:44px;flex-shrink:0;display:grid;place-items:center}
.viewer-image{background:var(--surface);display:flex;justify-content:center;padding:16px}
.viewer-image img{max-height:62dvh;width:auto;object-fit:contain}
#viewer-note{font-size:14px;color:var(--muted);margin:20px 0 8px;max-width:90ch}
body:has(dialog[open]){overflow:hidden}

@media(hover:hover) and (pointer:fine){.button:hover{background:#414b44}
.button:hover svg,.text-link:hover svg{transform:translateX(4px)}
.text-link:hover,.desktop-nav a:hover{color:var(--focus)}
.product-photo:hover img{transform:scale(1.045)}
.product-photo:hover .product-pick{background:var(--ink);color:#fff}
.document:hover{background:#e9eeea}
.filter-row button:not([aria-pressed=true]):hover{background:#e1e5e1}
.process-switch button:not([aria-pressed=true]):hover{background:#e4e8e3}
}

@media(min-width:1101px) and (prefers-reduced-motion:no-preference){.hero-visual{animation:lineup-settle 900ms var(--ease-out) both}
@keyframes lineup-settle{from{transform:translateY(10px)}to{transform:translateY(0)}}}

@media(max-width:1100px){:root{--section-gap:100px}
.desktop-nav{gap:22px;margin-right:0}
.header{gap:24px}




.about,.project-layout{gap:56px}
.quality-layout,.partnership{gap:36px}
.product-grid{gap:16px;min-height:360px}
.product-caption{align-items:flex-start;flex-direction:column;gap:5px}
.product-caption h3{font-size:19px}
.factory-facts dd{font-size:60px}
.process-switch button{padding:18px}
.process-switch span{font-size:16px}
.footer{gap:28px;flex-wrap:wrap}
.footer nav{gap:20px}
.testing-figure img{height:440px}
.document{gap:16px;padding:14px}
.document>img{width:58px}
.document>span>span{font-size:14px}
}

@media(max-width:1100px){
.desktop-nav,.header-cta{display:none}
.menu-toggle{display:flex;align-items:center;gap:14px;background:transparent;font-size:15px;padding:12px 0 12px 12px;min-height:44px}
.menu-lines{width:22px;height:12px;position:relative}
.menu-lines:before,.menu-lines:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--ink);transition:transform 160ms var(--ease-out)}
.menu-lines:before{top:1px}
.menu-lines:after{bottom:1px}
.menu-toggle[aria-expanded=true] .menu-lines:before{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-lines:after{transform:translateY(-4px) rotate(-45deg)}
#mobile-nav{position:absolute;left:0;right:0;top:88px;background:#fff;padding:20px var(--page-gutter) 30px;/* taste-skill-ignore: mobile navigation is a floating overlay. */box-shadow:0 24px 36px #00000012}
#mobile-nav a{display:block;font-size:22px;padding:14px 0}
.hero-content{min-height:540px;gap:16px}
.hero h1{font-size:clamp(28px,3vw,33px)}
.hero-intro>p{font-size:16px}
.hero-visual{width:calc(100% + 40px);margin-left:-20px}
.hero-actions{gap:16px}
.hero-actions .button{gap:16px;padding-inline:18px;font-size:15px}
.hero-actions .text-link{font-size:15px}
.hero{padding-top:20px}
.services{gap:48px}
}

@media(max-width:850px){:root{--section-gap:80px;--page-gutter:32px;--font-display:44px}
.header{height:76px}
#mobile-nav{top:76px;max-height:calc(100dvh - 76px);overflow-y:auto}
.hero{padding-top:32px;background-position:62% center}
.hero-content{grid-template-columns:1fr;gap:28px;min-height:0;padding-right:var(--page-gutter)}
.hero-copy{padding:30px 24px}
.hero h1{font-size:clamp(44px,6.4vw,54px)}
.hero-intro{margin-top:26px}
.hero-intro>p{font-size:16px;max-width:65ch;margin-bottom:24px}
.hero-actions{gap:24px}
.hero-visual{width:calc(100% + var(--page-gutter)*2);margin:0 0 0 calc(-1*var(--page-gutter));aspect-ratio:1448/550}
.services{grid-template-columns:1fr;gap:36px;margin-top:64px}
.services p{max-width:60ch}
.service-options dd{max-width:40ch}
.resource-links{gap:24px}
.wordmark{font-size:29px}
.brand-symbol{width:31px;height:42px}
.hero-bottom{font-size:12px}
.about{gap:40px}
.about-copy .lead{font-size:22px}
.about-copy>p:not(.lead){font-size:16px}
.about-facts{gap:22px}
.about-facts span{font-size:12px}
.section-head{gap:40px;margin-bottom:42px}
.section-head>p{font-size:16px;max-width:290px}
.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px;min-height:0}
.product-photo{aspect-ratio:1/1.1}
.product-caption{flex-direction:row}
.product-caption>span{font-size:14px}
.product>p{font-size:14px}
.factory-facts{gap:25px}
.factory-facts dd{font-size:51px}
.factory-facts dd span{font-size:21px}
.factory-facts dt{font-size:14px}
.factory-photo>img{height:420px}
.process-switch{gap:8px}
.process-switch button{padding:14px 12px}
.process-switch small{font-size:12px}
.quality-layout{grid-template-columns:1fr;gap:40px}
.testing-figure img{height:430px}
.documents{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.document{flex-direction:column;align-items:flex-start;padding:22px 16px;position:relative;gap:16px}
.document>img{width:100%;height:160px}
.document>svg{position:absolute;right:14px;bottom:18px}
.document>span>span{font-size:13px}
.document small{padding-right:15px;font-size:12px}
.document-note{grid-column:1/-1;font-size:12px}
.partnership{gap:36px;margin-top:64px}
.partnership>img{height:320px}
.partnership h3{font-size:29px}
.buyer-questions{grid-template-columns:1fr;gap:30px}
.buyer-questions h2 br{display:none}
.questions summary{font-size:19px}
.project-layout{gap:35px;grid-template-columns:.85fr 1.15fr}
.form-row{grid-template-columns:1fr;gap:20px;margin-bottom:20px}
.footer nav{margin-left:auto}
.footer .back-top{margin-left:auto}
.footer>p{display:none}
}

@media(max-width:600px){:root{--page-gutter:24px;--section-gap:72px;--font-display:40px}
html{scroll-padding-top:24px}
body{font-size:16px}
.header{height:72px}
.hero{padding-block:24px 16px}
.hero-content{padding-inline:16px}
.hero-copy{padding:26px 16px}
.hero h1{font-size:clamp(24px,7.5vw,40px);line-height:1.12;max-width:100%}
.hero-content{gap:24px}
.hero-intro{display:block;margin-top:24px}
.hero-intro>p{font-size:15px;line-height:1.7;max-width:42ch;margin-bottom:22px}
.hero-visual{width:calc(100% + 32px);margin:4px 0 0 -16px}
.hero-actions{gap:16px}
.hero-actions .text-link{font-size:14px;gap:8px}
.hero-bottom{gap:16px;font-size:12px;margin-top:16px}
.hero-bottom>span{max-width:150px}
.factory-equipment{flex-direction:column;gap:20px;font-size:14px}
.factory-equipment>p{max-width:none}
.factory-equipment ul{gap:12px 24px;font-size:13px}
.services h3{font-size:30px}
.services p{font-size:15px}
.service-options{gap:28px 24px}
.service-options dt{font-size:18px}
.service-options dd{font-size:14px}
.blog-intro{font-size:18px;margin-block:26px 40px}
.resource-links{grid-template-columns:1fr;gap:12px}
.wordmark{font-size:26px;gap:10px}
.brand-symbol{width:28px;height:38px}
#mobile-nav{top:72px;max-height:calc(100dvh - 72px)}




.hero .button{min-height:48px;padding:12px 20px;font-size:14px;gap:24px}





.hero-bottom>a{gap:8px}
.hero-bottom>a svg{height:16px;width:16px}
.about{grid-template-columns:1fr;gap:34px}
.about-heading .text-link{display:none}
.about-copy .lead{font-size:23px;max-width:29ch}
.about-copy>p:not(.lead){font-size:15px;line-height:1.75}
.about-facts{justify-content:space-between;gap:24px;margin-top:30px}
.about-facts span{font-size:12px}
.about-facts strong{font-size:17px}
.section-head{display:block;margin-bottom:34px}
.section-head>p{font-size:15px;max-width:40ch;margin-top:24px;line-height:1.65}
.filter-row{gap:5px;margin-bottom:24px}
.filter-row button{padding:10px 12px;font-size:13px;min-height:40px}
.product-grid{gap:30px 14px}
.product-photo{aspect-ratio:3/4}
.product-photo img{padding:2px}
.product-pick{right:10px;bottom:10px;height:28px;width:28px}
.product-pick svg{width:17px;height:17px}
.product-caption{flex-direction:column;gap:7px;margin:17px 0 7px}
.product-caption h3{font-size:18px}
.product-caption>span{font-size:13px}
.product>p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.collection-bottom{align-items:flex-start;flex-direction:column;gap:16px;margin-top:32px}
.collection-bottom>p{font-size:13px}
.text-link{font-size:14px}
.factory-facts{gap:24px;grid-template-columns:1fr 1fr}
.factory-facts>div:last-child{grid-column:1/-1;flex-direction:row-reverse;align-items:center;justify-content:flex-end;gap:16px}
.factory-facts>div:last-child dd{font-size:31px}
.factory-facts>div:last-child dd span{font-size:19px}
.factory-facts dd{font-size:47px;white-space:nowrap}
.factory-facts dd span{font-size:18px}
.factory-facts dt{font-size:12px}
.source-note{font-size:12px;margin:24px 0 28px}
.factory-photo>img{height:300px;object-position:center}
.photo-expand{right:14px;bottom:14px;padding:10px}
.photo-expand>span{display:none}
.process-switch{grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.process-switch button{padding:16px;min-height:80px}
.process-switch span{font-size:15px}
.process-switch small{font-size:12px}
.stage-caption{font-size:13px;line-height:1.7;min-height:44px}




.testing-figure img{height:290px}
.testing-figure strong{font-size:22px}
.testing-figure figcaption span{font-size:13px}
.quality-layout{gap:32px}
.documents{display:flex;gap:10px}
.document{flex-direction:row;align-items:center;gap:20px;padding:16px;min-height:130px}
.document>img{width:60px;height:95px}
.document>span>span{font-size:13px}
.document>svg{position:static;width:16px;height:16px}
.document strong{font-size:23px}
.document small{font-size:12px}
.document-note{font-size:12px;margin-top:7px}
.partnership{grid-template-columns:1fr;gap:32px;margin-top:64px}
.partnership>img{height:280px}
.partnership h3{font-size:29px}
.partnership p{font-size:15px;margin-block:22px}
.buyer-questions h2 br{display:block}
.buyer-questions{gap:22px}
.questions details{padding-block:16px}
.questions summary{font-size:17px;gap:22px;line-height:1.4}
.questions details p{font-size:14px;padding-right:0}
.project-layout{grid-template-columns:1fr;gap:40px}
.project-intro>p{font-size:15px;margin-top:26px}
.project-location{margin-top:30px;font-size:13px}
.project-location strong{font-size:17px}
.form-row{gap:20px}
label{font-size:13px}
.form-note{font-size:12px}
.brief-result{padding:24px}
.brief-result h3{font-size:27px}
.footer{padding-block:48px;gap:30px;align-items:flex-start}
.footer .wordmark{font-size:29px}
.footer .brand-symbol{width:32px;height:44px}
.footer nav{display:flex;gap:19px;order:3;flex-basis:100%;font-size:13px}
.footer .back-top{font-size:12px;padding-top:8px}
dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:18px}
.viewer-head h2{font-size:21px}
.viewer-image{padding:8px}
.viewer-image img{max-height:55dvh}
#viewer-note{font-size:12px}
}

@media(max-width:380px){
/* Very narrow phones: let the two fact columns shrink and scale figures with the viewport (390px and wider unchanged). */
.factory-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.factory-facts>div{min-width:0}
.factory-facts dd{font-size:clamp(30px,10vw,38px)}
.factory-facts dd span{font-size:clamp(14px,4.7vw,17px)}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}

}
