:root { --ink:#081e29; --cream:#f5f3ec; --paper:#fffefa; --mint:#3ae0a5; --mint-dark:#18bd86; --line:rgba(255,255,255,.15); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
.hero-shell { min-height:100vh; padding:0 5vw; color:white; background:radial-gradient(circle at 82% 20%,rgba(58,224,165,.11),transparent 28rem),linear-gradient(145deg,#061923 0%,#092531 58%,#0a202a 100%); overflow:hidden; position:relative; }
.hero-shell::before { content:""; position:absolute; width:34rem; height:34rem; border:1px solid rgba(58,224,165,.09); border-radius:50%; right:-15rem; top:9rem; box-shadow:0 0 0 7rem rgba(58,224,165,.025),0 0 0 14rem rgba(58,224,165,.018); pointer-events:none; }
.site-header { height:104px; max-width:1440px; margin:auto; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; z-index:5; }
.brand { display:flex; align-items:center; gap:12px; }
.brand-logo { display:block; width:225px; max-width:100%; height:auto; }
.brand-copy { display:flex; flex-direction:column; line-height:1; }
.brand-copy strong { font-size:20px; letter-spacing:-.035em; }
.brand-copy small { font-size:9px; letter-spacing:.3em; margin-top:7px; font-weight:700; }
.brand-mark { width:38px; height:38px; display:inline-flex; border:2px solid var(--ink); border-radius:50%; position:relative; flex:none; }
.brand-mark span::before { content:""; position:absolute; width:18px; height:9px; border-left:3px solid var(--mint-dark); border-bottom:3px solid var(--mint-dark); transform:rotate(-45deg); left:9px; top:10px; }
.brand-mark-light { border-color:white; }
.brand-mark-light span::before { border-color:var(--mint); }
nav { display:flex; gap:clamp(20px,2.5vw,42px); color:#d5e0e3; font-size:15px; }
nav a { transition:color .2s ease; }
nav a:hover { color:var(--mint); }
.mobile-menu { display:none; }
.header-cta { font-size:15px; font-weight:700; border:1px solid rgba(255,255,255,.35); padding:14px 18px; border-radius:999px; display:flex; gap:14px; }
.header-cta:hover { background:white; color:var(--ink); }
.hero-grid { max-width:1440px; margin:auto; display:grid; grid-template-columns:1.04fr .96fr; gap:clamp(50px,7vw,110px); align-items:center; min-height:690px; padding:74px 0 62px; position:relative; z-index:2; }
.eyebrow { color:#c3d1d5; font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:.18em; display:flex; align-items:center; gap:10px; }
.eyebrow span { width:28px; height:2px; background:var(--mint); }
h1 { margin:27px 0 26px; font-size:clamp(52px,5.5vw,86px); letter-spacing:-.04em; line-height:.96; max-width:790px; font-weight:690; }
h1 em { display:block; margin-top:.08em; font-style:normal; letter-spacing:-.02em; color:var(--mint); }
.hero-intro { color:#c2d0d4; max-width:650px; font-size:clamp(17px,1.35vw,21px); line-height:1.65; }
.hero-actions { margin-top:38px; display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:20px; font-weight:750; font-size:14px; border-radius:4px; padding:18px 22px; transition:transform .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--mint); color:var(--ink); }
.button-primary:hover { background:#6aebbd; }
.text-link { color:white; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:5px; font-size:14px; }
.text-link span { color:var(--mint); margin-left:8px; }
.fee-note { margin-top:27px; color:#adc0c5; font-size:14px; }
.fee-note span { color:var(--mint); margin-right:7px; }
.analysis-wrap { position:relative; }
.analysis-glow { position:absolute; inset:8% 4% -5%; background:var(--mint); opacity:.13; filter:blur(70px); border-radius:50%; }
.analysis-card { position:relative; background:rgba(255,255,255,.975); color:var(--ink); padding:clamp(26px,3vw,44px); border-radius:10px; box-shadow:0 35px 90px rgba(0,0,0,.33); }
.analysis-top { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; padding-bottom:25px; border-bottom:1px solid #dae2e3; }
.analysis-top p { font-size:11px; font-weight:800; letter-spacing:.18em; color:#678087; margin:0 0 9px; }
.analysis-top h2 { font-size:clamp(22px,2vw,31px); letter-spacing:-.045em; margin:0; }
.live-pill { white-space:nowrap; font-size:10px; font-weight:850; letter-spacing:.1em; background:#ddf9ee; color:#087c57; padding:9px 11px; border-radius:99px; display:flex; align-items:center; gap:6px; }
.live-pill i { width:6px; height:6px; border-radius:50%; background:var(--mint-dark); }
.provider-count { padding:24px 0 20px; display:flex; align-items:center; gap:13px; }
.provider-count>strong { font-size:42px; letter-spacing:-.07em; }
.provider-count>span { font-size:12px; line-height:1.4; color:#60777e; text-transform:uppercase; font-weight:750; letter-spacing:.06em; }
.review-list { border:1px solid #d9e1e2; border-radius:7px; overflow:hidden; }
.review-list div { min-height:55px; padding:0 14px; display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:8px; border-bottom:1px solid #e5e9ea; }
.review-list div:last-child { border:0; }
.review-list span { font-size:10px; color:#829499; }
.review-list p { margin:0; font-size:13px; font-weight:700; }
.review-list b { font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:#147b5d; background:#e2f8f0; padding:7px 8px; border-radius:3px; }
.recommendation { margin-top:20px; background:var(--ink); color:white; padding:17px; display:flex; align-items:center; gap:13px; border-radius:6px; }
.recommendation .brand-mark { border-color:#64808a; width:32px; height:32px; }
.recommendation .brand-mark span::before { width:14px; height:7px; left:8px; top:8px; }
.recommendation div { display:flex; flex-direction:column; gap:4px; }
.recommendation small { font-size:9px; letter-spacing:.14em; color:var(--mint); font-weight:800; }
.recommendation strong { font-size:12px; line-height:1.35; }
.trust-row { max-width:1440px; margin:auto; border-top:1px solid var(--line); min-height:80px; display:flex; justify-content:space-between; align-items:center; position:relative; z-index:2; color:#c4d2d6; font-size:13.5px; letter-spacing:.075em; text-transform:uppercase; font-weight:750; }
.trust-row span { display:flex; align-items:center; gap:12px; }
.trust-row span::before { content:""; width:5px; height:5px; border:1px solid var(--mint); transform:rotate(45deg); }
.problem-strip { padding:clamp(90px,10vw,150px) 5vw; max-width:1520px; margin:auto; }
.section-kicker { font-size:13px; color:#587078; text-transform:uppercase; letter-spacing:.16em; font-weight:800; }
.problem-strip>h2 { font-size:clamp(42px,5vw,74px); line-height:1.02; letter-spacing:-.055em; margin:22px 0 68px; max-width:1050px; }
.problem-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #c9cfcd; }
.problem-grid article { padding:34px 42px 10px 0; min-height:220px; border-right:1px solid #c9cfcd; margin-right:35px; }
.problem-grid article:last-child { border:0; margin-right:0; }
.problem-grid b { color:var(--mint-dark); font-size:11px; }
.problem-grid h3 { font-size:24px; letter-spacing:-.035em; margin:29px 0 13px; }
.problem-grid p { color:#53666c; line-height:1.7; font-size:17px; max-width:350px; }
.section-heading { max-width:1400px; margin:auto; }
.section-heading>h2,.process-intro h2,.results-lead h2,.about-copy h2,.faq-heading h2,.contact-copy h2 { font-size:clamp(42px,5vw,76px); line-height:1.02; letter-spacing:-.055em; margin:20px 0 25px; }
.comparison-section { background:#0b2530; color:white; padding:clamp(90px,10vw,155px) 5vw; }
.light-heading .section-kicker { color:var(--mint); }
.light-heading>h2 { font-size:clamp(45px,5.2vw,78px); line-height:1; letter-spacing:-.055em; margin:22px 0; max-width:1100px; }
.light-heading>h2 span { color:#8ea5ac; }
.light-heading>p:last-child { color:#aebfc4; max-width:650px; font-size:18px; line-height:1.7; }
.comparison-grid { max-width:1400px; margin:70px auto 0; display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(255,255,255,.15); border-left:1px solid rgba(255,255,255,.15); }
.comparison-grid article { padding:42px clamp(25px,4vw,62px) 48px; min-height:250px; border-right:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); position:relative; overflow:hidden; }
.comparison-grid article::after { content:""; width:110px; height:110px; border:1px solid rgba(58,224,165,.16); position:absolute; right:-55px; bottom:-55px; transform:rotate(45deg); }
.comparison-grid article>span { font-size:10px; color:var(--mint); font-weight:800; letter-spacing:.1em; }
.comparison-grid h3 { font-size:26px; letter-spacing:-.035em; margin:26px 0 13px; }
.comparison-grid p { color:#acbec3; line-height:1.7; max-width:510px; margin:0; font-size:17px; }
.process-section { padding:clamp(90px,10vw,155px) 5vw; max-width:1520px; margin:auto; display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(60px,10vw,150px); }
.process-intro { position:sticky; top:60px; align-self:start; }
.process-intro h2 { max-width:540px; }
.process-intro>p:last-child { color:#607278; line-height:1.75; font-size:18px; max-width:480px; }
.process-list { list-style:none; padding:0; margin:0; border-top:1px solid #bfc8c6; }
.process-list li { display:grid; grid-template-columns:70px 1fr; gap:18px; padding:36px 0 42px; border-bottom:1px solid #bfc8c6; }
.process-list li>b { color:var(--mint-dark); font-size:11px; padding-top:7px; }
.process-list h3 { font-size:30px; letter-spacing:-.04em; margin:0 0 11px; }
.process-list p { color:#607278; line-height:1.7; margin:0; max-width:580px; }
.alternatives-section { background:#dff7ee; }
.alternatives-card { padding:clamp(70px,9vw,135px) 5vw; }
.alternatives-card h2 { font-size:clamp(42px,5vw,73px); line-height:1.02; letter-spacing:-.055em; max-width:880px; margin:22px 0 26px; }
.alternatives-card>p:not(.section-kicker) { color:#3d5d5c; font-size:18px; line-height:1.7; max-width:800px; }
.solution-tags { display:flex; flex-wrap:wrap; gap:9px; margin-top:36px; }
.solution-tags span { padding:11px 15px; border:1px solid rgba(8,30,41,.25); border-radius:99px; font-size:12px; text-transform:uppercase; font-weight:750; letter-spacing:.06em; }
.alternatives-quote { background:var(--mint); padding:44px 5vw 48px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:50px; align-items:center; }
.alternatives-quote blockquote { margin:0; max-width:900px; font-size:clamp(25px,2.35vw,36px); line-height:1.16; letter-spacing:-.035em; font-weight:700; }
.alternatives-quote p { margin:0; font-size:12px; line-height:1.6; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.results-section { padding:clamp(100px,11vw,170px) 5vw; max-width:1520px; margin:auto; }
.results-lead { display:grid; grid-template-columns:1fr 1fr; column-gap:80px; align-items:end; }
.results-lead .section-kicker { grid-column:1/-1; }
.results-lead h2 { margin-bottom:0; }
.results-summary { color:#607278; font-size:18px; line-height:1.7; max-width:540px; padding-bottom:5px; }
.results-summary p { margin:0; }
.results-summary .results-note { margin-top:18px; font-size:16px; }
.case-studies { margin-top:75px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.case-study { --case-accent:var(--mint-dark); min-height:420px; padding:clamp(35px,4vw,55px); display:flex; flex-direction:column; gap:28px; position:relative; overflow:hidden; background:var(--cream); color:var(--ink); border:1px solid #d8dfdd; border-radius:14px; box-shadow:0 18px 48px rgba(8,30,41,.08); }
.case-study::before { content:""; height:6px; background:var(--case-accent); position:absolute; inset:0 0 auto; }
.case-study-placement { --case-accent:#087a54; }
.case-study-nonprofit { --case-accent:#94620d; }
.case-study-independent { --case-accent:#106f99; }
.case-study-first-time { --case-accent:#08756a; }
.case-label { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.case-label span { color:var(--case-accent); font-size:12px; letter-spacing:.15em; font-weight:850; }
.case-label small { color:#38545c; line-height:1.6; font-size:11px; font-weight:750; letter-spacing:.08em; text-align:right; }
.case-number { display:flex; flex-direction:column; gap:14px; }
.case-number strong { color:var(--case-accent); font-size:clamp(72px,7.5vw,116px); font-weight:850; letter-spacing:-.085em; line-height:.86; }
.case-number span { text-transform:uppercase; letter-spacing:.09em; font-size:12px; font-weight:750; color:#4c6870; }
.case-description { color:#425d65; font-size:16px; line-height:1.7; margin:0; max-width:560px; }
.case-outcome { align-self:flex-start; margin-top:auto; padding:9px 12px; border-radius:99px; background:#e1f6ee; color:#07694c; font-size:11px; font-weight:850; letter-spacing:.065em; line-height:1.5; }
.case-study-nonprofit .case-outcome { background:#fff0cf; color:#805400; }
.case-study-first-time .case-outcome { background:#dff3ef; color:#075e56; }
.case-study-independent .case-outcome { background:#dff1f7; color:#106f99; }
.about-section { display:grid; grid-template-columns:minmax(300px,.72fr) 1.28fr; gap:clamp(55px,8vw,120px); align-items:center; padding:clamp(85px,10vw,145px) 5vw; background:#ede9df; }
.about-photo { min-height:0; aspect-ratio:4/5; max-height:610px; position:relative; overflow:hidden; background:#ede9df; border-radius:18px; box-shadow:0 18px 45px rgba(8,30,41,.12); }
.about-photo img { width:100%; height:100%; object-fit:cover; object-position:center 22%; position:absolute; inset:0; filter:saturate(.85) contrast(1.02); }
.about-copy { padding:0; }
.about-copy h2 { max-width:680px; }
.about-copy>p:not(.section-kicker) { color:#53666c; font-size:17px; line-height:1.8; max-width:650px; }
.about-values { border-top:1px solid #bdc4bf; margin-top:40px; padding-top:28px; display:flex; flex-wrap:wrap; gap:14px 26px; }
.about-values span { font-size:12px; text-transform:uppercase; font-weight:800; letter-spacing:.075em; }
.about-values span::before { content:"◆"; color:var(--mint-dark); font-size:7px; margin-right:9px; }
.faq-section { padding:clamp(100px,11vw,160px) 5vw; max-width:1520px; margin:auto; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(50px,10vw,150px); }
.faq-heading h2 { margin-top:18px; }
.faq-list { border-top:1px solid #aebbb9; }
.faq-list details { border-bottom:1px solid #aebbb9; padding:0; }
.faq-list summary { list-style:none; cursor:pointer; padding:29px 0; display:flex; justify-content:space-between; gap:20px; font-size:19px; font-weight:700; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--mint-dark); font-size:23px; font-weight:400; transition:transform .2s ease; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { color:#607278; line-height:1.75; max-width:700px; padding:0 45px 30px 0; margin:0; }
.contact-section { background:var(--ink); color:white; padding:clamp(90px,10vw,150px) 5vw; display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(60px,10vw,160px); }
.contact-copy .section-kicker { color:var(--mint); }
.contact-copy h2 { max-width:850px; }
.contact-copy>p:last-child { color:#a8bbc0; max-width:690px; font-size:18px; line-height:1.7; }
.contact-actions { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:28px; }
.contact-actions .button { min-width:220px; }
.contact-line { display:flex; flex-direction:column; gap:6px; }
.contact-line small { color:#91a8ae; font-size:10px; letter-spacing:.15em; font-weight:800; }
.contact-line strong { font-size:20px; font-weight:650; border-bottom:1px solid rgba(255,255,255,.25); padding-bottom:5px; }
footer { background:#061820; color:white; min-height:260px; border-top:1px solid rgba(255,255,255,.13); padding:55px 5vw; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:start; gap:40px; }
.footer-brand { justify-self:start; }
footer>p { color:#8ea3a9; max-width:320px; line-height:1.7; margin:0; }
.footer-right { color:#9fb1b6; font-size:13px; line-height:1.7; display:flex; justify-content:space-between; gap:25px; }
@media (max-width:1000px) {
  .site-header>nav{display:none}.site-header{gap:12px}.header-cta{margin-left:auto}.mobile-menu{display:block}.mobile-menu summary{width:45px;height:45px;display:grid;place-items:center;list-style:none;cursor:pointer;border:1px solid rgba(255,255,255,.35);border-radius:50%}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary>span{display:grid;gap:5px}.mobile-menu summary i{display:block;width:19px;height:2px;background:white;border-radius:2px}.mobile-menu[open] summary{background:white}.mobile-menu[open] summary i{background:var(--ink)}.mobile-menu nav{position:absolute;top:calc(100% + 10px);right:0;width:min(320px,100%);display:grid;gap:0;padding:9px 18px;background:#092531;border:1px solid rgba(255,255,255,.2);border-radius:14px;box-shadow:0 18px 38px rgba(0,0,0,.28)}.mobile-menu nav a{padding:15px 2px;font-size:15px;border-bottom:1px solid rgba(255,255,255,.12)}.mobile-menu nav a:last-child{border-bottom:0}.hero-grid{grid-template-columns:1fr;padding-top:45px}.hero-copy{max-width:800px}.analysis-wrap{max-width:680px;width:100%;margin:0 auto}.trust-row{flex-wrap:wrap;gap:20px 40px;padding:25px 0;justify-content:flex-start}
  .process-section,.faq-section{grid-template-columns:1fr}.process-intro{position:static}.alternatives-quote{grid-template-columns:1fr;gap:20px}.results-lead{grid-template-columns:1fr}.results-summary{margin-top:25px}.case-study{padding:38px;gap:24px}.case-label{align-items:flex-start;flex-direction:column;gap:8px}.case-label small{text-align:left}.about-section{grid-template-columns:1fr;padding-left:5vw;padding-right:5vw}.about-photo{width:min(100%,480px);justify-self:center}.contact-section{grid-template-columns:1fr}.contact-actions{display:grid;grid-template-columns:repeat(2,1fr)}.contact-actions .button{grid-column:1/-1;justify-self:start}footer{grid-template-columns:1fr 1fr}.footer-right{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:30px}
}
@media (max-width:720px) {
  .hero-shell{padding:0 22px}.site-header{height:84px;gap:10px}.brand-logo{width:clamp(145px,46vw,185px)}.header-cta{font-size:0;width:45px;height:45px;padding:0;justify-content:center}.header-cta span{font-size:16px}.brand-copy strong{font-size:17px}h1{font-size:clamp(45px,14vw,65px)}.hero-grid{gap:58px;padding-bottom:40px}.hero-intro{font-size:17px}.analysis-card{transform:none;padding:22px 17px}.analysis-top{flex-direction:column}.review-list div{grid-template-columns:22px 1fr;padding:9px 10px}.review-list b{grid-column:2;justify-self:start}.trust-row span{width:calc(50% - 20px);font-size:10.5px}.problem-strip{padding-left:22px;padding-right:22px}.problem-grid{grid-template-columns:1fr}.problem-grid article{border-right:0;border-bottom:1px solid #c9cfcd;margin:0}
  .comparison-section,.process-section,.results-section,.faq-section{padding-left:22px;padding-right:22px}.comparison-grid{grid-template-columns:1fr}.comparison-grid article{min-height:225px}.process-list li{grid-template-columns:42px 1fr}.alternatives-card{padding-left:22px;padding-right:22px}.alternatives-quote{padding:34px 22px 38px}.case-studies{grid-template-columns:1fr;margin-top:50px;gap:14px}.case-study{min-height:350px;padding:34px}.case-number strong{font-size:clamp(70px,20vw,98px)}.about-section{padding:75px 22px}.about-photo{width:min(100%,390px)}.about-copy h2{font-size:42px}.faq-list summary{font-size:17px}.contact-section{padding-left:22px;padding-right:22px}.contact-actions{grid-template-columns:1fr}.contact-actions .button{grid-column:auto}.contact-line strong{font-size:17px}footer{grid-template-columns:1fr;padding-left:22px;padding-right:22px}.footer-right{grid-column:auto;flex-direction:column}
}
