:root {
  --bg:#08070a;
  --bg-soft:#110e14;
  --bg-raised:#1c1720;
  --paper:#f0ece8;
  --paper-dim:#bcb4ad;
  --muted:#817976;
  --line:rgba(240,236,232,.14);
  --line-soft:rgba(240,236,232,.07);
  --red:#c41f3a;
  --red-hot:#e83d58;
  --bronze:#dab670;
  --max:1540px;
  --gutter:clamp(20px,4.2vw,76px);
  --serif:"Cormorant Garamond","Iowan Old Style","Times New Roman",serif;
  --sans:"Manrope","Helvetica Neue",Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--serif);overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img,video{display:block;width:100%}
button,input,textarea{font:inherit}
a{color:inherit}
::selection{background:var(--red);color:#fff}

.skip-link{position:fixed;left:16px;top:12px;z-index:200;transform:translateY(-160%);background:#fff;color:#000;padding:10px 14px;font:12px/1 var(--sans);transition:.2s}
.skip-link:focus{transform:none}
.noise{position:fixed;inset:0;z-index:150;pointer-events:none;opacity:.035;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 170 170' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.94' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.wrap{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}
.section-black{background:var(--bg);position:relative}

.scroll-progress{position:fixed;z-index:160;left:0;top:0;width:100%;height:2px;background:rgba(255,255,255,.04)}
.scroll-progress span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#6f0b0f,#d94b4b);transform-origin:left;transform:scaleX(0)}

.preloader{position:fixed;inset:0;z-index:190;background:#070707;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transition:opacity .65s ease,visibility .65s ease}
.preloader.is-hidden{opacity:0;visibility:hidden}
.preloader-mark{font-size:26px;color:var(--bronze);animation:prePulse 1.2s ease-in-out infinite alternate}
.preloader-name{font:10px/1 var(--sans);letter-spacing:.38em;color:#a79e93}
@keyframes prePulse{to{opacity:.42;transform:scale(.94)}}

.site-header{position:fixed;z-index:120;inset:0 0 auto 0;height:76px;padding:0 var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid transparent;transition:background .35s,border-color .35s,transform .35s}
.site-header.scrolled{background:rgba(7,7,7,.72);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.06)}
.site-header.hide{transform:translateY(-100%)}
.brand{text-decoration:none;line-height:1;width:max-content;letter-spacing:.18em}
.brand span{display:block;font-size:12px}
.brand small{display:block;margin-top:6px;font:8px/1 var(--sans);letter-spacing:.34em;color:#bc3436}
.desktop-nav{display:flex;gap:34px}
.desktop-nav a{text-decoration:none;text-transform:uppercase;font:9px/1 var(--sans);letter-spacing:.2em;color:#a49b91;transition:color .2s}
.desktop-nav a:hover,.desktop-nav a.is-active{color:#fff}
.header-actions{justify-self:end;display:flex;align-items:center;gap:12px}
.lang-toggle,.menu-toggle{border:0;background:none;color:var(--paper);cursor:pointer}
.lang-toggle{padding:11px;font:9px/1 var(--sans);letter-spacing:.2em}
.menu-toggle{display:none;width:36px;height:36px;padding:10px 7px}
.menu-toggle i{display:block;width:100%;height:1px;background:currentColor;margin:5px 0;transition:transform .25s,opacity .25s}
.menu-toggle.is-open i:first-child{transform:translateY(3px) rotate(45deg)}
.menu-toggle.is-open i:last-child{transform:translateY(-3px) rotate(-45deg)}

.mobile-menu{position:fixed;z-index:110;inset:0;background:rgba(6,6,6,.98);padding:120px var(--gutter) 44px;display:flex;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transition:.3s}
.mobile-menu.is-open{opacity:1;visibility:visible}
.mobile-menu nav{display:flex;flex-direction:column}
.mobile-menu nav a{text-decoration:none;font:400 clamp(42px,11vw,72px)/1.08 var(--serif);padding:7px 0;border-bottom:1px solid var(--line-soft)}
.mobile-menu p{font:9px/1 var(--sans);letter-spacing:.25em;color:#847b72}

/* HERO */
.hero{position:relative;min-height:100svh;overflow:hidden;background:#080808;isolation:isolate}
.hero-image-shell{position:absolute;inset:0 0 0 34%;overflow:hidden;z-index:0;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 100%)}
.hero-image{height:100%;object-fit:cover;object-position:50% 48%;transform:scale(1.015);animation:heroDolly 15s ease-in-out infinite alternate}
.hero-living-light{position:absolute;inset:0;background:radial-gradient(circle at 65% 31%,rgba(255,76,52,.16),transparent 24%),linear-gradient(180deg,transparent 62%,rgba(142,10,14,.1));mix-blend-mode:screen;opacity:.35;animation:livingLight 15s ease-in-out infinite}
@keyframes heroDolly{to{transform:scale(1.045) translateY(-.3%)}}
@keyframes livingLight{0%,100%{opacity:.28}45%{opacity:.42}70%{opacity:.33}}
.hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#080808 0%,rgba(8,8,8,.98) 22%,rgba(8,8,8,.22) 52%,rgba(8,8,8,.05) 70%),linear-gradient(180deg,rgba(0,0,0,.08),transparent 50%,rgba(0,0,0,.48))}
.hero-lockup{position:absolute;z-index:2;left:var(--gutter);top:50%;transform:translateY(-49%);width:min(670px,44vw)}
.hero-kicker{margin:0 0 28px;font:8px/1 var(--sans);letter-spacing:.38em;color:#827a71}
.hero h1{margin:0;font-weight:400;text-transform:uppercase;line-height:.86;letter-spacing:.035em}
.hero h1 span{display:block;font-size:clamp(34px,4.5vw,78px);color:#efe8df}
.hero h1 em{display:block;margin-top:14px;font-style:normal;font-size:clamp(34px,4vw,68px);letter-spacing:.13em;color:#b42026}
.hero-category{margin:35px 0 0;font:9px/1.2 var(--sans);letter-spacing:.3em;color:#9f968c}.hero-category b{color:#4c4641;padding:0 10px}
.hero-foot{position:absolute;z-index:2;left:var(--gutter);right:var(--gutter);bottom:34px;display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px}
.hero-foot p{margin:0;max-width:390px;font:10px/1.55 var(--sans);letter-spacing:.05em;color:#827a72}
.hero-foot a{text-decoration:none;display:flex;align-items:center;gap:16px;text-transform:uppercase;font:9px/1 var(--sans);letter-spacing:.22em;color:#bcb3a8}.hero-foot i{font-style:normal;font-size:18px}
.hero-index{position:absolute;z-index:2;right:var(--gutter);top:50%;writing-mode:vertical-rl;font:8px/1 var(--sans);letter-spacing:.28em;color:#5d5650}

/* TYPOGRAPHY */
.eyebrow,.display-overline{font:9px/1.3 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:#aca298}
.display-overline{margin:0 0 26px;color:#6e665f}
.statement-no{display:inline-block;margin-bottom:24px;font:9px/1 var(--sans);letter-spacing:.2em;color:#625b55}
h2,h3,p{margin-top:0}
h2{margin-bottom:0;font-weight:400;font-size:clamp(50px,6.4vw,104px);line-height:.91;letter-spacing:-.035em}
p{font-size:clamp(18px,1.45vw,25px);line-height:1.45;color:#d0c8be}
.fine{font:9px/1.6 var(--sans)!important;letter-spacing:.2em!important;color:#716960!important;text-transform:uppercase}

.chapter-intro{display:grid;grid-template-columns:.34fr 1fr;gap:10vw;padding:150px 0 104px}
.chapter-meta{padding-top:10px}.chapter-meta span{display:block;font:9px/1 var(--sans);color:#5e5852;margin-bottom:28px}.chapter-meta p{margin:0;font:9px/1.2 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:#9b9288}
.chapter-copy{max-width:1050px}.chapter-copy h2{max-width:920px}.chapter-copy>p:last-child{max-width:720px;margin:50px 0 0 32%;color:#bbb2a8}

.full-bleed{width:100%;margin:0;position:relative;overflow:hidden}
.image-chapter img{aspect-ratio:16/8.6;object-fit:cover;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.image-chapter figcaption{position:absolute;left:var(--gutter);right:var(--gutter);bottom:22px;display:flex;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.2);padding-top:13px;font:8px/1 var(--sans);letter-spacing:.22em;color:#d0c7bc;text-shadow:0 2px 8px #000}
.image-chapter figcaption span:last-child{color:#9d9389}

.statement{padding:150px 0 88px;max-width:1240px}.statement .eyebrow{margin-bottom:26px}.statement h2{max-width:1050px}.statement-copy{max-width:760px;margin:52px 0 0 auto;color:#b6ada3}.statement-tight{padding-bottom:72px}
.art-board{width:min(1680px,100%);margin:0 auto;position:relative;overflow:hidden;background:#0b0b0b}.art-board img{width:100%;height:auto}.art-board.technical{border-block:1px solid var(--line-soft)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:1px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-grid article{min-height:170px;padding:25px 24px;border-right:1px solid var(--line)}.process-grid article:last-child{border-right:0}.process-grid span,.form-caption span,.ritual-steps span{font:8px/1 var(--sans);letter-spacing:.2em;color:#6f665e}.process-grid h3{margin:44px 0 8px;font-size:20px;font-weight:400;letter-spacing:.06em}.process-grid p{margin:0;font:12px/1.45 var(--sans);color:#756d65}
.form-caption{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);margin-top:1px;margin-bottom:1px}.form-caption div{background:#090909;padding:22px}.form-caption strong{display:block;margin-top:22px;font:11px/1.2 var(--sans);letter-spacing:.14em;font-weight:400;color:#b3aaa0}

.split-copy{display:grid;grid-template-columns:1fr .8fr;gap:11vw;padding:150px 0 94px;align-items:end}.split-copy h2{max-width:860px}.split-copy-body{padding-bottom:4px}.split-copy-body p:first-child{max-width:650px}.split-copy-body .fine{margin-top:34px}
.image-chapter.feature{width:min(1680px,100%);margin:0 auto}.image-chapter.feature img{aspect-ratio:16/9.05}

.material-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:6vw;align-items:center;padding:150px 0}.material-copy h2{font-size:clamp(50px,5.7vw,92px)}.material-copy>p:not(.eyebrow){max-width:610px;margin-top:42px;color:#b9b0a7}.material-copy blockquote{margin:65px 0 0;padding-top:28px;border-top:1px solid var(--line);font-size:clamp(28px,3.4vw,58px);line-height:.92;letter-spacing:-.02em}.material-image{margin:0;overflow:hidden}.material-image img{aspect-ratio:16/10;object-fit:cover}

.world-stage{position:relative;margin:0;min-height:95svh;overflow:hidden}.world-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.world-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,3,3,.78),rgba(3,3,3,.1) 52%,rgba(3,3,3,.2)),linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.46));z-index:1}.world-copy{position:absolute;z-index:2;left:var(--gutter);top:50%;transform:translateY(-45%);max-width:650px}.world-copy h2{font-size:clamp(50px,6vw,96px)}.world-copy>p:last-child{max-width:530px;margin-top:36px;color:#c7beb4}

.video-stage{position:relative;width:min(1680px,100%);margin:0 auto;background:#050505;overflow:hidden}.video-stage video{aspect-ratio:16/9;object-fit:cover}.video-stage:after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid rgba(255,255,255,.06)}.video-topline{position:absolute;left:22px;right:22px;top:18px;display:flex;justify-content:space-between;z-index:3;font:8px/1 var(--sans);letter-spacing:.22em;color:#d7cec4;text-shadow:0 2px 9px #000}.video-control{position:absolute;z-index:4;right:22px;bottom:20px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(6,6,6,.35);backdrop-filter:blur(9px);color:#fff;cursor:pointer;font:14px/1 var(--sans)}
.ritual-steps{display:grid;grid-template-columns:repeat(6,1fr);border-block:1px solid var(--line);margin-top:72px}.ritual-steps article{min-height:210px;padding:23px 18px 26px;border-right:1px solid var(--line)}.ritual-steps article:last-child{border-right:0}.ritual-steps h3{margin:48px 0 12px;font-size:22px;font-weight:400}.ritual-steps p{margin:0;font:12px/1.45 var(--sans);color:#756e67}
.storyboard{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);margin-top:70px;margin-bottom:70px}.storyboard figure{margin:0;background:#090909;position:relative;overflow:hidden}.storyboard img{aspect-ratio:16/10;object-fit:cover;filter:saturate(.88) contrast(1.04);transition:transform .8s cubic-bezier(.2,.7,.2,1)}.storyboard figure:hover img{transform:scale(1.025)}.storyboard figcaption{padding:13px 14px;font:8px/1 var(--sans);letter-spacing:.18em;color:#716960}.ritual-board{margin-top:0}.film{padding-bottom:130px}

.object-stage{position:relative;min-height:96svh;overflow:hidden}.object-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.object-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.82),rgba(5,5,5,.05) 52%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.4));z-index:1}.object-copy{position:absolute;z-index:2;left:var(--gutter);top:50%;transform:translateY(-48%);max-width:620px}.object-copy h2{font-size:clamp(56px,7vw,118px)}.object-copy>p:last-child{max-width:560px;margin-top:38px;color:#c7beb4}

.final-hero{position:relative;min-height:100svh;overflow:hidden}.final-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.final-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.55)),radial-gradient(circle at 50% 40%,transparent 25%,rgba(0,0,0,.25) 78%)}.final-copy{position:absolute;z-index:2;left:50%;bottom:7vh;transform:translateX(-50%);width:min(900px,90vw);text-align:center}.final-copy h2{font-size:clamp(60px,8vw,132px);letter-spacing:.035em}.final-copy>p:not(.eyebrow){margin:22px 0 0;font:9px/1.3 var(--sans);letter-spacing:.3em}.final-copy strong{display:block;margin-top:24px;font-weight:400;font-size:clamp(18px,2.2vw,34px);letter-spacing:.12em}

.footer{background:#070707;border-top:1px solid var(--line-soft);padding:125px 0 34px}.footer-main{display:grid;grid-template-columns:1.2fr .78fr .88fr;gap:7vw;align-items:start}.footer-title h2{font-size:clamp(52px,7vw,114px);line-height:.82}.footer-title h2 em{font-style:normal;color:#a92327}.footer-copy>p{font-size:18px;color:#a49c93;max-width:420px}.footer-copy dl{margin:50px 0 0}.footer-copy dl div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:15px 0;border-top:1px solid var(--line-soft)}.footer-copy dt,.footer-copy dd{margin:0;font:9px/1.4 var(--sans);letter-spacing:.1em}.footer-copy dt{color:#625c56;text-transform:uppercase}.footer-copy dd{color:#9d958c}
.contact-form{display:grid;gap:28px}.contact-form label{display:block}.contact-form label span{display:block;margin-bottom:10px;font:8px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#68615a}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:6px 0 11px;color:#fff;outline:0;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:#80776e}.contact-form button{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;color:#d9d1c7;padding:18px 0;display:flex;justify-content:space-between;cursor:pointer;text-transform:uppercase;font:9px/1 var(--sans);letter-spacing:.18em}.contact-form button i{font-style:normal;font-size:16px}.form-status{margin:0;min-height:18px;font:10px/1.5 var(--sans);color:#8d837a}.footer-bottom{display:grid;grid-template-columns:1fr 1fr auto;gap:30px;margin-top:105px;padding-top:19px;border-top:1px solid var(--line-soft);font:8px/1.2 var(--sans);letter-spacing:.18em;color:#635d57}.footer-bottom a{text-decoration:none;color:#9e958b}

/* REVEALS */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-media{opacity:.001;clip-path:inset(4% 0 4% 0);transition:opacity 1s ease,clip-path 1.2s cubic-bezier(.2,.7,.2,1)}
.reveal-media.is-visible{opacity:1;clip-path:inset(0)}
.reveal-media.is-visible>img{animation:mediaSettle 1.6s cubic-bezier(.2,.7,.2,1) both}
@keyframes mediaSettle{from{transform:scale(1.025)}to{transform:scale(1)}}
.hero-lockup.reveal-now{animation:revealHeroLockup 1.1s .35s both cubic-bezier(.2,.7,.2,1)}
.hero-foot.reveal-now{animation:revealHeroFoot 1.1s .5s both cubic-bezier(.2,.7,.2,1)}
@keyframes revealHeroLockup{from{opacity:0;transform:translateY(calc(-49% + 20px))}to{opacity:1;transform:translateY(-49%)}}
@keyframes revealHeroFoot{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

@media (max-width:1100px){
  .desktop-nav{display:none}.menu-toggle{display:block}.site-header{grid-template-columns:1fr auto}
  .chapter-intro,.split-copy,.material-grid,.footer-main{grid-template-columns:1fr;gap:55px}
  .chapter-copy>p:last-child{margin-left:0}.split-copy{padding-top:120px}.split-copy-body{max-width:760px}.material-grid{padding-top:120px}.material-image{order:-1}
  .ritual-steps{grid-template-columns:repeat(3,1fr)}.ritual-steps article:nth-child(3){border-right:0}.ritual-steps article:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .footer-main{grid-template-columns:1fr 1fr}.footer-title{grid-column:1/-1}.contact-form{max-width:620px}
}

@media (max-width:720px){
  :root{--gutter:18px}
  .site-header{height:64px}.brand span{font-size:10px}.brand small{font-size:7px}
  .hero-image-shell{inset:0;-webkit-mask-image:none;mask-image:none}.hero:after{background:linear-gradient(180deg,rgba(5,5,5,.22),rgba(5,5,5,.25) 45%,rgba(5,5,5,.85)),linear-gradient(90deg,rgba(5,5,5,.7),rgba(5,5,5,.06))}.hero-image{object-position:58% center}
  .hero-lockup{top:auto;bottom:150px;width:calc(100% - var(--gutter)*2);transform:none}.hero-kicker{margin-bottom:20px}.hero h1 span{font-size:clamp(38px,12vw,62px)}.hero h1 em{font-size:clamp(32px,10vw,54px)}.hero-category{font-size:7px;letter-spacing:.22em;margin-top:26px}.hero-foot{bottom:24px}.hero-foot p{max-width:230px;font-size:8px}.hero-foot a span{display:none}.hero-index{display:none}
  h2{font-size:clamp(46px,14vw,72px)}p{font-size:17px}.statement,.chapter-intro,.split-copy,.material-grid{padding-top:104px;padding-bottom:64px}
  .chapter-intro{grid-template-columns:1fr;gap:45px}.chapter-copy>p:last-child{margin-top:35px}.image-chapter img{aspect-ratio:4/5}.image-chapter figcaption{bottom:14px;display:block}.image-chapter figcaption span{display:block;margin-top:7px}
  .statement-copy{margin-top:34px}.process-grid,.form-caption{grid-template-columns:1fr 1fr}.process-grid article:nth-child(2),.form-caption div:nth-child(2){border-right:0}.process-grid article:nth-child(-n+2),.form-caption div:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}
  .image-chapter.feature img{aspect-ratio:4/5;object-position:58% center}.material-copy blockquote{margin-top:45px}.material-image img{aspect-ratio:4/5;object-position:60% center}
  .world-stage,.object-stage{min-height:82svh}.world-copy,.object-copy{left:var(--gutter);right:var(--gutter);top:auto;bottom:55px;transform:none}.world-stage:after,.object-stage:after{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.15) 42%,rgba(0,0,0,.84) 82%)}.world-stage>img,.object-stage>img{object-position:62% center}
  .video-topline{left:12px;right:12px;top:11px;font-size:7px}.video-control{right:12px;bottom:12px;width:38px;height:38px}.video-stage video{aspect-ratio:9/12;object-fit:cover}
  .ritual-steps{grid-template-columns:1fr 1fr}.ritual-steps article:nth-child(3){border-right:1px solid var(--line)}.ritual-steps article:nth-child(even){border-right:0}.ritual-steps article:nth-child(-n+4){border-bottom:1px solid var(--line)}.ritual-steps article{min-height:175px}.ritual-steps h3{margin-top:30px;font-size:19px}
  .storyboard{grid-template-columns:1fr 1fr;margin-top:48px;margin-bottom:48px}
  .film{padding-bottom:88px}.final-hero{min-height:85svh}.final-image{object-position:58% center}.final-copy{bottom:5vh}.final-copy h2{font-size:clamp(54px,17vw,86px)}
  .footer{padding-top:92px}.footer-main{grid-template-columns:1fr}.footer-title{grid-column:auto}.footer-bottom{grid-template-columns:1fr;gap:12px;margin-top:70px}.footer-copy dl{margin-top:34px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.001ms!important}.reveal,.reveal-media{opacity:1;transform:none;clip-path:none}
}


/* ═══════════════════════════════════════════════════════════════
   REVISION 03 — alignment / full-frame media / editorial details
   Based on the visual grammar of case-luna-roja.html: hairlines,
   numbered modules, restrained red accents and technical markers.
═══════════════════════════════════════════════════════════════ */

/* More separation between chapters: imagery should never visually stick together. */
section.section-black[data-section]{position:relative;padding-bottom:clamp(42px,5vw,92px)}
section.section-black[data-section]+section.section-black[data-section]{border-top:1px solid var(--line-soft)}
section.section-black[data-section]:not(.hero)::before{
  content:attr(data-index) "  /  FLOR DE LA LUNA";
  position:absolute;z-index:6;right:var(--gutter);top:28px;
  font:7px/1 var(--sans);letter-spacing:.28em;color:#514a44;
  pointer-events:none;
}
section.section-black[data-section]:not(.hero)::after{
  content:"";position:absolute;z-index:5;left:var(--gutter);right:var(--gutter);top:54px;
  height:1px;background:linear-gradient(90deg,rgba(232,224,213,.16),rgba(159,23,29,.28) 34%,rgba(232,224,213,.06) 76%,transparent);
  pointer-events:none;
}

/* Source HTML used short red rules before labels; carry that language through. */
.eyebrow{display:inline-flex;align-items:center;gap:12px}
.eyebrow::before{content:"";display:block;width:18px;height:1px;background:var(--red-hot);opacity:.8}
.statement-no{position:relative;padding-left:18px;margin-bottom:22px}
.statement-no::before{content:"";position:absolute;left:0;top:50%;width:8px;height:1px;background:var(--red-hot)}
.statement-no::after{content:"";position:absolute;left:3px;top:calc(50% - 3px);width:1px;height:7px;background:var(--red-hot);opacity:.72}

/* Alignment fix: body copy now starts from the same left axis as the display statement. */
.statement-copy{max-width:720px;margin:46px 0 0;color:#b6ada3}

/* Full-frame treatment: show the authored artwork, never crop it into arbitrary ratios. */
.art-board,
.image-chapter.feature,
.material-image{
  width:min(1680px,calc(100% - var(--gutter)*2));
  margin-left:auto;margin-right:auto;
  position:relative;overflow:hidden;background:#080808;
  border:1px solid var(--line-soft);
}
.art-board img,
.image-chapter.feature img,
.material-image img{
  width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;
}
.art-board[data-panel]::before,
.image-chapter[data-panel]::before,
.material-image[data-panel]::before{
  content:attr(data-panel);position:absolute;z-index:4;top:14px;left:16px;
  padding:5px 8px 5px 0;background:linear-gradient(90deg,rgba(5,5,5,.84),rgba(5,5,5,0));
  font:7px/1 var(--sans);letter-spacing:.22em;color:rgba(232,224,213,.62);text-shadow:0 2px 8px #000;
}
.art-board[data-panel]::after,
.material-image[data-panel]::after{
  content:"+";position:absolute;z-index:4;right:14px;bottom:10px;
  font:11px/1 var(--sans);color:rgba(200,46,49,.72);text-shadow:0 2px 8px #000;
}

/* Separate artwork, caption systems and following boards. */
.drink .art-board{margin-top:10px;margin-bottom:36px}
.form .art-board:first-of-type{margin-bottom:30px}
.form-caption{margin-top:0;margin-bottom:42px;border-block:1px solid var(--line-soft);background:transparent;gap:0}
.form-caption div{background:#090909;padding:24px 22px;border-right:1px solid var(--line-soft)}
.form-caption div:last-child{border-right:0}
.form-caption strong{margin-top:26px;min-height:28px}
.form .art-board.technical{margin-top:0}
.engineering .art-board{margin-top:8px}
.ritual-board{margin-top:54px!important}

/* Materials: same editorial grid as the other chapters, followed by a full-width product frame. */
.material-intro{padding-top:150px;padding-bottom:74px;align-items:end}
.material-body blockquote{margin:42px 0 0;padding-top:24px;border-top:1px solid var(--line);font-size:clamp(30px,3.4vw,58px);line-height:.94;letter-spacing:-.02em;color:#e3dbd1}
.material-image{margin-top:0;margin-bottom:0}

/* Add air before and after major picture frames. */
.image-chapter.feature{margin-top:4px}
.engineering .art-board,.ritual-board{margin-bottom:0}
.world{padding-bottom:0!important}.object{padding-bottom:0!important}

/* Ritual: the six authored steps are the storyboard. Remove extracted duplicate frames. */
.ritual-steps{margin-top:62px;margin-bottom:0}
.ritual-steps article{position:relative}
.ritual-steps article::after{content:"";position:absolute;left:18px;right:18px;bottom:18px;height:1px;background:linear-gradient(90deg,rgba(159,23,29,.26),transparent)}

/* Brand film: meaningful narrative map instead of arbitrary video frame grabs. */
.film-map{margin-top:66px;margin-bottom:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.film-map-head{min-height:72px;display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:18px;border-bottom:1px solid var(--line-soft)}
.film-map-head>span{font:8px/1 var(--sans);letter-spacing:.2em;color:#6a625b}
.film-map-head>strong{font:9px/1.25 var(--sans);font-weight:400;letter-spacing:.22em;color:#c0b7ad}
.film-map-head>i{font:8px/1.25 var(--sans);font-style:normal;letter-spacing:.18em;color:#655e57;text-align:right}
.film-map-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.film-map-grid article{min-height:218px;padding:24px 18px 28px;border-right:1px solid var(--line-soft);position:relative}
.film-map-grid article:last-child{border-right:0}
.film-map-grid article>span{font:8px/1 var(--sans);letter-spacing:.18em;color:#7a2629}
.film-map-grid h3{margin:55px 0 10px;font-size:20px;font-weight:400;line-height:1.05}
.film-map-grid p{margin:0;font:11px/1.55 var(--sans);color:#726a63}
.film-map-grid article::after{content:"";position:absolute;left:18px;right:18px;bottom:17px;height:1px;background:linear-gradient(90deg,rgba(159,23,29,.24),transparent)}

/* Video and full authored boards get the same technical framing. */
.video-stage{width:min(1680px,calc(100% - var(--gutter)*2));border:1px solid var(--line-soft)}
.video-stage::before{content:"";position:absolute;z-index:5;left:16px;bottom:15px;width:34px;height:1px;background:var(--red);opacity:.5;pointer-events:none}

@media (max-width:1100px){
  .material-intro{padding-top:120px}
  .film-map-grid{grid-template-columns:repeat(3,1fr)}
  .film-map-grid article:nth-child(3n){border-right:0}
  .film-map-grid article:nth-child(-n+3){border-bottom:1px solid var(--line-soft)}
}
@media (max-width:720px){
  section.section-black[data-section]:not(.hero)::before{top:18px;font-size:6px}
  section.section-black[data-section]:not(.hero)::after{top:42px}
  .statement-copy{margin-top:30px}
  .art-board,.image-chapter.feature,.material-image,.video-stage{width:calc(100% - var(--gutter)*2)}
  .form-caption{margin-bottom:28px}
  .form-caption div{padding:18px 15px}
  .form-caption strong{font-size:9px;margin-top:18px}
  .material-intro{padding-top:104px;padding-bottom:54px}
  .material-body blockquote{margin-top:34px}
  .ritual-board{margin-top:36px!important}
  .film-map{margin-top:44px}
  .film-map-head{grid-template-columns:52px 1fr;min-height:68px}.film-map-head>i{display:none}
  .film-map-grid{grid-template-columns:1fr 1fr}
  .film-map-grid article{min-height:182px}.film-map-grid article:nth-child(3n){border-right:1px solid var(--line-soft)}.film-map-grid article:nth-child(even){border-right:0}.film-map-grid article:nth-child(-n+4){border-bottom:1px solid var(--line-soft)}
  .film-map-grid h3{margin-top:36px;font-size:18px}
}

/* Full-frame means the original authored composition remains visible on desktop. */
@media (min-width:721px){
  .image-chapter.full-bleed img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
  .world-stage,.object-stage,.final-hero{min-height:0;aspect-ratio:16/9}
  .world-stage>img,.object-stage>img,.final-image{object-fit:cover;object-position:center}
}


/* ═══════════════════════════════════════════════════════════════
   REVISION 04 — premium typography / full-bleed / palette / footer
═══════════════════════════════════════════════════════════════ */
body{
  background:
    radial-gradient(circle at 78% 8%,rgba(196,31,58,.035),transparent 28%),
    linear-gradient(180deg,#08070a 0%,#080708 52%,#070608 100%);
  font-feature-settings:"kern" 1,"liga" 1;
}
.section-black{background:linear-gradient(180deg,rgba(8,7,10,.995),rgba(7,6,8,.995))}

/* Typography: display serif + technical sans. */
h1,h2,h3{font-family:var(--serif)}
h2{
  font-weight:500;
  line-height:.88;
  letter-spacing:-.025em;
  text-wrap:balance;
}
p{font-family:var(--serif);font-weight:400;letter-spacing:.002em}
.eyebrow,.display-overline,.statement-no,.fine,
.process-grid span,.form-caption span,.ritual-steps span,
.process-grid p,.ritual-steps p,.palette-block,.contact-section,.site-footer{
  font-family:var(--sans)
}
.eyebrow,.display-overline{font-size:8px;letter-spacing:.32em;font-weight:500}
.statement-no{font-size:8px;letter-spacing:.24em}
.chapter-copy>p:last-child,
.statement-copy,
.split-copy-body>p:first-child,
.world-copy>p:last-child,
.object-copy>p:last-child{
  font-family:var(--serif);
  font-size:clamp(20px,1.55vw,27px);
  line-height:1.38;
  letter-spacing:0;
  color:#c9c0b7;
}

/* 1 — align legend copy to the heading axis. */
.chapter-intro{grid-template-columns:.27fr 1fr;gap:7vw;padding-top:164px;padding-bottom:112px}
.chapter-copy{max-width:1080px}
.chapter-copy h2{max-width:900px}
.chapter-copy>p:last-child{max-width:760px;margin:46px 0 0}
.chapter-copy::after{
  content:"";display:block;width:72px;height:1px;margin-top:44px;
  background:linear-gradient(90deg,var(--red),rgba(196,31,58,0));opacity:.6
}

/* 2 — Birth of the Drink is intentionally full-bleed. */
.drink .full-width-board{
  width:100vw!important;max-width:none!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  border-left:0;border-right:0;
}
.drink .full-width-board[data-panel]::before{left:var(--gutter)}
.drink .full-width-board[data-panel]::after{right:var(--gutter)}

/* Premium panel framing. */
.art-board,.image-chapter.feature,.material-image,.video-stage{
  box-shadow:0 28px 80px rgba(0,0,0,.18);
}
.art-board::selection{background:transparent}
.process-grid,.form-caption,.ritual-steps{
  background:linear-gradient(180deg,rgba(255,255,255,.006),rgba(255,255,255,0));
}
.process-grid h3,.ritual-steps h3{font-weight:500;letter-spacing:.01em}
.form-caption strong{font-family:var(--sans);font-weight:500;letter-spacing:.15em}

/* 5 — palette from the supplied HTML color system. */
.palette-block{padding:88px 0 42px}
.palette-head{
  display:grid;grid-template-columns:72px 240px minmax(300px,1fr);align-items:start;gap:24px;
  padding:0 0 28px;border-bottom:1px solid var(--line)
}
.palette-head>span{font:8px/1 var(--sans);letter-spacing:.22em;color:#655d59;padding-top:4px}
.palette-head>strong{font:500 9px/1.3 var(--sans);letter-spacing:.24em;color:#c8bfb6}
.palette-head>p{justify-self:end;margin:0;max-width:620px;font:11px/1.6 var(--sans);letter-spacing:.02em;color:#706865;text-align:right}
.palette-scale{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line)}
.palette-scale article{min-width:0;border-right:1px solid var(--line-soft);padding:0 14px 18px}
.palette-scale article:last-child{border-right:0}
.palette-scale i{display:block;height:92px;margin:0 -14px 18px;background:var(--sw);border-bottom:1px solid rgba(255,255,255,.08)}
.palette-scale article>span{display:block;font:7px/1 var(--sans);letter-spacing:.22em;color:#625a56;margin-bottom:24px}
.palette-scale h3{margin:0 0 7px;font:500 9px/1.2 var(--sans);letter-spacing:.13em;color:#c6bdb4}
.palette-scale p{margin:0;font:8px/1.2 var(--sans);letter-spacing:.12em;color:#665f5b}
.palette-scale .light-swatch i{box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}

/* 4 — explicit typographic chapter between the two final images. */
.final-divider{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.final-divider-inner{display:grid;grid-template-columns:.27fr 1fr;gap:7vw;padding:126px 0 118px}
.final-divider-meta span{display:block;font:8px/1 var(--sans);letter-spacing:.24em;color:#615955;margin-bottom:28px}
.final-divider-meta p{margin:0;font:500 8px/1.2 var(--sans);letter-spacing:.3em;color:#9e958e;text-transform:uppercase}
.final-divider-copy{position:relative;max-width:1020px}
.final-divider-copy:before{content:"☾";position:absolute;right:0;top:-24px;font-size:22px;color:rgba(218,182,112,.55)}
.final-divider-copy .display-overline{margin-bottom:25px;color:#8d7367}
.final-divider-copy h2{max-width:960px;font-size:clamp(58px,7.2vw,116px)}

/* 6 — contact/footer follows the reference HTML, refined to this case. */
.contact-section{
  display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;
  padding:128px var(--gutter) 118px;background:#08070a;border-top:1px solid var(--line)
}
.contact-label{display:flex;align-items:center;gap:13px;margin-bottom:30px;font:500 8px/1 var(--sans);letter-spacing:.28em;color:#7e746f}
.contact-label i{display:block;width:36px;height:1px;background:linear-gradient(90deg,var(--red),transparent)}
.contact-left h2{font-size:clamp(62px,8.4vw,142px);line-height:.78;letter-spacing:-.035em}
.contact-left h2 em{font-style:normal;color:var(--red)}
.contact-links{margin-top:68px;border-top:1px solid var(--line)}
.contact-links a,.contact-link-static{
  min-height:62px;display:grid;grid-template-columns:104px 1fr auto;align-items:center;gap:18px;
  border-bottom:1px solid var(--line-soft);text-decoration:none;transition:padding-left .28s,border-color .28s
}
.contact-links a:hover{padding-left:9px;border-color:rgba(196,31,58,.35)}
.contact-links small{font:500 8px/1 var(--sans);letter-spacing:.17em;color:#655e5a}
.contact-links strong{font:500 12px/1.35 var(--sans);letter-spacing:.015em;color:#c7beb5;overflow-wrap:anywhere}
.contact-links a>span{font:14px/1 var(--sans);color:#817874;transition:.25s}
.contact-links a:hover>span{color:var(--red);transform:translate(2px,-2px)}
.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--red);margin-right:9px;box-shadow:0 0 0 4px rgba(196,31,58,.08)}
.contact-right{padding-top:62px;max-width:640px}
.contact-lead{margin:0 0 48px;font:400 clamp(17px,1.2vw,21px)/1.55 var(--serif);color:#b5aca4}
.premium-form{gap:26px}
.premium-form label span{font-size:8px;letter-spacing:.22em}
.premium-form input,.premium-form textarea{font:400 15px/1.4 var(--sans);padding:8px 0 13px;border-color:var(--line)}
.premium-form button{margin-top:4px;padding:18px 0;border-color:var(--line);font-weight:500}
.premium-form button:hover{border-color:rgba(196,31,58,.45);color:#fff}
.contact-note{margin:24px 0 0;font:9px/1.5 var(--sans);letter-spacing:.08em;color:#56504d}
.site-footer{padding:58px var(--gutter) 34px;background:#070608;border-top:1px solid var(--line-soft)}
.footer-word{font:500 clamp(34px,6.6vw,106px)/.9 var(--serif);letter-spacing:.035em;color:rgba(240,236,232,.045);text-align:center;margin-bottom:52px;white-space:nowrap;overflow:hidden}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:22px}
.footer-links{display:flex;gap:30px;flex-wrap:wrap;justify-content:center}
.footer-links a{text-decoration:none;font:500 10px/1 var(--sans);letter-spacing:.08em;color:#78706b;transition:color .22s}
.footer-links a:hover{color:#e6ddd4}
.footer-bar{width:100%;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;margin-top:14px;padding-top:20px;border-top:1px solid var(--line-soft);font:8px/1.25 var(--sans);letter-spacing:.13em;color:#5e5753}
.footer-bar span:nth-child(2){justify-self:center}.footer-bar a{justify-self:end;text-decoration:none;color:#8e857f}
.footer-bar b{color:#aaa19a;font-weight:500}

/* 7/8 — quieter rhythm, more luxury, fewer loud UI gestures. */
section.section-black[data-section]:not(.hero)::after{opacity:.78}
.section-black[data-section]:not(.hero)::before{color:#5f5551}
.split-copy{gap:9vw}
.split-copy h2{max-width:820px}
.split-copy-body{border-left:1px solid var(--line-soft);padding-left:32px}
.material-intro .split-copy-body{border-left:0;padding-left:0}
.material-body blockquote{font-family:var(--serif);font-weight:500;letter-spacing:.01em}
.video-stage{background:#050407}
.video-topline{font-weight:500;color:#d6ccc3}
.world-stage:after,.object-stage:after{background:linear-gradient(90deg,rgba(5,4,6,.86),rgba(5,4,6,.05) 56%),linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.42))}
.final-copy h2{font-weight:500}
.final-copy strong{font-family:var(--serif);font-weight:500}

@media(max-width:1100px){
  .palette-scale{grid-template-columns:repeat(4,1fr)}
  .palette-scale article:nth-child(4){border-right:0}.palette-scale article:nth-child(-n+4){border-bottom:1px solid var(--line-soft)}
  .contact-section{grid-template-columns:1fr;gap:66px}.contact-right{padding-top:0;max-width:760px}
}
@media(max-width:720px){
  .chapter-intro,.final-divider-inner{grid-template-columns:1fr;gap:38px}
  .chapter-copy>p:last-child{margin-top:32px}
  .drink .full-width-board{width:100vw!important;margin-left:calc(50% - 50vw)!important}
  .palette-block{padding-top:62px}.palette-head{grid-template-columns:50px 1fr}.palette-head>p{grid-column:1/-1;justify-self:start;text-align:left;max-width:100%;margin-top:4px}
  .palette-scale{grid-template-columns:1fr 1fr}.palette-scale article{border-bottom:1px solid var(--line-soft)}.palette-scale article:nth-child(even){border-right:0}.palette-scale article:last-child{border-bottom:0}.palette-scale i{height:72px}
  .final-divider-inner{padding:92px 0 82px}.final-divider-copy h2{font-size:clamp(48px,14vw,78px)}
  .split-copy-body{border-left:0;padding-left:0}
  .contact-section{padding:92px var(--gutter) 80px}.contact-left h2{font-size:clamp(56px,18vw,88px)}
  .contact-links a,.contact-link-static{grid-template-columns:82px 1fr auto;min-height:58px;gap:12px}
  .contact-links strong{font-size:10px}
  .footer-word{white-space:normal;font-size:clamp(34px,12vw,64px)}
  .footer-bar{grid-template-columns:1fr;text-align:center;gap:11px}.footer-bar span:nth-child(2),.footer-bar a{justify-self:center}
}

/* ═══════════════════════════════════════════════════════════════
   REVISION 05 — full-frame editorial / professional type / tone switcher
═══════════════════════════════════════════════════════════════ */
:root{
  --serif:"Prata","Times New Roman",serif;
  --sans:"Manrope","Helvetica Neue",Arial,sans-serif;
  --media-edge:clamp(8px,1.25vw,24px);
  --footer-bg:#070608;
}

/* Premium typography: high-contrast display serif, controlled technical sans. */
body{font-family:var(--sans);background:var(--bg);transition:background-color .45s ease,color .45s ease}
h1,h2,h3,.final-copy strong,.material-body blockquote,.design-bridge-copy h3{font-family:var(--serif)}
h2{
  font-size:clamp(46px,5.35vw,92px);
  line-height:1.02;
  letter-spacing:-.018em;
  font-weight:400;
  text-wrap:balance;
}
p{
  font-family:var(--sans);
  font-size:clamp(14px,1.02vw,17px);
  line-height:1.72;
  letter-spacing:.004em;
  color:#aaa19a;
}
.eyebrow,.display-overline{font-size:8px;line-height:1.2;letter-spacing:.34em;font-weight:600;color:#9b918a}
.display-overline{color:#766d66}
.chapter-meta p{font-family:var(--sans);font-weight:600}
.chapter-copy>p:last-child,.statement-copy,.split-copy-body>p:first-child,.world-copy>p:last-child,.object-copy>p:last-child{
  font-family:var(--sans);
  font-size:clamp(15px,1.12vw,19px);
  line-height:1.72;
  letter-spacing:.002em;
  color:#b7aea6;
}
.statement{max-width:1320px}.statement h2{max-width:1120px}.statement-copy{max-width:720px}
.split-copy h2{max-width:900px}

/* Brighter numeric system — numbers become a consistent navigational device. */
.statement-no,.chapter-meta span,.process-grid span,.form-caption span,.ritual-steps span,.final-divider-meta span,.palette-head>span,.design-bridge-no{
  color:var(--red-hot)!important;
  font-family:var(--sans)!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.22em!important;
  font-variant-numeric:tabular-nums;
  text-shadow:0 0 18px color-mix(in srgb,var(--red-hot) 28%,transparent);
}
.statement-no{padding-left:20px}
.statement-no::before{width:10px;background:var(--red-hot)}
.statement-no::after{background:var(--red-hot)}
section.section-black[data-section]:not(.hero)::before{color:color-mix(in srgb,var(--red-hot) 58%,#6d625b);font-weight:600}
.process-grid h3,.ritual-steps h3{font-family:var(--serif);font-size:clamp(19px,1.35vw,25px);letter-spacing:0}
.form-caption strong{font-size:10px;line-height:1.45;color:#c9c0b8}

/* Nearly every authored visual now occupies the viewport, preserving the full composition. */
.art-board,.image-chapter.feature,.material-image,.video-stage{
  width:calc(100vw - (var(--media-edge) * 2))!important;
  max-width:none!important;
  margin-left:var(--media-edge)!important;
  margin-right:var(--media-edge)!important;
  border-color:rgba(240,236,232,.09);
}
.art-board img,.image-chapter.feature img,.material-image img{
  width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;
}
.image-chapter.full-bleed{width:100vw;max-width:none;margin-left:0;margin-right:0}
.image-chapter.full-bleed img{width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
.drink .full-width-board{width:100vw!important;margin-left:0!important;margin-right:0!important}
.video-stage video{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}

/* Hero uses the entire image rather than a right-side crop. */
.hero-image-shell{inset:0;mask-image:none;-webkit-mask-image:none}
.hero:after{background:linear-gradient(90deg,rgba(6,6,7,.93) 0%,rgba(6,6,7,.72) 28%,rgba(6,6,7,.16) 57%,rgba(6,6,7,.03) 76%),linear-gradient(180deg,rgba(0,0,0,.08),transparent 52%,rgba(0,0,0,.5))}
.hero-lockup{width:min(720px,48vw)}
.hero h1{font-family:var(--serif);font-weight:400;letter-spacing:.015em;line-height:.92}
.hero h1 span{font-size:clamp(38px,4.5vw,76px)}
.hero h1 em{font-size:clamp(34px,4vw,66px);letter-spacing:.09em;color:var(--red-hot)}
.hero-kicker,.hero-category,.hero-foot p,.hero-foot a{font-family:var(--sans)}

/* Copy between the Ritual Seal artwork and the material chapter. */
.design-bridge{
  position:relative;display:grid;grid-template-columns:100px minmax(0,1fr) 80px;gap:4vw;
  align-items:start;padding:104px 0 112px;border-bottom:1px solid var(--line-soft);
}
.design-bridge::before{content:"";position:absolute;left:100px;right:80px;top:52px;height:1px;background:linear-gradient(90deg,var(--red),rgba(218,182,112,.18),transparent)}
.design-bridge-copy{max-width:1040px}
.design-bridge-copy .display-overline{margin-bottom:22px}
.design-bridge-copy h3{margin:0;font-size:clamp(42px,5vw,84px);line-height:1.02;letter-spacing:-.015em;font-weight:400}
.design-bridge-copy>p:last-child{margin:28px 0 0;max-width:710px;font-size:clamp(14px,1vw,17px);line-height:1.72;color:#8f8781}
.design-bridge-mark{justify-self:end;font-size:30px;line-height:1;color:var(--bronze);opacity:.7;padding-top:12px}
.material-intro{padding-top:104px}

/* Refined material color scale. */
.palette-scale article{position:relative;transition:background .25s,border-color .25s}
.palette-scale article:hover{background:rgba(255,255,255,.018)}
.palette-scale i{height:116px}
.palette-scale article>span{color:var(--red-hot)!important;font-weight:700}
.palette-scale h3{font-size:10px;letter-spacing:.15em;color:#d4cac1}
.palette-scale p{font-size:8px;color:#817873}

/* MAG signature — final brand sign, intentionally large and impossible to miss. */
.mag-signature{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-decoration:none;margin:74px auto 0;padding:64px 0 18px;width:100%;
  border-top:1px solid rgba(218,182,112,.18);text-align:center
}
.mag-signature:before{
  content:"";position:absolute;top:-1px;left:50%;width:92px;height:1px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,#dab670,transparent)
}
.mag-signature:after{
  content:"☾";position:absolute;top:17px;left:50%;transform:translateX(-50%);
  color:#b98d58;font:400 18px/1 var(--serif);opacity:.82
}
.mag-signature span{
  display:block;font:500 clamp(92px,11vw,188px)/.72 var(--serif);letter-spacing:-.065em;
  background:linear-gradient(180deg,#f3e2bd 0%,#d8b274 44%,#a16f3d 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 12px 42px rgba(218,182,112,.10));
  transition:transform .35s ease,filter .35s ease
}
.mag-signature:hover span{transform:translateY(-3px);filter:drop-shadow(0 15px 54px rgba(218,182,112,.18))}
.mag-signature small{margin-top:28px;font:600 7px/1.5 var(--sans);letter-spacing:.34em;color:#75685d;text-transform:uppercase}

/* Interactive palette switcher: vertical tone scale inspired by the supplied control. */
.tone-switcher{
  position:fixed;z-index:145;right:18px;top:50%;transform:translateY(-50%);
  width:96px;height:360px;padding:24px 13px 17px;
  display:flex;flex-direction:column;align-items:center;
  border:1px solid color-mix(in srgb,var(--red-hot) 70%,transparent);
  background:rgba(7,6,8,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 22px 70px rgba(0,0,0,.32);
  transition:border-color .35s,background .35s,opacity .3s
}
.tone-kicker{font:700 8px/1 var(--sans);letter-spacing:.24em;color:#716865;margin-bottom:18px}
.tone-track-shell{position:relative;width:42px;height:218px;padding:0 8px}
.tone-gradient{width:26px;height:218px;border-radius:18px;background:linear-gradient(to bottom,#23060e 0%,#7f1026 26%,#c41f3a 47%,#d87b60 68%,#f0d3a5 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 12px 32px rgba(0,0,0,.3)}
.tone-range{
  position:absolute;z-index:2;top:60px;left:50%;transform:translateX(-50%);
  width:26px;height:218px;margin:0;writing-mode:vertical-lr;direction:rtl;
  -webkit-appearance:none;appearance:none;background:transparent;cursor:pointer
}
.tone-range::-webkit-slider-runnable-track{width:26px;height:218px;background:transparent;border:0}
.tone-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:36px;height:36px;border-radius:50%;background:var(--red);border:3px solid var(--paper);box-shadow:0 0 0 2px rgba(0,0,0,.36),0 8px 24px rgba(0,0,0,.42);transition:background .25s,border-color .25s}
.tone-range::-moz-range-track{width:26px;height:218px;background:transparent;border:0}
.tone-range::-moz-range-thumb{width:32px;height:32px;border-radius:50%;background:var(--red);border:3px solid var(--paper);box-shadow:0 0 0 2px rgba(0,0,0,.36),0 8px 24px rgba(0,0,0,.42)}
.tone-name{margin-top:17px;padding:6px 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;font:700 7px/1 var(--sans);letter-spacing:.08em;color:#c9c0b8;white-space:nowrap}

/* Tone presets. Product imagery stays untouched; interface atmosphere changes. */
body[data-tone="obsidian"]{--bg:#08070a;--bg-soft:#110e14;--bg-raised:#1c1720;--paper:#f0ece8;--red:#c41f3a;--red-hot:#e83d58;--bronze:#dab670;--footer-bg:#070608}
body[data-tone="ruby"]{--bg:#0b0709;--bg-soft:#180a10;--bg-raised:#241019;--paper:#f4ece9;--red:#d62d4a;--red-hot:#ff526d;--bronze:#d8ad78;--footer-bg:#080507}
body[data-tone="redmoon"]{--bg:#0b0808;--bg-soft:#17100e;--bg-raised:#211512;--paper:#f3ece6;--red:#c95b46;--red-hot:#e48464;--bronze:#d8b06f;--footer-bg:#080605}
body[data-tone="bronze"]{--bg:#090806;--bg-soft:#15110c;--bg-raised:#20190f;--paper:#f2eadb;--red:#c49b59;--red-hot:#e2bd7d;--bronze:#e0b66f;--footer-bg:#070604}
body[data-tone="ivory"]{--bg:#0a090a;--bg-soft:#151316;--bg-raised:#211e22;--paper:#f7f2ea;--red:#d9caa8;--red-hot:#f0ece8;--bronze:#d6ad6d;--footer-bg:#080708}
.section-black{background:var(--bg)!important;transition:background-color .45s ease}
.contact-section{background:var(--bg)!important;transition:background-color .45s ease}
.site-footer{background:var(--footer-bg)!important;transition:background-color .45s ease}
.scroll-progress span{background:linear-gradient(90deg,color-mix(in srgb,var(--red) 55%,#21080b),var(--red-hot))}

@media(max-width:1100px){
  .design-bridge{grid-template-columns:72px minmax(0,1fr) 48px;gap:28px}
  .design-bridge::before{left:72px;right:48px}
  .tone-switcher{right:10px;width:78px;height:324px;padding-inline:8px}
  .tone-track-shell,.tone-range,.tone-gradient{height:188px}.tone-range{top:57px}
}
@media(max-width:720px){
  h2{font-size:clamp(42px,13vw,70px);line-height:1.03}
  p{font-size:14px;line-height:1.68}
  .hero-lockup{width:min(88vw,620px)}
  .art-board,.image-chapter.feature,.material-image,.video-stage{width:calc(100vw - 16px)!important;margin-left:8px!important;margin-right:8px!important}
  .design-bridge{grid-template-columns:1fr;padding:78px 0 80px;gap:24px}
  .design-bridge::before{left:0;right:0;top:38px}.design-bridge-mark{display:none}
  .design-bridge-copy h3{font-size:clamp(40px,12vw,62px)}
  .statement-no,.chapter-meta span,.process-grid span,.form-caption span,.ritual-steps span,.final-divider-meta span,.design-bridge-no{font-size:9px!important}
  .tone-switcher{right:8px;top:auto;bottom:12px;transform:none;width:64px;height:220px;padding:14px 6px 10px}
  .tone-kicker{font-size:6px;margin-bottom:10px}.tone-track-shell,.tone-gradient{height:128px}.tone-gradient{width:20px}.tone-track-shell{width:34px}.tone-range{top:39px;width:20px;height:128px}.tone-range::-webkit-slider-runnable-track{width:20px;height:128px}.tone-range::-webkit-slider-thumb{width:28px;height:28px;border-width:2px}.tone-name{font-size:5px;padding:5px 6px;margin-top:10px;max-width:58px;overflow:hidden;text-overflow:ellipsis}
  .mag-signature{margin-top:48px;padding-top:54px}.mag-signature span{font-size:clamp(76px,25vw,112px)}.mag-signature small{font-size:6px;letter-spacing:.2em;text-align:center;line-height:1.5}
}

/* =========================================================
   FINAL CLEAN / LUNA SYSTEM
   Adapted from the supplied MAG/Kirovets case interaction model.
   ========================================================= */
:root{
  --bg:#08070A;--bg-soft:#110E14;--bg-raised:#1C1720;
  --paper:#F0ECE8;--red:#C41F3A;--red-hot:#E83D58;--bronze:#DAB670;
  --footer-bg:#070608;--line:rgba(240,236,232,.105);--line-soft:rgba(240,236,232,.055)
}
html.mag-theming,html.mag-theming *{transition:background-color .6s ease,color .6s ease,border-color .6s ease,fill .6s ease,stroke .6s ease!important}
body{background:var(--bg);color:var(--paper)}
.section-black{background:var(--bg)!important}

/* Cleaner page rhythm: no ornamental section separators. */
section.section-black{border:0!important}
section.section-black+section.section-black{border-top:0!important}
.noise{opacity:.12}
.wrap{width:min(1440px,calc(100% - 96px))}

/* Typography: editorial serif for narrative, precise sans for system copy. */
h1,h2,h3,.statement h2,.chapter-copy h2,.split-copy h2,.final-divider-copy h2,.object-copy h2,.world-copy h2{
  font-family:'Prata',serif;font-weight:400;letter-spacing:-.032em;text-wrap:balance
}
p{font-family:'Manrope',sans-serif;font-weight:400;letter-spacing:-.008em}
.eyebrow,.display-overline,.fine,.chapter-meta p,.contact-label,.hero-kicker,.hero-category,.video-topline{
  font-family:'Manrope',sans-serif;font-weight:600;letter-spacing:.19em
}
.statement-no,.chapter-meta>span,.process-grid article>span,.form-caption span,.ritual-steps article>span,.final-divider-meta>span,.design-bridge-no{
  font-family:'Prata',serif!important;font-weight:400!important;font-variant-numeric:lining-nums tabular-nums;
  color:var(--red-hot)!important;letter-spacing:.01em!important;text-shadow:0 0 24px color-mix(in srgb,var(--red-hot) 20%,transparent)
}
.statement-no{font-size:clamp(28px,2.5vw,46px)!important;line-height:1;margin-bottom:22px}
.chapter-meta>span{font-size:clamp(26px,2.2vw,38px)!important}
.process-grid article>span,.form-caption span,.ritual-steps article>span{font-size:18px!important}

/* More air, fewer boxes. */
.chapter-intro,.statement,.split-copy{padding-top:clamp(110px,10vw,170px);padding-bottom:clamp(70px,7vw,120px)}
.process-grid,.form-caption,.ritual-steps{border:0!important;background:transparent!important;gap:0!important}
.process-grid article,.form-caption>div,.ritual-steps article{background:transparent!important;border:0!important;border-top:1px solid var(--line)!important;padding:28px 22px 34px!important}
.process-grid article+article,.form-caption>div+div,.ritual-steps article+article{border-left:1px solid var(--line-soft)!important}

/* Almost every authored visual is treated as a full-frame chapter. */
.image-chapter,.image-chapter.feature,.art-board,.art-board.technical,.art-board.material-image,.art-board.full-width-board,.video-stage,.world-stage,.object-stage{
  width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;border-radius:0!important;border-left:0!important;border-right:0!important
}
.art-board img,.image-chapter img{width:100%;height:auto;object-fit:contain!important;display:block}
.video-stage{aspect-ratio:16/9}
.video-stage video{object-fit:cover}

/* Remove decorative framing that competes with the artwork. */
.art-board:before,.art-board:after,.image-chapter:before,.image-chapter:after,.technical:before,.technical:after{box-shadow:none!important}
.art-board,.image-chapter,.video-stage{box-shadow:none!important}
[data-panel]::before{font-size:8px!important;letter-spacing:.16em!important;color:color-mix(in srgb,var(--paper) 58%,transparent)!important;background:rgba(8,7,10,.46)!important;border:0!important;border-radius:0!important;padding:8px 12px!important}

/* Bridge is now a quiet editorial interlude, not another card. */
.design-bridge{padding:100px 0 112px;grid-template-columns:88px minmax(0,1fr) 60px;gap:42px}
.design-bridge::before{background:linear-gradient(90deg,var(--red-hot),color-mix(in srgb,var(--red-hot) 24%,transparent),transparent);opacity:.42}
.design-bridge-copy{max-width:800px}
.design-bridge-copy h3{font-size:clamp(48px,5.6vw,90px);line-height:1.03;margin:14px 0 28px}
.design-bridge-copy>p:last-child{max-width:650px;color:color-mix(in srgb,var(--paper) 68%,transparent);line-height:1.8}
.design-bridge-mark{color:var(--bronze);opacity:.78}

/* Palette chapter: sober, precise and tied to actual Luna colors. */
.palette-block{padding:104px 0 70px}
.palette-head{border-top:1px solid var(--line);padding-top:24px}
.palette-head>span{font-family:'Prata',serif;font-size:22px;color:var(--red-hot)}
.palette-scale{border:0!important;background:transparent!important;gap:8px}
.palette-scale article{border:0!important;background:transparent!important;padding:0!important}
.palette-scale i{height:132px;border:1px solid rgba(255,255,255,.08)}
.palette-scale article>span{font-family:'Prata',serif;font-size:15px!important;color:var(--red-hot)!important;margin-top:14px;display:block}
.palette-scale h3{margin-top:5px;color:var(--paper);font-size:9px;letter-spacing:.16em}
.palette-scale p{color:color-mix(in srgb,var(--paper) 46%,transparent);font-size:8px}

/* Kirovets-style scheme slider, recolored for Luna Roja. */
.tone-switcher{display:none!important}
.mag-scheme{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:400;display:flex;flex-direction:column;align-items:center;gap:10px;user-select:none;-webkit-user-select:none;touch-action:none}
.mag-scheme-cap{font-family:'Manrope',sans-serif;font-size:9px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:color-mix(in srgb,var(--paper) 42%,transparent)}
.mag-scheme-track{position:relative;width:52px;height:230px;border-radius:26px;background:linear-gradient(to bottom,#1b070c 0%,#7e1025 34%,#c41f3a 56%,#b57a58 76%,#eee2cd 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 10px 30px rgba(0,0,0,.35);cursor:pointer}
.mag-scheme-knob{position:absolute;left:50%;top:0;width:48px;height:48px;border-radius:50%;background:var(--red);border:3px solid color-mix(in srgb,var(--paper) 90%,white);box-shadow:0 4px 14px rgba(0,0,0,.35);transform:translateX(-50%);cursor:grab;outline:none}
.mag-scheme-knob:focus-visible{box-shadow:0 0 0 3px var(--red-hot),0 4px 14px rgba(0,0,0,.35)}
.mag-scheme-knob.drag{cursor:grabbing}
.mag-scheme-label{font-family:'Manrope',sans-serif;font-size:9px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--paper);opacity:.78;text-align:center;line-height:1.3;max-width:92px;min-height:25px;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(8px);padding:5px 9px;border-radius:999px;border:1px solid var(--line);pointer-events:none}

/* Contact/footer follows the supplied MAG case, but in Luna materials. */
.contact-section{margin:34px max(24px,var(--gutter,48px)) 0!important;border-radius:28px;background:var(--bg-soft)!important;padding:clamp(58px,6vw,92px) clamp(28px,4.5vw,68px)!important;gap:clamp(48px,6vw,96px)!important;border:1px solid var(--line-soft)}
.contact-left h2{font-family:'Prata',serif;font-size:clamp(54px,8vw,118px);font-weight:400;letter-spacing:-.045em;line-height:.92}
.contact-left h2 em{color:var(--red-hot);font-style:normal}
.contact-links a,.contact-link-static{border-color:var(--line)!important}
.contact-links a:hover{padding-left:10px;color:var(--paper)}
.contact-links a:hover>span:last-child{color:var(--red-hot)}
.contact-form button{background:var(--red);color:#fff;border-radius:999px}
.contact-form button:hover{background:var(--red-hot)}
.site-footer{background:var(--footer-bg)!important;padding:74px max(24px,var(--gutter,48px)) 34px!important}
.footer-word{display:none!important}
.footer-mag-logo{display:flex;align-items:center;justify-content:center;width:min(92%,900px);height:auto;margin:0 auto 46px;text-decoration:none;position:relative}
.footer-mag-logo span{font-family:'Manrope',sans-serif;font-size:clamp(86px,14vw,212px);font-weight:800;letter-spacing:-.075em;line-height:.78;color:var(--bronze);position:relative}
.footer-mag-logo i{display:block;width:clamp(14px,1.55vw,26px);height:clamp(14px,1.55vw,26px);border-radius:50%;background:var(--red-hot);margin-left:8px;align-self:flex-end;margin-bottom:1.2%}
.footer-links a{font:500 13px/1.2 'Manrope',sans-serif;color:color-mix(in srgb,var(--paper) 54%,transparent)}
.footer-links a:hover{color:var(--paper)}
.footer-bar{border-top:1px solid var(--line)!important;margin-top:40px!important;padding-top:26px!important}
.footer-bar span,.footer-bar a{font:500 11px/1.4 'Manrope',sans-serif;color:color-mix(in srgb,var(--paper) 45%,transparent)}

/* Bright but controlled numeric system. */
.hero-index{font-family:'Prata',serif;color:var(--red-hot);font-size:14px;letter-spacing:.08em}

@media(max-width:900px){
  .wrap{width:min(100% - 40px,1440px)}
  .mag-scheme{right:10px;gap:7px}.mag-scheme-track{width:40px;height:180px;border-radius:20px}.mag-scheme-knob{width:38px;height:38px;border-width:2px}.mag-scheme-label{font-size:8px;max-width:70px}
  .contact-section{margin-inline:14px!important;border-radius:20px}
}
@media(max-width:640px){
  .mag-scheme{right:8px}.mag-scheme-cap{font-size:7px;letter-spacing:1.6px}.mag-scheme-track{width:34px;height:148px}.mag-scheme-knob{width:32px;height:32px}.mag-scheme-label{font-size:7px;max-width:62px;padding:4px 6px}
  .process-grid article+article,.form-caption>div+div,.ritual-steps article+article{border-left:0!important}
  .footer-mag-logo span{font-size:clamp(88px,28vw,126px)}
}
