@font-face{font-family:"Oswald";font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/oswald-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Oswald";font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/oswald-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* DD Fenster House — v2 design system: black / gold / silver, cinematic photography.
   Display: Oswald. Body: Inter. See DESIGN-V2.md for the rationale. */
:root{
  --ink-0:#0A0A0B; --ink-1:#101012; --ink-2:#161619; --ink-3:#1E1E22;
  --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.14);
  --glass:rgba(255,255,255,.04);
  --gold:#E2A82E; --gold-2:#F4C85A; --gold-3:#9A6E14;
  --grad-gold:linear-gradient(135deg,#F4C85A 0%,#E2A82E 48%,#B4841C 100%);
  --silver:#C9CACD; --silver-2:#8E9096; --silver-3:#5E6066;
  --text:#F4F4F5; --text-2:#A7A9AE;
  --font-d:"Oswald","Arial Narrow",Impact,sans-serif; --font-b:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --container:1320px; --gutter:24px; --sec:120px;
  --r-btn:6px; --r-card:16px; --r-panel:20px; --r-img:12px;
  --ease:cubic-bezier(.2,.7,.2,1); --t:220ms;
  --header-h:88px;
  color-scheme:dark;
}
@media (max-width:900px){ :root{ --sec:80px; --gutter:16px; --header-h:72px } }

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *{animation:none!important;transition:none!important} }
body{margin:0;background:var(--ink-0);color:var(--text-2);font:400 16.5px/1.65 var(--font-b);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,video{max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,figure{margin:0}
ul{padding:0;list-style:none}
b,strong{color:var(--text);font-weight:600}
::selection{background:var(--gold);color:#15100A}
[hidden]{display:none!important}
.container{width:min(var(--container),100% - var(--gutter)*2);margin-inline:auto}
.sec{padding:var(--sec) 0}
.sec--tight{padding:72px 0}
.sec--band{background:var(--ink-1)}
.gold{color:var(--gold)}
.muted{color:var(--silver-2)}
.small{font-size:14.5px}
svg.ic{width:20px;height:20px}

/* ---------- type ---------- */
.display{font:600 clamp(54px,8vw,118px)/.98 var(--font-d);text-transform:uppercase;letter-spacing:.005em;color:var(--text)}
.display .g{display:inline-block;padding-top:.025em;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.h1{font:500 clamp(40px,5.2vw,72px)/1 var(--font-d);color:var(--text);letter-spacing:.005em}
.h2{font:500 clamp(34px,4vw,58px)/1.04 var(--font-d);color:var(--text);letter-spacing:.005em}
.h2--sm{font-size:clamp(28px,3vw,42px)}
.h3{font:500 24px/1.15 var(--font-d);color:var(--text);letter-spacing:.01em}
.lead{font-size:18px;line-height:1.6;color:var(--silver)}
.overline{display:inline-flex;align-items:center;gap:10px;font:600 12px/1 var(--font-b);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.overline::before{content:"";width:7px;height:7px;background:var(--gold);flex:none}
.sec-head{display:grid;gap:18px;max-width:780px}
.sec-head--center{text-align:center;margin-inline:auto;justify-items:center}
.sec-head--center .lead{max-width:62ch}
.sec-head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;max-width:none}
.sec-head--row>div{display:grid;gap:18px;max-width:640px}
.sec-head--row>.side{display:grid;gap:20px;max-width:380px;justify-items:start}
.sec-head+.grid,.sec-head+.why,.sec-head+.steps,.sec-head+.team,.sec-head+.masonry,.sec-head+.profiles,.sec-head+.logos{margin-top:56px}

/* ---------- buttons, chips ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:54px;padding:0 28px;border-radius:var(--r-btn);border:1px solid transparent;font:600 15px var(--font-b);letter-spacing:.01em;color:var(--text);white-space:nowrap;cursor:pointer;background:none;transition:transform var(--t) var(--ease),background var(--t),border-color var(--t),color var(--t),box-shadow var(--t)}
.btn svg{width:18px;height:18px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn--gold{background:var(--grad-gold);color:#15100A;box-shadow:0 14px 34px -12px rgba(226,168,46,.6)}
.btn--gold:hover{box-shadow:0 18px 40px -12px rgba(226,168,46,.75);filter:brightness(1.04)}
.btn--line{border-color:rgba(201,202,205,.35);background:rgba(255,255,255,.02)}
.btn--line:hover{border-color:var(--silver);background:rgba(255,255,255,.06)}
.btn--white{background:#fff;color:#111}
.btn--wa{background:#1FAF57;color:#fff;box-shadow:0 14px 34px -14px rgba(31,175,87,.7)}
.btn--lg{height:60px;padding:0 32px;font-size:16px}
.btn--sm{height:46px;padding:0 20px;font-size:14px}
.btn--block{width:100%}
.chip{display:inline-flex;align-items:center;gap:10px;padding:9px 14px 9px 10px;border-radius:6px;background:rgba(16,16,18,.6);border:1px solid var(--line-2);backdrop-filter:blur(10px);font:500 13px var(--font-b);letter-spacing:.04em;color:var(--silver)}
.chip svg{width:18px;height:18px;color:var(--gold)}
.badge{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:6px;background:rgba(226,168,46,.1);border:1px solid rgba(226,168,46,.32);color:var(--gold);font:600 12px var(--font-b);letter-spacing:.14em;text-transform:uppercase}
.tag{display:inline-flex;align-items:center;padding:6px 10px;border-radius:4px;background:rgba(10,10,11,.6);border:1px solid var(--line-2);backdrop-filter:blur(8px);font:500 12px var(--font-d);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}

/* ---------- photo wrapper ---------- */
.ph{position:relative;overflow:hidden;border-radius:var(--r-img);background:var(--ink-2)}
.ph img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.05);transition:transform .9s var(--ease)}
.ph::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(226,168,46,.05),transparent 40%,rgba(10,10,11,.38) 100%)}
.ph--43{aspect-ratio:4/3} .ph--45{aspect-ratio:4/5} .ph--169{aspect-ratio:16/9} .ph--1{aspect-ratio:1}

/* ---------- forms ---------- */
.form{display:grid;gap:14px;width:100%}
.form-card{width:100%;max-width:520px;padding:28px;border-radius:var(--r-card);background:rgba(255,255,255,.04);border:1px solid var(--line-2);backdrop-filter:blur(12px)}
.field{display:grid;gap:8px}
.field label{font:600 12px var(--font-b);letter-spacing:.12em;text-transform:uppercase;color:var(--silver-2)}
.input{height:54px;border-radius:var(--r-btn);border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--text);padding:0 16px;width:100%;font:400 15px var(--font-b);transition:border-color var(--t),box-shadow var(--t)}
.input::placeholder{color:var(--silver-3)}
.input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(226,168,46,.18)}
textarea.input{height:120px;padding:14px 16px;resize:vertical}
.phone{display:grid;grid-template-columns:118px 1fr;border:1px solid var(--line-2);border-radius:var(--r-btn);background:rgba(255,255,255,.04);transition:border-color var(--t),box-shadow var(--t)}
.phone:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(226,168,46,.18)}
.phone select{appearance:none;-webkit-appearance:none;border:0;border-right:1px solid var(--line-2);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238E9096' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;color:var(--text);padding:0 30px 0 14px;height:52px;font:500 14px var(--font-b);cursor:pointer}
.phone select:focus{outline:none}
.phone input{border:0;background:transparent;color:var(--text);padding:0 16px;height:52px;font:400 15px var(--font-b);min-width:0}
.phone input:focus{outline:none}
.phone input::placeholder{color:var(--silver-3)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--text-2);line-height:1.5}
.consent input{accent-color:var(--gold);margin-top:3px;flex:none}
.consent a{color:var(--silver);text-decoration:underline;text-underline-offset:3px}
.form-msg{font-size:14px;color:#F08A8A;min-height:1.4em}
.form-msg.is-ok{color:#6BD08E}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ---------- top bar + header ---------- */
.topbar{height:40px;border-bottom:1px solid var(--line);font-size:13px;color:var(--silver-2);background:var(--ink-0)}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:100%;gap:24px}
.topbar-l,.topbar-r{display:flex;gap:28px;align-items:center;min-width:0}
.topbar span,.topbar a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.topbar a:hover{color:var(--text)}
.topbar svg{width:14px;height:14px;color:var(--gold);flex:none}
.langs{display:flex;gap:4px}
.langs a{display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:4px;font:600 12px var(--font-b);letter-spacing:.08em;color:var(--silver)}
.langs a[aria-current]{background:var(--gold);color:#15100A}
.langs a.soon{opacity:.4;cursor:default}
.header{position:sticky;top:0;z-index:50;height:var(--header-h);background:rgba(10,10,11,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);transition:background var(--t)}
.header.scrolled{background:rgba(10,10,11,.94)}
.header .container{display:flex;align-items:center;gap:28px;height:100%}
.brand{display:block;flex:none}
.brand img{height:62px;width:auto;display:block}
.nav>ul{display:flex;gap:2px}
.nav li{position:relative}
.nav a,.nav button{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 11px;border-radius:6px;border:0;background:none;font:500 14px var(--font-d);text-transform:uppercase;letter-spacing:.08em;color:var(--silver);cursor:pointer;transition:color var(--t),background var(--t)}
.nav a:hover,.nav button:hover{color:var(--text);background:rgba(255,255,255,.04)}
.nav a[aria-current],.nav li.open>button,.nav li:has(.menu a[aria-current])>button{color:var(--gold)}
.nav button svg{width:13px;height:13px;transition:transform var(--t)}
.nav li.open>button svg,.nav li:hover>button svg{transform:rotate(180deg)}
.menu{position:absolute;top:calc(100% + 8px);left:0;min-width:270px;padding:8px;background:rgba(16,16,18,.97);backdrop-filter:blur(16px);border:1px solid var(--line-2);border-radius:12px;box-shadow:0 30px 60px -20px rgba(0,0,0,.85);display:none;z-index:5}
.menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.menu a{display:block;height:auto;padding:11px 14px;border-radius:8px;font:500 15px var(--font-b);text-transform:none;letter-spacing:0;color:var(--text-2)}
.menu a:hover{color:var(--text);background:rgba(255,255,255,.05)}
.menu a[aria-current]{color:var(--gold)}
.nav li:hover>.menu,.nav li.open>.menu{display:block}
.header-r{margin-left:auto;display:flex;align-items:center;gap:12px;flex:none}
.header .wa{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:#2BD36B;transition:border-color var(--t),background var(--t)}
.header .wa:hover{border-color:#2BD36B;background:rgba(43,211,107,.08)}
.header .wa svg{width:22px;height:22px}
.burger{display:none;width:46px;height:46px;border-radius:8px;border:1px solid var(--line-2);background:none;color:var(--text);place-items:center;cursor:pointer}
.burger svg{width:22px;height:22px}

/* mobile panel */
.mnav{position:fixed;inset:0;z-index:80;background:var(--ink-0);overflow:auto;padding:0 24px 40px}
.mnav-top{display:flex;justify-content:space-between;align-items:center;height:var(--header-h)}
.mnav-top img{height:52px;width:auto}
.mnav .burger{display:grid}
.mnav details{border-top:1px solid var(--line)}
.mnav summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:18px 0;font:500 22px var(--font-d);text-transform:uppercase;letter-spacing:.06em;color:var(--text);cursor:pointer}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary svg{width:20px;height:20px;color:var(--gold);transition:transform var(--t)}
.mnav details[open] summary svg{transform:rotate(45deg)}
.mnav .sub{display:grid;gap:2px;padding:0 0 16px}
.mnav .sub a{padding:10px 0 10px 16px;color:var(--text-2);font-size:16px;border-left:2px solid var(--line)}
.mnav .solo{display:block;padding:18px 0;border-top:1px solid var(--line);font:500 22px var(--font-d);text-transform:uppercase;letter-spacing:.06em;color:var(--text)}
.mnav-cta{display:grid;gap:12px;padding-top:28px;margin-top:4px;border-top:1px solid var(--line)}
.mnav-cta .langs{justify-content:center;padding-top:8px}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(900px,calc(100svh - 128px));display:flex;align-items:flex-end;overflow:hidden;background:#000}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s var(--ease)}
.hero-slide.is-active{opacity:1;z-index:1}
.hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.05);transform:scale(1.08);transition:transform 9s linear}
.hero-slide.is-active img{transform:scale(1)}
.hero-slide::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,10,11,.94) 0%,rgba(10,10,11,.78) 30%,rgba(10,10,11,.18) 66%,rgba(10,10,11,.4) 100%)}
.hero-slide::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,10,11,.6) 0%,rgba(10,10,11,0) 30%,rgba(10,10,11,0) 52%,var(--ink-0) 100%)}
.hero>.container{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:40px;align-items:end;padding:120px 0 150px}
.hero-copy{display:grid;gap:28px;justify-items:start}
.hero-copy .lead{max-width:54ch;font-size:18.5px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:6px}
.hero-side{display:grid;justify-self:end;width:min(330px,100%);padding:10px;border-radius:var(--r-panel);background:rgba(16,16,18,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line-2);box-shadow:0 40px 80px -30px rgba(0,0,0,.9)}
.hero-side div{display:flex;align-items:center;gap:14px;padding:14px 12px}
.hero-side div+div{border-top:1px solid var(--line)}
.hero-side .ic{width:42px;height:42px;border-radius:10px;background:rgba(226,168,46,.12);display:grid;place-items:center;color:var(--gold);flex:none}
.hero-side .ic svg{width:20px;height:20px}
.hero-side b{display:block;font:500 17px/1.1 var(--font-d);letter-spacing:.02em;color:var(--text)}
.hero-side small{color:var(--silver-2);font-size:12.5px}
.hero-dots{position:absolute;left:26px;top:50%;transform:translateY(-50%);z-index:3;display:grid;gap:18px}
.hero-dots button{background:none;border:0;padding:0;color:var(--silver-3);font:500 13px var(--font-d);letter-spacing:.12em;display:grid;gap:8px;justify-items:center;cursor:pointer;transition:color var(--t)}
.hero-dots button::after{content:"";width:1px;height:26px;background:currentColor;opacity:.6}
.hero-dots button:last-child::after{display:none}
.hero-dots button.is-active{color:var(--gold)}
.hero-dots button:hover{color:var(--silver)}
.stats-strip{position:relative;z-index:3;margin-top:-104px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(16,16,18,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line-2);border-radius:var(--r-panel);box-shadow:0 40px 90px -30px rgba(0,0,0,.95)}
.stat{display:flex;align-items:center;gap:18px;padding:30px 34px}
.stat+.stat{border-left:1px solid var(--line)}
.stat .ic{width:54px;height:54px;border-radius:12px;background:rgba(226,168,46,.1);color:var(--gold);display:grid;place-items:center;flex:none}
.stat .ic svg{width:26px;height:26px}
.stat b{display:block;font:500 42px/1 var(--font-d);color:var(--text);white-space:nowrap;letter-spacing:.01em}
.stat span{display:block;color:var(--silver-2);font-size:13.5px;margin-top:7px}

/* ---------- about ---------- */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center}
.about-visual{position:relative;padding:0 48px 0 0}
.about-visual>.ph{aspect-ratio:4/5;border-radius:var(--r-panel)}
.about-ring{position:absolute;right:-16px;bottom:56px;width:252px;height:252px;border-radius:50%;padding:5px;background:conic-gradient(from 200deg,#F4C85A,#9A6E14 40%,#F4C85A 75%,#B4841C);box-shadow:0 0 0 10px var(--ink-0),0 0 90px rgba(226,168,46,.38),0 30px 60px -20px rgba(0,0,0,.85)}
.about-ring .ph{border-radius:50%;height:100%;border:7px solid var(--ink-0)}
.about-ring .ph::after{display:none}
.about-badge{position:absolute;left:-28px;top:40px;display:flex;gap:14px;align-items:center;padding:16px 20px 16px 16px;border-radius:14px;background:rgba(16,16,18,.92);border:1px solid var(--line-2);backdrop-filter:blur(12px);box-shadow:0 30px 60px -20px rgba(0,0,0,.9)}
.about-badge .ic{width:46px;height:46px;border-radius:12px;background:rgba(226,168,46,.12);display:grid;place-items:center;color:var(--gold)}
.about-badge .ic svg{width:24px;height:24px}
.about-badge b{display:block;font:500 19px/1.1 var(--font-d);color:var(--text)}
.about-badge small{color:var(--silver-2);font-size:12.5px}
.about-copy{display:grid;gap:22px;justify-items:start}
.about-copy p{max-width:58ch}
.counters{display:grid;width:100%;margin-top:8px}
.counter{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center;padding:22px 0;border-top:1px solid var(--line)}
.counter:last-child{border-bottom:1px solid var(--line)}
.counter b{font:500 58px/1 var(--font-d);color:var(--gold);white-space:nowrap}
.counter:nth-child(2) b{color:var(--silver)}
.counter span{color:var(--text-2);font-size:15px;max-width:34ch}

/* ---------- catalog strip ---------- */
.cat-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:64px}
.cat{position:relative;display:block;padding:28px 28px 32px;border-right:1px solid var(--line);transition:background var(--t)}
.cat:nth-child(4n){border-right:0}
.cat:nth-child(n+5){border-top:1px solid var(--line)}
.cat:hover{background:rgba(255,255,255,.025)}
.cat .ph{aspect-ratio:4/5;border-radius:10px}
.cat:hover .ph img{transform:scale(1.05)}
.cat .num{position:absolute;top:44px;left:44px;z-index:2;font:500 12px var(--font-d);letter-spacing:.16em;color:var(--gold);background:rgba(10,10,11,.65);padding:5px 9px;border-radius:4px;backdrop-filter:blur(6px)}
.cat-body{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:22px}
.cat h3{font:500 24px/1.1 var(--font-d);color:var(--text);margin:0 0 6px;transition:color var(--t)}
.cat:hover h3{color:var(--gold)}
.cat small{display:block;color:var(--silver-2);font-size:13.5px;letter-spacing:.02em}
.cat .arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--silver);flex:none;transition:background var(--t),border-color var(--t),color var(--t)}
.cat:hover .arrow{background:var(--gold);border-color:var(--gold);color:#15100A}
.cat .arrow svg{width:18px;height:18px}

/* ---------- profiles ---------- */
.profiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.profile{position:relative;overflow:hidden;border-radius:var(--r-panel);border:1px solid var(--line-2);background:var(--ink-1);padding:36px;min-height:540px;display:grid;align-content:end;gap:18px;transition:border-color var(--t),transform var(--t)}
.profile:hover{border-color:rgba(226,168,46,.45);transform:translateY(-4px)}
.profile>.ph{position:absolute;inset:0;border-radius:0;opacity:.5}
.profile>.ph::after{background:linear-gradient(180deg,rgba(16,16,18,.1) 0%,rgba(16,16,18,.78) 50%,var(--ink-1) 100%)}
.profile>*:not(.ph){position:relative}
.profile .tag{position:absolute;top:28px;left:28px}
.profile .mm{font:500 112px/.9 var(--font-d);background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;display:flex;align-items:baseline;gap:8px}
.profile .mm small{font-size:26px;letter-spacing:.06em;color:var(--silver);-webkit-text-fill-color:var(--silver)}
.profile .kv{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.profile .kv div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:14px;color:var(--silver-2)}
.profile .kv b{color:var(--text);font-weight:600;white-space:nowrap}
.profile .btn{justify-self:start;margin-top:6px}

/* ---------- partners ---------- */
.partners{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.partners .sec-head{gap:14px}
.logos{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:var(--r-panel);overflow:hidden;background:var(--ink-1)}
.logos div{display:grid;place-items:center;height:118px;border-right:1px solid var(--line);font:500 15px var(--font-d);letter-spacing:.22em;color:var(--silver-3);transition:color var(--t),background var(--t)}
.logos div:last-child{border-right:0}
.logos div:hover{color:var(--silver);background:rgba(255,255,255,.03)}

/* ---------- certification ---------- */
.cert-sec{position:relative;overflow:hidden}
.cert-sec>.ph{position:absolute;inset:0;border-radius:0;opacity:.55}
.cert-sec>.ph::after{background:linear-gradient(90deg,var(--ink-0) 0%,rgba(10,10,11,.86) 48%,rgba(10,10,11,.45) 100%),linear-gradient(180deg,var(--ink-0) 0%,transparent 25%,transparent 75%,var(--ink-0) 100%)}
.cert-sec>.container{position:relative}
.cert{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.cert-copy{display:grid;gap:22px;justify-items:start}
.cert-copy .lead{max-width:56ch}
.ticks{display:grid;gap:12px}
.ticks li{display:flex;gap:12px;align-items:flex-start;color:var(--text-2);line-height:1.5}
.ticks svg{width:22px;height:22px;color:var(--gold);flex:none;margin-top:1px}
.ticks b{display:block;color:var(--text);margin-bottom:2px}
.cert-visual{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;justify-content:end}
.seal{width:210px;height:210px;border-radius:50%;display:grid;place-content:center;justify-items:center;text-align:center;border:1px solid rgba(226,168,46,.55);background:radial-gradient(circle at 50% 28%,rgba(226,168,46,.3),rgba(10,10,11,.55) 70%);box-shadow:0 0 0 10px rgba(226,168,46,.05),0 0 90px rgba(226,168,46,.3),inset 0 0 40px rgba(226,168,46,.18)}
.seal b{font:600 86px/1 var(--font-d);background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.seal span{text-transform:uppercase;letter-spacing:.22em;font:600 11px var(--font-b);color:var(--silver);margin-top:6px}
.docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:360px;min-width:0}
.doc{min-width:0;aspect-ratio:3/3.6;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line-2);display:grid;align-content:end;padding:18px;gap:10px;backdrop-filter:blur(8px);transition:border-color var(--t),transform var(--t)}
.doc:hover{border-color:rgba(226,168,46,.4);transform:translateY(-3px)}
.doc svg{width:28px;height:28px;color:var(--gold)}
.doc span{font:500 15px/1.2 var(--font-d);letter-spacing:.04em;color:var(--silver)}
.cert-more{margin-top:96px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end}
.cert-more .docs{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr))}
.cert-more .doc{aspect-ratio:4/3}

/* ---------- why (checkerboard) ---------- */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:center}
.why-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-card);padding:34px 30px 32px;min-height:380px;display:grid;align-content:space-between;gap:28px;transition:border-color var(--t),transform var(--t)}
.why-card:hover{border-color:rgba(226,168,46,.4);transform:translateY(-4px)}
.why-card .ic{width:56px;height:56px;border-radius:14px;background:rgba(226,168,46,.1);display:grid;place-items:center;color:var(--gold)}
.why-card .ic svg{width:26px;height:26px}
.why-card h3{margin:0 0 10px}
.why-card p{font-size:15px}
.why-photo{aspect-ratio:4/3.2;border-radius:var(--r-card)}
.why-photo--down{margin-top:84px}
.why-photo--up{margin-bottom:84px}

/* ---------- process ---------- */
.process{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.process-copy{position:sticky;top:120px;display:grid;gap:22px;justify-items:start}
.steps{display:grid;gap:16px}
.step{display:grid;grid-template-columns:64px 1fr auto;gap:22px;align-items:start;padding:28px;border-radius:var(--r-card);background:var(--ink-1);border:1px solid var(--line);transition:border-color var(--t),transform var(--t)}
.step:hover{border-color:rgba(226,168,46,.4);transform:translateX(6px)}
.step .ic{width:64px;height:64px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line);display:grid;place-items:center;color:var(--gold)}
.step .ic svg{width:28px;height:28px}
.step h3{margin:0 0 8px}
.step p{font-size:15px}
.step .n{font:500 12px var(--font-d);letter-spacing:.16em;color:var(--gold);padding:7px 10px;border:1px solid rgba(226,168,46,.35);border-radius:4px;white-space:nowrap}
.step .ticks{margin-top:14px;font-size:14px;gap:8px}
.step .ticks svg{width:18px;height:18px}

/* ---------- team ---------- */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.member{border-radius:var(--r-card);border:1px solid var(--line);background:var(--ink-1);overflow:hidden;transition:border-color var(--t),transform var(--t)}
.member:hover{border-color:rgba(226,168,46,.4);transform:translateY(-4px)}
.member .mono{aspect-ratio:1/1.05;display:grid;place-items:center;background:radial-gradient(60% 60% at 50% 30%,rgba(226,168,46,.16),transparent 70%),var(--ink-2);font:500 96px var(--font-d);letter-spacing:.04em;color:rgba(226,168,46,.38);position:relative}
.member .mono::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(226,168,46,.6),transparent)}
.member .body{padding:22px 24px 26px;display:grid;gap:6px}
.member .name{font:500 21px var(--font-d);color:var(--text)}
.member .role{font:600 12px var(--font-b);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.member p{margin-top:8px;font-size:14.5px}

/* ---------- feature splits ---------- */
.feature{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.feature>.ph{aspect-ratio:4/3.3;border-radius:var(--r-panel)}
.feature--rev>.ph,.feature--rev>.trio{order:2}
.feature-copy{display:grid;gap:22px;justify-items:start}
.feature-copy .lead{max-width:54ch}
.play{position:absolute;inset:0;display:grid;place-items:center;z-index:2}
.play span{width:86px;height:86px;border-radius:50%;background:var(--grad-gold);display:grid;place-items:center;color:#15100A;box-shadow:0 0 0 14px rgba(226,168,46,.14),0 0 70px rgba(226,168,46,.45);transition:transform var(--t) var(--ease)}
.play span svg{width:32px;height:32px;margin-left:4px;fill:currentColor}
.play:hover span{transform:scale(1.07)}
.play-cap{position:absolute;left:24px;bottom:22px;z-index:2;display:grid;gap:2px}
.play-cap b{font:500 18px var(--font-d);color:var(--text)}
.play-cap small{color:var(--silver);font-size:13px}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.trio .ph{aspect-ratio:3/4.2}
.trio .ph:nth-child(2){transform:translateY(28px)}
.promo-code{display:inline-flex;align-items:center;gap:14px;padding:12px 18px;border-radius:8px;border:1px dashed rgba(226,168,46,.5);background:rgba(226,168,46,.06)}
.promo-code b{font:500 22px var(--font-d);letter-spacing:.14em;color:var(--gold)}
.promo-code small{color:var(--silver-2)}

/* ---------- projects (masonry) ---------- */
.masonry{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(250px,auto);gap:24px}
.proj{display:flex;flex-direction:column;gap:14px}
.proj .ph{flex:1;min-height:250px}
.proj--tall{grid-row:span 2}
.proj--wide{grid-column:span 2}
.proj:hover .ph img{transform:scale(1.04)}
.proj h3{font:500 22px/1.15 var(--font-d);color:var(--text)}
.proj small{display:block;margin-top:4px;color:var(--silver-2);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase}

/* ---------- band ---------- */
.band{display:grid;grid-template-columns:auto 1fr auto;gap:56px;align-items:center;padding:56px 64px;border-radius:var(--r-panel);background:linear-gradient(135deg,#141416,#0E0E10);border:1px solid var(--line-2);position:relative;overflow:hidden}
.band::before{content:"";position:absolute;top:-60%;left:-8%;width:46%;height:220%;background:radial-gradient(closest-side,rgba(226,168,46,.2),transparent);pointer-events:none}
.band>*{position:relative}
.band .big{font:500 128px/1 var(--font-d);background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.band h2{max-width:22ch}
.stars{display:flex;gap:4px;color:var(--gold)}
.stars svg{width:22px;height:22px;fill:currentColor}
.band-side{display:grid;gap:10px;justify-items:end;text-align:right}
.band-side b{font:500 44px/1 var(--font-d);color:var(--text)}
.band-side small{color:var(--silver-2);font-size:13.5px}

/* ---------- contact (form over photo) ---------- */
.contact-sec{position:relative;overflow:hidden}
.contact-sec>.ph{position:absolute;inset:0;border-radius:0}
.contact-sec>.ph::after{background:linear-gradient(90deg,rgba(10,10,11,.94) 0%,rgba(10,10,11,.7) 48%,rgba(10,10,11,.3) 100%),linear-gradient(180deg,var(--ink-0),transparent 22%,transparent 80%,var(--ink-0))}
.contact-sec>.container{position:relative}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.contact-info{display:grid;gap:20px;justify-items:start}
.contact-rows{display:grid;width:100%;max-width:520px;border-top:1px solid var(--line-2)}
.contact-rows>*{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line-2);color:var(--text);font-size:16px}
.contact-rows svg{width:22px;height:22px;color:var(--gold);flex:none}
.contact-rows small{display:block;color:var(--silver-2);font:600 11.5px var(--font-b);text-transform:uppercase;letter-spacing:.12em;margin-bottom:3px}
.form-white{background:#fff;color:#111;border-radius:var(--r-panel);padding:40px;display:grid;gap:14px;box-shadow:0 60px 120px -40px rgba(0,0,0,.95);justify-self:end;width:min(560px,100%)}
.form-white h3{font:500 34px/1.05 var(--font-d);color:#111}
.form-white>p{color:#5A5A60;font-size:15px;margin-bottom:6px}
.form-white .field label{color:#6E6E75}
.form-white .input,.form-white .phone{background:#F3F3F4;border-color:#E3E3E6;color:#111}
.form-white .phone select,.form-white .phone input{color:#111}
.form-white .phone select{border-right-color:#E3E3E6}
.form-white .input::placeholder,.form-white .phone input::placeholder{color:#9A9AA2}
.form-white .input:focus,.form-white .phone:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(226,168,46,.2)}
.form-white .consent{color:#5A5A60}
.form-white .consent a{color:#111}

/* ---------- footer ---------- */
.footer{position:relative;background:var(--ink-1);border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1.1fr;gap:48px;padding:84px 0 64px}
.footer-brand img{height:76px;width:auto;display:block}
.footer-brand p{margin:22px 0;max-width:40ch;font-size:15px}
.social{display:flex;gap:10px}
.social a{width:42px;height:42px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--silver);transition:color var(--t),border-color var(--t)}
.social a:hover{color:var(--gold);border-color:var(--gold)}
.social svg{width:18px;height:18px}
.footer h4{font:500 15px var(--font-d);letter-spacing:.16em;text-transform:uppercase;color:var(--text);margin:0 0 20px}
.footer-col{display:grid;gap:10px;align-content:start}
.footer-col a{color:var(--text-2);font-size:15px;transition:color var(--t)}
.footer-col a:hover{color:var(--gold)}
.footer-contact{display:grid;gap:16px;align-content:start}
.footer-contact>a,.footer-contact>span{display:flex;gap:14px;align-items:center;color:var(--text);font-size:15px}
.footer-contact svg{width:20px;height:20px;color:var(--gold);flex:none}
.footer-contact small{display:block;color:var(--silver-2);font:600 11px var(--font-b);text-transform:uppercase;letter-spacing:.12em;margin-bottom:2px}
.footer-bottom{position:relative;overflow:hidden;border-top:1px solid var(--line);padding:26px 0 130px}
.footer-bottom .container{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:13.5px;color:var(--silver-2);position:relative;z-index:1}
.footer-bottom nav{display:flex;gap:22px}
.footer-bottom nav a:hover{color:var(--gold)}
.footer-mark{position:absolute;left:50%;bottom:-.2em;transform:translateX(-50%);font:700 clamp(72px,12.5vw,200px)/1 var(--font-d);letter-spacing:.06em;color:rgba(255,255,255,.035);white-space:nowrap;pointer-events:none;user-select:none}

/* ---------- cookies, fab, reveal ---------- */
.cookies{position:fixed;left:20px;right:20px;bottom:20px;z-index:70;margin-inline:auto;max-width:760px;padding:22px 26px;border-radius:var(--r-card);background:rgba(16,16,18,.97);border:1px solid var(--line-2);backdrop-filter:blur(14px);box-shadow:0 40px 80px -30px rgba(0,0,0,.95)}
.cookies-box{display:grid;gap:10px}
.cookies-box .h3{font-size:20px}
.cookies-box p{font-size:14px}
.cookies-box a{color:var(--silver);text-decoration:underline;text-underline-offset:3px}
.cookies-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.fab{position:fixed;right:24px;bottom:24px;z-index:60;width:60px;height:60px;border-radius:50%;background:#1FAF57;color:#fff;display:grid;place-items:center;box-shadow:0 20px 40px -12px rgba(31,175,87,.7);transition:transform var(--t) var(--ease)}
.fab:hover{transform:translateY(-3px) scale(1.04)}
.fab svg{width:30px;height:30px}
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in,.static .rv{opacity:1;transform:none}
.static .rv{transition:none}
@media (prefers-reduced-motion:reduce){ .rv{opacity:1;transform:none} }

/* ---------- responsive ---------- */
@media (max-width:1300px){ .hero-dots{display:none} }
@media (max-width:1180px){
  .nav{display:none} .burger{display:grid}
  .hero>.container{grid-template-columns:1fr}
  .hero-side{display:none}
  .why{grid-template-columns:repeat(2,1fr)}
  .team{grid-template-columns:repeat(2,1fr)}
  .masonry{grid-template-columns:repeat(2,1fr)}
  .proj--wide{grid-column:span 2} .proj--tall{grid-row:span 1}
  .profiles{grid-template-columns:1fr;max-width:640px;margin-inline:auto}
  .profile{min-height:460px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .band{grid-template-columns:1fr;text-align:center;justify-items:center;gap:24px}
  .band-side{justify-items:center;text-align:center}
}
@media (max-width:1000px){
  .about{grid-template-columns:1fr;gap:56px}
  .about-visual{padding:0 32px 0 0;max-width:520px}
  .about-ring{width:200px;height:200px;bottom:32px}
  .cat-strip{grid-template-columns:repeat(2,1fr)}
  .cat:nth-child(2n){border-right:0} .cat:nth-child(n+3){border-top:1px solid var(--line)}
  .cat .num{top:40px;left:40px}
  .process{grid-template-columns:1fr;gap:48px} .process-copy{position:static}
  .feature,.feature--rev{grid-template-columns:1fr;gap:40px}
  .feature--rev>.ph,.feature--rev>.trio{order:0}
  .contact{grid-template-columns:1fr;gap:40px}
  .form-white{justify-self:stretch;width:100%}
  .cert{grid-template-columns:1fr;gap:48px}
  .cert-visual{justify-content:start}
  .cert-more{grid-template-columns:minmax(0,1fr);gap:28px}
  .partners{grid-template-columns:1fr;gap:32px}
  .logos{grid-template-columns:repeat(3,1fr)}
  .logos div:nth-child(3n){border-right:0} .logos div:nth-child(n+4){border-top:1px solid var(--line)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(3){border-left:0} .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .stat{padding:24px 26px}
  .sec-head--row{flex-direction:column;align-items:flex-start;gap:24px}
}
@media (max-width:860px){ .topbar{display:none} }
@media (max-width:640px){
  .header .btn{display:none}
  .brand img{height:50px}
  .hero{min-height:0}
  .hero>.container{padding:88px 0 132px}
  .hero-copy .lead{font-size:16.5px}
  .hero-ctas .btn{height:54px;padding:0 22px;font-size:15px}
  .stats-strip{margin-top:-84px}
  .stat{padding:18px 16px;gap:12px}
  .stat .ic{width:44px;height:44px} .stat .ic svg{width:22px;height:22px}
  .stat b{font-size:clamp(26px,7.6vw,38px)}
  .stat span{font-size:12.5px}
  .about-visual{padding-right:16px}
  .about-badge{left:-8px;top:16px;padding:12px 14px 12px 12px}
  .about-ring{width:150px;height:150px;right:-8px;bottom:20px}
  .counter{grid-template-columns:110px 1fr;gap:16px} .counter b{font-size:44px}
  .cat-strip{grid-template-columns:1fr} .cat{border-right:0;padding:22px 0}
  .cat:nth-child(n+2){border-top:1px solid var(--line)}
  .cat .num{top:34px;left:16px}
  .why{grid-template-columns:1fr} .why-photo--down,.why-photo--up{margin:0} .why-card{min-height:0}
  .team{grid-template-columns:1fr}
  .masonry{grid-template-columns:1fr} .proj--wide{grid-column:span 1}
  .step{grid-template-columns:52px 1fr;padding:22px} .step .n{grid-column:2;justify-self:start} .step .ic{width:52px;height:52px}
  .trio{gap:10px} .trio .ph:nth-child(2){transform:translateY(16px)}
  .band{padding:40px 24px} .band .big{font-size:88px}
  .form-white{padding:28px 22px} .row-2{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:36px;padding:64px 0 48px}
  .footer-bottom{padding-bottom:96px}
  .cookies{left:12px;right:12px;bottom:12px;padding:18px}
  .fab{right:16px;bottom:16px;width:54px;height:54px}
  .seal{width:170px;height:170px} .seal b{font-size:70px}
  .cert-visual{grid-template-columns:1fr;justify-items:start}
  .cert-more .docs{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- interim: pages not yet rebuilt in v2 ---------- */
.wip{min-height:60vh;display:grid;align-items:center;padding:96px 0}
.wip-box{display:grid;gap:22px;justify-items:start;max-width:720px}
.wip-box .h1{max-width:16ch}
.wip-note{display:flex;gap:14px;align-items:center;padding:16px 20px;border-radius:12px;background:rgba(226,168,46,.07);border:1px solid rgba(226,168,46,.3);color:var(--silver);font-size:14.5px}
.wip-note svg{width:22px;height:22px;color:var(--gold);flex:none}
.wip-ctas{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- inner pages ---------- */
.crumbs{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--silver-2)}
.crumbs a:hover{color:var(--text)}
.crumbs span:last-child{color:var(--silver)}
.display--sm{font-size:clamp(42px,5.4vw,80px)}
.phero{position:relative;min-height:640px;display:flex;align-items:flex-end;overflow:hidden;background:#000}
.phero>.ph{position:absolute;inset:0;border-radius:0}
.phero>.ph img{transform:none}
.phero>.ph::after{background:linear-gradient(90deg,rgba(10,10,11,.94) 0%,rgba(10,10,11,.78) 34%,rgba(10,10,11,.3) 70%,rgba(10,10,11,.45) 100%),linear-gradient(180deg,rgba(10,10,11,.6) 0%,rgba(10,10,11,0) 30%,rgba(10,10,11,0) 55%,var(--ink-0) 100%)}
.phero>.container{position:relative;z-index:2;display:grid;gap:32px;padding:56px 0 150px}
.phero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:end}
.phero-copy{display:grid;gap:24px;justify-items:start}
.phero-copy .lead{max-width:54ch;font-size:18.5px}
.phero-copy .ticks li{color:var(--silver);font-size:16px}
.rating{display:inline-flex;align-items:center;gap:12px}
.rating b{font:500 30px/1 var(--font-d);color:var(--text)}
.rating .stars svg{width:17px;height:17px}
.rating small{color:var(--silver-2);font-size:13px}
.phero-form{justify-self:end;background:rgba(16,16,18,.74);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);max-width:460px;box-shadow:0 40px 80px -30px rgba(0,0,0,.9)}
.phero-form .h3{font-size:24px;margin-bottom:4px}
.phero .hero-side{justify-self:end}
.page-hero{position:relative;min-height:440px;display:flex;align-items:flex-end;overflow:hidden;background:#000}
.page-hero>.ph{position:absolute;inset:0;border-radius:0;opacity:.8}
.page-hero>.ph img{transform:none}
.page-hero>.ph::after{background:linear-gradient(90deg,rgba(10,10,11,.95) 0%,rgba(10,10,11,.72) 50%,rgba(10,10,11,.35) 100%),linear-gradient(180deg,rgba(10,10,11,.55),rgba(10,10,11,0) 30%,rgba(10,10,11,0) 60%,var(--ink-0) 100%)}
.page-hero>.container{position:relative;z-index:2;display:grid;gap:16px;justify-items:start;padding:72px 0 72px}
.page-hero .h1{max-width:20ch;margin-top:4px}
.page-hero .lead{max-width:60ch}
.subcats{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}
.subcat{position:relative;display:block;border-radius:var(--r-panel);overflow:hidden;min-height:400px;border:1px solid var(--line)}
.subcat>.ph{position:absolute;inset:0;border-radius:0}
.subcat>.ph::after{background:linear-gradient(180deg,rgba(10,10,11,.1) 20%,rgba(10,10,11,.92) 100%)}
.subcat:hover>.ph img{transform:scale(1.04)}
.subcat-body{position:relative;z-index:1;min-height:400px;padding:36px;display:grid;gap:8px;align-content:end}
.subcat-body .h3{font-size:30px}
.subcat-body p{color:var(--silver);max-width:46ch;font-size:15.5px}
.subcat-body .link{display:inline-flex;gap:10px;align-items:center;margin-top:10px;color:var(--gold);font:600 13px var(--font-b);letter-spacing:.1em;text-transform:uppercase}
.subcat-body .link svg{width:16px;height:16px}
.swatch-h{margin:48px 0 18px}
.sec-head+.swatch-h{margin-top:40px}
.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.swatch{display:grid;gap:12px;padding:12px 12px 14px;border-radius:12px;background:var(--ink-1);border:1px solid var(--line);font-size:14px;color:var(--silver)}
.swatch i{display:block;aspect-ratio:4/3;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 -24px 40px rgba(0,0,0,.25)}
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px}
.spec{border-radius:var(--r-card);border:1px solid var(--line);background:var(--ink-2);padding:30px 28px;display:grid;gap:12px;align-content:start;min-height:300px;transition:border-color var(--t),transform var(--t)}
.spec:hover{border-color:rgba(226,168,46,.4);transform:translateY(-4px)}
.spec .k{font:500 46px/1 var(--font-d);letter-spacing:.02em;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.spec .h3{font-size:22px}
.spec p{font-size:15px}
.spec .v{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--silver-2)}
.spec .v b{color:var(--silver)}
.minis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:48px}
.mini{padding:26px 24px;border-radius:14px;border:1px solid var(--line);background:var(--ink-2);display:grid;gap:16px;justify-items:start;transition:border-color var(--t)}
.mini:hover{border-color:rgba(226,168,46,.4)}
.mini .ic{width:48px;height:48px;border-radius:12px;background:rgba(226,168,46,.1);display:grid;place-items:center;color:var(--gold)}
.mini .ic svg{width:22px;height:22px}
.mini .h3{font-size:19px}
.ce-band{display:grid;grid-template-columns:1.1fr auto;gap:56px;align-items:center;padding:48px 56px;border-radius:var(--r-panel);background:linear-gradient(135deg,#141416,#0E0E10);border:1px solid var(--line-2);position:relative;overflow:hidden}
.ce-band::before{content:"";position:absolute;top:-60%;right:-10%;width:40%;height:220%;background:radial-gradient(closest-side,rgba(226,168,46,.16),transparent);pointer-events:none}
.ce-copy{position:relative;display:grid;gap:14px;justify-items:start;max-width:60ch}
.ce-visual{position:relative;display:flex;gap:20px;align-items:center}
.seal--sm{width:160px;height:160px}
.seal--sm b{font-size:60px}
.ce-visual .docs{grid-template-columns:repeat(2,minmax(0,1fr));max-width:280px}
.ce-visual .doc{aspect-ratio:3/3.4;padding:14px}
.cat-strip--4 .cat:nth-child(n+5){border-top:0}
.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.faq-copy{display:grid;gap:22px;justify-items:start;position:sticky;top:120px}
.faq-box{display:grid;gap:12px;justify-items:start;padding:30px;border-radius:var(--r-card);background:var(--ink-2);border:1px solid var(--line);width:100%;max-width:440px;margin-top:12px}
.faq-box p{font-size:15px}
.acc{display:grid;gap:12px}
.acc details{border:1px solid var(--line);border-radius:12px;background:var(--ink-1);padding:0 24px;transition:border-color var(--t)}
.acc details[open]{border-color:rgba(226,168,46,.35)}
.acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font:500 20px/1.25 var(--font-d);color:var(--text);cursor:pointer}
.acc summary::-webkit-details-marker{display:none}
.acc .plus{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--gold);flex:none;transition:transform var(--t),background var(--t),color var(--t)}
.acc .plus svg{width:16px;height:16px}
.acc details[open] .plus{transform:rotate(45deg);background:var(--gold);border-color:var(--gold);color:#15100A}
.acc .ans{padding:0 0 22px;color:var(--text-2);max-width:66ch;font-size:15.5px}
.acc--wide{max-width:900px}
.reviews{position:relative;overflow:hidden}
.reviews-mark{position:absolute;left:50%;top:40px;transform:translateX(-50%);font:700 clamp(90px,16vw,260px)/1 var(--font-d);letter-spacing:.06em;color:rgba(255,255,255,.028);white-space:nowrap;pointer-events:none;user-select:none}
.reviews>.container{position:relative}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.review{border-radius:var(--r-card);border:1px solid var(--line);background:var(--ink-1);padding:32px;display:grid;gap:18px;align-content:start}
.review .stars{display:flex;gap:3px;color:var(--gold)}
.review .stars svg{width:18px;height:18px;fill:currentColor}
.review p{font-size:16px;color:var(--silver);line-height:1.65}
.review .who{display:flex;gap:14px;align-items:center;margin-top:auto;padding-top:6px}
.review .av{width:46px;height:46px;border-radius:50%;background:var(--grad-gold);color:#15100A;display:grid;place-items:center;font:600 18px var(--font-d);flex:none}
.review .who b{display:block;color:var(--text)}
.review .who span{font-size:13px;color:var(--silver-2)}
.trust{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;margin:36px auto 0;padding:18px 26px;border-radius:12px;border:1px solid var(--line);background:var(--ink-1);width:fit-content;max-width:100%}
.trust .stars{display:flex;gap:3px;color:var(--gold)}
.trust .stars svg{width:18px;height:18px;fill:currentColor}
.trust b{font:500 24px var(--font-d);color:var(--text)}
.trust span{color:var(--silver-2);font-size:14px}
.adv{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px}
.adv--3{grid-template-columns:repeat(3,1fr)}
.adv-card{border-radius:var(--r-card);border:1px solid var(--line);background:var(--ink-1);padding:30px 28px;display:grid;gap:14px;align-content:start;min-height:250px;transition:border-color var(--t),transform var(--t)}
.adv-card:hover{border-color:rgba(226,168,46,.4);transform:translateY(-4px)}
.adv-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.adv-card .ic{width:50px;height:50px;border-radius:12px;background:rgba(226,168,46,.1);display:grid;place-items:center;color:var(--gold)}
.adv-card .ic svg{width:24px;height:24px}
.adv-card .n{font:500 13px var(--font-d);letter-spacing:.2em;color:var(--silver-3)}
.adv-card .h3{font-size:22px}
.adv-card p{font-size:15px}
.adv-card p a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.cta-split{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:48px 56px;border-radius:var(--r-panel);background:linear-gradient(135deg,#141416,#0E0E10);border:1px solid var(--line-2);position:relative;overflow:hidden}
.cta-split::before{content:"";position:absolute;top:-60%;left:-8%;width:46%;height:220%;background:radial-gradient(closest-side,rgba(226,168,46,.18),transparent);pointer-events:none}
.cta-split>*{position:relative}
.cta-copy{display:grid;gap:16px;justify-items:start}
.cta-copy .lead{max-width:48ch}
.cta-split .form-card{justify-self:end}
.addr-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.addr-card{display:flex;gap:16px;align-items:center;padding:24px 26px;border-radius:var(--r-card);border:1px solid var(--line);background:var(--ink-1);transition:border-color var(--t)}
.addr-card:hover{border-color:rgba(226,168,46,.4)}
.addr-card .ic{width:50px;height:50px;border-radius:12px;background:rgba(226,168,46,.1);display:grid;place-items:center;color:var(--gold);flex:none}
.addr-card .ic svg{width:22px;height:22px}
.addr-card small{display:block;font:600 11px var(--font-b);letter-spacing:.14em;text-transform:uppercase;color:var(--silver-2);margin-bottom:4px}
.addr-card b{font:500 19px var(--font-d);color:var(--text);word-break:break-word}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px}
.svc{border-radius:var(--r-card);overflow:hidden;border:1px solid var(--line);background:var(--ink-1);transition:border-color var(--t),transform var(--t)}
.svc:hover{border-color:rgba(226,168,46,.4);transform:translateY(-4px)}
.svc .ph{aspect-ratio:4/3;border-radius:0}
.svc .body{padding:22px 24px 26px;display:grid;gap:10px;justify-items:start}
.svc .badge svg{width:14px;height:14px}
.svc .h3{font-size:21px}
.svc p{font-size:14.5px}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post{display:grid;gap:12px;align-content:start}
.post .ph{aspect-ratio:16/10}
.post:hover .ph img{transform:scale(1.04)}
.post .meta{font:600 11.5px var(--font-b);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:6px}
.post .h3{font-size:23px}
.post p{font-size:14.5px}
.post .more{display:inline-flex;gap:8px;align-items:center;color:var(--silver);font-size:14px}
.post .more svg{width:16px;height:16px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.gallery figure{display:grid;gap:10px}
.gallery .ph{aspect-ratio:4/3}
.gallery figure:hover .ph img{transform:scale(1.04)}
.gallery figcaption{font:500 19px var(--font-d);color:var(--text)}
.gallery figcaption small{display:block;color:var(--silver-2);font:600 11.5px var(--font-b);letter-spacing:.12em;text-transform:uppercase;margin-top:2px}
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.videos .ph{aspect-ratio:16/10}
.map-card{position:relative;min-height:440px;border-radius:var(--r-panel);overflow:hidden;border:1px solid var(--line-2);display:grid;place-items:center;margin-top:48px}
.map-card>.ph{position:absolute;inset:0;border-radius:0;opacity:.6}
.map-card>.ph::after{background:radial-gradient(60% 60% at 50% 50%,rgba(10,10,11,.2),rgba(10,10,11,.85))}
.map-pin{position:relative;z-index:1;display:grid;gap:12px;justify-items:center;text-align:center;padding:32px 36px;border-radius:var(--r-card);background:rgba(16,16,18,.9);border:1px solid var(--line-2);backdrop-filter:blur(12px);max-width:420px}
.map-pin .ic{width:56px;height:56px;border-radius:50%;background:var(--grad-gold);display:grid;place-items:center;color:#15100A;box-shadow:0 0 0 12px rgba(226,168,46,.12)}
.map-pin .ic svg{width:26px;height:26px}
.map-pin b{font:500 22px var(--font-d);color:var(--text)}
.map-pin p{font-size:14px}
.stats--inline{margin-top:48px}
.prose{max-width:820px;display:grid;gap:18px}
.prose p{font-size:16.5px}
.prose .h3{margin-top:8px}
@media (max-width:1180px){
  .adv{grid-template-columns:repeat(2,1fr)} .adv--3{grid-template-columns:repeat(3,1fr)}
  .specs{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .minis{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1000px){
  .phero-grid{grid-template-columns:1fr;gap:32px}
  .phero-form,.phero .hero-side{justify-self:stretch;max-width:none}
  .phero>.container{padding:40px 0 140px}
  .faq{grid-template-columns:1fr;gap:40px} .faq-copy{position:static}
  .subcats{grid-template-columns:1fr}
  .cta-split{grid-template-columns:1fr;padding:36px 28px} .cta-split .form-card{justify-self:stretch;max-width:none}
  .ce-band{grid-template-columns:1fr;padding:36px 28px}
  .reviews-grid{grid-template-columns:1fr;max-width:640px;margin-inline:auto}
  .addr-strip{grid-template-columns:1fr}
  .posts{grid-template-columns:repeat(2,1fr)}
  .gallery,.videos{grid-template-columns:repeat(2,1fr)}
  .adv--3{grid-template-columns:repeat(2,1fr)}
  .swatches{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .phero{min-height:0}
  .adv,.adv--3,.specs,.svc-grid,.posts,.gallery,.videos{grid-template-columns:1fr}
  .minis,.swatches{grid-template-columns:repeat(2,1fr)}
  .subcat,.subcat-body{min-height:320px}
  .subcat-body{padding:24px}
  .ce-visual{flex-direction:column;align-items:flex-start}
  .acc summary{font-size:18px}
  .page-hero{min-height:360px}
  .page-hero>.container{padding:48px 0 48px}
  .map-card{min-height:380px} .map-pin{padding:24px}
  .cat-strip--4 .cat:nth-child(n+2){border-top:1px solid var(--line)}
}
