*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Segoe UI','Inter',system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;background:var(--off);color:var(--char);line-height:1.65;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--orange)}
button{font:inherit;cursor:pointer;border:none;background:transparent;color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--orange);color:#fff;padding:10px 16px;z-index:200;font-weight:700}
.skip-link:focus{left:8px;top:8px}

.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* Header */
.site-header{background:#fff;border-bottom:1px solid var(--bord);position:sticky;top:0;z-index:50;box-shadow:var(--shadow-sm)}
.site-header__inner{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:16px;padding:12px 24px;max-width:min(1680px,100%);margin:0 auto}
.site-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--teal);font-weight:800;font-size:1rem;letter-spacing:-0.3px;justify-self:start;min-width:0}
.site-logo__mark{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--orange));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.95rem}
.site-logo__name{line-height:1.08;white-space:nowrap}
.site-logo__name small{display:block;font-size:0.62rem;color:var(--gray);font-weight:600;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}
.site-nav{display:flex;align-items:center;justify-self:center;min-width:0}
.site-nav__list{display:flex;align-items:center;justify-content:flex-end;gap:2px;list-style:none;padding:0;margin:0;flex-wrap:nowrap;white-space:nowrap}
.site-nav__list li{flex:0 0 auto}
.site-nav a{color:var(--char);text-decoration:none;padding:8px 9px;border-radius:var(--radius-sm);font-weight:700;font-size:0.86rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.site-nav a:hover{color:var(--teal);background:rgba(7,208,202,0.08)}
.site-nav a[aria-current="page"]{color:var(--orange);background:rgba(232,101,43,0.08)}
.site-header__cta{display:flex;gap:8px;align-items:center;justify-self:end}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--radius-sm);font-weight:700;text-decoration:none;font-size:0.92rem;line-height:1.2;border:1px solid transparent;transition:transform .15s,background .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px)}
.btn--primary{background:var(--orange);color:#fff;border-color:var(--orange)}
.btn--primary:hover{background:var(--orange-dark);color:#fff;box-shadow:var(--shadow)}
.btn--ghost{background:transparent;color:var(--teal);border-color:var(--teal)}
.btn--ghost:hover{background:var(--teal);color:#fff}
.btn--gold{background:var(--gold);color:var(--black);border-color:var(--gold)}
.btn--block{width:100%}

/* Mobile drawer */
.mobile-toggle{display:none;width:42px;height:42px;border-radius:var(--radius-sm);background:rgba(10,74,82,0.08);align-items:center;justify-content:center}
.mobile-toggle span,.mobile-toggle::before,.mobile-toggle::after{content:"";display:block;width:22px;height:2px;background:var(--teal);position:relative;transition:transform .2s}
.mobile-toggle span{margin:5px 0}
.site-drawer{display:none;position:fixed;inset:0;background:rgba(15,15,15,0.65);z-index:200}
.site-drawer.open{display:block}
.site-drawer__panel{background:#fff;width:80%;max-width:340px;height:100%;padding:24px 20px;overflow-y:auto}
.site-drawer__panel a{display:block;padding:12px 0;border-bottom:1px solid var(--bord);text-decoration:none;color:var(--char);font-weight:600}

@media (max-width:1320px){
  .site-header__inner{grid-template-columns:minmax(205px,1fr) auto minmax(205px,1fr);gap:10px;padding-inline:16px}
  .site-logo{font-size:0.96rem}
  .site-logo__mark{width:34px;height:34px}
  .site-logo__name small{font-size:0.58rem;letter-spacing:0.8px}
  .site-nav a{padding:8px 7px;font-size:0.8rem}
  .site-header__cta{gap:6px}
  .site-header__cta .btn{padding:9px 13px;font-size:0.86rem}
}
@media (max-width:1180px){
  .site-header__inner{grid-template-columns:1fr auto}
  .site-nav{display:none}
  .mobile-toggle{display:inline-flex}
  .site-header__cta .btn:not(.btn--primary){display:none}
}

/* Hero */
.hero{background:linear-gradient(135deg,#0A4A52 0%,#0F766E 55%,#07D0CA 110%);color:#fff;padding:60px 20px 50px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 30%,rgba(253,195,0,0.18),transparent 45%),radial-gradient(circle at 85% 70%,rgba(232,101,43,0.22),transparent 45%);pointer-events:none}
.hero__inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto}
.hero__eyebrow{display:inline-block;background:var(--gold);color:var(--black);padding:5px 14px;border-radius:30px;font-size:0.7rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px}
.hero h1{font-size:clamp(1.6rem,4vw,2.6rem);font-weight:800;line-height:1.15;letter-spacing:-0.5px;margin-bottom:12px;max-width:900px}
.hero__lead{font-size:clamp(0.95rem,2vw,1.1rem);color:rgba(255,255,255,0.95);max-width:780px;margin-bottom:20px}
.hero__ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.hero__nap{margin-top:18px;font-size:0.82rem;color:rgba(255,255,255,0.8);font-family:'Fira Code',Consolas,monospace}

/* Inner page hero (smaller) */
.page-hero{background:linear-gradient(135deg,var(--teal),var(--teal-deep));color:#fff;padding:36px 20px 30px}
.page-hero__inner{max-width:var(--maxw);margin:0 auto}
.page-hero__eyebrow{font-size:0.7rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:8px}
.page-hero h1{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.2;max-width:900px}
.page-hero__lead{margin-top:8px;color:rgba(255,255,255,0.92);max-width:780px;font-size:0.98rem}

/* Breadcrumbs */
.breadcrumbs{background:var(--cream);padding:10px 20px;border-bottom:1px solid var(--bord);font-size:0.8rem}
.breadcrumbs__inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.breadcrumbs a{color:var(--teal);text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.breadcrumbs span[aria-current]{color:var(--char);font-weight:600}
.breadcrumbs li{list-style:none;display:flex;align-items:center;gap:6px}
.breadcrumbs li+li::before{content:"›";color:var(--gray);margin-right:2px}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0}

/* Trust bar */
.trustbar{background:#fff;border-bottom:1px solid var(--bord);padding:12px 20px}
.trustbar__inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:center;font-size:0.84rem;color:var(--char)}
.trustbar__item{display:flex;align-items:center;gap:8px;font-weight:600}
.trustbar__dot{width:8px;height:8px;border-radius:50%;background:var(--teal-deep);display:inline-block}

/* Sections */
main{padding:30px 20px 60px}
.section{max-width:var(--maxw);margin:0 auto 30px}
.section h2{font-size:clamp(1.2rem,2.5vw,1.6rem);color:var(--black);font-weight:800;letter-spacing:-0.3px;margin-bottom:14px}
.section h3{font-size:1.05rem;color:var(--teal);margin-bottom:10px;font-weight:700}
.section p{margin-bottom:12px;color:var(--char)}

/* Speakable */
.speakable{background:linear-gradient(135deg,rgba(7,208,202,0.06),rgba(253,195,0,0.06));border-left:4px solid var(--teal);border-radius:var(--radius);padding:18px 22px;font-size:1.02rem;color:var(--black);font-weight:500;line-height:1.6}

/* ===== Premium Service Cards (.scard) ===== */
.scard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}
@media(min-width:1100px){.scard-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:420px){.scard-grid{grid-template-columns:1fr}}
.scard{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.scard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.scard__img{position:relative;overflow:hidden;aspect-ratio:16/9;background:linear-gradient(135deg,var(--teal),var(--orange))}
.scard__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.scard:hover .scard__img img{transform:scale(1.04)}
.scard__tag{position:absolute;top:12px;left:12px;background:var(--orange);color:#fff;padding:4px 12px;border-radius:20px;font-size:0.68rem;font-weight:800;text-transform:uppercase;letter-spacing:0.8px}
.scard__price{position:absolute;bottom:12px;right:12px;background:rgba(10,74,82,0.92);color:#fff;padding:5px 14px;border-radius:var(--radius-sm);font-weight:800;font-family:'Fira Code',monospace;font-size:0.82rem;backdrop-filter:blur(4px)}
.scard__body{padding:18px;display:flex;flex-direction:column;flex:1}
.scard__title{font-size:1.08rem;font-weight:800;color:var(--black);margin-bottom:6px}
.scard__blurb{color:var(--char);font-size:0.86rem;line-height:1.55;margin-bottom:10px}
.scard__facts{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px}
.scard__facts li{background:rgba(7,208,202,0.08);color:var(--teal);padding:3px 10px;border-radius:20px;font-size:0.72rem;font-weight:700}
.scard__ctas{margin-top:auto;display:flex;gap:8px}
.btn--sm{padding:8px 16px;font-size:0.82rem}
.btn--wa{background:#25D366;color:#fff;border-color:#25D366}
.btn--wa:hover{background:#1EBE5D;color:#fff;box-shadow:0 4px 12px rgba(37,211,102,0.3)}

/* Tables */
.tbl{width:100%;border-collapse:collapse;margin:12px 0;font-size:0.9rem;background:#fff;border:1px solid var(--bord);border-radius:var(--radius);overflow:hidden}
.tbl th{background:var(--teal);color:#fff;text-align:left;padding:10px;font-weight:700;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.5px}
.tbl td{padding:10px;border-bottom:1px solid var(--bord);vertical-align:top}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:nth-child(even) td{background:var(--off)}

/* Price table */
.pricetable{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);padding:14px 18px;margin:12px 0}
.pricetable h3{color:var(--orange)}
.pricetable__row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed var(--bord);gap:12px;flex-wrap:wrap}
.pricetable__row:last-child{border-bottom:none}
.pricetable__label{font-weight:600;color:var(--char)}
.pricetable__price{color:var(--orange);font-weight:800;font-family:'Fira Code',monospace;white-space:nowrap}
.pricetable__price small{color:var(--gray);font-weight:500;font-size:0.7rem;display:block;text-align:right}

/* FAQ */
.faq{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);padding:8px 0;margin:12px 0}
.faq__item{border-bottom:1px solid var(--bord)}
.faq__item:last-child{border-bottom:none}
.faq__q{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font-weight:700;color:var(--black);width:100%;text-align:left;background:none;cursor:pointer;font-size:0.95rem}
.faq__q:hover{background:rgba(7,208,202,0.05)}
.faq__icon{font-size:1.4rem;color:var(--teal);transition:transform .2s}
.faq__item[open] .faq__icon{transform:rotate(45deg)}
.faq__a{padding:0 18px 14px;color:var(--char);font-size:0.92rem}

/* Verify note + callouts */
.callout{background:#FFF8DA;border:1px solid var(--gold);border-left:4px solid var(--gold);padding:14px 18px;margin:14px 0;border-radius:var(--radius);font-size:0.92rem;color:#7C3F00;font-weight:500}
.callout--success{background:#ECFDF5;border-color:var(--teal-deep);color:#065F46}
.callout--danger{background:#FEF2F2;border-color:var(--red);color:var(--red);font-weight:600}

/* HowTo */
.howto{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);padding:18px;margin:12px 0}
.howto ol{counter-reset:step;list-style:none;padding:0}
.howto li{padding:12px 12px 12px 50px;position:relative;border-bottom:1px dashed var(--bord)}
.howto li:last-child{border-bottom:none}
.howto li::before{counter-increment:step;content:counter(step);position:absolute;left:12px;top:14px;width:28px;height:28px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.86rem}
.howto__name{font-weight:700;color:var(--black);margin-bottom:4px}
.howto__text{color:var(--char);font-size:0.9rem}

/* Lists */
.section ul.styled{list-style:none;padding:0}
.section ul.styled li{padding:6px 0 6px 26px;position:relative;color:var(--char)}
.section ul.styled li::before{content:"✓";position:absolute;left:0;color:var(--teal-deep);font-weight:800}

/* Related */
.related{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);padding:14px 18px}
.related ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.related a{display:inline-block;background:rgba(7,208,202,0.08);color:var(--teal);padding:6px 12px;border-radius:20px;font-size:0.84rem;font-weight:600;text-decoration:none}
.related a:hover{background:var(--teal);color:#fff}

/* CTA blocks */
.cta-block{background:linear-gradient(135deg,var(--teal),var(--teal-deep));color:#fff;border-radius:var(--radius);padding:22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:20px 0}
.cta-block h2,.cta-block h3{color:#fff;margin:0}
.cta-block p{color:rgba(255,255,255,0.9);margin:0}

/* Forms */
form.contact{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);padding:18px}
form.contact label{display:block;font-weight:700;color:var(--char);margin-bottom:6px;font-size:0.86rem}
form.contact input,form.contact select,form.contact textarea{width:100%;padding:10px 12px;border:1px solid var(--bord);border-radius:var(--radius-sm);font-family:inherit;font-size:0.95rem;background:#fff;color:var(--char);margin-bottom:14px}
form.contact input:focus,form.contact textarea:focus,form.contact select:focus{outline:2px solid var(--gold);border-color:var(--gold)}
form.contact .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.form-status{padding:10px;border-radius:var(--radius-sm);margin-top:8px;font-size:0.86rem}
.form-status.warn{background:rgba(180,83,9,0.08);color:var(--amber)}

/* Footer */
.site-footer{background:linear-gradient(180deg,#073D43 0%,#071A1D 58%,#05090A 100%);color:#D9E7EA;margin-top:56px;padding:0 20px 26px;position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 10%,rgba(253,195,0,0.16),transparent 28%),radial-gradient(circle at 86% 8%,rgba(232,101,43,0.18),transparent 30%);pointer-events:none}
.site-footer__cta,.site-footer__inner,.site-footer__bottom{position:relative;z-index:1;max-width:var(--maxw);margin-inline:auto}
.site-footer__cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;transform:translateY(-28px);background:linear-gradient(135deg,#FFFFFF 0%,#FFF8E2 100%);color:var(--black);border:1px solid rgba(253,195,0,0.42);border-radius:18px;padding:24px 26px;box-shadow:0 18px 45px rgba(5,9,10,0.18)}
.site-footer__eyebrow{display:inline-flex;color:var(--orange);font-size:0.76rem;font-weight:900;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:6px}
.site-footer__cta h2{font-size:clamp(1.35rem,3vw,2rem);line-height:1.08;margin:0 0 8px;color:var(--teal)}
.site-footer__cta p{max-width:720px;color:#475569;font-size:0.96rem;line-height:1.6}
.site-footer__cta-actions{display:flex;gap:10px;align-items:center;white-space:nowrap}
.footer-ghost{background:#fff;color:var(--teal);border-color:rgba(10,74,82,0.28)}
.footer-ghost:hover{background:var(--teal);color:#fff}
.site-footer__inner{display:grid;grid-template-columns:minmax(260px,0.88fr) minmax(520px,1.55fr) minmax(280px,0.8fr);gap:34px;align-items:start;padding-top:10px}
.footer-logo{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none;margin-bottom:14px}
.footer-logo:hover{color:#fff}
.footer-logo__mark{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#FDC300 0%,#E8652B 58%,#0A4A52 100%);color:#fff;font-weight:900;box-shadow:0 10px 25px rgba(232,101,43,0.28)}
.footer-logo strong{display:block;font-size:1.15rem;line-height:1;color:#fff}
.footer-logo small{display:block;margin-top:4px;font-size:0.68rem;color:#9FB6BC;text-transform:uppercase;letter-spacing:1.3px}
.footer-brand p{color:#B7CACE;line-height:1.7;font-size:0.92rem;margin-bottom:16px}
.footer-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.footer-chip{display:inline-flex;align-items:center;border:1px solid rgba(7,208,202,0.28);border-radius:999px;padding:7px 10px;color:#DDFBFA;text-decoration:none;font-size:0.78rem;font-weight:800;background:rgba(7,208,202,0.08)}
.footer-chip:hover{color:#06191C;background:var(--gold);border-color:var(--gold)}
.footer-note{display:flex;gap:10px;align-items:flex-start;color:#9FB6BC;font-size:0.78rem;line-height:1.5;padding-top:14px;border-top:1px solid rgba(255,255,255,0.1)}
.footer-note svg{flex:0 0 18px;color:var(--gold);margin-top:2px}
.footer-contact{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.11);border-radius:16px;padding:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.05)}
.site-footer h4{color:var(--gold);font-size:0.78rem;letter-spacing:1.3px;text-transform:uppercase;margin-bottom:13px}
.footer-contact__row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;text-decoration:none;color:#EFFBFC;border:1px solid transparent;background:rgba(255,255,255,0.05);margin-bottom:10px}
.footer-contact__row:hover{color:#fff;border-color:rgba(253,195,0,0.45);background:rgba(253,195,0,0.08)}
.footer-contact__row--primary{background:linear-gradient(135deg,rgba(232,101,43,0.9),rgba(194,65,12,0.95));box-shadow:0 10px 24px rgba(232,101,43,0.22)}
.footer-contact__row svg{flex:0 0 20px}
.footer-contact__row span{display:grid;gap:1px;font-weight:900}
.footer-contact__row small{font-size:0.68rem;color:rgba(255,255,255,0.68);font-weight:800;text-transform:uppercase;letter-spacing:0.8px}
.footer-contact__meta{display:flex;gap:10px;align-items:flex-start;color:#ABC0C5;font-size:0.8rem;line-height:1.45;margin-top:10px}
.footer-contact__meta svg{flex:0 0 16px;color:#FDC300;margin-top:2px}
.footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 28px}
.footer-col ul{list-style:none;display:grid;gap:8px}
.footer-col a{color:#BED2D7;text-decoration:none;font-size:0.84rem;line-height:1.35;display:inline-flex;align-items:center;gap:7px}
.footer-col a svg{width:13px;height:13px;opacity:0;transform:translateX(-4px);transition:opacity .15s,transform .15s;color:var(--gold)}
.footer-col a:hover{color:#fff}
.footer-col a:hover svg{opacity:1;transform:translateX(0)}
.site-footer__bottom{margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,0.12);font-size:0.78rem;color:#8EA8AE;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}
.site-footer__bottom a{color:#BFD4D9;text-decoration:none}
.site-footer__bottom a:hover{color:var(--gold)}
@media(max-width:1180px){.site-footer__inner{grid-template-columns:1fr}.footer-links{grid-template-columns:repeat(3,1fr)}.footer-contact{max-width:420px;justify-self:end;width:100%}}
@media(max-width:760px){.site-footer{padding-inline:14px}.site-footer__cta{grid-template-columns:1fr;transform:translateY(-22px);padding:20px}.site-footer__cta-actions{flex-wrap:wrap}.site-footer__inner{grid-template-columns:1fr;gap:24px}.footer-links{grid-template-columns:1fr 1fr}.site-footer__bottom{display:grid;gap:10px}}
@media(max-width:460px){.site-footer__cta-actions .btn{width:100%}.footer-links{grid-template-columns:1fr}.footer-contact__row{padding:11px}}

/* Sticky mobile bar */
.mobile-cta{display:none;position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--bord);box-shadow:0 -4px 12px rgba(10,74,82,0.1);padding:8px;z-index:100;gap:6px}
.mobile-cta .btn{flex:1;padding:10px 6px;font-size:0.82rem}
@media (max-width:768px){
  .mobile-cta{display:flex}
  body{padding-bottom:70px}
}

/* Sticky WhatsApp FAB (desktop only) */
.fab-whatsapp{position:fixed;right:20px;bottom:20px;background:#25D366;color:#fff;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;box-shadow:0 6px 18px rgba(37,211,102,0.4);z-index:60;font-size:1.4rem}
.fab-whatsapp:hover{transform:scale(1.05)}
@media (max-width:768px){.fab-whatsapp{display:none}}

/* Cookie banner */
.cookie-banner{position:fixed;left:14px;right:14px;bottom:84px;background:#fff;border:1px solid var(--bord);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-lg);z-index:80;display:none}
.cookie-banner.show{display:block}
.cookie-banner__inner{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.cookie-banner p{flex:1;min-width:240px;font-size:0.86rem;color:var(--char);margin:0}
@media (min-width:769px){.cookie-banner{left:auto;right:20px;bottom:84px;max-width:440px}}

/* Map */
.map-embed{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);padding:8px;margin:16px 0}
.map-embed iframe{width:100%;height:340px;border:0;border-radius:var(--radius-sm)}
.map-caption{padding:6px 8px;color:var(--gray);font-size:0.78rem}

/* HTML sitemap */
.html-sitemap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:14px}
.html-sitemap__group h3{color:var(--teal);font-size:0.95rem;margin-bottom:6px}
.html-sitemap ul{list-style:none;padding:0}
.html-sitemap li{padding:3px 0}
.html-sitemap a{font-size:0.86rem;color:var(--char)}

/* Section sub-heading + note */
.section__sub{color:var(--gray);font-size:0.95rem;margin-bottom:18px;max-width:720px}
.section__note{color:var(--gray);font-size:0.82rem;margin-top:12px;font-style:italic}

/* Hero enhancements — chips + stats */
.hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.hero__chip{display:inline-block;padding:7px 16px;border-radius:30px;background:rgba(255,255,255,0.15);color:#fff;font-size:0.82rem;font-weight:700;text-decoration:none;border:1px solid rgba(255,255,255,0.3);backdrop-filter:blur(4px);transition:background .15s,transform .15s}
.hero__chip:hover{background:rgba(255,255,255,0.28);transform:translateY(-1px);color:#fff}
.btn--lg{padding:14px 28px;font-size:1rem}
.hero-stats{background:#fff;border-bottom:1px solid var(--bord);padding:0}
.hero-stats__inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.hero-stat{padding:18px 12px;border-right:1px solid var(--bord)}
.hero-stat:last-child{border-right:none}
.hero-stat__num{display:block;font-size:1.6rem;font-weight:800;color:var(--orange);font-family:'Fira Code',monospace;letter-spacing:-1px}
.hero-stat__label{display:block;font-size:0.75rem;color:var(--gray);font-weight:600;text-transform:uppercase;letter-spacing:0.5px;margin-top:2px}
@media(max-width:640px){
  .hero-stats__inner{grid-template-columns:repeat(2,1fr)}
  .hero-stat{border-bottom:1px solid var(--bord)}
  .hero-stat:nth-child(2){border-right:none}
  .hero__chips{gap:6px}
  .hero__chip{padding:5px 12px;font-size:0.76rem}
  .btn--lg{padding:12px 20px;font-size:0.92rem}
}

/* ===== Popular Experiences Cards (.pcard) ===== */
.pcard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
@media(min-width:900px){.pcard-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.pcard-grid{grid-template-columns:1fr}}
.pcard{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.pcard__img{position:relative;overflow:hidden;aspect-ratio:16/10;background:linear-gradient(135deg,var(--orange),var(--gold))}
.pcard__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.pcard:hover .pcard__img img{transform:scale(1.04)}
.pcard__badge{position:absolute;top:10px;left:10px;display:inline-block;background:var(--gold);color:var(--black);padding:3px 11px;border-radius:20px;font-size:0.68rem;font-weight:800;text-transform:uppercase;letter-spacing:0.5px}
.pcard__badge-only{padding:14px 18px 0}
.pcard__badge-only .pcard__badge{position:static;display:inline-block;background:rgba(232,101,43,0.1);color:var(--orange);padding:3px 10px;border-radius:20px;font-size:0.7rem;font-weight:800;text-transform:uppercase;letter-spacing:0.5px}
.pcard__body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.pcard__title{font-size:1rem;font-weight:800;color:var(--black);margin-bottom:6px}
.pcard__detail{font-size:0.86rem;color:var(--char);line-height:1.55;flex:1;margin-bottom:12px}
.pcard__ctas{margin-top:auto;display:flex;gap:8px}

/* ===== Combo Cards (.ccard) ===== */
.ccard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
@media(min-width:1000px){.ccard-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:420px){.ccard-grid{grid-template-columns:1fr}}
.ccard{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.ccard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.ccard__img{position:relative;overflow:hidden;aspect-ratio:16/9;background:linear-gradient(135deg,var(--teal),var(--teal-deep))}
.ccard__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.ccard:hover .ccard__img img{transform:scale(1.04)}
.ccard__body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.ccard__title{font-size:1rem;font-weight:800;color:var(--black);margin-bottom:6px}
.ccard__desc{font-size:0.86rem;color:var(--char);line-height:1.55;flex:1;margin-bottom:12px}
.ccard__ctas{margin-top:auto;display:flex;gap:8px}

/* Pricing teaser grid */
.ptease-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
@media(min-width:700px){.ptease-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:420px){.ptease-grid{grid-template-columns:repeat(2,1fr)}}
.ptease-card{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);padding:16px;text-align:center;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.ptease-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--orange)}
.ptease-card__name{display:block;font-weight:700;color:var(--black);font-size:0.88rem;margin-bottom:6px}
.ptease-card__from{display:block;font-size:1.1rem;font-weight:800;color:var(--orange);font-family:'Fira Code',monospace;margin-bottom:8px}
.ptease-card__link{display:block;font-size:0.78rem;color:var(--teal);font-weight:700}

/* Area coverage grid */
.area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
@media(min-width:1000px){.area-grid{grid-template-columns:repeat(3,1fr)}}
.area-card{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);padding:22px;position:relative}
.area-card--primary{border-color:var(--teal);border-width:2px;background:linear-gradient(135deg,rgba(7,208,202,0.04),rgba(10,74,82,0.04))}
.area-card--primary::after{content:"Base";position:absolute;top:12px;right:12px;background:var(--teal);color:#fff;padding:2px 10px;border-radius:20px;font-size:0.66rem;font-weight:800;text-transform:uppercase;letter-spacing:0.5px}
.area-card__name{font-size:1.15rem;font-weight:800;color:var(--black);margin-bottom:8px}
.area-card__desc{font-size:0.88rem;color:var(--char);line-height:1.55;margin-bottom:12px}
.area-card__link{color:var(--teal);font-weight:700;font-size:0.88rem;text-decoration:none}
.area-card__link:hover{text-decoration:underline}

/* Safety grid */
.safety-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
@media(min-width:1000px){.safety-grid{grid-template-columns:repeat(3,1fr)}}
.safety-item{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--bord);border-radius:var(--radius);padding:18px}
.safety-item__icon{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,rgba(7,208,202,0.12),rgba(10,74,82,0.08));display:flex;align-items:center;justify-content:center;color:var(--teal)}
.safety-item__title{font-weight:700;color:var(--black);margin-bottom:4px;font-size:0.95rem}
.safety-item__desc{font-size:0.86rem;color:var(--char);line-height:1.5}

/* Audience grid */
.aud-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
@media(min-width:900px){.aud-grid{grid-template-columns:repeat(3,1fr)}}
.aud-card{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);padding:20px;text-align:center;transition:transform .15s,box-shadow .15s}
.aud-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.aud-card__icon{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:linear-gradient(135deg,rgba(253,195,0,0.15),rgba(232,101,43,0.1));display:flex;align-items:center;justify-content:center;color:var(--orange)}
.aud-card__title{font-weight:800;color:var(--black);font-size:1rem;margin-bottom:6px}
.aud-card__desc{font-size:0.86rem;color:var(--char);line-height:1.5;margin-bottom:10px}
.aud-card__link{color:var(--teal);font-weight:700;font-size:0.86rem;text-decoration:none}
.aud-card__link:hover{text-decoration:underline}

/* Gallery placeholder grid */
.gp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gp-grid .gp-cell:first-child{grid-column:1/3;grid-row:1/3}
@media(max-width:640px){.gp-grid{grid-template-columns:repeat(2,1fr)}.gp-grid .gp-cell:first-child{grid-column:1/3;grid-row:auto}}
.gp-cell{border-radius:var(--radius);min-height:140px;display:flex;align-items:flex-end;justify-content:flex-start;padding:14px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--teal),var(--orange));text-decoration:none;color:#fff}
.gp-grid .gp-cell:first-child{min-height:296px}
.gp-cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.gp-cell:hover img{transform:scale(1.06)}
.gp-cell__fallback{position:absolute;inset:0;background:linear-gradient(135deg,var(--teal),var(--orange))}
.gp-cell__label{color:#fff;font-weight:700;font-size:0.88rem;text-shadow:0 2px 8px rgba(0,0,0,0.45);z-index:1;display:flex;align-items:center;gap:7px;position:relative}
.gp-cell::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,0.58),rgba(0,0,0,0.08) 58%,rgba(0,0,0,0.02));z-index:0;pointer-events:none}

/* Trust contact grid */
.tc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
@media(max-width:768px){.tc-grid{grid-template-columns:1fr}}
.tc-methods{display:flex;flex-direction:column;gap:10px}
.tc-method{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--bord);border-radius:var(--radius);padding:14px 16px;text-decoration:none;color:inherit;transition:box-shadow .15s}
a.tc-method:hover{box-shadow:var(--shadow);border-color:var(--teal)}
.tc-method__icon{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,rgba(7,208,202,0.12),rgba(10,74,82,0.08));display:flex;align-items:center;justify-content:center;color:var(--teal)}
.tc-method__label{display:block;font-size:0.72rem;color:var(--gray);font-weight:700;text-transform:uppercase;letter-spacing:0.5px}
.tc-method__value{display:block;font-weight:700;color:var(--black);font-size:0.92rem;margin-top:1px}
.tc-map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--bord);background:#fff;padding:6px}
.tc-map iframe{width:100%;height:100%;min-height:340px;border:0;border-radius:var(--radius-sm)}

/* Compare table — outer wrapper allows scroll on tablets */
.tbl-wrap{overflow-x:auto}

/* Compare table mobile — flatten with data-label hints */
@media (max-width:640px){
  .tbl,.tbl thead,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block;width:100%}
  .tbl{border:none;background:transparent}
  .tbl thead{display:none}
  .tbl tr{margin-bottom:12px;border:1px solid var(--bord);border-left:4px solid var(--teal);border-radius:var(--radius);background:#fff}
  .tbl tr:nth-child(even) td{background:transparent}
  .tbl td{border-bottom:1px dashed var(--bord);padding:8px 14px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
  .tbl td:last-child{border-bottom:none}
  .tbl td::before{content:attr(data-label);font-weight:700;color:var(--gray);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.5px;flex:0 0 38%;max-width:38%}
  .tbl td:empty::before,.tbl td[data-label=""]::before{display:none}
  .tbl td > *:last-child,.tbl td{text-align:left}
  .tbl td a{font-weight:700}
}
