:root{--navy:#2e1e93;--navy-2:#3a29a8;--purple:#9c27e1;--purple-d:#8519c7;--lav:#f4f3ff;--lav-2:#f6e6ff;--text:#4d4d4d;--muted:#6b6b6b;--line:#e6e6e6;--radius:10px;--shadow:0 6px 24px rgba(46,30,147,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text);font-size:16px;line-height:1.7;background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy)}a:hover{color:var(--purple)}
h1,h2,h3{font-family:Montserrat,system-ui,sans-serif;color:var(--navy);line-height:1.2;margin:0 0 .6em;font-weight:700}
h1{font-size:clamp(2rem,4.2vw,3rem)}h2{font-size:clamp(1.6rem,2.8vw,2.2rem)}h3{font-size:1.15rem}
p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.narrow{max-width:820px}
.c{text-align:center}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:8px 14px;z-index:99}.skip:focus{left:10px}
:focus-visible{outline:3px solid var(--purple);outline-offset:2px}
.btn{display:inline-block;background:var(--purple);color:#fff;font-family:Montserrat,sans-serif;font-weight:600;font-size:.95rem;padding:13px 26px;border-radius:6px;text-decoration:none;border:2px solid var(--purple);transition:.2s;cursor:pointer}
.btn:hover{background:var(--purple-d);border-color:var(--purple-d);color:#fff}
.btn-o{background:transparent;color:var(--purple)}.btn-o:hover{background:var(--purple);color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}.btns.center{justify-content:center}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 var(--line)}
.hdr{display:flex;align-items:center;justify-content:space-between;min-height:84px}
.logo img{width:170px;height:auto}
.menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}
.menu>li>a,.sub-toggle{display:flex;align-items:center;gap:6px;padding:10px 12px;text-decoration:none;color:#444;font-size:.95rem;background:none;border:0;font-family:inherit;cursor:pointer}
.menu>li>a[aria-current],.sub-toggle[aria-current],.menu>li>a:hover,.sub-toggle:hover{color:var(--navy)}
.menu>li>a[aria-current],.sub-toggle[aria-current]{font-weight:600}
.has-sub{position:relative}
.sub{list-style:none;margin:0;padding:8px 0;position:absolute;top:100%;left:0;min-width:250px;background:#fff;box-shadow:var(--shadow);border-radius:8px;border-top:3px solid var(--purple);display:none}
.has-sub:hover .sub,.has-sub.open .sub{display:block}
.sub a{display:block;padding:8px 18px;text-decoration:none;color:#444;font-size:.93rem}.sub a:hover{background:var(--lav);color:var(--navy)}
.nav-cta{margin-left:10px}.nav-cta .btn{padding:10px 20px}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}
.menu-btn span:not(.sr){display:block;height:2px;background:var(--navy);width:26px;margin:0 auto}
/* hero */
.home-hero{background:linear-gradient(90deg,rgba(244,243,255,.97) 0,rgba(246,230,255,.85) 45%,rgba(246,230,255,0) 62%),var(--bg) right center/cover no-repeat;min-height:560px;display:flex;align-items:center}
.home-hero .wrap{width:100%}.hh-text{max-width:540px;padding:60px 0}
.kicker{font-family:Montserrat,sans-serif;font-weight:600;color:var(--purple);font-size:1.5rem;margin-bottom:.3em}
.lead{font-size:1.1rem}
.home-hero .lead{color:#333}
.inner-hero{background:var(--navy) var(--bg) center/cover no-repeat;color:#fff;padding:70px 0}
.inner-hero h1{color:#fff;max-width:640px}.inner-hero .lead{color:#fff;max-width:620px;margin:0}
.crumbs{font-size:.85rem;padding:12px 0;color:var(--muted);border-bottom:1px solid var(--line)}.crumbs a{color:var(--muted)}
/* sections */
.sec{padding:80px 0}.sec.tint{background:linear-gradient(90deg,var(--lav),var(--lav-2))}
.sec.navy{background:var(--navy);color:#fff}.sec.navy h2,.sec.navy h3{color:#fff}
.sec.center{text-align:center}
.head{text-align:center;max-width:720px;margin:0 auto 40px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split .media img{border-radius:var(--radius);width:100%;aspect-ratio:3/2;object-fit:cover}
.split.rev .media{order:2}
.grid2,.grid3,.grid4{display:grid;gap:24px}.grid2{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border-radius:var(--radius);padding:30px 26px;text-align:center;box-shadow:var(--shadow);border-bottom:3px solid var(--purple);text-decoration:none;color:var(--text);display:block;transition:.2s}
.grid5{display:grid;gap:20px;grid-template-columns:repeat(5,1fr)}.grid5 .card{padding:26px 18px}.card img{width:64px;height:64px;margin:0 auto 16px;border-radius:12px}
.card h3{margin-bottom:.4em}.card p{margin:0;font-size:.95rem}
a.card:hover{transform:translateY(-3px);color:var(--text)}
.card.left{text-align:left}.role{color:var(--purple);font-weight:600;margin:-4px 0 10px!important}
.trust{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:center}
.tcard{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);border-radius:var(--radius);padding:24px}
.tcard h3{display:flex;align-items:center;gap:12px;font-size:1.05rem}.tcard p{margin:0;color:#e9e6ff}
.tick{flex:0 0 26px;height:26px;border-radius:50%;background:#fff;position:relative}.tick:after{content:"";position:absolute;left:9px;top:5px;width:6px;height:12px;border:solid var(--navy);border-width:0 3px 3px 0;transform:rotate(45deg)}
.checkrow{display:grid;grid-template-columns:1fr 1fr;min-height:460px}
.cl-copy{background:linear-gradient(90deg,var(--lav),var(--lav-2));padding:70px max(20px,calc((100vw - 1180px)/2 + 20px)) 70px 40px;padding-left:max(20px,calc((100vw - 1180px)/2 + 20px));display:flex;flex-direction:column;justify-content:center}
.cl-img{background-size:cover;background-position:center;min-height:320px}
ul.ticks{list-style:none;padding:0;margin:0}
ul.ticks li{position:relative;padding-left:34px;margin:0 0 12px}
ul.ticks li:before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--purple)}
ul.ticks li:after{content:"";position:absolute;left:7px;top:7px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.sec.navy .narrow p{color:#e9e6ff}
.answer-wrap{padding:44px 0 0}
.answer{max-width:900px;margin:0 auto;background:var(--lav);border-left:5px solid var(--purple);border-radius:var(--radius);padding:24px 28px}
.answer .q{font-size:1.2rem;margin-bottom:.4em}.answer p{margin:0}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.steps li{background:#fff;border:1px solid var(--line);border-top:4px solid var(--purple);border-radius:var(--radius);padding:24px}
.steps p{margin:0;font-size:.95rem}
.steps+.c{margin-top:34px}.btns{align-items:center}
.chips{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.chips li{background:var(--lav);color:var(--navy);border-radius:30px;padding:8px 18px;font-weight:600;font-size:.95rem}
.chips.links li{padding:0;background:none}.chips.links a{display:block;background:var(--lav);border-radius:30px;padding:8px 18px;text-decoration:none;font-weight:600}
.chips.links a:hover{background:var(--purple);color:#fff}
.facts{display:grid;grid-template-columns:220px 1fr;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.facts dt,.facts dd{margin:0;padding:12px 18px;border-bottom:1px solid var(--line)}.facts dt{background:var(--lav);font-weight:700;color:var(--navy)}
.faq details{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:12px}
.faq summary{cursor:pointer;padding:16px 20px;font-weight:600;color:var(--navy);font-family:Montserrat,sans-serif;list-style:none;position:relative;padding-right:46px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:20px;top:12px;font-size:1.4rem;color:var(--purple)}
.faq details[open] summary:after{content:"\2212"}
.faq details p{padding:0 20px 18px;margin:0}
.faqsec+.faqsec{padding-top:0}
.prose h2{margin-top:1.4em;font-size:1.5rem}.prose h2:first-child{margin-top:0}
.prose .ext a{font-weight:600}.note{background:var(--lav);padding:14px 18px;border-radius:8px;font-size:.93rem}
.cta{background:linear-gradient(90deg,var(--lav),var(--lav-2))}
.ccards .ccard{background:var(--lav);border-radius:var(--radius);padding:30px;text-align:center}.ccard.alt{background:var(--lav-2)}
.ccard h2{font-size:1.1rem;margin-bottom:.5em}.ccard p:last-child{margin:0;color:var(--muted)}
.map iframe{width:100%;height:380px;border:0;border-radius:var(--radius)}
.map+p{margin-top:18px}
.form{background:#fff;border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);border-bottom:3px solid var(--navy)}
.form label{display:block;font-weight:600;color:var(--navy);font-size:.92rem;margin-bottom:16px}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid #cfcbe8;border-radius:6px;font:inherit;color:var(--text);background:#fff}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--text)}.form .chk input{width:auto;margin-top:5px}
.form-msg{margin:14px 0 0;font-weight:600;color:var(--navy)}
.related{padding:50px 0;border-top:1px solid var(--line)}
.updated{font-size:.8rem;color:var(--muted);padding-top:14px;padding-bottom:14px}
/* footer */
.site-footer .notice{background:var(--navy);color:#fff;text-align:center;font-size:.9rem;padding:14px 0}
.fcols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;padding:50px 20px}
.site-footer h2{font-size:1rem;margin:0 0 10px}
.site-footer ul{list-style:none;padding:0;margin:0 0 20px}.site-footer li{margin-bottom:6px}
.site-footer a{color:#555;text-decoration:none;font-size:.93rem}.site-footer a:hover{color:var(--purple)}
.fcontact{margin-top:18px!important}
.legal{border-top:1px solid var(--line);font-size:.8rem;color:var(--muted);padding:16px 0;text-align:center}
.call-fab{position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;background:var(--purple);color:#fff;display:none;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:60}
/* responsive */
@media (max-width:1180px){.grid5{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1080px){
 .menu-btn{display:flex}
 #nav{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:var(--shadow);display:none;max-height:80vh;overflow:auto}
 #nav.open{display:block}
 .menu{flex-direction:column;align-items:stretch;padding:10px 0}
 .menu>li>a,.sub-toggle{padding:12px 20px;width:100%;justify-content:space-between}
 .sub{position:static;box-shadow:none;border:0;padding:0 0 0 14px;display:none}
 .has-sub:hover .sub{display:none}.has-sub.open .sub{display:block}
 .nav-cta{margin:10px 20px}
}
@media (max-width:900px){
 .split,.trust,.checkrow{grid-template-columns:1fr}.split.rev .media{order:0}
 .grid3,.grid4,.grid5{grid-template-columns:1fr 1fr}.fcols{grid-template-columns:1fr 1fr}
 .cl-copy{padding:50px 20px}
 .home-hero{background:linear-gradient(180deg,rgba(244,243,255,.96) 0,rgba(246,230,255,.92) 60%,rgba(246,230,255,.55) 100%),var(--bg) 70% center/cover no-repeat;min-height:auto}
 .call-fab{display:flex}
}
@media (max-width:600px){
 .sec{padding:56px 0}.grid2,.grid3,.grid4,.grid5,.form .row,.fcols{grid-template-columns:1fr}
 .facts{grid-template-columns:1fr}.facts dt{border-bottom:0}
 .kicker{font-size:1.2rem}.form{padding:22px}.inner-hero{padding:50px 0}
}

.quote{margin:0;display:flex;flex-direction:column;justify-content:space-between}.quote blockquote{margin:0 0 16px;font-size:1.02rem;font-style:italic;position:relative;padding-top:26px}.quote blockquote:before{content:"\201C";position:absolute;top:-14px;left:0;font-size:3.2rem;color:var(--purple);font-family:Georgia,serif;font-style:normal}.quote figcaption{font-weight:700;color:var(--navy);font-size:.92rem}

/* polish pass 3 Nov 2026 */
.topbar{background:var(--navy);color:#e3defc;font-size:.84rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px}
.topbar p{margin:0}.topbar p:last-child{display:flex;gap:24px}
.topbar a{color:#fff;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:7px}
.topbar a:hover{color:#f1dcff}
.menu>li.nav-cta>a.btn{background:var(--purple);color:#fff;border:2px solid var(--purple);padding:10px 22px;border-radius:6px;font-family:Montserrat,sans-serif;font-weight:600;font-size:.92rem;justify-content:center}
.menu>li.nav-cta>a.btn:hover{background:var(--purple-d);border-color:var(--purple-d);color:#fff}
.head h2:after{content:"";display:block;width:56px;height:4px;border-radius:2px;background:var(--purple);margin:16px auto 0}
.sec.navy .head h2:after{background:#fff}
.card{transition:transform .2s,box-shadow .2s}
a.card:hover{box-shadow:0 12px 32px rgba(46,30,147,.14)}
.quote{height:100%}
.fcols{grid-template-columns:1.5fr 1fr 1fr 1fr}
.site-footer .fcol img{width:170px;height:auto;margin-bottom:6px}
@media (max-width:900px){
 .fcols{grid-template-columns:1fr 1fr}
 .home-hero{display:block;background:linear-gradient(180deg,var(--lav) 0,var(--lav-2) 100%)}
 .home-hero .hh-text{padding:44px 0 8px}
 .home-hero:after{content:"";display:block;width:100%;max-width:420px;aspect-ratio:768/860;margin:0 auto;background:url('/wp-content/uploads/2026/05/hero-2-1-1.png') center bottom/contain no-repeat}
}
@media (max-width:760px){
 .topbar p:first-child,.topbar a[href^="mailto"]{display:none}
 .topbar .wrap{justify-content:center;min-height:36px}
}
@media (max-width:600px){.fcols{grid-template-columns:1fr}}
