:root { --navy:#12385a; --ink:#142432; --blue:#138ccc; --blue-dark:#0d6fa7; --sky:#eaf6fb; --paper:#f6f8fa; --white:#fff; --muted:#627486; --line:#d9e2e8; --radius:16px; --shadow:0 18px 45px rgba(17,42,63,.11); --container:min(1160px, calc(100% - 48px)); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:Inter,"Avenir Next","Segoe UI",Helvetica,Arial,sans-serif; font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.container { width:var(--container); margin-inline:auto; }
.narrow { max-width:850px; }
.section { padding:100px 0; }
.skip-link { position:fixed; top:-100px; left:16px; z-index:100; padding:11px 16px; color:var(--ink); background:#fff; border-radius:8px; box-shadow:var(--shadow); }
.skip-link:focus { top:16px; }
.sr-only,.honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }

.site-header { position:relative; z-index:20; background:#fff; border-bottom:1px solid var(--line); }
.utility-bar { color:#d5e3ef; background:var(--navy); font-size:.74rem; }
.utility-inner { display:flex; justify-content:space-between; gap:20px; padding:7px 0; }
.nav-wrap { min-height:78px; display:flex; align-items:center; gap:32px; }
.brand { display:inline-flex; flex:0 0 auto; }
.brand img { width:198px; }
.desktop-nav { display:flex; align-items:center; gap:30px; margin-left:auto; }
.desktop-nav a { color:#405365; font-size:.91rem; font-weight:760; }
.desktop-nav a:hover,.desktop-nav a[aria-current="page"] { color:var(--blue-dark); }
.nav-actions { display:flex; align-items:center; gap:20px; }
.nav-phone { display:flex; flex-direction:column; color:var(--navy); font-size:.9rem; line-height:1.1; font-weight:800; }
.nav-phone span { margin-bottom:3px; color:#8394a3; font-size:.66rem; text-transform:uppercase; letter-spacing:.11em; }
.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:0 21px; color:#fff; background:var(--blue); border:1px solid var(--blue); border-radius:9px; font-size:.93rem; font-weight:820; transition:background .2s ease,transform .2s ease,box-shadow .2s ease; }
.button:hover { background:#1a9cdd; transform:translateY(-1px); box-shadow:0 9px 20px rgba(19,140,204,.2); }
.button-small { min-height:42px; padding:0 16px; font-size:.84rem; }
.button-dark { background:var(--navy); border-color:var(--navy); }
.button-dark:hover { background:#1a4c76; }
.button-white { color:var(--navy); background:#fff; border-color:#fff; }
.button svg,.text-link svg,.help-panel>a>svg { width:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.button:focus-visible,a:focus-visible,button:focus-visible,input:focus,select:focus,textarea:focus { outline:3px solid rgba(19,140,204,.38); outline-offset:3px; }
.text-link { display:inline-flex; align-items:center; gap:8px; padding-bottom:2px; border-bottom:1px solid rgba(20,36,50,.27); color:var(--ink); font-size:.91rem; font-weight:800; }
.text-link svg { color:var(--blue-dark); transition:transform .2s ease; }
.text-link:hover svg { transform:translateX(4px); }
.text-link.light { color:#fff; border-color:rgba(255,255,255,.4); }
.text-link.light svg { color:#fff; }
.menu-toggle,.mobile-nav { display:none; }

.home-hero { overflow:hidden; background:linear-gradient(125deg,#12385a 0%,#164d77 64%,#196d9f 100%); color:#fff; }
.hero-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:75px; align-items:center; padding:83px 0 70px; }
.eyebrow,.section-label { margin:0 0 15px; color:var(--blue-dark); font-size:.72rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow { display:flex; align-items:center; gap:9px; color:#bde8ff; }
.eyebrow span { width:7px; height:7px; border-radius:50%; background:#6fd0ff; box-shadow:0 0 0 5px rgba(111,208,255,.13); }
.eyebrow.dark { color:var(--blue-dark); }
.eyebrow.dark span { background:var(--blue); }
h1,h2,h3,p { overflow-wrap:break-word; }
.hero-copy h1,.page-hero h1 { margin:0; color:#fff; font-size:clamp(3rem,5.45vw,5.35rem); line-height:1.01; letter-spacing:-.058em; }
.hero-copy h1 em { color:#bde8ff; font-style:normal; font-weight:520; }
.hero-lead { max-width:660px; margin:26px 0 30px; color:#d6e5f0; font-size:1.12rem; line-height:1.72; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:23px; }
.trust-row { display:flex; flex-wrap:wrap; gap:20px; margin-top:25px; color:#d8e6ef; font-size:.83rem; font-weight:700; }
.trust-row span { display:flex; align-items:center; gap:7px; }
.trust-row svg,.check-list svg { width:16px; fill:none; stroke:#77d2ff; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; }
.help-panel { overflow:hidden; border-radius:var(--radius); color:var(--ink); background:#fff; box-shadow:0 25px 60px rgba(0,0,0,.17); }
.help-panel-label { margin:0; padding:18px 23px 12px; color:#738493; font-size:.67rem; font-weight:850; letter-spacing:.13em; }
.help-panel>a { display:grid; grid-template-columns:43px 1fr 18px; gap:13px; align-items:center; padding:17px 22px; border-top:1px solid #e2e9ee; transition:background .18s ease; }
.help-panel>a:hover { background:#f2f9fc; }
.help-icon,.service-icon { display:grid; place-items:center; width:43px; height:43px; border-radius:10px; color:var(--blue-dark); background:var(--sky); }
.help-icon svg,.service-icon svg,.contact-method>span svg { width:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.help-panel strong,.help-panel small { display:block; }
.help-panel strong { font-size:.94rem; }
.help-panel small { margin-top:1px; color:#708190; font-size:.76rem; }
.help-panel>a>svg { color:var(--blue-dark); }
.help-panel-call { display:flex; justify-content:space-between; gap:15px; padding:16px 22px; color:#5e7181; background:#f4f8fa; font-size:.79rem; }
.help-panel-call a { color:var(--blue-dark); font-size:.94rem; font-weight:850; }
.promise-bar { display:grid; grid-template-columns:repeat(3,1fr); color:#d7e6f0; border-top:1px solid rgba(255,255,255,.2); }
.promise-bar>div { display:flex; align-items:center; gap:13px; min-height:99px; padding:18px 27px; border-right:1px solid rgba(255,255,255,.2); }
.promise-bar>div:first-child { padding-left:0; }
.promise-bar>div:last-child { border-right:0; }
.promise-bar svg { width:27px; flex:0 0 auto; fill:none; stroke:#78d2ff; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.promise-bar strong,.promise-bar span { display:block; }
.promise-bar strong { color:#fff; font-size:.87rem; }
.promise-bar span { color:#c5d8e6; font-size:.75rem; line-height:1.4; }

.section-heading { display:grid; grid-template-columns:1.3fr .7fr; gap:80px; align-items:end; margin-bottom:43px; }
.section-heading h2,.split-layout h2,.faq-layout h2,.callout h2 { margin:0; color:var(--ink); font-size:clamp(2.3rem,4.2vw,4.15rem); line-height:1.07; letter-spacing:-.055em; }
.section-heading>p { max-width:355px; margin:0 0 5px; color:var(--muted); }
.section-heading.compact { align-items:center; margin-bottom:25px; }
.section-heading.compact .text-link { justify-self:end; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-card { display:flex; flex-direction:column; min-height:350px; padding:33px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; transition:box-shadow .2s ease,transform .2s ease; }
.service-card:hover { position:relative; z-index:1; transform:translateY(-3px); box-shadow:var(--shadow); }
.service-card h3 { margin:52px 0 12px; color:var(--ink); font-size:1.48rem; letter-spacing:-.035em; }
.service-card p { margin:0 0 25px; color:var(--muted); }
.service-card .text-link { margin-top:auto; align-self:flex-start; }
.calm-band { background:var(--paper); }
.split-layout { display:grid; grid-template-columns:.87fr 1.13fr; gap:100px; align-items:center; }
.split-layout.small-split { grid-template-columns:1fr 1fr; gap:120px; }
.brand-mark-wrap { position:relative; min-height:440px; display:grid; place-items:center; }
.brand-mark-wrap:before,.brand-mark-wrap:after { position:absolute; content:""; border-radius:50%; }
.brand-mark-wrap:before { width:340px; height:340px; border:1px solid #b7d9e9; }
.brand-mark-wrap:after { width:260px; height:260px; background:#e2f2f9; }
.mark-surface { position:relative; z-index:1; width:168px; height:168px; padding:20px; background:#fff; border-radius:34px; box-shadow:var(--shadow); transform:rotate(-5deg); }
.lead-copy { margin:23px 0; color:var(--muted); font-size:1.05rem; }
.plain-points { margin:27px 0 31px; border-top:1px solid var(--line); }
.plain-points>div { display:grid; grid-template-columns:39px 1fr; gap:13px; padding:17px 0; border-bottom:1px solid var(--line); }
.plain-points>div>span,.process-grid>li>span,.support-grid>article>span,.values-grid>article>span,.service-list article>div>span { color:var(--blue-dark); font:800 .72rem ui-monospace,SFMono-Regular,Menlo,monospace; padding-top:5px; }
.plain-points p { margin:0; color:var(--muted); }
.plain-points strong { display:block; color:var(--ink); }
.process-grid { list-style:none; padding:0; margin:0; border-top:1px solid var(--line); }
.process-grid li { display:grid; grid-template-columns:90px 1fr; gap:22px; padding:29px 0; border-bottom:1px solid var(--line); }
.process-grid h3 { margin:0 0 5px; font-size:1.24rem; letter-spacing:-.025em; }
.process-grid p { max-width:700px; margin:0; color:var(--muted); }
.testimonials { background:#f1f6f8; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.testimonial-grid figure { display:flex; flex-direction:column; justify-content:space-between; min-height:290px; margin:0; padding:29px; background:#fff; border:1px solid #e0e8ed; border-radius:var(--radius); }
.testimonial-grid blockquote { margin:0; color:#2d4255; font-size:1.2rem; line-height:1.55; letter-spacing:-.02em; }
.testimonial-grid figcaption { padding-top:21px; border-top:1px solid var(--line); }
.testimonial-grid strong,.testimonial-grid span { display:block; }
.testimonial-grid strong { font-size:.86rem; }
.testimonial-grid span { color:var(--muted); font-size:.76rem; }
.faq-layout { display:grid; grid-template-columns:.74fr 1.26fr; gap:100px; }
.accordion { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item h3 { margin:0; }
.faq-item button { display:flex; align-items:center; justify-content:space-between; gap:25px; width:100%; padding:23px 0; color:var(--ink); background:transparent; border:0; text-align:left; font-size:1.04rem; font-weight:800; }
.faq-plus { display:grid; place-items:center; width:29px; height:29px; flex:0 0 auto; border:1px solid var(--line); border-radius:50%; color:var(--blue-dark); font-size:1.25rem; font-weight:400; transition:transform .2s ease,background .2s ease; }
.faq-item button[aria-expanded="true"] .faq-plus { transform:rotate(45deg); background:var(--sky); }
.faq-answer p { margin:-4px 45px 22px 0; color:var(--muted); }
.callout { color:#fff; background:var(--navy); }
.callout-inner { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; padding:67px 0; }
.callout h2 { max-width:760px; color:#fff; }
.light-label { color:#b7e6ff; }
.callout-actions { display:flex; flex-direction:column; align-items:flex-start; gap:16px; }

.page-hero { padding:97px 0 88px; background:linear-gradient(180deg,#f7fafb 0%,#eef5f8 100%); border-bottom:1px solid #dde8ed; }
.page-hero h1 { color:var(--navy); font-size:clamp(2.8rem,5vw,4.85rem); }
.dark-lead { color:#536979; }
.breadcrumbs { margin:0 0 18px; color:#627486; font-size:.78rem; font-weight:700; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:7px; padding:0; margin:0; list-style:none; }
.breadcrumbs li { display:flex; align-items:center; gap:7px; }
.breadcrumbs li+li:before { content:"/"; color:#9aabb6; }
.breadcrumbs a { color:#3c718f; text-decoration:underline; text-underline-offset:3px; }
.business-hero { background:linear-gradient(180deg,#f1f8fb 0%,#e5f2f7 100%); }
.compact-hero { padding-bottom:60px; }
.service-list { display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-list article { display:grid; grid-template-columns:53px 1fr; gap:20px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-list h2 { margin:7px 0 7px; font-size:1.25rem; letter-spacing:-.025em; }
.service-list p { margin:0; color:var(--muted); font-size:.94rem; }
.service-list .service-link { margin-top:17px; }
.check-list { display:grid; gap:0; border-top:1px solid var(--line); }
.check-list>div { display:flex; gap:13px; align-items:flex-start; padding:17px 0; border-bottom:1px solid var(--line); color:#43596a; font-weight:650; }
.check-list svg { margin-top:5px; flex:0 0 auto; stroke:var(--blue-dark); }
.support-grid,.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.support-grid article,.values-grid article { min-height:250px; padding:27px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.support-grid h2,.values-grid h2 { margin:34px 0 9px; font-size:1.37rem; letter-spacing:-.03em; }
.support-grid p,.values-grid p { margin:0; color:var(--muted); }

.contact-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:95px; align-items:start; }
.contact-details h2,.contact-form-wrap h2 { margin:0 0 23px; font-size:clamp(2rem,3.6vw,3.1rem); letter-spacing:-.045em; line-height:1.1; }
.contact-method { display:flex; gap:14px; align-items:center; padding:16px 0; border-top:1px solid var(--line); }
.contact-method:last-of-type { border-bottom:1px solid var(--line); }
.contact-method>span { display:grid; place-items:center; width:42px; height:42px; flex:0 0 auto; color:var(--blue-dark); background:var(--sky); border-radius:9px; }
.contact-method small,.contact-method strong { display:block; }
.contact-method small { color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.contact-method strong { color:var(--ink); font-size:.93rem; }
.contact-note { color:var(--muted); font-size:.87rem; }
.contact-form-wrap { padding:33px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 13px 35px rgba(16,40,60,.07); }
.contact-form-wrap>p { margin:-9px 0 24px; color:var(--muted); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
form label { display:block; margin-bottom:17px; color:#425868; font-size:.84rem; font-weight:780; }
form label span { color:var(--muted); font-weight:500; }
input,select,textarea { display:block; width:100%; margin-top:6px; padding:12px 13px; color:var(--ink); background:#fff; border:1px solid #cbd9e1; border-radius:7px; line-height:1.35; }
textarea { resize:vertical; }
.form-notice { margin:0 0 20px; padding:12px 14px; border-radius:8px; font-size:.89rem; }
.form-notice.success { color:#16663d; background:#eaf8ef; border:1px solid #b9e5c8; }
.form-notice.error { color:#a33a32; background:#fff0ee; border:1px solid #f0c5bf; }
.form-footnote { margin:14px 0 0!important; color:#758795!important; font-size:.72rem; }
.prose { color:#4b6171; }
.prose h2 { margin:35px 0 9px; color:var(--ink); font-size:1.45rem; letter-spacing:-.025em; }
.prose p { margin:0 0 17px; }
.prose a { color:var(--blue-dark); text-decoration:underline; }

.site-footer { color:#b9c8d2; background:#0b1f31; padding:68px 0 20px; }
.footer-top { display:grid; grid-template-columns:1.45fr .75fr .7fr 1fr; gap:55px; padding-bottom:55px; }
.footer-brand img { width:197px; }
.footer-brand p { max-width:350px; margin:22px 0 0; color:#8fa4b4; font-size:.88rem; }
.footer-column,.footer-contact { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.footer-column h2,.footer-contact h2 { margin:4px 0 11px; color:#8ea6b8; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.footer-column a,.footer-contact a { font-size:.86rem; }
.footer-column a:hover,.footer-contact a:hover { color:#fff; }
.footer-contact .footer-phone { color:#fff; font-size:1.19rem; font-weight:820; }
.footer-contact p { margin:8px 0 0; color:#849cad; font-size:.79rem; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); color:#7e96a7; font-size:.72rem; }
.mobile-callbar { display:none; }

[data-reveal] { opacity:0; transform:translateY(16px); transition:opacity .55s ease,transform .55s ease; }
[data-reveal].visible { opacity:1; transform:none; }
[data-delay="1"] { transition-delay:.1s; }
[data-delay="2"] { transition-delay:.2s; }

@media (max-width:1040px) { .desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:42px;height:42px;background:#fff;border:1px solid var(--line);border-radius:8px}.menu-toggle span:not(.sr-only){display:block;width:19px;height:2px;background:var(--navy);transition:transform .2s ease}.menu-toggle[aria-expanded="true"] span:nth-last-child(2){transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{padding:5px 24px 22px;background:#fff;border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line);color:#344a5c;font-weight:760}.mobile-nav .mobile-call{margin-top:12px;padding:11px 13px;color:#fff;background:var(--blue);border:0;border-radius:8px;text-align:center}.hero-layout{gap:40px}.split-layout{gap:60px}.contact-layout{gap:55px}.footer-top{grid-template-columns:1.3fr .8fr .8fr}.footer-contact{grid-column:2/4} }
@media (max-width:780px) { :root{--container:min(100% - 32px,680px)}.section{padding:76px 0}.utility-inner{justify-content:center}.utility-inner span:last-child{display:none}.nav-wrap{min-height:68px}.brand img{width:175px}.nav-phone,.nav-actions .button{display:none}.hero-layout{grid-template-columns:1fr;padding:60px 0 48px}.hero-copy h1,.page-hero h1{font-size:clamp(2.65rem,10vw,4.4rem)}.help-panel{max-width:600px}.promise-bar{grid-template-columns:1fr}.promise-bar>div,.promise-bar>div:first-child{min-height:auto;padding:16px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.promise-bar>div:last-child{border-bottom:0}.section-heading,.split-layout,.split-layout.small-split,.faq-layout,.contact-layout{grid-template-columns:1fr;gap:28px}.section-heading{margin-bottom:34px}.section-heading.compact .text-link{justify-self:start}.service-grid,.testimonial-grid,.support-grid,.values-grid{grid-template-columns:1fr}.service-card{min-height:auto}.service-card h3{margin-top:35px}.brand-mark-wrap{min-height:325px;order:2}.brand-mark-wrap:before{width:270px;height:270px}.brand-mark-wrap:after{width:208px;height:208px}.service-list{grid-template-columns:1fr}.testimonial-grid figure{min-height:230px}.callout-inner{grid-template-columns:1fr;padding:55px 0}.callout-actions{flex-direction:row;align-items:center}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:auto}.contact-form-wrap{padding:25px}.form-grid{gap:0}.page-hero{padding:69px 0 65px}.support-grid article,.values-grid article{min-height:auto}.small-split .check-list{max-width:660px} }
@media (max-width:520px) { body{padding-bottom:61px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.trust-row{flex-direction:column;gap:7px}.help-panel>a{grid-template-columns:38px 1fr 15px;padding:15px}.help-icon{width:38px;height:38px}.help-panel small{font-size:.71rem}.promise-bar{width:100%}.section-heading h2,.split-layout h2,.faq-layout h2,.callout h2{font-size:clamp(2.1rem,10vw,3rem)}.service-card{padding:27px 23px}.service-list article{padding:25px 20px}.process-grid li{grid-template-columns:45px 1fr;gap:5px}.testimonial-grid figure{padding:24px}.testimonial-grid blockquote{font-size:1.1rem}.faq-answer p{margin-right:0}.callout-actions{align-items:flex-start;flex-direction:column}.footer-top{grid-template-columns:1fr}.footer-brand,.footer-contact{grid-column:auto}.footer-bottom{flex-direction:column;gap:7px}.mobile-callbar{position:fixed;inset:auto 0 0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;color:#fff;background:var(--blue);box-shadow:0 -5px 18px rgba(0,0,0,.15)}.mobile-callbar span{font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.mobile-callbar strong{font-size:.94rem}.contact-method strong{font-size:.87rem} }
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
