/* James Read — editorial identity, original photography and local fonts. */
:root { --paper:#f8f8f8; --ink:#171717; --muted:#606060; --line:#deddd9; --soft:#f8f8f7; --heading:'Oranienbaum',Georgia,serif; --body:'Manrope',Arial,sans-serif; --content:1440px; --ease:cubic-bezier(.22,1,.36,1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:120px; }
html.lenis { scroll-behavior:auto; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 16px/1.75 var(--body); -webkit-font-smoothing:antialiased; }
h1,h2,h3,p,dl,dd,figure { margin:0; }
h1,h2 { font-family:var(--heading); font-weight:400; text-wrap:balance; letter-spacing:-.02em; }
h2 { font-size:clamp(38px,3.8vw,58px); line-height:1.18; max-width:900px; }
h3 { font-weight:400; line-height:1.35; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button { color:inherit; cursor:pointer; }
img { display:block; max-width:100%; }
a,button,summary { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--ink); outline-offset:5px; }
::selection { background:#d9cbb9; color:#171717; }
.container { width:84%; max-width:var(--content); margin-inline:auto; }
.skip-link { position:fixed; top:-100px; left:16px; background:white; padding:12px; z-index:1100; }
.skip-link:focus { top:12px; }
.center,.section-intro { text-align:center; }
.center,.section-intro h2 { margin-inline:auto; }
.eyebrow { font:400 12px/1.5 var(--body); letter-spacing:0; text-transform:none; margin-bottom:14px; color:var(--muted); }
.section-intro>p:not(.eyebrow) { color:var(--muted); max-width:640px; margin:24px auto 0; }
.section-intro>p br { display:none; }
.button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:10px 0; color:var(--ink); font-size:14px; font-weight:400; text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; }
.button:hover { color:var(--muted); }

.announcement { position:relative; min-height:46px; display:flex; align-items:center; justify-content:center; background:#080808; color:#fff; padding:10px 50px; text-align:center; font-size:12px; line-height:1.5; }
.announcement[hidden] { display:none; }
.announcement a { text-decoration:underline; text-underline-offset:3px; margin-left:8px; }
.announcement-close { position:absolute; top:0; right:14px; width:44px; height:100%; border:0; background:none; color:#fff; font-size:22px; font-weight:300; }
.header { position:relative; background:var(--paper); }
.header-inner { min-height:100px; width:calc(100% - 80px); margin:auto; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.brand { grid-column:2; grid-row:1; }
.brand img { width:90px; height:45px; filter:brightness(0); }
.menu-toggle { grid-column:1; grid-row:1; justify-self:start; display:flex; gap:14px; align-items:center; border:0; background:none; padding:0; min-height:44px; font-size:12px; }
.menu-toggle img { width:18px; height:18px; }
.header-actions { grid-column:3; grid-row:1; display:flex; gap:26px; justify-content:flex-end; align-items:center; }
.header-contact { font-size:12px; text-underline-offset:5px; }
.header-contact:hover { text-decoration:underline; }
.language { position:relative; font-size:12px; }
.language summary { display:flex; gap:5px; align-items:center; cursor:pointer; list-style:none; min-height:44px; }
.language summary::-webkit-details-marker { display:none; }
.language summary img { width:16px; height:16px; filter:brightness(0); }
.language summary img:last-child { width:12px; }
.language-panel { position:absolute; right:0; top:44px; padding:18px; min-width:140px; background:var(--paper); border:1px solid var(--line); }
.language-panel>span { display:flex; justify-content:space-between; }
.menu-open { overflow:hidden; }
.menu-backdrop { position:fixed; inset:0; z-index:75; background:rgba(12,12,12,.24); backdrop-filter:blur(0); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .55s ease,backdrop-filter .65s ease,visibility .55s; }
.menu-backdrop.is-open { opacity:1; visibility:visible; pointer-events:auto; backdrop-filter:blur(12px); }
.main-nav { position:fixed; inset:16px auto 16px 16px; z-index:80; width:min(400px,calc(100% - 32px)); height:calc(100dvh - 32px); border-radius:6px; display:flex; flex-direction:column; padding:30px 32px 28px; overflow-y:auto; background:var(--paper);  transform:translateX(calc(-100% - 20px)); visibility:hidden; transition:transform .7s cubic-bezier(.22,1,.36,1),visibility .7s; }
.main-nav.is-open { transform:translateX(0); visibility:visible; }
.menu-heading { display:flex; justify-content:space-between; align-items:center; min-height:46px; padding-bottom:18px; border-bottom:1px solid var(--line); font:400 24px/1 var(--heading); }
.menu-close { width:42px; height:42px; display:grid; place-items:center; border:0; background:transparent; font:300 32px/1 var(--body); }
.menu-caption { margin:24px 0 16px; color:var(--muted); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.main-nav a { display:flex; align-items:center; justify-content:space-between; min-height:52px; font-size:15px; transition:color .2s ease; }
.main-nav a:after { content:'›'; color:var(--muted); font:300 26px/1 var(--body); }
.main-nav a:hover { color:var(--muted); }
.menu-footnote { margin-top:auto; padding-top:36px; color:var(--muted); font-size:12px; }
.campaign-link { display:inline-block; padding:8px 0; min-height:38px; font:400 14px/1.5 var(--body); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px; transition:opacity .2s; }
.campaign-link:hover { opacity:.65; }
.footer { background:var(--paper); color:var(--ink); padding:64px 0 20px; border-top:1px solid var(--line); }
.footer-top { display:grid; grid-template-columns:1fr 1fr; gap:14%; }
.footer-brand { max-width:400px; }
.footer-brand>a:first-child { display:block; width:100px; }
.footer-brand img { width:100px; height:50px; filter:brightness(0); }
.footer-brand p { font-size:14px; color:var(--muted); margin-top:24px; }
.button-light { margin-top:18px; }
.footer-nav { display:grid; grid-template-columns:1fr 1fr; gap:40px; font-size:13px; }
.footer-nav>div { display:flex; flex-direction:column; gap:20px; }
.footer a:hover { text-decoration:underline; text-underline-offset:5px; }
.footer-email { display:inline-block; margin-top:32px; font-size:14px; }
.footer-bottom { display:flex; justify-content:space-between; gap:32px; margin-top:48px; padding-top:24px; border-top:1px solid var(--line); font-size:11px; color:var(--muted); }
/* Enquiry dialog. */
body.modal-open { overflow:hidden; }
.contact-modal { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:28px; }
.contact-modal[hidden] { display:none; }
.contact-modal-backdrop { position:absolute; inset:0; background:#0009; backdrop-filter:blur(3px); animation:fade-in .25s both; }
.contact-dialog { position:relative; width:min(880px,100%); max-height:calc(100dvh - 56px); overflow:auto; background:white; padding:64px; animation:dialog-in .4s var(--ease) both; }
.contact-dialog-close { position:absolute; top:14px; right:18px; width:44px; height:44px; background:none; border:0; font:300 32px/1 var(--body); }
.contact-form h2 { font-size:40px; max-width:620px; text-align:center; margin:0 auto 38px; }
.contact-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.contact-form-grid label>span { display:block; font-size:13px; margin-bottom:9px; }
.contact-form sup { color:#a34435; }
.contact-form input:not([type='checkbox']) { display:block; width:100%; min-height:52px; padding:12px 14px; border:1px solid #bdbdbd; border-radius:0; background:white; color:var(--ink); font-size:16px; }
.contact-form textarea { display:block; width:100%; min-height:110px; padding:12px 14px; border:1px solid #bdbdbd; border-radius:0; background:white; color:var(--ink); font:16px/1.45 var(--body); resize:vertical; }
.contact-message-field { grid-column:1 / -1; }
.contact-message-field>span { display:block; font-size:13px; margin-bottom:9px; }
.contact-form textarea:focus { outline:1px solid var(--ink); outline-offset:1px; }
.contact-form.was-validated textarea:invalid { border-color:#a34435; }
.contact-hp { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.contact-form input::placeholder { color:#808080; }
.phone-field { min-width:0; }
.phone-field>label { display:block; font-size:13px; margin-bottom:9px; }
.phone-controls { display:grid; grid-template-columns:54px minmax(0,1fr); }
.phone-country { position:relative; display:flex; gap:3px; align-items:center; justify-content:center; border:1px solid #bdbdbd; border-right:0; background:white; }
.phone-country>img { width:20px; height:20px; filter:brightness(0); pointer-events:none; }
.phone-country>img:last-of-type { width:14px; height:14px; }
.phone-country select { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; font:400 16px var(--body); }
.phone-country:focus-within,.phone-number:focus-within { outline:1px solid var(--ink); outline-offset:1px; position:relative; z-index:1; }
.phone-number { display:flex; align-items:center; min-width:0; border:1px solid #bdbdbd; background:white; }
.phone-prefix { flex:none; padding-left:10px; font-size:16px; line-height:1.75; white-space:nowrap; }
.contact-form .phone-number input { min-width:0; min-height:50px; border:0; padding-inline:6px 10px; }
.contact-form .phone-number input:focus { outline:none; }
.contact-form .phone-field input[type='hidden'] { display:none; }
.phone-feedback { display:block; color:#a34435; font-size:12px; line-height:1.5; }
.phone-feedback:not(:empty) { margin-top:6px; }
.contact-form input:focus { outline:1px solid var(--ink); outline-offset:1px; }
.contact-form.was-validated input:invalid { border-color:#a34435; }
.contact-form-submit { width:100%; min-height:54px; margin-top:32px; padding:12px; background:var(--ink); border:1px solid var(--ink); color:white; font-size:14px; transition:background .25s,color .25s; }
.contact-form-submit:hover { background:white; color:var(--ink); }
.contact-form-submit:disabled { background:#e1e1de; border-color:#d0d0cc; color:#575752; cursor:not-allowed; }
.contact-form-consents { display:grid; gap:14px; margin-top:30px; }
.contact-form-consents label { display:flex; align-items:flex-start; gap:12px; font-size:12px; line-height:1.5; }
.contact-form-consents input { width:18px; height:18px; margin:0; flex:none; accent-color:var(--ink); }
.contact-form-consents a { text-decoration:underline; text-underline-offset:3px; }
.contact-form-status { color:#a34435; margin-top:18px; font-size:13px; }
.contact-form-note { color:var(--muted); font-size:12px; line-height:1.6; margin-top:20px; }
@keyframes fade-in { from { opacity:0; } to { opacity:1; } }
@keyframes dialog-in { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }

/* Campaign system: large photographic scenes, quiet typography, deliberate motion. */
p { text-wrap:pretty; }
h1,h2 { font:400 30px/1.3 var(--heading); letter-spacing:-.01em; text-wrap:balance; }
h3 { font:400 15px/1.5 var(--body); text-wrap:balance; }
.display-title,.hero h1 { font-family:var(--heading); font-weight:400; letter-spacing:-.015em; }
.display-title { font-size:clamp(28px,2.55vw,40px); line-height:1.25; }
.container { width:88%; max-width:1600px; }
.header { position:sticky; top:0; z-index:80; background:rgba(248,248,248,.96); }
.header-inner { min-height:100px; width:calc(100% - 72px); }
.menu-open .header { background:transparent; }
.menu-open .header-inner { visibility:hidden; }
.main-nav { z-index:90; }
.menu-heading { font-family:var(--body); font-size:18px; }
.eyebrow { font-size:11px; color:#6c7275; margin-bottom:14px; }
.section-intro { text-align:center; max-width:780px; margin-inline:auto; }
.section-intro h2 { margin-inline:auto; }
.section-intro>p:not(.eyebrow) { max-width:640px; font-size:14px; line-height:1.8; }
.campaign-link,.button { font-size:13px; text-underline-offset:6px; }
.campaign-link { min-height:44px; padding-block:12px; }
.hero-sequence { height:auto; --scene-progress:0; --hero-stage-height:clamp(620px,calc(100svh - var(--header-height,100px) - 24px),1000px); }
.motion-enabled .hero-sequence { height:calc(var(--hero-stage-height) + 66vh); }
.hero-stage { position:relative; height:var(--hero-stage-height); overflow:hidden; }
.motion-enabled .hero-stage { position:sticky; top:var(--header-height,100px); }
.hero { position:absolute; inset:0 auto 0; left:calc(var(--scene-progress)*34%); width:calc(100% - var(--scene-progress)*68%); color:var(--ink); overflow:hidden; background:#ededec; z-index:2; }
.hero-visual { position:absolute; inset:0; overflow:hidden; }
.hero-visual picture { display:block; width:100%; height:100%; }
.hero-image { width:100%; height:100%; object-fit:cover; animation:serum-drift 24s ease-in-out infinite alternate; }
.hero-content { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:20px; }
.hero .eyebrow { color:var(--muted); font-size:11px; }
.hero h1 { font-size:calc(42px - var(--scene-progress)*10px); line-height:1.2; max-width:580px; }
.hero .campaign-link { margin-top:22px; }
.hero-side { position:absolute; top:0; bottom:0; width:32%; overflow:hidden; color:var(--ink); background:#ededec; opacity:var(--scene-progress); transform:translateY(calc((1 - var(--scene-progress))*32px)); }
.hero-side-left { left:0; }
.hero-side-right { right:0; }
.hero-side img { width:100%; height:100%; object-fit:cover; }
.hero-side>span { position:absolute; inset:auto 20px 30px; text-align:center; font-size:13px; }
.underlined { display:block; text-decoration:underline; text-underline-offset:6px; margin-top:12px; }
.motion-toggle { position:absolute; left:16px; bottom:16px; width:34px; height:34px; border:0; border-radius:3px; background:#fff9; color:var(--ink); font:400 16px/1 var(--body); z-index:3; }
.motion-paused .hero-image { animation-play-state:paused; }
@keyframes serum-drift { from { transform:scale(1.015); } to { transform:scale(1.055); } }
.brand-campaign { padding-top:106px; }
.campaign-intro { text-align:center; padding-inline:24px; }
.campaign-intro h2 { margin:auto; }
.campaign-intro .campaign-link { margin-top:12px; }
.campaign-photo { width:94%; max-width:1920px; margin:38px auto 0; aspect-ratio:5504/3072; overflow:hidden; }
.campaign-photo img { width:100%; height:100%; object-fit:cover; object-position:center 44%; }
.campaign-description { max-width:640px; margin:36px auto 0; padding-inline:24px; text-align:center; font-size:14px; color:var(--muted); }
.media-reveal { overflow:hidden; }
.media-reveal img { transition:transform 1.4s cubic-bezier(.2,.7,.3,1); }
.motion-enabled .media-reveal:not(.is-visible) img { transform:scale(1.025); }
.media-reveal.is-visible img { transform:scale(1); }
.sleep { display:grid; grid-template-columns:1fr 1fr; margin:110px auto 0; max-width:2000px; }
.sleep-visual { overflow:hidden; align-self:center; }
.sleep-visual img { width:100%; height:auto; object-fit:cover; }
.editorial-content { align-self:center; text-align:center; padding:60px 12%; }
.editorial-content h2 { margin:auto; }
.editorial-content>p:not(.eyebrow) { font-size:13px; color:var(--muted); max-width:440px; margin:24px auto 0; line-height:1.85; }
.sleep-detail { display:grid; grid-template-columns:1fr 1fr; gap:3px; margin:32px auto 0; max-width:380px; }
.sleep-detail img { width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; }
.editorial-content .sleep-detail-caption { font-size:11px; margin-top:14px; }
.editorial-content .campaign-link { margin-top:20px; }
.ritual { padding-top:116px; }
.ritual>.section-intro { padding-inline:24px; }
.collection-image { width:100%; margin:44px 0 0; }
.collection-image img { width:100%; height:auto; object-fit:cover; }
.ritual-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5%; margin-top:38px; }
.ritual-grid p { font-size:12px; color:var(--muted); margin-top:14px; line-height:1.8; }
.formats { display:grid; grid-template-columns:minmax(0,30%) minmax(0,70%); margin-top:120px; padding-block:44px; background:#f0f0ef; overflow:hidden; }
.formats-intro { padding:48px 13% 48px 20%; align-self:center; }
.formats-intro h2 { font-size:28px; letter-spacing:-.01em; }
.formats-intro>p:not(.eyebrow) { font-size:13px; color:var(--muted); margin-top:24px; line-height:1.8; }
.formats-track { position:relative; min-width:0; display:flex; align-items:flex-start; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-right:24px; overscroll-behavior-x:contain; }
.formats-track::after { content:''; flex:0 0 var(--carousel-tail,0px); align-self:stretch; }
.formats-track::-webkit-scrollbar { display:none; }
.format-card { position:relative; flex:0 0 48%; min-width:0; aspect-ratio:.75; scroll-snap-align:start; color:var(--ink); overflow:hidden; background:#eee; }
.format-card>img { width:100%; height:100%; object-fit:cover; transition:transform 1s ease; }
.format-card:hover>img { transform:scale(1.035); }
.format-card>div { position:absolute; left:18px; right:18px; bottom:26px; text-align:center; }
.format-card h3 { font-size:14px; }
.format-card p { max-width:260px; font-size:11px; line-height:1.6; text-wrap:balance; margin:10px auto 0; }
.format-card .campaign-link { font-size:12px; margin-top:4px; }
.carousel-controls { display:flex; align-items:center; gap:18px; margin-top:34px; }
.carousel-controls button { border:1px solid #c9c9c5; border-radius:50%; background:transparent; font-size:22px; width:48px; height:48px; padding:0; transition:background .3s,color .3s,opacity .3s; }
.carousel-controls button:not(:disabled):hover { background:var(--ink); color:white; border-color:var(--ink); }
.carousel-controls button:disabled { opacity:.3; cursor:default; }
.carousel-count { font-size:11px; font-variant-numeric:tabular-nums; }
.care { padding-top:120px; }
.care>.section-intro { padding-inline:24px; }
.care-visual { width:94%; margin:40px auto 0; max-width:1920px; aspect-ratio:2; }
.care-visual img { width:100%; height:100%; object-fit:cover; }
.care-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; text-align:center; padding-top:34px; }
.care-grid p { font-size:12px; color:var(--muted); margin-top:10px; }
.technology { padding-block:120px; }
.technology-inner { display:grid; grid-template-columns:1fr 1.3fr; gap:12%; align-items:start; }
.technology h2 { font:400 42px/1.1 var(--heading); letter-spacing:-.055em; white-space:nowrap; }
.technology sup { font-size:.3em; vertical-align:top; line-height:2; }
.technology-heading p { font-size:14px; color:var(--muted); margin-top:22px; }
.technology-points { display:grid; gap:26px; }
.technology-points>div { padding-bottom:26px; border-bottom:1px solid var(--line); }
.technology-points>div:last-child { padding:0; border:0; }
.technology-points p { font-size:12px; color:var(--muted); margin-top:8px; }
.brand-journal { background:#eeeeec; padding-block:100px; }
.founder { display:grid; grid-template-columns:1fr 1.15fr; gap:12%; align-items:center; }
.founder-signature { font:800 clamp(64px,9vw,136px)/.82 var(--body); letter-spacing:-.07em; }
.founder h2 { font-size:27px; max-width:460px; }
.founder-copy>p:not(.eyebrow) { color:var(--muted); font-size:13px; line-height:1.85; margin-top:24px; }
.collaborations { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:30px; }
.collaborations h3 { font-size:11px; }
.collaborations p { color:var(--muted); font-size:11px; margin-top:8px; }
.stats { margin-top:80px; }
.stats-grid { display:grid; grid-template-columns:repeat(5,1fr); text-align:center; padding-block:40px; border-block:1px solid #d4d4d1; }
.stats dt { font:400 34px/1.2 var(--body); }
.stats dd { font-size:11px; color:var(--muted); margin-top:12px; }
.clients { margin-top:80px; text-align:center; }
.clients h2 { max-width:760px; margin:auto; font-size:25px; }
.clients-intro { font-size:12px; color:var(--muted); margin-top:22px; }
.clients-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; margin-top:38px; }
.clients-grid h3 { font-size:15px; }
.clients-grid p { font-size:11px; color:var(--muted); margin-top:12px; }
.clients-grid br { display:none; }
.history { margin-top:90px; display:grid; grid-template-columns:1fr 1.15fr; column-gap:12%; align-items:start; }
.history>.eyebrow,.history>h2 { grid-column:1; }
.history>h2 { font-size:27px; text-align:left; margin:0; }
.timeline { list-style:none; padding:0; margin:0; grid-column:2; grid-row:1/4; }
.timeline li { padding:22px 0; border-top:1px solid #d4d4d1; }
.timeline li:last-child { border-bottom:1px solid #d4d4d1; }
.timeline li>div { display:grid; grid-template-columns:118px 1fr; gap:24px; }
.timeline h3 { font-size:15px; }
.timeline p { font-size:12px; color:var(--muted); }
.timeline p br { display:none; }
.fashion { margin-top:90px; }
.fashion>.eyebrow { text-align:center; }
.fashion h2 { font-size:27px; }
.fashion-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5%; margin-top:40px; }
.fashion-card h3 { font-size:12px; }
.fashion-card p { font-size:12px; color:var(--muted); margin-top:14px; }
.awards { padding-top:100px; }
.awards h2 { font-size:28px; }
.awards-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; margin-top:48px; text-align:center; }
.awards-grid h3 { font-size:14px; }
.awards-grid p { font-size:12px; color:var(--muted); margin-top:12px; }
.contact { padding-block:110px; text-align:center; }
.contact h2 { margin:auto; font-size:30px; }
.contact>p:not(.eyebrow) { max-width:600px; font-size:14px; margin:24px auto 0; color:var(--muted); }
.contact .button { margin-top:22px; }
.faq { padding-block:80px; border-top:1px solid var(--line); }
.faq h2 { font-size:28px; }
.faq-list { width:80%; max-width:1000px; margin:40px auto 0; }
.faq details { border-top:1px solid var(--line); }
.faq details:last-child { border-bottom:1px solid var(--line); }
.faq summary { display:flex; justify-content:space-between; align-items:center; gap:24px; list-style:none; cursor:pointer; padding:24px 0; min-height:80px; font-size:14px; }
.faq summary::-webkit-details-marker { display:none; }
.faq br { display:none; }
.faq-icon { width:32px; flex:none; }
.faq-icon img { width:12px; filter:brightness(0); transition:transform .3s; }
.faq details[open] .faq-icon img { transform:rotate(180deg); }
.faq-answer { font-size:13px; color:var(--muted); max-width:780px; padding:0 30px 24px 0; }
.contact-form h2 { font-family:var(--heading); font-size:30px; }
.footer { background:#fff; }
@media(max-width:1100px) {
  .hero h1 { font-size:calc(36px - var(--scene-progress)*10px); }
  .editorial-content { padding:36px 8%; }
  .sleep-detail { max-width:250px; margin-top:24px; }
  .formats { grid-template-columns:minmax(0,28%) minmax(0,72%); }
  .formats-intro { padding-inline:16%; }
  .formats-intro h2 { font-size:25px; }
  .format-card { flex-basis:60%; }
  .ritual-grid { grid-template-columns:1fr 1fr; gap:30px 50px; }
  .founder,.history,.technology-inner { gap:7%; }
  .clients-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:800px) {
  html { scroll-padding-top:90px; }
  .header-inner { min-height:76px; width:calc(100% - 36px); }
  .brand img { width:72px; height:36px; }
  .header-actions { gap:12px; }
  .hero-sequence,.motion-enabled .hero-sequence { height:auto; }
  .hero-stage,.motion-enabled .hero-stage { position:relative; top:auto; min-height:0; height:auto; display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0; }
  .hero { grid-column:1/-1; grid-row:1; position:relative; inset:auto; width:100%; height:calc(100svh - 96px); min-height:560px; max-height:900px; aspect-ratio:auto; }
  .hero h1 { font-size:36px; }
  .hero-side { position:relative; inset:auto; width:100%; aspect-ratio:3/4; opacity:1; transform:none; }
  .hero-side>span { inset:auto 12px 22px; font-size:11px; }
  .brand-campaign { padding-top:76px; }
  .campaign-photo { width:calc(100% - 32px); aspect-ratio:1.4; }
  .sleep { margin-top:80px; }
  .sleep-detail { display:none; }
  .editorial-content { padding:30px 8%; }
  .editorial-content h2 { font-size:28px; }
  .ritual,.care { padding-top:80px; }
  .formats { display:block; margin-top:80px; padding:42px 0 24px; }
  .formats-intro { padding:0 24px 28px; max-width:500px; }
  .formats-intro h2 br { display:none; }
  .formats-intro>p:not(.eyebrow) { margin-top:14px; }
  .carousel-controls { margin-top:16px; }
  .formats-track { padding-inline:24px; gap:14px; scroll-padding-left:24px; }
  .format-card { flex-basis:52%; }
  .care-visual { width:calc(100% - 32px); aspect-ratio:1.5; }
  .technology { padding-block:80px; }
  .technology-inner { grid-template-columns:1fr; gap:32px; }
  .technology-heading p br { display:none; }
  .brand-journal { padding-block:72px; }
  .founder { grid-template-columns:1fr; gap:36px; }
  .founder-signature { font-size:72px; }
  .stats { margin-top:54px; }
  .history { grid-template-columns:1fr; }
  .timeline { grid-column:1; grid-row:auto; margin-top:32px; }
  .fashion-grid { gap:28px; }
  .awards-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:540px) {
  body { font-size:14px; }
  .container { width:calc(100% - 40px); }
  .announcement { font-size:10px; min-height:48px; padding:8px 38px 8px 12px; }
  .announcement a { display:block; margin:2px 0 0; }
  .announcement-close { right:0; width:34px; }
  .header-contact,.menu-label,.language summary img:first-child { display:none; }
  .main-nav { inset:8px; width:calc(100% - 16px); height:calc(100dvh - 16px); padding:18px 24px 24px; }
  .hero { min-height:460px; }
  .hero h1 { font-size:30px; max-width:320px; }
  .hero-content { padding:16px; }
  .hero .eyebrow { font-size:10px; max-width:240px; }
  .hero .campaign-link { font-size:12px; }
  .hero-side>span { font-size:10px; inset:auto 6px 16px; }
  .underlined { margin-top:9px; }
  .display-title { font-size:28px; }
  .campaign-photo { aspect-ratio:1; margin-top:28px; }
  .campaign-photo img { object-position:65% center; }
  .campaign-description { font-size:12px; margin-top:24px; }
  .sleep { display:block; margin-top:76px; }
  .sleep-visual { width:calc(100% - 32px); margin:auto; }
  .sleep-visual img { height:auto; aspect-ratio:auto; }
  .editorial-content { padding:32px 28px 0; }
  .editorial-content>p:not(.eyebrow) { font-size:12px; margin-top:20px; }
  .editorial-content .sleep-detail-caption { display:none; }
  .section-intro>p:not(.eyebrow) { font-size:12px; margin-top:18px; }
  .collection-image { margin-top:28px; margin-inline:0; }
  .collection-image img { aspect-ratio:auto; object-fit:contain; }
  .ritual-grid { gap:28px 22px; margin-top:28px; }
  .ritual-grid h3 { font-size:13px; }
  .ritual-grid p { font-size:11px; margin-top:10px; }
  .format-card { flex-basis:85%; }
  .format-card h3 { font-size:13px; }
  .format-card>div { bottom:18px; left:12px; right:12px; }
  .format-card p { font-size:12px; max-width:235px; margin-top:7px; }
  .format-card .campaign-link { min-height:36px; padding-block:8px; }
  .care-visual { aspect-ratio:1.05; margin-top:28px; }
  .care-grid { gap:20px; grid-template-columns:1fr; text-align:left; padding-top:28px; }
  .care-grid>div { display:grid; grid-template-columns:125px 1fr; gap:18px; align-items:baseline; }
  .care-grid h3 { font-size:13px; }
  .care-grid p { font-size:11px; margin:0; }
  .technology h2 { font-size:36px; }
  .technology-heading p { font-size:12px; }
  .technology-points h3 { font-size:13px; }
  .technology-points p { font-size:11px; }
  .founder h2,.history>h2,.fashion h2,.awards h2,.faq h2 { font-size:24px; }
  .founder-copy>p:not(.eyebrow) { font-size:12px; }
  .collaborations { grid-template-columns:1fr; gap:20px; }
  .stats-grid { grid-template-columns:repeat(6,1fr); gap:28px 8px; }
  .stats-grid>div { grid-column:span 2; }
  .stats-grid>div:nth-child(4) { grid-column:2/4; }
  .stats dt { font-size:27px; }
  .stats dd { font-size:9px; }
  .clients { margin-top:60px; }
  .clients h2 { font-size:23px; }
  .clients-grid { gap:26px 20px; }
  .clients-grid h3 { font-size:13px; overflow-wrap:anywhere; }
  .clients-grid p { font-size:10px; }
  .history,.fashion { margin-top:64px; }
  .timeline li>div { grid-template-columns:96px 1fr; gap:20px; }
  .timeline h3 { font-size:13px; }
  .timeline p { font-size:13px; }
  .fashion-grid { grid-template-columns:1fr; margin-top:30px; }
  .awards { padding-top:76px; }
  .awards-grid { gap:26px 20px; margin-top:32px; }
  .awards-grid h3 { font-size:12px; }
  .awards-grid p { font-size:11px; }
  .contact { padding-block:76px; }
  .contact h2 { font-size:26px; }
  .contact>p:not(.eyebrow) { font-size:12px; }
  .faq { padding-block:64px; }
  .faq-list { width:calc(100% - 40px); margin-top:30px; }
  .faq summary { font-size:12px; min-height:76px; gap:16px; }
  .faq-answer { font-size:12px; padding-right:0; }
  .footer { padding-top:44px; }
  .footer-top { grid-template-columns:1fr; gap:36px; }
  .footer-brand p { font-size:12px; }
  .footer-nav { font-size:11px; gap:20px; }
  .footer-bottom { flex-direction:column; gap:14px; margin-top:30px; font-size:10px; }
  .contact-modal { padding:12px; }
  .contact-dialog { padding:52px 20px 24px; max-height:calc(100dvh - 24px); }
  .contact-form h2 { font-size:26px; margin-bottom:28px; }
  .contact-form-grid { grid-template-columns:1fr; gap:18px; }
  .contact-form-consents label { font-size:11px; }
}
@media(max-width:380px) {
  .hero h1 { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { transition:none!important; animation:none!important; }
  .hero-sequence { height:auto; }
  .hero-stage { position:relative; top:auto; }
  .hero-side { display:none; }
  .motion-toggle { display:none; }
}
/* Brand journal: photography separates the chapters and lets the copy breathe. */
.brand-journal { background:var(--paper); padding:0; }
.journal-split { display:grid; grid-template-columns:1fr 1fr; gap:0; width:94%; max-width:1800px; margin-inline:auto; align-items:stretch; }
.journal-copy { padding:clamp(40px,6vw,110px); align-self:center; }
.journal-copy h2 { font-size:clamp(28px,2.4vw,38px); line-height:1.25; max-width:500px; }
.founder { background:#eeeeec; }
.founder-portrait { background:#050505; min-height:600px; }
.founder-portrait img { width:100%; height:100%; max-height:850px; object-fit:contain; object-position:center bottom; }
.founder-copy>p:not(.eyebrow) { font-size:14px; max-width:470px; line-height:1.85; margin-top:20px; }
.founder-copy>p.founder-lead { color:var(--ink); font-size:17px; line-height:1.6; }
.collaborations { gap:24px; margin-top:40px; }
.collaborations h3 { font-size:12px; }
.collaborations p { font-size:12px; line-height:1.7; text-wrap:balance; }
.stats { margin-top:0; padding-block:56px; }
.stats-grid { border:0; padding-block:0; gap:24px; }
.stats dt { font-size:38px; }
.stats dd { font-size:12px; line-height:1.6; }
.clients { margin-top:70px; text-align:center; }
.clients h2 { font-size:32px; max-width:760px; }
.clients .section-intro>p:last-child { margin:24px auto 0; max-width:560px; }
.backstage-visual { width:94%; max-width:1800px; margin:44px auto 0; aspect-ratio:2/1; }
.backstage-visual img { width:100%; height:100%; object-fit:cover; }
.clients-caption { padding-top:30px; }
.clients-intro { margin-top:0; font-size:13px; }
.clients-grid { margin-top:32px; gap:30px; }
.clients-grid h3 { font-size:16px; }
.clients-grid p { font-size:12px; line-height:1.65; max-width:230px; margin:10px auto 0; }
.history { display:block; margin-top:130px; }
.history-intro { margin-bottom:48px; }
.history-intro h2 { font-size:32px; max-width:700px; margin:auto; }
.history-layout { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:start; }
.history-visual { position:sticky; top:124px; }
.history-visual img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
.history-visual figcaption { padding-top:26px; }
.history-visual h3 { font-size:21px; font-weight:400; }
.history-visual figcaption>p:last-child { font-size:13px; line-height:1.8; color:var(--muted); max-width:440px; margin-top:14px; }
.history .timeline { margin:0; }
.timeline li { padding:22px 0; }
.timeline li>div { grid-template-columns:112px 1fr; gap:24px; }
.timeline h3 { font-size:16px; }
.timeline p { font-size:13px; line-height:1.8; }
.fashion { margin-top:38px; }
.fashion>.eyebrow { text-align:left; }
.fashion>h3 { font-size:20px; font-weight:400; }
.fashion-stories { margin-top:20px; }
.fashion-stories details { border-top:1px solid var(--line); }
.fashion-stories details:last-child { border-bottom:1px solid var(--line); }
.fashion-stories summary { display:flex; justify-content:space-between; gap:24px; align-items:center; padding-block:19px; list-style:none; cursor:pointer; font-size:14px; }
.fashion-stories summary::-webkit-details-marker { display:none; }
.fashion-stories summary span { font-size:23px; font-weight:300; transition:transform .3s var(--ease); }
.fashion-stories details[open] summary span { transform:rotate(45deg); }
.fashion-stories details p { font-size:13px; line-height:1.8; color:var(--muted); padding:0 24px 22px 0; }
.awards { margin-top:130px; padding:0; background:#eeeeec; }
.awards-visual img { width:100%; height:100%; object-fit:cover; aspect-ratio:4/5; }
.awards-intro { font-size:14px; color:var(--muted); max-width:400px; margin-top:24px; }
.awards-grid { display:block; margin-top:38px; text-align:left; }
.awards-grid article { display:grid; grid-template-columns:120px 1fr; align-items:center; gap:24px; border-top:1px solid #d4d4d1; padding:23px 0; }
.awards-grid article:last-child { padding-bottom:0; }
.award-publication { font:400 29px/1.2 var(--body); letter-spacing:-.015em; }
.awards-grid h3 { font-size:13px; }
.awards-grid p { font-size:12px; line-height:1.8; margin-top:7px; }
.contact { padding-block:130px; }
@media(max-width:1100px) {
  .journal-copy { padding:40px; }
  .founder-portrait { min-height:520px; }
  .collaborations { grid-template-columns:1fr; gap:20px; margin-top:28px; }
  .history-layout { gap:6%; }
  .timeline li>div { grid-template-columns:96px 1fr; gap:18px; }
  .awards-grid article { grid-template-columns:100px 1fr; gap:18px; }
  .award-publication { font-size:26px; }
}
@media(max-width:800px) {
  .journal-split { width:calc(100% - 32px); }
  .journal-copy { padding:30px; }
  .journal-copy h2 { font-size:27px; }
  .founder-copy>p:not(.eyebrow) { font-size:13px; }
  .founder-copy>p.founder-lead { font-size:15px; }
  .founder-portrait { min-height:0; }
  .stats { padding-block:44px; }
  .stats dt { font-size:30px; }
  .stats dd { font-size:11px; }
  .clients,.history { margin-top:70px; }
  .clients h2,.history-intro h2 { font-size:28px; }
  .backstage-visual { width:calc(100% - 32px); margin-top:32px; aspect-ratio:1.5; }
  .backstage-visual img { object-position:35% center; }
  .clients-grid { grid-template-columns:1fr 1fr; gap:28px; }
  .history-visual { top:96px; }
  .timeline li>div { display:block; }
  .timeline p { margin-top:7px; }
  .awards { margin-top:80px; }
  .awards-grid article { grid-template-columns:1fr; gap:12px; padding-block:18px; }
  .contact { padding-block:90px; }
}
@media(max-width:600px) {
  .journal-split { display:block; }
  .founder-portrait { height:440px; }
  .founder-portrait img { object-fit:contain; }
  .journal-copy { padding:36px 24px 40px; }
  .collaborations { grid-template-columns:1fr; }
  .stats-grid { gap:28px 8px; }
  .clients .section-intro { width:calc(100% - 48px); }
  .clients .section-intro>p:last-child { font-size:13px; }
  .clients h2,.history-intro h2 { font-size:26px; }
  .backstage-visual { aspect-ratio:.95; }
  .backstage-visual img { object-position:24% center; }
  .clients-caption { padding-top:24px; }
  .clients-grid h3 { font-size:14px; overflow-wrap:normal; }
  .clients-grid p { font-size:12px; }
  .history-intro { margin-bottom:30px; }
  .history-intro h2 br { display:none; }
  .history-layout { display:block; }
  .history-visual { position:static; }
  .history-visual img { aspect-ratio:1.05; object-position:center 58%; }
  .history-visual figcaption { padding-top:22px; }
  .history-visual h3 { font-size:20px; }
  .history-details { margin-top:32px; }
  .timeline li { padding:20px 0; }
  .timeline li>div { display:grid; grid-template-columns:88px 1fr; gap:20px; }
  .timeline h3 { font-size:14px; }
  .timeline p { margin-top:0; }
  .awards-visual img { max-height:470px; object-position:center 48%; }
  .awards-grid article { grid-template-columns:90px 1fr; gap:20px; }
  .award-publication { font-size:24px; }
}

/* Oranienbaum and the understated photographic direction. */
body { font-synthesis:none; }
h1,h2,h3 { font-weight:400; letter-spacing:-.015em; }
.display-title { font-size:clamp(26px,2.3vw,36px); }
.hero h1 { font-size:calc(38px - var(--scene-progress)*11px); line-height:1.4; }
.hero-content { padding:20px 12px; }
.hero-image { object-position:70% center; }
.hero-side>span { font-size:12px; }
.hero-side img { object-fit:cover; object-position:center; }
.format-card { aspect-ratio:auto; display:flex; flex-direction:column; background:transparent; }
.format-card>img { height:auto; aspect-ratio:3/4; object-fit:cover; }
.format-card>div { position:static; padding:22px 18px 8px; }
.formats { background:#f3f3f2; }
.format-card:hover>img { transform:none; }
.campaign-photo img { object-position:65% center; }
.care-visual { aspect-ratio:2; }
.care-visual img { object-fit:cover; }
.technology { margin-top:clamp(96px,9vw,160px); padding-block:80px 160px; border-top:1px solid var(--line); }
.technology h2 { letter-spacing:0; }
.journal-copy h2 { line-height:1.4; }
.award-publication { font-size:23px; letter-spacing:0; }
.history-intro { margin-bottom:60px; }
.history-intro .eyebrow { font-size:12px; letter-spacing:.08em; }
.history-intro>p:not(.eyebrow) { max-width:540px; }
.history-opening { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(48px,8vw,120px); max-width:1040px; margin-inline:auto; }
.history-visual { position:static; }
.history-photo { overflow:visible; height:auto; background:transparent; }
.history-photo img { width:100%; height:auto; aspect-ratio:auto 1122 / 1402; object-fit:contain; transform:none; }
.history-visual figcaption { padding-top:16px; color:var(--muted); font-size:13px; text-align:left; }
.history-opening-copy h2 { font-size:clamp(36px,3.2vw,44px); line-height:1.12; }
.history-opening-copy>p:not(.eyebrow) { font-size:16px; color:#4a4a4a; line-height:1.85; margin-top:28px; max-width:440px; }
.history-scroll-cue { display:inline-flex; align-items:center; gap:24px; min-height:48px; margin-top:32px; font-size:13px; }
.history-scroll-cue span { font-size:22px; transition:transform .4s var(--ease); }
.history-scroll-cue:hover span { transform:translateY(5px); }
.history-details { margin-top:clamp(88px,9vw,144px); }
.history .timeline { position:relative; display:block; width:100%; max-width:1040px; margin:0 auto; padding:0; list-style:none; --timeline-progress:0; }
.timeline::before,.timeline::after { content:''; position:absolute; left:50%; top:var(--timeline-start,22px); width:1px; height:var(--timeline-length,calc(100% - 44px)); pointer-events:none; }
.timeline::before { background:#d1d0cc; }
.timeline::after { background:var(--ink); transform:scaleY(var(--timeline-progress)); transform-origin:top; transition:transform .3s linear; }
.history .timeline li { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr); align-items:start; min-height:220px; padding:0 0 72px; border:0; scroll-margin-top:calc(46svh - 142px); }
.history .timeline li:last-child { min-height:0; padding-bottom:0; border:0; }
.history .timeline .timeline-date { grid-column:1; grid-row:1; margin:0; text-align:right; font-size:clamp(34px,3.4vw,48px); line-height:1; color:#777; letter-spacing:-.025em; transition:color .5s ease; }
.history .timeline .timeline-date-word { font-size:clamp(30px,3.1vw,42px); }
.history .timeline .timeline-copy { display:block; grid-column:3; grid-row:1; padding-top:4px; }
.history .timeline li:nth-child(even) .timeline-date { grid-column:3; text-align:left; }
.history .timeline li:nth-child(even) .timeline-copy { grid-column:1; text-align:right; }
.history .timeline h3 { font-size:22px; min-height:0; line-height:1.4; }
.history .timeline .timeline-copy p { font-size:16px; color:#4a4a4a; margin-top:16px; line-height:1.8; }
.timeline-dot { position:absolute; z-index:1; top:0; left:50%; width:44px; height:44px; transform:translateX(-50%); display:grid; place-items:center; border-radius:50%; }
.timeline-dot::before { content:''; width:11px; height:11px; border:1px solid #8d8d88; border-radius:50%; background:var(--paper); box-shadow:0 0 0 7px var(--paper); transition:background .4s,border-color .4s,box-shadow .4s; }
.is-reached>.timeline-dot::before { background:var(--ink); border-color:var(--ink); }
.is-current>.timeline-dot::before { background:var(--ink); border-color:var(--ink); box-shadow:0 0 0 6px var(--paper),0 0 0 7px #a6a5a0; }
.history .timeline li.is-current .timeline-date { color:var(--ink); }
.history .fashion { max-width:1040px; margin:96px auto 0; }
.fashion-stories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; align-items:start; }
.fashion-stories details { border-bottom:1px solid var(--line); }
.format-card .format-product { font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin:0 auto 10px; }
.award-publication img { width:112px; height:112px; object-fit:contain; filter:grayscale(1); }
@media(max-width:1100px) {
  .award-publication img { width:90px; height:90px; }
}
@media(max-width:800px) {
  .hero h1 { font-size:32px; }
  .history-opening { gap:36px; }
  .history-opening-copy>p:not(.eyebrow) { font-size:15px; }
  .history .timeline li { grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr); scroll-margin-top:calc(46svh - 112px); }
  .history .timeline h3 { font-size:20px; }
  .technology { margin-top:88px; padding-block:56px 100px; }
  .fashion-stories { grid-template-columns:1fr; gap:0; }
  .fashion-stories details:not(:first-child) { border-top:0; }
}
@media(max-width:600px) {
  .hero h1 { font-size:27px; }
  .hero-side>span { font-size:10px; }
  .hero-side { display:flex; flex-direction:column; background:transparent; aspect-ratio:auto; }
  .hero-side img { height:auto; aspect-ratio:3/4; }
  .hero-side>span { position:static; padding:16px 6px 0; }
  .history-intro { margin-bottom:32px; }
  .history-intro .eyebrow { font-size:10px; letter-spacing:.06em; }
  .history-opening { display:flex; flex-direction:column; align-items:stretch; gap:36px; }
  .history-opening-copy { order:-1; }
  .history-opening-copy>p:not(.eyebrow) { margin-top:20px; }
  .history-scroll-cue { margin-top:16px; }
  .history-photo { height:auto; aspect-ratio:auto; }
  .history-visual { width:100%; max-width:400px; margin-inline:auto; }
  .history-details { margin-top:72px; }
  .timeline::before,.timeline::after { left:22px; }
  .history .timeline li { display:block; min-height:0; padding:0 0 64px 62px; }
  .timeline-dot { left:22px; }
  .history .timeline .timeline-date,.history .timeline li:nth-child(even) .timeline-date { text-align:left; font-size:34px; line-height:44px; }
  .history .timeline .timeline-copy,.history .timeline li:nth-child(even) .timeline-copy { padding-top:18px; text-align:left; }
  .history .timeline h3 { font-size:20px; }
  .history .timeline .timeline-copy p { font-size:15px; margin-top:12px; }
  .history .fashion { margin-top:72px; }
  .care-visual { aspect-ratio:2; }
  .format-card>div { padding:20px 12px 8px; }
  .award-publication { font-size:18px; }
}
@media(max-width:380px) {
  .hero h1 { font-size:23px; }
  .journal-copy h2 { font-size:23px; }
  .clients-grid h3 { font-size:12px; }
  .awards-grid article { grid-template-columns:1fr; gap:14px; }
}

/* Consistent breathing room between the main chapters. */
:root { --section-space:clamp(144px,11vw,208px); }
.brand-campaign,.ritual,.care { padding-top:var(--section-space); }
.sleep,.formats,.clients,.history,.awards { margin-top:var(--section-space); }
.stats { padding-block:80px; }
.technology { margin-top:var(--section-space); padding-block:96px var(--section-space); }
.contact { padding-block:var(--section-space); }
.faq { padding-block:clamp(100px,9vw,160px); }
.footer { padding-top:88px; }
@media(max-width:800px) {
  :root { --section-space:128px; }
  .stats { padding-block:64px; }
  .technology { padding-top:72px; }
  .faq { padding-block:96px; }
}
@media(max-width:540px) {
  :root { --section-space:112px; }
  .stats { padding-block:56px; }
  .technology { padding-top:64px; }
  .faq { padding-block:88px; }
  .footer { padding-top:64px; }
}

/* Couture-inspired hierarchy: uppercase display lines, readable supporting copy. */
h1,h2 { text-transform:uppercase; font-weight:400; letter-spacing:.02em; line-height:1.12; }
h3 { text-transform:none; letter-spacing:0; }
.hero h1 { max-width:850px; font-size:calc(clamp(52px,4.6vw,64px) - var(--scene-progress)*28px); line-height:1.08; }
.hero-content { align-items:flex-start; text-align:left; padding:clamp(48px,6vw,108px); opacity:calc(1 - var(--scene-progress)*1.5); }
.hero h1 { max-width:650px; }
.journal-copy h2 { line-height:1.12; }
:is(.display-title,.formats-intro h2,.technology h2,.founder h2,.clients h2,.history h2,.awards h2,.contact h2,.faq h2,.contact-form h2) {
  font-size:clamp(36px,3.2vw,44px);
  line-height:1.12;
  letter-spacing:.02em;
}
.history-opening-copy h2 { font-size:clamp(36px,3.2vw,44px); line-height:1.12; }
:is(.ritual-grid h3,.format-card h3,.care-grid h3,.technology-points h3,.clients-grid h3,.awards-grid h3,.history .timeline h3) { font-size:20px; line-height:1.35; }
.eyebrow,.hero .eyebrow,.history-intro .eyebrow { font-size:12px; }
.format-card .format-product { font-size:12px; }
:is(.section-intro>p:not(.eyebrow),.campaign-description,.editorial-content>p:not(.eyebrow),.formats-intro>p:not(.eyebrow),.founder-copy>p:not(.eyebrow),.contact>p:not(.eyebrow)) { font-size:16px; line-height:1.7; }
:is(.ritual-grid p,.format-card p:not(.format-product),.care-grid p,.technology-points p,.clients-intro,.clients-grid p,.awards-grid p,.faq-answer) { font-size:14px; line-height:1.65; }
.faq summary { font-size:16px; }
.stats dd { font-size:13px; }

@media(max-width:800px) {
  .hero h1 { font-size:38px; max-width:640px; }
  .hero-content { align-items:center; justify-content:flex-end; text-align:center; padding:24px 30px 8%; opacity:1; }
}
@media(max-width:600px) {
  .hero h1 { font-size:34px; max-width:350px; line-height:1.1; }
  .hero-content { padding:24px 20px 12%; }
  :is(.display-title,.formats-intro h2,.technology h2,.founder h2,.clients h2,.history h2,.awards h2,.contact h2,.faq h2,.contact-form h2) {
    font-size:30px;
    line-height:1.14;
  }
  .history-opening-copy h2 { font-size:30px; }
  :is(.ritual-grid h3,.format-card h3,.care-grid h3,.technology-points h3,.clients-grid h3,.awards-grid h3,.history .timeline h3) { font-size:17px; }
  :is(.section-intro>p:not(.eyebrow),.campaign-description,.editorial-content>p:not(.eyebrow),.formats-intro>p:not(.eyebrow),.founder-copy>p:not(.eyebrow),.contact>p:not(.eyebrow)) { font-size:15px; }
  :is(.ritual-grid p,.format-card p:not(.format-product),.care-grid p,.technology-points p,.clients-intro,.clients-grid p,.awards-grid p,.faq-answer) { font-size:14px; }
  .faq summary { font-size:15px; }
  .stats dd { font-size:12px; }
  .hero .eyebrow,.history-intro .eyebrow { font-size:11px; }
  .footer-brand p { font-size:14px; }
  .footer-nav { font-size:13px; }
  .footer-bottom { font-size:12px; }
  .contact-form-consents label { font-size:13px; }
}
@media(max-width:380px) {
  .hero h1 { font-size:30px; }
  :is(.display-title,.formats-intro h2,.technology h2,.founder h2,.clients h2,.history h2,.awards h2,.contact h2,.faq h2,.contact-form h2) { font-size:28px; }
}

/* Light studio triptych using the original product photographs. */
.hero,.hero-side { color:var(--ink); background:#f0f0f0; }
.hero-visual picture { position:absolute; top:calc((1 - var(--scene-progress))*28%); height:calc(72% + var(--scene-progress)*28%); }
.hero-image { object-fit:contain; object-position:center center; }
.hero-side img { object-fit:contain; }
.hero-content { z-index:1; align-items:center; justify-content:flex-start; text-align:center; padding:clamp(32px,5vh,64px) 24px 24px; }
.hero .eyebrow { color:var(--muted); }
.hero h1 { max-width:900px; color:var(--ink); font-size:calc(clamp(48px,4.2vw,60px) - var(--scene-progress)*25px); text-shadow:none; }
.hero .campaign-link { color:var(--ink); text-shadow:none; }
@media(max-width:800px) {
  .hero-visual picture { top:26%; height:74%; }
  .hero-content { justify-content:flex-start; padding:clamp(32px,5vh,58px) 20px 20px; }
  .hero h1 { font-size:clamp(36px,6vw,46px); }
}
@media(max-width:600px) {
  .hero-content { padding:48px 18px 20px; }
  .hero h1 { font-size:clamp(29px,8vw,36px); max-width:350px; }
  .hero .campaign-link { margin-top:16px; }
}
