:root{--navy:#0b2538;--blue:#12394a;--teal:#23796f;--mint:#d9ebe5;--ivory:#f7f4ec;--gold:#d6a84f;--ink:#172832;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65;background:var(--ivory)}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:12px;z-index:20}.site-header{height:98px;display:flex;align-items:center;gap:28px;padding:0 max(24px,calc((100% - var(--max))/2));background:var(--ivory);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font-size:18px;line-height:1.05;white-space:nowrap}.brand img{width:42px;height:42px}.brand span{display:flex;flex-direction:column}.brand b{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:var(--teal)}nav{display:flex;gap:20px;margin-left:auto}nav a{text-decoration:none;font-size:14px;font-weight:650}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);padding:12px 21px;border:0;border-radius:4px;text-decoration:none;font-weight:800;cursor:pointer}.button:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.header-cta{background:var(--teal);color:#fff}.menu{display:none}.hero{min-height:650px;background:var(--navy);color:#fff;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;padding:64px max(24px,calc((100% - var(--max))/2));overflow:hidden}.hero-copy{max-width:680px;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-weight:800;font-size:12px;color:var(--teal);margin:0 0 16px}.hero .eyebrow{color:#83c8ba}.dark .eyebrow,.contact .eyebrow{color:var(--gold)}h1{font-family:Georgia,serif;font-size:clamp(43px,5.1vw,70px);line-height:1.03;letter-spacing:-.035em;margin:0 0 25px;font-weight:500}h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,50px);line-height:1.08;letter-spacing:-.025em;color:var(--navy);margin:0 0 20px;font-weight:500}h3{line-height:1.2;color:var(--navy)}.lede{font-size:19px;max-width:660px;color:#dfe9eb}.actions{display:flex;gap:14px;margin:32px 0}.ghost{background:transparent;color:#fff;border:1px solid #76909c}.audience{font-size:13px;color:#aac0c7}.hero-art{align-self:stretch;display:flex;align-items:flex-end;justify-content:center;min-width:0}.hero-art img{width:min(720px,54vw);height:auto;margin-right:-17vw;opacity:1;filter:drop-shadow(0 24px 45px #00141f)}.trust{background:var(--teal);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);padding:20px max(24px,calc((100% - var(--max))/2));gap:20px;font-size:13px;font-weight:750;text-align:center}.trust span+span{border-left:1px solid #72a89f}.section{max-width:var(--max);margin:auto;padding:100px 24px}.intro{max-width:760px;font-size:18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.cards article{background:#fff;padding:31px;border-top:4px solid var(--teal);min-height:290px;display:flex;flex-direction:column;box-shadow:0 9px 28px #1732460d}.cards i{font-style:normal;color:var(--teal);font-weight:800}.cards h3{font-size:21px}.cards a{margin-top:auto;text-decoration:none;font-weight:800;color:var(--teal);font-size:14px}.split{padding:100px max(24px,calc((100% - var(--max))/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.dark{background:var(--blue);color:#e7f0f1}.dark h2,.contact h2{color:#fff}.serve{display:grid;grid-template-columns:1fr 1fr;gap:34px}.serve b,.serve span{display:block}.serve b{font-size:17px;color:#fff;margin-bottom:8px}.serve span{font-size:14px;color:#bed0d4}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:50px}.steps strong{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--mint);color:var(--teal)}.local{background:#e6eee9;padding:80px max(24px,calc((100% - var(--max))/2));display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:60px}.local img{max-width:100%;max-height:300px}.text-link{font-weight:800;color:var(--teal)}.about{background:#fff}.quote{font-family:Georgia,serif;font-size:28px;line-height:1.35;color:var(--navy);margin-top:0}.faq{max-width:900px}.faq details{border-top:1px solid #cfc8ba;padding:18px 0}.faq details:last-child{border-bottom:1px solid #cfc8ba}.faq summary{font-weight:800;color:var(--navy);cursor:pointer;font-size:18px}.contact{background:var(--navy);color:#fff;padding:90px max(24px,calc((100% - var(--max))/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}.contact-links{display:flex;flex-direction:column;gap:8px;font-weight:800;color:#9ed2c8}.contact form{background:#fff;color:var(--ink);padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact label{font-size:13px;font-weight:750}.contact input,.contact select,.contact textarea{display:block;width:100%;margin-top:6px;border:1px solid #aeb7b8;padding:12px;font:inherit;background:#fff}.wide{grid-column:1/-1}.phi{grid-column:1/-1;margin:0;background:#eef4f2;border-left:4px solid var(--teal);padding:12px;font-size:12px}footer{background:#071c2a;color:#c9d7db;padding:55px max(24px,calc((100% - var(--max))/2));text-align:center}footer .brand{justify-content:center;color:#fff}footer a{color:#fff}footer small{display:block;max-width:850px;margin:20px auto 0;font-size:11px;color:#9db0b6}.mobile-bar{display:none}
@media(max-width:900px){.site-header{height:70px;padding:0 18px}.menu{display:block;margin-left:auto;background:transparent;border:1px solid var(--teal);min-height:44px;padding:0 14px;color:var(--navy);font-weight:750}.header-cta{display:none}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--ivory);padding:18px;box-shadow:0 10px 20px #0002}nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr;padding-top:60px;min-height:auto}.hero-art{display:none}.trust{grid-template-columns:1fr 1fr}.trust span+span{border:0}.cards{grid-template-columns:1fr 1fr}.split,.contact{grid-template-columns:1fr;gap:40px}.local{grid-template-columns:1fr}.local img{display:none}}
@media(max-width:600px){body{padding-bottom:62px}.hero{padding:53px 20px 56px}.hero h1{font-size:43px}.lede{font-size:17px}.actions{flex-direction:column;align-items:stretch}.trust{grid-template-columns:1fr;padding:20px}.section,.split,.local,.contact{padding:70px 20px}.cards,.serve,.steps{grid-template-columns:1fr}.cards article{min-height:250px}.contact form{grid-template-columns:1fr;padding:20px}.contact form>*{grid-column:1}.mobile-bar{position:fixed;display:grid;grid-template-columns:1fr 1fr;left:0;right:0;bottom:0;height:62px;z-index:12;box-shadow:0 -4px 18px #0003}.mobile-bar a{display:flex;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);font-weight:850;text-decoration:none}.mobile-bar a:last-child{background:var(--teal);color:#fff}}

/* Narrow-screen containment refinements from rendered visual QA */
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:600px){
  body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
  .site-header,.hero,.trust,.section,.split,.local,.contact,footer{width:100%;max-width:100%}
  .hero-copy{width:100%;max-width:100%;min-width:0}
  .hero h1{font-size:clamp(39px,11vw,48px);overflow-wrap:break-word}
  .hero .eyebrow{font-size:10px;letter-spacing:.12em}
  .lede,.audience{max-width:100%;overflow-wrap:break-word}
  .actions .button{width:100%;max-width:100%;min-width:0;white-space:normal;text-align:center}
  .mobile-bar{display:flex;width:100%;max-width:100%;height:calc(62px + env(safe-area-inset-bottom))}
  .mobile-bar a{flex:1 1 0;min-width:0}
}
@media(max-width:600px){.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto}.brand{min-width:0}.menu{display:block;position:relative;z-index:2}.hero{display:block;width:100vw;max-width:100vw;min-width:0}.hero-copy{display:block;min-width:0}.hero h1,.hero p{width:auto;max-width:100%;white-space:normal}.actions{width:100%;max-width:100%}.mobile-bar{box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr))!important}.mobile-bar a{width:100%;max-width:100%}}
@media(max-width:600px){body{padding-bottom:0}.hero{padding-bottom:130px}.mobile-bar{height:62px;padding-bottom:0}}
@media(max-width:600px){.mobile-bar{position:sticky;bottom:0;margin-top:-62px}.hero{padding-bottom:56px}}
@media(max-width:600px){footer{padding-bottom:117px}.mobile-bar{position:fixed;margin-top:0}}
@media(max-width:600px){footer{padding-bottom:55px}.mobile-bar{position:sticky;bottom:0;margin:0;height:62px}}

/* Client-recap service framework revision */
.service-frameworks{display:grid;gap:28px;margin-top:45px}.framework{background:#fff;padding:38px;border-top:5px solid var(--teal);box-shadow:0 9px 28px #1d38480d}.framework:nth-child(2){border-top-color:var(--gold)}.framework-label{text-transform:uppercase;letter-spacing:.14em;font-weight:850;font-size:12px;color:var(--teal);margin:0 0 12px}.framework h3{font-family:Georgia,serif;font-size:30px;font-weight:500;margin:0 0 10px}.framework h3 em{color:var(--teal);font-weight:400}.framework>p:not(.framework-label){max-width:760px}.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.tiers>div{background:var(--ivory);padding:24px;min-height:210px}.tiers i{font-style:normal;color:var(--teal);font-weight:850}.tiers h4{font-size:17px;color:var(--navy);margin:12px 0 8px}.tiers p{font-size:14px;margin:0}@media(max-width:700px){.framework{padding:25px}.framework h3{font-size:26px}.tiers{grid-template-columns:1fr}.tiers>div{min-height:0}}


/* Primary-source client visual reference: editorial serif, warm neutrals, tracked labels */
.hero h1{color:#fff;max-width:760px}.hero h1 em{display:block;color:#83c8ba;font-weight:400}.hero .button:not(.ghost){background:var(--gold);color:var(--navy);border:0;border-radius:4px;padding-inline:21px;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.hero .actions{gap:14px}.hero .ghost{background:transparent;color:#fff;border:1px solid #76909c;border-radius:4px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;padding-inline:21px}.eyebrow{text-transform:uppercase;letter-spacing:.2em}.section,.local,.about{background:var(--ivory)}

/* Final build integration: canonical logo, shared Razor pages, and server-backed form */
.brand-logo{display:inline-flex;align-items:center;min-width:0}
.brand-logo img{display:block;width:280px;height:84px;object-fit:contain;object-position:left center}
footer .brand-logo img{width:230px;height:96px;object-position:center}
.page-hero{padding:90px max(24px,calc((100% - var(--max))/2));background:var(--ivory)}
.page-hero h1{max-width:900px}.page-hero>p:last-child{max-width:760px;font-size:18px;color:var(--blue)}
.contact-page{align-items:start}.contact-page form h2{grid-column:1/-1;color:var(--navy);font-size:34px}
.contact-panel{align-self:center;background:#fff;color:var(--ink);padding:30px}.contact-panel p{margin-top:0}
.lead-form .status,.lead-form [role="alert"]{grid-column:1/-1}.field-note{display:block;font-size:12px;color:var(--blue);margin-top:5px}.status{background:var(--mint);border-left:4px solid var(--teal);padding:12px}
.simple-layout{min-height:100vh;display:grid;place-items:center;background:var(--ivory)}.simple-main{width:min(800px,calc(100% - 40px));padding:50px;background:#fff}.simple-main h1{color:var(--navy)}
@media(max-width:900px){.site-header{height:92px}.brand-logo img{width:225px;height:72px}nav{top:92px}.page-hero{padding:70px 20px}.contact-page form h2{font-size:30px}}
@media(max-width:600px){.site-header{height:84px}.brand-logo img{width:185px;height:62px}nav{top:84px}footer .brand-logo img{width:210px;height:85px}.page-hero{padding:58px 20px}.page-hero h1{font-size:42px}.contact-page form h2{font-size:28px}}

/* Original first-site dark composition with logo-matched accents; no black or dark-gold hero text. */
.eyebrow,.text-link,.framework-label,.tiers i{color:var(--teal)}
.hero .eyebrow,.hero h1 em{color:#83c8ba}
.dark .eyebrow,.contact .eyebrow{color:var(--gold)}
.hero .lede{color:#dfe9eb}.hero .audience{color:#aac0c7}.page-hero>p:last-child{color:var(--blue)}
