:root{
  --brand:#005b5c;--brand-d:#00494a;--brand-l:#e7f3f2;--brand-2:#e8731f;
  --accent:#e8731f;--accent-l:#fff7ed;--gold:#f59e0b;
  --ink:#062c2d;--ink-2:#334155;--mut:#64748b;--line:#e2e8f0;--bg:#f8fafc;--card:#fff;
  --ok:#16a34a;--err:#dc2626;--wa:#25d366;
  --r:18px;--sh:0 1px 2px #0f172a0d,0 8px 28px #0f172a12;--sh-l:0 20px 60px #005b5c2a;
  --f-head:"Fraunces",Georgia,serif;--f-body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:var(--f-body);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:var(--brand)}
svg{width:20px;height:20px;flex:none}.topbar svg{width:14px;height:14px}
h1,h2,h3{font-family:var(--f-head);line-height:1.15;margin:0;letter-spacing:-.01em}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;font:600 15px var(--f-body);padding:13px 22px;border-radius:999px;text-decoration:none;transition:.2s;white-space:nowrap}
.btn-p{background:var(--brand);color:#fff;box-shadow:0 8px 20px #005b5c40}.btn-p:hover{background:var(--brand-d);transform:translateY(-1px)}
.btn-o{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn-o:hover{border-color:var(--brand);color:var(--brand)}
.btn-wa{background:var(--wa);color:#fff}.btn-wa:hover{filter:brightness(.95)}
.btn svg{width:18px;height:18px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--brand);background:var(--brand-l);padding:6px 14px;border-radius:999px;letter-spacing:.02em}
.sec{padding:88px 0}.sec-h{text-align:center;max-width:680px;margin:0 auto 44px}.sec-h h2{font-size:clamp(28px,4vw,42px);margin:14px 0 10px}.sec-h p{color:var(--mut);margin:0;font-size:17px}

/* top bar + nav */
.topbar{background:var(--ink);color:#cbd5e1;font-size:13px}.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding:8px 0;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none}.topbar span{display:inline-flex;gap:6px;align-items:center}
.nav{position:sticky;top:0;z-index:50;background:#ffffffe6;backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid #e2e8f080}
.nav .wrap{display:flex;align-items:center;gap:20px;height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}
.logo-m{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand-2));display:grid;place-items:center;color:#fff;box-shadow:0 6px 16px #005b5c40}
.logo-m svg{width:24px;height:24px}.logo b{display:block;font-family:var(--f-head);font-size:19px;line-height:1}.logo small{font-size:10.5px;letter-spacing:.18em;color:var(--mut);font-weight:700}
.links{display:flex;gap:4px}.links a{color:var(--ink-2);text-decoration:none;font-weight:600;font-size:14.5px;padding:8px 12px;border-radius:10px}.links a:hover{background:var(--brand-l);color:var(--brand)}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}.burger svg{width:26px;height:26px}

/* hero */
.hero{position:relative;overflow:hidden;overflow:clip;background:radial-gradient(1200px 500px at 85% -10%,#d6ecea 0,transparent 60%),radial-gradient(800px 400px at -10% 110%,#ffedd5 0,transparent 60%),var(--bg)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:64px 0 80px}
.hero h1{font-size:clamp(38px,5.6vw,66px);margin:18px 0}.hero h1 em{font-style:normal;color:var(--brand);position:relative}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:12px;background:#e8731f44;z-index:-1;border-radius:6px}
.hero p.lead{font-size:18px;color:var(--ink-2);max-width:540px;margin:0 0 28px}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap}
.proof{display:flex;align-items:center;gap:18px;margin-top:34px;flex-wrap:wrap}
.gbadge{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 16px;text-decoration:none;color:var(--ink);box-shadow:var(--sh)}
.gbadge b{font-size:22px}.stars{color:var(--gold);letter-spacing:2px}.gbadge small{display:block;color:var(--mut);font-size:12px}
.avatars{display:flex}.avatars img{width:40px;height:40px;border-radius:50%;border:3px solid #fff;object-fit:cover;margin-left:-10px}.avatars img:first-child{margin:0}
.hero-art{position:relative}
.hero-img{border-radius:28px;overflow:hidden;aspect-ratio:4/4.3;box-shadow:var(--sh-l);background:#e2e8f0}
.hero-img img{width:100%;height:100%;object-fit:cover}
.float{position:absolute;background:#fff;border-radius:16px;padding:12px 16px;box-shadow:var(--sh-l);display:flex;gap:12px;align-items:center;font-size:14px}
.float b{display:block;font-size:15px}.float small{color:var(--mut)}
.float .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--brand-l);color:var(--brand)}.float .ic svg{width:22px}
.f1{left:-28px;bottom:48px}.f2{right:-18px;top:36px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px #16a34a2a;display:inline-block}.dot.off{background:var(--err);box-shadow:0 0 0 4px #dc26262a}

/* stats strip */
.stats{background:var(--ink);color:#fff}.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:34px 0}
.stat b{display:block;font-family:var(--f-head);font-size:36px;color:#6cc9c4}.stat span{color:#cbd5e1;font-size:14px}

/* services */
.chips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}
.chip{border:1px solid var(--line);background:#fff;padding:8px 16px;border-radius:999px;font:600 14px var(--f-body);cursor:pointer;color:var(--ink-2)}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.svc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;transition:.25s;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.svc:hover{transform:translateY(-4px);box-shadow:var(--sh-l);border-color:#a5f3fc}
.svc .ic{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,var(--brand-l),#d6ecea);color:var(--brand);display:grid;place-items:center}
.svc .ic svg{width:28px;height:28px}.svc h3{font-size:19px;font-family:var(--f-body);font-weight:700}.svc p{color:var(--mut);margin:0;font-size:14.5px;flex:1}
.svc .cat{position:absolute;top:18px;right:18px;font-size:11px;font-weight:700;color:var(--mut);background:var(--bg);padding:3px 10px;border-radius:99px}
.svc .meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--mut);border-top:1px dashed var(--line);padding-top:12px;margin-top:4px}
.svc .meta a{font-weight:700;text-decoration:none}
.svc.img{padding:0}.svc.img .pic{aspect-ratio:16/9;object-fit:cover;width:100%}.svc.img .in{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}

/* tech */
.tech{background:linear-gradient(180deg,#fff,var(--bg))}
.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.tech-img{border-radius:24px;overflow:hidden;box-shadow:var(--sh-l);aspect-ratio:5/4}.tech-img img{width:100%;height:100%;object-fit:cover}
.tech-list{display:grid;gap:14px}.tl{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
.tl .ic{flex:none;width:46px;height:46px;border-radius:14px;background:var(--accent-l);color:var(--accent);display:grid;place-items:center}.tl .ic svg{width:24px}
.tl b{display:block}.tl p{margin:2px 0 0;color:var(--mut);font-size:14.5px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.step{background:#fff;border-radius:var(--r);padding:26px;border:1px solid var(--line);position:relative}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--f-head);font-size:42px;color:#d6ecea;font-weight:700;position:absolute;top:10px;right:18px}
.step b{display:block;font-size:17px;margin:12px 0 6px}.step p{margin:0;color:var(--mut);font-size:14.5px}
.step .ic{width:44px;height:44px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center}.step .ic svg{width:22px}

/* about */
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.about-img{position:relative}.about-img img{border-radius:28px;aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--sh-l)}
.exp{position:absolute;right:-20px;bottom:30px;background:var(--brand);color:#fff;border-radius:20px;padding:18px 22px;text-align:center;box-shadow:var(--sh-l)}
.exp b{display:block;font-family:var(--f-head);font-size:40px;line-height:1}.exp span{font-size:13px;opacity:.9}
.about h2{font-size:clamp(28px,3.6vw,40px);margin:14px 0}.about p{color:var(--ink-2)}
.ticks{list-style:none;padding:0;margin:20px 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ticks li{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:15px}.ticks svg{flex:none;width:20px;height:20px;color:var(--ok);margin-top:2px}

/* team */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.member{background:#fff;border-radius:22px;overflow:hidden;border:1px solid var(--line);transition:.25s}.member:hover{box-shadow:var(--sh-l);transform:translateY(-4px)}
.member .ph{aspect-ratio:4/4.4;background:linear-gradient(135deg,#d6ecea,#e0f2fe);overflow:hidden}.member .ph img{width:100%;height:100%;object-fit:cover;object-position:top}
.member .in{padding:18px 20px 22px}.member b{font-size:18px;display:block}.member small{color:var(--brand);font-weight:600}.member p{color:var(--mut);font-size:14px;margin:8px 0 0}
.initials{width:100%;height:100%;display:grid;place-items:center;font:700 64px var(--f-head);color:var(--brand)}

/* gallery */
.gal{columns:4 220px;column-gap:14px}.gal figure{margin:0 0 14px;break-inside:avoid;border-radius:16px;overflow:hidden;position:relative;cursor:zoom-in;background:#e2e8f0}
.gal img{width:100%}.gal figcaption{position:absolute;inset:auto 0 0;padding:24px 12px 10px;color:#fff;font-size:13px;background:linear-gradient(transparent,#000a)}
.lb{position:fixed;inset:0;background:#000d;z-index:100;display:grid;place-items:center;padding:20px}.lb img{max-height:88vh;border-radius:12px}.lb[hidden]{display:none}

/* reviews */
.rev-top{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:30px;flex-wrap:wrap}
.rev-score{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);padding:14px 22px;border-radius:18px}
.rev-score b{font:700 44px var(--f-head)}.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rev{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:12px}
.rev p{margin:0;font-size:15.5px;color:var(--ink-2);flex:1}.rev .who{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px}
.rev .av{width:38px;height:38px;border-radius:50%;background:var(--brand-l);color:var(--brand);display:grid;place-items:center;font-weight:800}
.gl{width:22px;height:22px}

/* news */
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.news{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}.news .k{font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-l);padding:3px 10px;border-radius:99px}
.news h3{font:700 18px var(--f-body);margin:12px 0 6px}.news p{color:var(--mut);margin:0;font-size:14.5px}.news small{display:block;margin-top:12px;color:var(--mut);font-size:12.5px}

/* booking */
.book{background:linear-gradient(135deg,var(--ink),#00494a);color:#fff;position:relative;overflow:hidden;overflow:clip}
.book::before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:#e8731f22;filter:blur(80px);right:-200px;top:-200px}
.book-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px;position:relative}
.hero .wrap>*,.tech-grid>*,.about>*,.loc>*,.book-grid>*{min-width:0}
.book-info h2{font-size:clamp(30px,4vw,44px);margin:14px 0}.book-info p{color:#cbd5e1}.book .eyebrow{background:#ffffff1a;color:#6cc9c4}
.contact-list{list-style:none;padding:0;margin:26px 0;display:grid;gap:14px}.contact-list li{display:flex;gap:14px;align-items:flex-start}
.contact-list .ic{flex:none;width:42px;height:42px;border-radius:12px;background:#ffffff14;display:grid;place-items:center;color:#6cc9c4}.contact-list .ic svg{width:20px}
.contact-list a{color:#fff}.contact-list small{display:block;color:#94a3b8;font-size:12.5px}
.form{background:#fff;color:var(--ink);border-radius:24px;padding:30px;box-shadow:0 30px 80px #0006}
.form h3{font:700 22px var(--f-body);margin-bottom:4px}.form .sub{color:var(--mut);font-size:14px;margin:0 0 18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.fld label{font-size:13px;font-weight:700;color:var(--ink-2)}
.fld input,.fld select,.fld textarea{font:15px var(--f-body);padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);width:100%}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px #005b5c1a}
.days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
.day{flex:none;width:66px;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:8px 0;text-align:center;cursor:pointer;font:600 12px var(--f-body);color:var(--mut)}
.day b{display:block;font-size:20px;color:var(--ink);font-family:var(--f-head)}.day.on{border-color:var(--brand);background:var(--brand);color:#d6ecea}.day.on b{color:#fff}
.day:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.slot-g small{display:block;font-weight:700;color:var(--mut);font-size:12px;margin:6px 0}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.slot{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:9px 4px;font:600 13.5px var(--f-body);cursor:pointer;color:var(--ink)}
.slot:hover:not(:disabled){border-color:var(--brand)}.slot.on{background:var(--brand);border-color:var(--brand);color:#fff}.slot:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.note{font-size:13px;color:var(--mut);padding:12px;background:var(--bg);border-radius:10px}
.msg{padding:14px 16px;border-radius:12px;font-size:14.5px;margin-top:14px}.msg.ok{background:#dcfce7;color:#14532d}.msg.err{background:#fee2e2;color:#7f1d1d}
.done{text-align:center;padding:20px 6px}.done .big{width:72px;height:72px;border-radius:50%;background:#dcfce7;color:var(--ok);display:grid;place-items:center;margin:0 auto 14px}.done .big svg{width:38px}
.done h3{margin-bottom:8px}.done p{color:var(--mut)}.done .cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.hp{position:absolute;left:-9999px}

/* map + faq */
.loc{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.map{border-radius:24px;overflow:hidden;border:1px solid var(--line);min-height:380px;background:#e2e8f0}.map iframe{width:100%;height:100%;min-height:380px;border:0}
.loc-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:16px}
.hours{width:100%;border-collapse:collapse;font-size:14.5px}.hours td{padding:7px 0;border-bottom:1px dashed var(--line)}.hours td+td{text-align:right;font-weight:600}.hours tr.today td{color:var(--brand);font-weight:800}
.faq{max-width:820px;margin:auto;display:grid;gap:12px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:4px 22px}.faq summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";font-size:22px;color:var(--brand);line-height:1}.faq details[open] summary::after{content:"–"}.faq p{margin:0 0 18px;color:var(--mut)}

/* footer */
footer{background:var(--ink);color:#94a3b8;padding:60px 0 100px;font-size:14.5px}
.ft{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}.ft b{color:#fff;display:block;margin-bottom:12px}.ft a{color:#cbd5e1;text-decoration:none;display:block;margin:6px 0}.ft a:hover{color:#fff}
.ft .logo{color:#fff}.ft .logo small{color:#94a3b8}.copy{border-top:1px solid #ffffff14;margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* announcement bar + floating */
.abar{background:var(--accent);color:#fff;text-align:center;font-size:14px;padding:9px 16px}.abar a{color:#fff;font-weight:700}
.fab{position:fixed;right:20px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px #25d36670}
.fab svg{width:30px}
.mbar{display:none}

/* brand logo + graphics */
.logo img{height:52px;width:auto}
.ft .logo{display:inline-flex;background:#fff;border-radius:14px;padding:8px 14px}.ft .logo img{height:46px}
.hero h1 .kw{display:block;font:700 15px/1.4 var(--f-body);letter-spacing:.02em;color:var(--accent);margin-bottom:12px}
.hero-art::before{content:"";position:absolute;right:-22px;top:12%;width:16px;height:150px;z-index:0;
  background:radial-gradient(circle,var(--accent) 7px,transparent 8px) 0 0/16px 38px repeat-y;opacity:.75}
.hero-art::after{content:"";position:absolute;left:-40px;bottom:-30px;width:180px;height:180px;border-radius:50%;z-index:-1;background:radial-gradient(circle,#e8731f33,transparent 70%)}
.about h2 .deg{display:block;font:700 14px var(--f-body);color:var(--accent);letter-spacing:.04em;margin-top:8px}
.timeline{display:grid;gap:10px;margin:20px 0 22px;border-left:3px solid var(--brand-l);padding-left:18px}
.timeline div{position:relative;display:flex;gap:14px;align-items:baseline}.timeline b{color:var(--brand);font-size:15px;min-width:42px}
.timeline span{color:var(--ink-2);font-size:14.5px}.timeline div::before{content:"";position:absolute;left:-26px;top:6px;width:13px;height:13px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #fff}
.bodymap{background:linear-gradient(180deg,#fff,var(--brand-l))}
.bm-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.bm-fig{position:relative;max-width:300px;margin:auto;width:100%}.bm-fig .figure{width:100%;height:auto;display:block}
.hs{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;border:3px solid #fff;background:var(--accent);cursor:pointer;box-shadow:0 4px 12px #e8731f80;padding:0}
.hs::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid var(--accent);animation:pulse 2s infinite;opacity:0}
.hs.on{background:var(--brand);box-shadow:0 4px 12px #005b5c80}.hs.on::after{border-color:var(--brand)}
@keyframes pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.bm-h{font-size:clamp(28px,4vw,42px);margin:14px 0 8px}.mutp{color:var(--mut);margin:0 0 20px}
.bm-card{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:22px 24px;border-left:5px solid var(--accent);min-height:150px}
.bm-card h3{font-size:22px;margin-bottom:8px}.bm-card ul{margin:0 0 14px;padding-left:18px;color:var(--ink-2)}.bm-card li{margin:3px 0}
.cond-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.cond-tags span{background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 13px;font-size:13.5px;font-weight:600;color:var(--ink-2)}
.areas{background:var(--ink);color:#d1e7e5;position:relative;overflow:hidden;overflow:clip}
.areas::before{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,#e8731f30,transparent 70%)}
.areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;position:relative}
.areas h2{color:#fff;font-size:clamp(28px,3.6vw,40px);margin:14px 0}.areas .eyebrow{background:#ffffff14;color:#fdba74}.areas p b{color:#fff}
.area-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.area-list li{padding:9px 16px;border-radius:12px;background:#ffffff0f;border:1px solid #ffffff1f;font-weight:600;font-size:14.5px;color:#fff}
.area-list li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:1px}

/* reveal */
.rv{opacity:0;transform:translateY(18px);transition:.6s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

@media(max-width:980px){
  .links{position:fixed;inset:72px 0 auto 0;background:#fff;flex-direction:column;padding:12px 16px 20px;border-bottom:1px solid var(--line);box-shadow:var(--sh);display:none}
  .links.open{display:flex}.links a{padding:12px}
  .burger{display:block}.nav .btn-p{display:none}
  .hero .wrap,.tech-grid,.about,.book-grid,.loc{grid-template-columns:1fr}
  .hero .wrap{padding:36px 0 56px;gap:36px}.f1{left:10px}.f2{right:10px}
  .steps{grid-template-columns:1fr 1fr}.rev-grid{grid-template-columns:1fr}.ft{grid-template-columns:1fr 1fr}
  .stats .wrap{grid-template-columns:1fr 1fr}.exp{right:12px}
  .bm-grid,.areas-grid{grid-template-columns:1fr;gap:32px}.bm-fig{max-width:240px}.hero-art::before{right:-8px}
}
@media(max-width:600px){
  .sec{padding:60px 0}.topbar .hide-s{display:none}
  .row,.ticks,.steps{grid-template-columns:1fr}.ft{grid-template-columns:1fr}
  .form{padding:22px 18px}.fab{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1fr 1.3fr;position:fixed;inset:auto 0 0 0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -8px 24px #0f172a14}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 6px;border-radius:12px;font-weight:700;font-size:14px;text-decoration:none;color:var(--ink);background:var(--bg)}
  .mbar a svg{width:18px}.mbar .b{background:var(--brand);color:#fff}.mbar .w{background:#dcfce7;color:#166534}
  .float{font-size:12px;padding:8px 12px}.float .ic{width:32px;height:32px}
  .logo img{height:42px}.hero-art::before{display:none}
}
