:root{
  --ink:#14181F;
  --graphite:#4A5261;
  --steel:#F1F2F4;
  --paper:#FFFFFF;
  --blue:#2A5FE0;
  --blue-deep:#1B3F9E;
  --line:#D7DBE2;
  --mono:#7A8393;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--steel);color:var(--ink);font-family:'Inter',sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Space Grotesk',sans-serif;letter-spacing:-0.01em;}
.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:0.02em;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px;}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}

/* HEADER */
header{position:sticky;top:0;z-index:50;background:rgba(241,242,244,0.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;max-width:1120px;margin:0 auto;gap:16px;}
.logo{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19px;}
.logo .mark{width:28px;height:28px;background:var(--ink);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--steel);font-size:13px;font-weight:700;font-family:'IBM Plex Mono',monospace;}
.nav-links{display:flex;gap:28px;font-size:14px;font-weight:500;}
.nav-links a{color:var(--graphite);transition:color .15s;}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ink);}
.nav-cta{background:var(--ink);color:var(--steel);padding:10px 18px;border-radius:7px;font-size:14px;font-weight:600;transition:background .15s;white-space:nowrap;}
.nav-cta:hover{background:var(--blue-deep);}
@media(max-width:860px){.nav-links{display:none;}}

/* HERO */
.hero{padding:88px 0 64px;border-bottom:1px solid var(--line);}
.hero.small{padding:64px 0 48px;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--blue);letter-spacing:0.12em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:22px;}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--blue);}
.hero h1{font-size:clamp(34px,6vw,64px);font-weight:700;line-height:1.04;max-width:820px;color:var(--ink);}
.hero.small h1{font-size:clamp(30px,5vw,48px);}
.hero h1 span{color:var(--blue);}
.hero p{margin-top:24px;font-size:18px;color:var(--graphite);max-width:600px;line-height:1.6;}
.hero-cta{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap;}
.btn-primary{background:var(--blue);color:#fff;padding:14px 24px;border-radius:8px;font-weight:600;font-size:15px;transition:background .15s;display:inline-block;}
.btn-primary:hover{background:var(--blue-deep);}
.btn-ghost{border:1px solid var(--line);padding:14px 24px;border-radius:8px;font-weight:600;font-size:15px;color:var(--ink);transition:border-color .15s;display:inline-block;}
.btn-ghost:hover{border-color:var(--ink);}
.crumbs{font-size:13px;color:var(--mono);margin-bottom:18px;}
.crumbs a{text-decoration:underline;}

/* SECTION SHELL */
section{padding:80px 0;}
.section-head{max-width:640px;margin-bottom:48px;}
.section-num{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--mono);margin-bottom:10px;}
.section-head h2{font-size:clamp(26px,3.4vw,36px);font-weight:600;}
.section-head p{color:var(--graphite);margin-top:14px;font-size:16px;}

/* ABOUT */
.about{border-bottom:1px solid var(--line);}
.about-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:start;}
@media(max-width:800px){.about-grid{grid-template-columns:1fr;}}
.about-copy p{color:var(--graphite);font-size:16px;margin-bottom:16px;max-width:520px;}
.about-copy p strong{color:var(--ink);}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.stat{background:var(--paper);padding:24px;}
.stat .num{font-family:'Space Grotesk',sans-serif;font-size:28px;font-weight:700;color:var(--ink);}
.stat .label{font-size:13px;color:var(--graphite);margin-top:6px;}

/* SERVICES */
.services{border-bottom:1px solid var(--line);}
.service-list{border-top:1px solid var(--line);}
.service-row{display:grid;grid-template-columns:100px 1fr 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--line);align-items:baseline;}
@media(max-width:720px){.service-row{grid-template-columns:1fr;gap:8px;}}
.service-row .tag{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--blue);}
.service-row h3{font-size:19px;font-weight:600;}
.service-row p{color:var(--graphite);font-size:15px;}

/* BRANDS */
.brands{border-bottom:1px solid var(--line);}
.brand-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:720px){.brand-cards{grid-template-columns:1fr;}}
.brand-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:32px;}
.brand-card .btag{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--mono);text-transform:uppercase;letter-spacing:0.08em;}
.brand-card h3{font-size:24px;margin:10px 0 14px;font-weight:600;}
.brand-card ul{list-style:none;}
.brand-card li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:14px;color:var(--graphite);}
.brand-card li:first-of-type{border-top:none;}
.brand-card li span:last-child{font-family:'IBM Plex Mono',monospace;color:var(--ink);}
.brand-card .more{display:inline-block;margin-top:18px;font-size:14px;font-weight:600;color:var(--blue);}

/* PROSE PAGES */
.prose{border-bottom:1px solid var(--line);}
.prose .wrap{max-width:780px;}
.prose h2{font-size:clamp(22px,3vw,28px);font-weight:600;margin:40px 0 14px;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:18px;font-weight:600;margin:26px 0 8px;}
.prose p,.prose li{color:var(--graphite);font-size:16px;line-height:1.7;}
.prose p{margin-bottom:14px;}
.prose ul,.prose ol{padding-left:22px;margin-bottom:16px;}
.prose li{margin-bottom:6px;}
.prose strong{color:var(--ink);}
.prose a{color:var(--blue);text-decoration:underline;}
.prose a.btn-primary{color:#fff;text-decoration:none;}
.grade-table{width:100%;border-collapse:collapse;margin:10px 0 24px;background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:15px;}
.grade-table th,.grade-table td{text-align:left;padding:12px 14px;border-top:1px solid var(--line);vertical-align:top;}
.grade-table th{background:var(--ink);color:#fff;font-family:'Space Grotesk',sans-serif;font-weight:600;border-top:none;}
.grade-table td{color:var(--graphite);}
.grade-table td:first-child{font-family:'IBM Plex Mono',monospace;color:var(--ink);white-space:nowrap;}
.cta-band{background:var(--ink);color:var(--steel);border-radius:14px;padding:32px;margin-top:32px;}
.cta-band h2{color:#fff;margin:0 0 8px;}
.cta-band p{color:#C6CCD8;margin-bottom:18px;}

/* FAQ */
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin-bottom:12px;}
.faq summary{cursor:pointer;font-weight:600;font-family:'Space Grotesk',sans-serif;font-size:17px;}
.faq details p{margin-top:10px;color:var(--graphite);}

/* CONTACT */
.contact{border-bottom:1px solid var(--line);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
@media(max-width:800px){.contact-grid{grid-template-columns:1fr;}}
.contact-card{background:var(--ink);color:var(--steel);border-radius:14px;padding:36px;}
.contact-card h3{font-size:20px;margin-bottom:18px;color:#fff;}
.contact-card .row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #2A2F3A;font-size:14px;}
.contact-card .row:first-of-type{border-top:none;}
.contact-card .row span:first-child{color:#8A93A6;}
.contact-card .row span:last-child{font-family:'IBM Plex Mono',monospace;text-align:right;}
.contact-form{display:flex;flex-direction:column;gap:14px;}
.contact-form label{font-size:13px;color:var(--graphite);font-weight:500;}
.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-family:'Inter',sans-serif;font-size:14px;color:var(--ink);}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);}
.contact-form button{margin-top:6px;background:var(--blue);color:#fff;border:none;padding:14px;border-radius:8px;font-weight:600;font-size:15px;cursor:pointer;transition:background .15s;}
.contact-form button:hover{background:var(--blue-deep);}

/* FOOTER */
footer{padding:36px 0;}
.footer-links{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;margin-bottom:14px;}
.footer-links a{color:var(--graphite);text-decoration:underline;}
.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--mono);}
