/* Joy's Box V11 — luxury hero / header / fullscreen menu / refined loader / approach / closing */
:root{--v11-ink:#0a0a09;--v11-cream:#f3efe5;--v11-gold:#c0a156;--v11-line:rgba(255,255,255,.16);--serif:'Instrument Serif',Georgia,serif}

/* ---------- Loader ---------- */
body.is-loading{overflow:hidden}
.lux-loader{position:fixed;inset:0;z-index:1000;background:#090908;color:#f7f2e8;display:grid;place-items:center;overflow:hidden}
.lux-loader__panel{position:absolute;left:0;width:100%;height:50%;background:#090908;z-index:1;will-change:transform}
.lux-loader__panel--top{top:0}.lux-loader__panel--bottom{bottom:0}
.lux-loader__content{position:relative;z-index:3;width:min(520px,72vw);display:flex;flex-direction:column;align-items:center;gap:42px;transition:opacity .35s ease,transform .55s cubic-bezier(.7,0,.2,1)}
.lux-loader__mark{position:relative;width:92px;height:80px;display:grid;place-items:center;overflow:hidden}
.lux-loader__mark img{width:82px;height:auto;display:block;opacity:.94}
.lux-loader__mark i{position:absolute;left:-10%;right:-10%;height:1px;top:0;background:linear-gradient(90deg,transparent,var(--v11-gold),transparent);box-shadow:0 0 18px rgba(192,161,86,.8);animation:loaderScan 1.05s cubic-bezier(.45,0,.25,1) infinite}
.lux-loader__meta{width:100%;padding-top:14px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:20px;font:700 7px/1 var(--sans);letter-spacing:.18em;color:#87837b}
.lux-loader__meta span:first-child{color:#e7dcc0}
.lux-loader.is-leaving .lux-loader__content{opacity:0;transform:translateY(-10px)}
.lux-loader.is-leaving .lux-loader__panel--top{transform:translateY(-101%);transition:transform .78s cubic-bezier(.76,0,.24,1) .15s}
.lux-loader.is-leaving .lux-loader__panel--bottom{transform:translateY(101%);transition:transform .78s cubic-bezier(.76,0,.24,1) .15s}
@keyframes loaderScan{0%{transform:translateY(-10px);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateY(88px);opacity:0}}

/* ---------- Header ---------- */
.site-header.site-header-v11{position:fixed;z-index:250;top:0;left:0;right:0;padding:18px 22px;pointer-events:none;transition:padding .35s ease}
.site-header-v11 .header-shell{pointer-events:auto;height:62px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px;border:1px solid transparent;border-radius:18px;transition:background .35s ease,border-color .35s ease,backdrop-filter .35s ease,transform .35s ease,box-shadow .35s ease}
.site-header-v11.is-scrolled{padding:12px 18px}
.site-header-v11.is-scrolled .header-shell{background:rgba(9,9,8,.78);border-color:rgba(255,255,255,.12);backdrop-filter:blur(18px) saturate(120%);box-shadow:0 16px 45px rgba(0,0,0,.14)}
.site-header-v11 .brand-logo{width:56px;height:50px;display:flex;align-items:center;justify-content:flex-start}
.site-header-v11 .brand-logo img{width:49px;height:auto;opacity:1!important;position:static}
.header-mini{justify-self:center;display:flex;align-items:center;gap:30px;font:700 7px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#f3eee4}
.header-mini a{position:relative;padding:8px 0}.header-mini a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--v11-gold);transition:right .3s ease}.header-mini a:hover:after{right:0}
.menu-toggle-v11{justify-self:end;width:auto;height:42px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(0,0,0,.14);color:#fff;display:flex;align-items:center;gap:13px;padding:0 15px 0 17px;font:700 7px/1 var(--sans);letter-spacing:.16em;backdrop-filter:blur(8px);transition:background .25s ease,border-color .25s ease,color .25s ease}
.menu-toggle-v11 i{width:13px;height:1px;background:currentColor;display:block}.menu-toggle-v11 i:last-child{margin-left:-26px;transform:rotate(90deg)}
.menu-toggle-v11:hover{background:#f2ede2;color:#0a0a09;border-color:#f2ede2}
body.menu-open .site-header-v11{opacity:0;pointer-events:none;transition:opacity .18s ease}

/* ---------- Fullscreen menu ---------- */
.menu-backdrop{display:none!important}
.menu-drawer.menu-full{position:fixed;z-index:400;inset:0;width:100%;height:100svh;background:#0a0a09;color:#f2ede3;border:0;border-radius:0;padding:20px 24px 22px;display:grid;grid-template-rows:auto 1fr auto;opacity:1;visibility:hidden;pointer-events:none;transform:none;clip-path:inset(0 0 100% 0);transition:clip-path .72s cubic-bezier(.76,0,.24,1),visibility .72s;overflow:hidden}
.menu-drawer.menu-full.is-open{visibility:visible;pointer-events:auto;clip-path:inset(0)}
.menu-full__top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4px 18px;border-bottom:1px solid rgba(255,255,255,.14)}
.menu-full__top>a img{width:54px;height:auto}.menu-full__top-meta{display:flex;gap:28px;font:700 7px/1 var(--sans);letter-spacing:.15em;color:#77746e}.menu-full__top-meta span:first-child{color:#c8b787}
.menu-close-v11{justify-self:end;width:48px;height:48px;border:1px solid rgba(255,255,255,.24);border-radius:50%;position:relative;background:transparent;color:#fff;transition:background .25s ease,color .25s ease,transform .3s ease}.menu-close-v11:hover{background:#f2ede3;color:#111;transform:rotate(5deg)}.menu-close-v11 span{position:absolute;left:14px;right:14px;top:23px;height:1px;background:currentColor}.menu-close-v11 span:first-child{transform:rotate(45deg)}.menu-close-v11 span:last-child{transform:rotate(-45deg)}
.menu-full__body{min-height:0;display:grid;grid-template-columns:minmax(470px,.94fr) minmax(360px,.72fr);gap:clamp(36px,6vw,110px);align-items:center;padding:5vh 5vw 4vh 4vw}
.menu-full__nav{display:flex;flex-direction:column}.menu-full__nav a{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:baseline;gap:18px;border-bottom:1px solid rgba(255,255,255,.13);padding:12px 0 10px;transition:padding .3s ease,color .3s ease,opacity .3s ease}.menu-full__nav a:first-child{border-top:1px solid rgba(255,255,255,.13)}
.menu-full__nav em{font:700 7px/1 var(--sans);font-style:normal;letter-spacing:.14em;color:var(--v11-gold)}.menu-full__nav span{font:500 clamp(48px,5.35vw,92px)/.84 var(--cond);letter-spacing:-.03em;text-transform:uppercase}.menu-full__nav small{font:600 8px/1 var(--sans);letter-spacing:.13em;color:#75716a;text-transform:uppercase;white-space:nowrap}.menu-full__nav a:hover{padding-left:12px;color:#d6bc70}.menu-full__nav:hover a:not(:hover){opacity:.34}
.menu-full__visual{position:relative;height:min(66vh,690px);border-radius:2px;overflow:hidden;background:#161512}.menu-full__visual img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .22s ease,transform .85s cubic-bezier(.2,.7,.2,1);transform:scale(1.025)}.menu-full__visual.is-changing img{opacity:.18;transform:scale(1.045)}.menu-full__visual-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.42))}.menu-full__visual-caption{position:absolute;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;align-items:end;border-top:1px solid rgba(255,255,255,.24);padding-top:11px;font:700 7px/1 var(--sans);letter-spacing:.14em}.menu-full__visual-caption span{color:#d5bb70}.menu-full__visual-caption b{font-weight:700;color:#fff}
.menu-full__foot{display:grid;grid-template-columns:auto auto 1fr;gap:28px;align-items:center;border-top:1px solid rgba(255,255,255,.14);padding:18px 4px 0;font:700 7px/1 var(--sans);letter-spacing:.13em;color:#aaa69d}.menu-full__foot span{justify-self:end;color:#65625c}
.menu-drawer.menu-full .menu-full__nav a,.menu-drawer.menu-full .menu-full__visual{opacity:0;transform:translateY(22px)}.menu-drawer.menu-full.is-open .menu-full__nav a,.menu-drawer.menu-full.is-open .menu-full__visual{opacity:1;transform:none;transition-property:opacity,transform,padding,color;transition-duration:.55s,.55s,.3s,.3s;transition-timing-function:cubic-bezier(.22,.8,.22,1)}.menu-drawer.menu-full.is-open .menu-full__nav a:nth-child(1){transition-delay:.14s}.menu-drawer.menu-full.is-open .menu-full__nav a:nth-child(2){transition-delay:.18s}.menu-drawer.menu-full.is-open .menu-full__nav a:nth-child(3){transition-delay:.22s}.menu-drawer.menu-full.is-open .menu-full__nav a:nth-child(4){transition-delay:.26s}.menu-drawer.menu-full.is-open .menu-full__nav a:nth-child(5){transition-delay:.30s}.menu-drawer.menu-full.is-open .menu-full__nav a:nth-child(6){transition-delay:.34s}.menu-drawer.menu-full.is-open .menu-full__visual{transition-delay:.2s}

/* ---------- Hero ---------- */
.hero.hero-v11{position:relative;height:100svh;min-height:760px;background:#090908;color:#f6f1e8;overflow:hidden;isolation:isolate;padding:0}
.hero-v11__media{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-v11__media img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transform:scale(1.025);filter:saturate(.88) contrast(1.02)}
.hero-v11__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,4,.75) 0%,rgba(4,4,4,.38) 39%,rgba(4,4,4,.12) 72%,rgba(4,4,4,.25) 100%),linear-gradient(180deg,rgba(0,0,0,.32),transparent 27%,transparent 62%,rgba(0,0,0,.7))}
.hero-v11__frame{position:absolute;inset:92px 24px 24px;border:1px solid rgba(255,255,255,.19);pointer-events:none}
.hero-v11__topline{position:absolute;z-index:2;top:113px;left:44px;right:44px;display:flex;justify-content:space-between;gap:25px;font:700 7px/1 var(--sans);letter-spacing:.16em;color:#b4afa6}.hero-v11__topline span:last-child{color:#d7bf7a}
.hero-v11__copy{position:absolute;z-index:2;left:clamp(38px,5vw,88px);right:clamp(38px,5vw,88px);bottom:clamp(55px,7vh,92px)}
.hero-v11__eyebrow{margin:0 0 22px;font:700 8px/1 var(--sans);letter-spacing:.18em;color:#c6b985}
.hero-v11__title{margin:0;max-width:1340px}.hero-v11__line{display:block;overflow:hidden;white-space:nowrap}.hero-v11__line b{font:500 clamp(74px,10.5vw,176px)/.74 var(--cond);letter-spacing:-.048em;text-transform:uppercase}.hero-v11__line i{font:italic clamp(73px,10.2vw,170px)/.72 var(--serif);letter-spacing:-.055em;color:#d4b65f;font-weight:400}
.hero-v11__footer{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.22)}.hero-v11__footer p{margin:0;max-width:510px;color:#bbb6ad;font:500 11px/1.65 var(--sans)}.hero-v11__footer a{display:flex;gap:16px;align-items:center;font:700 7px/1 var(--sans);letter-spacing:.15em}.hero-v11__footer a b{font:400 17px/1 var(--sans);color:#d5bb70;transition:transform .25s ease}.hero-v11__footer a:hover b{transform:translateY(4px)}
.hero-v11__index{position:absolute;z-index:2;right:44px;top:50%;transform:translateY(-50%);height:160px;display:flex;flex-direction:column;align-items:center;gap:12px;font:700 7px/1 var(--sans);letter-spacing:.12em;color:#b1aca3}.hero-v11__index i{width:1px;flex:1;background:linear-gradient(#d5bb70,rgba(255,255,255,.16))}
.js .hero-v11__media{clip-path:inset(0 0 100% 0)}.js .hero-v11__line b,.js .hero-v11__line i{display:inline-block;transform:translateY(110%)}.js .hero-v11__topline,.js .hero-v11__eyebrow,.js .hero-v11__footer,.js .hero-v11__index{opacity:0;transform:translateY(12px)}.js .hero-v11__index{transform:translateY(calc(-50% + 12px))}
body.is-ready .hero-v11__media{clip-path:inset(0);transition:clip-path 1.05s cubic-bezier(.76,0,.24,1)}
body.is-ready .hero-v11__line b,body.is-ready .hero-v11__line i{transform:none;transition:transform .9s cubic-bezier(.16,1,.3,1) .28s}.body-ready{}
body.is-ready .hero-v11__line:nth-child(2) b,body.is-ready .hero-v11__line:nth-child(2) i{transition-delay:.38s}
body.is-ready .hero-v11__topline,body.is-ready .hero-v11__eyebrow,body.is-ready .hero-v11__footer,body.is-ready .hero-v11__index{opacity:1;transform:none;transition:opacity .6s ease .48s,transform .7s cubic-bezier(.16,1,.3,1) .48s}.js body.is-ready .hero-v11__index{transform:translateY(-50%)}

/* ---------- Approach triptych ---------- */
.process-triptych{padding:138px var(--pad) 124px;background:#f3efe5;color:#0b0b0a;overflow:hidden}
.process-triptych__intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.48fr);gap:8vw;align-items:end;margin-bottom:72px}.process-triptych__intro h2{margin:15px 0 0;font:500 clamp(72px,8.4vw,132px)/.77 var(--cond);letter-spacing:-.04em;text-transform:uppercase}.process-triptych__intro h2 i{font:italic .92em/.8 var(--serif);font-weight:400;color:#a98328;text-transform:none;letter-spacing:-.035em}.process-triptych__intro>p{margin:0 0 10px;color:#5f5b54;font:500 13px/1.75 var(--sans);max-width:470px}
.process-triptych__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.process-panel{position:relative;height:clamp(560px,56vw,790px);overflow:hidden;background:#111;color:#fff;border-radius:2px}.process-panel--lift{margin-top:56px}.process-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s ease}.process-panel:hover img{transform:scale(1.028);filter:saturate(1)}.process-panel__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 18%,rgba(0,0,0,.17) 50%,rgba(0,0,0,.86) 100%)}.process-panel__number{position:absolute;top:18px;right:18px;font:700 8px/1 var(--sans);letter-spacing:.14em;color:#e2ca86}.process-panel__copy{position:absolute;left:22px;right:22px;bottom:24px}.process-panel__copy>small{display:block;margin-bottom:12px;font:700 8px/1 var(--sans);letter-spacing:.16em;color:#d1b565}.process-panel__copy h3{margin:0 0 22px;font:600 clamp(35px,3vw,53px)/.85 var(--cond);letter-spacing:-.025em;text-transform:uppercase}.process-panel__steps{display:flex;gap:12px;padding-top:16px;border-top:1px solid rgba(255,255,255,.24);font:700 8px/1 var(--sans);letter-spacing:.12em}.process-panel__steps span{display:flex;gap:7px;align-items:center}.process-panel__steps b{color:#d7bc6b}.process-panel__copy p{margin:14px 0 0;color:#aaa69e;font:500 10px/1.55 var(--sans);max-width:94%}
.process-triptych__rail{margin-top:76px;display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto;gap:13px;align-items:center;font:700 7px/1 var(--sans);letter-spacing:.14em;color:#736e65}.process-triptych__rail i{height:1px;background:linear-gradient(90deg,#c0a156,rgba(10,10,9,.15))}

/* old process hidden if any stale markup survives */
.process-run{display:none!important}

/* ---------- Footer / closing ---------- */
.closing.closing-v11{background:#090908;color:#f4efe5;padding:16px var(--pad) 18px}
.closing-v11__image{position:relative;height:clamp(230px,30vw,460px);overflow:hidden;border-radius:2px}.closing-v11__image img{width:100%;height:100%;object-fit:cover;object-position:center 62%;filter:saturate(.82)}.closing-v11__image>div{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.45))}.closing-v11__image>span{position:absolute;left:18px;bottom:16px;font:700 7px/1 var(--sans);letter-spacing:.15em;color:#eee7da}
.closing-v11__contact{display:grid;grid-template-columns:.38fr 1fr;gap:8vw;align-items:end;padding:58px 0 46px;border-bottom:1px solid rgba(255,255,255,.14)}.closing-v11__brand{display:flex;align-items:end;gap:28px}.closing-v11__brand img{width:85px;height:auto}.closing-v11__brand span{font:700 7px/1 var(--sans);letter-spacing:.16em;color:#8d8981;padding-bottom:3px}.closing-v11__cta p{margin:0 0 18px;color:#918d85;font:500 11px/1.6 var(--sans)}.closing-v11__cta>a{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:17px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);font:500 clamp(35px,4.8vw,74px)/.9 var(--cond);letter-spacing:-.025em}.closing-v11__cta>a b{font:400 24px/1 var(--sans);color:#d0b364;transition:transform .25s ease}.closing-v11__cta>a:hover b{transform:translate(4px,-4px)}
.footer-v11{padding:20px 0 2px;display:grid;grid-template-columns:1fr auto;gap:15px 30px;align-items:start}.footer-v11 nav,.footer-v11__social{display:flex;flex-wrap:wrap;gap:21px;font:700 7px/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#aaa69e}.footer-v11__social{justify-content:flex-end;color:#d8d2c8}.footer-v11__meta{grid-column:1/-1;margin-top:13px;padding-top:15px;border-top:1px solid rgba(255,255,255,.09);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;font:700 6.5px/1 var(--sans);letter-spacing:.14em;color:#64615b}.footer-v11__meta span:nth-child(2){justify-self:center}.footer-v11__meta a{justify-self:end;color:#9b978f}
.footer-v10{display:none!important}

/* ---------- Performance + interaction cleanup ---------- */
.hero-v11,.menu-full,.process-triptych,.closing-v11{contain:layout paint}
.hero-v11__media img,.process-panel img,.menu-full__visual img{will-change:auto}

@media(max-width:1050px){
  .header-mini{display:none}.site-header-v11 .header-shell{grid-template-columns:1fr auto}
  .menu-full__body{grid-template-columns:1fr minmax(290px,.62fr);gap:34px;padding-left:1vw;padding-right:1vw}.menu-full__nav span{font-size:7vw}
  .process-triptych__grid{gap:9px}.process-panel{height:610px}.process-panel--lift{margin-top:32px}
}
@media(max-width:720px){
  .lux-loader__content{width:78vw;gap:30px}.lux-loader__mark{width:76px;height:68px}.lux-loader__mark img{width:67px}.lux-loader__meta{font-size:5.5px;gap:12px}
  .site-header.site-header-v11{padding:11px 12px}.site-header-v11.is-scrolled{padding:8px 10px}.site-header-v11 .header-shell{height:54px;padding:0 8px;border-radius:14px}.site-header-v11 .brand-logo{width:45px;height:42px}.site-header-v11 .brand-logo img{width:40px}.menu-toggle-v11{height:36px;padding:0 12px 0 14px;font-size:6.5px}
  .menu-drawer.menu-full{padding:12px 14px 16px}.menu-full__top{grid-template-columns:1fr auto;padding-bottom:12px}.menu-full__top-meta{display:none}.menu-full__top>a img{width:44px}.menu-close-v11{width:40px;height:40px}.menu-close-v11 span{left:12px;right:12px;top:19px}.menu-full__body{display:block;padding:4vh 0 3vh}.menu-full__visual{display:none}.menu-full__nav a{grid-template-columns:28px 1fr;gap:8px;padding:12px 2px}.menu-full__nav small{display:none}.menu-full__nav span{font-size:14vw;line-height:.82}.menu-full__nav em{font-size:6px}.menu-full__foot{grid-template-columns:1fr 1fr;gap:10px 16px;font-size:6px}.menu-full__foot span{grid-column:1/-1;justify-self:start;margin-top:5px}
  .hero.hero-v11{min-height:700px}.hero-v11__frame{inset:76px 12px 12px}.hero-v11__topline{top:92px;left:25px;right:25px;font-size:5.7px}.hero-v11__topline span:last-child{display:none}.hero-v11__copy{left:25px;right:25px;bottom:42px}.hero-v11__eyebrow{font-size:6px;margin-bottom:15px}.hero-v11__line{white-space:normal}.hero-v11__line b,.hero-v11__line i{font-size:17.1vw;line-height:.79}.hero-v11__footer{margin-top:22px;align-items:flex-start}.hero-v11__footer p{max-width:245px;font-size:8px;line-height:1.55}.hero-v11__footer a span{display:none}.hero-v11__index{display:none}
  .process-triptych{padding:90px 18px 78px}.process-triptych__intro{grid-template-columns:1fr;gap:22px;margin-bottom:40px}.process-triptych__intro h2{font-size:16vw}.process-triptych__intro>p{font-size:11px}.process-triptych__grid{grid-template-columns:1fr;gap:10px}.process-panel,.process-panel--lift{height:112vw;min-height:470px;max-height:620px;margin-top:0}.process-panel__copy h3{font-size:11vw}.process-triptych__rail{display:none}
  .closing.closing-v11{padding:10px 12px 14px}.closing-v11__image{height:62vw;min-height:220px}.closing-v11__contact{grid-template-columns:1fr;padding:38px 0 30px;gap:32px}.closing-v11__brand{justify-content:space-between}.closing-v11__brand img{width:70px}.closing-v11__cta>a{font-size:9vw}.footer-v11{grid-template-columns:1fr;gap:18px}.footer-v11__social{justify-content:flex-start}.footer-v11__meta{grid-template-columns:1fr auto}.footer-v11__meta span:nth-child(2){display:none}
}
@media(prefers-reduced-motion:reduce){
  .lux-loader__mark i{animation:none}.menu-drawer.menu-full,.menu-full__nav a,.menu-full__visual,.hero-v11__media,.hero-v11__line b,.hero-v11__line i,.hero-intro{transition:none!important;transform:none!important;clip-path:none!important;opacity:1!important}
}
