/* ==========================================================
   Sub-page styles — built on home.css tokens
   ========================================================== */

/* mobile nav drawer */
.mobnav{display:none;flex-direction:column;gap:.2rem;padding:1rem var(--gutter) 1.4rem;background:#fff;border-top:1px solid var(--line);}
.mobnav.open{display:flex;}
.mobnav a{padding:.7rem 0;font-weight:700;color:var(--ink-1);border-bottom:1px solid var(--line);}
.mobnav a.btn{border:none;color:#fff;margin-top:.6rem;justify-content:center;}
@media (min-width:881px){ .mobnav{display:none!important;} }

/* offset under sticky header */
body.haschrome{padding-top:0;}

/* ---------- PAGE HERO ---------- */
.phero{position:relative;background:var(--ink);color:#fff;overflow:hidden;isolation:isolate;
  display:flex;flex-direction:column;justify-content:center;min-height:clamp(700px,86vh,900px);
  padding-top:calc(var(--hdr-h,74px) + clamp(2.5rem,5vw,4rem));padding-bottom:clamp(4rem,7vw,6rem);}
.phero-bg{position:absolute;inset:0;z-index:-2;}
.phero-bg img{width:100%;height:100%;object-fit:cover;}
.phero-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(10,19,48,.74) 0%,rgba(10,19,48,.46) 52%,rgba(10,19,48,.30) 100%),
  linear-gradient(180deg,rgba(10,19,48,.40) 0%,rgba(10,19,48,.50) 55%,rgba(10,19,48,.80) 100%);}
.phero .crumb{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--cloud-3);margin-bottom:1.2rem;}
.phero .crumb a{color:var(--cloud-2);}
.phero .crumb a:hover{color:#fff;}
.phero .crumb span{opacity:.5;}
.phero .label{color:var(--sky);}
.phero h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(2.5rem,5vw,4.3rem);line-height:.92;letter-spacing:.006em;color:#fff;margin:0;max-width:20ch;}
.phero h1 .or{color:var(--orange);}
.phero .psub{color:var(--cloud-2);max-width:54ch;margin:1.1rem 0 0;font-size:clamp(1.05rem,1.4vw,1.22rem);line-height:1.55;}
.phero .phero-meta{display:flex;gap:1.3rem;flex-wrap:wrap;margin-top:1.6rem;}
.phero .pm{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--cloud);font-weight:600;}
.phero .pm img{width:24px;height:24px;}
.phero .pm .s{color:var(--gold);}
.phero-cta{margin-top:1.8rem;display:flex;gap:1rem;flex-wrap:wrap;}

/* mobile + tablet: keep ALL heroes the SAME generous height */
@media (max-width:880px){
  .phero,.phero.slim{min-height:clamp(620px,86vh,760px);justify-content:center;
    padding-top:calc(var(--hdr-h,62px) + clamp(1.6rem,6vw,3rem));
    padding-bottom:clamp(3rem,8vw,4.2rem);}
  .phero h1,.phero.slim h1{max-width:none;}
}

/* combined safety hero proof strip */
.phero-proof{display:flex;align-items:center;gap:clamp(1.4rem,3vw,2.6rem);flex-wrap:wrap;margin-top:1.9rem;
  padding-top:1.7rem;border-top:1px solid rgba(238,243,251,.18);}
.phero-proof .pp-score{display:flex;align-items:center;gap:.7rem;}
.phero-proof .pp-score .big{font-family:var(--display);font-size:clamp(2.8rem,5vw,3.6rem);color:#fff;line-height:.8;}
.phero-proof .pp-score .big .st{color:var(--gold);font-size:.34em;margin-left:.05em;}
.phero-proof .pp-score .sub{display:flex;flex-direction:column;}
.phero-proof .pp-score .sub .s{color:var(--gold);letter-spacing:2px;}
.phero-proof .pp-score .sub small{color:var(--cloud-2);font-size:.82rem;}
.phero-proof .pp-badge{height:clamp(64px,8vw,86px);width:auto;}
.phero-proof .pp-logos{display:flex;align-items:center;gap:clamp(1.1rem,2.4vw,2rem);flex-wrap:wrap;margin-left:auto;}
.phero-proof .pp-logos img{height:28px;width:auto;opacity:.92;}
.phero-proof .pp-logos img.tp{height:22px;}
@media (max-width:760px){ .phero-proof .pp-logos{margin-left:0;} }

/* compact page hero (legal) — identical height & heading size to every other hero now */
.phero.slim{padding-bottom:clamp(4rem,7vw,6rem);}

/* ---------- prose / legal ---------- */
.prose{max-width:72ch;}
.prose h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--navy);margin:2.4rem 0 .8rem;letter-spacing:.01em;}
.prose h3{font-size:1.15rem;color:var(--ink-1);margin:1.6rem 0 .5rem;}
.prose p{color:var(--ink-2);margin:0 0 1rem;line-height:1.7;}
.prose ul,.prose ol{color:var(--ink-2);line-height:1.7;padding-left:1.3rem;margin:0 0 1.2rem;}
.prose li{margin-bottom:.5rem;}
.prose a{color:var(--sky-ink);font-weight:600;border-bottom:1px solid var(--line-2);}
.prose strong{color:var(--ink-1);}
.prose .lead{font-size:1.15rem;color:var(--ink-1);line-height:1.6;margin-bottom:1.6rem;}
.legal-meta{font-size:.85rem;color:var(--ink-3);margin-bottom:2rem;padding-bottom:1.4rem;border-bottom:1px solid var(--line);}
.legal-grid{display:grid;grid-template-columns:.32fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:start;}
.legal-toc{position:sticky;top:90px;}
.legal-toc h4{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sky-ink);margin:0 0 1rem;}
.legal-toc ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem;}
.legal-toc a{font-size:.92rem;color:var(--ink-2);font-weight:600;border:none;}
.legal-toc a:hover{color:var(--navy);}
@media (max-width:760px){ .legal-grid{grid-template-columns:1fr;} .legal-toc{position:static;margin-bottom:1.5rem;} }

/* ---------- accordion (FAQ) ---------- */
.acc{max-width:820px;margin-inline:auto;}
.acc-item{border-bottom:1px solid var(--line);}
.acc-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:none;border:none;
  cursor:pointer;padding:1.4rem 0;text-align:left;font-family:var(--sans);font-weight:700;font-size:1.12rem;color:var(--ink-1);}
.acc-q .ico{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;flex:none;
  position:relative;transition:.3s var(--ease);}
.acc-q .ico::before,.acc-q .ico::after{content:"";position:absolute;background:var(--navy);border-radius:2px;}
.acc-q .ico::before{width:12px;height:2px;}
.acc-q .ico::after{width:2px;height:12px;transition:transform .3s var(--ease);}
.acc-item.open .acc-q .ico{background:var(--orange);border-color:var(--orange);}
.acc-item.open .acc-q .ico::before,.acc-item.open .acc-q .ico::after{background:#fff;}
.acc-item.open .acc-q .ico::after{transform:rotate(90deg);}
.acc-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease);}
.acc-item.open .acc-a{max-height:1200px;}
.acc-a p{margin:0;padding:0 0 1.4rem;color:var(--ink-2);line-height:1.65;max-width:68ch;}

/* ---------- generic feature grids reused ---------- */
.feat3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,2.6vw,2.4rem);}
.feat2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.4rem,2.6vw,2.4rem);}
/* editorial top-rule "index" cards — no boxy AI look */
.fcard{background:transparent;border:none;border-top:3px solid var(--ink-1);border-radius:0;
  padding:clamp(1.3rem,2vw,1.7rem) 0 0;transition:transform .3s var(--ease);}
.fcard:hover{transform:translateY(-5px);}
.fcard:hover img{transform:scale(1.06) rotate(-2deg);}
.fcard img{width:clamp(46px,4vw,56px);height:clamp(46px,4vw,56px);margin-bottom:1rem;transition:transform .35s var(--ease);}
.fcard h3{font-size:1.18rem;margin-bottom:.5rem;letter-spacing:-.01em;}
.fcard p{margin:0;color:var(--ink-2);font-size:.95rem;line-height:1.55;}
/* dark-band variant */
.band-navy .fcard,.band-ink .fcard,.sp .fcard{border-top-color:var(--orange);}
.band-navy .fcard h3,.band-ink .fcard h3{color:#fff;}
.band-navy .fcard p,.band-ink .fcard p{color:var(--cloud-2);}
@media (max-width:880px){ .feat3{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .feat3,.feat2{grid-template-columns:1fr;} }

/* split editorial row — bolder, offset frame */
.splitrow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4.5vw,4.5rem);align-items:center;}
.splitrow.rev{direction:rtl;}.splitrow.rev > *{direction:ltr;}
.splitrow .sr-media{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-lg);position:relative;}
.splitrow .sr-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);}
.splitrow .sr-media:hover img{transform:scale(1.05);}
.splitrow .sr-media .sr-tag{position:absolute;left:0;bottom:18px;background:var(--orange);color:#fff;font-family:var(--display);
  text-transform:uppercase;font-size:.92rem;letter-spacing:.03em;padding:.55rem 1.1rem;border-radius:0 var(--r-pill) var(--r-pill) 0;box-shadow:var(--shadow-md);}
.splitrow .h2{margin-bottom:.8rem;}
@media (max-width:840px){ .splitrow{grid-template-columns:1fr;gap:1.6rem;} .splitrow.rev{direction:ltr;} }

/* ---------- 8 cables visual ---------- */
.cables{display:flex;flex-direction:column;gap:.6rem;}
.cbl{display:grid;grid-template-columns:54px 1fr auto;gap:1rem;align-items:center;}
.cbl .cn{font-family:var(--display);font-size:1.5rem;color:var(--navy);}
.cbl .ctrack{height:14px;background:var(--surface-2);border-radius:var(--r-pill);position:relative;overflow:hidden;}
.cbl .cfill{position:absolute;inset:0;width:0;background:linear-gradient(90deg,var(--sky),var(--navy));border-radius:var(--r-pill);transition:width 1.1s var(--ease);}
.cbl.feat .cfill{background:linear-gradient(90deg,var(--orange),var(--orange-hi));}
.cbl .cm{font-weight:700;color:var(--ink-1);font-size:.92rem;white-space:nowrap;}

/* ---------- BOOKING WIZARD ---------- */
.book-shell{display:grid;grid-template-columns:1.6fr .9fr;gap:clamp(1.5rem,3vw,2.5rem);align-items:start;}
.wizard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow:hidden;}
.wz-steps{display:flex;align-items:center;border-bottom:1px solid var(--line);background:#fff;padding:1.1rem clamp(1rem,2.2vw,1.7rem);}
.wz-steps .ws{display:flex;align-items:center;gap:.55rem;padding:0;font-weight:700;font-size:.92rem;color:var(--ink-3);flex:0 0 auto;position:relative;}
.wz-steps .ws:not(:last-child){flex:1;}
.wz-steps .ws::after{content:"";flex:1;height:2px;background:var(--line-2);margin:0 clamp(.6rem,1.5vw,1.2rem);min-width:18px;}
.wz-steps .ws:last-child::after{display:none;}
.wz-steps .ws .no{width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid var(--line-2);color:var(--ink-3);display:grid;place-items:center;font-size:.85rem;flex:none;transition:.25s var(--ease);}
.wz-steps .ws.active{color:var(--navy);}
.wz-steps .ws.active .no{border-color:var(--orange);color:var(--orange);}
.wz-steps .ws.done .no{background:var(--green);border-color:var(--green);color:#fff;}
.wz-steps .ws.done{color:var(--ink-1);}
.wz-steps .ws.done::after{background:var(--green);}
.wz-body{padding:clamp(1.4rem,2.6vw,2.2rem);}
.wz-pane{display:none;}
.wz-pane.on{display:block;animation:wzfade .4s var(--ease);}
@keyframes wzfade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.wz-h{font-family:var(--display);text-transform:uppercase;font-size:1.4rem;color:var(--navy);margin:0 0 .3rem;}
.wz-sub{color:var(--ink-2);font-size:.92rem;margin:0 0 1.3rem;}
.cal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:1.1rem;}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem;}
.cal-head b{font-weight:800;color:var(--ink-1);}
.cal-head button{width:32px;height:32px;border-radius:8px;border:1px solid var(--line-2);background:#fff;cursor:pointer;color:var(--navy);font-size:1rem;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;}
.cal-grid .dow{text-align:center;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:.3rem 0;}
.cal-day{aspect-ratio:1;border:none;border-radius:9px;background:#fff;cursor:pointer;font-family:var(--sans);font-weight:700;font-size:.92rem;color:var(--ink-1);position:relative;transition:.15s;}
.cal-day:hover:not(:disabled){background:var(--sky-soft);}
.cal-day.empty{background:transparent;cursor:default;}
.cal-day:disabled{color:var(--ink-3);opacity:.4;cursor:not-allowed;text-decoration:line-through;}
.cal-day.sel{background:var(--orange);color:#fff;}
.cal-day .d{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;}
.cal-day.lim .d{background:var(--gold);}
.cal-day.av .d{background:var(--green);}
.cal-legend{display:flex;gap:1.1rem;flex-wrap:wrap;margin-top:.9rem;font-size:.78rem;color:var(--ink-2);}
.cal-legend span{display:inline-flex;align-items:center;gap:.4rem;}
.cal-legend i{width:8px;height:8px;border-radius:50%;}
.slotgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem;margin-top:1.2rem;}
.slot{border:1.5px solid var(--line);border-radius:var(--r-md);padding:.8rem;cursor:pointer;text-align:center;transition:.2s;background:#fff;}
.slot:hover{border-color:var(--sky);}
.slot.sel{border-color:var(--orange);background:#fff6f3;}
.slot b{display:block;font-size:1.05rem;color:var(--ink-1);}
.slot span{font-size:.74rem;font-weight:700;}
.slot.av span{color:var(--green);}
.slot.lim span{color:var(--orange);}
.slot.sold{opacity:.5;cursor:not-allowed;}
.slot.sold span{color:var(--ink-3);}
.wz-field{margin-bottom:1.1rem;}
.wz-field label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.45rem;}
.wz-field input,.wz-field select,.wz-field textarea{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);padding:.85rem;font-family:var(--sans);font-weight:600;font-size:1rem;color:var(--ink-1);}
.wz-field textarea{resize:vertical;min-height:88px;line-height:1.5;}
.wz-field label i{color:var(--orange);font-style:normal;font-weight:800;}
.wz-field label .opt{color:var(--ink-3);font-weight:700;text-transform:none;letter-spacing:0;font-size:.72rem;margin-left:.35rem;}
.wz-flagsel{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2333459a' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.2rem;cursor:pointer;}
.wz-phone{display:flex;gap:.6rem;}
.wz-phone select{flex:0 0 9.5rem;width:9.5rem;}
.wz-phone input{flex:1;min-width:0;}
.wz-field input:focus,.wz-field select:focus,.wz-field textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-soft);}
.counter{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:1rem 1.2rem;margin-bottom:.9rem;}
.counter .cl b{display:block;color:var(--ink-1);font-size:1.02rem;}
.counter .cl span{font-size:.82rem;color:var(--ink-2);}
.counter .cc{display:flex;align-items:center;gap:1rem;}
.counter .cc button{width:36px;height:36px;border-radius:10px;border:1.5px solid var(--line-2);background:#fff;color:var(--navy);font-size:1.2rem;cursor:pointer;transition:.2s;}
.counter .cc button:hover{border-color:var(--sky);color:var(--sky-ink);}
.counter .cc b{min-width:1.4ch;text-align:center;font-size:1.15rem;}
.wz-toggle{display:flex;gap:.7rem;margin-bottom:1.1rem;flex-wrap:wrap;}
.wz-toggle .wt{flex:1;min-width:160px;border:1.5px solid var(--line);border-radius:var(--r-md);padding:1rem 1.1rem;cursor:pointer;transition:.2s;background:#fff;}
.wz-toggle .wt.on{border-color:var(--orange);background:#fff6f3;}
.wz-toggle .wt b{display:block;color:var(--ink-1);}
.wz-toggle .wt span{font-size:.82rem;color:var(--ink-2);}
.wz-note{display:flex;gap:.7rem;background:var(--sky-soft);border-radius:var(--r-md);padding:1rem 1.1rem;font-size:.88rem;color:var(--ink-1);margin-top:.4rem;}
.wz-note img{width:22px;height:22px;flex:none;}
/* split-transfer price emphasis */
.counter .cl .pp{color:var(--orange);font-weight:800;}
/* private tour / split transfer -> request by mail or phone, pay directly */
.wz-request{background:var(--ink);color:#fff;border-radius:var(--r-md);padding:clamp(1.3rem,2.4vw,1.7rem);margin-top:.9rem;}
.wz-request > b{display:block;font-family:var(--display);text-transform:uppercase;font-size:clamp(1.2rem,2vw,1.5rem);letter-spacing:.01em;color:#fff;margin-bottom:.5rem;}
.wz-request p{margin:0 0 1.1rem;color:var(--cloud-2);font-size:.97rem;line-height:1.55;}
.wz-request-links{display:flex;gap:.7rem;flex-wrap:wrap;}
.wz-request-links .btn-ghost{color:#fff;border-color:rgba(255,255,255,.32);}
.wz-request-links .btn-ghost:hover{border-color:#fff;}
.wz-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;}
.wz-pay-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.wz-pay-row .full{grid-column:1/-1;}

/* booking summary rail */
.bk-summary{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:clamp(1.4rem,2.4vw,1.9rem);position:sticky;top:90px;}
.bk-summary h3{font-family:var(--display);text-transform:uppercase;font-size:1.2rem;color:#fff;margin:0 0 1.1rem;}
.bk-summary .bk-img{border-radius:var(--r-md);overflow:hidden;aspect-ratio:16/10;margin-bottom:1.1rem;}
.bk-summary .bk-img img{width:100%;height:100%;object-fit:cover;}
.bk-row{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid rgba(238,243,251,.14);font-size:.92rem;}
.bk-row span{color:var(--cloud-2);}.bk-row b{color:#fff;}
.bk-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(238,243,251,.22);}
.bk-total span{color:var(--cloud-2);font-weight:700;}
.bk-total b{font-family:var(--display);font-size:2rem;color:var(--orange);}
.bk-trust{display:flex;flex-direction:column;gap:.6rem;margin-top:1.2rem;}
.bk-trust span{display:inline-flex;align-items:center;gap:.5rem;font-size:.84rem;color:var(--cloud-2);}
.bk-trust img{width:20px;height:20px;}
@media (max-width:880px){ .book-shell{grid-template-columns:1fr;} .bk-summary{position:static;order:-1;} .wz-steps .ws span.wl{display:none;} }

/* confirmation */
.bk-confirm{max-width:640px;margin-inline:auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(2rem,4vw,3rem);box-shadow:var(--shadow-md);}
.bk-confirm .tick{width:84px;height:84px;border-radius:50%;background:var(--green);display:grid;place-items:center;margin:0 auto 1.4rem;}
.bk-confirm .tick svg{width:42px;height:42px;}

/* ---------- REVIEWS PAGE ---------- */
.rv-hero-stats{display:flex;gap:clamp(1.5rem,4vw,3.5rem);flex-wrap:wrap;margin-top:1.8rem;}
.rv-hs{display:flex;flex-direction:column;}
.rv-hs b{font-family:var(--display);font-size:clamp(2.2rem,4vw,3rem);color:#fff;line-height:.9;}
.rv-hs b .s{color:var(--gold);font-size:.5em;}
.rv-hs span{font-size:.82rem;color:var(--cloud-2);font-weight:700;letter-spacing:.04em;margin-top:.3rem;}
.rv-plats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.rv-plat{background:var(--page);border:1px solid var(--line);border-radius:var(--r-md);padding:1.4rem;display:flex;flex-direction:column;gap:.6rem;align-items:flex-start;transition:transform .3s var(--ease),box-shadow .3s;}
.rv-plat:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.rv-plat .lg{height:30px;}.rv-plat .lg img{height:100%;width:auto;}.rv-plat .lg.tp img{height:24px;}.rv-plat .lg.gg img{height:26px;}
.rv-plat .rt{display:flex;align-items:baseline;gap:.4rem;}
.rv-plat .rt b{font-family:var(--display);font-size:1.6rem;color:var(--ink-1);}
.rv-plat .rt .s{color:var(--gold);font-size:.9rem;}
.rv-plat small{color:var(--ink-2);font-size:.82rem;}
.rv-filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem;}
.rv-filters button{border:1.5px solid var(--line-2);background:#fff;border-radius:var(--r-pill);padding:.55rem 1.1rem;font-family:var(--sans);font-weight:700;font-size:.88rem;color:var(--ink-2);cursor:pointer;transition:.2s;}
.rv-filters button.on,.rv-filters button:hover{background:var(--navy);border-color:var(--navy);color:#fff;}
.rv-masonry{columns:3;column-gap:1.2rem;}
@media (max-width:900px){ .rv-masonry{columns:2;} .rv-plats{grid-template-columns:1fr 1fr;} }
@media (max-width:580px){ .rv-masonry{columns:1;} .rv-plats{grid-template-columns:1fr 1fr;}
  /* center the social-proof platform tiles on mobile */
  .rv-plat{align-items:center;text-align:center;}
  .rv-plat .rt{justify-content:center;}
}
.rvc{break-inside:avoid;background:var(--page);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem;margin-bottom:1.2rem;transition:transform .3s var(--ease),box-shadow .3s;}
.rvc:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.rvc .rvtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem;}
.rvc .s{color:var(--gold);letter-spacing:1px;}
.rvc .src{height:18px;}.rvc .src img{height:100%;width:auto;}.rvc .src.tp img{height:15px;}
.rvc p{margin:0 0 1.1rem;color:var(--ink-1);line-height:1.6;font-size:.96rem;}
.rvc .by{display:flex;align-items:center;gap:.7rem;}
.rvc .av{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;}
.rvc .by b{display:block;font-size:.92rem;color:var(--ink-1);}
.rvc .by span{font-size:.78rem;color:var(--ink-3);}
.rvc.feat{background:var(--navy-2);border-color:transparent;}
.rvc.feat p{color:#fff;font-size:1.05rem;}
.rvc.feat .by b{color:#fff;}.rvc.feat .by span{color:var(--cloud-2);}

/* CTA band reused */
.ctaband{background:var(--ink);color:#fff;text-align:center;position:relative;overflow:hidden;}
.ctaband-bg{position:absolute;inset:0;}.ctaband-bg img{width:100%;height:100%;object-fit:cover;}
.ctaband-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,19,48,.74),rgba(10,19,48,.9));}
.ctaband .in{position:relative;z-index:2;padding-block:clamp(4rem,8vw,7rem);}
.ctaband h2{color:#fff;max-width:20ch;margin:0 auto .9rem;}
.ctaband h2 .or{color:var(--orange);}
.ctaband p{color:var(--cloud-2);max-width:44ch;margin:0 auto 2rem;}

/* gallery page */
.gal-cat{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem;}
.gal-cat button{border:1.5px solid var(--line-2);background:#fff;border-radius:var(--r-pill);padding:.55rem 1.1rem;font-family:var(--sans);font-weight:700;font-size:.88rem;color:var(--ink-2);cursor:pointer;transition:.2s;}
.gal-cat button.on,.gal-cat button:hover{background:var(--navy);border-color:var(--navy);color:#fff;}
.masonry{columns:3;column-gap:14px;}
@media (max-width:900px){ .masonry{columns:2;} }
@media (max-width:560px){ .masonry{columns:1;} }
.masonry .mph{break-inside:avoid;margin-bottom:14px;border-radius:var(--r-md);overflow:hidden;position:relative;display:block;}
.masonry .mph img{width:100%;display:block;transition:transform .8s var(--ease);}
.masonry .mph:hover img{transform:scale(1.05);}
.masonry .mph .tag{position:absolute;left:14px;bottom:12px;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.7);}

/* pricing page table */
.ptable{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.ptable th,.ptable td{padding:1.1rem 1.3rem;text-align:left;border-bottom:1px solid var(--line);}
.ptable th{background:var(--navy-2);color:#fff;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;}
.ptable td{color:var(--ink-2);font-size:.95rem;}
.ptable tr:last-child td{border-bottom:none;}
.ptable .pk{font-weight:800;color:var(--ink-1);}
.ptable .pp{font-family:var(--display);font-size:1.4rem;color:var(--navy);}

/* team grid (about) */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.5rem);}
.tm{border-radius:var(--r-lg);overflow:hidden;position:relative;aspect-ratio:3/4;}
.tm img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.tm:hover img{transform:scale(1.05);}
.tm::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(10,19,48,.85));}
.tm .nm{position:absolute;left:16px;bottom:14px;z-index:2;color:#fff;}
.tm .nm b{display:block;font-size:1.05rem;}
.tm .nm span{font-size:.8rem;color:var(--cloud-2);}
@media (max-width:880px){ .team{grid-template-columns:1fr 1fr;} }

/* ==========================================================
   v15 — bigger blue headers, brutalist, safety, pricing,
   programme, reviews icons, jobs/blog, about
   ========================================================== */
/* bigger page headers + BLUE accent words — ONE unified size for every hero */
.phero h1,.phero.slim h1{font-size:clamp(2.9rem,6vw,5rem);line-height:.95;}
.phero h1 .or{color:var(--sky);}

/* ---- BRUTALIST cards ---- */
.brut-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.1rem,2vw,1.6rem);}
.brut{background:#fff;border:2.5px solid var(--ink);border-radius:0;box-shadow:7px 7px 0 var(--ink);
  padding:clamp(1.4rem,2.4vw,1.9rem);transition:transform .2s var(--ease),box-shadow .2s var(--ease);}
.brut:hover{transform:translate(-3px,-3px);box-shadow:11px 11px 0 var(--orange);}
.brut .bi{width:54px;height:54px;margin-bottom:1.1rem;}
.brut h3{font-family:var(--display);text-transform:uppercase;font-size:1.4rem;letter-spacing:.01em;color:var(--ink);margin:0 0 .6rem;}
.brut p{margin:0;color:var(--ink-2);font-size:.95rem;line-height:1.55;}
.brut .bk{display:inline-block;margin-top:.9rem;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--orange);}
.brut.dark{background:var(--ink);border-color:var(--orange);box-shadow:7px 7px 0 var(--orange);color:#fff;}
.brut.dark h3{color:#fff;}.brut.dark p{color:var(--cloud-2);}
@media (max-width:880px){ .brut-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .brut-grid{grid-template-columns:1fr;} .brut{box-shadow:5px 5px 0 var(--ink);} }

/* ---- SAFETY social-proof band + ratings ---- */
.safeproof{background:var(--navy-2);color:#fff;}
.safeproof-grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.rate-stack{display:flex;gap:clamp(1.4rem,3vw,2.4rem);flex-wrap:wrap;}
.rate-card{text-align:center;}
.rate-card .rn{font-family:var(--display);font-size:clamp(2.6rem,5vw,3.6rem);color:#fff;line-height:.85;}
.rate-card .rs{color:var(--gold);letter-spacing:2px;font-size:1.05rem;margin-top:.3rem;}
.rate-card .rl{font-size:.78rem;color:var(--cloud-2);font-weight:700;letter-spacing:.04em;margin-top:.35rem;text-transform:uppercase;}
.safeproof .sp-copy .h2{color:#fff;margin-bottom:.6rem;}
.safeproof .sp-copy .h2 .or{color:var(--orange);}
.safeproof .sp-copy p{color:var(--cloud-2);margin:0;max-width:46ch;}
.safeproof-logos{display:flex;gap:clamp(1.4rem,3vw,2.6rem);align-items:center;flex-wrap:wrap;margin-top:1.4rem;}
.safeproof-logos img{height:30px;width:auto;}
.safeproof-logos img.tp{height:24px;}
/* guide images row */
.guides{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.9rem,1.8vw,1.3rem);}
.guidecard{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/4;}
.guidecard img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.guidecard:hover img{transform:scale(1.05);}
.guidecard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,19,48,.85));}
.guidecard .gn{position:absolute;left:14px;bottom:12px;z-index:2;color:#fff;}
.guidecard .gn b{display:block;}.guidecard .gn span{font-size:.78rem;color:var(--cloud-2);}
@media (max-width:880px){ .guides{grid-template-columns:1fr 1fr;} .safeproof-grid{grid-template-columns:1fr;} }

/* ---- what to bring redesign (image-backed cards) ---- */
.bring{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.4rem);}
.bringc{position:relative;overflow:hidden;border-radius:var(--r-md);min-height:248px;display:flex;align-items:flex-end;
  padding:1.3rem;background-size:cover;background-position:center;border:1px solid var(--line);
  box-shadow:0 14px 30px -18px rgba(16,28,72,.45);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.bringc::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,16,40,.9) 6%,rgba(8,16,40,.42) 45%,rgba(8,16,40,.06) 100%);}
.bringc:hover{transform:translateY(-5px);box-shadow:0 22px 44px -18px rgba(16,28,72,.55);}
.bringc-body{position:relative;z-index:1;}
.bringc-body::before{content:"";display:block;width:30px;height:3px;border-radius:2px;background:var(--orange);margin-bottom:.7rem;}
.bringc b{display:block;color:#fff;font-size:1.12rem;font-weight:800;letter-spacing:-.01em;margin-bottom:.15rem;}
.bringc span{font-size:.86rem;color:rgba(255,255,255,.82);font-weight:500;}
@media (max-width:760px){ .bring{grid-template-columns:1fr 1fr;} }

/* riders-rate-us: copy left, bold vertical rating panel right */
.safeproof-grid{grid-template-columns:1fr auto;}
.rate-panel{display:flex;flex-direction:column;gap:1rem;background:rgba(255,255,255,.06);border:1px solid rgba(238,243,251,.16);
  border-radius:var(--r-lg);padding:clamp(1.4rem,2.4vw,1.9rem);min-width:240px;}
.rate-panel .rp-row{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(238,243,251,.14);}
.rate-panel .rp-row:last-child{border-bottom:none;padding-bottom:0;}
.rate-panel .rp-n{font-family:var(--display);font-size:2.6rem;color:#fff;line-height:.85;flex:none;min-width:2.4ch;}
.rate-panel .rp-n.sky{color:var(--sky);}
.rate-panel .rp-d .rs2{color:var(--gold);letter-spacing:2px;font-size:.95rem;}
.rate-panel .rp-d .rl2{font-size:.78rem;color:var(--cloud-2);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:.2rem;}
@media (max-width:880px){ .safeproof-grid{grid-template-columns:1fr;} .rate-panel{min-width:0;} }

/* ---- PRICING included redesign (bold ticket) ---- */
.vatx-sm{font-size:.62em;font-weight:700;color:var(--ink-3);letter-spacing:.02em;text-transform:uppercase;vertical-align:.25em;margin-left:.2em;}
.incticket{background:var(--ink);color:#fff;border-radius:var(--r-lg);overflow:hidden;position:relative;}
.incticket-grid{display:grid;grid-template-columns:.9fr 1.1fr;}
.incticket .it-left{padding:clamp(1.8rem,3vw,2.6rem);background:linear-gradient(160deg,var(--navy-2),var(--ink));position:relative;display:flex;flex-direction:column;justify-content:center;}
.incticket .it-left .label{color:var(--sky);}
.incticket .it-left h3{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.9rem,3.4vw,2.8rem);color:#fff;line-height:.92;margin:.3rem 0 1rem;}
.incticket .it-left h3 .or{color:var(--orange);}
.incticket .it-left .big{font-family:var(--display);font-size:clamp(3rem,6vw,4.6rem);color:#fff;line-height:.85;}
.incticket .it-left .big small{font-family:var(--sans);font-size:.9rem;font-weight:600;color:var(--cloud-2);}
.incticket .it-right{padding:clamp(1.8rem,3vw,2.6rem);border-left:2px dashed rgba(238,243,251,.2);position:relative;}
.incticket .it-right::before,.incticket .it-right::after{content:"";position:absolute;left:-13px;width:26px;height:26px;border-radius:50%;background:var(--page);}
.incticket .it-right::before{top:-13px;}.incticket .it-right::after{bottom:-13px;}
.incticket .iil{display:flex;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid rgba(238,243,251,.14);}
.incticket .iil:last-child{border-bottom:none;}
.incticket .iil img{width:38px;height:38px;flex:none;}
.incticket .iil b{flex:1;color:#fff;font-weight:700;font-size:.98rem;}
.incticket .iil .ck{width:22px;height:22px;border-radius:50%;background:var(--green);flex:none;display:grid;place-items:center;}
.incticket .iil .ck::after{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px);}
@media (max-width:760px){ .incticket-grid{grid-template-columns:1fr;} .incticket .it-right{border-left:none;border-top:2px dashed rgba(238,243,251,.2);} .incticket .it-right::before{left:auto;top:-13px;right:50%;}.incticket .it-right::after{left:50%;bottom:auto;top:-13px;} }

/* ---- process steps (pay/cancel explainer) ---- */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.5rem);counter-reset:ps;}
.psc{position:relative;padding-top:2.6rem;}
.psc::before{counter-increment:ps;content:counter(ps,decimal-leading-zero);position:absolute;top:0;left:0;font-family:var(--display);font-size:2.2rem;color:var(--orange);}
.psc h4{font-size:1.05rem;color:var(--ink-1);margin:0 0 .4rem;border-top:2px solid var(--ink-1);padding-top:.7rem;}
.psc p{margin:0;color:var(--ink-2);font-size:.9rem;line-height:1.5;}
@media (max-width:760px){ .process{grid-template-columns:1fr 1fr;} }
@media (max-width:440px){ .process{grid-template-columns:1fr;} }

/* ---- REVIEWS: bigger borderless platform icons ---- */
.rv-plats{gap:clamp(1.4rem,3vw,2.4rem);}
.rv-plat{background:transparent;border:none;padding:0;align-items:flex-start;gap:.8rem;}
.rv-plat:hover{transform:translateY(-3px);box-shadow:none;}
.rv-plat .lg{height:42px;}
.rv-plat .lg.tp img{height:34px;}
.rv-plat .lg.gg img{height:38px;}
.rv-plat .rt b{font-size:1.9rem;}
.rvc .src{height:22px;}.rvc .src.tp img{height:18px;}

/* ---- BLOG / JOBS ---- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,2.6vw,2rem);}
.bcard{display:flex;flex-direction:column;background:var(--page);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s;}
.bcard:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.bcard .bimg{aspect-ratio:16/10;overflow:hidden;position:relative;}
.bcard .bimg img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.bcard:hover .bimg img{transform:scale(1.06);}
.bcard .btag{position:absolute;left:14px;top:14px;background:var(--orange);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .75rem;border-radius:var(--r-pill);z-index:2;}
.bcard .btag.job{background:var(--green);}
.bcard .bbody{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1;}
.bcard .bmeta{font-size:.78rem;color:var(--ink-3);font-weight:700;letter-spacing:.04em;margin-bottom:.5rem;}
.bcard h3{font-size:1.18rem;margin:0 0 .5rem;letter-spacing:-.01em;line-height:1.25;}
.bcard p{margin:0 0 1rem;color:var(--ink-2);font-size:.92rem;line-height:1.5;flex:1;}
.bcard .bmore{font-weight:800;color:var(--navy);font-size:.88rem;display:inline-flex;align-items:center;gap:.4rem;}
/* tags BLUE */
.bcard .btag{background:var(--sky-ink);}
.bcard .btag.job{background:var(--green);}
/* author + date row */
.bauthor{display:flex;align-items:center;gap:.6rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);}
.bauthor .av{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.82rem;flex:none;overflow:hidden;}
.bauthor .av img{width:100%;height:100%;object-fit:cover;}
.bauthor .ax b{display:block;font-size:.82rem;color:var(--ink-1);line-height:1.25;font-weight:800;}
.bauthor .ax time{font-size:.74rem;color:var(--ink-3);}
/* corner arrow on every card */
.bcard .bcorner{position:absolute;right:16px;bottom:16px;width:42px;height:42px;border-radius:50%;background:var(--navy);
  display:grid;place-items:center;z-index:3;transition:background .25s var(--ease),transform .3s var(--ease);}
.bcard .bcorner svg{width:18px;height:18px;stroke:#fff;}
.bcard:hover .bcorner{background:var(--orange);transform:translate(3px,-3px);}
/* featured: BIGGER */
.bcard.feat{position:relative;display:grid;grid-template-columns:1.25fr 1fr;border:none;background:var(--ink);color:#fff;border-radius:var(--r-lg);overflow:hidden;}
.bcard.feat .bimg{aspect-ratio:auto;min-height:clamp(300px,40vw,460px);}
.bcard.feat .bbody{justify-content:center;padding:clamp(1.8rem,3.4vw,3.2rem);}
.bcard.feat .bmeta{color:var(--sky);font-size:.84rem;}
.bcard.feat h3{color:#fff;font-family:var(--display);text-transform:uppercase;font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.02;margin-bottom:.7rem;}
.bcard.feat p{color:var(--cloud-2);font-size:clamp(1rem,1.3vw,1.12rem);max-width:46ch;flex:none;}
.bcard.feat .btag{background:var(--orange);}
.bcard.feat .bauthor{border-top-color:rgba(238,243,251,.18);}
.bcard.feat .bauthor .ax b{color:#fff;}
.bcard.feat .bauthor .ax time{color:var(--cloud-2);}
.bcard.feat .bcorner{width:50px;height:50px;background:var(--orange);}
.bcard.feat .bcorner svg{width:22px;height:22px;}
@media (max-width:720px){ .bcard.feat{grid-template-columns:1fr;} .bcard.feat .bimg{min-height:240px;} }
@media (max-width:880px){ .blog-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .blog-grid{grid-template-columns:1fr;} }
/* article */
/* article byline */
.art-byline{display:flex;align-items:center;gap:.8rem;margin:0 0 1.8rem;padding-bottom:1.4rem;border-bottom:1px solid var(--line);}
.art-byline .av{width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1rem;flex:none;}
.art-byline .ax b{display:block;font-size:1rem;color:var(--ink-1);line-height:1.2;}
.art-byline .ax span{font-size:.82rem;color:var(--ink-3);font-weight:600;}
.article{max-width:760px;margin-inline:auto;}
.article .lead{font-size:1.25rem;line-height:1.6;color:var(--ink-1);margin-bottom:1.6rem;}
.article img.inline{width:100%;border-radius:var(--r-lg);margin:1.8rem 0;}
.article h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.5rem,2.6vw,2rem);color:var(--navy);margin:2.2rem 0 .8rem;}
.article p{color:var(--ink-2);line-height:1.75;margin:0 0 1.2rem;font-size:1.05rem;}
.article ul{color:var(--ink-2);line-height:1.7;padding-left:1.3rem;margin:0 0 1.2rem;}
.article blockquote{margin:1.8rem 0;padding:1.2rem 1.6rem;border-left:4px solid var(--orange);background:var(--surface);font-size:1.15rem;color:var(--ink-1);font-style:italic;border-radius:0 var(--r-md) var(--r-md) 0;}
.jobrow{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:#fff;border:2px solid var(--ink);border-radius:var(--r-md);padding:1.3rem 1.6rem;margin-bottom:1rem;transition:transform .2s var(--ease),box-shadow .2s var(--ease);}
.jobrow:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--orange);}
.jobrow .jl b{font-family:var(--display);text-transform:uppercase;font-size:1.3rem;color:var(--ink);display:block;}
.jobrow .jl span{font-size:.88rem;color:var(--ink-2);}
.jobrow .jt{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;}
.jobrow .chip2{font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--green);background:#e7f7ee;padding:.4rem .8rem;border-radius:var(--r-pill);}
@media (max-width:600px){ .jobrow{flex-direction:column;align-items:flex-start;gap:1rem;} }

/* big bold FAQ accordion */
.acc.big .acc-q{font-size:clamp(1.15rem,1.8vw,1.4rem);font-weight:800;padding:1.6rem 0;}
.acc.big .acc-a p{font-size:1.02rem;}

/* ---- FAQ tabs + icons ---- */
.faq-tabs{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-bottom:clamp(2rem,4vw,3rem);}
.faq-tab{display:inline-flex;align-items:center;gap:.55rem;background:#fff;border:1.5px solid var(--line-2);border-radius:var(--r-pill);
  padding:.7rem 1.25rem;font-family:var(--sans);font-weight:700;font-size:.92rem;color:var(--ink-2);cursor:pointer;transition:transform .2s var(--ease),border-color .2s,background .2s,color .2s;}
.faq-tab svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2;flex:none;}
.faq-tab:hover{border-color:var(--navy);color:var(--navy);transform:translateY(-2px);}
.faq-tab.on{background:var(--navy);border-color:var(--navy);color:#fff;}
.faq-panel{display:none;}
.faq-panel.on{display:block;animation:wzfade .4s var(--ease);}
.faq-phead{display:flex;align-items:center;gap:1rem;max-width:820px;margin:0 auto 1.4rem;}
.faq-phead .fi{width:auto;height:auto;border-radius:0;background:none;display:grid;place-items:center;flex:none;}
.faq-phead .fi svg{width:46px;height:46px;stroke:var(--sky-ink);fill:none;stroke-width:1.8;}
.faq-phead h2{font-family:var(--sans);font-weight:800;letter-spacing:-.018em;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1;color:var(--ink-1);}
.faq-phead h2 .bl{color:var(--sky);}
/* legal docs grid */
.legaldocs{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:820px;margin:0 auto;}
.ldoc{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:1.05rem 1.25rem;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s;}
.ldoc:hover{border-color:var(--sky);transform:translateY(-3px);box-shadow:var(--shadow-sm);}
.ldoc .di{width:46px;height:46px;border-radius:11px;background:var(--sky-soft);display:grid;place-items:center;flex:none;}
.ldoc .di svg{width:23px;height:23px;stroke:var(--sky-ink);fill:none;stroke-width:1.9;}
.ldoc .dx{flex:1;min-width:0;}
.ldoc .dx b{display:block;font-size:1rem;color:var(--ink-1);line-height:1.2;}
.ldoc .dx b a{border-bottom:1px solid transparent;transition:.2s;}
.ldoc .dx b a:hover{border-bottom-color:var(--sky);}
.ldoc .dx span{font-size:.8rem;color:var(--ink-3);}
.ldoc .dpdf{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:var(--sky-ink);border:1.5px solid var(--line-2);border-radius:var(--r-pill);padding:.4rem .7rem;white-space:nowrap;transition:.2s;}
.ldoc .dpdf:hover{border-color:var(--sky);background:var(--sky-soft);}
.ldoc .dpdf svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;}
@media (max-width:620px){ .legaldocs{grid-template-columns:1fr;} }

/* about: image mosaic */
.aboutmos{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:13vw;gap:12px;}
.aboutmos a{border-radius:var(--r-md);overflow:hidden;position:relative;}
.aboutmos img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.aboutmos a:hover img{transform:scale(1.06);}
.aboutmos .m-a{grid-column:span 2;grid-row:span 2;}
.aboutmos .m-b{grid-column:span 2;}
@media (max-width:680px){ .aboutmos{grid-template-columns:1fr 1fr;grid-auto-rows:34vw;} .aboutmos .m-a{grid-column:span 2;grid-row:span 1;} .aboutmos .m-b{grid-column:span 1;} }

/* ==========================================================
   v16 — cables polygon, redesigned safeproof
   ========================================================== */
/* ---- THE POLYGON (8 cables, reference-based) ---- */
.poly{background:var(--ink);color:#fff;position:relative;overflow:hidden;}
.poly-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,4vw,4rem);align-items:start;}
.poly-eye{display:inline-flex;align-items:center;gap:.6rem;color:var(--orange);font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:.82rem;}
.poly-eye svg{width:22px;height:18px;}
.poly h2{font-family:var(--sans);text-transform:none;font-weight:800;font-size:clamp(1.7rem,2.9vw,2.5rem);line-height:1.1;color:#fff;margin:.7rem 0 1rem;letter-spacing:-.018em;}
.poly h2 .bl{color:var(--sky);display:block;}
.poly-lede{color:var(--cloud-2);max-width:42ch;margin:0 0 1.8rem;font-size:clamp(1.05rem,1.4vw,1.18rem);}
.poly-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:2.2rem;border:none;}
.poly-stat{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;background:#15264c;
  border:1px solid rgba(120,160,220,.18);border-radius:var(--r-md);padding:1.15rem 1.25rem;}
.poly-stat:first-child{padding-left:1.25rem;}
.poly-stat.hi{background:linear-gradient(150deg,var(--orange),#e0451f);border-color:transparent;
  box-shadow:0 16px 32px -14px rgba(255,90,44,.6);}
.poly-stat .pv{font-family:var(--display);font-size:clamp(2rem,3.4vw,2.9rem);color:#fff;line-height:.88;}
.poly-stat.hi .pv{color:#fff;}
.poly-stat .pv small{font-size:.4em;color:var(--sky);margin-left:.05em;vertical-align:.15em;}
.poly-stat.hi .pv small{color:#fff;}
.poly-stat .pl{font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cloud-2);}
.poly-stat.hi .pl{color:rgba(255,255,255,.92);}
.poly-sig{display:flex;align-items:center;gap:1.3rem;border:1px solid rgba(238,243,251,.18);border-radius:var(--r-lg);padding:1.4rem 1.6rem;}
.poly-sig .star{width:60px;height:60px;border-radius:50%;border:2px solid var(--orange);display:grid;place-items:center;flex:none;}
.poly-sig .star svg{width:30px;height:30px;}
.poly-sig b{display:block;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;font-size:.92rem;margin-bottom:.3rem;}
.poly-sig p{margin:0;color:var(--cloud-2);font-size:.9rem;line-height:1.45;}
/* featured cable 01 */
.poly-right{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.8rem,1.4vw,1.1rem);}
.pfeat{grid-column:1/-1;position:relative;border:1px solid rgba(255,90,44,.5);border-radius:var(--r-lg);overflow:hidden;min-height:340px;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1.4rem,2.4vw,1.9rem);}
.pfeat .pf-bg{position:absolute;inset:0;z-index:0;}
.pfeat .pf-bg img{width:100%;height:100%;object-fit:cover;}
.pfeat .pf-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,19,48,.96) 0%,rgba(10,19,48,.74) 42%,rgba(10,19,48,.18) 100%);}
.pfeat > *{position:relative;z-index:1;}
.pfeat .pf-no{width:50px;height:50px;border-radius:50%;background:var(--orange);color:#fff;font-family:var(--display);font-size:1.4rem;display:grid;place-items:center;box-shadow:0 0 0 4px rgba(255,90,44,.25);}
.pfeat .pf-lbl{font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;font-size:.8rem;margin-top:1rem;}
.pfeat .pf-len{font-family:var(--display);font-size:clamp(3rem,6vw,4.6rem);color:var(--orange);line-height:.85;margin:.2rem 0 1rem;}
.pfeat .pf-badges{display:flex;gap:.5rem;flex-wrap:wrap;}
.pfeat .pf-badge{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(255,90,44,.55);border-radius:8px;padding:.4rem .7rem;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;}
.pfeat .pf-badge svg{width:14px;height:14px;}
.pfeat .pf-bar{margin-top:auto;display:flex;align-items:center;gap:.8rem;}
.pfeat .pf-bar .track{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden;}
.pfeat .pf-bar .fill{height:100%;width:100%;background:var(--orange);border-radius:3px;}
.pfeat .pf-bar .end{font-family:var(--display);color:var(--orange);font-size:1.1rem;}
/* small cable cards 02-08 */
.pcab{background:var(--limestone-100,#f3eee2);background:var(--surface);color:var(--ink-1);border-radius:var(--r-md);padding:1.1rem 1.2rem;display:flex;flex-direction:column;min-height:118px;}
.pcab .pc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;}
.pcab .pc-no{font-family:var(--display);background:var(--navy);color:#fff;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:1.05rem;line-height:1;box-shadow:0 0 0 3px var(--sky-soft);}
.pcab .pc-ico{color:var(--ink-3);}
.pcab .pc-ico svg{width:46px;height:30px;}
.pcab .pc-lbl{font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:.4rem;}
.pcab .pc-len{font-family:var(--display);font-size:1.7rem;color:var(--ink-1);line-height:.9;}
.pcab .pc-tag{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line-2);border-radius:7px;padding:.25rem .55rem;font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--sky-ink);margin-top:.4rem;width:fit-content;}
.pcab .pc-tag svg{width:13px;height:13px;}
.pcab .pc-bar{margin-top:auto;display:flex;align-items:center;gap:.6rem;padding-top:.7rem;}
.pcab .pc-bar .track{flex:1;height:5px;border-radius:3px;background:var(--line-2);overflow:hidden;}
.pcab .pc-bar .fill{height:100%;background:var(--sky-ink);border-radius:3px;width:0;transition:width 1s var(--ease);}
.pcab .pc-bar .end{font-size:.7rem;font-weight:700;color:var(--ink-3);}
.pcab.tall{grid-row:span 1;}
@media (max-width:980px){ .poly-grid{grid-template-columns:1fr;} }
@media (max-width:560px){ .poly-stats{grid-template-columns:1fr 1fr;} .poly-right{grid-template-columns:1fr;} }

/* ---- Cancellation: bold adrenaline 'short version' ---- */
.cxbold{position:relative;overflow:hidden;}
.cxbold-top{display:grid;grid-template-columns:1.32fr .68fr;gap:clamp(2rem,5vw,4rem);align-items:center;
  padding-bottom:clamp(2rem,4vw,3rem);margin-bottom:clamp(2rem,4vw,3rem);border-bottom:1px solid rgba(238,243,251,.16);}
.cxbold-h{font-family:var(--display);text-transform:uppercase;font-size:clamp(2.4rem,5.4vw,4.6rem);line-height:.92;color:#fff;letter-spacing:.005em;margin:.5rem 0 1.1rem;}
.cxbold-h .or{color:var(--orange);}
.cxbold-top .lede{margin-bottom:1.8rem;max-width:42ch;}
.cxbold-stat{text-align:center;border:2px solid var(--orange);border-radius:var(--r-lg);padding:clamp(1.6rem,3vw,2.4rem);background:rgba(255,90,44,.09);}
.cxbold-num{display:block;font-family:var(--display);font-size:clamp(5rem,11vw,8.5rem);color:var(--orange);line-height:.8;}
.cxbold-num small{font-size:.34em;}
.cxbold-lbl{display:block;color:var(--cloud-2);font-weight:700;font-size:.92rem;margin-top:.9rem;line-height:1.45;}
.cxbold-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.4rem);}
.cxb{background:rgba(255,255,255,.05);border:1px solid rgba(238,243,251,.14);border-radius:var(--r-lg);padding:clamp(1.4rem,2.3vw,1.85rem);transition:transform .25s var(--ease),background .25s;}
.cxb-ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;margin-bottom:1rem;}
.cxb-ic img{width:27px;height:27px;}
.cxb.ok .cxb-ic{background:rgba(52,177,106,.2);}
.cxb.warn .cxb-ic{background:rgba(242,183,5,.2);}
.cxb.sky .cxb-ic{background:rgba(35,169,225,.2);}
.cxb.no .cxb-ic{background:rgba(255,90,44,.2);}
.cxb:hover{transform:translateY(-5px);background:rgba(255,255,255,.08);}
.cxb.ok{}
.cxb.warn{border-top-color:var(--gold);}
.cxb.sky{border-top-color:var(--sky);}
.cxb.no{border-top-color:var(--orange);}
.cxb-when{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cloud-2);margin:0 0 .3rem;}
.cxb h3{font-family:var(--sans);font-weight:800;letter-spacing:-.01em;font-size:1.4rem;color:#fff;margin:0 0 .5rem;}
.cxb.ok h3{color:var(--green);}
.cxb.sky h3{color:var(--sky);}
.cxb.no h3,.cxb.warn h3{color:var(--orange);}
.cxb p{margin:0;color:var(--cloud-2);font-size:.9rem;line-height:1.5;}
@media (max-width:860px){ .cxbold-top{grid-template-columns:1fr;} .cxbold-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:480px){ .cxbold-grid{grid-template-columns:1fr;} }

/* ---- gallery: video incorporated as a grid tile ---- */
.masonry .mph-video{cursor:default;background:#000;}
.masonry .mph-video video{width:100%;display:block;}
.masonry .mph-video .vp-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;border:none;background:rgba(255,90,44,.94);cursor:pointer;display:grid;place-items:center;z-index:3;transition:transform .2s var(--ease),background .2s;box-shadow:0 10px 24px -8px rgba(255,90,44,.6);}
.masonry .mph-video .vp-play::after{content:"";border-left:17px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px;}
.masonry .mph-video .vp-play:hover{transform:translate(-50%,-50%) scale(1.09);background:var(--orange-hi);}
.masonry .mph-video .vp-badge{position:absolute;left:12px;top:12px;z-index:3;display:inline-flex;align-items:center;gap:.4rem;background:rgba(10,19,48,.72);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:.35rem .7rem;border-radius:var(--r-pill);}
.masonry .mph-video .vp-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--orange);}

/* ---- reviews: bold hero score + wall heading ---- */
.rv-score-row{display:flex;align-items:center;gap:clamp(1.5rem,4vw,3rem);flex-wrap:wrap;margin-top:1.9rem;}
.rv-bigscore{display:flex;align-items:center;gap:1rem;padding-right:clamp(1.5rem,3vw,2.4rem);border-right:1px solid rgba(238,243,251,.2);}
.rv-bigscore .n{font-family:var(--display);font-size:clamp(4rem,8vw,6rem);color:#fff;line-height:.8;}
.rv-bigscore .rv-bs-d{display:flex;flex-direction:column;gap:.35rem;}
.rv-bigscore .st{color:var(--gold);font-size:1.4rem;letter-spacing:2px;}
.rv-bigscore small{color:var(--cloud-2);font-size:.82rem;font-weight:700;}
@media (max-width:600px){ .rv-bigscore{border-right:none;padding-right:0;} }
.rv-wall-h{font-family:var(--display);text-transform:uppercase;font-size:clamp(2.4rem,5vw,4rem);line-height:.92;color:var(--ink-1);letter-spacing:.01em;margin-bottom:.6rem;}
.rv-wall-h .or{color:var(--orange);}

/* ---- contact: clean method cards ---- */
.cmethods{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);}
.cmethod{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.7rem,2.6vw,2.3rem);box-shadow:0 14px 30px -22px rgba(10,23,51,.4);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s;display:flex;flex-direction:column;}
.cmethod:hover{transform:translateY(-5px);box-shadow:0 26px 46px -26px rgba(10,23,51,.42);border-color:var(--orange);}
.cmethod .cm-ic{width:56px;height:56px;border-radius:15px;background:linear-gradient(150deg,var(--navy),var(--ink));display:grid;place-items:center;margin-bottom:1.2rem;box-shadow:0 12px 22px -12px rgba(10,23,51,.55);}
.cmethod .cm-ic img{width:28px;height:28px;filter:brightness(0) invert(1);}
.cmethod h3{font-size:1.3rem;margin:0 0 .45rem;color:var(--ink-1);letter-spacing:-.015em;}
.cmethod p{margin:0 0 1.1rem;color:var(--ink-2);font-size:.95rem;line-height:1.5;flex:1;}
.cmethod .cm-link{font-weight:800;color:var(--orange);font-size:.9rem;display:inline-flex;align-items:center;gap:.4rem;}
@media (max-width:760px){ .cmethods{grid-template-columns:1fr;} }

/* ---- location: clean 'plan your trip' cards ---- */
.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.5rem);}
.plancard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.4rem,2.4vw,1.9rem);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s;display:flex;flex-direction:column;}
.plancard:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.plancard .pc-ic{width:54px;height:54px;border-radius:14px;background:var(--sky-soft);display:grid;place-items:center;margin-bottom:1.1rem;}
.plancard .pc-ic img{width:30px;height:30px;}
.plancard h3{font-size:1.18rem;margin:0 0 .5rem;letter-spacing:-.01em;color:var(--ink-1);}
.plancard p{margin:0 0 1.1rem;color:var(--ink-2);font-size:.94rem;line-height:1.55;flex:1;}
.plancard .pc-stat{font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--sky-ink);background:var(--sky-soft);padding:.45rem .8rem;border-radius:var(--r-pill);align-self:flex-start;}
.plancard .pc-link{font-weight:800;color:var(--orange);font-size:.92rem;align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;}
@media (max-width:880px){ .plan-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .plan-grid{grid-template-columns:1fr;} }

/* ---- booking step 1 — Wireframe A layout ---- */
.wz-step1{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(1.4rem,3vw,2.4rem);align-items:start;}
.wz-cal-col .cal{padding:1.3rem;}
.wz-cal-col .cal-grid{gap:6px;}
.wz-cal-col .cal-day{font-size:1rem;}
.wz-cal-col .cal-head b{font-size:1.05rem;}
.wz-mini{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .7rem;}
.wz-urgency{display:flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;color:var(--orange);margin:.9rem 0 0;}
.wz-urgency .bolt{font-size:1rem;}
.wz-pickhint{color:var(--ink-3);font-size:.92rem;padding:1.2rem;background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--r-md);text-align:center;}
.wz-pick-col .slotgrid{grid-template-columns:1fr;gap:.55rem;margin-top:0;max-height:336px;overflow-y:auto;padding-right:.35rem;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;}
.wz-pick-col .slotgrid::-webkit-scrollbar{width:9px;}
.wz-pick-col .slotgrid::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:5px;}
.wz-pick-col .slotgrid::-webkit-scrollbar-track{background:transparent;}
.wz-pick-col .slot{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:1.05rem 1.2rem;font-family:var(--sans);width:100%;}
.wz-pick-col .slot b{font-size:1.2rem;}
.wz-pick-col .slot span{font-size:.95rem;font-weight:800;letter-spacing:.02em;display:inline-flex;align-items:center;gap:.5rem;}
.wz-pick-col .slot.av span::before,.wz-pick-col .slot.lim span::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}
@media (max-width:620px){ .wz-step1{grid-template-columns:1fr;} }

/* booking SEO intro + CRO trust strip */
.bk-seo{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--sky);border-radius:var(--r-md);padding:clamp(1.1rem,2vw,1.5rem) clamp(1.3rem,2.4vw,1.9rem);}
.bk-seo-lede{margin:0;font-size:clamp(1.02rem,1.4vw,1.16rem);line-height:1.6;color:var(--ink-1);}
.bk-seo-lede strong{color:var(--navy);font-weight:800;}
.bk-cro{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem 1.8rem;background:var(--ink);border-radius:var(--r-lg);padding:clamp(1.5rem,3vw,2.2rem) clamp(1.6rem,3vw,2.6rem);}
.bk-cro-item{display:flex;gap:.85rem;align-items:flex-start;}
.bk-cro-item .ck{width:26px;height:26px;border-radius:50%;background:var(--green);flex:none;display:grid;place-items:center;margin-top:.1rem;}
.bk-cro-item .ck::after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px);}
.bk-cro-item b{display:block;color:#fff;font-size:.98rem;}
.bk-cro-item span{color:var(--cloud-2);font-size:.84rem;line-height:1.4;}
@media (max-width:760px){ .bk-cro{grid-template-columns:1fr 1fr;} }
@media (max-width:460px){ .bk-cro{grid-template-columns:1fr;} }

/* ---- reviews: platform rating TABS ---- */
.rv-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem;margin-bottom:clamp(1.8rem,3vw,2.4rem);}
.rv-tab{display:flex;align-items:center;gap:.75rem;background:#fff;border:1.5px solid var(--line);border-bottom:3px solid var(--line);
  border-radius:var(--r-md);padding:.85rem 1rem;cursor:pointer;text-align:left;font-family:var(--sans);transition:transform .2s var(--ease),border-color .2s,box-shadow .2s;}
.rv-tab:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.rv-tab.on{border-color:var(--navy);border-bottom-color:var(--orange);box-shadow:var(--shadow-sm);}
.rv-tab .rt-ico{height:30px;display:grid;place-items:center;flex:none;}
.rv-tab .rt-ico img{height:28px;width:auto;}
.rv-tab .rt-ico.tp img{height:21px;}
.rv-tab .rt-ico.gg img{height:30px;}
.rv-tab .rt-ico.all{width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;font-size:1.05rem;}
.rv-tab .rt-meta{min-width:0;}
.rv-tab .rt-meta b{display:flex;align-items:baseline;gap:.18em;font-family:var(--display);font-size:1.25rem;color:var(--ink-1);line-height:1;}
.rv-tab .rt-meta b i{color:var(--gold);font-style:normal;font-size:.72em;}
.rv-tab .rt-meta small{display:block;font-size:.72rem;color:var(--ink-3);font-weight:700;margin-top:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (max-width:780px){ .rv-tabs{grid-template-columns:1fr 1fr;} }
@media (max-width:420px){ .rv-tabs{grid-template-columns:1fr;} }

/* ---- redesigned safeproof 'don't just take our word' ---- */
.proof2{background:var(--ink);color:#fff;position:relative;overflow:hidden;}
.proof2-top{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(1.5rem,3.5vw,3rem);align-items:center;
  padding-bottom:clamp(1.8rem,3vw,2.4rem);border-bottom:1px solid rgba(238,243,251,.14);margin-bottom:clamp(1.8rem,3vw,2.4rem);}
.proof2-score{display:flex;align-items:baseline;gap:.6rem;}
.proof2-score .big{font-family:var(--display);font-size:clamp(4rem,8vw,6.5rem);color:#fff;line-height:.8;}
.proof2-score .big .st{color:var(--gold);font-size:.32em;}
.proof2-score .sub{display:flex;flex-direction:column;}
.proof2-score .sub .s{color:var(--gold);letter-spacing:2px;}
.proof2-score .sub small{color:var(--cloud-2);font-size:.8rem;}
.proof2-top .p2-copy .label{color:var(--sky);}
.proof2-top .p2-copy h2{color:#fff;margin:.4rem 0 0;}
.proof2-top .p2-copy h2 .or{color:var(--orange);}
.proof2-badge img{height:clamp(90px,11vw,120px);width:auto;}
.proof2-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.4vw,2rem);}
.p2bar{}
.p2bar .p2-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;}
.p2bar .p2-h b{font-weight:700;color:#fff;font-size:.95rem;}
.p2bar .p2-h .v{font-family:var(--display);color:var(--orange);font-size:1.2rem;}
.p2bar .p2-track{height:8px;border-radius:4px;background:rgba(238,243,251,.16);overflow:hidden;}
.p2bar .p2-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--sky),var(--orange));width:0;transition:width 1.1s var(--ease);}
.proof2-logos{display:flex;align-items:center;gap:clamp(1.4rem,3.5vw,3rem);flex-wrap:wrap;margin-top:clamp(1.8rem,3vw,2.4rem);padding-top:clamp(1.6rem,2.6vw,2rem);border-top:1px solid rgba(238,243,251,.14);}
.proof2-logos img{height:34px;width:auto;}
.proof2-logos img.tp{height:26px;}
@media (max-width:860px){ .proof2-top{grid-template-columns:1fr;text-align:left;} .proof2-bars{grid-template-columns:1fr;} }

/* ---- Cancellation 'made fair' (redesigned) ---- */
.cxf-head{display:grid;grid-template-columns:1fr auto;gap:clamp(1.5rem,4vw,3rem);align-items:center;
  padding-bottom:clamp(1.6rem,3vw,2.2rem);margin-bottom:clamp(1.6rem,3vw,2.2rem);border-bottom:1px solid var(--line);}
.cxf-head .h2 .bl{color:var(--sky);}
.cxf-hero{display:flex;align-items:center;gap:1rem;background:var(--ink);color:#fff;border-radius:var(--r-lg);
  padding:1.1rem 1.6rem;box-shadow:0 16px 36px -20px rgba(16,28,72,.5);}
.cxf-hero .n{font-family:var(--display);font-size:clamp(2.8rem,5vw,3.8rem);color:var(--orange);line-height:.85;}
.cxf-hero .t{font-weight:800;font-size:1rem;line-height:1.15;}
.cxf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.4rem);}
.cxf-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.4rem,2.2vw,1.9rem);
  border-top:4px solid var(--ink-3);transition:transform .25s var(--ease),box-shadow .25s var(--ease);}
.cxf-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px -20px rgba(16,28,72,.4);}
.cxf-card.ok{border-top-color:var(--sky);}
.cxf-card.warn{border-top-color:var(--orange);}
.cxf-card .cxf-ic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--cloud);border:1px solid var(--line);margin-bottom:1rem;}
.cxf-card .cxf-ic img{width:26px;height:26px;}
.cxf-card .cxf-when{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);}
.cxf-card b{display:block;font-family:var(--display);text-transform:uppercase;font-size:1.5rem;color:var(--ink-1);margin:.3rem 0 .5rem;letter-spacing:.01em;}
.cxf-card.ok b{color:var(--sky-ink);}
.cxf-card.warn b{color:var(--orange-hi);}
.cxf-card p{margin:0;color:var(--ink-2);font-size:.92rem;line-height:1.5;}
.cxf-foot{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-top:clamp(1.4rem,2.6vw,2rem);}
.cxf-weather{display:flex;align-items:center;gap:.9rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:1rem 1.3rem;flex:1;min-width:280px;}
.cxf-weather img{width:30px;height:30px;flex:none;}
.cxf-weather p{margin:0;font-size:.92rem;color:var(--ink-2);}
.cxf-weather b{color:var(--ink-1);}
@media (max-width:860px){ .cxf-head{grid-template-columns:1fr;} .cxf-grid{grid-template-columns:1fr;} }

/* ============================================================
   ARTICLE v2 — editorial layout + KAZALO (table of contents)
   ------------------------------------------------------------
   UI CALCULATIONS baked into this block:
   · 8-POINT GRID — every gap / pad / margin is a multiple of 8
     (--s1=8 … --s8=64). Visual rhythm, predictable responsive math.
   · GOLDEN RATIO (φ = 1.618) — body 19px → lead 19×1.618≈30px,
     section h2 ≈ body×1.618² scaled, mono labels = body÷1.618.
   · LINE HEIGHT — body 1.62 (within the 1.2–1.5×+ readable band,
     erring long for narrow-measure prose at ~68ch).
   · TOUCH TARGETS — every TOC row, share button and pager link is
     ≥ 48px tall with ≥ 8px separation (ergonomic minimum).
   · NESTED RADIUS — Outer Radius = Inner Radius + Padding.
     --pad-card = 24, --r-in = 12  ⇒  --r-out = 36 (concentric corners).
   · 60-30-10 COLOUR — 60% page white, 30% --surface panels,
     10% --orange / --sky accents (TOC marker, progress bar, links).
   ============================================================ */
:root{
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s6:48px; --s8:64px;
  --pad-card:24px;            /* inner padding              */
  --r-in:12px;               /* inner element radius        */
  --r-out:calc(var(--r-in) + var(--pad-card));  /* = 36px → concentric */
  --measure:68ch;            /* optimal reading measure     */
}

/* reading-progress bar (10% accent) */
.readbar{position:fixed;left:0;top:0;height:3px;width:0;background:var(--orange);z-index:1200;
  transition:width .12s linear;will-change:width;}

/* article hero meta strip */
.phero .art-meta{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s4);
  padding-top:var(--s3);border-top:1px solid rgba(238,243,251,.2);}
.phero .art-meta .am-author{display:flex;align-items:center;gap:.7rem;}
.phero .art-meta .am-av{width:48px;height:48px;border-radius:50%;background:var(--sky);color:#fff;
  display:grid;place-items:center;font-weight:800;font-size:1rem;flex:none;font-family:var(--sans);}
.phero .art-meta .am-author b{display:block;color:#fff;font-size:.96rem;line-height:1.2;}
.phero .art-meta .am-author span{font-size:.82rem;color:var(--cloud-2);font-weight:600;}
.phero .art-meta .am-dot{width:5px;height:5px;border-radius:50%;background:rgba(238,243,251,.35);}
.phero .art-meta .am-fact{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;
  color:var(--cloud);font-weight:600;}
.phero .art-meta .am-fact svg{width:17px;height:17px;stroke:var(--sky);fill:none;stroke-width:2;flex:none;}

/* two-column editorial shell */
.artwrap{max-width:1280px;margin-inline:auto;padding-inline:var(--gutter);
  display:grid;grid-template-columns:264px minmax(0,1fr);gap:clamp(2.5rem,5.5vw,6rem);align-items:start;}
.art2{max-width:76ch;}
.art2 .lead{font-size:clamp(1.2rem,1.5vw,1.34rem);line-height:1.55;color:var(--ink-1);
  font-weight:500;margin:0 0 var(--s4);}      /* lead = body × φ */
.art2 p{color:var(--ink-2);line-height:1.72;margin:0 0 var(--s3);font-size:1.06rem;text-wrap:pretty;}
.art2 h2{font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;
  font-size:clamp(1.6rem,2.8vw,2.15rem);color:var(--navy);line-height:1.04;
  margin:var(--s8) 0 var(--s2);scroll-margin-top:96px;}
.art2 h2:first-child{margin-top:0;}
.art2 h3{font-family:var(--sans);font-weight:800;font-size:1.18rem;color:var(--ink-1);
  margin:var(--s4) 0 var(--s2);scroll-margin-top:96px;letter-spacing:-.01em;}
.art2 ul,.art2 ol{color:var(--ink-2);line-height:1.7;padding-left:1.3rem;margin:0 0 var(--s3);}
.art2 li{margin-bottom:.5rem;}
.art2 li::marker{color:var(--sky);font-weight:700;}
.art2 a:not(.btn){color:var(--sky-ink);font-weight:600;border-bottom:1px solid var(--line-2);
  transition:border-color .2s;}
.art2 a:not(.btn):hover{border-color:var(--sky-ink);}
.art2 figure{margin:var(--s6) 0;}
.art2 img.inline{width:100%;border-radius:var(--r-md);margin:0;}
.art2 figcaption{font-family:var(--mono);font-size:.78rem;color:var(--ink-3);margin-top:.7rem;
  padding-left:.9rem;border-left:2px solid var(--line-2);}
.art2 blockquote{margin:var(--s6) 0;padding:var(--s3) var(--s4);border-left:4px solid var(--orange);
  background:var(--surface);font-size:1.22rem;line-height:1.5;color:var(--ink-1);
  border-radius:0 var(--r-md) var(--r-md) 0;}
.art2 blockquote cite{display:block;margin-top:.8rem;font-size:.92rem;font-style:normal;
  font-weight:700;color:var(--ink-2);}
.art2 blockquote cite::before{content:"— ";}

/* KEY-FACTS card — nested radius demo (outer 36 = inner 12 + pad 24) */
.keyfacts{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-out);
  padding:var(--pad-card);margin:0 0 var(--s6);}
.keyfacts .kf-h{font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sky-ink);margin:0 0 var(--s2);}
.keyfacts .kf-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s1);}
.keyfacts .kf{display:flex;align-items:center;gap:.7rem;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-in);padding:.7rem .9rem;}
.keyfacts .kf svg{width:20px;height:20px;stroke:var(--navy);fill:none;stroke-width:2;flex:none;}
.keyfacts .kf b{display:block;font-size:.95rem;color:var(--ink-1);line-height:1.15;}
.keyfacts .kf span{font-size:.76rem;color:var(--ink-3);}
@media (max-width:520px){ .keyfacts .kf-grid{grid-template-columns:1fr;} }

/* ---------- KAZALO (sticky table of contents) ---------- */
.kazalo{position:sticky;top:96px;align-self:start;}
.kazalo .kz-h{font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-3);margin:0 0 var(--s2);padding-left:var(--s2);}
.kazalo ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line);}
.kazalo li{margin:0;}
.kazalo a{display:flex;align-items:center;min-height:48px;padding:.5rem 0 .5rem var(--s2);
  margin-left:-2px;border-left:2px solid transparent;
  font-size:.92rem;font-weight:600;color:var(--ink-3);line-height:1.3;
  transition:color .2s,border-color .2s;}
.kazalo a:hover{color:var(--navy);}
.kazalo a.on{color:var(--navy);border-left-color:var(--orange);}
.kazalo .kz-share{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line);}
.kazalo .kz-share .kz-lbl{font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3);margin:0 0 .7rem;}
.kz-btns{display:flex;gap:var(--s1);flex-wrap:wrap;}
.kz-btns button{width:48px;height:48px;border-radius:var(--r-in);border:1px solid var(--line-2);
  background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink-2);
  transition:background .2s,color .2s,border-color .2s,transform .2s;}
.kz-btns button:hover{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-2px);}
.kz-btns button svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;}
.kz-btns button.copied{background:var(--green);border-color:var(--green);color:#fff;}

/* author bio — nested radius (outer 36 = inner 12 + 24 pad) */
.authorbox{display:flex;gap:var(--s3);align-items:flex-start;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-out);padding:var(--pad-card);margin:var(--s8) 0 0;}
.authorbox .ab-av{width:72px;height:72px;border-radius:var(--r-in);background:var(--navy);color:#fff;
  display:grid;place-items:center;font-family:var(--display);font-size:1.6rem;flex:none;}
.authorbox .ab-x b{font-size:1.05rem;color:var(--ink-1);}
.authorbox .ab-role{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--sky-ink);margin:.2rem 0 .6rem;}
.authorbox .ab-x p{font-size:.95rem;color:var(--ink-2);line-height:1.6;margin:0;}

/* article-end FAQ */
.art-faq{margin:var(--s8) 0 0;}
.art-faq .af-h{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.5rem,2.6vw,2rem);
  color:var(--navy);margin:0 0 var(--s3);}
.afq{border:1px solid var(--line);border-radius:var(--r-in);background:#fff;margin-bottom:var(--s1);
  overflow:hidden;}
.afq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:1rem;min-height:48px;padding:1rem var(--pad-card);font-weight:700;color:var(--ink-1);font-size:1.02rem;}
.afq summary::-webkit-details-marker{display:none;}
.afq summary .afq-ic{width:22px;height:22px;flex:none;position:relative;}
.afq summary .afq-ic::before,.afq summary .afq-ic::after{content:"";position:absolute;background:var(--sky-ink);
  border-radius:2px;transition:transform .25s var(--ease);}
.afq summary .afq-ic::before{left:0;right:0;top:10px;height:2px;}
.afq summary .afq-ic::after{top:0;bottom:0;left:10px;width:2px;}
.afq[open] summary .afq-ic::after{transform:scaleY(0);}
.afq .afq-a{padding:0 var(--pad-card) var(--s3);color:var(--ink-2);line-height:1.7;font-size:1rem;}

/* article pager / next-prev */
.art-pager{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);margin:var(--s8) 0 0;}
.art-pager a{min-height:48px;display:flex;flex-direction:column;justify-content:center;gap:.25rem;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-in);padding:var(--s2) var(--s3);
  transition:border-color .2s,transform .2s,box-shadow .2s;}
.art-pager a:hover{border-color:var(--navy);transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.art-pager .ap-dir{font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-3);}
.art-pager .ap-t{font-weight:700;color:var(--ink-1);font-size:.96rem;line-height:1.25;}
.art-pager a.next{text-align:right;align-items:flex-end;}

/* responsive: collapse kazalo above the article */
@media (max-width:900px){
  .artwrap{grid-template-columns:1fr;gap:var(--s4);}
  .kazalo{position:static;top:auto;background:var(--surface);border:1px solid var(--line);
    border-radius:var(--r-md);padding:var(--s3);}
  .kazalo .kz-h{padding-left:0;}
  .kazalo ol{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;border-left:none;}
  .kazalo a{min-height:44px;padding:.4rem 0;border-left:none;border-bottom:2px solid transparent;}
  .kazalo a.on{border-left:none;border-bottom-color:var(--orange);}
  .kazalo .kz-share{display:flex;align-items:center;gap:var(--s3);margin-top:var(--s3);}
  .kazalo .kz-share .kz-lbl{margin:0;}
  .art-pager{grid-template-columns:1fr;}
}

/* ============================================================
   ANGLED SECTION EDGES — a single straight seam set at a slight
   angle (not a flat horizontal rule). A pseudo-element wedge,
   coloured like its own section, overlaps upward into the
   section above so the boundary reads as one clean diagonal.
   ============================================================ */
.slant-top{position:relative;}
.slant-top::before{
  content:"";position:absolute;left:0;right:0;top:calc(-1 * var(--slant,52px));
  height:var(--slant,52px);z-index:2;background:var(--edge,var(--surface));pointer-events:none;
  clip-path:polygon(0 0, 0 100%, 100% 100%);          /* higher on the LEFT  */
}
/* opposite lean so adjacent seams aren't parallel */
.slant-top.alt::before{
  clip-path:polygon(100% 0, 100% 100%, 0 100%);        /* higher on the RIGHT */
}
@media (max-width:600px){
  .slant-top::before{--slant:30px;}
}

/* ---- ANGLED FULL-BAND SEAMS (reusable) --------------------
   Same technique as the homepage stat band: clip the band's
   own top edge to a diagonal and pull it up with a matching
   negative margin so the slope reveals the section behind.
   Use on bands that carry their own background colour.
   --seam controls steepness; .seam-r leans high-right,
   .seam-l leans high-left — alternate them down a page so no
   two adjacent seams are parallel.                            */
.seam-r{clip-path:polygon(0 var(--seam,2.2vw),100% 0,100% 100%,0 100%);
  margin-top:calc(-1 * var(--seam,2.2vw));}
.seam-l{clip-path:polygon(0 0,100% var(--seam,2.2vw),100% 100%,0 100%);
  margin-top:calc(-1 * var(--seam,2.2vw));}
@media (max-width:600px){
  .seam-r,.seam-l{--seam:14px;}
}
