@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600&display=swap');
/* =========================================================
   SKYINK SYSTEM SHOWCASE — v1.8.0
   Cleaner homepage proof section. Demo interfaces below remain
   intentionally distinct once opened.
========================================================= */
.sis-section,.sis-section *{box-sizing:border-box}
.sis-section{
  --blue:#1f3bff;
  --blue-soft:#eef1ff;
  --ink:#0b0f18;
  --text:#111827;
  --muted:#667080;
  --line:#e5e8ee;
  --soft:#f7f8fa;
  position:relative;
  padding:92px 0 100px;
  background:#fff;
  color:var(--text);
  font-family:inherit;
  overflow:hidden
}
.sis-wrap{width:min(1380px,calc(100% - 48px));margin:0 auto}

/* Compact section intro */
.sis-heading-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);gap:56px;align-items:end;margin-bottom:38px}
.sis-kicker{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--blue);font-family:inherit;font-size:10px;font-weight:700;line-height:1;letter-spacing:.16em;text-transform:uppercase}
.sis-kicker span{width:25px;height:1px;background:var(--blue)}
.sis-heading-row h2{max-width:820px;margin:0;color:var(--ink);font-family:inherit;font-size:clamp(44px,4.8vw,72px);font-weight:600;line-height:.96;letter-spacing:-.055em}
.sis-heading-row h2 em{color:var(--blue);font-style:normal}
.sis-intro{max-width:390px;margin:0;color:var(--muted);font-family:inherit;font-size:16px;font-weight:400;line-height:1.65;letter-spacing:-.01em}

/* Cards */
.sis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.sis-card{min-width:0;border:1px solid var(--line);background:#fff;overflow:hidden;transition:border-color .2s ease,transform .22s ease,box-shadow .22s ease}
.sis-card:focus-within{outline:2px solid var(--blue);outline-offset:3px}
.sis-card-preview{position:relative;width:100%;height:300px;padding:0;border:0;background:var(--ink);display:block;overflow:hidden;cursor:pointer;text-align:left}
.sis-card-preview:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#0b0f18 0%,#11172a 72%,#172797 150%);z-index:0}
.sis-card-preview:after{content:"";position:absolute;width:44%;height:155%;right:-20%;top:-30%;background:linear-gradient(180deg,rgba(31,59,255,.95),rgba(31,59,255,.24));transform:rotate(38deg);z-index:1}

.sis-card-preview.has-cover{background:#0b0f18}
.sis-card-preview.has-cover:before,.sis-card-preview.has-cover:after{display:none}
.sis-card-cover-wrap,.sis-card-cover-overlay{position:absolute;inset:0}
.sis-card-cover-wrap{z-index:1}
.sis-card-cover-img{display:block;width:100%;height:100%;object-fit:cover}
.sis-card-cover-overlay{z-index:2;background:linear-gradient(180deg,rgba(8,12,20,.04) 0%,rgba(8,12,20,.08) 55%,rgba(8,12,20,.26) 100%)}


/* Simplified abstract system preview — no faux status bars / labels */
.sis-preview-canvas{position:absolute;z-index:3;inset:0;display:grid;grid-template-columns:25% 75%;padding:34px}
.sis-preview-side{position:relative;padding:34px 22px;background:#080c14;border:1px solid rgba(255,255,255,.09);display:flex;flex-direction:column;gap:15px}
.sis-preview-side:before{content:"";width:28px;height:4px;margin-bottom:14px;background:var(--blue)}
.sis-preview-side:after{content:"";position:absolute;left:22px;right:22px;bottom:30px;height:1px;background:rgba(255,255,255,.1)}
.sis-preview-side>i{display:block;width:72%;height:5px;background:rgba(255,255,255,.1)}
.sis-preview-side>i:nth-child(2){width:54%}
.sis-preview-side>i:nth-child(3){width:64%}
.sis-preview-main{position:relative;padding:38px 38px;background:#f7f8fa;border:1px solid #dfe4ed;border-left:0}
.sis-preview-main:after{content:"";position:absolute;right:28px;top:28px;width:44px;height:44px;border:1px solid #d7dce6;background:#fff}
.sis-preview-eyebrow,.sis-preview-heading,.sis-preview-line{display:block}
.sis-preview-eyebrow{width:20%;height:6px;margin-bottom:18px;background:var(--blue)}
.sis-preview-heading{width:54%;height:25px;margin-bottom:17px;background:var(--ink)}
.sis-preview-line{width:72%;height:6px;margin-bottom:8px;background:#d7dce5}
.sis-preview-line--short{width:48%}
.sis-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid #dfe4ed}
.sis-preview-grid i{height:48px;border:1px solid #dfe4ed;background:#fff;box-shadow:inset 3px 0 0 var(--blue)}

/* Front-of-site cards stay entirely SkyInk branded. */
.sis-card-preview--quote-drawer .sis-preview-side,
.sis-card-preview--event-registration .sis-preview-side,
.sis-card-preview--hire-drawer .sis-preview-side{background:#080c14}
.sis-card-preview--quote-drawer .sis-preview-main,
.sis-card-preview--event-registration .sis-preview-main,
.sis-card-preview--hire-drawer .sis-preview-main{background:#f7f8fa}

/* Tight card copy */
.sis-card-body{min-height:190px;padding:24px 26px 25px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;background:#fff}
.sis-card-copy{min-width:0;max-width:520px}
.sis-card-kicker{margin-bottom:10px;color:var(--blue);font-family:inherit;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.sis-card-body h3{margin:0 0 12px;color:var(--ink);font-family:inherit;font-size:clamp(29px,2.7vw,40px);font-weight:600;line-height:.98;letter-spacing:-.045em}
.sis-card-body p{max-width:460px;margin:0;color:var(--muted);font-family:inherit;font-size:14px;font-weight:400;line-height:1.6;letter-spacing:-.01em}
.sis-link-btn{flex:0 0 auto;padding:0 0 3px;border:0;background:none;color:var(--ink);font-family:inherit;font-size:10px;font-weight:700;line-height:1;letter-spacing:.11em;text-transform:uppercase;text-align:left;white-space:nowrap;cursor:pointer}
.sis-link-btn span{display:inline-block;margin-left:8px;color:var(--blue);transition:transform .18s ease}
.sis-link-btn:hover{color:var(--blue)}.sis-link-btn:hover span{transform:translateX(4px)}
@media(hover:hover){.sis-card:hover{transform:translateY(-3px);border-color:#d7dce8;box-shadow:0 16px 42px rgba(9,20,40,.07)}}


/* Client-system card preview accents */
.sis-card-preview--city-tyres-booking .sis-preview-side:before{background:#ed1c24}
.sis-card-preview--city-home-booking .sis-preview-side:before{background:#b79b3a}
.sis-card-preview--alex-practice-booking .sis-preview-side:before{background:#111210}
.sis-card-preview--city-tyres-booking .sis-preview-grid i:nth-child(1){background:#fff0f1;border-color:#ffd6d8}
.sis-card-preview--city-home-booking .sis-preview-grid i:nth-child(1){background:#f8f5e8;border-color:#e8dfbd}
.sis-card-preview--alex-practice-booking .sis-preview-grid i:nth-child(1){background:#f1f1f1;border-color:#d7d7d7}

/* shared overlay / body lock */
body.sis-demo-open{overflow:hidden!important}.sis-overlay{position:fixed;inset:0;z-index:999990;background:rgba(5,8,14,.68);backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}.sis-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}.sis-demo{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}.sis-demo button,.sis-demo input,.sis-demo select,.sis-demo textarea{font-family:inherit}.sis-demo[aria-hidden="true"]{pointer-events:none}

/* =========================================================
   1. PROJECT INTAKE — desktop modal / mobile full-screen
========================================================= */
.sis-a51-root{--g:#39b54a;--lime:#a8d94f;--black:#0b0d0c;--panel:#f0f2ee;--border:#d6dbd5;position:fixed;inset:0;z-index:999999;visibility:hidden;pointer-events:none}.sis-a51-root.is-open{visibility:visible;pointer-events:auto}.sis-a51-dialog{position:absolute;left:50%;top:50%;width:min(980px,calc(100% - 48px));height:min(760px,calc(100dvh - 48px));display:grid;grid-template-columns:260px minmax(0,1fr);background:var(--panel);color:#141815;transform:translate(-50%,-47%) scale(.985);opacity:0;box-shadow:0 36px 100px rgba(0,0,0,.38);transition:opacity .25s ease,transform .34s cubic-bezier(.22,.8,.2,1);overflow:hidden}.sis-a51-root.is-open .sis-a51-dialog{opacity:1;transform:translate(-50%,-50%) scale(1)}
.sis-a51-rail{position:relative;background:var(--black);color:#fff;padding:28px 24px 24px;display:flex;flex-direction:column;overflow:hidden}.sis-a51-rail:after{content:"01";position:absolute;right:-22px;bottom:-42px;color:rgba(255,255,255,.025);font:900 190px/.75 Impact,sans-serif}.sis-a51-brand{position:relative;z-index:1;display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:center;padding-bottom:27px;border-bottom:1px solid rgba(255,255,255,.11)}.sis-a51-mark{width:54px;height:54px;background:var(--g);color:#061008;display:grid;place-items:center;font:900 25px/1 Impact,sans-serif}.sis-a51-brand small,.sis-a51-mobile-head small{display:block;margin-bottom:6px;color:rgba(255,255,255,.5);font-size:8px;letter-spacing:.2em;text-transform:uppercase}.sis-a51-brand h3{margin:0;color:#fff;font:900 27px/.9 Impact,sans-serif;text-transform:uppercase;letter-spacing:.01em}.sis-a51-steps{position:relative;z-index:1;display:grid;margin:25px 0 0;padding:0;list-style:none}.sis-a51-steps li{position:relative;display:grid;grid-template-columns:36px 1fr;gap:9px;align-items:center;min-height:48px;color:rgba(255,255,255,.32);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.sis-a51-steps li:before{content:"";position:absolute;left:11px;top:31px;width:1px;height:34px;background:rgba(255,255,255,.1)}.sis-a51-steps li:last-child:before{display:none}.sis-a51-steps b{font:900 13px/1 Impact,sans-serif}.sis-a51-steps li.is-active{color:#fff}.sis-a51-steps li.is-active b{color:var(--lime)}.sis-a51-steps li.is-complete{color:rgba(255,255,255,.58)}.sis-a51-steps li.is-complete b{color:var(--g)}.sis-a51-note{position:relative;z-index:1;margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.11);color:rgba(255,255,255,.45);font-size:8px;letter-spacing:.18em;line-height:1.5;text-transform:uppercase}.sis-a51-note i{display:inline-block;width:22px;height:2px;background:var(--g);margin-right:9px;vertical-align:middle}.sis-a51-main{position:relative;min-width:0;min-height:0;background:var(--panel);display:flex;flex-direction:column}.sis-a51-mobile-head{display:none}.sis-a51-close{border:0;background:transparent;color:#141815;width:46px;height:46px;display:grid;place-items:center;font:300 34px/1 Arial,sans-serif;cursor:pointer}.sis-a51-close:hover{background:var(--black);color:#fff}.sis-a51-close--desktop{position:absolute;z-index:10;right:15px;top:14px}.sis-a51-progress-wrap{padding:22px 72px 16px 32px;background:#fff;border-bottom:1px solid var(--border)}.sis-a51-progress-meta{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:11px;color:#777e78;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.sis-a51-progress-meta span:last-child{color:var(--black)}.sis-a51-progress{height:3px;background:#e8ebe7;overflow:hidden}.sis-a51-progress span{display:block;height:100%;width:16.666%;background:linear-gradient(90deg,var(--g),var(--lime));transition:width .25s ease}.sis-a51-body{flex:1;min-height:0;overflow:auto;padding:24px 32px 28px}.sis-a51-intro{max-width:680px;padding:0 48px 18px 0;margin:0 0 22px;border-bottom:1px solid var(--border);color:#687069;font-size:12px;line-height:1.6}.sis-a51-step-heading{display:grid;grid-template-columns:46px 1fr;gap:15px;align-items:start;margin-bottom:20px}.sis-a51-step-no{padding-top:3px;color:var(--g);font:900 18px/1 Impact,sans-serif}.sis-a51-step-heading h4{margin:0 0 8px;color:var(--black);font:900 30px/.94 Impact,sans-serif;text-transform:uppercase}.sis-a51-step-heading p{margin:0;color:#777e78;font-size:11px;line-height:1.5}.sis-a51-options{display:grid;border-top:1px solid var(--border)}.sis-a51-choice{min-height:58px;padding:0 14px 0 4px;border:0;border-bottom:1px solid var(--border);background:transparent;display:grid;grid-template-columns:42px 1fr 36px;gap:10px;align-items:center;color:#141815;text-align:left;cursor:pointer;transition:.18s ease}.sis-a51-choice .idx{color:#9aa19b;font:900 12px/1 Impact,sans-serif}.sis-a51-choice .title{font-size:13px;font-weight:700}.sis-a51-choice .arr{text-align:right;color:#9aa19b;font-size:18px}.sis-a51-choice:hover{background:#e8ebe7;padding-left:11px}.sis-a51-choice.is-selected{padding-left:11px;background:var(--black);color:#fff;border-bottom-color:var(--black)}.sis-a51-choice.is-selected .idx{color:var(--lime)}.sis-a51-choice.is-selected .arr{color:var(--g)}.sis-a51-footer{min-height:82px;padding:14px 24px 14px 32px;background:#fff;border-top:1px solid var(--border);display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.sis-a51-btn{min-height:50px;padding:0 19px;border:1px solid #cfd4cf;background:#fff;color:#141815;font:900 15px/1 Impact,sans-serif;text-transform:uppercase;cursor:pointer}.sis-a51-btn:disabled{opacity:.35;cursor:not-allowed}.sis-a51-btn--next{min-width:174px;background:var(--g);border-color:var(--g);display:inline-flex;align-items:center;justify-content:space-between;gap:22px}.sis-a51-footnote{color:#858d86;font-size:8px;letter-spacing:.14em;text-align:center;text-transform:uppercase}

/* =========================================================
   2. AMA-STYLE PROJECT QUOTE DRAWER
========================================================= */
.sis-ama-root{--red:#ef2a24;--red-dark:#c7211c;--black:#0b0d0e;--panel:#f2f2ef;--border:#d9d9d5;position:fixed;inset:0;z-index:999999;visibility:hidden;pointer-events:none}.sis-ama-root.is-open{visibility:visible;pointer-events:auto}.sis-ama-panel{position:absolute;right:0;top:0;width:min(520px,100%);height:100dvh;background:var(--panel);color:var(--black);display:flex;flex-direction:column;transform:translateX(102%);box-shadow:-26px 0 70px rgba(0,0,0,.18);transition:transform .34s cubic-bezier(.22,.8,.2,1)}.sis-ama-root.is-open .sis-ama-panel{transform:translateX(0)}.sis-ama-header{min-height:92px;padding:18px 22px;background:var(--black);color:#fff;border-bottom:4px solid var(--red);display:grid;grid-template-columns:48px 1fr 46px;gap:14px;align-items:center}.sis-ama-mark{width:48px;height:48px;background:var(--red);display:grid;place-items:center;color:#fff;font:900 28px/1 Impact,sans-serif}.sis-ama-header-copy small{display:block;margin-bottom:5px;color:rgba(255,255,255,.58);font-size:8px;letter-spacing:.22em;text-transform:uppercase}.sis-ama-header h3{margin:0;color:#fff;font:900 29px/.95 Impact,sans-serif;text-transform:uppercase}.sis-ama-close{width:44px;height:44px;border:0;background:transparent;color:#fff;font:300 34px/1 Arial,sans-serif;cursor:pointer}.sis-ama-close:hover{background:rgba(255,255,255,.08);color:var(--red)}.sis-ama-progress-wrap{padding:17px 22px 15px;background:#fff;border-bottom:1px solid var(--border)}.sis-ama-progress-meta{display:flex;justify-content:space-between;gap:16px;margin-bottom:10px;color:#6d7071;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.sis-ama-progress-meta span:last-child{color:var(--black)}.sis-ama-progress{height:3px;background:#e5e5e1;overflow:hidden}.sis-ama-progress span{display:block;width:20%;height:100%;background:var(--red);transition:width .25s ease}.sis-ama-body{flex:1;min-height:0;overflow:auto;padding:22px}.sis-ama-intro{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid var(--border);color:#676a6b;font-size:13px;line-height:1.55}.sis-ama-heading{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;margin-bottom:20px}.sis-ama-heading>span{padding-top:4px;color:var(--red);font:900 18px/1 Impact,sans-serif}.sis-ama-heading h4{margin:0 0 8px;color:var(--black);font:900 28px/.95 Impact,sans-serif;text-transform:uppercase}.sis-ama-heading p{margin:0;color:#727576;font-size:12px;line-height:1.5}.sis-ama-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sis-ama-option{min-height:100px;padding:17px;border:1px solid var(--border);background:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:18px;text-align:left;cursor:pointer}.sis-ama-option:hover{background:#f0f0ed;border-color:#a6a9a8}.sis-ama-option.is-selected{background:#fff2f1;border-color:var(--red);box-shadow:inset 3px 0 0 var(--red)}.sis-ama-option .idx{color:#939695;font-size:9px;letter-spacing:.18em}.sis-ama-option strong{color:var(--black);font:900 18px/1.05 Impact,sans-serif;text-transform:uppercase}.sis-ama-option small{color:#777c80;font-size:10px;line-height:1.4}.sis-ama-footer{min-height:82px;padding:14px 22px;background:#fff;border-top:1px solid var(--border);display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.sis-ama-btn{min-height:50px;padding:0 19px;border:1px solid #cfd0cd;background:#fff;color:var(--black);font:900 15px/1 Impact,sans-serif;text-transform:uppercase;cursor:pointer}.sis-ama-btn:disabled{opacity:.35}.sis-ama-btn--next{min-width:170px;background:var(--red);border-color:var(--red);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:18px}.sis-ama-footnote{color:#8a8e8e;font-size:8px;letter-spacing:.15em;text-align:center;text-transform:uppercase}

/* =========================================================
   3. ALOHA-STYLE FULL-SCREEN REGISTRATION TAKEOVER
========================================================= */
.sis-ap-root{--bg:#f1ede4;--ink:#151d2c;--gold:#f2c94c;--coral:#ee654f;position:fixed;inset:0;z-index:1000000;background:var(--bg);visibility:hidden;opacity:0;transition:opacity .2s ease;pointer-events:none}.sis-ap-root.is-open{visibility:visible;opacity:1;pointer-events:auto}.sis-ap-panel{position:absolute;inset:0;width:100vw;height:100dvh;background:var(--bg);color:var(--ink);overflow:auto}.sis-ap-close{position:fixed;right:16px;top:16px;z-index:10;width:44px;height:44px;border:2px solid var(--ink);background:var(--bg);color:var(--ink);font:300 31px/1 Arial,sans-serif;cursor:pointer}.sis-ap-close:hover{background:var(--gold)}.sis-ap-brandbar{min-height:58px;padding:0 max(78px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.sis-ap-inner{width:min(1180px,calc(100% - 56px));margin:0 auto;padding:42px 0 36px}.sis-ap-eyebrow{margin-bottom:14px;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.sis-ap-intro h3{max-width:820px;margin:0;color:var(--ink);font-family:"Arial Black",Impact,sans-serif;font-size:clamp(70px,9vw,116px);font-weight:900;line-height:.8;letter-spacing:-.045em;text-transform:uppercase}.sis-ap-intro p{max-width:700px;margin:20px 0 0;font-size:15px;font-weight:750;line-height:1.5}.sis-ap-form{margin-top:32px;padding-top:28px;border-top:2px solid var(--ink)}.sis-ap-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sis-ap-field--full{grid-column:1/-1}.sis-ap-field span{display:block;margin-bottom:7px;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.sis-ap-field input{width:100%;height:50px;padding:0 13px;border:1.5px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font-size:15px;outline:none}.sis-ap-field input:focus{box-shadow:0 0 0 3px var(--gold)}.sis-ap-consent{margin-top:18px;display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.45}.sis-ap-consent input{margin-top:3px;flex:0 0 auto}.sis-ap-submit{width:100%;min-height:58px;margin-top:22px;padding:0 18px;border:2px solid var(--ink);background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.sis-ap-success{width:min(1180px,calc(100% - 56px));min-height:calc(100dvh - 112px);margin:0 auto;padding:48px 0;display:flex;flex-direction:column;justify-content:center}.sis-ap-success[hidden]{display:none!important}.sis-ap-success-star{color:var(--gold);font-size:38px}.sis-ap-success h3{margin:10px 0 12px;font-family:"Arial Black",Impact,sans-serif;font-size:clamp(66px,9vw,108px);line-height:.82;text-transform:uppercase}.sis-ap-success p{max-width:680px;margin:0;font-size:15px;line-height:1.55}.sis-ap-success-cta{max-width:420px}.sis-ap-footer{min-height:54px;padding:0 max(22px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:9px;background:var(--ink);color:#fff;font-size:8px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.sis-ap-footer i{width:6px;height:6px;border-radius:50%;background:var(--coral)}

/* =========================================================
   4. ALLPT-STYLE HIRE / BOOKING DRAWER
========================================================= */
.sis-apt-root{--orange:#fc7314;--orange-dark:#e56200;--black:#202428;position:fixed;inset:0;z-index:999999;visibility:hidden;pointer-events:none}.sis-apt-root.is-open{visibility:visible;pointer-events:auto}.sis-apt-drawer{position:absolute;right:0;top:0;width:min(480px,100%);height:100dvh;background:#f2f2f0;display:flex;flex-direction:column;transform:translateX(102%);box-shadow:-24px 0 70px rgba(0,0,0,.2);transition:transform .34s cubic-bezier(.22,.8,.2,1)}.sis-apt-root.is-open .sis-apt-drawer{transform:translateX(0)}.sis-apt-header{min-height:86px;padding:0 20px;background:var(--black);border-bottom:3px solid var(--orange);display:flex;align-items:center;justify-content:space-between;gap:14px;color:#fff}.sis-apt-title{display:flex;align-items:center;gap:13px}.sis-apt-icon{width:42px;height:42px;background:var(--orange);display:grid;place-items:center;color:#fff;font-size:20px}.sis-apt-title small{display:block;margin-bottom:5px;color:rgba(255,255,255,.58);font-size:7px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.sis-apt-title strong{display:block;color:#fff;font-size:22px;font-weight:800}.sis-apt-close{width:44px;height:44px;border:0;background:transparent;color:#fff;font:300 32px/1 Arial,sans-serif;cursor:pointer}.sis-apt-close:hover{background:rgba(255,255,255,.08)}.sis-apt-body{flex:1;min-height:0;overflow:auto;padding:25px}.sis-apt-card{margin-bottom:16px;padding:21px;border:1px solid rgba(20,23,25,.08);background:#fff}.sis-apt-card-head{margin-bottom:18px;display:flex;align-items:center;gap:10px}.sis-apt-card-head>span{width:24px;height:24px;color:var(--orange);font-size:21px;line-height:24px}.sis-apt-card-head strong{color:var(--black);font-size:16px;font-weight:800}.sis-apt-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sis-apt-card label{display:flex;flex-direction:column;gap:7px}.sis-apt-card label>span{color:#6d7276;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.sis-apt-card input{width:100%;height:49px;padding:0 13px;border:1px solid #d5d7d8;border-radius:0;background:#fff;color:var(--black);font-size:13px;outline:none}.sis-apt-card input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(252,115,20,.1)}.sis-apt-field--spaced{margin-top:12px}.sis-apt-options{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d8d9da}.sis-apt-options button{min-height:76px;padding:15px;border:0;border-right:1px solid #d8d9da;border-bottom:1px solid #d8d9da;background:#fff;display:flex;flex-direction:column;justify-content:center;gap:4px;text-align:left;cursor:pointer}.sis-apt-options button:nth-child(even){border-right:0}.sis-apt-options button:nth-child(n+3){border-bottom:0}.sis-apt-options strong{color:var(--black);font-size:13px;font-weight:800}.sis-apt-options small{color:#777c80;font-size:11px}.sis-apt-options button.is-selected{position:relative;z-index:1;background:rgba(252,115,20,.075);box-shadow:inset 4px 0 0 var(--orange)}.sis-apt-qty{width:210px;height:50px;display:grid;grid-template-columns:50px 1fr 50px;border:1px solid #d5d7d8}.sis-apt-qty button{padding:0;border:0;background:#f4f4f3;color:var(--black);font-size:22px;cursor:pointer}.sis-apt-qty input{width:100%;height:48px;border:0;border-left:1px solid #d5d7d8;border-right:1px solid #d5d7d8;text-align:center;font-size:15px;font-weight:800}.sis-apt-submit{width:100%;min-height:57px;padding:0 20px;border:0;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:800;cursor:pointer}.sis-apt-submit:hover{background:var(--orange-dark)}.sis-apt-note{margin:13px 12px 8px;color:#777c80;font-size:10px;line-height:1.55;text-align:center}

/* =========================================================
   RESPONSIVE — important: mirror the original mobile behaviour
========================================================= */
@media(max-width:1180px){.sis-heading-row{grid-template-columns:1fr;gap:18px}.sis-intro{max-width:520px}.sis-wrap{width:min(100% - 38px,1380px)}}
@media(max-width:860px){.sis-grid{grid-template-columns:1fr}.sis-card-preview{height:275px}.sis-card-body{min-height:0}}

@media(max-width:700px){
  .sis-section{padding:68px 0 76px}.sis-wrap{width:calc(100% - 32px)}.sis-heading-row{margin-bottom:28px}.sis-heading-row h2{font-size:42px;line-height:.98}.sis-intro{font-size:15px}.sis-card-preview{height:215px}.sis-card-body{padding:22px;min-height:auto;align-items:flex-start;flex-direction:column;gap:18px}.sis-card-body h3{font-size:28px}.sis-preview-canvas{padding:20px;grid-template-columns:27% 73%}.sis-preview-side{padding:24px 14px}.sis-preview-main{padding:26px 22px}.sis-preview-main:after{right:18px;top:18px;width:34px;height:34px}.sis-preview-grid{margin-top:18px;padding-top:14px}.sis-preview-grid i{height:36px}.sis-link-btn{font-size:9px}

  /* Project intake becomes a genuine full-screen mobile app */
  .sis-a51-dialog{inset:0;left:0;top:0;width:100%;height:100dvh;display:block;transform:translateY(100%);opacity:1;box-shadow:none}.sis-a51-root.is-open .sis-a51-dialog{transform:translateY(0)}.sis-a51-rail{display:none}.sis-a51-main{height:100dvh}.sis-a51-close--desktop{display:none}.sis-a51-mobile-head{min-height:76px;padding:13px 14px 13px 17px;background:var(--black);border-bottom:3px solid var(--g);display:flex;align-items:center;justify-content:space-between;gap:14px;color:#fff}.sis-a51-mobile-head strong{display:block;color:#fff;font:900 24px/.9 Impact,sans-serif;text-transform:uppercase}.sis-a51-mobile-head .sis-a51-close{color:#fff}.sis-a51-progress-wrap{padding:13px 16px 12px}.sis-a51-progress-meta{margin-bottom:8px;font-size:8px}.sis-a51-body{padding:18px 16px 24px}.sis-a51-intro{padding-right:0;margin-bottom:18px;font-size:11px}.sis-a51-step-heading{grid-template-columns:36px 1fr;gap:10px;margin-bottom:17px}.sis-a51-step-no{font-size:15px}.sis-a51-step-heading h4{font-size:25px}.sis-a51-step-heading p{font-size:10px}.sis-a51-choice{min-height:56px;grid-template-columns:34px 1fr 28px;padding-right:8px}.sis-a51-choice .title{font-size:12px}.sis-a51-footer{min-height:72px;padding:10px 16px;grid-template-columns:80px 1fr;gap:10px}.sis-a51-footnote{display:none}.sis-a51-btn{min-height:46px;padding:0 12px;font-size:14px}.sis-a51-btn--next{min-width:0;width:100%}

  /* Quote drawer becomes full screen */
  .sis-ama-panel{width:100%;height:100dvh}.sis-ama-header{min-height:78px;padding:14px 16px;grid-template-columns:42px 1fr 42px;gap:11px}.sis-ama-mark{width:42px;height:42px;font-size:24px}.sis-ama-header h3{font-size:24px}.sis-ama-progress-wrap{padding:13px 16px 12px}.sis-ama-body{padding:18px 16px 22px}.sis-ama-intro{font-size:11px;padding-bottom:16px;margin-bottom:17px}.sis-ama-heading{grid-template-columns:34px 1fr;gap:9px}.sis-ama-heading>span{font-size:15px}.sis-ama-heading h4{font-size:24px}.sis-ama-heading p{font-size:10px}.sis-ama-options{gap:8px}.sis-ama-option{min-height:90px;padding:14px;gap:12px}.sis-ama-option strong{font-size:16px}.sis-ama-footer{min-height:72px;padding:10px 16px;grid-template-columns:80px 1fr;gap:10px}.sis-ama-footnote{display:none}.sis-ama-btn{min-height:46px;padding:0 12px;font-size:14px}.sis-ama-btn--next{min-width:0;width:100%}

  /* Event popup keeps full-screen takeover, collapses to one column */
  .sis-ap-brandbar{min-height:54px;padding-left:16px;padding-right:68px;font-size:8px}.sis-ap-brandbar span:last-child{display:none}.sis-ap-close{top:10px;right:10px}.sis-ap-inner{width:auto;margin:0;padding:34px 16px 30px}.sis-ap-intro h3{font-size:clamp(54px,17vw,78px);line-height:.8}.sis-ap-intro p{font-size:13px}.sis-ap-grid{grid-template-columns:1fr}.sis-ap-field--full{grid-column:auto}.sis-ap-footer{padding:0 16px;font-size:7px;overflow:hidden;white-space:nowrap}.sis-ap-success{width:auto;padding:34px 16px;min-height:calc(100dvh - 108px)}.sis-ap-success h3{font-size:clamp(52px,16vw,76px)}

  /* Hire drawer becomes full width and date fields stack */
  .sis-apt-drawer{width:100%;height:100dvh}.sis-apt-header{min-height:82px;padding:0 17px}.sis-apt-icon{width:37px;height:37px}.sis-apt-title strong{font-size:20px}.sis-apt-body{padding:16px}.sis-apt-card{padding:17px}.sis-apt-form-row{grid-template-columns:1fr}
}

@media(max-width:430px){.sis-ama-options{grid-template-columns:1fr}.sis-ama-option{min-height:76px}.sis-apt-options{grid-template-columns:1fr}.sis-apt-options button{border-right:0!important;border-bottom:1px solid #d8d9da!important}.sis-apt-options button:last-child{border-bottom:0!important}.sis-a51-step-heading h4{font-size:23px}}
@media(prefers-reduced-motion:reduce){.sis-overlay,.sis-a51-dialog,.sis-ama-panel,.sis-apt-drawer,.sis-ap-root{transition:none!important}}

/* =========================================================
   v1.5.0 — HOMEPAGE TYPOGRAPHY / GRID REFINEMENT
   Match newer SkyInk sections: inherited type, dark editorial
   headings, muted body copy and blue used only as an accent.
========================================================= */
.sis-section{
  font-family:inherit;
  --muted:#5f6878;
}
.sis-heading-row{grid-template-columns:minmax(0,1fr) minmax(280px,.38fr);gap:72px;margin-bottom:34px}
.sis-kicker{margin-bottom:20px;font-size:10px;font-weight:600;letter-spacing:.14em}
.sis-heading-row h2{max-width:820px;font-size:clamp(46px,5vw,70px);font-weight:500;line-height:1;letter-spacing:-.055em}
.sis-heading-row h2 em{color:var(--ink);font-style:normal;font-weight:inherit}
.sis-intro{max-width:390px;color:var(--muted);font-size:15px;line-height:1.6;letter-spacing:-.01em}
.sis-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.sis-card-preview{height:210px}
.sis-preview-canvas{padding:22px;grid-template-columns:27% 73%}
.sis-preview-side{padding:22px 14px;gap:11px}
.sis-preview-side:before{width:22px;height:3px;margin-bottom:10px}
.sis-preview-side:after{left:14px;right:14px;bottom:20px}
.sis-preview-main{padding:26px 22px}
.sis-preview-main:after{right:18px;top:18px;width:32px;height:32px}
.sis-preview-eyebrow{height:4px;margin-bottom:13px}.sis-preview-heading{height:17px;margin-bottom:12px}.sis-preview-line{height:4px;margin-bottom:6px}.sis-preview-grid{gap:7px;margin-top:16px;padding-top:12px}.sis-preview-grid i{height:31px}
.sis-card-body{min-height:166px;padding:22px 22px 20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:20px}
.sis-card-copy{max-width:none}
.sis-card-kicker{margin-bottom:8px;font-size:9px;font-weight:600;letter-spacing:.13em}
.sis-card-body h3{margin:0 0 8px;font-size:clamp(23px,1.7vw,30px);font-weight:500;line-height:1.02;letter-spacing:-.045em}
.sis-card-body p{max-width:100%;font-size:12px;line-height:1.5;color:var(--muted)}
.sis-link-btn{font-family:inherit;font-size:9px;font-weight:600;letter-spacing:.08em}

/* Give the three new cards slightly different abstract preview structures */
.sis-card-preview--operations-dashboard .sis-preview-grid{grid-template-columns:repeat(4,1fr)}
.sis-card-preview--operations-dashboard .sis-preview-grid i{height:42px}
.sis-card-preview--customer-portal .sis-preview-side:before{background:#111827}
.sis-card-preview--customer-portal .sis-preview-main{background:#fff}
.sis-card-preview--customer-portal .sis-preview-heading{width:42%}
.sis-card-preview--instant-estimator .sis-preview-main:after{border-radius:50%;background:var(--blue);border-color:var(--blue)}
.sis-card-preview--instant-estimator .sis-preview-grid{grid-template-columns:1fr 1fr 1fr}

@media(max-width:1180px){
  .sis-heading-row{grid-template-columns:1fr;gap:20px}
  .sis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sis-card-preview{height:250px}
  .sis-preview-canvas{padding:28px}
  .sis-card-body h3{font-size:30px}
}
@media(max-width:700px){
  .sis-heading-row h2{font-size:42px;line-height:.98}
  .sis-grid{grid-template-columns:1fr}
  .sis-card-preview{height:220px}
  .sis-card-body{min-height:0;padding:21px}
  .sis-card-body h3{font-size:27px}
}

/* =========================================================
   5. OPERATIONS COMMAND CENTRE
========================================================= */
.sis-ops-root{position:fixed;inset:0;z-index:999999;visibility:hidden;pointer-events:none;--ops-blue:#1f3bff;--ops-ink:#0b0f18;--ops-line:#e5e8ee;--ops-muted:#697180}
.sis-ops-root.is-open{visibility:visible;pointer-events:auto}
.sis-ops-shell{position:absolute;left:50%;top:50%;width:min(1220px,calc(100% - 48px));height:min(790px,calc(100dvh - 48px));display:grid;grid-template-columns:210px minmax(0,1fr);background:#f7f8fb;color:var(--ops-ink);box-shadow:0 40px 120px rgba(0,0,0,.35);opacity:0;transform:translate(-50%,-47%) scale(.985);transition:opacity .22s ease,transform .3s cubic-bezier(.22,.8,.2,1);overflow:hidden}
.sis-ops-root.is-open .sis-ops-shell{opacity:1;transform:translate(-50%,-50%) scale(1)}
.sis-ops-sidebar{padding:24px 16px 20px;background:#080b12;color:#fff;display:flex;flex-direction:column}
.sis-ops-logo{display:flex;align-items:center;gap:10px;padding:0 6px 22px;border-bottom:1px solid rgba(255,255,255,.1)}
.sis-ops-logo>span{width:34px;height:34px;background:var(--ops-blue);display:grid;place-items:center;font-size:14px;font-weight:800}.sis-ops-logo strong{font-size:11px;letter-spacing:.12em}
.sis-ops-nav{display:grid;gap:6px;margin-top:22px}.sis-ops-nav button{width:100%;min-height:44px;padding:0 12px;border:0;background:transparent;color:rgba(255,255,255,.48);display:flex;align-items:center;gap:12px;text-align:left;font-size:11px;font-weight:700;cursor:pointer}.sis-ops-nav button span{font-size:8px;color:rgba(255,255,255,.28)}.sis-ops-nav button.is-active{background:#111827;color:#fff;box-shadow:inset 3px 0 0 var(--ops-blue)}.sis-ops-nav button.is-active span{color:#7487ff}
.sis-ops-sidebar-foot{margin-top:auto;padding:18px 6px 4px;border-top:1px solid rgba(255,255,255,.1)}.sis-ops-sidebar-foot small{display:block;margin-bottom:6px;color:#7487ff;font-size:7px;font-weight:700;letter-spacing:.15em}.sis-ops-sidebar-foot b{font-size:13px;font-weight:600}
.sis-ops-main{min-width:0;min-height:0;display:flex;flex-direction:column}
.sis-ops-topbar{min-height:82px;padding:0 24px;background:#fff;border-bottom:1px solid var(--ops-line);display:flex;align-items:center;justify-content:space-between;gap:20px}.sis-ops-topbar small{display:block;margin-bottom:5px;color:var(--ops-blue);font-size:8px;font-weight:700;letter-spacing:.14em}.sis-ops-topbar h3{margin:0;font-size:27px;font-weight:500;letter-spacing:-.04em}.sis-ops-top-actions{display:flex;align-items:center;gap:14px}.sis-ops-live{display:flex;align-items:center;gap:7px;font-size:8px;font-weight:700;letter-spacing:.12em}.sis-ops-live i{width:7px;height:7px;border-radius:50%;background:#27c26a;box-shadow:0 0 0 5px rgba(39,194,106,.1)}.sis-ops-top-actions button{width:42px;height:42px;border:1px solid var(--ops-line);background:#fff;color:var(--ops-ink);font-size:27px;font-weight:300;cursor:pointer}
.sis-ops-content{flex:1;min-height:0;overflow:auto;padding:22px}
.sis-ops-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.sis-ops-metrics article{padding:16px 16px 14px;background:#fff;border:1px solid var(--ops-line)}.sis-ops-metrics span{display:block;color:var(--ops-muted);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sis-ops-metrics strong{display:block;margin:7px 0 4px;font-size:28px;font-weight:500;letter-spacing:-.05em}.sis-ops-metrics small{color:#7b8493;font-size:9px}
.sis-ops-view{display:none}.sis-ops-view.is-active{display:block}
.sis-ops-toolbar,.sis-ops-table-head{min-height:58px;padding:0 16px;background:#fff;border:1px solid var(--ops-line);display:flex;align-items:center;justify-content:space-between;gap:18px}.sis-ops-toolbar strong,.sis-ops-table-head strong{display:block;font-size:14px;font-weight:600}.sis-ops-toolbar span,.sis-ops-table-head span{display:block;margin-top:3px;color:var(--ops-muted);font-size:10px}.sis-ops-toolbar>button{height:34px;padding:0 14px;border:0;background:var(--ops-blue);color:#fff;font-size:9px;font-weight:700;cursor:pointer}
.sis-ops-board{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px;margin-top:10px}.sis-ops-column{min-width:0;padding:10px;background:#eef1f6;border:1px solid #e1e5ec}.sis-ops-column>header{height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#485164;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.sis-ops-column>header b{width:22px;height:22px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:9px}
.sis-ops-lead{width:100%;margin-top:8px;padding:13px;border:1px solid #dfe4eb;background:#fff;color:var(--ops-ink);display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease}.sis-ops-lead:hover{transform:translateY(-2px);border-color:#b9c4ff}.sis-ops-lead small{color:var(--ops-blue);font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sis-ops-lead strong{font-size:12px;font-weight:600}.sis-ops-lead>span{color:var(--ops-muted);font-size:9px}.sis-ops-lead--won{box-shadow:inset 3px 0 0 #27c26a}
.sis-ops-jobs-table{margin-top:10px;border:1px solid var(--ops-line);background:#fff}.sis-ops-job{min-height:62px;padding:0 16px;display:grid;grid-template-columns:72px minmax(160px,1.2fr) minmax(120px,1fr) 90px 58px;align-items:center;gap:12px;border-bottom:1px solid var(--ops-line);font-size:11px}.sis-ops-job:last-child{border-bottom:0}.sis-ops-job>b{color:var(--ops-blue);font-size:9px}.sis-ops-job>strong{font-weight:600}.sis-ops-job>span,.sis-ops-job>em{color:var(--ops-muted);font-style:normal}.sis-ops-job>i{font-style:normal;font-weight:700;text-align:right}
.sis-ops-team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}.sis-ops-team-grid article{min-height:88px;padding:14px;background:#fff;border:1px solid var(--ops-line);display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px}.sis-ops-team-grid article>span{width:44px;height:44px;background:#eef1ff;color:var(--ops-blue);display:grid;place-items:center;font-size:11px;font-weight:800}.sis-ops-team-grid strong{display:block;font-size:12px;font-weight:600}.sis-ops-team-grid small{display:block;margin-top:3px;color:var(--ops-muted);font-size:9px}.sis-ops-team-grid b{font-size:18px;font-weight:500}

/* =========================================================
   6. CUSTOMER PORTAL
========================================================= */
.sis-portal-root{position:fixed;inset:0;z-index:999999;visibility:hidden;pointer-events:none;--p-blue:#1f3bff;--p-ink:#0b0f18;--p-line:#e5e8ee;--p-muted:#667085}.sis-portal-root.is-open{visibility:visible;pointer-events:auto}
.sis-portal-shell{position:absolute;left:50%;top:50%;width:min(1160px,calc(100% - 48px));height:min(740px,calc(100dvh - 48px));background:#fff;color:var(--p-ink);box-shadow:0 38px 110px rgba(0,0,0,.32);opacity:0;transform:translate(-50%,-47%) scale(.985);transition:opacity .22s ease,transform .3s cubic-bezier(.22,.8,.2,1);overflow:hidden}.sis-portal-root.is-open .sis-portal-shell{opacity:1;transform:translate(-50%,-50%) scale(1)}
.sis-portal-header{height:78px;padding:0 20px;border-bottom:1px solid var(--p-line);display:grid;grid-template-columns:1fr auto 48px;align-items:center;gap:24px}.sis-portal-brand{display:flex;align-items:center;gap:11px}.sis-portal-brand>span{width:36px;height:36px;background:var(--p-blue);color:#fff;display:grid;place-items:center;font-weight:800}.sis-portal-brand small{display:block;color:var(--p-muted);font-size:7px;font-weight:700;letter-spacing:.14em}.sis-portal-brand strong{display:block;margin-top:3px;font-size:14px;font-weight:600}.sis-portal-tabs{display:flex;height:100%}.sis-portal-tabs button{position:relative;padding:0 16px;border:0;background:transparent;color:#7b8493;font-size:10px;font-weight:700;cursor:pointer}.sis-portal-tabs button.is-active{color:var(--p-ink)}.sis-portal-tabs button.is-active:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:2px;background:var(--p-blue)}.sis-portal-close{width:42px;height:42px;border:1px solid var(--p-line);background:#fff;color:var(--p-ink);font-size:27px;cursor:pointer}
.sis-portal-body{height:calc(100% - 78px);display:grid;grid-template-columns:290px minmax(0,1fr)}
.sis-portal-project{padding:30px 26px;background:#0c111b;color:#fff}.sis-portal-project>small{color:#7185ff;font-size:8px;font-weight:700;letter-spacing:.15em}.sis-portal-project h3{margin:13px 0 10px;color:#fff;font-size:32px;font-weight:500;line-height:1;letter-spacing:-.045em}.sis-portal-project>p{margin:0;color:rgba(255,255,255,.55);font-size:12px;line-height:1.6}.sis-portal-progress-copy{display:flex;align-items:center;justify-content:space-between;margin-top:38px;color:rgba(255,255,255,.58);font-size:9px}.sis-portal-progress-copy b{color:#fff}.sis-portal-progress{height:5px;margin-top:9px;background:rgba(255,255,255,.1);overflow:hidden}.sis-portal-progress span{display:block;width:68%;height:100%;background:var(--p-blue);transition:width .35s ease}.sis-portal-phases{display:grid;gap:17px;margin-top:34px}.sis-portal-phases>div{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:10px;color:rgba(255,255,255,.35);font-size:10px}.sis-portal-phases i{width:28px;height:28px;border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;font-style:normal;font-size:9px}.sis-portal-phases .is-done{color:rgba(255,255,255,.68)}.sis-portal-phases .is-done i{background:#18223b;color:#7d8fff;border-color:#263456}.sis-portal-phases .is-current{color:#fff}.sis-portal-phases .is-current i{background:var(--p-blue);border-color:var(--p-blue)}
.sis-portal-main{min-width:0;min-height:0;overflow:auto;background:#f7f8fb;padding:28px}.sis-portal-panel{display:none}.sis-portal-panel.is-active{display:block}.sis-portal-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.sis-portal-welcome small,.sis-portal-panel-head small{display:block;margin-bottom:6px;color:var(--p-blue);font-size:8px;font-weight:700;letter-spacing:.13em}.sis-portal-welcome h4,.sis-portal-panel-head h4{margin:0;font-size:33px;font-weight:500;letter-spacing:-.045em}.sis-portal-status{padding:8px 11px;background:#eef1ff;color:var(--p-blue);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.sis-portal-overview-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:12px;margin-top:22px}.sis-portal-next,.sis-portal-summary{background:#fff;border:1px solid var(--p-line)}.sis-portal-next{padding:23px}.sis-portal-next>small{color:var(--p-blue);font-size:8px;font-weight:700;letter-spacing:.13em}.sis-portal-next h5{margin:13px 0 8px;font-size:23px;font-weight:500;letter-spacing:-.035em}.sis-portal-next p{margin:0;color:var(--p-muted);font-size:11px;line-height:1.55}.sis-portal-next button{margin-top:20px;height:42px;padding:0 14px;border:0;background:var(--p-ink);color:#fff;font-size:9px;font-weight:700;cursor:pointer}.sis-portal-next button span{margin-left:18px;color:#8292ff}.sis-portal-summary{display:grid}.sis-portal-summary>div{padding:14px 16px;border-bottom:1px solid var(--p-line)}.sis-portal-summary>div:last-child{border-bottom:0}.sis-portal-summary span{display:block;color:var(--p-muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.sis-portal-summary strong{display:block;margin-top:5px;font-size:12px;font-weight:600}
.sis-portal-activity{margin-top:12px;background:#fff;border:1px solid var(--p-line)}.sis-portal-activity header{min-height:48px;padding:0 16px;border-bottom:1px solid var(--p-line);display:flex;align-items:center;justify-content:space-between}.sis-portal-activity header strong{font-size:11px;font-weight:600}.sis-portal-activity header span{color:var(--p-muted);font-size:9px}.sis-portal-activity>div{min-height:45px;padding:0 16px;display:grid;grid-template-columns:8px 1fr;align-items:center;gap:10px;border-bottom:1px solid #eef0f4;color:#565f70;font-size:10px}.sis-portal-activity>div:last-child{border-bottom:0}.sis-portal-activity i{width:6px;height:6px;border-radius:50%;background:var(--p-blue)}.sis-portal-activity b{color:var(--p-ink);margin-right:8px}
.sis-portal-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.sis-portal-panel-head>span{color:var(--p-muted);font-size:9px}
.sis-portal-files{background:#fff;border:1px solid var(--p-line)}.sis-portal-files button{width:100%;min-height:72px;padding:0 16px;border:0;border-bottom:1px solid var(--p-line);background:#fff;color:var(--p-ink);display:grid;grid-template-columns:42px 1fr 28px;align-items:center;gap:12px;text-align:left;cursor:pointer}.sis-portal-files button:last-child{border-bottom:0}.sis-portal-files i{width:42px;height:42px;background:#eef1ff;color:var(--p-blue);display:grid;place-items:center;font-style:normal;font-size:8px;font-weight:800}.sis-portal-files strong{display:block;font-size:12px;font-weight:600}.sis-portal-files span{display:block;margin-top:4px;color:var(--p-muted);font-size:9px}.sis-portal-files b{text-align:center;color:var(--p-blue)}
.sis-portal-chat{display:grid;gap:12px;max-height:410px;overflow:auto;padding-right:4px}.sis-portal-chat>div{max-width:72%;padding:13px 15px;border:1px solid var(--p-line);background:#fff}.sis-portal-chat .from-client{margin-left:auto;background:#101724;color:#fff;border-color:#101724}.sis-portal-chat small{display:block;margin-bottom:5px;color:#7a8494;font-size:8px}.sis-portal-chat .from-client small{color:rgba(255,255,255,.45)}.sis-portal-chat p{margin:0;font-size:11px;line-height:1.5}.sis-portal-message-box{height:52px;margin-top:14px;display:grid;grid-template-columns:1fr 82px;border:1px solid var(--p-line);background:#fff}.sis-portal-message-box input{min-width:0;padding:0 14px;border:0;outline:0;font-size:11px}.sis-portal-message-box button{border:0;background:var(--p-blue);color:#fff;font-size:9px;font-weight:700;cursor:pointer}

/* =========================================================
   7. INSTANT ESTIMATOR
========================================================= */
.sis-est-root{position:fixed;inset:0;z-index:999999;visibility:hidden;pointer-events:none;--e-blue:#1f3bff;--e-ink:#0b0f18;--e-line:#e5e8ee;--e-muted:#667085}.sis-est-root.is-open{visibility:visible;pointer-events:auto}
.sis-est-shell{position:absolute;left:50%;top:50%;width:min(1120px,calc(100% - 48px));height:min(790px,calc(100dvh - 48px));background:#fff;color:var(--e-ink);box-shadow:0 40px 120px rgba(0,0,0,.35);opacity:0;transform:translate(-50%,-47%) scale(.985);transition:opacity .22s ease,transform .3s cubic-bezier(.22,.8,.2,1);overflow:hidden}.sis-est-root.is-open .sis-est-shell{opacity:1;transform:translate(-50%,-50%) scale(1)}
.sis-est-header{height:82px;padding:0 24px;border-bottom:1px solid var(--e-line);display:flex;align-items:center;justify-content:space-between}.sis-est-header small{display:block;margin-bottom:5px;color:var(--e-blue);font-size:8px;font-weight:700;letter-spacing:.14em}.sis-est-header h3{margin:0;font-size:28px;font-weight:500;letter-spacing:-.04em}.sis-est-header>button{width:42px;height:42px;border:1px solid var(--e-line);background:#fff;color:var(--e-ink);font-size:27px;cursor:pointer}
.sis-est-layout{height:calc(100% - 82px);display:grid;grid-template-columns:minmax(0,1.25fr) 370px}.sis-est-form{min-height:0;overflow:auto;padding:22px;background:#f7f8fb}.sis-est-step{padding:18px;background:#fff;border:1px solid var(--e-line);margin-bottom:12px}.sis-est-step:last-child{margin-bottom:0}.sis-est-step-head{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start}.sis-est-step-head>span{width:34px;height:34px;background:#eef1ff;color:var(--e-blue);display:grid;place-items:center;font-size:9px;font-weight:800}.sis-est-step-head strong{display:block;font-size:14px;font-weight:600}.sis-est-step-head small{display:block;margin-top:3px;color:var(--e-muted);font-size:9px}
.sis-est-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.sis-est-choice-grid button{min-height:76px;padding:12px;border:1px solid var(--e-line);background:#fff;color:var(--e-ink);text-align:left;cursor:pointer}.sis-est-choice-grid button.is-selected{border-color:var(--e-blue);background:#f4f6ff;box-shadow:inset 3px 0 0 var(--e-blue)}.sis-est-choice-grid strong{display:block;font-size:11px;font-weight:600}.sis-est-choice-grid small{display:block;margin-top:5px;color:var(--e-muted);font-size:8px;line-height:1.35}
.sis-est-range{width:100%;margin:20px 0 5px;accent-color:var(--e-blue)}.sis-est-range-labels{display:flex;justify-content:space-between;color:var(--e-muted);font-size:8px}
.sis-est-toggles{display:grid;gap:7px;margin-top:14px}.sis-est-toggles label{position:relative;min-height:58px;padding:0 52px 0 13px;border:1px solid var(--e-line);display:flex;align-items:center;cursor:pointer}.sis-est-toggles input{position:absolute;opacity:0;pointer-events:none}.sis-est-toggles span b{display:block;font-size:10px;font-weight:600}.sis-est-toggles span small{display:block;margin-top:3px;color:var(--e-muted);font-size:8px}.sis-est-toggles i{position:absolute;right:13px;width:31px;height:18px;border-radius:20px;background:#d8dde6}.sis-est-toggles i:after{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .18s ease}.sis-est-toggles input:checked~i{background:var(--e-blue)}.sis-est-toggles input:checked~i:after{left:16px}
.sis-est-time{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.sis-est-time button{height:40px;border:1px solid var(--e-line);background:#fff;color:var(--e-ink);font-size:9px;font-weight:700;cursor:pointer}.sis-est-time button.is-selected{background:var(--e-ink);border-color:var(--e-ink);color:#fff}
.sis-est-result{padding:30px 26px;background:#0b0f18;color:#fff;overflow:auto}.sis-est-result-top{display:flex;align-items:center;justify-content:space-between;color:#7f90ff;font-size:8px;font-weight:700;letter-spacing:.14em}.sis-est-result-top i{width:8px;height:8px;border-radius:50%;background:#27c26a;box-shadow:0 0 0 5px rgba(39,194,106,.1)}.sis-est-result>p{margin:48px 0 7px;color:rgba(255,255,255,.48);font-size:10px}.sis-est-result>strong{display:block;font-size:34px;font-weight:500;line-height:1.05;letter-spacing:-.05em}.sis-est-result-line{height:1px;margin:28px 0;background:rgba(255,255,255,.11)}.sis-est-result dl{margin:0}.sis-est-result dl>div{padding:10px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.08)}.sis-est-result dt{color:rgba(255,255,255,.45);font-size:9px}.sis-est-result dd{margin:0;font-size:10px;font-weight:600}.sis-est-includes{margin-top:26px}.sis-est-includes>span{color:#7f90ff;font-size:8px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.sis-est-includes ul{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:8px}.sis-est-includes li{position:relative;padding-left:17px;color:rgba(255,255,255,.68);font-size:9px}.sis-est-includes li:before{content:"✓";position:absolute;left:0;color:#7f90ff}.sis-est-cta{width:100%;height:50px;margin-top:28px;padding:0 15px;border:0;background:var(--e-blue);color:#fff;display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:700;cursor:pointer}.sis-est-disclaimer{display:block;margin-top:13px;color:rgba(255,255,255,.35);font-size:7px;line-height:1.5}

/* New demo responsive behaviour */
@media(max-width:860px){
  .sis-ops-shell,.sis-portal-shell,.sis-est-shell{inset:0;left:0;top:0;width:100%;height:100dvh;transform:translateY(100%);opacity:1;box-shadow:none}
  .sis-ops-root.is-open .sis-ops-shell,.sis-portal-root.is-open .sis-portal-shell,.sis-est-root.is-open .sis-est-shell{transform:translateY(0)}
  .sis-ops-shell{grid-template-columns:1fr}.sis-ops-sidebar{display:none}.sis-ops-content{padding:14px}.sis-ops-metrics{grid-template-columns:repeat(2,1fr)}.sis-ops-board{overflow-x:auto;grid-template-columns:repeat(4,210px);padding-bottom:10px}.sis-ops-topbar{padding:0 16px}.sis-ops-topbar h3{font-size:24px}.sis-ops-job{grid-template-columns:58px minmax(130px,1.2fr) 1fr 54px}.sis-ops-job>em{display:none}.sis-ops-team-grid{grid-template-columns:1fr}
  .sis-portal-shell{overflow:auto}.sis-portal-header{position:sticky;top:0;z-index:3;height:auto;min-height:72px;padding:10px 12px;grid-template-columns:1fr 44px}.sis-portal-tabs{grid-column:1/-1;order:3;width:100%;height:42px;overflow:auto}.sis-portal-tabs button{flex:1}.sis-portal-body{height:auto;grid-template-columns:1fr}.sis-portal-project{padding:22px}.sis-portal-project h3{font-size:27px}.sis-portal-project>p{max-width:520px}.sis-portal-progress-copy{margin-top:20px}.sis-portal-phases{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:20px}.sis-portal-phases>div{grid-template-columns:1fr;gap:5px;text-align:center}.sis-portal-phases i{margin:auto}.sis-portal-main{overflow:visible;padding:18px}.sis-portal-overview-grid{grid-template-columns:1fr}.sis-portal-welcome h4,.sis-portal-panel-head h4{font-size:28px}
  .sis-est-shell{overflow:auto}.sis-est-header{position:sticky;top:0;z-index:3;background:#fff}.sis-est-layout{height:auto;grid-template-columns:1fr}.sis-est-result{order:-1;padding:24px}.sis-est-result>p{margin-top:28px}.sis-est-form{overflow:visible}.sis-est-choice-grid{grid-template-columns:1fr}.sis-est-time{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:520px){
  .sis-ops-metrics{grid-template-columns:1fr 1fr}.sis-ops-metrics strong{font-size:24px}.sis-ops-toolbar{align-items:flex-start;flex-direction:column;padding:12px}.sis-ops-toolbar>button{width:100%}
  .sis-portal-phases span{font-size:8px}.sis-portal-welcome{align-items:flex-start;flex-direction:column}.sis-portal-chat>div{max-width:88%}
  .sis-est-time{grid-template-columns:1fr}.sis-est-result>strong{font-size:30px}
}


/* =========================================================
   8. CLIENT BOOKING SYSTEM DEMOS — v1.7.0
   Safe replicas of City Tyres, City Home Builders and Alex.
========================================================= */
.sisx-system-demo{
  --sisx-demo-accent:#1f3bff;
  position:fixed;
  inset:0;
  z-index:100250;
  display:none;
}
.sisx-system-demo.is-open{display:block}
.sisx-system-demo__backdrop{position:absolute;inset:0;background:rgba(3,6,12,.82);backdrop-filter:blur(10px)}
.sisx-system-demo__shell{
  position:absolute;
  inset:18px;
  display:grid;
  grid-template-rows:68px auto minmax(0,1fr);
  background:#fff;
  overflow:hidden;
  box-shadow:0 30px 100px rgba(0,0,0,.35);
}
.sisx-system-demo__topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 22px;
  border-bottom:1px solid #e4e7ec;
  background:#fff;
}
.sisx-system-demo__topbar>div:first-child{display:flex;align-items:center;gap:14px;min-width:0}
.sisx-system-demo__topbar>div:first-child>span{color:var(--sisx-demo-accent);font-size:8px;font-weight:700;letter-spacing:.15em;white-space:nowrap}
.sisx-system-demo__topbar strong{color:#0b0f18;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sisx-system-demo__actions{display:flex;align-items:center;gap:8px}
.sisx-system-demo__actions button{
  min-height:40px;
  padding:0 13px;
  border:1px solid #e2e6ec;
  background:#fff;
  color:#0b0f18;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font:inherit;
  font-size:9px;
  font-weight:700;
  cursor:pointer;
}
.sisx-system-demo__actions button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7}
.sisx-system-demo__actions .sisx-system-demo__close{width:40px;padding:0;justify-content:center}
.sisx-system-demo__notice{
  min-height:42px;
  padding:10px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-bottom:1px solid #e6e9ee;
  background:#f7f8fa;
  color:#667080;
  font-size:10px;
  line-height:1.4;
}
.sisx-system-demo__notice strong{color:#111827}
.sisx-system-demo__notice svg{width:15px;height:15px;fill:none;stroke:var(--sisx-demo-accent);stroke-width:1.7;flex:0 0 15px}
.sisx-system-demo__body{min-height:0;overflow:auto;background:#f3f5f7}

.sisx-demo-layout{min-height:100%;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)}
.sisx-demo-side{
  min-height:100%;
  padding:48px 44px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#0b0f18;
  color:#fff;
}
.sisx-demo-layout--tyres .sisx-demo-side{background:#101114}
.sisx-demo-layout--home .sisx-demo-side{background:#161513}
.sisx-demo-layout--alex .sisx-demo-side{background:#111210}
.sisx-demo-brandline{display:flex;align-items:center;gap:10px;color:var(--sisx-demo-accent);font-size:8px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.sisx-demo-brandline i{width:22px;height:1px;background:currentColor}
.sisx-demo-big-step{display:block;margin:44px 0 12px;color:rgba(255,255,255,.16);font-size:86px;font-weight:500;line-height:.8;letter-spacing:-.07em}
.sisx-demo-side h2{margin:0;color:#fff;font-size:clamp(42px,4vw,68px);font-weight:500;line-height:.9;letter-spacing:-.065em}
.sisx-demo-side p{max-width:430px;margin:22px 0 0;color:#9ca5b2;font-size:14px;line-height:1.65}
.sisx-demo-summary{margin-top:60px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.sisx-demo-summary>span{display:block;color:#6f7884;font-size:8px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.sisx-demo-summary>strong{display:block;margin-top:10px;color:#fff;font-size:17px;font-weight:500}
.sisx-demo-summary>small{display:block;margin-top:5px;color:#7d8794;font-size:10px}

.sisx-demo-main{position:relative;min-width:0;padding:42px 46px 36px;background:#fff;overflow:auto}
.sisx-demo-progress{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:7px;margin-bottom:38px}
.sisx-demo-progress span{height:3px;background:#e6e9ee}
.sisx-demo-progress span.is-active,.sisx-demo-progress span.is-complete{background:var(--sisx-demo-accent)}
.sisx-demo-step{display:none;animation:sisxDemoIn .22s ease}
.sisx-demo-step.is-active{display:block}
@keyframes sisxDemoIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.sisx-demo-step__head{max-width:760px;margin-bottom:30px}
.sisx-demo-step__head>span{display:block;margin-bottom:9px;color:var(--sisx-demo-accent);font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.sisx-demo-step__head h3{margin:0;color:#0b0f18;font-size:clamp(32px,3.5vw,52px);font-weight:500;line-height:.95;letter-spacing:-.055em;text-transform:uppercase}
.sisx-demo-step__head p{max-width:620px;margin:14px 0 0;color:#697382;font-size:13px;line-height:1.65}
.sisx-demo-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #e1e5ea;border-left:1px solid #e1e5ea}
.sisx-demo-choice-grid--home{grid-template-columns:repeat(2,minmax(0,1fr))}
.sisx-demo-choice{
  min-height:118px;
  padding:20px;
  border:0;
  border-right:1px solid #e1e5ea;
  border-bottom:1px solid #e1e5ea;
  background:#fff;
  color:#0b0f18;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 18px;
  gap:14px;
  align-items:center;
  text-align:left;
  cursor:pointer;
}
.sisx-demo-choice.is-selected{background:#f7f8fa;box-shadow:inset 0 0 0 2px var(--sisx-demo-accent)}
.sisx-demo-choice__icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid #e0e4ea;color:var(--sisx-demo-accent)}
.sisx-demo-choice svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.sisx-demo-choice>svg{color:#9ba4b0}
.sisx-demo-choice strong{display:block;color:#111827;font-size:14px;font-weight:600}
.sisx-demo-choice small{display:block;margin-top:5px;color:#7a8490;font-size:10px;line-height:1.45}
.sisx-demo-fields{display:grid;grid-template-columns:1fr;gap:18px}
.sisx-demo-fields--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sisx-demo-fields label{display:block;min-width:0}
.sisx-demo-fields label.is-full{grid-column:1/-1}
.sisx-demo-fields label>span,.sisx-demo-field-label{display:block;margin-bottom:7px;color:#3e4651;font-size:8px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.sisx-demo-fields input,.sisx-demo-fields select,.sisx-demo-fields textarea{
  width:100%;
  min-height:50px;
  padding:12px 13px;
  border:1px solid #dfe3e8;
  border-radius:0;
  background:#fff;
  color:#111827;
  font:inherit;
  font-size:13px;
  outline:none;
}
.sisx-demo-fields textarea{min-height:118px;resize:vertical}
.sisx-demo-fields input:focus,.sisx-demo-fields select:focus,.sisx-demo-fields textarea:focus{border-color:var(--sisx-demo-accent);box-shadow:0 0 0 1px var(--sisx-demo-accent)}
.sisx-demo-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}
.sisx-demo-slots button,.sisx-demo-pills button{
  min-height:46px;
  padding:0 12px;
  border:1px solid #dfe3e8;
  background:#fff;
  color:#111827;
  font:inherit;
  font-size:11px;
  font-weight:600;
  cursor:pointer;
}
.sisx-demo-slots button.is-selected,.sisx-demo-pills button.is-selected{border-color:var(--sisx-demo-accent);background:var(--sisx-demo-accent);color:#fff}
.sisx-demo-pills{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 22px}
.sisx-demo-private{margin-top:20px;padding:16px 18px;border:1px solid #e3e6eb;background:#f8f9fa;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}
.sisx-demo-private strong{color:var(--sisx-demo-accent);font-size:8px;letter-spacing:.12em}
.sisx-demo-private span{color:#707a87;font-size:10px;line-height:1.5}
.sisx-demo-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:30px;padding-top:22px;border-top:1px solid #e8ebef}
.sisx-demo-nav>button{
  min-height:50px;
  padding:0 18px;
  border:1px solid #dfe3e8;
  background:#fff;
  color:#111827;
  display:inline-flex;
  align-items:center;
  gap:16px;
  font:inherit;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.sisx-demo-nav>button.is-primary{margin-left:auto;border-color:var(--sisx-demo-accent);background:var(--sisx-demo-accent);color:#fff}
.sisx-demo-nav svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}
.sisx-demo-complete{display:flex;min-height:440px;flex-direction:column;align-items:flex-start;justify-content:center;max-width:720px}
.sisx-demo-complete[hidden]{display:none!important}
.sisx-demo-complete__mark{width:64px;height:64px;margin-bottom:22px;display:grid;place-items:center;border:1px solid var(--sisx-demo-accent);color:var(--sisx-demo-accent)}
.sisx-demo-complete__mark svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:2}
.sisx-demo-complete>span:not(.sisx-demo-complete__mark){color:var(--sisx-demo-accent);font-size:8px;font-weight:700;letter-spacing:.14em}
.sisx-demo-complete h3{margin:10px 0 0;color:#0b0f18;font-size:clamp(36px,4vw,58px);font-weight:500;line-height:.95;letter-spacing:-.055em}
.sisx-demo-complete p{max-width:650px;margin:18px 0 0;color:#667080;font-size:14px;line-height:1.65}
.sisx-demo-complete button{margin-top:28px;min-height:50px;padding:0 18px;border:1px solid #0b0f18;background:#0b0f18;color:#fff;display:inline-flex;align-items:center;gap:18px;font:inherit;font-size:10px;font-weight:700;cursor:pointer}
.sisx-demo-complete button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}

@media(max-width:960px){
  .sisx-system-demo__shell{inset:0}
  .sisx-demo-layout{grid-template-columns:1fr}
  .sisx-demo-side{min-height:auto;padding:28px 26px;display:block}
  .sisx-demo-big-step{display:none}
  .sisx-demo-side h2{font-size:36px;margin-top:18px}
  .sisx-demo-side p{margin-top:12px}
  .sisx-demo-summary{margin-top:22px}
  .sisx-demo-main{padding:32px 26px 28px}
}
@media(max-width:700px){
  .sisx-demo-launch{grid-template-columns:1fr;gap:24px;padding:34px 20px}
  .sisx-demo-launch__button{width:100%;min-width:0}
  .sisx-system-demo__shell{grid-template-rows:62px auto minmax(0,1fr)}
  .sisx-system-demo__topbar{padding:0 12px}
  .sisx-system-demo__topbar>div:first-child>span{display:none}
  .sisx-system-demo__topbar strong{font-size:13px}
  .sisx-system-demo__actions button:not(.sisx-system-demo__close) span{display:none}
  .sisx-system-demo__notice{padding:9px 13px;font-size:9px;justify-content:flex-start}
  .sisx-demo-side{padding:22px 18px}
  .sisx-demo-side h2{font-size:30px}
  .sisx-demo-side p{font-size:12px}
  .sisx-demo-summary{display:none}
  .sisx-demo-main{padding:26px 18px 24px}
  .sisx-demo-progress{margin-bottom:26px}
  .sisx-demo-step__head{margin-bottom:22px}
  .sisx-demo-step__head h3{font-size:34px}
  .sisx-demo-choice-grid,.sisx-demo-choice-grid--home{grid-template-columns:1fr}
  .sisx-demo-choice{min-height:102px}
  .sisx-demo-fields--2{grid-template-columns:1fr}
  .sisx-demo-fields label.is-full{grid-column:auto}
  .sisx-demo-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sisx-demo-nav{align-items:stretch}
  .sisx-demo-nav>button{flex:1;justify-content:center;padding:0 12px}
  .sisx-demo-private{grid-template-columns:1fr;gap:6px}
}


/* =========================================================
   EXACT CLIENT SYSTEM REPLICA STYLES
   Copied from the supplied production plugins so the three
   showcase demos retain the production front-end design.
========================================================= */

/* City Tyres Booking System v1.3.2 front-end */
@font-face{font-family:CTBSBebas;src:url('https://darkred-leopard-819369.hostingersite.com/wp-content/uploads/2026/09/BebasNeue-Regular.ttf') format('truetype');font-display:swap}
:root{--ctbs-red:#ed1c24;--ctbs-yellow:#ffd400;--ctbs-black:#101010;--ctbs-soft:#f4f4f1;--ctbs-line:#dadad5}
.ctbs-fab{position:fixed;right:22px;bottom:22px;z-index:1999990;width:62px;height:62px;border:1px solid var(--ctbs-yellow);background:var(--ctbs-red);color:#fff;border-radius:0!important;box-shadow:none!important;display:grid;place-items:center;align-content:center;gap:2px;cursor:pointer;padding:7px}.ctbs-fab:hover,.ctbs-fab:focus{background:#c9151c!important;color:#fff!important;border-color:var(--ctbs-yellow)!important;box-shadow:none!important;outline:none}.ctbs-fab svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ctbs-fab span{font:700 9px/1.1 Arial,sans-serif;letter-spacing:.15em}
.ctbs-modal{position:fixed;inset:0;z-index:2147483000;display:none}.ctbs-modal.is-open{display:block}.ctbs-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}body.ctbs-locked{overflow:hidden}.ctbs-shell{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1180px,calc(100vw - 44px));height:min(760px,calc(100vh - 44px));background:#fff;display:grid;grid-template-columns:34% 66%;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.ctbs-close{position:absolute;right:0;top:0;width:56px;height:56px;background:var(--ctbs-red);color:#fff;border:0;border-radius:0!important;z-index:5;cursor:pointer}.ctbs-close:hover,.ctbs-close:focus{background:#b91219!important;color:#fff!important}.ctbs-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.ctbs-side{background:var(--ctbs-yellow);padding:46px 40px 36px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.ctbs-side:after{content:"";position:absolute;left:-60px;bottom:-80px;width:310px;height:220px;opacity:.16;background-image:linear-gradient(45deg,var(--ctbs-red) 25%,transparent 25%,transparent 75%,var(--ctbs-red) 75%),linear-gradient(45deg,var(--ctbs-red) 25%,transparent 25%,transparent 75%,var(--ctbs-red) 75%);background-size:42px 42px;background-position:0 0,21px 21px;transform:skewY(-10deg)}.ctbs-brandline{display:flex;align-items:center;gap:10px;position:relative;z-index:1}.ctbs-brandline span{width:28px;height:2px;background:var(--ctbs-red)}.ctbs-brandline b{font:800 10px/1 Arial,sans-serif;letter-spacing:.17em;color:var(--ctbs-red)}.ctbs-stepnum{font:400 25px/1 CTBSBebas,Arial,sans-serif;color:var(--ctbs-red);margin:44px 0 14px;position:relative;z-index:1}.ctbs-side h2{font:400 clamp(56px,5.8vw,82px)/.88 CTBSBebas,Arial,sans-serif;margin:0;color:#111;letter-spacing:.01em;position:relative;z-index:1}.ctbs-side>div>p{font:500 14px/1.65 Arial,sans-serif;color:#2a2a2a;max-width:300px;position:relative;z-index:1}.ctbs-side-summary{position:relative;z-index:2;border-top:1px solid rgba(17,17,17,.25);padding-top:18px}.ctbs-side-label{display:block;font:800 9px/1 Arial,sans-serif;letter-spacing:.18em;color:var(--ctbs-red);margin-bottom:8px}.ctbs-side-summary strong{display:block;font:400 26px/1 CTBSBebas,Arial,sans-serif;color:#111;margin-bottom:5px}.ctbs-side-summary small{font:500 12px/1.4 Arial,sans-serif;color:#333}
.ctbs-main{background:#fff;padding:55px 58px 38px;overflow-y:auto;scrollbar-width:none}.ctbs-main::-webkit-scrollbar{width:0}.ctbs-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 70px 36px 0}.ctbs-progress span{height:3px;background:#e8e8e4}.ctbs-progress span.is-active{background:var(--ctbs-red)}.ctbs-step{display:none}.ctbs-step.is-active{display:block}.ctbs-kicker{font:800 10px/1 Arial,sans-serif;letter-spacing:.18em;color:var(--ctbs-red);margin-bottom:12px}.ctbs-step h3,.ctbs-success h3{font:400 clamp(42px,4.2vw,62px)/.95 CTBSBebas,Arial,sans-serif;color:#111;margin:0 0 12px}.ctbs-intro{font:500 14px/1.6 Arial,sans-serif;color:#666;margin:0 0 28px;max-width:620px}
.ctbs-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ctbs-service{min-height:92px;background:#f8f8f5;border:1px solid #deded9;border-radius:0!important;padding:16px 16px;display:grid;grid-template-columns:48px 1fr 22px;gap:13px;align-items:center;text-align:left;cursor:pointer;color:#111;transition:border-color .2s,background .2s}.ctbs-service:hover,.ctbs-service:focus,.ctbs-service.is-selected{background:#fff8cf!important;border-color:var(--ctbs-yellow)!important;color:#111!important;box-shadow:none!important}.ctbs-service-icon{width:46px;height:46px;display:grid;place-items:center}.ctbs-service-icon svg{width:44px;height:44px;fill:none;stroke:var(--ctbs-red);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.ctbs-service strong{display:block;font:400 23px/1.05 CTBSBebas,Arial,sans-serif;color:#111;margin-bottom:4px}.ctbs-service small{display:block;font:500 11px/1.35 Arial,sans-serif;color:#686868}.ctbs-arrow{width:20px;height:20px;fill:none;stroke:#111;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ctbs-fields{display:grid;gap:16px}.ctbs-fields-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ctbs-span-2{grid-column:1/-1}.ctbs-fields label,.ctbs-date-label{display:block}.ctbs-fields label>span,.ctbs-date-label>span{display:block;font:800 10px/1 Arial,sans-serif;letter-spacing:.12em;color:#555;margin-bottom:7px}.ctbs-fields input,.ctbs-fields textarea,.ctbs-date-picker{width:100%;border:1px solid #d3d3ce;border-radius:0!important;background:#fff;padding:11px 12px;min-height:44px;font:500 14px Arial,sans-serif;box-sizing:border-box}.ctbs-fields input:focus,.ctbs-fields textarea:focus,.ctbs-date-picker:focus{outline:none;border-color:var(--ctbs-red);box-shadow:0 0 0 1px var(--ctbs-red)}
.ctbs-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;border-top:1px solid #ecece8;padding-top:20px}.ctbs-back,.ctbs-next,.ctbs-submit,.ctbs-done{border-radius:0!important;cursor:pointer;min-height:48px;padding:0 22px;font:800 10px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.ctbs-back{background:#fff;border:1px solid #ccc;color:#111}.ctbs-back:hover{border-color:#111;background:#f7f7f4}.ctbs-next,.ctbs-submit,.ctbs-done{background:var(--ctbs-red);border:1px solid var(--ctbs-red);color:#fff;display:inline-flex;align-items:center;gap:14px}.ctbs-next:hover,.ctbs-submit:hover,.ctbs-done:hover{background:#b91219!important;color:#fff!important;border-color:#b91219!important}.ctbs-next:disabled{opacity:.35;cursor:not-allowed}.ctbs-next svg,.ctbs-submit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ctbs-date-wrap{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start}.ctbs-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ctbs-slot{border:1px solid #d7d7d1;background:#fff;border-radius:0!important;min-height:44px;font:700 12px Arial,sans-serif;color:#222;cursor:pointer}.ctbs-slot:hover,.ctbs-slot.is-selected{background:var(--ctbs-yellow)!important;border-color:var(--ctbs-yellow)!important;color:#111!important}.ctbs-empty{grid-column:1/-1;background:#f6f6f3;padding:18px;font:500 12px/1.5 Arial,sans-serif;color:#777;border-left:3px solid var(--ctbs-yellow)}
.ctbs-review{display:grid;grid-template-columns:1fr 1fr;margin:20px 0;border:1px solid #deded8}.ctbs-review>div{padding:14px 16px}.ctbs-review>div+div{border-left:1px solid #deded8}.ctbs-review span{display:block;font:800 9px Arial,sans-serif;letter-spacing:.12em;color:#888;margin-bottom:5px}.ctbs-review strong{font:700 13px Arial,sans-serif;color:#111}.ctbs-consent{display:flex;align-items:flex-start;gap:9px;font:500 11px/1.45 Arial,sans-serif;color:#666}.ctbs-consent input{accent-color:var(--ctbs-red);margin-top:2px}.ctbs-form-error{color:#c7000c;font:700 12px Arial,sans-serif;min-height:18px;margin-top:10px}.ctbs-success{padding:80px 20px 20px;max-width:620px}.ctbs-success-mark{width:58px;height:58px;background:var(--ctbs-yellow);display:grid;place-items:center;margin-bottom:20px}.ctbs-success-mark svg{width:30px;height:30px;fill:none;stroke:#111;stroke-width:2.4}.ctbs-success p{font:500 15px/1.7 Arial,sans-serif;color:#555}.ctbs-success-ref{background:#f5f5f2;padding:16px;margin:20px 0 24px;font:500 12px Arial,sans-serif;color:#777}.ctbs-success-ref strong{display:block;font-size:17px;color:#111;margin-top:5px}
@media(max-width:900px){.ctbs-shell{width:calc(100vw - 20px);grid-template-columns:30% 70%}.ctbs-side{padding:34px 24px}.ctbs-side h2{font-size:54px}.ctbs-main{padding:50px 30px 30px}.ctbs-service-grid{grid-template-columns:1fr}.ctbs-date-wrap{grid-template-columns:1fr}.ctbs-slots{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.ctbs-fab{right:14px;bottom:14px;width:56px;height:56px}.ctbs-shell{inset:0;left:0;top:0;transform:none;width:100%;height:100%;display:block;border:0}.ctbs-close{position:fixed;right:0;top:0;width:52px;height:52px}.ctbs-side{height:auto;min-height:175px;padding:24px 64px 22px 20px}.ctbs-stepnum{margin:20px 0 7px;font-size:20px}.ctbs-side h2{font-size:44px;line-height:.9}.ctbs-side>div>p{display:none}.ctbs-side-summary{margin-top:18px;padding-top:12px}.ctbs-side-summary strong{font-size:20px}.ctbs-main{height:calc(100% - 175px);padding:24px 18px 30px}.ctbs-progress{margin:0 0 24px}.ctbs-step h3,.ctbs-success h3{font-size:42px}.ctbs-service-grid{grid-template-columns:1fr 1fr;gap:8px}.ctbs-service{min-height:116px;display:flex;flex-direction:column;align-items:flex-start;padding:13px}.ctbs-service .ctbs-arrow{display:none}.ctbs-service strong{font-size:20px}.ctbs-service small{font-size:10px}.ctbs-fields-2{grid-template-columns:1fr}.ctbs-span-2{grid-column:auto}.ctbs-slots{grid-template-columns:repeat(3,1fr)}.ctbs-nav{position:sticky;bottom:-30px;background:#fff;padding:14px 0 0;z-index:2}.ctbs-back,.ctbs-next,.ctbs-submit{padding:0 14px}.ctbs-review{grid-template-columns:1fr}.ctbs-review>div+div{border-left:0;border-top:1px solid #deded8}.ctbs-success{padding:35px 4px}.ctbs-date-wrap{gap:14px}}


/* v1.0.2 mobile booking layout refinement */
@media(max-width:640px){
  .ctbs-shell{
    height:100dvh!important;
    max-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .ctbs-side{
    flex:0 0 auto!important;
    min-height:0!important;
    height:auto!important;
    padding:14px 62px 12px 18px!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
  }
  .ctbs-side:after{
    width:230px!important;
    height:125px!important;
    left:74px!important;
    bottom:-54px!important;
    opacity:.13!important;
    background-size:34px 34px!important;
    background-position:0 0,17px 17px!important;
  }
  .ctbs-brandline{margin-bottom:8px!important}
  .ctbs-brandline b{font-size:9px!important;letter-spacing:.16em!important}
  .ctbs-brandline span{width:22px!important}
  .ctbs-stepnum{margin:0 0 4px!important;font-size:17px!important}
  .ctbs-side h2{
    font-size:35px!important;
    line-height:.88!important;
    margin:0!important;
    max-width:230px!important;
  }
  .ctbs-side-summary{
    margin-top:10px!important;
    padding-top:8px!important;
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    column-gap:12px!important;
    row-gap:2px!important;
    align-items:center!important;
  }
  .ctbs-side-label{
    grid-row:1/3!important;
    margin:0!important;
    font-size:8px!important;
    writing-mode:vertical-rl!important;
    transform:rotate(180deg)!important;
    letter-spacing:.14em!important;
  }
  .ctbs-side-summary strong{
    font-size:18px!important;
    line-height:1!important;
    margin:0!important;
  }
  .ctbs-side-summary small{
    font-size:10px!important;
    line-height:1.25!important;
  }
  .ctbs-main{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:16px 14px 96px!important;
  }
  .ctbs-progress{margin:0 0 14px!important;gap:6px!important}
  .ctbs-kicker{margin-bottom:7px!important;font-size:9px!important}
  .ctbs-step h3,.ctbs-success h3{font-size:34px!important;margin-bottom:8px!important}
  .ctbs-intro{font-size:12px!important;line-height:1.45!important;margin-bottom:14px!important}
  .ctbs-service-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .ctbs-service{
    min-height:104px!important;
    padding:11px!important;
    gap:7px!important;
  }
  .ctbs-service-icon{width:38px!important;height:38px!important}
  .ctbs-service-icon svg{width:36px!important;height:36px!important}
  .ctbs-service strong{font-size:18px!important;line-height:1!important;margin-bottom:3px!important}
  .ctbs-service small{font-size:9.5px!important;line-height:1.3!important}
  .ctbs-nav{
    position:sticky!important;
    bottom:-96px!important;
    margin-top:18px!important;
    padding:12px 0 4px!important;
    background:#fff!important;
  }
}

@media(max-width:390px){
  .ctbs-side{padding-left:14px!important;padding-right:58px!important}
  .ctbs-side h2{font-size:32px!important}
  .ctbs-service{min-height:100px!important;padding:10px!important}
  .ctbs-service strong{font-size:17px!important}
  .ctbs-main{padding-left:10px!important;padding-right:10px!important;padding-bottom:90px!important}
}


/* v1.0.3 success-state visibility and auto-close presentation */
.ctbs-success[hidden]{display:none!important}
.ctbs-success.is-visible{display:block!important}
.ctbs-success{padding:54px 10px 20px!important;max-width:620px}
.ctbs-success-mark{margin-top:0}
@media(max-width:640px){
  .ctbs-success{
    padding:28px 4px 110px!important;
    min-height:auto!important;
  }
  .ctbs-success h3{font-size:40px!important}
  .ctbs-success-ref{margin:18px 0 20px!important}
}
\n\n/* v1.0.4 - success screen must remain visible inside the form */
.ctbs-form:has(.ctbs-success.is-visible) .ctbs-progress{display:none!important}
.ctbs-success.is-visible{display:block!important}
@media(max-width:640px){
  .ctbs-success.is-visible{padding:26px 4px 120px!important}
  .ctbs-form:has(.ctbs-success.is-visible){min-height:100%}
}

/* v1.1.0 smart tyre-product booking context */
.ctbs-product-context{margin-top:16px;padding:12px 0 0;border-top:1px solid rgba(0,0,0,.2)}
.ctbs-product-context span{display:block;font:800 9px/1 Manrope,sans-serif;letter-spacing:.14em;color:#e71920;margin-bottom:5px}
.ctbs-product-context strong{display:block;font:400 22px/1.05 'Bebas Neue',sans-serif;color:#111}
@media(max-width:640px){.ctbs-product-context{margin-top:10px;padding-top:9px}.ctbs-product-context strong{font-size:20px}}

/* v1.2.0 pricing visibility */
.ctbs-price-context{margin-top:14px;padding-top:12px;border-top:1px solid rgba(17,17,17,.22)}
.ctbs-price-context span{display:block;font:800 9px/1 Arial,sans-serif;letter-spacing:.16em;color:#ed1c24;margin-bottom:6px}
.ctbs-price-context strong{display:block;font:400 24px/.95 CTBSBebas,Arial,sans-serif;color:#111;margin-bottom:4px}
.ctbs-price-context small{display:block;font:500 10px/1.45 Arial,sans-serif;color:#333;max-width:280px}
.ctbs-price-confirmation{border:1px solid #deded8;margin:18px 0 16px;background:#fff}
.ctbs-price-confirmation-top{min-height:38px;padding:0 14px;background:#111;display:flex;align-items:center;justify-content:space-between;gap:12px}
.ctbs-price-confirmation-top span{font:400 22px/1 CTBSBebas,Arial,sans-serif;color:#fff;letter-spacing:.02em}
.ctbs-price-confirmation-top b{font:800 8px/1 Arial,sans-serif;letter-spacing:.16em;color:#ffd400}
.ctbs-price-confirmation-main{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#ffd400;padding:18px 16px}
.ctbs-price-confirmation-main small{display:block;font:800 8px/1 Arial,sans-serif;letter-spacing:.15em;color:#ed1c24;margin-bottom:7px}
.ctbs-price-confirmation-main strong{display:block;font:400 34px/.95 CTBSBebas,Arial,sans-serif;color:#111}
.ctbs-price-confirmation-main em{display:block;font:800 9px/1.3 Arial,sans-serif;letter-spacing:.08em;color:#444;font-style:normal;margin-top:6px;text-transform:uppercase}
.ctbs-price-confirmation-main svg{width:34px;height:34px;fill:none;stroke:#ed1c24;stroke-width:2.1;flex:0 0 auto}
.ctbs-price-confirmation>p{margin:0;padding:11px 14px;font:500 10px/1.5 Arial,sans-serif;color:#555;background:#fafaf7}
@media(max-width:640px){.ctbs-price-confirmation-main{padding:15px 14px}.ctbs-price-confirmation-main strong{font-size:30px}.ctbs-price-confirmation-top span{font-size:19px}.ctbs-price-context{margin-top:8px;padding-top:8px}.ctbs-price-context strong{font-size:19px}}

/* v1.3.2 static contact page */
.ctbs-contact-page{--red:#ed1c24;--yellow:#ffd400;--black:#101010;--cream:#f4f2ec;background:#fff;color:#111;overflow:hidden}
.ctbs-contact-page *{box-sizing:border-box;border-radius:0!important}
.ctbs-contact-wrap{width:min(1420px,calc(100% - 64px));margin:0 auto}
.ctbs-contact-hero{background:#111;color:#fff;padding:88px 0 82px;border-bottom:5px solid var(--yellow)}
.ctbs-contact-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.7fr);gap:74px;align-items:center}
.ctbs-contact-kicker{display:flex;align-items:center;gap:12px;font:800 10px/1 Arial,sans-serif;letter-spacing:.22em;color:var(--red);margin-bottom:18px;text-transform:uppercase}
.ctbs-contact-kicker span{width:36px;height:2px;background:var(--red);display:block}
.ctbs-contact-hero h1,.ctbs-contact-section-head h2{font:400 clamp(62px,6.7vw,104px)/.88 CTBSBebas,Arial,sans-serif;letter-spacing:.01em;margin:0;color:#fff;text-transform:uppercase}
.ctbs-contact-hero-copy>p{font:500 17px/1.7 Arial,sans-serif;color:#ddd;max-width:720px;margin:28px 0 30px}
.ctbs-contact-primary,.ctbs-contact-unsure button{min-height:58px;border:0;background:var(--red);color:#fff;padding:0 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;font:800 10px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.ctbs-contact-primary:hover,.ctbs-contact-unsure button:hover{background:#c9151c!important;color:#fff!important}
.ctbs-contact-panel{background:var(--yellow);color:#111;padding:0;border-top:4px solid var(--red)}
.ctbs-contact-panel-label{background:#111;color:#fff;padding:16px 20px;font:800 9px/1 Arial,sans-serif;letter-spacing:.18em}
.ctbs-contact-line{display:grid;grid-template-columns:48px 1fr;gap:15px;align-items:center;padding:20px;border-bottom:1px solid rgba(0,0,0,.14);color:#111;text-decoration:none}
.ctbs-contact-line:last-child{border-bottom:0}
.ctbs-contact-icon{width:42px;height:42px;display:grid;place-items:center;background:#fff}
.ctbs-contact-icon svg{width:22px;height:22px;fill:none;stroke:var(--red);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ctbs-contact-line small{display:block;font:800 8px/1 Arial,sans-serif;letter-spacing:.17em;color:var(--red);margin-bottom:5px}
.ctbs-contact-line strong{display:block;font:700 14px/1.4 Arial,sans-serif;color:#111}
.ctbs-contact-booking{background:var(--cream);padding:88px 0 98px}
.ctbs-contact-section-head{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:end;margin-bottom:42px}
.ctbs-contact-section-head h2{color:#171717;font-size:clamp(54px,5.6vw,86px)}
.ctbs-contact-section-head>p{font:500 15px/1.7 Arial,sans-serif;color:#5f5f5f;border-left:3px solid var(--red);padding-left:24px;margin:0 0 7px}
.ctbs-contact-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #d9d6cd;border-left:1px solid #d9d6cd}
.ctbs-contact-service{min-height:112px;background:#fff;border:0;border-right:1px solid #d9d6cd;border-bottom:1px solid #d9d6cd;padding:18px 20px;display:grid;grid-template-columns:52px 1fr 28px;gap:16px;align-items:center;text-align:left;color:#111;cursor:pointer}
.ctbs-contact-service:hover{background:#fff7c6!important;color:#111!important}
.ctbs-contact-service-num{font:400 26px/1 CTBSBebas,Arial,sans-serif;color:var(--red)}
.ctbs-contact-service-copy strong{display:block;font:400 28px/1 CTBSBebas,Arial,sans-serif;color:#111;margin-bottom:6px}
.ctbs-contact-service-copy small{display:block;font:500 11px/1.4 Arial,sans-serif;color:#666}
.ctbs-contact-service-arrow{font:400 24px/1 Arial,sans-serif;color:#111}
.ctbs-contact-unsure{margin-top:26px;background:var(--yellow);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border-bottom:4px solid var(--red)}
.ctbs-contact-unsure small{display:block;font:800 8px/1 Arial,sans-serif;letter-spacing:.18em;color:var(--red);margin-bottom:7px}
.ctbs-contact-unsure strong{display:block;font:400 26px/1.05 CTBSBebas,Arial,sans-serif;color:#111}
@media(max-width:900px){.ctbs-contact-wrap{width:min(100% - 36px,1100px)}.ctbs-contact-hero{padding:62px 0}.ctbs-contact-hero-grid{grid-template-columns:1fr;gap:34px}.ctbs-contact-panel{max-width:620px}.ctbs-contact-section-head{grid-template-columns:1fr;gap:22px}.ctbs-contact-service-grid{grid-template-columns:1fr}}
@media(max-width:640px){.ctbs-contact-wrap{width:100%}.ctbs-contact-hero{padding:52px 18px 42px}.ctbs-contact-hero h1{font-size:58px}.ctbs-contact-hero-copy>p{font-size:14px;margin:18px 0 22px}.ctbs-contact-panel{width:100%}.ctbs-contact-booking{padding:52px 14px 74px}.ctbs-contact-section-head{margin-bottom:26px}.ctbs-contact-section-head h2{font-size:54px}.ctbs-contact-section-head>p{font-size:13px;padding-left:16px}.ctbs-contact-service{min-height:98px;grid-template-columns:42px 1fr 24px;padding:14px}.ctbs-contact-service-copy strong{font-size:24px}.ctbs-contact-unsure{display:block;padding:18px}.ctbs-contact-unsure button{width:100%;margin-top:16px}.ctbs-contact-primary{width:100%}}


/* City Home Booking Engine v1.2.4 front-end */
@font-face{
font-family:"Lemon Milk";
src:url("https://deepskyblue-lobster-728605.hostingersite.com/wp-content/uploads/2026/09/LEMONMILK-Light.ttf") format("truetype");
font-weight:300;font-style:normal;font-display:swap}
@font-face{
font-family:"Lemon Milk";
src:url("https://deepskyblue-lobster-728605.hostingersite.com/wp-content/uploads/2026/09/LEMONMILK-Medium.ttf") format("truetype");
font-weight:500;font-style:normal;font-display:swap}

html.chb-booking-open,body.chb-booking-open{overflow:hidden!important}
.chb-booking-root,.chb-booking-root *{box-sizing:border-box;border-radius:0!important}

.chb-booking-root{
position:fixed;
inset:0;
z-index:9999999;
display:none;
font-family:Arial,Helvetica,sans-serif;
}

.chb-booking-root.is-open{display:block}

.chb-booking-backdrop{
position:absolute;
inset:0;
background:rgba(7,9,11,.86);
backdrop-filter:blur(8px);
}

.chb-booking-experience{
position:absolute;
inset:20px;
display:grid;
grid-template-columns:minmax(410px,.86fr) minmax(560px,1.14fr);
background:#fff;
overflow:hidden;
box-shadow:0 28px 90px rgba(0,0,0,.36);
}

.chb-booking-close{
position:absolute;
top:20px;
right:20px;
z-index:30;
width:48px;
height:48px;
border:1px solid rgba(17,19,21,.15);
background:#fff;
cursor:pointer;
}

.chb-booking-close span{
position:absolute;
left:50%;
top:50%;
width:18px;
height:1.5px;
background:#111315;
}
.chb-booking-close span:first-child{transform:translate(-50%,-50%) rotate(45deg)}
.chb-booking-close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}
.chb-booking-close:hover{background:var(--chb-book-gold);border-color:var(--chb-book-gold)}

.chb-booking-visual{
position:relative;
overflow:hidden;
background:var(--chb-book-dark);
color:#fff;
min-width:0;
}

.chb-booking-visual__image{
position:absolute;
inset:0;
opacity:0;
background-position:center;
background-size:cover;
transition:opacity .55s ease,transform 1s ease;
transform:scale(1.035);
}
.chb-booking-visual__image.is-active{
opacity:.42;
transform:scale(1);
}
.chb-booking-visual__image:after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(180deg,rgba(8,10,12,.08) 0%,rgba(8,10,12,.55) 65%,rgba(8,10,12,.9) 100%);
}

.chb-booking-visual__pattern{
position:absolute;
inset:0;
overflow:hidden;
opacity:.2;
}
.chb-booking-visual__pattern:before,
.chb-booking-visual__pattern:after,
.chb-booking-visual__pattern span{
content:"";
position:absolute;
border:1px solid rgba(255,255,255,.22);
transform:rotate(36deg);
}
.chb-booking-visual__pattern:before{width:72%;height:46%;left:-18%;top:8%}
.chb-booking-visual__pattern:after{width:90%;height:54%;right:-44%;top:26%}
.chb-booking-visual__pattern span:nth-child(1){width:52%;height:33%;left:20%;bottom:16%}
.chb-booking-visual__pattern span:nth-child(2){width:48%;height:28%;right:-12%;bottom:-8%}
.chb-booking-visual__pattern span:nth-child(3){width:1px;height:140%;left:38%;top:-20%;border:0;background:rgba(255,255,255,.16);transform:rotate(24deg)}
.chb-booking-visual__pattern span:nth-child(4){width:1px;height:140%;left:66%;top:-20%;border:0;background:rgba(255,255,255,.12);transform:rotate(24deg)}

.chb-booking-visual__content{
position:absolute;
left:clamp(32px,4vw,70px);
right:clamp(32px,4vw,70px);
bottom:clamp(38px,5vh,72px);
z-index:3;
}

.chb-booking-eyebrow{
display:inline-flex;
align-items:center;
gap:12px;
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:300;
font-size:7px;
letter-spacing:.19em;
text-transform:uppercase;
color:var(--chb-book-gold);
}
.chb-booking-eyebrow:before{
content:"";
width:34px;
height:1px;
background:var(--chb-book-gold);
}

.chb-booking-visual h2{
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:500;
font-size:clamp(44px,4.5vw,72px);
line-height:.93;
letter-spacing:-.045em;
text-transform:uppercase;
margin:18px 0 20px;
max-width:650px;
}

.chb-booking-visual p{
font-size:14px;
line-height:1.7;
color:rgba(255,255,255,.66);
max-width:500px;
margin:0;
}

.chb-booking-step-rail{
margin-top:42px;
}

.chb-booking-step-rail__line{
height:1px;
background:rgba(255,255,255,.2);
overflow:hidden;
}
.chb-booking-step-rail__line span{
display:block;
width:25%;
height:100%;
background:var(--chb-book-gold);
transition:width .35s ease;
}

.chb-booking-step-rail__meta{
display:flex;
justify-content:space-between;
gap:20px;
margin-top:12px;
font-family:"Lemon Milk",Arial,sans-serif;
font-size:7px;
letter-spacing:.1em;
text-transform:uppercase;
color:rgba(255,255,255,.48);
}
.chb-booking-step-rail__meta b{
font-weight:500;
color:#fff;
}

.chb-booking-form-side{
min-width:0;
background:#fff;
}

.chb-booking-form{
height:100%;
display:grid;
grid-template-rows:minmax(0,1fr) auto;
position:relative;
}

.chb-booking-step{
display:none;
height:100%;
overflow-y:auto;
padding:clamp(60px,8vh,100px) clamp(34px,5vw,82px) 38px;
-webkit-overflow-scrolling:touch;
}
.chb-booking-step.is-active{
display:block;
animation:chbStepIn .32s ease both;
}
@keyframes chbStepIn{
from{opacity:0;transform:translateY(10px)}
to{opacity:1;transform:none}
}

.chb-booking-step__head{
max-width:750px;
margin-bottom:34px;
}

.chb-booking-step__head>span{
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:300;
font-size:7px;
letter-spacing:.18em;
color:var(--chb-book-gold);
text-transform:uppercase;
}

.chb-booking-step__head h3,
.chb-booking-success h3{
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:500;
font-size:clamp(36px,3.8vw,58px);
line-height:.98;
letter-spacing:-.04em;
text-transform:uppercase;
color:#18202a;
margin:13px 0 14px;
}

.chb-booking-step__head p{
margin:0;
font-size:14px;
line-height:1.65;
color:#6a7074;
}

.chb-booking-choice-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:10px;
max-width:900px;
}

.chb-booking-choice{
position:relative;
min-height:155px;
padding:19px;
border:1px solid #dfe2e3;
background:#f7f8f8;
cursor:pointer;
transition:border-color .18s ease,background .18s ease,transform .18s ease;
}

.chb-booking-choice input{
position:absolute;
opacity:0;
pointer-events:none;
}

.chb-booking-choice:hover{
border-color:#aeb4b7;
transform:translateY(-2px);
}

.chb-booking-choice:has(input:checked){
background:#18202a;
border-color:#18202a;
color:#fff;
}

.chb-booking-choice__number{
display:block;
font-family:"Lemon Milk",Arial,sans-serif;
font-size:6px;
letter-spacing:.1em;
color:var(--chb-book-gold);
margin-bottom:18px;
}

.chb-booking-choice__icon{
position:absolute;
top:16px;
right:16px;
width:32px;
height:32px;
color:#adb3b6;
}
.chb-booking-choice__icon svg{width:100%;height:100%}
.chb-booking-choice:has(input:checked) .chb-booking-choice__icon{color:var(--chb-book-gold)}

.chb-booking-choice strong{
display:block;
padding-right:42px;
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:500;
font-size:14px;
line-height:1.2;
text-transform:uppercase;
color:inherit;
}

.chb-booking-choice small{
display:block;
max-width:330px;
margin-top:9px;
font-size:11px;
line-height:1.45;
color:#767d81;
}
.chb-booking-choice:has(input:checked) small{color:rgba(255,255,255,.57)}

.chb-booking-choice__arrow{
position:absolute;
right:18px;
bottom:15px;
font-size:15px;
color:var(--chb-book-gold);
}

.chb-booking-fields{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:22px 18px;
max-width:900px;
}

.chb-booking-field--full{
grid-column:1/-1;
}

.chb-booking-field>span,
.chb-booking-consent>span{
display:block;
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:300;
font-size:7px;
letter-spacing:.08em;
text-transform:uppercase;
color:#62696d;
margin-bottom:9px;
}

.chb-booking-field input,
.chb-booking-field select,
.chb-booking-field textarea{
width:100%;
border:0;
border-bottom:1px solid #ccd1d3;
background:#f7f8f8;
padding:0 14px;
height:52px;
outline:none;
font-family:Arial,Helvetica,sans-serif;
font-size:14px;
color:#171a1d;
transition:border-color .18s ease,background .18s ease;
}
.chb-booking-field textarea{
height:110px;
padding-top:14px;
resize:vertical;
}
.chb-booking-field input:focus,
.chb-booking-field select:focus,
.chb-booking-field textarea:focus{
border-bottom-color:var(--chb-book-gold);
background:#f2f3f3;
}

.chb-booking-field.is-invalid input,
.chb-booking-field.is-invalid select,
.chb-booking-field.is-invalid textarea{
border-bottom-color:#b43131;
}

.chb-booking-pills{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:8px;
}
.chb-booking-pills input{position:absolute;opacity:0}
.chb-booking-pills span{
height:50px;
display:flex;
align-items:center;
justify-content:center;
border:1px solid #d7dbdd;
font-family:"Lemon Milk",Arial,sans-serif;
font-size:7px;
letter-spacing:.05em;
text-transform:uppercase;
cursor:pointer;
}
.chb-booking-pills label:has(input:checked) span{
background:#18202a;
border-color:#18202a;
color:#fff;
}

.chb-booking-consent{
grid-column:1/-1;
display:flex;
align-items:flex-start;
gap:10px;
cursor:pointer;
}
.chb-booking-consent input{
margin-top:1px;
width:16px;
height:16px;
accent-color:var(--chb-book-gold);
}
.chb-booking-consent>span{
margin:0;
text-transform:none;
letter-spacing:0;
font-family:Arial,Helvetica,sans-serif;
font-size:12px;
line-height:1.5;
}

.chb-booking-summary{
margin-top:28px;
padding:18px;
background:#18202a;
color:#fff;
}
.chb-booking-summary>span{
font-family:"Lemon Milk",Arial,sans-serif;
font-size:6px;
letter-spacing:.14em;
color:var(--chb-book-gold);
}
.chb-booking-summary__grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:12px;
margin-top:13px;
}
.chb-booking-summary__grid small{
display:block;
font-size:9px;
color:rgba(255,255,255,.45);
margin-bottom:3px;
}
.chb-booking-summary__grid strong{
font-size:12px;
font-weight:600;
}

.chb-booking-controls{
min-height:80px;
border-top:1px solid #e1e4e5;
padding:14px clamp(34px,5vw,82px);
display:grid;
grid-template-columns:1fr auto 1fr;
align-items:center;
gap:18px;
background:#fff;
}

.chb-booking-controls button{
min-height:48px;
padding:0 18px;
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:500;
font-size:7px;
letter-spacing:.08em;
text-transform:uppercase;
cursor:pointer;
}

.chb-booking-back{
justify-self:start;
border:1px solid #d7dbdd;
background:#fff;
color:#171a1d;
}
.chb-booking-back:disabled{opacity:.28;cursor:default}

.chb-booking-next,
.chb-booking-submit{
justify-self:end;
border:0;
background:var(--chb-book-gold);
color:#111;
min-width:150px;
}
.chb-booking-submit{display:none}

.chb-booking-save-note{
font-size:10px;
color:#94999c;
white-space:nowrap;
}

.chb-booking-mobile-progress{display:none}
.chb-booking-honeypot{position:absolute!important;left:-99999px!important}

.chb-booking-error{
display:none;
position:absolute;
left:50%;
bottom:90px;
transform:translateX(-50%);
background:#a83131;
color:#fff;
padding:10px 14px;
font-size:12px;
z-index:10;
}
.chb-booking-error.is-visible{display:block}

.chb-booking-success{
display:none;
height:100%;
padding:clamp(60px,8vh,100px) clamp(34px,6vw,90px);
align-content:center;
}
.chb-booking-success.is-active{
display:grid;
animation:chbStepIn .35s ease both;
}
.chb-booking-success__mark{
width:72px;
height:72px;
display:grid;
place-items:center;
background:var(--chb-book-gold);
color:#111;
margin-bottom:30px;
}
.chb-booking-success__mark svg{width:42px;height:42px}
.chb-booking-success>span{
font-family:"Lemon Milk",Arial,sans-serif;
font-size:7px;
letter-spacing:.16em;
color:var(--chb-book-gold);
}
.chb-booking-success p{
max-width:610px;
font-size:15px;
line-height:1.7;
color:#697075;
margin:0 0 22px;
}
.chb-booking-reference{
font-size:12px;
color:#777;
margin-bottom:28px;
}
.chb-booking-reference strong{color:#171a1d}
.chb-booking-success button{
width:max-content;
min-height:48px;
padding:0 18px;
border:1px solid #ccd1d3;
background:#fff;
font-family:"Lemon Milk",Arial,sans-serif;
font-size:7px;
text-transform:uppercase;
cursor:pointer;
}

.chb-booking-launcher{
position:fixed;
right:22px;
bottom:22px;
z-index:99990;
height:54px;
padding:0 18px 0 7px;
display:flex;
align-items:center;
gap:12px;
border:0;
background:#111315;
color:#fff;
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:500;
font-size:7px;
letter-spacing:.07em;
text-transform:uppercase;
cursor:pointer;
box-shadow:0 12px 34px rgba(0,0,0,.2);
}
.chb-booking-launcher__icon{
width:40px;
height:40px;
display:grid;
place-items:center;
background:var(--chb-book-gold);
color:#111;
}
.chb-booking-launcher__icon svg{width:16px;height:16px}

.chb-booking-inline-trigger{
min-height:50px;
padding:0 18px;
border:0;
background:var(--chb-book-gold,#b79b3a);
color:#111;
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:500;
font-size:8px;
letter-spacing:.07em;
text-transform:uppercase;
cursor:pointer;
}

@media(max-width:1050px){
.chb-booking-experience{
grid-template-columns:380px 1fr;
}
.chb-booking-visual h2{font-size:46px}
.chb-booking-choice-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:760px){
.chb-booking-backdrop{background:#111315}
.chb-booking-experience{
inset:0;
grid-template-columns:1fr;
grid-template-rows:132px minmax(0,1fr);
box-shadow:none;
}

.chb-booking-close{
position:fixed;
top:14px;
right:14px;
width:42px;
height:42px;
background:#111315;
border-color:rgba(255,255,255,.15);
}
.chb-booking-close span{background:#fff}

.chb-booking-visual{
min-height:132px;
}

.chb-booking-visual__content{
left:18px;
right:72px;
bottom:18px;
}

.chb-booking-eyebrow{font-size:6px}
.chb-booking-eyebrow:before{width:22px}

.chb-booking-visual h2{
font-size:25px;
line-height:.96;
margin:9px 0 0;
max-width:290px;
}
.chb-booking-visual p,
.chb-booking-step-rail{
display:none;
}

.chb-booking-form-side{min-height:0}

.chb-booking-form{
grid-template-rows:auto minmax(0,1fr) auto;
}

.chb-booking-mobile-progress{
display:grid;
grid-template-columns:auto 1fr;
gap:14px;
align-items:center;
padding:13px 18px;
border-bottom:1px solid #e2e4e5;
background:#fff;
}
.chb-booking-mobile-progress>span{
font-family:"Lemon Milk",Arial,sans-serif;
font-size:6px;
letter-spacing:.08em;
color:#6d7478;
}
.chb-booking-mobile-progress>div{
height:2px;
background:#eceeef;
}
.chb-booking-mobile-progress>div span{
display:block;
width:25%;
height:100%;
background:var(--chb-book-gold);
transition:width .35s ease;
}

.chb-booking-step{
padding:27px 16px 24px;
height:100%;
}

.chb-booking-step__head{
margin-bottom:22px;
}
.chb-booking-step__head h3{
font-size:30px;
margin:9px 0 10px;
}
.chb-booking-step__head p{
font-size:13px;
}

.chb-booking-choice-grid{
grid-template-columns:1fr;
gap:7px;
}
.chb-booking-choice{
min-height:104px;
padding:14px;
}
.chb-booking-choice__number{margin-bottom:12px}
.chb-booking-choice strong{font-size:12px}
.chb-booking-choice small{font-size:10px;margin-top:5px;padding-right:30px}
.chb-booking-choice__icon{width:26px;height:26px}

.chb-booking-fields{
grid-template-columns:1fr;
gap:17px;
}
.chb-booking-field--full{grid-column:auto}

.chb-booking-field input,
.chb-booking-field select{
height:48px;
}
.chb-booking-field textarea{height:100px}

.chb-booking-pills{
grid-template-columns:1fr;
gap:6px;
}
.chb-booking-pills span{height:46px}

.chb-booking-summary__grid{
grid-template-columns:1fr 1fr;
}

.chb-booking-controls{
min-height:72px;
padding:10px 16px calc(10px + env(safe-area-inset-bottom));
grid-template-columns:auto 1fr;
gap:8px;
}
.chb-booking-save-note{display:none}
.chb-booking-controls button{
min-height:48px;
}
.chb-booking-next,
.chb-booking-submit{
width:100%;
min-width:0;
}

.chb-booking-error{
bottom:82px;
width:calc(100% - 32px);
text-align:center;
}

.chb-booking-success{
padding:34px 18px;
overflow-y:auto;
}
.chb-booking-success h3{font-size:34px}
.chb-booking-success p{font-size:14px}

.chb-booking-launcher{
right:12px;
bottom:12px;
height:50px;
padding-right:14px;
}
.chb-booking-launcher__icon{
width:36px;
height:36px;
}
}

@media(max-width:430px){
.chb-booking-launcher>span:last-child{display:none}
.chb-booking-launcher{
width:50px;
padding:7px;
}
.chb-booking-launcher__icon{
width:36px;
}
}


/* =========================================================
   v1.0.1 — VISUAL COPY + GLOBAL LAUNCHER UPGRADE
   ========================================================= */

/* Keep the visual-panel hero copy white, regardless of theme H2 rules. */
.chb-booking-visual h2{
  color:#fff!important;
  opacity:1!important;
}
.chb-booking-visual p{
  color:rgba(255,255,255,.72)!important;
}
.chb-booking-eyebrow{
  color:var(--chb-book-gold)!important;
}

/* Premium site-wide booking launcher */
.chb-booking-launcher{
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  z-index:99990!important;
  width:auto!important;
  min-width:260px!important;
  height:68px!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:54px 1fr 42px!important;
  align-items:center!important;
  gap:0!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:#111315!important;
  color:#fff!important;
  box-shadow:0 18px 50px rgba(0,0,0,.24)!important;
  overflow:hidden!important;
  cursor:pointer!important;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease!important;
}

.chb-booking-launcher:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 22px 58px rgba(0,0,0,.30)!important;
  background:#171a1d!important;
}

.chb-booking-launcher__icon{
  width:54px!important;
  height:68px!important;
  display:grid!important;
  place-items:center!important;
  background:var(--chb-book-gold)!important;
  color:#111!important;
  flex:none!important;
}

.chb-booking-launcher__icon svg{
  display:block!important;
  width:24px!important;
  height:24px!important;
  overflow:visible!important;
}

.chb-booking-launcher__copy{
  min-width:0;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:4px!important;
  padding:0 16px!important;
  text-align:left!important;
}

.chb-booking-launcher__copy small{
  display:block!important;
  margin:0!important;
  font-family:"Lemon Milk",Arial,sans-serif!important;
  font-weight:300!important;
  font-size:5.5px!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  color:var(--chb-book-gold)!important;
}

.chb-booking-launcher__copy strong{
  display:block!important;
  margin:0!important;
  font-family:"Lemon Milk",Arial,sans-serif!important;
  font-weight:500!important;
  font-size:7px!important;
  line-height:1.2!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  color:#fff!important;
  white-space:nowrap!important;
}

.chb-booking-launcher__arrow{
  width:42px!important;
  height:68px!important;
  display:grid!important;
  place-items:center!important;
  color:rgba(255,255,255,.72)!important;
  border-left:1px solid rgba(255,255,255,.09)!important;
}

.chb-booking-launcher__arrow svg{
  width:15px!important;
  height:15px!important;
}

/* Inline trigger gets the same premium visual language */
.chb-booking-inline-trigger{
  min-height:54px!important;
  padding:0 20px!important;
  border:1px solid #111315!important;
  background:#111315!important;
  color:#fff!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
  box-shadow:none!important;
  transition:background .2s ease,color .2s ease,transform .2s ease!important;
}
.chb-booking-inline-trigger:hover{
  background:var(--chb-book-gold,#b79b3a)!important;
  border-color:var(--chb-book-gold,#b79b3a)!important;
  color:#111!important;
  transform:translateY(-2px)!important;
}

/* Mobile: use a clean compact square icon button, never the broken text-pill state */
@media(max-width:760px){
  .chb-booking-visual h2{
    color:#fff!important;
    opacity:1!important;
  }

  .chb-booking-launcher{
    right:14px!important;
    bottom:14px!important;
    min-width:0!important;
    width:58px!important;
    height:58px!important;
    grid-template-columns:1fr!important;
    border:1px solid rgba(255,255,255,.08)!important;
    background:#111315!important;
    box-shadow:0 14px 34px rgba(0,0,0,.28)!important;
  }

  .chb-booking-launcher__icon{
    width:58px!important;
    height:58px!important;
    background:var(--chb-book-gold)!important;
    color:#111!important;
  }

  .chb-booking-launcher__icon svg{
    width:25px!important;
    height:25px!important;
    display:block!important;
  }

  .chb-booking-launcher__copy,
  .chb-booking-launcher__arrow{
    display:none!important;
  }

  .chb-booking-launcher:hover{
    transform:translateY(-2px)!important;
  }
}

@media(max-width:430px){
  .chb-booking-launcher{
    width:56px!important;
    height:56px!important;
    right:12px!important;
    bottom:12px!important;
    padding:0!important;
  }

  .chb-booking-launcher__icon{
    width:56px!important;
    height:56px!important;
  }
}


/* =========================================================
   v1.0.2 — BUTTON / HOVER LOCK + LAUNCHER RENDER FIX
   Prevent theme/global button styles from turning controls blue.
   ========================================================= */

/* Reset WordPress/theme button styling inside this experience */
.chb-booking-root button,
.chb-booking-root input[type="button"],
.chb-booking-root input[type="submit"],
.chb-booking-launcher,
.chb-booking-inline-trigger{
  -webkit-appearance:none!important;
  appearance:none!important;
  text-shadow:none!important;
  background-image:none!important;
  outline:none!important;
  box-shadow:none;
}

/* GOLD PRIMARY CONTROLS — locked for default/hover/focus/active */
.chb-booking-root .chb-booking-next,
.chb-booking-root .chb-booking-submit{
  background:var(--chb-book-gold,#b79b3a)!important;
  background-color:var(--chb-book-gold,#b79b3a)!important;
  border:1px solid var(--chb-book-gold,#b79b3a)!important;
  color:#111315!important;
  box-shadow:none!important;
}

.chb-booking-root .chb-booking-next:hover,
.chb-booking-root .chb-booking-next:focus,
.chb-booking-root .chb-booking-next:focus-visible,
.chb-booking-root .chb-booking-next:active,
.chb-booking-root .chb-booking-submit:hover,
.chb-booking-root .chb-booking-submit:focus,
.chb-booking-root .chb-booking-submit:focus-visible,
.chb-booking-root .chb-booking-submit:active{
  background:#111315!important;
  background-color:#111315!important;
  border-color:#111315!important;
  color:#fff!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Secondary controls stay neutral — never blue */
.chb-booking-root .chb-booking-back,
.chb-booking-root .chb-booking-success button{
  background:#fff!important;
  background-color:#fff!important;
  border:1px solid #d7dbdd!important;
  color:#171a1d!important;
}

.chb-booking-root .chb-booking-back:hover,
.chb-booking-root .chb-booking-back:focus,
.chb-booking-root .chb-booking-back:active,
.chb-booking-root .chb-booking-success button:hover,
.chb-booking-root .chb-booking-success button:focus,
.chb-booking-root .chb-booking-success button:active{
  background:#f0ead5!important;
  background-color:#f0ead5!important;
  border-color:var(--chb-book-gold,#b79b3a)!important;
  color:#111315!important;
  outline:0!important;
}

/* Close button stays black/white/gold — no theme hover blue */
.chb-booking-root .chb-booking-close,
.chb-booking-root .chb-booking-close:hover,
.chb-booking-root .chb-booking-close:focus,
.chb-booking-root .chb-booking-close:active{
  outline:0!important;
  box-shadow:none!important;
}
.chb-booking-root .chb-booking-close:hover,
.chb-booking-root .chb-booking-close:focus{
  background:var(--chb-book-gold,#b79b3a)!important;
  border-color:var(--chb-book-gold,#b79b3a)!important;
}

/* Choice/pill hover + focus states — gold/dark only */
.chb-booking-root .chb-booking-choice:hover,
.chb-booking-root .chb-booking-choice:focus-within{
  border-color:var(--chb-book-gold,#b79b3a)!important;
  box-shadow:none!important;
}

.chb-booking-root .chb-booking-pills label:hover span,
.chb-booking-root .chb-booking-pills input:focus + span{
  border-color:var(--chb-book-gold,#b79b3a)!important;
  color:#111315!important;
  background:#f0ead5!important;
}
.chb-booking-root .chb-booking-pills label:has(input:checked) span{
  background:#18202a!important;
  border-color:#18202a!important;
  color:#fff!important;
}

/* Field focus — gold, never browser/theme blue */
.chb-booking-root .chb-booking-field input:focus,
.chb-booking-root .chb-booking-field select:focus,
.chb-booking-root .chb-booking-field textarea:focus{
  border-color:var(--chb-book-gold,#b79b3a)!important;
  outline:none!important;
  box-shadow:none!important;
}

/* Premium floating launcher — own variables because it lives outside popup root */
button.chb-booking-launcher{
  --launcher-gold:var(--chb-book-gold,#b79b3a);
  --launcher-dark:var(--chb-book-dark,#111315);
  background:var(--launcher-dark)!important;
  background-color:var(--launcher-dark)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  color:#fff!important;
  box-shadow:0 18px 50px rgba(0,0,0,.24)!important;
}

button.chb-booking-launcher:hover,
button.chb-booking-launcher:focus,
button.chb-booking-launcher:focus-visible,
button.chb-booking-launcher:active{
  background:#171a1d!important;
  background-color:#171a1d!important;
  border-color:rgba(183,155,58,.45)!important;
  color:#fff!important;
  outline:none!important;
  box-shadow:0 22px 58px rgba(0,0,0,.30)!important;
}

button.chb-booking-launcher .chb-booking-launcher__icon{
  background:var(--launcher-gold)!important;
  background-color:var(--launcher-gold)!important;
  color:#111315!important;
  opacity:1!important;
}

button.chb-booking-launcher .chb-booking-launcher__icon svg,
button.chb-booking-launcher .chb-booking-launcher__arrow svg{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

button.chb-booking-launcher .chb-booking-launcher__icon svg path{
  stroke:#111315!important;
}

button.chb-booking-launcher .chb-booking-launcher__arrow{
  color:#fff!important;
}

button.chb-booking-launcher .chb-booking-launcher__arrow svg path{
  stroke:#fff!important;
}

/* Inline booking trigger */
button.chb-booking-inline-trigger,
a.chb-booking-inline-trigger{
  background:#111315!important;
  background-color:#111315!important;
  border-color:#111315!important;
  color:#fff!important;
}
button.chb-booking-inline-trigger:hover,
button.chb-booking-inline-trigger:focus,
button.chb-booking-inline-trigger:active,
a.chb-booking-inline-trigger:hover,
a.chb-booking-inline-trigger:focus,
a.chb-booking-inline-trigger:active{
  background:var(--chb-book-gold,#b79b3a)!important;
  background-color:var(--chb-book-gold,#b79b3a)!important;
  border-color:var(--chb-book-gold,#b79b3a)!important;
  color:#111315!important;
}

/* Mobile launcher: force a clean gold square with a visible black calendar icon */
@media(max-width:760px){
  button.chb-booking-launcher{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    height:58px!important;
    min-height:58px!important;
    padding:0!important;
    overflow:hidden!important;
    background:var(--launcher-gold)!important;
    background-color:var(--launcher-gold)!important;
    border:0!important;
  }

  button.chb-booking-launcher:hover,
  button.chb-booking-launcher:focus,
  button.chb-booking-launcher:active{
    background:#111315!important;
    background-color:#111315!important;
  }

  button.chb-booking-launcher .chb-booking-launcher__icon{
    display:grid!important;
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    min-height:58px!important;
    place-items:center!important;
    background:transparent!important;
    color:#111315!important;
  }

  button.chb-booking-launcher:hover .chb-booking-launcher__icon,
  button.chb-booking-launcher:focus .chb-booking-launcher__icon{
    color:#fff!important;
  }

  button.chb-booking-launcher .chb-booking-launcher__icon svg{
    width:27px!important;
    height:27px!important;
    display:block!important;
  }

  button.chb-booking-launcher .chb-booking-launcher__icon svg path{
    stroke:#111315!important;
  }

  button.chb-booking-launcher:hover .chb-booking-launcher__icon svg path,
  button.chb-booking-launcher:focus .chb-booking-launcher__icon svg path{
    stroke:#fff!important;
  }

  button.chb-booking-launcher .chb-booking-launcher__copy,
  button.chb-booking-launcher .chb-booking-launcher__arrow{
    display:none!important;
  }
}

/* Hard safety net: no blue hover/focus color inside booking UI */
.chb-booking-root a:hover,
.chb-booking-root a:focus,
.chb-booking-root button:hover,
.chb-booking-root button:focus{
  text-decoration:none!important;
}


/* =========================================================
   v1.0.3 — FINAL STEP SUBMIT BUTTON FIX
   ========================================================= */
.chb-booking-root .chb-booking-submit{
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:170px!important;
}

.chb-booking-root .chb-booking-submit[style*="inline-flex"]{
  display:inline-flex!important;
}

@media(max-width:760px){
  .chb-booking-root .chb-booking-submit[style*="inline-flex"]{
    display:flex!important;
    width:100%!important;
  }
}


/* =========================================================
   v1.0.4 — CONTINUE BUTTON LAYOUT + NO SHADOW LAUNCHER
   ========================================================= */

/* Bottom control bar: stop theme styles from shrinking/distorting CTA */
.chb-booking-root .chb-booking-controls{
  grid-template-columns:170px 1fr 190px!important;
  align-items:center!important;
}

.chb-booking-root .chb-booking-next,
.chb-booking-root .chb-booking-submit{
  width:190px!important;
  min-width:190px!important;
  max-width:190px!important;
  min-height:50px!important;
  height:50px!important;
  padding:0 18px!important;
  display:inline-flex;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  border:1px solid var(--chb-book-gold,#b79b3a)!important;
  box-sizing:border-box!important;
}

/* Keep visibility controlled by JS, but preserve the correct flex layout */
.chb-booking-root .chb-booking-next[style*="none"],
.chb-booking-root .chb-booking-submit[style*="none"]{
  display:none!important;
}

.chb-booking-root .chb-booking-next[style*="inline-flex"],
.chb-booking-root .chb-booking-submit[style*="inline-flex"]{
  display:inline-flex!important;
}

/* Force button text / arrow to stay centred and readable */
.chb-booking-root .chb-booking-next span,
.chb-booking-root .chb-booking-submit span{
  display:inline-block!important;
  line-height:1!important;
  margin:0!important;
}

/* Remove every shadow from the floating booking launcher/icon */
button.chb-booking-launcher,
button.chb-booking-launcher:hover,
button.chb-booking-launcher:focus,
button.chb-booking-launcher:focus-visible,
button.chb-booking-launcher:active,
.chb-booking-launcher__icon,
.chb-booking-launcher__copy,
.chb-booking-launcher__arrow{
  box-shadow:none!important;
  filter:none!important;
  text-shadow:none!important;
}

/* Desktop launcher stays crisp and flat */
button.chb-booking-launcher{
  border:1px solid rgba(17,19,21,.18)!important;
}

/* Mobile controls */
@media(max-width:760px){
  .chb-booking-root .chb-booking-controls{
    grid-template-columns:68px minmax(0,1fr)!important;
    gap:8px!important;
  }

  .chb-booking-root .chb-booking-back{
    width:68px!important;
    min-width:68px!important;
    max-width:68px!important;
    height:50px!important;
    min-height:50px!important;
    padding:0 8px!important;
  }

  .chb-booking-root .chb-booking-next,
  .chb-booking-root .chb-booking-submit{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:50px!important;
    min-height:50px!important;
    padding:0 16px!important;
  }

  button.chb-booking-launcher,
  button.chb-booking-launcher:hover,
  button.chb-booking-launcher:focus,
  button.chb-booking-launcher:active,
  .chb-booking-launcher__icon{
    box-shadow:none!important;
    filter:none!important;
  }
}


/* =========================================================
   v1.1.0 — STATIC CONTACT PAGE EXPERIENCE
   Shortcode: [cityhome_contact_form]
   ========================================================= */

.chb-contact-static,
.chb-contact-static *{
  box-sizing:border-box;
  border-radius:0!important;
}

.chb-contact-static{
  position:relative;
  background:#eef0f1;
  color:#18202a;
  padding:96px 0 110px;
  overflow:hidden;
}

.chb-contact-static:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(24,32,42,.025) 1px,transparent 1px),
    linear-gradient(rgba(24,32,42,.025) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,transparent 0%,black 35%,black 100%);
}

.chb-contact-static__shell{
  position:relative;
  z-index:2;
  width:min(100%,1540px);
  margin:0 auto;
  padding:0 32px;
}

.chb-contact-static__top{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.65fr);
  gap:90px;
  align-items:end;
  margin-bottom:44px;
}

.chb-contact-static__eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  font-family:"Lemon Milk",Arial,sans-serif;
  font-weight:300;
  font-size:7px;
  letter-spacing:.18em;
  color:var(--chb-book-gold);
  text-transform:uppercase;
}

.chb-contact-static__eyebrow:before{
  content:"";
  width:34px;
  height:1px;
  background:var(--chb-book-gold);
}

.chb-contact-static__top h2{
  margin:15px 0 0;
  max-width:900px;
  font-family:"Lemon Milk",Arial,sans-serif!important;
  font-weight:500!important;
  font-size:clamp(58px,6vw,98px);
  line-height:.9;
  letter-spacing:-.055em;
  text-transform:uppercase;
  color:#18202a!important;
}

.chb-contact-static__top>p{
  max-width:500px;
  margin:0 0 6px;
  font-size:15px;
  line-height:1.75;
  color:#687075;
}

.chb-contact-static__experience{
  display:grid;
  grid-template-columns:minmax(400px,.82fr) minmax(600px,1.18fr);
  min-height:790px;
  background:#fff;
  border:1px solid #dce0e2;
}

.chb-contact-static__visual{
  min-height:790px;
}

.chb-contact-static__form-side{
  min-width:0;
  background:#fff;
}

.chb-contact-static .chb-booking-form{
  min-height:790px;
  height:auto;
}

.chb-contact-static .chb-booking-step{
  min-height:705px;
  height:auto;
  overflow:visible;
  padding-top:66px;
}

.chb-contact-static .chb-booking-controls{
  position:relative;
  bottom:auto;
}

.chb-contact-static__contact-strip{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin-top:28px;
  font-family:"Lemon Milk",Arial,sans-serif;
  font-weight:300;
  font-size:6px;
  letter-spacing:.12em;
  color:rgba(255,255,255,.48);
  text-transform:uppercase;
}

.chb-contact-static .chb-booking-success{
  min-height:705px;
}

.chb-contact-static .chb-booking-error{
  position:fixed;
  z-index:9999999;
}

@media(max-width:1100px){
  .chb-contact-static__top{
    grid-template-columns:1fr;
    gap:22px;
  }

  .chb-contact-static__top>p{
    max-width:680px;
  }

  .chb-contact-static__experience{
    grid-template-columns:360px minmax(0,1fr);
  }

  .chb-contact-static__visual{
    min-height:760px;
  }
}

@media(max-width:760px){
  .chb-contact-static{
    padding:60px 0 72px;
  }

  .chb-contact-static__shell{
    padding:0 12px;
  }

  .chb-contact-static__top{
    margin-bottom:28px;
  }

  .chb-contact-static__top h2{
    font-size:48px;
    max-width:390px;
  }

  .chb-contact-static__top>p{
    font-size:13px;
  }

  .chb-contact-static__experience{
    display:grid;
    grid-template-columns:1fr;
    min-height:0;
    border:0;
  }

  .chb-contact-static__visual{
    min-height:210px;
    height:210px;
  }

  .chb-contact-static .chb-booking-visual__content{
    left:18px;
    right:18px;
    bottom:20px;
  }

  .chb-contact-static .chb-booking-visual h2{
    font-size:28px;
    max-width:330px;
  }

  .chb-contact-static .chb-booking-visual p{
    display:none;
  }

  .chb-contact-static__contact-strip{
    display:none;
  }

  .chb-contact-static .chb-booking-step-rail{
    display:block;
    margin-top:18px;
  }

  .chb-contact-static .chb-booking-step-rail__meta{
    display:flex;
  }

  .chb-contact-static .chb-booking-form{
    min-height:0;
    height:auto;
  }

  .chb-contact-static .chb-booking-step{
    min-height:0;
    height:auto;
    padding:28px 16px 34px;
  }

  .chb-contact-static .chb-booking-success{
    min-height:560px;
  }

  .chb-contact-static .chb-booking-controls{
    position:sticky;
    bottom:0;
    z-index:10;
  }
}


/* =========================================================
   v1.1.2 — CONTACT PAGE TOP SPACING
   ========================================================= */
.chb-contact-static{
  padding-top:145px!important;
}

@media(max-width:760px){
  .chb-contact-static{
    padding-top:88px!important;
  }
}


/* =========================================================
   v1.2.0 — MOBILE-FIRST POPUP REDESIGN
   Applies ONLY to the global popup. Static contact form stays untouched.
   ========================================================= */
@media(max-width:760px){

  /* Full-screen app shell */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-backdrop{
    background:#0d0f10!important;
    backdrop-filter:none!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-experience{
    inset:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:116px minmax(0,1fr)!important;
    background:#fff!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }

  /* Compact branded header */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual{
    min-height:116px!important;
    height:116px!important;
    overflow:hidden!important;
    background:#0d0f10!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual__image{
    opacity:0!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual__pattern{
    opacity:.20!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual__pattern:before,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual__pattern:after,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual__pattern span{
    border-color:rgba(255,255,255,.14)!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual__content{
    left:16px!important;
    right:70px!important;
    bottom:17px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-eyebrow{
    gap:9px!important;
    font-size:5.5px!important;
    letter-spacing:.18em!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-eyebrow:before{
    width:22px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual h2{
    margin:8px 0 0!important;
    max-width:270px!important;
    font-size:23px!important;
    line-height:.96!important;
    letter-spacing:-.04em!important;
    color:#fff!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual p,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step-rail{
    display:none!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-close{
    position:fixed!important;
    top:14px!important;
    right:14px!important;
    width:44px!important;
    height:44px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:transparent!important;
    z-index:50!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-close:hover,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-close:focus{
    background:var(--chb-book-gold)!important;
    border-color:var(--chb-book-gold)!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-close:hover span,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-close:focus span{
    background:#111315!important;
  }

  /* Main body */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-form-side{
    min-height:0!important;
    background:#fff!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-form{
    height:100%!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
  }

  /* Progress becomes part of the interface, not a separate clunky row */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-mobile-progress{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    align-items:center!important;
    gap:14px!important;
    height:42px!important;
    padding:0 16px!important;
    border-bottom:1px solid #eceeef!important;
    background:#fff!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-mobile-progress>span{
    font-size:5.5px!important;
    letter-spacing:.12em!important;
    color:#858c90!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-mobile-progress>div{
    height:1px!important;
    background:#e5e8e9!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-mobile-progress>div span{
    background:var(--chb-book-gold)!important;
    height:2px!important;
    transform:translateY(-.5px);
  }

  /* Scrollable step area */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step{
    height:100%!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    padding:24px 14px 34px!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step.is-active{
    animation:chbMobileStepIn .38s cubic-bezier(.2,.7,.2,1) both!important;
  }

  @keyframes chbMobileStepIn{
    from{opacity:0;transform:translateY(12px)}
    to{opacity:1;transform:none}
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step__head{
    max-width:360px!important;
    margin:0 0 22px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step__head>span{
    display:block!important;
    margin-bottom:9px!important;
    font-size:5.5px!important;
    letter-spacing:.16em!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step__head h3{
    max-width:350px!important;
    margin:0 0 10px!important;
    font-size:29px!important;
    line-height:.97!important;
    letter-spacing:-.045em!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step__head p{
    max-width:330px!important;
    font-size:11.5px!important;
    line-height:1.55!important;
    color:#767e82!important;
  }

  /* Premium service choices */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    max-width:none!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice{
    min-height:82px!important;
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr) 24px!important;
    grid-template-rows:auto auto!important;
    column-gap:12px!important;
    align-items:center!important;
    padding:13px 13px!important;
    background:#fafafa!important;
    border:1px solid #dfe3e5!important;
    transform:none!important;
    overflow:hidden!important;
    transition:
      border-color .22s ease,
      background .22s ease,
      color .22s ease,
      transform .22s ease!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:var(--chb-book-gold);
    transform:scaleY(0);
    transform-origin:center;
    transition:transform .22s ease;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:hover,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:focus-within{
    background:#f5f5f3!important;
    border-color:#c9ced0!important;
    transform:translateX(2px)!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:has(input:checked){
    background:#171b1e!important;
    border-color:#171b1e!important;
    color:#fff!important;
    transform:none!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:has(input:checked):before{
    transform:scaleY(1);
  }

  /* Turn the house icon into the card's visual anchor */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice__icon{
    position:static!important;
    grid-column:1!important;
    grid-row:1 / span 2!important;
    width:30px!important;
    height:30px!important;
    display:grid!important;
    place-items:center!important;
    color:#aeb5b8!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice__icon svg{
    width:28px!important;
    height:28px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:has(input:checked) .chb-booking-choice__icon{
    color:var(--chb-book-gold)!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice__number{
    position:absolute!important;
    top:8px!important;
    left:auto!important;
    right:9px!important;
    margin:0!important;
    font-size:5px!important;
    color:#c2a43f!important;
    opacity:.8;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice strong{
    grid-column:2!important;
    grid-row:1!important;
    align-self:end!important;
    padding:0!important;
    font-size:11px!important;
    line-height:1.15!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice small{
    grid-column:2!important;
    grid-row:2!important;
    align-self:start!important;
    margin:4px 0 0!important;
    padding:0!important;
    max-width:270px!important;
    font-size:9.5px!important;
    line-height:1.35!important;
    color:#777f83!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:has(input:checked) small{
    color:rgba(255,255,255,.58)!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice__arrow{
    position:static!important;
    grid-column:3!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
    justify-self:center!important;
    color:var(--chb-book-gold)!important;
    font-size:15px!important;
    transition:transform .22s ease!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:hover .chb-booking-choice__arrow,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:has(input:checked) .chb-booking-choice__arrow{
    transform:translateX(3px)!important;
  }

  /* Fields — calmer, less "form plugin" */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-fields{
    grid-template-columns:1fr!important;
    gap:15px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-field>span,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-consent>span{
    font-size:5.5px!important;
    letter-spacing:.09em!important;
    margin-bottom:7px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-field input,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-field select{
    height:48px!important;
    background:#f7f8f8!important;
    font-size:13px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-field textarea{
    min-height:96px!important;
    height:96px!important;
    background:#f7f8f8!important;
    font-size:13px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-pills{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-pills span{
    height:44px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-summary{
    margin-top:20px!important;
    padding:15px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-summary__grid{
    grid-template-columns:1fr 1fr!important;
    gap:12px 10px!important;
  }

  /* Sticky app-style controls */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-controls{
    position:relative!important;
    min-height:68px!important;
    display:grid!important;
    grid-template-columns:70px minmax(0,1fr)!important;
    gap:8px!important;
    padding:9px 14px calc(9px + env(safe-area-inset-bottom))!important;
    border-top:1px solid #e7eaeb!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:none!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-controls button{
    min-height:48px!important;
    font-size:6px!important;
    letter-spacing:.08em!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-back{
    width:70px!important;
    padding:0!important;
    border:1px solid #d8dddf!important;
    background:#fff!important;
    color:#697075!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-next,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-submit{
    width:100%!important;
    min-width:0!important;
    border:1px solid var(--chb-book-gold)!important;
    background:var(--chb-book-gold)!important;
    color:#111315!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-next:hover,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-next:focus,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-submit:hover,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-submit:focus{
    background:#111315!important;
    border-color:#111315!important;
    color:#fff!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-save-note{
    display:none!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-error{
    bottom:78px!important;
    width:calc(100% - 28px)!important;
    padding:10px 12px!important;
    font-size:11px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-success{
    padding:28px 16px 34px!important;
    overflow-y:auto!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-success h3{
    font-size:31px!important;
  }
}

@media(max-width:430px){
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step__head h3{
    font-size:27px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice{
    grid-template-columns:28px minmax(0,1fr) 20px!important;
    column-gap:10px!important;
    padding:12px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice__icon{
    width:27px!important;
    height:27px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice__icon svg{
    width:25px!important;
    height:25px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-controls{
    padding-left:12px!important;
    padding-right:12px!important;
  }
}


/* =========================================================
   v1.2.1 — CONTACT PAGE MOBILE TOP PADDING
   Adds more breathing room below the fixed mobile header.
   Static contact page only. Popup is untouched.
   ========================================================= */
@media(max-width:760px){
  .chb-contact-static{
    padding-top:128px!important;
  }
}


/* =========================================================
   v1.2.2 — STATIC CONTACT PAGE CONTINUE BUTTON FIX
   Popup remains untouched.
   ========================================================= */
@media(min-width:1101px){
  .chb-contact-static .chb-booking-controls{
    grid-template-columns:170px minmax(0,1fr) 230px!important;
    gap:20px!important;
    padding:14px 34px!important;
  }

  .chb-contact-static .chb-booking-next,
  .chb-contact-static .chb-booking-submit{
    justify-self:stretch!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:54px!important;
    height:54px!important;
    padding:0 18px!important;
    display:inline-flex;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    background:var(--chb-book-gold,#b79b3a)!important;
    border:1px solid var(--chb-book-gold,#b79b3a)!important;
    color:#111315!important;
    box-shadow:none!important;
  }

  .chb-contact-static .chb-booking-next:hover,
  .chb-contact-static .chb-booking-next:focus,
  .chb-contact-static .chb-booking-submit:hover,
  .chb-contact-static .chb-booking-submit:focus{
    background:#111315!important;
    border-color:#111315!important;
    color:#fff!important;
  }

  .chb-contact-static .chb-booking-next span,
  .chb-contact-static .chb-booking-submit span{
    margin-left:auto!important;
  }
}


/* =========================================================
   v1.2.3 — MOBILE STATIC CONTACT PAGE CTA FIX
   Fixes the Continue / Send Request button layout on mobile.
   Popup remains untouched.
   ========================================================= */
@media(max-width:760px){
  .chb-contact-static .chb-booking-controls{
    grid-template-columns:78px minmax(0,1fr)!important;
    gap:10px!important;
    padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px))!important;
    align-items:center!important;
  }

  .chb-contact-static .chb-booking-back{
    width:78px!important;
    min-width:78px!important;
    max-width:78px!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 10px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
  }

  .chb-contact-static .chb-booking-next,
  .chb-contact-static .chb-booking-submit{
    justify-self:stretch!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 16px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:visible!important;
    background:var(--chb-book-gold,#b79b3a)!important;
    border:1px solid var(--chb-book-gold,#b79b3a)!important;
    color:#111315!important;
    box-shadow:none!important;
  }

  .chb-contact-static .chb-booking-next:hover,
  .chb-contact-static .chb-booking-next:focus,
  .chb-contact-static .chb-booking-submit:hover,
  .chb-contact-static .chb-booking-submit:focus{
    background:#111315!important;
    border-color:#111315!important;
    color:#fff!important;
  }

  .chb-contact-static .chb-booking-next span,
  .chb-contact-static .chb-booking-submit span{
    display:inline-block!important;
    line-height:1!important;
    margin-left:auto!important;
  }
}


/* =========================================================
   v1.2.4 — MOBILE BUTTON VISIBILITY FIX
   Only the correct action button shows for the current step.
   ========================================================= */
@media(max-width:760px){
  .chb-contact-static .chb-booking-next[style*="display: none"],
  .chb-contact-static .chb-booking-submit[style*="display: none"]{
    display:none!important;
  }

  .chb-contact-static .chb-booking-next[style*="display: inline-flex"],
  .chb-contact-static .chb-booking-submit[style*="display: inline-flex"]{
    display:inline-flex!important;
  }
}


/* Alex Practice Manager WooCommerce v4.3.4 public front-end */

:root{
  --apmw-bg:#090909;
  --apmw-panel:#151614;
  --apmw-panel-2:#151614;
  --apmw-ink:#f1f0eb;
  --apmw-paper:#eae9e4;
  --apmw-muted:#a5a59f;
  --apmw-soft:#73746f;
  --apmw-line:rgba(241,240,235,.16);
  --apmw-line-strong:rgba(241,240,235,.72);
  --apmw-error:#d9a28f;
  --apmw-accent:#d9dce5;
  --apmw-heading:"Archivo Black",sans-serif;
  --apmw-body:"Inter",sans-serif;
  --apmw-mono:"IBM Plex Mono",monospace;
}

.apmw-booker,.apmw-booker *{box-sizing:border-box}
.apmw-booker{position:relative;width:100%;margin:0;background:var(--apmw-bg);color:var(--apmw-ink);font-family:var(--apmw-body);overflow:hidden}
.apmw-booker:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:64px 64px}
.apmw-booker button,.apmw-booker input,.apmw-booker select,.apmw-booker textarea{font:inherit}
.apmw-booker button{border-radius:0!important}
.apmw-booker__shell{position:relative;z-index:1;width:min(calc(100% - 80px),1012px);margin:0 auto;padding:84px 0 104px}

/* Section introduction */
.apmw-section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;padding-bottom:16px;border-bottom:1px solid var(--apmw-line)}
.apmw-section-head h2{margin:0;color:var(--apmw-ink);font-family:var(--apmw-heading);font-size:clamp(44px,4.5vw,68px);font-weight:400;line-height:.86;letter-spacing:-3.7px;text-transform:uppercase}
.apmw-section-index{padding-bottom:4px;color:var(--apmw-ink);font-family:var(--apmw-mono);font-size:7px;font-weight:500;letter-spacing:1.45px;text-transform:uppercase}

/* Session product card */
.apmw-session-stage{min-height:510px;padding:43px 0 24px;display:grid;place-items:start center}
.apmw-session-card{position:relative;width:min(420px,100%);padding:38px 36px 34px;background:var(--apmw-panel);border:1px solid rgba(241,240,235,.86);overflow:hidden;transition:border-color .28s ease,transform .28s ease,background .28s ease}
.apmw-session-card:before{content:"";position:absolute;left:-35%;top:-1px;width:34%;height:1px;background:var(--apmw-ink);opacity:0;transition:left .65s cubic-bezier(.2,.8,.2,1),opacity .2s ease}
.apmw-session-card:hover{transform:translateY(-3px);background:#181917;border-color:#fff}
.apmw-session-card:hover:before{left:101%;opacity:1}
.apmw-session-card__eyebrow{margin-bottom:17px;color:var(--apmw-ink);font-family:var(--apmw-mono);font-size:7px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase}
.apmw-session-card__eyebrow span,.apmw-session-card__foot span{padding:0 6px;color:var(--apmw-soft)}
.apmw-session-card h3{margin:0;color:var(--apmw-ink);font-family:var(--apmw-heading);font-size:clamp(36px,3.1vw,46px);font-weight:400;line-height:.88;letter-spacing:-2.6px;text-transform:uppercase}
.apmw-session-card__copy{max-width:280px;margin:12px 0 23px;color:#f0efe9;font-size:10px;line-height:1.5}
.apmw-session-specs{margin:0 0 18px;padding:0;border-top:1px solid var(--apmw-line)}
.apmw-session-specs>div{min-height:36px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;border-bottom:1px solid var(--apmw-line)}
.apmw-session-specs dt,.apmw-session-specs dd{margin:0;font-family:var(--apmw-mono);font-size:7px;font-weight:500;letter-spacing:1.15px;text-transform:uppercase}
.apmw-session-specs dd{text-align:right;color:var(--apmw-ink)}
.apmw-session-specs .amount{color:inherit!important}
.apmw-price-tag{padding:4px 8px!important;background:var(--apmw-paper)!important;color:#0a0b0a!important}
.apmw-price-tag .amount{color:#0a0b0a!important}
.apmw-session-start{position:relative;width:100%;min-height:52px;padding:0 20px;border:1px solid var(--apmw-paper)!important;background:var(--apmw-paper)!important;color:#090a09!important;display:flex;align-items:center;justify-content:center;gap:14px;overflow:hidden;font-family:var(--apmw-mono)!important;font-size:9px!important;font-weight:600!important;letter-spacing:1.8px!important;text-transform:uppercase!important;cursor:pointer;transition:color .25s ease,background .25s ease}
.apmw-session-start:before{content:"";position:absolute;inset:0;background:#090a09;transform:translateX(-102%);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.apmw-session-start span,.apmw-session-start b{position:relative;z-index:1}
.apmw-session-start b{font-size:16px;font-weight:400;transition:transform .25s ease}
.apmw-session-start:hover{color:var(--apmw-paper)!important;background:var(--apmw-paper)!important}
.apmw-session-start:hover:before{transform:translateX(0)}
.apmw-session-start:hover b{transform:translateX(4px)}
.apmw-session-start:disabled{opacity:.35;cursor:not-allowed}
.apmw-session-start:disabled:hover:before{transform:translateX(-102%)}
.apmw-session-card__foot{margin-top:13px;color:var(--apmw-ink);font-family:var(--apmw-mono);font-size:5.8px;line-height:1.6;letter-spacing:1.15px;text-align:center;text-transform:uppercase}

.apmw-alert{margin-top:30px;padding:18px 20px;display:flex;justify-content:space-between;gap:24px;border:1px solid var(--apmw-error);background:rgba(217,162,143,.08);color:var(--apmw-ink);font-size:11px}
.apmw-alert strong{font-family:var(--apmw-mono);font-size:8px;letter-spacing:1.1px;text-transform:uppercase}

/* Booking workspace - intentionally hidden until BOOK NOW when JS is available */
.apmw-booking-workspace{margin-top:44px;border-top:1px solid var(--apmw-line-strong);border-bottom:1px solid var(--apmw-line-strong);background:var(--apmw-panel);animation:apmwWorkspaceIn .48s cubic-bezier(.2,.8,.2,1) both}
.apmw-booker.is-js:not(.is-booking) .apmw-booking-workspace{display:none}
@keyframes apmwWorkspaceIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.apmw-workspace-head{min-height:98px;padding:24px 28px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;border-left:1px solid var(--apmw-line);border-right:1px solid var(--apmw-line);border-bottom:1px solid var(--apmw-line)}
.apmw-workspace-head>div>span,.apmw-workspace-code{display:block;color:var(--apmw-soft);font-family:var(--apmw-mono);font-size:7px;font-weight:500;letter-spacing:1.3px;text-transform:uppercase}
.apmw-workspace-head strong{display:block;margin-top:8px;font-family:var(--apmw-heading);font-size:25px;line-height:1;letter-spacing:-1.2px;text-transform:uppercase}
.apmw-workspace-code{padding-bottom:3px;color:var(--apmw-ink)}

.apmw-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid var(--apmw-line);border-right:1px solid var(--apmw-line);border-bottom:1px solid var(--apmw-line);background:#0b0c0b}
.apmw-progress__item{appearance:none;min-height:74px;padding:15px 17px;border:0;border-right:1px solid var(--apmw-line);background:transparent;color:var(--apmw-soft);display:flex;align-items:center;gap:12px;text-align:left;cursor:default;transition:background .2s ease,color .2s ease}
button.apmw-progress__item{cursor:pointer}
.apmw-progress__item:last-child{border-right:0}
.apmw-progress__item span{font-family:var(--apmw-mono);font-size:7px;color:var(--apmw-soft)}
.apmw-progress__item strong{font-family:var(--apmw-mono);font-size:7px;line-height:1.35;letter-spacing:1.1px;text-transform:uppercase;font-weight:500}
.apmw-progress__item.is-active{background:var(--apmw-paper);color:#090a09}
.apmw-progress__item.is-active span{color:#090a09}
.apmw-progress__item.is-complete{background:#191a18;color:var(--apmw-ink)}
.apmw-progress__item.is-complete span{color:var(--apmw-ink)}

.apmw-step{display:grid;grid-template-columns:300px minmax(0,1fr);border-left:1px solid var(--apmw-line);border-right:1px solid var(--apmw-line)}
.apmw-step[hidden]{display:none!important}
.apmw-step__intro{min-height:100%;padding:38px 30px;display:flex;flex-direction:column;border-right:1px solid var(--apmw-line);background:#0c0d0c;color:var(--apmw-ink)}
.apmw-step__intro>span{font-family:var(--apmw-mono);font-size:7px;font-weight:500;letter-spacing:1.25px;text-transform:uppercase;color:var(--apmw-muted)}
.apmw-step__intro h3{margin:26px 0 0;color:var(--apmw-ink);font-family:var(--apmw-heading);font-size:clamp(32px,3vw,44px);font-weight:400;line-height:.9;letter-spacing:-2.3px;text-transform:uppercase}
.apmw-step__intro p{margin:auto 0 0;padding-top:42px;color:var(--apmw-muted);font-size:11px;line-height:1.65}
.apmw-step__intro--context{background:#111210}
.apmw-step__intro--time{background:#090a09}

.apmw-session-summary{margin-top:auto;padding-top:34px;border-top:1px solid var(--apmw-line);display:flex;align-items:flex-end;gap:16px}
.apmw-session-summary>strong{font-family:var(--apmw-heading);font-size:78px;line-height:.72;letter-spacing:-5px;color:var(--apmw-ink)}
.apmw-session-summary>div{padding-bottom:3px}
.apmw-session-summary span,.apmw-session-summary b{display:block;font-family:var(--apmw-mono);font-size:7px;letter-spacing:1.1px;text-transform:uppercase}
.apmw-session-summary span{color:var(--apmw-soft);margin-bottom:6px}
.apmw-session-summary b,.apmw-session-summary .amount{color:var(--apmw-ink)!important;font-weight:500}

.apmw-step__body{min-width:0;background:#111210}
.apmw-fields{display:grid}
.apmw-fields--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.apmw-field{display:block;padding:27px 28px;border-bottom:1px solid var(--apmw-line);min-width:0}
.apmw-fields--2>.apmw-field:nth-child(odd){border-right:1px solid var(--apmw-line)}
.apmw-field>span,.apmw-question legend{display:block;margin-bottom:13px;color:var(--apmw-ink);font-family:var(--apmw-mono);font-size:7px;font-weight:500;line-height:1.5;letter-spacing:1.15px;text-transform:uppercase}
.apmw-field i,.apmw-question i,.apmw-consent i{font-style:normal;color:var(--apmw-error)}
.apmw-field small,.apmw-question small{font-size:6px;color:var(--apmw-soft);font-weight:500}
.apmw-field input,.apmw-field select,.apmw-field textarea{width:100%;padding:12px 0;border:0;border-bottom:1px solid rgba(241,240,235,.3);border-radius:0!important;background:transparent;color:var(--apmw-ink);outline:none;font-size:13px;line-height:1.5;box-shadow:none;transition:border-color .2s ease,background .2s ease}
.apmw-field textarea{min-height:126px;padding:14px;resize:vertical;border:1px solid var(--apmw-line);background:#0c0d0c}
.apmw-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--apmw-ink) 50%),linear-gradient(135deg,var(--apmw-ink) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.apmw-field select option{background:#111210;color:var(--apmw-ink)}
.apmw-field input:focus,.apmw-field select:focus,.apmw-field textarea:focus{border-color:var(--apmw-ink)}
.apmw-field input::placeholder,.apmw-field textarea::placeholder{color:#777973;opacity:1}
.apmw-field.is-invalid input,.apmw-field.is-invalid textarea,.apmw-field input.is-invalid,.apmw-field textarea.is-invalid{border-color:var(--apmw-error);background:rgba(217,162,143,.045)}

.apmw-question{margin:0;padding:27px 28px;border:0;border-bottom:1px solid var(--apmw-line)}
.apmw-choice-row{display:flex;flex-wrap:wrap;gap:8px}
.apmw-choice,.apmw-check-card{position:relative;cursor:pointer}
.apmw-choice input,.apmw-check-card input{position:absolute;opacity:0;pointer-events:none}
.apmw-choice span,.apmw-check-card span{display:flex;align-items:center;gap:10px;border:1px solid var(--apmw-line);background:#0c0d0c;color:var(--apmw-muted);font-size:11px;transition:border-color .2s ease,background .2s ease,color .2s ease}
.apmw-choice span{min-height:45px;padding:0 14px}
.apmw-choice span:before{content:"";width:13px;height:13px;flex:0 0 13px;border:1px solid var(--apmw-soft);border-radius:50%}
.apmw-choice input:checked+span{border-color:var(--apmw-ink);background:var(--apmw-paper);color:#090a09}
.apmw-choice input:checked+span:before{border:4px solid #090a09;background:var(--apmw-paper)}
.apmw-question.is-invalid{background:rgba(217,162,143,.045)}

.apmw-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.apmw-check-card span{min-height:54px;padding:0 14px}
.apmw-check-card span:before{content:"";width:14px;height:14px;flex:0 0 14px;border:1px solid var(--apmw-soft)}
.apmw-check-card input:checked+span{border-color:var(--apmw-ink);background:var(--apmw-paper);color:#090a09}
.apmw-check-card input:checked+span:before{background:#090a09;box-shadow:inset 0 0 0 4px var(--apmw-paper);border-color:#090a09}

.apmw-private-note{padding:24px 28px;display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;border-bottom:1px solid var(--apmw-line);background:#0b0c0b}
.apmw-private-note span{font-family:var(--apmw-mono);font-size:7px;letter-spacing:1.15px;text-transform:uppercase}
.apmw-private-note p{max-width:700px;margin:0;color:var(--apmw-muted);font-size:11px;line-height:1.65}
.apmw-consent{padding:23px 28px;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid var(--apmw-line);color:var(--apmw-muted);font-size:10px;line-height:1.6;cursor:pointer}
.apmw-consent input{appearance:none;width:15px;height:15px;flex:0 0 15px;margin:1px 0 0;border:1px solid var(--apmw-soft);border-radius:0!important;background:#0c0d0c}
.apmw-consent input:checked{background:var(--apmw-paper);box-shadow:inset 0 0 0 4px #090a09}
.apmw-consent.is-invalid{background:rgba(217,162,143,.045)}

.apmw-step__actions{min-height:86px;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#0a0b0a}
.apmw-helper{max-width:500px;color:var(--apmw-soft);font-size:9px;line-height:1.6}
.apmw-next,.apmw-back,.apmw-continue{appearance:none;min-height:50px;padding:0 20px;border:1px solid var(--apmw-ink)!important;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;font-family:var(--apmw-mono)!important;font-size:7px!important;font-weight:600!important;letter-spacing:1.15px!important;text-transform:uppercase!important;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
.apmw-next,.apmw-continue{min-width:205px;background:var(--apmw-paper)!important;color:#090a09!important}
.apmw-next:hover,.apmw-continue:hover:not(:disabled){background:#090a09!important;color:var(--apmw-paper)!important;transform:translateY(-2px)}
.apmw-back{min-width:105px;background:transparent!important;color:var(--apmw-ink)!important}
.apmw-back:hover{background:var(--apmw-ink)!important;color:#090a09!important}
.apmw-next b,.apmw-continue b{font-size:14px;font-weight:400}
.apmw-continue:disabled{opacity:.34;cursor:not-allowed}
.apmw-continue.is-loading{opacity:.72}

.apmw-calendar-head{padding:29px 28px;display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--apmw-line)}
.apmw-calendar-head>div>span{font-family:var(--apmw-mono);font-size:7px;letter-spacing:1.15px;text-transform:uppercase;color:var(--apmw-soft)}
.apmw-calendar-head h4{margin:10px 0 0;color:var(--apmw-ink);font-family:var(--apmw-heading);font-size:25px;line-height:1;text-transform:uppercase;letter-spacing:-1.2px}
.apmw-timezone{font-family:var(--apmw-mono);font-size:6px;letter-spacing:1px;text-transform:uppercase;color:var(--apmw-soft)}
.apmw-field--date input{max-width:350px;padding:13px;border:1px solid var(--apmw-line);background:#0c0d0c;color:var(--apmw-ink);color-scheme:dark}
.apmw-slots{padding:27px 28px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border-bottom:1px solid var(--apmw-line)}
.apmw-slot{appearance:none!important;min-height:61px!important;padding:10px 12px!important;border:1px solid var(--apmw-line)!important;border-radius:0!important;background:#0c0d0c!important;color:var(--apmw-ink)!important;text-align:left!important;cursor:pointer!important;transition:border-color .2s ease,background .2s ease,color .2s ease!important}
.apmw-slot span{display:block;font-family:var(--apmw-heading);font-size:14px}
.apmw-slot small{display:block;margin-top:4px;color:var(--apmw-soft);font-family:var(--apmw-mono);font-size:6px;letter-spacing:1px;text-transform:uppercase}
.apmw-slot:hover{border-color:var(--apmw-ink)!important}
.apmw-slot.is-active{background:var(--apmw-paper)!important;border-color:var(--apmw-paper)!important;color:#090a09!important}
.apmw-slot.is-active small{color:#555651}
.apmw-slots__empty{grid-column:1/-1;padding:22px;border:1px solid var(--apmw-line);background:#0c0d0c;color:var(--apmw-soft);font-size:10px}
.apmw-step__actions--checkout>div{display:flex;align-items:center;gap:18px}
.apmw-hold-message{max-width:270px;margin:0;color:var(--apmw-soft);font-size:9px;line-height:1.5;text-align:right}

.apmw-booker button:focus-visible,.apmw-booker input:focus-visible,.apmw-booker select:focus-visible,.apmw-booker textarea:focus-visible{outline:1px solid var(--apmw-ink);outline-offset:3px}

@media(max-width:1100px){
  .apmw-booker__shell{width:calc(100% - 48px)}
  .apmw-step{grid-template-columns:250px minmax(0,1fr)}
  .apmw-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .apmw-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:800px){
  .apmw-booker__shell{width:100%;padding:60px 18px 76px}
  .apmw-section-head{grid-template-columns:1fr;gap:13px;padding-bottom:14px}
  .apmw-section-head h2{font-size:clamp(39px,12vw,56px);letter-spacing:-2.8px}
  .apmw-section-index{padding:0}
  .apmw-session-stage{min-height:0;padding:34px 0 22px}
  .apmw-session-card{width:min(420px,100%);padding:30px 24px 27px}
  .apmw-session-card h3{font-size:clamp(34px,10.5vw,45px)}
  .apmw-session-card__copy{font-size:10px}
  .apmw-alert{display:block}.apmw-alert strong{display:block;margin-bottom:8px}
  .apmw-booking-workspace{margin-top:34px}
  .apmw-workspace-head{padding:22px 18px;display:block}.apmw-workspace-code{margin-top:12px}
  .apmw-progress{grid-template-columns:repeat(4,1fr)}
  .apmw-progress__item{min-height:67px;padding:10px 8px;display:block}.apmw-progress__item span{display:block;margin-bottom:6px}.apmw-progress__item strong{font-size:5.7px;line-height:1.35}
  .apmw-step{display:block}.apmw-step__intro{min-height:0;padding:30px 18px;border-right:0;border-bottom:1px solid var(--apmw-line)}
  .apmw-step__intro h3{margin-top:18px;font-size:clamp(29px,8.7vw,39px)}.apmw-step__intro p{margin-top:22px;padding-top:0}
  .apmw-session-summary{margin-top:25px;padding-top:20px}.apmw-session-summary>strong{font-size:66px}
  .apmw-fields--2{grid-template-columns:1fr}.apmw-fields--2>.apmw-field:nth-child(odd){border-right:0}.apmw-field,.apmw-question{padding:23px 18px}
  .apmw-check-grid{grid-template-columns:1fr}.apmw-choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.apmw-choice span{min-height:46px;padding:0 12px}
  .apmw-private-note{padding:22px 18px;display:block}.apmw-private-note span{display:block;margin-bottom:9px}.apmw-consent{padding:21px 18px}
  .apmw-step__actions{padding:17px 18px;display:flex;flex-wrap:wrap}.apmw-helper{width:100%;order:1}.apmw-next{width:100%;order:2}.apmw-back{min-width:100px}
  .apmw-calendar-head{padding:26px 18px;display:block}.apmw-timezone{display:block;margin-top:13px}.apmw-calendar-head h4{font-size:22px}
  .apmw-field--date input{max-width:100%}.apmw-slots{padding:23px 18px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .apmw-step__actions--checkout{display:block}.apmw-step__actions--checkout>.apmw-back{margin-bottom:13px}.apmw-step__actions--checkout>div{display:block}.apmw-hold-message{text-align:left;margin:0 0 11px;max-width:none}.apmw-continue{width:100%}
}

@media(max-width:480px){
  .apmw-booker__shell{padding-left:14px;padding-right:14px}
  .apmw-session-card{padding:27px 20px 24px}.apmw-session-card__eyebrow{font-size:6px}.apmw-session-card__foot{font-size:5px}
  .apmw-section-head h2{font-size:clamp(36px,11vw,48px)}
  .apmw-progress__item{padding:9px 6px}.apmw-progress__item strong{font-size:5.2px}
  .apmw-step__intro{padding:28px 15px}.apmw-field,.apmw-question{padding:21px 15px}.apmw-choice-row{grid-template-columns:1fr}.apmw-private-note,.apmw-consent{padding-left:15px;padding-right:15px}.apmw-step__actions{padding:15px}.apmw-slots{padding:21px 15px}.apmw-slot{min-height:58px!important}
}

@media(prefers-reduced-motion:reduce){.apmw-booker *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* ==========================================================
   v4.1.0 — responsive refinement pass
   Wider desktop product panel + legible mobile micro-type
   ========================================================== */

/* Desktop: make the session offer feel like part of the booking workspace */
@media (min-width:801px){
  .apmw-booker__shell{width:min(calc(100% - 80px),1100px)}
  .apmw-session-stage{min-height:410px;padding:42px 0 22px}
  .apmw-session-card{
    width:min(820px,100%);
    min-height:286px;
    padding:34px 36px 30px;
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(315px,.88fr);
    grid-template-areas:
      "eyebrow eyebrow"
      "title specs"
      "copy specs"
      "foot action";
    column-gap:54px;
    row-gap:0;
    align-items:start;
  }
  .apmw-session-card__eyebrow{grid-area:eyebrow;margin:0 0 18px;font-size:7.5px}
  .apmw-session-card h3{grid-area:title;font-size:clamp(44px,4.2vw,58px);line-height:.86;letter-spacing:-3.2px}
  .apmw-session-card__copy{grid-area:copy;max-width:330px;margin:14px 0 25px;font-size:11px;line-height:1.58}
  .apmw-session-specs{grid-area:specs;align-self:start;margin:1px 0 20px}
  .apmw-session-specs>div{min-height:43px}
  .apmw-session-specs dt,.apmw-session-specs dd{font-size:7.5px}
  .apmw-session-start{grid-area:action;align-self:end;min-height:54px}
  .apmw-session-card__foot{grid-area:foot;align-self:center;margin:0;text-align:left;font-size:6.2px;line-height:1.75}
}

/* Tablet / mobile: protect readability instead of shrinking the interface to death */
@media (max-width:800px){
  .apmw-booker{overflow:hidden}
  .apmw-session-card{display:block}
  .apmw-section-index{font-size:8px;line-height:1.4;letter-spacing:1.25px}
  .apmw-session-card__eyebrow{font-size:8px;line-height:1.5;letter-spacing:1.15px}
  .apmw-session-card__copy{max-width:34em;font-size:12px;line-height:1.6}
  .apmw-session-specs>div{min-height:42px;gap:18px}
  .apmw-session-specs dt,.apmw-session-specs dd{font-size:8.5px;line-height:1.35;letter-spacing:1px}
  .apmw-session-specs dt{white-space:nowrap}
  .apmw-session-specs dd{min-width:0;overflow-wrap:normal;word-break:normal}
  .apmw-price-tag{padding:5px 8px!important}
  .apmw-session-start{min-height:55px;font-size:9.5px!important}
  .apmw-session-card__foot{font-size:7.2px;line-height:1.65;letter-spacing:.85px}

  .apmw-workspace-head>div>span,.apmw-workspace-code{font-size:8px;line-height:1.45;letter-spacing:1.1px}
  .apmw-workspace-head strong{
    max-width:320px;
    font-size:clamp(27px,8vw,34px);
    line-height:.94;
    letter-spacing:-1.45px;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }

  .apmw-progress__item{min-width:0;min-height:72px;padding:10px 8px}
  .apmw-progress__item span{font-size:8px;line-height:1.2;margin-bottom:7px}
  .apmw-progress__item strong{
    font-size:7.2px;
    line-height:1.35;
    letter-spacing:.6px;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }

  .apmw-step__intro>span{font-size:8px;line-height:1.45;letter-spacing:1.05px}
  .apmw-step__intro h3{
    line-height:.91;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .apmw-step__intro p{font-size:12px;line-height:1.65}

  .apmw-field>span,.apmw-question legend{
    margin-bottom:14px;
    font-size:9px;
    line-height:1.5;
    letter-spacing:.8px;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .apmw-field small,.apmw-question small{font-size:7.5px;line-height:1.45;letter-spacing:.45px}
  .apmw-field input,.apmw-field select,.apmw-field textarea{font-size:14px}
  .apmw-choice span,.apmw-check-card span{font-size:12px;line-height:1.35}
  .apmw-choice span{min-height:50px}
  .apmw-check-card span{min-height:57px}

  .apmw-private-note span{font-size:8px;letter-spacing:.9px}
  .apmw-private-note p{font-size:11.5px;line-height:1.65}
  .apmw-consent{font-size:11px;line-height:1.6}
  .apmw-helper{font-size:10px;line-height:1.55}
  .apmw-next,.apmw-back,.apmw-continue{font-size:8.5px!important;letter-spacing:.9px!important}

  /* Fix the 50 / minutes / price block so it reads as a unit instead of colliding */
  .apmw-session-summary{
    width:100%;
    margin-top:28px;
    padding-top:22px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:end;
    gap:20px;
  }
  .apmw-session-summary>strong{font-size:68px;line-height:.72;letter-spacing:-4px}
  .apmw-session-summary>div{min-width:0;padding:0 0 1px}
  .apmw-session-summary span,.apmw-session-summary b{font-size:8px;line-height:1.45;letter-spacing:.8px}
  .apmw-session-summary b{margin-top:7px;white-space:normal}

  .apmw-calendar-head{padding-top:27px;padding-bottom:29px}
  .apmw-calendar-head>div>span{font-size:8px;line-height:1.4;letter-spacing:.9px}
  .apmw-calendar-head h4{
    max-width:310px;
    margin-top:12px;
    font-size:clamp(24px,7.5vw,30px);
    line-height:.94;
    letter-spacing:-1.2px;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .apmw-timezone{margin-top:16px!important;font-size:7.5px;line-height:1.4;letter-spacing:.8px;white-space:nowrap}
  .apmw-slots__empty{font-size:11px;line-height:1.55}
  .apmw-slot span{font-size:16px}
  .apmw-slot small{font-size:7.5px}
  .apmw-hold-message{font-size:10.5px}
}

@media (max-width:480px){
  .apmw-session-card{padding:28px 20px 25px}
  .apmw-session-card__eyebrow{font-size:8px}
  .apmw-session-card__foot{font-size:7px;letter-spacing:.65px}
  .apmw-session-specs dt,.apmw-session-specs dd{font-size:8.2px;letter-spacing:.7px}

  .apmw-progress__item{padding:10px 6px}
  .apmw-progress__item span{font-size:7.7px}
  .apmw-progress__item strong{font-size:6.9px;letter-spacing:.35px}

  .apmw-field>span,.apmw-question legend{font-size:8.8px;letter-spacing:.65px}
  .apmw-field small,.apmw-question small{font-size:7.3px}

  .apmw-session-summary{gap:17px}
  .apmw-session-summary>strong{font-size:64px}
  .apmw-session-summary span,.apmw-session-summary b{font-size:7.8px}

  .apmw-workspace-head strong{max-width:285px;font-size:clamp(26px,8vw,31px)}
  .apmw-calendar-head h4{max-width:285px;font-size:clamp(23px,7.1vw,28px)}
}

/* ==========================================================
   v4.2.0 — full-screen booking modal
   BOOK NOW opens the flow above the page instead of expanding it
   ========================================================== */
body.apmw-modal-open{
  overflow:hidden!important;
}

/* Progressive enhancement: without JS the flow remains in normal page flow. */
.apmw-booker.is-js .apmw-booking-workspace{
  position:fixed;
  inset:0;
  z-index:2147483000;
  margin:0;
  padding:66px 40px 70px;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  border:0;
  background:var(--apmw-bg);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  animation:none;
  transition:opacity .28s ease,visibility .28s ease;
}
.apmw-booker.is-js .apmw-booking-workspace:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.14;
  background-image:
    linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:64px 64px;
}
.apmw-booker.is-js:not(.is-booking) .apmw-booking-workspace{
  display:block;
}
.apmw-booker.is-js.is-booking .apmw-booking-workspace{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.apmw-workspace-panel{
  position:relative;
  z-index:1;
  width:min(1100px,100%);
  margin:0 auto;
  background:var(--apmw-panel);
  border:1px solid var(--apmw-line-strong);
  box-shadow:0 34px 90px rgba(0,0,0,.42);
  animation:apmwModalPanelIn .45s cubic-bezier(.2,.8,.2,1) both;
}
.apmw-booker:not(.is-booking) .apmw-workspace-panel{animation:none}
@keyframes apmwModalPanelIn{
  from{opacity:0;transform:translateY(22px) scale(.992)}
  to{opacity:1;transform:none}
}

.apmw-modal-close{
  position:fixed;
  z-index:2147483002;
  top:18px;
  right:22px;
  min-width:98px;
  height:36px;
  padding:0 10px 0 14px!important;
  border:1px solid rgba(241,240,235,.55)!important;
  background:#090909!important;
  color:var(--apmw-ink)!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  font-family:var(--apmw-mono)!important;
  font-size:7.5px!important;
  font-weight:500!important;
  line-height:1!important;
  letter-spacing:1.15px!important;
  text-transform:uppercase!important;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.apmw-modal-close b{
  display:block;
  margin-top:-2px;
  font-family:Arial,sans-serif;
  font-size:20px;
  font-weight:300;
  line-height:1;
}
.apmw-modal-close:hover{
  background:var(--apmw-paper)!important;
  color:#090909!important;
  border-color:var(--apmw-paper)!important;
}

/* The panel owns the border now; remove the old stacked-card outer borders. */
.apmw-booker.is-js .apmw-booking-workspace .apmw-workspace-head,
.apmw-booker.is-js .apmw-booking-workspace .apmw-progress,
.apmw-booker.is-js .apmw-booking-workspace .apmw-step{
  border-left:0;
  border-right:0;
}
.apmw-booker.is-js .apmw-booking-workspace .apmw-workspace-head{
  min-height:112px;
  padding:30px 32px 27px;
}
.apmw-booker.is-js .apmw-booking-workspace .apmw-workspace-head strong{
  font-size:clamp(27px,2.7vw,38px);
}

@media(max-width:800px){
  .apmw-booker.is-js .apmw-booking-workspace{
    padding:52px 0 0;
    background:#090909;
  }
  .apmw-workspace-panel{
    width:100%;
    min-height:calc(100dvh - 52px);
    margin:0;
    border-left:0;
    border-right:0;
    border-bottom:0;
    box-shadow:none;
  }
  .apmw-modal-close{
    top:9px;
    right:10px;
    min-width:92px;
    height:34px;
    font-size:7.5px!important;
  }
  .apmw-booker.is-js .apmw-booking-workspace .apmw-workspace-head{
    min-height:0;
    padding:24px 18px 22px;
  }
}

@media(max-width:480px){
  .apmw-booker.is-js .apmw-booking-workspace{padding-top:50px}
  .apmw-workspace-panel{min-height:calc(100dvh - 50px)}
  .apmw-modal-close{top:8px;right:8px}
}

@media(prefers-reduced-motion:reduce){
  .apmw-booker.is-js .apmw-booking-workspace,
  .apmw-workspace-panel{transition:none!important;animation:none!important}
}
.apmw-booker.is-booking{overflow:visible}


/* ==========================================================
   v4.3.0 — simplified split booking modal
   Clear desktop popup + reduced booking visual complexity
   ========================================================== */

.apmw-booker.is-js .apmw-booking-workspace{
  display:grid!important;
  place-items:center;
  padding:36px;
  background:rgba(4,4,4,.76);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.apmw-booker.is-js .apmw-booking-workspace:before{display:none}
.apmw-booker.is-js:not(.is-booking) .apmw-booking-workspace{
  display:grid!important;
}
.apmw-workspace-panel{
  width:min(1120px,calc(100vw - 72px));
  height:min(760px,calc(100dvh - 72px));
  max-height:760px;
  margin:0;
  display:grid;
  grid-template-columns:286px minmax(0,1fr);
  overflow:hidden;
  background:#0d0e0d;
  border:1px solid rgba(241,240,235,.34);
  box-shadow:0 38px 110px rgba(0,0,0,.62);
}
.apmw-modal-sidebar{
  position:relative;
  min-width:0;
  padding:32px 28px 26px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#0d0e0d;
  color:#f1f0eb;
  border-right:1px solid rgba(241,240,235,.14);
}
.apmw-modal-sidebar:after{
  content:"AM";
  position:absolute;
  left:17px;
  bottom:-38px;
  font-family:var(--apmw-heading);
  font-size:132px;
  line-height:1;
  letter-spacing:-10px;
  color:rgba(241,240,235,.025);
  pointer-events:none;
}
.apmw-modal-brand{position:relative;z-index:1}
.apmw-modal-brand>span{
  display:block;
  margin-bottom:13px;
  font-family:var(--apmw-mono);
  font-size:8px;
  line-height:1.4;
  letter-spacing:1.3px;
  text-transform:uppercase;
  color:#8d8e88;
}
.apmw-modal-brand h3{
  margin:0;
  font-family:var(--apmw-heading);
  font-size:34px;
  line-height:.91;
  letter-spacing:-2px;
  text-transform:uppercase;
  color:#f1f0eb;
}
.apmw-modal-brand p{
  max-width:220px;
  margin:16px 0 0;
  font-size:11px;
  line-height:1.58;
  color:#a6a7a1;
}
.apmw-modal-session-meta{
  position:relative;
  z-index:1;
  margin:30px 0 28px;
  border-top:1px solid rgba(241,240,235,.15);
}
.apmw-modal-session-meta>div{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid rgba(241,240,235,.12);
}
.apmw-modal-session-meta span,
.apmw-modal-session-meta strong{
  font-family:var(--apmw-mono);
  font-size:7.5px;
  line-height:1.3;
  letter-spacing:1px;
  text-transform:uppercase;
}
.apmw-modal-session-meta span{color:#777872}
.apmw-modal-session-meta strong{color:#f1f0eb;font-weight:500}
.apmw-modal-session-meta .amount{color:#f1f0eb!important}

.apmw-booking-workspace .apmw-progress{
  position:relative;
  z-index:1;
  margin:0;
  display:block;
  border:0!important;
  background:transparent;
}
.apmw-booking-workspace .apmw-progress__item{
  width:100%;
  min-height:46px;
  padding:0;
  border:0!important;
  background:transparent!important;
  color:#6f706b;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:10px;
  text-align:left;
}
.apmw-booking-workspace .apmw-progress__item span{
  margin:0;
  font-size:8px;
  color:inherit;
}
.apmw-booking-workspace .apmw-progress__item strong{
  position:relative;
  font-size:8px;
  letter-spacing:1px;
  color:inherit;
}
.apmw-booking-workspace .apmw-progress__item strong:before{
  content:"";
  position:absolute;
  left:-11px;
  top:50%;
  width:1px;
  height:0;
  background:#f1f0eb;
  transform:translateY(-50%);
  transition:height .2s ease;
}
.apmw-booking-workspace .apmw-progress__item.is-active,
.apmw-booking-workspace .apmw-progress__item.is-complete{
  color:#f1f0eb;
}
.apmw-booking-workspace .apmw-progress__item.is-active strong:before{height:18px}
.apmw-booking-workspace button.apmw-progress__item{cursor:pointer}
.apmw-modal-sidebar__foot{
  position:relative;
  z-index:1;
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid rgba(241,240,235,.14);
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
}
.apmw-modal-sidebar__foot span{
  font-family:var(--apmw-mono);
  font-size:6.6px;
  line-height:1.45;
  letter-spacing:.9px;
  text-transform:uppercase;
  color:#777872;
}

.apmw-modal-main{
  position:relative;
  min-width:0;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:#efeee8;
  color:#111210;
  scrollbar-width:thin;
  scrollbar-color:#b9b8b2 transparent;
}
.apmw-modal-main::-webkit-scrollbar{width:8px}
.apmw-modal-main::-webkit-scrollbar-track{background:transparent}
.apmw-modal-main::-webkit-scrollbar-thumb{background:#c3c2bc}
.apmw-booker.is-js .apmw-booking-workspace .apmw-workspace-head{
  position:sticky;
  top:0;
  z-index:5;
  min-height:96px;
  padding:24px 78px 22px 34px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  background:rgba(239,238,232,.96);
  border:0;
  border-bottom:1px solid #d5d4ce;
  -webkit-backdrop-filter:blur(9px);
  backdrop-filter:blur(9px);
}
.apmw-workspace-head>div>span,
.apmw-workspace-code{
  color:#777872;
  font-size:8px;
  letter-spacing:1.05px;
}
.apmw-booker.is-js .apmw-booking-workspace .apmw-workspace-head strong{
  margin-top:8px;
  max-width:none;
  font-size:clamp(28px,2.6vw,36px);
  line-height:.95;
  letter-spacing:-1.8px;
  color:#111210;
}
.apmw-workspace-code{color:#111210}

.apmw-modal-close{
  position:absolute!important;
  z-index:12;
  top:22px!important;
  right:24px!important;
  min-width:40px!important;
  width:40px;
  height:40px!important;
  padding:0!important;
  border:1px solid #c7c6c0!important;
  background:transparent!important;
  color:#111210!important;
  display:grid;
  place-items:center;
}
.apmw-modal-close span{display:none}
.apmw-modal-close b{
  margin:0;
  font-size:24px;
  line-height:1;
  color:inherit;
}
.apmw-modal-close:hover{
  border-color:#111210!important;
  background:#111210!important;
  color:#efeee8!important;
}

.apmw-booking-workspace .apmw-flow{background:#efeee8}
.apmw-booker.is-js .apmw-booking-workspace .apmw-step{
  display:block;
  border:0!important;
  background:#efeee8;
}
.apmw-booking-workspace .apmw-step[hidden]{display:none!important}
.apmw-booking-workspace .apmw-step__body{
  min-width:0;
  padding:0 34px 28px;
  background:#efeee8;
  color:#111210;
}
.apmw-simple-intro{
  padding:32px 0 25px;
  border-bottom:1px solid #d5d4ce;
}
.apmw-simple-intro>span{
  display:block;
  margin-bottom:10px;
  font-family:var(--apmw-mono);
  font-size:8px;
  line-height:1.4;
  letter-spacing:1px;
  text-transform:uppercase;
  color:#777872;
}
.apmw-simple-intro h3{
  margin:0;
  font-family:var(--apmw-heading);
  font-size:clamp(32px,3.3vw,46px);
  line-height:.92;
  letter-spacing:-2.4px;
  text-transform:uppercase;
  color:#111210;
}
.apmw-simple-intro p{
  max-width:620px;
  margin:12px 0 0;
  font-size:13px;
  line-height:1.58;
  color:#62635f;
}
.apmw-simple-intro--time{
  position:relative;
  padding-right:180px;
}
.apmw-simple-intro--time .apmw-timezone{
  position:absolute;
  right:0;
  bottom:27px;
  margin:0!important;
  font-size:7.5px;
  color:#777872;
}

.apmw-booking-workspace .apmw-fields{
  gap:14px;
  margin-top:22px;
}
.apmw-booking-workspace .apmw-fields--2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.apmw-booking-workspace .apmw-field{
  padding:0;
  border:0;
  min-width:0;
}
.apmw-booking-workspace .apmw-fields--2>.apmw-field:nth-child(odd){border-right:0}
.apmw-booking-workspace .apmw-field>span,
.apmw-booking-workspace .apmw-question legend{
  margin-bottom:8px;
  color:#111210;
  font-size:8px;
  line-height:1.45;
  letter-spacing:.9px;
}
.apmw-booking-workspace .apmw-field small,
.apmw-booking-workspace .apmw-question small{
  font-size:7px;
  color:#858680;
}
.apmw-booking-workspace .apmw-field input,
.apmw-booking-workspace .apmw-field select,
.apmw-booking-workspace .apmw-field textarea{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border:1px solid #d2d1cb;
  background:#f7f6f2;
  color:#111210;
  font-size:13px;
  box-shadow:none;
}
.apmw-booking-workspace .apmw-field textarea{
  min-height:118px;
  resize:vertical;
}
.apmw-booking-workspace .apmw-field select{
  background-color:#f7f6f2;
  background-image:
    linear-gradient(45deg,transparent 50%,#111210 50%),
    linear-gradient(135deg,#111210 50%,transparent 50%);
}
.apmw-booking-workspace .apmw-field select option{
  background:#f7f6f2;
  color:#111210;
}
.apmw-booking-workspace .apmw-field input:focus,
.apmw-booking-workspace .apmw-field select:focus,
.apmw-booking-workspace .apmw-field textarea:focus{
  border-color:#111210;
}
.apmw-booking-workspace .apmw-field input::placeholder,
.apmw-booking-workspace .apmw-field textarea::placeholder{
  color:#989993;
}
.apmw-booking-workspace .apmw-field.is-invalid input,
.apmw-booking-workspace .apmw-field.is-invalid textarea,
.apmw-booking-workspace .apmw-field input.is-invalid,
.apmw-booking-workspace .apmw-field textarea.is-invalid{
  border-color:#a24f3d;
  background:#fff8f6;
}
.apmw-booking-workspace .apmw-field--primary{
  margin-top:22px;
}
.apmw-booking-workspace .apmw-field--primary textarea{min-height:132px}

.apmw-booking-workspace .apmw-question{
  margin:22px 0 0;
  padding:0;
  border:0;
}
.apmw-booking-workspace .apmw-choice-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.apmw-booking-workspace .apmw-choice span,
.apmw-booking-workspace .apmw-check-card span{
  min-height:46px;
  padding:0 12px;
  border:1px solid #d2d1cb;
  background:#f7f6f2;
  color:#555651;
  font-size:11px;
}
.apmw-booking-workspace .apmw-choice span:before{
  border-color:#9a9b95;
}
.apmw-booking-workspace .apmw-choice input:checked+span,
.apmw-booking-workspace .apmw-check-card input:checked+span{
  border-color:#111210;
  background:#111210;
  color:#efeee8;
}
.apmw-booking-workspace .apmw-choice input:checked+span:before{
  border-color:#efeee8;
  background:#111210;
  box-shadow:inset 0 0 0 3px #111210;
}
.apmw-booking-workspace .apmw-check-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.apmw-booking-workspace .apmw-check-card span:before{border-color:#9a9b95}
.apmw-booking-workspace .apmw-check-card input:checked+span:before{
  background:#efeee8;
  border-color:#efeee8;
  box-shadow:inset 0 0 0 4px #111210;
}
.apmw-booking-workspace .apmw-question.is-invalid{background:transparent}
.apmw-booking-workspace .apmw-question.is-invalid legend{color:#9b3f2f}

.apmw-optional-details{
  margin:22px 0 0;
  border:1px solid #d2d1cb;
  background:#f4f3ee;
}
.apmw-optional-details summary{
  min-height:54px;
  padding:0 16px;
  list-style:none;
  display:grid;
  grid-template-columns:auto auto 1fr;
  align-items:center;
  gap:10px;
  cursor:pointer;
  user-select:none;
}
.apmw-optional-details summary::-webkit-details-marker{display:none}
.apmw-optional-details summary>span{
  font-family:var(--apmw-mono);
  font-size:8px;
  font-weight:600;
  letter-spacing:.85px;
  text-transform:uppercase;
  color:#111210;
}
.apmw-optional-details summary small{
  font-family:var(--apmw-mono);
  font-size:7px;
  letter-spacing:.7px;
  text-transform:uppercase;
  color:#858680;
}
.apmw-optional-details summary b{
  justify-self:end;
  font-size:20px;
  font-weight:400;
  line-height:1;
  transition:transform .2s ease;
}
.apmw-optional-details[open] summary b{transform:rotate(45deg)}
.apmw-optional-details__body{
  padding:0 16px 18px;
  border-top:1px solid #d2d1cb;
}
.apmw-optional-details__body .apmw-question{margin-top:18px}
.apmw-optional-details__body .apmw-fields{margin-top:18px}

.apmw-booking-workspace .apmw-private-note{
  margin-top:22px;
  padding:14px 16px;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:14px;
  border:1px solid #d2d1cb;
  background:#e7e6e0;
}
.apmw-booking-workspace .apmw-private-note span{
  color:#111210;
  font-size:7.5px;
}
.apmw-booking-workspace .apmw-private-note p{
  color:#666762;
  font-size:10.5px;
  line-height:1.55;
}
.apmw-booking-workspace .apmw-consent{
  margin-top:14px;
  padding:0;
  border:0;
  color:#555651;
  font-size:10.5px;
}
.apmw-booking-workspace .apmw-consent input{
  border-color:#a8a9a3;
  background:#f7f6f2;
}
.apmw-booking-workspace .apmw-consent input:checked{
  background:#111210;
  box-shadow:inset 0 0 0 4px #efeee8;
}
.apmw-booking-workspace .apmw-consent.is-invalid{background:transparent;color:#9b3f2f}

.apmw-booking-workspace .apmw-step__actions{
  min-height:0;
  margin-top:24px;
  padding:20px 0 0;
  border-top:1px solid #d5d4ce;
  background:transparent;
}
.apmw-booking-workspace .apmw-helper{
  color:#777872;
  font-size:10px;
}
.apmw-booking-workspace .apmw-next,
.apmw-booking-workspace .apmw-back,
.apmw-booking-workspace .apmw-continue{
  min-height:48px;
  padding:0 18px;
  border:1px solid #111210!important;
  font-size:8px!important;
  letter-spacing:.95px!important;
}
.apmw-booking-workspace .apmw-next,
.apmw-booking-workspace .apmw-continue{
  min-width:190px;
  background:#111210!important;
  color:#efeee8!important;
}
.apmw-booking-workspace .apmw-next:hover,
.apmw-booking-workspace .apmw-continue:hover:not(:disabled){
  background:#efeee8!important;
  color:#111210!important;
  transform:none;
}
.apmw-booking-workspace .apmw-back{
  min-width:92px;
  border-color:#bebdb7!important;
  background:transparent!important;
  color:#555651!important;
}
.apmw-booking-workspace .apmw-back:hover{
  border-color:#111210!important;
  background:#111210!important;
  color:#efeee8!important;
}

.apmw-booking-workspace .apmw-field--date{
  margin-top:22px;
  max-width:380px;
}
.apmw-booking-workspace .apmw-field--date input{
  max-width:none;
  min-height:52px;
  color-scheme:light;
  background:#f7f6f2;
  color:#111210;
}
.apmw-booking-workspace .apmw-slots{
  margin-top:18px;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  border:0;
}
.apmw-booking-workspace .apmw-slot{
  min-height:60px!important;
  padding:10px 12px!important;
  border:1px solid #d2d1cb!important;
  background:#f7f6f2!important;
  color:#111210!important;
}
.apmw-booking-workspace .apmw-slot span{font-size:15px}
.apmw-booking-workspace .apmw-slot small{color:#858680;font-size:7px}
.apmw-booking-workspace .apmw-slot:hover{border-color:#111210!important}
.apmw-booking-workspace .apmw-slot.is-active{
  background:#111210!important;
  border-color:#111210!important;
  color:#efeee8!important;
}
.apmw-booking-workspace .apmw-slot.is-active small{color:#b8b8b2}
.apmw-booking-workspace .apmw-slots__empty{
  padding:18px;
  border:1px solid #d2d1cb;
  background:#f7f6f2;
  color:#777872;
  font-size:11px;
}
.apmw-booking-workspace .apmw-step__actions--checkout>div{
  display:flex;
  align-items:center;
  gap:16px;
}
.apmw-booking-workspace .apmw-hold-message{
  color:#777872;
  font-size:10px;
}

@media(max-width:980px) and (min-width:801px){
  .apmw-workspace-panel{
    grid-template-columns:245px minmax(0,1fr);
    width:calc(100vw - 44px);
    height:calc(100dvh - 44px);
  }
  .apmw-modal-sidebar{padding:26px 22px 22px}
  .apmw-modal-brand h3{font-size:30px}
  .apmw-booking-workspace .apmw-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Mobile keeps the strong dark identity but uses the same simpler flow. */
@media(max-width:800px){
  .apmw-booker.is-js .apmw-booking-workspace{
    display:block!important;
    padding:0;
    background:#090909;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .apmw-workspace-panel{
    width:100%;
    height:auto;
    min-height:100dvh;
    max-height:none;
    display:block;
    overflow:visible;
    border:0;
    box-shadow:none;
    background:#0d0e0d;
  }
  .apmw-modal-sidebar{
    min-height:0;
    padding:20px 18px 0;
    display:block;
    border-right:0;
    border-bottom:1px solid rgba(241,240,235,.14);
  }
  .apmw-modal-sidebar:after{display:none}
  .apmw-modal-brand p,
  .apmw-modal-session-meta,
  .apmw-modal-sidebar__foot{display:none}
  .apmw-modal-brand>span{margin-bottom:8px;font-size:7.5px}
  .apmw-modal-brand h3{font-size:28px;letter-spacing:-1.5px}
  .apmw-booking-workspace .apmw-progress{
    margin-top:18px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .apmw-booking-workspace .apmw-progress__item{
    min-height:54px;
    padding:0 7px;
    display:block;
    border-top:1px solid rgba(241,240,235,.12)!important;
    border-right:1px solid rgba(241,240,235,.12)!important;
  }
  .apmw-booking-workspace .apmw-progress__item:last-child{border-right:0!important}
  .apmw-booking-workspace .apmw-progress__item span{display:block;margin:10px 0 5px;font-size:7.5px}
  .apmw-booking-workspace .apmw-progress__item strong{font-size:6.8px;letter-spacing:.55px}
  .apmw-booking-workspace .apmw-progress__item strong:before{display:none}
  .apmw-booking-workspace .apmw-progress__item.is-active{
    background:#efeee8!important;
    color:#111210;
  }
  .apmw-modal-main{
    min-height:calc(100dvh - 122px);
    overflow:visible;
    background:#efeee8;
  }
  .apmw-booker.is-js .apmw-booking-workspace .apmw-workspace-head{
    position:relative;
    min-height:0;
    padding:20px 62px 18px 18px;
  }
  .apmw-workspace-code{display:none}
  .apmw-booker.is-js .apmw-booking-workspace .apmw-workspace-head strong{
    font-size:27px;
  }
  .apmw-modal-close{
    position:absolute!important;
    top:14px!important;
    right:14px!important;
    width:36px;
    min-width:36px!important;
    height:36px!important;
  }
  .apmw-booking-workspace .apmw-step__body{padding:0 18px 26px}
  .apmw-simple-intro{padding:24px 0 20px}
  .apmw-simple-intro h3{font-size:clamp(28px,8.8vw,38px);letter-spacing:-1.9px}
  .apmw-simple-intro p{font-size:12px}
  .apmw-simple-intro--time{padding-right:0}
  .apmw-simple-intro--time .apmw-timezone{
    position:static;
    margin-top:12px!important;
    font-size:7.5px;
  }
  .apmw-booking-workspace .apmw-fields--2{grid-template-columns:1fr}
  .apmw-booking-workspace .apmw-fields{gap:14px}
  .apmw-booking-workspace .apmw-field,
  .apmw-booking-workspace .apmw-question{padding:0}
  .apmw-booking-workspace .apmw-field>span,
  .apmw-booking-workspace .apmw-question legend{font-size:8.5px}
  .apmw-booking-workspace .apmw-field input,
  .apmw-booking-workspace .apmw-field select,
  .apmw-booking-workspace .apmw-field textarea{font-size:14px}
  .apmw-booking-workspace .apmw-choice-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .apmw-booking-workspace .apmw-check-grid{grid-template-columns:1fr}
  .apmw-booking-workspace .apmw-choice span,
  .apmw-booking-workspace .apmw-check-card span{font-size:12px}
  .apmw-booking-workspace .apmw-private-note{grid-template-columns:58px minmax(0,1fr)}
  .apmw-booking-workspace .apmw-step__actions{display:flex;padding:18px 0 0}
  .apmw-booking-workspace .apmw-next{width:auto;min-width:165px}
  .apmw-booking-workspace .apmw-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
  .apmw-booking-workspace .apmw-step__actions--checkout{display:flex}
  .apmw-booking-workspace .apmw-step__actions--checkout>.apmw-back{margin-bottom:0}
  .apmw-booking-workspace .apmw-step__actions--checkout>div{display:flex}
  .apmw-booking-workspace .apmw-continue{width:auto}
}

@media(max-width:520px){
  .apmw-booking-workspace .apmw-choice-row{grid-template-columns:1fr}
  .apmw-booking-workspace .apmw-step__actions{
    align-items:stretch;
    gap:10px;
  }
  .apmw-booking-workspace .apmw-step__actions .apmw-helper{width:100%}
  .apmw-booking-workspace .apmw-next{width:100%}
  .apmw-booking-workspace .apmw-step__actions--checkout{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
  }
  .apmw-booking-workspace .apmw-step__actions--checkout>div{display:block}
  .apmw-booking-workspace .apmw-hold-message{margin:0 0 9px;text-align:left;max-width:none}
  .apmw-booking-workspace .apmw-continue{width:100%}
}



/* ==========================================================
   v4.3.1 — preferred contact method control repair
   Replaces the native select with theme-safe radio tiles.
   ========================================================== */
.apmw-booking-workspace .apmw-contact-method{
  margin:0;
  padding:0;
  border:0;
  min-width:0;
}
.apmw-booking-workspace .apmw-contact-method>legend{
  display:block;
  width:100%;
  margin:0 0 8px;
  padding:0;
  color:#111210;
  font-family:var(--apmw-mono);
  font-size:8px;
  font-weight:500;
  line-height:1.45;
  letter-spacing:.9px;
  text-transform:uppercase;
}
.apmw-booking-workspace .apmw-contact-method>legend small{
  margin-left:3px;
  color:#858680;
  font-size:7px;
  font-weight:500;
}
.apmw-contact-method__choices{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.apmw-contact-choice{
  position:relative;
  display:block;
  min-width:0;
  cursor:pointer;
}
.apmw-contact-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.apmw-contact-choice span{
  min-height:48px;
  padding:0 13px;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #d2d1cb;
  background:#f7f6f2;
  color:#555651;
  font-size:11px;
  line-height:1.3;
  transition:border-color .18s ease,background .18s ease,color .18s ease;
}
.apmw-contact-choice span:before{
  content:"";
  width:13px;
  height:13px;
  flex:0 0 13px;
  border:1px solid #9a9b95;
  border-radius:50%;
  background:transparent;
}
.apmw-contact-choice:hover span{
  border-color:#777872;
}
.apmw-contact-choice input:checked+span{
  border-color:#111210;
  background:#111210;
  color:#efeee8;
}
.apmw-contact-choice input:checked+span:before{
  border:4px solid #efeee8;
  background:#111210;
}
.apmw-contact-choice input:focus-visible+span{
  outline:1px solid #111210;
  outline-offset:3px;
}
@media(max-width:800px){
  .apmw-booking-workspace .apmw-contact-method>legend{font-size:8.5px}
  .apmw-contact-method__choices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .apmw-contact-choice span{min-height:50px;font-size:12px;padding:0 12px}
}
@media(max-width:420px){
  .apmw-contact-method__choices{grid-template-columns:1fr}
}


/* ==========================================================
   v4.3.2 — stronger desktop session panel + unified mobile modal
   Layout-only refinement. Booking logic is unchanged.
   ========================================================== */

/* Desktop: let the offer panel properly occupy the section instead of
   floating as a small card inside a large empty stage. */
@media (min-width:801px){
  .apmw-booker__shell{
    width:min(calc(100% - 72px),1120px);
  }
  .apmw-session-stage{
    min-height:470px;
    padding:38px 0 28px;
    display:grid;
    place-items:start center;
  }
  .apmw-session-card{
    width:min(980px,100%);
    min-height:360px;
    padding:48px 46px 42px;
    grid-template-columns:minmax(0,1.08fr) minmax(355px,.92fr);
    grid-template-areas:
      "eyebrow eyebrow"
      "title specs"
      "copy specs"
      "foot action";
    column-gap:72px;
  }
  .apmw-session-card__eyebrow{
    margin-bottom:24px;
    font-size:8px;
  }
  .apmw-session-card h3{
    font-size:clamp(52px,4.7vw,66px);
    line-height:.87;
    letter-spacing:-3.5px;
  }
  .apmw-session-card__copy{
    max-width:390px;
    margin:17px 0 30px;
    font-size:13px;
    line-height:1.58;
  }
  .apmw-session-specs{
    margin:2px 0 24px;
  }
  .apmw-session-specs>div{
    min-height:48px;
  }
  .apmw-session-specs dt,
  .apmw-session-specs dd{
    font-size:8px;
  }
  .apmw-session-start{
    min-height:60px;
    font-size:9.5px!important;
  }
  .apmw-session-card__foot{
    max-width:390px;
    font-size:7px;
    line-height:1.7;
  }
}

/* Mobile: one continuous light booking surface from the top of the modal
   through the form. The dark sidebar treatment is desktop-only. */
@media (max-width:800px){
  .apmw-booker.is-js .apmw-booking-workspace{
    background:#efeee8;
  }

  .apmw-workspace-panel{
    background:#efeee8;
    color:#111210;
  }

  .apmw-modal-sidebar{
    padding:18px 20px 0;
    background:#efeee8;
    color:#111210;
    border-bottom:1px solid #d5d4ce;
  }
  .apmw-modal-brand>span{
    margin-bottom:7px;
    color:#777872;
  }
  .apmw-modal-brand h3{
    color:#111210;
    font-size:30px;
    line-height:.92;
    letter-spacing:-1.65px;
  }

  .apmw-booking-workspace .apmw-progress{
    margin:17px -20px 0;
    border-top:1px solid #d5d4ce!important;
    border-bottom:0!important;
    background:#efeee8;
  }
  .apmw-booking-workspace .apmw-progress__item{
    min-height:62px;
    padding:0 8px;
    color:#777872;
    background:#efeee8!important;
    border-top:0!important;
    border-right:1px solid #d5d4ce!important;
  }
  .apmw-booking-workspace .apmw-progress__item:last-child{
    border-right:0!important;
  }
  .apmw-booking-workspace .apmw-progress__item span{
    color:inherit;
    font-size:8px;
  }
  .apmw-booking-workspace .apmw-progress__item strong{
    color:inherit;
    font-size:7px;
  }
  .apmw-booking-workspace .apmw-progress__item.is-active{
    background:#deddd7!important;
    color:#111210;
  }
  .apmw-booking-workspace .apmw-progress__item.is-complete{
    background:#e7e6e0!important;
    color:#111210;
  }

  .apmw-modal-main{
    min-height:0;
    background:#efeee8;
    color:#111210;
  }

  /* Strip the duplicate giant title out of the sticky mobile top bar.
     Step title remains directly below as the real content heading. */
  .apmw-booker.is-js .apmw-booking-workspace .apmw-workspace-head{
    min-height:56px;
    padding:17px 58px 14px 20px;
    align-items:center;
    background:#efeee8;
    border-bottom:1px solid #d5d4ce;
  }
  .apmw-booker.is-js .apmw-booking-workspace .apmw-workspace-head>div>span{
    margin:0;
    color:#777872;
    font-size:8px;
  }
  .apmw-booker.is-js .apmw-booking-workspace .apmw-workspace-head strong{
    display:none;
  }
  .apmw-workspace-code{
    display:none!important;
  }
  .apmw-modal-close{
    top:10px!important;
    right:14px!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    border-color:#c7c6c0!important;
    background:#efeee8!important;
    color:#111210!important;
  }
  .apmw-modal-close:hover{
    background:#111210!important;
    color:#efeee8!important;
    border-color:#111210!important;
  }

  .apmw-booking-workspace .apmw-flow,
  .apmw-booker.is-js .apmw-booking-workspace .apmw-step,
  .apmw-booking-workspace .apmw-step__body{
    background:#efeee8;
  }
  .apmw-booking-workspace .apmw-step__body{
    padding:0 20px 28px;
  }
  .apmw-simple-intro{
    padding:26px 0 21px;
  }
}

@media (max-width:480px){
  .apmw-modal-sidebar{
    padding-left:18px;
    padding-right:18px;
  }
  .apmw-booking-workspace .apmw-progress{
    margin-left:-18px;
    margin-right:-18px;
  }
  .apmw-booking-workspace .apmw-step__body{
    padding-left:18px;
    padding-right:18px;
  }
}


/* ==========================================================
   v4.3.3 — desktop popup duplicate-title cleanup
   Mobile layout from v4.3.2 remains unchanged.
   ========================================================== */
@media (min-width:801px){
  .apmw-booker.is-js .apmw-booking-workspace .apmw-workspace-head{
    min-height:64px;
    padding:17px 76px 15px 32px;
    align-items:center;
  }

  .apmw-booker.is-js .apmw-booking-workspace .apmw-workspace-head>div>span{
    margin:0;
  }

  .apmw-booker.is-js .apmw-booking-workspace .apmw-workspace-head strong{
    display:none!important;
  }

  .apmw-workspace-code{
    align-self:center;
    margin:0;
  }

  .apmw-modal-close{
    top:12px!important;
  }
}


/* ==========================================================
   v4.3.4 — mobile modal must sit above the global site header
   The Alex header is a fixed viewport layer. While booking is
   open on mobile, temporarily hide that layer and force the
   booking workspace to the maximum UI stack. It returns as
   soon as the modal closes because body loses apmw-modal-open.
   ========================================================== */
@media (max-width:800px){
  body.apmw-modal-open .ahe-header{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-100%)!important;
  }

  body.apmw-modal-open .apmw-booking-workspace,
  .apmw-booker.is-js.is-booking .apmw-booking-workspace{
    z-index:2147483647!important;
  }

  body.apmw-modal-open .apmw-modal-close{
    z-index:2147483647!important;
  }
}


/* Showcase integration: the card itself is the launcher, so only the
   production modal/workspace is exposed inside the demo. */
.sis-exact-alex:not(.is-open){display:none!important}
.sis-exact-alex.is-open{display:block!important}
.sis-exact-demo[aria-hidden="true"]{pointer-events:none!important}
.sis-exact-demo[aria-hidden="false"]{pointer-events:auto!important}

/* Prevent production launchers/contact-page elements from being created
   in the replica. The modal markup itself remains unchanged in appearance. */
.sis-exact-city-tyres .ctbs-fab,
.sis-exact-city-home .chb-booking-launcher{display:none!important}

/* The three replicas are demos: keep original visual treatment while the
   surrounding showcase owns the page scroll lock. */
body.sis-demo-open{overflow:hidden!important}

/* On the Alex replica the source stylesheet expects its own body lock class;
   the showcase already performs that job. */
.sis-exact-alex .apmw-booking-workspace{overscroll-behavior:contain}

/* Small-screen stacking remains sourced from each production stylesheet. */

/* =========================================================
   v1.8.1 — SHOWCASE LAYOUT SAFETY GUARD
   Keep the homepage showcase grid isolated from exact demo skins.
========================================================= */
.sis-section{display:block!important;width:100%!important;max-width:none!important;position:relative!important;padding:92px 0 100px!important;background:#fff!important;overflow:hidden!important}
.sis-section>.sis-wrap{display:block!important;width:min(1380px,calc(100% - 48px))!important;max-width:1380px!important;margin:0 auto!important;padding:0!important}
.sis-section .sis-heading-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,.38fr)!important;gap:72px!important;align-items:end!important;margin:0 0 34px!important}
.sis-section .sis-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;width:100%!important;margin:0!important;padding:0!important}
.sis-section .sis-card{display:block!important;min-width:0!important;width:auto!important;margin:0!important;border:1px solid var(--line)!important;background:#fff!important;overflow:hidden!important}
.sis-section .sis-card-preview{position:relative!important;display:block!important;width:100%!important;height:210px!important;min-height:0!important;max-height:210px!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}
.sis-section .sis-card-cover-wrap{position:absolute!important;inset:0!important;display:block!important}
.sis-section .sis-card-cover-img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;margin:0!important}
.sis-section .sis-card-body{display:flex!important;min-height:166px!important;padding:22px!important;flex-direction:column!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important;background:#fff!important}
.sis-section .sis-card-body h3{margin:0 0 8px!important}
.sis-section .sis-card-body p{margin:0!important}
@media(max-width:1180px){
  .sis-section .sis-heading-row{grid-template-columns:1fr!important;gap:20px!important}
  .sis-section .sis-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .sis-section .sis-card-preview{height:250px!important;max-height:250px!important}
}
@media(max-width:700px){
  .sis-section{padding:68px 0 76px!important}
  .sis-section>.sis-wrap{width:calc(100% - 32px)!important}
  .sis-section .sis-grid{grid-template-columns:1fr!important}
  .sis-section .sis-card-preview{height:220px!important;max-height:220px!important}
  .sis-section .sis-card-body{min-height:0!important;padding:21px!important}
}
\n\n/* =========================================================
   v1.8.3 — CITY TYRES TYPOGRAPHY MATCH
   The original City Tyres site serves Bebas Neue locally. On the SkyInk
   showcase domain that old @font-face URL can be rejected cross-origin,
   causing a wide fallback font and oversized/wrapped headings. Use the
   CORS-safe Bebas Neue enqueue and tune desktop type to the production modal.
========================================================= */
.sis-exact-city-tyres .ctbs-stepnum,
.sis-exact-city-tyres .ctbs-side h2,
.sis-exact-city-tyres .ctbs-side-summary strong,
.sis-exact-city-tyres .ctbs-step h3,
.sis-exact-city-tyres .ctbs-success h3,
.sis-exact-city-tyres .ctbs-service strong,
.sis-exact-city-tyres .ctbs-product-context strong,
.sis-exact-city-tyres .ctbs-price-context strong{
  font-family:"Bebas Neue",CTBSBebas,"Arial Narrow",Impact,sans-serif!important;
  font-weight:400!important;
}
@media (min-width:901px){
  .sis-exact-city-tyres .ctbs-side h2{
    font-size:68px!important;
    line-height:.90!important;
    max-width:300px!important;
  }
  .sis-exact-city-tyres .ctbs-step h3,
  .sis-exact-city-tyres .ctbs-success h3{
    font-size:56px!important;
    line-height:.94!important;
  }
  .sis-exact-city-tyres .ctbs-service strong{
    font-size:21px!important;
    line-height:1.03!important;
  }
  .sis-exact-city-tyres .ctbs-side-summary strong{
    font-size:24px!important;
  }
}


/* =========================================================
   v1.8.5 — SKYINK HOMEPAGE TYPE SCALE CONSISTENCY
   Homepage showcase presentation only.
   Interactive demo interfaces are intentionally untouched.
========================================================= */

/* Match Selected Work / performance section hierarchy */
.sis-section .sis-kicker {
  margin-bottom: 18px !important;
  font-family: inherit !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
}

.sis-section .sis-kicker span {
  width: 22px !important;
}

.sis-section .sis-heading-row h2 {
  max-width: 780px !important;
  margin: 0 !important;
  font-family: inherit !important;
  font-size: clamp(50px, 5.4vw, 84px) !important;
  line-height: .97 !important;
  font-weight: 600 !important;
  letter-spacing: -.06em !important;
}

.sis-section .sis-intro {
  max-width: 430px !important;
  margin: 0 !important;
  font-family: inherit !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* Card typography now uses the same title/body scale as Selected Work */
.sis-section .sis-card-kicker {
  margin-bottom: 9px !important;
  font-family: inherit !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
}

.sis-section .sis-card-body h3 {
  margin: 0 0 10px !important;
  font-family: inherit !important;
  font-size: clamp(24px, 1.75vw, 34px) !important;
  line-height: 1.02 !important;
  font-weight: 600 !important;
  letter-spacing: -.045em !important;
}

.sis-section .sis-card-body p {
  max-width: 100% !important;
  margin: 0 !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.sis-section .sis-link-btn {
  font-family: inherit !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: .13em !important;
}

@media (max-width: 1180px) {
  .sis-section .sis-heading-row h2 {
    font-size: clamp(46px, 7vw, 68px) !important;
  }

  .sis-section .sis-card-body h3 {
    font-size: 28px !important;
  }
}

@media (max-width: 700px) {
  .sis-section {
    padding-top: 54px !important;
    padding-bottom: 48px !important;
  }

  .sis-section .sis-heading-row {
    gap: 14px !important;
    margin-bottom: 26px !important;
  }

  .sis-section .sis-kicker {
    margin-bottom: 12px !important;
    font-size: 9px !important;
    letter-spacing: .15em !important;
  }

  .sis-section .sis-heading-row h2 {
    max-width: 100% !important;
    font-size: 38px !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
  }

  .sis-section .sis-intro {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .sis-section .sis-card-kicker {
    margin-bottom: 7px !important;
    font-size: 8px !important;
    line-height: 1.2 !important;
    letter-spacing: .12em !important;
  }

  .sis-section .sis-card-body h3 {
    margin-bottom: 8px !important;
    font-size: 23px !important;
    line-height: 1.02 !important;
    letter-spacing: -.035em !important;
  }

  .sis-section .sis-card-body p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .sis-section .sis-link-btn {
    font-size: 9px !important;
    letter-spacing: .11em !important;
  }
}
