/* Lumière Jewels — cinematic edition
   Palette, type and motion tokens first; components after; pages last. */
@font-face{font-family:'Loreka';src:url('../fonts/Loreka.woff') format('woff'),url('../fonts/Loreka.otf') format('opentype'),url('../fonts/Loreka.ttf') format('truetype');font-display:swap}

:root{
  --night:#001A14; --emerald:#013A2D; --gold:#C8A46A; --cream:#E5DBC7; --paper:#F4EFE6; --sage:#85966B;
  --ink:#E5DBC7; --sub:#B4B39F; --line:#2E4A40; --bg:#001A14;
  --ease:cubic-bezier(.16,1,.3,1); --ease-io:cubic-bezier(.76,0,.24,1);
  --pad:6vw; --serif:'Loreka','Cormorant Garamond',Georgia,serif; --sans:'Jost',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--night)}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;background:none;border:0;padding:0;color:inherit;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
img,svg,iframe{display:block}
iframe{border:0}
h1,h2,h3,p,dl,dd,ol,ul,figure{margin:0;padding:0}
ol,ul{list-style:none}
::selection{background:var(--gold);color:var(--night)}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}

.lj{font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--night);min-height:100vh;overflow-x:clip}
.serif{font-family:var(--serif);font-weight:400}

/* ── type ─────────────────────────────────────────── */
.kicker{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:400;display:inline-flex;align-items:center;gap:14px}
.kicker--rule::before{content:'';width:36px;height:1px;background:currentColor}
.kicker--ink{color:var(--sub)}
.d1{font-family:var(--serif);font-weight:400;font-size:clamp(52px,8vw,150px);line-height:.95;text-wrap:balance}
.d2{font-family:var(--serif);font-weight:400;font-size:clamp(44px,5.6vw,96px);line-height:1;text-wrap:balance}
.d3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.1vw,52px);line-height:1.22}
.body{font-size:16px;line-height:1.8;color:var(--sub);max-width:480px}
.outline{color:transparent;-webkit-text-stroke:1px var(--gold)}
.num{font-variant-numeric:tabular-nums}

/* word-rise reveal (site.js splits [data-rise] into .w > .wi) */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.14em .04em .2em;margin:-.14em -.04em -.2em}
.wi{display:inline-block;transform:translateY(118%) rotate(4deg);transform-origin:0 100%;transition:transform 1.35s var(--ease);transition-delay:calc(var(--i,0) * 42ms + var(--d,0ms))}
.in .wi{transform:none}

/* ── buttons ──────────────────────────────────────── */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:0 28px;border-radius:999px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:400;white-space:nowrap;overflow:hidden;isolation:isolate;border:1px solid var(--ink);color:var(--ink);transition:color .5s var(--ease),border-color .5s}
.btn::before{content:'';position:absolute;inset:-1px;background:var(--ink);border-radius:inherit;transform:translateY(102%);transition:transform .65s var(--ease);z-index:-1}
.btn:hover{color:var(--bg)}
.btn:hover::before{transform:none}
.btn .arr{display:inline-block;transition:transform .6s var(--ease)}
.btn:hover .arr{transform:translateX(6px)}
.btn--solid{background:var(--ink);color:var(--bg)}
.btn--solid::before{background:var(--gold)}
.btn--solid:hover{color:var(--night);border-color:var(--gold)}
.btn--sm{min-height:44px;padding:0 22px}
.link{position:relative;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:400;padding-bottom:6px;color:var(--ink)}
.link::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:100% 50%;transition:transform .6s var(--ease)}
.link:hover::after{transform:scaleX(0);transform-origin:0 50%}

/* ── film furniture: grain, cursor, curtain, preloader ─ */
.grain{position:fixed;inset:-50%;z-index:950;pointer-events:none;opacity:.075;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.1s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-6%,-2%)}80%{transform:translate(5%,4%)}100%{transform:translate(0,0)}}

.cursor{position:fixed;left:0;top:0;z-index:960;pointer-events:none;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--night);opacity:0;transition:width .5s var(--ease),height .5s var(--ease),margin .5s var(--ease),background-color .4s,opacity .4s}
.cursor.on{opacity:.9}
.cursor.is-link{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(200,164,106,.14)}
.cursor.is-label{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--gold);opacity:1}
.cursor span{opacity:0;transition:opacity .3s}
.cursor.is-label span{opacity:1}

.curtain{position:fixed;inset:0;z-index:980;background:var(--gold);color:var(--night);clip-path:inset(100% 0 0 0);pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:0 6vw;text-align:center}
.curtain.cover{clip-path:inset(0)}
.curtain__mark{width:90px;height:90px}
.curtain__label{font-family:var(--serif);font-size:clamp(34px,5vw,80px);line-height:1.05}

.pre{position:fixed;inset:0;z-index:1000;background:#030605;color:var(--cream);display:flex;align-items:center;justify-content:center}
.pre__burst{position:absolute;width:min(84vmin,680px);height:min(84vmin,680px);color:var(--gold);opacity:.9}
.pre__inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px}
.pre__word{display:flex;font-family:var(--serif);font-size:clamp(46px,7.4vw,100px);letter-spacing:.12em;line-height:1.05}
.pre__word span,.pre__sub{display:inline-block;overflow:hidden}
.pre__word i,.pre__sub i{display:inline-block;font-style:normal;transform:translateY(110%)}
.pre__sub{font-family:var(--serif);font-size:clamp(18px,2vw,26px);letter-spacing:.42em;padding-left:.42em}
.pre__count{position:absolute;left:var(--pad);bottom:5vh;font-size:11px;letter-spacing:.3em;color:var(--gold)}
.pre__tag{position:absolute;right:var(--pad);bottom:5vh;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#8d9a86}
@keyframes ray{to{stroke-dashoffset:0}}

/* ── header & menu ────────────────────────────────── */
.hdr{position:fixed;top:0;left:0;right:0;z-index:700;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 4vw;color:var(--ink);pointer-events:none;transition:transform .8s var(--ease)}
.hdr.hide{transform:translateY(-110%)}
.hdr > *{pointer-events:auto}
.logo{display:flex;align-items:center;gap:4px}
.logo__txt{display:flex;flex-direction:column;align-items:center;line-height:1;font-family:var(--serif)}
.logo__txt b{font-weight:400;font-size:22px;letter-spacing:.14em;padding-left:.14em}
.logo__txt i{font-style:normal;font-size:11px;letter-spacing:.36em;padding-left:.36em;margin-top:5px}
.logo__mark{width:20px;height:34px;color:var(--gold)}
.nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,32px);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:400;white-space:nowrap}
.nav a.nl{position:relative;padding:6px 0}
.nav a.nl::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:100% 50%;transition:transform .6s var(--ease)}
.nav a.nl:hover::after,.nav a.nl[aria-current]::after{transform:scaleX(1);transform-origin:0 50%}
.burger{display:none;width:44px;height:44px;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px}
.burger span{height:1px;background:currentColor;transition:transform .5s var(--ease),width .5s var(--ease)}
.burger span:first-child{width:24px}.burger span:last-child{width:15px}
.menu-open .burger span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-open .burger span:last-child{width:24px;transform:translateY(-4px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:690;background:var(--night);color:var(--cream);display:flex;flex-direction:column;justify-content:center;gap:2px;padding:0 8vw;clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--ease-io);pointer-events:none}
.menu-open .menu{clip-path:inset(0);pointer-events:auto}
.menu a{font-family:var(--serif);font-size:clamp(40px,11vw,64px);padding:8px 0;display:flex;align-items:baseline;gap:18px}
.menu a small{font-family:var(--sans);font-size:11px;letter-spacing:.3em;color:var(--gold)}
.menu__foot{margin-top:5vh;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#8d9a86}
@media (max-width:899px){.nav .nl{display:none}.burger{display:flex}}

/* ── spotlit plate: a render feathered into the dark ─ */
.plate{position:relative;overflow:hidden}
.plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse closest-side,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse closest-side,#000 30%,transparent 100%)}
.plate--hard img{-webkit-mask-image:none;mask-image:none}
.plate__cap{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--sub)}
.art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--gold)}
.art svg{width:100%;height:100%;overflow:visible}
.art--spin svg{animation:spin 90s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── horizontal chapters ──────────────────────────── */
.hsec{position:relative;height:100vh}
.hsec__stick{position:sticky;top:0;height:100vh;overflow:hidden}
.hsec__track{display:flex;height:100%;width:max-content}
.hsec__rail{position:absolute;left:4vw;right:4vw;bottom:4vh;display:flex;align-items:center;gap:20px;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--sub);pointer-events:none}
.hsec__rail i{flex:1;height:1px;background:var(--line);position:relative;overflow:hidden}
.hsec__rail i b{position:absolute;inset:0;background:var(--ink);transform-origin:0 50%;transform:scaleX(0)}
.hintro{flex:none;width:72vw;height:100%;display:flex;flex-direction:column;justify-content:center;gap:30px;padding:0 var(--pad)}
@media (max-width:899px){.hintro{width:100vw}}

/* ── follower gem ─────────────────────────────────── */
.follow{position:fixed;left:0;top:0;width:40vmin;height:40vmin;z-index:60;pointer-events:none;will-change:transform,opacity;opacity:0}
.follow__glow{position:absolute;inset:-35%;border-radius:50%;background:radial-gradient(circle,var(--glow,#5b4ae8) 0%,transparent 62%);opacity:.34;filter:blur(30px);transition:--glow 1s}
.follow lumiere-jewel{position:absolute;inset:0}

/* ════════ HOME ════════ */
.hero{position:relative;height:440vh}
.hero__stick{position:sticky;top:0;height:100vh;overflow:hidden;background:#07080b}
.hero__stage{position:absolute;inset:0;opacity:clamp(.3,calc(.3 + var(--p,0) * 9),1);transform:translateX(calc(clamp(0,(var(--p,0) - .8) * 6,1) * 17vw)) scale(calc(1.14 - min(var(--p,0) * 1.4,.14)));transform-origin:50% 55%}
.hero__poster,.hero__frame{position:absolute;inset:0;width:100%;height:100%}
.hero__poster{object-fit:cover;filter:blur(1.5px) saturate(1.1)}
.hero__frame{opacity:0;transition:opacity 1.6s var(--ease)}
.hero__frame.ready{opacity:1}
.hero__shade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 75% 70% at 50% 48%,transparent 40%,rgba(3,5,6,.78) 100%),linear-gradient(180deg,rgba(3,5,6,.55) 0%,transparent 22%,transparent 62%,rgba(0,26,20,.92) 100%)}
.hero__bar{position:absolute;left:0;right:0;height:9vh;background:#000;z-index:3;pointer-events:none;transform:scaleY(max(0,calc(1 - var(--p,0) * 11)))}
.hero__bar--t{top:0;transform-origin:50% 0}.hero__bar--b{bottom:0;transform-origin:50% 100%}
.hero__ui{position:absolute;inset:0;pointer-events:none;z-index:4}
.hero__mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:400;font-size:19vw;line-height:1;white-space:nowrap;color:var(--cream);letter-spacing:calc(.02em + var(--p,0) * 1.6em);padding-left:calc(var(--p,0) * 1.6em);opacity:calc(1 - var(--p,0) * 9);filter:blur(calc(var(--p,0) * 90px));mix-blend-mode:screen}
.hero__kick{position:absolute;left:4vw;top:16vh;opacity:calc(1 - var(--p,0) * 9)}
.hero__tag{position:absolute;right:4vw;top:16vh;text-align:right;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#a9a391;line-height:2;opacity:calc(1 - var(--p,0) * 9)}
.hero__scroll{position:absolute;left:50%;bottom:11.5vh;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:#C9C0AC;opacity:calc(1 - var(--p,0) * 12)}
.hero__scroll i{width:1px;height:46px;background:linear-gradient(#C9C0AC,transparent);animation:drop 2.4s var(--ease-io) infinite;transform-origin:50% 0}
@keyframes drop{0%{transform:scaleY(0)}55%{transform:scaleY(1);transform-origin:50% 0}56%{transform-origin:50% 100%}100%{transform:scaleY(0);transform-origin:50% 100%}}
.cap{position:absolute;left:var(--pad);top:50%;width:min(430px,78vw);display:flex;flex-direction:column;gap:16px;--k:clamp(0,min(calc((var(--p,0) - var(--a)) * 16),calc((var(--b) - var(--p,0)) * 16)),1);opacity:var(--k);transform:translateY(calc(-50% + (1 - var(--k)) * 34px))}
.cap__n{font-family:var(--serif);font-size:clamp(70px,8vw,130px);line-height:.8}
.cap__t{font-family:var(--serif);font-size:clamp(34px,3.6vw,60px);line-height:1}
.cap__b{font-size:15px;line-height:1.75;color:#cfc6b2;max-width:340px}
.hero__rail{position:absolute;right:4vw;top:50%;transform:translateY(-50%);height:32vh;width:1px;background:rgba(229,219,199,.18);opacity:clamp(0,calc((var(--p,0) - .08) * 12),1)}
.hero__rail b{position:absolute;inset:0;background:var(--gold);transform-origin:50% 0;transform:scaleY(var(--p,0))}
.hero__rail span{position:absolute;right:14px;font-size:10px;letter-spacing:.26em;color:#a9a391;transform:translateY(-50%)}
.hero__end{position:absolute;left:4vw;right:4vw;bottom:9vh;display:flex;justify-content:space-between;align-items:flex-end;gap:36px;flex-wrap:wrap;--k:clamp(0,calc((var(--p,0) - .82) * 9),1);opacity:var(--k);transform:translateY(calc((1 - var(--k)) * 40px))}
.hero__end h2{max-width:min(980px,54vw);font-family:var(--serif);font-weight:400;font-size:clamp(44px,5.6vw,100px);line-height:.98;color:var(--cream)}
@media (max-width:899px){.hero__end h2{max-width:none}}
.hero__end div{max-width:330px;display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.hero__end p{font-size:15px;line-height:1.75;color:#DCD3BF}
.hero__end .btn{pointer-events:auto;--ink:#E5DBC7;--bg:#013A2D}

.maison{position:relative;padding:20vh 0 16vh;overflow:hidden}
.bigline{overflow:hidden}
.bigline > div{font-family:var(--serif);font-size:17vw;line-height:1.05;white-space:nowrap;color:var(--ink)}
.bigline--out > div{font-size:11vw;line-height:1.1;color:transparent;-webkit-text-stroke:1px var(--ink)}
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw;padding:12vh var(--pad) 0;align-items:start}
.cols__txt{display:flex;flex-direction:column;gap:34px;align-items:flex-start}
.tall{position:relative;aspect-ratio:4/5;overflow:hidden}
.tall__par{position:absolute;left:0;right:0;top:-14%;bottom:-14%}
.tall__um{position:absolute;inset:0;overflow:hidden}
.tall img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.maison .tall{margin-top:22vh}
@media (max-width:899px){.cols{grid-template-columns:minmax(0,1fr)}.maison .tall{margin-top:0}}

.four .panel{position:relative;flex:none;width:100vw;height:100%;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-content:center;align-items:center;gap:5vw;padding:14vh var(--pad) 12vh;overflow:hidden}
.panel__ghost{position:absolute;left:0;bottom:-3vw;font-family:var(--serif);font-size:24vw;line-height:1;white-space:nowrap;color:transparent;-webkit-text-stroke:1px var(--line);pointer-events:none}
.panel__txt{position:relative;z-index:2;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.panel__n{font-family:var(--serif);font-size:clamp(80px,11vw,190px);line-height:.8}
.panel__name{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4.2vw,72px);line-height:1;text-wrap:balance}
.panel__fig{position:relative;z-index:1;display:block;height:70vh}
.panel__fig .plate{position:absolute;inset:0}
.panel__fig .plate img{transition:transform 1.6s var(--ease)}
.panel__fig:hover .plate img{transform:scale(1.06)}
.panel__glow{position:absolute;inset:10%;border-radius:50%;filter:blur(70px);opacity:.3}
@media (max-width:899px){.four .panel{grid-template-columns:minmax(0,1fr);padding:13vh 7vw 12vh;gap:3vh}.panel__fig{height:32vh;order:-1}.panel__n{font-size:64px}}

.stone{position:relative;padding:18vh 0 20vh;overflow:hidden}
.stone__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6vw;padding:10vh var(--pad) 0}
.stone__gem{position:relative;min-height:64vh;display:flex;align-items:flex-end}
.stone__meta{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--sub)}
.stone__txt{display:flex;flex-direction:column;gap:30px;align-items:flex-start}
.pleo{align-self:stretch;display:flex;flex-direction:column}
.pleo button{display:flex;align-items:center;gap:22px;padding:14px 0;border-top:1px solid var(--line);text-align:left;color:var(--ink);opacity:.38;transition:opacity .6s,padding-left .7s var(--ease)}
.pleo button:last-child{border-bottom:1px solid var(--line)}
.pleo button:hover{opacity:.75}
.pleo button[aria-pressed="true"]{opacity:1;padding-left:18px}
.pleo i{width:16px;height:16px;transform:rotate(45deg);flex:none;background:var(--sw);box-shadow:0 0 24px var(--sw)}
.pleo span{font-family:var(--serif);font-size:clamp(44px,5vw,84px);line-height:1}
.pleo small{margin-left:auto;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--sub)}
@media (max-width:899px){.stone__grid{grid-template-columns:minmax(0,1fr)}.stone__gem{min-height:46vh}}

.atelier .hsec__track{align-items:stretch;padding-right:8vw;gap:4vw}
.step{flex:none;width:36vw;display:flex;flex-direction:column;gap:22px;padding-top:10vh}
.step:nth-child(odd){padding-top:24vh}
.step__fig{position:relative;height:50vh;overflow:hidden}
.step__um{position:absolute;inset:0;overflow:hidden;background:#CFC4AE}
.step__um img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.step__um .art{color:#013A2D;padding:8%}
.step__cap{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start}
.step__n{font-family:var(--serif);font-size:64px;line-height:.8;color:transparent;-webkit-text-stroke:1px var(--ink)}
.step__t{font-family:var(--serif);font-size:30px;line-height:1.05}
.step__b{font-size:14.5px;line-height:1.7;color:var(--sub);max-width:420px;margin-top:8px}
@media (max-width:899px){.step{width:82vw;padding-top:12vh!important}.step__fig{height:38vh}}

.cta{position:relative;padding:22vh var(--pad) 16vh;overflow:hidden}
.rows{display:flex;flex-direction:column;align-self:stretch}
.row{display:grid;grid-template-columns:60px 1fr;gap:12px;padding:24px 0;border-top:1px solid var(--line)}
.row b{font-family:var(--serif);font-weight:400;font-size:22px;color:var(--gold)}
.row strong{display:block;font-family:var(--serif);font-weight:400;font-size:26px;margin-bottom:6px}
.row span{font-size:14.5px;line-height:1.7;color:var(--sub)}
.bq{margin-top:18vh;display:flex;flex-direction:column;gap:6vh}
.bq__item{border-top:1px solid var(--ink);padding-top:3vh;display:flex;flex-direction:column;gap:18px}
.bq__item .bigline > div{font-size:13vw;line-height:1}
.bq__meta{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:14.5px;color:var(--sub);align-items:baseline}

/* ── footer ───────────────────────────────────────── */
.ftr{position:relative;padding:16vh 5vw 36px;overflow:hidden}
.ftr__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:56px 40px}
.ftr__col{display:flex;flex-direction:column;gap:14px;font-size:14px;align-items:flex-start}
.ftr__col a,.ftr__col button{transition:opacity .4s}
.ftr__col a:hover,.ftr__col button:hover{opacity:.6}
.ftr__h{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.news{align-self:stretch;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--sage);padding-bottom:8px;max-width:440px}
.news input{flex:1;min-width:0;background:transparent;border:0;outline:none;font-size:16px;padding:10px 0}
.news input::placeholder{color:#7E8C72}
.news button{font-size:11px;letter-spacing:.24em;text-transform:uppercase;min-height:44px}
.ftr__word{display:flex;justify-content:center;margin-top:14vh;line-height:.85;font-family:var(--serif);font-size:17vw;letter-spacing:.04em;white-space:nowrap}
.ftr__base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:40px;padding-top:22px;border-top:1px solid #1F5A49;font-size:12px;letter-spacing:.12em;color:#CFC6B2}

/* ── booking drawer ───────────────────────────────── */
.book{position:fixed;inset:0;z-index:800;pointer-events:none}
.book__scrim{position:absolute;inset:0;background:#000d0a;opacity:0;transition:opacity .7s}
.book__panel{position:absolute;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--paper);color:var(--emerald);transform:translateX(105%);transition:transform .9s var(--ease-io);overflow-y:auto;overscroll-behavior:contain;padding:32px clamp(24px,4vw,48px) 44px}
.book-open .book{pointer-events:auto}
.book-open .book__scrim{opacity:.7}
.book-open .book__panel{transform:none}
.book__top{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:400}
.book__x{width:44px;height:44px;border:1px solid var(--emerald);border-radius:50%;font-size:18px;transition:background .4s,color .4s}
.book__x:hover{background:var(--emerald);color:var(--paper)}
.book__form{display:flex;flex-direction:column;gap:28px;margin-top:36px}
.book h2{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4vw,54px);line-height:1}
.book__piece{display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:#EAE2D3}
.book__piece small{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#4F5F45}
.book__piece span{font-family:var(--serif);font-size:22px}
.lab{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:#4F5F45;margin-bottom:-14px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;min-height:44px;border:1px solid var(--emerald);text-align:left;transition:background .35s,color .35s}
.opt b{font-family:var(--serif);font-weight:400;font-size:17px;line-height:1.1}
.opt small{font-size:11.5px}
.opt--c{align-items:center;padding:10px 4px}
.opt--c small{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}
.opt--c b{font-size:24px;line-height:1.15}
.opt[aria-pressed="true"],.chip[aria-pressed="true"]{background:var(--emerald);color:var(--cream)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:0 18px;min-height:44px;border:1px solid var(--emerald);border-radius:999px;font-size:13px;transition:background .35s,color .35s}
.field{background:transparent;border:0;border-bottom:1px solid currentColor;outline:none;padding:12px 0;font-size:16px;width:100%;border-radius:0}
.field::placeholder{color:#7E8C72}
textarea.field{resize:vertical;min-height:96px;line-height:1.6}
.book__go{display:flex;justify-content:center;align-items:center;gap:14px;min-height:62px;background:var(--emerald);color:var(--cream);border-radius:999px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:400;transition:background .4s}
.book__go[disabled]{background:#7E8C72;cursor:not-allowed}
.book__done{display:none;flex-direction:column;align-items:flex-start;gap:24px;margin-top:12vh}
.book__done .mk{width:110px;height:110px;color:var(--gold)}
.book__done p{font-size:16px;line-height:1.8;color:#3E4F38;max-width:420px}
.booked .book__form{display:none}.booked .book__done{display:flex}

/* ════════ PIECE ════════ */
.vit{position:relative;height:100vh;padding:92px 2.2vw 0;display:flex;flex-direction:column}
.vit__case{position:relative;flex:1;min-height:0;overflow:hidden;border-radius:3px;background:#0b0c0f;box-shadow:0 0 0 1px rgba(200,164,106,.28),0 40px 120px -20px var(--glow,#000)}
.vit__case iframe,.vit__case img{position:absolute;inset:0;width:100%;height:100%}
.vit__case img{object-fit:cover}
.vit__load{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#0b0c0f;color:var(--gold);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;transition:opacity 1s var(--ease);z-index:2}
.vit__load div{width:90px;height:90px}
.vit__load.gone{opacity:0;pointer-events:none}
.vit__strip{flex:none;display:flex;justify-content:space-between;align-items:center;gap:20px;height:56px;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--sub)}
.vit__strip b{font-weight:400;color:var(--gold)}
@media (max-width:899px){.vit{padding:84px 0 0}.vit__case{border-radius:0}.vit__strip{padding:0 5vw}.vit__strip .opt-w{display:none}}
.pinfo{position:relative;padding:12vh 0;overflow:hidden}
.pinfo__txt{display:flex;flex-direction:column;gap:26px;align-items:flex-start}
.figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw;padding:10vh var(--pad) 0}
.fig{border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:10px}
.fig b{font-family:var(--serif);font-weight:400;font-size:clamp(54px,8vw,140px);line-height:.9}
.fig span{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.price{align-self:stretch;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.price b{font-family:var(--serif);font-weight:400;font-size:28px}
.price span{font-size:12px;letter-spacing:.08em;color:var(--sub)}
.acts{display:flex;gap:12px;flex-wrap:wrap}
.specs{display:grid;grid-template-columns:minmax(100px,auto) 1fr;align-content:start}
.specs dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:400;padding:20px 22px 20px 0;border-top:1px solid var(--line)}
.specs dd{font-size:15.5px;line-height:1.6;padding:18px 0;border-top:1px solid var(--line)}
.gal .hsec__track{align-items:center;gap:3vw;padding:0 8vw 0 var(--pad)}
.gal__intro{flex:none;width:26vw;display:flex;flex-direction:column;gap:22px}
.still{flex:none;width:58vw;display:flex;flex-direction:column;gap:16px}
.still:nth-child(3n){width:42vw}
.still__f{position:relative;height:60vh;overflow:hidden;background:#000}
.still__um{position:absolute;inset:0;overflow:hidden}
.still__um img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.still__f::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 120px rgba(0,0,0,.35);pointer-events:none}
.still figcaption{display:flex;justify-content:space-between;gap:16px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--sub)}
@media (max-width:899px){.gal__intro{width:70vw}.still,.still:nth-child(3n){width:84vw}.still__f{height:40vh}.figs{grid-template-columns:minmax(0,1fr)}}
.see{position:relative;padding:18vh var(--pad);overflow:hidden;display:flex;flex-direction:column;gap:7vh;align-items:flex-start}
.see__big{text-align:left;color:var(--ink);font-family:var(--serif);font-size:clamp(52px,9vw,170px);line-height:.92}
.see__big .arr{display:inline-block;transition:transform .9s var(--ease)}
.see__big:hover .arr{transform:translateX(.25em)}
.trio{align-self:stretch;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:40px}
.trio div{display:flex;flex-direction:column;gap:12px;padding-top:22px;border-top:1px solid var(--ink)}
.trio b{font-family:var(--serif);font-weight:400;font-size:26px}
.trio span{font-size:14.5px;line-height:1.75;color:var(--sub)}
.next{position:relative;height:100vh;overflow:hidden;display:block}
.next__glow{position:absolute;left:50%;top:50%;width:90vmin;height:90vmin;margin:-45vmin 0 0 -45vmin;border-radius:50%;filter:blur(90px);opacity:.35}
.next .plate{position:absolute;left:50%;top:46%;width:min(86vw,1100px);height:70vh;transform:translate(-50%,-50%)}
.next .plate img{transition:transform 2s var(--ease)}
.next:hover .plate img{transform:scale(1.05)}
.next__txt{position:absolute;left:var(--pad);right:var(--pad);bottom:9vh;display:flex;flex-direction:column;gap:18px;color:var(--paper)}
.next__txt span:last-child{font-family:var(--serif);font-size:clamp(48px,8vw,150px);line-height:.92}

/* ════════ MAISON / BESPOKE ════════ */
.title{position:relative;min-height:100vh;padding:24vh var(--pad) 10vh;display:flex;flex-direction:column;justify-content:flex-end;gap:5vh;overflow:hidden}
.title__burst{position:absolute;right:-18vmin;top:-10vmin;width:110vmin;height:110vmin;color:var(--gold);opacity:.5;pointer-events:none}
.title h1{font-family:var(--serif);font-weight:400;font-size:clamp(64px,13vw,250px);line-height:.88;max-width:14ch}
.title__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;flex-wrap:wrap}
.chap{position:relative;padding:16vh var(--pad);overflow:hidden}
.chap__head{display:flex;align-items:baseline;gap:3vw;margin-bottom:9vh;border-top:1px solid var(--line);padding-top:26px}
.chap__head b{font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.6vw,26px);color:var(--gold);min-width:3ch}
.chap .cols{padding:0}
.wide-art{position:relative;height:min(64vh,56vw);margin-top:10vh;color:var(--gold)}
.tl{display:flex;flex-direction:column}
.tl__i{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1fr) minmax(0,.9fr);gap:4vw;align-items:center;padding:6vh 0;border-top:1px solid var(--line)}
.tl__n{font-family:var(--serif);font-size:clamp(80px,12vw,210px);line-height:.8}
.tl__t{font-family:var(--serif);font-size:clamp(32px,3.4vw,56px);line-height:1;margin-bottom:14px}
.tl__f{position:relative;aspect-ratio:16/10;overflow:hidden;background:#CFC4AE}
.tl__f img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tl__f .art{color:#013A2D;padding:8%}
@media (max-width:899px){.tl__i{grid-template-columns:minmax(0,1fr);gap:3vh}.tl__n{font-size:72px}}
.enq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7vw;align-items:start}
.enq form{display:flex;flex-direction:column;gap:30px}
.enq .lab{color:var(--sub)}
.enq .chip,.enq .opt{border-color:var(--ink)}
.enq .chip[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.enq__done{display:none;flex-direction:column;gap:22px;align-items:flex-start}
.enq.sent form{display:none}.enq.sent .enq__done{display:flex}
.enq__done .mk{width:110px;height:110px;color:var(--gold)}
@media (max-width:899px){.enq{grid-template-columns:minmax(0,1fr)}}
.sticky-side{position:sticky;top:18vh;display:flex;flex-direction:column;gap:28px;align-items:flex-start}

@media (prefers-reduced-motion:reduce){
  .grain,.hero__scroll i,.art--spin svg{animation:none}
  .wi{transition:none;transform:none}
}

/* ── small screens ── */
@media (max-width:899px){
  .hero__tag{display:none}
  .hero__poster{object-fit:contain;transform:scale(1.9);-webkit-mask-image:radial-gradient(ellipse closest-side,#000 45%,transparent 100%);mask-image:radial-gradient(ellipse closest-side,#000 45%,transparent 100%)}
  .cap{top:auto;bottom:16vh;transform:translateY(calc((1 - var(--k)) * 34px))}
  .cap__n{font-size:54px}
  .hero__rail{display:none}
  .stone__gem{min-height:0}
  .stone{padding-top:14vh}
}
@media (max-width:520px){.bk-l{display:none}.hdr{padding:16px 5vw}}
