/* ============ NAV ============ */
.nav{
position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);
display:flex;align-items:center;justify-content:space-between;
padding-inline:var(--pad);
transition:background .35s ease,box-shadow .35s ease,height .35s ease;
}
.nav::before{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:var(--line);opacity:0;transition:opacity .3s}
.nav.is-scrolled{background:var(--bg);box-shadow:0 1px 0 rgba(0,0,0,.02);height:60px}
.nav.is-scrolled::before{opacity:1}
.nav__logo{font-family:var(--serif);font-weight:400;font-size:1.15rem;letter-spacing:.14em;color:var(--bg);transition:color .3s;display:flex;align-items:center;gap:.6em}
.nav__logo-img{width:34px;height:34px;object-fit:contain;flex:none}
.nav.is-scrolled .nav__logo{color:var(--ink)}
.nav__links{display:flex;gap:2.2rem;align-items:center}
.nav__link{font-size:.82rem;font-weight:500;letter-spacing:.04em;color:var(--bg);opacity:.85;position:relative;padding-block:.4em;transition:color .3s,opacity .3s;white-space:nowrap}
.nav__link::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .3s}
.nav__link:hover{opacity:1}
.nav__link:hover::after{width:100%}
.nav.is-scrolled .nav__link{color:var(--ink)}
.nav__cta{font-size:.8rem;font-weight:500;letter-spacing:.04em;color:var(--bg);border:1px solid rgba(245,242,236,.4);padding:.55em 1.1em;transition:all .3s;white-space:nowrap}
.nav__cta:hover{background:var(--accent);border-color:var(--accent);color:var(--ink-inv)}
.nav.is-scrolled .nav__cta{color:var(--ink);border-color:var(--line)}
.nav.is-scrolled .nav__cta:hover{background:var(--accent);border-color:var(--accent);color:var(--ink-inv)}
.nav__burger{display:none;font-size:.8rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--bg);padding:.5em;min-height:44px}
.nav__cta--m{display:none;font-size:.75rem;padding:.6em .9em;min-height:44px;align-items:center}
.nav.is-scrolled .nav__burger{color:var(--ink)}

/* mobile menu overlay */
.menu{
position:fixed;inset:0;z-index:99;background:var(--bg-dark);color:var(--ink-inv);
display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,6vw,60px);
opacity:0;pointer-events:none;transition:opacity .4s ease;
}
.menu.is-open{opacity:1;pointer-events:auto}
.menu__close{position:absolute;top:var(--pad);right:var(--pad);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;padding:.5em}
.menu__item{display:block;padding-block:.5em;border-bottom:1px solid rgba(245,242,236,.08)}
.menu__link{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,7vw,4.5rem);line-height:1.1;display:flex;align-items:baseline;gap:1rem;transition:color .3s}
.menu__num{font-family:var(--sans);font-size:.7rem;letter-spacing:.25em;opacity:.5;flex:none;min-width:2.2em}
.menu__link:hover{color:var(--accent)}
.menu__foot{margin-top:auto;padding-top:2rem;border-top:1px solid rgba(245,242,236,.1);font-size:.85rem;opacity:.6}

/* scroll progress */
.progress{position:fixed;inset:0 0 auto 0;height:2px;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);z-index:101;will-change:transform}

/* hero */
.hero{
min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;
background:var(--bg-dark);color:var(--ink-inv);
padding:calc(var(--nav-h) + 4vh) var(--pad) 0;
position:relative;overflow:hidden;
}
.hero__img{position:absolute;inset:0;z-index:0}
.hero__img img{width:100%;height:100%;object-fit:cover;opacity:1;filter:saturate(.9) contrast(1.06)}
.hero__img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,17,14,.82) 0%,rgba(18,17,14,.42) 34%,rgba(18,17,14,.12) 58%,transparent 78%)}
.hero__inner{position:relative;z-index:1;width:100%;max-width:1680px;margin-inline:auto;padding-bottom:4vh}
.hero__label{margin-bottom:2.5vh}
.hero__title{max-width:9em;text-shadow:0 2px 24px rgba(18,17,14,.55)}
.hero__sub{max-width:34em;font-size:clamp(.95rem,1.15vw,1.2rem);line-height:1.55;opacity:.95;margin-top:2.5vh;color:var(--ink-inv)}
.hero__actions{display:flex;align-items:center;gap:2rem;margin-top:4vh;flex-wrap:wrap}
.hero__btn{display:inline-flex;align-items:center;gap:.8em;background:var(--accent);color:var(--ink-inv);font-weight:500;font-size:.95rem;padding:1.1em 1.6em;transition:background .3s}
.hero__btn:hover{background:#B2441F}
.hero__btn .arr{font-family:var(--serif)}
.hero__link{font-size:.9rem;opacity:.7;border-bottom:1px solid transparent;transition:opacity .3s,border-color .3s;padding-bottom:.15em}
.hero__link:hover{opacity:1;border-color:currentColor}
.hero__proof{position:relative;z-index:1;width:100%;max-width:1680px;margin-inline:auto;padding-block:1.4rem;border-top:1px solid rgba(245,242,236,.14);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;opacity:.55;display:flex;gap:2.5rem;flex-wrap:wrap}
.hero__proof b{font-weight:500;opacity:1}
