@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--blue:#1769AA;--deep:#124E78;--teal:#18B7B2;--deep-teal:#087C82;--ink:#183247;--muted:#607487;--pale:#F2F8FB;--line:#DFEAF0;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.container{width:min(1120px,calc(100% - 40px));margin:auto}.topbar{background:var(--deep);color:#dcecf7;font-size:12px}.topbar-inner{display:flex;justify-content:space-between;padding:8px 0}.topbar a{color:#fff}.site-header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #edf2f5}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:40px;height:40px;border-radius:12px;background:var(--blue);color:white;display:grid;place-items:center;font:800 23px Manrope}.brand-mark span{color:#7be2db}.brand-name{font:800 17px Manrope;letter-spacing:-.5px;color:var(--deep)}.brand-name small{display:block;font:700 9px "DM Sans";letter-spacing:2.4px;color:var(--teal)}.nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700;color:#415b6e}.nav a:hover,.text-link:hover{color:var(--teal)}.nav .nav-cta{background:var(--blue);color:#fff;padding:12px 18px;border-radius:8px}.menu-toggle{display:none;border:0;background:none;font-size:25px;color:var(--deep)}.hero{background:linear-gradient(115deg,#f3f9fc 0%,#fff 62%,#eaf8f7 100%);overflow:hidden}.hero-grid{min-height:540px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;padding-top:50px;padding-bottom:60px}.eyebrow{font-size:11px;letter-spacing:2.4px;color:var(--deep-teal);font-weight:700;margin:0 0 18px}.hero h1,.section h2,.contact-section h2{font:800 clamp(38px,5vw,60px)/1.12 Manrope;letter-spacing:-2.5px;margin:0 0 22px;color:var(--deep)}.hero h1 span{color:var(--teal)}.hero-lede{font-size:18px;max-width:510px;color:#587083;line-height:1.7}.hero-actions{display:flex;gap:14px;align-items:center;margin-top:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 21px;border-radius:8px;font-size:13px;font-weight:700;transition:.2s}.button-primary{background:var(--blue);color:white;box-shadow:0 8px 20px #1769aa2b}.button-primary:hover,.nav-cta:hover{background:var(--deep)}.button-quiet{color:var(--deep)}.hero-note{font-size:12px;color:#8495a2;margin-top:24px}.hero-art{height:390px;position:relative;display:grid;place-items:center}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-one{width:310px;height:310px;background:linear-gradient(145deg,#d8f4f2,#b8e7ee);right:20px;top:20px}.orb-two{width:190px;height:190px;background:linear-gradient(140deg,#1b78b7,#18b7b2);left:25px;bottom:15px;opacity:.9}.art-card{position:relative;z-index:1;width:min(340px,85%);padding:34px 30px;background:#ffffffed;border:1px solid #fff;border-radius:22px;box-shadow:0 24px 70px #164d6a24;transform:rotate(-3deg)}.art-icon{width:54px;height:54px;border-radius:16px;background:#e4f7f6;color:var(--deep-teal);display:grid;place-items:center;font-size:28px}.art-title{font:800 22px Manrope;color:var(--deep);margin:22px 0 4px}.art-sub{font-size:12px;color:var(--muted)}.art-line{height:8px;background:#e6eff3;border-radius:8px;margin-top:24px;width:100%}.art-line.short{width:65%;margin-top:10px}.art-pill{display:inline-block;margin-top:24px;padding:9px 12px;border-radius:20px;background:#e8f8f6;color:#087c82;font-size:10px;font-weight:700}.floating-dot{position:absolute;border-radius:50%;background:#fff;box-shadow:0 8px 25px #164d6a22}.dot-one{width:18px;height:18px;right:8px;top:75px}.dot-two{width:11px;height:11px;left:65px;top:40px}.trust-strip{background:var(--deep);color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 0;gap:25px}.trust-grid div{padding-left:22px;border-left:2px solid var(--teal)}.trust-grid strong,.trust-grid span{display:block}.trust-grid strong{font:700 14px Manrope}.trust-grid span{font-size:11px;color:#c0d7e5;margin-top:3px}.section{padding:100px 0}.two-col{display:grid;grid-template-columns:1fr .8fr;gap:100px;align-items:center}.section h2,.contact-section h2{font-size:39px;letter-spacing:-1.5px}.body-copy{color:var(--muted);font-size:15px;max-width:600px}.text-link{display:inline-block;margin-top:18px;color:var(--blue);font-weight:700;font-size:13px}.provider-card{background:var(--pale);padding:36px;border-radius:18px;border:1px solid var(--line)}.provider-initials{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--teal));color:white;font:800 20px Manrope}.provider-label{font-size:10px;letter-spacing:2px;color:var(--deep-teal);font-weight:700;margin:24px 0 8px}.provider-card h3{font:800 23px Manrope;color:var(--deep);margin:0}.provider-card p{font-size:13px;color:var(--muted)}.provider-divider{height:1px;background:var(--line);margin:23px 0}.provider-card .provider-focus{font-weight:700;color:var(--deep-teal)}.services-section,.faq-section{background:#f5f9fb}.section-heading{text-align:center;max-width:650px;margin:0 auto 45px}.section-heading .body-copy{margin:0 auto}.section-heading h2{margin-bottom:14px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:white;padding:28px;border:1px solid var(--line);border-radius:13px;min-height:210px;box-shadow:0 5px 20px #173f5510}.service-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#e6f7f5;color:var(--deep-teal);font-size:23px}.service-card h3{font:800 17px Manrope;color:var(--deep);margin:20px 0 8px}.service-card p{font-size:13px;color:var(--muted);margin:0}.price-grid{max-width:780px;margin:auto;border:1px solid var(--line);border-radius:14px;overflow:hidden}.price-row{display:flex;justify-content:space-between;align-items:center;padding:17px 22px;background:white;border-bottom:1px solid var(--line);font-size:14px}.price-row:last-child{border:0}.price-row strong{font:800 18px Manrope;color:var(--blue)}.price-row small{display:block;color:#8293a0;font-size:11px}.pricing-note{text-align:center;color:#83929d;font-size:11px;max-width:740px;margin:20px auto 0}.faq-wrap{max-width:820px}.faq-wrap .section-heading{text-align:left;margin-left:0}.faq-wrap details{border-bottom:1px solid var(--line);padding:19px 0}.faq-wrap summary{cursor:pointer;list-style:none;font:700 15px Manrope;color:var(--deep)}.faq-wrap summary::-webkit-details-marker{display:none}.faq-wrap summary:after{content:"+";float:right;color:var(--teal);font-size:22px}.faq-wrap details[open] summary:after{content:"−"}.faq-wrap details p{color:var(--muted);font-size:13px;max-width:700px}.contact-section{background:linear-gradient(115deg,#124e78,#087c82);color:white;padding:80px 0}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:center}.contact-section h2{color:white;max-width:520px}.contact-section p{color:#d1e8ee;max-width:500px}.eyebrow-light{color:#8ce6de}.contact-card{background:#fff;border-radius:15px;padding:28px;color:var(--ink)}.contact-item{margin-bottom:20px}.contact-item span{display:block;color:#8495a2;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700}.contact-item a{font-weight:700;color:var(--deep);font-size:14px}.button-white{background:#e5f7f5;color:var(--deep-teal);width:100%;margin-top:5px}.footer{background:#0d3048;color:#d0e1e9;padding:30px 0}.footer-inner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:15px}.brand-footer .brand-name{color:#fff}.footer-inner>p{text-align:right;font-size:11px;margin:0}.footer-inner .disclaimer{grid-column:1/-1;text-align:left;color:#91adbc;font-size:10px}.footer .brand-mark{background:#1769aa}.footer .brand-name small{color:#6dd9d2}
@media(max-width:800px){.nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 10px 20px #173f5518;flex-direction:column;gap:18px}.nav.open{display:flex}.menu-toggle{display:block}.hero-grid{grid-template-columns:1fr;gap:10px;padding-top:65px}.hero-art{height:330px}.trust-grid{grid-template-columns:1fr;gap:15px}.two-col,.contact-grid{grid-template-columns:1fr;gap:35px}.service-grid{grid-template-columns:repeat(2,1fr)}.section{padding:72px 0}.contact-section{padding:65px 0}.footer-inner{grid-template-columns:1fr}.footer-inner>p{text-align:left}.footer-inner .disclaimer{grid-column:auto}}
@media(max-width:520px){.container{width:min(100% - 30px,1120px)}.topbar-inner{font-size:10px;gap:8px}.topbar-inner span{max-width:45%}.topbar a{font-size:10px}.nav-wrap{height:68px}.nav{top:68px}.hero h1{font-size:42px}.hero-lede{font-size:16px}.hero-art{height:285px}.orb-one{width:240px;height:240px}.orb-two{width:140px;height:140px}.art-card{padding:25px}.section h2,.contact-section h2{font-size:32px}.service-grid{grid-template-columns:1fr}.price-row{padding:15px;font-size:12px}.price-row strong{font-size:16px}.provider-card{padding:27px}.contact-item a{font-size:12px}}

/* Service category and selectable service cards */
.service-category{margin-top:58px}
.category-heading{max-width:720px;margin:0 0 24px}
.category-kicker{display:inline-block;color:var(--deep-teal);font-size:10px;font-weight:800;letter-spacing:2px;margin-bottom:10px}
.category-heading h3{font:800 28px/1.2 Manrope;color:var(--deep);letter-spacing:-.8px;margin:0 0 8px}
.category-heading p{font-size:14px;color:var(--muted);margin:0;max-width:650px}
.service-button{display:flex;align-items:flex-start;gap:15px;min-height:170px;color:inherit;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}
.service-button:hover{transform:translateY(-4px);box-shadow:0 14px 32px #173f5518;border-color:#9bd9d5}
.service-card-content{display:flex;flex:1;flex-direction:column;gap:8px}
.service-card-content strong{font:800 16px/1.35 Manrope;color:var(--deep)}
.service-card-content small{font:400 12px/1.6 "DM Sans",Arial,sans-serif;color:var(--muted)}
.service-arrow{font-size:17px;color:var(--deep-teal);font-weight:700;margin-left:auto}
.advocacy-category{margin-top:72px;padding-top:52px;border-top:1px solid var(--line)}
.advocacy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.services-disclaimer{max-width:850px;margin:34px auto 0;text-align:center;color:#7a8d9b;font-size:11px;line-height:1.7}
@media(max-width:800px){.service-category{margin-top:44px}.advocacy-category{margin-top:52px;padding-top:38px}}
@media(max-width:520px){.advocacy-grid{grid-template-columns:1fr}.service-button{min-height:0;padding:22px}.category-heading h3{font-size:25px}}


/* Premium motion + interactive polish */
html{scroll-padding-top:90px}
body{overflow-x:hidden}
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#18b7b2,#62d6cb);z-index:30;box-shadow:0 0 12px #18b7b277}
.hero-art .orb-one{animation:orbFloat 8s ease-in-out infinite}
.hero-art .orb-two{animation:orbFloat 10s ease-in-out infinite reverse}
.art-card{animation:cardFloat 7s ease-in-out infinite}
.dot-one{animation:dotPulse 3.5s ease-in-out infinite}
.dot-two{animation:dotPulse 4.2s ease-in-out infinite reverse}
@keyframes orbFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,-13px,0) scale(1.035)}}
@keyframes cardFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-9px) rotate(-1.5deg)}}
@keyframes dotPulse{0%,100%{transform:scale(1);opacity:.65}50%{transform:scale(1.35);opacity:1}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.service-button{overflow:hidden}
.service-button:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,#18b7b20c 50%,transparent 80%);transform:translateX(-120%);transition:transform .65s ease}
.service-button:hover:before{transform:translateX(120%)}
.service-icon{transition:transform .25s ease,background .25s ease}
.service-button:hover .service-icon{transform:rotate(-8deg) scale(1.08);background:#d2f2ef}
.service-arrow{transition:transform .25s ease}
.service-button:hover .service-arrow{transform:translate(3px,-3px)}
.button{position:relative;overflow:hidden}
.button:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(255,255,255,.22),transparent);transform:translateX(-130%);transition:transform .55s ease}
.button:hover:after{transform:translateX(130%)}
.faq-wrap details{transition:background .25s ease,padding .25s ease}
.faq-wrap details[open]{background:#ffffffa8;padding-left:14px;padding-right:14px;border-radius:8px}
.provider-card{transition:transform .3s ease,box-shadow .3s ease}
.provider-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px #173f5515}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
