/* LACM theme — mobile-first, fluid, accessible */
:root{--navy:#0b3d75;--navy-d:#082c55;--green:#1e8e2f;--green-d:#166f24;--gold:#c8921b;--sky:#e8f1fb;--ink:#1c2b3a;--muted:#5b6b7b;--line:#d9e3ee;--white:#fff;--r:10px;--sh:0 10px 30px rgba(11,61,117,.12);--fh:'Merriweather',Georgia,serif;--fb:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--fs:'Yellowtail','Segoe Script','Brush Script MT',cursive;--wrap:1200px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;font:400 clamp(15px,.35vw + 14px,17px)/1.65 var(--fb);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
img,svg,iframe{max-width:100%;height:auto}
a{color:var(--navy);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--green)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--fh);color:var(--navy);line-height:1.2;margin:0 0 .5em;font-weight:900}
h1{font-size:clamp(1.9rem,4.2vw + .6rem,3.4rem)}
h2{font-size:clamp(1.5rem,2.4vw + .6rem,2.3rem)}
h3{font-size:clamp(1.05rem,.6vw + .9rem,1.3rem)}
p{margin:0 0 1em}
em{font-style:normal;color:var(--gold)}
.wrap{width:min(100% - 32px,var(--wrap));margin-inline:auto}
.wrap--narrow{width:min(100% - 32px,820px)}
.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;top:8px;left:8px;z-index:999;background:#fff;padding:10px 14px;border-radius:6px}
.center{text-align:center}.muted{color:var(--muted)}.small{font-size:.85rem}
.ic{flex:none}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:6px;border:2px solid transparent;font:700 .95rem/1 var(--fb);text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s;min-height:46px}
.btn--green{background:var(--green);color:#fff}.btn--green:hover{background:var(--green-d);color:#fff}
.btn--outline{background:#fff;color:var(--navy);border-color:var(--navy)}.btn--outline:hover{background:var(--navy);color:#fff}
.btn--white{background:#fff;color:var(--navy)}.btn--white:hover{background:var(--sky);color:var(--navy)}
.link{font-weight:700;text-decoration:none;display:inline-flex;gap:6px;align-items:center}

/* Top bar */
.topbar{background:var(--navy-d);color:#fff;font-size:.8rem}
.topbar__in{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding-block:4px}
.topbar__r{display:flex;align-items:center;gap:10px;margin-left:auto}
.topbar__follow{opacity:.85}
.langsw{display:flex;border:1px solid rgba(255,255,255,.35);border-radius:999px;overflow:hidden;margin-right:6px}
.langsw a{color:#fff;text-decoration:none;padding:3px 12px;font-weight:700;letter-spacing:.04em}
.langsw a.is-active{background:#fff;color:var(--navy)}
.soc{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:var(--navy);transition:transform .2s}
.soc:hover{transform:translateY(-2px);color:#fff}
.soc--facebook:hover{background:#1877f2}.soc--linkedin:hover{background:#0a66c2}.soc--instagram:hover{background:#d62976}.soc--youtube:hover{background:#e00}
.soc--lg{width:44px;height:44px}

/* Site header */
.site-header{background:#fff}
.site-header__in{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px 24px;padding-block:14px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--navy);min-width:0}
.brand__logo{width:clamp(70px,10vw,140px);height:auto}
.brand__txt{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.15}
.brand__name{font:900 clamp(.95rem,1.6vw + .3rem,1.6rem)/1.1 var(--fh);color:var(--navy)}
.brand__script{font:400 clamp(1.4rem,2.6vw + .4rem,2.6rem)/1 var(--fs);color:var(--green);transform:rotate(-2deg)}
.brand__slogan{font:700 clamp(.65rem,.9vw + .3rem,.95rem) var(--fh);color:var(--navy)}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.95rem}
.contact-list li{display:flex;gap:10px;align-items:flex-start}
.contact-list .ic{color:var(--navy);margin-top:2px}
.contact-list a{color:inherit;text-decoration:none}
.site-header__cta{justify-self:end}
.contact-list--light{color:#fff}.contact-list--light .ic{color:#9fd4a6}.contact-list--light a:hover{color:#9fd4a6}
@media(min-width:1081px){.site-header__in{grid-template-columns:auto 1fr auto auto}.brand{justify-self:center}.contact-list{justify-self:end}}
@media(max-width:1080px){.contact-list,.site-header__cta{display:none}.site-header__in{grid-template-columns:1fr}.brand{justify-content:center}}
@media(max-width:560px){.brand{gap:10px}.brand__slogan{display:none}}

/* Main nav */
.mainnav{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50;transition:box-shadow .2s}
.mainnav.is-stuck{box-shadow:0 6px 20px rgba(0,0,0,.25)}
.mainnav__in{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px}
.mainnav__list{list-style:none;margin:0;padding:0;display:flex;flex:1;justify-content:space-between}
.mainnav__list>li{position:relative;display:flex;align-items:center}
.mainnav__list a{color:#fff;text-decoration:none;font-weight:600;font-size:.86rem;padding:16px clamp(6px,.9vw,14px);display:block;white-space:nowrap}
.mainnav__list>li.is-active>a,.mainnav__list>li.current-menu-item>a,.mainnav__list>li.current-menu-ancestor>a,.mainnav__list>li>a:hover{background:var(--green)}
.mainnav__list li{list-style:none}
.sub-toggle{background:none;border:0;color:#fff;padding:0 6px 0 0;margin-left:-8px;cursor:pointer;display:none}
.sub{list-style:none;margin:0;padding:6px 0;position:absolute;left:0;top:100%;min-width:260px;background:#fff;box-shadow:var(--sh);border-radius:0 0 var(--r) var(--r);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;z-index:5}
.sub a{color:var(--ink);font-weight:500;padding:10px 18px;white-space:normal}
.sub a:hover{background:var(--sky);color:var(--navy)}
.has-sub>a::after{content:"";display:inline-block;margin-left:6px;width:6px;height:6px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px)}
.has-sub:hover>.sub,.has-sub:focus-within>.sub{opacity:1;visibility:visible;transform:none}
.navsearch{display:flex;align-items:center;border-left:1px solid rgba(255,255,255,.25);margin-left:6px}
.navsearch input{width:0;padding:0;border:0;background:transparent;color:#fff;font:inherit;transition:width .25s,padding .25s}
.navsearch input::placeholder{color:rgba(255,255,255,.7)}
.navsearch:focus-within input,.navsearch input:not(:placeholder-shown){width:150px;padding:8px}
.navsearch button{background:none;border:0;color:#fff;padding:12px;cursor:pointer}
.nav-toggle,.mainnav__mobile-cta{display:none}
@media(max-width:1080px){
	.mainnav__in{flex-wrap:wrap;padding-block:6px}
	.nav-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:6px;padding:10px 14px;font:700 .9rem var(--fb);cursor:pointer;min-height:44px}
	.mainnav__mobile-cta{display:inline-flex;margin-left:auto;padding:11px 16px}
	.navsearch{order:3;margin-left:0;border:0;width:100%;background:rgba(255,255,255,.08);border-radius:6px;display:none}
	.mainnav__list.is-open~.navsearch{display:flex}
	.navsearch input{width:100%;padding:10px}
	.mainnav__list{display:none;flex:0 0 100%;order:2;flex-direction:column;padding:6px 0 10px}
	.mainnav__list.is-open{display:flex}
	.mainnav__list>li{flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12)}
	.mainnav__list>li>a{flex:1;padding:14px 8px;font-size:1rem}
	.sub-toggle{display:block;padding:14px 12px;margin:0}
	.has-sub>a::after{display:none}
	.sub{position:static;flex:0 0 100%;opacity:1;visibility:visible;transform:none;box-shadow:none;display:none;background:rgba(255,255,255,.07);border-radius:0}
	.sub-open>.sub{display:block}
	.sub a{color:#fff;padding:11px 22px}.sub a:hover{background:rgba(255,255,255,.12);color:#fff}
	.sub-open>.sub-toggle .ic{transform:rotate(180deg)}
	body.nav-open{overflow:hidden}
	.mainnav__list.is-open{max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain}
}

/* Hero */
.hero{position:relative;background:linear-gradient(100deg,#fff 0,#f3f8fe 50%,#e8f1fb 100%);overflow:hidden}
.hero__media{position:absolute;inset:0 0 0 40%;background-size:cover;background-position:center}
.hero__media::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f6faff 0,rgba(246,250,255,0) 40%)}
.hero__inner{position:relative;display:flex;align-items:center;min-height:clamp(480px,46vw,640px);padding-block:clamp(32px,5vw,72px)}
.hero__copy{max-width:min(600px,100%)}
.hero h1{margin-bottom:.15em}
.script{font:400 clamp(2.2rem,4.5vw + .6rem,4rem)/1.05 var(--fs);color:var(--green);margin:0 0 .1em;transform:rotate(-2deg);transform-origin:left}
.hero__slogan{font:700 clamp(1rem,1vw + .8rem,1.3rem) var(--fh);color:var(--navy)}
.hero__lead{max-width:52ch;color:#2d3f52}
.hero__btns{display:flex;flex-wrap:wrap;gap:12px;margin:1.4em 0}
.trust{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.88rem;font-weight:600;color:var(--navy)}
.trust li{display:flex;align-items:center;gap:8px}
.trust .ic{color:var(--navy)}
@media(max-width:900px){
	.hero{display:flex;flex-direction:column}
	.hero__media{position:relative;inset:auto;height:clamp(220px,52vw,340px)}
	.hero__media::before{background:linear-gradient(0deg,#f6faff 0,rgba(246,250,255,0) 30%)}
	.hero__inner{min-height:0;padding-top:10px}
}

/* Sections */
.sec{padding-block:clamp(44px,7vw,88px)}
.sec--tight{padding-block:clamp(32px,4.5vw,56px)}
.sec--sky{background:var(--sky)}
.navy{background:var(--navy);color:#fff}
.sec-head{margin-bottom:clamp(20px,3vw,36px)}
.sec-head--row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px}
.sec-title{display:flex;align-items:center;gap:16px;margin-bottom:.6em}
.sec-title::after{content:"";flex:0 1 90px;height:3px;background:var(--green);border-radius:2px}
.sec-head .sec-title{margin-bottom:.2em}
.sec-title--light{color:#fff}
.sec-sub{color:var(--muted);margin:0}.sec-sub--light{color:#dbe8f7;margin-bottom:24px}
.sec-side{margin:0;color:var(--navy);font-weight:500;padding-left:24px;border-left:3px solid var(--green)}

/* Grids */
.grid{display:grid;gap:clamp(12px,1.6vw,22px)}
.g3,.g4,.g5{grid-template-columns:repeat(2,1fr)}
@media(min-width:700px){.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.g5{grid-template-columns:repeat(5,1fr)}}
@media(max-width:699px){.g3{grid-template-columns:1fr}.g4{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.g4{grid-template-columns:1fr}}

.tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:22px 12px;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--navy);font-weight:600;font-size:.92rem;line-height:1.3;transition:border-color .2s,transform .2s,box-shadow .2s}
.tile:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:var(--sh);color:var(--navy)}
.tile__ic,.card__ic,.why__ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--sky);color:var(--navy)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;height:100%}
.card__ic{margin-bottom:14px;background:var(--navy);color:#fff}
.card p{margin:0;color:var(--muted)}

/* Split */
.split{display:grid;gap:clamp(24px,4vw,56px);align-items:center}
@media(min-width:900px){.split{grid-template-columns:1.1fr .9fr}.split--form{grid-template-columns:1.4fr .8fr;align-items:start}}
.ticks{list-style:none;padding:0;margin:0 0 1.6em;display:grid;gap:10px}
.ticks li{display:flex;gap:10px;align-items:center;font-weight:500}.ticks .ic{color:var(--green)}
.globe-card{aspect-ratio:4/3;border-radius:16px;background:linear-gradient(135deg,var(--navy),#1a6bb3 60%,var(--green));color:#fff;display:grid;place-content:center;justify-items:center;gap:14px;text-align:center;padding:24px;box-shadow:var(--sh)}
.globe-card span{font:700 1.05rem var(--fh)}

/* Industries (navy) */
.chips{margin-top:8px}
.chip{display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--r);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;font-weight:600;transition:background .2s}
.chip:hover{background:rgba(255,255,255,.18);color:#fff}
.chip .ic{color:#9fd4a6}

/* Why */
.why{margin-top:24px}
.why__item{text-align:left}
.why__item h3{margin:.7em 0 .3em;font-size:1.05rem}
.why__item p{color:var(--muted);font-size:.92rem;margin:0}
.why__ic{background:#fff;color:var(--green)}
.why__item--card{background:#fff;border:1px solid var(--line);padding:26px;border-radius:var(--r)}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;text-align:center}
@media(min-width:800px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{padding:22px 12px;border-radius:var(--r);background:var(--navy);color:#fff}
.stat strong{display:block;font:900 clamp(2rem,3vw + .8rem,3rem)/1 var(--fh)}
.stat span{font-size:.9rem;opacity:.9}

/* Testimonials */
.quote{margin:0;padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--r);border-top:4px solid var(--green);height:100%;display:flex;flex-direction:column;gap:14px}
.stars{color:var(--gold);display:flex;gap:2px}.stars .ic{fill:currentColor}
.quote blockquote{margin:0;font-size:1rem;flex:1}
.quote figcaption{display:grid;font-size:.9rem}.quote figcaption span{color:var(--muted)}
.rating{font-size:1.15rem;margin-bottom:24px}.rating .ic{color:var(--gold);fill:currentColor;vertical-align:-4px}

/* Quote section */
.quote-sec{display:grid}
@media(min-width:1000px){.quote-sec{grid-template-columns:.8fr 1.6fr}}
.quote-sec__media{min-height:240px;display:flex;align-items:flex-end;padding:clamp(24px,4vw,48px);background:linear-gradient(180deg,rgba(8,44,85,.25),rgba(8,44,85,.85)),url('../images/hero.jpg') center/cover}
.quote-sec__media p{margin:0;font:900 clamp(1.6rem,2.8vw + .5rem,2.6rem)/1.15 var(--fh);color:#fff;max-width:11ch;border-bottom:3px solid var(--green);padding-bottom:14px}
.quote-sec__form{padding:clamp(24px,4vw,48px);background:#fff}

/* Forms */
.form{display:grid;gap:14px}
.form-grid{display:grid;gap:14px}
@media(min-width:640px){.form-grid{grid-template-columns:1fr 1fr;gap:20px}}
.col{display:grid;gap:14px;align-content:start}
.field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:4px;color:var(--navy)}
.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #b9c8d8;border-radius:6px;font:inherit;background:#fff;color:var(--ink);min-height:46px}
.field textarea{min-height:90px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);outline:3px solid rgba(11,61,117,.2)}
.hp{position:absolute;left:-9999px}
.notice{padding:12px 16px;border-radius:6px;margin:0;font-weight:600}
.notice.ok{background:#e4f5e6;color:#14591e}.notice.err{background:#fdeaea;color:#8a1c1c}
.form .btn{justify-self:start}
.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:clamp(20px,3vw,36px)}
.panel--navy{background:var(--navy);color:#fff;border-color:var(--navy)}.panel--navy h2{color:#fff}
.mini-steps{padding-left:1.2em;margin:0 0 1.6em;display:grid;gap:8px}
.map iframe{display:block;width:100%;height:clamp(260px,40vw,420px);border:0}

/* Page hero */
.page-hero{background:linear-gradient(120deg,var(--navy-d),var(--navy) 60%,#15639f);color:#fff;padding-block:clamp(36px,6vw,72px);position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-60px;bottom:-80px;width:280px;height:280px;border-radius:50%;background:var(--green);opacity:.25}
.page-hero h1{color:#fff;margin-bottom:.25em;position:relative}
.page-hero .lead{font-size:clamp(1rem,1vw + .8rem,1.2rem);color:#dbe8f7;max-width:60ch;margin:0;position:relative}
.crumbs{font-size:.85rem;margin-bottom:12px;color:#b8cde6}.crumbs a{color:#fff}

/* Steps / timeline / team / jobs / faq */
.steps{list-style:none;counter-reset:s;padding:0;margin:0 0 24px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;position:relative}
.steps li::before{content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;font:900 1rem var(--fh);margin-bottom:12px}
.steps p{margin:0;color:var(--muted)}
.timeline{list-style:none;margin:0;padding:0 0 0 22px;border-left:3px solid var(--green);display:grid;gap:22px}
.timeline li{position:relative;display:grid;gap:2px}
.timeline li::before{content:"";position:absolute;left:-30px;top:6px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--green)}
.timeline strong{font:900 1.2rem var(--fh);color:var(--navy)}
.team{text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.avatar{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 12px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--green));color:#fff;font:900 1.4rem var(--fh)}
.team h3{margin-bottom:.15em}.team p{margin:0;color:var(--muted);font-size:.92rem}
.job{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-bottom:14px}
.job h3{margin-bottom:.2em}.job p{margin:.3em 0 0}
.faq-group{margin:1.6em 0 .6em;font-size:1.3rem}
.faq{border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;background:#fff}
.faq summary{list-style:none;cursor:pointer;padding:16px 18px;font-weight:600;color:var(--navy);display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq[open] summary .ic{transform:rotate(180deg)}
.faq[open]{border-color:var(--green)}
.faq p{padding:0 18px 16px;margin:0;color:var(--muted)}

/* CTA */
.cta{background:linear-gradient(100deg,var(--green-d),var(--green));color:#fff;padding-block:clamp(32px,5vw,56px)}
.cta__in{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.cta h2{color:#fff;margin:0 0 .2em}.cta p{margin:0;opacity:.95}

/* Blog */
.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;height:100%}
.post-card__img{display:block;aspect-ratio:16/10;background:linear-gradient(135deg,var(--navy),var(--green));color:#fff}
.post-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.post-card .ph{display:grid;place-items:center;height:100%}
.post-card__b{padding:20px}.post-card time{font-size:.8rem;color:var(--muted)}
.post-card h3{margin:.3em 0 .4em}.post-card h3 a{text-decoration:none}
.post-card p{margin:0;color:var(--muted);font-size:.95rem}
.prose{font-size:1.05rem}.prose h2{margin-top:1.6em}.prose img{border-radius:var(--r)}
.post-nav{display:flex;justify-content:space-between;gap:12px;margin-top:40px;font-weight:600;flex-wrap:wrap}
.navigation.pagination{margin-top:36px;text-align:center}
.page-numbers{display:inline-block;padding:9px 14px;margin:2px;border:1px solid var(--line);border-radius:6px;text-decoration:none}
.page-numbers.current{background:var(--navy);color:#fff;border-color:var(--navy)}

/* Footer */
.site-footer{background:var(--navy-d);color:#dbe8f7}
.footer__grid{display:grid;gap:32px;padding-block:clamp(36px,5vw,60px);grid-template-columns:1fr}
@media(min-width:640px){.footer__grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.footer__grid{grid-template-columns:1.4fr .8fr 1.2fr .8fr}}
.site-footer h3{color:#fff;font-size:1.1rem}
.footer__brand .brand__name{color:#fff}.footer__brand .brand__script{color:#7fd68a;display:block;font-size:2rem}
.footer__brand img{margin-bottom:10px}
.flinks{list-style:none;padding:0;margin:0;display:grid;gap:8px}.flinks a{color:#dbe8f7;text-decoration:none}.flinks a:hover{color:#fff;text-decoration:underline}
.footer__soc{display:flex;gap:10px;flex-wrap:wrap}
.footer__bar{background:#061f3c;font-size:.85rem}
.footer__bar-in{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding-block:16px}
.footer__bar a{color:#dbe8f7}.footer__bar i{opacity:.5;margin:0 8px;font-style:normal}

/* Floating */
.wa,.totop{position:fixed;z-index:60;border-radius:50%;display:grid;place-items:center;border:0;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.wa{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:56px;height:56px;background:#25d366;color:#fff}
.totop{left:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:44px;height:44px;background:var(--navy);color:#fff}
.totop[hidden]{display:none}

/* Motion (only when JS present) */
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.js .reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}
@media print{.topbar,.mainnav,.cta,.wa,.totop,.site-footer{display:none}}

/* Large screens / 4K */
@media(min-width:1800px){:root{--wrap:1400px}body{font-size:18px}}
