.container{width:min(calc(100% - 2.5rem),var(--max));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgb(251 250 246 / 94%);border-bottom:1px solid rgb(31 107 82 / 10%);backdrop-filter:blur(14px)}
.header-row{min-height:78px;display:flex;align-items:center;gap:var(--space-4)}
.brand{display:inline-flex;align-items:center;gap:.65rem;flex:none;color:var(--navy);font-size:1.18rem;font-weight:850;letter-spacing:-.03em;text-decoration:none}
.brand-logo{width:145px;height:auto;display:block}.brand-footer .brand-logo{filter:brightness(0) invert(1)}
.nav{display:flex;align-items:center;gap:.25rem;margin-left:auto}.nav a{color:#49635b;font-weight:650;text-decoration:none;padding:.6rem .75rem;border-radius:9px;font-size:.92rem}.nav a[aria-current="page"],.nav a:hover{background:#e9f2ec;color:var(--teal-dark)}
.header-actions{display:flex;align-items:center;gap:.55rem}.main{min-height:calc(100vh - 220px)}.page{padding:3.5rem 0 var(--space-6)}
.page-heading{max-width:780px;margin-bottom:2.5rem}.page-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,5vw,4rem);font-weight:500;letter-spacing:-.04em;margin-bottom:1rem}.page-heading p{font-size:1.08rem;color:var(--muted);max-width:680px}
.hero{position:relative;overflow:hidden;padding:clamp(4.5rem,9vw,8rem) 0 6rem;background:linear-gradient(125deg,#f4f8ef 0%,#fbfaf6 62%,#fff0e6 100%)}.hero::before{content:"";position:absolute;width:380px;height:380px;border:1px solid rgb(31 107 82 / 10%);border-radius:50%;right:-130px;top:-180px;box-shadow:0 0 0 55px rgb(31 107 82 / 3%),0 0 0 110px rgb(31 107 82 / 2%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.72fr);gap:clamp(3rem,7vw,7rem);align-items:center}.hero-content{position:relative;z-index:1}
.eyebrow{display:inline-block;color:var(--teal);font-size:.77rem;text-transform:uppercase;letter-spacing:.13em;font-weight:850;margin-bottom:1rem}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.35rem,6.7vw,6rem);font-weight:500;line-height:.97;letter-spacing:-.055em;margin-bottom:1.5rem;max-width:760px}.hero h1 em{color:var(--coral);font-weight:500}.hero-copy{font-size:clamp(1.08rem,2vw,1.28rem);max-width:680px;color:#536a63;margin-bottom:2rem}
.hero-panel{position:relative;background:rgb(255 255 255 / 88%);border:1px solid #e1e9e3;border-radius:28px;padding:1.7rem;box-shadow:0 30px 80px rgb(31 80 64 / 15%);transform:rotate(1deg)}
.section{padding:var(--space-6) 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:2rem}.section-head h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.25rem);font-weight:500;letter-spacing:-.035em;margin-bottom:.6rem}.section-head p{color:var(--muted);max-width:640px}.section-head-centered{text-align:center;justify-content:center;align-items:center}.section-head-centered p{margin-inline:auto}
.grid{display:grid;gap:1.25rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.5rem;align-items:start}.sticky{position:sticky;top:100px}
.impact-strip{background:var(--navy);color:#fff}.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:1.5rem}.impact-grid>div{display:grid;gap:.15rem;padding:.3rem 2rem;border-right:1px solid rgb(255 255 255 / 18%)}.impact-grid>div:first-child{padding-left:0}.impact-grid>div:last-child{border:0}.impact-grid strong{font-size:1rem}.impact-grid span{color:#bad0c7;font-size:.82rem}
.story-section{background:#eff4ef}.story-grid{display:grid;grid-template-columns:1fr minmax(340px,.7fr);gap:clamp(3rem,8vw,8rem);align-items:center}.story-grid h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,4.5vw,4rem);font-weight:500;letter-spacing:-.04em}.story-grid>div>p{color:var(--muted);font-size:1.08rem;max-width:640px}
.final-cta{background:var(--teal);color:#fff;padding-block:3.5rem}.final-cta .container{display:flex;justify-content:space-between;align-items:center;gap:2rem}.final-cta .eyebrow{color:#c8ded4}.final-cta h2{color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:500;margin-bottom:.45rem}.final-cta p{color:#d6e6df;margin:0}
.civic-hero{background:radial-gradient(circle at 82% 12%,rgb(241 124 87 / 18%),transparent 24%),linear-gradient(125deg,#eff8f1 0%,#f7f8f4 58%,#fff2e9 100%)}.civic-hero .eyebrow{text-transform:none}
.proof-strip{background:var(--navy);color:#fff}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-block:1.35rem}.proof-grid>div{display:flex;align-items:baseline;gap:.65rem;padding-inline:1.5rem;border-right:1px solid rgb(255 255 255 / 15%)}.proof-grid>div:first-child{padding-left:0}.proof-grid>div:last-child{border:0}.proof-grid strong{font-family:Georgia,serif;font-size:1.75rem;font-weight:500}.proof-grid span{color:#b9d0c8;font-size:.8rem}
.agent-section{background:var(--navy);color:#fff}.agent-section h2{font-family:Georgia,serif;font-size:clamp(2.3rem,4.5vw,4rem);font-weight:500;line-height:1.05}.agent-section p{color:#bcd1ca}.split-feature{display:grid;grid-template-columns:1fr .85fr;gap:clamp(3rem,8vw,8rem);align-items:center}
.service-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.75fr);gap:1.5rem;align-items:start}.service-detail-head{display:flex;align-items:flex-start;gap:1.5rem}.service-detail-head .page-heading{margin-bottom:2rem}.compact-section{padding-bottom:0}.demo-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);gap:1.5rem}
.footer{background:#102f27;color:#bdd0c8;padding:3rem 0}.footer-row{display:grid;grid-template-columns:1fr auto minmax(240px,.65fr);align-items:start;gap:3rem}.brand-footer{color:#fff}.brand-footer .brand-mark{background:var(--coral)}.footer-row p{margin:.65rem 0 0}.footer-links{display:grid;gap:.55rem}.footer a{color:#e3eee9;text-decoration:none}.footer-note{font-size:.82rem;line-height:1.6}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:100;background:#fff;padding:.75rem}.skip-link:focus{top:1rem}
