/*
Theme Name: Interscan Metal Recycling
Theme URI: https://interscanltd.co.uk/
Author: Incurosoft
Author URI: https://incurosoft.com/
Description: A scrap metal recycling theme built for Interscan Metal Recycling, a trade name of Interscan Limited. Includes an editable live price board, material grade cards, UK coverage areas and Duty of Care compliance sections. Designed and developed by Incurosoft.
Version: 1.5.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: interscan
Tags: business, industrial, recycling, one-column, custom-logo, custom-menu, custom-colors, featured-images, translation-ready
*/

/* ==========================================================================
   Interscan Metal Recycling
   Palette sampled directly from the IMR logo:
   teal #067A81 · navy #323F4C
   ========================================================================== */

:root{
  --ink:#323F4C;
  --navy:#1A232E;
  --navy-2:#243040;
  --navy-3:#131A23;
  --teal:#0B7A81;
  --teal-lo:#095F65;
  --teal-hi:#3FBAC1;
  --brass:#C8A24A;
  --zinc:#DFE3E4;
  --zinc-2:#EFF2F2;
  --steel:#7A8794;
  --line:rgba(255,255,255,.13);
  --line-dk:rgba(50,63,76,.16);

  --sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --display:"Anton",Impact,sans-serif;
}

*{box-sizing:border-box}
body,h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--zinc);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.55}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.wrap{width:min(1180px,92vw);margin-inline:auto}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;z-index:999;background:#fff;color:var(--ink);padding:.7rem 1rem;width:auto;height:auto;clip:auto;font-family:var(--mono);font-size:.8rem}

.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);font-weight:500}
.eyebrow--on-dark{color:var(--teal-hi)}

h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:.005em;line-height:.95;text-transform:uppercase;color:var(--ink)}
h1{font-size:clamp(2.7rem,7.2vw,5.4rem)}
h2{font-size:clamp(1.9rem,4.2vw,3.1rem)}
h3{font-size:clamp(1.1rem,2vw,1.35rem)}

.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.95rem 1.5rem;border:1px solid transparent;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}
.btn--solid{background:var(--teal);color:#fff}
.btn--solid:hover{background:var(--teal-lo);color:#fff}
.btn--ghost{border-color:rgba(255,255,255,.42);color:#fff}
.btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn--dark{background:var(--navy);color:#fff}
.btn--dark:hover{background:var(--teal)}

/* ---------- LOGO ---------- */
.logo img{height:38px;width:auto}
.nav .logo img{height:36px}
.foot .logo img{height:42px}

/* ---------- TOP BAR ---------- */
.topbar{background:var(--navy-3);border-bottom:1px solid var(--line)}
.topbar__in{display:flex;align-items:center;gap:1.6rem;min-height:38px;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;color:#8B98A5;text-transform:uppercase}
.topbar a:hover{color:var(--teal-hi)}
.topbar .push{margin-left:auto}
.topbar .flag{color:var(--teal-hi)}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:60;background:rgba(26,35,46,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
body.admin-bar .nav{top:32px}
.nav__in{display:flex;align-items:center;gap:2rem;min-height:76px}
.nav .logo{margin-right:auto}
.nav__links{display:flex;gap:1.6rem;list-style:none}
.nav__links a{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#C3CBD3;padding-block:.4rem;border-bottom:1px solid transparent;display:block}
.nav__links a:hover,.nav__links .current-menu-item>a{color:#fff;border-color:var(--teal-hi)}
.nav__links .sub-menu{display:none;position:absolute;background:var(--navy);border:1px solid var(--line);padding:.6rem 0;min-width:210px;list-style:none;margin-top:.4rem}
.nav__links li{position:relative}
.nav__links li:hover>.sub-menu{display:block}
.nav__links .sub-menu a{padding:.5rem 1.1rem;border:0;text-transform:none;letter-spacing:.04em}
.nav__cta{padding:.7rem 1.1rem}
.nav__burger{display:none;background:none;border:1px solid var(--line);color:#fff;padding:.5rem .7rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;cursor:pointer}

/* ---------- HERO ---------- */
.hero{position:relative;color:#fff;overflow:hidden;background-color:var(--navy);background-size:cover;background-position:center 32%}
.hero__veil{position:absolute;inset:0;background:linear-gradient(115deg,rgba(26,35,46,.95) 6%,rgba(26,35,46,.76) 48%,rgba(9,95,101,.62) 100%)}
.hero__in{position:relative;padding:clamp(4rem,10vh,7.5rem) 0 0}
.hero__grid{display:grid;grid-template-columns:1.35fr .85fr;gap:3.5rem;align-items:end}
.hero h1{color:#fff;margin:1.1rem 0 0;max-width:14ch}
.hero h1 em{font-style:normal;color:var(--teal-hi)}
.hero__lead{margin-top:1.4rem;max-width:47ch;font-size:1.06rem;color:#C6CFD6}
.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.1rem}
.hero__aside{border-left:1px solid var(--line);padding-left:1.6rem;padding-bottom:.4rem}
.hero__aside p{font-size:.9rem;color:#B2BCC6;margin-top:.7rem}
.hero__aside strong{display:block;font-family:var(--mono);font-size:2.3rem;font-weight:600;color:#fff;line-height:1;letter-spacing:-.02em}
.hero__aside .row+.row{margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--line)}

.strip{margin-top:clamp(2.6rem,5.5vw,4.5rem);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
.strip div{padding:1.15rem 1.2rem 1.3rem;border-right:1px solid var(--line);font-family:var(--mono);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:#9BA7B2}
.strip div:last-child{border-right:0}
.strip b{display:block;color:#fff;font-size:.95rem;letter-spacing:.02em;margin-bottom:.25rem;font-weight:600}

/* ---------- SECTIONS ---------- */
.sec{padding:clamp(4rem,7.5vw,6.5rem) 0}
.sec--dark{background:var(--navy);color:var(--zinc-2)}
.sec--dark h2{color:#fff}
.sec--pale{background:var(--zinc-2)}
.sec__head{max-width:56ch;margin-bottom:3rem}
.sec__head h2{margin:.8rem 0 .9rem}
.sec__head p{color:#4C5967;font-size:1.03rem}
.sec--dark .sec__head p{color:#A5B0BB}

/* ---------- PRICE BOARD ---------- */
.board{border:1px solid var(--line);background:var(--navy-3)}
.board__bar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.85rem 1.2rem;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#8B98A5}
.dot{width:8px;height:8px;background:var(--teal-hi);border-radius:50%;display:inline-block;margin-right:.5rem;animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.board__bar .push{margin-left:auto}
.board table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.86rem}
.board thead th{text-align:left;padding:.75rem 1.2rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#76838F;font-weight:500;border-bottom:1px solid var(--line)}
.board tbody td{padding:.85rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.07);color:#D4DBE0}
.board tbody tr:hover{background:rgba(11,122,129,.22)}
.board tbody tr:last-child td{border-bottom:0}
.grade{color:#fff;font-weight:500}
.code{color:var(--brass)}
.num{text-align:right;color:#fff;font-weight:600;white-space:nowrap}
.delta{text-align:right;font-size:.78rem;white-space:nowrap}
.up{color:var(--teal-hi)}
.down{color:#E0A05F}
.flat{color:#8B98A5}
.board__foot{padding:.85rem 1.2rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:#76838F;border-top:1px solid var(--line);line-height:1.7}

/* ---------- MATERIALS ---------- */
.mats{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line-dk)}
.mat{position:relative;min-height:290px;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;color:#fff;overflow:hidden;isolation:isolate;background-color:var(--navy-2)}
.mat__bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.mat::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(26,35,46,.22) 0%,rgba(26,35,46,.9) 78%)}
.mat:hover .mat__bg{transform:scale(1.06)}
.mat h3{color:#fff;margin-bottom:.5rem}
.mat p{font-size:.88rem;color:#C5CED5;max-width:34ch}
.mat__codes{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);margin-bottom:.9rem}

/* ---------- PROCESS ---------- */
.flow{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line-dk)}
.flow__step{padding:1.9rem 1.4rem;border-right:1px solid var(--line-dk)}
.flow__step:first-child{padding-left:0}
.flow__step:last-child{border-right:0;padding-right:0}
.flow__n{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:var(--teal);display:block;margin-bottom:1rem}
.flow__step h3{font-size:1.05rem;margin-bottom:.55rem}
.flow__step p{font-size:.9rem;color:#4C5967}

/* ---------- COMPLIANCE ---------- */
.split{display:grid;grid-template-columns:1fr 1fr}
.split__img{min-height:480px;background-color:#2A3542;background-size:cover;background-position:center}
.split__body{background:var(--navy-2);color:var(--zinc-2);padding:clamp(2.2rem,4vw,3.6rem)}
.split__body h2{color:#fff;margin:.9rem 0 1.1rem}
.split__body>p{color:#B2BCC6;max-width:48ch}
.checks{list-style:none;margin-top:1.5rem;border-top:1px solid var(--line)}
.checks li{padding:1rem 0;border-bottom:1px solid var(--line);display:flex;gap:1rem;align-items:baseline}
.checks .k{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:var(--teal-hi);min-width:4.8rem;text-transform:uppercase}
.checks p{font-size:.93rem;color:#BDC6CE}
.checks b{color:#fff;font-weight:600}

/* ---------- LOCATIONS ---------- */
.locs{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line-dk)}
.loc{
  position:relative;
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:1.5rem 1.4rem 1.4rem;
  overflow:hidden;
  isolation:isolate;
  background-color:var(--navy-2);
  color:#fff;
}
.loc__bg{
  position:absolute;inset:0;z-index:-2;
  background-size:cover;background-position:center;
}
.loc__veil{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(26,35,46,.25) 0%,rgba(26,35,46,.82) 55%,rgba(19,26,35,.95) 100%);
}
.loc__area{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--teal-hi);margin-bottom:.55rem;
}
.loc__name{
  font-family:var(--display);font-size:1.5rem;text-transform:uppercase;
  color:#fff;line-height:1;margin-bottom:.6rem;
}
.loc__text{
  font-size:.86rem;color:#C0C9D1;line-height:1.5;margin-bottom:1.1rem;
}
.loc__btn{
  display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;
  font-family:var(--mono);font-size:.68rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  color:#fff;background:var(--teal);
  padding:.7rem 1rem;
  transition:background .18s ease;
}
.loc__btn:hover,.loc__btn:focus-visible{background:var(--teal-lo)}
.loc__btn span[aria-hidden]{transition:transform .18s ease}
.loc__btn:hover span[aria-hidden]{transform:translateX(3px)}

/* Head office tile: teal wash instead of a photograph-led treatment. */
.loc--hq .loc__veil{
  background:linear-gradient(180deg,rgba(9,95,101,.55) 0%,rgba(9,95,101,.86) 55%,rgba(19,26,35,.96) 100%);
}
.loc--hq .loc__btn{background:#fff;color:var(--navy)}
.loc--hq .loc__btn:hover,.loc--hq .loc__btn:focus-visible{background:var(--teal-hi);color:var(--navy)}

.locs__note{margin-top:1.6rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.05em;color:#5C6874}

/* ---------- PARENT BAND ---------- */
.parent{color:#fff;background-color:var(--navy);background-size:cover;background-position:center;position:relative}
.parent__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,35,46,.96) 30%,rgba(26,35,46,.6))}
.parent__in{position:relative;display:grid;grid-template-columns:1fr auto;gap:2.5rem;align-items:center;padding:clamp(2.6rem,5vw,4rem) 0}
.parent h2{color:#fff;margin:.8rem 0 1rem;max-width:18ch}
.parent p{color:#B2BCC6;max-width:52ch;font-size:.98rem}
.parent__stats{display:flex;gap:2.6rem}
.parent__stats div{font-family:var(--mono)}
.parent__stats b{display:block;font-size:1.9rem;color:var(--teal-hi);font-weight:600;line-height:1}
.parent__stats span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#8B98A5;display:block;margin-top:.5rem}

/* ---------- CTA ---------- */
.cta{color:#fff;text-align:center;background-color:var(--teal-lo);background-size:cover;background-position:center;position:relative}
.cta__veil{position:absolute;inset:0;background:linear-gradient(rgba(26,35,46,.9),rgba(9,95,101,.86))}
.cta__in{position:relative}
.cta h2{color:#fff;margin-bottom:1rem}
.cta p{max-width:50ch;margin:0 auto 2rem;color:#C8D1D8}
.cta__actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}

/* ---------- PAGE / POST CONTENT ---------- */
.pagehead{background:var(--navy);color:#fff;padding:clamp(3rem,7vw,5rem) 0 clamp(2.4rem,5vw,3.4rem)}
.pagehead h1{color:#fff;font-size:clamp(2.2rem,5.5vw,4rem);margin-top:.9rem}
.crumbs{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-hi)}
.crumbs a:hover{color:#fff}
.entry{padding:clamp(3rem,6vw,4.5rem) 0}
.entry__body{max-width:72ch}
.entry__body h2{margin:2.4rem 0 1rem}
.entry__body h3{margin:1.8rem 0 .7rem}
.entry__body p{margin-bottom:1.1rem}
.entry__body ul,.entry__body ol{margin:0 0 1.2rem 1.2rem}
.entry__body li{margin-bottom:.5rem}
.entry__body a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.entry__body blockquote{border-left:3px solid var(--teal);padding-left:1.2rem;margin:1.6rem 0;color:#4C5967;font-size:1.08rem}
.entry__body img{margin:1.6rem 0}
.entry__body table{width:100%;border-collapse:collapse;margin-bottom:1.4rem;font-size:.94rem}
.entry__body th,.entry__body td{border:1px solid var(--line-dk);padding:.65rem .8rem;text-align:left}
.entry__body th{background:var(--zinc-2);font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.card{background:#fff;border:1px solid var(--line-dk)}
.card__img{aspect-ratio:16/10;background:var(--zinc);background-size:cover;background-position:center}
.card__body{padding:1.3rem}
.card__meta{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:.6rem}
.card h3{font-size:1.15rem;margin-bottom:.5rem}
.card p{font-size:.9rem;color:#4C5967}

.pager{display:flex;gap:.5rem;margin-top:2.5rem;font-family:var(--mono);font-size:.8rem}
.pager .page-numbers{padding:.6rem .9rem;border:1px solid var(--line-dk)}
.pager .current{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ---------- FOOTER ---------- */
.foot{background:var(--navy-3);color:#96A2AE;padding:3.5rem 0 2rem;border-top:1px solid var(--line)}
.foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.4rem}
.foot h4{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:1rem;font-weight:600}
.foot ul{list-style:none;font-size:.9rem}
.foot li{margin-bottom:.6rem}
.foot li a:hover{color:var(--teal-hi)}
.foot__about{font-size:.9rem;max-width:34ch;margin-top:1.2rem}
.badge{display:inline-block;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);padding:.45rem .7rem;margin:0 .4rem .4rem 0;color:#C3CBD3}
.foot__legal{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-family:var(--mono);font-size:.7rem;letter-spacing:.05em;color:#6C7884}
.foot__legal b{color:#C3CBD3;font-weight:500}
.credit a{color:var(--teal-hi)}
.credit a:hover{color:#fff;text-decoration:underline}

/* ---------- REVEAL ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1000px){
  body.admin-bar .nav{top:46px}
  .nav__links{display:none}
  .nav__burger{display:block}
  .nav .logo img{height:30px}
  .nav__links.is-open{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--navy);flex-direction:column;gap:0;padding:1rem 4vw 1.4rem;border-bottom:1px solid var(--line)}
  .nav__links.is-open .sub-menu{display:block;position:static;border:0;padding-left:1rem;background:none}
  .hero__grid{grid-template-columns:1fr;gap:2.4rem}
  .hero__aside{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:1.6rem}
  .hero__aside .row{display:inline-block;margin-right:2.5rem;vertical-align:top}
  .hero__aside .row+.row{margin-top:0;padding-top:0;border-top:0}
  .strip{grid-template-columns:1fr 1fr}
  .strip div:nth-child(2n){border-right:0}
  .strip div:nth-child(1),.strip div:nth-child(2){border-bottom:1px solid var(--line)}
  .mats{grid-template-columns:1fr 1fr}
  .flow{grid-template-columns:1fr 1fr}
  .flow__step{border-bottom:1px solid var(--line-dk);padding-left:1.4rem;padding-right:1.4rem}
  .flow__step:first-child{padding-left:1.4rem}
  .flow__step:last-child{padding-right:1.4rem}
  .split{grid-template-columns:1fr}
  .split__img{min-height:280px}
  .locs{grid-template-columns:1fr 1fr}
  .parent__in{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr 1fr}
  .cards{grid-template-columns:1fr 1fr}
  .topbar__in{font-size:.62rem;gap:1rem}
  .topbar .hide-sm{display:none}
}
@media (max-width:620px){
  .mats,.flow,.locs,.foot__grid,.cards{grid-template-columns:1fr}
  .parent__stats{flex-wrap:wrap;gap:1.6rem 2.2rem}
  .board__bar .push{margin-left:0;width:100%}
  .tablescroll{overflow-x:auto}
  .board table{min-width:640px}
  .nav__cta{display:none}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ==========================================================================
   BOOKING PAGE
   ========================================================================== */
.booking{padding:clamp(3rem,6vw,4.5rem) 0}
.booking__grid{display:grid;grid-template-columns:1.55fr .85fr;gap:3.5rem;align-items:start}
.booking__intro{max-width:70ch;margin-bottom:2.6rem;font-size:1.05rem;color:#4C5967}
.booking__intro p{margin-bottom:1rem}
.booking__fallback{border:1px solid var(--line-dk);border-left:3px solid var(--brass);padding:1.6rem;background:#fff}
.booking__fallback p{margin-bottom:.8rem}

.bcard{border:1px solid var(--line-dk);background:#fff;padding:1.5rem 1.5rem 1.6rem;margin-bottom:1.2rem}
.bcard h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;margin-bottom:1rem;color:var(--ink)}
.bcard h3{margin:.7rem 0 .7rem}
.bcard p{font-size:.92rem;color:#4C5967;line-height:1.6}

.bcard--dark{background:var(--navy);border-color:var(--navy)}
.bcard--dark h3{color:#fff}
.bcard--dark p{color:#B2BCC6}
.bcard__phone{margin-top:1.1rem}
.bcard__phone a{font-family:var(--mono);font-size:1.32rem;font-weight:600;color:var(--teal-hi);letter-spacing:-.01em}
.bcard__phone a:hover{color:#fff}
.bcard__hours{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#8B98A5;margin-top:.6rem}

.bcard__list,.bcard__steps{list-style:none;margin:0;padding:0}
.bcard__list li,.bcard__steps li{font-size:.9rem;color:#4C5967;padding:.7rem 0;border-bottom:1px solid var(--line-dk);line-height:1.55}
.bcard__list li:last-child,.bcard__steps li:last-child{border-bottom:0;padding-bottom:0}
.bcard__list li{padding-left:1.3rem;position:relative}
.bcard__list li::before{content:"";position:absolute;left:0;top:1.15rem;width:6px;height:6px;background:var(--teal)}
.bcard__steps{counter-reset:bstep}
.bcard__steps li{padding-left:2rem;position:relative;counter-increment:bstep}
.bcard__steps li::before{content:counter(bstep,decimal-leading-zero);position:absolute;left:0;top:.72rem;font-family:var(--mono);font-size:.72rem;color:var(--brass);font-weight:600}

.bcard--flag{border-left:3px solid var(--brass);background:var(--zinc-2)}

@media (max-width:1000px){
  .booking__grid{grid-template-columns:1fr;gap:2.6rem}
}
/* ==========================================================================
   BOOKING FORM
   ========================================================================== */

.isb {
	--isb-ink: var(--ink, #323F4C);
	--isb-navy: var(--navy, #1A232E);
	--isb-teal: var(--teal, #0B7A81);
	--isb-teal-lo: var(--teal-lo, #095F65);
	--isb-brass: var(--brass, #C8A24A);
	--isb-line: var(--line-dk, rgba(50,63,76,.18));
	--isb-mono: var(--mono, ui-monospace, monospace);
	--isb-sans: var(--sans, system-ui, sans-serif);

	font-family: var(--isb-sans);
	color: var(--isb-ink);
	max-width: 780px;
}

.isb-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---- alert ---- */
.isb-alert {
	background: #FBEDE4;
	border-left: 3px solid #C4652B;
	padding: 1rem 1.2rem;
	margin-bottom: 2rem;
	font-size: .95rem;
}

/* ---- step blocks ---- */
.isb-step {
	border: 0;
	border-top: 1px solid var(--isb-line);
	padding: 2.2rem 0 .6rem;
	margin: 0;
}
.isb-step:first-of-type { border-top: 0; padding-top: 0; }

.isb-step legend {
	display: flex;
	align-items: baseline;
	gap: .9rem;
	padding: 0;
	margin-bottom: 1.6rem;
}
.isb-step__n {
	font-family: var(--isb-mono);
	font-size: .72rem;
	letter-spacing: .14em;
	color: var(--isb-teal);
}
.isb-step__t {
	font-family: var(--display, inherit);
	font-size: 1.5rem;
	text-transform: uppercase;
	line-height: 1;
	color: var(--isb-ink);
}

/* ---- fields ---- */
.isb-field { margin-bottom: 1.5rem; }
.isb-row { display: flex; gap: 1.2rem; flex-wrap: wrap; }
.isb-row .isb-field { flex: 1 1 240px; }
.isb-row .isb-field--third { flex: 0 1 200px; }

.isb-label,
.isb .isb-label {
	display: block;
	font-family: var(--isb-mono);
	font-size: .72rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: .6rem;
	color: var(--isb-ink);
}
.isb-label em {
	font-style: normal;
	font-weight: 400;
	text-transform: none;
	letter-spacing: .02em;
	color: #6B7783;
	margin-left: .4rem;
}
.isb-req { color: var(--isb-brass); }

.isb input[type="text"],
.isb input[type="tel"],
.isb input[type="email"],
.isb input[type="date"],
.isb select,
.isb textarea {
	width: 100%;
	padding: .85rem 1rem;
	border: 1px solid var(--isb-line);
	background: #fff;
	font-family: var(--isb-sans);
	font-size: 1rem;
	color: var(--isb-ink);
	border-radius: 0;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.isb textarea { resize: vertical; min-height: 110px; }

.isb input:focus,
.isb select:focus,
.isb textarea:focus {
	outline: 0;
	border-color: var(--isb-teal);
	box-shadow: inset 0 0 0 1px var(--isb-teal);
}

.isb input[type="file"] {
	width: 100%;
	padding: .9rem;
	border: 1px dashed var(--isb-line);
	background: #fff;
	font-family: var(--isb-mono);
	font-size: .82rem;
}

.isb-help {
	font-size: .84rem;
	color: #6B7783;
	margin: .55rem 0 0;
	line-height: 1.5;
}
.isb-err {
	font-size: .84rem;
	color: #B4471F;
	margin: .5rem 0 0;
	font-weight: 500;
}

/* ---- checkboxes and radios ---- */
.isb-checks--grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 2px;
	background: var(--isb-line);
	border: 1px solid var(--isb-line);
}
.isb-checks--inline { display: flex; gap: .8rem; flex-wrap: wrap; }

.isb-check {
	display: flex;
	align-items: center;
	gap: .7rem;
	padding: .85rem 1rem;
	background: #fff;
	cursor: pointer;
	font-size: .93rem;
	transition: background .15s ease;
}
.isb-check:hover { background: #F4F7F7; }
.isb-check input { accent-color: var(--isb-teal); width: 17px; height: 17px; flex: none; margin: 0; }
.isb-check:has(input:checked) { background: #E7F2F2; box-shadow: inset 3px 0 0 var(--isb-teal); }

.isb-checks--inline .isb-check { border: 1px solid var(--isb-line); }

.isb-check--consent {
	padding: 1rem 1.1rem;
	border: 1px solid var(--isb-line);
	align-items: flex-start;
}

/* ---- legal note ---- */
.isb-legal {
	background: var(--isb-navy);
	color: #C3CBD3;
	padding: 1.3rem 1.4rem;
	margin-bottom: 1.5rem;
	font-size: .9rem;
	line-height: 1.6;
}
.isb-legal strong { color: #fff; display: block; margin-bottom: .5rem; }
.isb-legal p { margin: 0; }
.isb-legal p + p { margin-top: .6rem; }

/* ---- submit ---- */
.isb-submit { margin-top: 2rem; }
.isb-btn {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	background: var(--isb-teal);
	color: #fff;
	border: 0;
	padding: 1.1rem 2.2rem;
	font-family: var(--isb-mono);
	font-size: .85rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .18s ease;
}
.isb-btn:hover { background: var(--isb-teal-lo); }
.isb-btn[disabled] { opacity: .6; cursor: wait; }

/* ---- confirmation ---- */
.isb-done {
	border: 1px solid var(--line-dk, rgba(50,63,76,.18));
	border-top: 3px solid var(--teal, #0B7A81);
	background: #fff;
	padding: 2.4rem;
	max-width: 640px;
}
.isb-done__eyebrow {
	font-family: var(--mono, monospace);
	font-size: .72rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--teal, #0B7A81);
	margin: 0 0 .8rem;
}
.isb-done h2 { margin: 0 0 1rem; }
.isb-done__lead { font-size: 1.05rem; margin-bottom: 1.6rem; }
.isb-done__next {
	list-style: none;
	margin: 0 0 1.6rem;
	padding: 0;
	border-top: 1px solid var(--line-dk, rgba(50,63,76,.18));
}
.isb-done__next li {
	padding: .85rem 0 .85rem 2rem;
	border-bottom: 1px solid var(--line-dk, rgba(50,63,76,.18));
	position: relative;
	font-size: .95rem;
}
.isb-done__next li::before {
	content: counter(list-item);
	position: absolute;
	left: 0;
	font-family: var(--mono, monospace);
	font-size: .78rem;
	color: var(--teal, #0B7A81);
}
.isb-done__note { font-size: .9rem; color: #6B7783; margin: 0; }

@media (max-width: 620px) {
	.isb-row { display: block; }
	.isb-checks--grid { grid-template-columns: 1fr; }
	.isb-btn { width: 100%; justify-content: center; }
}

.isb-from{
	background:var(--zinc-2);
	border-left:3px solid var(--teal);
	padding:.9rem 1.1rem;
	font-size:.9rem;
	margin:0 0 1.5rem;
	color:var(--ink);
}

/* ==========================================================================
   BLOG, SIDEBAR AND LOCATION DETAIL
   ========================================================================== */

.blog{padding:clamp(3rem,6vw,4.5rem) 0}
.blog__grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr);gap:3.5rem;align-items:start}
.blog__intro{max-width:70ch;margin-bottom:2.8rem;font-size:1.06rem;color:#4C5967}
.blog__intro p{margin-bottom:1rem}

.pagehead--post h1{max-width:22ch}
.postmeta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:#8B98A5;margin-top:1.1rem}
.postmeta__cat{background:var(--teal);color:#fff;padding:.35rem .7rem}
.postmeta__cat:hover{background:var(--teal-hi);color:var(--navy)}
.postlead{margin-top:1.3rem;max-width:60ch;font-size:1.1rem;color:#C0C9D1;line-height:1.6}

/* ---- article cards ---- */
.pcard{display:grid;grid-template-columns:260px 1fr;gap:1.8rem;padding-bottom:2.2rem;margin-bottom:2.2rem;border-bottom:1px solid var(--line-dk)}
.pcard:last-of-type{border-bottom:0}
.pcard__img{display:block;background:var(--zinc-2);background-size:cover;background-position:center;min-height:170px}
.pcard--lead{grid-template-columns:1fr;gap:1.4rem}
.pcard--lead .pcard__img{min-height:320px}
.pcard--lead .pcard__title{font-size:clamp(1.6rem,3.2vw,2.3rem)}
.pcard__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#6B7783;margin-bottom:.8rem}
.pcard__cat{color:var(--teal);font-weight:600}
.pcard__cat:hover{color:var(--teal-lo)}
.pcard__title{font-size:1.45rem;line-height:1.05;margin-bottom:.7rem}
.pcard__title a:hover{color:var(--teal)}
.pcard__ex{font-size:.95rem;color:#4C5967;margin-bottom:1rem;line-height:1.6}
.pcard__more{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);display:inline-flex;gap:.4rem;align-items:center}
.pcard__more span{transition:transform .18s ease}
.pcard__more:hover span{transform:translateX(3px)}

.postimg{margin:0 0 2.2rem}
.posttags{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0}
.posttags a{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-dk);padding:.45rem .75rem;color:#4C5967}
.posttags a:hover{border-color:var(--teal);color:var(--teal)}

.postcta{display:flex;align-items:center;justify-content:space-between;gap:1.6rem;flex-wrap:wrap;background:var(--zinc-2);border-left:3px solid var(--teal);padding:1.8rem;margin:2.6rem 0}
.postcta h3{margin-bottom:.5rem}
.postcta p{font-size:.94rem;color:#4C5967;max-width:44ch}

.postnav{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line-dk);border:1px solid var(--line-dk);margin-top:2.4rem}
.postnav a{background:#fff;padding:1.3rem 1.4rem;font-size:.98rem;font-weight:600;line-height:1.35;transition:background .18s ease}
.postnav a:hover{background:var(--zinc-2);color:var(--teal)}
.postnav span{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:.5rem;font-weight:500}
.postnav__r{text-align:right}
.postnav__r:only-child{grid-column:2}

/* ---- sidebar ---- */
.sidebar{position:sticky;top:100px}
.swidget{border:1px solid var(--line-dk);background:#fff;padding:1.4rem;margin-bottom:1.2rem}
.swidget__title{font-family:var(--mono);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;margin-bottom:1rem;color:var(--ink)}
.swidget p{font-size:.9rem;color:#4C5967;line-height:1.6}
.swidget ul{list-style:none;margin:0;padding:0}
.swidget .searchform{display:flex;gap:.4rem}
.swidget .searchform input[type="search"]{flex:1;min-width:0}
.swidget__note{font-size:.78rem;color:#6B7783;margin-top:.9rem;line-height:1.5}
.swidget__more{display:inline-block;margin-top:.9rem;font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.swidget__more:hover{color:var(--teal-lo)}
.swidget__addr{font-size:.92rem;line-height:1.6}

.swidget--dark{background:var(--navy);border-color:var(--navy);color:#fff;padding:1.6rem}
.swidget--dark p{color:#B2BCC6}
.swidget__lead{margin:.7rem 0 .8rem;color:#fff;font-size:1.35rem}
.swidget--dark .btn{margin-top:1rem}
.swidget__phone{margin-top:1rem;font-size:.85rem}
.swidget__phone a{font-family:var(--mono);color:var(--teal-hi);font-weight:600}
.swidget__phone a:hover{color:#fff}

.sprices li{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.6rem 0;border-bottom:1px solid var(--line-dk);font-size:.88rem}
.sprices li:last-child{border-bottom:0}
.sprices__g{color:#4C5967}
.sprices__p{font-family:var(--mono);font-weight:600;color:var(--ink);white-space:nowrap}

.stags{display:flex;flex-wrap:wrap;gap:.4rem}
.stags li{margin:0}
.stags a{display:inline-flex;gap:.4rem;align-items:center;border:1px solid var(--line-dk);padding:.45rem .7rem;font-size:.82rem;color:#4C5967}
.stags a:hover{border-color:var(--teal);color:var(--teal)}
.stags a span{font-family:var(--mono);font-size:.68rem;color:#8B98A5}

.sposts li{border-bottom:1px solid var(--line-dk)}
.sposts li:last-child{border-bottom:0}
.sposts a{display:flex;gap:.85rem;align-items:flex-start;padding:.85rem 0}
.sposts a:hover .sposts__t{color:var(--teal)}
.sposts__img{width:60px;height:60px;flex:none;background-size:cover;background-position:center;background-color:var(--zinc-2)}
.sposts__t{font-size:.88rem;font-weight:600;line-height:1.35;color:var(--ink)}
.sposts__d{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#8B98A5;font-weight:400;margin-bottom:.3rem}

.sfacts li{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.7rem 0;border-bottom:1px solid var(--line-dk);font-size:.86rem}
.sfacts li:last-child{border-bottom:0}
.sfacts span{color:#6B7783;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.sfacts b{text-align:right;color:var(--ink);font-weight:600}

/* ---- location detail ---- */
.lochero{position:relative;background-color:var(--navy);background-size:cover;background-position:center;color:#fff;overflow:hidden}
.lochero__veil{position:absolute;inset:0;background:linear-gradient(110deg,rgba(26,35,46,.96) 20%,rgba(26,35,46,.7) 60%,rgba(9,95,101,.6) 100%)}
.lochero__in{position:relative;padding:clamp(3rem,7vw,5rem) 0 0}
.lochero h1{color:#fff;margin-top:1rem;max-width:16ch;font-size:clamp(2.1rem,5.4vw,4rem)}
.lochero__facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:clamp(2.4rem,5vw,3.6rem)}
.lochero__facts div{padding:1.15rem 1.2rem 1.3rem;border-right:1px solid var(--line);font-family:var(--mono);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:#9BA7B2}
.lochero__facts div:first-child{padding-left:0}
.lochero__facts div:last-child{border-right:0}
.lochero__facts b{display:block;color:#fff;font-size:.95rem;margin-bottom:.25rem;font-weight:600}

.locblock{margin-top:3rem}
.locblock h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin-bottom:1.3rem}
.locblock__note{font-size:.86rem;color:#6B7783;margin-top:1rem}

.locmats{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line-dk);border:1px solid var(--line-dk)}
.locmat{background:#fff;padding:1.1rem 1.2rem;transition:background .18s ease}
.locmat:hover{background:var(--zinc-2)}
.locmat__n{display:block;font-weight:600;margin-bottom:.35rem}
.locmat__c{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--brass)}

.locpc{display:flex;flex-wrap:wrap;gap:.45rem}
.locpc span{font-family:var(--mono);font-size:.82rem;font-weight:600;letter-spacing:.04em;border:1px solid var(--line-dk);background:#fff;padding:.55rem .85rem;color:var(--ink)}

.locnear{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line-dk);border:1px solid var(--line-dk)}
.locnear a{background:#fff;padding:1.1rem 1.2rem;transition:background .18s ease}
.locnear a:hover{background:var(--zinc-2)}
.locnear__a{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--teal);margin-bottom:.35rem}
.locnear__n{display:block;font-family:var(--display);font-size:1.15rem;text-transform:uppercase;color:var(--ink)}

@media (max-width:1000px){
  .blog__grid{grid-template-columns:1fr;gap:3rem}
  .sidebar{position:static}
  .locmats{grid-template-columns:1fr 1fr}
  .lochero__facts{grid-template-columns:1fr 1fr}
  .lochero__facts div:nth-child(2n){border-right:0}
  .lochero__facts div:nth-child(3){border-top:1px solid var(--line);padding-left:0}
}
@media (max-width:620px){
  .pcard{grid-template-columns:1fr;gap:1.1rem}
  .pcard__img{min-height:200px}
  .postnav{grid-template-columns:1fr}
  .postnav__r{text-align:left}
  .postnav__r:only-child{grid-column:1}
  .locmats,.locnear{grid-template-columns:1fr}
  .lochero__facts{grid-template-columns:1fr}
  .lochero__facts div{border-right:0;border-top:1px solid var(--line);padding-left:0}
  .lochero__facts div:first-child{border-top:0}
  .postcta{flex-direction:column;align-items:flex-start}
}

/* ==========================================================================
   SOCIAL, CONTACT, ABOUT, LEGAL
   ========================================================================== */

/* ---- social icons ---- */
.social{display:flex;gap:.35rem;list-style:none;margin:0;padding:0}
.social a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:inherit;transition:background .18s ease,color .18s ease}
.social--bar{margin-left:1rem}
.social--bar a{width:26px;height:26px;color:#8B98A5}
.social--bar a:hover{color:var(--teal-hi)}
.social--foot{margin-top:1.4rem}
.social--foot a{border:1px solid var(--line);color:#C3CBD3}
.social--foot a:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.social--stack{flex-wrap:wrap}
.social--stack a{border:1px solid var(--line-dk);color:#4C5967}
.social--stack a:hover{background:var(--teal);border-color:var(--teal);color:#fff}

.foot__links{order:-1;flex-basis:100%}
.foot__legalmenu{display:flex;flex-wrap:wrap;gap:1.2rem;list-style:none;margin:0 0 1rem;padding:0}
.foot__legalmenu a:hover{color:var(--teal-hi)}

/* ---- contact: three ways in ---- */
.ways{background:var(--zinc-2);padding:0}
.ways__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line-dk)}
.way{display:flex;flex-direction:column;background:var(--zinc-2);padding:1.9rem 1.6rem;transition:background .18s ease}
.way:hover{background:#fff}
.way__k{font-family:var(--mono);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--teal);margin-bottom:.9rem}
.way__t{font-family:var(--display);font-size:1.45rem;text-transform:uppercase;line-height:1;color:var(--ink);margin-bottom:.7rem;word-break:break-word}
.way__d{font-size:.9rem;color:#4C5967;line-height:1.55;margin-bottom:1.3rem;flex:1}
.way__go{font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.way--primary{background:var(--navy)}
.way--primary:hover{background:var(--navy-2)}
.way--primary .way__k,.way--primary .way__go{color:var(--teal-hi)}
.way--primary .way__t{color:#fff}
.way--primary .way__d{color:#B2BCC6}

.contact__h{margin-bottom:1.6rem}
.mapband{border-top:1px solid var(--line-dk);background:var(--zinc-2)}
.mapband iframe{filter:grayscale(1) contrast(1.05);transition:filter .3s ease}
.mapband:hover iframe{filter:none}

/* ---- about ---- */
.about__lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:3rem;align-items:start}
.about__leadtext{font-size:1.05rem;color:#4C5967}
.about__leadtext p{margin-bottom:1.1rem}

.numbers{background:var(--navy);color:#fff}
.numbers__grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line)}
.numbers__grid div{padding:2.2rem 1.4rem;border-right:1px solid var(--line)}
.numbers b{display:block;font-family:var(--mono);font-size:2.1rem;font-weight:600;color:var(--teal-hi);line-height:1;letter-spacing:-.02em}
.numbers span{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#8B98A5;margin-top:.6rem}

.vals{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line-dk);border:1px solid var(--line-dk)}
.val{background:var(--zinc-2);padding:1.9rem 1.7rem}
.val__n{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:var(--brass);margin-bottom:1rem;font-weight:600}
.val h3{margin-bottom:.7rem}
.val p{font-size:.94rem;color:#4C5967;line-height:1.6}

/* ---- legal ---- */
.legal__stamp{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#8B98A5;margin-top:1rem}
.blog__grid--legal{grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr)}
.entry__body--legal{max-width:68ch}
.entry__body--legal h2{font-size:clamp(1.3rem,2.4vw,1.7rem);padding-top:1.6rem;border-top:1px solid var(--line-dk);scroll-margin-top:110px}
.entry__body--legal h2:first-child{border-top:0;padding-top:0}
.entry__body--legal p,.entry__body--legal li{font-size:.97rem;line-height:1.7}
.legal__toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.legal__toc li{counter-increment:toc;border-bottom:1px solid var(--line-dk)}
.legal__toc li:last-child{border-bottom:0}
.legal__toc a{display:block;padding:.6rem 0 .6rem 1.9rem;font-size:.88rem;color:#4C5967;position:relative;line-height:1.45}
.legal__toc a::before{content:counter(toc,decimal-leading-zero);position:absolute;left:0;font-family:var(--mono);font-size:.68rem;color:var(--teal);top:.75rem}
.legal__toc a:hover{color:var(--teal)}
.stags--stack{flex-direction:column}
.stags--stack li,.stags--stack a{width:100%}

@media (max-width:1000px){
  .ways__grid{grid-template-columns:1fr}
  .about__lead{grid-template-columns:1fr;gap:1.5rem}
  .numbers__grid{grid-template-columns:1fr 1fr}
  .numbers__grid div:nth-child(2n){border-right:0}
  .vals{grid-template-columns:1fr}
  .blog__grid--legal{grid-template-columns:1fr}
  .social--bar{display:none}
}
@media (max-width:620px){
  .numbers__grid{grid-template-columns:1fr;border-left:0}
  .numbers__grid div{border-right:0;border-bottom:1px solid var(--line)}
}

/* ==========================================================================
   SERVICES, PAYMENT AND CANCELLATION
   ========================================================================== */

.isb-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px;background:var(--line-dk);border:1px solid var(--line-dk)}
.isb-service{display:block;background:#fff;cursor:pointer;transition:background .15s ease}
.isb-service:hover{background:#F4F7F7}
.isb-service input{position:absolute;opacity:0;width:0;height:0}
.isb-service__b{display:block;padding:1.1rem 1.2rem;border-left:3px solid transparent}
.isb-service:has(input:checked) .isb-service__b{background:#E7F2F2;border-left-color:var(--teal)}
.isb-service:has(input:focus-visible) .isb-service__b{outline:3px solid var(--brass);outline-offset:-3px}
.isb-service__t{display:block;font-weight:600;font-size:.95rem;margin-bottom:.3rem}
.isb-service__p{display:block;font-family:var(--mono);font-size:.9rem;font-weight:600;color:var(--teal);margin-bottom:.5rem}
.isb-service__d{display:block;font-size:.82rem;color:#6B7783;line-height:1.5}

.isb-warn{background:#FBEDE4;border-left:3px solid #C4652B;padding:.9rem 1.1rem;font-size:.92rem;margin-bottom:1.2rem}

.btn--warn{background:#B4471F;color:#fff}
.btn--warn:hover{background:#8F3818;color:#fff}

.cancelbox{border:1px solid var(--line-dk);background:#fff;padding:2.2rem;max-width:660px}
.cancelbox--done{border-top:3px solid var(--teal)}
.cancelbox h2{margin-bottom:1.3rem}
.cancelbox p{margin-bottom:1rem;color:#4C5967}

.cancelfacts{list-style:none;margin:0 0 1.8rem;padding:0;border-top:1px solid var(--line-dk)}
.cancelfacts li{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.8rem 0;border-bottom:1px solid var(--line-dk);font-size:.92rem}
.cancelfacts span{font-family:var(--mono);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:#6B7783}
.cancelfacts b{text-align:right;color:var(--ink)}

.cancelnote{padding:1.3rem 1.4rem;margin-bottom:1.8rem;font-size:.93rem;line-height:1.6}
.cancelnote strong{display:block;margin-bottom:.5rem;font-size:1rem}
.cancelnote p{margin:0 0 .6rem;color:inherit}
.cancelnote p:last-child{margin-bottom:0}
.cancelnote--ok{background:#E7F2F2;border-left:3px solid var(--teal);color:var(--ink)}
.cancelnote--late{background:#FBEDE4;border-left:3px solid #B4471F;color:var(--ink)}

.cancelform{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.cancelform__keep{font-family:var(--mono);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.cancelform__keep:hover{color:var(--teal-lo);text-decoration:underline}

@media (max-width:620px){
  .isb-services{grid-template-columns:1fr}
  .cancelbox{padding:1.5rem}
  .cancelform{flex-direction:column;align-items:stretch}
  .cancelform .btn{justify-content:center}
  .cancelform__keep{text-align:center}
}
