
:root{--ink:#0F1115;--ink-2:#1A1D22;--paper:#FAF9F6;--white:#FFFFFF;--text:#15171B;--muted:#5F646D;--line:#E3E0D8;--tint:#F1EEE7;--gold:#F0A32B;--gold-deep:#C9841A;--bg:var(--paper)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:Montserrat,"IBM Plex Sans",system-ui,sans-serif;margin:0;text-wrap:balance;letter-spacing:-.015em}
h1{font-size:clamp(34px,5.2vw,60px);font-weight:700;line-height:1.06}
h2{font-size:clamp(26px,3.2vw,38px);font-weight:700;line-height:1.15}
h3{font-size:20px;font-weight:700;line-height:1.3}
p{margin:0;max-width:62ch}
a{color:inherit}
.wrap{max-width:1140px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.eyebrow{font-family:Montserrat,sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.dark .eyebrow{color:var(--gold)}
/* header */
.site-header{background:var(--ink);color:var(--white);position:sticky;top:env(safe-area-inset-top,0px);z-index:20;border-bottom:1px solid #22262C}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px;flex-wrap:wrap;padding-block:10px}
.logo{height:44px;width:auto;display:block}
nav.main{display:flex;gap:6px;flex-wrap:wrap}
nav.main a{font-family:Montserrat,sans-serif;font-size:14px;font-weight:600;text-decoration:none;color:#D7D9DE;padding:8px 12px;border-radius:4px}
nav.main a:hover,nav.main a:focus-visible{color:var(--white);background:#22262C;outline:none}
nav.main a[aria-current="page"]{color:var(--white);box-shadow:inset 0 -2px 0 var(--gold)}
/* sections */
section{padding-block:clamp(56px,8vw,104px)}
.dark{background:var(--ink);color:var(--white)}
.dark p{color:#C9CCD2}
.dark .prose p{color:#E3E5E9}
.tint{background:var(--tint)}
.sechead{display:grid;gap:14px;margin-bottom:clamp(28px,4vw,48px)}
.sechead p{color:var(--muted);font-size:18px}
.dark .sechead p{color:#C9CCD2}
.hero{padding-block:clamp(72px,10vw,140px);position:relative;overflow:hidden;isolation:isolate}
.hero canvas.dazzle{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.hero .wrap{position:relative;z-index:1}
.dazzle-note{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;max-width:56ch;padding:14px 16px;border:1px solid #2B2F36;border-radius:6px;background:rgba(15,17,21,.55);backdrop-filter:blur(2px)}
.dazzle-note .stripes{display:flex;gap:3px;padding-top:4px}
.dazzle-note .stripes i{display:block;width:4px;height:26px;background:var(--gold);border-radius:2px;transform:skewX(-12deg)}
.dazzle-note .stripes i:nth-child(2){height:30px;opacity:.85}.dazzle-note .stripes i:nth-child(3){height:22px;opacity:.7}
.dazzle-note p{font-size:14.5px;line-height:1.5;color:#C9CCD2;max-width:none}
.dazzle-note a{color:var(--gold);font-weight:600;text-decoration:none}.dazzle-note a:hover{text-decoration:underline}
.hero .wrap{display:grid;gap:28px;max-width:1140px}
.hero h1{max-width:18ch}
.hero .sub{font-size:clamp(18px,2vw,22px);max-width:52ch;color:#C9CCD2}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.btn{font-family:Montserrat,sans-serif;font-weight:700;font-size:15px;text-decoration:none;padding:14px 22px;border-radius:4px;display:inline-block;border:2px solid transparent}
.btn.gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.btn.gold:hover{background:#F6B44A;border-color:#F6B44A}
.btn.ghost{border-color:#3A3F47;color:var(--white)}
.btn.ghost:hover{border-color:var(--white)}
.btn.ink{background:var(--ink);color:var(--white);border-color:var(--ink)}
.btn.ink:hover{background:#2A2E35}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
/* grids and cards */
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr))}
.grid.four{grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr))}
.hero-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.hero-mark{width:min(34vw,380px);height:auto;display:block}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-mark{display:none}}
.card{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:28px;display:grid;gap:12px;align-content:start}
.card p{color:var(--muted);font-size:16px}
.card .num{font-family:Montserrat,sans-serif;font-weight:700;color:var(--gold-deep);font-size:13px;letter-spacing:.12em}
.dark .card{background:var(--ink-2);border-color:#2B2F36}
.dark .card p{color:#C9CCD2}
.strip{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));border-top:1px solid #2B2F36;padding-top:32px;margin-top:8px}
.strip b{font-family:Montserrat,sans-serif;font-size:15px;display:block;margin-bottom:4px;color:var(--white)}
.strip span{font-size:15px;color:#A7ABB3}
.steps{display:grid;gap:0;border:1px solid var(--line);border-radius:6px;background:var(--white);overflow:hidden}
.step{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:28px;border-top:1px solid var(--line)}
.step:first-child{border-top:0}
.step .k{font-family:Montserrat,sans-serif;font-weight:700;color:var(--gold-deep);font-size:14px;letter-spacing:.1em;text-transform:uppercase;padding-top:4px}
.step h3{margin-bottom:8px}
.step p{color:var(--muted);font-size:16px}
.step p+p{margin-top:8px}
@media (max-width:600px){.step{grid-template-columns:1fr;gap:6px}}
.prose{display:grid;gap:18px;max-width:66ch}
.prose p{color:var(--text)}
.prose p.lead{font-size:20px;color:var(--muted)}
.two-col{display:grid;gap:40px;grid-template-columns:1fr 1fr;align-items:start}
@media (max-width:800px){.two-col{grid-template-columns:1fr}}
.people{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.person{border-top:3px solid var(--gold);padding-top:18px;display:grid;gap:8px}
.person .role{font-family:Montserrat,sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.person p{color:var(--muted);font-size:16px}
.cta{padding-block:clamp(56px,8vw,96px)}
.cta .wrap{display:grid;gap:18px;justify-items:start}
.cta p{color:#C9CCD2;font-size:18px}
.contact-box{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:32px;display:grid;gap:16px}
.contact-box .email{font-family:Montserrat,sans-serif;font-weight:700;font-size:clamp(18px,2.6vw,26px);word-break:break-all}
.contact-box ul{margin:0;padding-left:20px;color:var(--muted)}
.contact-box li{margin:4px 0}
.fine{color:var(--muted);font-size:15px}
.dark .fine{color:#A7ABB3}
/* contact form */
.form{display:grid;gap:16px}
.field{display:grid;gap:6px}
.field label{font-family:Montserrat,sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.field .optional{font-weight:500;letter-spacing:.02em;text-transform:none}
.field input,.field textarea{font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--line);border-radius:4px;background:var(--white);color:var(--text);width:100%}
.field input:focus,.field textarea:focus{outline:3px solid var(--gold);outline-offset:1px;border-color:var(--gold-deep)}
.field textarea{min-height:140px;resize:vertical}
button.btn{cursor:pointer}
.btn[disabled]{opacity:.6;cursor:default}
.form-status{font-size:15px;font-weight:600;margin:0;min-height:1em}
.form-status.ok{color:var(--gold-deep)}
.form-status.err{color:#B3402A}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#cf-ts{width:100%}
/* footer */
footer{background:var(--ink);color:#A7ABB3;padding-block:40px;border-top:1px solid #22262C}
footer .wrap{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}
footer .logo-mark{height:52px;width:auto}
footer nav{display:flex;gap:16px;flex-wrap:wrap}
footer a{color:#D7D9DE;text-decoration:none;font-size:14px;font-family:Montserrat,sans-serif;font-weight:600}
footer a:hover{color:var(--white)}
footer small{font-size:13px;display:block;width:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
