
:root{
  --navy-950:#04131f;
  --navy-900:#071b2d;
  --navy-850:#0b2438;
  --navy-800:#103149;
  --red-600:#df1823;
  --red-700:#c9141e;
  --paper:#f7f7f4;
  --white:#ffffff;
  --ink:#172431;
  --text:#53616d;
  --muted:#72808b;
  --line:#d9dee2;
  --line-dark:rgba(255,255,255,.14);
  --soft:#eceff1;
  --success-bg:#e8f4eb;
  --success-text:#245d34;
  --error-bg:#fbe9ea;
  --error-text:#8e2b31;
  --max:1320px;
  --font:"Inter","Segoe UI",Arial,sans-serif;
  --radius:2px;
  --section:104px;
  --section-mobile:72px;
  --shadow:0 18px 45px rgba(7,27,45,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font);
  font-size:15px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,p{margin-top:0}
h1,h2,h3,strong,.button,.section-label,.eyebrow{font-family:var(--font)}
.section-shell{width:min(var(--max),100%);margin:0 auto;padding-left:40px;padding-right:40px}
.section-label,.eyebrow{
  font-size:.67rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--red-600);
}
.section-label.light{color:#94a8b8}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.reveal.visible{opacity:1;transform:none}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:var(--navy-900);
  color:var(--white);
  border-bottom:1px solid var(--line-dark);
}
.site-info-bar{background:var(--navy-950);border-bottom:1px solid rgba(255,255,255,.08)}
.site-info-inner{
  max-width:var(--max);
  margin:auto;
  min-height:31px;
  padding:5px 40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  font-size:.63rem;
  color:#9dafbd;
}
.site-info-left{display:flex;gap:24px;align-items:center;min-width:0}
.site-info-left span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-info-left a{color:#d7e0e6}
.top-consult-link{
  flex:0 0 auto;
  color:#fff;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.top-consult-link span{color:#ff6e76}
.header-shell{
  max-width:var(--max);
  min-height:82px;
  margin:auto;
  padding:0 40px;
  display:grid;
  grid-template-columns:220px 1fr auto auto;
  gap:26px;
  align-items:center;
}
.logo-link{width:195px}
.logo-link img{width:100%;height:auto}
.desktop-nav{justify-self:center;display:flex;align-items:center;gap:28px}
.desktop-nav a{
  position:relative;
  padding:30px 0;
  color:#d7e1e8;
  font-size:.76rem;
  line-height:1;
  font-weight:700;
  transition:color .2s ease;
}
.desktop-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:20px;
  height:2px;
  background:var(--red-600);
  transition:right .22s ease;
}
.desktop-nav a:hover{color:#fff}
.desktop-nav a:hover::after{right:0}
.header-contact{
  padding-left:22px;
  border-left:1px solid var(--line-dark);
  text-align:right;
  line-height:1.3;
}
.header-contact span{
  display:block;
  margin-bottom:4px;
  color:#8097a8;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.header-contact a{font-size:.78rem;font-weight:700}
.mobile-menu-button,.mobile-nav-panel{display:none}

/* Buttons and links */
.button{
  display:inline-flex;
  min-height:48px;
  padding:0 20px;
  align-items:center;
  justify-content:center;
  gap:11px;
  border:1px solid transparent;
  border-radius:var(--radius);
  font-size:.76rem;
  font-weight:800;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.button:hover{transform:translateY(-1px)}
.button-red{background:var(--red-600);color:#fff}
.button-red:hover{background:var(--red-700)}
.button-outline-light{border-color:rgba(255,255,255,.36);color:#fff;background:transparent}
.button-outline-light:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.button-white{background:#fff;color:var(--navy-900)}
.button-white:hover{background:#f1f3f4}
.text-arrow-link{font-size:.78rem;font-weight:800;color:var(--navy-900)}
.text-arrow-link span{margin-left:6px;color:var(--red-600)}
.text-arrow-link:hover{color:var(--red-600)}

/* Home hero */
.home-hero{background:var(--navy-900);color:#fff}
.hero-shell{
  max-width:var(--max);
  margin:auto;
  padding:76px 40px 52px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.86fr);
  gap:58px;
  align-items:center;
}
.hero-copy{min-width:0}
.hero-copy h1{
  max-width:730px;
  margin:20px 0 22px;
  font-size:clamp(3rem,4.65vw,4.65rem);
  line-height:1.01;
  letter-spacing:-.047em;
  font-weight:700;
}
.hero-summary{
  max-width:650px;
  margin-bottom:0;
  color:#b7c5cf;
  font-size:.95rem;
  line-height:1.78;
}
.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}
.hero-image{
  position:relative;
  height:500px;
  overflow:hidden;
  border-radius:var(--radius);
  background:var(--navy-850);
}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.image-caption-card{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:2;
  width:min(255px,calc(100% - 36px));
  padding:14px 16px;
  border-left:3px solid var(--red-600);
  background:rgba(4,19,31,.94);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.image-caption-card span{
  display:block;
  color:#8fa7b7;
  font-size:.56rem;
  font-weight:800;
  letter-spacing:.12em;
}
.image-caption-card strong{display:block;margin-top:5px;font-size:.78rem;line-height:1.4}
.hero-trust{
  max-width:var(--max);
  margin:auto;
  padding:0 40px 34px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.hero-trust>div{
  min-height:100px;
  padding:20px 22px 0 0;
  border-top:1px solid var(--line-dark);
}
.hero-trust>div+div{padding-left:22px;border-left:1px solid var(--line-dark)}
.hero-trust span{color:#718ea4;font-size:.61rem;font-weight:800}
.hero-trust strong{display:block;margin:4px 0 4px;font-size:.79rem;line-height:1.45}
.hero-trust p{margin:0;color:#8ea5b5;font-size:.7rem;line-height:1.5}

/* Home intro */
.home-intro{
  padding-top:var(--section);
  padding-bottom:var(--section);
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:52px;
}
.intro-content h2,.services-heading h2,.home-about-copy h2,.why-shell h2,.client-types h2,.career-strip h2,.contact-cta h2,
.about-copy h2,.principles h2,.company-record h2,.careers-intro h2,.career-apply h2,.service-help h2,.simple-cta h2{
  font-weight:700;
  letter-spacing:-.038em;
  line-height:1.08;
}
.intro-content h2{max-width:850px;margin:0;font-size:clamp(2.2rem,3.5vw,3.75rem)}
.intro-grid{
  max-width:860px;
  margin-top:34px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:38px;
  color:var(--text);
}
.intro-grid p{margin:0;font-size:.89rem}

/* Services dark */
.services-section{padding:96px 0;background:var(--navy-850);color:#fff}
.services-heading{
  display:grid;
  grid-template-columns:1fr 390px;
  gap:52px;
  align-items:end;
  margin-bottom:48px;
}
.services-heading h2{margin:18px 0 0;font-size:clamp(2.25rem,3.6vw,3.9rem)}
.services-heading>p{margin:0;color:#98acba;font-size:.86rem}
.service-index-list{border-top:1px solid var(--line-dark)}
.service-index-item{
  display:grid;
  grid-template-columns:64px minmax(240px,.8fr) minmax(260px,1fr) 26px;
  gap:18px;
  align-items:center;
  padding:21px 0;
  border-bottom:1px solid var(--line-dark);
  transition:background .2s ease,padding .2s ease;
}
.service-index-item:hover{padding-left:10px;background:rgba(255,255,255,.035)}
.service-index-item>span{color:#718da1;font-size:.61rem;font-weight:800}
.service-index-item strong{font-size:.98rem;line-height:1.38}
.service-index-item p{margin:0;color:#91a7b6;font-size:.75rem;line-height:1.55}
.service-index-item i{color:#f16870;font-style:normal;font-size:1rem;text-align:right}

/* Home About */
.home-about{
  padding-top:var(--section);
  padding-bottom:var(--section);
  display:grid;
  grid-template-columns:.98fr 1.02fr;
  gap:64px;
  align-items:center;
}
.home-about-image{height:480px;overflow:hidden;border-radius:var(--radius);background:var(--soft)}
.home-about-image img{width:100%;height:100%;object-fit:cover}
.home-about-copy h2{margin:18px 0 20px;font-size:clamp(2.2rem,3.35vw,3.6rem)}
.home-about-copy>p{margin-bottom:0;color:var(--text);font-size:.88rem;line-height:1.8}
.about-feature-list{
  margin:28px 0 22px;
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--line);
}
.about-feature-list span{
  padding:11px 0;
  border-bottom:1px solid var(--line);
  font-size:.72rem;
  font-weight:700;
}
.about-feature-list span:nth-child(even){padding-left:17px;border-left:1px solid var(--line)}

/* Stats */
.stats-strip{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stats-grid>div{padding:26px 20px 24px 0}
.stats-grid>div+div{padding-left:20px;border-left:1px solid #d0d6da}
.stats-grid strong{display:block;color:var(--navy-900);font-size:1.72rem;line-height:1;font-weight:700}
.stats-grid span{display:block;margin-top:7px;color:#62717d;font-size:.64rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}

/* Why */
.why-section{padding:96px 0;background:var(--navy-850);color:#fff}
.why-shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px}
.why-shell h2{margin:18px 0 0;font-size:clamp(2.2rem,3.55vw,3.8rem)}
.why-intro{max-width:650px;margin:0 0 26px;color:#9aafbd;font-size:.84rem}
.why-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-dark)}
.why-grid article{padding:21px 17px 18px 0;border-bottom:1px solid var(--line-dark)}
.why-grid article:nth-child(even){padding-left:18px;border-left:1px solid var(--line-dark)}
.why-grid span{color:#708ca1;font-size:.6rem;font-weight:800}
.why-grid h3{margin:20px 0 6px;font-size:.85rem}
.why-grid p{margin:0;color:#92a8b7;font-size:.72rem;line-height:1.55}

/* Industries */
.client-types{padding:90px 0;background:var(--navy-900);color:#fff}
.client-types-shell{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px}
.client-types h2{margin:18px 0 0;font-size:clamp(2.25rem,3.45vw,3.7rem)}
.client-type-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-dark)}
.client-type-grid span{
  padding:15px 0;
  border-bottom:1px solid var(--line-dark);
  font-size:.79rem;
  font-weight:700;
}
.client-type-grid span:nth-child(even){padding-left:20px;border-left:1px solid var(--line-dark)}

/* Careers strip */
.career-strip{
  padding-top:88px;
  padding-bottom:88px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:64px;
  align-items:end;
}
.career-strip h2{margin:18px 0 0;font-size:clamp(2.15rem,3.3vw,3.55rem)}
.career-strip-copy{max-width:520px}
.career-strip-copy p{margin-bottom:20px;color:var(--text);font-size:.88rem}

/* CTA */
.contact-cta{padding:84px 0;background:var(--red-600);color:#fff}
.contact-cta-shell{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:end}
.contact-cta h2{margin:18px 0 0;font-size:clamp(2.25rem,3.65vw,3.9rem)}
.contact-cta p{max-width:470px;margin-bottom:20px;color:#ffe3e5;font-size:.88rem}

/* Inner pages */
.inner-hero{background:var(--navy-900);color:#fff}
.inner-hero-shell{padding-top:78px;padding-bottom:82px}
.inner-hero h1{
  max-width:980px;
  margin:20px 0 20px;
  font-size:clamp(2.65rem,4.6vw,4.6rem);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:700;
}
.inner-hero p{max-width:720px;margin:0;color:#a8bac7;font-size:.92rem;line-height:1.75}

/* About */
.about-grid{
  padding-top:96px;
  padding-bottom:66px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
}
.about-copy h2{margin:18px 0;font-size:clamp(2.2rem,3.55vw,3.75rem)}
.about-copy-body{max-width:620px;padding-top:28px;color:var(--text);font-size:.88rem}
.about-copy-body p:last-child{margin-bottom:0}
.about-image-row{padding-bottom:96px}
.image-pane-wide{height:460px;overflow:hidden;border-radius:var(--radius);background:var(--soft)}
.image-pane-wide img{width:100%;height:100%;object-fit:cover}
.principles{padding:92px 0;background:var(--navy-850);color:#fff}
.principles-heading{display:grid;grid-template-columns:220px 1fr;gap:52px;margin-bottom:42px}
.principles h2{margin:0;font-size:clamp(2.2rem,3.35vw,3.6rem)}
.principles-intro{max-width:750px;margin:-12px 0 40px 272px;color:#9fb2bf;font-size:.83rem}
.principles-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark)}
.principles-grid article{min-height:195px;padding:24px 20px 16px 0}
.principles-grid article+article{padding-left:20px;border-left:1px solid var(--line-dark)}
.principles-grid span{color:#708da2;font-size:.6rem;font-weight:800}
.principles-grid h3{margin:38px 0 7px;font-size:.91rem}
.principles-grid p{margin:0;color:#93a8b7;font-size:.74rem}
.about-values{
  padding-top:88px;
  padding-bottom:88px;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:52px;
}
.about-values-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.about-values-grid>div{padding:23px 20px 16px 0}
.about-values-grid>div+div{padding-left:20px;border-left:1px solid var(--line)}
.about-values-grid strong{display:block;font-size:.85rem;line-height:1.45}
.about-values-grid p{margin:8px 0 0;color:var(--text);font-size:.75rem}
.company-record{
  padding-top:92px;
  padding-bottom:92px;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:52px;
}
.company-record h2{margin:0 0 24px;font-size:2rem}
.company-record dl{margin:0;border-top:1px solid var(--line)}
.company-record dl>div{
  display:grid;
  grid-template-columns:165px 1fr;
  gap:18px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.company-record dt{color:var(--muted);font-size:.64rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.company-record dd{margin:0;font-size:.81rem}

/* Services listing */
.service-directory{padding-top:76px;padding-bottom:88px}
.directory-item{
  display:grid;
  grid-template-columns:60px 1fr 28px;
  gap:16px;
  align-items:center;
  padding:20px 0;
  border-bottom:1px solid var(--line);
  transition:padding .2s ease,color .2s ease;
}
.directory-item:first-child{border-top:1px solid var(--line)}
.directory-item:hover{padding-left:8px;color:var(--red-600)}
.directory-item span{color:var(--muted);font-size:.61rem;font-weight:800}
.directory-item strong{font-size:clamp(1.04rem,1.65vw,1.42rem);line-height:1.35}
.directory-item i{color:var(--red-600);font-style:normal;text-align:right}
.service-help{
  padding-top:28px;
  padding-bottom:96px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
}
.service-help h2{margin:17px 0 0;font-size:clamp(2.15rem,3.2vw,3.4rem)}
.service-help p{max-width:560px;color:var(--text);font-size:.87rem}

/* Careers */
.careers-intro{
  padding-top:94px;
  padding-bottom:86px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
}
.careers-intro h2,.career-apply h2{margin:18px 0;font-size:clamp(2.15rem,3.45vw,3.6rem)}
.careers-intro>div:last-child{padding-top:25px;color:var(--text);font-size:.88rem}
.career-values{padding:80px 0;background:var(--soft)}
.career-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.career-values article{min-height:190px;padding:23px 0 10px;border-top:2px solid var(--navy-900)}
.career-values span{color:var(--red-600);font-size:.6rem;font-weight:800}
.career-values h3{margin:36px 0 7px;font-size:.9rem}
.career-values p{margin:0;color:var(--text);font-size:.75rem}
.career-apply{
  padding-top:92px;
  padding-bottom:96px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
}
.career-apply>div:last-child{padding-top:26px}
.career-apply p{color:var(--text);font-size:.87rem}
.career-apply small{display:block;margin-top:13px;color:var(--muted);font-size:.74rem}

/* Service detail */
.service-hero{
  max-width:var(--max);
  margin:auto;
  padding:76px 40px 78px;
}
.service-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.93fr) minmax(430px,1.07fr);
  gap:56px;
  align-items:center;
}
.service-index{margin-bottom:18px;color:var(--red-600);font-size:.68rem;font-weight:800}
.service-hero h1{
  margin:12px 0 20px;
  font-size:clamp(2.45rem,4.1vw,4.2rem);
  line-height:1.03;
  letter-spacing:-.043em;
  font-weight:700;
}
.service-hero .summary{max-width:650px;margin:0;color:var(--text);font-size:.9rem}
.service-hero-image{height:390px;overflow:hidden;border-radius:var(--radius);background:var(--soft)}
.service-hero-image img{width:100%;height:100%;object-fit:cover}
.service-content{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-content-inner{
  max-width:var(--max);
  margin:auto;
  padding:78px 40px;
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:68px;
}
.service-content h2{margin:0;font-size:clamp(2rem,3.1vw,3.3rem);line-height:1.08;letter-spacing:-.035em}
.service-content .intro{margin:22px 0 0;color:var(--text);font-size:.88rem}
.check-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.check-list li{position:relative;padding:12px 6px 12px 26px;border-bottom:1px solid var(--line);font-size:.79rem}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--red-600);font-weight:800}
.service-note{margin-top:26px;padding:17px 18px;border-left:3px solid var(--red-600);background:var(--soft);color:var(--text);font-size:.79rem}
.deadlines{margin-top:26px;padding:22px;background:var(--navy-900);color:#fff}
.deadlines h3{margin:0 0 12px;font-size:1rem}
.deadlines ul{padding-left:18px;margin:0}
.deadlines li{margin:8px 0;color:#aebdca;font-size:.77rem}
.deadlines p{margin:14px 0 0;color:#d8e1e7;font-size:.75rem}
.simple-cta{max-width:var(--max);margin:auto;padding:80px 40px}
.simple-cta h2{margin:0 0 10px;font-size:clamp(2.05rem,3.15vw,3.35rem)}
.simple-cta p{max-width:620px;margin-bottom:22px;color:var(--text);font-size:.86rem}

/* Contact */
.contact-page.section-shell{
  padding-top:82px;
  padding-bottom:92px;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,.88fr);
  gap:72px;
  align-items:start;
}
.contact-info h1{
  max-width:530px;
  margin:18px 0 22px;
  font-size:clamp(2.5rem,4.15vw,4.15rem);
  line-height:1.03;
  letter-spacing:-.043em;
}
.contact-info>p{max-width:570px;margin-bottom:0;color:var(--text);font-size:.89rem}
.contact-cards{max-width:570px;margin-top:38px;border-top:1px solid var(--line)}
.contact-cards>a,.contact-cards>div{
  display:grid;
  grid-template-columns:74px 1fr 22px;
  gap:12px;
  align-items:start;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.contact-cards span{color:var(--muted);font-size:.61rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.contact-cards strong{font-size:.79rem;font-weight:600;line-height:1.55}
.contact-cards i{color:var(--red-600);font-style:normal;text-align:right}
.contact-note{max-width:570px;margin-top:24px;padding:18px;border-left:3px solid var(--red-600);background:var(--soft)}
.contact-note strong{font-size:.79rem}
.contact-note p{margin:4px 0 0;color:var(--text);font-size:.75rem}
.contact-form-card{
  width:100%;
  padding:32px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form-card label{
  display:block;
  margin-bottom:17px;
  color:var(--ink);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.02em;
}
.contact-form-card input,.contact-form-card select,.contact-form-card textarea{
  width:100%;
  margin-top:7px;
  padding:11px 12px;
  border:1px solid #cfd6dc;
  border-radius:var(--radius);
  outline:none;
  background:#fff;
  color:var(--ink);
  font-size:.83rem;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.contact-form-card input,.contact-form-card select{height:45px}
.contact-form-card textarea{min-height:135px;resize:vertical}
.contact-form-card input:focus,.contact-form-card select:focus,.contact-form-card textarea:focus{
  border-color:var(--navy-800);
  box-shadow:0 0 0 3px rgba(16,49,73,.08);
}
.form-note{margin:17px 0 0;color:var(--muted);font-size:.67rem}
.form-note a{text-decoration:underline}
.honeypot{position:absolute!important;left:-9999px!important}
.form-status{margin-bottom:18px;padding:11px 13px;font-size:.74rem;font-weight:600}
.form-status.success{background:var(--success-bg);color:var(--success-text)}
.form-status.error{background:var(--error-bg);color:var(--error-text)}

/* Legal */
.legal-hero{max-width:var(--max);margin:auto;padding:72px 40px 52px;border-bottom:1px solid var(--line)}
.legal-hero h1{margin:15px 0 8px;font-size:clamp(2.5rem,4.25vw,4.2rem);line-height:1.02;letter-spacing:-.042em}
.legal-hero>p:last-child{color:var(--muted);font-size:.78rem}
.legal-copy{max-width:900px;margin:auto;padding:54px 40px 90px}
.legal-copy h2{font-size:1.8rem}
.legal-copy h3{margin:34px 0 8px;font-size:1.05rem}
.legal-copy p,.legal-copy li{color:var(--text);font-size:.86rem}

/* Footer */
.site-footer{background:var(--navy-950);color:#fff}
.footer-shell{max-width:var(--max);margin:auto;padding:52px 40px 24px}
.footer-quickbooks-panel{padding-bottom:30px;border-bottom:1px solid var(--line-dark)}
.qb-block{max-width:690px;display:grid;grid-template-columns:96px 1fr;gap:22px;align-items:center}
.qb-block img{width:96px}
.qb-block strong{display:block;margin-bottom:6px;font-size:.88rem}
.qb-block p{margin:0;color:#9db0be;font-size:.72rem;line-height:1.65}
.footer-desktop-columns{
  display:grid;
  grid-template-columns:.7fr 1.35fr 1fr;
  gap:54px;
  padding:42px 0 44px;
}
.footer-column h3{margin:0 0 16px;color:#718da2;font-size:.61rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.footer-column>a{display:block;margin:7px 0;color:#d4dfe6;font-size:.73rem;transition:color .2s ease,padding .2s ease}
.footer-column>a:hover{padding-left:3px;color:#fff}
.footer-services{columns:2;column-gap:24px}
.footer-services h3{column-span:all}
.footer-contact-item{margin-bottom:14px}
.footer-contact-item span{display:block;color:#718da2;font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.footer-contact-item a,.footer-contact-item p{display:block;margin:3px 0 0;color:#d3dee5;font-size:.72rem;line-height:1.55}
.footer-mobile-accordions{display:none}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  padding-top:19px;
  border-top:1px solid var(--line-dark);
  color:#758c9d;
  font-size:.63rem;
}
.footer-bottom>div:first-child{display:flex;gap:22px}
.design-credit a{color:#fff;font-weight:700}

/* Tablet */
@media(max-width:1050px){
  .section-shell{padding-left:28px;padding-right:28px}
  .site-info-inner,.header-shell,.hero-shell,.hero-trust,.service-hero,.service-content-inner,.simple-cta,.legal-hero,.legal-copy,.footer-shell{padding-left:28px;padding-right:28px}
  .header-shell{grid-template-columns:200px 1fr auto}
  .logo-link{width:180px}
  .header-contact{display:none}
  .desktop-nav{gap:20px}
  .hero-shell{grid-template-columns:1fr .9fr;gap:42px}
  .hero-image{height:440px}
  .home-intro{grid-template-columns:170px 1fr}
  .services-heading{grid-template-columns:1fr 340px}
  .service-index-item{grid-template-columns:54px minmax(210px,.8fr) 1fr 24px}
  .home-about{gap:46px}
  .why-shell,.client-types-shell{gap:46px}
  .service-hero-grid{grid-template-columns:1fr .95fr;gap:42px}
}

/* Mobile / tablet */
@media(max-width:820px){
  .site-info-bar{display:none}
  .header-shell{min-height:72px;grid-template-columns:1fr auto;padding-left:22px;padding-right:22px}
  .logo-link{width:160px}
  .desktop-nav,.header-contact{display:none}
  .mobile-menu-button{display:block;justify-self:end;width:42px;padding:9px;border:0;background:transparent}
  .mobile-menu-button span{display:block;height:2px;margin:6px 0;background:#fff;transition:transform .2s ease}
  .site-header.menu-open .mobile-menu-button span:first-child{transform:translateY(4px) rotate(45deg)}
  .site-header.menu-open .mobile-menu-button span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .mobile-nav-panel{display:none;position:absolute;top:72px;left:0;right:0;padding:18px 22px 24px;background:var(--navy-950);border-top:1px solid var(--line-dark)}
  .site-header.menu-open .mobile-nav-panel{display:block}
  .mobile-nav-panel nav a{display:grid;grid-template-columns:42px 1fr;padding:12px 0;border-bottom:1px solid var(--line-dark);font-size:.88rem;font-weight:700}
  .mobile-nav-panel nav a span{color:#708da2;font-size:.59rem}
  .mobile-nav-contact{padding-top:16px}
  .mobile-nav-contact a,.mobile-nav-contact p{display:block;margin:6px 0;color:#a6b8c5;font-size:.72rem}

  .section-shell{padding-left:22px;padding-right:22px}
  .hero-shell{grid-template-columns:1fr;gap:28px;padding:50px 22px 36px;text-align:center}
  .hero-copy{display:flex;flex-direction:column;align-items:center}
  .hero-copy h1{max-width:680px;font-size:clamp(2.5rem,8.8vw,3.65rem)}
  .hero-summary{max-width:620px}
  .hero-actions{justify-content:center}
  .hero-image{width:100%;height:340px}
  .image-caption-card{left:16px;right:16px;bottom:16px;width:auto;text-align:left}
  .hero-trust{padding:0 22px 28px;grid-template-columns:1fr 1fr}

  .home-intro,.about-grid,.about-values,.company-record,.careers-intro,.career-apply,.service-help{
    grid-template-columns:1fr;
    gap:28px;
  }
  .home-intro,.about-grid,.careers-intro,.career-apply,.company-record{padding-top:var(--section-mobile);padding-bottom:var(--section-mobile)}
  .home-intro{text-align:center}
  .intro-grid{grid-template-columns:1fr;gap:12px;margin-left:auto;margin-right:auto}
  .services-heading{grid-template-columns:1fr;gap:20px;text-align:center}
  .service-index-item{grid-template-columns:46px 1fr 22px}
  .service-index-item p{display:none}
  .home-about{grid-template-columns:1fr;gap:28px;padding-top:var(--section-mobile);padding-bottom:var(--section-mobile);text-align:center}
  .home-about-copy{display:flex;flex-direction:column;align-items:center}
  .home-about-image{height:360px;width:100%}
  .about-feature-list{width:100%}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stats-grid>div:nth-child(3){border-left:0}
  .why-shell,.client-types-shell,.career-strip,.contact-cta-shell{
    grid-template-columns:1fr;
    gap:28px;
    text-align:center;
  }
  .why-grid{max-width:720px;margin:0 auto}
  .client-type-grid{max-width:720px;width:100%;margin:0 auto}
  .career-strip{padding-top:var(--section-mobile);padding-bottom:var(--section-mobile)}
  .career-strip-copy{max-width:620px;margin:0 auto}
  .contact-cta{padding:70px 0}
  .contact-cta p{margin-left:auto;margin-right:auto}

  .inner-hero-shell{padding-top:64px;padding-bottom:68px;text-align:center}
  .inner-hero h1,.inner-hero p{margin-left:auto;margin-right:auto}
  .about-copy,.about-copy-body{text-align:center;max-width:none}
  .about-image-row{padding-bottom:var(--section-mobile)}
  .image-pane-wide{height:360px}
  .principles-heading{grid-template-columns:1fr;gap:20px;text-align:center}
  .principles-intro{margin:0 auto 34px;text-align:center}
  .principles-grid{grid-template-columns:1fr 1fr}
  .principles-grid article:nth-child(3){border-left:0}
  .about-values{text-align:center}
  .about-values-grid{grid-template-columns:1fr}
  .about-values-grid>div,.about-values-grid>div+div{padding:18px 0;border-left:0;border-bottom:1px solid var(--line)}
  .company-record{text-align:center}
  .company-record dl>div{text-align:left}
  .service-help{text-align:center}
  .service-help p{margin-left:auto;margin-right:auto}

  .career-values-grid{grid-template-columns:1fr 1fr}
  .career-apply{text-align:center}

  .service-hero-grid{grid-template-columns:1fr;gap:30px;text-align:center}
  .service-hero{padding-top:62px;padding-bottom:62px}
  .service-hero .summary{margin-left:auto;margin-right:auto}
  .service-hero-image{height:360px}
  .service-content-inner{grid-template-columns:1fr;gap:46px}
  .service-content-inner>div:first-child{text-align:center}
  .service-content .intro{max-width:680px;margin-left:auto;margin-right:auto}
  .service-note,.deadlines{text-align:left}
  .simple-cta{text-align:center}

  .contact-page.section-shell{grid-template-columns:1fr;gap:30px;padding-top:62px;padding-bottom:72px}
  .contact-info{text-align:center}
  .contact-info h1,.contact-info>p,.contact-cards,.contact-note{max-width:680px;margin-left:auto;margin-right:auto}
  .contact-cards>a,.contact-cards>div{text-align:left}
  .contact-form-card{max-width:720px;margin:0 auto}

  .footer-desktop-columns{display:none}
  .footer-quickbooks-panel{text-align:center}
  .qb-block{margin:0 auto;text-align:left}
  .footer-mobile-accordions{display:block;padding:28px 0 36px}
  .footer-mobile-accordions details{border-bottom:1px solid var(--line-dark)}
  .footer-mobile-accordions summary{
    list-style:none;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 0;
    font-size:.73rem;
    font-weight:800;
    cursor:pointer;
  }
  .footer-mobile-accordions summary::-webkit-details-marker{display:none}
  .footer-mobile-accordions summary span{color:#758fa3;font-size:.95rem;transition:transform .2s ease}
  .footer-mobile-accordions details[open] summary span{transform:rotate(45deg)}
  .accordion-links{padding:0 0 14px}
  .accordion-links a,.accordion-links p{display:block;margin:0;padding:6px 0;color:#a6b8c5;font-size:.71rem}
  .footer-bottom{flex-direction:column;align-items:center;text-align:center}
  .footer-bottom>div:first-child{flex-direction:column;gap:2px}
  .design-credit{text-align:center}
}

/* Phones */
@media(max-width:520px){
  body{font-size:14.5px}
  .section-shell{padding-left:18px;padding-right:18px}
  .header-shell{padding-left:18px;padding-right:18px}
  .logo-link{width:150px}

  .hero-shell{padding:36px 18px 30px;gap:20px}
  .eyebrow,.section-label{font-size:.61rem}
  .hero-copy h1{margin:15px 0 16px;font-size:clamp(2.15rem,10.8vw,3rem);line-height:1.02}
  .hero-summary{font-size:.84rem;line-height:1.7}
  .hero-actions{width:100%;gap:9px;margin-top:22px}
  .hero-actions .button{width:100%}
  .hero-image{height:245px}
  .image-caption-card{left:10px;right:10px;bottom:10px;padding:12px 13px}
  .image-caption-card strong{font-size:.72rem}

  .hero-trust{padding:2px 18px 24px}
  .hero-trust>div{min-height:0;padding:13px 9px 0 0}
  .hero-trust>div+div{padding-left:9px}
  .hero-trust strong{font-size:.69rem}
  .hero-trust p{display:none}

  .home-intro,.home-about,.career-strip,.about-grid,.careers-intro,.career-apply,.company-record{
    padding-top:62px;
    padding-bottom:62px;
  }
  .intro-content h2,.services-heading h2,.home-about-copy h2,.why-shell h2,.client-types h2,.career-strip h2,.contact-cta h2,
  .about-copy h2,.principles h2,.careers-intro h2,.career-apply h2,.service-help h2,.simple-cta h2{
    font-size:clamp(1.85rem,8.6vw,2.55rem);
  }
  .intro-grid p,.home-about-copy>p,.career-strip-copy p{font-size:.82rem}
  .services-section,.why-section,.client-types,.principles{padding:68px 0}
  .services-heading{margin-bottom:34px}
  .service-index-item{grid-template-columns:34px 1fr 20px;gap:8px;padding:17px 0}
  .service-index-item strong{font-size:.87rem}
  .home-about-image{height:245px}
  .about-feature-list{grid-template-columns:1fr;text-align:center}
  .about-feature-list span:nth-child(even){padding-left:0;border-left:0}
  .stats-grid>div{padding:18px 8px 17px 0}
  .stats-grid>div+div{padding-left:10px}
  .stats-grid strong{font-size:1.4rem}
  .stats-grid span{font-size:.55rem}
  .why-grid{grid-template-columns:1fr}
  .why-grid article:nth-child(even){padding-left:0;border-left:0}
  .client-type-grid{grid-template-columns:1fr}
  .client-type-grid span:nth-child(even){padding-left:0;border-left:0}
  .contact-cta{padding:62px 0}

  .inner-hero-shell{padding-top:54px;padding-bottom:58px}
  .inner-hero h1{font-size:clamp(2rem,10.5vw,2.9rem)}
  .inner-hero p{font-size:.83rem}
  .image-pane-wide{height:245px}
  .principles-grid,.career-values-grid{grid-template-columns:1fr}
  .principles-grid article,.principles-grid article+article{min-height:0;padding:18px 0;border-left:0;border-top:1px solid var(--line-dark)}
  .principles-grid h3{margin-top:16px}
  .company-record dl>div{grid-template-columns:1fr;gap:4px;text-align:center}
  .company-record dt{margin-bottom:2px}
  .directory-item{grid-template-columns:35px 1fr 20px;gap:8px;padding:16px 0}
  .directory-item strong{font-size:.94rem}
  .career-values{padding:62px 0}
  .career-values article{min-height:0;padding:18px 0}

  .service-hero{padding:54px 18px}
  .service-hero h1{font-size:clamp(1.95rem,9.8vw,2.8rem)}
  .service-hero .summary{font-size:.82rem}
  .service-hero-image{height:245px}
  .service-content-inner{padding:58px 18px;gap:36px}
  .service-content h2{font-size:clamp(1.8rem,8.5vw,2.4rem)}
  .check-list li{font-size:.75rem}
  .simple-cta{padding:60px 18px}

  .contact-page.section-shell{padding:52px 18px 64px;gap:24px}
  .contact-info h1{max-width:330px;margin:15px auto 16px;font-size:clamp(1.95rem,10vw,2.8rem)}
  .contact-info>p{font-size:.82rem}
  .contact-cards{margin-top:26px}
  .contact-cards>a,.contact-cards>div{grid-template-columns:1fr;gap:3px;padding:12px 0;text-align:center}
  .contact-cards i{display:none}
  .contact-note{text-align:center}
  .contact-form-card{padding:20px 16px;box-shadow:none}
  .form-grid{grid-template-columns:1fr;gap:0}
  .contact-form-card .button{width:100%}

  .legal-hero{padding:54px 18px 42px}
  .legal-hero h1{font-size:2.2rem}
  .legal-copy{padding:46px 18px 70px}

  .footer-shell{padding:44px 18px 18px}
  .qb-block{grid-template-columns:76px 1fr;gap:15px;text-align:left}
  .qb-block img{width:76px}
  .qb-block strong{font-size:.76rem}
  .qb-block p{font-size:.65rem}
  .footer-mobile-accordions{padding-top:22px}
  .footer-bottom{padding-top:15px;font-size:.58rem}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none;transition:none}
}

/* Current-page navigation state */
.home-page .desktop-nav a[href="index.html"],
.about-page .desktop-nav a[href="about.html"],
.services-page .desktop-nav a[href="services.html"],
.service-detail .desktop-nav a[href="services.html"],
.careers-page .desktop-nav a[href="careers.html"],
.contact-page-body .desktop-nav a[href="contact.html"]{color:#fff}
.home-page .desktop-nav a[href="index.html"]::after,
.about-page .desktop-nav a[href="about.html"]::after,
.services-page .desktop-nav a[href="services.html"]::after,
.service-detail .desktop-nav a[href="services.html"]::after,
.careers-page .desktop-nav a[href="careers.html"]::after,
.contact-page-body .desktop-nav a[href="contact.html"]::after{right:0}
