/* Placid SC design system stylesheet, ported from the HTML prototype into the Divi child theme. */
:root{
  --p-green-900:#00112F; --p-green-700:#013E77; --p-green-100:#E8EEF4;
  --p-gold-500:#FC4823; --p-gold-100:#FFF0EA;
  --p-ink:#13161A; --p-muted:#5B6673; --p-cream:#F6F1E9; --p-white:#fff; --p-line:#E6D5D0;
  --p-blue:#0B57D0; --p-accent-dark:#FC4823;
  --p-radius:20px; --p-wrap:1160px;
  --p-font:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Ethiopic","Helvetica Neue",Arial,sans-serif;
  --p-serif:"Playfair Display",Georgia,"Times New Roman",serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--p-font);color:var(--p-ink);background:var(--p-white);line-height:1.6;font-size:1rem}
img,svg{max-width:100%;height:auto}
h1,h2,h3{font-family:var(--p-font);font-weight:700;letter-spacing:-.01em;line-height:1.15;color:var(--p-green-900);margin:0 0 .6em}
h1{font-size:clamp(1.75rem,4vw,2.75rem)} h2{font-size:clamp(1.3rem,2.5vw,1.75rem)} h3{font-size:1.1rem}
p{margin:0 0 1em;max-width:70ch}
a{color:var(--p-green-700);text-underline-offset:3px}
a:hover{color:var(--p-green-900)}
:focus-visible{outline:3px solid var(--p-blue);outline-offset:3px;border-radius:2px}
.on-dark :focus-visible,.placid-hero :focus-visible,.placid-cta :focus-visible,.placid-band :focus-visible{outline-color:#fff}
.placid-hero.light-hero :focus-visible{outline-color:var(--p-blue)}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;color:var(--p-ink);padding:.75rem 1rem;z-index:1000}
.skip-link:focus{left:0}
.screen-reader-text,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* layout */
.wrap{width:min(var(--p-wrap),100% - 2rem);margin-inline:auto}
.placid-section,.placid-hero,.placid-cta,.placid-notice-wrap{--pad:max(1rem,calc((100% - var(--p-wrap))/2));padding-inline:var(--pad)}
.placid-section{padding-block:clamp(2.5rem,6vw,4.5rem)}
.placid-section.alt{background:var(--p-cream)}
.placid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(16rem,100%),1fr));gap:1.25rem;margin-top:1.5rem}
.placid-card{background:#fff;border:1px solid var(--p-line);box-shadow:0 4px 20px -2px rgba(0,0,0,.05);transition:transform .3s ease,box-shadow .3s ease,border-color .3s;border-radius:var(--p-radius);padding:1.4rem;display:flex;flex-direction:column;gap:.25rem;position:relative}
.alt .placid-card{background:#fff}
.placid-card h3,.placid-card h2{margin-bottom:.4em;font-size:1.1rem}
.placid-card p{font-size:.92rem;color:var(--p-muted);margin-bottom:.5em}
.placid-card .tag{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--p-accent-dark);background:#FFE4DE;align-self:flex-start;padding:.15rem .6rem;border-radius:99px;margin-bottom:.5rem}
.placid-card h3 a{text-decoration:none;color:var(--p-green-900)}
.placid-card.is-link:hover,.placid-card.is-link:focus-within{border-color:var(--p-green-700);box-shadow:0 12px 25px -5px rgba(0,0,0,.12);transform:translateY(-3px)}
.placid-card.is-link h3 a::after{content:"";position:absolute;inset:0}
.placid-card.is-link h3 a:focus-visible{outline-offset:6px}
.placid-card.is-link h3 a:focus-visible::after{outline:3px solid var(--p-blue);border-radius:var(--p-radius)}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--p-accent-dark);margin-bottom:.6rem}
.lead{font-size:1.05rem;color:var(--p-muted)}

/* hero */
.placid-hero{background:linear-gradient(180deg,var(--p-green-900) 0%,#005996 100%);color:#fff;padding-block:clamp(3rem,8vw,6rem);position:relative;overflow:hidden}
.placid-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:420px;height:420px;opacity:.9;background:url("../images/pattern.svg") center/contain no-repeat;pointer-events:none}
.placid-hero>*{position:relative;z-index:1}
.placid-hero h1{color:#fff;max-width:20ch}
.placid-hero .eyebrow{color:var(--p-gold-500)}
.placid-hero .lead{color:#EDEBE8;max-width:60ch}
.hero-actions,.wp-block-buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}

/* buttons */
.btn,.wp-block-button__link{display:inline-block;font:inherit;font-weight:700;text-decoration:none;padding:.8rem 1.4rem;border-radius:999px;border:2px solid var(--p-green-700);background:var(--p-green-700);color:#fff;cursor:pointer;min-height:44px;transition:background .15s,color .15s,transform .15s}
.btn:hover,.wp-block-button__link:hover{background:var(--p-green-900);border-color:var(--p-green-900);color:#fff}
.btn.accent,.is-style-accent .wp-block-button__link{background:var(--p-gold-500);border-color:var(--p-gold-500);color:#0A0F1A}
.btn.accent:hover,.is-style-accent .wp-block-button__link:hover{background:#FF6B4A;border-color:#FF6B4A;color:#0A0F1A}
.btn.ghost,.is-style-outline .wp-block-button__link{background:transparent;color:var(--p-green-700)}
.btn.ghost:hover,.is-style-outline .wp-block-button__link:hover{background:var(--p-green-100);color:var(--p-green-900)}
.placid-hero .btn.ghost,.placid-cta .btn.ghost,.placid-hero .is-style-outline .wp-block-button__link{color:#fff;border-color:#fff}
.placid-hero .btn.ghost:hover,.placid-cta .btn.ghost:hover{background:rgba(255,255,255,.14);color:#fff}
.placid-hero .btn.primary,.placid-cta .btn.primary,.placid-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--p-gold-500);border-color:var(--p-gold-500);color:#fff}
.placid-hero .btn.primary:hover,.placid-cta .btn.primary:hover{background:#FF6B4A;border-color:#FF6B4A;color:#fff}

/* lists, steps, notices, cta */
.placid-checks{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.6rem;max-width:75ch}
.placid-checks li,.wp-block-list.placid-checks li{padding-left:1.8rem;position:relative}
.placid-checks li::before{content:"";position:absolute;left:0;top:.45em;width:.9rem;height:.9rem;border-radius:50%;background:var(--p-gold-500);box-shadow:inset 0 0 0 3px var(--p-green-700)}
.placid-steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(14rem,100%),1fr));gap:1.25rem;margin-top:1.5rem}
.placid-steps .placid-card{counter-increment:s}
.placid-steps .placid-card::before{content:counter(s);width:2.2rem;height:2.2rem;border-radius:50%;background:var(--p-green-700);color:#fff;font-weight:700;display:grid;place-items:center;margin-bottom:.6rem}
.placid-notice{border-left:6px solid var(--p-gold-500);background:var(--p-gold-100);border-radius:8px;padding:1.1rem 1.3rem;max-width:var(--p-wrap)}
.placid-notice.partner{border-left-color:var(--p-ink);background:#E8EEF4}
.placid-notice h2,.placid-notice h3{font-size:1.05rem;margin-bottom:.3em;font-family:var(--p-font)}
.placid-notice p{margin:0}
.placid-notice-wrap{padding-block:1.5rem}
.placid-cta{background:linear-gradient(180deg,var(--p-green-900) 0%,#005996 100%);color:#fff;padding-block:clamp(3rem,7vw,5rem);text-align:center}
.placid-cta h2{color:#fff;max-width:26ch;margin-inline:auto}
.placid-cta p{color:#C9D2DC;max-width:52ch;margin-inline:auto}
.placid-cta .hero-actions{justify-content:center}
.demo-flag{display:inline-block;background:#fff;color:#8A2D00;border:2px dashed #8A2D00;font-weight:700;padding:.1rem .6rem;border-radius:4px;font-size:.8rem;text-transform:uppercase}

/* finder & forms */
.finder{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin-top:1rem;align-items:end}
.finder-result{margin-top:1.25rem;min-height:2.5rem}
label{font-weight:600;display:block;margin-bottom:.3rem}
input,select,textarea{font:inherit;width:100%;padding:.7rem .8rem;border:2px solid #6B7773;border-radius:8px;background:#fff;color:var(--p-ink);min-height:44px}
textarea{min-height:8rem}
.placid-form{display:grid;gap:1.1rem;max-width:760px;margin-top:1.25rem}
.placid-form .row{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.field .hint{font-size:.9rem;color:var(--p-muted);margin:.2rem 0 0}
.field .error{color:#9B1C1C;font-weight:600;margin:.3rem 0 0}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#9B1C1C}
.req{color:#9B1C1C}
.check{display:flex;gap:.7rem;align-items:flex-start}
.check input{width:1.4rem;min-height:1.4rem;margin-top:.2rem}
.check label{font-weight:400;margin:0}
.hp-field{position:absolute;left:-9999px;height:0;overflow:hidden}
.form-status{border-radius:8px;padding:1rem 1.2rem;margin-top:1rem;max-width:760px}
.form-status.ok{background:var(--p-green-100);border:2px solid var(--p-green-700)}
.form-status.err{background:#FDECEC;border:2px solid #9B1C1C}
.form-status.sim{background:var(--p-gold-100);border:2px dashed #8A2D00}
.form-status ul{margin:.4rem 0 0 1.2rem}
.contact-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}

/* header */
.site-header{background:#fff;border-bottom:1px solid var(--p-line);position:sticky;top:0;z-index:50}
.site-header .bar{display:flex;align-items:center;gap:1rem;min-height:72px;width:min(1280px,100% - 2rem);margin-inline:auto}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--p-green-900);font-family:var(--p-serif);font-weight:700;font-size:1.1rem;margin-right:auto}
.brand img{width:44px;height:44px}
.brand small{display:block;max-width:15rem;font-family:var(--p-font);font-size:.68rem;font-weight:600;line-height:1.25;color:var(--p-muted)}
.menu-toggle{display:none;position:relative;font:inherit;font-size:0;line-height:0;color:transparent;background:#fff;border:2px solid var(--p-green-700);padding:0;width:44px;min-height:44px;border-radius:8px;cursor:pointer}
.menu-toggle::before,.menu-toggle::after{content:"";position:absolute;top:50%;left:50%;width:18px;height:2px;background:var(--p-green-700);transition:box-shadow .15s,transform .15s,background .15s,opacity .15s}
.menu-toggle::before{box-shadow:0 -6px 0 var(--p-green-700),0 6px 0 var(--p-green-700);transform:translate(-50%,-50%)}
.menu-toggle::after{opacity:0;transform:translate(-50%,-50%) rotate(45deg)}
.menu-toggle[aria-expanded="true"]::before{box-shadow:none;transform:translate(-50%,-50%) rotate(-45deg)}
.menu-toggle[aria-expanded="true"]::after{opacity:1}
.pnav ul{list-style:none;margin:0;padding:0}
.pnav>ul{display:flex;gap:.1rem;align-items:center}
.pnav li{position:relative}
.pnav a,.pnav button.sub-toggle{font:inherit;font-size:.9rem;font-weight:600;color:var(--p-ink);text-decoration:none;background:none;border:0;padding:.7rem .8rem;display:flex;align-items:center;gap:.3rem;cursor:pointer;min-height:44px;border-radius:6px}
.pnav a:hover,.pnav button.sub-toggle:hover{background:var(--p-green-100);color:var(--p-green-900)}
.pnav a[aria-current="page"]{color:var(--p-green-700);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:8px}
.sub-toggle::after{content:"";border:solid currentColor;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);margin-top:-3px}
.pnav .submenu{display:none;position:absolute;left:0;top:100%;min-width:19rem;background:#fff;border:1px solid var(--p-line);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.14);padding:.5rem;z-index:60}
.pnav li.open>.submenu{display:block}
.pnav .submenu a{font-weight:500;display:block}
@media (hover:hover) and (min-width:981px){.pnav li.has-sub:hover>.submenu{display:block}}
.header-cta{white-space:nowrap;font-size:.85rem;padding:.55rem 1.1rem;min-height:auto}

/* footer */
.site-footer{background:var(--p-cream);color:var(--p-muted);padding:clamp(3rem,6vw,4.5rem) 1rem 2rem}
.site-footer a{color:#49607C;text-decoration:none;transition:color .15s}
.site-footer a:hover,.site-footer a:focus-visible{color:var(--p-gold-500)}
.site-footer .cols{display:grid;gap:2.5rem 1.5rem;grid-template-columns:1.3fr repeat(4,1fr);max-width:var(--p-wrap);margin-inline:auto}
.site-footer h2,.site-footer h3{color:var(--p-ink);margin:0 0 1rem}
.site-footer .cols>div:first-child h2{font-family:var(--p-serif);font-size:1.15rem;font-weight:700}
.site-footer .cols>div:not(:first-child) h2{font-family:var(--p-font);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--p-ink)}
.site-footer .cols>div:first-child p{font-size:.92rem;line-height:1.6}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}
.site-footer ul a{font-size:.92rem}
.site-footer .legal{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;align-items:center;max-width:var(--p-wrap);margin:3rem auto 0;border-top:1px solid rgba(0,0,0,.08);padding-top:1.5rem;font-size:.82rem;color:#8993A1}
@media (max-width:980px){.site-footer .cols{grid-template-columns:repeat(2,1fr)}.site-footer .cols>div:first-child{grid-column:1/-1}}
@media (max-width:560px){.site-footer .cols{grid-template-columns:1fr}.site-footer .cols>div:first-child{grid-column:auto}}

/* feed (insights) */
.feed-empty{background:var(--p-cream);border:2px dashed var(--p-line);border-radius:var(--p-radius);padding:1.5rem}

/* responsive */
@media (max-width:980px){
  .menu-toggle{display:inline-block}
  .pnav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--p-line);max-height:calc(100vh - 72px);overflow:auto;padding:.5rem 1rem 1rem}
  .pnav.open{display:block}
  .pnav>ul{display:block}
  .pnav .submenu{position:static;box-shadow:none;border:0;padding:0 0 0 1rem;min-width:0}
  .pnav li>a,.pnav li>.sub-row{width:100%}
  .pnav button.sub-toggle{width:100%;justify-content:space-between}
  .header-cta{display:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.site-footer{display:none}}

.placid-main{padding:0;margin:0}

/* v1.2 blend: look and feel aligned with the dev-team site (navy, orange accent, rounded cards, pill badge) */
body{background:#fff}
.placid-hero .eyebrow{display:inline-block;background:#E6E8EB;border:1px solid transparent;padding:.3rem 1rem;border-radius:99px;color:#191C1E;text-transform:none;letter-spacing:.02em;font-size:.84rem}
.placid-accent,.placid-hero h1 mark{color:var(--p-gold-500);background:none}
.placid-hero h1{max-width:22ch}
.placid-card .stat{font-family:var(--p-serif);font-size:1.75rem;color:var(--p-green-900)}
.placid-hero .lead{max-width:62ch}
.logo-note{font-size:.9rem;color:var(--p-muted)}

.site-header .brand-text{gap:0}
.site-header .brand-name{margin:0;font-family:var(--p-serif);font-weight:700;font-size:1.1rem;line-height:1.1}
.site-header .brand-name a{text-decoration:none;color:var(--p-green-900)}
.site-header .brand-tag{margin:0;font-size:.68rem;font-weight:600;line-height:1.25;color:var(--p-muted);max-width:15rem}

/* v1.4 landing redesign: light hero + dark divider band (scoped to the home page) */
.placid-hero.light-hero{background:var(--p-cream);color:var(--p-ink)}
.placid-hero.light-hero h1{color:var(--p-green-900)}
.placid-hero.light-hero .eyebrow{background:rgba(16,42,67,.05);border-color:rgba(16,42,67,.14);color:var(--p-green-900)}
.placid-hero.light-hero .lead{color:var(--p-muted)}
.placid-hero.light-hero .btn.primary{background:var(--p-green-900);border-color:var(--p-green-900);color:#fff}
.placid-hero.light-hero .btn.primary:hover{background:#17446e;border-color:#17446e;color:#fff}
.placid-hero.light-hero .btn.ghost{background:transparent;color:var(--p-green-900);border-color:var(--p-green-900)}
.placid-hero.light-hero .btn.ghost:hover{background:var(--p-green-100);color:var(--p-green-900)}
.placid-hero.light-hero h1{font-size:clamp(2.1rem,4.5vw,3.25rem);font-weight:800;letter-spacing:-.01em}

/* v1.3 landing: logo card in the hero; brand lockup (logo + Placid + descriptor) */
.placid-hero.has-logo::after{width:300px;height:300px;right:max(1rem,calc((100% - var(--p-wrap))/2));top:50%;transform:translateY(-50%);opacity:1;background:#fff url("../images/logo.png") center/68% no-repeat;border-radius:36px;box-shadow:0 24px 60px -12px rgba(0,0,0,.45)}
.placid-hero.has-logo>*{max-width:min(100%,620px)}
@media (max-width:1000px){.placid-hero.has-logo::after{display:none}.placid-hero.has-logo>*{max-width:100%}}
.placid-hero.light-hero.has-logo::after{box-shadow:0 20px 50px -10px rgba(16,42,67,.2);border:1px solid var(--p-line)}

.hero-meta{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--p-muted);margin:0 0 1.1rem}
.hero-meta .sep{opacity:.5;margin:0 .15rem}

/* stats panel (record strip) */
.stats-panel-wrap{padding-block:clamp(1.25rem,4vw,2rem)}
.stats-panel{background:var(--p-cream);border:1px solid var(--p-line);border-radius:20px;padding:1.75rem clamp(1.25rem,4vw,2.5rem)}
.stats-panel__label{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--p-muted);margin:0 0 1.5rem}
.stats-panel__label .dot{display:inline-block;width:.45rem;height:.45rem;border-radius:50%;background:var(--p-gold-500);margin-right:.5rem}
.stats-panel__label .sep{opacity:.6;margin:0 .15rem}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1.5rem 1rem}
.stat-item p{margin:.35rem 0 0;font-size:.82rem;color:var(--p-muted)}
.stat-num{font-family:var(--p-serif);font-size:2.1rem;font-weight:700;color:var(--p-green-900);line-height:1}
.stat-unit{font-family:var(--p-serif);font-size:1.05rem;color:var(--p-gold-500);margin-left:.1rem}
@media (min-width:700px){.stat-item{border-left:1px solid var(--p-line);padding-inline-start:1.25rem}.stat-item:first-child{border-left:0;padding-inline-start:0}}

/* service-area cards: tag chip + divider, inspired by nerdheadz portfolio cards */
.service-grid .placid-card h3{border-bottom:1px solid var(--p-line);padding-bottom:.6rem;margin-bottom:.6rem}

.placid-band{background:linear-gradient(135deg,var(--p-green-900) 0%,#2A2E40 100%);color:#fff}
.placid-band h2{color:#fff}
.placid-band>p{color:#C9D2DC}
.placid-band .placid-grid{margin-top:2rem}
.placid-band .placid-card{background:transparent;border:0;box-shadow:none;padding:0}
.placid-band .placid-card:hover,.placid-band .placid-card:focus-within{transform:none;box-shadow:none;border-color:transparent}
.placid-band .placid-card h3 a{color:#fff}
.placid-band .placid-card p{color:#C9D2DC}
.placid-band .icon{width:2.75rem;height:2.75rem;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;margin-bottom:.75rem;color:var(--p-gold-500)}
.placid-band .icon svg{width:1.4rem;height:1.4rem}

/* ============================================================
   v2.0 landing page redesign (Figma reference screenshot)
   Scoped entirely to lp- prefixed classes + body.lp-page so the
   other 43 pages (which still use .placid-* chrome) are untouched.
   ============================================================ */
:root{
  --lp-navy-950:#00112F; --lp-blue-600:#005996; --lp-navy-700:#013E77;
  --lp-cream:#F6F1E9; --lp-gray:#F2F4F7; --lp-dark-card:#15181B;
  --lp-ink:#13161A; --lp-muted:#5B6673;
  --lp-line-light:rgba(230,213,208,.3); --lp-line-dark:rgba(255,255,255,.16);
  --lp-radius:20px;
}
.lp-section{padding-block:clamp(2.5rem,4.5vw,4rem)}
.lp-wrap{width:min(1200px,100% - 4rem);margin-inline:auto}
.lp-bg-cream{background:var(--lp-cream)}
.lp-bg-white{background:#fff}
.lp-bg-gray{background:var(--lp-gray)}
.lp-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.76rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.4rem .9rem;border-radius:999px;background:var(--lp-gray);color:var(--lp-ink);border:1px solid var(--lp-line-light)}
.lp-eyebrow .dot{width:.4rem;height:.4rem;border-radius:50%;background:var(--p-gold-500);flex:none}
.lp-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;border-bottom:1px solid var(--lp-line-light);padding-bottom:1.75rem;margin-bottom:2.5rem}
.lp-head-text{max-width:34rem}
.lp-head h2{font-family:var(--p-font);font-weight:600;letter-spacing:-.025em;font-size:clamp(1.75rem,3.2vw,2.75rem);color:var(--lp-ink);margin:.75rem 0 0;max-width:20ch}
.lp-head p{margin:1rem 0 0;color:var(--lp-muted);font-size:.98rem;max-width:34ch}
.lp-head-text .lp-eyebrow{background:none;border:0;padding:0;border-radius:0;color:var(--p-gold-500)}

/* buttons: white pill + arrow glyphs reuse existing .btn system */
.btn.white{background:#fff;border-color:#fff;color:var(--lp-ink)}
.btn.white:hover{background:var(--lp-gray);border-color:var(--lp-gray);color:var(--lp-ink)}
.btn .arrow{display:inline-block;margin-left:.35rem;transition:transform .15s}
.btn:hover .arrow{transform:translate(2px,-2px)}

/* hero */
.lp-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--lp-navy-950) 0%,var(--lp-blue-600) 100%);color:#fff;padding-block:clamp(3rem,7vw,5.5rem) clamp(1.5rem,4vw,2.5rem)}
.lp-hero .lp-wrap{position:relative;z-index:2}
.lp-hero-copy{max-width:900px}
.lp-hero .lp-eyebrow{background:#E6E8EB;border-color:transparent;color:#191C1E}
.lp-hero h1{font-family:var(--p-font);font-weight:800;letter-spacing:-.02em;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.1;color:#fff;margin:1.25rem 0 1.25rem;max-width:15ch}
.lp-hero h1 .accent{color:var(--p-gold-500)}
.lp-hero .lead{color:rgba(255,255,255,.76);font-size:1.05rem;max-width:52ch;margin-bottom:1.75rem}
.lp-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2.25rem}
.lp-hero-actions .btn,.lp-final-actions .btn{padding:.65rem 1.2rem;font-size:.92rem;min-height:44px}
.lp-hero-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;align-items:center;border-top:1px solid rgba(255,255,255,.14);padding-top:1.5rem;font-family:var(--p-font);font-weight:600;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.lp-hero-meta b{color:#fff;font-weight:700}
.lp-hero .btn.ghost{color:#fff;border-color:#fff}
.lp-hero .btn.ghost:hover{background:rgba(255,255,255,.14);color:#fff}
.lp-final-card .btn.ghost{color:#fff;border-color:transparent;background:rgba(255,255,255,.08)}
.lp-final-card .btn.ghost:hover{background:rgba(255,255,255,.16);color:#fff}
.lp-hero .btn.primary,.lp-final-card .btn.primary{background:var(--p-gold-500);border-color:var(--p-gold-500);color:#fff}
.lp-hero .btn.primary:hover,.lp-final-card .btn.primary:hover{background:#FF6B4A;border-color:#FF6B4A;color:#fff}

/* hero graphic: CSS/SVG approximation of the reference's 3D cube + particle network */
.lp-hero-art{position:absolute;z-index:1;top:50%;right:-6%;transform:translateY(-50%);width:66%;min-width:520px;max-width:1120px;pointer-events:none}
.lp-hero-art img{width:100%;height:auto;display:block}
@media (max-width:900px){.lp-hero-art{display:none}}

/* numbered capability band */
.lp-band-numbered{background:var(--lp-navy-700);color:#fff}
.lp-band-numbered .lp-head{border-bottom-color:rgba(255,255,255,.14)}
.lp-band-numbered .lp-head h2{color:#fff}
.lp-band-numbered .lp-head p{color:rgba(255,255,255,.65)}
.lp-numgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.lp-numgrid>div{padding:0 1.5rem;border-left:1px solid rgba(255,255,255,.14)}
.lp-numgrid>div:first-child{padding-left:0;border-left:0}
.lp-numgrid .num{display:block;font-weight:700;color:var(--p-gold-500);font-size:.85rem;margin-bottom:.75rem}
.lp-numgrid h3{font-family:var(--p-font);font-weight:700;font-size:1.05rem;color:#fff;margin:0 0 .5rem}
.lp-numgrid p{margin:0;color:rgba(255,255,255,.65);font-size:.88rem}
.lp-numgrid h3 a{color:inherit;text-decoration:none}
.lp-numgrid h3 a:hover{text-decoration:underline}
@media (max-width:900px){.lp-numgrid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.lp-numgrid>div{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding:1.25rem 0 0}.lp-numgrid>div:first-child{border-top:0;padding-top:0}}
@media (max-width:560px){.lp-numgrid{grid-template-columns:1fr}}

/* finder card */
.lp-finder-card{background:#fff;border:1px solid rgba(230,213,208,.5);border-radius:var(--lp-radius);box-shadow:0 20px 60px -20px rgba(0,0,0,.15);padding:clamp(1.5rem,4vw,2.5rem)}
.lp-finder-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:1px solid var(--lp-line-light);padding-bottom:1.5rem;margin-bottom:1.5rem}
.lp-finder-top .lp-eyebrow{background:#C7DFFF;border:0;border-radius:4px;padding:.3rem .7rem;color:#49607C;margin-bottom:.9rem}
.lp-finder-top .lp-eyebrow .dot{display:none}
.lp-finder-top h2{font-family:var(--p-font);font-weight:500;font-size:1.75rem;color:var(--lp-ink);margin:0 0 .4rem}
.lp-finder-top p{margin:0;color:var(--lp-muted);max-width:52ch;font-size:.95rem}
.lp-finder-tag{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--p-gold-500);white-space:nowrap}
.lp-finder-row{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:end}
.lp-finder-row label{font-size:.85rem;font-weight:600;color:var(--lp-ink);margin-bottom:.4rem;display:block}
.lp-finder-row select{background:var(--lp-gray);border:1px solid rgba(230,213,208,.6);border-radius:10px;padding:.75rem .9rem;min-height:44px}
.lp-finder-row .btn{background:var(--lp-ink);border-color:var(--lp-ink);border-radius:10px;min-height:44px}
.lp-finder-row .btn:hover{background:#000;border-color:#000}
@media (max-width:700px){.lp-finder-row{grid-template-columns:1fr}}

/* card grid v2: service areas / experience / training */
.lp-cardgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.25rem}
.lp-cardgrid.cols-4{grid-template-columns:repeat(4,1fr)}
.lp-cardgrid .span3{grid-column:span 3}
.lp-cardgrid .span2{grid-column:span 2}
@media (max-width:900px){.lp-cardgrid,.lp-cardgrid.cols-4{grid-template-columns:1fr 1fr}.lp-cardgrid .span3,.lp-cardgrid .span2{grid-column:span 1}}
@media (max-width:560px){.lp-cardgrid,.lp-cardgrid.cols-4{grid-template-columns:1fr}}
.lp-card2{background:#fff;border:1px solid rgba(230,213,208,.6);border-radius:var(--lp-radius);padding:1.75rem;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s,border-color .2s;position:relative}
.lp-card2.is-link:hover,.lp-card2.is-link:focus-within{box-shadow:0 20px 45px -15px rgba(0,0,0,.12);transform:translateY(-3px);border-color:rgba(0,0,0,.18)}
.lp-card2.is-link h3 a::after{content:"";position:absolute;inset:0}
.lp-card2.is-link h3 a:focus-visible{outline-offset:6px}
.lp-card2.flagship{border-color:var(--p-gold-500);box-shadow:0 0 0 1px var(--p-gold-500) inset}
.lp-card2-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}
.lp-card2>.badge{align-self:flex-start;margin-bottom:1.25rem}
.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px}
.lp-card2 .badge{background:#FFE4DE;color:#FC4823}
.lp-card2 .badge.blue{background:#C7DFFF;color:#49607C}
.lp-card2 .badge.purple{background:#DEE1F9;color:#171B2C}
.lp-card2 .badge.orange{background:var(--p-gold-500);color:#fff}
.lp-card2 .icon{width:1.9rem;height:1.9rem;color:var(--lp-muted);flex:none}
.lp-card2 h3{font-family:var(--p-font);font-weight:700;font-size:1.1rem;color:var(--lp-ink);margin:0 0 .6rem}
.lp-card2 h3 a{color:inherit;text-decoration:none}
.lp-card2 p{margin:0;color:var(--lp-muted);font-size:.92rem;flex:1}
.lp-card2-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--lp-line-light);margin-top:1.5rem;padding-top:1rem;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--lp-muted)}
.lp-card2-foot .go{color:var(--p-gold-500);display:inline-flex;align-items:center;gap:.25rem}

/* partner ecosystem: dark bordered cards */
.lp-band-partners{background:var(--lp-navy-700);color:#fff}
.lp-band-partners .lp-head{border-bottom-color:rgba(255,255,255,.14)}
.lp-band-partners .lp-head h2{color:#fff}
.lp-band-partners .lp-head p{color:rgba(255,255,255,.65)}
.lp-band-partners .lp-head .lp-eyebrow{color:var(--p-gold-500)}
.lp-partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem}
.lp-partner-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);border-radius:var(--lp-radius);padding:1.5rem;position:relative;transition:background .2s,border-color .2s}
.lp-partner-card.is-link:hover,.lp-partner-card.is-link:focus-within{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3)}
.lp-partner-card .badge{background:#FFE4DE;color:#FC4823;border-radius:4px}
.lp-partner-card .badge.blue{background:#C7DFFF;color:#49607C}
.lp-partner-card .badge.purple{background:#DEE1F9;color:#171B2C}
.lp-partner-card .icon{position:absolute;top:1.5rem;right:1.5rem;width:1.7rem;height:1.7rem;color:rgba(255,255,255,.85)}
.lp-partner-card h3{color:#fff;font-family:var(--p-font);font-weight:700;font-size:1.05rem;margin:1rem 0 .5rem}
.lp-partner-card h3 a{color:inherit;text-decoration:none}
.lp-partner-card.is-link h3 a::after{content:"";position:absolute;inset:0}
.lp-partner-card p{color:rgba(255,255,255,.65);font-size:.9rem;margin:0}
.lp-partner-card .foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.14);margin-top:1.25rem;padding-top:.9rem;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.lp-partner-card .foot .status{color:var(--p-gold-500)}

/* final CTA: floating dark card with glow + seal */
.lp-final-card{position:relative;overflow:hidden;background:var(--lp-dark-card);border-radius:28px;padding:clamp(2rem,5vw,3.5rem);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}
.lp-final-card::before{content:"";position:absolute;right:-8%;top:50%;transform:translateY(-50%);width:46%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(252,72,35,.55),transparent 70%);filter:blur(6px);pointer-events:none}
.lp-final-card>*{position:relative;z-index:1}
.lp-final-card .lp-eyebrow{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.lp-final-card h2{font-family:var(--p-font);font-weight:800;font-size:clamp(1.75rem,4vw,2.4rem);color:#fff;margin:1rem 0 1rem;max-width:16ch}
.lp-final-card p{color:rgba(255,255,255,.7);max-width:46ch;margin-bottom:1.75rem}
.lp-final-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.lp-seal{width:148px;height:148px;border-radius:50%;background:var(--p-gold-500);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;border:1px dashed rgba(255,255,255,.55);outline:1px solid rgba(255,255,255,.14);outline-offset:8px;flex:none}
.lp-seal small{display:block;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.lp-seal strong{display:block;font-family:var(--p-font);font-size:1rem;font-weight:800;margin:.25rem 0}
.lp-seal span{font-size:.64rem;opacity:.85}
@media (max-width:760px){.lp-final-card{grid-template-columns:1fr;text-align:center;padding:2rem}.lp-final-card .lp-eyebrow,.lp-final-card h2,.lp-final-card p{margin-inline:auto}.lp-final-actions{justify-content:center}.lp-seal{margin-inline:auto}}

/* footer: the landing page uses a slightly cooler gray instead of cream */
body.lp-page .site-footer{background:var(--lp-gray);background-image:none}
