:root{
  --ink:#0B0C0C; --ink-soft:#191B1A;
  --paper:#F7F7F5; --paper-edge:#E4E5E2;
  --steel:#6E7573; --steel-dim:#9AA09E;
  --gold:#96703A; --gold-bright:#C9A870;
  --display:'Schibsted Grotesk',system-ui,sans-serif;
  --body:'Instrument Sans',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --gut:clamp(22px,5vw,80px); --max:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:72px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.display{font-family:var(--display);font-weight:800;letter-spacing:-.035em;line-height:.98;margin:0}
.d-hero{font-size:clamp(40px,7.4vw,96px)}
.d-sect{font-size:clamp(30px,4.6vw,56px);line-height:1.02}
.d-sub{font-family:var(--display);font-weight:700;font-size:clamp(20px,2.2vw,24px);letter-spacing:-.02em;line-height:1.15;margin:0 0 12px}
.tag{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 20px}
.lede{font-size:clamp(18px,1.9vw,22px);line-height:1.45;color:var(--steel);max-width:40ch;margin:22px 0 0}
.on-dark .lede{color:#A9AFAD}
.on-dark .tag{color:var(--gold-bright)}

.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.sect{padding:clamp(72px,10vw,150px) 0}
.dark{background:var(--ink);color:var(--paper)}

.top{position:sticky;top:0;z-index:60;background:rgba(247,247,245,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--paper-edge)}
.top__in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:60px;position:relative}
.brand img{height:28px;width:auto;display:block}
.brand:focus{outline:none}
.brand:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px;border-radius:8px}
.nav{display:none;gap:30px;font-size:14px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap}
.nav a{text-decoration:none;color:var(--steel)}
a.top__client{
  font-family:var(--display) !important;font-weight:700 !important;letter-spacing:.07em;
  padding:7px 14px !important;font-size:12px !important;
  background:linear-gradient(135deg,#96703A,#C9A870 50%,#96703A) !important;background-size:200% 200% !important;
  color:#fff !important;border-color:transparent !important;
  box-shadow:0 4px 16px rgba(150,112,58,.35);
  transition:background-position .7s ease,box-shadow .4s ease,transform .3s ease !important;
}
a.top__client:hover{background-position:100% 100% !important;box-shadow:0 6px 22px rgba(150,112,58,.5);transform:translateY(-1px)}
.nav a.nav-client{
  font-family:var(--display);font-weight:700;font-size:13.5px;letter-spacing:.08em;
  color:#96703A !important;
  background:linear-gradient(90deg,#96703A,#C9A870,#96703A);background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  transition:background-position .8s ease;
}
.nav a.nav-client:hover{background-position:100% 0}
.nav a:hover{color:var(--ink)}
@media(min-width:900px){.nav{display:flex}.alt{display:flex}.top__client{margin-right:150px}}
.top__client{padding:9px 18px;font-size:13px;white-space:nowrap}

.btn{display:inline-block;text-decoration:none;font-size:15px;padding:13px 26px;border-radius:100px;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .35s cubic-bezier(.34,1.4,.64,1),box-shadow .35s cubic-bezier(.34,1.4,.64,1)}
.btn:hover{transform:translateY(-2px)}
.btn--gold{background:var(--gold);color:#fff}
.btn--gold:hover{background:#7E5E2E;box-shadow:0 10px 22px rgba(150,112,58,.28)}
.btn--ghost{border-color:rgba(247,247,245,.45);color:var(--paper)}
.btn--ghost:hover{background:var(--paper);color:var(--ink)}
.btn--dark{background:var(--ink);color:var(--paper)}
.btn--dark:hover{background:var(--ink-soft)}

.hero{position:relative;min-height:clamp(440px,68vh,640px);display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);color:var(--paper)}
.hero__media{position:absolute;inset:0}
.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,12,.5),rgba(11,12,12,.25) 45%,rgba(11,12,12,.85))}
.hero__in{position:relative;z-index:2;width:100%;padding:120px 0 clamp(40px,6vw,70px)}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

.stats{display:grid;grid-template-columns:1fr;gap:1px;background:rgba(154,160,158,.22);border-top:1px solid rgba(154,160,158,.22);border-bottom:1px solid rgba(154,160,158,.22)}
@media(min-width:700px){.stats{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.stats--4{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--ink);padding:32px 28px;text-align:center}
.stat b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(22px,2.6vw,32px);letter-spacing:-.02em;color:var(--gold-bright)}
.stat span{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--steel-dim)}

.row{display:grid;gap:clamp(30px,5vw,80px);align-items:center;padding:clamp(52px,7vw,100px) 0;border-top:1px solid var(--paper-edge)}
.row:first-of-type{border-top:0}
@media(min-width:940px){.row{grid-template-columns:1fr 1fr}.row--flip > .row__media{order:2}}
.row__media{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:18px}
.row__media img{width:100%;height:100%;object-fit:cover}
.row--lift{padding-top:clamp(6px,1.2vw,16px)}
@media(min-width:940px){.row--lift .row__media{align-self:start;margin-top:-6px}}
.row ul{list-style:none;margin:26px 0 0;padding:0;font-size:16px}
.row ul li{padding:11px 0;border-top:1px solid var(--paper-edge);color:var(--steel)}
.row p{color:var(--steel);margin:0}

@property --whip{syntax:'<angle>';initial-value:0deg;inherits:false}
.card{
  position:relative;background:var(--paper);padding:34px 28px;border:1px solid var(--paper-edge);border-radius:18px;
  transition:transform .5s cubic-bezier(.34,1.4,.64,1),box-shadow .5s cubic-bezier(.34,1.4,.64,1),border-color .4s ease;
}
.card::before{
  content:"";position:absolute;inset:-1px;border-radius:inherit;padding:2px;
  background:conic-gradient(from var(--whip),transparent 0deg,transparent 250deg,rgba(201,168,112,.25) 285deg,var(--gold) 320deg,var(--gold-bright) 340deg,var(--gold) 352deg,transparent 360deg);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
          mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
          mask-composite:exclude;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.card p{margin:0;color:var(--steel);font-size:16px}
.card:hover{transform:translateY(-8px) scale(1.03);border-color:rgba(150,112,58,.35);box-shadow:0 24px 48px rgba(11,12,12,.14);z-index:2}
.card:hover::before{opacity:1;animation:whip-lap 1.1s cubic-bezier(.45,.05,.35,1),whip-orbit 4s linear 1.1s infinite}
@keyframes whip-lap{from{--whip:0deg}to{--whip:360deg}}
@keyframes whip-orbit{from{--whip:360deg}to{--whip:720deg}}
.cards{display:grid;gap:14px;margin-top:52px}
@media(min-width:860px){.cards{grid-template-columns:repeat(3,1fr)}.cards--4{grid-template-columns:repeat(4,1fr)}}

.rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1)}
.rv.is-in{opacity:1;transform:none}

.foot{background:var(--ink);color:var(--steel-dim);padding:64px 0 46px;border-top:1px solid rgba(154,160,158,.2)}
.foot__in{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-end}
.foot p{margin:14px 0 0;font-family:var(--mono);font-size:11px;letter-spacing:.05em;line-height:2.1}

@media(hover:none){
  .card:hover,.btn:hover{transform:none;box-shadow:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .card,.card::before,.btn{transition:none;animation:none !important}
  .card:hover,.btn:hover{transform:none}
}

/* offer chips */
.offerchips{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 6px}
.offerchips--center{justify-content:center}
.offerchips span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(150,112,58,.45);border-radius:100px;padding:9px 16px}
.on-dark .offerchips span,.offerchips--dark span{color:#C9A870;border-color:rgba(201,168,112,.45)}
/* mobile sticky action bar */
.mcta{position:fixed;left:12px;right:12px;bottom:12px;z-index:70;display:none;gap:10px;opacity:0;transform:translateY(16px);transition:opacity .35s,transform .45s cubic-bezier(.3,.9,.3,1);pointer-events:none}
.mcta.on{opacity:1;transform:none;pointer-events:auto}
.mcta a{flex:1;text-align:center;font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.04em;padding:15px 10px;border-radius:100px;text-decoration:none;box-shadow:0 10px 30px rgba(11,12,12,.35)}
.mcta__call{background:#0B0C0C;color:#F7F7F5;border:1px solid rgba(201,168,112,.5)}
.mcta__go{background:linear-gradient(135deg,#96703A,#C9A870 60%,#96703A);color:#fff}
@media(max-width:760px){.mcta{display:flex}}

/* altitude readout (shared) */
.alt{display:none;align-items:center;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--steel-dim);position:absolute;right:0;top:50%;transform:translateY(-50%);pointer-events:none}
.alt__track{width:70px;height:1px;background:var(--paper-edge);position:relative}
.alt__fill{position:absolute;left:0;top:0;height:1px;width:0;background:var(--gold);transition:width .1s linear}
.alt__read{color:var(--gold);min-width:44px;text-align:right;min-width:5ch;text-align:right;font-variant-numeric:tabular-nums}
