:root {
  --bg:#031521;
  --bg-2:#061d2c;
  --panel:#082536;
  --panel-2:#0a2b3e;
  --ink:#f7fbfd;
  --muted:#b9cdd8;
  --muted-2:#8faab8;
  --cyan:#62e6f2;
  --cyan-2:#2fc8da;
  --gold:#d7a858;
  --line:#214758;
  --line-soft:#173848;
  --max:1420px;
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
button{font:inherit}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.12}
h1{font-size:clamp(3rem,5.7vw,6.25rem);margin:0 0 1.55rem}
h2{font-size:clamp(2.15rem,3.4vw,3.7rem);margin:0 0 1.05rem}
h3{font-size:1.55rem;margin:0 0 .75rem}
p{margin:0 0 1.25rem}
ul{padding-left:1.3rem}
li{margin:.45rem 0}
.container{width:min(var(--max),calc(100% - 84px));margin:0 auto}

/* Header */
.header{position:relative;z-index:20;background:#031521f5;border-bottom:1px solid #17394a;backdrop-filter:blur(8px)}
.header-row{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{font-family:var(--sans);font-size:.86rem;letter-spacing:.22em;font-weight:700;color:var(--cyan);white-space:nowrap}
.brand:hover{color:#b8f9ff}
.nav{display:flex;align-items:center;gap:25px}
.nav a{color:#dcebf1;font-size:.78rem;font-weight:700;letter-spacing:.025em;white-space:nowrap}
.nav a:hover,.nav a[aria-current=page]{color:var(--cyan)}
.menu-toggle{display:none;color:#daf6fa;background:#082839;border:1px solid #2a5c70;padding:8px 12px;border-radius:2px}

/* Homepage hero. All typography is real HTML; only the right-side artwork is an image. */
.hero-home{position:relative;isolation:isolate;overflow:hidden;min-height:820px;background:
  radial-gradient(circle at 9% 10%,rgba(215,168,88,.08),transparent 18%),
  linear-gradient(90deg,#07131b 0%,#041924 53%,#052334 100%)}
.hero-home:before{content:"";position:absolute;inset:0;z-index:-3;opacity:.2;background-image:
  linear-gradient(rgba(94,226,241,.055) 1px,transparent 1px),
  linear-gradient(90deg,rgba(94,226,241,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent 0,black 48%,transparent 78%)}
.hero-home:after{display:none}
.hero-art{position:absolute;z-index:-2;top:0;right:0;bottom:0;left:43%;background-image:url('/assets/scales-circuit-hero.webp');background-repeat:no-repeat;background-size:cover;background-position:center center;filter:saturate(1.05) brightness(.98);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 24%,black 100%);mask-image:linear-gradient(to right,transparent 0%,black 24%,black 100%)}
.hero-home-inner{min-height:820px;display:flex;align-items:center}
.hero-copy{width:57%;max-width:860px;padding:54px 0 50px}
.hero-name{color:var(--cyan);font-size:1.02rem;font-weight:700;letter-spacing:.24em;margin-bottom:18px}
.hero-gold-rule{display:block;width:132px;height:4px;background:var(--gold);margin-bottom:48px}
.hero-copy h1{font-size:clamp(3.6rem,5.35vw,5.75rem);max-width:860px;color:#fff}
.hero-intro{font-size:1.32rem;line-height:1.55;color:#d3e0e6;max-width:760px;margin-bottom:48px}
.hero-capabilities{max-width:760px}
.hero-label{color:var(--gold);font-size:.8rem;font-weight:800;letter-spacing:.20em;margin-bottom:21px}
.hero-capability-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:44px;row-gap:16px;color:#eef7fb;font-size:1.02rem}
.hero-capability-grid span{position:relative;padding-left:25px}
.hero-capability-grid span:before{content:"";position:absolute;left:2px;top:.65em;width:8px;height:8px;border-radius:50%;background:var(--cyan)}
.hero-bottom{max-width:720px;border-top:1px solid #86b8c3;margin-top:43px;padding-top:24px}
.hero-availability{font-weight:700;color:#fff;margin-bottom:18px}
.hero-jurisdictions{font-size:.78rem;color:#a9bec9;letter-spacing:.11em;margin-bottom:11px}
.hero-linkedin{font-weight:700;color:var(--cyan);font-size:.9rem}
.hero-linkedin:hover{color:#b7f8ff}

/* Shared sections */
.section{padding:92px 0;background:var(--bg)}
.home-services{padding-top:98px}
.kicker,.num,.tag,.smallcaps{color:var(--gold);font-size:.73rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.eyebrow-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}
.lead{color:var(--muted);font-size:1.1rem;line-height:1.72}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.grid.three{grid-template-columns:repeat(3,1fr)}
.tile{display:block;position:relative;padding:36px;min-height:255px;background:linear-gradient(145deg,#092637,#071f2e);border:1px solid #24536a;transition:.18s ease}
.tile:hover{transform:translateY(-2px);background:#0a2b3e;border-color:#45a8c1}
.tile h2{font-size:clamp(2rem,2.8vw,3rem);max-width:590px;margin-top:16px}
.tile p{color:var(--muted);max-width:560px}
.tile .arrow{position:absolute;right:28px;bottom:23px;color:var(--cyan);font-size:1.25rem}
.band,.cta{padding:85px 0;background:linear-gradient(120deg,#08243a,#062130);border-top:1px solid #1d495d;border-bottom:1px solid #1d495d}
.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.btn{display:inline-block;margin-top:7px;padding:12px 18px;background:var(--cyan)!important;border:1px solid var(--cyan)!important;color:#021c2b!important;border-radius:2px;font-size:.84rem;font-weight:800;transition:.15s ease}
.btn:hover{background:#a9f7fd!important;border-color:#a9f7fd!important}
.btn.alt{background:transparent!important;color:#aaf5fb!important;border-color:#3e8ea8!important}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card{padding:30px;background:#082536;border:1px solid #24516a}
.card p,.card ul{color:var(--muted)}
.article-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.article-preview{display:block;border-top:2px solid #438ba2;padding:24px 3px 6px}
.article-preview h3{font-size:1.58rem}
.article-preview p{color:var(--muted);font-size:.96rem}
.article-preview:hover h3{color:var(--cyan)}
.smallcaps{color:#89dbe4}

/* Inner pages */
.page-hero{position:relative;overflow:hidden;padding:96px 0 82px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#041523 0%,#041523 54%,rgba(4,21,35,.87) 70%,rgba(4,21,35,.56) 100%),url('/assets/scales-circuit-hero.webp') right center/auto 120% no-repeat}
.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(3,21,33,.25) 100%);pointer-events:none}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{max-width:1000px;font-size:clamp(3.1rem,5.5vw,5.7rem)}
.page-hero .lead{max-width:820px}
.prose{max-width:850px;margin:0 auto;padding:82px 34px 110px}
.prose h2{font-size:2.35rem;margin:2.5rem 0 1rem}
.prose h3{font-size:1.6rem;margin:2rem 0 .75rem}
.prose p,.prose li{color:#c7dae4}
.prose a{color:#77e8f2;text-decoration:underline;text-decoration-color:#d1a65e;text-underline-offset:3px}
.quote{border-left:3px solid var(--gold);padding-left:24px;margin:28px 0;font:1.42rem/1.52 var(--serif)}
.note{background:#0b2b3f;border-left:3px solid var(--gold);padding:22px;margin:25px 0;color:#dcebf2}
.article-meta{color:#9fbac7;font-size:.84rem;margin-top:12px}
.metric{font:3.2rem var(--serif);color:var(--cyan);letter-spacing:-.05em;margin-bottom:5px}
.rule-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rule-list>div{padding:22px;border-top:1px solid #285a6f}
.rule-list strong{display:block}
.download{display:inline-block;border-bottom:1px solid var(--gold)}
.fine{font-size:.82rem;color:#96b0bd}
.divider{border:0;border-top:1px solid var(--line);margin:0}

/* Footer */
.footer{padding:55px 0 30px;background:#02111c;border-top:1px solid #173c4d;color:#e3f0f5}
.footer-row{display:flex;justify-content:space-between;gap:35px}
.footer-links{display:flex;flex-wrap:wrap;gap:18px;font-size:.79rem;color:#b9ccd5}
.footer-links a:hover{color:var(--cyan)}
.footer-bottom{font-size:.74rem;color:#809dab;margin-top:42px;line-height:1.7}

/* Smart Intake should sit above the dark site if it renders as a floating element. */
script[data-widget]{position:relative;z-index:50}

@media(max-width:1120px){
  .container{width:min(var(--max),calc(100% - 56px))}
  .hero-home{min-height:760px}
  .hero-home-inner{min-height:760px}
  .hero-copy{width:59%}
  .hero-copy h1{font-size:clamp(3.3rem,5.2vw,5rem)}
  .hero-art{left:54%}
  .hero-home:after{left:51%}
}
@media(max-width:930px){
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:flex-start;background:#051a28;padding:22px 28px 28px;border-bottom:1px solid #245064;box-shadow:0 20px 30px #0008}
  .nav.open{display:flex}
  .nav a{font-size:1rem;padding:2px 0}
  .grid.three,.article-list{grid-template-columns:1fr 1fr}
  .split{gap:40px}
  .hero-home{min-height:auto}
  .hero-home-inner{min-height:730px}
  .hero-copy{width:67%;padding:50px 0}
  .hero-art{left:58%;opacity:.75}
  .hero-home:after{left:55%;width:22%}
  .hero-copy h1{font-size:clamp(3rem,6.4vw,4.6rem)}
  .hero-intro{font-size:1.12rem}
  .hero-capability-grid{font-size:.93rem;column-gap:22px}
  .desktop-break{display:none}
}
@media(max-width:720px){
  .container{width:calc(100% - 40px)}
  .header-row{min-height:68px}
  .brand{font-size:.72rem;letter-spacing:.17em}
  .nav{top:68px}
  .hero-home{padding-bottom:0;background:linear-gradient(#061722,#041822 62%,#052334 100%)}
  .hero-home-inner{display:block;min-height:0}
  .hero-copy{width:100%;max-width:none;padding:48px 0 0}
  .hero-name{font-size:.82rem}
  .hero-gold-rule{width:92px;height:3px;margin-bottom:34px}
  .hero-copy h1{font-size:clamp(2.8rem,12vw,4.4rem);line-height:1.08}
  .hero-intro{font-size:1.04rem;margin-bottom:36px}
  .hero-capability-grid{grid-template-columns:1fr;row-gap:10px;font-size:.95rem}
  .hero-bottom{margin-top:34px;padding-bottom:360px;border-top:1px solid #47788b}
  .hero-jurisdictions{font-size:.67rem;line-height:1.7}
  .hero-art{left:0;right:0;top:auto;bottom:0;height:350px;opacity:.82;background-size:cover;background-position:center 39%}
  .hero-home:after{display:none}
  .hero-home:before{opacity:.12}
  .section,.home-services{padding:66px 0}
  .grid,.grid.three,.cards,.article-list,.split,.rule-list{grid-template-columns:1fr}
  .tile{min-height:210px;padding:28px}
  .band,.cta{padding:64px 0}
  .page-hero{padding:72px 0 58px;background:linear-gradient(90deg,#041523 0%,rgba(4,21,35,.92) 78%,rgba(4,21,35,.7) 100%),url('/assets/scales-circuit-hero.webp') right center/auto 100% no-repeat}
  .prose{padding:60px 20px 85px}
  .footer-row{flex-direction:column}
}
@media(max-width:480px){
  .hero-copy h1 br{display:none}
  .hero-bottom{padding-bottom:315px}
  .hero-art{height:310px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Large-screen proportion pass: keep the original site's visual scale instead of shrinking into the center. */
@media (min-width:1280px){
  :root{--max:1660px}
  body{font-size:17px}
  .container{width:min(var(--max),calc(100% - 120px))}
  .header-row{min-height:84px}
  .brand{font-size:.9rem}
  .nav{gap:31px}
  .nav a{font-size:.86rem}

  .hero-home{min-height:840px}
  .hero-home-inner{min-height:840px}
  .hero-copy{width:58%;max-width:960px;padding:58px 0 54px}
  .hero-copy h1{font-size:clamp(3.85rem,4.35vw,5.15rem);max-width:920px;line-height:1.08}
  .hero-intro{font-size:1.28rem;max-width:800px;margin-bottom:44px}
  .hero-capabilities{max-width:810px}
  .hero-capability-grid{font-size:1rem;column-gap:58px;row-gap:17px}
  .hero-bottom{max-width:790px;margin-top:40px}

  .section{padding:104px 0}
  .home-services{padding-top:110px}
  .tile{padding:42px;min-height:285px}
  .tile h2{font-size:clamp(2.15rem,2.5vw,3.15rem)}
  .tile p{font-size:1.03rem}
  .band,.cta{padding:98px 0}
  .split{gap:120px}
  .lead{font-size:1.13rem}
  .article-preview h3{font-size:1.72rem}
  .article-preview p{font-size:1rem}
  .footer{padding-top:64px}
}

@media (min-width:1700px){
  :root{--max:1740px}
  .container{width:min(var(--max),calc(100% - 150px))}
  .hero-copy{width:59%;max-width:1020px}
  .hero-copy h1{font-size:5.25rem;max-width:980px}
  .hero-intro{font-size:1.34rem}
  .tile{min-height:300px}
}


/* Review pass: accessibility, readability, stronger section rhythm. */
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.nav a:focus-visible,.brand:focus-visible{border-radius:2px}
.hero-jurisdictions{font-size:.82rem;line-height:1.6}
.footer-bottom,.fine{font-size:.82rem}
.preview-meta{color:var(--muted-2);font-size:.8rem;margin:.42rem 0 .7rem;letter-spacing:.02em}
.text-link{display:inline-block;color:var(--cyan);font-weight:750;margin-top:.35rem}
.text-link:hover{color:#b8f9ff}
.proof-strip{padding:82px 0;background:linear-gradient(110deg,#0b2a3d 0%,#071f2f 100%);border-top:1px solid #28556b;border-bottom:1px solid #28556b}
.proof-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center}
.proof-stat{font-family:var(--serif);font-size:clamp(3rem,5vw,5.7rem);line-height:1;color:#fff;letter-spacing:-.055em;margin-top:18px;white-space:nowrap}
.proof-stat span{color:var(--cyan);padding:0 .08em}
.proof-strip h2{font-size:clamp(2.1rem,3vw,3.25rem)}
.background-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.credential-card{padding:30px;background:linear-gradient(145deg,#082536,#071f2e);border:1px solid #24516a}
.credential-card h3{margin-top:12px}.credential-card p{color:var(--muted);margin-bottom:0}
.hero-art{transition:none}
@media(max-width:1120px){.hero-art{left:46%}}
@media(max-width:930px){.hero-art{left:52%;opacity:.78}.proof-grid{gap:46px}}
@media(max-width:720px){
  .hero-art{left:0;right:0;top:auto;bottom:0;height:350px;opacity:.82;background-size:cover;background-position:center 39%;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 24%,black 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 24%,black 100%)}
  .proof-grid,.background-grid{grid-template-columns:1fr}
  .proof-grid{gap:28px}.proof-stat{white-space:normal}
}


/* Final homepage refinement pass */
@media (min-width: 931px) {
  .nav a { font-size: .84rem; }

  /* Show more of the original scales artwork and push it slightly right. */
  .hero-art {
    left: 45%;
    background-size: auto 90%;
    background-position: 96% center;
  }
}

@media (min-width: 1280px) {
  .nav a { font-size: .9rem; }

  .hero-art {
    left: 46%;
    background-size: auto 88%;
    background-position: 97% center;
  }
}

@media (min-width: 1700px) {
  .hero-art {
    left: 47%;
    background-size: auto 86%;
    background-position: 98% center;
  }
}


/* Seamless composition: image is a contained illustration, not a cropped background. */
:root { --max:1360px; }
.container { width:min(var(--max),calc(100% - 72px)); }

/* Keep the brand near the edge while centering navigation on the viewport. */
@media (min-width:931px) {
  .header .container { width:calc(100% - 72px); max-width:none; }
  .header-row { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }
  .brand { justify-self:start; }
  .nav { justify-self:center; gap:32px; }
  .nav a { font-size:.88rem; }
  .menu-toggle { justify-self:end; }
}

.hero-home {
  min-height:760px;
  background:
    radial-gradient(circle at 8% 8%,rgba(215,168,88,.07),transparent 18%),
    linear-gradient(90deg,#07131b 0%,#041924 58%,#041a27 100%);
}
.hero-home-inner {
  min-height:760px;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(370px,.72fr);
  align-items:center;
  gap:24px;
}
.hero-copy {
  width:auto;
  max-width:790px;
  padding:54px 0 50px;
  position:relative;
  z-index:2;
}
.hero-copy h1 { font-size:clamp(3.55rem,4.65vw,5.2rem); max-width:790px; }
.hero-intro { font-size:1.22rem; max-width:690px; }
.hero-capabilities { max-width:690px; }
.hero-bottom { max-width:660px; }

.hero-art {
  position:relative !important;
  inset:auto !important;
  z-index:1 !important;
  width:100%;
  height:auto !important;
  opacity:1 !important;
  background:none !important;
  filter:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  overflow:visible;
  pointer-events:none;
}
.hero-art img {
  display:block;
  width:min(100%,520px);
  max-height:665px;
  height:auto;
  object-fit:contain;
  margin-left:auto;
}

/* Inner pages use a subtle CSS circuit field, not another crop of the scales image. */
.page-hero {
  background:
    radial-gradient(circle at 82% 22%,rgba(52,203,222,.12),transparent 24%),
    linear-gradient(90deg,#041523 0%,#061f2f 100%);
}
.page-hero:before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.14;
  background-image:
    linear-gradient(rgba(98,230,242,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(98,230,242,.06) 1px,transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:linear-gradient(90deg,transparent 18%,black 72%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 18%,black 72%,transparent 100%);
  pointer-events:none;
}
.page-hero:after { background:linear-gradient(180deg,transparent 0%,rgba(3,21,33,.24) 100%); }

@media (max-width:1180px) {
  .hero-home-inner { grid-template-columns:minmax(0,1.35fr) minmax(310px,.62fr); gap:18px; }
  .hero-art img { max-height:610px; }
}
@media (max-width:930px) {
  .header .container { width:min(var(--max),calc(100% - 56px)); }
  .header-row { display:flex; justify-content:space-between; }
  .hero-home-inner { grid-template-columns:1fr minmax(265px,.52fr); gap:14px; }
  .hero-copy h1 { font-size:clamp(3.1rem,6vw,4.5rem); }
}
@media (max-width:720px) {
  .container,.header .container { width:min(100% - 42px,680px); }
  .hero-home { min-height:auto; }
  .hero-home-inner { display:block; min-height:0; }
  .hero-copy { padding:48px 0 25px; max-width:none; }
  .hero-art { margin:0 auto -16px; justify-content:center; }
  .hero-art img { width:min(91vw,480px); max-height:none; margin:0 auto; }
}


/* V3: clean standalone scales asset + tighter centered composition */
:root { --max:1320px; }

.hero-home {
  overflow:hidden;
}

.hero-home-inner {
  grid-template-columns:minmax(0,1.52fr) minmax(330px,.68fr);
  gap:18px;
}

.hero-art {
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:auto !important;
  background:none !important;
  background-image:none !important;
  background-size:auto !important;
  background-position:initial !important;
  opacity:1 !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

.hero-art img {
  display:block;
  width:min(100%,470px);
  height:auto;
  max-height:660px;
  object-fit:contain;
  object-position:center;
  margin:0;
}

@media (min-width:931px) {
  .header .container {
    width:min(1320px,calc(100% - 72px));
    max-width:1320px;
  }
  .header-row {
    grid-template-columns:1fr auto 1fr;
  }
  .nav {
    justify-self:center;
  }
}

@media (max-width:1180px) {
  .hero-home-inner {
    grid-template-columns:minmax(0,1.4fr) minmax(300px,.62fr);
  }
  .hero-art img { width:min(100%,430px); }
}

@media (max-width:720px) {
  .hero-home-inner { display:block; }
  .hero-art { justify-content:center !important; margin-top:6px; }
  .hero-art img { width:min(92vw,455px); max-height:none; }
}
