/* FinSync Analytics — shared styles */
:root{
  --ink:#10222A;
  --paper:#F4F7F6;
  --card:#FFFFFF;
  --pine:#0B4F4A;
  --pine-deep:#083B37;
  --amber:#F0A202;
  --line:#D3DDDB;
  --muted:#4D6068;
  --c-data:#2F6FDE;
  --c-bi:#F0A202;
  --c-fin:#12A07F;
  --radius:10px;
  --wrap:1120px;
  --display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --body:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;
  --figures:"IBM Plex Mono",ui-monospace,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--body);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:var(--pine);text-underline-offset:3px}
a:hover{color:var(--pine-deep)}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:4px}
.wrap{width:min(var(--wrap),100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:50}
.skip:focus{left:0}

h1,h2,h3{font-family:var(--display);line-height:1.08;letter-spacing:-.02em;margin:0 0 .6em;font-weight:700}
h1{font-size:clamp(2.4rem,5.2vw,4rem);font-weight:800}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
h3{font-size:1.3rem;letter-spacing:-.01em}
p{margin:0 0 1em;max-width:62ch}
.lede{font-size:1.2rem;color:var(--muted);max-width:56ch}

/* header */
.site-header{position:sticky;top:0;z-index:20;background:rgba(244,247,246,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:1rem}
.brand{font:800 1.3rem/1 var(--display);letter-spacing:-.03em;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.55rem}
.nav{display:flex;align-items:center;gap:1.75rem}
.nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.98rem;padding:.35rem 0;border-bottom:2px solid transparent}
.nav a:hover{border-bottom-color:var(--line)}
.nav a[aria-current="page"]{border-bottom-color:var(--amber)}
.nav a.btn{border:0;padding:.65rem 1.1rem;background:var(--amber);color:var(--ink);font-weight:700}
.nav a.btn:hover{background:#ffbb2e;color:var(--ink)}
.nav a.btn::after{content:none}
.nav a.btn[aria-current="page"]{box-shadow:inset 0 -3px 0 rgba(16,34,42,.4)}   /* current page: persistent bar, separate from the hover lift and glow */
body:not(.home-page,.services-page) .site-header :is(a,button):focus-visible{outline-color:var(--pine)}   /* amber ring is too faint on the light header */
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:.5rem .8rem;font:600 .95rem var(--body);color:var(--ink);cursor:pointer}

/* buttons */
.btn{display:inline-block;background:var(--pine);color:#fff;text-decoration:none;font-weight:600;padding:.85rem 1.4rem;border-radius:8px;border:2px solid var(--pine);cursor:pointer;font-family:var(--body);font-size:1rem;transition:background .15s,color .15s}
.btn:hover{background:var(--pine-deep);color:#fff;border-color:var(--pine-deep)}
.btn.ghost{background:transparent;color:var(--pine)}
.btn.ghost:hover{background:var(--pine);color:#fff}
.btn.on-dark{background:var(--amber);border-color:var(--amber);color:var(--ink)}
.btn.on-dark:hover{background:#ffbb2e;border-color:#ffbb2e;color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}

section{padding:clamp(3.5rem,8vw,6rem) 0}


.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}



/* inner pages */
.page-head{padding:clamp(3rem,7vw,5rem) 0 clamp(1.5rem,3vw,2.5rem)}
.page-head h1{font-size:clamp(2.2rem,4.6vw,3.4rem);max-width:18ch}


.prose p{max-width:64ch}
.facts{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.facts li{display:flex;justify-content:space-between;gap:1.5rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.facts span:first-child{color:var(--muted)}
.facts span:last-child{font-weight:600;text-align:right}
.stack{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1rem 0 0;padding:0}
.stack li{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.3rem .85rem;font-size:.92rem}

/* contact */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
form{display:grid;gap:1.1rem}
label{display:grid;gap:.35rem;font-weight:600;font-size:.95rem}
input,select,textarea{font:400 1rem var(--body);color:var(--ink);background:var(--card);border:1px solid #9FB0AE;border-radius:8px;padding:.8rem .9rem;width:100%}
input:focus,select:focus,textarea:focus{outline:3px solid var(--amber);outline-offset:1px;border-color:var(--ink)}
textarea{min-height:150px;resize:vertical}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.form-status{min-height:1.5rem;margin:0;font-weight:600}
.form-status.ok{color:var(--pine)}
.form-status.err{color:#B3261E}
#contact-form [aria-invalid="true"]{border-color:#B3261E;box-shadow:0 0 0 1px #B3261E}   /* a field the browser rejected, until it is edited */
#contact-form button[disabled]{opacity:.6;cursor:progress}
.aside-box{border-top:1px solid var(--ink);padding-top:1.2rem}
.aside-box dl{margin:0}
.aside-box dt{font-weight:600;margin-top:1.1rem}
.aside-box dd{margin:.1rem 0 0;color:var(--muted)}

/* footer */
.site-footer{padding:2.5rem 0;border-top:1px solid var(--line);font-size:.95rem;color:var(--muted)}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
.site-footer a{color:var(--muted)}
.site-footer p{margin:0;max-width:none}


@media (max-width:900px){
  .split,.contact-grid{grid-template-columns:1fr}
  .nav-toggle{display:inline-block}
  .nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:1rem 1.25rem 1.4rem;gap:1rem}
  .nav.open{display:flex}
  .row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}


.sec-head{max-width:60ch}
.sec-head h2{margin-bottom:.4rem}

/* scroll reveal (class added by script only) */
.rv{transition:opacity .6s ease,transform .6s ease}
.rv.pre{opacity:0;transform:translateY(18px)}

@media (prefers-reduced-motion:reduce){
  .rv{transition:none}
  .rv.pre{opacity:1;transform:none}
}


/* brand logo image */
.brand-logo{display:block;width:auto;height:54px}
@media (max-width:520px){.brand-logo{height:44px}}


/* ===================== design polish ===================== */
::selection{background:var(--amber);color:var(--ink)}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
h1,h2{letter-spacing:-.035em}
.sec-head h2{font-size:clamp(2rem,4vw,3rem)}

/* section kicker */
.kicker{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:.9rem;color:var(--pine);font:600 .78rem var(--body);letter-spacing:.12em;text-transform:uppercase}
.kicker::before{content:"";width:1.8rem;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--c-data),var(--c-bi),var(--c-fin))}

/* header depth once you scroll */
.site-header{transition:box-shadow .25s,background .25s}
.site-header.scrolled{box-shadow:0 12px 30px -20px rgba(16,34,42,.55)}

/* buttons */
.btn{border-radius:10px;box-shadow:0 8px 18px -12px rgba(8,59,55,.6);transition:transform .2s,box-shadow .2s,background .15s,color .15s,border-color .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 26px -12px rgba(8,59,55,.65)}
.btn.on-dark{box-shadow:0 12px 30px -10px rgba(240,162,2,.6)}
.btn.on-dark:hover{box-shadow:0 18px 38px -10px rgba(240,162,2,.85)}
.btn.ghost,.btn.ghost-light{box-shadow:none}
.btn.ghost-light{backdrop-filter:blur(4px)}
.btn.on-dark::after{content:"\2192";display:inline-block;margin-left:.55rem;transition:transform .2s}
.btn.on-dark:hover::after{transform:translateX(4px)}



/* footer hairline */
.site-footer{position:relative;border-top:0}
.site-footer::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--c-data),var(--c-bi),var(--c-fin))}

@media (prefers-reduced-motion:reduce){
  .btn,.site-header{transition:none}
  .btn:hover{transform:none}
}

/* ===================== HOME PAGE DESIGN TOKENS (scoped to body.home-page) =====================
   Nothing in this block applies to About, Services or Contact. The --hp-* names are the source of
   truth for the homepage redesign. The legacy names the shared rules read (--pine, --amber, --ink ...)
   are re-pointed at them below, so sections that have not been redesigned yet pick up the new palette. */
.home-page,.services-page{
  /* color */
  --hp-teal-900:#043B38;            /* deep teal: hero, header, closing band */
  --hp-teal-700:#075C55;            /* teal: links, secondary buttons, accents */
  --hp-teal-950:#032B29;            /* darkest teal: integration band under the hero */
  --hp-teal-100:#DCEBE8;            /* teal tint: icon tiles, chips on white */
  --hp-teal-50:#E6F1EF;             /* pale teal: credibility band */
  --hp-amber:#FFBD5A;               /* primary buttons and highlights, never body text */
  --hp-amber-hover:#FFCB7E;
  --hp-amber-ink:#8A5A00;           /* amber as text on light backgrounds (5.9:1 on white) */
  --hp-bg:#F2F7F6;                  /* pale teal section background */
  --hp-surface:#FFFFFF;             /* white panels and alternating sections */
  --hp-text:#122F33;
  --hp-text-muted:#46605F;          /* 6.3:1 on --hp-bg, 6.8:1 on white */
  --hp-line:#D3E0DE;
  --hp-on-dark:#FFFFFF;
  --hp-on-dark-muted:#C9DEDA;       /* 8.9:1 on --hp-teal-900 */
  --hp-line-on-dark:rgba(255,255,255,.18);
  --hp-focus:var(--hp-teal-700);    /* amber fails contrast on light surfaces, so dark surfaces re-set this */

  /* type */
  --hp-font:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --hp-fs-body:1.0625rem;           /* 17px */
  --hp-fs-lede:1.125rem;            /* 18px */
  --hp-fs-small:1rem;               /* 16px: smallest running text */
  --hp-fs-label:.875rem;            /* 14px: floor for uppercase labels, chips, captions */
  --hp-fs-h1:clamp(2.5rem,5.2vw,3.75rem);
  --hp-fs-h2:clamp(2rem,3.8vw,2.75rem);
  --hp-fs-h3:1.25rem;

  /* layout */
  --hp-wrap:1180px;
  --hp-gutter:1.25rem;
  --hp-gap:1.5rem;
  --hp-section-y:clamp(4rem,7vw,6rem);       /* primary sections */
  --hp-section-y-sm:clamp(3rem,6vw,4.5rem);   /* secondary sections: proof, process, founder, closing call to action */

  /* shape and depth */
  --hp-r-sm:8px;
  --hp-r-md:12px;
  --hp-r-lg:18px;
  --hp-r-pill:999px;
  --hp-shadow-sm:0 1px 2px rgba(18,47,51,.06),0 1px 1px rgba(18,47,51,.04);
  --hp-shadow-md:0 10px 28px -14px rgba(18,47,51,.20);
  --hp-shadow-lg:0 28px 56px -28px rgba(4,59,56,.32);

  /* legacy names read by the shared rules above */
  --pine:var(--hp-teal-700);
  --pine-deep:var(--hp-teal-900);
  --amber:var(--hp-amber);
  --ink:var(--hp-text);
  --paper:var(--hp-bg);
  --card:var(--hp-surface);
  --line:var(--hp-line);
  --muted:var(--hp-text-muted);
  --radius:var(--hp-r-md);
  --wrap:var(--hp-wrap);
  --display:var(--hp-font);
  --body:var(--hp-font);
  --figures:var(--hp-font);

  background:var(--hp-bg);
  color:var(--hp-text);
  font-variant-numeric:lining-nums;
}

/* focus ring: teal on light surfaces, amber on dark ones */
:is(.home-page,.services-page) :is(.site-header,.hero-dark,.hcta-sec,.hfoot){--hp-focus:var(--hp-amber)}
:is(.home-page,.services-page) .skip:focus-visible{outline-color:var(--hp-amber)}
:is(.home-page,.services-page) :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--hp-focus);outline-offset:3px}

/* ===================== HOME PAGE HEADER (scoped) ===================== */
.home-page,.services-page{--hp-header-h:76px}
html:has(body:is(.home-page,.services-page)){scroll-padding-top:5.5rem}   /* keyboard focus and anchor jumps clear the sticky header (76px + gap); a literal because the token lives on body */
@supports not selector(html:has(body)){:is(.home-page,.services-page) :is(#main,#dashboards,#solutions){scroll-margin-top:5.5rem}}

:is(.home-page,.services-page) .site-header{background:var(--hp-teal-900);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:none;transition:box-shadow .25s}
:is(.home-page,.services-page) .site-header.scrolled{box-shadow:0 10px 28px -18px rgba(0,0,0,.6)}
:is(.home-page,.services-page) .site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1.5rem;min-height:var(--hp-header-h)}   /* wraps instead of overflowing when text is enlarged */

/* wordmark: one size, heavy "FinSync" and lighter "Analytics" sharing a baseline */
:is(.home-page,.services-page,.inner-page) .brand-word{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.28em;padding-block:.7rem;color:#fff;font:800 1.375rem/1 var(--hp-font);letter-spacing:-.025em;white-space:nowrap;text-decoration:none}
:is(.home-page,.services-page,.inner-page) .brand-word span{font-weight:500;color:var(--hp-on-dark-muted);letter-spacing:-.01em}
:is(.home-page,.services-page,.inner-page) .brand-word:hover{color:#fff}

/* navigation: quiet links, one amber action */
:is(.home-page,.services-page) .nav{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 2rem}
:is(.home-page,.services-page) .nav a:not(.btn){position:relative;padding:.75rem 0;border:0;color:var(--hp-on-dark-muted);font:600 1rem/1.2 var(--hp-font);text-decoration:none;transition:color .2s}
:is(.home-page,.services-page) .nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:.45rem;height:2px;border-radius:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}
:is(.home-page,.services-page) .nav a:not(.btn):hover,:is(.home-page,.services-page) .nav a:not(.btn):focus-visible{color:#fff}
:is(.home-page,.services-page) .nav a:not(.btn):hover::after{transform:scaleX(1)}
:is(.home-page,.services-page) .nav a[aria-current="page"]:not(.btn){color:#fff}   /* current page: white text and a persistent amber bar; hover draws a white one */
:is(.home-page,.services-page) .nav a[aria-current="page"]:not(.btn)::after{transform:scaleX(1);background:var(--hp-amber)}
:is(.home-page,.services-page) .nav a.btn{display:inline-flex;align-items:center;min-height:44px;margin-left:.5rem;padding:.7rem 1.25rem;border:0;background:var(--hp-amber);color:var(--hp-text);font:700 1rem/1.2 var(--hp-font);box-shadow:none}
:is(.home-page,.services-page) .nav a.btn:hover{background:var(--hp-amber-hover);color:var(--hp-text);box-shadow:0 10px 24px -10px rgba(255,189,90,.7)}
:is(.home-page,.services-page) .nav a.btn::after{content:none}

:is(.home-page,.services-page,.inner-page) .nav-toggle{display:none;align-items:center;gap:.65rem;min-height:44px;padding:.45rem .95rem;background:transparent;border:1px solid rgba(255,255,255,.4);border-radius:var(--hp-r-sm);color:#fff;font:700 1rem/1 var(--hp-font);cursor:pointer;transition:background .2s,border-color .2s}
:is(.home-page,.services-page,.inner-page) .nav-toggle:hover{background:rgba(255,255,255,.1);border-color:#fff}
:is(.home-page,.services-page,.inner-page) .nav-bars,:is(.home-page,.services-page,.inner-page) .nav-bars::before,:is(.home-page,.services-page,.inner-page) .nav-bars::after{display:block;width:1.15rem;height:2px;border-radius:2px;background:currentColor;transition:transform .25s,opacity .2s,background .2s}
:is(.home-page,.services-page,.inner-page) .nav-bars{position:relative}
:is(.home-page,.services-page,.inner-page) .nav-bars::before,:is(.home-page,.services-page,.inner-page) .nav-bars::after{content:"";position:absolute;left:0}
:is(.home-page,.services-page,.inner-page) .nav-bars::before{top:-6px}
:is(.home-page,.services-page,.inner-page) .nav-bars::after{top:6px}
:is(.home-page,.services-page,.inner-page) .nav-toggle[aria-expanded="true"] .nav-bars{background:transparent}
:is(.home-page,.services-page,.inner-page) .nav-toggle[aria-expanded="true"] .nav-bars::before{transform:translateY(6px) rotate(45deg)}
:is(.home-page,.services-page,.inner-page) .nav-toggle[aria-expanded="true"] .nav-bars::after{transform:translateY(-6px) rotate(-45deg)}

/* ===================== HOME PAGE: HERO (scoped) ===================== */
/* Deep teal continues the header. One glow sits behind the dashboard and a faint grid fades out downwards. No motion. */
.home-page .hero-dark{position:relative;overflow:hidden;isolation:isolate;padding:clamp(3rem,6vw,5rem) 0 clamp(3.5rem,7vw,6rem);background:var(--hp-teal-900);color:var(--hp-on-dark)}
.home-page .hero-dark::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(760px 520px at 76% 52%,rgba(18,160,127,.30),transparent 70%)}
.home-page .hero-dark::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%)}

.home-page .hero-grid{display:grid;grid-template-columns:minmax(0,48fr) minmax(0,52fr);gap:clamp(2.5rem,4.5vw,4rem);align-items:center}
.home-page .hero-copy{min-width:0;container-type:inline-size}   /* the headline sizes itself to this column */
.home-page .hero-kicker{margin:0 0 1.5rem;max-width:none;color:var(--hp-amber);font:700 var(--hp-fs-label)/1.4 var(--hp-font);letter-spacing:.1em;text-transform:uppercase}
.home-page .hero-dark h1{margin:0 0 1.5rem;max-width:none;color:#fff;font-size:clamp(1.75rem,8.6cqi,3.25rem);line-height:1.1;letter-spacing:-.03em}   /* 8.6cqi sets the headline in about three lines at desktop width */
.home-page .hero-hl{color:var(--hp-amber)}
.home-page .hero-dark .lede{margin:0 0 1.25rem;max-width:56ch;color:var(--hp-on-dark-muted);font-size:var(--hp-fs-lede);line-height:1.6}

.home-page .hero-focus{margin:0 0 2.25rem;max-width:56ch;padding-left:1rem;border-left:3px solid var(--hp-amber);color:#fff;font:600 var(--hp-fs-small)/1.55 var(--hp-font)}
.home-page .hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.75rem}
.home-page .hero-link{padding-block:.6rem;color:#fff;font:700 1.0625rem/1.3 var(--hp-font);text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-decoration-thickness:2px;text-underline-offset:5px;transition:text-decoration-color .2s}
.home-page .hero-link::after{content:"\2192";display:inline-block;margin-left:.5rem;text-decoration:none}
.home-page .hero-link:hover{color:#fff;text-decoration-color:var(--hp-amber)}

.home-page .hero-assure{list-style:none;display:grid;gap:.5rem;margin:2rem 0 0;padding:1.25rem 0 0;border-top:1px solid var(--hp-line-on-dark)}
.home-page .hero-assure li{position:relative;padding-left:1.6rem;color:var(--hp-on-dark-muted);font:600 var(--hp-fs-small)/1.45 var(--hp-font)}
.home-page .hero-assure li::before{content:"";position:absolute;left:.15rem;top:.3em;width:.4rem;height:.75rem;border:solid var(--hp-amber);border-width:0 2px 2px 0;transform:rotate(45deg)}

/* dashboard preview: a white report surface with three KPIs and one actual-vs-budget chart, all from the Q3 sample data */
.home-page .hero-report{margin:0;min-width:0;padding:clamp(1.25rem,2.6vw,2rem);background:var(--hp-surface);border-radius:var(--hp-r-lg);box-shadow:0 32px 64px -28px rgba(0,0,0,.6);color:var(--hp-text);font-variant-numeric:tabular-nums}
.home-page .hr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.home-page .hr-title{margin:0;max-width:none;font:800 1.25rem/1.25 var(--hp-font);letter-spacing:-.01em}
.home-page .hr-period{margin:.2rem 0 0;max-width:none;color:var(--hp-text-muted);font-size:var(--hp-fs-small)}
.home-page .hr-badge{flex:none;padding:.3rem .8rem;border-radius:var(--hp-r-pill);background:#FFF1D6;border:1px solid #F0C06A;color:var(--hp-amber-ink);font:700 var(--hp-fs-label)/1.2 var(--hp-font)}

.home-page .hr-kpis{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.home-page .hr-kpis li{display:flex;flex-direction:column;gap:.2rem;min-width:0;padding:.9rem .85rem;border:1px solid var(--hp-line);border-radius:var(--hp-r-md);background:var(--hp-bg)}
.home-page .hr-label{color:var(--hp-text-muted);font:600 var(--hp-fs-small)/1.3 var(--hp-font)}
.home-page .hr-kpis strong{font:800 clamp(1.5rem,2.4vw,1.875rem)/1.1 var(--hp-font);letter-spacing:-.02em}
.home-page .hr-delta{color:var(--hp-text-muted);font:600 var(--hp-fs-label)/1.35 var(--hp-font)}
.home-page .hr-delta.up{color:#0A7A60}
.home-page .hr-delta.down{color:#B4432F}

.home-page .hr-chart{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--hp-line)}
.home-page .hr-chart-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem 1rem}
.home-page .hr-chart-title{margin:0;max-width:none;font:700 var(--hp-fs-small)/1.3 var(--hp-font)}
.home-page .hr-legend{list-style:none;display:flex;gap:1rem;margin:0;padding:0;color:var(--hp-text-muted);font:600 var(--hp-fs-label)/1.3 var(--hp-font)}
.home-page .hr-legend li{display:flex;align-items:center;gap:.4rem}
.home-page .hr-legend li::before{content:"";width:.875rem;height:.625rem;border:2px solid var(--hp-teal-700);border-radius:3px;background:#fff}
.home-page .hr-legend li.a::before{background:var(--hp-teal-700)}
.home-page .hr-row{margin-top:1rem}
.home-page .hr-row-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.1rem 1rem}
.home-page .hr-name{font:700 var(--hp-fs-small)/1.35 var(--hp-font)}
.home-page .hr-vals{color:var(--hp-text-muted);font:500 var(--hp-fs-label)/1.4 var(--hp-font)}
.home-page .hr-vals b{color:var(--hp-text);font-weight:800;font-size:var(--hp-fs-small)}
.home-page .hr-bars{display:grid;gap:.25rem;margin-top:.5rem}
.home-page .hr-bars i{display:block;width:var(--w);height:.625rem;border:2px solid var(--hp-teal-700);border-radius:3px;background:#fff}
.home-page .hr-bars i.a{background:var(--hp-teal-700)}
.home-page .hr-note{margin:1.25rem 0 0;padding-top:1rem;border-top:1px solid var(--hp-line);color:var(--hp-text-muted);font-size:var(--hp-fs-label);line-height:1.5}

@media (max-width:900px){
  .home-page .hero-grid{grid-template-columns:minmax(0,1fr)}
  .home-page .hero-dark h1{font-size:clamp(1.75rem,9.6cqi,3rem)}
}
@media (max-width:560px){
  .home-page .hero-actions .btn{display:block;width:100%;text-align:center}
  .home-page .hr-head{flex-direction:column;gap:.75rem}
  .home-page .hr-kpis{grid-template-columns:minmax(0,1fr)}
  .home-page .hr-kpis li{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:1rem}
  .home-page .hr-kpis strong{grid-column:2;grid-row:1 / span 2;align-self:center}
}


/* narrow screens. Without JavaScript the links stay visible in a row under the wordmark and the header is not sticky.
   With JavaScript (html.js) they collapse into the opaque dropdown behind the menu button. */
@media (max-width:56.25rem){
  .home-page,.services-page{--hp-header-h:68px}
  html:not(.js) :is(.home-page,.services-page) .site-header{position:static}
  :is(.home-page,.services-page) .site-header .wrap{gap:0 1.5rem}
  :is(.home-page,.services-page) .nav{position:static;flex-basis:100%;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0 1.5rem;padding:0 0 .75rem;border:0;background:transparent}
  :is(.home-page,.services-page) .nav a.btn{margin:0 0 0 auto}
  .js :is(.home-page,.services-page,.inner-page) .nav-toggle{display:inline-flex}
  .js :is(.home-page,.services-page) .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:.25rem var(--hp-gutter) 1.5rem;background:var(--hp-teal-900);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 24px 40px -24px rgba(0,0,0,.6)}
  .js :is(.home-page,.services-page) .nav.open{display:flex}
  .js :is(.home-page,.services-page) .nav a:not(.btn){padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;font-size:1.125rem}
  .js :is(.home-page,.services-page) .nav a:not(.btn)::after{display:none}
  .js :is(.home-page,.services-page) .nav a[aria-current="page"]:not(.btn)::after{display:block;left:auto;right:0;top:50%;bottom:auto;width:.5rem;height:.5rem;border-radius:50%;transform:translateY(-50%)}   /* menu rows: amber dot instead of the underline */
  .js :is(.home-page,.services-page) .nav a.btn{justify-content:center;margin:1.25rem 0 0}
}
@media (max-width:520px){:is(.home-page,.services-page,.inner-page) .brand-word{font-size:1.25rem}}
@media (max-width:360px){:is(.home-page,.services-page,.inner-page) .brand-word{white-space:normal}}

/* ===================== HOME PAGE: SECTION RHYTHM AND SHARED CONTROLS (scoped) ===================== */
.home-page :is(.dash-sec,.who-sec,.own-sec,.hfaq-sec){padding-block:var(--hp-section-y)}
.home-page :is(.proof-sec,.proc-sec,.founder-sec,.hcta-sec){padding-block:var(--hp-section-y-sm)}
.home-page .sec-head h2{font-size:var(--hp-fs-h2)}   /* one section-heading size; the process heading is deliberately smaller */
.home-page .btn{border-radius:var(--hp-r-sm)}
.home-page main :is(h1,h2,h3,h4,p,li,summary,figcaption,small){overflow-wrap:break-word}   /* a word only breaks if it cannot fit its line at all */
.home-page :is(a[href^="mailto:"],.hfoot-nav a){overflow-wrap:anywhere}   /* addresses and URLs may wrap anywhere */
.home-page :is(.arch-node b,.arch-node small,.arch-azure-label,.fig-title,.fig-name,.fig-logo){overflow-wrap:anywhere}   /* short labels inside the illustrations, which can sit in very narrow boxes */
.home-page :is(.hr-kpis strong,.rpt-metrics strong,.hr-vals b,.rpt-bar-vals b,.proof-num,.proc-badge,.arch-step){white-space:nowrap}   /* figures stay in one piece */

/* one reduced-motion rule for the whole homepage: no transitions, no animations, no nudges */
@media (prefers-reduced-motion:reduce){
  :is(.home-page,.services-page) *,:is(.home-page,.services-page) *::before,:is(.home-page,.services-page) *::after{animation:none!important;transition:none!important}
  .home-page :is(.hp-link,.aud-link,.proof-link):hover::after{transform:none}
}

/* ===================== HOME PAGE: INTEGRATION + CREDIBILITY BANDS (scoped) ===================== */
/* integration band: darker than the hero, text labels only (no logos, so nothing implies a partnership) */
.home-page .stack-band{background:var(--hp-teal-950);border-top:1px solid var(--hp-line-on-dark);color:var(--hp-on-dark)}
.home-page .stack-inner{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem clamp(1.5rem,4vw,3.5rem);padding-block:1.25rem}
.home-page .stack-label{margin:0;max-width:none;color:var(--hp-amber);font:700 var(--hp-fs-label)/1.3 var(--hp-font);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.home-page .stack-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.home-page .stack-list li{padding:.5rem 1rem;border-left:1px solid var(--hp-line-on-dark);color:#fff;font:700 1.125rem/1.3 var(--hp-font);letter-spacing:-.01em;text-align:center}
.home-page .stack-list li:first-child{border-left:0}

/* credibility band: pale teal, key facts first, explanations quieter, hairline dividers */
.home-page .proof-band{background:var(--hp-teal-50);border-bottom:1px solid var(--hp-line)}
.home-page .proof-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.home-page .proof-list li{display:flex;flex-direction:column;gap:.3rem;padding:1.5rem clamp(1.25rem,3vw,2.5rem)}
.home-page .proof-list li:first-child{padding-left:0}
.home-page .proof-list li:last-child{padding-right:0}
.home-page .proof-list li+li{border-left:1px solid rgba(7,92,85,.22)}
.home-page .proof-list strong{color:var(--hp-text);font:800 1.375rem/1.25 var(--hp-font);letter-spacing:-.02em}
.home-page .proof-list span{color:var(--hp-text-muted);font:500 var(--hp-fs-small)/1.5 var(--hp-font)}

@media (max-width:1100px){
  .home-page .stack-inner{grid-template-columns:minmax(0,1fr)}
  .home-page .stack-label{white-space:normal}
}
@media (max-width:900px){
  .home-page .stack-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-page .stack-list li{padding:.7rem .25rem;font-size:1.0625rem}
  .home-page .stack-list li:nth-child(odd){border-left:0}
  .home-page .stack-list li:nth-child(n+3){border-top:1px solid var(--hp-line-on-dark)}
}
@media (max-width:760px){
  .home-page .proof-list{grid-template-columns:minmax(0,1fr)}
  .home-page .proof-list li,.home-page .proof-list li:first-child,.home-page .proof-list li:last-child{padding:1.1rem 0}
  .home-page .proof-list li+li{border-left:0;border-top:1px solid rgba(7,92,85,.22)}
}

/* ===================== HOME PAGE: SERVICE OVERVIEW (scoped) ===================== */
/* Three equal white cards on the pale section ground. Text only, no controls inside the cards. */
.home-page .svo-sec{padding-block:var(--hp-section-y-sm);background:var(--hp-bg)}
.home-page .svo-sec .sec-head{max-width:64ch}
.home-page .svo-sec .sec-head h2{margin-bottom:.9rem}
.home-page .svo-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--hp-gap);margin:2.5rem 0 0;padding:0}
.home-page .svo-card{min-width:0;padding:clamp(1.5rem,2.6vw,2rem);background:var(--hp-surface);border:1px solid var(--hp-line);border-radius:var(--hp-r-lg);box-shadow:inset 0 3px 0 var(--hp-teal-700),var(--hp-shadow-sm)}
.home-page .svo-card h3{margin:0 0 .75rem;font-size:clamp(1.25rem,1.9vw,1.4375rem);line-height:1.25;overflow-wrap:break-word}
.home-page .svo-card p{margin:0;max-width:none;color:var(--hp-text-muted);font-size:var(--hp-fs-body);line-height:1.6}
.home-page .svo-action{margin:2.25rem 0 0}
@media (max-width:900px){
  .home-page .svo-grid{grid-template-columns:minmax(0,1fr);margin-top:2rem}
}
@media (max-width:560px){
  .home-page .svo-action .btn{display:block;text-align:center}
}

/* ===================== HOME PAGE: REPORT SHOWCASE (scoped) ===================== */
/* Hierarchy inside each report: title and period, compact KPI strip, one chart, optional detailed table. */
.home-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-page .dash-sec{background:var(--hp-surface)}
.home-page .dash-sec .sec-head{max-width:64ch}

.home-page .rpt-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0 1.25rem}
.home-page .rpt-tabs[hidden]{display:none}
.home-page .rpt-tabs [role="tab"]{min-height:44px;padding:.5rem 1.15rem;border:1.5px solid #9FB8B4;border-radius:var(--hp-r-pill);background:var(--hp-surface);color:var(--hp-text);font:700 1rem/1.2 var(--hp-font);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.home-page .rpt-tabs [role="tab"]:hover{border-color:var(--hp-teal-700);background:var(--hp-teal-50)}
.home-page .rpt-tabs [role="tab"][aria-selected="true"]{background:var(--hp-teal-700);border-color:var(--hp-teal-700);color:#fff}

.home-page .rpt-card{display:grid;grid-template-columns:minmax(0,72fr) minmax(0,28fr);border:1px solid var(--hp-line);border-radius:var(--hp-r-lg);overflow:hidden;background:var(--hp-surface);box-shadow:var(--hp-shadow-lg)}
.home-page .rpt-card[hidden]{display:none}
.home-page .rpt-card:not([hidden]){animation:panelin .3s ease}
.home-page .rpt{min-width:0;padding:clamp(1.25rem,2.6vw,2rem);font-variant-numeric:tabular-nums}
.home-page .rpt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.home-page .rpt-head h3{margin:0;font-size:1.5rem;line-height:1.2}
.home-page .rpt-period{margin:.25rem 0 0;max-width:none;color:var(--hp-text-muted);font-size:var(--hp-fs-small)}
.home-page .rpt-badge{flex:none;padding:.3rem .8rem;border-radius:var(--hp-r-pill);background:#FFF1D6;border:1px solid #F0C06A;color:var(--hp-amber-ink);font:700 var(--hp-fs-label)/1.2 var(--hp-font)}

/* KPI strip: one bordered band with hairline dividers, not three boxes */
.home-page .rpt-metrics{list-style:none;margin:1.25rem 0 0;padding:1rem 0;border-block:1px solid var(--hp-line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.home-page .rpt-metrics li{display:flex;flex-direction:column;gap:.15rem;min-width:0;padding:0 1.25rem;border-left:1px solid var(--hp-line)}
.home-page .rpt-metrics li:first-child{padding-left:0;border-left:0}
.home-page .rpt-label{color:var(--hp-text-muted);font:600 var(--hp-fs-small)/1.3 var(--hp-font)}
.home-page .rpt-metrics strong{color:var(--hp-text);font:800 clamp(1.5rem,2.3vw,1.875rem)/1.1 var(--hp-font);letter-spacing:-.02em}
.home-page .rpt-delta{color:var(--hp-text-muted);font:600 var(--hp-fs-label)/1.35 var(--hp-font)}
.home-page .rpt-delta.up{color:#0A7A60}
.home-page .rpt-delta.down{color:#B4432F}

/* chart: bars are drawn from the figures above; every value is also written out as text, and series differ by fill pattern, not only colour */
.home-page .rpt-chart{margin:1.5rem 0 0}
.home-page .rpt-chart-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem 1rem}
.home-page .rpt-chart-title{color:var(--hp-text);font:700 1.0625rem/1.3 var(--hp-font)}
.home-page .rpt-legend{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin:0;padding:0;color:var(--hp-text-muted);font:600 var(--hp-fs-label)/1.3 var(--hp-font)}
.home-page .rpt-legend li{display:flex;align-items:center;gap:.4rem}
.home-page .rpt-legend li::before{content:"";width:.875rem;height:.625rem;border:2px solid var(--hp-teal-700);border-radius:3px;background:#fff}
.home-page .rpt-legend li.a::before{background:var(--hp-teal-700)}
.home-page .rpt-legend li.w::before{border-color:var(--hp-amber-ink);background:repeating-linear-gradient(135deg,var(--hp-amber) 0 3px,#fff 3px 6px)}
.home-page .rpt-bars{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:1.1rem}
.home-page .rpt-bar-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.1rem 1rem}
.home-page .rpt-bar-name{font:700 var(--hp-fs-small)/1.35 var(--hp-font)}
.home-page .rpt-bar-vals{color:var(--hp-text-muted);font:500 var(--hp-fs-label)/1.4 var(--hp-font)}
.home-page .rpt-bar-vals b{color:var(--hp-text);font-weight:800;font-size:var(--hp-fs-small)}
.home-page .rpt-var{margin-left:.25rem;font-weight:700}
.home-page .rpt-var.up{color:#0A7A60}
.home-page .rpt-var.down{color:#B4432F}
.home-page .rpt-track{display:grid;gap:.25rem;margin-top:.45rem}
.home-page .rpt-track i{display:block;width:var(--w);height:.7rem;border:2px solid var(--hp-teal-700);border-radius:3px;background:#fff}
.home-page .rpt-track i.a{background:var(--hp-teal-700)}
.home-page .rpt-track i.w{border-color:var(--hp-amber-ink);background:repeating-linear-gradient(135deg,var(--hp-amber) 0 4px,#fff 4px 8px)}

/* detailed figures: closed by default, so the summary reads on its own */
.home-page .rpt-detail{margin-top:1.25rem;border-top:1px solid var(--hp-line)}
.home-page .rpt-detail summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.25rem;color:var(--hp-teal-700);font:700 1rem/1.3 var(--hp-font);cursor:pointer;list-style:none}
.home-page .rpt-detail summary::-webkit-details-marker{display:none}
.home-page .rpt-detail summary::after{content:"";flex:none;width:1.1rem;height:1.1rem;background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 100% no-repeat}
.home-page .rpt-detail[open] summary::after{background-size:100% 2px,2px 0}
.home-page .rpt-detail summary:hover{color:var(--hp-teal-900)}
.home-page .rpt-detail summary:focus-visible{border-radius:var(--hp-r-sm);outline-offset:2px}
.home-page .rpt-hint{display:none;margin:0 0 .5rem;max-width:none;color:var(--hp-text-muted);font-size:var(--hp-fs-label)}

/* table region scrolls on its own; edge shadows show when there is more to see */
.home-page .rpt-scroll{overflow-x:auto;margin-bottom:.25rem;border:1px solid var(--hp-line);border-radius:var(--hp-r-md);background:
  linear-gradient(to right,#fff 30%,rgba(255,255,255,0)) left center/2.5rem 100% no-repeat local,
  linear-gradient(to left,#fff 30%,rgba(255,255,255,0)) right center/2.5rem 100% no-repeat local,
  linear-gradient(to right,rgba(18,47,51,.18),rgba(18,47,51,0)) left center/.75rem 100% no-repeat scroll,
  linear-gradient(to left,rgba(18,47,51,.18),rgba(18,47,51,0)) right center/.75rem 100% no-repeat scroll}
.home-page .rpt table{width:100%;min-width:600px;border-collapse:collapse}
.home-page .rpt th,.home-page .rpt td{padding:.8rem .7rem;text-align:right;font-size:1rem;line-height:1.35;white-space:nowrap;background:transparent}
.home-page .rpt thead th{background:var(--hp-bg);color:var(--hp-text-muted);font:700 var(--hp-fs-label)/1.3 var(--hp-font);border-bottom:1px solid var(--hp-line)}
.home-page .rpt thead th:first-child,.home-page .rpt tbody th{text-align:left;position:sticky;left:0;background:var(--hp-surface)}
.home-page .rpt thead th:first-child{background:var(--hp-bg)}
.home-page .rpt tbody th{font-weight:600;color:var(--hp-text)}
.home-page .rpt tbody tr+tr>*{border-top:1px solid var(--hp-line)}
.home-page .rpt tr.sub>*{font-weight:700}
.home-page .rpt tr.total>*{font-weight:800;border-top:2px solid var(--hp-text)}
.home-page .rpt tr.flag>*{background:#FFF3DE}
.home-page .rpt tr.flag>th:first-child{box-shadow:inset 4px 0 0 var(--hp-amber)}
.home-page .rpt-tag{display:inline-block;padding:.15rem .6rem;border-radius:var(--hp-r-pill);font:700 var(--hp-fs-label)/1.4 var(--hp-font)}
.home-page .rpt-tag.fav{background:#DDF3EC;color:#0A6B54}
.home-page .rpt-tag.unfav{background:#FBE5DF;color:#9C3524}

.home-page .dash-sec .rpt-note{margin:1.25rem 0 0;max-width:none;color:var(--hp-text-muted);font-size:var(--hp-fs-label);line-height:1.5}

/* explanation panel: concise heading, short paragraph, three capabilities */
.home-page .rpt-side{min-width:0;display:flex;flex-direction:column;gap:.9rem;padding:clamp(1.25rem,2.4vw,2rem);background:var(--hp-teal-900);color:var(--hp-on-dark)}
.home-page .rpt-side .rpt-side-label{margin:0;color:var(--hp-amber);font:700 var(--hp-fs-label)/1.3 var(--hp-font);letter-spacing:.12em;text-transform:uppercase}
.home-page .rpt-side h4{margin:0;color:#fff;font:800 1.375rem/1.2 var(--hp-font);letter-spacing:-.02em}
.home-page .rpt-side p{margin:0;color:var(--hp-on-dark-muted);font-size:var(--hp-fs-small);line-height:1.55}
.home-page .rpt-side ul{list-style:none;margin:.4rem 0 0;padding:1.1rem 0 0;border-top:1px solid var(--hp-line-on-dark);display:grid;gap:.9rem}
.home-page .rpt-side li{position:relative;padding-left:1.5rem;color:#fff;font-size:var(--hp-fs-small);line-height:1.5}
.home-page .rpt-side li::before{content:"";position:absolute;left:0;top:.5em;width:.6rem;height:.6rem;border-radius:50%;background:var(--hp-amber)}

@media (max-width:960px){
  .home-page .rpt-card{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .home-page .rpt-hint{display:block}
}
@media (max-width:640px){
  .home-page .rpt-tabs [role="tab"]{padding-inline:.9rem}
  .home-page .rpt-head{flex-direction:column;gap:.75rem}
  .home-page .rpt-metrics{grid-template-columns:minmax(0,1fr);padding:0}
  .home-page .rpt-metrics li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:1rem;padding:.8rem 0;border-left:0}
  .home-page .rpt-metrics li+li{border-top:1px solid var(--hp-line)}
  .home-page .rpt-metrics strong{grid-column:2;grid-row:1 / span 2;align-self:center}
}

/* ===================== HOME PAGE: WHO IT'S FOR (scoped) ===================== */
.home-page .who-sec{background:var(--hp-teal-50)}

.home-page .aud-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--hp-gap);margin-top:2.5rem}
.home-page .aud-card{display:flex;flex-direction:column;min-width:0;padding:clamp(1.5rem,3vw,2.25rem);background:var(--hp-surface);border:1px solid var(--hp-line);border-radius:var(--hp-r-lg);box-shadow:var(--hp-shadow-sm)}
.home-page .aud-card-firm{border-color:var(--hp-teal-700);box-shadow:inset 0 3px 0 var(--hp-teal-700),var(--hp-shadow-sm)}   /* the accounting-firm card carries the quiet accent */

.home-page .aud-head{display:flex;align-items:center;gap:1rem;min-width:0;margin-bottom:1rem}
.home-page .aud-head h3{min-width:0}
.home-page .aud-ico{flex:none;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:var(--hp-r-sm);background:var(--hp-teal-100);color:var(--hp-teal-700)}
.home-page .aud-ico svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-page .aud-card h3{margin:0;font-size:clamp(1.3rem,2vw,1.5rem);line-height:1.2}
.home-page .aud-card>p{margin:0;color:var(--hp-text-muted);font-size:var(--hp-fs-body);line-height:1.6}
.home-page .aud-points{list-style:none;margin:1.25rem 0 0;padding:1.25rem 0 0;border-top:1px solid var(--hp-line);display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}
.home-page .aud-points li{position:relative;padding-left:1.5rem;font-weight:600;line-height:1.45}
.home-page .aud-points li::before{content:"";position:absolute;left:0;top:.5em;width:.6rem;height:.6rem;border-radius:50%;background:var(--hp-teal-700)}

/* illustrations: the same frame, header bar and height in both cards. Static, with nothing styled as a control. */
.home-page .aud-fig{margin:auto 0 0;padding-top:1.75rem}
.home-page .fig-frame{display:flex;flex-direction:column;min-height:13rem;padding:.9rem;border:1px solid var(--hp-line);border-radius:var(--hp-r-md);background:var(--hp-bg);cursor:default}
.home-page .fig-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;margin-bottom:.8rem;padding-bottom:.7rem;border-bottom:1px solid var(--hp-line);color:var(--hp-text-muted);font:600 var(--hp-fs-label)/1.3 var(--hp-font)}
.home-page .fig-logo{padding:.15rem .55rem;border:1px dashed var(--hp-teal-700);border-radius:6px;color:var(--hp-teal-700);font-weight:700}
.home-page .fig-name{color:var(--hp-text-muted);font:600 var(--hp-fs-label)/1.3 var(--hp-font)}
.home-page .fig-panel{display:flex;flex-direction:column;gap:.5rem;min-width:0;padding:.6rem .7rem;border:1px solid var(--hp-line);border-radius:var(--hp-r-sm);background:var(--hp-surface)}

.home-page .fig-panels{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.home-page .fig-mini{flex:1;display:flex;align-items:flex-end;gap:.3rem;min-height:3.75rem}
.home-page .fig-mini i{display:block;flex:1;height:var(--h);border-radius:3px 3px 0 0;background:var(--hp-teal-700)}

.home-page .fig-flow{flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,5.5rem);align-items:stretch;gap:.75rem}
.home-page .fig-ents{display:flex;flex-direction:column;justify-content:space-between;gap:.5rem}
.home-page .fig-ent{display:grid;gap:.3rem}
.home-page .fig-track{display:block;height:.6rem;border-radius:var(--hp-r-pill);background:var(--hp-teal-100)}
.home-page .fig-track i{display:block;width:var(--w);height:100%;border-radius:inherit;background:var(--hp-teal-700)}
.home-page .fig-track.c2 i{background:#3E9A92}
.home-page .fig-track.c3 i{background:var(--hp-amber)}
.home-page .fig-join{align-self:center;position:relative;width:1.25rem;height:2px;background:#9FB8B4}
.home-page .fig-join::after{content:"";position:absolute;right:0;top:-4px;width:.5rem;height:.5rem;border:solid #9FB8B4;border-width:2px 2px 0 0;transform:rotate(45deg)}
.home-page .fig-stack{flex:1;display:flex;flex-direction:column-reverse;border-radius:3px 3px 0 0;overflow:hidden}
.home-page .fig-stack i{display:block;height:var(--h);background:var(--hp-teal-700)}
.home-page .fig-stack i.c2{background:#3E9A92}
.home-page .fig-stack i.c3{background:var(--hp-amber)}
.home-page .aud-fig figcaption{margin-top:.6rem;color:var(--hp-text-muted);font-size:var(--hp-fs-label);line-height:1.45}

/* links share a baseline because the card is a flex column and the figure takes the free space above them */
.home-page .aud-link{align-self:flex-start;margin-top:1rem;padding-block:.6rem;color:var(--hp-teal-700);font:700 1.0625rem/1.3 var(--hp-font);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.home-page .aud-link::after{content:"\2192";display:inline-block;margin-left:.5rem;text-decoration:none;transition:transform .2s}
.home-page .aud-link:hover{color:var(--hp-teal-900)}
.home-page .aud-link:hover::after{transform:translateX(4px)}
@media (max-width:400px){
  .home-page .who-sec .fig-panels .fig-panel{padding:.5rem .4rem}
  .home-page .who-sec .fig-panels .fig-name{overflow-wrap:normal}   /* "Client A" wraps at the space, never inside a word */
}

@media (max-width:900px){
  .home-page .aud-grid{grid-template-columns:minmax(0,1fr)}
}

/* ===================== HOME PAGE: AUTOMATION AND OWNERSHIP (scoped) ===================== */
.home-page .own-sec{background:var(--hp-surface)}   /* white after the pale teal audiences section */
.home-page .own{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.home-page .own-copy{max-width:none}
.home-page .own-points{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:1.4rem}
.home-page .own-points li{display:flex;align-items:flex-start;gap:1rem}
.home-page .own-points li>div{min-width:0}
.home-page .own-ico,.home-page .arch-ico{flex:none;display:grid;place-items:center;border-radius:var(--hp-r-md);background:var(--hp-teal-100);color:var(--hp-teal-700)}
.home-page .own-ico{width:2.75rem;height:2.75rem}
.home-page .own-ico svg,.home-page .arch-ico svg{width:1.4rem;height:1.4rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-page .own-points h3{margin:0 0 .25rem;font-size:var(--hp-fs-h3);line-height:1.25}
.home-page .own-points p{margin:0;max-width:46ch;color:var(--hp-text-muted);font-size:var(--hp-fs-small);line-height:1.55}

/* architecture illustration: four equal nodes, numbered in order. The dashed boundary is labelled in text and Power BI sits outside it.
   A container query stacks the flow vertically when the illustration's own box is narrow. */
.home-page .own-fig{margin:0;min-width:0;container-type:inline-size}
.home-page .arch{display:grid;grid-template-columns:minmax(0,1fr) 2.25rem minmax(0,1.25fr) 2.25rem minmax(0,1fr);align-items:center;padding:clamp(1rem,3vw,1.75rem);border:1px solid var(--hp-line);border-radius:var(--hp-r-lg);background-color:var(--hp-bg);background-image:radial-gradient(rgba(7,92,85,.13) 1.2px,transparent 1.5px);background-size:18px 18px}
.home-page .arch-node{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0;min-height:8.75rem;padding:1rem;background:var(--hp-surface);border:1px solid var(--hp-line);border-radius:var(--hp-r-md);box-shadow:var(--hp-shadow-sm)}
.home-page .arch-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;margin-bottom:.35rem}
.home-page .arch-ico{width:2.5rem;height:2.5rem;border-radius:var(--hp-r-sm)}
.home-page .arch-step{display:grid;place-items:center;width:1.75rem;height:1.75rem;border:1.5px solid var(--hp-teal-700);border-radius:50%;color:var(--hp-teal-700);font:800 var(--hp-fs-label)/1 var(--hp-font);font-variant-numeric:tabular-nums}
.home-page .arch-node b{font:800 1.0625rem/1.25 var(--hp-font);letter-spacing:-.01em;color:var(--hp-text)}
.home-page .arch-node small{font-size:var(--hp-fs-label);line-height:1.4;color:var(--hp-text-muted)}

.home-page .arch-azure{display:flex;flex-direction:column;min-width:0;padding:.85rem;border:2px dashed var(--hp-teal-700);border-radius:var(--hp-r-lg);background:rgba(255,255,255,.6)}
.home-page .arch-azure-label{display:flex;align-items:center;gap:.5rem;margin:0 0 .85rem;max-width:none;color:var(--hp-teal-700);font:800 var(--hp-fs-label)/1.3 var(--hp-font)}
.home-page .arch-azure-label svg{flex:none;width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.home-page .arch-link{position:relative;height:2px;background:var(--hp-teal-700)}
.home-page .arch-link::after{content:"";position:absolute;right:-1px;top:50%;width:.6rem;height:.6rem;border:solid var(--hp-teal-700);border-width:2px 2px 0 0;transform:translateY(-50%) rotate(45deg)}
.home-page .arch-link-down{width:2px;height:1.75rem;align-self:center}
.home-page .arch-link-down::after{right:auto;left:50%;top:auto;bottom:-1px;transform:translateX(-50%) rotate(135deg)}

.home-page .arch-out{background:linear-gradient(160deg,var(--hp-teal-700),var(--hp-teal-900));border-color:var(--hp-teal-900);box-shadow:var(--hp-shadow-md)}
.home-page .arch-out .arch-ico{background:rgba(255,255,255,.14);color:#fff}
.home-page .arch-out .arch-step{border-color:rgba(255,255,255,.7);color:#fff}
.home-page .arch-out b{color:#fff}
.home-page .arch-out small{color:var(--hp-on-dark-muted)}

.home-page .own-fig figcaption{margin-top:.85rem;color:var(--hp-text-muted);font-size:var(--hp-fs-label);line-height:1.5}

@media (max-width:900px){
  .home-page .own{grid-template-columns:minmax(0,1fr)}
}
@container (max-width:600px){
  .home-page .arch{grid-template-columns:minmax(0,1fr)}
  .home-page .arch>.arch-link,.home-page .arch-link-down{width:2px;height:1.75rem;justify-self:center}
  .home-page .arch>.arch-link::after{right:auto;left:50%;top:auto;bottom:-1px;transform:translateX(-50%) rotate(135deg)}
  .home-page .arch-node{min-height:0}
}

/* ===================== HOME PAGE: PROOF (scoped) ===================== */
/* One translucent panel: the number and its qualification side by side, then 16 identical marks. Compact by design. */
.home-page .proof-sec{--hp-focus:var(--hp-amber);position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(640px 420px at 92% 0%,rgba(18,160,127,.28),transparent 70%),var(--hp-teal-900);color:var(--hp-on-dark)}
.home-page .proof-defs{position:absolute;width:0;height:0;overflow:hidden}
.home-page .proof{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.home-page .proof-copy{min-width:0}
.home-page .proof-copy .kicker{color:var(--hp-amber)}
.home-page .proof-copy h2{margin:0 0 1rem;color:#fff;font-size:var(--hp-fs-h2);line-height:1.1;letter-spacing:-.02em}
.home-page .proof-hl{color:var(--hp-amber)}
.home-page .proof-copy .lede{margin:0;max-width:34ch;color:var(--hp-on-dark-muted)}
.home-page .proof-link{display:inline-block;margin-top:1rem;padding-block:.6rem;color:var(--hp-on-dark);font:700 1.0625rem/1.3 var(--hp-font);text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-decoration-thickness:2px;text-underline-offset:5px;transition:text-decoration-color .2s}
.home-page .proof-link::after{content:"\2192";display:inline-block;margin-left:.5rem;text-decoration:none;transition:transform .2s}
.home-page .proof-link:hover{text-decoration-color:var(--hp-amber)}
.home-page .proof-link:hover::after{transform:translateX(4px)}

.home-page .proof-panel{min-width:0;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--hp-line-on-dark);border-radius:var(--hp-r-lg);background:rgba(255,255,255,.06)}
.home-page .proof-stat{display:flex;align-items:flex-end;gap:clamp(1rem,2.5vw,1.5rem)}
.home-page .proof-num{flex:none;margin:0 0 0 -.04em;color:#fff;font:800 clamp(4.5rem,9vw,6.5rem)/.85 var(--hp-font);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.home-page .proof-label{flex:1;min-width:0;margin:0;max-width:22ch;padding-bottom:.2rem;color:var(--hp-on-dark-muted);font:600 var(--hp-fs-lede)/1.35 var(--hp-font)}
.home-page .proof-marks{list-style:none;margin:1.5rem 0 0;padding:1.25rem 0 0;border-top:1px solid var(--hp-line-on-dark);display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.5rem}
.home-page .proof-marks li{display:grid;place-items:center;aspect-ratio:1;border:1px solid rgba(255,255,255,.22);border-radius:var(--hp-r-sm);background:rgba(255,255,255,.06);color:var(--hp-on-dark-muted)}
.home-page .proof-marks svg{width:60%;height:60%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

@media (max-width:900px){
  .home-page .proof{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:420px){
  .home-page .proof-label{font-size:var(--hp-fs-small)}
  .home-page .proof-marks{gap:.35rem}
}
@media (max-width:340px){
  .home-page .proof-marks{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ===================== HOME PAGE: DELIVERY PROCESS (scoped) ===================== */
/* Deliberately light: badges on a hairline, plain text, no cards. Connectors exist only where steps sit side by side. */
.home-page .proc-sec{background:var(--hp-surface)}
.home-page .proc-sec .sec-head h2{font-size:clamp(1.75rem,3.2vw,2.25rem)}
.home-page .proc-steps{list-style:none;margin:2.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.25rem var(--hp-gap)}
.home-page .proc-steps li{position:relative;min-width:0}
.home-page .proc-steps li::before{content:"";position:absolute;top:calc(1rem - 1px);left:3.5rem;right:calc(var(--hp-gap) * -1);height:2px;background:var(--hp-line)}
.home-page .proc-steps li:last-child::before{display:none}
.home-page .proc-badge{display:grid;place-items:center;width:2.75rem;height:2rem;margin-bottom:1rem;border-radius:var(--hp-r-pill);background:var(--hp-teal-100);color:var(--hp-teal-700);font:800 var(--hp-fs-label)/1 var(--hp-font);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.home-page .proc-steps h3{margin:0 0 .4rem;font-size:var(--hp-fs-h3);line-height:1.25}
.home-page .proc-steps p{margin:0;max-width:28ch;color:var(--hp-text-muted);font-size:var(--hp-fs-small);line-height:1.55}

/* two columns: the line joins the two steps in each row and stops there */
@media (max-width:1000px){
  .home-page .proc-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-page .proc-steps li:nth-child(2)::before{display:none}
}
/* narrow phones: one ordered list, badge beside the text, hairline separators, no connectors */
@media (max-width:560px){
  .home-page .proc-steps{grid-template-columns:minmax(0,1fr);gap:0}
  .home-page .proc-steps li{display:grid;grid-template-columns:2.75rem minmax(0,1fr);column-gap:1rem;padding:1.25rem 0;border-top:1px solid var(--hp-line)}
  .home-page .proc-steps li:last-child{border-bottom:1px solid var(--hp-line)}
  .home-page .proc-steps li::before{display:none}
  .home-page .proc-badge{grid-row:1 / span 2;margin:.1rem 0 0}
  .home-page .proc-steps p{max-width:none}
}

/* ===================== HOME PAGE: PROCESS, FOUNDER, FAQ, CLOSING CTA, FOOTER (scoped) ===================== */

/* delivery process */

/* founder */
.home-page .founder-sec{background:var(--hp-teal-50)}
.home-page .founder{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.home-page .founder-card{min-width:0;padding:clamp(1.25rem,3vw,2rem) clamp(1.25rem,3vw,2rem) clamp(1.25rem,3vw,2rem) clamp(1.5rem,3.5vw,2.25rem);background:var(--hp-surface);border:1px solid var(--hp-line);border-radius:var(--hp-r-lg);box-shadow:inset 4px 0 0 var(--hp-teal-700),var(--hp-shadow-sm)}
.home-page .founder-brand{margin:0 0 1rem;color:var(--hp-text-muted);font:700 var(--hp-fs-label)/1.3 var(--hp-font);letter-spacing:.12em;text-transform:uppercase}
.home-page .founder-name{margin:0;color:var(--hp-text);font:800 clamp(1.75rem,3vw,2.25rem)/1.15 var(--hp-font);letter-spacing:-.02em}
.home-page .founder-role{margin:.35rem 0 0;color:var(--hp-teal-700);font:700 var(--hp-fs-lede)/1.35 var(--hp-font)}
.home-page .founder-stack{margin:1.25rem 0 0;padding-top:1rem;max-width:none;border-top:1px solid var(--hp-line);color:var(--hp-text-muted);font:500 var(--hp-fs-label)/1.6 var(--hp-font)}
.home-page .founder-copy{min-width:0}
.home-page .founder-copy h2{margin:0 0 1rem;font-size:var(--hp-fs-h2);line-height:1.1}
.home-page .founder-copy .lede{margin:0;max-width:46ch;color:var(--hp-text-muted)}
.home-page .founder-hours{display:flex;align-items:center;gap:.6rem;margin:1.5rem 0 0;max-width:none;color:var(--hp-text);font:700 var(--hp-fs-small)/1.4 var(--hp-font)}
.home-page .founder-hours svg{flex:none;width:1.4rem;height:1.4rem;fill:none;stroke:var(--hp-teal-700);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-page .hp-link{display:inline-block;margin-top:1.5rem;color:var(--hp-teal-700);font:700 1.0625rem/1.3 var(--hp-font);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.home-page .hp-link::after{content:"\2192";display:inline-block;margin-left:.5rem;text-decoration:none;transition:transform .2s}
.home-page .hp-link:hover{color:var(--hp-teal-900)}
.home-page .hp-link:hover::after{transform:translateX(4px)}

/* FAQ */
.home-page .hfaq-sec{background:var(--hp-surface)}
.home-page .hfaq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.home-page .hfaq-head h2{margin:0;font-size:var(--hp-fs-h2);line-height:1.1}
.home-page .hfaq-list{min-width:0;border-top:1px solid var(--hp-line)}
.home-page .hfaq-list details{border-bottom:1px solid var(--hp-line)}
.home-page .hfaq-list summary{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:4.25rem;padding:1.2rem 0;color:var(--hp-text);font:700 1.1875rem/1.35 var(--hp-font);cursor:pointer;list-style:none}
.home-page .hfaq-list summary::-webkit-details-marker{display:none}
.home-page .hfaq-list summary::after{content:"";flex:none;width:1.25rem;height:1.25rem;color:var(--hp-teal-700);background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 100% no-repeat}
.home-page .hfaq-list details[open] summary::after{background-size:100% 2px,2px 0}
.home-page .hfaq-list summary:hover{color:var(--hp-teal-700)}
.home-page .hfaq-list summary:focus-visible{border-radius:var(--hp-r-sm);outline-offset:4px}
.home-page .hfaq-list details[open] summary{padding-bottom:.7rem}   /* the answer sits close to its question */
.home-page .hfaq-list details p{margin:0 0 1.5rem;max-width:58ch;color:var(--hp-text-muted);font-size:var(--hp-fs-body);line-height:1.6}

/* closing CTA */
.home-page .hcta-sec{position:relative;overflow:hidden;isolation:isolate;background:var(--hp-teal-900);color:var(--hp-on-dark);text-align:center}
.home-page .hcta-sec::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(520px 300px at 6% 100%,rgba(18,160,127,.28),transparent 70%),radial-gradient(520px 300px at 94% 0%,rgba(18,160,127,.18),transparent 70%)}   /* glows sit in the corners, away from the text */
.home-page .hcta-sec::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(ellipse 62% 80% at 50% 50%,transparent 38%,#000 100%);mask-image:radial-gradient(ellipse 62% 80% at 50% 50%,transparent 38%,#000 100%)}   /* the grid fades out behind the text and button */
.home-page .hcta h2{margin:0 auto 1.25rem;color:#fff;font-size:clamp(2rem,4.4vw,3.125rem);line-height:1.12}
.home-page .hcta-hl{color:var(--hp-amber)}
.home-page .hcta .lede{margin:0 auto 2rem;max-width:42ch;color:var(--hp-on-dark-muted);font-size:var(--hp-fs-lede);line-height:1.6}
.home-page .hcta-note{margin:1.25rem auto 0;max-width:44ch;color:var(--hp-on-dark-muted);font-size:var(--hp-fs-label);line-height:1.5}

/* footer */
.home-page .hfoot{background:var(--hp-teal-950);border-top:1px solid var(--hp-line-on-dark);color:var(--hp-on-dark-muted);padding:clamp(2.5rem,5vw,3.5rem) 0 1.75rem}
.home-page .hfoot-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:2rem clamp(1.5rem,5vw,4rem)}
.home-page .hfoot-brand{display:inline-block;margin-block:-.5rem -.35rem;padding-block:.7rem;color:var(--hp-on-dark);font:800 1.4rem/1 var(--hp-font);letter-spacing:-.02em;text-decoration:none}
.home-page .hfoot-brand span{font-weight:600;color:var(--hp-on-dark-muted);letter-spacing:-.01em}
.home-page .hfoot-id p{margin:.9rem 0 0;max-width:34ch;font-size:var(--hp-fs-small);line-height:1.55}
.home-page .hfoot-nav h2{margin:0 0 .6rem;color:var(--hp-amber);font:700 var(--hp-fs-label)/1.3 var(--hp-font);letter-spacing:.12em;text-transform:uppercase}
.home-page .hfoot-nav ul{list-style:none;margin:0;padding:0}
.home-page .hfoot-nav a{display:inline-block;padding:.7rem 0;color:var(--hp-on-dark-muted);font-size:var(--hp-fs-small);line-height:1.4;text-decoration:none}
.home-page .hfoot-nav a:hover,.home-page .hfoot-brand:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.home-page .hfoot-copy{margin:clamp(1.75rem,4vw,2.5rem) 0 0;padding-top:1.25rem;border-top:1px solid var(--hp-line-on-dark);max-width:none;font-size:var(--hp-fs-label);line-height:1.5}

@media (max-width:900px){
  .home-page .founder,.home-page .hfaq{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  .home-page .hfoot-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .home-page .hcta .btn{display:block}
}

/* ===================== HOME PAGE: REVIEW POLISH (scoped) ===================== */
/* 14px legibility floor and 44px touch targets */
.home-page .kicker{flex-wrap:wrap;max-width:100%;font-size:var(--hp-fs-label)}
.home-page :is(.proof-link,.hp-link,.aud-link){padding-block:.6rem}
.home-page .proof-link{margin-top:1.1rem}
.home-page .hp-link{margin-top:.9rem}

/* ===================== SERVICES PAGE (scoped to body.services-page) ===================== */
/* The tokens (--hp-*), the dark header, the focus ring and the reduced-motion rule are the homepage's own: their selectors above also list .services-page.
   This block holds everything that is Services-only. One teal accent plus amber for highlights; the old blue / amber / green category colours are gone.
   Every service group and card is plain HTML and always visible, so nothing depends on JavaScript. Motion is limited to short colour and border transitions. */
.services-page{
  /* the demos' inline styles still read these three names; series stay distinguishable (teal vs amber) */
  --c-data:var(--hp-teal-700);
  --c-bi:var(--hp-amber);
  --c-fin:var(--hp-teal-700);
}
.services-page :is(.svc-hero,.showcase,.cta,.site-footer){--hp-focus:var(--hp-amber)}   /* amber ring on the dark surfaces */
.services-page .stage{--hp-focus:var(--hp-teal-700)}   /* the white demo window sits inside a dark section */
@supports not selector(html:has(body)){.services-page :is(#main,#service-overview,#case-studies,#services,.svc-group,.svc){scroll-margin-top:5.5rem}}
@media (max-width:360px){html:has(body.services-page){scroll-padding-top:6.5rem}}   /* the header wraps to two rows here and is taller */

.services-page :is(.svc-sec,.showcase,.faq){padding-block:var(--hp-section-y)}
.services-page :is(.pillars,.ways,.cta){padding-block:var(--hp-section-y-sm)}
.services-page main :is(h1,h2,h3,h4,p,li,summary,small,button){overflow-wrap:break-word}   /* a word only breaks if it cannot fit its line at all */
.services-page .kpi strong{white-space:nowrap}   /* figures stay in one piece */
.services-page .btn{border-radius:var(--hp-r-sm)}
.services-page .btn.ghost-light{background:transparent;border-color:rgba(255,255,255,.55);color:#fff;box-shadow:none}
.services-page .btn.ghost-light:hover{background:#fff;border-color:#fff;color:var(--hp-teal-900);box-shadow:none}

/* hero: the homepage's deep teal, one soft static glow and a grid that fades downwards */
.services-page .svc-hero{position:relative;overflow:hidden;isolation:isolate;padding:clamp(3rem,6vw,5rem) 0 clamp(3.5rem,7vw,6rem);background:var(--hp-teal-900);color:var(--hp-on-dark)}
.services-page .svc-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(760px 520px at 82% 50%,rgba(18,160,127,.28),transparent 70%)}
.services-page .svc-hero::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%)}
.services-page .hero-split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(2rem,4vw,3rem);align-items:center}
.services-page .hero-copy{min-width:0}
.services-page .svc-hero h1{margin:0 0 1.5rem;max-width:22ch;color:#fff;font-size:clamp(2rem,4.2vw,3rem);line-height:1.1;letter-spacing:-.03em;text-wrap:balance}
.services-page .svc-hero .lede{margin:0 0 2.25rem;max-width:48ch;color:var(--hp-on-dark-muted);font-size:var(--hp-fs-lede);line-height:1.6}
.services-page .svc-hero .actions{margin:0;gap:.75rem 1rem}
.services-page .hero-art{width:100%;max-width:380px;justify-self:end}
.services-page .art-card{fill:rgba(255,255,255,.06);stroke:rgba(255,255,255,.22)}
.services-page .art-axis{stroke:rgba(255,255,255,.25);stroke-width:2}
.services-page .art-line{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.services-page .art-dot{fill:#fff}

/* service overview: three equal navigation cards on a white band under the hero, no overlap. The cards link to the groups below; they filter nothing. */
.services-page .pillars{background:var(--hp-surface);border-bottom:1px solid var(--hp-line)}
.services-page .pillars-title{margin:0 0 1.25rem;max-width:none;color:var(--hp-teal-700);font:700 var(--hp-fs-label)/1.3 var(--hp-font);letter-spacing:.12em;text-transform:uppercase}
.services-page .pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--hp-gap)}
.services-page .pillar{display:flex;flex-direction:column;min-width:0;padding:clamp(1.25rem,2.6vw,1.75rem);border:1px solid var(--hp-line);border-radius:var(--hp-r-lg);background:var(--hp-bg)}
.services-page :is(.pillar-ico,.group-ico){flex:none;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:var(--hp-r-md);background:var(--hp-teal-100);color:var(--hp-teal-700)}
.services-page .pillar-ico{align-self:flex-start}
.services-page :is(.pillar-ico,.group-ico) svg{width:1.4rem;height:1.4rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.services-page .pillar h3{margin:1.1rem 0 .5rem;font-size:clamp(1.25rem,2vw,1.375rem);line-height:1.25;letter-spacing:-.02em}
.services-page .pillar>p{margin:0 0 1.1rem;max-width:none;color:var(--hp-text);font-size:var(--hp-fs-body);line-height:1.55}
.services-page .pillar .points{margin-bottom:1.25rem}
.services-page .pillars-more{margin:1.25rem 0 0}   /* a quiet text link under the cards */
/* side by side, the cards share row lines, so headings, summaries, lists and links align even when one title wraps */
@media (min-width:901px){
  @supports (grid-template-rows:subgrid){
    .services-page .pillar-grid{row-gap:0}
    .services-page .pillar{display:grid;grid-row:span 5;grid-template-rows:subgrid}
    .services-page .pillar-link{align-self:end;justify-self:start}
  }
}

/* checked deliverable lists, shared by the overview cards and the service cards */
.services-page .points{list-style:none;margin:0;padding:1.1rem 0 0;border-top:1px solid var(--hp-line);color:var(--hp-text-muted)}
.services-page .points li{position:relative;margin-bottom:.55rem;padding-left:1.6rem;font-size:var(--hp-fs-body);line-height:1.5}
.services-page .points li:last-child{margin-bottom:0}
.services-page .points li::before{content:"";position:absolute;left:.15rem;top:.3em;width:.4rem;height:.75rem;border:solid var(--hp-teal-700);border-width:0 2px 2px 0;transform:rotate(45deg)}

/* text links with an arrow: overview cards and "Ask about this" */
.services-page :is(.pillar-link,.svc-ask){align-self:flex-start;display:inline-block;margin-top:auto;padding-block:.6rem;color:var(--hp-teal-700);font:700 1.0625rem/1.3 var(--hp-font);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.services-page :is(.pillar-link,.svc-ask)::after{content:"\2192";display:inline-block;margin-left:.5rem;text-decoration:none;transition:transform .2s}
.services-page :is(.pillar-link,.svc-ask):hover{color:var(--hp-teal-900)}
.services-page :is(.pillar-link,.svc-ask):hover::after{transform:translateX(4px)}

/* service groups: three always-visible sections on the pale background, white cards inside */
.services-page .svc-sec{background:var(--hp-bg)}
.services-page .svc-group{padding:0}   /* the global section padding is for top-level bands; groups are spaced only by the rule below */
.services-page .svc-group+.svc-group{margin-top:clamp(3rem,6vw,4.5rem);padding-top:clamp(3rem,6vw,4.5rem);border-top:1px solid var(--hp-line)}
.services-page .svc-group-head{display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem}
.services-page .svc-group-head>div{min-width:0}
.services-page .svc-group h2{margin:0 0 .5rem;max-width:none;font-size:clamp(1.75rem,3.2vw,2.375rem);line-height:1.12;letter-spacing:-.025em}
.services-page .svc-group-head p{margin:0;max-width:62ch;color:var(--hp-text-muted);font-size:var(--hp-fs-lede);line-height:1.55}

/* cards: one padding, one border, one radius. They are not controls, so there is no hover state. */
.services-page .svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--hp-gap);align-items:stretch}
.services-page .svc{display:flex;flex-direction:column;min-width:0;padding:clamp(1.25rem,2.6vw,1.75rem);border:1px solid var(--hp-line);border-radius:var(--hp-r-lg);background:var(--hp-surface);box-shadow:var(--hp-shadow-sm)}
.services-page .svc h3{margin:0;font-size:clamp(1.25rem,2vw,1.375rem);line-height:1.25;letter-spacing:-.02em}
.services-page .svc>p{margin:.9rem 0 1rem;max-width:none;color:var(--hp-text);font-size:var(--hp-fs-body);line-height:1.6}
.services-page .svc>.points{margin-bottom:1rem}

/* optional technical detail: a native disclosure, closed by default */
.services-page .svc-tech{margin:0 0 .5rem;border-top:1px solid var(--hp-line)}
.services-page .svc-tech summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:.4rem 0;color:var(--hp-text-muted);font:700 var(--hp-fs-small)/1.3 var(--hp-font);list-style:none;cursor:pointer}
.services-page .svc-tech summary::-webkit-details-marker{display:none}
.services-page .svc-tech summary::after{content:"";flex:none;width:1rem;height:1rem;color:var(--hp-teal-700);background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 100% no-repeat}
.services-page .svc-tech[open] summary::after{background-size:100% 2px,2px 0}
.services-page .svc-tech summary:hover{color:var(--hp-teal-700)}
.services-page .svc-tech summary:focus-visible{border-radius:var(--hp-r-sm);outline-offset:2px}
.services-page .svc-pills{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:.1rem 0 .75rem;padding:0}
.services-page .svc-pills li{padding:.2rem .65rem;border:1px solid var(--hp-line);border-radius:var(--hp-r-pill);background:var(--hp-teal-50);color:var(--hp-text-muted);font:600 var(--hp-fs-label)/1.4 var(--hp-font)}

/* data flow inside Data engineering & automation: static. The Azure boundary holds the pipeline and Azure SQL; Power BI sits outside it.
   A container query stacks the flow vertically when the figure's own box is narrow. */
.services-page .dflow{margin:0 0 var(--hp-gap);min-width:0;container-type:inline-size}
.services-page .dflow-grid{display:grid;grid-template-columns:minmax(0,1fr) 2.25rem minmax(0,2.4fr) 2.25rem minmax(0,1fr);align-items:center;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--hp-line);border-radius:var(--hp-r-lg);background:var(--hp-surface);box-shadow:var(--hp-shadow-sm)}
.services-page .dflow-node{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0;min-height:10.5rem;padding:1rem;border:1px solid var(--hp-line);border-radius:var(--hp-r-md);background:var(--hp-bg)}
.services-page .dflow-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;margin-bottom:.35rem}
.services-page .dflow-ico{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:var(--hp-r-sm);background:var(--hp-teal-100);color:var(--hp-teal-700)}
.services-page .dflow-ico svg{width:1.4rem;height:1.4rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.services-page .dflow-step{display:grid;place-items:center;width:1.75rem;height:1.75rem;border:1.5px solid var(--hp-teal-700);border-radius:50%;color:var(--hp-teal-700);font:800 var(--hp-fs-label)/1 var(--hp-font);font-variant-numeric:tabular-nums}
.services-page .dflow-node b{color:var(--hp-text);font:800 1.0625rem/1.25 var(--hp-font);letter-spacing:-.01em}
.services-page .dflow-node small{color:var(--hp-text-muted);font-size:var(--hp-fs-label);line-height:1.4}
.services-page .dflow-azure{display:grid;grid-template-columns:minmax(0,1fr) 2.25rem minmax(0,1fr);align-items:center;min-width:0;padding:.85rem;border:2px dashed var(--hp-teal-700);border-radius:var(--hp-r-lg)}
.services-page .dflow-azure-label{grid-column:1/-1;display:flex;align-items:center;gap:.5rem;margin:0 0 .85rem;max-width:none;color:var(--hp-teal-700);font:800 var(--hp-fs-label)/1.3 var(--hp-font)}
.services-page .dflow-azure-label svg{flex:none;width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.services-page .dflow-link{position:relative;height:2px;background:var(--hp-teal-700)}
.services-page .dflow-link::after{content:"";position:absolute;right:-1px;top:50%;width:.6rem;height:.6rem;border:solid var(--hp-teal-700);border-width:2px 2px 0 0;transform:translateY(-50%) rotate(45deg)}
.services-page .dflow-out{border-color:var(--hp-teal-900);background:linear-gradient(160deg,var(--hp-teal-700),var(--hp-teal-900))}
.services-page .dflow-out .dflow-ico{background:rgba(255,255,255,.14);color:#fff}
.services-page .dflow-out .dflow-step{border-color:rgba(255,255,255,.7);color:#fff}
.services-page .dflow-out b{color:#fff}
.services-page .dflow-out small{color:var(--hp-on-dark-muted)}
.services-page .dflow figcaption{margin-top:.85rem;color:var(--hp-text-muted);font-size:var(--hp-fs-label);line-height:1.5}
@container (max-width:760px){
  .services-page .dflow-grid,.services-page .dflow-azure{grid-template-columns:minmax(0,1fr)}
  .services-page .dflow-grid>.dflow-link,.services-page .dflow-azure>.dflow-link{width:2px;height:1.75rem;justify-self:center}
  .services-page .dflow-grid>.dflow-link::after,.services-page .dflow-azure>.dflow-link::after{right:auto;left:50%;top:auto;bottom:-1px;transform:translateX(-50%) rotate(135deg)}
  .services-page .dflow-node{min-height:0}
}
.services-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* case study: pale teal section, narrative on the page and the architecture on one white surface (about 55 / 45).
   The diagram is static HTML/CSS and a real ordered list: it stacks vertically in a narrow container and runs left to right in a wide one. */
.services-page .case{--case-rule:rgba(18,47,51,.16);padding-block:var(--hp-section-y);background:var(--hp-teal-50);border-block:1px solid #CADFDB}
.services-page .case-head{margin-bottom:clamp(2rem,4vw,3rem)}
.services-page :is(.case-kicker,.process-kicker){margin:0 0 .9rem;max-width:none;color:var(--hp-teal-700);font:700 var(--hp-fs-label)/1.3 var(--hp-font);letter-spacing:.12em;text-transform:uppercase}
.services-page .case-head h2{margin:0 0 1rem;max-width:21ch;font-size:var(--hp-fs-h2);line-height:1.1;letter-spacing:-.025em;text-wrap:balance}
.services-page .case-intro{margin:0;max-width:52ch;color:var(--hp-text-muted);font-size:var(--hp-fs-lede);line-height:1.55}
.services-page .case-study{display:grid;grid-template-columns:minmax(0,11fr) minmax(0,9fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.services-page .case-story{min-width:0}
.services-page .case-client{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;max-width:none;color:var(--hp-text-muted);font:700 var(--hp-fs-small)/1.4 var(--hp-font)}
.services-page .case-client::before{content:"";flex:none;width:2rem;height:2px;background:var(--hp-amber)}
.services-page .case-story h3{margin:0 0 1rem;max-width:20ch;font-size:clamp(1.625rem,2.8vw,2.125rem);line-height:1.15;letter-spacing:-.025em;text-wrap:balance}
.services-page .case-summary{margin:0;max-width:56ch;color:var(--hp-text);font-size:var(--hp-fs-lede);line-height:1.6}
.services-page .case-stat{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem 1rem;margin:1.75rem 0 0;max-width:none;padding-left:1rem;border-left:3px solid var(--hp-amber)}
.services-page .case-stat strong{color:var(--hp-text);font:800 clamp(1.75rem,3vw,2.25rem)/1.1 var(--hp-font);letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.services-page .case-stat span{color:var(--hp-text-muted);font:600 var(--hp-fs-body)/1.4 var(--hp-font)}
.services-page .case-notes{margin-top:2rem;border-top:1px solid var(--case-rule)}
.services-page .case-note{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:.25rem 1.5rem;padding:1.15rem 0;border-bottom:1px solid var(--case-rule)}
.services-page .case-note h4{margin:0;color:var(--hp-teal-700);font:800 var(--hp-fs-small)/1.5 var(--hp-font)}
.services-page .case-note p{margin:0;max-width:none;color:var(--hp-text);font-size:var(--hp-fs-body);line-height:1.6}
.services-page .case-meta{list-style:none;display:flex;flex-wrap:wrap;gap:.2rem 1.5rem;margin:1.5rem 0 1.75rem;padding:0;max-width:none;color:var(--hp-text-muted);font:600 var(--hp-fs-small)/1.5 var(--hp-font)}

.services-page .case-arch{margin:0;min-width:0;padding:clamp(1.25rem,2.6vw,2rem);border:1px solid var(--hp-line);border-radius:var(--hp-r-lg);background:var(--hp-surface);box-shadow:var(--hp-shadow-sm)}
.services-page .arch-title{margin:0 0 1.5rem;max-width:none;padding-bottom:1rem;border-bottom:1px solid var(--hp-line);color:var(--hp-text);font:800 1.125rem/1.3 var(--hp-font);letter-spacing:-.01em}
.services-page .arch-body{container-type:inline-size}
.services-page :is(.arch-flow,.arch-inner){list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.services-page .arch-flow li{position:relative}
.services-page .arch-flow li:not(:last-child){margin-bottom:1.75rem}
.services-page .arch-flow li:not(:last-child)::after{content:"";position:absolute;top:100%;left:50%;width:2px;height:1.75rem;margin-left:-1px;background:var(--hp-teal-700)}
.services-page .arch-flow li:not(:last-child)::before{content:"";position:absolute;top:calc(100% + 1.75rem);left:50%;width:.6rem;height:.6rem;border:solid var(--hp-teal-700);border-width:0 2px 2px 0;transform:translate(-50%,-85%) rotate(45deg)}
.services-page .arch-node{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:center;gap:.75rem .9rem;min-width:0;min-height:5.5rem;padding:.85rem 1rem;border:1px solid #B9CFCB;border-radius:var(--hp-r-md);background:var(--hp-bg)}
.services-page .arch-ico{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:var(--hp-r-sm);background:var(--hp-teal-100);color:var(--hp-teal-700)}
.services-page .arch-ico svg{width:1.4rem;height:1.4rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.services-page .arch-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.services-page .arch-role{color:var(--hp-teal-700);font:800 var(--hp-fs-label)/1.3 var(--hp-font)}
.services-page .arch-node b{color:var(--hp-text);font:800 1.0625rem/1.25 var(--hp-font);letter-spacing:-.01em}
.services-page .arch-node small{color:var(--hp-text-muted);font-size:var(--hp-fs-label);line-height:1.4}
.services-page .arch-azure{padding:.9rem;border:2px dashed var(--hp-teal-700);border-radius:var(--hp-r-lg)}
.services-page .arch-azure-label{display:flex;align-items:center;gap:.5rem;margin:0 0 .85rem;max-width:none;color:var(--hp-teal-700);font:800 var(--hp-fs-label)/1.3 var(--hp-font)}
.services-page .arch-azure-label svg{flex:none;width:1.25rem;height:1.25rem;padding:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.services-page .case-arch figcaption{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--hp-line);color:var(--hp-text-muted);font-size:var(--hp-fs-label);line-height:1.5}
@container (min-width:40rem){
  .services-page .arch-flow{flex-direction:row;align-items:stretch}
  .services-page .arch-azure{padding:1.25rem .9rem .9rem}
  /* the label sits on the dashed border, so the nodes inside stay centred on the connectors */
  .services-page .arch-azure-label{position:absolute;top:0;left:.65rem;width:max-content;max-width:calc(100% - 1.3rem);margin:0;padding:0 .5rem;transform:translateY(-50%);background:var(--hp-surface)}
  .services-page .arch-flow>li{flex:1 1 0;min-width:0}
  .services-page .arch-flow>.arch-azure{flex:2.4 1 0;display:flex}
  .services-page .arch-inner{flex:1;flex-direction:row;align-items:stretch}
  .services-page .arch-inner>li{flex:1 1 0;min-width:0}
  .services-page .arch-flow li:not(:last-child){margin:0 2rem 0 0}
  .services-page .arch-inner>li:not(:last-child){margin-right:1.5rem}
  .services-page .arch-flow li:not(:last-child)::after{top:50%;left:100%;width:var(--gap,2rem);height:2px;margin:-1px 0 0}
  .services-page .arch-flow li:not(:last-child)::before{top:50%;left:calc(100% + var(--gap,2rem));transform:translate(-85%,-50%) rotate(-45deg)}
  .services-page .arch-inner>li:not(:last-child){--gap:1.5rem}
  .services-page .arch-node{grid-template-columns:minmax(0,1fr);align-content:start;min-height:9rem}
}

/* floating quote button (added by script.js) */
.services-page .float-cta{position:fixed;right:1.25rem;bottom:1.25rem;z-index:30;padding:.8rem 1.25rem;border-radius:var(--hp-r-sm);background:var(--hp-amber);color:var(--hp-text);font:700 1rem/1.2 var(--hp-font);text-decoration:none;box-shadow:0 14px 28px -14px rgba(4,59,56,.6);opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s,background .2s}
.services-page .float-cta.show{opacity:1;visibility:visible;transition-delay:0s}
.services-page .float-cta:hover{background:var(--hp-amber-hover);color:var(--hp-text)}
.services-page .float-cta:focus-visible{box-shadow:0 0 0 3px #fff}   /* white gap inside the ring so it reads on light and dark sections alike */

/* "See it in action": flat deep teal, a white demo window, no blurred blobs */
.services-page .showcase{background:var(--hp-teal-900);color:var(--hp-on-dark)}
.services-page .showcase[hidden]{display:none}
.services-page .showcase h2{margin:0 0 .5rem;color:#fff;font-size:var(--hp-fs-h2);line-height:1.1}
.services-page .showcase .showcase-sub{margin:0;color:var(--hp-on-dark-muted);font-size:var(--hp-fs-body)}
.services-page .show-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:start;margin-top:2rem}
.services-page .show-tabs{display:grid;gap:.75rem}
.services-page .show-tab{display:flex;align-items:center;gap:.9rem;width:100%;min-width:0;padding:.9rem 1rem;border:1px solid var(--hp-line-on-dark);border-radius:var(--hp-r-md);background:rgba(255,255,255,.06);color:#fff;font:700 1.0625rem/1.25 var(--hp-font);text-align:left;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.services-page .show-tab small{display:block;margin-top:.15rem;color:var(--hp-on-dark-muted);font:500 var(--hp-fs-label)/1.35 var(--hp-font)}
.services-page .st-ico{flex:none;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:var(--hp-r-sm);background:rgba(255,255,255,.12);transition:background .2s,color .2s}
.services-page .st-ico svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.services-page .show-tab:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}
.services-page .show-tab[aria-selected="true"]{background:#fff;border-color:#fff;color:var(--hp-text)}
.services-page .show-tab[aria-selected="true"] small{color:var(--hp-text-muted)}
.services-page .show-tab[aria-selected="true"] .st-ico{background:var(--hp-amber);color:var(--hp-text)}

.services-page .stage{overflow:hidden;border-radius:var(--hp-r-lg);background:var(--hp-surface);color:var(--hp-text);box-shadow:0 28px 56px -28px rgba(0,0,0,.6)}
.services-page .stage-bar{display:flex;align-items:center;gap:.4rem;padding:.7rem 1rem;border-bottom:1px solid var(--hp-line);background:var(--hp-bg)}
.services-page .stage-bar i{width:.65rem;height:.65rem;border-radius:50%;background:#C3D4D1}
.services-page .stage-bar span{min-width:0;margin-left:.6rem;color:var(--hp-text-muted);font:600 var(--hp-fs-label)/1.3 var(--hp-font)}
.services-page .stage-body{padding:clamp(1rem,2.6vw,1.5rem);min-height:360px}
.services-page .shot{margin:0}
.services-page .shot[hidden]{display:none}
.services-page .shot:not([hidden]){animation:svc-fade .3s ease}
.services-page .shot img{display:block;width:100%;border:1px solid var(--hp-line);border-radius:var(--hp-r-md)}
.services-page .shot.has-img .mock{display:none}
@keyframes svc-fade{from{opacity:0}}

/* dashboard sample: KPI strip and a two-series bar chart (actual = teal, budget = amber) */
.services-page .dash-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:1rem}
.services-page .slicer{display:flex;flex-wrap:wrap;gap:.25rem;padding:.2rem;border:1px solid var(--hp-line);border-radius:var(--hp-r-sm);background:var(--hp-bg)}
.services-page .slicer button{min-height:40px;padding:.4rem .8rem;border:0;border-radius:6px;background:transparent;color:var(--hp-text-muted);font:700 var(--hp-fs-label)/1.2 var(--hp-font);cursor:pointer;transition:background .2s,color .2s}
.services-page .slicer button:hover{color:var(--hp-text)}
.services-page .slicer button[aria-pressed="true"]{background:var(--hp-teal-700);color:#fff}
.services-page .dash-note{color:var(--hp-text-muted);font-size:var(--hp-fs-label)}
.services-page .kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-bottom:1.25rem}
.services-page .kpi{min-width:0;padding:.8rem;border:1px solid var(--hp-line);border-radius:var(--hp-r-md);background:var(--hp-bg)}
.services-page .kpi span{display:block;color:var(--hp-text-muted);font:600 var(--hp-fs-label)/1.3 var(--hp-font)}
.services-page .kpi strong{display:block;font:800 1.375rem/1.2 var(--hp-font);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.services-page .kpi strong.pos{color:#0A7A60}
.services-page .kpi strong.neg{color:#B4432F}
.services-page .chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;height:210px;padding:28px .2rem 0;border-bottom:1px solid #9FB8B4}
.services-page .col{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:100%}
.services-page .vbar{position:relative;width:36%;max-width:28px;height:var(--h,10%);padding:0;border:0;border-radius:3px 3px 0 0;cursor:pointer;transition:height .45s ease}
.services-page .vbar.s{background:var(--hp-teal-700)}
.services-page .vbar.c{background:var(--hp-amber)}
.services-page .vbar::after{content:attr(data-v);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:.15rem .45rem;border-radius:5px;background:var(--hp-text);color:#fff;font:700 var(--hp-fs-label)/1.3 var(--hp-font);font-variant-numeric:tabular-nums;white-space:nowrap;opacity:0;pointer-events:none;z-index:1}
.services-page .vbar:hover::after,.services-page .vbar:focus-visible::after{opacity:1}
.services-page .months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin-top:.4rem;color:var(--hp-text-muted);font-size:var(--hp-fs-label);text-align:center}
.services-page .legend{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin-top:.8rem;color:var(--hp-text-muted);font-size:var(--hp-fs-label)}
.services-page .legend i{display:inline-block;width:.75rem;height:.75rem;margin-right:.4rem;border-radius:3px;vertical-align:-1px}
.services-page .legend .hint{margin-left:auto;font-style:italic}

/* pipeline sample: four steps, static dashed connectors */
.services-page .pipe{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.4rem;padding-top:.5rem}
.services-page .pnode{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:0;padding:.9rem .6rem;border:1px solid var(--hp-line);border-radius:var(--hp-r-md);background:var(--hp-bg);color:var(--hp-text);font:inherit;text-align:center;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.services-page .pnode:hover{border-color:var(--hp-teal-700)}
.services-page .pnode[aria-pressed="true"]{border-color:var(--hp-teal-700);background:#fff;box-shadow:0 0 0 2px var(--hp-teal-700)}
.services-page .pi{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:var(--hp-r-sm);background:var(--hp-teal-100);color:var(--hp-teal-700);transition:background .2s,color .2s}
.services-page .pnode:hover .pi,.services-page .pnode[aria-pressed="true"] .pi{background:var(--hp-teal-700);color:#fff}
.services-page .pi svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.services-page .pnode strong{font:800 1rem/1.25 var(--hp-font)}
.services-page .pmini{min-width:0;color:var(--hp-text-muted);font-size:var(--hp-fs-label);line-height:1.35}
.services-page .pline{width:2rem;height:2px;background:repeating-linear-gradient(90deg,var(--hp-teal-700) 0 6px,transparent 6px 12px)}
.services-page .pcap{min-height:3.4rem;margin:1.3rem 0 .6rem;padding:.9rem 1rem;border:1px solid var(--hp-line);border-radius:var(--hp-r-md);background:var(--hp-bg);color:var(--hp-text);font-size:var(--hp-fs-small);line-height:1.5}
.services-page .prun{display:flex;align-items:center;gap:.5rem;margin:0;color:var(--hp-text-muted);font-size:var(--hp-fs-label)}
.services-page .live{flex:none;width:.55rem;height:.55rem;border-radius:50%;background:var(--hp-teal-700)}

/* how we work: four numbered steps on the pale background, separated by hairlines (no cards).
   Four columns, then two, then one ordered sequence with the number beside each step. */
.services-page .process{padding-block:var(--hp-section-y-sm);background:var(--hp-bg)}
.services-page .process h2{margin:0 0 clamp(2rem,4vw,2.75rem);max-width:22ch;font-size:var(--hp-fs-h2);line-height:1.1;letter-spacing:-.025em;text-wrap:balance}
.services-page .process-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem clamp(1.5rem,3vw,2.5rem);margin:0;padding:0}
.services-page .process-steps li{min-width:0;padding-top:1.25rem;border-top:2px solid var(--hp-line)}
.services-page .process-num{display:block;margin-bottom:.9rem;color:var(--hp-teal-700);font:800 1.5rem/1 var(--hp-font);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.services-page .process-steps h3{margin:0 0 .5rem;font-size:var(--hp-fs-h3);line-height:1.25;letter-spacing:-.02em}
.services-page .process-steps p{margin:0;max-width:none;color:var(--hp-text-muted);font-size:var(--hp-fs-body);line-height:1.6}
@media (max-width:1000px){
  .services-page .process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .services-page .process-steps{grid-template-columns:minmax(0,1fr);gap:0}
  .services-page .process-steps li{display:grid;grid-template-columns:3rem minmax(0,1fr);column-gap:.75rem;padding-block:1.25rem}
  .services-page .process-num{grid-row:1/3;margin:0;padding-top:.15rem}
  .services-page .process-steps li:last-child{border-bottom:2px solid var(--hp-line)}
}

/* ways to work: three equal cards; the selected one gets a teal ring */
.services-page .ways{background:var(--hp-surface)}
.services-page .ways h2{margin:0;font-size:var(--hp-fs-h2);line-height:1.1}
.services-page .models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--hp-gap);margin-top:2rem}
.services-page .model{position:relative;min-width:0;padding:clamp(1.25rem,2.6vw,1.75rem);border:1px solid var(--hp-line);border-radius:var(--hp-r-lg);background:var(--hp-surface);box-shadow:var(--hp-shadow-sm);text-align:left;transition:border-color .2s,box-shadow .2s,background .2s}
.services-page .model[aria-pressed]{cursor:pointer}
.services-page .model:hover{border-color:#9FB8B4;box-shadow:var(--hp-shadow-md)}
.services-page .model[aria-pressed="true"]{border-color:var(--hp-teal-700);background:var(--hp-teal-50);box-shadow:0 0 0 2px var(--hp-teal-700)}
.services-page .model[aria-pressed="true"]::after{content:"Selected";position:absolute;top:1rem;right:1rem;padding:.15rem .65rem;border-radius:var(--hp-r-pill);background:var(--hp-teal-700);color:#fff;font:700 var(--hp-fs-label)/1.4 var(--hp-font)}
.services-page .model h3{margin:0 0 .4rem;font-size:var(--hp-fs-h3);line-height:1.25}
.services-page .model p{margin:0;max-width:none;color:var(--hp-text-muted);font-size:var(--hp-fs-body);line-height:1.55}
.services-page .ways .actions{margin-top:2rem}

/* FAQ: the homepage's layout, quiet dividers and a plus that becomes a minus */
.services-page .faq{background:var(--hp-bg)}
.services-page .faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.services-page .faq h2{margin:0;font-size:var(--hp-fs-h2);line-height:1.1}
.services-page .faq-list{min-width:0;border-top:1px solid var(--hp-line)}
.services-page .faq-list details{border-bottom:1px solid var(--hp-line)}
.services-page .faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:4.25rem;padding:1.2rem 0;color:var(--hp-text);font:700 1.1875rem/1.35 var(--hp-font);list-style:none;cursor:pointer}
.services-page .faq-list summary::-webkit-details-marker{display:none}
.services-page .faq-list summary::after{content:"";flex:none;width:1.25rem;height:1.25rem;color:var(--hp-teal-700);background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 100% no-repeat}
.services-page .faq-list details[open] summary::after{background-size:100% 2px,2px 0}
.services-page .faq-list summary:hover{color:var(--hp-teal-700)}
.services-page .faq-list summary:focus-visible{border-radius:var(--hp-r-sm);outline-offset:4px}
.services-page .faq-list details[open] summary{padding-bottom:.7rem}
.services-page .faq-list details p{max-width:58ch;margin:0 0 1.5rem;color:var(--hp-text-muted);font-size:var(--hp-fs-body);line-height:1.6}

/* closing call to action and footer: the homepage's deep teal band and darker footer */
.services-page .cta{position:relative;overflow:hidden;isolation:isolate;background:var(--hp-teal-900);color:var(--hp-on-dark);text-align:center}
.services-page .cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(520px 300px at 6% 100%,rgba(18,160,127,.28),transparent 70%),radial-gradient(520px 300px at 94% 0%,rgba(18,160,127,.18),transparent 70%)}
.services-page .cta::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(ellipse 62% 80% at 50% 50%,transparent 38%,#000 100%);mask-image:radial-gradient(ellipse 62% 80% at 50% 50%,transparent 38%,#000 100%)}
.services-page .cta h2{max-width:20ch;margin:0 auto 1.25rem;color:#fff;font-size:clamp(2rem,4.4vw,3.125rem);line-height:1.12}
.services-page .cta .lede{max-width:42ch;margin:0 auto 2rem;color:var(--hp-on-dark-muted);font-size:var(--hp-fs-lede);line-height:1.6}
.services-page .cta .actions{justify-content:center;margin:0}

.services-page .site-footer{padding:clamp(2rem,4vw,2.75rem) 0;border-top:1px solid var(--hp-line-on-dark);background:var(--hp-teal-950);color:var(--hp-on-dark-muted);font-size:var(--hp-fs-small);line-height:1.5}
.services-page .site-footer::before{content:none}
.services-page .site-footer .wrap{align-items:center}
.services-page .site-footer a{display:inline-block;padding-block:.5rem;color:var(--hp-on-dark-muted);text-decoration:none}
.services-page .site-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}

@media (max-width:900px){
  .services-page .hero-split{grid-template-columns:minmax(0,1fr)}
  .services-page .hero-art{display:none}
  .services-page .pillar-grid,.services-page .svc-grid{grid-template-columns:minmax(0,1fr)}
  .services-page .show-grid{grid-template-columns:minmax(0,1fr)}
  .services-page .show-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services-page .show-tab{flex-direction:column;gap:.4rem;padding:.7rem .4rem;font-size:1rem;text-align:center}
  .services-page .show-tab small{display:none}
  .services-page .stage-body{min-height:0}
  .services-page .pipe{grid-template-columns:minmax(0,1fr)}
  .services-page .pline{width:2px;height:1.5rem;justify-self:center;background:repeating-linear-gradient(180deg,var(--hp-teal-700) 0 6px,transparent 6px 12px)}
  .services-page .pnode{flex-direction:row;gap:.8rem;padding:.7rem .9rem;text-align:left}
  .services-page .pnode .pmini{margin-left:auto;text-align:right}
  .services-page .kpi strong{font-size:1.125rem}
  .services-page .chart{height:170px}
  .services-page .models{grid-template-columns:minmax(0,1fr)}
  .services-page .faq-grid{grid-template-columns:minmax(0,1fr)}
  .services-page .case-study{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .services-page :is(.svc-hero .actions,.cta .actions) .btn{display:block;width:100%;text-align:center}
  .services-page .slicer{width:100%}
  .services-page .slicer button{flex:1 1 auto;padding-inline:.5rem}
  .services-page .float-cta{left:1rem;right:1rem;text-align:center}
  .services-page .case-note{grid-template-columns:minmax(0,1fr)}
  .services-page .case .btn{display:block;text-align:center}
  .services-page .site-footer{padding-bottom:5rem}   /* room to scroll the last links clear of the floating button */
}
@media (max-width:430px){
  .services-page .show-tabs{grid-template-columns:minmax(0,1fr)}
  .services-page .show-tab{flex-direction:row;gap:.9rem;padding:.7rem 1rem;text-align:left}
}
@media (max-width:400px){
  .services-page .kpis{grid-template-columns:minmax(0,1fr)}
  .services-page .kpi{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}
  .services-page .legend .hint{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  .services-page :is(.pillar-link,.svc-ask):hover::after{transform:none}
}

/* About and Contact: scoped to protect the existing Home and Services pages. */
.inner-page{--wrap:1180px;--body:"Manrope","Segoe UI",sans-serif;--display:var(--body);--amber:#FFBD5A;--paper:#F6F9F8;--ink:#113B38;--muted:#526862;background:var(--paper)}
.inner-page h1,.inner-page h2,.inner-page h3{font-weight:800;line-height:1.16}
/* Header and wordmark use the Home palette and geometry; page content keeps its own tokens. */
.inner-page .site-header{--hp-r-sm:8px;--hp-font:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--hp-on-dark-muted:#C9DEDA;background:#043B38;border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:none}
.inner-page .site-header .wrap{width:min(1180px,100% - 2.5rem);min-height:76px;flex-wrap:wrap;gap:.25rem 1.5rem}
.inner-page .nav a{color:#E5F0ED;font-weight:600;min-height:44px;display:flex;align-items:center}
.inner-page .nav a.btn{color:#173E38}
.inner-page .site-header :is(a,button):focus-visible{outline-color:#FFBD5A}
.inner-page .page-head{background:#073E39;color:#fff;padding:clamp(3.5rem,7vw,6rem) 0}
.inner-page .page-head h1{font-size:clamp(2.2rem,4.5vw,3.65rem);max-width:22ch;margin:0 0 1.5rem;letter-spacing:-.045em}
.inner-page .page-head .lede{color:#D0E2DD;max-width:57ch;font-size:clamp(1.05rem,1.5vw,1.2rem);margin-bottom:0}
.inner-page .eyebrow{font-size:.75rem;line-height:1.5;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#176C5E;margin:0 0 1.1rem}
.inner-page .page-head .eyebrow{color:#FFBD5A}
.inner-page .about-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.inner-page .actions{align-items:center;gap:1.4rem;margin-top:2rem}
.inner-page .hero-link{color:#fff;font-size:.95rem;font-weight:700;padding:.75rem 0}
.inner-page .btn{box-shadow:none;transform:none}
.inner-page .btn.on-dark{background:#FFBD5A;border-color:#FFBD5A;color:#173E38}
.inner-page .btn.on-dark:hover{background:#FFD18D;border-color:#FFD18D}
.inner-page .founder-card{padding:clamp(1.5rem,3vw,2.5rem);border:1px solid #ffffff33;border-radius:16px;background:#ffffff08}
.inner-page .founder-card h2{font-size:1.85rem;color:#fff;margin-bottom:.5rem}
.inner-page .founder-card p{color:#D0E2DD;margin-bottom:.65rem;font-size:1rem}
.inner-page .founder-card .eyebrow{color:#FFBD5A;font-size:.7rem}
.inner-page .founder-rule{height:1px;background:#ffffff33;margin:1.75rem 0}
.inner-page .founder-card .founder-note{margin:1.25rem 0 0;font-size:.9rem}
.inner-page .inner-content{padding:clamp(2.5rem,6vw,5rem) 0}
.inner-page .about-story{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.inner-page .prose h2{font-size:clamp(1.8rem,3vw,2.5rem);max-width:22ch;margin-bottom:1.5rem}
.inner-page .prose p{color:var(--muted);line-height:1.85}
.inner-page .prose .eyebrow{color:#176C5E;line-height:1.5}
.inner-page .profile-panel{padding:2rem;border:1px solid #D5E3DD;border-radius:14px;background:#fff}
.inner-page .profile-panel h2{font-size:1.3rem}
.inner-page .profile-panel>p{font-size:.95rem;color:var(--muted)}
.inner-page .profile-facts{margin:1.5rem 0 0}
.inner-page .profile-facts dt{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#176C5E;padding-top:1rem;border-top:1px solid #D5E3DD;margin-top:1rem}
.inner-page .profile-facts dd{margin:.35rem 0 0;font-size:.95rem;line-height:1.6}
.inner-page .principles-section{background:#EAF2EE;padding:clamp(3rem,6vw,5rem) 0}
.inner-page .principles-section h2,.inner-page .stack-section h2{font-size:clamp(1.8rem,3vw,2.5rem)}
.inner-page .principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin-top:2.5rem}
.inner-page .principles-grid article{border-top:1px solid #B6CDC2;padding-top:1.5rem}
.inner-page .step-number{display:block;font-weight:800;color:#176C5E;margin-bottom:1.2rem}
.inner-page .principles-grid h3{font-size:1.2rem}
.inner-page .principles-grid p{font-size:1rem;color:var(--muted);margin:0}
.inner-page .stack-section{padding:clamp(3rem,6vw,5rem) 0;background:#fff}
.inner-page .stack{gap:.65rem;margin-top:1.75rem}
.inner-page .stack li{background:#F0F6F3;border-color:#D5E3DD;padding:.5rem 1rem}
.inner-page .inner-cta{text-align:center;background:#073E39;color:#fff;padding:clamp(3rem,6vw,4.5rem) 0}
.inner-page .inner-cta h2{max-width:25ch;margin:0 auto 1rem;font-size:clamp(1.8rem,3vw,2.5rem);color:#fff}
.inner-page .inner-cta p{margin:0 auto 1.75rem;color:#D0E2DD}
.inner-page .site-footer{background:#052F2B;color:#D0E2DD;border-top:1px solid #ffffff26;font-size:.85rem}
.inner-page .site-footer a{color:#D0E2DD}
.inner-page .contact-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);gap:clamp(2rem,5vw,4.5rem)}
.inner-page #contact-form{padding:clamp(1.25rem,3vw,2.5rem);border:1px solid #D5E3DD;border-radius:16px;background:#fff;gap:1.25rem;min-width:0}
.inner-page .form-intro h2{font-size:1.5rem;margin-bottom:.5rem}
.inner-page .form-intro p{font-size:.85rem;color:var(--muted);margin:0 0 .5rem}
.inner-page label{font-size:.875rem;gap:.5rem}
.inner-page .row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.inner-page input,.inner-page select,.inner-page textarea{min-width:0;border-color:#ABBFB5;background:#FBFDFC;font:400 1rem/1.5 var(--body)}
.inner-page select{padding-right:1.75rem}
.inner-page textarea{min-height:180px}
.inner-page .field-help{font-size:.8rem;line-height:1.6;color:var(--muted);margin:-.6rem 0 0}
.inner-page #contact-form .btn{width:100%;background:#FFBD5A;border-color:#FFBD5A;color:#173E38;font-weight:800}
.inner-page #contact-form .btn:hover{background:#FFD18D;border-color:#FFD18D}
.inner-page .aside-box{padding:1rem 0;border:0;min-width:0}
.inner-page .aside-box h2{font-size:1.8rem}
.inner-page .next-steps{padding-left:1.4rem;margin:1.75rem 0 2rem}
.inner-page .next-steps li{padding-left:.4rem;margin-bottom:1.3rem;font-size:.95rem}
.inner-page .next-steps li::marker{font-weight:800;color:#176C5E}
.inner-page .next-steps strong,.inner-page .next-steps span{display:block}
.inner-page .next-steps span{color:var(--muted);margin-top:.3rem}
.inner-page .aside-box dl{border-top:1px solid #D5E3DD;padding-top:.5rem}
.inner-page .aside-box a{overflow-wrap:anywhere}
.inner-page .contact-fit{font-size:.9rem;color:var(--muted);margin:1.5rem 0 0;padding-top:1.5rem;border-top:1px solid #D5E3DD}
.inner-page .form-status{font-size:.9rem}
@media(max-width:900px){
.inner-page .site-header .wrap{min-height:68px;gap:0 1.5rem}
.inner-page .nav{top:100%;background:#043B38;border-color:#ffffff33}
.inner-page .about-hero,.inner-page .about-story,.inner-page .contact-grid{grid-template-columns:minmax(0,1fr)}
.inner-page .founder-card{max-width:36rem}
.inner-page .principles-grid{gap:1.5rem}
.inner-page .row{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
.inner-page .wrap{width:calc(100% - 2rem)}
.inner-page .principles-grid{grid-template-columns:minmax(0,1fr);gap:1.75rem}
.inner-page .profile-panel{padding:1.5rem}
.inner-page .page-head h1{font-size:2.2rem}
.inner-page .site-footer .wrap{flex-direction:column}
}
/* Keep navigation reachable when JavaScript is unavailable. */
@media(max-width:900px){.inner-page.no-js .site-header{position:relative}.inner-page.no-js .site-header .wrap{flex-wrap:wrap;padding-block:.6rem}.inner-page.no-js .nav-toggle{display:none}.inner-page.no-js .nav{display:flex;position:static;flex-direction:row;flex-wrap:wrap;width:100%;padding:.5rem 0;gap:1.25rem}}
