/* YASUNY — site stylesheet */
:root{
  --ink:#12100E; --ink-2:#1B1714; --ink-3:#2A2521;
  --paper:#FBF9F4; --ivory:#F3EEE4; --sand:#E5DCCB;
  --copper:#B0764A; --copper-2:#8E5A34; --teal:#0E6F6B; --gold:#C6A15B;
  --line:rgba(18,16,14,.14); --line-soft:rgba(18,16,14,.08);
  --line-dark:rgba(246,242,234,.16);
  --muted:#6B6259; --muted-dark:rgba(246,242,234,.62);
  --serif:"Songti SC","Noto Serif SC","Source Han Serif SC",Georgia,"Times New Roman",serif;
  --sans:"PingFang SC","HarmonyOS Sans SC","Helvetica Neue",Arial,"Noto Sans SC",sans-serif;
  --ease:cubic-bezier(.22,.68,.16,1);
  --pad:clamp(1.25rem,5vw,5.5rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.72;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4,p,figure{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
::selection{background:var(--copper);color:#fff}
:focus-visible{outline:2px solid var(--copper);outline-offset:4px}
.wrap{width:min(1360px,calc(100% - (var(--pad) * 2)));margin-inline:auto}
.skip{position:fixed;left:1rem;top:-100px;z-index:200;background:var(--ink);color:var(--paper);padding:.75rem 1.25rem;text-decoration:none;transition:top .2s}
.skip:focus{top:1rem}
.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:.75rem}
.eyebrow::before{content:"";width:2.25rem;height:1px;background:currentColor;opacity:.5}
.display{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:.01em}
h2.display{font-size:clamp(2.1rem,4.2vw,4.2rem)}
h3{font-weight:500}
.lead{font-size:clamp(1.02rem,1.35vw,1.2rem);color:var(--muted);max-width:40rem}
.muted{color:var(--muted)}
.center{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* header */
.site-header{position:fixed;inset:0 0 auto;z-index:80;color:var(--ivory);transition:background .45s var(--ease),color .45s var(--ease),box-shadow .45s}
.site-header.is-solid{background:rgba(251,249,244,.9);-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2);color:var(--ink);border-bottom:1px solid var(--line-soft)}
.header-inner{display:flex;align-items:center;height:86px;gap:2rem}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;flex:0 0 auto}
.brand img{height:30px;width:auto;transition:filter .4s}
.site-header:not(.is-solid):not(.is-open) .brand img{filter:brightness(0) invert(1)}
.brand-name{display:none}
.nav{display:flex;gap:clamp(1.2rem,2.4vw,2.6rem);margin-left:auto;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.nav a{position:relative;text-decoration:none;padding:.4rem 0;opacity:.86}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{opacity:1}
.header-actions{display:flex;align-items:center;gap:1.1rem;flex:0 0 auto}
.lang{position:relative}
.lang>summary{list-style:none;display:flex;align-items:center;gap:.45rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;padding:.5rem 0;opacity:.86}
.lang>summary::-webkit-details-marker{display:none}
.lang>summary::after{content:"";width:.4rem;height:.4rem;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.lang-menu{position:absolute;right:0;top:calc(100% + .6rem);min-width:13rem;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:.5rem;box-shadow:0 24px 60px rgba(0,0,0,.18);z-index:90}
.lang-menu a,.lang-menu span{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .7rem;text-decoration:none;font-size:.85rem;letter-spacing:0}
.lang-menu a:hover{background:var(--ivory)}
.lang-menu span{color:var(--muted);opacity:.6}
.lang-menu em{font-style:normal;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);padding:.05rem .35rem;align-self:center}
.header-cta{display:inline-flex;align-items:center;gap:.5rem;border:1px solid currentColor;padding:.7rem 1.15rem;text-decoration:none;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;transition:background .35s,color .35s,border-color .35s;white-space:nowrap}
.header-cta:hover{background:var(--copper);border-color:var(--copper);color:#fff}
.site-header.is-solid .header-cta:hover{color:#fff}
.nav-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;margin-left:auto}
.nav-toggle span{display:block;width:22px;height:1px;background:currentColor;position:relative;transition:.3s}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:22px;height:1px;background:currentColor;transition:.3s}
.nav-toggle span::before{top:-7px}.nav-toggle span::after{top:7px}
.is-open .nav-toggle span{background:transparent}
.is-open .nav-toggle span::before{transform:rotate(45deg);top:0}
.is-open .nav-toggle span::after{transform:rotate(-45deg);top:0}
/* hero */
.hero{position:relative;min-height:94svh;display:flex;align-items:flex-end;background:#0B0908;color:var(--ivory);overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:70% 45%;transform:scale(1.03);animation:heroZoom 22s var(--ease) forwards}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,7,6,.9) 0%,rgba(8,7,6,.55) 42%,rgba(8,7,6,.12) 75%),linear-gradient(0deg,rgba(8,7,6,.8) 0%,transparent 45%)}
@keyframes heroZoom{to{transform:scale(1.09)}}
.hero-content{padding:13rem 0 clamp(3rem,7vw,5.5rem);max-width:62rem}
.hero h1{font-family:var(--serif);font-size:clamp(2.7rem,6.2vw,6.4rem);line-height:1.07;font-weight:400;margin:1.4rem 0 1.7rem;white-space:pre-line;letter-spacing:.005em}
.hero .lead{color:rgba(246,242,234,.76);max-width:33rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.4rem}
.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1.6rem;color:rgba(246,242,234,.55);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}
.scroll-cue{display:inline-flex;align-items:center;gap:.6rem}
.scroll-cue::after{content:"";width:1px;height:2.2rem;background:linear-gradient(currentColor,transparent);animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(1);opacity:1}}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.95rem 1.6rem;border:1px solid currentColor;border-radius:999px;text-decoration:none;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;transition:background .35s,color .35s,border-color .35s,transform .35s}
.btn:hover{transform:translateY(-1px)}
.btn .arw{transition:transform .35s var(--ease)}
.btn:hover .arw{transform:translateX(3px)}
.btn--solid{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn--solid:hover{background:var(--copper);border-color:var(--copper);color:#fff}
.btn--light{background:var(--ivory);border-color:var(--ivory);color:var(--ink)}
.btn--light:hover{background:var(--copper);border-color:var(--copper);color:#fff}
.btn--ghost-light{border-color:rgba(246,242,234,.4);color:var(--ivory)}
.btn--ghost-light:hover{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.arw{font-size:1em;line-height:1}
/* marquee */
.marquee{border-block:1px solid var(--line);overflow:hidden;padding:1.05rem 0;background:var(--paper)}
.marquee-track{display:flex;align-items:center;gap:3.2rem;width:max-content;animation:marquee 46s linear infinite}
.marquee-track span{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:3.2rem;white-space:nowrap}
.marquee-track span::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--copper);opacity:.6}
@keyframes marquee{to{transform:translateX(-50%)}}
/* sections */
.section{padding:clamp(4.5rem,9vw,8.5rem) 0}
.section--tight{padding:clamp(3rem,6vw,5rem) 0}
.section--ivory{background:var(--ivory)}
.section--ink{background:var(--ink);color:var(--ivory)}
.section--ink .eyebrow,.section--ink .lead,.section--ink .muted{color:var(--muted-dark)}
.sec-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2fr);gap:clamp(1.5rem,5vw,5rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,4rem)}
.sec-head .eyebrow{align-self:start;padding-top:.7rem}
.sec-head__link{justify-self:end;align-self:end;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:.35rem}
/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.stat{padding:2.2rem 1.6rem 2.2rem 0;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat b{display:block;font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.5rem);font-weight:400;letter-spacing:.01em;margin-bottom:.35rem}
.stat span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
/* statement */
.statement{display:grid;grid-template-columns:1fr;gap:2rem;max-width:64rem}
.statement .display{white-space:pre-line;max-width:56rem}
.statement-row{display:grid;grid-template-columns:1.4fr .6fr;gap:3rem;align-items:end;margin-top:2.5rem}
.statement-row .lead{max-width:34rem}
.aside-line{border-top:1px solid var(--line);padding-top:1rem;font-size:.85rem;color:var(--muted);max-width:18rem;justify-self:end}
/* families */
.families{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-block:1px solid var(--line)}
.family{background:var(--paper);padding:clamp(1.6rem,3vw,2.6rem);display:flex;flex-direction:column;gap:1rem;min-height:26rem;transition:background .4s}
.family:hover{background:var(--ivory)}
.family .no{font-size:.7rem;letter-spacing:.2em;color:var(--copper)}
.family h3{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.9rem);font-weight:400;line-height:1.25}
.family p{font-size:.92rem;color:var(--muted)}
.family .tags{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:auto;padding-top:1rem;border-top:1px solid var(--line-soft)}
.family img{height:150px;width:auto;max-width:100%;object-fit:contain;align-self:center;margin-top:.5rem;filter:drop-shadow(0 18px 30px rgba(18,16,14,.12))}
/* product cards */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.8rem)}
.card{position:relative;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.card__media{background:var(--ivory);aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden;position:relative}
.card__media img{width:86%;height:86%;object-fit:contain;transition:transform .8s var(--ease)}
.card:hover .card__media img{transform:scale(1.045)}
.card__badge{position:absolute;top:1rem;left:1rem;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;background:rgba(251,249,244,.85);padding:.3rem .55rem;color:var(--muted)}
.card__body{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 0 0}
.card__body h3{font-family:var(--serif);font-size:1.15rem;font-weight:400;line-height:1.3}
.card__body p{font-size:.78rem;color:var(--muted);margin-top:.2rem}
.card__meta{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding-top:.25rem}
.card .arw{opacity:0;transform:translateX(-4px);transition:.4s}
.card:hover .arw{opacity:1;transform:none}
/* solutions */
.sol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2vw,2rem)}
.sol{position:relative;aspect-ratio:4/3;overflow:hidden;color:var(--ivory);text-decoration:none;display:flex;align-items:flex-end;background:#1a1613}
.sol img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);opacity:.92}
.sol::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,7,6,.82),rgba(8,7,6,.05) 65%)}
.sol:hover img{transform:scale(1.04)}
.sol__body{position:relative;z-index:1;padding:clamp(1.4rem,3vw,2.4rem);display:flex;flex-direction:column;gap:.5rem;width:100%}
.sol__body h3{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,2.1rem);font-weight:400}
.sol__body p{font-size:.86rem;color:rgba(246,242,234,.75);max-width:26rem}
.sol__body .pts{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}
.sol__body .pts span{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(246,242,234,.28);padding:.25rem .5rem}
.sol__en{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,242,234,.6)}
/* technology */
.tech-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.tech-sticky{position:sticky;top:7rem}
.tech-sticky .display{white-space:pre-line;margin:1.2rem 0 1.6rem}
.tech-sticky figure{margin-top:2.5rem;overflow:hidden}
.tech-sticky img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.9)}
.tech-steps{display:flex;flex-direction:column}
.tech-step{padding:2.2rem 0;border-top:1px solid var(--line-dark);display:grid;grid-template-columns:4rem 1fr;gap:1.5rem}
.tech-step:first-child{border-top:0;padding-top:0}
.tech-step .no{font-family:var(--serif);font-size:2rem;color:var(--copper);line-height:1}
.tech-step h3{font-family:var(--serif);font-size:1.5rem;font-weight:400;margin-bottom:.6rem}
.tech-step p{color:var(--muted-dark);font-size:.95rem}
/* quality */
.quality{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.2rem,2.5vw,2.5rem);border-top:1px solid var(--line)}
.q-item{padding-top:1.6rem}
.q-item h3{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.7rem}
.q-item p{font-size:.88rem;color:var(--muted)}
/* scents */
.scent-list{border-top:1px solid var(--line)}
.scent{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,.6fr) minmax(0,1.6fr);gap:2rem;align-items:baseline;padding:1.5rem 0;border-bottom:1px solid var(--line);transition:padding-left .4s var(--ease),background .4s}
.scent:hover{padding-left:1rem;background:var(--ivory)}
.scent h3{font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.75rem);font-weight:400}
.scent em{font-style:normal;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.scent p{font-size:.9rem;color:var(--muted)}
/* faq */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:1.35rem 0;font-size:clamp(.98rem,1.3vw,1.12rem)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;font-weight:300;color:var(--copper);transition:transform .35s;flex:0 0 auto}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 0 1.4rem;max-width:52rem;color:var(--muted);font-size:.94rem}
/* cta */
.cta{position:relative;background:var(--ink);color:var(--ivory);overflow:hidden}
.cta::before{content:"";position:absolute;inset:auto -10% -55% 40%;width:60rem;height:60rem;background:radial-gradient(circle,rgba(176,118,74,.28),transparent 62%);pointer-events:none}
.cta-inner{padding:clamp(4rem,8vw,7rem) 0;display:grid;grid-template-columns:1.5fr .8fr;gap:3rem;align-items:end;position:relative}
.cta h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3.8rem);line-height:1.1;white-space:pre-line;font-weight:400}
.cta p{color:var(--muted-dark);margin:1.2rem 0 2rem;max-width:32rem}
/* footer */
.site-footer{background:var(--ink);color:var(--ivory);padding-top:clamp(3.5rem,6vw,5.5rem);border-top:1px solid var(--line-dark)}
.footer-grid{display:grid;grid-template-columns:1.6fr .7fr .7fr 1.2fr;gap:clamp(1.5rem,4vw,4rem);padding-bottom:3.5rem}
.footer-brand img{width:clamp(150px,18vw,220px);height:auto;filter:brightness(0) invert(1);opacity:.92}
.footer-brand p{color:var(--muted-dark);font-size:.85rem;margin-top:1.2rem;max-width:20rem}
.footer-col h4{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,242,234,.5);margin-bottom:1.1rem;font-weight:400}
.footer-col a,.footer-col p{display:block;color:rgba(246,242,234,.82);text-decoration:none;font-size:.88rem;margin-bottom:.55rem}
.footer-col a:hover{color:var(--copper)}
.footer-word{font-family:var(--serif);font-size:clamp(4rem,14vw,13rem);line-height:.8;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px rgba(246,242,234,.18);padding-bottom:1.2rem;user-select:none;overflow:hidden;white-space:nowrap}
.footer-legal{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;padding:1.4rem 0 2rem;border-top:1px solid var(--line-dark);font-size:.7rem;color:rgba(246,242,234,.45);letter-spacing:.02em}
.footer-legal a{text-decoration:none}
.footer-legal a:hover{color:var(--ivory)}
/* page hero */
.page-hero{padding:clamp(8rem,14vw,12rem) 0 clamp(2.5rem,5vw,4rem);border-bottom:1px solid var(--line)}
.page-hero .display{font-size:clamp(2.6rem,6vw,5.4rem);margin:1.2rem 0 1.2rem}
.page-hero .lead{max-width:44rem}
.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:2rem}
.crumbs a{text-decoration:none}
.crumbs span[aria-hidden]{color:var(--line)}
/* products page */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}
.filters button{border:1px solid var(--line);padding:.5rem .9rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:.3s}
.filters button[aria-pressed="true"],.filters button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.calc{border:1px solid var(--line);padding:clamp(1.5rem,3vw,2.5rem);display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:center;margin-top:3.5rem;background:var(--ivory)}
.calc h3{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,2rem);font-weight:400;margin-bottom:.5rem}
.calc p{font-size:.86rem;color:var(--muted)}
.calc select{width:100%;padding:.9rem 1rem;border:1px solid var(--line);background:var(--paper);font:inherit;font-size:.9rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2312100E' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.calc-result{margin-top:1rem;font-size:.9rem;min-height:1.5rem}
.calc-result b{font-family:var(--serif);font-size:1.1rem;font-weight:400}
/* product detail */
.pdp{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,6rem);align-items:start}
.pdp-media{background:var(--ivory);position:sticky;top:7rem;aspect-ratio:1/1;display:grid;place-items:center}
.pdp-media img{width:82%;height:82%;object-fit:contain}
.pdp-info .eyebrow{margin-bottom:1rem}
.pdp-info h1{font-family:var(--serif);font-size:clamp(2rem,3.6vw,3.4rem);font-weight:400;line-height:1.12;margin-bottom:.6rem}
.pdp-info .tagline{color:var(--copper);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.5rem}
.pdp-info .intro{font-size:1rem;color:var(--muted);max-width:36rem}
.pdp-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:2rem 0}
.kv{border-top:1px solid var(--line);margin-top:2.5rem}
.kv div{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line-soft);font-size:.88rem}
.kv dt{color:var(--muted)}
.kv dd{margin:0}
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2.5rem;margin-top:1.5rem}
.feature-list li{display:flex;gap:.8rem;font-size:.92rem;padding-top:.9rem;border-top:1px solid var(--line-soft)}
.feature-list li span{color:var(--copper);font-family:var(--serif)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.chips span{border:1px solid var(--line);padding:.4rem .8rem;font-size:.75rem;color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem)}
/* timeline */
.timeline{border-top:1px solid var(--line);margin-top:2rem}
.tl{display:grid;grid-template-columns:7rem 1fr 1.2fr;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.tl b{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--copper)}
.tl h3{font-size:1rem;font-weight:500}
.tl p{font-size:.88rem;color:var(--muted)}
/* values */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.value{background:var(--paper);padding:2rem}
.value h3{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.8rem;color:var(--copper)}
.value p{font-family:var(--serif);font-size:1.25rem;line-height:1.5}
/* contact */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.info-block{border-top:1px solid var(--line);padding-top:1.6rem;margin-top:2rem}
.info-block h3{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.8rem;font-weight:400}
.info-block p,.info-block a{font-size:1rem;text-decoration:none;display:block;margin-bottom:.35rem}
.info-block a:hover{color:var(--copper)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.5rem}
.field{display:flex;flex-direction:column;gap:.4rem}
.field--full{grid-column:1/-1}
.field label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:.7rem 0;font:inherit;font-size:.95rem;border-radius:0;transition:border-color .3s}
.field textarea{min-height:7rem;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--copper)}
.field input:user-invalid,.field textarea:user-invalid{border-color:#B3261E}
.form-note{grid-column:1/-1;font-size:.76rem;color:var(--muted);margin-top:.2rem}
.form-status{grid-column:1/-1;font-size:.85rem;color:var(--teal);min-height:1.2rem}
.visit{background:var(--ivory);padding:1.6rem;margin-top:2rem}
.visit p{font-size:.86rem;color:var(--muted)}
/* prose */
.prose{max-width:46rem}
.prose h2{font-family:var(--serif);font-size:1.6rem;font-weight:400;margin:2.5rem 0 .8rem}
.prose p{color:var(--muted);margin-bottom:1rem}
.prose a{color:var(--copper)}
/* 404 */
.nf{min-height:76svh;display:grid;place-items:center;text-align:center;padding:8rem 0}
.nf .display{font-size:clamp(4rem,12vw,9rem);line-height:1}
/* reveal */

.reveal.is-in{animation:revealUp .9s var(--ease) both}
.reveal[data-delay="1"]{transition-delay:.1s}.reveal[data-delay="2"]{transition-delay:.2s}.reveal[data-delay="3"]{transition-delay:.3s}
/* responsive */
@media (max-width:1080px){
  .nav{display:none}
  .header-cta{display:none}
  .nav-toggle{display:flex}
  .brand{margin-right:auto}
  .site-header.is-open{background:var(--paper);color:var(--ink)}
  .mobile-nav{position:fixed;inset:86px 0 0;background:var(--paper);z-index:70;padding:2rem var(--pad) 3rem;display:none;overflow:auto}
  .site-header.is-open+.mobile-nav{display:block}
  .mobile-nav a{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--line);text-decoration:none;font-family:var(--serif);font-size:1.5rem}
  .mobile-nav a small{font-family:var(--sans);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
  .mobile-nav .m-lang{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
  .mobile-nav .m-lang a,.mobile-nav .m-lang span{font-family:var(--sans);font-size:.8rem;padding:.5rem .8rem;border:1px solid var(--line)}
  .mobile-nav .btn{margin-top:2rem;width:100%}
  .tech-grid,.pdp,.contact-grid,.split,.cta-inner{grid-template-columns:1fr}
  .tech-sticky{position:static}
  .pdp-media{position:static;aspect-ratio:1/.9}
  .families{grid-template-columns:1fr}
  .family{min-height:auto}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .sol-grid{grid-template-columns:1fr}
  .quality{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .sec-head{grid-template-columns:1fr}
  .sec-head__link{justify-self:start}
  .statement-row{grid-template-columns:1fr}
  .aside-line{justify-self:start}
  .calc{grid-template-columns:1fr}
  .scent{grid-template-columns:1fr 4rem;gap:.5rem}
  .scent p{grid-column:1/-1}
  .values{grid-template-columns:1fr}
  .timeline .tl{grid-template-columns:5rem 1fr}
  .tl p{grid-column:2}
  .footer-word{font-size:26vw}
}
@media (max-width:560px){
  .product-grid{grid-template-columns:1fr}
  .feature-list{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .kv div{grid-template-columns:8.5rem 1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero{min-height:88svh}
  .hero-content{padding-top:10rem}
  .header-inner{height:74px}
  .mobile-nav{inset:74px 0 0}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}


/* ---- extended components ---- */
.hero .eyebrow{color:rgba(246,242,234,.62)}
.hero-foot{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1.6rem;color:rgba(246,242,234,.55);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}
.pdp-section{padding-top:clamp(7rem,12vw,10rem)}
.sol-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.sol-row__media{overflow:hidden}
.sol-row__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.sol-row--rev .sol-row__media{order:2}
.sol-row__body .display{margin:1rem 0 1.2rem;font-size:clamp(1.9rem,3.4vw,3rem)}
.pts-list{margin:1.5rem 0 2rem;border-top:1px solid var(--line)}
.pts-list li{padding:.7rem 0;border-bottom:1px solid var(--line-soft);font-size:.9rem;color:var(--muted)}
.tech-block{padding:2rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:3.5rem 1fr;gap:1.2rem}
.tech-block:first-child{border-top:0;padding-top:0}
.tech-block .no{font-family:var(--serif);font-size:1.6rem;color:var(--copper);line-height:1.2}
.tech-block h3{font-family:var(--serif);font-size:1.5rem;font-weight:400;margin-bottom:.6rem}
.tech-block p{color:var(--muted);font-size:.95rem}
.tick-list{margin-top:1rem;display:grid;gap:.45rem}
.tick-list li{font-size:.85rem;color:var(--muted);padding-left:1.1rem;position:relative}
.tick-list li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;background:var(--copper);border-radius:50%}
.section--ink .tick-list li{color:var(--muted-dark)}
.section--ink .tech-block{border-top-color:var(--line-dark)}
.section--ink .tech-block h3{color:var(--ivory)}
.quality--dark{border-top-color:var(--line-dark);grid-template-columns:1fr 1fr;margin-top:2rem}
.section--ink .q-item p{color:var(--muted-dark)}
h2.display-sm{font-size:clamp(1.8rem,3vw,2.6rem)}
.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-15{margin-top:1.5rem}.mt-08{margin-top:.8rem}
.note-sm{font-size:.85rem;margin-top:1.5rem}
.note-xs{font-size:.75rem;margin-top:.5rem}
.story-lead{margin-top:1.2rem;font-size:1.1rem;color:var(--ink)}
.value-text{font-family:var(--sans);font-size:.95rem;color:var(--muted)}
.eyebrow.center-x{justify-content:center}
.nf-lead{margin:1rem auto 2rem}
.cta-aside{justify-self:end}
.section--ink .display,.section--ink h3{color:var(--ivory)}
@media (max-width:1080px){
  .sol-row{grid-template-columns:1fr}
  .sol-row--rev .sol-row__media{order:0}
  .quality--dark{grid-template-columns:1fr}
  .cta-aside{justify-self:start}
}

/* fix: mobile panel hidden on desktop */
.mobile-nav{display:none}


/* hero height cap + header legibility */
.hero{min-height:min(94svh,980px)}
.site-header::before{content:"";position:absolute;inset:0 0 auto;height:150%;background:linear-gradient(180deg,rgba(8,7,6,.62),rgba(8,7,6,0));pointer-events:none;z-index:-1;transition:opacity .4s}
.site-header.is-solid::before{opacity:0}
.header-inner{position:relative;z-index:1}
@media (max-width:560px){.hero{min-height:min(88svh,760px)}}


/* product imagery blends into warm surfaces */
.card__media img,.family img,.pdp-media img{mix-blend-mode:multiply}
.card__media{background:#FFFFFF}


/* reveal gating: content visible without JS */
.js 
.js .reveal.is-in{animation:revealUp .9s var(--ease) both}
body{overflow-wrap:break-word}
@media (max-width:560px){
  .hero h1{font-size:clamp(2rem,8.8vw,2.7rem)}
  .hero-content{padding-top:8rem}
}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none}
}


/* reveal: animate in, never hide without JS */
.reveal.is-in{animation:revealUp .9s var(--ease) both}
.reveal[data-delay="1"].is-in{animation-delay:.1s}
.reveal[data-delay="2"].is-in{animation-delay:.2s}
.reveal[data-delay="3"].is-in{animation-delay:.3s}
@keyframes revealUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.reveal.is-in{animation:none}}


/* ---- mobile refinement (320-560) ---- */
@media (max-width:560px){
  .hero{min-height:min(92svh,780px)}
  .hero-content{padding-top:7rem}
  .hero h1{font-size:clamp(1.7rem,8.6vw,2.4rem)}
  .hero .lead{font-size:.95rem}
  .hero-actions{gap:.6rem}
  .hero-actions .btn{padding:.85rem 1.3rem;font-size:.72rem}
  .hero-foot{display:none}
  .marquee{padding:.85rem 0}
  .marquee-track span{font-size:.68rem;gap:2rem}
}
/* ---- keep desktop nav on small laptops (961-1080) ---- */
@media (min-width:961px) and (max-width:1080px){
  .nav{display:flex;gap:1.15rem;font-size:.7rem}
  .nav-toggle{display:none}
  .header-cta{display:inline-flex;padding:.6rem .9rem;font-size:.66rem}
  .header-inner{gap:1.4rem}
}
