
/* ============================================================
   ZENWORK — TOKENS  (carried verbatim from the approved landing page)
   ============================================================ */
:root{
  --green:var(--color-6c40a1);
  --green-ink:var(--color-6c40a1);
  --green-deep:var(--color-261638);
  --lime:var(--color-d1c4e2);
  --g-025:var(--color-f7f6fa); --g-050:var(--color-f0ecf6); --g-100:var(--color-e9e2f1); --g-200:var(--color-d1c4e2);
  --g-300:var(--color-6c40a1); --g-400:var(--color-6c40a1); --g-500:var(--color-563381); --g-600:var(--color-513079);
  --g-700:var(--color-412661); --g-800:var(--color-412661); --g-900:var(--color-261638);
  --yellow:var(--color-6c40a1);
  --ink:var(--color-242424);
  --white:var(--color-ffffff);

  --paper:var(--color-ffffff);
  --paper-2:var(--color-fbfbfb);
  --mist:var(--color-f2f2f2);
  --line:var(--color-e7e7e7);
  --line-2:var(--color-cfcfcf);
  --muted:var(--color-565656);
  --muted-2:var(--color-6b6b6b);

  --on-dark:var(--color-f0ecf6);
  --on-dark-muted:var(--color-d1c4e2);
  --on-dark-line:rgba(255,255,255,0.13);

  --serif:'Rowan',Georgia,'Times New Roman',serif;
  --sans:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

  --maxw:clamp(1200px, 90vw, 1600px);
  --maxw-wide:1320px;
  --edge:24px;
  --gap: clamp(84px, min(7.5vw, 11vh), 120px);
  --header-h:114px;
  --hero-peek:clamp(80px,9vh,128px);
  --hero-stage-w:clamp(380px, calc(28px + 33vw), 680px);
  --hero-content-gap:clamp(40px,4vw,64px);

  --r-lg:18px;
  --r-md:12px;
  --r-sm:8px;

  --shadow-sm:0 1px 2px rgba(15,24,34,0.04);
  --shadow:0 1px 3px rgba(15,24,34,0.05), 0 18px 40px -22px rgba(15,24,34,0.16);
  --shadow-lift:0 2px 6px rgba(15,24,34,0.06), 0 30px 70px -28px rgba(15,24,34,0.22);
  --ease:cubic-bezier(0.22,0.61,0.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.6;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:400;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px;}
button:focus-visible{outline-offset:2px;}
a:focus-visible{border-radius:6px;}
.skip-link{
  position:absolute;top:-100px;left:16px;z-index:9999;
  background:var(--ink);color:var(--color-fff);padding:10px 20px;border-radius:8px;
  font-size:14px;font-weight:600;
  transition:top 200ms var(--ease);
}
.skip-link:focus{top:12px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition-duration:0.01ms!important;animation-duration:0.01ms!important;}}

/* Primitives */
.wrap{width:min(calc(100% - (var(--edge) * 2)), var(--maxw));margin-inline:auto;}
.wrap--narrow{max-width:900px;}
@media (max-width:640px){:root{--edge:20px;}}
.section{padding:var(--gap) 0;scroll-margin-top:130px;}
/* Tablet gets its own deliberate tier for the standard editorial sections —
   distinct from the fluid --gap value they otherwise share with every other
   section, since --gap's own floor reads too generous at this width. The
   immersive chapters (Culture/Manifesto) are left on --gap, which already
   lands a little larger here, so they still read as the bigger pause. */
@media (min-width:768px) and (max-width:1023px){
  #purpose,#principles,#values{padding:clamp(64px,7vw,72px) 0;}
}
/* Leadership — a major page chapter: more outer breathing room than the
   other content sections, kept internal heading rhythm intact (see
   .shead / .eyebrow / .lead__tabs spacing, unchanged). The perceptibly-
   but-restrained atmosphere that lets Leadership + Spectrum Equity read
   as one continuous environment comes from the shared .m-light-a wash
   already on this section (see markup) — no bespoke gradient of its own. */
#leadership{
  padding:clamp(88px,7.4vw,112px) 0 clamp(96px,8.2vw,124px);
}
.alt{background:var(--paper-2);}
.reveal{opacity:0;transform:translateY(20px);transition:opacity 850ms var(--ease),transform 850ms var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal[data-d="1"]{transition-delay:.08s;}
.reveal[data-d="2"]{transition-delay:.16s;}
.reveal[data-d="3"]{transition-delay:.24s;}

/* Type scale — big, editorial */
.eyebrow{
  font-family:var(--sans);font-size:12.5px;font-weight:700;
  letter-spacing:0.15em;text-transform:uppercase;color:var(--green-ink);
  display:block;margin-bottom:22px;
}
.eyebrow--marked{display:inline-flex;align-items:center;gap:9px;}
.eyebrow__mark{display:block;height:16.5px;width:auto;flex:none;}
.display{font-family:var(--serif);font-size:clamp(56px,6.6vw,104px);line-height:1.08;letter-spacing:-0.025em;}
.h2{font-family:var(--serif);font-size:clamp(36px,3.1vw,48px);line-height:1.08;letter-spacing:-0.02em;}
.h3{font-family:var(--serif);font-size:clamp(24px,2.4vw,30px);line-height:1.2;letter-spacing:-0.012em;}
.lead{font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--muted);}
.measure{max-width:56ch;}
.it{font-style:italic;}

/* Buttons / textlinks */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:52px;padding:0 26px;border-radius:999px;font-size:15.5px;font-weight:600;
  border:1px solid transparent;transition:transform 200ms var(--ease),background 200ms,box-shadow 200ms,border-color 200ms;white-space:nowrap;
}
.btn--primary,.btn--marketing{background:linear-gradient(105deg,var(--color-6c40a1) 0%,var(--color-6c40a1) 58%,var(--color-513079) 100%);color:var(--color-ffffff);border:0;line-height:1;background-clip:border-box;box-shadow:0 10px 24px -14px rgba(38,22,56,.32);}
.btn--primary:hover,.btn--marketing:hover{transform:translateY(-1px);background:linear-gradient(105deg,var(--color-6c40a1) 0%,var(--color-513079) 58%,var(--color-513079) 100%);box-shadow:0 14px 30px -14px rgba(38,22,56,.4);}
.btn--primary:active,.btn--marketing:active{transform:translateY(0);box-shadow:0 6px 14px -10px rgba(38,22,56,.3);}
.textlink{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:15px;color:var(--green-ink);}
.textlink svg{width:15px;height:15px;transition:transform 240ms var(--ease);}
.textlink:hover svg{transform:translateX(4px);}
.textlink--ink{color:var(--ink);}

/* section heading block */
.shead{max-width:820px;margin-bottom:clamp(28px,3.2vw,40px);}
/* Leadership's heading now owns the section's full available width —
   the shared 820px shead cap was written before this section dropped
   its supporting paragraph, and no longer needs to constrain it. */
#leadership .shead{max-width:none;}
.shead .h2{margin-bottom:0;}
.shead p{margin-top:22px;font-size:19px;line-height:1.55;color:var(--muted);max-width:50ch;}
.shead--center{margin-left:auto;margin-right:auto;text-align:center;}
.shead--center p{margin-left:auto;margin-right:auto;}

/* ============================================================
   SHARED NARRATIVE-SECTION SYSTEM — light environments reused
   verbatim from the approved 1099 / Business Verification pages.
   Visual-stage atmosphere/border/radius match the shared system;
   desktop padding is intentionally roomier here for this page's
   larger editorial illustrations.
   ============================================================ */
.m-light-a{background:radial-gradient(55% 60% at 80% 8%, rgba(108,64,161,.05), transparent 62%),var(--paper);}
.m-light-b{background:radial-gradient(55% 60% at 15% 92%, rgba(209,196,226,.055), transparent 62%),var(--mist);}

.m-visual-stage{
  position:relative;border-radius:16px;overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(108,64,161,.07), transparent 34%),
    radial-gradient(circle at 88% 82%, rgba(108,64,161,.05), transparent 32%),
    linear-gradient(135deg, var(--color-f7f6fa) 0%, var(--color-fbfbfb) 48%, var(--color-f7f6fa) 100%);
  border:1px solid rgba(108,64,161,.07);
  padding:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
@media (min-width:768px){
  .m-visual-stage{border-radius:20px;padding:clamp(24px,2.6vw,30px);}
}
@media (min-width:1024px){
  .m-visual-stage{
    border-radius:24px;
    padding:clamp(36px,3.8vw,52px);
  }
}

.m-visual-stage--compact{padding:12px;border-radius:12px;}
@media (min-width:768px){
  .m-visual-stage--compact{padding:16px;border-radius:14px;}
}
@media (min-width:1024px){
  .m-visual-stage--compact{padding:20px;border-radius:16px;}
}

/* ============================================================
   ILLUSTRATION CARD (m-visual-surface) — reused from the approved
   1099 page: the white surface every product/illustration graphic
   sits on inside a .m-visual-stage. Any illustration without its
   own background (transparent-PNG or line-art SVG) is framed by
   this card rather than floating directly on the tonal stage —
   same recipe as 1099's reporting-lifecycle illustration.
   ============================================================ */
.m-visual-surface{
  width:100%;position:relative;overflow:hidden;
  background:var(--color-ffffff);border:1px solid rgba(15,24,34,.08);border-radius:18px;
  box-shadow:0 2px 5px rgba(15,24,34,.035),0 16px 34px -22px rgba(15,24,34,.18);
  padding:clamp(14px,1.6vw,20px);
}
.m-visual-surface--compact{
  height:100%;display:flex;align-items:center;justify-content:center;
  border-radius:14px;padding:clamp(10px,1.4vw,16px);
}
@media (max-width:767px){
  .m-visual-surface{border-radius:14px;box-shadow:0 2px 5px rgba(15,24,34,.03),0 16px 34px -24px rgba(15,24,34,.16);}
  .m-visual-surface--compact{border-radius:12px;padding:10px;}
}

/* ============================================================
   NAV — reused verbatim from the approved landing page
   ============================================================ */
.util{background:var(--ink);color:var(--on-dark-muted);font-size:13px;}
.nav{position:sticky;top:0;z-index:100;transition:padding 420ms var(--ease);}
.nav__utility{
  background:radial-gradient(60% 140% at 78% 50%, rgba(108,64,161,.06), transparent 70%),linear-gradient(120deg, var(--color-ffffff) 0%, var(--color-ffffff) 55%, var(--color-ffffff) 100%);
  border-bottom:1px solid var(--line);max-width:100%;
  transition:background 420ms var(--ease),border-color 420ms var(--ease),box-shadow 420ms var(--ease),border-radius 420ms var(--ease),max-width 420ms var(--ease);
}
.nav__utility .wrap{display:flex;align-items:center;height:52px;gap:20px;transition:height 420ms var(--ease),padding 420ms var(--ease);}
.nav__main{
  background:radial-gradient(60% 140% at 78% 50%, rgba(108,64,161,.06), transparent 70%),linear-gradient(120deg, var(--color-ffffff) 0%, var(--color-ffffff) 55%, var(--color-ffffff) 100%);
  border-bottom:1px solid var(--line);max-height:61px;overflow:hidden;
  transition:max-height 420ms var(--ease),opacity 420ms var(--ease),border-color 420ms var(--ease);
}
.nav__main.has-open,.nav__main:has(.navitem[data-open="true"]){overflow:visible;}
.nav__main .wrap{display:flex;align-items:center;height:60px;gap:36px;position:relative;}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:22px;letter-spacing:-0.01em;color:var(--ink);}
.brand__lockup{height:26px;width:auto;object-fit:contain;display:block;transition:height 380ms var(--ease);}

.navlinks{display:flex;align-items:center;gap:4px;margin-left:auto;}
.navitem{position:relative;}
.navlink{display:inline-flex;align-items:center;gap:5px;height:60px;padding:0 14px;font-size:15px;font-weight:500;color:var(--ink);opacity:.86;background:none;border:0;font-family:inherit;cursor:pointer;transition:opacity 160ms;}
.navlink:hover{opacity:1;}
.navlink .chev{width:11px;height:11px;color:var(--muted-2);transition:transform 240ms var(--ease),color 240ms var(--ease);}
.navitem[data-open="true"] .navlink{opacity:1;}
.navitem[data-open="true"] .navlink .chev{transform:rotate(180deg);color:var(--green);}

.navpanel{
  position:fixed;top:113px;left:0;right:0;width:100%;
  background:var(--color-fff);border-top:1px solid var(--line);
  box-shadow:0 26px 50px -18px rgba(38,22,56,.25);
  padding:32px clamp(24px,4vw,64px) 40px;
  opacity:0;transform:translateY(-6px);pointer-events:none;visibility:hidden;
  transition:opacity 220ms var(--ease),transform 220ms var(--ease),visibility 220ms;
  z-index:110;
}
.nav.scrolled .navpanel{top:64px;}
.navpanel__items{display:flex;flex-wrap:wrap;gap:8px 28px;}
.navpanel__head{display:flex;align-items:center;gap:9px;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--line);}
.navpanel__head-label{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);}
.navpanel__item{display:flex;align-items:center;gap:14px;padding:12px;border-radius:12px;transition:background 160ms;box-sizing:border-box;}
.navpanel__item--c3{flex:0 0 calc(33.333% - 19px);}
.navpanel__item--c4{flex:0 0 calc(25% - 21px);}
.navpanel__item--c5{flex:0 0 calc(20% - 23px);}
.navpanel__item:hover{background:var(--g-050);}
.navpanel__item-ic{width:42px;height:42px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--color-fff);color:var(--muted);transition:color 160ms,border-color 160ms;}
.navpanel__item:hover .navpanel__item-ic{color:var(--green-ink);border-color:var(--g-200);}
.navpanel__item-ic svg{width:19px;height:19px;}
.navpanel__item-body b{display:block;font-size:14.5px;font-weight:700;color:var(--ink);letter-spacing:-0.005em;margin-bottom:2px;}
.navpanel__item-body span{display:block;font-size:12.5px;color:var(--muted-2);font-weight:400;line-height:1.4;}
.navitem[data-open="true"] .navpanel{opacity:1;transform:none;pointer-events:auto;visibility:visible;}

.navlinks__mobileauth{display:none;}
.nav__right{margin-left:auto;display:flex;align-items:center;gap:6px;}
.nav__login{padding:0 14px;height:38px;display:inline-flex;align-items:center;font-size:14.5px;font-weight:600;border-radius:999px;color:var(--ink);opacity:.92;transition:background 160ms,opacity 160ms;}
.nav__login:hover{background:var(--paper-2);opacity:1;}
.nav__signup{padding:0 18px;height:38px;display:inline-flex;align-items:center;font-size:14.5px;font-weight:600;border-radius:999px;border:1px solid var(--line-2);color:var(--ink);transition:border-color 160ms,background 160ms;}
.nav__signup:hover{border-color:var(--muted-2);background:var(--paper-2);}
.navtoggle{display:none;background:none;border:1px solid var(--line-2);color:var(--ink);border-radius:8px;height:38px;padding:0 14px;font-size:14px;font-weight:600;}
.nav__utility .btn{height:38px;padding:0 20px;font-size:14.5px;}

.nav.scrolled{transition:opacity 260ms var(--ease);}
@media (min-width:961px){
  .nav.scrolled{opacity:0;pointer-events:none;}
  .nav.scrolled .nav__main{pointer-events:none;}
}
.nav-float{
  display:none;position:fixed;top:16px;left:50%;transform:translateX(-50%) translateY(-10px);z-index:101;
  width:min(calc(100% - (var(--edge) * 2)), var(--maxw));
  background:radial-gradient(60% 140% at 78% 50%, rgba(108,64,161,.06), transparent 70%),linear-gradient(120deg, var(--color-ffffff) 0%, var(--color-ffffff) 55%, var(--color-ffffff) 100%);
  border-radius:999px;border:1px solid var(--line-2);
  box-shadow:0 20px 44px -22px rgba(15,24,34,.18),0 2px 12px -2px rgba(15,24,34,.1);
  opacity:0;pointer-events:none;transition:opacity 260ms var(--ease),transform 260ms var(--ease);
}
@media (min-width:961px){ .nav-float{display:block;} }
.nav-float .brand__lockup{height:24px;}
.nav-float.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;}
.nav-float .wrap{display:flex;align-items:center;height:56px;padding-left:28px;padding-right:14px;gap:20px;}
.nav-float .btn{height:38px;padding:0 20px;font-size:14.5px;}
@media (prefers-reduced-motion:reduce){.nav.scrolled{transition:none;}.nav-float{transition:none;}}

/* ============================================================
   IMAGE / ILLUSTRATION PLACEHOLDER — every photo & illustration
   slot on this page uses this until real assets are supplied.
   ============================================================ */
.imgph{
  width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:repeating-linear-gradient(135deg, var(--line) 0 1px, transparent 1px 13px), var(--paper-2);
  border:1px dashed var(--line-2);border-radius:var(--r-md);
  color:var(--muted-2);text-align:center;padding:20px;
}
.imgph i{width:20px;height:20px;}
.imgph span{font-size:12px;font-weight:600;letter-spacing:.01em;max-width:24ch;line-height:1.4;}
.imgph--ondark{background:repeating-linear-gradient(135deg, rgba(255,255,255,.08) 0 1px, transparent 1px 13px), rgba(255,255,255,.04);border-color:rgba(255,255,255,.26);color:rgba(255,255,255,.65);}

/* ============================================================
   HERO — two-column, human-first, at true hero scale. Left: copy.
   Right: large full-bleed photography — no card, no radius, no
   shadow — with the three supplied brand shapes cropping directly
   across its left edge so geometry and photo read as one object.
   ============================================================ */
.hero{
  position:relative;overflow:hidden;background:var(--color-fff);display:flex;align-items:center;
  min-height:560px;
  min-height:clamp(560px, calc(100vh - var(--header-h) - var(--hero-peek)), 900px);
  min-height:clamp(560px, calc(100dvh - var(--header-h) - var(--hero-peek)), 900px);
}
.hero__row{display:block;}
.hero .wrap{position:relative;z-index:3;width:100%;padding-left:max(var(--edge), calc((100% - var(--maxw)) / 2));padding-top:clamp(28px,3.2vw,44px);padding-bottom:clamp(28px,3.2vw,44px);}
.hero__glow{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(62% 70% at 14% 10%,rgba(108,64,161,.13) 0%,rgba(108,64,161,.055) 38%,transparent 68%),radial-gradient(50% 58% at 52% 90%,rgba(209,196,226,.075) 0%,rgba(108,64,161,.032) 48%,transparent 74%);}

.hero__inner{position:relative;z-index:2;max-width:calc(100% - var(--hero-stage-w) - var(--hero-content-gap));text-align:left;}
.bhero__title{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(48px,5.2vw,64px);line-height:1.05;letter-spacing:-0.02em;margin:0 0 28px;}
.bhero__line{display:block;}
.hero .bhero__title .it{display:inline;white-space:nowrap;font-style:italic;color:var(--green-ink);}
.hero .lead{margin:0;font-size:clamp(18px,1.5vw,20px);color:var(--muted);width:100%;max-width:none;}
.hero__cta{margin-top:36px;}
.hero__cta .btn svg{width:15px;height:15px;transition:transform 220ms var(--ease);}
.hero__cta .btn:hover svg{transform:translateX(3px);}

.hstage{position:absolute;top:0;right:0;bottom:0;z-index:1;width:var(--hero-stage-w);overflow:hidden;pointer-events:none;}
.hstage__img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 18%;animation:heroPhotoDrift 13s ease-in-out infinite;}
@keyframes heroPhotoDrift{0%,100%{transform:scale(1);}50%{transform:scale(1.018);}}
@media (prefers-reduced-motion:reduce){.hstage__img{animation:none;}}

.hero__load > *{opacity:0;transform:translateY(16px);animation:up .9s var(--ease) forwards;}
.hero__load > *:nth-child(1){animation-delay:.05s;}
.hero__load > *:nth-child(2){animation-delay:.15s;}
.hero__load > *:nth-child(3){animation-delay:.25s;}
.hero__load > *:nth-child(4){animation-delay:.35s;}
@keyframes up{to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.hero__load > *{opacity:1;transform:none;animation:none;}}

.brand-mark{display:inline-flex;align-items:center;margin-right:9px;vertical-align:-3px;}
.brand-mark img{display:block;height:16.5px;width:auto;}
.eyebrow--brand{color:var(--green-ink);margin-bottom:20px;}

/* ============================================================
   HERO — RESPONSIVE FAMILY
   Desktop >=961px: base rules above.
   Tablet 700–960px: still a real two-column hero — just intentionally
   tighter, not stacked.
   Mobile <700px: stacks, copy first.
   ============================================================ */
@media (max-width:960px) and (min-width:700px){
  .hero{--hero-stage-w:clamp(280px,36vw,420px);--hero-content-gap:24px;}
}
@media (max-width:699px){
  .hero{overflow:visible;display:flex;flex-direction:column;align-items:stretch;min-height:0;}
  .hero .wrap{order:1;display:block;padding-top:clamp(28px,6vw,44px);padding-bottom:0;padding-left:var(--edge);padding-right:var(--edge);}
  .hero__inner{max-width:100%;}
  /* Taller stage plus an upward object-position keeps the face/expression —
     the point of "partner with our people" — the primary focal point,
     with shoulders, a hint of the handshake and the lime geometry
     following in that order. */
  .hstage{order:2;position:relative;top:auto;right:auto;bottom:auto;width:100%;height:clamp(300px,88vw,420px);margin-top:32px;overflow:hidden;}
  .hstage__img{object-position:50% 18%;}
}

/* ============================================================
   OUR PURPOSE — centered intro, a two-column main composition
   (H2 + three-paragraph narrative beside the illustration), and
   a centered concluding belief statement. Structure follows the
   approved reference layout. Inner content uses the grid column
   width directly — no nested max-widths — so line length is
   controlled by the layout, not by local caps.
   ============================================================ */
.purpose{position:relative;overflow:hidden;}
/* Top padding only — the hero's --hero-peek is a deliberate slice of this
   section's opening; a full --gap top here would push the eyebrow below
   that peek and leave it looking like empty accidental space. Bottom
   keeps the shared --gap rhythm from .section untouched. */
@media (min-width:700px){
  #purpose{padding-top:clamp(48px,5vw,64px);}
}
#purpose{
  background:
    radial-gradient(42% 46% at 6% 4%, rgba(108,64,161,.035), transparent 62%),
    radial-gradient(42% 46% at 96% 96%, rgba(209,196,226,.03), transparent 64%),
    var(--mist);
}

/* Section intro — compact, centered: eyebrow + supporting thesis.
   No fixed max-width on the thesis — it uses the available wrap
   width directly, so it reads as one comfortable line rather than
   an artificially narrow block. */
.purpose__intro{position:relative;z-index:1;width:100%;max-width:none;text-align:center;}
.purpose__intro .eyebrow{margin-bottom:0;justify-content:center;}
.purpose__thesis{font-family:var(--serif);font-weight:400;font-size:clamp(19px,1.9vw,23px);line-height:1.45;color:var(--muted);max-width:62ch;margin:18px auto 0;}

/* Main composition — H2 + narrative on the left, illustration on
   the right at desktop; grid-area order changes at ≤960px so the
   illustration falls between the headline and the paragraphs. */
.purpose__main{
  position:relative;z-index:1;width:100%;max-width:none;display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  grid-template-areas:"head stage" "body stage";
  column-gap:clamp(56px,5vw,88px);align-items:start;
  margin:clamp(30px,3.4vw,38px) 0 0;
}
@media (min-width:1024px) and (max-width:1439px){
  .purpose__main{column-gap:clamp(48px,4.2vw,64px);}
}

.purpose__head{grid-area:head;width:100%;max-width:none;text-align:left;}
.purpose__head .h2{width:100%;max-width:none;color:var(--ink);}
@media (min-width:1024px) and (max-width:1439px){
  .purpose__head .h2{font-size:clamp(32px,3.4vw,42px);}
}

.purpose__body{grid-area:body;width:100%;max-width:none;margin:clamp(28px,2.8vw,32px) 0 0;}
.purpose__row{color:var(--muted);font-size:clamp(16.5px,1.1vw,18px);line-height:1.6;width:100%;max-width:none;margin:24px 0 0;}
.purpose__row:first-child{margin-top:0;}

.purpose__stage{grid-area:stage;align-self:center;display:flex;align-items:center;justify-content:center;}
@media (min-width:961px){
  .purpose__stage{height:clamp(320px,27vw,400px);}
}
@media (min-width:1024px){
  .purpose__stage{padding:clamp(12px,1.4vw,18px);}
}
.purpose__stage .m-visual-surface{width:100%;height:100%;padding:clamp(8px,1vw,12px);}
.purpose__stage-img{width:100%;height:100%;display:block;object-fit:contain;}

/* Concluding belief — centered, full width, closes the section */
.purpose__close{position:relative;z-index:1;width:100%;max-width:none;margin:clamp(56px,5.5vw,64px) 0 0;text-align:center;}
.purpose__close p{font-family:var(--serif);font-weight:400;margin:0;width:100%;max-width:none;line-height:1.2;color:var(--ink);text-wrap:balance;}
.purpose__close-l1{font-size:clamp(26px,2.2vw,30px);color:var(--muted);}
.purpose__close-l2{font-size:clamp(34px,3.4vw,40px);margin-top:8px;line-height:1.14;}
.purpose__close-l2 .it{font-style:italic;color:var(--green-ink);}

/* ============================================================
   OUR GUIDING PRINCIPLES — one shared editorial surface
   ============================================================ */
.principles__panel{
  --pgap:clamp(56px,6.5vw,96px);position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--pgap);
}
.principles__col{position:relative;}
.principles__col:first-child::after{content:'';position:absolute;top:14%;bottom:14%;right:calc(var(--pgap) / -2);width:1px;background:rgba(15,24,34,.08);}
.principles__colgrid{display:grid;grid-template-columns:3fr 2fr;gap:clamp(20px,2.5vw,32px);align-items:center;}
.principles__text h3{font-size:clamp(21px,1.9vw,26px);margin-bottom:14px;}
.principles__text p{color:var(--muted);font-size:16.5px;line-height:1.6;}
.principles__ico{aspect-ratio:1/1;width:100%;display:flex;align-items:center;justify-content:center;}
.principles__ico-img{width:100%;height:100%;object-fit:contain;display:block;}

/* ============================================================
   OUR VALUES — one coherent surface, 3x2 tile grid
   ============================================================ */
.values__label{display:block;margin-bottom:clamp(24px,2.8vw,36px);}
.values__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,24px);}
.value__tile{
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(24px,2.4vw,28px);
  box-shadow:0 1px 2px rgba(15,24,34,.025);
}
.value__ic{
  flex:none;width:36px;height:36px;border-radius:var(--r-sm);
  display:flex;align-items:center;justify-content:center;border:1px solid var(--line);
}
.value__ic svg{width:17px;height:17px;stroke-width:1.7;}
.value__ic{background:var(--g-050);color:var(--green-ink);}
.value__tile h4{font-family:var(--serif);font-weight:400;font-size:18.5px;margin:2px 0 0;}
.value__tile p{color:var(--muted);font-size:15.5px;line-height:1.6;margin:0;}
/* Values section environment — white/paper-2, felt rather than seen */
.values-atmo{
  background:
    radial-gradient(50% 60% at 90% 4%, rgba(108,64,161,.04), transparent 62%),
    radial-gradient(55% 60% at 8% 98%, rgba(209,196,226,.028), transparent 62%),
    var(--paper-2);
}

/* ============================================================
   TEAM / CULTURE — deep-green immersive pause
   ============================================================ */
.team-pause{
  position:relative;overflow:hidden;padding:var(--gap) 0;
  background:linear-gradient(180deg, var(--g-800) 0%, var(--green-deep) 55%, var(--g-900) 100%);
}
.team-pause::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,0.08) 1.5px,transparent 0);
  background-size:28px 28px;
  -webkit-mask-image:radial-gradient(60% 62% at 50% 18%,var(--color-000) 10%,rgba(0,0,0,0.25) 55%,transparent 88%);
  mask-image:radial-gradient(60% 62% at 50% 18%,var(--color-000) 10%,rgba(0,0,0,0.25) 55%,transparent 88%);
}
.team-pause .wrap{position:relative;z-index:1;}
.team-pause__head{text-align:center;max-width:700px;margin:0 auto clamp(40px,5vw,64px);}
.team-pause__head .h2{color:var(--color-fff);margin-bottom:18px;}
.team-pause__head p{color:var(--on-dark-muted);font-size:17px;line-height:1.6;}
.team-pause__photo{aspect-ratio:21/8;border-radius:var(--r-lg);overflow:hidden;position:relative;}
.team-pause__img{width:100%;height:100%;object-fit:cover;display:block;}
.team-pause__shape{position:absolute;right:28px;bottom:28px;width:72px;height:auto;z-index:2;pointer-events:none;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));}

/* ============================================================
   LEADERSHIP — tabs + 3-col profile grid
   ============================================================ */
.lead__tabs{display:flex;justify-content:center;gap:8px;margin-bottom:clamp(24px,2.8vw,36px);}
.lead__tab{background:none;border:1px solid var(--line-2);border-radius:999px;padding:10px 18px;font-size:14.5px;font-weight:600;color:var(--muted);transition:all 200ms var(--ease);display:inline-flex;align-items:center;gap:8px;}
.lead__tab svg{width:16px;height:16px;}
.lead__tab:hover:not([aria-selected="true"]){background:var(--g-025);border-color:var(--g-200);color:var(--green-ink);}
.lead__tab[aria-selected="true"]{background:var(--g-050);border-color:var(--g-200);color:var(--g-700);font-weight:700;box-shadow:none;}

.leader__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2vw,24px);}
.leader__grid[hidden]{display:none;}
.leader__card{
  display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);
  background:var(--color-fff);overflow:hidden;transition:border-color 220ms var(--ease),box-shadow 220ms var(--ease),transform 220ms var(--ease);
}
.leader__card:hover{border-color:var(--line-2);box-shadow:var(--shadow);transform:translateY(-3px);}
.leader__photo{position:relative;aspect-ratio:3/3.4;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--g-025),var(--g-100));}
.leader__portrait{width:100%;height:100%;object-fit:cover;display:block;}
.leader__shape{position:absolute;right:10px;bottom:10px;width:30px;height:auto;z-index:2;pointer-events:none;filter:drop-shadow(0 3px 6px rgba(38,22,56,.22));}
.leader__body{padding:14px 16px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}
.leader__id h4{font-size:15.5px;margin-bottom:3px;}
.leader__role{display:block;color:var(--green-ink);font-weight:600;font-size:12.5px;}
.leader__cred{display:block;font-style:italic;color:var(--muted-2);font-size:11.5px;margin-top:4px;}
.leader__li{position:relative;flex:none;width:16px;height:16px;color:var(--muted-2);transition:color 200ms;margin-top:2px;}
.leader__li::before{content:'';position:absolute;inset:-14px;}
.leader__li svg{width:16px;height:16px;display:block;}
.leader__li:hover{color:var(--green-ink);}

/* ============================================================
   SPECTRUM EQUITY — compact institutional-proof strip, part of the
   continuous Leadership Light-A environment (no independent section
   padding of its own — see .spectrum__panel margin-top for the gap)
   ============================================================ */
.spectrum__panel{position:relative;display:flex;align-items:center;background:var(--mist);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-top:clamp(40px,4.5vw,48px);}
.spectrum__logo{flex:0 0 252px;display:flex;align-items:center;justify-content:center;padding:32px 26px;border-right:1px solid var(--line);}
.spectrum__logo-img{width:100%;max-width:208px;height:auto;object-fit:contain;display:block;}
.spectrum__logo .imgph{aspect-ratio:16/8;}
.spectrum__copy{position:relative;z-index:1;flex:1;padding:36px 44px;color:var(--muted);font-size:16px;line-height:1.6;}
.spectrum__shape{position:absolute;right:-12px;bottom:-14px;width:52px;height:auto;z-index:0;opacity:.55;pointer-events:none;}

/* ============================================================
   MANIFESTO — deep-green scroll-highlight storytelling
   ============================================================ */
.manifesto{position:relative;overflow:hidden;background:radial-gradient(50% 55% at 8% 105%, rgba(209,196,226,.10), transparent 68%),radial-gradient(120% 90% at 50% -10%, var(--g-700) 0%, var(--green-deep) 55%, var(--g-900) 100%);}
.manifesto::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,0.10) 1.5px,transparent 0);
  background-size:28px 28px;
  -webkit-mask-image:radial-gradient(65% 70% at 50% 30%,var(--color-000) 10%,rgba(0,0,0,0.3) 55%,transparent 88%);
  mask-image:radial-gradient(65% 70% at 50% 30%,var(--color-000) 10%,rgba(0,0,0,0.3) 55%,transparent 88%);
}
.manifesto .wrap{position:relative;z-index:1;}
.manifesto__wrap{max-width:min(1080px,74%);}
.manifesto__eyebrow{color:var(--lime);margin-bottom:clamp(40px,5vw,64px);}
.manifesto__lines{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,30px);}
.manifesto__line{
  font-family:var(--serif);font-size:clamp(21px,2.4vw,29px);line-height:1.4;
  color:var(--on-dark-muted);padding-bottom:5px;
  border-bottom:1px solid transparent;
  transition:color 320ms var(--ease),border-color 320ms var(--ease);
}
.manifesto__line.is-active{color:var(--color-fff);border-bottom-color:rgba(209,196,226,.32);}

.manifesto__crescendo{
  margin-top:clamp(56px,6vw,84px);padding-top:clamp(36px,4vw,52px);
  border-top:1px solid var(--on-dark-line);
  display:flex;flex-direction:column;gap:8px;
}
.crescendo__line{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.6vw,34px);line-height:1.12;letter-spacing:-0.012em;color:var(--color-fff);}
.crescendo__line em{font-style:italic;}
.crescendo__line:nth-child(1) em{color:var(--lime);}
.crescendo__line:nth-child(2) em{color:var(--yellow);}
.crescendo__line:nth-child(3) em{color:var(--lime);}

/* ============================================================
   CLOSE + FOOTER — one continuous dark green canvas
   ============================================================ */
.closefoot{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--color-fbfbfb) 0%,var(--color-f2f2f2) 100%);}
.foot{color:var(--muted);padding:40px 0 28px;position:relative;z-index:1;}
.foot__top{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:28px;padding-bottom:32px;border-bottom:1px solid var(--line-2);}
.foot__col--nested{display:flex;flex-direction:column;gap:20px;}
.foot__brand{display:flex;align-items:center;margin-bottom:16px;}
.foot__brand img{height:40px;width:auto;object-fit:contain;display:block;}
.foot__company{font-family:var(--serif);font-size:18px;color:var(--ink);margin-bottom:10px;}
.foot__address{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.5;color:var(--muted);margin-bottom:6px;max-width:34ch;}
.foot__address svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--green-ink);}
.foot__hours{font-size:13.5px;color:var(--muted-2);margin:10px 0 18px;}
.foot__social{display:flex;gap:10px;align-items:center;}
.foot__social a{
  width:36px;height:36px;border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;
  background:var(--g-050);color:var(--green-ink);font-weight:800;font-size:13.5px;font-family:var(--sans);
  transition:background 160ms,color 160ms,transform 160ms;
}
.foot__social a:hover{background:var(--green-ink);color:var(--color-fff);transform:translateY(-2px);}
.foot__col h5{font-family:var(--serif);font-style:italic;font-weight:400;font-size:17px;letter-spacing:0;text-transform:none;color:var(--green-ink);margin-bottom:12px;}
.foot__col a{display:block;font-size:14px;color:var(--muted);padding:4px 0;transition:color 160ms;}
.foot__col a:hover{color:var(--ink);}
.foot__legalrow{display:inline-flex;width:fit-content;flex-wrap:wrap;align-items:center;gap:10px;padding-top:20px;padding-bottom:12px;font-size:13px;border-bottom:1px solid var(--line-2);}
.foot__legalrow a{color:var(--muted);transition:color 160ms;}
.foot__legalrow a:hover{color:var(--ink);}
.foot__legalrow .sep{color:var(--muted-2);opacity:.6;}
.foot__bottom{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;padding-top:18px;font-size:12.5px;color:var(--muted-2);}
.foot__compliance{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.foot__compliance img{height:40px;width:auto;object-fit:contain;display:block;border-radius:8px;}

/* ============================================================
   RESPONSIVE — nav + hero safety only (desktop is the target pass)
   ============================================================ */
@media (max-width:960px){
  .navlinks{display:none;}
  .navtoggle{display:inline-flex;align-items:center;}
  .nav__right .btn,.nav__right .nav__login,.nav__right .nav__signup{display:none;}
  .nav__main{border-bottom:0;background:transparent;}
  .nav__main .wrap{height:auto;min-height:0;padding-top:0;padding-bottom:0;}
  .navlinks__mobileauth{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:16px;border-top:1px solid var(--line);}
  .navlinks__mobileauth .nav__login,.navlinks__mobileauth .nav__signup{justify-content:center;border:1px solid var(--line-2);}
  .navlinks__mobileauth .btn{width:100%;justify-content:center;}
  .navpanel{position:static;min-width:0;width:100%;box-sizing:border-box;box-shadow:none;border:0;border-radius:0;padding:6px 4px 4px;margin-top:2px;display:none;opacity:1;transform:none;pointer-events:auto;visibility:visible;}
  .navitem[data-open="true"] .navpanel{display:block;}
  .navpanel__items{display:block;}
  .navpanel__item{width:100%;}

  /* Hero's own tablet/mobile rules now live at the 700px boundary below —
     this shared block still governs nav + every other section at 960px. */
  .purpose__head{text-align:left;max-width:none;margin-left:0;margin-right:0;}
  .purpose__main{grid-template-columns:1fr;grid-template-areas:"head" "stage" "body";row-gap:0;}
  .purpose__stage{margin:clamp(32px,6vw,40px) 0 0;}
  .purpose__body{margin:clamp(32px,6vw,40px) 0 0;}

  .principles__colgrid{grid-template-columns:1fr;}
  .principles__ico{aspect-ratio:16/10;width:100%;max-width:none;margin:0;}

  .values__grid{grid-template-columns:1fr 1fr;}
  .leader__grid{grid-template-columns:1fr 1fr;}
  .team-pause__photo{aspect-ratio:16/9;}
  .spectrum__panel{flex-direction:column;}
  .spectrum__logo{border-right:0;border-bottom:1px solid var(--line);width:100%;flex:0 0 auto;padding:24px 24px 20px;}
  .foot__top{grid-template-columns:1fr;gap:32px;}
}

/* ============================================================
   PHONE SYSTEM — a single controlled rhythm, not a shrunken
   restack of the desktop/tablet system. Visual-stage identity
   (m-visual-stage) is preserved at this tier by design; only
   its own progressive padding/radius rules (defined above)
   apply here — nothing in this block strips it.
   ============================================================ */
@media (max-width:767px){
  :root{--mobile-section-y:56px;}

  #purpose,#principles,#values,#leadership{padding:var(--mobile-section-y) 0;}
  #culture,#manifesto{padding:clamp(60px,9vw,68px) 0;}
  .spectrum__panel{margin-top:28px;}

  .shead{margin-bottom:clamp(28px,4.2vw,32px);}
  #leadership .shead{margin-bottom:clamp(20px,3.2vw,24px);}
  .values__label{margin-bottom:clamp(26px,4vw,30px);}
  .lead__tabs{margin-bottom:24px;}
  .team-pause__head{margin:0 auto clamp(28px,4.2vw,32px);}
  .team-pause__shape{right:14px;bottom:14px;width:44px;}

  /* ---- Our Purpose: one spacing mechanism, no stacked gaps ---- */
  .purpose__stage{margin:clamp(28px,4.2vw,32px) 0 0;}
  .purpose__body{margin:clamp(28px,4.2vw,32px) 0 0;}
  .purpose__close{margin:clamp(32px,5vw,40px) 0 0;}

  /* ---- Guiding Principles: stack, keep each stage, one divider ---- */
  .principles__panel{grid-template-columns:1fr;}
  .principles__colgrid{row-gap:clamp(20px,3.2vw,24px);}
  .principles__col:first-child::after{display:none;}
  .principles__col:first-child{padding-bottom:clamp(16px,2.6vw,18px);margin-bottom:clamp(16px,2.6vw,18px);border-bottom:1px solid var(--line-2);}

  /* ---- Values: single column, cards keep their own card treatment ---- */
  .values__grid{grid-template-columns:1fr;}

  /* ---- Leadership: horizontal snap carousel, tabs stay put ---- */
  .leader__grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:16px;
    padding-left:4px;
    padding-right:20px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .leader__grid::-webkit-scrollbar{display:none;}
  .leader__card{flex:0 0 86%;scroll-snap-align:start;}
  .lead__tab{padding:13px 20px;min-height:44px;}

  /* ---- Spectrum: compact checkpoint, not a tall card ---- */
  .spectrum__shape{width:40px;}
  .spectrum__logo{padding:20px;}
  .spectrum__copy{padding:20px;}

  /* ---- Manifesto: full mobile wrapper width, no desktop measure ---- */
  .manifesto__wrap{max-width:none;}
}

/* ===== GovPay colour system (tokens from Extra_tokens-2.json) ===== */
:root{
  --green:var(--color-6c40a1); --green-ink:var(--color-6c40a1); --green-deep:var(--color-261638); --lime:var(--color-d1c4e2); --yellow:var(--color-6c40a1);
  --g-025:var(--color-f7f6fa); --g-050:var(--color-f0ecf6); --g-100:var(--color-e9e2f1); --g-200:var(--color-d1c4e2); --g-300:var(--color-6c40a1); --g-400:var(--color-6c40a1); --g-500:var(--color-563381); --g-600:var(--color-513079); --g-700:var(--color-412661); --g-800:var(--color-412661); --g-900:var(--color-261638);
  --ink:var(--color-242424); --paper-2:var(--color-fbfbfb); --mist:var(--color-f2f2f2); --line:var(--color-e7e7e7); --line-2:var(--color-cfcfcf); --muted:var(--color-565656); --muted-2:var(--color-6b6b6b);
  --on-dark:var(--color-f0ecf6); --on-dark-muted:var(--color-d1c4e2);
}
.btn--primary,.btn--marketing{background:linear-gradient(105deg,var(--color-6c40a1) 0%,var(--color-513079) 100%);color:var(--color-fff);box-shadow:0 12px 26px -14px rgba(38,22,56,.55);}
.btn--primary:hover,.btn--marketing:hover{background:var(--color-563381);color:var(--color-fff);box-shadow:0 16px 30px -14px rgba(38,22,56,.6);}
::selection{background:var(--color-d1c4e2);color:var(--color-261638);}
:focus-visible{outline:3px solid var(--color-6c40a1);outline-offset:3px;}
/* subheadings: sentence case, brand purple, GovPay marker */
.eyebrow{text-transform:none;letter-spacing:0;font-size:15px;font-weight:600;color:var(--color-6c40a1);}
.manifesto .eyebrow,.team-pause .eyebrow{color:var(--color-d1c4e2);}
/* GovPay header */
/* header buttons: Request a Demo is primary (filled), Get Started is secondary (outline) */
.nav__signup{background:linear-gradient(105deg,var(--color-6c40a1) 0%,var(--color-513079) 100%) !important;border-color:transparent !important;color:var(--color-fff) !important;box-shadow:0 8px 18px -12px rgba(38,22,56,.6);}
.nav__signup:hover,.nav__signup:focus-visible{background:var(--color-563381) !important;color:var(--color-fff) !important;}
.nav .btn.btn--primary,.nav-float .btn.btn--primary{background:transparent !important;box-shadow:none !important;border:1.5px solid var(--color-6c40a1);color:var(--color-513079) !important;}
.nav .btn.btn--primary:hover,.nav-float .btn.btn--primary:hover{background:rgba(108,64,161,.08) !important;}
.brand__lockup{height:36px;width:auto;}
.nav-float .brand__lockup{height:32px;}
.foot-light .brand__lockup,footer .brand__lockup{height:44px;}
.brand{display:inline-flex;align-items:center;min-height:44px;}
.nav__login,.nav__signup,.nav .btn,.nav-float .btn,.nav-float .nav__login,.nav-float .nav__signup{display:inline-flex;align-items:center;justify-content:center;min-height:44px;}
.navtoggle{min-height:44px;min-width:64px;}
.navlink[aria-current="page"]{color:var(--color-6c40a1);font-weight:600;}
@media (max-width:960px){.nav__main{overflow:visible;}.nav #navlinks{z-index:120;box-shadow:0 24px 40px -24px rgba(15,24,34,.25);}}
.manifesto .eyebrow__mark,.team-pause .eyebrow__mark{filter:brightness(2.6) saturate(.55);}
/* ===== GovPay footer: Zenwork footer structure and measured tokens ===== */
.gp-foot{background:linear-gradient(180deg,var(--color-f9f7fc) 0%,var(--color-efeaf6) 100%);border-top:1px solid rgba(108,64,161,.16);padding:56px 0 40px;}
.gp-ft__top{display:grid;grid-template-columns:290px repeat(2,minmax(0,223px));column-gap:28px;row-gap:36px;align-items:start;}
.gp-foot__logo{height:46px;width:auto;display:block;}
.gp-ft__co{margin:22px 0 14px;font-family:var(--serif);font-size:19px;line-height:1.2;color:var(--ink);}
.gp-ft__addr{display:flex;align-items:flex-start;gap:9px;margin:0 0 8px;max-width:280px;font-size:14.5px;line-height:1.5;color:var(--ink);}
.gp-ft__addr svg{flex:none;width:16px;height:16px;margin-top:3px;color:var(--gradient-0);}
.gp-ft__hrs{margin:12px 0 0;font-size:14px;line-height:1.5;color:var(--muted);}
.gp-ft__social{display:flex;gap:10px;margin-top:24px;}
.gp-ft__social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(108,64,161,.08);border:1px solid rgba(108,64,161,.2);color:var(--gradient-100);font-size:14px;font-weight:800;line-height:1;text-decoration:none;transition:background 180ms var(--ease),transform 180ms var(--ease);}
.gp-ft__social a:hover{background:rgba(108,64,161,.16);transform:translateY(-1px);}
.gp-ft__h{margin:6px 0 16px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:19px;line-height:1.2;letter-spacing:0;text-transform:none;color:var(--gradient-100);}
.gp-ft__col a{display:block;padding:5px 0;font-size:14.5px;line-height:1.6;color:var(--color-3c3a4a);text-decoration:none;transition:color 180ms var(--ease);}
.gp-ft__col a:hover{color:var(--gradient-0);}
.gp-ft__legal{display:flex;align-items:center;justify-content:space-between;gap:18px 28px;flex-wrap:wrap;padding:22px 0;border-bottom:1px solid var(--line-2);}
.gp-ft__legal nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;}
.gp-ft__legal a{display:inline-block;padding:4px 0;font-size:13.5px;color:var(--color-4b4b58);text-decoration:none;}
.gp-ft__legal a:hover{color:var(--gradient-0);}
.gp-ft__legal .sep{color:var(--color-8e8ba0);font-size:13.5px;}
.gp-ft__bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:6px 32px;flex-wrap:wrap;padding-top:20px;font-size:13px;line-height:1.5;color:var(--color-5f5a72);}
.gp-ft__bottom > div{display:grid;gap:4px;}
.gp-foot :focus-visible{outline:3px solid var(--component-base-brand);outline-offset:3px;border-radius:4px;}
@media (max-width:900px){.gp-ft__top{grid-template-columns:repeat(2,minmax(0,1fr));}.gp-ft__lead{grid-column:1 / -1;}}
@media (max-width:560px){.gp-ft__top{grid-template-columns:1fr;row-gap:28px;}.gp-ft__bottom{flex-direction:column;}}
@media (prefers-reduced-motion:reduce){.gp-ft__social a,.gp-ft__col a{transition:none;}}

/* Other Products by Zenwork, Inc. band + compliance badges (from the Zenwork footer) */
.gp-ft__prod{margin-top:clamp(36px,4vw,56px);background:rgba(108,64,161,.07);border-top:1px solid rgba(108,64,161,.12);border-bottom:1px solid rgba(108,64,161,.12);}
.gp-ft__prodin{display:flex;align-items:center;justify-content:space-between;gap:18px 32px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px;}
.gp-ft__prodh{margin:0;font-family:var(--serif);font-size:clamp(24px,2.2vw,30px);line-height:1.15;letter-spacing:-0.01em;color:var(--ink);}
.gp-ft__pills{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0;}
.gp-ft__pill{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:7px 22px;border-radius:999px;background:var(--color-fff);border:1px solid rgba(108,64,161,.14);box-shadow:0 1px 2px rgba(15,24,34,.06);text-decoration:none;transition:box-shadow 180ms var(--ease),transform 180ms var(--ease);}
.gp-ft__pill img{display:block;width:auto;max-width:none;}
.gp-ft__pill:hover{box-shadow:0 8px 18px -10px rgba(38,22,56,.35);transform:translateY(-1px);}
.gp-ft__badges{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:0;}
.gp-ft__badges img{display:block;height:44px;width:auto;border-radius:8px;}
@media (max-width:560px){.gp-ft__pill{padding:6px 18px;min-height:46px;}.gp-ft__legal{align-items:flex-start;}}
@media (prefers-reduced-motion:reduce){.gp-ft__pill{transition:none;}}

/* standalone heading-links (Pricing, About GovPay): same italic serif as the column headings */
.gp-ft__col--hl{padding-top:6px;}
.gp-ft__col--hl a.gp-ft__hl{display:block;margin:0 0 14px;padding:6px 0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:19px;line-height:1.2;color:var(--gradient-100);text-decoration:none;}
.gp-ft__col--hl a.gp-ft__hl:hover{color:var(--gradient-0);text-decoration:underline;text-underline-offset:4px;}
.gp-foot{padding:56px 0 40px !important;}main h2{font-size:clamp(34px,3.1vw,44.64px) !important;line-height:1.08 !important;letter-spacing:-0.018em !important;}
/* ---- About hero (GovPay) ---- */
.gp-ab{position:relative;overflow:hidden;padding:clamp(56px,7vw,104px) 0 clamp(64px,7vw,112px);background:radial-gradient(60% 70% at 8% 0%,rgba(209,196,226,.45),transparent 68%),radial-gradient(45% 55% at 100% 100%,rgba(209,196,226,.28),transparent 70%),var(--color-fff);}
.gp-ah::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAxIiBoZWlnaHQ9IjU3NyIgdmlld0JveD0iMCAwIDYwMSA1NzciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xNDNfMjI5KSI+CjxnIG9wYWNpdHk9IjAuMTYiIGNsaXAtcGF0aD0idXJsKCNjbGlwMV8xNDNfMjI5KSI+CjxwYXRoIGQ9Ik04NDAgNTU1Ljc3NUwxNDYgODYuMzQwMVY0NjAuOTA1TDg0MCA5MzAuMzRWNTU1Ljc3NVoiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8xNDNfMjI5KSIvPgo8bWFzayBpZD0ibWFzazBfMTQzXzIyOSIgc3R5bGU9Im1hc2stdHlwZTphbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMTQ2IiB5PSItMzg0IiB3aWR0aD0iNjk0IiBoZWlnaHQ9Ijg0NSI+CjxwYXRoIGQ9Ik04MzkuNzQ0IC04Ljk2OTAyTDE0NiA0NjAuNjIzVjg1LjkzMjRMODM5Ljc0NCAtMzgzLjY2Vi04Ljk2OTAyWiIgZmlsbD0idXJsKCNwYWludDFfbGluZWFyXzE0M18yMjkpIi8+CjwvbWFzaz4KPGcgbWFzaz0idXJsKCNtYXNrMF8xNDNfMjI5KSI+CjxwYXRoIGQ9Ik04MzkuNzQ0IC04Ljk2OTAyTDE0NiA0NjAuNjIzVjg1LjkzMjRMODM5Ljc0NCAtMzgzLjY2Vi04Ljk2OTAyWiIgZmlsbD0iIzZDNDBBMSIvPgo8L2c+CjwvZz4KPC9nPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzE0M18yMjkiIHgxPSI4ODQuOTU0IiB5MT0iOTAzLjQyNiIgeDI9IjE0Ni41MTUiIHkyPSIxNzIuNzQ5IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGQ0Y3RkIiLz4KPHN0b3Agb2Zmc2V0PSIwLjc4ODQ2MiIgc3RvcC1jb2xvcj0iIzhBNzBDMCIvPgo8L2xpbmVhckdyYWRpZW50Pgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MV9saW5lYXJfMTQzXzIyOSIgeDE9IjQ5Mi44NzIiIHkxPSI0NjAuNjIzIiB4Mj0iNDkyLjg3MiIgeTI9Ii0zODMuNjYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzAxMTk0MSIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMTQ3QkEiLz4KPC9saW5lYXJHcmFkaWVudD4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xNDNfMjI5Ij4KPHJlY3Qgd2lkdGg9IjYwMSIgaGVpZ2h0PSI1NzYuMzkiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjxjbGlwUGF0aCBpZD0iY2xpcDFfMTQzXzIyOSI+CjxyZWN0IHdpZHRoPSI2NDQiIGhlaWdodD0iODEwIiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgLTQzIDY5My4xOTUpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==") no-repeat right -90px top/auto 100%;}
.gp-ab>.wrap{position:relative;z-index:1;}
.gp-ab .gp-ah__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center;}
.gp-ab .eyebrow--brand{display:inline-flex;align-items:center;gap:9px;margin:0 0 22px;}
.gp-ab .eyebrow .brand-mark img{display:block;height:16.5px;width:auto;}
.gp-ab h1{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.4vw,63px);line-height:1.06;letter-spacing:-0.025em;color:var(--ink);text-wrap:balance;}
.gp-ab .gp-ah__lead{margin:24px 0 0;max-width:40ch;font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--color-3c3c3c);}
.ab-vis{background:var(--color-fff);border:1px solid var(--color-e3dcf0);border-radius:20px;padding:clamp(22px,2.6vw,34px);box-shadow:0 18px 50px -24px rgba(60,30,100,.25);max-width:560px;margin-inline:auto;width:100%;}
.ab-flow{display:grid;grid-template-columns:minmax(0,1fr) clamp(40px,7vw,80px) auto;align-items:start;}
.ab-src{list-style:none;margin:0;padding:0;display:grid;grid-auto-rows:64px;gap:16px;}
.ab-src li{display:flex;align-items:center;gap:12px;padding:0 16px;border:1px solid var(--color-e3dcf0);border-radius:12px;background:var(--color-fbfafd);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-513079);}
.ab-src svg{width:22px;height:22px;flex:none;color:var(--color-6c40a1);}
.ab-lines{display:block;width:100%;height:208px;}
.ab-hub{position:relative;align-self:start;margin-top:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:112px;height:112px;border-radius:50%;background:linear-gradient(145deg,var(--color-7a4cb0),var(--color-52308a));color:var(--color-fff);box-shadow:0 12px 30px -10px rgba(82,48,138,.55);}
.ab-hub svg{width:26px;height:26px;}
.ab-hub b{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;}
.ab-ring{position:absolute;inset:-12px;border-radius:50%;border:1px solid rgba(108,64,161,.22);background:rgba(108,64,161,.05);z-index:-1;}
.ab-for{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:26px;padding-top:22px;border-top:1px solid var(--color-eae5f3);}
.ab-forlb{font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-6b6680);margin-right:4px;}
.ab-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:var(--color-ede7f6);color:var(--color-3e2466);font-size:14px;font-weight:600;}
.ab-chip svg{width:17px;height:17px;color:var(--color-6c40a1);}
@media (max-width:900px){.gp-ab .gp-ah__grid{grid-template-columns:1fr;}}
@media (max-width:480px){
  .ab-src li{padding:0 10px;gap:8px;font-size:11px;letter-spacing:.1em;}
  .ab-src svg{width:18px;height:18px;}
  .ab-hub{width:88px;height:88px;margin-top:60px;}
  .ab-hub svg{width:22px;height:22px;}.ab-hub b{font-size:10px;}
  .ab-ring{inset:-8px;}
  .ab-vis{padding:18px;}
}

/* ---- Built for the whole tax year ---- */
#tax-year{padding:clamp(64px,7vw,104px) 0;background:radial-gradient(42% 46% at 6% 4%,rgba(108,64,161,.04),transparent 62%),var(--g-025);}
.tyear__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,5vw,80px);align-items:center;}
.tyear__copy .eyebrow{margin-bottom:20px;}
.tyear__copy .h2{font-size:clamp(32px,3.4vw,42px);color:var(--ink);max-width:16ch;text-wrap:balance;}
.tyear__p{margin:22px 0 0;font-size:clamp(16.5px,1.15vw,18.5px);line-height:1.6;color:var(--muted);max-width:46ch;}
.tyear__p+.tyear__p{margin-top:16px;}
.ty-vis{background:var(--color-fff);border:1px solid var(--color-e3dcf0);border-radius:20px;padding:clamp(18px,2.2vw,30px);box-shadow:0 18px 50px -26px rgba(60,30,100,.25);}
.ty-vis svg{display:block;flex:none;}
.ty-phases{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr) 30px minmax(0,1fr);align-items:end;}
.ty-ph{min-width:0;}
.ty-when{display:block;margin:0 0 10px;font-size:11.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-4a4560);}
.ty-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:10px;row-gap:9px;align-items:center;padding:14px;border:1px solid var(--color-e3dcf0);border-radius:12px;background:var(--color-fbfafd);}
.ty-card svg{width:22px;height:22px;color:var(--green-ink);grid-row:1;}
.ty-card b{grid-row:1;font-size:15px;font-weight:700;color:var(--ink);line-height:1.2;}
.ty-card i{grid-column:1 / 3;display:block;height:7px;border-radius:4px;background:var(--color-e5dff4);}
.ty-card i+i{width:62%;}
.ty-ar{align-self:center;justify-self:center;width:28px;color:var(--green-ink);margin-top:22px;}
.ty-ar svg{width:28px;height:12px;}
.ty-year{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;margin-top:20px;padding:16px 0;border-top:1px solid var(--color-eae5f3);border-bottom:1px solid var(--color-eae5f3);}
.ty-ylb{display:flex;align-items:center;gap:12px;}
.ty-ylb svg{width:26px;height:26px;color:var(--green-ink);}
.ty-ylb span{display:block;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-4a4560);}
.ty-ylb b{display:block;margin-top:2px;font-size:15px;font-weight:700;color:var(--ink);line-height:1.25;}
.ty-track{position:relative;display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 20px 0 4px;}
.ty-track i{position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--green-ink);}
.ty-track i::after{content:"";position:absolute;right:-1px;top:-4px;width:8px;height:8px;border-top:1.5px solid var(--green-ink);border-right:1.5px solid var(--green-ink);transform:rotate(45deg);}
.ty-track span{position:relative;width:12px;height:12px;border-radius:50%;background:var(--color-fff);border:2px solid var(--green-ink);}
.ty-flow{margin-top:18px;}
.ty-flb{display:block;margin:0 0 12px;font-size:11.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-4a4560);}
.ty-flow ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;counter-reset:ty;}
.ty-flow ol li{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 8px;border-radius:999px;background:var(--color-ede7f6);color:var(--color-3e2466);font-size:13.5px;font-weight:600;white-space:nowrap;}
.ty-flow ol svg{width:16px;height:16px;color:var(--green-ink);}
.ty-rec{display:flex;align-items:center;gap:10px;margin:16px 0 0;padding:12px 14px;border-radius:12px;background:linear-gradient(145deg,var(--color-4a2b78),var(--color-2f1a52));color:var(--color-fff);font-size:14px;font-weight:600;}
.ty-rec svg{width:20px;height:20px;color:var(--color-d9c9f0);}
@media (max-width:960px){
  .tyear__grid{grid-template-columns:1fr;}
  .tyear__copy .h2{max-width:none;}
  .tyear__p{max-width:60ch;}
}
@media (max-width:560px){
  .ty-phases{grid-template-columns:1fr;row-gap:0;}
  .ty-phases .ty-ar{transform:rotate(90deg);margin:12px 0;}
  .ty-year{grid-template-columns:1fr;gap:10px;}
  .ty-flow ol{grid-template-columns:1fr 1fr;}
}

/* ---- Built by Zenwork ---- */
#built-by{position:relative;overflow:hidden;padding:clamp(64px,7vw,104px) 0;color:var(--color-fff);background:radial-gradient(48% 70% at 0% 0%,rgba(140,96,200,.28),transparent 66%),radial-gradient(40% 60% at 100% 100%,rgba(108,64,161,.30),transparent 70%),linear-gradient(180deg,var(--color-2b1745) 0%,var(--color-1f1033) 100%);}
#built-by .wrap{position:relative;z-index:1;}
.bb__top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:start;}
.bb__badge{display:inline-flex;align-items:center;gap:14px;padding:8px 18px 8px 8px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.06);}
.bb__ic{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(145deg,var(--color-8a5cc4),var(--color-5a3392));color:var(--color-fff);}
.bb__ic svg{width:22px;height:22px;}
.bb__nm{display:flex;flex-direction:column;line-height:1.2;}
.bb__nm b{font-family:var(--serif);font-weight:400;font-size:21px;letter-spacing:-.01em;color:var(--color-fff);}
.bb__nm em{font-style:normal;font-size:11.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-d1c4e2);margin-top:2px;}
#built-by .h2{margin:26px 0 0;font-size:clamp(34px,3.6vw,48px);color:var(--color-fff);}
.bb__body p{margin:0;font-size:clamp(16.5px,1.15vw,18.5px);line-height:1.62;color:var(--color-d9cfe6);max-width:52ch;}
.bb__body p+p{margin-top:18px;}
.bb__body .bb__close{font-family:var(--serif);font-size:clamp(22px,1.9vw,27px);line-height:1.3;color:var(--color-fff);margin-top:26px;}
.bb__stats{list-style:none;margin:clamp(44px,5vw,72px) 0 0;padding:clamp(28px,3vw,40px) 0 0;border-top:1px solid rgba(255,255,255,.16);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.bb__stats li{padding:0 clamp(16px,3vw,48px);display:flex;flex-direction:column;gap:8px;}
.bb__stats li:first-child{padding-left:0;}
.bb__stats li+li{border-left:1px solid rgba(255,255,255,.16);}
.bb__stats b{font-family:var(--serif);font-weight:400;font-size:clamp(44px,5vw,72px);line-height:1;letter-spacing:-.02em;color:var(--color-fff);}
.bb__stats span{font-size:12.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-cdbfe3);}
@media (max-width:900px){
  .bb__top{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .bb__stats{grid-template-columns:1fr;}
  .bb__stats li{padding:18px 0;}
  .bb__stats li+li{border-left:0;border-top:1px solid rgba(255,255,255,.16);}
  .bb__stats li{flex-direction:row;align-items:baseline;justify-content:space-between;}
  .bb__stats b{font-size:44px;}
}

/* ---- Built around what matters ---- */
#what-matters{padding:clamp(64px,7vw,104px) 0;background:var(--color-fff);}
.ar__head{text-align:center;margin:0 auto clamp(32px,4vw,52px);}
.ar__head .h2{font-size:clamp(34px,3.6vw,48px);color:var(--ink);text-wrap:balance;}
.ar__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);}
.ar__grid li{position:relative;display:flex;flex-direction:column;padding:clamp(24px,2.4vw,34px);border:1px solid var(--color-e3dcf0);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--color-fff) 0%,var(--color-fbfafd) 100%);transition:border-color 220ms var(--ease),box-shadow 220ms var(--ease),transform 220ms var(--ease);}
.ar__grid li:hover{border-color:var(--g-200);box-shadow:var(--shadow);transform:translateY(-3px);}
.ar__ic{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--g-100);color:var(--green-ink);margin-bottom:clamp(40px,4.5vw,64px);}
.ar__ic svg{width:26px;height:26px;}
.ar__grid h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.1vw,29px);line-height:1.15;letter-spacing:-.01em;color:var(--ink);margin:0;}
.ar__grid p{margin:14px 0 0;font-size:clamp(16px,1.1vw,17.5px);line-height:1.6;color:var(--muted);max-width:34ch;}
@media (max-width:900px){
  .ar__grid{grid-template-columns:1fr;}
  .ar__ic{margin-bottom:28px;}
  .ar__grid p{max-width:none;}
}

/* ---- Trust built into GovPay ---- */
#trust{padding:clamp(64px,7vw,104px) 0;background:radial-gradient(42% 46% at 96% 4%,rgba(108,64,161,.05),transparent 62%),var(--g-025);}
.tr__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:center;}
.tr__copy .eyebrow{margin-bottom:20px;}
.tr__copy .h2{font-size:clamp(32px,3.4vw,42px);color:var(--ink);max-width:none;text-wrap:balance;}
.tr__p{margin:22px 0 0;font-size:clamp(16.5px,1.15vw,18.5px);line-height:1.6;color:var(--muted);max-width:50ch;}
.tr__p+.tr__p{margin-top:16px;}
.tr__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.tr__item{display:flex;align-items:center;gap:14px;padding:18px 18px;border:1px solid var(--color-e3dcf0);border-radius:14px;background:var(--color-fff);transition:border-color 220ms var(--ease),box-shadow 220ms var(--ease),transform 220ms var(--ease);}
.tr__item:hover{border-color:var(--g-200);box-shadow:var(--shadow);transform:translateY(-2px);}
.tr__ic{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;background:var(--g-100);color:var(--green-ink);}
.tr__ic svg{width:22px;height:22px;}
.tr__item b{font-size:16px;font-weight:700;line-height:1.3;color:var(--ink);}
.tr__soc{grid-column:1 / -1;border-color:transparent;background:linear-gradient(145deg,var(--color-4a2b78),var(--color-2b1745));}
.tr__soc .tr__ic{background:rgba(255,255,255,.14);color:var(--color-fff);}
.tr__soc b{color:var(--color-fff);}
.tr__soc:hover{border-color:transparent;}
.tr__note{display:flex;align-items:flex-start;gap:12px;margin:clamp(36px,4vw,56px) 0 0;padding:16px 20px;border:1px solid var(--color-e3dcf0);border-radius:12px;background:var(--color-fff);font-size:14.5px;line-height:1.55;color:var(--muted);}
.tr__note svg{flex:none;width:20px;height:20px;margin-top:1px;color:var(--green-ink);}
@media (max-width:900px){
  .tr__grid{grid-template-columns:1fr;}
  .tr__copy .h2{max-width:none;}
}
@media (max-width:480px){
  .tr__list{grid-template-columns:1fr;}
}

/* ---- Closing CTA ---- */
.ab-cta{position:relative;overflow:hidden;isolation:isolate;text-align:center;padding:clamp(72px,9vw,128px) 0;background:radial-gradient(58% 65% at 84% 6%,rgba(108,64,161,.42),transparent 62%),radial-gradient(52% 60% at 12% 96%,rgba(209,196,226,.14),transparent 64%),linear-gradient(180deg,var(--color-2b1842) 0%,var(--color-261638) 55%,var(--color-190e28) 100%);}
.ab-cta::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(rgba(255,255,255,.085) 1px,transparent 1.3px) 0 0/26px 26px;-webkit-mask-image:radial-gradient(70% 90% at 30% 10%,var(--color-000),transparent 75%);mask-image:radial-gradient(70% 90% at 30% 10%,var(--color-000),transparent 75%);}
.ab-cta::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAzIiBoZWlnaHQ9IjkwNCIgdmlld0JveD0iMCAwIDQwMyA5MDQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgb3BhY2l0eT0iMC4yMiI+PHBhdGggZD0iTTQ3Ny4yMjEgNjQ1LjYzNEwwLjMxMyAzMjIuODE3VjU4MC4zOTVMNDc3LjIyMSA5MDMuMjEyVjY0NS42MzRaIiBmaWxsPSIjRDFDNEUyIi8+PHBhdGggZD0iTTQ3Ny4yMjEgMjU3LjU3OEwwLjMxMyA1ODAuMzk1VjMyMi44MTdMNDc3LjIyMSAwVjI1Ny41NzhaIiBmaWxsPSJ1cmwoI2cpIi8+PC9nPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iZyIgeDE9IjIzOC44IiB5MT0iNTgwLjQiIHgyPSIyMzguOCIgeTI9IjAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjNkM0MEExIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRDFDNEUyIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PC9zdmc+") no-repeat right center/auto 80%;}
.ab-cta .h2{margin:0 auto;max-width:none;color:var(--color-fff);font-size:clamp(34px,4vw,56px);line-height:1.06;letter-spacing:-0.022em;text-wrap:balance;}
.ab-cta__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:clamp(28px,3.4vw,40px);}
.ab-cta__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 30px;border-radius:999px;font-size:16px;font-weight:700;text-decoration:none;transition:transform 200ms var(--ease),background 200ms var(--ease),box-shadow 200ms var(--ease);}
.ab-cta__btn svg{width:16px;height:16px;transition:transform 260ms var(--ease);}
.ab-cta__btn--solid{background:var(--color-fff);color:var(--color-412661);box-shadow:0 14px 30px -14px rgba(0,0,0,.55);}
.ab-cta__btn--solid:hover{background:var(--g-025);transform:translateY(-1px);}
.ab-cta__btn--solid:hover svg{transform:translateX(3px);}
.ab-cta__btn--ghost{border:1.5px solid rgba(255,255,255,.55);color:var(--color-fff);background:transparent;}
.ab-cta__btn--ghost:hover{background:rgba(255,255,255,.1);border-color:var(--color-fff);}
.ab-cta :focus-visible{outline-color:var(--color-fff);}
@media (max-width:560px){.ab-cta__btns{flex-direction:column;align-items:center;}.ab-cta__btn{width:100%;max-width:340px;}.ab-cta::after{background-size:auto 50%;opacity:.6;}}

/* ---- About hero: GovPay logo in hub ---- */
.ab-hub{width:124px;height:124px;margin-top:42px;background:var(--color-fff) !important;color:inherit;border:1px solid var(--color-e3dcf0);box-shadow:0 14px 34px -14px rgba(82,48,138,.4) !important;gap:0;}
.ab-hub img{display:block;width:92px;height:auto;max-width:none;}
.ab-ring{inset:-12px;border-color:rgba(108,64,161,.28);background:rgba(108,64,161,.07);}
@media (max-width:480px){
  .ab-hub{width:92px;height:92px;margin-top:58px;}
  .ab-hub img{width:68px;}
  .ab-ring{inset:-8px;}
}


/* ---- About hero: copy left, hero image right ---- */
.gp-ab{display:flex;align-items:center;min-height:clamp(540px,46vw,700px);padding-block:clamp(48px,5vw,88px);}
.gp-ab::before{display:none !important;}
.gp-ab>.wrap{position:relative;z-index:2;}
.gp-ab .gp-ah__grid{display:block !important;}
.gp-ab .gp-ah__txt{max-width:min(600px,54%);text-align:left;}
.gp-ab .eyebrow--brand{justify-content:flex-start;}
.gp-ab h1{max-width:none;white-space:normal;font-size:clamp(36px,4.3vw,62px);line-height:1.06;text-wrap:balance;}
.gp-ab .gp-ah__lead{margin:24px 0 0;max-width:42ch;text-wrap:pretty;}
.gp-ab__img{position:absolute;right:0;top:0;height:100%;width:auto;max-width:none;aspect-ratio:594/907;z-index:1;pointer-events:none;user-select:none;}
@media (max-width:900px){
  .gp-ab{flex-direction:column;align-items:stretch;min-height:0;padding-bottom:0;}
  .gp-ab .gp-ah__txt{max-width:none;}
  .gp-ab__img{position:relative;right:auto;top:auto;height:auto;width:min(84%,400px);margin:clamp(28px,6vw,44px) 0 0 auto;}
}

/* ---- About hero lead: two lines ---- */
@media (min-width:640px) and (max-width:900px){
  .gp-ab .gp-ah__lead{max-width:none;}
  .gp-ab .gp-ah__lead .ln{display:block;white-space:nowrap;}
}
@media (min-width:1024px){
  .gp-ab .gp-ah__txt{max-width:min(760px,58%);}
  .gp-ab .gp-ah__lead{max-width:none;}
  .gp-ab .gp-ah__lead .ln{display:block;white-space:nowrap;}
}

/* ---- Tax year: illustration ---- */
.tyear__vis .ty-illu{margin:0;background:var(--color-fff);border:1px solid var(--color-e3dcf0);border-radius:20px;padding:clamp(14px,2vw,28px);box-shadow:0 18px 50px -26px rgba(60,30,100,.25);}
.tyear__vis .ty-illu img{display:block;width:100%;height:auto;}

.tyear__vis .ty-illu svg{display:block;width:100%;height:auto;}
.tyear__vis .ty-illu{padding:clamp(14px,2vw,26px);}

/* ---- Tax year: text only, centered ---- */
.tyear__grid{grid-template-columns:1fr !important;justify-items:center;}
.tyear__copy{max-width:780px;text-align:center;margin-inline:auto;}
.tyear__copy .eyebrow{display:inline-flex;justify-content:center;}
.tyear__copy .h2{max-width:none;margin-inline:auto;}
.tyear__copy .tyear__p{max-width:68ch;margin-left:auto;margin-right:auto;text-wrap:balance;}
@media (min-width:760px){.tyear__copy .h2{white-space:nowrap;}}


/* ---- Built for the whole tax year (redesign) ---- */
#tax-year{padding:clamp(60px,6.5vw,104px) 0;background:linear-gradient(180deg,var(--color-fbfafd) 0%,var(--color-f4f0fa) 100%);}
#tax-year em{font-style:italic;color:var(--green-ink);}
#tax-year .ty2-head{text-align:center;margin:0 auto clamp(32px,4vw,52px);}
#tax-year .ty2-head .eyebrow{display:inline-flex;justify-content:center;margin:0 0 18px;}
#tax-year .ty2-head .h2{font-size:clamp(34px,3.9vw,54px);line-height:1.06;color:var(--ink);max-width:none;margin:0 auto;}
@media (min-width:760px){#tax-year .ty2-head .h2{white-space:nowrap;}}
#tax-year .ty2-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,32px);}
#tax-year .ty2-st{position:relative;display:flex;flex-direction:column;}
#tax-year .ty2-rail{display:flex;align-items:center;gap:14px;margin:0 0 16px;}
#tax-year .ty2-num{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--green-ink);color:var(--color-fff);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:700;letter-spacing:.04em;box-shadow:0 0 0 6px rgba(108,64,161,.12);}
#tax-year .ty2-when{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-4a4560);white-space:nowrap;}
#tax-year .ty2-st:not(:last-child) .ty2-rail::after{content:"";flex:1;height:1.5px;margin-left:6px;background:linear-gradient(90deg,var(--color-b9a3e0),var(--color-d9cdf0));}
#tax-year .ty2-card{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(36px,4vw,60px);min-height:200px;padding:clamp(22px,2.2vw,30px);border:1px solid var(--color-e3dcf0);border-radius:20px;background:var(--color-fff);box-shadow:0 18px 40px -30px rgba(60,30,100,.35);transition:transform 220ms var(--ease),box-shadow 220ms var(--ease),border-color 220ms var(--ease);}
#tax-year .ty2-card:hover{transform:translateY(-3px);border-color:var(--g-200);box-shadow:0 24px 44px -28px rgba(60,30,100,.4);}
#tax-year .ty2-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--g-100);color:var(--green-ink);}
#tax-year .ty2-ic svg{width:26px;height:26px;}
#tax-year .ty2-card p{margin:0;font-family:var(--serif);font-size:clamp(24px,2.3vw,32px);line-height:1.14;letter-spacing:-.015em;color:var(--ink);text-wrap:balance;}
#tax-year .ty2-year{margin-top:clamp(16px,2vw,28px);padding:clamp(24px,2.6vw,36px) clamp(22px,3vw,44px);border-radius:22px;background:linear-gradient(135deg,var(--color-ece5f8) 0%,var(--color-e3d9f5) 100%);border:1px solid var(--color-dccff1);}
#tax-year .ty2-yt{display:flex;align-items:center;gap:clamp(16px,2vw,26px);}
#tax-year .ty2-yic{display:grid;place-items:center;flex:none;width:60px;height:60px;border-radius:50%;background:var(--color-fff);color:var(--green-ink);box-shadow:0 10px 24px -14px rgba(60,30,100,.5);}
#tax-year .ty2-yic svg{width:30px;height:30px;}
#tax-year .ty2-ylb{display:block;font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-4a4560);margin-bottom:6px;}
#tax-year .ty2-year p{margin:0;font-family:var(--serif);font-size:clamp(24px,2.5vw,34px);line-height:1.14;letter-spacing:-.015em;color:var(--ink);}
#tax-year .ty2-dots{position:relative;display:flex;justify-content:space-between;align-items:center;margin-top:clamp(22px,2.4vw,30px);padding:0 4px;}
#tax-year .ty2-dots::before{content:"";position:absolute;left:0;right:10px;top:50%;height:1.5px;background:var(--green-ink);opacity:.55;}
#tax-year .ty2-dots::after{content:"";position:absolute;right:2px;top:50%;width:9px;height:9px;border-top:1.5px solid var(--green-ink);border-right:1.5px solid var(--green-ink);transform:translateY(-50%) rotate(45deg);opacity:.7;}
#tax-year .ty2-dots i{position:relative;z-index:1;width:12px;height:12px;border-radius:50%;background:var(--color-fff);border:2px solid var(--green-ink);}
#tax-year .ty2-close{margin-top:clamp(16px,2vw,28px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(26px,3vw,44px) clamp(24px,3.4vw,52px);border-radius:24px;color:var(--color-fff);background:radial-gradient(48% 90% at 0% 0%,rgba(140,96,200,.3),transparent 66%),linear-gradient(180deg,var(--color-2b1745) 0%,var(--color-1f1033) 100%);}
#tax-year .ty2-cp{margin:0;font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--color-e3d9f2);max-width:46ch;}
#tax-year .ty2-flow{display:flex;align-items:flex-start;justify-content:flex-end;gap:clamp(8px,1.2vw,16px);}
#tax-year .ty2-flow ol{list-style:none;margin:0;padding:0;display:flex;align-items:flex-start;}
#tax-year .ty2-flow ol li{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:var(--color-fff);}
#tax-year .ty2-fic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:var(--color-fff);}
#tax-year .ty2-fic svg{width:26px;height:26px;}
#tax-year .ty2-fic--rec{background:var(--color-fff);color:var(--green-ink);border-color:var(--color-fff);border-radius:16px;}
#tax-year .ty2-ar{display:block;width:26px;margin:22px clamp(6px,1vw,14px) 0;color:var(--color-cdbfe3);flex:none;}
#tax-year .ty2-ar svg{display:block;width:26px;height:12px;}
#tax-year .ty2-to{display:block;width:clamp(14px,2vw,28px);height:1.5px;background:var(--color-cdbfe3);margin-top:-22px;flex:none;}
#tax-year .ty2-rec{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:var(--color-fff);}
@media (max-width:1140px){
  #tax-year .ty2-close{grid-template-columns:1fr;gap:28px;}
  #tax-year .ty2-cp{max-width:60ch;}
  #tax-year .ty2-flow{justify-content:flex-start;}
  #tax-year .ty2-rec span:last-child{white-space:nowrap;}
}
@media (max-width:820px){
  #tax-year .ty2-stages{grid-template-columns:1fr;gap:22px;}
  #tax-year .ty2-st:not(:last-child) .ty2-rail::after{display:none;}
  #tax-year .ty2-card{min-height:0;gap:28px;}
  #tax-year .ty2-yt{align-items:flex-start;}
}
@media (max-width:620px){
  #tax-year .ty2-flow{flex-wrap:wrap;row-gap:18px;}
  #tax-year .ty2-flow ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;}
  #tax-year .ty2-flow .ty2-ar,#tax-year .ty2-to{display:none;}
  #tax-year .ty2-flow ol li{width:auto;font-size:13px;}
  #tax-year .ty2-fic{width:50px;height:50px;}
  #tax-year .ty2-rec{width:100%;flex-direction:row;justify-content:center;gap:12px;}
  #tax-year .ty2-dots i{width:9px;height:9px;}
}

/* ---- Built by Zenwork: GovPay logo badge ---- */
.bb__badge{background:var(--color-fff) !important;border:0 !important;gap:16px !important;padding:12px 22px 12px 18px !important;box-shadow:0 14px 34px -18px rgba(0,0,0,.6);}
.bb__logo{display:block;height:38px;width:auto;max-width:none;}
.bb__tag{padding-left:16px;border-left:1px solid var(--color-dcd3ec);font-size:11.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-4a4560);white-space:nowrap;}
@media (max-width:420px){.bb__badge{gap:12px !important;padding:10px 16px 10px 14px !important;}.bb__logo{height:32px;}.bb__tag{padding-left:12px;font-size:10.5px;letter-spacing:.12em;}}

/* ===== GovPay footer: light two-tier with cards ===== */
footer.fbx{color:var(--color-2b2536);background:var(--color-fbfafd);border-top:1px solid var(--color-e3dcf0);font-family:var(--sans);}
footer.fbx a{color:inherit;text-decoration:none;}
footer.fbx ul{list-style:none;margin:0;padding:0;}
footer.fbx .fbx__in{padding:clamp(36px,4vw,60px) 0 24px;}
footer.fbx .fbx__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(28px,4.4vw,72px);align-items:start;}
footer.fbx .fbx-lg{display:inline-block;}
footer.fbx .fbx-lg img{display:block;height:46px;width:auto;}
footer.fbx .fbx-co{margin:16px 0 8px;font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.2;color:var(--ink);}
footer.fbx .fbx-ad{display:flex;gap:10px;align-items:flex-start;margin:0 0 8px;font-size:15px;line-height:1.45;color:var(--color-3c3750);}
footer.fbx .fbx-ad svg{flex:none;width:17px;height:17px;margin-top:2px;color:var(--green-ink);}
footer.fbx .fbx-soc{display:flex;gap:10px;margin-top:16px;}
footer.fbx .fbx-soc a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--color-fff);border:1px solid var(--color-e3dcf0);color:var(--color-513079);font-weight:700;font-size:14px;transition:background .2s,color .2s;}
footer.fbx .fbx-soc a:hover{background:var(--green-ink);color:var(--color-fff);}
footer.fbx .fbx__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);}
footer.fbx .fbx-h{margin:0 0 14px;font-family:var(--sans);font-size:12.5px;font-weight:700;line-height:1.3;letter-spacing:.15em;text-transform:uppercase;color:var(--color-513079);}
footer.fbx .fbx-links{display:grid;gap:10px;}
footer.fbx .fbx-links a{font-size:15.5px;line-height:1.35;color:var(--color-2b2536);transition:color .2s;}
footer.fbx .fbx-links a:hover{color:var(--green-ink);}
footer.fbx .fbx__cards{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:clamp(28px,3.2vw,44px);}
footer.fbx .fbx-card{display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(20px,2vw,28px);border-radius:20px;background:var(--color-efeaf8);border:1px solid var(--color-ded5f0);}
footer.fbx .fbx-card--prod{grid-column:span 7;}footer.fbx .fbx-card--cert{grid-column:span 5;}
footer.fbx .fbx-card .fbx-h{margin-bottom:14px;}
footer.fbx .fbx-card--prod ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
footer.fbx .fbx-pill{display:grid;place-items:center;height:56px;padding:0 10px;border-radius:12px;background:var(--color-fff);border:1px solid var(--color-e3dcf0);}
footer.fbx .fbx-pill img{display:block;max-width:100%;width:auto;}
footer.fbx .fbx-badges{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:auto 0;}
footer.fbx .fbx-badges li{flex:1 1 0;min-width:0;display:flex;}
footer.fbx .fbx-badges img{display:block;width:100%;max-height:44px;height:auto;object-fit:contain;border-radius:8px;}
footer.fbx .fbx-bot{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;margin-top:22px;padding-top:18px;border-top:1px solid var(--color-d9d0ea);font-size:13.5px;color:var(--color-5b5668);}
footer.fbx .fbx-bot i{font-style:normal;opacity:.5;margin:0 4px;}
@media (max-width:1000px){
  footer.fbx .fbx__top{grid-template-columns:1fr;}
  footer.fbx .fbx-card--prod,footer.fbx .fbx-card--cert{grid-column:span 12;}
}
@media (max-width:620px){
  footer.fbx .fbx__cols{grid-template-columns:1fr 1fr;}
  footer.fbx .fbx__cols>*:last-child{grid-column:1 / -1;}
  footer.fbx .fbx-card--prod ul{grid-template-columns:repeat(2,minmax(0,1fr));}
  footer.fbx .fbx-card--prod li:last-child{grid-column:1 / -1;}
  footer.fbx .fbx-badges{flex-wrap:wrap;justify-content:center;gap:10px 14px;}
  footer.fbx .fbx-badges li{flex:0 0 auto;}
  footer.fbx .fbx-badges img{width:auto;height:40px;}
  footer.fbx .fbx-bot{flex-direction:column;}
}

/* ---- Footer: same background as the original footer ---- */
footer.fbx{background:linear-gradient(180deg,var(--color-f9f7fc) 0%,var(--color-efeaf6) 100%);border-top:1px solid rgba(108,64,161,.16);}
footer.fbx .fbx-card{background:rgba(108,64,161,.07);border:1px solid rgba(108,64,161,.14);}
footer.fbx .fbx-soc a{background:rgba(108,64,161,.1);border:1px solid rgba(108,64,161,.18);}
footer.fbx .fbx-bot{border-top-color:rgba(108,64,161,.2);}

/* ---- Built for the whole tax year: split header ---- */
#tax-year .ty2-head--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,5vw,88px);align-items:center;text-align:left;max-width:none;margin:0 0 clamp(30px,3.6vw,48px);}
#tax-year .ty2-head--split .h2{margin:0;font-size:clamp(38px,4.4vw,62px);line-height:1.04;letter-spacing:-.025em;color:var(--ink);white-space:normal;}
#tax-year .ty2-head--split .h2 .ln{display:block;}
@media (min-width:760px){#tax-year .ty2-head--split .h2{white-space:normal;}#tax-year .ty2-head--split .h2 .ln{white-space:nowrap;}}
#tax-year .ty2-sub{margin:0 0 14px;font-family:var(--sans);font-size:clamp(17px,1.4vw,20px);font-weight:700;line-height:1.3;color:var(--color-16121f);}
#tax-year .ty2-lead{margin:0;max-width:58ch;font-size:clamp(16px,1.25vw,18px);line-height:1.65;color:var(--muted);}
@media (max-width:820px){
  #tax-year .ty2-head--split{grid-template-columns:1fr;gap:20px;align-items:start;}
}

#tax-year .ty2-head--split .h2{font-size:clamp(38px,4.4vw,62px) !important;}
@media (max-width:820px){#tax-year .ty2-head--split .h2{font-size:clamp(34px,8.6vw,44px) !important;}}

/* ---- Tax year: header then the workflow panel (no stage cards / year band) ---- */
#tax-year .ty2-close{margin-top:0;}

/* ---- Built by Zenwork: GovPay logo (white wordmark) directly on the dark band ---- */
.bb__badge{background:transparent !important;border:0 !important;padding:0 !important;box-shadow:none !important;gap:0 !important;border-radius:0 !important;}
.bb__logo{height:clamp(52px,5vw,68px);width:auto;max-width:none;display:block;}
@media (max-width:420px){.bb__logo{height:48px;}}

/* ======== Contact page ======== */
.ct-hero{position:relative;overflow:hidden;padding:clamp(48px,6vw,96px) 0 clamp(56px,6vw,96px);background:radial-gradient(52% 70% at 8% 0%,rgba(209,196,226,.5),transparent 68%),radial-gradient(46% 60% at 100% 100%,rgba(209,196,226,.3),transparent 70%),var(--color-fbfafd);}
.ct-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);grid-template-areas:"head form" "illu form";column-gap:clamp(32px,6vw,96px);row-gap:clamp(20px,3vw,40px);align-items:start;}
.ct-head{grid-area:head;}
.ct-head .eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 22px;}
.ct-head h1{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.4vw,62px);line-height:1.06;letter-spacing:-.025em;color:var(--ink);text-wrap:balance;}
.ct-formcol{grid-area:form;}
.ct-illu{grid-area:illu;align-self:end;}
.ct-illu img{display:block;width:min(100%,520px);height:auto;margin:0 auto 0 0;}
.ct-card{background:var(--color-fff);border:1px solid var(--color-e3dcf0);border-radius:22px;padding:clamp(22px,2.6vw,36px);box-shadow:0 30px 70px -44px rgba(60,30,100,.4);}
.cf-form.hide{display:none;}
.cf-field{margin:0 0 18px;}
.cf-label{display:block;margin:0 0 8px;font-size:14px;font-weight:700;color:var(--color-16121f);}
.cf-label .req{color:var(--green-ink);margin-left:2px;}
.cf-input,.cf-textarea{display:block;width:100%;box-sizing:border-box;font:400 16px/1.4 var(--sans);color:var(--color-16121f);background:var(--color-fff);border:1px solid var(--color-d9d3e6);border-radius:12px;padding:0 16px;height:50px;transition:border-color .2s,box-shadow .2s;}
.cf-textarea{height:auto;min-height:112px;padding:14px 16px;resize:vertical;}
.cf-input::placeholder,.cf-textarea::placeholder{color:var(--color-9a94ab);}
.cf-input:focus,.cf-textarea:focus{outline:0;border-color:var(--green-ink);box-shadow:0 0 0 4px rgba(108,64,161,.14);}
.cf-input[aria-invalid="true"]{border-color:var(--color-c0262d);box-shadow:0 0 0 4px rgba(192,38,45,.1);}
.cf-error{display:none;align-items:center;gap:7px;margin-top:7px;font-size:13px;font-weight:600;color:var(--color-b42318);}
.cf-error svg{width:15px;height:15px;flex:none;}
.cf-error.show{display:flex;}
.cf-error--form{margin:0 0 14px;}
.cf-privacy{margin:4px 0 16px;font-size:13px;line-height:1.6;color:var(--color-5f5a72);}
.cf-check{position:relative;display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-size:15px;color:var(--color-16121f);}
.cf-check input{position:absolute;opacity:0;width:22px;height:22px;margin:0;cursor:pointer;}
.cf-check__box{display:grid;place-items:center;width:22px;height:22px;border:1.5px solid var(--color-bdb5d0);border-radius:6px;background:var(--color-fff);color:var(--color-fff);transition:background .2s,border-color .2s;}
.cf-check__box svg{width:14px;height:14px;opacity:0;}
.cf-check input:checked+.cf-check__box{background:var(--green-ink);border-color:var(--green-ink);}
.cf-check input:checked+.cf-check__box svg{opacity:1;}
.cf-check input:focus-visible+.cf-check__box{box-shadow:0 0 0 4px rgba(108,64,161,.2);}
.cf-agree-err,#cf-agree-err{margin-top:8px;}
.cf-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:56px;margin-top:22px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--color-6c40a1),var(--color-513079));color:var(--color-fff);font:700 16px/1 var(--sans);cursor:pointer;box-shadow:0 16px 30px -16px rgba(81,48,121,.75);transition:transform .2s,box-shadow .2s;}
.cf-submit:hover{transform:translateY(-1px);box-shadow:0 20px 34px -16px rgba(81,48,121,.85);}
.cf-submit svg{width:18px;height:18px;}
.cf-success{display:none;text-align:center;padding:clamp(28px,4vw,56px) 12px;}
.cf-success.show{display:block;}
.cf-success__icon{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 18px;border-radius:50%;background:var(--color-ede7f6);color:var(--green-ink);}
.cf-success__icon svg{width:28px;height:28px;}
.cf-success h3{margin:0 0 8px;font-family:var(--serif);font-weight:400;font-size:30px;color:var(--ink);}
.cf-success p{margin:0 auto;max-width:34ch;font-size:16.5px;line-height:1.6;color:var(--color-5f5a72);}
.ct-routes{padding:clamp(56px,6vw,96px) 0;background:var(--color-fff);border-top:1px solid var(--color-efeaf7);}
.ct-routes__head{margin-bottom:clamp(30px,4vw,52px);}
.ct-routes__head .eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 16px;}
.ct-routes__head .h2{margin:0;font-size:clamp(32px,3.6vw,48px);color:var(--ink);}
.ct-routes__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.ct-route{padding:0 clamp(20px,3vw,48px);border-left:1px solid var(--color-e3dcf0);}
.ct-route:first-child{padding-left:0;border-left:0;}
.ct-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--color-ede7f6);color:var(--green-ink);margin-bottom:22px;}
.ct-ic svg{width:24px;height:24px;}
.ct-route h3{margin:0 0 16px;font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.2vw,30px);color:var(--ink);}
.ct-g{margin:0 0 16px;}
.ct-g p{margin:0 0 4px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-6a657c);}
.ct-g a{display:inline-flex;align-items:center;gap:6px;font-size:17px;font-weight:700;color:var(--green-ink);text-decoration:none;border-bottom:1.5px solid rgba(108,64,161,.3);}
.ct-g a:hover{border-bottom-color:var(--green-ink);}
.ct-g a svg{width:15px;height:15px;}
.ct-addr{margin:0 0 14px;font-size:17px;line-height:1.6;color:var(--color-2b2536);}
@media (max-width:900px){
  .ct-hero__grid{grid-template-columns:1fr;grid-template-areas:"head" "form" "illu";}
  .ct-illu img{width:min(80%,420px);margin:0 auto;}
  .ct-routes__grid{grid-template-columns:1fr;row-gap:36px;}
  .ct-route,.ct-route:first-child{padding:0;border-left:0;}
}

/* ---- Contact form: two-column rows and solutions checkboxes ---- */
@media (min-width:901px){.ct-hero__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);}}
.cf-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;}
.cf-sol{border:0;margin:0 0 18px;padding:0;min-width:0;}
.cf-sol .cf-label{padding:0;margin:0 0 12px;font-weight:600;}
.cf-sol__opts{display:flex;flex-wrap:wrap;gap:12px 28px;}
.cf-check__label{line-height:1.4;}
.cf-check--consent{display:flex;align-items:flex-start;}
.cf-check--consent .cf-check__box{margin-top:1px;flex:none;}
.cf-check--consent .cf-check__label{font-size:15px;}
.cf-check input{top:0;left:0;}
@media (max-width:560px){.cf-row{grid-template-columns:1fr;}}

/* ---- Contact form: annual payment volume (radio group) ---- */
.cf-vol__opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;}
.cf-radio{position:relative;display:flex;align-items:center;gap:11px;cursor:pointer;font-size:15px;color:var(--color-16121f);line-height:1.3;}
.cf-radio input{position:absolute;opacity:0;width:22px;height:22px;margin:0;top:0;left:0;cursor:pointer;}
.cf-radio__dot{flex:none;display:grid;place-items:center;width:22px;height:22px;border:1.5px solid var(--color-bdb5d0);border-radius:50%;background:var(--color-fff);transition:border-color .2s,background .2s;}
.cf-radio__dot::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--green-ink);transform:scale(0);transition:transform .15s;}
.cf-radio input:checked+.cf-radio__dot{border-color:var(--green-ink);}
.cf-radio input:checked+.cf-radio__dot::after{transform:scale(1);}
.cf-radio input:focus-visible+.cf-radio__dot{box-shadow:0 0 0 4px rgba(108,64,161,.2);}
@media (max-width:520px){.cf-vol__opts{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* ======== Contact form: accessibility refinements ======== */
.cf-input::placeholder,.cf-textarea::placeholder{color:#6A657C;opacity:1;}
.cf-input,.cf-textarea{border-color:#857C9C;}
.cf-check__box,.cf-radio__dot{border-color:#857C9C;}
.cf-check input:focus-visible+.cf-check__box,.cf-radio input:focus-visible+.cf-radio__dot{outline:3px solid #513079;outline-offset:2px;box-shadow:0 0 0 2px #fff;}
.cf-note{margin:0 0 18px;font:500 14px/1.4 var(--sans);color:#565656;}
.cf-hint{display:block;margin-top:6px;font:400 13.5px/1.4 var(--sans);color:#565656;}
.cf-opt{font-weight:400;color:#565656;margin-left:6px;}
.cf-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.cf-submit[aria-busy="true"]{opacity:.85;cursor:progress;}
