:root{
  --ink:#EEF3F4;
  --night:#101822;
  --night-2:#152231;
  --paper:#111B27;
  --surface:#192838;
  --surface-2:#203344;
  --muted:#AEBBC4;
  --line:rgba(255,255,255,.13);
  --line-dark:rgba(255,255,255,.16);
  --accent:#EE7A1B;
  --accent-soft:#3A261B;
  --amber:#EE7A1B;
  --amber-soft:#3B2A20;
  --gold:#F2B47F;
  --maxw:1160px;
  --radius:8px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Hanken Grotesk',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink);
  background:var(--night);
  line-height:1.58;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a.text-link{color:var(--gold);border-bottom:1px solid rgba(242,180,127,.42)}
a.text-link:hover{border-color:var(--accent)}
.band-dark a.text-link{color:var(--gold);border-color:rgba(242,180,127,.45)}
h1,h2,h3{
  font-family:'Archivo',system-ui,sans-serif;
  line-height:1.08;
  letter-spacing:0;
}
h1{font-size:3.55rem;font-weight:800}
h2{font-size:2.25rem;font-weight:700}
h3{font-size:1.15rem;font-weight:700}
p{font-size:1rem}
ul{list-style:none}
:focus-visible{outline:3px solid rgba(217,121,45,.8);outline-offset:3px}

.wrap{width:min(100% - 48px,var(--maxw));margin-inline:auto}
.eyebrow{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:.74rem;
  letter-spacing:0;
  text-transform:uppercase;
  color:var(--amber);
  font-weight:500;
}
.lead{font-size:1.15rem;color:#D9E2E4;max-width:680px}
.muted{color:var(--muted)}
.dark-muted{color:#B9C6CA}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border-radius:var(--radius);
  padding:.76rem 1rem;
  border:1px solid transparent;
  font-family:'Archivo',system-ui,sans-serif;
  font-weight:700;
  font-size:.94rem;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--amber);color:#fff}
.btn-primary:hover{background:#C96922}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{background:#F3F7F6}
.btn-ghost{border-color:var(--line-dark);color:#fff}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.05)}

.nav{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(16,24,34,.9);
  border-bottom:1px solid var(--line-dark);
  backdrop-filter:blur(14px);
}
.nav.nav-scrolled{
  background:rgba(16,24,34,.96);
  box-shadow:0 18px 42px -32px rgba(0,0,0,.9);
}
.nav-inner{
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-family:'Archivo',system-ui,sans-serif;
  font-size:1.08rem;
  font-weight:800;
  letter-spacing:0;
  white-space:nowrap;
}
.brand-logo{
  display:block;
  width:auto;
  height:34px;
  flex:0 0 auto;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:24px;
}
.nav-links a{
  color:#B9C6CA;
  font-size:.94rem;
  font-weight:600;
}
.nav-links a:hover{color:#fff}
.nav-links a.btn-primary{color:#fff}
.nav-toggle{
  display:none;
  width:44px;
  height:44px;
  border:1px solid var(--line-dark);
  border-radius:var(--radius);
  background:transparent;
  color:#fff;
  font-size:1.3rem;
  cursor:pointer;
}

.hero{
  color:#fff;
  min-height:calc(100svh - 120px);
  padding:72px 0 70px;
  position:relative;
  display:flex;
  align-items:flex-start;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(238,122,27,.24) 0%,rgba(16,24,34,0) 34%),
    linear-gradient(115deg,rgba(242,180,127,.12) 0%,rgba(16,24,34,0) 28%),
    radial-gradient(circle at 78% 20%,rgba(238,122,27,.12),rgba(16,24,34,0) 34%),
    linear-gradient(180deg,var(--night) 0%,#14202E 100%);
}
.hero-content{
  display:grid;
  grid-template-columns:minmax(210px,300px) minmax(0,780px);
  gap:68px;
  align-items:center;
}
.hero-brand-panel{
  display:flex;
  justify-content:center;
}
.hero-lockup{
  width:280px;
  height:auto;
}
.hero h1{
  margin:18px 0 18px;
  max-width:820px;
  font-size:2.72rem;
}
.hero strong{color:var(--gold)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 28px}
.hero-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  max-width:820px;
  padding-top:24px;
  border-top:1px solid var(--line-dark);
}
.hero-facts b{
  display:block;
  font-family:'Archivo',system-ui,sans-serif;
  font-size:1.1rem;
  line-height:1.2;
}
.hero-facts span{display:block;color:#B9C6CA;font-size:.92rem;margin-top:4px}

section{padding:88px 0}
.section-head{max-width:720px;margin-bottom:38px}
.section-head h2{margin:12px 0 12px}
.section-head p{color:#B9C6CA;font-size:1.08rem}
.band-white{background:var(--paper);color:#fff}
.band-paper{background:#132231;color:#fff}
.band-dark{background:var(--night);color:#fff}
.band-dark .section-head p{color:#B9C6CA}

.service-grid,.insight-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.service-card,.insight-card{
  background:linear-gradient(180deg,var(--surface) 0%,#142332 100%);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:26px;
  box-shadow:0 18px 44px -40px rgba(0,0,0,.8);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.service-card:hover,.insight-card:hover{
  border-color:rgba(242,180,127,.34);
  transform:translateY(-3px);
  box-shadow:0 24px 54px -38px rgba(0,0,0,.72);
}
.service-card .num{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:.8rem;
  color:var(--amber);
}
.service-card h3,.insight-card h3{margin:14px 0 10px}
.service-card p,.insight-card p{color:#B9C6CA}
.service-card .more{
  display:inline-flex;
  margin-top:18px;
  color:var(--amber);
  font-weight:700;
}
.insight-card{
  display:flex;
  min-height:230px;
  flex-direction:column;
}
.insight-card .cat{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:.78rem;
  color:var(--gold);
}
.insight-card .more{
  margin-top:auto;
  padding-top:22px;
  color:var(--amber);
  font-weight:700;
}

.method-layout{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:48px;
  align-items:start;
}
.steps{display:grid;gap:16px}
.step{
  border-top:1px solid var(--line-dark);
  padding-top:18px;
}
.step .k{
  color:var(--gold);
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:.86rem;
}
.step h3{margin:8px 0}
.step p{color:#B9C6CA}
.partner-card{
  grid-column:1 / -1;
  border:1px solid var(--line-dark);
  border-left:4px solid var(--amber);
  border-radius:var(--radius);
  padding:24px;
  background:rgba(255,255,255,.04);
}
.partner-card h3{margin:8px 0 8px}
.partner-card p{color:#B9C6CA;max-width:820px}

.about{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:48px;
  align-items:center;
}
.portrait-slot{
  width:min(100%,360px);
  aspect-ratio:4 / 5;
  border-radius:var(--radius);
  background:
    linear-gradient(145deg,rgba(217,121,45,.18),rgba(16,24,34,.05)),
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,0) 42%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.026) 0 1px,transparent 1px 18px),
    #111b27;
  border:1px solid rgba(242,180,127,.28);
  box-shadow:0 26px 70px -54px rgba(0,0,0,.9);
  overflow:hidden;
  position:relative;
}
.portrait-slot.is-empty::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(242,180,127,.14);
  border-radius:calc(var(--radius) - 2px);
}
.portrait-slot.is-empty::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:34%;
  background:linear-gradient(180deg,rgba(16,24,34,0),rgba(217,121,45,.11));
}
.portrait-slot img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.about h2{margin:12px 0 18px}
.about p{color:#B9C6CA;margin-bottom:14px}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.tag{
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:.48rem .68rem;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:.78rem;
  background:rgba(255,255,255,.05);
  color:#E8EFF1;
}

.faq{max-width:840px;margin-inline:auto}
.qa{border-top:1px solid var(--line-dark);padding:24px 0}
.qa h3{margin-bottom:8px}
.qa p{color:#B9C6CA}

.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:46px;
  align-items:start;
}
.business{
  margin-top:28px;
  color:#B9C6CA;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:.86rem;
  line-height:1.9;
}
.business strong{color:#fff}
.contact-form{
  background:rgba(255,255,255,.05);
  border:1px solid var(--line-dark);
  border-radius:var(--radius);
  padding:24px;
}
.field{margin-bottom:16px}
.field label{
  display:block;
  color:#D9E2E4;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:.82rem;
  margin-bottom:7px;
}
.field input,.field textarea{
  width:100%;
  border:1px solid var(--line-dark);
  border-radius:var(--radius);
  background:rgba(255,255,255,.06);
  color:#fff;
  font:inherit;
  padding:.84rem .92rem;
}
.field textarea{resize:vertical;min-height:132px}
.field input::placeholder,.field textarea::placeholder{color:#7E8C92}
.form-note{margin-top:12px;color:#9FB0B5;font-size:.9rem}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap}
.contact-actions .btn{flex:1 1 180px}

.footer{
  background:var(--night-2);
  color:#B9C6CA;
  padding:44px 0;
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}
.footer-brand{display:flex;align-items:center;gap:12px;color:#fff;font-family:'Archivo',system-ui,sans-serif;font-weight:800}
.footer-brand .brand-logo{height:42px}
.footer-meta{text-align:right;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.78rem;line-height:1.7}

.article-hero{
  background:var(--night);
  color:#fff;
  padding:72px 0 52px;
}
.article-hero .wrap{max-width:68ch}
.article-hero h1{font-size:3rem;margin:14px 0 16px}
.article-body{
  max-width:68ch;
  margin:0 auto;
  padding:62px 24px 84px;
  color:#fff;
}
.article-body p,.article-body li{font-size:1.08rem;color:#B9C6CA;line-height:1.72}
.article-body h2{font-size:1.75rem;margin:36px 0 12px}
.article-body h3{margin:26px 0 8px}
.article-body ul{list-style:disc;padding-left:24px;margin:14px 0 22px}
.article-body li{margin-bottom:8px}
.article-note{
  border-left:4px solid var(--amber);
  background:var(--surface);
  padding:18px 20px;
  border-radius:0 var(--radius) var(--radius) 0;
  margin:28px 0;
}
.article-note p{margin:0}
.back-link{
  display:inline-flex;
  margin-top:34px;
  color:var(--gold);
  font-weight:700;
}
.page-hero{
  background:
    linear-gradient(135deg,rgba(238,122,27,.18) 0%,rgba(16,24,34,0) 30%),
    linear-gradient(180deg,var(--night) 0%,#14202E 100%);
  color:#fff;
  padding:82px 0 66px;
}
.page-hero .wrap{max-width:920px}
.page-hero h1{margin:14px 0 18px;max-width:860px}
.page-summary{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:42px;
  align-items:start;
}
.summary-card,.answer-box{
  border:1px solid var(--line);
  border-left:4px solid var(--amber);
  border-radius:var(--radius);
  background:linear-gradient(180deg,var(--surface) 0%,#142332 100%);
  padding:24px;
}
.summary-card h2,.answer-box h2{font-size:1.48rem;margin-bottom:12px}
.summary-card p,.answer-box p{color:#B9C6CA}
.fact-list{
  display:grid;
  gap:12px;
}
.fact-list li{
  border-top:1px solid var(--line);
  padding-top:14px;
  color:#B9C6CA;
}
.fact-list strong{display:block;color:#fff;margin-bottom:3px}
.definition-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.definition-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.04);
  padding:22px;
}
.definition-card h3{margin-bottom:10px}
.definition-card p{color:#B9C6CA}
.internal-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.breadcrumb{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:.78rem;
  color:#AEBBC4;
  margin-bottom:18px;
}
.breadcrumb a{color:#F2B47F}
.article-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:28px 0;
}
.article-link-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:18px;
  background:rgba(255,255,255,.04);
}
.article-link-card span{
  display:block;
  color:var(--gold);
  font-weight:700;
  margin-bottom:6px;
}
.article-link-card p{font-size:.98rem;margin:0}
.reveal{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .5s ease,transform .5s ease;
}
.reveal.in-view{
  opacity:1;
  transform:none;
}

@media (max-width:920px){
  h1{font-size:2.5rem}
  h2{font-size:1.85rem}
  .nav-links{display:none}
  .nav-links.open{
    display:flex;
    position:absolute;
    top:68px;
    left:0;
    right:0;
    flex-direction:column;
    align-items:flex-start;
    padding:18px 24px 22px;
    background:var(--night);
    border-bottom:1px solid var(--line-dark);
  }
  .nav-toggle{display:inline-grid;place-items:center}
  .hero{min-height:auto;padding:70px 0 56px}
  .hero-content{display:block}
  .hero-brand-panel{justify-content:flex-start;margin-bottom:30px}
  .hero-lockup{width:190px}
  .hero-facts{grid-template-columns:1fr}
  .service-grid,.insight-grid,.method-layout,.about,.contact-layout,.page-summary,.definition-list,.article-links{grid-template-columns:1fr}
  .portrait-slot{width:min(100%,320px)}
  .footer-inner{flex-direction:column;align-items:flex-start}
  .footer-meta{text-align:left}
  .article-hero h1{font-size:2.35rem}
  .page-hero h1{font-size:2.35rem}
}

@media (max-width:560px){
  .wrap{width:min(100% - 32px,var(--maxw))}
  h1{font-size:2.18rem}
  .hero{padding:42px 0 38px}
  .hero-brand-panel{margin-bottom:18px}
  .hero h1{font-size:1.82rem;margin:14px 0}
  .hero .lead{font-size:1.06rem}
  .hero-lockup{width:118px}
  .hero-actions{margin:22px 0 20px}
  .hero-facts{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding-top:16px;
  }
  .hero-facts li{
    flex:1 1 auto;
    border:1px solid var(--line-dark);
    border-radius:var(--radius);
    padding:.5rem .62rem;
    background:rgba(255,255,255,.04);
  }
  .hero-facts b{font-size:.88rem}
  .hero-facts span{display:none}
  .brand .brand-name{display:none}
  .hero-actions .btn{width:100%}
  section{padding:62px 0}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
  .reveal{opacity:1!important;transform:none!important}
}
