:root { --ink:#17221e; --ink-soft:#58615d; --paper:#f4f0e9; --cream:#e8e0d4; --line:rgba(23,34,30,.16); --night:#17221e; --lime:#d4e169; --blue:#5aace3; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:80px; -webkit-overflow-scrolling:touch; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'Manrope',sans-serif; }
body.is-loading { overflow:hidden; }
a { color:inherit; text-decoration:none; }
.preloader { align-items:center; background:var(--ink); display:flex; flex-direction:column; inset:0; justify-content:center; position:fixed; transition:opacity .6s ease; z-index:999; }
.preloader.is-hidden { opacity:0; pointer-events:none; }
.preloader-logo { animation:preloader-fade-in .6s ease both, preloader-spin 1.2s cubic-bezier(.65,0,.35,1) 1 both; height:88px; width:88px; }
.preloader-bar { background:rgba(255,255,255,.14); border-radius:2px; height:2px; margin-top:32px; overflow:hidden; width:120px; }
.preloader-bar span { animation:preloader-bar-slide 1s ease-in-out 1 both; background:linear-gradient(90deg,var(--blue),var(--lime)); display:block; height:100%; width:40%; }
@keyframes preloader-fade-in { from { opacity:0; } to { opacity:1; } }
@keyframes preloader-spin { 0%,100% { transform:rotate(0deg) scale(.9); } 50% { transform:rotate(180deg) scale(1.06); } }
@keyframes preloader-bar-slide { 0% { transform:translateX(-100%); } 100% { transform:translateX(250%); } }
.reveal { opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.reveal.is-inview { opacity:1; transform:translateY(0); }
.page-progress { height:3px; left:0; position:fixed; top:0; width:100%; z-index:70; }
.page-progress span { background:linear-gradient(90deg,var(--blue),var(--lime)); display:block; height:100%; transition:width .1s linear; width:0%; }
.site-header { align-items:center; background:rgba(244,240,233,.78); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-bottom:1px solid var(--line); display:flex; height:80px; justify-content:space-between; padding:0 max(clamp(24px,5vw,84px),env(safe-area-inset-right)) 0 max(clamp(24px,5vw,84px),env(safe-area-inset-left)); position:fixed; top:0; left:0; width:100%; z-index:60; }
.brand { align-items:center; display:flex; gap:13px; }
.brand-mark { align-items:center; display:flex; height:36px; justify-content:center; width:36px; }
.brand-mark img { height:100%; object-fit:contain; width:100%; }
.brand strong { display:block; font-size:14px; letter-spacing:-.02em; }
.brand small { color:var(--ink-soft); display:block; font-family:'DM Mono',monospace; font-size:9px; letter-spacing:.08em; margin-top:3px; text-transform:uppercase; }
.main-nav { display:flex; gap:32px; margin-left:auto; margin-right:42px; }
.main-nav a,.header-link,.text-link { font-size:11px; font-weight:700; letter-spacing:.02em; }
.main-nav a { color:var(--ink-soft); padding-bottom:4px; position:relative; transition:color .3s ease; }
.main-nav a::after { background:var(--blue); bottom:0; content:''; height:1px; left:0; position:absolute; transform:scaleX(0); transform-origin:left; transition:transform .4s cubic-bezier(.65,0,.35,1); width:100%; }
.main-nav a:hover,.main-nav a.is-active { color:var(--ink); }
.main-nav a:hover::after,.main-nav a.is-active::after { transform:scaleX(1); }
.text-link:hover { color:var(--blue); }
.header-link { align-items:center; border-bottom:1px solid var(--ink); display:flex; gap:9px; margin-left:28px; padding-bottom:5px; }
.lang-switch { align-items:center; display:flex; gap:2px; margin-left:24px; }
.lang-switch button { background:none; border:0; color:var(--ink-soft); cursor:pointer; font-family:'DM Mono',monospace; font-size:11px; font-weight:500; letter-spacing:.04em; padding:6px 8px; transition:color .25s ease; }
.lang-switch button.is-active { color:var(--ink); font-weight:700; }
.lang-switch button:hover { color:var(--blue); }
.lang-switch-mobile { margin:8px 0 0; }
.lang-switch-mobile button { color:rgba(255,255,255,.6); }
.lang-switch-mobile button.is-active { color:#fff; }
.nav-toggle { background:none; border:0; cursor:pointer; display:none; flex-direction:column; gap:6px; height:44px; justify-content:center; padding:0; width:32px; }
.nav-toggle span { background:var(--ink); border-radius:2px; display:block; height:2px; transition:transform .35s ease, opacity .35s ease; width:100%; }
.nav-toggle[aria-expanded="true"] span:first-child { transform:translateY(4px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:last-child { transform:translateY(-4px) rotate(-45deg); }
.mobile-menu { background:var(--ink); display:flex; flex-direction:column; gap:48px; height:100dvh; inset:0; justify-content:center; opacity:0; padding:24px clamp(24px,8vw,64px); pointer-events:none; position:fixed; transform:translateY(-12px); transition:opacity .35s ease, transform .35s ease; z-index:55; }
.mobile-menu.is-open { opacity:1; pointer-events:auto; transform:translateY(0); }
.mobile-menu nav { display:flex; flex-direction:column; gap:28px; }
.mobile-menu nav a { color:#fff; font-family:'Fraunces',serif; font-size:clamp(32px,9vw,44px); letter-spacing:-.02em; }
.mobile-menu nav a.is-active { color:var(--lime); }
.mobile-menu .button { align-self:flex-start; }
.intro { align-items:flex-end; display:flex; min-height:100vh; min-height:100dvh; overflow:hidden; padding:0 clamp(24px,8vw,148px) 90px; position:relative; }
.intro-slideshow { inset:0; overflow:hidden; position:absolute; z-index:0; }
.intro-slideshow-track { animation:intro-slideshow-scroll 60s linear infinite; display:flex; height:100%; width:max-content; }
.intro-slideshow-track figure { flex-shrink:0; height:100%; margin:0; width:34vw; }
.intro-slideshow-track img { display:block; height:100%; object-fit:cover; width:100%; }
.intro-scrim { background:linear-gradient(0deg,rgba(15,21,18,.94) 0%,rgba(15,21,18,.72) 40%,rgba(15,21,18,.4) 75%,rgba(15,21,18,.3) 100%),linear-gradient(90deg,rgba(15,21,18,.65) 0%,rgba(15,21,18,.35) 45%,rgba(15,21,18,.05) 85%); inset:0; position:absolute; z-index:1; }
@keyframes intro-slideshow-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.intro-copy { color:#fff; position:relative; text-shadow:0 4px 26px rgba(0,0,0,.4); z-index:2; }
.intro-copy .eyebrow,.intro-copy h1,.intro-copy .intro-lede { animation:intro-copy-in 1s cubic-bezier(.16,1,.3,1) both; }
.intro-copy .eyebrow { animation-delay:.15s; }
.intro-copy h1 { animation-delay:.35s; }
.intro-copy .intro-lede { animation-delay:.65s; }
@keyframes intro-copy-in { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
.intro-copy { max-width:690px; }
.eyebrow { align-items:center; color:var(--ink-soft); display:flex; font-family:'DM Mono',monospace; font-size:10px; gap:9px; letter-spacing:.11em; margin:0 0 24px; text-transform:uppercase; }
.eyebrow .eyebrow-dot { background:var(--blue); border-radius:50%; display:inline-block; height:7px; width:7px; }
.intro h1,.collection h2,.brand-section h2,.contact h2,.partners h2 { font-family:'Fraunces',serif; font-size:clamp(56px,8.2vw,124px); font-weight:500; letter-spacing:-.03em; line-height:.94; margin:0; max-width:900px; }
.intro h1 { color:#fff; max-width:740px; }
em { color:var(--blue); font-style:italic; }
.intro-lede { color:rgba(255,255,255,.8); font-size:15px; line-height:1.7; margin:36px 0 0; max-width:430px; }
.button { align-items:center; display:inline-flex; font-size:11px; font-weight:800; gap:30px; justify-content:space-between; letter-spacing:.04em; overflow:hidden; padding:16px 18px; position:relative; transition:transform .25s ease; }
.button::before { background:var(--blue); content:''; inset:0; position:absolute; transform:translateX(-101%); transition:transform .4s cubic-bezier(.65,0,.35,1); z-index:-1; }
.button:hover::before { transform:translateX(0); }
.button:hover { color:#fff; transform:translateY(-3px); }
.button-dark { background:var(--ink); color:var(--paper); min-width:164px; }
.button-light { background:var(--lime); color:var(--ink); min-width:186px; }
.text-link { border-bottom:1px solid var(--ink); padding-bottom:7px; }
.journey { min-height:700vh; min-height:700dvh; position:relative; }
.journey-sticky { height:100vh; height:100dvh; overflow:hidden; position:sticky; top:0; }
.scene-stack,.scene-image,.scene-shade { height:100%; inset:0; position:absolute; width:100%; }
.scene-image { object-fit:cover; opacity:0; transform:scale(1.05); transition:opacity .55s ease, transform 1.2s ease; }
.scene-image.is-visible { opacity:1; transform:scale(1); }
.scene-shade { background:linear-gradient(90deg,rgba(11,20,18,.78) 0%,rgba(11,20,18,.34) 50%,rgba(11,20,18,.08) 100%); }
.journey-overlay { color:#fff; display:flex; flex-direction:column; height:100%; justify-content:space-between; padding:120px clamp(24px,8vw,148px) 42px; position:relative; }
.eyebrow-light { color:rgba(255,255,255,.68); }
.eyebrow-light .eyebrow-dot { background:var(--lime); }
.journey-topline,.journey-bottomline { display:flex; justify-content:space-between; }
.scene-counter { font-family:'DM Mono',monospace; font-size:11px; margin:0; }
.scene-counter span { color:var(--lime); }
.journey-copy { max-width:620px; transform:translateY(-3vh); }
.scene-kicker { color:var(--lime); font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.12em; margin:0 0 22px; text-transform:uppercase; }
.journey h2 { font-family:'Fraunces',serif; font-size:clamp(48px,7vw,100px); font-weight:500; font-style:italic; letter-spacing:-.02em; line-height:.92; margin:0; }
.journey h2 em { font-style:italic; }
.journey-copy > p:last-child { color:rgba(255,255,255,.76); font-size:14px; line-height:1.6; margin:28px 0 0; max-width:350px; }
.journey-bottomline { align-items:flex-end; gap:32px; }
.route-labels { display:flex; font-family:'DM Mono',monospace; font-size:9px; justify-content:space-between; letter-spacing:.08em; text-transform:uppercase; width:200px; }
.route-track { background:rgba(255,255,255,.32); height:1px; margin-bottom:4px; max-width:350px; position:relative; width:30vw; }
.route-progress { background:var(--lime); display:block; height:3px; left:0; position:absolute; top:-1px; transition:width .25s ease; width:3%; }
.route-dot { background:var(--lime); border-radius:50%; height:7px; left:-2px; position:absolute; top:-3px; width:7px; }.route-dot-end { left:auto; right:-2px; }
.scroll-note { align-items:center; display:flex; font-family:'DM Mono',monospace; font-size:9px; gap:9px; letter-spacing:.08em; margin:0; text-transform:uppercase; white-space:nowrap; }.scroll-line { background:var(--lime); height:18px; width:1px; }
.scene-chapters { height:0; overflow:hidden; position:relative; }.scene-chapters article { height:100vh; height:100dvh; }
.collection { padding:150px clamp(24px,8vw,148px) 170px; }
.section-heading { display:grid; grid-template-columns:1fr 1fr; margin-bottom:78px; }.section-heading .eyebrow { grid-column:1/-1; }.section-heading h2 { font-size:clamp(48px,6vw,88px); }.section-heading > p:last-child { align-self:end; color:var(--ink-soft); font-size:14px; line-height:1.7; max-width:310px; }
.category-grid { display:grid; grid-template-columns:repeat(3,1fr); }.category-card { background:var(--cream); border-bottom:1px solid var(--line); border-right:1px solid var(--line); min-height:236px; min-width:0; padding:23px; position:relative; transition:transform .35s ease, box-shadow .35s ease; }.category-card:hover { box-shadow:0 22px 44px rgba(23,34,30,.1); transform:translateY(-6px); z-index:2; }.category-card:nth-child(3n) { border-right:0; }.category-card:nth-last-child(-n+3) { border-bottom:0; }.category-index { color:var(--blue); font-family:'DM Mono',monospace; font-size:10px; }.category-card h3 { font-size:25px; letter-spacing:-.06em; line-height:.95; margin:45px 0 10px; overflow-wrap:break-word; }.category-card p { color:var(--ink-soft); font-size:11px; line-height:1.5; margin:0; max-width:185px; }.category-arrow { bottom:22px; font-size:20px; position:absolute; right:23px; }
@keyframes showcase-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.brand-section { align-items:center; background:var(--cream); display:grid; gap:70px; grid-template-columns:.65fr 1fr 1fr; padding:130px clamp(24px,8vw,148px); }.brand-badge { align-items:center; background:#fff; border:1px solid var(--line); border-radius:28px; box-shadow:0 30px 60px rgba(23,34,30,.1); display:flex; height:150px; justify-content:center; padding:22px; width:150px; }.brand-badge img { height:100%; object-fit:contain; width:100%; }.brand-section h2 { font-size:clamp(50px,6vw,86px); }.brand-section p:not(.eyebrow) { color:var(--ink-soft); font-size:14px; line-height:1.7; margin-top:26px; max-width:315px; }.brand-points { display:flex; flex-direction:column; gap:15px; font-family:'DM Mono',monospace; font-size:10px; text-transform:uppercase; }.brand-points span { position:relative; padding-left:20px; }.brand-points span::before { color:var(--blue); content:'\2713'; left:0; position:absolute; }
.partners { padding:130px clamp(24px,8vw,148px); background:var(--ink); color:#fff; }.partners-heading { margin-bottom:64px; max-width:560px; }.partners h2 { font-size:clamp(42px,5.5vw,72px); }.partners-heading p:last-child { color:rgba(255,255,255,.66); font-size:14px; line-height:1.7; margin-top:22px; max-width:380px; }.partners-slideshow { -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); overflow:hidden; }.partners-track { animation:partners-scroll 26s linear infinite; display:flex; gap:0; width:max-content; }.partners-track:hover { animation-play-state:paused; }.partner-logo { align-items:center; aspect-ratio:16/10; background:rgba(255,255,255,.04); display:flex; flex-shrink:0; justify-content:center; padding:20px; transition:background .35s ease; width:240px; }.partner-logo:hover { background:rgba(255,255,255,.08); }.partner-logo img { filter:grayscale(1); height:100%; max-height:96px; object-fit:contain; opacity:.7; transition:transform .4s ease; animation:partner-color-pulse 8s ease-in-out infinite; width:100%; }.partner-logo:nth-child(2) img { animation-delay:2s; }.partner-logo:nth-child(3) img { animation-delay:4s; }.partner-logo:nth-child(4) img { animation-delay:6s; }.partner-logo:hover img { animation-play-state:paused; filter:grayscale(0) !important; opacity:1 !important; transform:scale(1.06); }
@keyframes partners-scroll { 0% { transform:translateX(0); } 100% { transform:translateX(calc(-50% - 1px)); } }
@keyframes partner-color-pulse { 0%,78% { filter:grayscale(1); opacity:.7; } 88% { filter:grayscale(0); opacity:1; } 100% { filter:grayscale(1); opacity:.7; } }
.contact { background:var(--ink); color:#fff; display:grid; gap:60px; grid-template-columns:1.1fr .9fr; padding:145px clamp(24px,8vw,148px); }.contact h2 { font-size:clamp(54px,7vw,100px); }.contact-details { align-self:end; border-top:1px solid rgba(255,255,255,.24); display:grid; gap:28px; padding-top:24px; }.contact-details div { display:flex; justify-content:space-between; gap:20px; }.contact-details span { color:rgba(255,255,255,.48); font-family:'DM Mono',monospace; font-size:9px; text-transform:uppercase; }.contact-details strong,.contact-details a { font-size:13px; font-weight:500; line-height:1.5; text-align:right; }.contact-details a:hover { color:var(--lime); }
.contact-form { display:flex; flex-direction:column; gap:24px; margin-top:40px; max-width:460px; }
.form-row { display:flex; flex-direction:column; gap:10px; }
.form-row-trap { left:-9999px; position:absolute; top:-9999px; }
.form-row label { color:rgba(255,255,255,.48); font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.form-row input,.form-row textarea { background:transparent; border:0; border-bottom:1px solid rgba(255,255,255,.28); color:#fff; font-family:'Manrope',sans-serif; font-size:15px; padding:10px 2px; resize:vertical; transition:border-color .25s ease; }
.form-row input::placeholder,.form-row textarea::placeholder { color:rgba(255,255,255,.35); }
.form-row input:focus,.form-row textarea:focus { border-color:var(--lime); outline:none; }
.form-footer { align-items:center; display:flex; gap:24px; margin-top:4px; }
.form-status { color:rgba(255,255,255,.6); font-size:13px; margin:0; }
.form-status.is-success { color:var(--lime); }
.form-status.is-error { color:#ff9c86; }
.contact-form button[disabled] { cursor:progress; opacity:.6; }
.site-footer { align-items:center; background:var(--ink); border-top:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.48); display:flex; font-family:'DM Mono',monospace; font-size:9px; justify-content:space-between; letter-spacing:.05em; padding:20px clamp(24px,8vw,148px); text-transform:uppercase; }.footer-brand { align-items:center; display:flex; gap:10px; }.footer-brand img { height:18px; object-fit:contain; width:18px; }
.footer-links { display:flex; gap:18px; }.footer-links a:hover { color:#fff; }
.legal-page { margin:0 auto; max-width:820px; padding:170px clamp(24px,8vw,64px) 140px; }
.legal-page h1 { font-family:'Fraunces',serif; font-size:clamp(40px,6vw,68px); font-weight:500; letter-spacing:-.03em; margin:0 0 10px; }
.legal-updated { color:var(--ink-soft); font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.06em; margin:0 0 56px; text-transform:uppercase; }
.legal-page h2 { font-family:'Fraunces',serif; font-size:24px; font-weight:500; letter-spacing:-.01em; margin:52px 0 16px; }
.legal-page p,.legal-page li { color:var(--ink-soft); font-size:15px; line-height:1.75; margin:0 0 14px; }
.legal-page ul,.legal-page ol { margin:0 0 20px; padding-left:22px; }
.legal-page strong { color:var(--ink); }
.legal-page a { border-bottom:1px solid var(--line); }
.legal-page a:hover { color:var(--blue); }
.legal-note { background:var(--cream); border-radius:14px; font-size:13px; padding:18px 22px; }
.category-landing { padding-top:80px; }
.category-breadcrumb { color:var(--ink-soft); font-family:'DM Mono',monospace; font-size:10px; line-height:1.6; margin:0 clamp(24px,8vw,148px); padding-top:28px; text-transform:uppercase; }
.category-breadcrumb a { border-bottom:1px solid var(--line); }
.category-hero { align-items:center; display:grid; gap:64px; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); padding:36px clamp(24px,8vw,148px) 72px; }
.category-hero-copy { max-width:590px; }
.category-hero h1 { font-family:'Fraunces',serif; font-size:64px; font-weight:500; line-height:1; margin:0; max-width:620px; }
.category-hero-copy > p:not(.eyebrow) { color:var(--ink-soft); font-size:16px; line-height:1.75; margin:26px 0 32px; max-width:510px; }
.category-hero-media { aspect-ratio:4 / 3; background:var(--cream); margin:0; overflow:hidden; }
.category-hero-media img { display:block; height:100%; object-fit:cover; width:100%; }
.category-detail-band { background:var(--cream); display:grid; gap:72px; grid-template-columns:.8fr 1.2fr; padding:88px clamp(24px,8vw,148px); }
.category-detail-band h2,.category-cta h2 { font-family:'Fraunces',serif; font-size:36px; font-weight:500; line-height:1.05; margin:0; }
.category-detail-copy { color:var(--ink-soft); font-size:15px; line-height:1.75; max-width:660px; }
.category-detail-copy p { margin:0 0 16px; }
.category-product-list { border-top:1px solid var(--line); margin-top:28px; }
.category-product-item { align-items:baseline; border-bottom:1px solid var(--line); display:grid; gap:24px; grid-template-columns:1fr 1fr; padding:16px 0; }
.category-product-item strong { color:var(--ink); font-size:14px; }
.category-product-item span { font-size:13px; }
.category-cta { align-items:center; background:var(--ink); color:#fff; display:flex; gap:40px; justify-content:space-between; padding:64px clamp(24px,8vw,148px); }
.category-cta h2 { max-width:580px; }
.category-cta p { color:rgba(255,255,255,.68); font-size:14px; line-height:1.7; margin:14px 0 0; max-width:480px; }
.category-related { padding:64px clamp(24px,8vw,148px) 80px; }
.category-related h2 { font-family:'Fraunces',serif; font-size:28px; font-weight:500; margin:0 0 24px; }
.category-related-links { display:flex; flex-wrap:wrap; gap:12px 28px; }
.category-related-links a { border-bottom:1px solid var(--line); font-size:13px; font-weight:700; padding-bottom:5px; }
.category-related-links a:hover { color:var(--blue); }
.cookie-settings-trigger { background:none; border:0; color:inherit; cursor:pointer; font:inherit; padding:0; text-transform:inherit; }
.cookie-settings-trigger:hover { color:#fff; }
.cookie-consent { background:var(--ink); border:1px solid rgba(255,255,255,.22); bottom:max(20px,env(safe-area-inset-bottom)); box-shadow:0 18px 60px rgba(0,0,0,.28); color:#fff; display:grid; gap:18px; max-width:560px; padding:24px; position:fixed; right:max(20px,env(safe-area-inset-right)); width:calc(100% - 40px); z-index:1000; }
.cookie-consent[hidden] { display:none; }
.cookie-consent-copy { min-width:0; padding-right:28px; }
.cookie-consent h2 { font-family:'Fraunces',serif; font-size:24px; font-weight:500; margin:0 0 8px; }
.cookie-consent p { color:rgba(255,255,255,.72); font-size:12px; line-height:1.6; margin:0; max-width:420px; }
.cookie-consent-detail { display:block; color:rgba(255,255,255,.52); font-family:'DM Mono',monospace; font-size:10px; line-height:1.6; margin-top:10px; }
.cookie-consent-actions { align-items:stretch; display:flex; gap:8px; }
.cookie-consent-actions button,.cookie-consent-close { background:transparent; border:1px solid rgba(255,255,255,.32); color:#fff; cursor:pointer; font:700 10px 'Manrope',sans-serif; min-height:40px; padding:0 12px; white-space:nowrap; }
.cookie-consent-actions button:last-child { background:var(--lime); border-color:var(--lime); color:var(--ink); }
.cookie-consent-actions button:hover,.cookie-consent-close:hover { border-color:#fff; }
.cookie-consent-actions button:last-child:hover { background:#e1ed8b; border-color:#e1ed8b; }
.cookie-consent-actions button:disabled { cursor:wait; opacity:.6; }
.cookie-consent-close { border:0; font-size:20px; line-height:1; min-height:30px; padding:0 4px; position:absolute; right:12px; top:8px; }
.cookie-consent-close[hidden] { display:none; }
.cookie-consent-status { color:var(--lime) !important; font-size:11px !important; grid-column:1 / -1; min-height:16px; }
@media (max-width:800px) {
  .site-header { height:74px; backdrop-filter:none; -webkit-backdrop-filter:none; }
  .main-nav { display:none; }
  .header-link { display:none; }
  .lang-switch:not(.lang-switch-mobile) { display:none; }
  .nav-toggle { display:flex; }
  .intro { min-height:100vh; min-height:100dvh; padding-bottom:56px; }
  .intro-slideshow-track { animation-duration:28s; }
  .intro-slideshow-track figure { width:78vw; }
  .intro h1 { font-size:clamp(54px,16vw,86px); }
  .category-landing { padding-top:74px; }
  .category-breadcrumb { margin:0 24px; padding-top:22px; }
  .category-hero { gap:30px; grid-template-columns:1fr; padding:28px 24px 48px; }
  .category-hero h1 { font-size:42px; }
  .category-hero-copy > p:not(.eyebrow) { font-size:14px; margin:18px 0 24px; }
  .category-detail-band { gap:28px; grid-template-columns:1fr; padding:60px 24px; }
  .category-detail-band h2,.category-cta h2 { font-size:30px; }
  .category-detail-copy { font-size:14px; }
  .category-product-item { gap:12px; grid-template-columns:1fr; }
  .category-cta { align-items:flex-start; flex-direction:column; gap:24px; padding:52px 24px; }
  .category-related { padding:52px 24px 64px; }
  .category-related h2 { font-size:25px; }
  .legal-page { padding:132px 22px 96px; }
  .legal-page h1 { font-size:34px; line-height:1.05; }
  .legal-page h2 { font-size:21px; margin:38px 0 12px; }
  .legal-page p,.legal-page li { font-size:14px; line-height:1.7; }
  .legal-updated { margin-bottom:42px; }
  .journey { background:var(--ink); min-height:calc(var(--journey-viewport-height, 100vh) * 7); }
  .journey-sticky,.scene-chapters article { height:var(--journey-viewport-height, 100vh); }
  .journey-overlay { padding-top:100px; }
  .journey h2 { font-size:clamp(48px,14vw,78px); }
  .journey-bottomline { align-items:stretch; flex-direction:column; gap:18px; }
  .route-track { width:100%; }
  .scroll-note { align-self:flex-end; }
  .section-heading { display:block; }
  .section-heading > p:last-child { margin-top:28px; }
  .category-grid { grid-template-columns:1fr 1fr; }
  .category-card { min-height:220px; }
  .category-card:nth-child(3n) { border-right:1px solid var(--line); }
  .category-card:nth-child(2n) { border-right:0; }
  .category-card:nth-last-child(-n+3) { border-bottom:1px solid var(--line); }
  .category-card:nth-last-child(-n+2) { border-bottom:0; }
  .brand-section { display:block; }
  .brand-badge { margin-bottom:55px; }
  .brand-points { margin-top:40px; }
  .partners-track { animation-duration:18s; }
  .partner-logo img { animation:none; filter:grayscale(0); opacity:1; }
  .contact { display:block; }
  .contact-details { margin-top:90px; }
  .contact-form { max-width:none; }
  .site-footer { flex-direction:column; gap:10px; }
  .cookie-consent { bottom:max(12px,env(safe-area-inset-bottom)); gap:14px; padding:20px; right:12px; width:calc(100% - 24px); }
  .cookie-consent-actions button { flex:1; white-space:normal; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.scene-image { transition:none; }.reveal { opacity:1; transform:none; transition:none; }.intro-slideshow-track { animation:none; }.intro-copy .eyebrow,.intro-copy h1,.intro-copy .intro-lede { animation:none; opacity:1; transform:none; }.partner-logo img { animation:none; }.preloader-logo { animation:none; }.preloader-bar span { animation:none; width:100%; } }
