:root{--ink:#0B1020;--ink2:#141B33;--gold:#E8B65C;--gold2:#F4D393;--ivory:#F8F4EB;--text:#1B2036;--muted:#5C6178;--line:#E3DDCC}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--text);background:var(--ivory);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:600;line-height:1.1;letter-spacing:-.01em}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
a{color:inherit;text-decoration:none}
.nav{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;max-width:1080px;margin:0 auto;padding:22px 24px;color:#fff}
.brand{display:flex;align-items:center;gap:10px;font-family:Georgia,serif;font-size:22px;font-weight:600}
.brand b{color:var(--gold);font-weight:600}
.nav nav{display:flex;align-items:center;gap:22px;font-size:15px}
.nav nav a:not(.btn){opacity:.8}
.nav nav a:not(.btn):hover{opacity:1}
.btn{display:inline-block;background:var(--gold);color:var(--ink);font-weight:600;padding:14px 26px;border-radius:999px;transition:transform .15s,background .15s}
.btn:hover{background:var(--gold2);transform:translateY(-1px)}
.btn.small{padding:9px 18px;font-size:14px}
.btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}
.btn.ghost:hover{background:rgba(255,255,255,.08)}
.btn.big{font-size:20px;padding:18px 36px}
.hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:170px 0 120px}
.hero .wrap{position:relative;z-index:2}
.glow{position:absolute;right:-120px;top:-80px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(232,182,92,.35),rgba(232,182,92,0) 65%);z-index:1}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:600;color:var(--gold);margin-bottom:18px}
.eyebrow.on-light{color:#9A6D1B}
.hero h1{font-size:clamp(46px,8vw,92px);margin-bottom:26px}
.hero h1 em{font-style:italic;color:var(--gold)}
.lead{font-size:clamp(18px,2.2vw,22px);max-width:640px;color:#D5D9EA;margin-bottom:36px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.strip{background:var(--ink2);color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:28px;padding-bottom:28px}
.strip-grid strong{display:block;color:var(--gold);font-family:Georgia,serif;font-size:20px;margin-bottom:2px}
.strip-grid span{font-size:15px;color:#B9BED5}
.section{padding:96px 0}
.section h2{font-size:clamp(32px,5vw,52px);margin-bottom:16px;max-width:760px}
.sub{font-size:19px;color:var(--muted);max-width:620px;margin-bottom:48px}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.steps li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 22px}
.num{display:inline-flex;width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--gold);align-items:center;justify-content:center;font-family:Georgia,serif;font-weight:600;margin-bottom:16px}
.steps h3{font-size:21px;margin-bottom:8px}
.steps p{font-size:15.5px;color:var(--muted)}
.dark{background:var(--ink);color:#fff}
.dark .sub,.contact .sub{color:#B9BED5}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--ink2);border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:30px 26px;display:flex;flex-direction:column;gap:12px}
.card h3{font-size:26px}
.card p{color:#C4C9DE;font-size:16px;flex:1}
.tag{align-self:flex-start;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(232,182,92,.5);border-radius:999px;padding:5px 12px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.two h2{margin-bottom:0}
.prose p{font-size:18px;margin-bottom:18px;color:#343A55}
.ticks{list-style:none;margin-top:8px}
.ticks li{padding:12px 0 12px 34px;border-top:1px solid var(--line);position:relative;font-weight:500}
.ticks li:before{content:"";position:absolute;left:4px;top:19px;width:14px;height:8px;border-left:3px solid #C58B22;border-bottom:3px solid #C58B22;transform:rotate(-45deg)}
.contact{background:linear-gradient(160deg,var(--ink2),var(--ink));color:#fff}
.center{text-align:center}
.center h2,.center .sub{margin-left:auto;margin-right:auto}
footer{background:#070B17;color:#9CA2BD;font-size:14px;padding:28px 0}
.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.small-brand{font-size:18px;color:#fff}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.two{grid-template-columns:1fr;gap:28px}}
@media(max-width:600px){.nav nav a:not(.btn){display:none}.hero{padding:130px 0 80px}.strip-grid{grid-template-columns:1fr;gap:14px}.steps{grid-template-columns:1fr}.section{padding:68px 0}.foot{flex-direction:column;align-items:flex-start}}
.small-brand{gap:0}

.simple{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.simple .sub.small{font-size:18px;margin-bottom:0}
.viz{background:var(--ivory);border:1px solid var(--line);border-radius:20px;padding:18px}
.viz svg{width:100%;height:auto;display:block}
.vl{font:600 13px -apple-system,Segoe UI,Helvetica,Arial,sans-serif;fill:#5C6178}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.trio h3{font-size:20px;margin:12px 0 4px}
.trio p{color:var(--muted);font-size:15.5px}
.ic{display:inline-flex;width:40px;height:40px;border-radius:12px;background:var(--gold);align-items:center;justify-content:center}
@media(max-width:700px){.trio{grid-template-columns:1fr;gap:22px;margin-top:32px}}
.simple h2{margin-bottom:22px}.vl{font-size:15px}

.hero-img{position:absolute;right:0;top:0;width:58%;height:100%;object-fit:cover;object-position:50% 45%;z-index:1;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 45%);mask-image:linear-gradient(to right,transparent 0,#000 45%)}
.hero .lead{max-width:540px}
.hero h1{text-shadow:0 2px 24px rgba(11,16,32,.6)}
@media(max-width:900px){.hero{padding:0 0 70px}.hero-img{position:relative;display:block;width:100%;height:300px;-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);margin-bottom:8px}.hero .wrap{margin-top:-30px}.nav{z-index:6}}
.hero-img{-webkit-mask-image:linear-gradient(to right,transparent 5%,#000 60%);mask-image:linear-gradient(to right,transparent 5%,#000 60%)}
@media(max-width:900px){.hero{display:flex;flex-direction:column}.hero-img{order:-1;height:340px;margin:0;object-position:50% 40%}.hero .wrap{margin-top:-60px}.nav{position:absolute}}
@media(max-width:900px){.hero .wrap{margin-top:0;padding-top:6px}}
.hero.light{background:var(--ivory);color:var(--ink)}
.hero.light .hero-img{-webkit-mask-image:linear-gradient(to right,transparent 5%,#000 55%);mask-image:linear-gradient(to right,transparent 5%,#000 55%)}
.hero.light h1{text-shadow:none;color:var(--ink)}
.hero.light h1 em{color:#B07A12}
.hero.light .lead{color:#343A55}
.hero.light .eyebrow{color:#9A6D1B}
.hero.light .btn.ghost{color:var(--ink);border-color:rgba(11,16,32,.35)}
.hero.light .btn.ghost:hover{background:rgba(11,16,32,.06)}
.nav.light,.nav.light nav a:not(.btn){color:var(--ink)}
.nav.light .brand b{color:#B07A12}
@media(max-width:900px){.hero.light .hero-img{-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent 100%);mask-image:linear-gradient(to bottom,#000 70%,transparent 100%)}.nav.light{color:#fff}}
.hero.light h1{font-size:clamp(38px,4.6vw,62px);max-width:540px}
.hero.light .hero-img{width:52%}
@media(max-width:900px){.nav.light{color:var(--ink)}.hero.light h1{font-size:clamp(40px,11vw,60px);max-width:none}.hero.light .hero-img{width:100%}}
.brand span{font-family:"Avenir Next","Montserrat","Helvetica Neue",Arial,sans-serif;font-size:1.25em;font-weight:600;letter-spacing:-.02em;text-transform:none}
.brand b{font-weight:400;color:#6b7280}
.nav.light .brand b{color:#6b7280}
.small-brand b{color:#c9ced8}
@font-face{font-family:"Outfit";src:url(fonts/outfit.ttf) format("truetype");font-weight:500;font-display:swap}
.brand span,.small-brand{font-family:"Outfit","Futura","Century Gothic","Avenir Next",sans-serif;font-weight:500;font-size:34px;letter-spacing:-.01em;color:#2b2926}
.small-brand{color:#fff;font-size:30px}
@media(max-width:900px){.brand span{font-size:30px}}
.brand span{color:#55514c;letter-spacing:.01em;
text-shadow:-1px -1px 0 #8a857e,1px 1px 0 #3a3733,2px 2px 0 #35322f,3px 3px 0 #302d2a,4px 4px 0 #2b2926,5px 5px 0 #262421,6px 7px 8px rgba(30,25,20,.35)}
.small-brand{color:#f1eee8;
text-shadow:-1px -1px 0 #fff,1px 1px 0 #b9b4ac,2px 2px 0 #a7a29a,3px 3px 0 #96918a,4px 4px 0 #858079,5px 5px 0 #757069,6px 7px 8px rgba(0,0,0,.5)}
.brand span{color:#5b5752;letter-spacing:.04em;
text-shadow:0 -1px 0 #9a958e,1px 1px 0 #3d3a36,2px 2px 0 #34312d,3px 3px 0 #2a2824,4px 6px 6px rgba(30,25,20,.28)}
.small-brand{letter-spacing:.04em;
text-shadow:0 -1px 0 #fff,1px 1px 0 #b3aea6,2px 2px 0 #9b968f,3px 3px 0 #7f7a73,4px 6px 6px rgba(0,0,0,.5)}
.logo-img{height:46px;width:auto;display:block}
.small-brand .logo-img{height:42px}
.brand span,.small-brand{text-shadow:none}
@media(max-width:900px){.logo-img{height:40px}}


.hero.light .hero-img{width:60%;object-position:0 50%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 14%);mask-image:linear-gradient(to right,transparent 0,#000 14%)}
@media(max-width:900px){.hero.light .hero-img{width:100%;height:auto;aspect-ratio:1024/918;-webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,#000 80%,transparent 100%)}}
@media(min-width:901px){.hero.light .hero-img{top:auto;bottom:0;right:0;width:62%;height:auto;aspect-ratio:1024/918;object-fit:cover;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 16%);mask-image:linear-gradient(to right,transparent 0,#000 16%)}.hero.light .eyebrow{max-width:400px}}
@media(min-width:901px){.hero.light .hero-img{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 16%),linear-gradient(to bottom,transparent 0,#000 16%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 16%),linear-gradient(to bottom,transparent 0,#000 16%);mask-composite:intersect}}
@media(max-width:900px){.hero.light .hero-img{margin-top:72px}}
