/*
Theme Name: MK Soft Tissue Therapy
Theme URI: https://signal.marketing/
Author: Signal Marketing
Author URI: https://signal.marketing/
Description: Bespoke WordPress theme for MK Soft Tissue Therapy — sports massage, soft tissue therapy and injury rehabilitation in Milton Keynes. Designed and built by USE SIGNAL MARKETING LTD.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
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: mk-soft-tissue-therapy
Tags: business, one-column, custom-menu, custom-logo, featured-images, translation-ready, threaded-comments

Design and build (c) 2026 USE SIGNAL MARKETING LTD. All rights reserved.
Registered in England & Wales, Company No. 16564879.
Registered office: Unit 13 Freeland Park, Wareham Road, Lytchett Matravers,
Poole, Dorset, BH16 6FA, United Kingdom.  https://signal.marketing

The visual design, layout and artwork of this theme are the intellectual
property of USE SIGNAL MARKETING LTD and are licensed to the client named
above for use on their own domain only.
*/

/* ============================================================
   MK SOFT TISSUE THERAPY
   Design tokens derived from the MKSTT logo
   ============================================================ */
:root{
  --ice:#DCE9EB; --ice-deep:#C6DBDF; --ice-lift:#EAF3F4;
  --navy:#33486A; --navy-deep:#22314A;
  --navy-70:rgba(51,72,106,.70); --navy-50:rgba(51,72,106,.50);
  --navy-16:rgba(51,72,106,.16); --navy-08:rgba(51,72,106,.08);
  --teal:#4FB5C9; --teal-deep:#1F7A90; --white:#fff;
  --display:'Instrument Sans',system-ui,sans-serif; /* swap alternates: 'Familjen Grotesk' or 'Archivo' */
  --body:'Instrument Sans',system-ui,-apple-system,sans-serif;
  --pad:clamp(20px,5vw,64px);
  --nav-h:78px; --r:4px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;background:var(--ice);color:var(--navy);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
img{display:block;max-width:100%;}
:focus-visible{outline:2px solid var(--teal-deep);outline-offset:3px;border-radius:2px;}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--navy);color:#fff;padding:12px 18px;}
.skip:focus{left:8px;top:8px;}

.wrap{max-width:1440px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
.wrap--narrow{max-width:820px;}
.tracked{font-size:10.5px;letter-spacing:.19em;text-transform:uppercase;font-weight:500;}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ---------- ANNOUNCEMENT BAR ---------- */
.announce{position:relative;z-index:60;background:var(--navy-deep);color:rgba(255,255,255,.78);font-size:12px;}
.announce__in{padding:9px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1440px;margin:0 auto;}
.announce__status{white-space:nowrap;}
.announce__status strong{color:var(--white);font-weight:600;}
.announce__status.is-closed strong{color:#F0C9C4;}
.announce__offer{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.announce__offer b{color:var(--white);font-weight:600;}
.announce__tel{white-space:nowrap;color:var(--white);font-weight:500;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1px;transition:border-color .2s;}
.announce__tel:hover{border-color:var(--teal);}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:50;border-bottom:1px solid transparent;transition:background .3s var(--ease),border-color .3s var(--ease);}
.nav.is-stuck{background:rgba(220,233,235,.94);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-bottom-color:var(--navy-16);}
.nav__in{height:var(--nav-h);padding:0 var(--pad);max-width:1440px;margin:0 auto;display:flex;align-items:center;gap:26px;transition:height .3s var(--ease);}
.nav.is-stuck .nav__in{height:64px;}
.brand{display:flex;align-items:center;gap:13px;flex:none;}
.brand__mark{width:46px;height:46px;flex:none;border-radius:50%;transition:width .3s var(--ease),height .3s var(--ease);}
.nav.is-stuck .brand__mark{width:38px;height:38px;}
.brand__txt{line-height:1.1;}
.brand__name{font-family:var(--display);font-weight:600;font-size:15.5px;letter-spacing:-.02em;display:block;}
.brand__sub{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--navy-50);display:block;margin-top:3px;}
.nav__links{display:flex;align-items:center;gap:26px;margin-left:auto;list-style:none;padding:0;margin-block:0;}
.nav__link{position:relative;display:block;padding:6px 0;font-size:14.5px;color:var(--navy-70);transition:color .2s;}
.nav__link::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--teal-deep);transition:right .28s var(--ease);}
.nav__link:hover,.nav__link[aria-current="page"]{color:var(--navy);}
.nav__link:hover::after,.nav__link[aria-current="page"]::after{right:0;}
.nav__cta{flex:none;}
.burger{display:none;width:44px;height:44px;margin-right:-10px;flex-direction:column;align-items:center;justify-content:center;flex:none;}
.burger span{display:block;width:21px;height:1.5px;flex:none;background:var(--navy);border-radius:2px;transition:transform .3s var(--ease),opacity .2s;}
.burger span+span{margin-top:6px;}
body.menu-open .burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
body.menu-open .burger span:nth-child(2){opacity:0;}
body.menu-open .burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

.menu{position:fixed;inset:0;z-index:45;background:var(--ice);padding:calc(var(--nav-h) + 52px) var(--pad) 36px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s;overflow-y:auto;}
body.menu-open .menu{opacity:1;visibility:visible;}
.menu__list{list-style:none;margin:0;padding:0;}
.menu__list li{border-bottom:1px solid var(--navy-16);opacity:0;transform:translateY(12px);}
body.menu-open .menu__list li{animation:menuIn .45s var(--ease) forwards;}
@keyframes menuIn{to{opacity:1;transform:none;}}
.menu__list a{display:block;padding:17px 0;font-family:var(--display);font-size:clamp(26px,8vw,34px);font-weight:500;letter-spacing:-.03em;}
.menu__foot{margin-top:auto;padding-top:30px;}
.menu__foot .btn{width:100%;}
.menu__meta{margin-top:20px;font-size:13px;color:var(--navy-70);line-height:1.9;}
.menu__meta a{border-bottom:1px solid var(--navy-16);}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 20px;border-radius:var(--r);font-size:14.5px;font-weight:600;transition:background .2s,color .2s,border-color .2s;white-space:nowrap;}
.btn--solid{background:var(--navy);color:var(--white);}
.btn--solid:hover{background:var(--navy-deep);}
.btn--light{background:var(--white);color:var(--navy);}
.btn--light:hover{background:var(--ice-lift);}
.btn--lg{padding:16px 28px;font-size:15.5px;}
.btn__arrow{transition:transform .25s var(--ease);}
.btn:hover .btn__arrow{transform:translateX(3px);}
.link-arrow{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:500;padding:16px 4px;border-bottom:1px solid var(--navy-16);transition:border-color .2s;}
.link-arrow:hover{border-bottom-color:var(--navy);}
.link-arrow--inv{color:rgba(255,255,255,.85);border-bottom-color:rgba(255,255,255,.25);}
.link-arrow--inv:hover{color:#fff;border-bottom-color:#fff;}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;}

/* ---------- TYPE ---------- */
h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.035em;line-height:1.06;margin:0;}
h1{font-size:clamp(40px,6.4vw,78px);}
h2{font-size:clamp(30px,4.4vw,50px);}
h3{font-size:clamp(19px,2.2vw,24px);font-weight:600;letter-spacing:-.025em;line-height:1.25;}
h1 em,h2 em,h3 em{font-style:normal;color:var(--teal-deep);font-weight:500;}
h1 em.inv,h2 em.inv{color:var(--teal);}
.eyebrow{font-family:var(--body);font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-deep);display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 22px;}
.eyebrow i{width:18px;height:1px;background:currentColor;display:block;opacity:.45;font-style:normal;}
.eyebrow--inv{color:var(--teal);}
.lede{font-size:clamp(15.5px,1.45vw,17.5px);line-height:1.62;color:var(--navy-70);max-width:46ch;margin:0 0 32px;}
.lede b{color:var(--navy);font-weight:600;}
.lede--inv{color:rgba(255,255,255,.72);}
.lede--inv b{color:#fff;}
.prose p{color:var(--navy-70);max-width:64ch;}
.prose h2{margin:44px 0 16px;}
.prose h3{margin:34px 0 12px;}
.prose ul{color:var(--navy-70);max-width:64ch;padding-left:20px;}
.prose li{margin-bottom:8px;}
.prose a{color:var(--teal-deep);border-bottom:1px solid var(--navy-16);}
.prose a:hover{border-bottom-color:var(--teal-deep);}
.prose strong{color:var(--navy);}

/* ---------- REVEAL ---------- */
.rv{opacity:0;transform:translateY(16px);animation:rise .8s var(--ease) forwards;animation-delay:var(--d,0s);}
@keyframes rise{to{opacity:1;transform:none;}}
.mask{display:block;overflow:hidden;padding-bottom:.06em;}
.mask>span{display:block;transform:translateY(105%);animation:lift .95s var(--ease) forwards;animation-delay:var(--d,0s);}
@keyframes lift{to{transform:none;}}
.io{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.io.is-in{opacity:1;transform:none;}

/* ---------- DUOTONE IMAGE ---------- */
.duo{position:relative;overflow:hidden;background:var(--navy-deep);}
.duo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08) brightness(1.02);}
.duo__tint,.duo__lift,.duo__scrim{position:absolute;inset:0;pointer-events:none;}
.duo__tint{background:var(--navy);mix-blend-mode:color;opacity:.92;}
.duo__lift{background:linear-gradient(210deg,rgba(79,181,201,.4),transparent 60%);mix-blend-mode:screen;opacity:.55;}
.duo__scrim{background:linear-gradient(to top,rgba(34,49,74,.82) 0%,rgba(34,49,74,.1) 42%,transparent 68%);}

/* ---------- HOME HERO (full bleed) ---------- */
.hero{position:relative;overflow:hidden;isolation:isolate;background:var(--navy-deep);}
.hero .stage{position:relative;min-height:min(60vh,560px);display:flex;align-items:flex-end;}
.hero .duo{position:absolute;inset:0;}
.hero .duo img{animation:slowzoom 24s ease-in-out infinite alternate;transform:scale(1.04);}
@keyframes slowzoom{to{transform:scale(1.11);}}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(80deg,rgba(34,49,74,.94) 0%,rgba(34,49,74,.72) 42%,rgba(34,49,74,.12) 88%);}
.hero__copy{position:relative;z-index:2;padding:clamp(26px,3.5vw,44px) 0 clamp(32px,4vw,52px);max-width:660px;color:#fff;}
.hero h1{color:#fff;margin-bottom:24px;}
.rail{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:repeat(4,1fr);}
.rail a{padding:20px 22px 22px;border-right:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.8);transition:background .2s,color .2s;}
.rail a:last-child{border-right:0;}
.rail a:hover{background:rgba(255,255,255,.07);color:#fff;}
.rail__name{display:block;font-weight:600;font-size:16px;letter-spacing:-.02em;color:#fff;margin-bottom:5px;}
.rail__meta{font-size:12.5px;}
.rail__meta b{color:var(--teal);font-weight:600;}

/* ---------- INNER PAGE HEAD ---------- */
.pagehead{background:linear-gradient(172deg,var(--ice-lift),var(--ice));padding:clamp(34px,5vw,66px) 0 clamp(30px,4vw,52px);border-bottom:1px solid var(--navy-16);}
.pagehead .lede{margin-bottom:0;}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--navy-50);margin:0 0 20px;padding:0;list-style:none;}
.crumbs li::after{content:'/';margin-left:8px;opacity:.5;}
.crumbs li:last-child::after{content:'';}
.crumbs a:hover{color:var(--navy);}

/* ---------- SECTIONS ---------- */
.section{padding:clamp(52px,7vw,104px) 0;}
.section + .section{padding-top:clamp(28px,3.4vw,52px);}
.section--tint{background:linear-gradient(180deg,var(--ice),var(--ice-deep));}
.section--dark{background:var(--navy-deep);color:#fff;}
.section--dark h2{color:#fff;}
.section--dark .lede{color:rgba(255,255,255,.72);}
.section__head{max-width:760px;margin:0 0 clamp(30px,4vw,48px);}
.section__head .lede{margin-bottom:0;}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center;}
.split--wide-left{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);}
.split--wide-right{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);}

/* ---------- WHAT I TREAT (static) ---------- */
.treat{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,4vw,54px) clamp(30px,4vw,60px);}
.treat__col{border-top:1.5px solid var(--navy);padding-top:16px;}
.treat__col h3{margin-bottom:9px;}
.treat__note{font-size:14px;line-height:1.5;color:var(--navy-50);margin:0 0 16px;}
.treat__col ul{list-style:none;margin:0;padding:0;}
.treat__col li{font-size:14.5px;color:var(--navy-70);padding:8px 0;border-top:1px solid var(--navy-16);}
.treat__col li:first-child{border-top:0;padding-top:0;}

/* static lists elsewhere on the site */
.tick-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));column-gap:clamp(24px,4vw,52px);border-top:1px solid var(--navy-16);}
.tick-list li{padding:13px 0;border-bottom:1px solid var(--navy-16);font-size:15px;color:var(--navy-70);display:flex;gap:12px;align-items:baseline;}
.tick-list li::before{content:"";width:4px;height:4px;flex:none;background:var(--teal);transform:translateY(-3px);}

/* ---------- BOARD (price table) ---------- */
.board{border-top:1px solid var(--navy-16);}
.board a,.board .row{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:18px;padding:20px 8px 20px 0;border-bottom:1px solid var(--navy-16);transition:padding-left .28s var(--ease),background .2s;}
.board a:hover{background:rgba(255,255,255,.5);padding-left:14px;}
.board__name{font-size:clamp(19px,2.2vw,25px);font-weight:500;letter-spacing:-.03em;}
.board__dur{font-size:12.5px;color:var(--navy-50);letter-spacing:.06em;text-transform:uppercase;}
.board__price{font-weight:600;font-size:21px;letter-spacing:-.02em;color:var(--teal-deep);min-width:56px;text-align:right;}

/* ---------- CARDS ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--navy-16);border:1px solid var(--navy-16);border-radius:var(--r);overflow:hidden;}
.card{background:rgba(255,255,255,.55);padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:12px;transition:background .2s;}
a.card:hover{background:rgba(255,255,255,.9);}
.card__price{font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-deep);}
.card p{margin:0;font-size:14.5px;color:var(--navy-70);}
.card__more{margin-top:auto;padding-top:8px;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:8px;}

/* ---------- STEPS ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--navy-16);border-top:1px solid var(--navy-16);border-bottom:1px solid var(--navy-16);}
.step{background:var(--ice);padding:clamp(22px,3vw,32px);}
.section--tint .step{background:var(--ice-lift);}
.step__n{font-weight:600;font-size:12px;color:var(--teal-deep);letter-spacing:.14em;display:block;margin-bottom:14px;}
.step h3{margin-bottom:8px;}
.step p{margin:0;font-size:14.5px;color:var(--navy-70);}

/* ---------- QUOTES ---------- */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:rgba(255,255,255,.35);border:1px solid var(--navy-16);border-radius:var(--r);overflow:hidden;}
.quote{background:rgba(255,255,255,.6);padding:clamp(24px,3vw,34px);display:flex;flex-direction:column;}
.quote blockquote{margin:0 0 18px;font-size:clamp(16px,1.7vw,18.5px);font-weight:500;letter-spacing:-.015em;line-height:1.45;}
.quote cite{font-style:normal;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-50);margin-top:auto;}
.stars{display:flex;gap:3px;margin-bottom:16px;}
.stars svg{width:13px;height:13px;fill:var(--teal-deep);}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--navy-16);max-width:840px;}
.faq details{border-bottom:1px solid var(--navy-16);}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font-size:clamp(17px,1.9vw,20px);font-weight:600;letter-spacing:-.02em;transition:color .2s;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'';position:absolute;right:6px;top:50%;width:11px;height:11px;margin-top:-8px;border-right:1.5px solid var(--teal-deep);border-bottom:1.5px solid var(--teal-deep);transform:rotate(45deg);transition:transform .28s var(--ease);}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:-3px;}
.faq summary:hover{color:var(--teal-deep);}
.faq__a{padding:0 0 22px;color:var(--navy-70);max-width:64ch;}
.faq__a p{margin:0 0 12px;}
.faq__a p:last-child{margin:0;}
.faq__a ul{margin:0;padding-left:20px;}

/* ---------- CONTACT / HOURS ---------- */
.hours{width:100%;border-collapse:collapse;border-top:1px solid var(--navy-16);}
.hours th,.hours td{text-align:left;padding:13px 8px 13px 0;border-bottom:1px solid var(--navy-16);font-weight:400;font-size:15px;}
.hours td{text-align:right;color:var(--navy-70);}
.hours tr.is-today th,.hours tr.is-today td{color:var(--teal-deep);font-weight:600;}
.hours td.closed{color:var(--navy-50);}
.map{width:100%;aspect-ratio:16/10;border:1px solid var(--navy-16);border-radius:var(--r);}
.detail{border-top:1px solid var(--navy-16);}
.detail div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--navy-16);font-size:15px;}
.detail dt{color:var(--navy-50);font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin:0;}
.detail dd{margin:0;text-align:right;}

/* ---------- FORM ---------- */
.form{display:grid;gap:16px;max-width:560px;}
.field label{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-50);margin-bottom:7px;}
.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid var(--navy-16);border-radius:var(--r);background:rgba(255,255,255,.6);font:inherit;color:var(--navy);}
.field textarea{min-height:130px;resize:vertical;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--teal-deep);background:#fff;}
.consent{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:var(--navy-70);}
.consent input{width:17px;height:17px;flex:none;margin-top:3px;}

/* ---------- CTA BAND ---------- */
.band{background:var(--navy-deep);color:#fff;padding:clamp(46px,6vw,84px) 0;}
.band h2{color:#fff;margin-bottom:16px;}
.band .lede{color:rgba(255,255,255,.72);margin-bottom:28px;}
.band__in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,60px);align-items:center;}
.band__aside{border-left:1px solid rgba(255,255,255,.18);padding-left:clamp(20px,3vw,36px);font-size:14.5px;color:rgba(255,255,255,.7);line-height:2;}
.band__aside a{color:#fff;border-bottom:1px solid rgba(255,255,255,.3);}

/* ---------- FOOTER ---------- */
.foot{background:var(--navy-deep);color:rgba(255,255,255,.62);padding:clamp(44px,5vw,72px) 0 28px;border-top:1px solid rgba(255,255,255,.12);font-size:14px;}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(24px,4vw,50px);}
.foot h3{font-size:11px;letter-spacing:.19em;text-transform:uppercase;font-family:var(--body);font-weight:600;color:#fff;margin-bottom:16px;}
.foot ul{list-style:none;margin:0;padding:0;}
.foot li{margin-bottom:9px;}
.foot a:hover{color:#fff;}
.foot__brand{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.foot__brand img{width:44px;height:44px;border-radius:50%;}
.foot__brand span{font-weight:600;font-size:15.5px;letter-spacing:-.02em;color:#fff;}
.foot__legal{margin-top:clamp(32px,4vw,52px);padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:12.5px;color:rgba(255,255,255,.45);}
.foot__legal a{border-bottom:1px solid rgba(255,255,255,.2);}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1060px){
  .treat{grid-template-columns:repeat(2,1fr);}
  .nav__links,.nav__cta{display:none;}
  .burger{display:flex;margin-left:auto;}
  .rail{grid-template-columns:repeat(2,1fr);}
  .rail a:nth-child(2){border-right:0;}
  .rail a:nth-child(1),.rail a:nth-child(2){border-bottom:1px solid rgba(255,255,255,.18);}
  .split,.split--wide-left,.split--wide-right,.band__in{grid-template-columns:1fr;}
  .band__aside{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding-left:0;padding-top:22px;}
  .foot__grid{grid-template-columns:1fr 1fr;}
  .split .visual{order:-1;}
}
@media (max-width:640px){
  .treat{grid-template-columns:1fr;}
  :root{--nav-h:66px;}
  .announce{font-size:11px;}
  .announce__tel{display:none;}
  .brand__sub{display:none;}
  .brand__mark{width:40px;height:40px;}
  .actions{display:grid;grid-template-columns:1fr;gap:4px;}
  .actions .link-arrow,.actions .btn{justify-content:center;}
  .hero .stage{min-height:auto;}
  .hero__scrim{background:linear-gradient(15deg,rgba(34,49,74,.95) 30%,rgba(34,49,74,.45) 100%);}
  .rail{grid-template-columns:1fr;}
  .rail a{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:15px 0;}
  .rail__name{margin:0;}
  .board a,.board .row{grid-template-columns:1fr auto;gap:4px 14px;}
  .board__dur{grid-column:1;}
  .board__price{grid-row:1/3;grid-column:2;align-self:center;}
  .foot__grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  .rv,.mask>span,.io{opacity:1;transform:none;}
}
/* ============================================================
   WORDPRESS CORE
   Everything above is the approved design, unchanged. Below is
   what WordPress needs on top of it.
   ============================================================ */

/* The admin bar must not sit over the sticky nav. */
body.admin-bar .nav { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar .nav { top: 46px; } }
body.admin-bar .menu { padding-top: calc(var(--nav-h) + 84px); }

.screen-reader-text {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}
.screen-reader-text:focus {
  left: 8px; top: 8px; width: auto; height: auto; clip: auto;
  z-index: 100; background: var(--navy); color: #fff; padding: 12px 18px;
}

/* Alignments for classic + block content */
.alignleft { float: left; margin: .4em 1.6em 1em 0; }
.alignright { float: right; margin: .4em 0 1em 1.6em; }
.aligncenter { display: block; margin-inline: auto; }
.prose > .alignwide { max-width: 1040px; margin-inline: auto; }
.prose > .alignfull { max-width: none; margin-inline: calc(50% - 50vw); width: 100vw; }

.wp-caption { max-width: 100%; }
.wp-caption-text, .prose figcaption {
  font-size: 12.5px; color: var(--navy-50); text-align: center; margin-top: 10px;
}
.prose img, .prose figure { border-radius: var(--r); }
.prose > * + * { margin-top: 1.1em; }
.prose blockquote {
  margin: 28px 0; padding: 4px 0 4px 22px;
  border-left: 2px solid var(--teal-deep);
  font-size: clamp(17px, 2vw, 21px); font-weight: 500;
  letter-spacing: -.02em; color: var(--navy);
}
.prose code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .88em; background: rgba(255, 255, 255, .6);
  border: 1px solid var(--navy-16); padding: .1em .4em; border-radius: 3px;
}
.prose pre {
  background: var(--navy-deep); color: #fff; padding: 20px 22px;
  border-radius: var(--r); overflow-x: auto; font-size: 14px;
}
.prose pre code { background: none; border: 0; padding: 0; color: inherit; }
.prose table { width: 100%; border-collapse: collapse; font-size: 15px; display: block; overflow-x: auto; }
.prose th, .prose td { border-bottom: 1px solid var(--navy-16); padding: 11px 10px 11px 0; text-align: left; }
.prose hr { border: 0; border-top: 1px solid var(--navy-16); margin: 40px 0; }

/* Post grid, used by the blog index, archives and search */
.postgrid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1px; background: var(--navy-16); border: 1px solid var(--navy-16);
  border-radius: var(--r); overflow: hidden;
}
.postcard {
  background: rgba(255, 255, 255, .55); display: flex; flex-direction: column;
  transition: background .2s;
}
.postcard:hover { background: rgba(255, 255, 255, .9); }
.postcard__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--navy-deep); }
.postcard__media img { width: 100%; height: 100%; object-fit: cover; }
.postcard__body { padding: clamp(20px, 2.6vw, 28px); display: flex; flex-direction: column; flex: 1; gap: 10px; }
.postcard__meta { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--navy-50); }
.postcard__body h2, .postcard__body h3 { font-size: clamp(18px, 2vw, 21px); }
.postcard__body p { margin: 0; font-size: 14.5px; color: var(--navy-70); flex: 1; }
.postcard__more { font-size: 13.5px; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; }

/* Pagination */
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-top: 48px; }
.pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 42px; height: 42px; padding: 0 15px; border-radius: var(--r);
  border: 1px solid var(--navy-16); color: var(--navy-70); font-size: 14.5px; font-weight: 600;
  transition: border-color .2s, color .2s, background .2s;
}
.pagination .page-numbers:hover { border-color: var(--navy); color: var(--navy); }
.pagination .page-numbers.current { background: var(--navy); border-color: var(--navy); color: #fff; }
.pagination .screen-reader-text { display: none; }

/* Comments */
.comment-list, .comment-list .children { list-style: none; margin: 0; padding: 0; }
.comment-list .children { padding-left: 22px; border-left: 1px solid var(--navy-16); margin-top: 18px; }
.comment-list > li + li { margin-top: 18px; }
.comment-body {
  background: rgba(255, 255, 255, .55); border: 1px solid var(--navy-16);
  border-radius: var(--r); padding: 20px 22px;
}
.comment-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; font-size: 13.5px; }
.comment-awaiting-moderation { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--teal-deep); }
img.avatar { border-radius: 50%; object-fit: cover; aspect-ratio: 1 / 1; flex: none; }

.sticky .postcard { outline: 1.5px solid var(--teal-deep); outline-offset: -1.5px; }

/* ---------- ENQUIRY FORM ---------- */
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 560px) { .field-row { grid-template-columns: 1fr; } }

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

.form__note {
  display: none; margin: 0; padding: 12px 16px; border-radius: var(--r);
  font-size: 14px; line-height: 1.5;
}
.form__note.is-visible { display: block; }
.form__note.is-ok { background: rgba(31, 122, 144, .1); color: var(--teal-deep); }
.form__note.is-err { background: rgba(176, 58, 46, .09); color: #A33A31; }
.form__submit[disabled] { opacity: .6; cursor: not-allowed; }
.form .btn { justify-self: start; }

/* ---------- PAGE SECTIONS ---------- */

/* Two-tone stat strip */
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1px; background: var(--navy-16); border-top: 1px solid var(--navy-16); border-bottom: 1px solid var(--navy-16); }
.stat { background: var(--ice); padding: clamp(22px, 3vw, 30px); }
.section--tint .stat { background: var(--ice-lift); }
.section--dark .stats { background: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .16); }
.section--dark .stat { background: var(--navy-deep); }
.stat__n { display: block; font-family: var(--display); font-size: clamp(28px, 3.4vw, 40px); font-weight: 500; letter-spacing: -.03em; line-height: 1; color: var(--teal-deep); margin-bottom: 10px; }
.section--dark .stat__n { color: var(--teal); }
.stat p { margin: 0; font-size: 14.5px; color: var(--navy-70); }
.section--dark .stat p { color: rgba(255, 255, 255, .7); }

/* Alternating feature rows */
.rows { display: grid; gap: clamp(36px, 5vw, 72px); }
.row-feat { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 60px); align-items: center; }
.row-feat:nth-child(even) .row-feat__visual { order: 2; }
@media (max-width: 900px) {
  .row-feat { grid-template-columns: 1fr; }
  .row-feat:nth-child(even) .row-feat__visual { order: -1; }
  .row-feat__visual { order: -1; }
}

/* Numbered list with a rule, used for process-style content */
.numbered { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--navy-16); }
.numbered li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--navy-16); }
.numbered__n { font-size: 12px; font-weight: 600; letter-spacing: .14em; color: var(--teal-deep); padding-top: 4px; }
.numbered h3 { margin-bottom: 6px; }
.numbered p { margin: 0; font-size: 14.5px; color: var(--navy-70); max-width: 62ch; }

/* Pull quote */
.pull { border-left: 2px solid var(--teal-deep); padding: 6px 0 6px 26px; margin: 0; }
.pull blockquote { margin: 0; font-family: var(--display); font-size: clamp(20px, 2.6vw, 30px); font-weight: 500; letter-spacing: -.03em; line-height: 1.25; }
.pull cite { display: block; margin-top: 16px; font-style: normal; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--navy-50); }

/* Simple definition grid */
.deflist { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1px; background: var(--navy-16); border: 1px solid var(--navy-16); border-radius: var(--r); overflow: hidden; }
.deflist > div { background: rgba(255, 255, 255, .55); padding: clamp(20px, 2.6vw, 28px); }
.deflist dt { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--teal-deep); margin: 0 0 8px; font-weight: 600; }
.deflist dd { margin: 0; font-size: 14.5px; color: var(--navy-70); }

/* A–Z / chip list */
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.chips li a, .chips li span {
  display: inline-block; padding: 9px 15px; border: 1px solid var(--navy-16);
  border-radius: 999px; font-size: 14px; color: var(--navy-70); transition: border-color .2s, color .2s, background .2s;
}
.chips li a:hover { border-color: var(--navy); color: var(--navy); background: rgba(255, 255, 255, .5); }

/* Inline note / callout */
.note {
  border: 1px solid var(--navy-16); border-left: 2px solid var(--teal-deep);
  border-radius: var(--r); padding: 20px 22px; background: rgba(255, 255, 255, .5);
  font-size: 15px; color: var(--navy-70); max-width: 64ch;
}
.note strong { color: var(--navy); }

/* ---------- COOKIE CONSENT ---------- */
.cc {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 200;
  padding: 0 var(--pad) max(16px, env(safe-area-inset-bottom));
  animation: ccIn .45s var(--ease) both;
}
@keyframes ccIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

.cc__inner {
  max-width: 1440px; margin: 0 auto 16px;
  background: var(--navy-deep); color: rgba(255, 255, 255, .78);
  border-radius: var(--r); padding: clamp(20px, 3vw, 28px);
  box-shadow: 0 18px 50px rgba(34, 49, 74, .35);
}
.cc__title { font-size: clamp(18px, 2.2vw, 22px); color: #fff; margin: 0 0 8px; }
.cc__text { margin: 0 0 18px; font-size: 14.5px; line-height: 1.6; max-width: 78ch; }
.cc__text a { color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .35); }
.cc__text a:hover { border-bottom-color: #fff; }

.cc__actions { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; }
/* Accept and Reject are deliberately identical — equal prominence is a
   requirement, not a style choice. */
.cc__actions .btn { min-width: 190px; justify-content: center; }
.cc__link {
  font-size: 14px; color: rgba(255, 255, 255, .8);
  border-bottom: 1px solid rgba(255, 255, 255, .3); padding: 2px 0;
}
.cc__link:hover { color: #fff; border-bottom-color: #fff; }

.cc__prefs { margin-top: 22px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .16); }
.cc__row {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .1);
  font-size: 14px; cursor: pointer;
}
.cc__row:last-of-type { border-bottom: 0; }
.cc__row input { width: 18px; height: 18px; flex: none; margin-top: 2px; accent-color: var(--teal); }
.cc__row strong { color: #fff; font-weight: 600; display: block; margin-bottom: 3px; }
.cc__desc { display: block; opacity: .75; line-height: 1.55; }
.cc__actions--prefs { margin-top: 18px; }

@media (max-width: 640px) {
  .cc__actions .btn { min-width: 0; width: 100%; }
  .cc__actions { gap: 8px; }
}

.foot__credit a { border-bottom: 1px solid rgba(255, 255, 255, .2); }
.cc-open { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; border-bottom: 1px solid rgba(255, 255, 255, .2); }

/* Figures opted out of the duotone treatment. */
.plain-fig { position: relative; overflow: hidden; background: var(--ice-deep); }
.plain-fig img { width: 100%; height: 100%; object-fit: cover; }

/* Longer testimonials need the quote to breathe. */
.quote blockquote { font-size: clamp(15px, 1.5vw, 17px); line-height: 1.55; }
