:root{--navy:#17175c;--ink:#0b0b30;--red:#e8202a;--ice:#f3f5fb;--line:#dfe3f1;--tx:#1d2040;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}@view-transition{navigation:auto}
body{margin:0;font:400 1.0625rem/1.7 Figtree,system-ui,sans-serif;color:var(--tx);background:#fff;padding-top:env(safe-area-inset-top)}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.12;margin:0 0 .5em;color:var(--navy)}
h2{font-size:clamp(1.9rem,4vw,2.8rem)}h3{font-size:1.45rem}img{max-width:100%;height:auto}a{color:var(--red)}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font-weight:700;padding:.85em 1.6em;border:2px solid var(--red);cursor:pointer;font:inherit;font-weight:700;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);transition:background .2s}
.btn:hover{background:var(--navy);border-color:var(--navy)}.btn.ghost{background:transparent;color:#fff;border-color:#fff}.btn.ghost:hover{background:#fff;color:var(--navy)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:2px}
/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.72);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);border-bottom:1px solid transparent;transition:.3s}
.top.sc{border-color:var(--line);box-shadow:0 8px 30px rgba(23,23,92,.08)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.logo{display:flex;text-decoration:none;align-items:stretch;height:44px;color:#fff}
.logo b{background:var(--navy);display:grid;place-items:center;padding:0 .75rem;font:700 1.7rem/1 Figtree,sans-serif;letter-spacing:-.04em}
.logo span{background:var(--red);display:grid;align-content:center;padding:0 .8rem;font:500 .95rem/1 'Cormorant Garamond',serif;font-variant:small-caps;letter-spacing:.02em}.logo em{font-style:normal}.logo small{font-size:.85rem}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem}nav li{position:relative}
nav li>a{display:block;padding:.6rem .85rem;color:var(--navy);text-decoration:none;font-weight:500}nav li.on>a,nav li>a:hover{color:var(--red)}
nav li button{display:none}nav li ul{position:absolute;left:0;top:100%;min-width:230px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 40px rgba(23,23,92,.15);flex-direction:column;gap:0;padding:.4rem;opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s}
nav li:hover ul,nav li:focus-within ul{opacity:1;visibility:visible;transform:none}nav li li a{padding:.5rem .8rem;font-size:.95rem}nav li li a:hover{background:var(--ice)}
.burger{display:none;background:none;border:0;width:44px;height:44px;padding:10px;cursor:pointer}.burger i{display:block;height:2px;background:var(--navy);margin:6px 0;transition:.25s}
@media(max-width:900px){.burger{display:block}nav{position:absolute;left:0;right:0;top:100%;background:#fff;max-height:0;overflow:hidden;transition:max-height .35s;border-bottom:1px solid var(--line)}
.top.open nav{max-height:80vh;overflow:auto}nav ul{flex-direction:column;padding:.5rem 1.25rem 1rem}nav li{display:flex;flex-wrap:wrap;align-items:center}nav li>a{flex:1}
nav li button{display:block;background:none;border:0;font-size:1.5rem;color:var(--red);width:44px;height:44px}nav li ul{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;width:100%;display:none;background:var(--ice)}nav li.x ul{display:flex}}
/* hero */
.hero{background:radial-gradient(1200px 600px at 80% 0,#2a2a8c 0,transparent 60%),var(--ink);color:#fff;overflow:hidden;padding:clamp(2.5rem,6vw,5rem) 0}
.hg{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:center}
.hero h1{color:#fff;font-size:clamp(2.6rem,6.4vw,5.4rem);letter-spacing:-.02em}.hero p{color:#cfd3f5;max-width:34em;font-size:1.15rem}.acts{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.gem{position:relative;aspect-ratio:100/80;clip-path:polygon(25% 0,75% 0,100% 30%,50% 100%,0 30%);background:var(--navy);filter:drop-shadow(0 30px 50px #0008)}
.gs,.gs img{position:absolute;inset:0;width:100%;height:100%}.gs img{object-fit:cover;opacity:0;transition:opacity 1.4s}.gs img.on{opacity:1}
.gem svg{position:absolute;inset:0;width:100%;height:100%}
.shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-120%);animation:sh 6s 1s ease-in-out infinite}
@keyframes sh{0%{transform:translateX(-120%)}35%,100%{transform:translateX(120%)}}
@media(max-width:820px){.hg{grid-template-columns:1fr}.gem{max-width:480px}}
@media(prefers-reduced-motion:reduce){.shine{animation:none}*{scroll-behavior:auto!important}}
.logos{background:var(--ice);padding:1.4rem 0}.logos .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem 2.5rem;justify-content:center}.logos span{font-weight:700;color:var(--navy)}.logos img{height:56px;width:auto;mix-blend-mode:multiply}
section.wrap,section.cta .wrap{padding-block:clamp(2.5rem,6vw,4.5rem)}
.about{display:grid;gap:1.5rem}.rowh{display:flex;justify-content:space-between;align-items:baseline}
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.bento a{background:var(--ice);padding:1.6rem;text-decoration:none;color:var(--tx);border-top:4px solid var(--navy);transition:.25s}
.bento a:hover{background:var(--navy);color:#cfd3f5;border-color:var(--red)}.bento a:hover h3{color:#fff}.bento p{margin:0}.bento .b1{grid-column:span 2;grid-row:span 2;background:var(--navy);color:#cfd3f5;display:flex;flex-direction:column;justify-content:end;min-height:280px;border-color:var(--red)}.bento .b1 h3{color:#fff;font-size:2.2rem}.bento .b2{grid-column:span 2}
@media(max-width:820px){.bento{grid-template-columns:1fr 1fr}.bento .b1,.bento .b2{grid-column:span 2}}
.cta{background:linear-gradient(135deg,var(--red),#b5121b);color:#fff;text-align:center}.cta h2{color:#fff}.cta .btn{background:#fff;color:var(--red);border-color:#fff}
/* news */
.ngrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.4rem;padding-bottom:3rem}.nc{display:flex;flex-direction:column;text-decoration:none;color:var(--tx);background:#fff;border:1px solid var(--line);transition:.25s}.nc:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(23,23,92,.14)}
.nc img,.ph-gem{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--navy)}.nc div{padding:1.1rem}.nc h3{font-size:1.3rem}.nc time{font-size:.85rem;color:var(--red);font-weight:700}.nc p{margin:0;font-size:.95rem;color:#555a7a}
/* inner */
.ph{background:var(--ink);color:#fff;padding:clamp(2rem,5vw,3.5rem) 0;position:relative;overflow:hidden}.ph:after{content:"";position:absolute;right:-60px;top:-40px;width:340px;height:340px;background:var(--red);opacity:.9;clip-path:polygon(25% 0,75% 0,100% 30%,50% 100%,0 30%);transform:rotate(12deg)}
.ph .wrap{position:relative;z-index:1}.ph h1{color:#fff;font-size:clamp(2rem,5vw,3.6rem);max-width:20ch}.crumb{margin:0 0 .6rem;font-size:.9rem;color:#aab}.crumb a{color:#fff}.ph time{color:#cfd3f5}
.prose{max-width:860px;padding-block:2.5rem 4rem}.prose h2,.prose h3,.prose h4{margin-top:1.6em}.prose img{border-radius:4px}.prose img.alignleft{float:left;margin:0 1.5rem 1rem 0}.prose img.cover{width:100%;margin-bottom:1.5rem}.prose:after{content:"";display:block;clear:both}
.home .prose{padding:0;max-width:none}.vid{position:relative;aspect-ratio:16/9;margin:1.5rem 0}.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.8rem;margin:1.5rem 0}.gal img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pdf iframe{width:100%;height:80vh;border:1px solid var(--line);margin-bottom:.8rem}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.plan{border:1px solid var(--line);border-top:4px solid var(--red);padding:1.5rem;text-align:center}.price{font:700 1.6rem 'Cormorant Garamond',serif;color:var(--navy)}
.cf{display:grid;gap:1rem;max-width:560px}.cf label{display:grid;gap:.3rem;font-weight:500}input,textarea,select{font:inherit;padding:.75em .9em;border:1px solid #b9bfd8;background:#fff;width:100%}
form input[type=text],form input[type=number]{max-width:360px}table{border-collapse:collapse;display:block;overflow-x:auto;max-width:100%}td,th{border:1px solid var(--line);padding:.5rem .8rem}
.ft{background:var(--ink);color:#b9bfe8;padding:3rem 0 1.5rem}.ft a{color:#fff}.ft h4{color:#fff;font-size:1.2rem}.fg{display:grid;grid-template-columns:1.4fr 1.2fr 1fr 1fr;gap:2rem}.ft p{margin:.4rem 0}.cp{margin-top:2rem;padding-top:1rem;border-top:1px solid #2b2b66;font-size:.9rem}
@media(max-width:820px){.fg{grid-template-columns:1fr 1fr}}@media(max-width:520px){.fg{grid-template-columns:1fr}}
/* ===== Home animations (2027 update) ===== */
.prog{position:fixed;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--red),#ff7a80);transform:scaleX(0);transform-origin:0 50%;z-index:100;pointer-events:none}
.hero{position:relative}.hero .wrap{position:relative;z-index:1}
.hero h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.hero h1 .w>span{display:inline-block;transform:translateY(110%);animation:up .9s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes up{to{transform:none}}
.hero .ht p,.hero .acts{opacity:0;animation:fade 1s 1.1s ease forwards}.hero .acts{animation-delay:1.35s}
@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.fx{position:absolute;bottom:-140px;background:linear-gradient(135deg,rgba(232,32,42,.35),rgba(120,120,255,.18));clip-path:polygon(25% 0,75% 0,100% 30%,50% 100%,0 30%);opacity:.7;animation:rise linear infinite;pointer-events:none}
@keyframes rise{to{transform:translateY(-120vh) rotate(160deg)}}
.hg>.gem{animation:float 7s ease-in-out infinite;transition:transform .25s ease-out;will-change:transform;opacity:0;animation:pop 1.2s .3s cubic-bezier(.2,.8,.2,1) forwards,float 7s 1.5s ease-in-out infinite}
@keyframes pop{from{opacity:0;scale:.7;rotate:-8deg}to{opacity:1;scale:1;rotate:0deg}}
@keyframes float{50%{translate:0 -14px}}
.gem svg path{stroke-dasharray:500;stroke-dashoffset:500;animation:draw 3.2s .6s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.gs img.on{animation:kb 9s ease-out forwards}@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1)}}
.sp{position:absolute;width:14px;height:14px;background:#fff;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);opacity:0;animation:tw 3s ease-in-out infinite;z-index:2}
@keyframes tw{0%,100%{opacity:0;transform:scale(.2) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(90deg)}}
.btn{position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .6s}.btn:hover:after{left:130%}
/* affiliations marquee */
.logos .wrap{flex-wrap:nowrap;gap:1.5rem;justify-content:flex-start}.mq{overflow:hidden;flex:1;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mt{display:flex;gap:3rem;width:max-content;animation:mq 26s linear infinite}.mq:hover .mt{animation-play-state:paused}.mt img{height:56px}
@keyframes mq{to{transform:translateX(calc(-50% - 1.5rem))}}
@media(max-width:600px){.logos span{display:none}}
/* reveals */
.rv{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}
/* bento light + lift */
.bento a{position:relative;overflow:hidden}.bento a:before{content:"";position:absolute;inset:0;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(232,32,42,.22),transparent 70%);opacity:0;transition:opacity .3s}.bento a:hover:before{opacity:1}.bento a>*{position:relative}
/* facebook */
.fb{background:var(--ice)}.fbg{display:grid;grid-template-columns:1fr minmax(0,500px);gap:3rem;align-items:center;padding-block:clamp(2.5rem,6vw,4.5rem)}
.fbf{background:#fff;padding:10px;box-shadow:0 30px 60px rgba(23,23,92,.18);clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px))}.fbf iframe{display:block;width:100%;max-width:100%}
@media(max-width:820px){.fbg{grid-template-columns:1fr}}
/* closing banner */
.cta{background:linear-gradient(120deg,#e8202a,#b5121b,#17175c,#e8202a);background-size:300% 300%;animation:gr 14s ease infinite;position:relative;overflow:hidden}@keyframes gr{50%{background-position:100% 50%}}
.cta:before,.cta:after{content:"";position:absolute;width:220px;height:176px;background:rgba(255,255,255,.1);clip-path:polygon(25% 0,75% 0,100% 30%,50% 100%,0 30%);animation:drift 12s ease-in-out infinite}.cta:before{left:6%;top:12%}.cta:after{right:8%;bottom:8%;animation-delay:-6s;width:160px;height:128px}
@keyframes drift{50%{transform:translateY(-24px) rotate(14deg)}}.cta .wrap{position:relative}
@media(prefers-reduced-motion:reduce){.hero h1 .w>span,.hero .ht p,.hero .acts,.hg>.gem,.rv{animation:none!important;transform:none!important;opacity:1!important;translate:none!important}.mt,.cta,.cta:before,.cta:after,.gem svg path,.gs img.on{animation:none!important}.gem svg path{stroke-dashoffset:0}}

/* ===== PNG logo ===== */
.logo{height:auto;display:block;line-height:0}.logo img{display:block;height:42px;width:auto;max-width:100%}.ft .logo img{height:48px}
@media(max-width:520px){.logo img{height:36px}}

/* ===== Affiliations: white band, left-to-right loop ===== */
.logos{background:#fff;border-block:1px solid var(--line)}.logos img{mix-blend-mode:normal}
.mt{gap:0;animation:mqr 34s linear infinite}.mt img{margin-right:3.5rem;flex:none}
@keyframes mqr{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.mt{animation:none!important}}
/* ===== Facebook fallback ===== */
.fb-page{display:block;min-height:120px}.fb-page blockquote{margin:0;padding:1.5rem;background:var(--ice);font-family:'Cormorant Garamond',serif;font-size:1.3rem}.fb-page blockquote a{color:var(--navy);font-weight:700;text-decoration:none}
.fbn{margin:.8rem .4rem .2rem;font-size:.9rem;color:#555a7a}

/* marquee driven by home.js (measured width) */
.mq.js-mq .mt{animation:none}.mt{will-change:transform}
/* if the device asks for reduced motion, the logo strip becomes a swipe/scroll row instead of auto-moving */
@media(prefers-reduced-motion:reduce){.mq{overflow-x:auto;mask-image:none}.mt{transform:none!important}}

/* ===== Page fixes: galleries, price list, certificate and membership forms ===== */
.wpgal{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1.5rem 0 2rem;max-width:100%}
.wpgal dl{margin:0}.wpgal dt{margin:0}.wpgal a{display:block;background:#fff;padding:6px;border:1px solid var(--line);box-shadow:0 10px 24px rgba(23,23,92,.1);transition:transform .25s,box-shadow .25s}
.wpgal a:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(23,23,92,.18)}.wpgal img{display:block;width:100%;height:auto;border-radius:0;float:none;margin:0}
.pricepages{display:grid;gap:1.5rem;margin-top:1.5rem}.pricepages a{display:block;border:1px solid var(--line);box-shadow:0 14px 34px rgba(23,23,92,.12)}.pricepages img{display:block;width:100%;height:auto;aspect-ratio:723/1024;object-fit:contain;background:#fff;border-radius:0}
.vpage .vhero{display:block;width:100%;max-height:340px;object-fit:cover;margin-bottom:1.5rem}
.ins{background:var(--ice);border-left:4px solid var(--red);padding:1.2rem 1.5rem;margin:1rem 0 2rem}.ins ul{margin:.5rem 0 1rem;padding-left:1.2rem}.ins li{margin:.35rem 0}.ins p{margin:0}
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin:1.5rem 0}.vgrid.one{grid-template-columns:minmax(0,560px)}
@media(max-width:700px){.vgrid{grid-template-columns:1fr}}
.vf{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);padding:1.5rem;box-shadow:0 14px 34px rgba(23,23,92,.08)}.vf h3{font-size:1.35rem;margin:0 0 1rem}
.vf label{display:block;font-weight:700;color:var(--navy);margin-bottom:.4rem}
.vfr{display:flex;gap:.6rem;align-items:stretch}.vfr input{flex:1;min-width:0;max-width:none!important;min-height:52px;border:2px solid #b9bfd8;border-radius:0;font-size:1.05rem}.vfr input:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px rgba(232,32,42,.18)}
.vfr .btn{min-height:52px;padding-inline:1.6em}
@media(max-width:420px){.vfr{flex-direction:column}}

/* ===== Mobile fixes for the home page ===== */
body{overflow-x:clip}
.prose p:empty{display:none}
.about{grid-template-columns:minmax(0,1fr)}.about .prose p{text-align:left!important;overflow-wrap:anywhere}
.about .prose{max-width:860px}
.fbg>*,.fbf,.fbt{min-width:0}.fbf{max-width:100%;overflow:hidden}.fb-page,.fb-page span,.fb-page iframe{max-width:100%!important}
@media(max-width:820px){
 .fbg{grid-template-columns:minmax(0,1fr)}
 .bento{grid-template-columns:1fr 1fr}.bento .b1{grid-column:span 2;grid-row:auto;min-height:200px}.bento .b2{grid-column:span 2;order:9}
}
@media(max-width:600px){
 .logos .wrap{flex-direction:column;align-items:flex-start;gap:.8rem}.logos span{display:block}.mq{width:100%;flex:none}
 .bento{grid-template-columns:1fr}.bento .b1,.bento .b2{grid-column:auto}.bento a{padding:1.3rem}
 section.wrap,section.cta .wrap{padding-block:2.2rem}.rowh{flex-wrap:wrap;gap:.3rem}
}

/* ===== Contact page ===== */
.cpage{padding-block:2.5rem 4rem}.cintro{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;align-items:center;justify-content:space-between;margin-bottom:2rem}.cintro p{margin:0;max-width:640px;font-size:1.15rem}
.qa{display:flex;flex-wrap:wrap;gap:.7rem}.btn.ghost-d{background:transparent;color:var(--navy);border-color:var(--navy)}.btn.ghost-d:hover{background:var(--navy);color:#fff}
.bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.bc{position:relative;background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);padding:1.6rem;display:flex;flex-direction:column;gap:.9rem;box-shadow:0 14px 34px rgba(23,23,92,.08);clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%);transition:transform .25s,box-shadow .25s}
.bc:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(23,23,92,.16)}
.tag{align-self:flex-start;background:var(--red);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.25em .8em;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.bc h3{font-size:2rem;margin:0}.ad{margin:0;display:flex;gap:.6rem;align-items:flex-start;color:#4a4f73}.ad svg{flex:none;width:22px;height:22px;color:var(--red);margin-top:.2rem}
.nums{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.nums a{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--tx);background:var(--ice);padding:.6rem .9rem;border-left:3px solid transparent;transition:.2s}
.nums a:hover{background:#fff;border-color:var(--red);box-shadow:0 6px 16px rgba(23,23,92,.1)}.nums svg{flex:none;width:20px;height:20px;color:var(--navy)}.nums b{display:block;font-weight:700;color:var(--navy);letter-spacing:.01em}.nums small{display:block;color:#6a6f93;font-size:.85rem;line-height:1.3}
.bcf{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:auto;padding-top:.8rem;border-top:1px solid var(--line)}.bcf a{display:inline-flex;gap:.4rem;align-items:center;text-decoration:none;font-weight:700;color:var(--red)}.bcf svg{width:18px;height:18px}.bcf a:hover{color:var(--navy)}
.bc.hq{grid-column:1/-1;background:linear-gradient(135deg,var(--navy),var(--ink));color:#cfd3f5;border-color:var(--red)}.bc.hq h3{color:#fff;font-size:2.6rem}.bc.hq .ad{color:#cfd3f5}.bc.hq .ad svg{color:#ff7a80}
.bc.hq .nums{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.bc.hq .nums a{background:rgba(255,255,255,.08)}.bc.hq .nums a:hover{background:rgba(255,255,255,.16)}.bc.hq .nums svg,.bc.hq .nums b{color:#fff}.bc.hq .nums small{color:#aab0e6}.bc.hq .bcf{border-color:rgba(255,255,255,.18)}.bc.hq .bcf a{color:#fff}
.findus{margin-top:3.5rem}.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tabs button{font:inherit;font-weight:700;padding:.6em 1.3em;background:var(--ice);color:var(--navy);border:2px solid var(--line);cursor:pointer;transition:.2s}.tabs button:hover{border-color:var(--navy)}.tabs button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.mapbox{position:relative;aspect-ratio:16/7;min-height:300px;border:1px solid var(--line);box-shadow:0 14px 34px rgba(23,23,92,.1)}.mapbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.msg{margin-top:3.5rem;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2.5rem;align-items:start;background:var(--ice);padding:clamp(1.5rem,4vw,3rem);border-left:6px solid var(--red)}
.why{padding-left:1.2rem}.why li{margin:.4rem 0}.cform{background:#fff;padding:1.6rem;max-width:none;box-shadow:0 14px 34px rgba(23,23,92,.08)}.cform input,.cform textarea{border:2px solid #b9bfd8;border-radius:0;min-height:50px;max-width:none!important}.cform textarea{min-height:140px;resize:vertical}.cform input:focus,.cform textarea:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px rgba(232,32,42,.18)}
@media(max-width:900px){.bgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.bgrid .bc:last-child{grid-column:1/-1}.msg{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.bgrid{grid-template-columns:minmax(0,1fr)}.bc h3,.bc.hq h3{font-size:1.9rem}.mapbox{aspect-ratio:4/3}.qa .btn{flex:1;text-align:center}.cintro p{font-size:1.05rem}}

.cp{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem}.cp a{color:#fff}

/* ===== Smooth page changes: header stays in place, only the active (red) item changes ===== */
#site-header{min-height:68px}
.top{view-transition-name:site-header}
::view-transition-group(site-header){animation-duration:0s}
::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}
::view-transition-old(root){animation:vtout .14s ease both}::view-transition-new(root){animation:vtin .22s .04s ease both}
@keyframes vtout{to{opacity:0}}@keyframes vtin{from{opacity:0}}
nav li>a{transition:color .2s}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}
