:root{
  --paper:#FAF8F4; --card:#FFFFFF; --ink:#161B26; --navy:#152033;
  --gold:#A8864F; --gold-l:#C9A86A; --sand:#F3ECDD;
  --muted:#5A6170; --on-ink:#D8D3C8; --foot:#8E94A1; --on-gold:#2A2416;
  --line:#D9D2C5; --line-card:#E4DED3; --line-fine:#EFEBE3;
  --sh-l:0 30px 70px -30px rgba(22,27,38,.18);
  --sh-d:0 40px 80px -30px rgba(22,27,38,.5);
  --serif:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,Helvetica,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --pad:clamp(20px,4vw,48px);
  --sec:clamp(72px,9vw,128px);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-family:var(--sans);line-height:1.6;overflow-x:hidden;min-height:100vh}
img,svg{display:block;max-width:100%}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--ink);text-decoration:underline}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0}
.wrap{max-width:1320px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@keyframes iabaDot{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes iabaRise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* ---------- Header ---------- */
.hdr{position:sticky;top:0;z-index:30;background:rgba(250,248,244,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-fine)}
.hdr .wrap{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;flex:none}
.brand:hover{color:var(--ink);text-decoration:none}
.mark{width:clamp(32px,2.6vw,38px);height:clamp(32px,2.6vw,38px);border-radius:10px;background:var(--navy);display:grid;place-items:center;color:var(--gold-l);font-family:var(--serif);font-size:clamp(14px,1.1vw,16px)}
.wordmark{display:flex;align-items:baseline;gap:8px}
.wordmark b{font-family:var(--serif);font-size:clamp(18px,1.5vw,21px);letter-spacing:.03em;font-weight:400}
.wordmark i{font-style:normal;font-size:10px;letter-spacing:.26em;color:var(--muted);font-weight:600}
.nav{display:flex;gap:28px;font-size:14px;font-weight:500}
.nav a{color:var(--ink);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.nav a:hover{color:var(--gold);border-color:var(--gold);text-decoration:none}
.hdr-right{display:flex;align-items:center;gap:12px}
.lang{display:flex;border:1px solid var(--line-card);border-radius:999px;padding:3px;font-size:12px;letter-spacing:.08em;font-weight:600}
.lang a{padding:6px 12px;border-radius:999px;color:var(--muted);text-decoration:none;transition:background .3s,color .3s}
.lang a:hover{color:var(--ink);text-decoration:none}
.lang a[aria-current]{background:var(--navy);color:var(--paper)}

.btn{display:inline-block;border-radius:999px;font-weight:600;text-decoration:none;transition:background .3s,transform .3s,color .3s,border-color .3s}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-ink{background:var(--navy);color:var(--paper)}
.btn-ink:hover{background:var(--gold);color:var(--paper)}
.btn-sand{background:var(--sand);color:var(--ink)}
.btn-sand:hover{background:var(--navy);color:var(--paper)}
.btn-sm{padding:11px 20px;font-size:13px}
.btn-lg{padding:15px 28px;font-size:14px}

/* ---------- Shared type ---------- */
.eyebrow{margin:0 0 20px;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.eyebrow-l{color:var(--gold-l)}
.h2{font-size:clamp(34px,4.4vw,64px);line-height:1.02;letter-spacing:-.02em;text-wrap:balance}
.lead{color:var(--muted);font-size:17px;line-height:1.6;text-wrap:pretty}
.body{color:var(--muted);font-size:15.5px;line-height:1.6;text-wrap:pretty;max-width:52ch}
.chip{display:inline-block;padding:7px 12px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.ulink{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.04em;border-bottom:1px solid currentColor;padding-bottom:2px;text-decoration:none}
.ulink:hover{text-decoration:none;opacity:.7}

/* ---------- Motion primitives ---------- */
html.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .9s ease var(--d,0s),transform .9s var(--ease) var(--d,0s)}
html.js [data-reveal="flip"]{transform:rotateX(-80deg);transform-origin:top}
html.js [data-reveal].in{opacity:1;transform:none}
[data-tilt]{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform var(--tt,.7s) var(--ease)}

/* ---------- Hero ---------- */
.hero{padding-top:clamp(56px,8vw,104px)}
.hero-copy{max-width:980px}
.hero .eyebrow{margin-bottom:24px;animation:iabaRise .9s var(--ease) both}
.hero h1{margin:0 0 28px;font-size:clamp(42px,7vw,108px);line-height:.98;letter-spacing:-.025em;text-wrap:balance;animation:iabaRise .9s .1s var(--ease) both}
.hero-row{display:flex;flex-wrap:wrap;gap:28px 64px;align-items:flex-end;animation:iabaRise .9s .2s var(--ease) both}
.hero-row .lead{margin:0;max-width:600px;font-size:clamp(17px,1.4vw,19px)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}

.photo{position:relative;margin-top:clamp(48px,6vw,80px);height:clamp(320px,52vw,680px);border-radius:28px;overflow:hidden;background:var(--card);box-shadow:var(--sh-l);animation:iabaRise 1.2s .3s var(--ease) both}
.photo-inner{position:absolute;inset:-10%;transform:scale(1.18) translateY(calc((var(--p,0) - .5) * -80px)) translate(calc(var(--ry,0deg) / 1deg * -3px),calc(var(--rx,0deg) / 1deg * 3px))}
.photo-inner img{width:100%;height:100%;object-fit:cover}
.ph{width:100%;height:100%;background:
  radial-gradient(120% 90% at 20% 15%,rgba(201,168,106,.22),transparent 60%),
  radial-gradient(100% 80% at 85% 90%,rgba(21,32,51,.9),transparent 65%),
  linear-gradient(145deg,#1D2B44,#161B26 55%,#0F1726)}
.photo-cap{position:absolute;left:0;right:0;bottom:0;padding:clamp(24px,4vw,48px);display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;background:linear-gradient(to top,rgba(22,27,38,.9),rgba(22,27,38,.5) 35%,rgba(22,27,38,0) 72%);color:var(--paper);pointer-events:none}
.photo-cap p{margin:0;font-family:var(--serif);font-size:clamp(22px,2.6vw,36px);line-height:1.15;max-width:22ch;text-wrap:balance}
.photo-cap span{font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--gold-l)}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(24px,4vw,56px);margin-top:clamp(40px,5vw,64px);perspective:900px}
.fact{border-top:2px solid var(--ink);padding-top:18px}
.fact p{margin:0 0 6px;font-family:var(--serif);font-size:clamp(22px,2vw,30px);line-height:1.15;letter-spacing:-.01em;text-wrap:balance}
.fact span{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* ---------- Sections ---------- */
section{scroll-margin-top:80px}
.sec{padding-top:var(--sec)}
.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(32px,5vw,80px);align-items:start}
.sticky{position:sticky;top:96px}

/* Areas */
.areas-head h2{margin:0 0 20px;max-width:720px}
.areas-head .lead{margin:0 0 clamp(32px,4vw,56px);max-width:720px}
.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(20px,3vw,32px)}
.area{min-height:400px;border-radius:24px;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;box-shadow:0 30px 70px -30px rgba(22,27,38,.3)}
.area-top{display:flex;justify-content:space-between;align-items:center;gap:16px}
.area-num{font-family:var(--serif);font-size:18px}
.area-body{margin-top:auto;padding-top:48px}
.area h3{margin:0 0 12px;font-size:clamp(28px,2.8vw,40px);line-height:1.05;letter-spacing:-.02em;text-wrap:balance}
.area p{margin:0 0 20px;font-size:15.5px;line-height:1.6;max-width:52ch;text-wrap:pretty}
.area-ink{background:var(--ink);color:var(--paper)}
.area-ink p{color:var(--on-ink)}
.area-ink .chip{background:rgba(255,255,255,.12);color:var(--gold-l)}
.area-ink .area-num,.area-ink .ulink{color:var(--gold-l)}
.area-sand{background:var(--sand);color:var(--ink)}
.area-sand p{color:var(--muted)}
.area-sand .chip{background:rgba(255,255,255,.9);color:var(--ink)}
.area-sand .area-num,.area-sand .ulink{color:var(--ink)}

/* Services list */
.svc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.svc-list li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px 20px;padding:26px 0;border-bottom:1px solid var(--line-card)}
.svc-n{font-family:var(--serif);font-size:18px;color:var(--gold);padding-top:4px}
.svc-list h3{margin:0 0 6px;font-size:clamp(22px,2vw,28px);line-height:1.15;letter-spacing:-.01em}
.svc-list p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.6;text-wrap:pretty;max-width:52ch}
.svc-head .lead{margin:0;max-width:520px}
.svc-head h2{margin:0 0 20px}

/* Support (dark) */
.dark{margin-top:var(--sec);background:var(--ink);color:var(--paper);overflow:hidden}
.dark .wrap{padding-top:var(--sec);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(32px,5vw,80px);align-items:end}
.dark-copy{padding-bottom:var(--sec)}
.dark h2{margin:0 0 20px}
.dark p{margin:0 0 32px;color:var(--on-ink);font-size:17px;line-height:1.6;max-width:44ch;text-wrap:pretty}
.btn-gold{background:var(--gold-l);color:var(--ink);padding:13px 24px;font-size:14px}
.btn-gold:hover{background:var(--paper);color:var(--ink)}
.phone-wrap{height:540px;display:flex;justify-content:center;align-items:flex-end;perspective:1100px}
.phone{position:relative;width:290px;height:540px;transform-style:preserve-3d;transform:rotateX(calc(var(--rx,0deg) * 2)) rotateY(calc(var(--ry,0deg) * 2 - 6deg)) translateY(calc((1 - var(--p,0)) * 160px));transition:transform var(--tt,.7s) var(--ease);filter:drop-shadow(0 40px 80px rgba(0,0,0,.5))}
.phone-scale{position:absolute;left:0;top:0;width:402px;height:874px;transform-origin:top left;transform:scale(.72)}
.device{width:402px;height:874px;border-radius:54px;background:#0A0D14;padding:10px;box-shadow:inset 0 0 0 2px #2A3040}
.screen{position:relative;width:100%;height:100%;border-radius:44px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column;color:var(--ink)}
.island{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:116px;height:34px;border-radius:999px;background:#0A0D14;z-index:2}
.homebar{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);width:140px;height:5px;border-radius:999px;background:rgba(22,27,38,.25);z-index:2}
.chat-hd{padding:66px 22px 18px;border-bottom:1px solid var(--line-card);display:flex;align-items:center;gap:14px}
.chat-av{width:44px;height:44px;border-radius:12px;background:var(--navy);display:grid;place-items:center;color:var(--gold-l);font-family:var(--serif);font-size:20px}
.chat-id{display:grid;gap:2px}
.chat-id b{font-size:19px;font-weight:600}
.chat-id span{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.14em}
.chat-body{flex:1;padding:24px 18px;display:flex;flex-direction:column;gap:14px}
.chat-day{margin:0 0 6px;text-align:center;font-size:13px;color:var(--muted);letter-spacing:.08em}
.bub{max-width:82%;border-radius:18px;padding:12px 16px;font-size:16px;line-height:1.35;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s var(--ease)}
.bub.on{opacity:1;transform:none}
.bub span{display:block;margin-top:6px;font-size:12px}
.bub-g{align-self:flex-start;background:#FFF;color:var(--ink);border:1px solid var(--line-card)}
.bub-g span{color:var(--muted)}
.bub-h{align-self:flex-end;background:var(--navy);color:var(--paper);border:1px solid var(--navy)}
.bub-h span{color:var(--gold-l)}
.typing{align-self:flex-end;display:flex;gap:5px;padding:14px 16px;border-radius:18px;background:var(--navy);opacity:0;transition:opacity .4s ease}
.typing.on{opacity:1}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--gold-l);animation:iabaDot 1s infinite}
.typing i:nth-child(2){animation-delay:.2s}
.typing i:nth-child(3){animation-delay:.4s}
.chat-in{margin:0 18px 52px;border:1px solid var(--line-card);border-radius:999px;background:#FFF;padding:14px 20px;font-size:16px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}
.chat-in i{width:10px;height:10px;border-radius:50%;background:var(--gold);display:block}

/* Approach */
.approach{align-items:center}
.approach h2{margin:0 0 36px}
.steps{border-top:1px solid var(--line)}
.step{appearance:none;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line-card);padding:22px 0;cursor:pointer;font:inherit;color:inherit;display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 20px;opacity:.45;transition:opacity .4s}
.step.on{opacity:1}
.step-n{font-family:var(--serif);font-size:18px;color:var(--gold);padding-top:3px}
.step-tx{display:grid;gap:4px}
.step-tx b{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.15;letter-spacing:-.01em}
.step-tx span{color:var(--muted);font-size:15.5px;line-height:1.6;text-wrap:pretty;max-width:48ch}
.stack-wrap{height:clamp(380px,46vw,560px);display:grid;place-items:center;perspective:1400px}
.stack{position:relative;width:min(100%,420px);height:300px;transform-style:preserve-3d;transform:rotateX(calc(14deg + var(--rx,0deg) * 3)) rotateY(calc(-18deg + var(--ry,0deg) * 3));transition:transform var(--tt,.7s) var(--ease)}
.scard{position:absolute;inset:0;border-radius:24px;background:#FFF;color:var(--ink);border:1px solid var(--line-card);box-shadow:0 30px 70px -30px rgba(22,27,38,.3);padding:28px 32px;display:flex;flex-direction:column;justify-content:space-between;z-index:var(--zi,1);transform:translateZ(calc(var(--z,60px) * var(--a,0))) translate(calc(var(--sx,0px) * var(--a,0)),calc(var(--sx,0px) * var(--a,0) * -1));opacity:clamp(0,calc(var(--a,0) * 3 - var(--dd,0)),1);transition:background .5s,color .5s,border-color .5s,transform .7s var(--ease)}
.scard-top{display:flex;justify-content:space-between;align-items:center}
.scard-n{font-family:var(--serif);font-size:clamp(30px,3vw,44px);line-height:1;letter-spacing:-.02em;color:var(--gold)}
.scard .chip{background:var(--sand);color:var(--ink);letter-spacing:.16em;padding:6px 12px}
.scard b{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.6vw,36px);line-height:1.1;letter-spacing:-.015em}
.scard.on{background:var(--navy);color:var(--paper);border-color:var(--navy)}
.scard.on .scard-n{color:var(--gold-l)}
.scard.on .chip{background:rgba(255,255,255,.12);color:var(--gold-l)}

/* Brands */
.brands-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(20px,3vw,32px)}
.bcard{min-height:440px;border-radius:24px;padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;box-shadow:var(--sh-l)}
.bcard h3{margin:0 0 10px;letter-spacing:-.02em}
.bcard p{margin:0 0 18px;color:var(--muted);font-size:15.5px;line-height:1.6;max-width:44ch;text-wrap:pretty}
.bcard-body{margin-top:auto}
.bcard .chip{align-self:flex-start}
.bcard-photo{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);box-shadow:var(--sh-d);padding:0}
.bcard-photo .photo-inner{inset:-8%;transform:scale(1.06) translate(calc(var(--ry,0deg) / 1deg * -3px),calc(var(--rx,0deg) / 1deg * 3px));transition:transform var(--tt,.7s) var(--ease)}
.bcard-photo .veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(22,27,38,.95),rgba(22,27,38,.82) 28%,rgba(22,27,38,.3) 62%,rgba(22,27,38,0) 88%)}
.bcard-photo .chip{position:absolute;top:20px;left:20px;background:rgba(255,255,255,.9);color:var(--ink)}
.bcard-photo .bcard-body{position:absolute;left:0;right:0;bottom:0;padding:clamp(24px,3vw,36px);margin:0}
.bcard-photo h3{font-size:clamp(34px,3.4vw,48px);line-height:1.02}
.bcard-photo p{color:var(--on-ink)}
.bcard-photo .ulink{color:var(--gold-l)}
.bcard-photo .ulink:hover{color:var(--paper);opacity:1}
.bcard-white{background:#FFF;border:1px solid var(--line-card)}
.bcard-white .chip{background:var(--sand);color:var(--ink)}
.bcard-white h3{font-size:clamp(26px,2.4vw,34px);line-height:1.05;overflow-wrap:anywhere}
.bcard-white .ulink{color:var(--gold)}
.bcard-white .ulink:hover{color:var(--ink);opacity:1}
.bcard-sand{background:var(--sand)}
.bcard-sand .chip{background:rgba(255,255,255,.9);color:var(--ink)}
.bcard-sand h3{font-size:clamp(30px,3vw,44px);line-height:1.05;text-wrap:balance}
.bcard-sand p{margin:0}
.brands-head h2{margin:0 0 clamp(32px,4vw,56px);max-width:720px}

/* Contact */
.contact{padding-bottom:var(--sec)}
.banner{background:var(--gold);color:var(--ink);border-radius:28px;padding:clamp(48px,7vw,104px) clamp(24px,5vw,80px);text-align:center}
.banner h2{margin:0 auto 16px;max-width:18ch}
.banner>p{margin:0 auto 36px;max-width:52ch;font-size:17px;line-height:1.6;color:var(--on-gold);text-wrap:pretty}
.mail-btn{display:inline-block;background:var(--ink);color:var(--paper);padding:18px 32px;border-radius:999px;font-family:var(--serif);font-size:clamp(20px,2.4vw,30px);letter-spacing:-.01em;text-decoration:none;overflow-wrap:anywhere;transition:background .3s,transform .3s,color .3s}
.mail-btn:hover{background:var(--paper);color:var(--ink);text-decoration:none;transform:translateY(-1px)}
.banner .note{margin:28px 0 0;font-size:14px;color:var(--on-gold)}
.banner .note a{color:var(--ink);border-bottom:1px solid var(--ink)}
.banner .note a:hover{color:var(--paper);border-color:var(--paper);text-decoration:none}

/* Footer */
.ftr{background:var(--ink);color:var(--on-ink)}
.ftr .wrap{padding-top:clamp(48px,6vw,80px);padding-bottom:32px}
.ftr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:40px 32px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12)}
.ftr .brand{color:var(--paper);margin-bottom:16px}
.ftr .mark{background:var(--gold-l);color:var(--ink);width:34px;height:34px;border-radius:9px;font-size:14px}
.ftr .wordmark b{font-size:20px}
.ftr .wordmark i{color:var(--on-ink)}
.ftr-tag{margin:0;font-size:14px;line-height:1.6;max-width:30ch}
.ftr h2{margin:0 0 14px;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--foot)}
.ftr nav{display:grid;gap:8px;font-size:14px}
.ftr a{color:var(--on-ink)}
.ftr a:hover{color:var(--paper);text-decoration:none}
.ftr-mail{color:var(--gold-l);font-size:14px}
.ftr-addr{margin:12px 0 0;font-size:14px;line-height:1.6}
.ftr-bot{padding-top:24px;display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;font-size:13px;color:var(--foot)}
.ftr-bot span{display:flex;gap:20px;flex-wrap:wrap}
.ftr-bot a{color:var(--foot)}

/* Floating contact */
.fab{position:fixed;right:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,32px);z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.fab-mail{display:inline-flex;align-items:center;gap:10px;background:#FFF;color:var(--ink);padding:10px 16px;border-radius:999px;font-size:13px;font-weight:600;box-shadow:0 30px 70px -30px rgba(22,27,38,.4);text-decoration:none;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .3s,transform .3s var(--ease)}
.fab.open .fab-mail{opacity:1;transform:none;pointer-events:auto}
.fab-mail:hover{background:var(--ink);color:var(--paper);text-decoration:none}
.fab-btn{appearance:none;border:0;width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--ink);cursor:pointer;display:grid;place-items:center;box-shadow:0 30px 70px -30px rgba(22,27,38,.5);transition:background .3s,transform .3s}
.fab-btn:hover{background:var(--ink);color:var(--paper);transform:translateY(-1px)}
.env{display:block;width:20px;height:14px;border:2px solid currentColor;border-radius:3px;position:relative}
.env::before{content:"";position:absolute;left:-2px;right:-2px;top:-2px;height:9px;border:2px solid currentColor;border-top:0;border-radius:0 0 3px 3px;box-sizing:border-box;clip-path:polygon(0 0,50% 100%,100% 0)}

/* Legal + 404 */
.legal{padding-top:clamp(56px,8vw,104px);padding-bottom:var(--sec)}
.legal h1{margin:0 0 24px;font-size:clamp(42px,6vw,88px);line-height:.98;letter-spacing:-.025em}
.note-box{margin:0;padding:16px 20px;border-radius:14px;background:var(--sand);color:var(--muted);font-size:14px;line-height:1.6;max-width:480px}
.legal-main{max-width:760px}
.dtable{width:100%;border-collapse:collapse;font-size:15px;border-top:2px solid var(--ink);margin:0 0 8px}
.dtable tr{border-bottom:1px solid var(--line-card)}
.dtable th{text-align:left;font-weight:600;color:var(--muted);padding:15px 16px 15px 0;vertical-align:top;width:32%;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.dtable td{padding:15px 0;vertical-align:top;color:var(--ink);overflow-wrap:anywhere}
.legal-sec{padding:32px 0;border-bottom:1px solid var(--line-card)}
.legal-sec h2{margin:0 0 12px;font-size:26px;line-height:1.15;letter-spacing:-.01em}
.legal-sec p{margin:0 0 10px;color:var(--muted);font-size:15.5px;line-height:1.6;text-wrap:pretty;overflow-wrap:anywhere}
.nf{padding-top:clamp(96px,14vw,200px);padding-bottom:clamp(96px,14vw,200px)}
.nf .nf-num{margin:0 0 16px;font-family:var(--serif);font-size:clamp(80px,14vw,180px);line-height:.9;letter-spacing:-.03em;color:var(--gold)}
.nf h1{margin:0 0 14px;font-size:clamp(30px,4vw,48px);line-height:1.05;letter-spacing:-.02em}
.nf p{margin:0 0 32px;color:var(--muted);font-size:17px;max-width:46ch}

@media (max-width:800px){
  .nav,.hdr-right .btn{display:none}
  .phone-wrap{height:430px}
  .phone{transform:rotateX(calc(var(--rx,0deg) * 2)) rotateY(calc(var(--ry,0deg) * 2 - 6deg)) translateY(calc((1 - var(--p,0)) * 80px)) scale(.8);transform-origin:bottom center}
  .area{min-height:0}
  .bcard{min-height:380px}
}
@media (prefers-reduced-motion:reduce){
  html.js [data-reveal]{opacity:1;transform:none;transition:none}
  [data-tilt],.phone,.stack,.photo-inner,.scard{transform:none!important;transition:none!important}
  .hero .eyebrow,.hero h1,.hero-row,.photo{animation:none}
  .bub,.typing{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ---------- Stagger (CSP: keine style-Attribute, daher hier) ---------- */
.facts .fact:nth-child(2){--d:.1s}
.facts .fact:nth-child(3){--d:.2s}
.areas-head .lead[data-reveal]{--d:.1s}
.pair .area:nth-child(2){--d:.1s}
.svc-head .lead[data-reveal]{--d:.1s}
.svc-list li:nth-child(2){--d:.1s}
.svc-list li:nth-child(3){--d:.2s}
.svc-list li:nth-child(4){--d:.3s}
.svc-list li:nth-child(5){--d:.4s}
.svc-list li:nth-child(6){--d:.5s}
.dark-copy p[data-reveal]{--d:.1s}
.dark-copy .btn[data-reveal]{--d:.2s}
.brands-grid .bcard:nth-child(2){--d:.05s}
.brands-grid .bcard:nth-child(3){--d:.1s}
