@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  --ink:#0B333F;
  --deep:#0E4D64;
  --mid:#1C7A93;
  --paper:#EEF1EE;
  --paper2:#E4E9E5;
  --white:#FBFCFB;
  --line:#CBD6D3;
  --muted:#5C6D6C;
  --amber:#E0982E;
  --amber-d:#C6821D;
  --tang:#F26A3D;
  --tang-d:#DD5628;
  --green:#2E8B6F;
  --shadow:0 28px 70px -44px rgba(11,51,63,.45);
  --display:'Space Grotesk',system-ui,sans-serif;
  --body:'Inter',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --wrap:1180px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--white)}
body{font-family:var(--body);color:var(--ink);background:var(--white);line-height:1.62;-webkit-font-smoothing:antialiased;min-height:100vh}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
img,svg{display:block;max-width:100%}
.wrap{width:min(100% - 48px,var(--wrap));margin-inline:auto}
.narrow{width:min(100% - 48px,860px);margin-inline:auto}
.skip-link{position:fixed;z-index:9999;left:14px;top:12px;padding:10px 14px;background:#fff;color:var(--ink);border-radius:8px;transform:translateY(-180%);box-shadow:0 10px 30px rgba(0,0,0,.15)}
.skip-link:focus{transform:none}

h1,h2,h3,h4{font-family:var(--display);line-height:1.04;letter-spacing:-.03em}
h1{font-size:clamp(42px,7vw,88px);font-weight:700}
h2{font-size:clamp(30px,4.4vw,52px);font-weight:600}
h3{font-size:clamp(20px,2.3vw,28px);font-weight:600}
p{color:#31484e}
.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);font-weight:600}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.lead{font-size:clamp(18px,2vw,21px);line-height:1.6;color:#345159;max-width:66ch}
.small{font-size:13px;color:var(--muted)}
.mono{font-family:var(--mono)}

/* Header */
.site-header{position:sticky;top:0;z-index:120;background:rgba(251,252,251,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(203,214,211,.8)}
.navbar{height:72px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em;white-space:nowrap}
.brand svg{width:30px;height:30px;color:var(--deep);flex:none}
.brand small{display:block;font-family:var(--mono);font-size:10.5px;font-weight:500;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;line-height:1.2;margin-top:3px}
.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:22px}
.desktop-nav a{font-size:14px;font-weight:600;color:#506669;position:relative}
.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:var(--ink)}
.desktop-nav a[aria-current="page"]::after{content:"";position:absolute;height:2px;left:0;right:0;bottom:-12px;background:var(--deep)}
.nav-actions{display:flex;gap:10px;align-items:center}
.menu-btn{display:none;margin-left:auto;background:transparent;border:1px solid var(--line);border-radius:10px;padding:9px 11px;cursor:pointer}
.menu-btn span{display:block;width:22px;height:2px;background:var(--ink);margin:4px 0;border-radius:2px}
.mobile-nav{display:none;position:fixed;inset:72px 0 auto;background:var(--white);border-bottom:1px solid var(--line);padding:14px 24px 24px;box-shadow:0 22px 40px rgba(11,51,63,.12)}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:13px 4px;border-bottom:1px solid var(--paper2);font-family:var(--display);font-weight:600}
.mobile-nav .btn{margin-top:16px;width:100%;justify-content:center}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 19px;border:1.5px solid transparent;border-radius:10px;font-family:var(--display);font-weight:600;font-size:14.5px;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease;min-height:46px}
.btn:hover{transform:translateY(-1px)}
.btn-deep{background:var(--deep);color:#fff}
.btn-deep:hover{background:var(--ink)}
.btn-amber{background:var(--amber);color:#241604}
.btn-amber:hover{background:var(--amber-d)}
.btn-tang{background:var(--tang);color:#fff}
.btn-tang:hover{background:var(--tang-d)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--deep);color:var(--deep)}
.btn-white{background:#fff;color:var(--ink)}
.btn-white:hover{background:var(--paper)}
.link-arrow{font-family:var(--display);font-weight:600;display:inline-flex;align-items:center;gap:8px}
.link-arrow::after{content:"→";transition:transform .18s}
.link-arrow:hover::after{transform:translateX(3px)}

/* Hero base */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(14,77,100,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(14,77,100,.04) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000 0%,transparent 78%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:56px;align-items:center;padding:78px 0 84px;position:relative;z-index:2}
.hero-copy h1{margin:13px 0 22px;max-width:13ch}
.hero-copy .lead{margin-bottom:30px;max-width:58ch}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
.pill{font-family:var(--mono);font-size:11.5px;padding:7px 11px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.8);color:#496164}
.hero-visual{min-height:500px;position:relative}
.lab-card{position:absolute;inset:0;border-radius:28px;background:var(--ink);color:#fff;overflow:hidden;box-shadow:0 42px 90px -52px rgba(11,51,63,.8)}
.lab-card::before,.lab-card::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%}
.lab-card::before{width:460px;height:460px;right:-210px;top:-130px}
.lab-card::after{width:300px;height:300px;right:-95px;top:-40px}
.lab-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:34px 34px}
.lab-content{position:absolute;inset:0;padding:34px;display:flex;flex-direction:column;justify-content:space-between}
.lab-label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#96bcc1}
.lab-word{font-family:var(--display);font-weight:700;font-size:clamp(50px,8vw,92px);letter-spacing:-.06em;line-height:.88;max-width:7ch}
.lab-word span{display:block;color:var(--amber)}
.lab-bottom{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lab-tile{border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:15px;background:rgba(255,255,255,.05)}
.lab-tile b{font-family:var(--display);display:block;font-size:15px;margin-bottom:3px}
.lab-tile small{color:#aac7ca;font-size:11.5px;line-height:1.45}

/* Home split */
.home-hero{background:radial-gradient(700px 360px at 15% 0%,rgba(224,152,46,.11),transparent 70%),radial-gradient(700px 360px at 85% 0%,rgba(242,106,61,.12),transparent 70%),linear-gradient(180deg,#fff,var(--paper))}
.home-hero .hero-grid{grid-template-columns:1fr;padding:82px 0 52px;text-align:center;gap:0}
.home-hero h1{max-width:12ch;margin-inline:auto}
.home-hero .lead{margin-inline:auto}
.home-hero .hero-actions{justify-content:center}
.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 0 86px;position:relative;z-index:3}
.route-card{position:relative;min-height:430px;padding:34px;border-radius:24px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;box-shadow:var(--shadow)}
.route-card h2{font-size:clamp(34px,4.8vw,54px);margin:15px 0 14px;max-width:10ch}
.route-card p{font-size:16px;max-width:42ch}
.route-card ul{list-style:none;margin:24px 0 26px;display:grid;gap:9px}
.route-card li{padding-left:18px;position:relative;color:#395157;font-size:14.5px}
.route-card li::before{content:"/";position:absolute;left:0;font-family:var(--mono);font-weight:700}
.route-card .btn{margin-top:auto;align-self:flex-start}
.route-b2b{background:linear-gradient(150deg,#fff7e8,#fff 68%)}
.route-b2b .eyebrow,.route-b2b li::before{color:var(--amber-d)}
.route-b2b::after{content:"B2B";position:absolute;right:-22px;bottom:-48px;font-family:var(--display);font-size:180px;font-weight:700;color:rgba(224,152,46,.075);letter-spacing:-.08em}
.route-b2c{background:linear-gradient(150deg,#fff3ed,#fff 68%)}
.route-b2c .eyebrow,.route-b2c li::before{color:var(--tang-d)}
.route-b2c::after{content:"B2C";position:absolute;right:-22px;bottom:-48px;font-family:var(--display);font-size:180px;font-weight:700;color:rgba(242,106,61,.07);letter-spacing:-.08em}

/* Sections */
.section{padding:86px 0}
.section-sm{padding:56px 0}
.section-paper{background:var(--paper)}
.section-ink{background:var(--ink);color:#fff}
.section-deep{background:var(--deep);color:#fff}
.section-tang{background:var(--tang);color:#fff}
.section-ink p,.section-deep p{color:#b9cfd2}
.section-tang p{color:#ffe7df}
.section-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:36px}
.section-head > div:first-child{max-width:720px}
.section-head h2{margin:11px 0 10px}
.section-head p{font-size:16.5px;max-width:62ch}
.center-head{text-align:center;max-width:760px;margin:0 auto 40px}
.center-head h2{margin:11px 0 12px}
.center-head p{font-size:16.5px}

.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}

.card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 14px 45px -38px rgba(11,51,63,.35)}
.card h3{margin:9px 0 9px}
.card p{font-size:14.5px;color:var(--muted)}
.card .card-num{font-family:var(--mono);font-size:11px;color:var(--mid);letter-spacing:.12em;text-transform:uppercase}
.card-dark{background:#0d3c48;border-color:rgba(255,255,255,.12);color:#fff}
.card-dark p{color:#aec8cc}
.card-accent-b2b{border-top:4px solid var(--amber)}
.card-accent-b2c{border-top:4px solid var(--tang)}

.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.feature{padding:24px;border:1px solid var(--line);border-radius:17px;background:#fff}
.feature .n{font-family:var(--mono);font-size:11px;color:var(--mid);letter-spacing:.12em}
.feature h3{font-size:19px;margin:10px 0 7px}
.feature p{font-size:13.8px;color:var(--muted)}

/* Brand statement */
.statement{background:var(--ink);color:#fff;overflow:hidden;position:relative}
.statement::after{content:"MOVE / MEASURE / REPEAT";position:absolute;white-space:nowrap;bottom:-28px;left:-30px;font-family:var(--display);font-size:clamp(72px,12vw,170px);font-weight:700;color:rgba(255,255,255,.025);letter-spacing:-.06em}
.statement .wrap{padding:76px 0;position:relative;z-index:2}
.statement h2{font-size:clamp(36px,5.4vw,66px);max-width:18ch}
.statement h2 em{font-style:normal;color:var(--amber)}
.statement p{color:#adc7cb;max-width:60ch;margin-top:18px;font-size:17px}

/* B2B */
.b2b-hero{background:radial-gradient(900px 480px at 85% 0%,rgba(224,152,46,.17),transparent 65%),linear-gradient(180deg,#fff,var(--paper))}
.b2b-hero .hero-copy .eyebrow{color:var(--amber-d)}
.b2b-hero .lab-word span{color:var(--amber)}
.b2b-hero .lab-card{background:linear-gradient(160deg,var(--ink),#123f4c)}
.segment-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.segment{border-radius:18px;padding:24px;background:#fff;border:1px solid var(--line)}
.segment .tag{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--amber-d)}
.segment h3{margin:9px 0 8px;font-size:22px}
.segment ul{list-style:none;display:grid;gap:7px;margin-top:13px}
.segment li{font-size:13.5px;color:var(--muted);padding-left:16px;position:relative}
.segment li::before{content:"›";position:absolute;left:0;color:var(--amber-d);font-weight:700}

.offer-stack{display:grid;gap:14px}
.offer-row{display:grid;grid-template-columns:96px 1.2fr 1fr auto;gap:22px;align-items:center;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:16px;transition:.18s}
.offer-row:hover{border-color:var(--amber);transform:translateY(-2px);box-shadow:var(--shadow)}
.offer-code{font-family:var(--mono);font-size:11px;color:var(--amber-d);letter-spacing:.08em}
.offer-row h3{font-size:22px;margin-bottom:5px}
.offer-row p{font-size:13.8px;color:var(--muted)}
.offer-meta{font-family:var(--mono);font-size:11.5px;color:#52676b;line-height:1.6}
.offer-price{white-space:nowrap;font-family:var(--display);font-weight:700;font-size:16px;text-align:right}
.offer-price span{display:block;font-family:var(--mono);font-weight:500;font-size:11px;color:var(--muted);margin-top:3px}

/* calculator */
.calc{background:linear-gradient(160deg,#0c3c49,var(--ink));color:#fff;border-radius:24px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.calc h3{font-size:30px;margin:9px 0 10px}
.calc p{color:#a9c4c8;font-size:14px}
.calc-fields{display:grid;gap:18px;margin-top:24px}
.calc-field label{display:flex;justify-content:space-between;gap:12px;color:#d6e5e7;font-size:13px;margin-bottom:8px}
.calc-field b{font-family:var(--mono);color:#fff}
input[type="range"]{width:100%;accent-color:var(--amber)}
.calc-output{background:#0f596f;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:26px;display:flex;flex-direction:column;justify-content:center}
.calc-output .big{font-family:var(--mono);font-size:clamp(38px,6vw,64px);font-weight:600;line-height:1;color:#fff;margin:8px 0 20px}
.calc-output .scenario{border-top:1px solid rgba(255,255,255,.14);padding-top:18px}
.calc-output .scenario b{display:block;font-family:var(--mono);font-size:32px;color:#FFD08A;line-height:1.1;margin:6px 0}
.calc-output small{color:#C4D9DC;font-size:12.5px;line-height:1.5}

.measure-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.measure{border:1px solid rgba(255,255,255,.13);border-radius:15px;padding:19px;background:rgba(255,255,255,.04)}
.measure b{display:block;color:#fff;font-family:var(--display);font-size:17px;margin-bottom:5px}
.measure span{color:#a8c4c7;font-size:12.5px}

/* B2C */
.b2c-hero{background:radial-gradient(850px 500px at 85% 0%,rgba(242,106,61,.16),transparent 65%),radial-gradient(700px 420px at 2% 100%,rgba(46,139,111,.10),transparent 60%),linear-gradient(180deg,#fff,#fbf4ed)}
.b2c-hero .hero-copy .eyebrow{color:var(--tang-d)}
.b2c-hero .lab-card{background:linear-gradient(155deg,#103e48,#173139)}
.b2c-hero .lab-word span{color:var(--tang)}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.service-card{min-height:305px;border-radius:20px;padding:28px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;position:relative;overflow:hidden}
.service-card::after{content:attr(data-code);position:absolute;right:-8px;bottom:-22px;font-family:var(--display);font-size:94px;font-weight:700;letter-spacing:-.07em;color:rgba(14,77,100,.035)}
.service-card .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tang-d)}
.service-card h3{font-size:28px;margin:10px 0 9px;max-width:13ch}
.service-card p{font-size:14.5px;color:var(--muted);max-width:48ch}
.service-card ul{list-style:none;margin:18px 0;display:grid;gap:6px}
.service-card li{font-size:13px;color:#455e62;padding-left:17px;position:relative}
.service-card li::before{content:"+";position:absolute;left:0;color:var(--tang-d);font-weight:700}
.service-card .service-foot{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-top:auto;padding-top:14px;border-top:1px dashed var(--line)}
.service-card .price{font-family:var(--display);font-weight:700}
.service-card .price small{display:block;font-family:var(--mono);font-weight:500;color:var(--muted);font-size:10.5px;margin-top:2px}

.progress-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:step}
.progress-item{padding:22px;border-radius:16px;border:1px solid var(--line);background:#fff}
.progress-item::before{counter-increment:step;content:"0" counter(step);display:block;font-family:var(--mono);font-size:11px;color:var(--tang-d);letter-spacing:.1em;margin-bottom:10px}
.progress-item h3{font-size:19px;margin-bottom:7px}
.progress-item p{font-size:13.5px;color:var(--muted)}

.location-switch{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.location-switch button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 16px;font-weight:600;font-family:var(--display);cursor:pointer}
.location-switch button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.location-panel{display:none}
.location-panel.active{display:block}
.location-card{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}
.location-card h3{font-size:27px;margin:8px 0 10px}
.location-card ul{list-style:none;display:grid;gap:8px;margin-top:14px}
.location-card li{font-size:13.5px;color:var(--muted);padding-left:17px;position:relative}
.location-card li::before{content:"/";position:absolute;left:0;color:var(--tang-d);font-family:var(--mono)}
.location-note{background:var(--paper);border-radius:14px;padding:20px}
.location-note b{font-family:var(--display);display:block;margin-bottom:7px}
.location-note p{font-size:13.5px}

.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.price-card{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff;position:relative}
.price-card.featured{border-color:var(--tang);box-shadow:0 0 0 1px var(--tang) inset}
.price-card .badge{position:absolute;top:-10px;left:18px;background:var(--tang);color:#fff;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;border-radius:6px;padding:4px 8px}
.price-card h3{font-size:19px;margin-bottom:10px}
.price-card .amt{font-family:var(--mono);font-size:28px;font-weight:600;color:var(--deep)}
.price-card .per{font-size:12px;color:var(--muted)}
.price-card ul{list-style:none;display:grid;gap:7px;margin:17px 0 20px}
.price-card li{font-size:12.8px;color:var(--muted);padding-left:16px;position:relative}
.price-card li::before{content:"›";position:absolute;left:0;color:var(--green);font-weight:700}

/* Shop */
.shop-hero{background:linear-gradient(180deg,#fff,var(--paper))}
.shop-hero .hero-grid{grid-template-columns:1fr .8fr}
.shop-hero .lab-card{background:linear-gradient(150deg,var(--deep),var(--ink))}
.shop-hero .lab-word span{color:var(--tang)}
.shop-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.shop-filter button{border:1px solid var(--line);background:#fff;padding:8px 13px;border-radius:999px;font-family:var(--mono);font-size:11px;cursor:pointer}
.shop-filter button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.product{background:#fff;border:1px solid var(--line);border-radius:19px;padding:22px;display:flex;flex-direction:column;min-height:330px;position:relative;overflow:hidden}
.product::before{content:attr(data-index);position:absolute;right:-7px;top:-17px;font-family:var(--mono);font-size:82px;font-weight:600;color:rgba(14,77,100,.035)}
.product .ptag{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--deep);margin-bottom:11px}
.product h3{font-size:22px;margin-bottom:8px;max-width:16ch}
.product p{font-size:13.8px;color:var(--muted)}
.product .spec{font-family:var(--mono);font-size:10.8px;color:#536d71;margin-top:12px;line-height:1.55}
.product .pfoot{margin-top:auto;padding-top:18px;border-top:1px dashed var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.product .price{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--deep)}
.bundle{grid-column:span 2;background:linear-gradient(135deg,#f9efe7,#fff);border-color:#e8c9ba}
.bundle h3{font-size:28px;max-width:18ch}

.cart-btn{position:fixed;right:22px;bottom:22px;z-index:90;border:0;border-radius:999px;padding:12px 18px;background:var(--ink);color:#fff;font-family:var(--display);font-weight:600;box-shadow:0 18px 38px rgba(11,51,63,.28);cursor:pointer}
.cart-panel,.modal-overlay{position:fixed;inset:0;background:rgba(7,27,34,.58);backdrop-filter:blur(4px);display:none;align-items:flex-start;justify-content:center;z-index:300;padding:24px;overflow:auto}
.cart-panel.open,.modal-overlay.open{display:flex}
.cart-box,.checkout-box{margin:auto;background:#fff;border-radius:20px;width:min(100%,520px);padding:26px;box-shadow:0 40px 90px rgba(0,0,0,.28)}
.cart-head,.checkout-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.cart-head h3,.checkout-head h3{font-size:24px}
.icon-btn{border:0;background:transparent;font-size:27px;color:var(--muted);cursor:pointer;line-height:1}
.cart-list{display:grid;gap:10px}
.cart-item{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--paper2)}
.cart-item strong{font-size:14px}
.cart-item small{font-family:var(--mono);color:var(--muted)}
.cart-remove{border:0;background:transparent;color:var(--tang-d);cursor:pointer;font-size:12px}
.cart-item-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.cart-item-actions>button:not(.cart-remove){width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;font-weight:700}.cart-item-actions>span{min-width:20px;text-align:center;font-family:var(--mono);font-size:12px}
.cart-total{display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-family:var(--display);font-weight:700}
.cart-total strong{font-family:var(--mono);font-size:24px}
.cart-actions{display:flex;gap:10px}
.cart-actions .btn{flex:1}

/* Forms */
.form-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{margin-bottom:14px}
.field.full{grid-column:1/-1}
.field label{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:#496266;margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;padding:12px 13px;border:1px solid #cbd6d3;border-radius:9px;background:#fff;color:var(--ink);font-size:14px}
.field textarea{min-height:112px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid rgba(28,122,147,.18);border-color:var(--mid)}
.checkbox{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--muted);line-height:1.45;margin:8px 0 15px}
.checkbox input{width:17px;height:17px;flex:none;margin-top:1px;accent-color:var(--deep)}
.checkbox a{text-decoration:underline;color:var(--deep)}
.form-success{display:none;padding:16px;border-radius:12px;background:#eaf5ef;color:#286b55;font-size:14px;margin-top:12px}
.form-error{display:none;padding:12px;border-radius:10px;background:#fff1ed;color:#9c4528;font-size:13px;margin-top:12px}
.shop-message{padding:12px 14px;border-radius:10px;margin-bottom:14px;font-size:13px}.shop-message.error{background:#fff1ed;color:#8d3f27;border:1px solid #e9b7a7}

/* About / knowledge / local pages */
.manifest-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}
.manifest-side{position:sticky;top:104px}
.manifest-side h2{font-size:clamp(34px,5vw,58px);margin-top:11px}
.principles{display:grid;gap:12px}
.principle{padding:22px;border:1px solid var(--line);border-radius:17px;background:#fff;display:grid;grid-template-columns:54px 1fr;gap:16px}
.principle .idx{font-family:var(--mono);font-size:12px;color:var(--mid)}
.principle h3{font-size:20px;margin-bottom:6px}
.principle p{font-size:13.8px;color:var(--muted)}

.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.article-card{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff;min-height:245px;display:flex;flex-direction:column}
.article-card .cat{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mid)}
.article-card h3{font-size:22px;margin:10px 0 8px}
.article-card p{font-size:13.5px;color:var(--muted)}
.article-card .link-arrow{margin-top:auto;padding-top:18px;font-size:13px}

.local-hero{background:linear-gradient(180deg,#fff,var(--paper))}
.local-badge{display:inline-flex;gap:7px;align-items:center;font-family:var(--mono);font-size:11px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#50666a;margin-top:20px}
.local-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.local-cta{border-radius:20px;padding:26px;min-height:260px;display:flex;flex-direction:column}
.local-cta h3{font-size:29px;margin:10px 0 9px}
.local-cta p{font-size:14px}
.local-cta .btn{margin-top:auto;align-self:flex-start}
.local-cta.b2b{background:#fff7e8;border:1px solid #ead7ae}
.local-cta.b2c{background:#fff1eb;border:1px solid #f0c8ba}

/* FAQ */
.faq{display:grid;gap:10px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 18px}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:16px 0;font-family:var(--display);font-weight:600;font-size:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:20px;color:var(--mid)}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 0 18px;font-size:14px;color:var(--muted)}

/* CTA */
.cta-band{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--deep),var(--ink));color:#fff}
.cta-band .wrap{padding:70px 0;position:relative;z-index:2;text-align:center}
.cta-band h2{max-width:19ch;margin:10px auto 14px}
.cta-band p{color:#bcd2d5;max-width:56ch;margin:0 auto 26px}
.cta-band .hero-actions{justify-content:center}
.cta-band::after{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-250px;top:-260px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}

/* Footer */
.site-footer{background:var(--ink);color:#a9c2c5;padding:48px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.25fr .8fr .8fr .8fr;gap:28px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.1)}
.site-footer .brand{color:#fff;margin-bottom:14px;display:inline-flex}
.site-footer h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#71969b;margin-bottom:12px}
.site-footer a{display:block;padding:4px 0;color:#c7d8da;font-size:13.5px}
.site-footer a:hover{color:#fff}
.site-footer p{color:#8fafb3;font-size:13px;max-width:36ch}
.footer-bottom{display:flex;justify-content:space-between;gap:18px;align-items:center;padding-top:22px;font-family:var(--mono);font-size:10.5px;color:#729398;flex-wrap:wrap}

/* Legal */
.legal-hero{padding:54px 0 20px;background:linear-gradient(180deg,#fff,var(--paper));border-bottom:1px solid var(--line)}
.legal-hero h1{font-size:clamp(34px,5vw,56px);margin:10px 0 8px}
.legal-content{padding:30px 0 70px}
.legal-content h2{font-size:21px;color:var(--deep);margin:28px 0 8px}
.legal-content p,.legal-content li{font-size:14.5px;color:#31484e}
.legal-content ul{padding-left:20px;margin:8px 0}
.legal-note{background:#fff7e9;border:1px solid #edd8ae;border-left:4px solid var(--amber);border-radius:12px;padding:15px 16px;margin:16px 0;color:#6b562b;font-size:13px}

/* Checkout */
.checkout-box{width:min(100%,500px)}
.checkout-summary{background:var(--paper);border-radius:11px;padding:12px 14px;margin-bottom:16px;display:flex;justify-content:space-between;gap:16px}
.checkout-summary b{font-family:var(--mono);font-size:20px;color:var(--deep)}
.checkout-note{font-family:var(--mono);font-size:12.5px;color:#52696D;line-height:1.5;margin-top:12px;text-align:center}
.checkout-success{display:none;text-align:center;padding:10px 4px 4px}
.checkout-success .check{width:56px;height:56px;border-radius:50%;background:#e7f4ed;color:var(--green);display:grid;place-items:center;font-size:28px;margin:0 auto 12px}
.checkout-success h3{font-size:24px;margin-bottom:8px}
.checkout-success p{font-size:14px;color:var(--muted)}

/* motion */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.reveal.in{opacity:1;transform:none}

@media (max-width:1020px){
  .desktop-nav{display:none}.menu-btn{display:block}.nav-actions .btn-ghost{display:none}
  .hero-grid,.shop-hero .hero-grid{grid-template-columns:1fr;gap:34px;padding:58px 0 64px}.hero-visual{min-height:400px}
  .feature-grid,.measure-grid,.pricing-grid{grid-template-columns:1fr 1fr}
  .grid-4{grid-template-columns:1fr 1fr}
  .offer-row{grid-template-columns:84px 1fr auto}.offer-meta{grid-column:2/3}.offer-price{grid-column:3;grid-row:1/3}
  .product-grid,.article-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}
  .footer-grid > div:last-child{grid-column:2/4}
}

@media (max-width:760px){
  .wrap,.narrow{width:min(100% - 32px,var(--wrap))}
  .navbar{height:66px}.mobile-nav{inset:66px 0 auto}
  .brand{font-size:19px}.brand svg{width:27px;height:27px}.nav-actions{display:none}
  .home-hero .hero-grid{padding:54px 0 36px}.route-grid{grid-template-columns:1fr;padding-bottom:58px}.route-card{min-height:390px;padding:28px}
  .section{padding:62px 0}.section-sm{padding:44px 0}.section-head{display:block}.section-head .btn{margin-top:18px}
  .grid-2,.grid-3,.grid-4,.feature-grid,.segment-tabs,.service-grid,.progress-list,.pricing-grid,.measure-grid,.local-cta-grid{grid-template-columns:1fr}
  .calc{grid-template-columns:1fr;padding:22px}.calc-output{min-height:270px}
  .offer-row{grid-template-columns:1fr;padding:22px}.offer-code{margin-bottom:-8px}.offer-meta,.offer-price{grid-column:auto;grid-row:auto;text-align:left}.offer-price{border-top:1px dashed var(--line);padding-top:12px}
  .location-card{grid-template-columns:1fr}
  .product-grid,.article-grid{grid-template-columns:1fr}.bundle{grid-column:auto}
  .manifest-grid{grid-template-columns:1fr}.manifest-side{position:static}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-grid > div:last-child{grid-column:auto}
  .form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}
  .cart-panel,.modal-overlay{padding:12px}.cart-box,.checkout-box{border-radius:16px;padding:22px}.cart-actions{flex-direction:column}
}

@media (max-width:520px){
  h1{font-size:clamp(40px,13vw,60px)}
  .hero-actions{flex-direction:column}.hero-actions .btn{width:100%}
  .hero-visual{min-height:370px}.lab-content{padding:24px}.lab-bottom{grid-template-columns:1fr}.lab-tile:nth-child(2){display:none}
  .feature-grid,.measure-grid,.pricing-grid,.grid-4,.footer-grid{grid-template-columns:1fr}
  .statement .wrap{padding:58px 0}
  .product .pfoot{align-items:flex-end}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.link-arrow::after,.offer-row{transition:none}
}


/* =====================================================================
   MOVEO Lab v4 - softer visual system
   Same brand accents, warmer mineral surfaces, lower contrast.
   ===================================================================== */
:root{
  --ink:#153B45;
  --deep:#174E5C;
  --mid:#23606C;
  --paper:#E7EAE6;
  --paper2:#DDE3DE;
  --white:#F4F2EC;
  --line:#BDC9C4;
  --muted:#637370;
  --amber:#D99A42;
  --amber-d:#835318;
  --tang:#E97851;
  --tang-d:#A94428;
  --green:#3E806A;
  --canvas:#EDEEEA;
  --surface:#F2F0E9;
  --surface-warm:#F1E8DD;
  --surface-cool:#E5ECE9;
  --surface-work:#EEE5D7;
  --surface-training:#F0E1DB;
  --shadow:0 24px 58px -42px rgba(21,59,69,.35);
}
html{background:var(--canvas)}
body{background:var(--canvas);color:var(--ink)}
p{color:#40565A}
.site-header{background:rgba(237,238,234,.9);border-bottom-color:rgba(189,201,196,.76);box-shadow:0 8px 28px rgba(21,59,69,.035)}
.mobile-nav{background:var(--surface)}
.btn{border-radius:12px}
.btn-deep{background:#285A66}.btn-deep:hover{background:var(--deep)}
.btn-amber{background:#D89B49;color:#3A2811}.btn-amber:hover{background:#CC8C39}
.btn-tang{background:#B84F32}.btn-tang:hover{background:#A94428}
.btn-white{background:#F4F2EC}.btn-white:hover{background:#E8EBE6}
.btn-ghost{background:rgba(244,242,236,.38);border-color:#B9C6C1;color:#23444B}
.hero{border-bottom-color:#C8D2CE}
.hero::before{background-image:linear-gradient(rgba(23,78,92,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,78,92,.035) 1px,transparent 1px)}
.home-hero{background:radial-gradient(800px 420px at 12% -2%,rgba(217,154,66,.15),transparent 66%),radial-gradient(760px 420px at 88% 2%,rgba(233,120,81,.12),transparent 68%),linear-gradient(180deg,#EEEFEA 0%,#E6EAE6 100%)}
.b2b-hero{background:radial-gradient(900px 520px at 88% -5%,rgba(217,154,66,.16),transparent 65%),linear-gradient(180deg,#EEEDE7 0%,#E7EAE6 100%)}
.b2c-hero{background:radial-gradient(850px 500px at 86% -3%,rgba(233,120,81,.16),transparent 64%),radial-gradient(720px 430px at 2% 100%,rgba(62,128,106,.08),transparent 62%),linear-gradient(180deg,#EFEDE7,#E8E9E3)}
.shop-hero,.local-hero{background:linear-gradient(180deg,#EEEFEA,var(--paper))}
.hero-grid{padding-top:72px;padding-bottom:76px}
h1{font-size:clamp(42px,6.4vw,80px)}
.lead{color:#435B60}
.pill{background:rgba(244,242,236,.7);border-color:#BCC9C4;color:#516664}
.lab-card{background:linear-gradient(155deg,#275662,#183F49);box-shadow:0 30px 70px -45px rgba(21,59,69,.62)}
.b2c-hero .lab-card{background:linear-gradient(155deg,#355C63,#23464F)}
.shop-hero .lab-card{background:linear-gradient(150deg,#376573,#23444D)}
.lab-grid{opacity:.75}
.lab-card::before,.lab-card::after{border-color:rgba(255,255,255,.12)}
.lab-tile{background:rgba(236,240,235,.065);border-color:rgba(255,255,255,.13)}
.route-card{border-color:#C3CEC9;box-shadow:0 22px 56px -44px rgba(21,59,69,.38)}
.route-b2b{background:linear-gradient(150deg,#EDE2D1,#F1EEE7 72%)}
.route-b2c{background:linear-gradient(150deg,#EFDED7,#F1EEE8 72%)}
.route-b2b::after,.route-b2c::after{opacity:.8}
.section{background:var(--canvas)}
.section:nth-of-type(even):not(.section-ink):not(.section-deep):not(.section-tang):not(.cta-band):not(.statement):not(.signal-strip):not(.group-program):not(.booking-flow){background:#E9ECE8}
.section-paper,.section-soft{background:var(--paper)!important}
.card,.feature,.segment,.offer-row,.service-card,.progress-item,.location-card,.price-card,.product,.form-card,.principle,.article-card,.faq details{background:var(--surface);border-color:#BECAC5}
.card:hover,.offer-row:hover,.service-card:hover,.article-card:hover{border-color:#AABCB6}
.feature{box-shadow:none}
.statement{background:linear-gradient(135deg,#284F59,#1C414B);color:#F2F3EF}
.statement p{color:#C4D2D1}
.section-ink{background:linear-gradient(135deg,#284F59,#1A404A)}
.section-deep{background:#2A5965}
.cta-band{background:linear-gradient(120deg,#315E69,#21444D)}
.section-ink .eyebrow,.section-deep .eyebrow,.cta-band .eyebrow{color:#B9D8DC!important}
.site-footer{background:#1D414A}
.site-footer h4{color:#B9D0D3;font-size:11.5px}
.site-footer p,.footer-bottom{color:#B9D0D3}
.footer-bottom{font-size:12px}
.site-footer .brand small{color:#D5E1E2}
.legal-hero{background:linear-gradient(180deg,#EEEFEA,var(--paper))}
.legal-note{background:#EEE3D2;border-color:#D8C29A;color:#65543A}
.form-card{box-shadow:0 18px 48px -40px rgba(21,59,69,.42)}
.field input,.field textarea,.field select{background:#F7F5EF;border-color:#BAC7C2}
.cart-box,.checkout-box{background:#F4F2EC}
.checkout-summary{background:#E5E9E4}
.product .pfoot,.service-card .service-foot{border-top-color:#C8D1CD}
.bundle{background:linear-gradient(135deg,#ECE1D7,#F2EFE8);border-color:#D9BFAF}
.calc{background:linear-gradient(155deg,#315C66,#1E444D);box-shadow:0 26px 64px -46px rgba(21,59,69,.56)}
.calc-output{background:#2D6573}
.local-cta.b2b{background:#ECE1D0;border-color:#D8C5A3}
.local-cta.b2c{background:#EEDDD5;border-color:#DDBCAE}
.location-note{background:#E3E7E2}

/* visual rhythm */
.section + .section{border-top:1px solid rgba(189,201,196,.45)}
.section-head h2,.center-head h2{max-width:18ch}
.card,.feature,.service-card,.price-card,.product,.protocol-card{box-shadow:0 18px 42px -38px rgba(21,59,69,.34)}

/* Home signal strip */
.signal-strip{background:#DDE4DF;border-bottom:1px solid #C4D0CB;border-top:1px solid #C8D2CE}
.signal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.signal-grid>div{padding:18px 22px;border-right:1px solid rgba(104,128,126,.18)}
.signal-grid>div:last-child{border-right:0}
.signal-grid b{display:block;font:600 11px/1.3 var(--mono);letter-spacing:.1em;color:#315E67;margin-bottom:4px}
.signal-grid span{font-size:12.5px;color:#667875}

/* no-photo credibility modules */
.protocol-section{position:relative;overflow:hidden}
.protocol-section::after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(55,125,139,.09);border-radius:50%;right:-230px;bottom:-250px;box-shadow:0 0 0 65px rgba(55,125,139,.025),0 0 0 130px rgba(55,125,139,.018);pointer-events:none}
.protocol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative;z-index:1}
.protocol-card{background:rgba(244,242,236,.76);border:1px solid #BDC9C4;border-radius:17px;padding:22px;min-height:210px}
.protocol-card>span{display:inline-block;font:600 10.5px/1 var(--mono);letter-spacing:.1em;color:var(--amber-d);background:rgba(217,154,66,.1);border:1px solid rgba(185,120,37,.18);border-radius:999px;padding:6px 8px;margin-bottom:18px}
.protocol-b2c .protocol-card>span{color:var(--tang-d);background:rgba(233,120,81,.09);border-color:rgba(201,90,54,.16)}
.protocol-card h3{font-size:20px;margin-bottom:8px}
.protocol-card p{font-size:13.5px;color:var(--muted)}

/* About system map: brand structure instead of fake team photography */
.system-map-section{padding-top:52px!important;padding-bottom:52px!important}
.system-map{height:430px;position:relative;border:1px solid #BBC8C3;border-radius:28px;background:radial-gradient(circle at 50% 50%,rgba(55,125,139,.10),transparent 32%),linear-gradient(rgba(23,78,92,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,78,92,.035) 1px,transparent 1px),#E5E9E5;background-size:auto,36px 36px,36px 36px,auto;overflow:hidden}
.system-map::before,.system-map::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(23,78,92,.11);border-radius:50%}
.system-map::before{width:360px;height:360px}.system-map::after{width:250px;height:250px}
.system-core,.system-node{position:absolute;border:1px solid #B8C6C1;background:rgba(244,242,236,.92);box-shadow:0 22px 50px -38px rgba(21,59,69,.45)}
.system-core{left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;display:grid;place-content:center;text-align:center;z-index:2}
.system-core span{font:600 12px/1 var(--mono);letter-spacing:.1em;color:var(--deep)}
.system-core strong{font:600 22px/1.1 var(--display);margin-top:8px}
.system-node{border-radius:16px;padding:16px 18px;min-width:180px;z-index:3}
.system-node b{display:block;font-family:var(--display);font-size:17px}.system-node small{font-family:var(--mono);font-size:11.5px;color:var(--muted)}
.node-work{left:8%;top:18%;border-top:3px solid var(--amber)}.node-training{right:8%;top:18%;border-top:3px solid var(--tang)}.node-files{left:50%;bottom:8%;transform:translateX(-50%);border-top:3px solid var(--mid)}

@media(max-width:1020px){.signal-grid{grid-template-columns:1fr 1fr}.signal-grid>div:nth-child(2){border-right:0}.signal-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(104,128,126,.18)}.protocol-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.protocol-grid{grid-template-columns:1fr}.protocol-card{min-height:0}.system-map{height:auto;display:grid;gap:12px;padding:22px}.system-map::before,.system-map::after{display:none}.system-core,.system-node{position:static;transform:none;width:auto;height:auto;min-width:0;border-radius:16px;text-align:left;display:block}.system-core{padding:22px}.node-files{transform:none}.signal-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.signal-grid{grid-template-columns:1fr}.signal-grid>div{border-right:0;border-bottom:1px solid rgba(104,128,126,.18)!important}.signal-grid>div:last-child{border-bottom:0!important}}

/* Group training schedule */
.group-program{background:linear-gradient(145deg,#173f49 0%,#0e4d64 58%,#245c63 100%);color:#eef1eb;position:relative;overflow:hidden}
.group-program .section-head h2,.group-program .section-head p{color:#eef1eb}.group-program .eyebrow{color:#efb065}
.schedule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.schedule-card{padding:24px;border:1px solid rgba(238,241,235,.18);border-radius:18px;background:rgba(238,241,235,.08);min-height:190px}
.schedule-card span{display:block;color:#9fc6c5;font-size:.75rem;font-weight:800;letter-spacing:.13em;margin-bottom:14px}
.schedule-card strong{display:block;font-size:1.45rem;line-height:1.15;color:#fff;margin-bottom:14px}
.schedule-card p{color:#d6e2dd;margin:0}.schedule-card.featured{background:#d96f4c;border-color:#ef9b72}.schedule-card.featured span{color:#fff0e8}
.schedule-card.trip{background:#d8963c;border-color:#efba72;color:#173f49}.schedule-card.trip span,.schedule-card.trip strong,.schedule-card.trip p{color:#173f49}
.schedule-note{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:18px 20px;border-radius:14px;background:rgba(0,0,0,.14)}
.schedule-note b{white-space:nowrap;color:#efb065}.schedule-note span{color:#e3ebe7}.offer-home{background:linear-gradient(90deg,rgba(216,150,60,.12),rgba(216,150,60,.03))}
.compact-list{margin:.75rem 0 0;padding-left:1.1rem}.compact-list li{margin:.25rem 0}
@media(max-width:980px){.schedule-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.schedule-grid{grid-template-columns:1fr}.schedule-card{min-height:0}.schedule-note{display:block}.schedule-note b{display:block;margin-bottom:6px}}

/* MOVEO Physio / third service pillar */
@media(min-width:1021px){.route-grid{grid-template-columns:repeat(3,1fr)}.route-card{min-height:500px;padding:30px}.route-card h2{font-size:clamp(30px,3vw,43px)}}
.route-physio{background:linear-gradient(150deg,#e7f0ed,#f7f5ef 70%)}
.route-physio .eyebrow,.route-physio li::before{color:#216f73}
.route-physio::after{content:"CARE";position:absolute;right:-18px;bottom:-38px;font-family:var(--display);font-size:126px;font-weight:700;color:rgba(33,111,115,.07);letter-spacing:-.08em}
.physio-hero{background:radial-gradient(circle at 80% 18%,rgba(54,131,137,.15),transparent 34%),linear-gradient(145deg,#dfe9e6,#f1eee6 70%)}
.physio-card{background:linear-gradient(145deg,#174e58,#0f3541)}
.card-accent-physio{border-top:4px solid #438b8b}
.physio-pricing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:900px;margin-inline:auto}
.physio-pricing .price-card{min-height:560px}
.physio-pricing .price-card.featured{transform:none}
.physio-home-price{border-color:#c99a52!important}
.city-price{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid var(--line);font-size:14px}
.city-price b{white-space:nowrap;color:var(--deep)}
.price-disclaimer{max-width:900px;margin:18px auto 0;color:var(--muted);font-size:13px}
.local-cta.physio{background:#dfeae6;border:1px solid #b8cec8}
@media(min-width:900px){.local-cta-grid.has-physio{grid-template-columns:repeat(3,1fr)}}
.node-work{left:5%;top:17%}.node-training{right:5%;top:17%}.node-physio{left:9%;bottom:10%;border-top:3px solid #438b8b}.node-files{left:auto;right:9%;bottom:10%;transform:none;border-top:3px solid var(--mid)}
@media(max-width:760px){.physio-pricing{grid-template-columns:1fr}.physio-pricing .price-card{min-height:0}.node-files{transform:none}}

/* Version 3: editorial imagery and refined mark */
.brand svg{padding:5px;border-radius:13px;background:linear-gradient(145deg,#174e5c,#0b3544);color:#eef1eb;box-shadow:0 10px 24px -17px rgba(7,40,49,.75)}
.editorial-visual{position:relative;margin:0;border-radius:26px;overflow:hidden;min-height:420px;box-shadow:0 32px 70px -44px rgba(15,53,65,.72);border:1px solid rgba(94,122,120,.3);background:#dfe7e2}
.editorial-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,38,46,.56));pointer-events:none}
.editorial-visual img{width:100%;height:100%;min-height:420px;display:block;object-fit:cover}
.editorial-visual figcaption{position:absolute;left:18px;bottom:15px;z-index:2;color:#fff;font:600 10px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase}
.editorial-strip{padding:0 0 26px;margin-top:-34px;position:relative;z-index:4}
.visual-triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.visual-triptych a{position:relative;display:block;overflow:hidden;border-radius:18px;min-height:220px;border:1px solid rgba(89,118,116,.28);box-shadow:0 26px 54px -42px rgba(14,61,73,.8)}
.visual-triptych img{width:100%;height:230px;object-fit:cover;display:block;transition:transform .5s ease,filter .4s ease;filter:saturate(.82) contrast(.96)}
.visual-triptych a:hover img{transform:scale(1.035);filter:saturate(.96) contrast(1)}
.visual-triptych span{position:absolute;left:14px;bottom:13px;padding:8px 11px;border-radius:999px;background:rgba(13,57,67,.88);color:#f5f2ea;font:700 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(6px)}
.visual-note{text-align:center;margin:10px auto 0;color:#536966;font-size:12.5px}
@media(max-width:760px){.editorial-visual,.editorial-visual img{min-height:330px}.visual-triptych{grid-template-columns:1fr}.editorial-strip{margin-top:-18px}.visual-triptych a,.visual-triptych img{height:210px;min-height:210px}}

/* Unified home pillar module */
.home-pillars{padding-top:34px!important;background:#e6ebe6!important}
.home-pillars .section-head{margin-bottom:26px}
.pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.pillar-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #b9c8c2;border-radius:24px;background:#f4f2ec;box-shadow:0 28px 66px -48px rgba(15,53,65,.62)}
.pillar-card figure{position:relative;margin:0;height:240px;overflow:hidden;background:#dbe3df}
.pillar-card figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(9,42,51,.68))}
.pillar-card figure img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.84) contrast(.96);transition:transform .45s ease,filter .35s ease}
.pillar-card:hover figure img{transform:scale(1.035);filter:saturate(.96) contrast(1)}
.pillar-card figure span{position:absolute;z-index:2;left:16px;bottom:15px;padding:8px 11px;border-radius:999px;background:rgba(13,57,67,.9);color:#f7f4ec;font:700 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.pillar-body{display:flex;flex:1;flex-direction:column;padding:25px}
.pillar-body h2{font-size:clamp(27px,2.4vw,38px);line-height:1.04;margin-bottom:12px}
.pillar-body p{color:var(--muted);font-size:14px}
.pillar-body ul{list-style:none;margin:18px 0 24px;padding:0;display:grid;gap:9px}
.pillar-body li{position:relative;padding-left:18px;color:#405d5d;font-size:13px}
.pillar-body li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--mid)}
.pillar-work .pillar-body li::before{background:var(--amber)}.pillar-training .pillar-body li::before{background:var(--tang)}.pillar-physio .pillar-body li::before{background:#438b8b}
.pillar-body .btn{margin-top:auto;width:100%;justify-content:center}
.home-pillars .visual-note{margin-top:14px}
@media(max-width:980px){.pillar-grid{grid-template-columns:1fr 1fr}.pillar-physio{grid-column:1/-1}.pillar-physio{display:grid;grid-template-columns:1fr 1fr}.pillar-physio figure{height:100%;min-height:340px}}
@media(max-width:700px){.pillar-grid{grid-template-columns:1fr}.pillar-physio{grid-column:auto;display:flex}.pillar-card figure,.pillar-physio figure{height:220px;min-height:220px}.pillar-body{padding:22px}.home-pillars{padding-top:20px!important}}

/* Group booking and self-service */
.booking-hero{background:radial-gradient(circle at 82% 20%,rgba(233,120,81,.18),transparent 34%),linear-gradient(145deg,#e3ebe5,#f1ede4 70%)}
.booking-summary{align-self:center;border:1px solid #b5c6c0;border-radius:24px;padding:24px;background:rgba(244,242,236,.82);box-shadow:0 30px 70px -50px rgba(15,53,65,.7)}
.booking-summary>div{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:16px;padding:15px 0;border-top:1px solid #c8d2ce}
.booking-summary b{font:700 11px/1 var(--mono);letter-spacing:.1em;color:var(--tang-d)}
.booking-summary strong{font-family:var(--display);font-size:21px;color:var(--deep)}
.booking-summary .booking-summary-out{margin:8px -10px -10px;padding:17px 10px 10px;border-radius:14px;background:#eadbc4;border-top:0}
.booking-summary-choice>div{grid-template-columns:86px 1fr}.booking-summary-choice strong{font-size:17px;line-height:1.2}.booking-summary-choice>p{margin-top:22px;color:#536966;font-size:13px}
.booking-flow{padding-top:34px!important;padding-bottom:34px!important}
.booking-flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid #bdc9c4;border-radius:20px;background:#bdc9c4}
.booking-flow-grid article{padding:24px;background:#f1efe8}
.booking-flow-grid span{font:700 11px/1 var(--mono);color:var(--tang-d);letter-spacing:.1em}.booking-flow-grid h2{font-size:22px;margin:11px 0 7px}.booking-flow-grid p{font-size:13px;color:var(--muted);margin:0}
.event-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.event-filters button{border:1px solid #b8c7c2;border-radius:999px;padding:10px 14px;background:#f4f2ec;color:var(--deep);font-weight:700;cursor:pointer}
.event-filters button.active{background:var(--deep);border-color:var(--deep);color:#fff}
.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.event-card{display:flex;flex-direction:column;border:1px solid #b9c7c2;border-radius:19px;padding:21px;background:#f6f4ee;min-height:330px;box-shadow:0 20px 45px -40px rgba(15,53,65,.65)}
.event-card.moveout{background:linear-gradient(145deg,#ead9bd,#f4eee4);border-color:#d3b47f}
.event-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:16px}.event-card .event-kind{font:700 10px/1 var(--mono);letter-spacing:.1em;color:var(--tang-d)}.event-card.moveout .event-kind{color:#8a5a19}
.event-availability{padding:6px 8px;border-radius:999px;background:#dce8e2;color:#245c57;font-size:11px;font-weight:800;white-space:nowrap}.event-availability.last-minute{background:#f3d7c9;color:#8b4229}
.event-card h3{font-size:24px;margin-bottom:8px}.event-date{font-family:var(--display);font-size:18px;color:var(--deep);margin-bottom:12px}.event-meta{display:grid;gap:7px;margin:0 0 18px;padding:0;list-style:none;color:var(--muted);font-size:13px}.event-meta li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #d3dad6;padding-bottom:7px}.event-meta b{color:#315e67;text-align:right}.event-card .event-price{font:700 25px/1 var(--display);color:var(--deep);margin-top:auto;margin-bottom:14px}.event-card .btn{width:100%;justify-content:center}
.event-buy-options{display:grid;gap:9px;margin-top:auto}.event-buy-option{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;padding:12px;border:1px solid #C4CFCA;border-radius:13px;background:rgba(255,255,255,.42)}.event-buy-option b{font:700 18px/1 var(--display);color:var(--deep)}.event-buy-option small{font-size:12.5px;color:#536966}.event-buy-option .btn{grid-column:1/-1;margin-top:4px}.event-buy-option.featured{border-color:#C98972;background:#F3E3DB}.event-buy-option.featured>span{font:700 10.5px/1 var(--mono);letter-spacing:.07em;color:#7C3B27;text-transform:uppercase}.event-buy-option.unavailable{opacity:.72}
.training-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.training-price-grid>article{padding:25px;border:1px solid #B9C8C2;border-radius:20px;background:#F4F2EC}.training-price-grid>article>span{font:700 11.5px/1 var(--mono);letter-spacing:.1em;color:var(--tang-d)}.training-price-grid h3{margin:11px 0 18px;font-size:24px}.training-price-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;border-top:1px solid #CBD4D0}.training-price-row b{font:700 23px/1 var(--display);white-space:nowrap;color:var(--deep)}.training-price-row small{text-align:right;font-size:12.5px;color:#536966}.training-price-row.featured{margin:6px -10px -8px;padding:15px 10px 9px;border-radius:12px;background:#EEDDD5;border-top:0}.training-price-grid .moveout-price{background:#ECE2D1;border-color:#D4BD95}.training-price-grid .moveout-price>span{color:#70470F}.pricing-footnote{margin-top:17px;font-size:13px;color:#526764}
.loading-state,.empty-state{grid-column:1/-1;padding:30px;text-align:center;border:1px dashed #aebfba;border-radius:17px;color:var(--muted)}
.booking-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(480px,1.15fr);gap:50px;align-items:start}
.booking-layout>div>h2{font-size:clamp(34px,4vw,56px);margin-bottom:15px}.booking-form-card{padding:28px}.booking-form-card .btn{width:100%;justify-content:center;margin-top:6px}.hp-field{position:absolute!important;left:-10000px!important}
.purchase-choice{border:0;padding:0;margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.purchase-choice legend{font:600 11.5px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#496266;margin-bottom:8px}.purchase-choice label{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #B7C5C0;border-radius:13px;background:#F7F5EF;cursor:pointer}.purchase-choice label:has(input:checked){border-color:#B84F32;box-shadow:0 0 0 1px #B84F32 inset;background:#F3E3DB}.purchase-choice input{margin-top:4px;accent-color:#B84F32}.purchase-choice span{display:grid;gap:3px}.purchase-choice b{font-family:var(--display)}.purchase-choice small{font-size:12px;color:#526966}.purchase-choice label.is-disabled{opacity:.5;cursor:not-allowed}
.policy-mini{margin-top:24px;padding:17px;border-left:4px solid var(--amber);background:#ece4d5;border-radius:0 12px 12px 0}.policy-mini p{margin:4px 0 0;font-size:13px}
.booking-message{margin-top:16px}.booking-message.success,.booking-details.success{padding:15px;border-radius:12px;background:#dce9e1;color:#245b51}.booking-message.error,.booking-details.error{padding:15px;border-radius:12px;background:#f2dcd5;color:#7b3e2d}.booking-code{display:block;font:800 22px/1.2 var(--mono);letter-spacing:.08em;margin:8px 0;color:var(--deep)}
.rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.rule-card{padding:23px;border:1px solid #bdcac5;border-radius:18px;background:#f5f3ed;min-height:230px}.rule-card span{font:700 10px/1 var(--mono);letter-spacing:.1em;color:var(--tang-d)}.rule-card h3{font-size:22px;margin:13px 0 9px}.rule-card p{font-size:13.5px;color:var(--muted)}.rule-card.organizer{border-top:4px solid #438b8b}.rule-card.moveout{border-top:4px solid var(--amber)}.rule-card.last{border-top:4px solid var(--tang)}
.booking-manage-card{background:#f4f2ec}.booking-manage-card .btn{width:100%;justify-content:center}.booking-details{margin-top:18px}.booking-detail-grid{display:grid;gap:8px;margin:14px 0}.booking-detail-grid div{display:flex;justify-content:space-between;gap:18px;padding-bottom:7px;border-bottom:1px solid #cbd4d0}.booking-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.booking-actions .btn{width:auto}.booking-actions select{min-height:44px;border:1px solid #b7c5c0;border-radius:10px;background:#fff;padding:0 10px}
@media(max-width:1050px){.event-grid{grid-template-columns:1fr 1fr}.training-price-grid{grid-template-columns:1fr 1fr}.training-price-grid .moveout-price{grid-column:1/-1}.booking-layout{grid-template-columns:1fr}.rules-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.booking-flow-grid,.event-grid,.training-price-grid,.rules-grid{grid-template-columns:1fr}.training-price-grid .moveout-price{grid-column:auto}.purchase-choice{grid-template-columns:1fr}.booking-flow-grid{gap:1px}.booking-layout{gap:26px}.booking-form-card{padding:20px}.booking-summary{margin-top:22px}.event-card{min-height:0}.booking-actions{display:grid}.booking-actions .btn,.booking-actions select{width:100%}}

/* MOVE OUT campaign and landing page */
.home-moveout-banner{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:34px;align-items:center;margin-top:34px;padding:36px;border-radius:25px;background:linear-gradient(125deg,#173F49 0%,#245965 58%,#8A5A19 150%);color:#F4F2EC;box-shadow:0 32px 70px -48px rgba(15,53,65,.8)}
.home-moveout-banner::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.home-moveout-copy{position:relative;z-index:2}.home-moveout-copy .eyebrow{color:#FFD08A}.home-moveout-copy h2{max-width:15ch;margin:12px 0 14px;font-size:clamp(32px,4vw,54px)}.home-moveout-copy p{max-width:64ch;color:#D7E3E1;font-size:16px}.home-moveout-copy .hero-actions{margin-top:23px}
.home-moveout-visual{position:relative;z-index:2;min-height:250px;padding:26px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:radial-gradient(circle at 82% 18%,rgba(255,208,138,.22),transparent 26%),linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));display:flex;flex-direction:column;justify-content:space-between}
.home-moveout-visual span{font:700 11px/1 var(--mono);letter-spacing:.16em;color:#FFD08A}.home-moveout-visual span:last-child{text-align:right}.home-moveout-visual b{font:700 clamp(27px,3.1vw,44px)/.94 var(--display);letter-spacing:-.045em;color:#fff}

.moveout-hero{background:radial-gradient(650px 420px at 88% 4%,rgba(217,154,66,.28),transparent 62%),radial-gradient(600px 420px at 2% 100%,rgba(233,120,81,.18),transparent 66%),linear-gradient(145deg,#173F49,#1D4E59 62%,#315F64);color:#F4F2EC;border-bottom-color:rgba(255,255,255,.12)}
.moveout-hero::before{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);mask-image:linear-gradient(to bottom,#000,transparent 88%)}
.moveout-hero .hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);padding-top:82px;padding-bottom:86px}.moveout-hero .hero-copy h1{max-width:14ch;font-size:clamp(43px,6.1vw,78px)}.moveout-hero .hero-copy .eyebrow{color:#FFD08A}.moveout-hero .lead{color:#D6E3E1;max-width:64ch}.moveout-punch{max-width:60ch;margin:-10px 0 28px;padding-left:17px;border-left:4px solid #E97851;color:#fff;font-size:17px;font-weight:600}.moveout-hero .pill{background:rgba(244,242,236,.08);border-color:rgba(255,255,255,.18);color:#E6EEEC}
.reset-card{position:relative;overflow:hidden;min-height:540px;padding:31px;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:linear-gradient(155deg,rgba(255,255,255,.09),rgba(255,255,255,.025));box-shadow:0 38px 80px -52px rgba(0,0,0,.65);display:flex;flex-direction:column;justify-content:space-between}.reset-card::before,.reset-card::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,208,138,.18)}.reset-card::before{width:420px;height:420px;right:-220px;top:-180px}.reset-card::after{width:260px;height:260px;right:-100px;top:-80px}.reset-card>span{position:relative;z-index:2;font:700 11px/1 var(--mono);letter-spacing:.15em;color:#FFD08A}.reset-card>strong{position:relative;z-index:2;font:700 clamp(45px,5.4vw,72px)/.82 var(--display);letter-spacing:-.065em;color:#fff}.reset-card>strong em{font-style:normal;color:#E97851}.reset-card>div{position:relative;z-index:2;display:flex;align-items:center;gap:12px;font:700 11px/1 var(--mono);letter-spacing:.14em;color:#D4E2DF}.reset-card>div i{height:1px;flex:1;background:rgba(255,255,255,.3)}

.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.choice-card{padding:29px;border-radius:21px;border:1px solid #BDC9C4;background:#F3F1EB}.choice-card>span{font:700 11px/1 var(--mono);letter-spacing:.11em;color:#667875}.choice-card h3{font-size:29px;margin:12px 0 19px}.choice-card ul{list-style:none;display:grid;gap:11px}.choice-card li{position:relative;padding-left:23px;color:#486064}.choice-card li::before{content:"×";position:absolute;left:0;color:#9B4A31;font-weight:800}.choice-card.move{background:linear-gradient(145deg,#173F49,#245965);border-color:#315F68;color:#fff}.choice-card.move>span{color:#FFD08A}.choice-card.move li{color:#D7E4E1}.choice-card.move li::before{content:"✓";color:#FFD08A}
.moveout-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.moveout-benefits article{padding:25px;border:1px solid #BAC8C2;border-radius:18px;background:#F4F2EC;min-height:260px}.moveout-benefits span{font:700 11px/1 var(--mono);letter-spacing:.1em;color:var(--tang-d)}.moveout-benefits h3{font-size:22px;margin:14px 0 10px}.moveout-benefits p{font-size:13.5px;color:#526865}

.terrain-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.terrain-card{overflow:hidden;border:1px solid #B7C6C0;border-radius:24px;background:#F4F2EC;box-shadow:0 28px 62px -48px rgba(15,53,65,.68)}.terrain-visual{height:230px;display:flex;align-items:flex-end;padding:18px 26px}.terrain-visual svg{width:100%;height:100%}.terrain-card.mountains .terrain-visual{background:linear-gradient(180deg,#94B2AD,#D7DDD5);color:#285A57}.terrain-card.sea .terrain-visual{background:linear-gradient(180deg,#B6D3D2,#E7D5B6);color:#2D7280}.terrain-body{padding:28px}.terrain-body .eyebrow{color:var(--tang-d)}.terrain-body h3{font-size:clamp(27px,3vw,39px);margin:11px 0 12px;max-width:15ch}.terrain-body>p:not(.eyebrow){color:#4D6463}.terrain-body ul{list-style:none;display:grid;gap:8px;margin:20px 0}.terrain-body li{position:relative;padding-left:19px;color:#405C5D;font-size:13.5px}.terrain-body li::before{content:"/";position:absolute;left:0;color:var(--tang-d);font-weight:800}.terrain-foot{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding-top:19px;border-top:1px solid #C8D2CE}.terrain-foot strong{font:700 31px/1 var(--display);color:var(--deep)}.terrain-foot span{font-size:12px;color:var(--muted)}
.moveout-day{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.moveout-day article{padding:23px;border:1px solid rgba(255,255,255,.16);border-radius:17px;background:rgba(255,255,255,.055)}.moveout-day span{font:700 12px/1 var(--mono);color:#FFD08A}.moveout-day h3{font-size:21px;margin:15px 0 9px;color:#fff}.moveout-day p{font-size:13.5px;color:#C8D9D7}.moveout-truth{background:radial-gradient(600px 320px at 85% 50%,rgba(233,120,81,.17),transparent 68%),linear-gradient(130deg,#1D414B,#173F49)}.moveout-truth .eyebrow{color:#FFD08A}.moveout-cta{background:radial-gradient(520px 300px at 90% 50%,rgba(255,208,138,.17),transparent 70%),linear-gradient(120deg,#315E69,#21444D)}
.training-price-grid .moveout-price .link-arrow{display:inline-flex;margin-top:14px;color:#70470F;font-size:13px}

@media(max-width:1020px){.home-moveout-banner{grid-template-columns:1fr}.home-moveout-visual{min-height:210px}.moveout-hero .hero-grid{grid-template-columns:1fr}.reset-card{min-height:420px}.moveout-benefits,.moveout-day{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.home-moveout-banner{padding:25px;margin-top:25px}.home-moveout-copy h2{font-size:34px}.home-moveout-visual{min-height:190px}.moveout-hero .hero-grid{padding-top:58px}.moveout-hero .hero-copy h1{font-size:44px}.reset-card{min-height:380px}.choice-grid,.terrain-grid{grid-template-columns:1fr}.terrain-foot{grid-template-columns:auto 1fr}.terrain-foot .btn{grid-column:1/-1;width:100%}.moveout-benefits,.moveout-day{grid-template-columns:1fr}.moveout-benefits article{min-height:0}}
@media(max-width:420px){.moveout-hero .hero-copy h1{font-size:39px}.reset-card>strong{font-size:50px}.terrain-body{padding:23px}.home-moveout-banner{padding:21px}.home-moveout-copy .hero-actions .btn{width:100%}}

/* Booking choice paths */
.booking-selector{background:linear-gradient(180deg,#E9ECE5 0,#F1EEE6 100%)}
.booking-selector-head{align-items:end}.booking-selector-head>div{max-width:790px}
.booking-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.booking-path{overflow:hidden;border:1px solid #AFC0BA;border-radius:24px;background:#F8F6F0;box-shadow:0 26px 60px -48px rgba(12,52,61,.7)}
.booking-path-moveout{border-color:#C9A86F;background:linear-gradient(155deg,#F4EBDD,#F8F5EC 58%)}
.booking-path-head{display:flex;gap:18px;align-items:flex-start;padding:26px 27px 24px;background:linear-gradient(135deg,#214C57,#183D47);color:#F5F3EC}
.booking-path-moveout .booking-path-head{background:radial-gradient(circle at 90% 0,rgba(216,150,60,.34),transparent 42%),linear-gradient(135deg,#714B23,#3E4336)}
.booking-path-head .eyebrow{margin-bottom:7px;color:#91C6C9}.booking-path-moveout .booking-path-head .eyebrow{color:#FFD08A}
.booking-path-head h3{margin:0 0 7px;font-size:29px;color:#fff}.booking-path-head p:last-child{max-width:43ch;color:#D4E0DE;font-size:13.5px}
.booking-path-no{display:grid;flex:0 0 43px;height:43px;place-items:center;border:1px solid rgba(255,255,255,.27);border-radius:50%;font:700 12px/1 var(--mono);color:#FFD08A}
.path-step{padding:23px 27px;border-top:1px solid #CAD3CF}.path-step:first-of-type{border-top:0}
.path-step-label{display:block;margin-bottom:8px;font:700 10px/1 var(--mono);letter-spacing:.12em;color:#B84F32}.booking-path-moveout .path-step-label{color:#805416}
.path-step h4{margin:0 0 14px;font-size:20px}.path-step-title{display:flex;justify-content:space-between;gap:15px;align-items:baseline}.path-step-title small{font-size:11.5px;color:#60716E}
.path-choice-chips{display:flex;gap:9px;flex-wrap:wrap}.path-choice-chips button{min-height:43px;padding:10px 16px;border:1px solid #AFC0BA;border-radius:999px;background:#F0EFE9;color:#234D56;font-weight:750;cursor:pointer}.path-choice-chips button[aria-pressed="true"]{border-color:#214C57;background:#214C57;color:#fff;box-shadow:0 0 0 2px rgba(33,76,87,.14)}
.booking-path-moveout .path-choice-chips button[aria-pressed="true"]{border-color:#76501F;background:#76501F}
.date-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.date-choice{display:grid;min-width:0;min-height:124px;padding:12px 8px;border:1px solid #B5C4BF;border-radius:14px;background:#F4F2EC;color:#224B55;text-align:center;cursor:pointer;transition:transform .16s,border-color .16s,background .16s}
.date-choice:hover:not(:disabled){transform:translateY(-2px);border-color:#50787C}.date-choice:focus-visible{outline:3px solid rgba(233,120,81,.38);outline-offset:2px}
.date-choice>span{font:700 10px/1 var(--mono);letter-spacing:.08em;color:#B84F32}.date-choice>strong{margin:6px 0 2px;font:700 34px/.9 var(--display)}.date-choice>b{font:700 11px/1 var(--mono);letter-spacing:.08em}.date-choice>small{align-self:end;margin-top:9px;font-size:10.5px;color:#5D706D}
.date-choice.is-selected{border-color:#B84F32;background:#F0DFD5;box-shadow:0 0 0 1px #B84F32 inset}.date-choice:disabled{cursor:not-allowed;opacity:.5}
.show-more-dates{margin-top:12px;padding:4px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:#315E69;font-weight:750;cursor:pointer}
.path-payment{min-height:210px}.path-payment-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.booking-path-moveout .path-payment-choices{grid-template-columns:1fr}
.path-pay-choice{display:grid;gap:5px;min-height:112px;padding:15px;border:1px solid #AFC0BA;border-radius:14px;background:#F4F2EC;color:#244B53;text-align:left;cursor:pointer}.path-pay-choice.featured{border-color:#D27854;background:#F0DED5}.path-pay-choice>span{font:700 11px/1 var(--mono);letter-spacing:.05em}.path-pay-choice>b{font:700 27px/1 var(--display)}.path-pay-choice>small{font-size:11.5px;color:#586D69}.path-pay-choice:hover:not(:disabled){border-color:#B84F32}.path-pay-choice:disabled{cursor:not-allowed;opacity:.62}
.path-placeholder{padding:15px;border:1px dashed #B6C4BF;border-radius:13px;color:#61736F;font-size:13px}.path-note{margin-top:12px;color:#61736F;font-size:11.5px}.booking-path>.link-arrow{display:inline-flex;margin:0 27px 25px;color:#70470F}
.booking-checkout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr);gap:42px;align-items:start;margin-top:30px;padding:35px;border-radius:24px;background:radial-gradient(500px 260px at 0 100%,rgba(233,120,81,.18),transparent 70%),linear-gradient(135deg,#173F49,#285661);color:#F5F3ED}
.booking-checkout-intro h2{margin:8px 0 14px;font-size:clamp(33px,4vw,52px);color:#fff}.booking-checkout-intro>p{color:#D3E0DE}.booking-checkout-intro .eyebrow{color:#FFD08A}
.booking-selection-summary{display:grid;gap:6px;margin-top:23px;padding:17px 18px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.07)}.booking-selection-summary>span{font:700 10px/1 var(--mono);letter-spacing:.1em;color:#FFD08A}.booking-selection-summary>b{font-size:16px;color:#fff}.booking-selection-summary>small{color:#D3E0DE}
.booking-checkout .booking-form-card{background:#F7F5EF;color:var(--ink)}
@media(max-width:1000px){.booking-path-grid,.booking-checkout{grid-template-columns:1fr}.booking-checkout{gap:25px}.path-payment{min-height:0}}
@media(max-width:640px){.booking-selector-head{display:block}.booking-selector-head .btn{margin-top:18px}.booking-path-head,.path-step{padding-left:20px;padding-right:20px}.booking-path-head{gap:13px}.booking-path-no{flex-basis:38px;height:38px}.date-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-checkout{padding:22px;margin-left:-8px;margin-right:-8px}.path-step-title{display:block}.path-step-title small{display:block;margin:-8px 0 13px}.path-payment-choices{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.path-payment-choices{grid-template-columns:1fr}.booking-path-head h3{font-size:25px}.date-choice{min-height:116px}.date-choice>strong{font-size:31px}}

/* Privacy, legal notices and consent controls */
.form-privacy-note{margin:14px 0 9px;padding:13px 14px;border-left:3px solid var(--amber);border-radius:0 10px 10px 0;background:#ece7dc;color:#405b5b;font-size:12px;line-height:1.55}.form-privacy-note a{color:var(--deep);font-weight:750;text-decoration:underline}.company-legal{margin:24px 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);color:#bfcfcd;font-size:12px;line-height:1.65}.company-legal strong{color:#eef3f0}.company-legal a{color:#dce9e5}.footer-privacy-button{padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font:inherit;cursor:pointer}.consent-reopen{position:fixed;z-index:95;right:14px;bottom:12px;padding:8px 11px;border:1px solid #9db0aa;border-radius:999px;background:#f2efe7;color:#234d56;font-size:11px;font-weight:750;box-shadow:0 8px 28px rgba(15,53,65,.16);cursor:pointer}.consent-panel{position:fixed;z-index:100;left:18px;right:18px;bottom:18px;max-width:1060px;margin:auto;padding:22px;border:1px solid #809994;border-radius:19px;background:#f5f2ea;color:#173f49;box-shadow:0 24px 80px rgba(10,37,43,.28)}.consent-panel[hidden]{display:none}.consent-main{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.consent-kicker{font:750 10px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#9b4a31}.consent-panel h2{margin:6px 0 7px;font-size:24px}.consent-panel p{max-width:720px;margin:0;color:#455f5f;font-size:13px}.consent-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.consent-settings-link{padding:8px 4px;border:0;border-bottom:1px solid currentColor;background:transparent;color:#234d56;font-weight:750;cursor:pointer}.consent-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;padding-top:17px;border-top:1px solid #c3cec9}.consent-details[hidden]{display:none}.consent-details label{display:flex;gap:9px;padding:12px;border:1px solid #c2cdc8;border-radius:11px;background:#efede6}.consent-details input{width:17px;height:17px;margin-top:2px;accent-color:#0e4d64}.consent-details span{display:grid;gap:3px}.consent-details small{color:#586d69;font-size:11px}.consent-detail-actions{grid-column:1/-1;display:flex;align-items:center;gap:15px;justify-content:flex-end}.consent-detail-actions a{color:#234d56;font-size:12px}.vat-note{font-weight:650}
@media(max-width:800px){.consent-main{grid-template-columns:1fr}.consent-actions{justify-content:flex-start}.consent-details{grid-template-columns:1fr}.consent-detail-actions{grid-column:auto;justify-content:flex-start}.consent-panel{left:8px;right:8px;bottom:8px;max-height:88vh;overflow:auto;padding:18px}.consent-actions .btn{width:100%;justify-content:center}.consent-reopen{right:8px;bottom:8px}}

/* Quiet formal layer: complete information without competing with the offer */
.company-legal{display:none}.footer-formal-link{font-size:12px!important;color:#a9c3c5!important}.consent-reopen{padding:7px 10px;font-size:10px;box-shadow:0 8px 28px rgba(15,53,65,.13);opacity:.82}
.footer-bottom{align-items:flex-start}.footer-meta{display:grid;gap:7px}.footer-legal-nav{display:flex;align-items:center;gap:8px;color:#9eb8ba}.footer-legal-nav a,.footer-legal-nav .footer-privacy-button{display:inline;padding:0;color:#b9ccce;font:inherit}.footer-legal-nav .footer-privacy-button{border-bottom:0;text-decoration:none}.footer-legal-nav a:hover,.footer-legal-nav .footer-privacy-button:hover{color:#fff}.footer-legal-nav .footer-privacy-button:focus-visible{outline:2px solid #d7a654;outline-offset:3px;border-radius:2px}.footer-email{display:inline!important;padding:0!important;color:#d5e3e4!important;white-space:nowrap}
.legal-page .site-header{min-height:58px}.legal-page .navbar{min-height:58px}.legal-page .brand{font-size:16px}.legal-page .brand small{font-size:8px}.legal-page .desktop-nav a{font-size:11.5px}.legal-page .legal-hero{padding:32px 0 14px}.legal-page .legal-hero h1{font-size:clamp(28px,4vw,42px);margin:6px 0}.legal-page .legal-hero .small{font-size:11px;color:#70817e}.legal-page .legal-content{padding:18px 0 52px}.legal-page .legal-content .narrow{max-width:790px}.legal-page .legal-content h2{font-size:18px;margin:24px 0 6px}.legal-page .legal-content h3{font-size:15px;margin:12px 0 5px}.legal-page .legal-content p,.legal-page .legal-content li{font-size:13px;line-height:1.65;color:#4a5d5d}.legal-page .legal-note{padding:12px 14px;font-size:12px;margin:8px 0 14px}.legal-toc{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 20px}.legal-toc a{padding:6px 9px;border:1px solid #c4cec9;border-radius:999px;background:#f2f0e9;color:#526864;font-size:10.5px}.privacy-table{display:grid;grid-template-columns:1fr 1fr;gap:10px}.privacy-table article{padding:14px;border:1px solid #c6cfca;border-radius:12px;background:#f3f1ea}.privacy-table article h3{margin-top:0}.privacy-table article p{margin-bottom:0;font-size:12px}.legal-summary{padding:20px;border:1px solid #c4cec9;border-radius:16px;background:#f3f1ea}.legal-summary h2{margin-top:0}.company-data-list{margin:15px 0 0}.company-data-list div{display:grid;grid-template-columns:145px 1fr;gap:14px;padding:8px 0;border-top:1px solid #d1d7d3}.company-data-list dt{font:700 10px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#667a76}.company-data-list dd{margin:0;font-size:12.5px;color:#3e5655}.legal-document-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.legal-document-links a{display:grid;gap:3px;padding:14px;border:1px solid #c4cec9;border-radius:12px;background:#f3f1ea;color:#31565b}.legal-document-links strong{font-size:13px}.legal-document-links span{font-size:11px;color:#6d807c}.legal-page .site-footer{padding:18px 0}.legal-page .footer-bottom{padding:0;border:0;font-size:10px}
@media(max-width:700px){.privacy-table,.legal-document-links{grid-template-columns:1fr}.company-data-list div{grid-template-columns:1fr;gap:3px}.legal-page .desktop-nav{display:none}.footer-bottom{align-items:flex-start}.footer-email{margin-left:auto}}
