/* ============================================================
   ZIPLINE OMIŠ — REVAMP LAYER
   Loaded AFTER home.css + pages.css. Holds redesigns, fixes,
   typographic standardisation, responsive tuning and
   scroll-animation utilities introduced in the 2026 refresh.
   ============================================================ */

/* 0. token fixes -------------------------------------------------- */
:root{ --r-pill:999px; }

/* ------------------------------------------------------------
   1. SCROLL / REVEAL ANIMATION UTILITIES (subtle + tasteful)
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: no-preference){
  .rv-up,.rv-fade,.rv-left,.rv-right,.rv-scale{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease);will-change:opacity,transform;}
  .rv-up{transform:translateY(26px);}
  .rv-left{transform:translateX(-26px);}
  .rv-right{transform:translateX(26px);}
  .rv-scale{transform:scale(.965);}
  .rv-up.in,.rv-fade.in,.rv-left.in,.rv-right.in,.rv-scale.in{opacity:1;transform:none;}
  /* staggered children */
  .rv-stagger > *{opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
  .rv-stagger.in > *{opacity:1;transform:none;}
  .rv-stagger.in > *:nth-child(1){transition-delay:.04s;}
  .rv-stagger.in > *:nth-child(2){transition-delay:.10s;}
  .rv-stagger.in > *:nth-child(3){transition-delay:.16s;}
  .rv-stagger.in > *:nth-child(4){transition-delay:.22s;}
  .rv-stagger.in > *:nth-child(5){transition-delay:.28s;}
  .rv-stagger.in > *:nth-child(6){transition-delay:.34s;}
}

/* ------------------------------------------------------------
   2. BOOK PAGE — "Why book direct" green-icon trust band
   ------------------------------------------------------------ */
.bk-cro-sect .bk-cro-head{max-width:46ch;margin:0 0 clamp(1.4rem,2.6vw,2rem);}
.bk-cro-sect .bk-cro-head .label{color:var(--sky);margin-bottom:.6rem;}
.bk-cro-sect .bk-cro-head h2{font-family:var(--sans);font-weight:800;letter-spacing:-.018em;
  font-size:clamp(1.55rem,2.6vw,2.2rem);line-height:1.08;color:#fff;}
.bk-cro-sect .bk-cro-head h2 .bl{color:var(--sky);}

.bk-cro{position:relative;gap:0 !important;padding:clamp(.6rem,1.4vw,1rem) !important;
  background:linear-gradient(165deg,var(--navy-2),var(--ink)) !important;box-shadow:var(--shadow-md);overflow:hidden;}
.bk-cro::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;
  background:linear-gradient(90deg,var(--green),var(--sky));opacity:.9;}
.bk-cro-item{align-items:center !important;gap:1rem !important;
  padding:clamp(1rem,1.8vw,1.35rem) clamp(1rem,1.8vw,1.4rem);border-radius:var(--r-md);
  transition:background .25s var(--ease),transform .25s var(--ease);}
.bk-cro-item:hover{background:rgba(255,255,255,.045);transform:translateY(-2px);}
.bk-cro-item .ck{width:34px !important;height:34px !important;
  box-shadow:0 0 0 5px rgba(52,177,106,.16);}
.bk-cro-item .ck::after{width:11px !important;height:6px !important;}
.bk-cro-item b{font-size:1.04rem !important;letter-spacing:-.005em;margin-bottom:.12rem;}
.bk-cro-item span{font-size:.86rem !important;color:var(--cloud-3) !important;}
@media (min-width:761px){
  .bk-cro-item:nth-child(3n+2){border-left:1px solid rgba(255,255,255,.07);border-right:1px solid rgba(255,255,255,.07);}
}

/* ------------------------------------------------------------
   3. PRICING — flexible booking cards (no icons, tile-as-title)
   ------------------------------------------------------------ */
.cxf-card{display:flex;flex-direction:column;}
.cxf-card .cxf-ic{display:none !important;}
.cxf-card .cxf-when{order:1;font-family:var(--sans);font-weight:800;letter-spacing:-.01em;
  text-transform:none;font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.05;color:var(--ink-1);
  margin-bottom:.7rem;padding-bottom:.7rem;border-bottom:1px solid var(--line);}
.cxf-card.ok .cxf-when{color:var(--sky-ink);}
.cxf-card.warn .cxf-when{color:var(--orange-hi);}
.cxf-card b{order:2;font-family:var(--sans) !important;text-transform:none !important;
  font-size:1.02rem !important;font-weight:800 !important;letter-spacing:-.005em !important;
  color:var(--ink-1) !important;margin:0 0 .5rem !important;}
.cxf-card.ok b{color:var(--sky-ink) !important;}
.cxf-card.warn b{color:var(--orange-hi) !important;}
.cxf-card.no b{color:var(--ink-1) !important;}
.cxf-card p{order:3;}

/* weather-on-us — make it pop */
.cxf-foot{align-items:stretch;}
.cxf-weather{gap:1.1rem !important;align-items:center !important;
  background:linear-gradient(135deg,var(--sky-soft),#fff) !important;
  border:1px solid #cfe7f6 !important;border-left:5px solid var(--sky) !important;
  padding:1.15rem 1.4rem !important;box-shadow:var(--shadow-sm);}
.cxf-weather .wx-ic{width:48px;height:48px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:#fff;box-shadow:0 6px 16px -8px rgba(35,169,225,.6);}
.cxf-weather .wx-ic img{width:28px;height:28px;}
.cxf-weather p{font-size:1rem !important;color:var(--ink-1) !important;line-height:1.45;}
.cxf-weather p b{color:var(--sky-ink);}

/* ------------------------------------------------------------
   11. GLOBAL — responsive tuning + type rhythm standardisation
   ------------------------------------------------------------ */
/* consistent hero sub + section heads across all pages */
.psub{font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.55;}
.how-head .lede{margin-top:.7rem;}

/* programme polygon: collapse cleanly on tablet/mobile */
@media (max-width:900px){
  .poly-grid{grid-template-columns:1fr;gap:clamp(1.6rem,4vw,2.4rem);}
}
@media (max-width:520px){
  .poly-right{grid-template-columns:1fr;}
  .poly-stats{gap:.6rem;}
}

/* tablet: 6-up group cards become 2-up already handled; tighten heros */
@media (max-width:760px){
  .phero-meta{gap:.6rem 1rem;}
  .findx-grid{grid-template-columns:1fr!important;}
}

/* guard against horizontal overflow introduced by wide media */
main{overflow-x:clip;}
.pfeat,.incticket,.prx-route,.prx-map{min-width:0;}

/* reduced-motion: stop the marquee + polygon pulse, show content */
@media (prefers-reduced-motion:reduce){
  [data-parallax]{transform:none!important;}
}

/* ------------------------------------------------------------
   10. GROUPS & PRIVATE — full rebuild components
   ------------------------------------------------------------ */
.grp-chips{display:flex;flex-wrap:wrap;gap:.6rem;}
.grp-chip{font-size:.86rem;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-pill);padding:.5rem .95rem;}
.grp-chip b{color:var(--ink-1);font-weight:800;}

.grp-types{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);}
.grp-card{background:var(--page);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.grp-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.grp-card .gc-img{aspect-ratio:16/10;overflow:hidden;position:relative;}
.grp-card .gc-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.grp-card:hover .gc-img img{transform:scale(1.06);}
.grp-card .gc-tag{position:absolute;left:12px;top:12px;background:rgba(10,19,48,.8);color:#fff;font-size:.66rem;
  font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.34rem .65rem;border-radius:var(--r-pill);}
.grp-card .gc-body{padding:clamp(1.2rem,2.2vw,1.6rem);display:flex;flex-direction:column;flex:1;}
.grp-card .gc-body h3{font-size:1.2rem;margin:0 0 .45rem;color:var(--ink-1);letter-spacing:-.01em;}
.grp-card .gc-body p{margin:0 0 1.1rem;color:var(--ink-2);font-size:.94rem;line-height:1.55;flex:1;}
.grp-card .gc-price{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--sky-ink);
  background:var(--sky-soft);padding:.45rem .8rem;border-radius:var(--r-pill);align-self:flex-start;}
@media (max-width:880px){ .grp-types{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .grp-types{grid-template-columns:1fr;} }

/* group testimonial */
.grp-quote-wrap{max-width:920px;}
.grp-quote{position:relative;overflow:hidden;background:var(--ink);border:none;border-radius:var(--r-lg);
  padding:clamp(2.2rem,4.4vw,3.6rem);box-shadow:0 30px 64px -32px rgba(10,23,51,.72);color:#fff;}
.grp-quote::after{content:"";position:absolute;left:0;bottom:0;width:46%;height:5px;background:var(--orange);}
.grp-quote .gq-mark{position:absolute;top:clamp(.2rem,2vw,.8rem);right:clamp(1.4rem,3.4vw,2.6rem);left:auto;
  font-family:var(--display);font-size:clamp(7rem,17vw,13rem);line-height:1;color:var(--orange);opacity:.16;z-index:0;}
.grp-quote .gq-text{position:relative;z-index:1;margin:0 0 1.8rem;font-size:clamp(1.3rem,2.5vw,1.95rem);
  line-height:1.4;color:#fff;font-weight:600;letter-spacing:-.015em;}
.grp-quote .gq-text strong{color:var(--sky);font-weight:800;}
.grp-quote .gq-by{display:flex;align-items:center;gap:.95rem;position:relative;z-index:1;padding-top:1.5rem;border-top:1px solid rgba(120,160,220,.2);}
.grp-quote .gq-by .av{width:50px;height:50px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-family:var(--display);font-size:1.5rem;flex:none;}
.grp-quote .gq-by b{display:block;font-size:1rem;color:#fff;}
.grp-quote .gq-by span{font-size:.84rem;color:var(--cloud-2);}
.grp-quote .gq-by .s{margin-left:auto;color:var(--gold);letter-spacing:1px;font-size:1.05rem;}
@media (max-width:560px){ .grp-quote .gq-by .s{margin-left:0;flex-basis:100%;} }

/* proper contact methods */
.grp-contact{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.9rem,1.8vw,1.3rem);}
.grp-method{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.4rem,2.4vw,1.8rem);box-shadow:0 14px 30px -22px rgba(10,23,51,.4);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s;}
.grp-method:hover{transform:translateY(-5px);box-shadow:0 26px 46px -26px rgba(10,23,51,.42);border-color:var(--orange);}
.grp-method .gm-ic{width:54px;height:54px;border-radius:15px;background:linear-gradient(150deg,var(--navy),var(--ink));display:grid;place-items:center;margin-bottom:1.05rem;box-shadow:0 12px 22px -12px rgba(10,23,51,.55);}
.grp-method .gm-ic img{width:28px;height:28px;filter:brightness(0) invert(1);}
.grp-method b{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--orange);margin-bottom:.45rem;}
.grp-method a,.grp-method > span{color:var(--ink-1);font-weight:800;font-size:1.02rem;line-height:1.35;display:block;word-break:break-word;letter-spacing:-.01em;}
.grp-method a:hover{color:var(--sky-ink);}
.grp-method small{display:block;color:var(--ink-2);font-size:.84rem;font-weight:500;margin-top:.3rem;}
@media (max-width:880px){ .grp-contact{grid-template-columns:1fr 1fr;} }
@media (max-width:480px){ .grp-contact{grid-template-columns:1fr;} }

/* ------------------------------------------------------------
   9. ABOUT — team cards: experience badge + hover bio
   ------------------------------------------------------------ */
.tm::after{background:linear-gradient(180deg,transparent 36%,rgba(10,19,48,.9))!important;}
.tm .tm-exp{position:absolute;left:14px;top:14px;z-index:2;background:rgba(255,90,44,.95);color:#fff;
  font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.32rem .62rem;
  border-radius:var(--r-pill);box-shadow:0 6px 14px -6px rgba(255,90,44,.6);}
.tm .nm .tm-bio{display:block;font-size:.78rem;color:var(--cloud-2);line-height:1.42;
  max-height:0;opacity:0;overflow:hidden;transition:max-height .45s var(--ease),opacity .35s var(--ease),margin .4s var(--ease);}
.tm:hover .nm .tm-bio{max-height:6rem;opacity:1;margin-top:.45rem;}
@media (prefers-reduced-motion:reduce){.tm .nm .tm-bio{max-height:6rem;opacity:1;margin-top:.45rem;}}

/* ------------------------------------------------------------
   8. LOCATION — two-stops private transfers + plan-trip cards
   ------------------------------------------------------------ */
/* group-transfers — bold dark travel card (solid fills, no gradient/left-accent trope) */
.loc-transfer{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;align-items:start;
  gap:clamp(1.3rem,2.6vw,2rem);margin-top:1.4rem;background:var(--ink);border:none;border-radius:var(--r-lg);
  padding:clamp(1.8rem,3vw,2.6rem);box-shadow:0 26px 54px -30px rgba(10,23,51,.7);color:#fff;}
.loc-transfer::after{content:"";position:absolute;top:-30%;right:-6%;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,90,44,.22),transparent 68%);pointer-events:none;}
.loc-transfer .lt-ic{position:relative;z-index:1;width:66px;height:66px;border-radius:18px;background:var(--orange);
  display:grid;place-items:center;flex:none;box-shadow:0 16px 30px -12px rgba(255,90,44,.6);}
.loc-transfer .lt-ic img{width:34px;height:34px;filter:brightness(0) invert(1);}
.loc-transfer .lt-body{position:relative;z-index:1;}
.loc-transfer .tag{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);}
.loc-transfer h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(1.8rem,3.2vw,2.6rem);
  line-height:.92;margin:.5rem 0 .7rem;color:#fff;letter-spacing:.012em;}
.loc-transfer p{margin:0 0 1.3rem;color:var(--cloud-2);font-size:1.04rem;line-height:1.5;max-width:52ch;}
.loc-transfer .lt-chips{display:flex;flex-wrap:wrap;gap:.7rem;}
.loc-transfer .lt-chip{font-size:.92rem;color:var(--cloud-2);background:#15264c;border:1px solid rgba(120,160,220,.18);
  border-radius:var(--r-pill);padding:.55rem 1.05rem;}
.loc-transfer .lt-chip b{color:var(--orange);font-weight:800;}
@media (max-width:560px){ .loc-transfer{grid-template-columns:1fr;gap:1rem;} }

/* plan-trip cards — gentle gradient + embedded content */
.plancard.pc-grad{position:relative;overflow:hidden;}
.plancard.pc-grad .pc-stat,.plancard.pc-grad .pc-link{margin-top:auto;}
.plancard.pc-1{background:linear-gradient(165deg,#e9f4fb,#fff 58%);}
.plancard.pc-2{background:linear-gradient(165deg,#e8f5ee,#fff 58%);}
.plancard.pc-3{background:linear-gradient(165deg,#fdf3e1,#fff 58%);}
.plancard.pc-4{background:linear-gradient(165deg,#ebeefb,#fff 58%);}
.plancard.pc-2 .pc-ic{background:#d8efe1;}
.plancard.pc-3 .pc-ic{background:#fbe7c4;}
.plancard.pc-4 .pc-ic{background:#dfe4f7;}

.pc-minimap{position:relative;border-radius:var(--r-sm);overflow:hidden;margin:0 0 1.1rem;border:1px solid var(--line);}
.pc-minimap img{width:100%;height:118px;object-fit:cover;display:block;transition:transform .8s var(--ease);}
.plancard:hover .pc-minimap img{transform:scale(1.05);}
.pc-minimap-tag{position:absolute;left:8px;bottom:8px;background:rgba(10,19,48,.76);color:#fff;font-size:.64rem;
  font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.3rem .55rem;border-radius:var(--r-pill);}

/* static styled parking map (no external dependency) */
.pc-staticmap{position:relative;height:118px;border-radius:var(--r-sm);overflow:hidden;margin:0 0 1.1rem;
  border:1px solid var(--line);background:linear-gradient(135deg,#e7efe6,#dde8f0);}
.pc-staticmap::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.6) 1.5px,transparent 1.5px),linear-gradient(90deg,rgba(255,255,255,.6) 1.5px,transparent 1.5px);
  background-size:24px 24px;opacity:.6;}
.pc-staticmap .sm-river{position:absolute;left:-6%;bottom:12px;width:112%;height:13px;background:rgba(35,169,225,.42);border-radius:8px;transform:rotate(-6deg);}
.pc-staticmap .sm-dash{position:absolute;left:42px;top:48px;width:96px;height:2px;
  background:repeating-linear-gradient(90deg,var(--ink-3) 0 5px,transparent 5px 10px);transform:rotate(24deg);}
.pc-staticmap .sm-pin{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:.32rem;background:#fff;
  border-radius:var(--r-pill);padding:.22rem .55rem .22rem .22rem;box-shadow:0 5px 13px -4px rgba(10,19,48,.4);
  font-size:.64rem;font-weight:800;color:var(--ink-1);}
.pc-staticmap .sm-pin b{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:.62rem;}
.pc-staticmap .sm-pin.park{left:12px;top:24px;}
.pc-staticmap .sm-pin.park b{background:var(--orange);}
.pc-staticmap .sm-pin.office{right:12px;bottom:24px;}
.pc-staticmap .sm-pin.office b{background:var(--navy);}

/* timeslot chips */
.pc-slots{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.1rem;}
.pc-slots span{font-size:.78rem;font-weight:700;color:var(--ink-1);background:#fff;border:1px solid var(--line-2);
  border-radius:var(--r-sm);padding:.36rem .6rem;}
.pc-slots-live span{position:relative;padding-left:1.45rem;}
.pc-slots-live span::before{content:"";position:absolute;left:.58rem;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;}
.pc-slots-live span.ok::before{background:var(--green);}
.pc-slots-live span.lim::before{background:var(--gold);}
.pc-slots-live span.soon::before{background:var(--sky);}

/* ------------------------------------------------------------
   7. REVIEWS — "In their words" compact head + animated marquee
   ------------------------------------------------------------ */
.rv-wall-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1rem,3vw,3rem);
  align-items:end;margin-bottom:clamp(1.8rem,3.4vw,2.8rem);}
.rv-wall-head .rv-wall-h{margin-bottom:0;}
.rv-wall-head .lede{padding-bottom:.4rem;}
@media (max-width:780px){ .rv-wall-head{grid-template-columns:1fr;align-items:start;} }

.rv-marquee{display:flex;flex-direction:column;gap:clamp(.9rem,1.6vw,1.3rem);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.rv-row{overflow:hidden;}
.rv-track{display:flex;gap:clamp(.9rem,1.6vw,1.3rem);width:max-content;align-items:stretch;animation:rvScroll 60s linear infinite;}
.rv-row.rev .rv-track{animation-direction:reverse;}
.rv-marquee:hover .rv-track{animation-play-state:paused;}
@keyframes rvScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.rv-track > .rvc{flex:0 0 clamp(270px,26vw,340px);margin:0;display:flex;flex-direction:column;}
.rv-track > .rvc p{flex:1;}
.rv-track > .rvc .by{margin-top:auto;}
@media (prefers-reduced-motion:reduce){
  .rv-track{animation:none;flex-wrap:wrap;width:auto;}
  .rv-track > .rvc:nth-child(n+9){display:none;}
}
/* video review card */
.rvc-video{padding:0!important;overflow:hidden;}
.rvc-video .rvv-media{position:relative;aspect-ratio:4/3;overflow:hidden;}
.rvc-video .rvv-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.rvc-video:hover .rvv-media img{transform:scale(1.06);}
.rvc-video .rvv-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,19,48,.05),rgba(10,19,48,.78));}
.rvc-video .rvv-play{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;
  background:rgba(255,90,44,.95);box-shadow:0 10px 26px -8px rgba(255,90,44,.7);z-index:2;transition:transform .3s var(--ease),background .25s;}
.rvc-video .rvv-play::after{content:"";position:absolute;left:53%;top:50%;transform:translate(-50%,-50%);
  border-left:15px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent;}
.rvc-video:hover .rvv-play{transform:translate(-50%,-50%) scale(1.08);background:var(--orange-hi);}
.rvc-video .rvv-badge{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:.4rem;
  background:rgba(10,19,48,.74);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  padding:.34rem .6rem;border-radius:var(--r-pill);}
.rvc-video .rvv-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--orange);}
.rvc-video .rvv-quote{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;color:#fff;font-size:.94rem;
  font-weight:600;line-height:1.4;text-shadow:0 2px 10px rgba(0,0,0,.5);}
.rvc-video .by{padding:1rem 1.2rem;}
.rvc-video .by .src{height:18px;margin-left:auto;}
.rvc-video .by .src img{height:100%;width:auto;}
.rvc-video .by .src.tp img{height:15px;}

/* ------------------------------------------------------------
   6. GALLERY — "Seen enough?" CTA folded in as a wall tile
   ------------------------------------------------------------ */
.masonry .mph-cta{break-inside:avoid;margin-bottom:14px;border-radius:var(--r-md);overflow:hidden;
  position:relative;display:block;min-height:300px;cursor:pointer;}
.masonry .mph-cta img{width:100%;height:100%;min-height:300px;object-fit:cover;position:absolute;inset:0;
  transition:transform .8s var(--ease);}
.masonry .mph-cta:hover img{transform:scale(1.06);}
.masonry .mph-cta::after{content:"";position:absolute;inset:0;
  background:linear-gradient(165deg,rgba(40,59,143,.82),rgba(10,19,48,.92));}
.masonry .mph-cta .gcta-in{position:relative;z-index:2;display:flex;flex-direction:column;
  align-items:flex-start;gap:.55rem;padding:clamp(1.4rem,2.4vw,1.8rem);height:100%;justify-content:center;}
.masonry .mph-cta .gcta-eye{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);}
.masonry .mph-cta b{font-family:var(--sans);font-weight:800;letter-spacing:-.01em;font-size:1.5rem;line-height:1.08;color:#fff;}
.masonry .mph-cta .gcta-sub{font-size:.86rem;color:var(--cloud-2);line-height:1.4;}
.masonry .mph-cta .gcta-btn{display:inline-flex;align-items:center;gap:.5em;margin-top:.5rem;
  background:var(--orange);color:#fff;font-weight:700;font-size:.92rem;padding:.7rem 1.3rem;border-radius:var(--r-pill);
  box-shadow:var(--shadow-cta);transition:transform .3s var(--ease),background .25s;}
.masonry .mph-cta:hover .gcta-btn{background:var(--orange-hi);transform:translateY(-2px);}
.masonry .mph-cta:hover .gcta-btn .arr{transform:translateX(4px);}
.masonry .mph-cta .arr{transition:transform .3s var(--ease);}

/* ------------------------------------------------------------
   5. PROGRAMME — "Eight cables" polygon, made to pop
   (same structure + feel, more depth & motion)
   ------------------------------------------------------------ */
.poly::before{content:"";position:absolute;top:-30%;right:-10%;width:60%;height:90%;
  background:none;pointer-events:none;z-index:0;}
.poly::after{content:"";position:absolute;bottom:-25%;left:-8%;width:48%;height:70%;
  background:none;pointer-events:none;z-index:0;}
.poly-grid{position:relative;z-index:1;}
.poly-stat.hi .pv{color:#fff;}
.poly-sig{transition:border-color .3s var(--ease),background .3s var(--ease);}
.poly-sig:hover{border-color:rgba(255,90,44,.5);background:rgba(255,90,44,.05);}
.poly-sig .star{position:relative;}
.poly-sig .star::before{content:"";position:absolute;inset:-2px;border-radius:50%;
  border:2px solid var(--orange);opacity:.4;}
/* featured cable 01 */
.pfeat{box-shadow:0 0 0 1px rgba(255,90,44,.22),var(--shadow-lg);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.pfeat:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(255,90,44,.34),var(--shadow-lg);}
/* length bars — gradient + animated reveal */
.pfeat .pf-bar .fill{background:linear-gradient(90deg,var(--orange),#ff8a5c);transition:width 1.1s var(--ease);}
.pcab .pc-bar .fill{background:linear-gradient(90deg,var(--sky-ink),var(--sky))!important;transition:width 1.1s var(--ease);}
.pcab{transition:transform .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease);}
.pcab:hover{transform:translateY(-3px);background:rgba(255,255,255,.05);border-color:rgba(35,169,225,.5)!important;}
.pcab .pc-len{transition:color .3s var(--ease);}
.pcab:hover .pc-len{color:var(--sky);}

/* 8 cables — clearer single-column ladder (02–08), relative to 700 m */
.poly-right{display:flex!important;flex-direction:column;gap:clamp(.9rem,1.6vw,1.2rem);}
.cbl-ladder{display:flex;flex-direction:column;gap:.5rem;}
.cbl-scale{margin:0 0 .25rem;font-size:.64rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--cloud-3);}
.cbl{display:flex;align-items:center;gap:.95rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);
  border-radius:var(--r-md);padding:.7rem .95rem;transition:background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);}
.cbl:hover{background:rgba(255,255,255,.07);border-color:rgba(35,169,225,.5);transform:translateX(3px);}
.cbl-no{flex:none;font-family:var(--display);background:var(--navy);color:#fff;width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;font-size:1.05rem;line-height:1;box-shadow:0 0 0 3px rgba(40,59,143,.3);}
.cbl-b{flex:1;min-width:0;}
.cbl-h{display:flex;align-items:baseline;gap:.7rem;margin-bottom:.5rem;flex-wrap:wrap;}
.cbl-len{font-family:var(--display);font-size:1.5rem;color:#fff;line-height:1;}
.cbl-len small{font-size:.42em;color:var(--sky);font-family:var(--sans);font-weight:600;}
.cbl-tag{font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--sky);}
.cbl-track{display:block;height:7px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden;}
.cbl-fill{display:block;height:100%;width:0;border-radius:4px;background:linear-gradient(90deg,var(--sky-ink),var(--sky));transition:width 1.1s var(--ease);}

/* ------------------------------------------------------------
   4. PRICING — fix broken .prx aside (legacy markup safety net)
   These rules style the OLD class names in case any remain.
   ------------------------------------------------------------ */
.prx-incl{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.3rem,2.2vw,1.7rem);display:flex;flex-direction:column;gap:.6rem;}
.prx-incl .prx-note{color:var(--ink-2);font-size:.92rem;line-height:1.5;margin:.2rem 0 .6rem;}
.prx-incl ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem;}
.prx-incl li{display:flex;align-items:center;gap:.7rem;font-size:.95rem;font-weight:600;color:var(--ink-1);}
.prx-incl li img{width:24px;height:24px;flex:none;}
.prx-split{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:clamp(1.1rem,2vw,1.5rem);margin-top:1rem;flex-wrap:wrap;}
.prx-split .opt-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sky);}
.prx-split .opt-tag img{width:16px;height:16px;}
.prx-split-body b{display:block;font-size:1.05rem;color:#fff;}
.prx-split-body span{font-size:.84rem;color:var(--cloud-2);line-height:1.4;}
.prx-split-price{text-align:right;flex:none;}
.prx-split-price b{font-family:var(--display);font-size:2rem;color:var(--orange);line-height:1;}
.prx-split-price span{display:block;font-size:.76rem;color:var(--cloud-2);}

/* ============================================================
   8 CABLES — bold redesign: featured 01 + number tiles (no bars)
   ============================================================ */
/* featured 01 card — center the badge digits + cleaner footer */
.pfeat .pf-no{width:56px;height:56px;font-size:1.5rem;line-height:56px;padding:0;text-align:center;
  display:block;box-shadow:0 0 0 5px rgba(255,90,44,.22);}
.pfeat .pf-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.18);}
.pfeat .pf-foot-k{font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cloud-2);}
.pfeat .pf-foot-v{font-family:var(--display);font-size:1.7rem;color:var(--orange);line-height:1;}

/* cables 02-08 — bold tiles */
.cbl-grid{display:flex;flex-direction:column;gap:.85rem;}
.cbl-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.55rem,1vw,.8rem);}
.ctile{position:relative;overflow:hidden;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-md);padding:1rem 1.1rem 1.1rem;transition:transform .28s var(--ease),background .28s,border-color .28s;}
.ctile:hover{transform:translateY(-5px);background:rgba(255,255,255,.09);border-color:rgba(35,169,225,.55);}
.ct-no{display:block;font-family:var(--mono);font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);}
.ct-len{display:block;font-family:var(--display);font-size:clamp(2.1rem,4vw,3rem);color:#fff;line-height:.84;margin-top:.55rem;}
.ct-len small{font-size:.32em;color:var(--sky);font-family:var(--sans);font-weight:700;margin-left:.12em;vertical-align:.32em;}
.ct-tag{display:block;margin-top:.5rem;font-size:.6rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--orange);}
.ctile.ct-feat{background:rgba(255,90,44,.12);border-color:rgba(255,90,44,.42);}
.ct-feat .ct-len,.ct-feat .ct-no,.ct-feat .ct-len small{color:var(--orange);}
.ctile.ct-final{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.1rem 1.4rem;background:linear-gradient(100deg,rgba(255,90,44,.18),rgba(255,255,255,.04));border-color:rgba(255,90,44,.42);}
.ct-final-l{display:flex;flex-direction:column;gap:.3rem;}
.ct-final .ct-len{margin-top:0;color:var(--orange);}
.ct-final .ct-no{color:var(--orange);}
.ct-final .ct-tag{margin-top:0;}
@media (max-width:560px){ .cbl-tiles{grid-template-columns:repeat(2,1fr);} }

/* ============================================================
   ROUTE + INCLUDED (home) and LOCATION two-stops — bolder
   ============================================================ */
/* location: two-stop journey + private transfers card */
.findx-route .fr-node{width:64px;height:64px;}
.findx-route .fr-node img{width:33px;height:33px;}
.findx-route .fr-node .num{width:28px;height:28px;font-size:1.02rem;top:-9px;right:-9px;}
.findx-route .fr-body h3{font-size:clamp(1.35rem,2.2vw,1.7rem)!important;font-weight:800;letter-spacing:-.022em;line-height:1.08;}
.findx-route .fr-body .tag{font-size:.74rem;}
.findx-route .fr-body p{font-size:1.0rem;}
/* loc-transfer sizing now handled in bold card block above */

/* ============================================================
   LOCATION — bold journey + dark private-transfers panel
   ============================================================ */
.loc2{display:flex;flex-direction:column;gap:clamp(1.4rem,2.6vw,2rem);}
.loc2-journey{position:relative;display:flex;flex-direction:column;gap:1.6rem;}
.loc2-stop{display:grid;grid-template-columns:auto 1fr;gap:1.3rem;align-items:start;}
.loc2-num{flex:none;width:60px;height:60px;border-radius:16px;display:grid;place-items:center;
  font-family:var(--display);font-size:2rem;line-height:1;color:#fff;background:var(--navy);
  box-shadow:0 10px 22px -10px rgba(40,59,143,.7);position:relative;z-index:1;}
.loc2-stop:first-child .loc2-num{background:var(--orange);box-shadow:0 10px 22px -10px rgba(255,90,44,.7);}
.loc2-eyebrow{display:inline-block;font-family:var(--sans);font-size:.74rem;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:var(--sky-ink);margin-bottom:.35rem;}
.loc2-eyebrow.on-dark{color:var(--sky);}
.loc2-stop-body h3{font-family:var(--sans);font-weight:800;letter-spacing:-.022em;font-size:clamp(1.45rem,2.2vw,1.85rem);
  line-height:1.05;color:var(--ink-1);margin:0 0 .5rem;}
.loc2-stop-body p{margin:0;color:var(--ink-2);font-size:1.0rem;line-height:1.55;}
.loc2-link{margin-left:30px;padding-left:1.3rem;border-left:3px dotted var(--line-2);}
.loc2-link-tag{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-pill);padding:.45rem .9rem;}
.loc2-link-tag img{width:20px;height:20px;}

/* private-transfers — bold dark card, SOLID stat tiles (no glassy transparency) */
.loc2-pt{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:clamp(1.9rem,3.2vw,2.6rem);
  background:var(--ink);box-shadow:0 28px 58px -30px rgba(10,23,51,.78);color:#fff;}
.loc2-pt::after{content:"";position:absolute;top:-26%;right:-8%;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,90,44,.20),transparent 68%);pointer-events:none;}
.loc2-pt-ic{position:relative;z-index:1;display:grid;place-items:center;width:64px;height:64px;border-radius:18px;margin-bottom:1.1rem;
  background:var(--orange);box-shadow:0 16px 30px -12px rgba(255,90,44,.6);}
.loc2-pt-ic img{width:34px;height:34px;filter:brightness(0) invert(1);}
.loc2-eyebrow{position:relative;z-index:1;display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);}
.loc2-pt h3{position:relative;z-index:1;font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.012em;
  font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:.92;color:#fff;margin:.45rem 0 .7rem;}
.loc2-pt p{position:relative;z-index:1;margin:0 0 1.5rem;color:var(--cloud-2);font-size:1.04rem;line-height:1.5;max-width:52ch;}
.loc2-pt-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;}
.loc2-pt-stat{background:#15264c;border:1px solid rgba(120,160,220,.18);border-radius:var(--r-md);padding:1.1rem 1.2rem;}
.loc2-pt-stat b{display:block;font-family:var(--display);font-size:2.1rem;line-height:.9;color:var(--orange);margin-bottom:.45rem;}
.loc2-pt-stat b small{font-family:var(--sans);font-size:.4em;font-weight:800;color:var(--sky);margin-left:.2em;}
.loc2-pt-stat span{font-size:.8rem;font-weight:700;color:var(--cloud-2);line-height:1.35;display:block;}
.loc2-cta{display:flex;gap:.8rem;flex-wrap:wrap;}
@media (max-width:520px){ .loc2-pt-stats{grid-template-columns:1fr;} .loc2-num{width:52px;height:52px;font-size:1.7rem;} }

/* ============================================================
   LOCATION — bold journey + dark private-transfers panel
   ============================================================ */
.loc2{display:flex;flex-direction:column;gap:clamp(1.4rem,2.6vw,2rem);}
.loc2-journey{position:relative;display:flex;flex-direction:column;gap:1.6rem;}
.loc2-stop{display:grid;grid-template-columns:auto 1fr;gap:1.3rem;align-items:start;}
.loc2-num{flex:none;width:60px;height:60px;border-radius:16px;display:grid;place-items:center;
  font-family:var(--display);font-size:2rem;line-height:1;color:#fff;background:var(--navy);
  box-shadow:0 10px 22px -10px rgba(40,59,143,.7);position:relative;z-index:1;}
.loc2-stop:first-child .loc2-num{background:var(--orange);box-shadow:0 10px 22px -10px rgba(255,90,44,.7);}
.loc2-eyebrow{display:inline-block;font-family:var(--sans);font-size:.74rem;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:var(--sky-ink);margin-bottom:.35rem;}
.loc2-eyebrow.on-dark{color:var(--sky);}
.loc2-stop-body h3{font-family:var(--sans);font-weight:800;letter-spacing:-.022em;font-size:clamp(1.45rem,2.2vw,1.85rem);
  line-height:1.05;color:var(--ink-1);margin:0 0 .5rem;}
.loc2-stop-body p{margin:0;color:var(--ink-2);font-size:1.0rem;line-height:1.55;}
.loc2-link{margin-left:30px;padding-left:1.3rem;border-left:3px dotted var(--line-2);}
.loc2-link-tag{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-pill);padding:.45rem .9rem;}
.loc2-link-tag img{width:20px;height:20px;}



/* ============================================================
   WHY BOOK DIRECT — bold guarantee cards (book page)
   ============================================================ */
.bk-cro-sect .bk-cro-head h2{font-size:clamp(2.2rem,4.6vw,3.8rem);color:#fff;}
.bk-cro-sect .bk-cro-head h2 .bl{color:var(--sky);}
.wd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,1.6vw,1.5rem);}
.wd-card{position:relative;overflow:hidden;display:flex;flex-direction:column;
  background:
    radial-gradient(130% 90% at 100% 0%,rgba(35,169,225,.14),transparent 52%),
    linear-gradient(160deg,rgba(255,255,255,.066),rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.10);border-radius:var(--r-lg);
  padding:clamp(1.9rem,2.6vw,2.5rem) clamp(1.7rem,2.4vw,2.3rem);
  box-shadow:0 22px 46px -30px rgba(0,0,0,.85);
  transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);}
/* big outlined index number, top-right — the graphic anchor */
.wd-card .wd-no{position:absolute;top:clamp(.6rem,1.6vw,1.1rem);right:clamp(1rem,2vw,1.5rem);z-index:0;
  font-family:var(--display);font-size:clamp(3.6rem,5.6vw,5.4rem);line-height:.8;letter-spacing:-.03em;
  color:transparent;-webkit-text-stroke:2px rgba(35,169,225,.30);pointer-events:none;
  transition:-webkit-text-stroke-color .4s var(--ease),transform .4s var(--ease);}
.wd-card:hover .wd-no{-webkit-text-stroke-color:rgba(35,169,225,.62);transform:translateY(-2px);}
.wd-card > *{position:relative;z-index:1;}
/* left accent bar fills in on hover */
.wd-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;z-index:2;
  background:linear-gradient(180deg,var(--sky),var(--green));
  transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease);}
.wd-card:hover{transform:translateY(-9px);border-color:rgba(35,169,225,.5);
  box-shadow:0 34px 64px -32px rgba(35,169,225,.42),0 18px 40px -30px rgba(0,0,0,.7);}
.wd-card:hover::before{transform:scaleY(1);}
/* solid brand-blue icon tile */
.wd-ico{width:62px;height:62px;border-radius:16px;margin-bottom:clamp(1.3rem,2.4vw,1.7rem);
  background:linear-gradient(150deg,var(--sky),#136a98);
  display:grid;place-items:center;flex:none;
  box-shadow:0 14px 28px -12px rgba(35,169,225,.75),inset 0 1px 0 rgba(255,255,255,.25);}
.wd-ico img{width:32px;height:32px;filter:brightness(0) invert(1);}
.wd-card b{display:block;font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(1.5rem,2.1vw,1.9rem);line-height:.98;letter-spacing:.004em;color:#fff;margin-bottom:.7rem;}
.wd-card .wd-d{display:block;font-size:1.02rem;line-height:1.56;color:var(--cloud-2);max-width:34ch;}
@media (max-width:760px){ .wd-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:460px){ .wd-grid{grid-template-columns:1fr;} }

/* ============================================================
   SMOOTH ARRIVAL — photo-topped plan cards
   ============================================================ */
.plancard.pc-imgcard{padding:0;overflow:hidden;}
.pc-imgcard .pc-photo{position:relative;aspect-ratio:16/11;overflow:hidden;background:var(--surface-2);}
.pc-imgcard .pc-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease);}
.pc-imgcard:hover .pc-photo img{transform:scale(1.06);}
.pc-imgcard .pc-photo-tag{position:absolute;left:11px;bottom:11px;background:rgba(10,19,48,.82);color:#fff;
  font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.38rem .7rem;border-radius:var(--r-pill);}
.pc-imgcard .pc-body{display:flex;flex-direction:column;flex:1;padding:clamp(1.3rem,2.2vw,1.7rem);}
.pc-imgcard .pc-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem;}
.pc-imgcard .pc-ic{flex:none;width:46px;height:46px;display:grid;place-items:center;background:none;border:none;box-shadow:none;border-radius:0;}
.pc-imgcard .pc-ic img{width:40px;height:40px;filter:none;}
.pc-imgcard .pc-head .pc-stat{margin:0;}
.pc-imgcard h3{font-size:1.24rem;font-weight:800;letter-spacing:-.018em;margin:0 0 .5rem;color:var(--ink-1);}
.pc-imgcard p{margin:0 0 1.1rem;color:var(--ink-2);font-size:.96rem;line-height:1.55;flex:1;}
.pc-imgcard .pc-link{margin-top:auto;}
@media (max-width:880px){ .pc-imgcard .pc-photo{aspect-ratio:16/9;} }
@media (max-width:520px){ .pc-imgcard .pc-photo{aspect-ratio:16/8;} }

/* ============================================================
   SAFETY — trusted & certified strip
   ============================================================ */
.trustsafe .ts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,1.7vw,1.3rem);}
.ts-score{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;
  background:rgba(255,255,255,.05);border:1px solid rgba(238,243,251,.14);border-radius:var(--r-lg);
  padding:clamp(1.3rem,2.2vw,1.7rem);transition:transform .28s var(--ease),border-color .28s;}
.ts-score:hover{transform:translateY(-5px);border-color:rgba(238,243,251,.28);}
.ts-score > img{height:26px;width:auto;object-fit:contain;align-self:flex-start;}
.ts-score.tp > img,.ts-score img[src*="trustpilot"]{height:22px;}
.ts-num{display:flex;align-items:baseline;gap:.6rem;}
.ts-num b{font-family:var(--display);font-weight:400;font-size:2.8rem;line-height:.9;color:#fff;letter-spacing:.01em;}
.ts-num .s{color:var(--gold);font-size:1.05rem;letter-spacing:2px;}
.ts-sub{font-size:.86rem;color:var(--cloud-2);font-weight:600;}
.ts-certs{display:flex;align-items:center;gap:clamp(1.2rem,3vw,2.4rem);flex-wrap:wrap;
  margin-top:clamp(1.4rem,2.6vw,2rem);padding-top:clamp(1.4rem,2.6vw,2rem);border-top:1px solid rgba(238,243,251,.14);}
.ts-certs-lbl{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--cloud-2);}
.ts-badges{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2rem);flex-wrap:wrap;}
.ts-badges img{height:62px;width:auto;object-fit:contain;}
@media (max-width:680px){
  .trustsafe .ts-grid{grid-template-columns:1fr;}
  .ts-certs{flex-direction:column;align-items:flex-start;gap:1rem;}
}

/* ============================================================
   CANCELLATION — bold, clear outcome cards
   ============================================================ */
.canx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.9rem,1.7vw,1.3rem);}
.canx{position:relative;overflow:hidden;display:flex;flex-direction:column;
  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 .28s var(--ease),background .28s,border-color .28s;}
.canx::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;}
.canx.ok::before{background:var(--green);}
.canx.warn::before{background:var(--gold);}
.canx.sky::before{background:var(--sky);}
.canx.no::before{background:var(--orange);}
.canx:hover{transform:translateY(-6px);background:rgba(255,255,255,.08);border-color:rgba(238,243,251,.26);}
.canx-head{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.05rem;}
.canx-ic{width:48px;height:48px;display:grid;place-items:center;background:none;border:none;border-radius:0;}
.canx-ic img{width:46px;height:46px;}
.canx-when{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.012em;
  font-size:clamp(1.3rem,1.9vw,1.7rem);line-height:.96;}
.canx.ok .canx-when{color:var(--green);}
.canx.warn .canx-when{color:var(--gold);}
.canx.sky .canx-when{color:var(--sky);}
.canx.no .canx-when{color:var(--orange);}
.canx h3{font-family:var(--sans);font-weight:800;letter-spacing:-.014em;font-size:1.12rem;line-height:1.18;margin:0 0 .55rem;color:#fff;}
.canx p{margin:0 0 1.3rem;color:var(--cloud-2);font-size:.95rem;line-height:1.5;flex:1;}
.canx-out{align-self:flex-start;display:inline-flex;align-items:center;font-size:.74rem;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:var(--r-pill);padding:.45rem .85rem;}
.canx.ok .canx-out{background:rgba(52,177,106,.22);border-color:rgba(52,177,106,.5);}
.canx.warn .canx-out{background:rgba(242,183,5,.18);border-color:rgba(242,183,5,.5);}
.canx.sky .canx-out{background:rgba(35,169,225,.18);border-color:rgba(35,169,225,.5);}
.canx.no .canx-out{background:rgba(255,90,44,.18);border-color:rgba(255,90,44,.5);}
@media (max-width:880px){ .canx-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .canx-grid{grid-template-columns:1fr;} }

/* ============================================================
   RESPONSIVE — tablet polish (hero nudge lives in pages.css)
   ============================================================ */
/* tablet: keep multi-col sections from getting cramped */
@media (max-width:880px){
  .wd-grid{grid-template-columns:1fr 1fr;}
  .loc2-pt-stats{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:600px){
  .pf-clear{grid-template-columns:1fr;}
  .loc2-stop{grid-template-columns:auto 1fr;gap:1rem;}
}

/* ============================================================
   MOBILE — more breathing room + subtle scroll-driven reveals
   ============================================================ */
@media (max-width:680px){
  /* let sections and content breathe */
  .sect{padding-block:clamp(3.4rem,13vw,5rem);}
  .wrap,.wide{padding-inline:.8rem;}
  .how-head{margin-bottom:1.8rem;}
  .how-head p.lede,.lede{margin-top:.7rem;}
  /* roomier stacked card groups */
  .plan-grid,.canx-grid,.feat3,.ts-grid,.wd-grid,.guides,
  .pf-brief,.bring,.mk2-list,.pr-grid{gap:1.15rem;}
  .pf-clear{gap:1.15rem;}
  /* a touch more padding inside cards */
  .canx,.ts-score,.pf-card,.plancard .pc-body{padding:1.4rem;}
  /* calmer entrance distance on small screens */
  .reveal{transform:translateY(18px);}
}

/* subtle scroll-driven fade-up for content cards on mobile
   (pure, additive; degrades gracefully where unsupported) */
@media (max-width:680px) and (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .fcard,.canx,.ts-score,.wd-card,.guidecard,.mk2-row,
    .bringc,.pf-card,.ctile,.step{
      animation:mobScrollIn linear both;
      animation-timeline:view();
      animation-range:entry 2% entry 30%;
    }
    @keyframes mobScrollIn{
      from{opacity:0;transform:translateY(16px);}
      to{opacity:1;transform:none;}
    }
  }
}

/* ============================================================
   SAFETY — "who it's not suitable for" honest heads-up
   ============================================================ */
.notsuit-head{max-width:60ch;margin-bottom:clamp(1.8rem,3vw,2.6rem);}
.notsuit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,1.8vw,1.3rem);}
.ns-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.5rem,2.4vw,1.9rem);box-shadow:0 14px 30px -22px rgba(10,23,51,.4);
  transition:transform .25s var(--ease),box-shadow .25s,border-color .25s;}
.ns-card:hover{transform:translateY(-4px);box-shadow:0 24px 44px -26px rgba(10,23,51,.42);border-color:var(--orange);}
.ns-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;margin-bottom:1rem;
  background:#fff;border:2px solid var(--orange);color:var(--orange);}
.ns-ic svg{width:22px;height:22px;display:block;}
.ns-card b{display:block;font-size:1.12rem;font-weight:800;color:var(--ink-1);letter-spacing:-.015em;margin-bottom:.4rem;}
.ns-card p{margin:0;color:var(--ink-2);font-size:.95rem;line-height:1.5;}
.notsuit-note{margin-top:clamp(1.4rem,2.4vw,2rem);background:var(--ink);color:var(--cloud-2);
  border-radius:var(--r-lg);padding:clamp(1.3rem,2.4vw,1.7rem) clamp(1.5rem,2.6vw,2rem);
  font-size:1.05rem;font-weight:600;line-height:1.5;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.notsuit-note a{color:#fff;font-weight:800;border-bottom:2px solid var(--orange);}
.notsuit-note a:hover{color:var(--orange);}
@media (max-width:820px){ .notsuit-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .notsuit-grid{grid-template-columns:1fr;} }
