/* Checkup Auto · premium layer
 *
 * The website wears the iPhone app's design: the palette of CheckupTheme, the 24 / 16 / 14 radii,
 * one soft depth, serif titles over tracked mono eyebrows, and buttons that shrink under the finger
 * and spring back (CheckupPressButtonStyle in PremiumUI.swift).
 *
 * It loads after each page's own CSS and /assets/action-controls.css and only restyles: no markup,
 * copy or behaviour depends on it, and the approved lavis artwork is never touched. Rules that must
 * outrank a page's own selectors end in :not(#cu); !important appears only to beat an existing
 * !important and so that a pressed control always shrinks, whatever lift it had on hover. Reduced motion removes every transform and animation. The sheet references nothing
 * external (no images, fonts or imports): the isolated preview exporter refuses any. */

/* 0 · Tokens: the same values as CheckupTheme / PremiumUI.swift, under the names the pages already use. */
:root{
 color-scheme:light;
 --cu-paper:#f6f7f1;--cu-ink:#1d3c2f;--cu-muted:#637369;--cu-accent:#1f5442;--cu-accent-hi:#2b6a54;--cu-accent-deep:#16402f;--cu-soft:#e8f0e8;
 --cu-line:rgba(29,60,47,.10);--cu-brass:#b89145;--cu-warning:#cc7a14;--cu-danger:#bd2e26;
 --cu-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
 --cu-shadow:0 10px 28px -8px rgba(18,41,31,.14),0 1px 2px rgba(18,41,31,.05);
 --cu-shadow-lift:0 22px 46px -16px rgba(18,41,31,.26),0 2px 5px rgba(18,41,31,.07);
 --cu-spring:cubic-bezier(.34,1.56,.64,1);--cu-ease:cubic-bezier(.22,.8,.24,1);
 --paper:var(--cu-paper);--ink:var(--cu-ink);--muted:var(--cu-muted);--green:var(--cu-accent);--soft:var(--cu-soft);--line:var(--cu-line);
}

/* 1 · Page */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body:not(.premium-home){background:radial-gradient(1100px 460px at 50% -190px,rgba(31,84,66,.12),transparent 72%),var(--cu-paper)}
body:not(.premium-home) h1{text-wrap:balance}
::selection{background:rgba(31,84,66,.18)}
body :is(.eyebrow,.directions-kicker,.bj-eyebrow):not(#cu){display:flex;width:fit-content;max-width:100%;align-items:center;gap:9px;font:600 11px/1.4 var(--cu-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--cu-accent)}
body :is(.eyebrow,.directions-kicker,.bj-eyebrow):not(#cu)::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--cu-brass)}

/* 2 · Buttons: filled primary, tinted secondary, tinted danger, one press feel. */
body :where(.action-button,.top>a:not(.brand),.top-actions>a,.top-actions button,.actions>a,.actions>button,.report-actions>a,.report-actions>button,.report-item button,.vehicle-actions>a,.vehicle-actions>button,.vehicles-head>.cta,.feedback-card .cta,.identity a,.back,.download,.sso,.mobile-nav-links>a,.offer-banner a,.cards article>a,.booking-call-only>a,.book,a.primary,button.primary,.planner-refresh,form>button[type=submit]:not([class]),#contact-submit):not(#cu){
 --cu-b-bg:var(--cu-soft);--cu-b-hover:#dbe9de;--cu-b-press:#cde0d3;--cu-b-ink:var(--cu-accent);--cu-b-line:rgba(31,84,66,.16);
 --cu-b-shadow:none;--cu-b-lift:0 10px 22px -12px rgba(18,41,31,.35);--cu-b-down:none;
 position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;min-width:44px;max-width:100%;box-sizing:border-box;padding:12px 20px;
 border:1px solid var(--cu-b-line);border-radius:16px;background:var(--cu-b-bg);background-image:none;color:var(--cu-b-ink);
 font:700 15px/1.3 Arial,Helvetica,sans-serif;letter-spacing:0;text-align:center;text-decoration:none;white-space:normal;
 box-shadow:var(--cu-b-shadow);cursor:pointer;-webkit-tap-highlight-color:transparent;
 transition:transform .55s var(--cu-spring),background-color .2s var(--cu-ease),border-color .2s var(--cu-ease),box-shadow .25s var(--cu-ease),filter .2s var(--cu-ease);
}
body :where(a.primary,button.primary,.action-button--primary,.book,.download,form>button[type=submit]:not([class]),#contact-submit,.feedback-card .cta.primary):not(#cu){
 --cu-b-bg:var(--cu-accent);--cu-b-hover:var(--cu-accent-hi);--cu-b-press:var(--cu-accent-deep);--cu-b-ink:#fff;--cu-b-line:transparent;
 --cu-b-shadow:0 10px 20px -10px rgba(18,41,31,.55),0 2px 4px rgba(18,41,31,.16);--cu-b-lift:0 16px 28px -12px rgba(18,41,31,.55),0 2px 5px rgba(18,41,31,.18);--cu-b-down:0 2px 5px rgba(18,41,31,.2);
 background-image:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,0) 64%);
}
body :where(.action-button--logout,.vehicle-actions>.danger,.report-actions>.danger):not(#cu){
 --cu-b-bg:#fbeceb;--cu-b-hover:#f6dddb;--cu-b-press:#f0cdca;--cu-b-ink:#a3261f;--cu-b-line:rgba(189,46,38,.22);
}
@media (hover:hover) and (pointer:fine){
 body :where(.action-button,.top>a:not(.brand),.top-actions>a,.top-actions button,.actions>a,.actions>button,.report-actions>a,.report-actions>button,.report-item button,.vehicle-actions>a,.vehicle-actions>button,.vehicles-head>.cta,.feedback-card .cta,.identity a,.back,.download,.sso,.mobile-nav-links>a,.offer-banner a,.cards article>a,.booking-call-only>a,.book,a.primary,button.primary,.planner-refresh,form>button[type=submit]:not([class]),#contact-submit):not(#cu):not(:disabled):not([aria-disabled=true]):not(.disabled):hover{background-color:var(--cu-b-hover);border-color:var(--cu-b-line);color:var(--cu-b-ink);transform:translateY(-1px);box-shadow:var(--cu-b-lift)}
}
body :where(.action-button,.top>a:not(.brand),.top-actions>a,.top-actions button,.actions>a,.actions>button,.report-actions>a,.report-actions>button,.report-item button,.vehicle-actions>a,.vehicle-actions>button,.vehicles-head>.cta,.feedback-card .cta,.identity a,.back,.download,.sso,.mobile-nav-links>a,.offer-banner a,.cards article>a,.booking-call-only>a,.book,a.primary,button.primary,.planner-refresh,form>button[type=submit]:not([class]),#contact-submit):not(#cu):not(:disabled):not([aria-disabled=true]):not(.disabled):active{background-color:var(--cu-b-press);color:var(--cu-b-ink);transform:scale(.97)!important;filter:brightness(.96);box-shadow:var(--cu-b-down);transition-duration:.12s,.12s,.12s,.12s,.12s}
body :where(.action-button,.top>a:not(.brand),.top-actions>a,.top-actions button,.actions>a,.actions>button,.report-actions>a,.report-actions>button,.report-item button,.vehicle-actions>a,.vehicle-actions>button,.vehicles-head>.cta,.feedback-card .cta,.identity a,.back,.download,.sso,.mobile-nav-links>a,.offer-banner a,.cards article>a,.booking-call-only>a,.book,a.primary,button.primary,.planner-refresh,form>button[type=submit]:not([class]),#contact-submit):not(#cu):is(:disabled,[aria-disabled=true],.disabled){opacity:.5;cursor:not-allowed;transform:none;filter:none;box-shadow:none}
body :where(a.primary,button.primary,.action-button--primary,.book,.download,form>button[type=submit]:not([class]),#contact-submit,.feedback-card .cta.primary):not(#cu):is(:disabled,[aria-disabled=true],.disabled){--cu-b-bg:#dfe6e0;--cu-b-ink:#5b6b61;--cu-b-line:transparent;background-image:none;opacity:1}
body :where(.action-button,.top>a:not(.brand),.top-actions>a,.top-actions button,.actions>a,.actions>button,.report-actions>a,.report-actions>button,.report-item button,.vehicle-actions>a,.vehicle-actions>button,.vehicles-head>.cta,.feedback-card .cta,.identity a,.back,.download,.sso,.mobile-nav-links>a,.offer-banner a,.cards article>a,.booking-call-only>a,.book,a.primary,button.primary,.planner-refresh,form>button[type=submit]:not([class]),#contact-submit) .action-icon{flex:none}

/* Chips that answer a tap like the app's press style: shrink a little, dim, spring back. */
body :where(.control-type-option,.slot-button,.booking-date-trigger,.app-qr-card,.directions-option,.vehicle-option,.announcement-nav,.review-star,.directions-dialog-close,.vehicle-more>summary,.mobile-navigation>summary,.header>nav>a,.brand,.centre-map-link):not(#cu){transition:transform .55s var(--cu-spring),opacity .2s var(--cu-ease),background-color .2s var(--cu-ease),border-color .2s var(--cu-ease),box-shadow .25s var(--cu-ease);-webkit-tap-highlight-color:transparent}
body :where(.control-type-option,.slot-button,.booking-date-trigger,.app-qr-card,.directions-option,.vehicle-option,.announcement-nav,.review-star,.directions-dialog-close,.vehicle-more>summary,.mobile-navigation>summary,.header>nav>a,.brand,.centre-map-link):not(#cu):not(:disabled):not([aria-disabled=true]):active{transform:scale(.975)!important;opacity:.88;transition-duration:.12s}

/* 3 · Fields: the app's soft field, 14 px radius, 48 px tall, an inline ring instead of a hard outline. */
body :is(input:not([type=checkbox],[type=radio],[type=hidden],[type=submit],[type=button],[type=range],[type=file],[type=color]),select,textarea):not(#cu){
 min-height:48px;padding:12px 14px;border:1.5px solid transparent;border-radius:14px;background-color:rgba(232,240,232,.62);color:var(--cu-ink);font-size:16px;line-height:1.35;box-shadow:none;
 transition:border-color .2s var(--cu-ease),background-color .2s var(--cu-ease),box-shadow .2s var(--cu-ease);
}
body select:not(#cu){appearance:none;-webkit-appearance:none;padding-right:42px;
 background-image:linear-gradient(45deg,transparent 50%,var(--cu-accent) 50%),linear-gradient(135deg,var(--cu-accent) 50%,transparent 50%);
 background-position:calc(100% - 21px) 52%,calc(100% - 15px) 52%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
body textarea:not(#cu){min-height:140px;resize:vertical}
body :is(input,select,textarea):not(#cu):hover{border-color:rgba(31,84,66,.20)}
body :is(input,select,textarea):not(#cu):focus{outline:2px solid transparent;outline-offset:2px;border-color:var(--cu-accent);background-color:#fff;box-shadow:0 0 0 4px rgba(31,84,66,.14)}
body :is(input,textarea):not(#cu):user-invalid,body select:not(#cu):user-invalid{border-color:var(--cu-danger);box-shadow:0 0 0 4px rgba(189,46,38,.12)}
body :is(input,select,textarea):not(#cu):disabled{opacity:.55;cursor:not-allowed}
body ::placeholder{color:rgba(99,115,105,.75);opacity:1}
body :is(input[type=checkbox],input[type=radio]){accent-color:var(--cu-accent)}
body label{color:var(--cu-ink)}

/* 4 · Surfaces: white cards with a hairline and soft depth; nested panels one step quieter. */
body :is(.card,.shell>.hero,.shell .panel,.shell .profile,.shell .vehicles-section,.shell .feedback-card,.bj-card):not(#cu){
 border:1px solid var(--cu-line);border-radius:28px;background:#fff;box-shadow:var(--cu-shadow),0 40px 80px -56px rgba(18,41,31,.34);
}
body :is(.auth-panel,.report,.next-appointment-card,.vehicle-card,.identity,.feature,.vehicle-empty,.report-item,.document-guide):not(#cu){
 border:1px solid var(--cu-line);border-radius:20px;background:#fafbf7;box-shadow:none;
}
body :is(.report,.vehicle-empty):not(#cu){border-style:dashed;border-color:rgba(31,84,66,.22)}
body .feature:not(#cu){background:#fff;box-shadow:0 8px 20px -14px rgba(18,41,31,.3)}
body :is(.badge,.vehicle-kind,.state):not(#cu){display:inline-flex;flex:none;align-items:center;justify-self:start;width:fit-content;white-space:nowrap;min-height:0;padding:6px 11px;border:0;border-radius:999px;background:rgba(31,84,66,.10);color:var(--cu-accent);font:700 10.5px/1.2 var(--cu-mono);letter-spacing:.1em;text-transform:uppercase}
body .vehicle-kind:not(#cu){background:rgba(99,115,105,.14);color:var(--cu-muted)}
body .state:not(#cu){display:flex;margin:0 0 12px;text-transform:none}
body :is(.info,.notice,.sending):not(#cu){padding:14px 16px;border:0;border-radius:16px;background:rgba(31,84,66,.08);color:var(--cu-ink)}
body .identity+.notice:not(#cu){margin-top:12px}
body p:is(.error,.warning):not(:empty):not(#cu){padding:12px 14px;border-radius:14px;font-weight:600}
body p.error:not(:empty):not(#cu){background:rgba(189,46,38,.09);color:#8f2019}
body p.warning:not(:empty):not(#cu){background:rgba(204,122,20,.12);color:#7a4a0b}

/* 5 · Accordions read as the app's rows: a tinted row and a chevron that turns when it opens. */
body details:not(.mobile-navigation):not(.vehicle-more)>summary:not(#cu){
 display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 18px;border:1px solid rgba(31,84,66,.12);border-radius:16px;background:var(--cu-soft);color:var(--cu-accent);font-weight:700;list-style:none;cursor:pointer;
 transition:transform .55s var(--cu-spring),background-color .2s var(--cu-ease),border-color .2s var(--cu-ease);-webkit-tap-highlight-color:transparent;
}
body details>summary::-webkit-details-marker{display:none}
body details:not(.mobile-navigation):not(.vehicle-more)>summary:not(#cu)::after{content:"";flex:none;width:8px;height:8px;margin:0 3px 0 auto;padding:0;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-2px,-2px);transition:transform .35s var(--cu-spring)}
body details[open]:not(.mobile-navigation):not(.vehicle-more)>summary:not(#cu)::after{transform:rotate(-135deg) translate(-2px,-2px)}
body details:not(.mobile-navigation):not(.vehicle-more)>summary:not(#cu):active{transform:scale(.985)}
@media (hover:hover) and (pointer:fine){body details:not(.mobile-navigation):not(.vehicle-more)>summary:not(#cu):hover{background:#dbe9de;border-color:rgba(31,84,66,.28)}}
body details[open]:not(.mobile-navigation):not(.vehicle-more)>summary:not(#cu){background:#dbe9de;border-color:rgba(31,84,66,.28)}

/* 6 · Vehicle plates, as drawn in the app: blue band with F, white field, department band on SIV. */
body :is(.vehicle-card h3,.vehicle-option-plate):not(#cu){
 position:relative;display:inline-flex;align-items:center;max-width:100%;min-height:36px;margin:6px 0 0;padding:0 14px 0 36px;box-sizing:border-box;overflow:hidden;
 border:1px solid rgba(0,0,0,.35);border-radius:7px;background:#fff;color:rgba(0,0,0,.85);
 font:600 17px/1 var(--cu-mono);letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;
}
body :is(.vehicle-card h3,.vehicle-option-plate):not(#cu)::before{content:"F";position:absolute;inset:0 auto 0 0;width:24px;display:grid;place-items:center;background:#003399;color:#fff;font:700 10px/1 Arial,Helvetica,sans-serif;letter-spacing:0}
body .vehicle-card[data-system=siv] h3:not(#cu){padding-right:40px}
body .vehicle-card[data-system=siv] h3:not(#cu)::after{content:"78";position:absolute;inset:0 0 0 auto;width:26px;display:grid;place-items:center;background:#003399;color:#fff;font:700 11px/1 var(--cu-mono);letter-spacing:0}
body .vehicle-option-plate:not(#cu){margin:0}

/* 7 · Home */
body.premium-home .topline:not(#cu){background:linear-gradient(90deg,#eef4ec,#f4f8f2);border-bottom:1px solid var(--cu-line)}
body.premium-home .header:not(#cu){background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid var(--cu-line)}
body.premium-home .brand .mark:not(#cu){border:0;border-radius:12px;background:linear-gradient(160deg,var(--cu-accent-hi),var(--cu-accent) 62%,var(--cu-accent-deep));color:#fff;box-shadow:0 8px 16px -8px rgba(18,41,31,.6),inset 0 1px 0 rgba(255,255,255,.28)}
body.premium-home .header>nav>a:not(#cu){min-height:44px;padding:10px 15px;border:1px solid var(--cu-line);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:none;color:var(--cu-ink);font:600 13px/1.2 Arial,Helvetica,sans-serif;text-decoration:none;transition:transform .55s var(--cu-spring),background-color .2s var(--cu-ease),border-color .2s var(--cu-ease)}
@media (hover:hover) and (pointer:fine){body.premium-home .header>nav>a:not(#cu):hover{background:var(--cu-soft);border-color:rgba(31,84,66,.26);color:var(--cu-accent)}}
body.premium-home .header>.book:not(#cu){min-height:46px;padding:10px 18px;font-size:14px}
body.premium-home .mobile-navigation>summary:not(#cu){border:1px solid var(--cu-line);border-radius:999px;background:rgba(255,255,255,.8);color:var(--cu-ink);font-weight:700}
body.premium-home .mobile-navigation[open] .mobile-nav-links:not(#cu){border:1px solid var(--cu-line);border-radius:22px;background:rgba(255,255,255,.96);padding:10px;box-shadow:var(--cu-shadow-lift)}
body.premium-home .mobile-nav-links>a:not(#cu){justify-content:flex-start;min-height:48px;border-radius:14px;background:transparent;border-color:transparent;box-shadow:none}

body.premium-home .hero .kicker:not(#cu){display:inline-flex;align-items:center;max-width:100%;padding:8px 14px;border:1px solid rgba(31,84,66,.12);border-radius:16px;background:rgba(31,84,66,.07);font:600 10.5px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.14em;color:var(--cu-accent)}
body.premium-home .hero .actions>a:not(#cu){min-height:52px;padding:14px 22px}
body.premium-home .hero .location:not(#cu){display:inline-flex;align-items:center;gap:6px;color:var(--cu-muted)}

body.premium-home .offer-banner:not(#cu){border:1px solid rgba(31,84,66,.14);border-radius:22px;background:linear-gradient(120deg,#eef5ec,#e4efe5);box-shadow:var(--cu-shadow)}
body.premium-home .offer-banner .offer-icon:not(#cu){border:0;border-radius:50%;background:linear-gradient(160deg,var(--cu-accent-hi),var(--cu-accent));color:#fff;box-shadow:0 6px 12px -6px rgba(18,41,31,.6)}
body.premium-home .offer-banner>a:not(#cu){background:#fff}

body.premium-home .reservation.booking-planner:not(#cu){border:1px solid var(--cu-line);border-radius:28px;background:#fff;box-shadow:var(--cu-shadow),0 50px 90px -60px rgba(18,41,31,.4)}
body.premium-home .booking-step-title>span:not(#cu){background:linear-gradient(160deg,var(--cu-accent-hi),var(--cu-accent));box-shadow:0 6px 12px -6px rgba(18,41,31,.6),0 0 0 5px rgba(31,84,66,.08)}
body.premium-home .booking-intro small:not(#cu),body.premium-home .booking-step-title small:not(#cu),body.premium-home .control-type-option small:not(#cu),body.premium-home .booking-selection small:not(#cu),body.premium-home .booking-call-only small:not(#cu){font:600 10px/1.4 var(--cu-mono);letter-spacing:.14em;color:var(--cu-muted)}
body.premium-home .control-type-option:not(#cu){position:relative;border:1.5px solid var(--cu-line);border-radius:20px;background:#fff;box-shadow:0 1px 2px rgba(18,41,31,.04)}
@media (hover:hover) and (pointer:fine){body.premium-home .control-type-option:not(#cu):not(.selected):hover{transform:translateY(-2px);border-color:rgba(31,84,66,.34);box-shadow:var(--cu-shadow)}}
body.premium-home .control-type-option.selected:not(#cu){border-color:var(--cu-accent);background:linear-gradient(180deg,#fff,#f3f8f2);box-shadow:0 0 0 4px rgba(31,84,66,.10),var(--cu-shadow)}
body.premium-home .control-type-option.selected:not(#cu)::after{content:"✓";position:absolute;top:-9px;right:16px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--cu-accent);color:#fff;font:700 13px/1 Arial,Helvetica,sans-serif;box-shadow:0 4px 8px -3px rgba(18,41,31,.6)}
body.premium-home .control-type-option strong b:not(#cu){font-family:Georgia,"Times New Roman",serif;font-weight:400}

body #reservation.booking-planner .booking-controls.vehicle-booking-controls>.price>small{font:600 11px/1.3 var(--cu-mono)!important;letter-spacing:.14em!important;color:var(--cu-muted)!important}
body #reservation.booking-planner .booking-controls.vehicle-booking-controls>.price>.standard-price-value strong{font-family:Georgia,"Times New Roman",serif!important;font-weight:400!important;letter-spacing:-.03em!important;color:var(--cu-accent)!important}
body #reservation.booking-planner .booking-date-field>.booking-date-label{font:600 11px/1.3 var(--cu-mono)!important;letter-spacing:.14em!important;color:var(--cu-muted)!important}
body #reservation.booking-planner .booking-date-control>.booking-date-trigger{min-height:72px!important;padding:14px 18px!important;border:1px solid rgba(31,84,66,.16)!important;border-radius:18px!important;background:linear-gradient(120deg,#f6faf5,#e9f1ea)!important;color:var(--cu-ink)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important}
body #reservation.booking-planner .booking-date-control>.booking-date-trigger:hover{border-color:rgba(31,84,66,.4)!important;background:linear-gradient(120deg,#f0f7ef,#e2eee4)!important;box-shadow:0 12px 24px -16px rgba(18,41,31,.4)!important}
body #reservation.booking-planner .booking-date-copy>strong{color:var(--cu-ink)!important}
body #reservation.booking-planner .booking-date-copy>.booking-date-text{color:var(--cu-muted)!important}
body #reservation.booking-planner .booking-date-trigger>.booking-date-icon{color:var(--cu-accent)}

body.premium-home .booking-live-head:not(#cu){border-top-color:var(--cu-line)}
body.premium-home .booking-live-head span:not(#cu){font:600 10.5px/1.4 var(--cu-mono);letter-spacing:.06em;color:var(--cu-muted)}
body.premium-home .booking-week-caption:not(#cu){color:var(--cu-accent)}
body #reservation.booking-planner .booking-day{border:1px solid var(--cu-line);border-radius:20px;background:#fff;box-shadow:0 8px 20px -14px rgba(18,41,31,.32)}
body #reservation.booking-planner .booking-day-head{background:linear-gradient(180deg,#f4f9f3,#ebf3eb);border-bottom:1px solid var(--cu-line)}
body #reservation.booking-planner .booking-day-head small{color:var(--cu-muted)}
body #reservation.booking-planner .booking-day-head strong{color:var(--cu-ink)}
body #reservation.booking-planner .slot-button{position:relative;min-height:60px;border:1px solid rgba(31,84,66,.16);border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(18,41,31,.04);
 transition:transform .55s var(--cu-spring),background-color .2s var(--cu-ease),border-color .2s var(--cu-ease),box-shadow .25s var(--cu-ease),opacity .2s}
body #reservation.booking-planner .slot-button span{color:var(--cu-ink)}
body #reservation.booking-planner .slot-button small{color:var(--cu-muted)}
@media (hover:hover) and (pointer:fine){body #reservation.booking-planner .slot-button:not(.selected):hover{transform:translateY(-2px);border-color:rgba(31,84,66,.5);background:#f4f9f3;box-shadow:0 12px 20px -12px rgba(18,41,31,.4)}}
body #reservation.booking-planner .slot-button.promo{border:1.5px solid var(--cu-brass);background:linear-gradient(180deg,#fffdf7,#fbf4e3)}
body #reservation.booking-planner .slot-button.promo em,body #reservation.booking-planner .slot-button.promo small b{color:#7d5d17}
body #reservation.booking-planner .slot-button.selected{transform:none;border-color:var(--cu-accent);background:linear-gradient(180deg,var(--cu-accent-hi),var(--cu-accent));box-shadow:0 12px 22px -12px rgba(18,41,31,.7)}
body #reservation.booking-planner .slot-button.selected :is(span,small,em,b){color:#fff}
body #reservation.booking-planner .slot-button.selected::after{content:"✓";position:absolute;top:6px;right:8px;font:700 11px/1 Arial,Helvetica,sans-serif;color:#fff}
body.premium-home .booking-loading:not(#cu),body.premium-home .booking-empty:not(#cu){border:1px dashed rgba(31,84,66,.28);border-radius:16px;background:linear-gradient(100deg,#f6faf5 30%,#edf4ec 50%,#f6faf5 70%) 0 0/220% 100%;animation:cu-shimmer 1.6s linear infinite}

body.premium-home .booking-selection:not(#cu){border:1px solid rgba(31,84,66,.22);border-radius:22px;background:linear-gradient(135deg,#f3f8f2,#e8f0e8);box-shadow:var(--cu-shadow)}
body.premium-home .booking-selection.booking-awaiting:not(#cu){border-style:dashed;background:#fafcf8;box-shadow:none}
body.premium-home .booking-call-only:not(#cu){border-top-color:var(--cu-line)}

body.premium-home .trust:not(#cu){display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:26px clamp(20px,4vw,72px);border:0;background:transparent}
@media(max-width:640px){body.premium-home .trust:not(#cu){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body.premium-home .trust>span:not(#cu){justify-content:center;text-align:center;border-radius:18px;padding:10px 12px;font-size:12px}}
body.premium-home .trust>span:not(#cu){display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--cu-line);border-radius:999px;background:#fff;box-shadow:0 6px 14px -8px rgba(18,41,31,.24);font-size:12.5px;font-weight:600;color:var(--cu-ink)}

body.premium-home .section .kicker:not(#cu){font-size:11px;font-weight:600;letter-spacing:.16em}
body.premium-home .panel-grid:not(#cu){gap:14px;border:0;border-radius:0;overflow:visible;background:none}
body.premium-home .panel-grid article:not(#cu){border:1px solid var(--cu-line);border-radius:24px;background:#fff;box-shadow:var(--cu-shadow);min-height:168px;padding:28px;transition:transform .55s var(--cu-spring),box-shadow .3s var(--cu-ease)}
@media (hover:hover) and (pointer:fine){body.premium-home .panel-grid article:not(#cu):hover{transform:translateY(-3px);box-shadow:var(--cu-shadow-lift)}}
body.premium-home .panel-grid article>span:not(#cu){display:inline-grid;place-items:center;min-width:36px;height:26px;padding:0 10px;border-radius:999px;background:rgba(31,84,66,.08);color:var(--cu-accent);font:600 11px/1 var(--cu-mono);letter-spacing:.08em}

body.premium-home #services .cards article:not(#cu){border:1px solid var(--cu-line);border-radius:26px;background:#fff;box-shadow:var(--cu-shadow);transition:transform .55s var(--cu-spring),box-shadow .3s var(--cu-ease)}
@media (hover:hover) and (pointer:fine){body.premium-home #services .cards article:not(#cu):hover{transform:translateY(-4px);box-shadow:var(--cu-shadow-lift)}}
body.premium-home #services .cards .featured-service:not(#cu){outline:0;padding-top:58px;border-color:rgba(31,84,66,.32);background:linear-gradient(180deg,#fff,#f6fbf5)}
body.premium-home #services .cards .card-offer:not(#cu){top:14px;right:14px;border-radius:999px;background:var(--cu-accent);color:#fff;padding:7px 12px;font:700 9.5px/1.2 var(--cu-mono);letter-spacing:.1em}
body.premium-home #services .cards small:not(#cu){font:600 10px/1.4 var(--cu-mono);letter-spacing:.14em;color:var(--cu-muted)}
body.premium-home #services .cards article>a:not(#cu){width:100%}

body.premium-home .app-qr-card:not(#cu){border:1px solid var(--cu-line);border-radius:28px;background:#fff;box-shadow:var(--cu-shadow-lift)}
body.premium-home .app-qr-card>img:not(#cu){border-radius:18px}
body.premium-home .app-qr-card small:not(#cu){font:600 10px/1.4 var(--cu-mono);letter-spacing:.14em;color:var(--cu-muted)}
@media (hover:hover) and (pointer:fine){body.premium-home .app-qr-card:not(#cu):hover{transform:translateY(-3px)}}

body.premium-home .centre-map:not(#cu){border:1px solid var(--cu-line);border-radius:28px;box-shadow:var(--cu-shadow-lift)}
body.premium-home .centre-map-address:not(#cu){border:1px solid var(--cu-line);border-radius:18px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--cu-shadow)}
body.premium-home .centre-map-address small:not(#cu){font:600 10px/1.4 var(--cu-mono);letter-spacing:.14em;color:var(--cu-muted)}

body.premium-home .final:not(#cu){margin:0 clamp(20px,4vw,72px) 64px;padding:clamp(44px,7vw,84px) clamp(22px,5vw,64px);border:0;border-radius:32px;background:radial-gradient(900px 340px at 82% -12%,rgba(255,255,255,.16),transparent 64%),linear-gradient(135deg,var(--cu-accent-hi),var(--cu-accent) 55%,var(--cu-accent-deep));box-shadow:var(--cu-shadow-lift)}
body.premium-home .final p:not(#cu){color:rgba(255,255,255,.76);opacity:1}
body.premium-home .final h2:not(#cu){color:#fff}
body.premium-home .final>.primary:not(#cu){--cu-b-bg:#fff;--cu-b-hover:#f3f8f2;--cu-b-press:#e6efe6;--cu-b-ink:var(--cu-accent);background-image:none;min-height:54px;padding:14px 26px}
body.premium-home footer:not(#cu){border-top:1px solid var(--cu-line)}
body.premium-home footer a:not(#cu):active{opacity:.7}

/* Directions dialog: a sheet with rows, like the app's. */
body .directions-dialog:not(#cu){border:1px solid var(--cu-line);border-radius:28px;padding:0;background:#fff;color:var(--cu-ink);box-shadow:0 40px 90px -30px rgba(18,41,31,.5)}
body .directions-dialog:not(#cu)::backdrop{background:rgba(18,41,31,.42);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
body .directions-option:not(#cu){border:1px solid var(--cu-line);border-radius:18px;background:#fff;box-shadow:0 6px 14px -10px rgba(18,41,31,.3)}
body .directions-symbol:not(#cu){border-radius:12px;background:rgba(31,84,66,.10);color:var(--cu-accent)}
body .directions-dialog-close:not(#cu){border-radius:50%}

/* Cookie preferences: the notice already ships with inline styles; only depth and press feel are added here. */
#cc-consent-panel{border-radius:24px!important;box-shadow:0 30px 70px -26px rgba(18,41,31,.5)!important}
#cc-consent-panel button,#cc-consent-manage{transition:transform .55s var(--cu-spring),box-shadow .25s var(--cu-ease);-webkit-tap-highlight-color:transparent}
#cc-consent-panel button:active,#cc-consent-manage:active{transform:scale(.97)}

/* 8 · Customer pages */
body .top .brand:not(#cu){display:inline-flex;align-items:center;gap:8px}
body .customer-announcements:not(#cu){border-radius:22px}
body .announcement-nav:not(#cu){border-radius:12px}
body .auth-grid:not(#cu){gap:16px}
body .auth-panel:not(#cu){padding:clamp(20px,3vw,28px)}
body .sso:not(#cu){--cu-b-bg:#fff;--cu-b-hover:var(--cu-soft);min-height:52px}
/* Google sign-in alone receives an orange pastel hover, not the shared green. */
body .providers .sso[href^="/auth/customer/google"]:not(#cu){--cu-b-hover:#ffe2bf;--cu-b-press:#ffd2a0;--action-hover-bg:#ffe2bf;--action-hover-ink:#79421a}
body .providers .sso[href^="/auth/customer/google"]:hover:not(#cu){--cu-b-ink:#79421a;--cu-b-line:rgba(193,111,45,.35)}
body .booking-summary:not(#cu){border-radius:22px;background:radial-gradient(520px 200px at 90% -30%,rgba(255,255,255,.16),transparent 70%),linear-gradient(135deg,var(--cu-accent-hi),var(--cu-accent) 58%,var(--cu-accent-deep));box-shadow:var(--cu-shadow)}
body .booking-summary small:not(#cu){font:600 10px/1.4 var(--cu-mono);letter-spacing:.14em;opacity:.8}
body .step:not(#cu){border-top-color:var(--cu-line)}
body .summary:not(#cu){border-radius:18px;background:rgba(232,240,232,.7)}
body .vehicle-picker:not(#cu){gap:12px}
body .vehicle-option:not(#cu){gap:14px;padding:14px 16px;border:1.5px solid var(--cu-line);border-radius:20px;background:#fff;box-shadow:0 8px 18px -14px rgba(18,41,31,.35);transition:transform .55s var(--cu-spring),border-color .2s var(--cu-ease),background-color .2s var(--cu-ease),box-shadow .25s var(--cu-ease)}
body .vehicle-option:has(input:checked):not(#cu){border-color:var(--cu-accent);background:linear-gradient(180deg,#fff,#f1f7f0);box-shadow:0 0 0 4px rgba(31,84,66,.10),0 12px 22px -14px rgba(18,41,31,.45)}
body .vehicle-option input:not(#cu){flex:none;width:22px;height:22px}
body .next-appointment-card:not(#cu){background:linear-gradient(135deg,#f7fbf6,#ecf4ec);border-color:rgba(31,84,66,.18)}
body .vehicle-card:not(#cu){padding:20px;gap:16px;background:#fff;box-shadow:0 12px 26px -18px rgba(18,41,31,.4)}
body .vehicle-detail:not(#cu){font-size:12px}
body .vehicle-card-head:not(#cu){min-width:0}
body .vehicle-card-head>div:first-child:not(#cu){min-width:0}
body .vehicle-card-head>div:first-child>div:first-child:not(#cu){font:600 10.5px/1.4 var(--cu-mono);letter-spacing:.14em;color:var(--cu-muted)}
body .vehicle-detail+.vehicle-detail:not(#cu){padding:12px 14px;border-radius:16px;background:rgba(31,84,66,.07);font-size:13px;font-weight:600;color:var(--cu-ink)}
body .vehicle-more>summary:not(#cu){white-space:nowrap;line-height:1;letter-spacing:-.06em;border:1px solid var(--cu-line);background:#fff;box-shadow:0 6px 14px -10px rgba(18,41,31,.3)}
body .vehicle-more-menu:not(#cu){border:1px solid var(--cu-line);border-radius:18px;box-shadow:var(--cu-shadow-lift)}
body .vehicle-more-menu button:not(#cu){border-radius:12px;transition:background-color .2s var(--cu-ease),transform .35s var(--cu-spring)}
body .vehicle-more-menu button:not(#cu):active{transform:scale(.97);background:var(--cu-soft)}
body .review-star:not(#cu){border-radius:12px;transition:transform .55s var(--cu-spring),color .2s}
body .review-star.selected:not(#cu){color:var(--cu-brass)}
body .review-star:not(#cu):active{transform:scale(1.14)}
body .shell :is(.sub,.feedback-note,.vehicle-status,#profileStatus,.report-status):not(#cu){font-size:12px}

/* 9 · In-site booking journey (.bj): the same cards, eyebrows (merged above) and panel tints as the rest
   of the site. The Payline return notice (.bj-return-notice, in booking-journey.css) is left alone on
   purpose: its colours, border and flash are a safety instruction, not decoration, and stay exactly as
   strong with or without this layer. */
body .bj-summary:not(#cu){border-radius:18px;background:rgba(232,240,232,.7)}
body .bj-highlight:not(#cu){border-radius:22px;background:radial-gradient(520px 200px at 90% -30%,rgba(255,255,255,.16),transparent 70%),linear-gradient(135deg,var(--cu-accent-hi),var(--cu-accent) 58%,var(--cu-accent-deep));box-shadow:var(--cu-shadow)}
body .bj-panel:not(#cu){border:0;border-radius:16px;background:rgba(31,84,66,.08);color:var(--cu-ink)}
body .bj-panel--warn:not(#cu){background:rgba(204,122,20,.12);color:#7a4a0b}
body .bj-panel--error:not(#cu){background:rgba(189,46,38,.09);color:#8f2019}
body label.bj-consent:not(#cu){padding:12px 14px;border-radius:16px;background:rgba(31,84,66,.06)}

/* 10 · Motion: a short rise on arrival; none when the visitor asks for less. */
@keyframes cu-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes cu-shimmer{from{background-position:120% 0}to{background-position:-100% 0}}
@keyframes cu-pop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
 body:not(.premium-home) main>:is(.card,.hero,.panel,.profile,.vehicles-section,.feedback,.appointment-panel){animation:cu-rise .6s var(--cu-ease) backwards}
 body:not(.premium-home) main>:nth-child(2){animation-delay:.05s}
 body:not(.premium-home) main>:nth-child(3){animation-delay:.1s}
 body:not(.premium-home) main>:nth-child(n+4){animation-delay:.15s}
 body.premium-home .hero-intro,body.premium-home .hero-details{animation:cu-rise .7s var(--cu-ease) backwards}
 body.premium-home .hero-details{animation-delay:.08s}
 body .directions-dialog[open]{animation:cu-pop .4s var(--cu-ease)}
 #cc-consent-panel{animation:cu-pop .45s var(--cu-ease)}
}
@media (prefers-reduced-motion:reduce){
 body *,body *::before,body *::after{animation:none!important;transition-property:color,background-color,border-color,opacity!important;transition-duration:.01ms!important}
 body :where(.action-button,.top>a:not(.brand),.top-actions>a,.top-actions button,.actions>a,.actions>button,.report-actions>a,.report-actions>button,.report-item button,.vehicle-actions>a,.vehicle-actions>button,.vehicles-head>.cta,.feedback-card .cta,.identity a,.back,.download,.sso,.mobile-nav-links>a,.offer-banner a,.cards article>a,.booking-call-only>a,.book,a.primary,button.primary,.planner-refresh,form>button[type=submit]:not([class]),#contact-submit):not(#cu):not(:disabled):not([aria-disabled=true]):not(.disabled):active,body :where(.control-type-option,.slot-button,.booking-date-trigger,.app-qr-card,.directions-option,.vehicle-option,.announcement-nav,.review-star,.directions-dialog-close,.vehicle-more>summary,.mobile-navigation>summary,.header>nav>a,.brand,.centre-map-link):not(#cu):not(:disabled):not([aria-disabled=true]):active{transform:none!important}
 body :where(.action-button,.top>a:not(.brand),.top-actions>a,.top-actions button,.actions>a,.actions>button,.report-actions>a,.report-actions>button,.report-item button,.vehicle-actions>a,.vehicle-actions>button,.vehicles-head>.cta,.feedback-card .cta,.identity a,.back,.download,.sso,.mobile-nav-links>a,.offer-banner a,.cards article>a,.booking-call-only>a,.book,a.primary,button.primary,.planner-refresh,form>button[type=submit]:not([class]),#contact-submit):not(#cu):hover,body :where(.control-type-option,.slot-button,.booking-date-trigger,.app-qr-card,.directions-option,.vehicle-option,.announcement-nav,.review-star,.directions-dialog-close,.vehicle-more>summary,.mobile-navigation>summary,.header>nav>a,.brand,.centre-map-link):not(#cu):hover,body :is(.slot-button,.control-type-option,.app-qr-card,.panel-grid article,.cards article):hover{transform:none!important}
}
@media (forced-colors:active){
 body :where(.action-button,.top>a:not(.brand),.top-actions>a,.top-actions button,.actions>a,.actions>button,.report-actions>a,.report-actions>button,.report-item button,.vehicle-actions>a,.vehicle-actions>button,.vehicles-head>.cta,.feedback-card .cta,.identity a,.back,.download,.sso,.mobile-nav-links>a,.offer-banner a,.cards article>a,.booking-call-only>a,.book,a.primary,button.primary,.planner-refresh,form>button[type=submit]:not([class]),#contact-submit){border:1px solid ButtonText}
 body .slot-button.selected,body .control-type-option.selected{outline:2px solid Highlight}
}
