:root{--a:#0a8a49;--a2:#0b7fd8;--hf:'Montserrat',system-ui,sans-serif;--bf:'Inter',system-ui,sans-serif;
--bg:#ffffff;--surface:#ffffff;--ink:#17323c;
--mut:color-mix(in srgb,var(--ink) 66%,var(--bg));--line:color-mix(in srgb,var(--ink) 11%,var(--bg));
--soft:color-mix(in srgb,var(--a) 8%,var(--bg));--soft2:color-mix(in srgb,var(--a2) 9%,var(--bg));--ad:color-mix(in srgb,var(--a) 62%,#000);
--ta:var(--a);--ta2:var(--a2);--r:22px;--rs:14px;--rb:999px;--pr:30px;--par:4/4.4;--sh:0 14px 36px rgba(20,50,60,.09);--csh:0 6px 20px rgba(20,50,60,.06);--hw:700;--hls:-.02em;
--navbg:#ffffff;--navink:#25414b;--navbd:var(--line);--topbg:var(--soft);--topink:var(--mut);
--herobg:var(--bg);--heroink:var(--ink);--herolead:var(--mut);--heroem:var(--a);--heroeye:var(--ta2);--h1bg:var(--a);--h1c:#fff;--h2bd:var(--a);--h2c:var(--a);
--fbg:#12262e;--fink:#b6c8cd;--fh:#fff;--ctabg:var(--a);--ctaink:#fff;--ctabtn:#fff;--ctabtnc:var(--ad)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--bf);background:var(--bg);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top,0)}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}.i{width:1em;height:1em;flex-shrink:0}
.wrap{width:min(1120px,calc(100% - 48px));margin:0 auto}
h1,h2,h3{font-family:var(--hf);font-weight:var(--hw);letter-spacing:var(--hls);line-height:1.15}
h1{font-size:clamp(34px,4.8vw,58px);margin-bottom:18px}h2{font-size:clamp(26px,3vw,38px);margin-bottom:12px}h3{font-size:20px;margin-bottom:8px}
em{font-style:normal;color:var(--heroem)}h2 em,h3 em{color:var(--ta)}
.eyebrow{display:inline-block;font:700 12.5px var(--hf);letter-spacing:.14em;text-transform:uppercase;color:var(--heroeye);margin-bottom:14px}
.lead{font-size:17.5px;color:var(--mut);max-width:600px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 26px;border-radius:var(--rb);font:700 14.5px var(--hf);border:2px solid transparent;cursor:pointer;transition:.2s;letter-spacing:0}
.btn-primary{background:var(--a);color:#fff}.btn-primary:hover{filter:brightness(.92);transform:translateY(-2px)}
.btn-ghost{border-color:var(--ta);color:var(--ta);background:transparent}.btn-ghost:hover{background:var(--a);border-color:var(--a);color:#fff}
.hb1{background:var(--h1bg);color:var(--h1c)}.hb1:hover{transform:translateY(-2px);filter:brightness(.95)}.hb2{border-color:var(--h2bd);color:var(--h2c);background:transparent}.hb2:hover{background:color-mix(in srgb,var(--h2bd) 14%,transparent)}
.btns{display:flex;gap:12px;flex-wrap:wrap}
.topbar{background:var(--topbg);color:var(--topink);font-size:13px}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 0}
.tbr{display:flex;gap:18px;align-items:center}.tbr a{display:inline-flex;gap:6px;align-items:center;font-weight:600}.tbb{background:var(--a);color:#fff;padding:5px 14px;border-radius:99px}
header.nav{position:sticky;top:0;z-index:50;background:var(--navbg);border-bottom:1px solid var(--navbd)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}.brand img{height:52px;width:auto}
.menu{display:flex;align-items:center;gap:30px;font-weight:600;font-size:14.5px;color:var(--navink)}.menu a:not(.btn):hover{color:var(--a)}.menu .btn{padding:11px 22px}
.burger{display:none;background:none;border:1.5px solid color-mix(in srgb,var(--navink) 35%,transparent);color:var(--navink);border-radius:10px;padding:8px 14px;font:700 13px var(--hf);cursor:pointer}
.hero{background:var(--herobg);color:var(--heroink);position:relative;overflow:hidden}
.shape{position:absolute;pointer-events:none;display:none}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:78px 0 110px;position:relative;z-index:2}
.hero-text .lead{color:var(--herolead);margin-bottom:28px}.hero-text h1{color:var(--heroink)}
.hero-media{position:relative;max-width:440px;margin-left:auto;width:100%}
.photo{border-radius:var(--pr);overflow:hidden;aspect-ratio:var(--par);background:#f4f7f6;box-shadow:var(--sh)}
.photo img{width:100%;height:100%;object-fit:cover;object-position:center 12%}
.bcard{position:absolute;left:-26px;bottom:34px;background:#fff;color:#17323c;border-radius:18px;padding:13px 18px;display:flex;gap:12px;align-items:center;box-shadow:0 14px 34px rgba(0,0,0,.16)}
.bcard b{display:block;font:800 15px var(--hf)}.bcard small{font-size:12px;color:#5b707a}.bic{width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--a) 14%,#fff);color:var(--a);display:grid;place-items:center;font-size:19px}
.info{position:relative;z-index:5}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.icard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--csh)}
.ii{width:48px;height:48px;border-radius:14px;background:var(--soft);color:var(--ta);display:grid;place-items:center;font-size:24px;margin-bottom:14px}.icard:nth-child(2) .ii{background:var(--soft2);color:var(--ta2)}
.icard h2{font-size:20px;margin-bottom:8px}.icard p,.icard li{font-size:14.5px;color:var(--mut)}.icard li{padding:3px 0}.icard li:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--a);margin-right:10px;vertical-align:1px}
.ilinks{display:flex;gap:16px;margin-top:12px}.ilinks a{font-weight:700;color:var(--ta2);font-size:14.5px}
section.sec{padding:96px 0}.tintb{background:var(--soft)}
.head{max-width:680px;margin-bottom:44px}.head.center{text-align:center;margin-left:auto;margin-right:auto}.head.center .lead{margin:0 auto}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px;flex-wrap:wrap}.shead h2{margin:0;max-width:560px}
.more{display:inline-flex;gap:8px;align-items:center;color:var(--ta2);font-weight:700;font-size:14.5px}.more .i{transition:.2s}a:hover>.more .i,.more:hover .i{transform:translateX(4px)}
.tag{display:inline-block;background:var(--soft);color:var(--ta);font:700 12px var(--hf);padding:5px 13px;border-radius:99px;margin-bottom:12px}
.sgrid,.rgrid,.agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.scard,.rcard,.acard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:var(--csh);transition:.25s;display:flex;flex-direction:column}
.scard:hover,.rcard:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.sic,.aic{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,var(--a),var(--a2));color:#fff;display:grid;place-items:center;font-size:27px;margin-bottom:16px}
.scard p,.rcard p,.acard p{color:var(--mut);font-size:15px}.scard ul{margin:16px 0 20px}.scard li{font-size:14px;padding:4px 0;border-top:1px solid var(--line);color:var(--ink)}.scard li:first-child{border-top:0}
.scard .more{margin-top:auto}.rcard .more{margin-top:auto;padding-top:14px}.rt{display:flex;justify-content:space-between;align-items:center;font-size:24px;color:var(--ta)}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.amedia{position:relative;max-width:460px;width:100%}.aphoto{border-radius:var(--pr);overflow:hidden;aspect-ratio:4/4.6;box-shadow:var(--sh)}.aphoto img{width:100%;height:100%;object-fit:cover;object-position:center 12%}
.atile{position:absolute;right:-24px;bottom:-24px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px 20px;display:flex;gap:12px;align-items:center;box-shadow:var(--sh);font:700 13px var(--hf)}.atile img{width:40px;height:40px}
.atext p{color:var(--mut);margin-bottom:14px;max-width:560px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 26px}.facts div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px}.facts b{font:800 22px var(--hf);color:var(--ta);display:block}.facts span{font-size:12.5px;color:var(--mut)}
.ctaw{padding:0 0 96px}.cta{background:var(--ctabg);color:var(--ctaink);border-radius:var(--r);padding:48px 56px;display:flex;justify-content:space-between;align-items:center;gap:30px;position:relative;overflow:hidden}
.cta h2{color:inherit;margin-bottom:6px}.cta p{opacity:.92;max-width:520px}.ctab{background:var(--ctabtn);color:var(--ctabtnc);flex-shrink:0}.ctab:hover{transform:translateY(-2px)}
.acard{text-align:left}.aic{border-radius:50%}
details{background:var(--surface);border:1px solid var(--line);border-radius:var(--rs);margin-bottom:12px;padding:0 24px}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font:700 16px var(--hf)}summary::-webkit-details-marker{display:none}
.plus{position:relative;width:22px;height:22px;flex-shrink:0}.plus:before,.plus:after{content:'';position:absolute;left:50%;top:50%;width:14px;height:2px;background:var(--a);border-radius:2px;transform:translate(-50%,-50%);transition:.2s}.plus:after{transform:translate(-50%,-50%) rotate(90deg)}details[open] .plus:after{transform:translate(-50%,-50%) rotate(0)}
details p{padding:0 0 20px;color:var(--mut);font-size:15px;max-width:760px}.faq{max-width:820px;margin:0 auto}
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.ctext .btns{margin:26px 0}.cinfo li{display:flex;gap:12px;align-items:center;padding:8px 0;color:var(--mut);font-size:15px}.cinfo .i{color:var(--ta);font-size:20px}
.form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:34px;box-shadow:var(--sh)}.form h3{font-size:22px}.hint{font-size:12.5px;color:var(--mut);margin:4px 0 20px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font:700 12.5px var(--hf);margin-bottom:16px}
input,select,textarea{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1.5px solid var(--line);border-radius:var(--rs);font:15px var(--bf);background:var(--bg);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--a);box-shadow:0 0 0 4px color-mix(in srgb,var(--a) 15%,transparent)}
.form .btn{width:100%}.ok{display:none;margin-top:14px;background:#e3f6ec;color:#116a3d;padding:12px 16px;border-radius:12px;font-size:14px}
footer{background:var(--fbg);color:var(--fink);padding:60px 0 100px}.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.flogo{background:#fff;border-radius:14px;padding:10px 16px;width:fit-content;margin-bottom:16px}.flogo img{height:42px}
footer h4{color:var(--fh);font:700 12.5px var(--hf);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}footer a{display:block;margin:7px 0;font-size:14px}footer a:hover{color:var(--fh)}footer p{font-size:14px}
.legal{border-top:1px solid color-mix(in srgb,var(--fink) 25%,transparent);margin-top:36px;padding-top:20px;font-size:12.5px;opacity:.85;max-width:880px}
.mbar{display:none}
@media(max-width:980px){.menu{display:none}.menu.open{display:flex;position:absolute;top:78px;left:0;right:0;background:var(--navbg);flex-direction:column;align-items:flex-start;padding:20px 24px 26px;gap:18px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(10,60,40,.1)}.burger{display:block}
.hero-grid,.about,.contact{grid-template-columns:1fr}.hero-grid{padding:48px 0 96px;gap:40px}.hero-media{margin:0 auto;max-width:380px}.info-grid,.sgrid,.rgrid,.agrid{grid-template-columns:1fr}.fg{grid-template-columns:1fr 1fr}
.about{gap:44px}.amedia{margin:0 auto}section.sec{padding:68px 0}.cta{flex-direction:column;align-items:flex-start;padding:36px 28px}.ctaw{padding-bottom:68px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.topbar span:first-child{display:none}.topbar .wrap{justify-content:flex-end}header.nav .wrap{height:66px}.brand img{height:42px}.menu.open{top:66px}
.hero-grid{padding:34px 0 84px}.btns .btn{flex:1}.bcard{left:-6px;bottom:20px;padding:10px 14px}.icard,.scard,.rcard,.acard{padding:24px}.row2{grid-template-columns:1fr}.facts{gap:8px}.facts div{padding:12px 10px}.facts b{font-size:18px}.facts span{font-size:11px}.form{padding:24px 20px}.fg{grid-template-columns:1fr}.atile{right:-6px;bottom:-16px}
.mbar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom,0))}
.mbar a{flex:1;display:flex;justify-content:center;align-items:center;gap:8px;padding:13px;border-radius:var(--rb);font:700 14px var(--hf)}.mbar .c{border:2px solid var(--ta);color:var(--ta)}.mbar .b{background:var(--a);color:#fff}}
/* ================= STRUCTURE VARIANTS ================= */
/* hero */
html[data-hero="left"] .hero-media{order:-1;margin-left:0;margin-right:auto}html[data-hero="left"] .bcard{left:auto;right:-26px}
html[data-hero="left"] .hero-grid{grid-template-columns:.95fr 1.05fr}
html[data-hero="center"] .hero-grid{grid-template-columns:1fr;text-align:center;justify-items:center;gap:38px;padding:62px 0 100px}
html[data-hero="center"] .hero-text .lead{margin-left:auto;margin-right:auto}html[data-hero="center"] .btns{justify-content:center}
html[data-hero="center"] .hero-media{max-width:780px;margin:0 auto}html[data-hero="center"] .photo{aspect-ratio:16/8}html[data-hero="center"] .bcard{left:26px}
html[data-hero="panel"] .hero{padding:24px 0 0}html[data-hero="panel"] .hero-grid{background:var(--soft);border-radius:38px;padding:56px;width:min(1180px,calc(100% - 32px));margin:0 auto}
html[data-hero="band"] .hero{background:linear-gradient(180deg,var(--soft),var(--soft2))}html[data-hero="band"] .hero-grid{align-items:end;padding-bottom:0}html[data-hero="band"] .hero-text{padding-bottom:96px}
html[data-hero="band"] .photo{border-radius:var(--pr) var(--pr) 0 0;box-shadow:none;aspect-ratio:4/4.3}html[data-hero="band"] .bcard{bottom:90px}
@media(max-width:980px){
 html[data-hero="left"] .hero-grid{grid-template-columns:1fr}html[data-hero="left"] .hero-media{order:2;margin:0 auto}
 html[data-hero="center"] .photo{aspect-ratio:4/3.2}html[data-hero="center"] .bcard{left:-6px}
 html[data-hero="panel"] .hero-grid{padding:34px 22px 40px;border-radius:28px}
 html[data-hero="band"] .hero-text{padding-bottom:30px}html[data-hero="band"] .bcard{bottom:24px}
}
/* info cards */
html[data-info="overlap"] .info{margin-top:-62px}
html[data-info="row"] .info{padding:46px 0 0}html[data-info="row"] .icard{box-shadow:none;background:var(--soft);border-color:transparent}
html[data-info="row"] .hero-grid{padding-bottom:70px}
html[data-info="bar"] .info{margin-top:-58px}html[data-info="bar"] .info-grid{gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
html[data-info="bar"] .icard{border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none}html[data-info="bar"] .icard:last-child{border-right:0}
@media(max-width:980px){html[data-info="bar"] .icard{border-right:0;border-bottom:1px solid var(--line)}html[data-info="bar"] .icard:last-child{border-bottom:0}}
/* services */
html[data-svc="rows"] .sgrid{grid-template-columns:1fr;gap:0}
html[data-svc="rows"] .scard{display:grid;grid-template-columns:64px 130px 1fr auto;column-gap:26px;align-items:center;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent;padding:30px 4px}
html[data-svc="rows"] .scard:last-child{border-bottom:1px solid var(--line)}html[data-svc="rows"] .scard:hover{transform:none;box-shadow:none;background:var(--soft)}
html[data-svc="rows"] .sic{grid-row:1/5;margin:0}html[data-svc="rows"] .scard .tag{grid-column:2;justify-self:start;margin:0}html[data-svc="rows"] .scard h3{grid-column:3;margin:0}html[data-svc="rows"] .scard p{grid-column:3}
html[data-svc="rows"] .scard ul{grid-column:3;display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0 0}html[data-svc="rows"] .scard li{border:0;padding:0;font-size:13px;color:var(--mut)}
html[data-svc="rows"] .scard .more{grid-column:4;grid-row:1/5;align-self:center;margin:0}
@media(max-width:860px){html[data-svc="rows"] .scard{grid-template-columns:52px 1fr;column-gap:16px}html[data-svc="rows"] .scard .tag,html[data-svc="rows"] .scard h3,html[data-svc="rows"] .scard p,html[data-svc="rows"] .scard ul,html[data-svc="rows"] .scard .more{grid-column:2}html[data-svc="rows"] .scard .more{grid-row:auto;margin-top:10px}html[data-svc="rows"] .scard .tag{margin-bottom:6px}}
html[data-svc="tint"] .scard{background:var(--soft);border-color:transparent;box-shadow:none}html[data-svc="tint"] .scard:nth-child(2){background:var(--soft2)}html[data-svc="tint"] .scard li{border-color:color-mix(in srgb,var(--ink) 10%,transparent)}html[data-svc="tint"] .scard .tag{background:var(--surface)}
html[data-svc="outline"] .scard{box-shadow:none;border:1.5px solid var(--line)}html[data-svc="outline"] .scard:hover{border-color:var(--a);box-shadow:none}html[data-svc="outline"] .sic{background:var(--soft);color:var(--ta)}
/* about */
html[data-about="right"] .about{grid-template-columns:1.1fr .9fr}html[data-about="right"] .amedia{order:2;margin-left:auto}html[data-about="right"] .atile{right:auto;left:-24px}
html[data-about="stack"] .about{grid-template-columns:1fr;text-align:center;justify-items:center;gap:50px}html[data-about="stack"] .amedia{max-width:640px}html[data-about="stack"] .aphoto{aspect-ratio:16/9}
html[data-about="stack"] .atext p{margin-left:auto;margin-right:auto}html[data-about="stack"] .facts{max-width:520px;margin-left:auto;margin-right:auto}
@media(max-width:980px){html[data-about="right"] .about{grid-template-columns:1fr}html[data-about="right"] .amedia{order:0;margin:0 auto}html[data-about="right"] .atile{left:auto;right:-10px}html[data-about="stack"] .aphoto{aspect-ratio:4/4.4}}
/* resources */
html[data-res="list"] .rgrid{grid-template-columns:1fr;gap:0}
html[data-res="list"] .rcard{display:grid;grid-template-columns:150px 1fr auto;column-gap:30px;align-items:center;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent;padding:26px 4px}html[data-res="list"] .rcard:last-child{border-bottom:1px solid var(--line)}html[data-res="list"] .rcard:hover{transform:none;box-shadow:none;background:var(--soft)}
html[data-res="list"] .rt{grid-row:1/3}html[data-res="list"] .rt .i{display:none}html[data-res="list"] .rcard h3{margin:0}html[data-res="list"] .rcard .more{grid-column:3;grid-row:1/3;padding:0}
@media(max-width:760px){html[data-res="list"] .rcard{grid-template-columns:1fr}html[data-res="list"] .rt,html[data-res="list"] .rcard .more{grid-column:1;grid-row:auto}html[data-res="list"] .rcard .more{padding-top:10px}}
/* approach */
html[data-appr="plain"] .acard{background:transparent;border:0;box-shadow:none;padding:6px 26px;border-left:2px solid var(--line);border-radius:0}html[data-appr="plain"] .aic{background:transparent;color:var(--ta);width:auto;height:auto;font-size:34px;justify-content:start;margin-bottom:10px}
html[data-appr="quote"] .acard{position:relative;padding-top:56px}html[data-appr="quote"] .acard:before{content:'“';position:absolute;left:28px;top:6px;font:800 76px/1 var(--hf);color:var(--ta);opacity:.35}html[data-appr="quote"] .aic{display:none}html[data-appr="quote"] .acard h3{font-size:22px}
/* cta */
html[data-cta="full"] .ctaw{padding-bottom:0}html[data-cta="full"] .ctaw .wrap{width:100%}html[data-cta="full"] .cta{border-radius:0;padding:70px max(24px,calc((100vw - 1120px)/2))}
html[data-cta="soft"] .cta{background:var(--soft2);color:var(--ink)}html[data-cta="soft"] .ctab{background:var(--a);color:#fff}
html[data-cta="outline"] .cta{background:transparent;color:var(--ink);border:2px solid var(--a)}html[data-cta="outline"] .ctab{background:var(--a);color:#fff}
@media(max-width:980px){html[data-cta="full"] .cta{padding:50px 24px}}
/* nav */
@media(min-width:981px){html[data-nav="center"] header.nav .wrap{flex-direction:column;height:auto;padding:14px 0 12px;gap:10px}}
html[data-nav="pill"] header.nav{background:transparent;border:0;padding:12px 0}html[data-nav="pill"] header.nav .wrap{background:var(--navbg);border-radius:99px;padding:0 26px;height:68px;border:1px solid var(--line);box-shadow:var(--sh)}
@media(max-width:980px){html[data-nav="pill"] header.nav .wrap{height:60px}html[data-nav="pill"] .menu.open{top:72px;border-radius:22px;margin:0 12px}}
html[data-nav="tint"] header.nav{background:var(--soft);border-bottom:0}
/* hero shapes */
html[data-shape="blobs"] .s1{display:block;left:-90px;top:30px;width:340px;height:340px;border-radius:50%;background:color-mix(in srgb,var(--a) 13%,transparent)}
html[data-shape="blobs"] .s2{display:block;right:-70px;bottom:-60px;width:400px;height:400px;border-radius:42% 58% 55% 45%;background:color-mix(in srgb,var(--a2) 13%,transparent)}
html[data-shape="circles"] .s1{display:block;right:5%;top:6%;width:420px;height:420px;border-radius:50%;border:46px solid color-mix(in srgb,var(--a) 9%,transparent)}
html[data-shape="circles"] .s2{display:block;left:-120px;bottom:-130px;width:360px;height:360px;border-radius:50%;border:38px solid color-mix(in srgb,var(--a2) 10%,transparent)}
html[data-shape="dots"] .s1{display:block;right:4%;top:9%;width:280px;height:200px;background:radial-gradient(color-mix(in srgb,var(--a) 38%,transparent) 2px,transparent 2.5px) 0 0/20px 20px}
html[data-shape="dots"] .s2{display:block;left:3%;bottom:14%;width:200px;height:140px;background:radial-gradient(color-mix(in srgb,var(--a2) 34%,transparent) 2px,transparent 2.5px) 0 0/20px 20px}
html[data-shape="waves"] .s1{display:block;left:0;right:0;bottom:-1px;height:70px;background:var(--bg);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 40C240 80 480 0 720 40S1200 80 1440 30V80H0Z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 40C240 80 480 0 720 40S1200 80 1440 30V80H0Z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;z-index:3}
html[data-shape="diag"] .hero{clip-path:polygon(0 0,100% 0,100% 94%,0 100%);padding-bottom:20px}
html[data-shape="diag"] .s1{display:block;right:0;top:0;width:46%;height:100%;background:color-mix(in srgb,var(--a2) 9%,transparent);clip-path:polygon(24% 0,100% 0,100% 100%,0 100%)}
/* footer */
html[data-foot="light"]{--fbg:var(--soft);--fink:var(--mut);--fh:var(--ink)}html[data-foot="light"] footer{border-top:1px solid var(--line)}html[data-foot="light"] .flogo{padding:0;background:transparent}
html[data-foot="color"]{--fbg:var(--ad);--fink:rgba(255,255,255,.82);--fh:#fff}

/* ================= SKINS (colours, shape language) ================= */
html[data-d="1"]{--herobg:linear-gradient(180deg,var(--soft),var(--bg))}
html[data-d="2"]{--herobg:linear-gradient(135deg,var(--soft2),var(--bg) 72%);--r:26px;--pr:50% 50% 30px 30px}
html[data-d="3"]{--r:8px;--rs:8px;--rb:8px;--pr:10px;--csh:none;--sh:0 8px 24px rgba(0,0,0,.05);--herobg:var(--bg);--hw:700}
html[data-d="3"] .icard,html[data-d="3"] .scard,html[data-d="3"] .rcard,html[data-d="3"] .acard{border-width:1.5px}
html[data-d="4"]{--bg:#fbf6ee;--surface:#fffdf9;--ink:#2a2420;--soft:color-mix(in srgb,var(--a) 7%,#f1e8d7);--soft2:color-mix(in srgb,var(--a2) 8%,#f1e8d7);--hw:600;--herobg:#fbf6ee;--topbg:#f1e8d7}
html[data-d="5"]{--bg:#f6fcfa;--r:26px;--rs:16px;--herobg:var(--bg)}
html[data-d="6"],html[data-d="18"]{--herobg:linear-gradient(135deg,color-mix(in srgb,var(--a) 62%,#000),var(--a));--heroink:#fff;--herolead:rgba(255,255,255,.88);--heroem:color-mix(in srgb,#fff 78%,var(--a2));--heroeye:rgba(255,255,255,.8);--h1bg:#fff;--h1c:var(--ad);--h2bd:rgba(255,255,255,.65);--h2c:#fff;--topbg:var(--ad);--topink:rgba(255,255,255,.85)}
html[data-d="6"] .tbb,html[data-d="18"] .tbb{background:#fff;color:var(--ad)}
html[data-d="7"]{--herobg:var(--bg)}
html[data-d="8"]{--bg:#fbfdfb;--r:20px;--herobg:var(--bg);--soft:color-mix(in srgb,var(--a) 9%,#fbfdfb)}
html[data-d="9"]{--bg:#fbfaf6;--ink:#1f1f1f;--r:4px;--rs:4px;--rb:4px;--pr:2px;--csh:none;--sh:0 10px 30px rgba(0,0,0,.06);--soft:color-mix(in srgb,var(--a) 6%,#f4f1ea);--soft2:color-mix(in srgb,var(--a2) 6%,#f4f1ea);--herobg:var(--bg);--topbg:var(--ink);--topink:#e8e4da}
html[data-d="9"] .tbb{background:#fff;color:var(--ink);border-radius:2px}html[data-d="9"] .tag{border-radius:2px}
html[data-d="10"]{--r:28px;--rs:16px;--herobg:linear-gradient(180deg,color-mix(in srgb,var(--a) 7%,#fff),var(--bg))}
html[data-d="11"]{--r:10px;--rs:8px;--rb:10px;--pr:14px;--herobg:var(--bg)}
html[data-d="12"]{--pr:999px 999px 28px 28px;--par:4/4.8;--herobg:var(--bg)}
html[data-d="13"]{--herobg:linear-gradient(180deg,var(--soft),color-mix(in srgb,var(--soft2) 60%,var(--bg)))}
html[data-d="14"]{--herobg:var(--bg);--r:18px;--pr:24px}
html[data-d="15"]{--rb:14px;--r:18px;--herobg:var(--bg)}
html[data-d="16"]{--r:12px;--rs:10px;--rb:10px;--pr:14px;--csh:none;--sh:none;--herobg:var(--bg)}
html[data-d="16"] .icard,html[data-d="16"] .scard,html[data-d="16"] .rcard,html[data-d="16"] .acard,html[data-d="16"] .form,html[data-d="16"] .photo,html[data-d="16"] .aphoto{border:1.5px solid var(--ink);box-shadow:none}html[data-d="16"] .photo,html[data-d="16"] .aphoto{border-color:var(--ink)}
html[data-d="17"]{--r:32px;--rs:18px;--pr:50%;--par:1/1;--herobg:linear-gradient(180deg,color-mix(in srgb,var(--a) 6%,#fff),var(--bg))}
html[data-d="17"] .hero-media{max-width:400px}
html[data-d="19"]{--herobg:linear-gradient(135deg,color-mix(in srgb,var(--a) 17%,#fff),color-mix(in srgb,var(--a2) 17%,#fff));--r:24px}
html[data-d="20"]{--bg:#0e1a20;--surface:#14252d;--ink:#e6f0f2;--ta:color-mix(in srgb,var(--a) 42%,#fff);--ta2:color-mix(in srgb,var(--a2) 42%,#fff);--navbg:#0e1a20;--navink:#d3e1e6;--topbg:#0a1419;--topink:#9db4bb;--herobg:var(--bg);--heroem:var(--ta);--fbg:#0a1419;--h1bg:var(--ta);--h1c:#0a1419;--h2bd:var(--ta);--h2c:var(--ta);--csh:none;--sh:0 14px 36px rgba(0,0,0,.4);--ctabg:var(--ad)}
html[data-d="20"] .btn-primary,html[data-d="20"] .mbar .b{background:var(--ta);color:#0a1419}html[data-d="20"] .tbb{background:var(--ta);color:#0a1419}html[data-d="20"] .sic,html[data-d="20"] .aic{color:#fff}html[data-d="20"] .ctab{color:var(--ad)}
html[data-d="20"] .plus:before,html[data-d="20"] .plus:after{background:var(--ta)}html[data-d="20"] .ii,html[data-d="20"] .icard:nth-child(2) .ii{background:#1b323b}html[data-d="20"] .bic{color:var(--a)}
html[data-d="18"][data-hero="band"] .hero{background:var(--herobg)}

/* ---- headline / lead / mobile photo mode / buttons ---- */
.hero h1{display:none}
html[data-h="A"] h1.hA,html[data-h="B"] h1.hB,html[data-h="C"] h1.hC,html[data-h="D"] h1.hD,html[data-h="E"] h1.hE,html[data-h="F"] h1.hF{display:block}
.hero .lead.short{display:none}html[data-lead="short"] .hero .lead.long{display:none}html[data-lead="short"] .hero .lead.short{display:block}
.hero-chip{display:none;align-items:center;gap:12px;margin-bottom:16px}.hero-chip img{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:center 12%;border:3px solid var(--a);background:#fff}
.hero-chip b{display:block;font:800 15px var(--hf)}.hero-chip small{font-size:12px;opacity:.8;line-height:1.3;display:block}
@media(max-width:980px){
 html[data-m="top"] .hero-media{order:-1;max-width:none;width:100%}html[data-m="top"] .photo{aspect-ratio:16/11;border-radius:26px}html[data-m="top"] .hero-grid{gap:26px;padding-top:26px}
 html[data-m="top"] .bcard{left:12px;bottom:12px}html[data-hero="left"][data-m="top"] .hero-media{order:-1}
 html[data-m="chip"] .hero-media{display:none}html[data-m="chip"] .hero-chip{display:flex}html[data-m="chip"] .hero-grid{padding-bottom:84px}
 html[data-hero="center"][data-m="chip"] .hero-chip,html[data-hero="center"][data-m="top"] .hero-chip{justify-content:center}
}
@media(max-width:600px){
 .btns{flex-direction:column}.btns .btn{flex:none;width:100%}
 html[data-btn="row"] .btns{flex-direction:row;gap:10px}html[data-btn="row"] .btns .btn{flex:1;width:auto;padding:13px 8px;font-size:13px;white-space:nowrap}
}

/* ===== Added for the Flask build ===== */
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
html.no-scroll,html.no-scroll body{overflow:hidden}
.rtime{font-size:12.5px;color:var(--mut)}
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.vcard{display:block}
.vth{display:block;position:relative;aspect-ratio:16/9;background:#222 center/cover;border-radius:var(--rs);margin-bottom:12px;overflow:hidden}
.vplay{position:absolute;inset:0;margin:auto;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.92)}
.vplay:after{content:"";position:absolute;left:23px;top:17px;border-left:18px solid var(--a);border-top:12px solid transparent;border-bottom:12px solid transparent}
.vcard h3{margin-top:8px}
.ok.err{background:#fee2e2;color:#991b1b}

/* Booking popup: full-screen, site blurred behind it */
.bk{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:clamp(0px,2.5vw,32px);background:rgba(18,38,30,.42);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.bk.open{display:flex;animation:bkIn .22s ease}
@keyframes bkIn{from{opacity:0}to{opacity:1}}
.bk-panel{width:100%;max-width:1280px;height:100%;background:#fff;color:var(--ink);border-radius:var(--r);box-shadow:0 30px 80px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden}
.bk-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--a);color:#fff;flex-shrink:0}
.bk-top b{font:600 17px var(--hf)}
.bk-actions{display:flex;align-items:center;gap:14px}
.bk-actions a{color:#fff;font:600 13.5px var(--bf);opacity:.92;text-decoration:underline;text-underline-offset:3px}
.bk-x{width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.bk-x:hover{background:rgba(255,255,255,.3)}
.bk-body{position:relative;flex:1;min-height:0;background:#f4f1ea}
.bk-body iframe,.yt-body iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}
.bk-load{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--mut);font-size:15px}
.bk-load.done{display:none}
.spin{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--a);border-radius:50%;animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.bk-note{flex-shrink:0;padding:9px 16px;font-size:13px;color:var(--mut);background:#fff;border-top:1px solid var(--line);text-align:center}
.bk-note a{color:var(--ta);text-decoration:underline}
.bk.yt .ytp{max-width:960px;height:auto}
.yt-body{position:relative;aspect-ratio:16/9;background:#000}
@media(max-width:700px){.bk{padding:0}.bk-panel{border-radius:0}.bk-top b{font-size:15px}.bk-note{padding-bottom:calc(9px + env(safe-area-inset-bottom,0))}}

/* Back to top */
.totop{position:fixed;right:20px;bottom:24px;z-index:80;width:48px;height:48px;border-radius:50%;border:0;background:var(--a);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s,background .2s}
.totop.show{opacity:1;visibility:visible;transform:none}
.totop:hover{background:color-mix(in srgb,var(--a) 82%,#000)}
.totop:focus-visible{outline:3px solid var(--a2);outline-offset:3px}
@media(max-width:900px){.totop{right:14px;bottom:86px;width:44px;height:44px}}

/* Service detail pages */
.svc-list{margin:8px 0 0;padding:0}
.svc-list li{position:relative;padding:8px 0 8px 22px;border-bottom:1px solid var(--line);font-size:17px}
.svc-list li:before{content:"";position:absolute;left:2px;top:19px;width:8px;height:8px;border-radius:50%;background:var(--a)}
.svc-steps{list-style:none;counter-reset:s;padding:0;margin:8px 0 0}
.svc-steps li{counter-increment:s;position:relative;padding:12px 0 12px 46px;border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.svc-steps li:before{content:counter(s);position:absolute;left:0;top:12px;width:30px;height:30px;border-radius:50%;background:var(--a);color:#fff;font:600 14px var(--bf);display:flex;align-items:center;justify-content:center}
.svc-steps span{color:var(--mut);font-size:15.5px}
.svc-other{margin-top:40px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.svc-other h3{width:100%;margin:0 0 4px}
.vth img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.bk-slow{flex-shrink:0;padding:10px 16px;background:#fff7e0;color:#5b4300;font-size:14px;text-align:center;border-bottom:1px solid #f0dca0}
.bk-slow[hidden]{display:none}
.bk-slow a{font-weight:700;color:var(--a);text-decoration:underline}

/* Toast notification (enquiry sent / error) */
.toast{position:fixed;left:50%;top:18px;z-index:600;transform:translate(-50%,-250%);visibility:hidden;max-width:min(92vw,520px);padding:14px 20px;border-radius:var(--r);background:var(--a);color:#fff;font:600 15px var(--bf);box-shadow:0 14px 40px rgba(0,0,0,.28);transition:transform .35s ease;pointer-events:none;text-align:center}
.toast.show{transform:translate(-50%,0);visibility:visible}
.toast.err{background:#b3261e}

/* Call popup (replaces the browser's "Open app?" box on desktop) */
.cm .cm-box{position:relative;width:min(92vw,420px);background:#fff;color:var(--ink);border-radius:var(--r);padding:30px 28px 26px;box-shadow:0 30px 80px rgba(0,0,0,.35);text-align:center}
.cm .cm-x{position:absolute;right:12px;top:12px;background:color-mix(in srgb,var(--ink) 8%,#fff);color:var(--ink)}
.cm .cm-x:hover{background:color-mix(in srgb,var(--ink) 15%,#fff)}
.cm h3{margin:0 0 6px}
.cm-num{font:400 clamp(28px,6vw,36px) var(--hf);color:var(--ta);margin:6px 0 8px}
.cm-hint{font-size:14px;color:var(--mut);margin-bottom:18px}
.cm .btns{justify-content:center;flex-wrap:wrap}

/* Custom dropdown (matches the form fields) */
.dd{position:relative;margin-top:7px}
.dd select{position:absolute;opacity:0;pointer-events:none;height:0;width:0;margin:0;padding:0;border:0}
.dd-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0;padding:13px 14px;border:1.5px solid var(--line);border-radius:var(--rs);background:var(--bg);color:var(--ink);font:15px var(--bf);text-align:left;cursor:pointer}
.dd-btn:focus-visible,.dd.open .dd-btn{outline:none;border-color:var(--a);box-shadow:0 0 0 4px color-mix(in srgb,var(--a) 15%,transparent)}
.dd-btn .ph{color:var(--mut)}
.dd-btn svg{width:18px;height:18px;flex-shrink:0;transition:transform .2s;color:var(--ta)}
.dd.open .dd-btn svg{transform:rotate(180deg)}
.dd-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;margin:0;padding:6px;list-style:none;background:#fff;border:1.5px solid var(--line);border-radius:var(--rs);box-shadow:0 18px 44px rgba(0,0,0,.16);display:none;max-height:280px;overflow:auto}
.dd.open .dd-list{display:block}
.dd-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:calc(var(--rs) - 1px);font:15px var(--bf);cursor:pointer;color:var(--ink)}
.dd-list li:hover,.dd-list li.act{background:var(--soft)}
.dd-list li[aria-selected="true"]{color:var(--ta);font-weight:600}
.dd-list li[aria-selected="true"]:after{content:"";width:6px;height:11px;border:solid var(--a);border-width:0 2.4px 2.4px 0;transform:rotate(45deg) translate(-2px,-2px)}

/* Blog / article pages */
.post h1{margin-bottom:22px}
.post h2{font-size:clamp(22px,2.6vw,28px);margin:30px 0 10px}
.post p{font-size:17.5px;margin-bottom:16px}
.post .svc-list{margin-bottom:18px}
.post-cta{margin-top:40px;padding:26px;border:1.5px solid var(--a);border-radius:var(--r);background:var(--soft)}
.post-cta h3{margin-bottom:6px}.post-cta p{margin-bottom:16px}
.blog-more{text-align:center;margin-top:26px}

/* "Find out more" opens a blurred popup with the class details */
.scard-more{display:none}
.info .info-box{width:min(94vw,600px);max-height:88vh;overflow:hidden;text-align:left;padding:0;border-radius:28px;display:flex;flex-direction:column}
.info .info-scroll{overflow-y:auto;padding:34px 32px 30px;max-height:88vh;border-radius:28px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--a) 45%,#fff) transparent}
.info .info-scroll::-webkit-scrollbar{width:8px}.info .info-scroll::-webkit-scrollbar-track{background:transparent;margin:22px 0}.info .info-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--a) 45%,#fff);border-radius:99px;border:2px solid #fff}
.info .info-box .eyebrow{margin-bottom:6px}
.info .info-box h3{font-size:clamp(22px,3.4vw,28px);margin:0 36px 14px 0}
.info-body h4{font:700 12.5px var(--bf);letter-spacing:.1em;text-transform:uppercase;color:var(--ta2);margin:18px 0 6px}
.info-body h4:first-child{margin-top:0}
.info-body p{margin-bottom:6px;color:var(--mut);font-size:16px}
.info-body ul{margin:0 0 6px;padding:0;list-style:none}
.info-body li{padding:9px 0 9px 20px;border-bottom:1px solid var(--line);position:relative;font-size:15.5px}
.info-body li:before{content:"";position:absolute;left:2px;top:17px;width:7px;height:7px;border-radius:50%;background:var(--a)}
.info-body .btn{margin-top:18px}
@media(max-width:700px){.info .info-box{width:calc(100vw - 20px);max-height:92vh;border-radius:24px}.info .info-scroll{max-height:92vh;padding:30px 22px 26px;border-radius:24px}}

/* curvy popups (all) */
.bk-panel{border-radius:28px;overflow:hidden}.cm .cm-box{border-radius:28px}
.info-body .btn+.btn{margin-left:8px}
.alist{margin:0;padding:0;list-style:none}.alist li{border-bottom:1px solid var(--line)}.alist li:before{display:none}.alist li{padding:0}
.alist a{display:block;padding:14px 4px;text-decoration:none;color:var(--ink)}.alist a b{display:block;font-family:var(--hf);font-size:17px;line-height:1.35}.alist a span{display:block;margin-top:3px;font-size:13px;color:var(--ta2)}.alist a:hover b{color:var(--a)}
/* about slider */
.aslider{position:relative;border-radius:var(--pr);overflow:hidden;aspect-ratio:4/4.6;box-shadow:var(--sh);background:var(--soft)}
.atrack{display:flex;height:100%;transition:transform .7s cubic-bezier(.65,0,.35,1)}
.aslide{flex:0 0 100%;height:100%;margin:0;position:relative}
.aslide img{width:100%;height:100%;object-fit:cover;display:block}
.aslide:first-child img{object-position:center 18%}
.aslide figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 22px 46px;color:#fff;font:700 14px/1.4 var(--bf);background:linear-gradient(transparent,rgba(10,25,45,.78))}
.anav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.88);color:var(--ink);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.anav:hover{background:#fff}.aprev{left:12px}.anext{right:12px}
.adots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:8px}
.adots button{width:9px;height:9px;border-radius:99px;border:0;padding:0;background:rgba(255,255,255,.55);cursor:pointer;transition:width .3s,background .3s}
.adots button.on{width:26px;background:#fff}
.adots{bottom:auto;top:14px}.aslide figcaption{padding:50px 22px 22px}
.amedia .atile{bottom:-44px}.about{padding-bottom:20px}
.aslide figcaption{padding:50px 22px 38px}
/* v3: taller slider showing whole photos, dots at bottom, wider popups */
.aslider{aspect-ratio:4/5;background:linear-gradient(160deg,color-mix(in srgb,var(--a) 14%,#fff),color-mix(in srgb,var(--ta2) 10%,#f4f7fb))}
.aslide img,.aslide:first-child img{object-fit:contain;object-position:center}
.adots{top:auto;bottom:14px;z-index:2}
.aslide figcaption{padding:46px 20px 40px;z-index:1}
.info .info-box{width:min(94vw,860px)}
.info .info-scroll{padding:40px 44px 36px}
.cm .cm-box{width:min(92vw,520px)}
.info .info-box.info-box{width:min(94vw,860px)}
@media(max-width:700px){.info .info-box{width:calc(100vw - 20px)}.info .info-scroll{padding:30px 22px 26px}}
.aslide .ablur{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(22px) saturate(1.1);transform:scale(1.25);opacity:.85}
.aslide img:not(.ablur){position:relative;z-index:1}
/* inline video player, narrower */
.vgrid{grid-template-columns:repeat(auto-fit,minmax(260px,460px));justify-content:center}
.vth iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vcard{cursor:pointer}
/* videos: 60% width, centred */
.vgrid{grid-template-columns:1fr;width:60%;margin:0 auto;gap:34px}
@media(max-width:900px){.vgrid{width:100%}}
/* slider: photos fill the whole box */
.aslider{aspect-ratio:4/3;background:#fdfcf9}
.aslide img,.aslide:first-child img{object-fit:cover;object-position:center}
.aslide .ablur{display:none}
.aslide figcaption{padding:46px 20px 40px}
.amedia{max-width:540px}
.adots{justify-content:flex-start;padding-left:20px}
.aslide figcaption{padding:46px 20px 44px}
/* dots: left side, visible on any photo */
.adots{left:16px;right:auto;bottom:14px;padding:6px 10px;width:auto;border-radius:99px;background:rgba(10,25,45,.55);backdrop-filter:blur(4px)}
.adots button{background:rgba(255,255,255,.6)}.adots button.on{background:#fff}
.aslide figcaption{padding:46px 20px 54px}
/* v-final: original tall slider (4:4.6) with full-bleed photos */
.amedia{max-width:460px}
.aslider{aspect-ratio:4/4.6;background:var(--soft)}
.aslide img,.aslide:first-child img{object-fit:cover}
.aslide:first-child img{object-position:center 18%}
.aslide figcaption{padding:50px 20px 52px}
/* video slider */
.vwrap{width:60%;margin:0 auto;overflow:hidden;border-radius:var(--rs)}
.vgrid.vtrack{display:flex;grid-template-columns:none;width:100%;gap:0;transition:transform .7s cubic-bezier(.65,0,.35,1)}
.vtrack .vcard{flex:0 0 100%;min-width:0}
.vnav{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:22px}
.vnav button.vprev,.vnav button.vnext{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:24px;line-height:1;cursor:pointer}
.vnav button.vprev:hover,.vnav button.vnext:hover{background:var(--a);color:#fff;border-color:var(--a)}
.vdots{display:flex;gap:8px}.vdots button{width:9px;height:9px;border-radius:99px;border:0;padding:0;background:color-mix(in srgb,var(--ink) 22%,#fff);cursor:pointer;transition:width .3s,background .3s}
.vdots button.on{width:26px;background:var(--a)}
@media(max-width:900px){.vwrap{width:100%}}
/* video slider v2: arrows on both sides of the video, dots between video and text */
.vstage{position:relative;width:60%;margin:0 auto}
.vstage .vwrap{width:100%;margin:0}
.varrows{position:absolute;left:0;right:0;top:0;aspect-ratio:16/9;display:flex;justify-content:space-between;align-items:center;pointer-events:none;margin:0 -64px;width:calc(100% + 128px)}
.varrows button{pointer-events:auto;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.varrows button:hover{background:var(--a);color:#fff;border-color:var(--a)}
.vtrack .vdots{display:flex;justify-content:center;gap:8px;margin:14px 0 4px}
.vtrack .vdots button{width:9px;height:9px;border-radius:99px;border:0;padding:0;background:color-mix(in srgb,var(--ink) 22%,#fff);cursor:pointer;transition:width .3s,background .3s}
.vtrack .vdots button.on{width:26px;background:var(--a)}
@media(max-width:900px){.vstage{width:100%}.varrows{margin:0;width:100%;padding:0 10px}.varrows button{width:40px;height:40px;background:rgba(255,255,255,.9)}}