/* Joy's Box V14 — transparent adaptive header + cinematic aperture preloader */
:root{--v14-gold:#c0a156;--v14-ink:#0a0a09;--v14-paper:#f3efe5;--header-ink:#f7f2e9}

/* ---------- Preloader: stage aperture, no fake progress ---------- */
body.is-loading{overflow:hidden}
.preloader-v14{position:fixed;inset:0;z-index:3000;pointer-events:auto;overflow:hidden;color:#f8f4ec;isolation:isolate}
.preloader-v14__panel{position:absolute;z-index:-1;left:0;width:100%;height:50.2%;background:#080807;will-change:transform}
.preloader-v14__panel--top{top:0}.preloader-v14__panel--bottom{bottom:0}
.preloader-v14__center{position:absolute;left:50%;top:50%;width:min(320px,72vw);transform:translate(-50%,-50%);display:grid;justify-items:center;text-align:center}
.preloader-v14__mark{width:clamp(72px,6vw,94px);opacity:0;transform:translateY(14px) scale(.985);will-change:transform,opacity}
.preloader-v14__mark img{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 38px rgba(192,161,86,.12))}
.preloader-v14__rule{width:100%;height:1px;margin:24px 0 13px;background:rgba(255,255,255,.12);overflow:hidden}
.preloader-v14__rule i{display:block;width:100%;height:100%;background:linear-gradient(90deg,transparent 0,#9d7d35 18%,#dfc87f 50%,#9d7d35 82%,transparent 100%);transform:scaleX(0);transform-origin:50% 50%;will-change:transform}
.preloader-v14__meta{width:100%;display:flex;justify-content:space-between;font:700 6.5px/1 var(--sans);letter-spacing:.2em;color:rgba(255,255,255,.48);opacity:0}
.preloader-v14__corner{position:absolute;font:700 6px/1 var(--sans);letter-spacing:.2em;color:rgba(255,255,255,.25);opacity:0}
.preloader-v14__corner--tl{left:28px;top:28px}.preloader-v14__corner--br{right:28px;bottom:28px}
.preloader-v14::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(192,161,86,.38) 36%,rgba(192,161,86,.75) 50%,rgba(192,161,86,.38) 64%,transparent);transform:scaleY(0);transform-origin:center;opacity:.8;pointer-events:none}
.preloader-v14.is-armed::after{animation:v14Seam 1.05s cubic-bezier(.65,0,.35,1) both}
@keyframes v14Seam{0%{transform:scaleY(0);opacity:0}35%{transform:scaleY(1);opacity:.9}100%{transform:scaleY(1);opacity:.35}}

/* ---------- Header: no plate/background; color adapts to the section under it ---------- */
.site-header.header-v14{position:fixed;z-index:700;top:22px;left:28px;right:28px;height:68px;padding:0;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:var(--header-ink);mix-blend-mode:normal;pointer-events:none;display:block;grid-template-columns:none;align-items:initial;transition:color .28s ease,transform .36s cubic-bezier(.22,.8,.22,1),top .3s ease}
.header-v14__inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0;border:0!important;background:transparent!important;pointer-events:none}
.brand-logo-v14,.header-v14__nav,.menu-toggle-v14{pointer-events:auto}
.brand-logo-v14{position:relative;display:block;width:58px;height:58px;filter:drop-shadow(0 8px 20px rgba(0,0,0,.10))}
.brand-logo-v14 img{position:absolute;inset:0;width:54px;height:auto;display:block;transition:opacity .28s ease,transform .35s cubic-bezier(.2,.7,.2,1)}
.brand-logo-v14__dark{opacity:0}.brand-logo-v14__light{opacity:1}
.brand-logo-v14:hover img{transform:translateY(-2px)}
.header-v14__nav{display:flex;align-items:center;gap:34px}
.header-v14__nav a{position:relative;padding:8px 0;color:inherit;font:700 6.5px/1 var(--sans);letter-spacing:.19em;text-transform:uppercase;text-shadow:0 1px 18px rgba(0,0,0,.10)}
.header-v14__nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--v14-gold);transition:right .32s cubic-bezier(.22,.8,.22,1)}
.header-v14__nav a:hover::after{right:0}
.menu-toggle-v14{justify-self:end;height:46px;min-width:112px;padding:0 16px 0 18px;border:1px solid color-mix(in srgb,currentColor 38%,transparent);border-radius:999px;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:18px;font:700 6.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:color .28s ease,border-color .28s ease,transform .28s cubic-bezier(.22,.8,.22,1),background .28s ease}
.menu-toggle-v14:hover{transform:translateY(-2px);border-color:var(--v14-gold);background:color-mix(in srgb,var(--v14-gold) 8%,transparent)}
.menu-toggle-v14 b{position:relative;width:25px;height:13px;display:block}
.menu-toggle-v14 b i{position:absolute;right:0;height:1px;background:currentColor;transition:width .3s ease,transform .3s ease}
.menu-toggle-v14 b i:first-child{top:3px;width:25px}.menu-toggle-v14 b i:last-child{bottom:3px;width:15px}.menu-toggle-v14:hover b i:last-child{width:25px}
.site-header.header-v14.is-light{--header-ink:#11110f;color:var(--header-ink)}
.site-header.header-v14.is-light .brand-logo-v14__dark{opacity:1}.site-header.header-v14.is-light .brand-logo-v14__light{opacity:0}
.site-header.header-v14:not(.is-light) .brand-logo-v14__dark{opacity:0}.site-header.header-v14:not(.is-light) .brand-logo-v14__light{opacity:1}
.site-header.header-v14.is-scrolled{top:16px;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
body.menu-open .site-header.header-v14{transform:translateY(calc(-100% - 44px))}

/* Make the menu takeover feel connected to the transparent header. */
.menu-full-v12{z-index:1200}
.menu-v12__bar{height:90px}
.menu-v12__nav a{transition:padding-left .32s cubic-bezier(.22,.8,.22,1),color .25s ease,opacity .25s ease,letter-spacing .28s ease}
.menu-v12__nav a:hover{padding-left:14px}

/* Prevent old V12/V13 header surfaces from leaking through. */
.site-header.header-v14 .header-v12__inner,.site-header.header-v14 .header-v14__inner{background:none!important;box-shadow:none!important;backdrop-filter:none!important}

@media(max-width:900px){
  .site-header.header-v14{left:18px;right:18px;top:18px;height:62px}.header-v14__nav{display:none}.header-v14__inner{grid-template-columns:1fr auto}.brand-logo-v14{width:52px;height:52px}.brand-logo-v14 img{width:48px}.menu-toggle-v14{min-width:102px;height:42px}
}
@media(max-width:700px){
  .site-header.header-v14{left:14px;right:14px;top:14px;height:56px}.brand-logo-v14{width:46px;height:46px}.brand-logo-v14 img{width:42px}.menu-toggle-v14{height:40px;min-width:92px;padding:0 13px 0 15px;gap:12px;font-size:6px}.menu-toggle-v14 b{width:21px}.menu-toggle-v14 b i:first-child{width:21px}.menu-toggle-v14 b i:last-child{width:13px}.menu-toggle-v14:hover b i:last-child{width:21px}
  .preloader-v14__center{width:min(270px,74vw)}.preloader-v14__corner{font-size:5.5px}.preloader-v14__corner--tl{left:18px;top:20px}.preloader-v14__corner--br{right:18px;bottom:20px}.preloader-v14__mark{width:70px}
}
@media(prefers-reduced-motion:reduce){.brand-logo-v14 img,.menu-toggle-v14,.header-v14__nav a::after{transition:none!important}.preloader-v14::after{animation:none!important}}
