:root{color-scheme:light;--ford:#12325b;--blue:#0868bd;--electric:#00a7e8;--bg:#eef3f8;--surface:#fff;--text:#111820;--muted:#637083;--line:#dbe4ed;--glass:rgba(255,255,255,.84);--shadow:0 24px 70px rgba(18,50,91,.16);font-family:Inter,"Segoe UI",Arial,sans-serif}
html[data-theme=dark]{color-scheme:dark;--bg:#06101d;--surface:#0b1c31;--text:#f5f8fc;--muted:#a6b5c8;--line:#203751;--glass:rgba(8,25,45,.88);--shadow:0 28px 80px rgba(0,0,0,.42)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;min-width:320px;color:var(--text);background:var(--bg);overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer}.app-lines{position:fixed;z-index:-1;inset:0;background:repeating-linear-gradient(90deg,transparent 0 119px,rgba(10,104,189,.045) 120px),linear-gradient(118deg,transparent 0 48%,rgba(0,167,232,.045) 48.08%,transparent 48.16%),radial-gradient(circle at 8% 4%,rgba(0,126,220,.17),transparent 30rem)}
.card-header{position:sticky;z-index:50;top:0;background:var(--surface);border-bottom:1px solid var(--line)}.share-strip{height:55px;padding:0 max(14px,calc((100% - 430px)/2));display:grid;grid-template-columns:repeat(5,1fr);background:var(--ford)}.share-strip a,.share-strip button{display:grid;place-items:center;border:0;color:#fff;background:transparent;text-decoration:none;font-size:25px}.brand-strip{height:82px;padding:0 max(18px,calc((100% - 430px)/2));display:flex;align-items:center;justify-content:space-between}.brand{padding:0;border:0;background:transparent}.brand img{display:block;width:132px}.brand-actions{display:flex;align-items:center;gap:10px}.staff-login,.theme-toggle{height:42px;padding:0 15px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;color:var(--text);background:transparent;text-decoration:none;font-weight:800}.theme-toggle{position:relative;width:42px;padding:0}.theme-toggle span{position:absolute}.theme-moon{display:none}html[data-theme=dark] .theme-sun{display:none}html[data-theme=dark] .theme-moon{display:block}
main{width:100%;margin:auto}.app-view{display:none;min-height:calc(100vh - 137px);padding:0 0 120px}.app-view.is-active{display:block;animation:pageIn .32s ease}@keyframes pageIn{from{opacity:0;transform:translateY(8px)}}.digital-card{width:min(100%,1120px);margin:0 auto;background:var(--surface);box-shadow:var(--shadow)}.desktop-banner{display:none}.card-visual{position:relative;width:100%;overflow:hidden;background:#020813}.home-slider,.home-slide{position:absolute;inset:0}.card-visual{aspect-ratio:1/1.07}.home-slide{opacity:0;transition:opacity .7s}.home-slide.is-active{opacity:1}.home-slide img,.home-slide video{width:100%;height:100%;display:block;object-fit:cover}.home-slide.is-custom img,.home-slide.is-custom video{object-fit:contain;background:#020813}.slider-dots{position:absolute;left:50%;bottom:14px;display:flex;gap:6px;transform:translateX(-50%)}.slider-dots button{width:22px;height:4px;padding:0;border:0;border-radius:9px;background:rgba(255,255,255,.38)}.slider-dots button.is-active{background:#fff}
.card-content{padding:0 20px 44px}.identity-panel{position:relative;min-height:196px;padding:35px 155px 20px 3px;display:flex;align-items:center}.identity-copy h1{margin:0;color:var(--ford);font-size:clamp(32px,10vw,43px);line-height:1;letter-spacing:-.045em}.identity-copy .role{margin:7px 0 22px;font-size:19px;font-style:italic}.identity-copy h2{margin:0;font-size:23px;line-height:1.22}.profile-photo-wrap{position:absolute;right:-10px;top:-70px;width:155px;height:155px;padding:5px;border-radius:50%;background:#fff;box-shadow:0 15px 35px rgba(0,0,0,.2)}.profile-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:50%;background:#dbe7f2}.intro-panel{padding:2px 0 10px}.intro-panel p{margin:0;color:var(--muted);font-size:17px;line-height:1.75}
.is-builder-preview .card-content{padding-bottom:160px!important}
.hero-ai-search{margin:26px 0;padding:9px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #76c9f1;border-radius:18px;background:linear-gradient(135deg,rgba(0,116,205,.08),rgba(0,167,232,.05));box-shadow:0 12px 35px rgba(0,104,189,.1)}.search-ai-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--electric));box-shadow:0 0 20px rgba(0,167,232,.38);font-size:23px}.hero-ai-search label{display:block;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.hero-ai-search input{width:100%;padding:5px 0;border:0;outline:0;color:var(--text);background:transparent}.hero-ai-search button,.primary-button{padding:12px 18px;border:0;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--electric));font-weight:900;text-decoration:none;text-align:center}.secondary-button{padding:11px 17px;border:1px solid var(--line);border-radius:999px;color:var(--text);background:transparent;text-decoration:none;text-align:center}
.section-kicker{margin:28px 0 14px;display:flex;align-items:end;justify-content:space-between}.section-kicker span{font-size:27px;font-weight:850}.section-kicker small{color:var(--muted)}.keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.keypad-button{aspect-ratio:1/1;padding:10px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;border:1px solid var(--line);border-radius:16px;color:var(--text);background:linear-gradient(145deg,var(--surface),rgba(0,104,189,.045));text-align:center;text-decoration:none;box-shadow:0 8px 20px rgba(18,50,91,.07);transition:.22s}.keypad-button:hover,.keypad-button:active{transform:translateY(-4px);border-color:#57b8e8;box-shadow:0 15px 28px rgba(0,104,189,.15)}.key-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#153e72,#008fd7);box-shadow:0 8px 20px rgba(0,85,165,.25);font-size:20px;font-weight:900}.ford-key{font-family:Georgia,serif;font-style:italic}.keypad-button strong{font-size:12px;line-height:1.15}.keypad-button small{display:none}
.contact-panel{margin:35px 0 0;display:grid;gap:8px}.contact-panel a{padding:13px 15px;border:1px solid var(--line);border-radius:14px;color:var(--text);background:rgba(0,104,189,.035);text-decoration:none}.contact-panel small,.contact-panel strong{display:block}.contact-panel small{color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.contact-panel strong{margin-top:4px;overflow-wrap:anywhere}.share-panel{margin-top:26px;padding:18px;display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;border-radius:18px;background:var(--ford);color:#fff}.share-panel h3{margin:0 0 13px}.eyebrow{margin:0 0 7px;color:#43bff4;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.qr-wrap{position:relative;padding:7px;border-radius:13px;background:#fff}.qr-wrap>img{display:block;width:100%}.qr-centre{position:absolute;left:50%;top:50%;width:44px;padding:5px;transform:translate(-50%,-50%);border-radius:5px;background:#fff}.qr-centre img{display:block;width:100%;filter:brightness(0)}
.page-heading{width:min(100% - 30px,1050px);margin:0 auto;padding:28px 0 12px;display:flex;align-items:center;gap:14px}.page-heading h1{margin:0;font-size:clamp(32px,8vw,54px);line-height:1}.back-button{width:44px;height:44px;flex:0 0 44px;border:1px solid var(--line);border-radius:50%;color:var(--text);background:var(--surface);font-size:30px}.page-intro{width:min(100% - 30px,1050px);margin:0 auto 22px;color:var(--muted);line-height:1.6}.offerings-grid{width:min(100% - 20px,1050px);margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.catalogue-card{position:relative;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.catalogue-card img{display:block;width:100%}.catalogue-card span{position:absolute;left:9px;top:9px;padding:6px 9px;border-radius:999px;color:#fff;background:rgba(0,30,80,.78);font-size:11px}.special-stage{width:min(100% - 24px,650px);margin:auto}.special-image-wrap{position:relative;overflow:hidden;border-radius:18px;background:#000;box-shadow:var(--shadow)}.special-image-wrap img{display:block;width:100%}.special-counter{position:absolute;left:10px;top:10px;padding:7px 10px;border-radius:999px;color:#fff;background:rgba(0,30,80,.82)}.special-controls{margin-top:14px;display:grid;grid-template-columns:46px 1fr 46px;gap:10px;align-items:center}.special-controls>button{height:46px;border:1px solid var(--line);border-radius:50%;color:var(--text);background:var(--surface);font-size:25px}.special-info{text-align:center}.special-info strong,.special-info span{display:block}.special-info span{margin-top:4px;color:var(--blue);font-weight:900}.special-enquire{width:100%;margin-top:12px}.simple-page-card{width:min(100% - 30px,700px);margin:20px auto;padding:25px;display:grid;gap:16px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.simple-page-card h2,.simple-page-card p{margin:0}.simple-page-card p{color:var(--muted);line-height:1.65}
.app-footer{position:fixed;z-index:55;left:50%;bottom:max(10px,env(safe-area-inset-bottom));width:min(94vw,430px);height:72px;padding:7px 9px;display:none;grid-template-columns:repeat(5,1fr);border:1px solid rgba(255,255,255,.15);border-radius:24px;background:rgba(4,15,30,.94);box-shadow:0 15px 45px rgba(0,0,0,.38);backdrop-filter:blur(18px);transform:translateX(-50%)}.app-footer.is-visible{display:grid}.app-footer button{display:grid;place-items:center;align-content:center;gap:3px;border:0;color:#fff;background:transparent}.app-footer span{font-size:22px}.app-footer small{font-size:9px}.landing-ctas{position:fixed;z-index:54;left:50%;bottom:max(10px,env(safe-area-inset-bottom));width:min(94vw,430px);padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:8px;border:1px solid var(--line);border-radius:22px;background:var(--glass);box-shadow:0 15px 45px rgba(0,0,0,.18);backdrop-filter:blur(18px);transform:translateX(-50%)}.landing-ctas.is-hidden{display:none}
.assistant-launcher{position:fixed;z-index:60;right:14px;bottom:96px;height:54px;padding:6px 15px 6px 7px;display:flex;align-items:center;gap:9px;border:0;border-radius:999px;color:#fff;background:linear-gradient(135deg,#073b77,#00a8e8);box-shadow:0 12px 35px rgba(0,80,160,.35),0 0 25px rgba(0,174,255,.25)}.assistant-launcher span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#0b5ca9;background:#fff;box-shadow:0 0 18px #65d5ff;font-size:22px}.assistant-launcher strong{font-size:12px}
dialog{width:min(92vw,720px);max-height:92vh;padding:0;overflow:auto;border:1px solid var(--line);border-radius:22px;color:var(--text);background:var(--surface);box-shadow:0 35px 100px rgba(0,0,0,.5)}dialog::backdrop{background:rgba(0,8,20,.76);backdrop-filter:blur(7px)}.dialog-close{position:sticky;z-index:3;float:right;top:10px;right:10px;width:40px;height:40px;border:0;border-radius:50%;color:#fff;background:#12325b;font-size:25px}.dialog-vehicle-layout{display:grid;grid-template-columns:1fr 1fr}.dialog-vehicle-layout>img{width:100%;height:100%;max-height:80vh;object-fit:contain;background:#000}.dialog-vehicle-info{padding:35px 24px;align-self:center}.dialog-vehicle-info h2{margin:0}.dialog-price{margin:15px 0;color:var(--blue);font-size:24px;font-weight:900}dialog form{padding:42px 24px 26px;display:grid;gap:13px}dialog h2{margin:0;font-size:32px}dialog label{display:grid;gap:5px;color:var(--muted)}dialog input,dialog textarea,.assistant-form input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--bg)}fieldset{display:flex;gap:14px;border:1px solid var(--line);border-radius:11px}.consent-check,.subscription-options label{display:flex;align-items:flex-start;gap:8px}.consent-check input,.subscription-options input,fieldset input{width:auto}.subscription-options{padding:13px;display:grid;gap:9px;border:1px solid var(--line);border-radius:12px}.assistant-heading{padding:34px 24px 14px;display:flex;align-items:center;gap:12px}.assistant-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--electric));box-shadow:0 0 20px rgba(0,167,232,.3)}.assistant-messages{min-height:300px;max-height:50vh;padding:12px 24px;overflow:auto;display:flex;flex-direction:column;gap:10px}.assistant-message{max-width:88%;padding:12px 14px;border-radius:16px;line-height:1.5}.assistant-message.bot{align-self:flex-start;background:var(--bg)}.assistant-message.user{align-self:flex-end;color:#fff;background:var(--blue)}.assistant-results{margin-top:10px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.assistant-result{overflow:hidden;padding:0;border:1px solid var(--line);border-radius:11px;color:var(--text);background:var(--surface);text-align:left}.assistant-result img{width:100%;aspect-ratio:.91;object-fit:cover}.assistant-result span{display:block;padding:7px;font-size:10px}.assistant-quick-replies{margin-top:9px;display:flex;flex-wrap:wrap;gap:6px}.assistant-quick-replies button{padding:7px 9px;border:1px solid var(--line);border-radius:999px;color:var(--text);background:var(--surface)}.assistant-form{padding:13px 24px 8px;display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid var(--line)}.assistant-form button{padding:0 17px;border:0;border-radius:10px;color:#fff;background:var(--blue)}.assistant-note{display:block;padding:0 24px 22px;color:var(--muted)}.welcome-content{padding:30px}.welcome-content>img{width:115px}.welcome-content>p:not(.eyebrow){color:var(--muted);line-height:1.6}.welcome-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.welcome-choice{padding:16px;display:grid;gap:5px;border:1px solid var(--line);border-radius:15px;color:var(--text);background:var(--bg);text-align:left;text-decoration:none}.welcome-choice strong{color:var(--blue)}.welcome-choice span{color:var(--muted);font-size:12px;line-height:1.4}.welcome-consent{margin-top:10px;display:flex;align-items:flex-start;gap:8px}.welcome-consent input{width:auto}.popia-actions{margin-top:18px;display:flex;gap:8px}.toast{position:fixed;z-index:90;left:50%;bottom:105px;max-width:calc(100% - 30px);padding:12px 17px;border-radius:999px;color:#fff;background:#12325b;opacity:0;pointer-events:none;transform:translate(-50%,15px);transition:.25s}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:600px){.offerings-grid{grid-template-columns:1fr}.dialog-vehicle-layout{grid-template-columns:1fr}.dialog-vehicle-info{padding:23px 19px 28px}.welcome-actions{grid-template-columns:1fr}.assistant-launcher strong{display:none}.assistant-launcher{width:54px;padding:6px}.hero-ai-search{grid-template-columns:44px minmax(0,1fr)}.hero-ai-search button{grid-column:1/-1;width:100%}}
@media(min-width:760px){.card-header{position:relative}.share-strip{padding-inline:calc((100% - 1120px)/2)}.brand-strip{padding-inline:max(28px,calc((100% - 1120px)/2))}.digital-card{margin:28px auto 120px;border:1px solid var(--line);border-radius:26px;overflow:hidden}.desktop-banner{display:block;aspect-ratio:4/1;overflow:hidden}.desktop-banner img{width:100%;height:100%;object-fit:cover}.card-visual{display:none}.card-content{padding:40px 55px 55px}.identity-panel{min-height:190px;padding-right:260px}.profile-photo-wrap{right:30px;top:-100px;width:235px;height:235px}.identity-copy h1{font-size:55px}.intro-panel p{max-width:800px}.keypad{gap:15px}.keypad-button{aspect-ratio:1.35/1}.contact-panel{grid-template-columns:repeat(3,1fr)}.share-panel{grid-template-columns:145px 1fr}.app-view{padding-bottom:120px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Mobile width and identity safeguards */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.digital-card,.card-content,.identity-panel,.identity-copy,.keypad,.keypad-button{min-width:0;max-width:100%}
.identity-panel{width:100%;min-height:190px;padding:35px 125px 20px 3px;display:block}
.identity-copy h1{max-width:100%;font-size:clamp(30px,9vw,40px);overflow-wrap:anywhere}
.identity-copy h2{max-width:220px;font-size:20px;overflow-wrap:anywhere}
html[data-theme=dark] .identity-copy h1{color:#65c9f6}
.profile-photo-wrap{right:0;top:-56px;width:128px;height:128px}
.keypad-button{min-width:0}
.key-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card-visual{isolation:isolate}
.home-slide{overflow:hidden;transform:scale(1.055) translateX(2%);filter:saturate(.88) brightness(.9);transition:opacity .85s cubic-bezier(.22,.7,.22,1),transform 6.8s cubic-bezier(.18,.7,.18,1),filter 1.1s}
.home-slide.is-active{transform:scale(1) translateX(0);filter:saturate(1.04) brightness(1)}
.home-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(85,207,255,.16) 47%,transparent 67%);transform:translateX(-120%);pointer-events:none}
.home-slide.is-active::after{animation:futureSweep 1.25s .15s ease-out both}
@keyframes futureSweep{to{transform:translateX(120%)}}
.slider-top-wing{position:absolute;z-index:4;right:-12px;top:-8px;width:168px;height:92px;padding:22px 27px 0 42px;display:grid;align-content:start;color:#fff;background:linear-gradient(135deg,rgba(0,39,91,.98),rgba(0,111,188,.95));border-radius:0 0 0 86px;box-shadow:-15px 18px 38px rgba(0,21,55,.28);text-align:right;text-transform:uppercase}
.slider-top-wing::after{content:"";position:absolute;right:8px;bottom:-9px;width:108px;height:1px;background:linear-gradient(90deg,transparent,#71d9ff)}
.slider-top-wing span{font-size:9px;letter-spacing:.25em}.slider-top-wing strong{margin-top:3px;font-size:15px;letter-spacing:.04em}
.slider-sweep{position:absolute;z-index:3;left:-12%;right:-12%;bottom:-1px;height:118px;background:linear-gradient(160deg,transparent 0 21%,rgba(5,22,43,.55) 21.5%,rgba(5,22,43,.97) 45%);clip-path:ellipse(75% 72% at 50% 100%);filter:drop-shadow(0 -8px 18px rgba(0,177,238,.16))}
.slider-profile-band{position:absolute;z-index:5;left:19px;right:8px;bottom:10px;height:106px;display:flex;align-items:end;justify-content:space-between;color:#fff}
.slider-profile-copy{padding-bottom:15px;display:grid;text-shadow:0 2px 12px #001731}.slider-profile-copy small{color:#69d7ff;font-size:8px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.slider-profile-copy strong{margin-top:4px;font-size:20px}.slider-profile-copy span{margin-top:2px;font-size:11px;font-style:italic}
.slider-profile-band>img{width:132px;height:152px;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 10px 20px rgba(0,0,0,.35))}
.slider-dots{z-index:7;bottom:8px}
.identity-panel{min-height:auto!important;padding:26px 3px 16px!important}
.identity-copy h2{max-width:none}
.key-icon{font-family:"Segoe UI Symbol","Segoe UI",Arial,sans-serif}
html[data-theme=dark] .brand-strip{background:#07182b}
html[data-theme=dark] .digital-card,html[data-theme=dark] .catalogue-card,html[data-theme=dark] .simple-page-card,html[data-theme=dark] .qr-page-card{border-color:#23415f}
html[data-theme=dark] .keypad-button{background:linear-gradient(145deg,#0c2139,#08182a);box-shadow:inset 0 1px rgba(255,255,255,.025),0 10px 22px rgba(0,0,0,.2)}
html[data-theme=dark] .hero-ai-search{background:linear-gradient(135deg,rgba(0,103,190,.18),rgba(0,174,235,.07))}
html[data-theme=dark] .google-review-button{border-color:#31516e;background:#07182b;box-shadow:0 12px 30px rgba(0,0,0,.24)}
html[data-theme=dark] .secondary-button{color:#edf7ff;border-color:#38536d}
.google-review-button{width:min(280px,100%);margin:28px auto 8px;padding:12px;display:block;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 12px 30px rgba(18,50,91,.11)}
.google-review-art{display:block;width:100%}
.google-review-image{display:block;width:100%;height:auto}
.google-review-image-dark{display:none}
html[data-theme=dark] .google-review-image-light{display:none}
html[data-theme=dark] .google-review-image-dark{display:block}
.subscribe-button{width:100%;margin-top:8px}
.catalogue-ai-prompt{width:min(100% - 30px,720px);margin:0 auto 20px;padding:16px;display:grid;grid-template-columns:48px 1fr;gap:2px 12px;align-items:center;border:1px solid #59bce9;border-radius:17px;color:var(--text);background:linear-gradient(135deg,rgba(0,104,189,.12),rgba(0,167,232,.04));text-align:left}
.catalogue-ai-prompt>span{grid-row:1/3;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--electric));box-shadow:0 0 20px rgba(0,167,232,.3);font-size:24px}
.catalogue-ai-prompt strong{font-size:15px}.catalogue-ai-prompt small{color:var(--muted);line-height:1.4}
.qr-page-card{width:min(100% - 30px,520px);margin:16px auto;padding:25px;display:grid;gap:13px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);text-align:center}
.qr-page-card h2,.qr-page-card p{margin:0}.qr-page-card p{color:var(--muted);line-height:1.6}.qr-large{width:min(330px,100%);margin:auto;padding:12px;border:1px solid var(--line)}
@media(max-width:600px){.offerings-grid{grid-template-columns:1fr!important}.catalogue-card{width:100%}}
@media(min-width:760px){
  .identity-panel{padding-right:260px}
  .identity-copy h1{font-size:55px}
  .identity-copy h2{max-width:none;font-size:24px}
  .profile-photo-wrap{right:30px;top:-100px;width:235px;height:235px}
  .identity-panel{padding-right:3px!important}
}

/* Jarvis public concierge: premium chatbot shell, not a desktop takeover. */
#assistant-dialog{
  position:relative;
}
#assistant-dialog[open]{
  width:min(720px,calc(100vw - 34px))!important;
  max-width:720px!important;
  height:auto!important;
  max-height:min(820px,calc(100dvh - 34px))!important;
  display:grid!important;
  grid-template-rows:auto minmax(220px,1fr) auto auto!important;
  overflow:hidden!important;
  border:1px solid rgba(111,213,255,.32)!important;
  border-radius:30px!important;
  background:
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px),
    radial-gradient(circle at 16% 0,rgba(107,220,255,.2),transparent 18rem),
    radial-gradient(circle at 100% 0,rgba(20,136,231,.16),transparent 18rem),
    linear-gradient(180deg,rgba(4,20,39,.98),rgba(7,24,43,.94) 46%,var(--surface) 46.1%)!important;
  background-size:34px 34px,34px 34px,auto,auto,auto!important;
  box-shadow:0 34px 90px rgba(0,12,32,.52),0 0 44px rgba(0,177,238,.18)!important;
}
#assistant-dialog .dialog-close{
  position:absolute!important;
  z-index:12!important;
  top:16px!important;
  right:16px!important;
  left:auto!important;
  float:none!important;
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.24)!important;
  color:#fff!important;
  background:rgba(255,255,255,.12)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.12)!important;
  backdrop-filter:blur(14px);
}
#assistant-dialog[open] .assistant-heading{
  position:relative;
  min-height:148px;
  padding:30px 74px 22px 28px!important;
  display:grid;
  grid-template-columns:74px 1fr;
  gap:16px;
  align-items:center;
  color:#fff;
  border-bottom:1px solid rgba(111,213,255,.18);
}
#assistant-dialog[open] .assistant-heading h2{
  margin:0;
  color:#fff;
  font-size:clamp(30px,4vw,42px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em;
}
#assistant-dialog[open] .assistant-heading .eyebrow{
  color:#69d9ff;
}
#assistant-dialog[open] .assistant-avatar{
  position:relative;
  width:74px!important;
  height:74px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,#092341 0 42%,#006fc2 72%,#5ad9ff 100%)!important;
  box-shadow:0 0 0 8px rgba(107,220,255,.08),0 0 34px rgba(0,181,238,.5)!important;
}
#assistant-dialog[open] .assistant-avatar::before,
#assistant-dialog[open] .assistant-avatar::after{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
  border:1px solid rgba(105,217,255,.34);
  animation:jarvisPulse 2.6s ease-in-out infinite;
}
#assistant-dialog[open] .assistant-avatar::after{
  inset:-15px;
  animation-delay:.8s;
  opacity:.55;
}
#assistant-dialog[open] .assistant-avatar img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}
#assistant-dialog[open] .assistant-messages{
  min-height:260px!important;
  max-height:min(45dvh,380px)!important;
  overflow:auto!important;
  padding:18px 24px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(247,252,255,.95))!important;
}
#assistant-dialog[open] .assistant-message{
  max-width:min(520px,88%)!important;
  box-shadow:0 8px 24px rgba(18,50,91,.08);
}
#assistant-dialog[open] .assistant-message.bot{
  background:#fff;
  border:1px solid rgba(18,50,91,.08);
}
#assistant-dialog[open] .assistant-form{
  padding:14px 18px!important;
  border-top:1px solid rgba(18,50,91,.09)!important;
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(18px);
}
#assistant-dialog[open] .assistant-form input{
  border-radius:16px;
}
#assistant-dialog[open] .assistant-form button{
  border-radius:16px;
  background:linear-gradient(135deg,var(--blue),var(--electric));
}
#assistant-dialog[open] .assistant-note{
  padding:0 22px 18px!important;
  background:rgba(255,255,255,.88);
}
@keyframes jarvisPulse{
  0%,100%{transform:scale(.96);opacity:.28}
  50%{transform:scale(1.06);opacity:.75}
}
@media(max-width:600px){
  #assistant-dialog[open]{
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }
  #assistant-dialog[open] .assistant-heading{
    min-height:150px;
    padding:calc(26px + env(safe-area-inset-top)) 68px 16px 20px!important;
    grid-template-columns:64px 1fr;
  }
  #assistant-dialog[open] .assistant-heading h2{
    font-size:32px!important;
  }
  #assistant-dialog[open] .assistant-avatar{
    width:64px!important;
    height:64px!important;
  }
  #assistant-dialog[open] .assistant-messages{
    max-height:none!important;
    padding:14px 18px!important;
  }
  #assistant-dialog[open] .assistant-form{
    padding:12px 14px calc(10px + env(safe-area-inset-bottom))!important;
  }
}

/* Jarvis verified-source result cards. */
.assistant-result{min-width:0;display:flex;flex-direction:column;text-decoration:none;cursor:pointer}
.assistant-result.has-image img{aspect-ratio:16/9;object-fit:cover;background:var(--bg)}
.assistant-result-icon{height:72px;padding:0!important;display:grid!important;place-items:center;color:var(--electric);background:linear-gradient(135deg,var(--bg),rgba(0,167,232,.12));font-size:28px;font-weight:900}
.assistant-result-copy{padding:10px!important;display:grid!important;gap:4px}
.assistant-result-copy small{padding:0;color:var(--blue);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.assistant-result-copy strong{padding:0;font-size:12px;line-height:1.3}
.assistant-result-copy b{padding:0;color:var(--text);font-size:11px}
.assistant-result-copy em{padding:2px 0 0;color:var(--muted);font-size:10px;font-style:normal;font-weight:800}
.assistant-results{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.assistant-result-group{min-width:0;display:grid;gap:7px}
.assistant-result-group h3{margin:0;display:flex;align-items:center;justify-content:space-between;gap:8px;color:inherit;font-size:11px;line-height:1.3;letter-spacing:.06em;text-transform:uppercase}
.assistant-result-group h3 span{min-width:22px;padding:2px 6px;display:inline-grid;place-items:center;border-radius:999px;background:rgba(0,167,232,.16);font-size:10px}
.assistant-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.assistant-results:not(.is-expanded) .assistant-result.is-overflow{display:none}
.assistant-results:not(.is-expanded) .assistant-result-group:not(:has(.assistant-result:not(.is-overflow))){display:none}
.assistant-results-toggle{justify-self:start;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--text);background:var(--surface);font-weight:800;cursor:pointer}
@media(max-width:420px){
  .assistant-result-list{grid-template-columns:1fr}
}

/* Clean iOS-inspired public card */
:root{--bg:#f3f6fa;--surface:rgba(255,255,255,.94);--text:#102033;--muted:#68788c;--line:rgba(18,50,91,.11);--glass:rgba(255,255,255,.78);--shadow:0 20px 60px rgba(28,55,88,.11)}
body{background:radial-gradient(circle at 50% -15%,#fff 0,#f4f7fb 42%,#edf2f7 100%)}
.app-lines{opacity:.26}
.card-header{background:rgba(248,251,254,.84);border-color:rgba(18,50,91,.08);backdrop-filter:blur(24px) saturate(160%)}
.share-strip{height:48px;background:#14365f}
.share-strip a,.share-strip button{font-size:20px;opacity:.9}
.brand-strip{height:74px;background:rgba(255,255,255,.78)}
.brand img{width:112px}.staff-login,.theme-toggle{height:38px;background:rgba(255,255,255,.65);box-shadow:0 5px 18px rgba(22,53,87,.07)}
.digital-card{background:rgba(255,255,255,.92)}
.card-visual{background:#071626}
.slider-top-wing{right:12px;top:12px;width:auto;height:auto;padding:9px 13px;display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(4,25,52,.6);box-shadow:0 8px 28px rgba(0,0,0,.14);backdrop-filter:blur(16px) saturate(150%);text-align:left}
.slider-top-wing::after{display:none}.slider-top-wing span{font-size:8px}.slider-top-wing strong{margin:0;font-size:11px}
.slider-sweep{left:0;right:0;bottom:0;height:118px;background:linear-gradient(0deg,rgba(4,17,34,.98) 0%,rgba(4,17,34,.86) 42%,transparent 100%);clip-path:none;filter:none}
.slider-profile-band{left:18px;right:12px;bottom:5px;height:111px;align-items:end}
.slider-profile-copy{padding-bottom:22px}.slider-profile-copy strong{font-size:19px}.slider-profile-band>img{width:136px;height:150px}
.slider-dots{bottom:8px}
.card-content{background:transparent}
.identity-panel{padding-top:28px!important}.identity-copy h1{color:#153e70;font-weight:780}.identity-copy .role{color:#53677e}.identity-copy h2{font-size:21px;color:#17283b}
.intro-panel p{font-size:16px;line-height:1.7}
.hero-ai-search{border-color:rgba(0,120,205,.2);background:rgba(255,255,255,.75);box-shadow:0 12px 34px rgba(17,73,124,.08);backdrop-filter:blur(18px)}
.keypad-button{border-color:rgba(18,50,91,.09);background:rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(28,58,91,.07);backdrop-filter:blur(16px)}
.key-icon{background:linear-gradient(145deg,#164a84,#008fda);box-shadow:0 8px 18px rgba(0,94,174,.2)}
.contact-panel a{background:rgba(255,255,255,.68)}
.google-review-button{box-shadow:0 12px 32px rgba(28,58,91,.08)}
.landing-ctas{background:rgba(248,251,254,.84);box-shadow:0 12px 35px rgba(18,45,77,.16)}
.assistant-launcher{box-shadow:0 12px 32px rgba(0,83,157,.25)}
html[data-theme=dark]{--bg:#0d1622;--surface:rgba(18,31,47,.94);--text:#f4f7fb;--muted:#aab7c7;--line:rgba(196,220,242,.13);--glass:rgba(18,31,47,.78);--shadow:0 22px 65px rgba(0,0,0,.28)}
html[data-theme=dark] body{background:radial-gradient(circle at 50% -15%,#1a2b40 0,#0e1926 44%,#09121d 100%)}
html[data-theme=dark] .card-header{background:rgba(13,25,39,.86)}
html[data-theme=dark] .brand-strip{background:rgba(12,26,42,.78)}
html[data-theme=dark] .staff-login,html[data-theme=dark] .theme-toggle{background:rgba(255,255,255,.045)}
html[data-theme=dark] .digital-card{background:rgba(13,29,47,.94)}
html[data-theme=dark] .identity-copy h1{color:#70cef5}
html[data-theme=dark] .identity-copy .role,html[data-theme=dark] .identity-copy h2{color:#f1f6fb}
html[data-theme=dark] .hero-ai-search,html[data-theme=dark] .keypad-button,html[data-theme=dark] .contact-panel a{background:rgba(255,255,255,.045)}
html[data-theme=dark] .landing-ctas{background:rgba(12,25,40,.86)}
@media(min-width:760px){
  .share-strip{padding-inline:max(28px,calc((100% - 1120px)/2))}
  .brand-strip{padding-inline:max(28px,calc((100% - 1120px)/2))}
  .digital-card{margin-top:30px;border-radius:30px;box-shadow:0 28px 85px rgba(26,52,82,.13)}
  .desktop-banner{position:relative;aspect-ratio:4.3/1;border-bottom:1px solid var(--line)}
  .desktop-banner::after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(0deg,rgba(255,255,255,.32),transparent)}
  .card-content{padding:40px 58px 60px}
  .identity-panel{padding:0 0 20px!important}
  .identity-copy{max-width:760px}
  .identity-copy h1{font-size:50px}
  .intro-panel p{max-width:850px}
  .keypad{grid-template-columns:repeat(3,minmax(0,1fr))}
  .keypad-button{aspect-ratio:1.55/1;border-radius:22px}
}
@media(max-width:759px){
  main,.app-view,.digital-card,.card-content,.keypad-section,.keypad,.intro-panel,.hero-ai-search{width:100%;max-width:100%;min-width:0}
  .app-view,.digital-card,.card-content,.keypad-section{overflow-x:hidden}
  .card-content{padding-inline:20px}
  .intro-panel p{max-width:100%;overflow-wrap:anywhere}
  .section-kicker{min-width:0}.section-kicker small{max-width:42%;text-align:right}
  .keypad{grid-template-columns:repeat(3,calc((100% - 18px)/3))}
  .keypad-button{width:100%;max-width:100%;overflow:hidden}
  .keypad-button strong{max-width:100%;overflow-wrap:anywhere}
  .slider-sweep{height:154px;background:linear-gradient(0deg,rgba(4,17,34,1) 0%,rgba(4,17,34,.98) 48%,rgba(4,17,34,.72) 72%,transparent 100%)}
  .slider-profile-band{left:18px;right:0;bottom:4px;height:145px;display:block}
  .slider-profile-copy{position:absolute;z-index:2;left:0;bottom:16px;max-width:58%;padding:0}
  .slider-profile-band>img{position:absolute;z-index:1;right:-2px;bottom:0;width:142px;height:160px}
  .slider-dots{left:50%;bottom:7px}
  .slider-top-wing{right:8px;top:9px;max-width:126px}
  .slider-top-wing span{display:none}
}

.phone-caption,.desktop-welcome{display:none}
.action-card{padding:46px 30px 30px;display:grid;gap:13px;text-align:center}.action-card h2,.action-card p{margin:0}.action-card p:not(.eyebrow){color:var(--muted);line-height:1.6}.action-icon{width:70px;height:70px;margin:auto;display:grid;place-items:center;border-radius:22px;color:#fff;background:linear-gradient(145deg,#164a84,#00a5e8);box-shadow:0 14px 35px rgba(0,108,190,.24);font-size:30px}.action-number{display:block;font-size:18px}.qr-action-card .qr-large{margin-bottom:8px}
.finance-stage-card{width:min(100% - 30px,900px);margin:20px auto;padding:clamp(25px,5vw,55px);display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.finance-stage-card h2{margin:8px 0 14px;font-size:clamp(32px,5vw,58px);line-height:1}.finance-stage-card p{max-width:620px;color:var(--muted);line-height:1.65}.stage-kicker{color:var(--blue);font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.finance-orb{width:190px;height:190px;display:grid;place-items:center;align-content:center;border-radius:50%;color:#fff;background:radial-gradient(circle at 35% 30%,#39c4ff,#0864b8 55%,#12325b);box-shadow:0 25px 60px rgba(0,91,175,.25)}.finance-orb span{font-size:62px;font-weight:900}.finance-orb small{font-size:11px}

@media(min-width:900px){
  body{min-height:100vh}
  main{width:min(1480px,calc(100% - 56px));min-height:calc(100vh - 122px);padding:28px 0 42px;display:grid;grid-template-columns:430px minmax(0,1fr);gap:clamp(34px,5vw,76px);align-items:start}
  .home-view{display:block!important;grid-column:1;padding:0;min-height:0;position:sticky;top:22px}
  .phone-caption{margin:0 0 10px 18px;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.live-dot{width:8px;height:8px;border-radius:50%;background:#36cf82;box-shadow:0 0 0 5px rgba(54,207,130,.12)}
  .digital-card{width:430px;height:calc(100vh - 192px);min-height:620px;margin:0;border:9px solid #172231;border-radius:48px;overflow-y:auto;overflow-x:hidden;clip-path:inset(0 round 48px);isolation:isolate;background:var(--surface);box-shadow:0 35px 90px rgba(26,49,76,.22),inset 0 0 0 1px rgba(255,255,255,.28);scrollbar-width:thin;scrollbar-color:rgba(20,70,118,.3) transparent}
  .digital-card::-webkit-scrollbar{width:5px}.digital-card::-webkit-scrollbar-thumb{border-radius:9px;background:rgba(20,70,118,.3)}
  .desktop-banner{display:none}.card-visual{display:block;aspect-ratio:1/1.07}.card-content{padding:0 20px 44px}
  .identity-panel{padding:26px 3px 16px!important}.identity-copy h1{font-size:39px}.identity-copy h2{font-size:20px}
  .intro-panel p{font-size:15px}.hero-ai-search{grid-template-columns:44px minmax(0,1fr);margin:22px 0}.hero-ai-search button{grid-column:1/-1;width:100%}
  .keypad{grid-template-columns:repeat(3,calc((100% - 18px)/3));gap:9px}.keypad-button{aspect-ratio:1/1;border-radius:17px}.keypad-button strong{font-size:11px}
  .contact-panel{grid-template-columns:1fr}.share-panel{grid-template-columns:120px 1fr}
  .landing-ctas{display:none}.app-footer{display:none!important}
  .desktop-welcome{grid-column:2;min-height:calc(100vh - 192px);padding:clamp(70px,8vw,130px) clamp(25px,6vw,95px);display:flex;flex-direction:column;justify-content:center;border:1px solid rgba(18,50,91,.08);border-radius:40px;background:radial-gradient(circle at 80% 15%,rgba(0,167,232,.11),transparent 27rem),rgba(255,255,255,.54);box-shadow:0 28px 90px rgba(27,55,88,.08);backdrop-filter:blur(20px)}
  .desktop-welcome h1{margin:13px 0 20px;font-size:clamp(52px,6vw,88px);line-height:.93;letter-spacing:-.055em}.desktop-welcome h1 em{color:var(--blue);font-style:normal}.desktop-welcome>p{max-width:680px;color:var(--muted);font-size:18px;line-height:1.7}.stage-pills{margin:25px 0;display:flex;flex-wrap:wrap;gap:9px}.stage-pills span{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--glass);font-size:12px}.stage-hint{margin-top:25px;color:var(--blue);font-weight:800}.stage-hint span{margin-right:8px;font-size:26px}
  body.desktop-stage-open .desktop-welcome{display:none}
  body.desktop-stage-open #offerings-view.is-active,body.desktop-stage-open #specials-view.is-active,body.desktop-stage-open #finance-view.is-active,body.desktop-stage-open #service-view.is-active{grid-column:2;display:block;min-height:calc(100vh - 192px);max-height:calc(100vh - 150px);padding:0 0 40px;overflow:auto;border:1px solid var(--line);border-radius:36px;background:rgba(255,255,255,.64);box-shadow:0 28px 90px rgba(27,55,88,.09);backdrop-filter:blur(20px);animation:stageReveal .5s cubic-bezier(.2,.75,.2,1) both}
  @keyframes stageReveal{from{opacity:0;transform:translateX(45px) scale(.975)}}
  body.desktop-stage-open .page-heading,body.desktop-stage-open .page-intro{width:calc(100% - 54px)}
  body.desktop-stage-open .offerings-grid{width:calc(100% - 42px);grid-template-columns:repeat(2,minmax(0,1fr))}
  body.desktop-stage-open .catalogue-ai-prompt{width:calc(100% - 54px)}
  body.desktop-stage-open .special-stage{width:min(calc(100% - 50px),650px)}
  body.desktop-stage-open .finance-stage-card{width:calc(100% - 50px)}
  html[data-theme=dark] .desktop-welcome,html[data-theme=dark] body.desktop-stage-open #offerings-view.is-active,html[data-theme=dark] body.desktop-stage-open #specials-view.is-active,html[data-theme=dark] body.desktop-stage-open #finance-view.is-active,html[data-theme=dark] body.desktop-stage-open #service-view.is-active{background:radial-gradient(circle at 80% 15%,rgba(0,167,232,.1),transparent 27rem),rgba(15,30,47,.72)}
}
@media(max-width:720px){.finance-stage-card{grid-template-columns:1fr}.finance-orb{width:150px;height:150px;margin:auto}}

/* Slider artwork masks: preserve vehicle copy/specs, hide duplicated artwork branding/footer */
.slider-top-wing{position:absolute!important;z-index:6!important;right:-24px!important;top:-24px!important;width:174px!important;height:105px!important;padding:0!important;display:block!important;border:0!important;border-radius:0 0 0 100%!important;background:linear-gradient(145deg,#153b65 8%,#0a2748 80%)!important;box-shadow:-12px 14px 32px rgba(0,18,45,.22)!important;backdrop-filter:none!important}
.slider-top-wing::before{content:"";position:absolute;left:-24px;bottom:4px;width:94px;height:34px;border-bottom:1px solid rgba(103,211,255,.5);border-radius:0 0 0 100%}
.slider-top-wing::after,.slider-top-wing span,.slider-top-wing strong{display:none!important}
.slider-sweep{position:absolute!important;z-index:5!important;left:-12%!important;right:-12%!important;bottom:-27px!important;height:92px!important;background:var(--surface)!important;clip-path:ellipse(68% 62% at 50% 100%)!important;filter:drop-shadow(0 -8px 18px rgba(17,47,80,.1))!important}
.slider-profile-band{position:absolute!important;z-index:7!important;left:auto!important;right:-2px!important;bottom:-58px!important;width:174px!important;height:184px!important;display:block!important}
.slider-profile-copy{display:none!important}
.slider-profile-band>img{position:absolute!important;right:0!important;bottom:0!important;width:174px!important;height:184px!important;object-fit:contain!important;object-position:right bottom!important;filter:drop-shadow(0 12px 24px rgba(0,0,0,.22))!important}
.identity-panel{min-height:142px!important;padding:44px 172px 15px 3px!important}
@media(max-width:899px){
  .card-visual{aspect-ratio:1/1!important;overflow:visible!important}
  .home-slider,.home-slide{overflow:hidden!important}
  .home-slide img{object-fit:contain!important;background:#020812}
  .slider-dots{left:45%!important;bottom:-7px!important}
}
@media(min-width:900px){
  .card-visual{aspect-ratio:1/1!important;overflow:visible!important}
  .home-slider,.home-slide{overflow:hidden!important}
  .home-slide img{object-fit:contain!important;background:#020812}
  .slider-dots{left:45%!important;bottom:-7px!important}
  .identity-panel{padding:44px 172px 16px 3px!important}
  .identity-copy h1{font-size:36px!important}
}

/* Final smooth artwork waves */
.slider-top-wing{
  right:-44px!important;
  top:-47px!important;
  width:190px!important;
  height:126px!important;
  border-radius:0 0 0 100%!important;
  background:var(--surface)!important;
  box-shadow:0 12px 34px rgba(18,50,91,.08)!important;
  transform:rotate(-5deg);
  transform-origin:top right;
}
.slider-top-wing::before{
  content:""!important;
  position:absolute!important;
  left:-47px!important;
  bottom:2px!important;
  width:112px!important;
  height:52px!important;
  border:0!important;
  border-radius:0 0 0 100%!important;
  background:var(--surface)!important;
}
.slider-sweep{
  left:-9%!important;
  right:auto!important;
  bottom:-45px!important;
  width:118%!important;
  height:112px!important;
  border-radius:52% 48% 0 0 / 100% 92% 0 0!important;
  background:var(--surface)!important;
  clip-path:none!important;
  filter:drop-shadow(0 -10px 20px rgba(18,50,91,.07))!important;
  transform:rotate(-2.2deg)!important;
  transform-origin:center bottom!important;
}
.slider-profile-band{
  display:none!important;
}
.identity-panel{
  min-height:205px!important;
  padding:62px 190px 18px 3px!important;
}
.identity-photo{position:absolute;z-index:8;right:-4px;top:22px;width:184px;height:196px}
.identity-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:right top;filter:drop-shadow(0 18px 30px rgba(18,42,70,.2))}
.identity-photo img.is-profile-fallback{width:72%!important;height:72%!important;margin:14%!important;object-fit:contain!important;opacity:.84;filter:none!important}
.floating-share{position:fixed;z-index:60;right:14px;bottom:158px;height:48px;padding:6px 14px 6px 10px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;color:var(--text);background:var(--glass);box-shadow:0 12px 32px rgba(22,50,80,.16);backdrop-filter:blur(18px) saturate(150%)}.floating-share svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.floating-share span{font-size:12px;font-weight:800}html[data-theme=dark] .floating-share{background:rgba(14,30,48,.86)}
.slider-dots{bottom:-18px!important;left:42%!important}
@media(min-width:900px){
  .identity-panel{padding:62px 190px 18px 3px!important}
  .identity-photo{right:-4px;top:22px;width:184px;height:196px}
}
@media(max-width:600px){.floating-share span{display:none}.floating-share{width:48px;padding:0;justify-content:center}}

/* Portrait sits fully beside the identity, with tighter purposeful waves */
.slider-top-wing{right:-14px!important;top:-5px!important;width:150px!important;height:74px!important;transform:none!important}
.slider-top-wing::before{left:-38px!important;bottom:0!important;width:88px!important;height:34px!important}
.slider-sweep{left:-7%!important;bottom:-25px!important;width:114%!important;height:72px!important;transform:rotate(-1.4deg)!important}
.identity-panel{position:relative!important;min-height:178px!important;padding:32px 0 18px 3px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 154px!important;gap:8px!important;align-items:center!important}
.identity-photo{position:relative!important;z-index:8!important;right:auto!important;top:auto!important;width:154px!important;height:172px!important;align-self:start!important}
.identity-photo img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:right top!important}
.slider-dots{bottom:-10px!important;left:44%!important}
@media(min-width:900px){
  .identity-panel{padding:32px 0 18px 3px!important;grid-template-columns:minmax(0,1fr) 154px!important}
  .identity-photo{right:auto!important;top:auto!important;width:154px!important;height:172px!important}
}

/* Keep profile fully inside identity row and use a single clean top curve */
.slider-top-wing{right:0!important;top:0!important;width:112px!important;height:58px!important;border-radius:0 0 0 62px!important;box-shadow:0 10px 24px rgba(18,50,91,.06)!important}
.slider-top-wing::before{display:none!important}
.identity-panel{display:block!important;min-height:188px!important;padding:35px 168px 18px 3px!important}
.identity-photo{position:absolute!important;right:10px!important;top:25px!important;width:148px!important;height:164px!important}
@media(min-width:900px){
  .identity-panel{display:block!important;padding:35px 168px 18px 3px!important}
  .identity-photo{right:10px!important;top:25px!important;width:148px!important;height:164px!important}
}
@media(max-width:899px){
  main,.home-view,.digital-card{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
  .card-visual,.card-content{width:100%!important;max-width:100%!important}
  .card-content{padding-left:20px!important;padding-right:20px!important}
  .identity-panel{width:calc(100% - 40px)!important;max-width:calc(100% - 40px)!important}
}

/* Final identity composition: clean iOS-style portrait and typography row */
.card-visual{
  margin-bottom:0!important;
  overflow:hidden!important;
}
.slider-top-wing,
.slider-sweep,
.slider-profile-band{
  display:none!important;
}
.slider-dots{
  left:50%!important;
  bottom:10px!important;
  transform:translateX(-50%)!important;
}
.identity-panel{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  padding:30px 2px 18px!important;
  display:grid!important;
  grid-template-columns:124px minmax(0,1fr)!important;
  grid-template-areas:
    "photo copy"
    "tagline tagline"!important;
  column-gap:20px!important;
  row-gap:24px!important;
  align-items:center!important;
}
.identity-photo{
  grid-area:photo!important;
  position:static!important;
  width:124px!important;
  height:124px!important;
  margin:0!important;
  align-self:center!important;
  filter:drop-shadow(0 10px 18px rgba(18,50,91,.18))!important;
}
.identity-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
}
.identity-copy{
  grid-area:copy!important;
  min-width:0!important;
  align-self:center!important;
}
.identity-copy h1{
  margin:0 0 8px!important;
  max-width:none!important;
  color:#153e70!important;
  font-size:clamp(38px,10.5vw,47px)!important;
  line-height:.91!important;
  letter-spacing:-.055em!important;
  overflow-wrap:normal!important;
}
.identity-copy .role{
  margin:0!important;
  color:#65768b!important;
  font-size:clamp(18px,5.2vw,22px)!important;
  line-height:1.2!important;
  font-style:italic!important;
}
.identity-panel>h2{
  grid-area:tagline!important;
  margin:0!important;
  max-width:none!important;
  color:#172b45!important;
  font-size:21px!important;
  line-height:1.16!important;
  letter-spacing:-.025em!important;
}
html[data-theme=dark] .identity-copy h1{color:#72cef5!important}
html[data-theme=dark] .identity-copy .role{color:#b5c2d1!important}
html[data-theme=dark] .identity-panel>h2{color:#f3f7fb!important}
@media(max-width:370px){
  .identity-panel{
    grid-template-columns:105px minmax(0,1fr)!important;
    column-gap:15px!important;
  }
  .identity-photo{width:105px!important;height:105px!important}
  .identity-copy h1{font-size:34px!important}
}
@media(min-width:900px){
  .identity-panel{
    padding:30px 2px 18px!important;
    grid-template-columns:124px minmax(0,1fr)!important;
  }
  .identity-photo{width:124px!important;height:124px!important}
  .identity-copy h1{font-size:44px!important}
}

/* Lift the white identity panel over the artwork's dealership contact footer. */
@media(max-width:759px), (min-width:900px){
  .card-content{
    position:relative!important;
    z-index:9!important;
    margin-top:-68px!important;
    background:#fff!important;
    border-radius:24px 24px 0 0!important;
    box-shadow:0 -12px 30px rgba(18,50,91,.08)!important;
  }
  .slider-dots{
    bottom:78px!important;
  }
}

/* Final mobile chrome behaviour and dark-mode contrast corrections. */
@media(max-width:700px){
  .card-header{
    transform:translate3d(0,0,0)!important;
    opacity:1;
    transition:transform .3s cubic-bezier(.22,.75,.2,1),opacity .22s ease!important;
  }
  .floating-share{
    transform:translate3d(0,0,0)!important;
    opacity:1;
    transition:transform .3s cubic-bezier(.22,.75,.2,1),opacity .22s ease,box-shadow .22s ease!important;
  }
  body.mobile-header-hidden .card-header{
    transform:translate3d(0,calc(-100% - 3px),0)!important;
    opacity:0;
    pointer-events:none!important;
  }
  body.mobile-header-hidden .floating-share{
    transform:translate3d(86px,0,0)!important;
    opacity:0;
    pointer-events:none!important;
  }
}

html[data-theme=dark]{
  --bg:#091523;
  --surface:#102238;
  --text:#f7fbff;
  --muted:#c1cedd;
  --line:rgba(188,215,240,.2);
  --glass:rgba(16,34,56,.92);
}
html[data-theme=dark] body{color:#f7fbff}
html[data-theme=dark] .card-header{background:rgba(9,21,35,.94)!important;border-color:rgba(188,215,240,.14)!important}
html[data-theme=dark] .brand-strip{background:transparent!important}
html[data-theme=dark] .card-content{background:#102238!important}
html[data-theme=dark] .identity-copy h1{color:#72c9f3!important}
html[data-theme=dark] .identity-copy .role{color:#d5dfeb!important}
html[data-theme=dark] .identity-copy h2,
html[data-theme=dark] .section-kicker span,
html[data-theme=dark] .keypad-button strong,
html[data-theme=dark] .contact-panel strong,
html[data-theme=dark] .simple-page-card h2,
html[data-theme=dark] dialog h2{color:#fff!important}
html[data-theme=dark] .intro-panel p,
html[data-theme=dark] .simple-page-card p,
html[data-theme=dark] .page-intro,
html[data-theme=dark] .assistant-note,
html[data-theme=dark] dialog label,
html[data-theme=dark] .install-guide>p:not(.eyebrow),
html[data-theme=dark] .install-steps small{color:#c1cedd!important}
html[data-theme=dark] .hero-ai-search,
html[data-theme=dark] .catalogue-ai-prompt{
  background:linear-gradient(145deg,rgba(0,94,168,.2),rgba(0,30,80,.15))!important;
  border-color:rgba(91,188,242,.34)!important;
}
html[data-theme=dark] .hero-ai-search input,
html[data-theme=dark] .assistant-form input,
html[data-theme=dark] dialog input,
html[data-theme=dark] dialog textarea{color:#fff!important;background:#0a1a2c!important;border-color:rgba(188,215,240,.22)!important}
html[data-theme=dark] input::placeholder,
html[data-theme=dark] textarea::placeholder{color:#9fb2c7!important;opacity:1}
html[data-theme=dark] .keypad-button,
html[data-theme=dark] .contact-panel a,
html[data-theme=dark] .install-steps li,
html[data-theme=dark] .welcome-choice{
  color:#f7fbff!important;
  background:#132a45!important;
  border-color:rgba(188,215,240,.17)!important;
}
html[data-theme=dark] .key-icon{color:#72c9f3!important;background:rgba(91,188,242,.1)!important;border-color:rgba(91,188,242,.2)!important}
html[data-theme=dark] .staff-login,
html[data-theme=dark] .theme-toggle{color:#f7fbff!important;background:#132a45!important;border-color:rgba(188,215,240,.18)!important}
html[data-theme=dark] .secondary-button{color:#fff!important;background:#132a45!important;border-color:rgba(188,215,240,.23)!important}
html[data-theme=dark] .assistant-message.bot{color:#f7fbff!important;background:#172d48!important}
html[data-theme=dark] .assistant-message.user{background:var(--ford-mid)!important}
html[data-theme=dark] .landing-ctas{background:rgba(9,21,35,.94)!important;border-color:rgba(188,215,240,.16)!important}
.action-dismissed{display:none!important}
.app-footer.has-dismissed-actions{grid-template-columns:repeat(var(--footer-action-count,4),minmax(0,1fr))}
.app-footer.is-visible.has-dismissed-actions{
  display:flex!important;
  align-items:center;
  justify-content:center;
}
.app-footer.has-dismissed-actions> :is(button,a):not(.action-dismissed){
  flex:0 1 calc((100% - var(--footer-slot-gap-total,12px))/var(--footer-slot-count,4));
  width:calc((100% - var(--footer-slot-gap-total,12px))/var(--footer-slot-count,4));
  max-width:calc((100% - var(--footer-slot-gap-total,12px))/var(--footer-slot-count,4));
}
.landing-ctas.is-single-action{grid-template-columns:1fr}
.landing-ctas.install-is-hidden{grid-template-columns:1fr;width:min(92vw,270px)}
.landing-ctas.install-is-hidden .secondary-button{min-width:0;width:100%;justify-self:center}
.landing-ctas.actions-complete{display:none!important}

/* AI keeps the crisp light treatment in both themes. */
html[data-theme=dark] .assistant-launcher{
  color:#fff!important;
  background:var(--ford)!important;
  border-color:rgba(255,255,255,.18)!important;
}
html[data-theme=dark] .assistant-launcher span{
  color:var(--ford)!important;
  background:#fff!important;
}
html[data-theme=dark] .hero-ai-search{
  color:#102033!important;
  background:rgba(255,255,255,.96)!important;
  border-color:rgba(0,94,168,.24)!important;
}
html[data-theme=dark] .hero-ai-search label{color:var(--ford-mid)!important}
html[data-theme=dark] .hero-ai-search input{
  color:#102033!important;
  background:transparent!important;
  border:0!important;
}
html[data-theme=dark] .hero-ai-search input::placeholder{color:#68788c!important}
html[data-theme=dark] .landing-ctas{
  background:rgba(255,255,255,.96)!important;
  border-color:rgba(0,30,80,.12)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.28)!important;
}
html[data-theme=dark] .landing-ctas .secondary-button{
  color:#102033!important;
  background:#fff!important;
  border-color:rgba(0,30,80,.14)!important;
}

/* Ford Bluff design tokens: one consistent brand system across every surface. */
:root{
  --ford:#001e50;
  --ford-deep:#00142f;
  --ford-mid:#005ea8;
  --ford-bright:#1677c8;
  --ford-glow:#5bbcf2;
  --blue:var(--ford-mid);
  --electric:var(--ford-bright);
  --focus-ring:0 0 0 4px rgba(0,94,168,.14);
}
.share-strip,.app-footer{background:var(--ford-deep)!important}
.primary-button,.hero-ai-search button,.search-ai-mark,.assistant-avatar,.action-icon,.finance-shield,.finance-steps strong{
  background:linear-gradient(145deg,var(--ford),var(--ford-mid))!important;
}
.hero-ai-search,.catalogue-ai-prompt{
  border-color:rgba(0,94,168,.28)!important;
  background:linear-gradient(145deg,rgba(0,94,168,.08),rgba(22,119,200,.025))!important;
  box-shadow:0 13px 34px rgba(0,30,80,.08)!important;
}
.key-icon{
  color:var(--ford-mid)!important;
  background:rgba(0,94,168,.075)!important;
  border:1px solid rgba(0,94,168,.13);
  box-shadow:none!important;
}
.assistant-launcher,.floating-share{
  color:#fff!important;
  background:var(--ford)!important;
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:0 14px 34px rgba(0,30,80,.27)!important;
}
.assistant-launcher span{
  color:var(--ford)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.55),0 0 18px rgba(91,188,242,.48)!important;
}
.app-footer button.is-current{color:var(--ford-glow)!important}
.app-footer button.is-current span{color:var(--ford-glow)!important}
.app-footer button.is-current small{color:#fff!important}
.app-footer button.is-current::after{
  background:linear-gradient(90deg,transparent,var(--ford-glow),transparent)!important;
  box-shadow:0 0 8px rgba(91,188,242,.72)!important;
}
.stage-kicker,.dialog-price,.hero-ai-search label,.welcome-choice strong{color:var(--ford-mid)!important}
.staff-login:focus-visible,.theme-toggle:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,
.app-footer button:focus-visible,.floating-share:focus-visible,.assistant-launcher:focus-visible{
  outline:0;
  box-shadow:var(--focus-ring)!important;
}

/* Clean, platform-aware install guide. */
.install-guide{padding:34px;display:grid;gap:13px}
.install-brand{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.install-brand img{width:112px;height:auto}
.install-guide h2,.install-guide p{margin:0}
.install-guide>p:not(.eyebrow){color:var(--muted);line-height:1.6}
.install-guide-content{margin-top:8px}
.install-steps{margin:0;padding:0;display:grid;gap:10px;list-style:none}
.install-steps li{padding:14px;display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;border:1px solid var(--line);border-radius:17px;background:var(--bg)}
.install-steps strong,.install-steps small{display:block}
.install-steps small{margin-top:4px;color:var(--muted);line-height:1.45}
.install-step-number,.install-step-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;color:#fff;background:var(--ford);font-size:18px;font-weight:900}
.inline-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-5px}
.install-desktop-grid{display:grid;grid-template-columns:185px 1fr;gap:25px;align-items:center}
.install-qr{position:relative;padding:10px;border:1px solid var(--line);border-radius:22px;background:#fff}
.install-qr>img{display:block;width:100%;border-radius:13px}
.install-qr>span{position:absolute;left:50%;top:50%;width:46px;height:46px;padding:4px;display:grid;place-items:center;border-radius:11px;background:#fff;transform:translate(-50%,-50%);box-shadow:0 5px 16px rgba(0,30,80,.18)}
.install-qr>span img{width:100%;border-radius:8px}
.install-desktop-copy p{color:var(--muted);line-height:1.55}
.install-desktop-copy .primary-button{display:inline-flex;align-items:center;gap:8px;border:0}
.iframe-action-card{padding-inline:18px;text-align:left}
.iframe-action-card h2,.iframe-action-card .eyebrow{text-align:center}
.iframe-action-note{max-width:560px;margin-inline:auto;text-align:center}
.iframe-action-card iframe{width:100%;height:min(62vh,620px);border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 16px 42px rgba(13,44,82,.12)}
.iframe-action-card .secondary-button{justify-self:center}
.install-close-button{min-height:48px;justify-self:start;margin-top:2px;display:grid;place-items:center;font:inherit;font-weight:800;cursor:pointer}

/* Mobile controls follow reading direction: hide down, return up. */
@media(max-width:700px){
  .card-header,.floating-share{
    transition:transform .32s cubic-bezier(.2,.75,.2,1),opacity .25s ease!important;
    will-change:transform;
  }
  body.mobile-header-hidden .card-header{transform:translateY(-105%);pointer-events:none}
  body.mobile-header-hidden .floating-share{transform:translateX(78px);opacity:0;pointer-events:none}
}

/* Every mobile dialog is a true full-screen app surface. */
@media(max-width:600px){
  body:has(dialog[open]){overflow:hidden}
  dialog,
  #enquiry-dialog,#subscribe-dialog,#assistant-dialog,#install-dialog,#vehicle-dialog,
  #action-dialog,#review-exit-dialog,#popia-dialog{
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:auto!important;
    border:0!important;
    border-radius:0!important;
    overscroll-behavior:contain;
    background:var(--surface)!important;
  }
  dialog::backdrop{background:rgba(0,10,28,.84)!important}
  dialog .dialog-close{
    position:fixed!important;
    z-index:20!important;
    top:calc(14px + env(safe-area-inset-top))!important;
    right:14px!important;
    float:none!important;
    color:#fff!important;
    background:var(--ford)!important;
    box-shadow:0 8px 24px rgba(0,30,80,.24);
  }
  #assistant-dialog[open]{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto auto auto;
    overflow:hidden!important;
  }
  .assistant-heading{padding:calc(26px + env(safe-area-inset-top)) 68px 14px 20px}
  .assistant-heading h2{font-size:28px}
  .assistant-messages{min-height:0!important;max-height:none!important;padding:10px 18px;overflow-y:auto}
  .assistant-results{grid-template-columns:repeat(2,minmax(0,1fr))}
  .assistant-form{padding:12px 14px calc(10px + env(safe-area-inset-bottom));background:var(--surface)}
  .assistant-note{padding:0 18px calc(14px + env(safe-area-inset-bottom))}
  .install-guide{
    min-height:100dvh;
    padding:calc(72px + env(safe-area-inset-top)) 20px calc(25px + env(safe-area-inset-bottom));
    align-content:start;
    background:radial-gradient(circle at 100% 0,rgba(22,119,200,.09),transparent 18rem),var(--surface);
  }
  .install-guide h2{font-size:clamp(31px,9vw,42px);line-height:1.02}
  .install-desktop-grid{grid-template-columns:1fr}
  .install-qr{width:min(230px,72vw);margin:auto}
  .install-close-button{width:100%;min-height:52px;border-radius:16px}
  .dialog-vehicle-layout{min-height:100dvh;display:block}
  .dialog-vehicle-layout>img{width:100%;height:auto;max-height:none}
  .dialog-vehicle-info{padding:24px 20px calc(30px + env(safe-area-inset-bottom))}
  .action-card,.review-exit-content,.welcome-content{
    min-height:100dvh;
    padding:calc(76px + env(safe-area-inset-top)) 22px calc(28px + env(safe-area-inset-bottom))!important;
    align-content:start;
  }
  .welcome-content>img{width:132px}
  #popia-dialog .welcome-actions{grid-template-columns:1fr}
}
html[data-theme=dark] .card-content{background:#122033!important}

/* Specials: two-column mobile gallery with tap-to-expand cards. */
.special-stage{
  width:min(calc(100% - 24px),1050px)!important;
  display:grid!important;
  grid-template-columns:repeat(2,calc((100% - 12px)/2))!important;
  gap:12px!important;
  align-items:start!important;
}
.special-gallery-card{
  width:100%;
  max-width:100%;
  min-width:0;
  padding:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  color:var(--text);
  background:var(--surface);
  box-shadow:0 10px 28px rgba(18,50,91,.08);
  text-align:left;
  transition:transform .22s ease,box-shadow .22s ease;
}
.special-gallery-copy strong{word-break:break-word}
#specials-view{overflow-x:hidden}
.special-gallery-card:active{transform:scale(.975)}
.special-gallery-card img{
  display:block;
  width:100%;
  aspect-ratio:.91;
  object-fit:cover;
  background:#030914;
}
.mymex-managed-media{
  position:relative;
  overflow:hidden;
  display:block;
  width:100%;
  min-height:96px;
  color:var(--muted);
  background:linear-gradient(135deg,rgba(0,104,189,.08),rgba(0,167,232,.04)),var(--surface);
}
.mymex-managed-media::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.42) 45%,transparent 70%);
  transform:translateX(-100%);
}
.mymex-managed-media.is-loading::before{
  opacity:1;
  animation:mymexMediaLoad 1.15s linear infinite;
}
.mymex-managed-media img{
  opacity:0;
  transition:opacity .24s ease;
}
.mymex-managed-media.is-loaded img{
  opacity:1;
}
.mymex-managed-media-fallback,.mymex-managed-media.is-missing{
  min-height:inherit;
  display:grid;
  place-items:center;
  gap:6px;
  color:var(--blue);
  border:1px dashed color-mix(in srgb,var(--blue) 35%,var(--line));
  background:color-mix(in srgb,var(--blue) 7%,var(--surface));
  text-align:center;
}
.mymex-managed-media-fallback>span,.mymex-managed-media.is-missing>span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 22px rgba(0,30,80,.08);
}
.mymex-managed-media-fallback>span svg,.mymex-managed-media.is-missing>span svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mymex-managed-media-fallback small{
  display:block;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
}
@keyframes mymexMediaLoad{to{transform:translateX(100%)}}
.special-gallery-copy{
  min-width:0;
  padding:9px 10px 11px;
  display:grid;
  gap:5px;
}
.special-gallery-copy strong{
  min-width:0;
  font-size:12px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.special-gallery-copy small{
  color:var(--blue);
  font-size:12px;
  font-weight:900;
}
@media(min-width:760px){
  .special-stage{gap:18px!important}
  .special-gallery-copy{padding:13px 14px 15px}
  .special-gallery-copy strong,.special-gallery-copy small{font-size:15px}
}
@media(min-width:900px){
  body.desktop-stage-open .special-stage{
    width:calc(100% - 42px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Thin automotive line-icon family based on the supplied keypad reference. */
.key-icon{
  width:46px!important;
  height:46px!important;
  color:#123f73!important;
  background:transparent!important;
  box-shadow:none!important;
}
.key-icon svg{
  width:34px!important;
  height:34px!important;
  stroke-width:1.45!important;
}
html[data-theme=dark] .key-icon{color:#64caf5!important}

/* Ford AI: luminous orb, orbiting sparkle and premium restrained motion. */
.assistant-launcher{
  isolation:isolate;
  overflow:visible!important;
  animation:aiFloat 3.4s ease-in-out infinite;
}
.assistant-launcher::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:-8px;
  border-radius:999px;
  background:conic-gradient(from 0deg,transparent 0 18%,rgba(116,222,255,.9) 25%,transparent 34% 62%,rgba(255,255,255,.85) 70%,transparent 79%);
  filter:blur(1px);
  opacity:.72;
  animation:aiOrbit 4.5s linear infinite;
}
.assistant-launcher::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-12px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(0,179,245,.25),transparent 66%);
  animation:aiAura 2.4s ease-in-out infinite;
}
.assistant-launcher span{
  position:relative;
  isolation:isolate;
  animation:aiCorePulse 2.1s ease-in-out infinite;
}
.assistant-launcher span::before,
.assistant-launcher span::after{
  content:"✦";
  position:absolute;
  color:#fff;
  text-shadow:0 0 8px #5bd8ff,0 0 16px #009ee5;
  pointer-events:none;
}
.assistant-launcher span::before{
  right:-8px;
  top:-9px;
  font-size:12px;
  animation:aiSparkle 1.8s ease-in-out infinite;
}
.assistant-launcher span::after{
  left:-8px;
  bottom:-7px;
  font-size:8px;
  animation:aiSparkle 1.8s .7s ease-in-out infinite;
}
.search-ai-mark,.assistant-avatar{
  position:relative;
  isolation:isolate;
  animation:aiCorePulse 2.4s ease-in-out infinite;
}
@keyframes aiOrbit{to{transform:rotate(360deg)}}
@keyframes aiFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes aiAura{0%,100%{opacity:.35;transform:scale(.92)}50%{opacity:.82;transform:scale(1.08)}}
@keyframes aiCorePulse{0%,100%{box-shadow:0 0 14px rgba(91,216,255,.55)}50%{box-shadow:0 0 8px #fff,0 0 27px #38c9ff,0 0 44px rgba(0,126,222,.48)}}
@keyframes aiSparkle{0%,100%{opacity:.15;transform:scale(.45) rotate(0)}45%{opacity:1;transform:scale(1.3) rotate(35deg)}70%{opacity:.35;transform:scale(.7) rotate(65deg)}}
@media(prefers-reduced-motion:reduce){
  .assistant-launcher,.assistant-launcher::before,.assistant-launcher::after,.assistant-launcher span,.assistant-launcher span::before,.assistant-launcher span::after,.search-ai-mark,.assistant-avatar{animation:none!important}
}

/* One consistent public-card layout below desktop: no tablet/intermediate design. */
@media(min-width:760px) and (max-width:899px){
  .card-header{position:sticky!important}
  .brand-strip{padding-inline:18px!important}
  .home-view{width:430px!important;max-width:430px!important;margin:0 auto!important}
  .digital-card{width:430px!important;max-width:430px!important;margin:0 auto!important;border:0!important;border-radius:0!important;overflow:visible!important;box-shadow:0 24px 70px rgba(18,50,91,.12)!important}
  .desktop-banner{display:none!important}
  .card-visual{display:block!important;width:430px!important;aspect-ratio:1/1!important}
  .card-content{padding:0 20px 44px!important}
  .identity-panel{grid-template-columns:124px minmax(0,1fr)!important}
  .contact-panel{grid-template-columns:1fr!important}
  .keypad{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:899px){
  .card-content{margin-top:-48px!important}
  .slider-dots{bottom:58px!important}
}

/* Specials: edge-to-edge two-up image gallery. */
#specials-view .page-heading,#specials-view .page-intro{width:calc(100% - 30px)!important}
.special-stage{width:100%!important;max-width:1050px!important;gap:3px!important}
.special-gallery-card{border:0!important;border-radius:0!important;box-shadow:none!important}
.special-gallery-card img{border-radius:0!important}
.special-gallery-copy{padding:8px 9px 11px!important}
@media(max-width:899px){.special-stage{grid-template-columns:repeat(2,calc((100% - 3px)/2))!important}}

/* Request popup aligned with the Call and QR action language. */
#enquiry-dialog{width:min(94vw,560px)}
#enquiry-form{padding:36px 24px 26px}
.enquiry-heading{display:grid;grid-template-columns:66px 1fr;gap:14px;align-items:center}
.enquiry-heading h2{font-size:28px;line-height:1.05}
.enquiry-icon{width:62px;height:62px;margin:0;border-radius:20px}
.enquiry-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.enquiry-context{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:13px;color:var(--muted);background:var(--bg);line-height:1.45}
.enquiry-email-note{display:block;margin-top:-7px;color:var(--muted);font-size:12px;line-height:1.45}
#enquiry-form fieldset{padding:12px 14px;flex-wrap:wrap}

/* Refined Finance experience. */
.finance-stage-card{
  position:relative;
  overflow:hidden;
  grid-template-columns:minmax(0,1fr) 250px;
  background:linear-gradient(145deg,var(--surface),rgba(227,244,255,.76));
}
.finance-stage-card::before{content:"";position:absolute;right:-90px;top:-120px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(0,167,232,.2),transparent 68%);pointer-events:none}
.finance-copy{position:relative;z-index:1}
.finance-copy h2{max-width:650px}
.finance-steps{margin:24px 0;display:grid;gap:10px}
.finance-steps span{padding:12px 14px;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;border:1px solid var(--line);border-radius:15px;background:var(--glass)}
.finance-steps strong{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(145deg,#164a84,#00a5e8)}
.finance-steps small{color:var(--text);font-size:13px;line-height:1.35}
.finance-start{min-width:220px}
.finance-trust{position:relative;z-index:1;padding:28px 22px;display:grid;gap:10px;align-content:center;border:1px solid rgba(255,255,255,.55);border-radius:24px;background:rgba(255,255,255,.55);box-shadow:0 18px 45px rgba(18,50,91,.1);backdrop-filter:blur(18px)}
.finance-shield{width:72px;height:72px;display:grid;place-items:center;border-radius:23px;color:#fff;background:linear-gradient(145deg,#123f73,#00a7e8);box-shadow:0 15px 34px rgba(0,112,194,.22)}
.finance-shield svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.finance-trust strong{font-size:20px}.finance-trust p{margin:0!important;font-size:13px!important;line-height:1.5!important}
html[data-theme=dark] .finance-stage-card{background:linear-gradient(145deg,#112238,#0c1a2b)}
html[data-theme=dark] .finance-trust{background:rgba(255,255,255,.045);border-color:var(--line)}
@media(max-width:720px){
  .finance-stage-card{grid-template-columns:1fr!important}
  .finance-trust{padding:20px;grid-template-columns:62px 1fr;align-items:center}
  .finance-trust p{grid-column:1/-1}
  .finance-shield{width:62px;height:62px}
}

/* Jarvis concierge refresh: premium tenant assistant, using the real Jarvis portrait. */
#assistant-dialog[open]{
  position:fixed!important;
  inset:auto!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  width:min(780px,calc(100vw - 34px))!important;
  max-height:min(880px,calc(100dvh - 34px))!important;
  display:grid!important;
  grid-template-rows:auto minmax(250px,1fr) auto auto!important;
  overflow:hidden!important;
  border:1px solid rgba(99,214,255,.36)!important;
  border-radius:34px!important;
  color:#f7fbff!important;
  background:
    radial-gradient(circle at 21% 12%,rgba(37,184,255,.3),transparent 22rem),
    radial-gradient(circle at 92% 18%,rgba(0,230,198,.13),transparent 18rem),
    linear-gradient(150deg,#030914 0%,#061b31 46%,#082844 100%)!important;
  box-shadow:0 40px 120px rgba(0,7,20,.65),0 0 0 1px rgba(255,255,255,.04) inset,0 0 70px rgba(0,166,255,.2)!important;
}
#assistant-dialog[open]::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg,transparent 0 42%,rgba(80,214,255,.08) 45%,transparent 51%),
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.16),transparent 18rem);
  opacity:.9;
}
#assistant-dialog[open] .dialog-close{
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  left:auto!important;
  z-index:6!important;
  width:44px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:50%!important;
  color:#fff!important;
  background:rgba(255,255,255,.12)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.25)!important;
  backdrop-filter:blur(14px)!important;
}
#assistant-dialog[open] .assistant-heading{
  position:relative!important;
  z-index:1!important;
  min-height:210px!important;
  padding:32px 78px 30px 32px!important;
  display:grid!important;
  grid-template-columns:132px minmax(0,1fr)!important;
  gap:22px!important;
  align-items:center!important;
  background:
    radial-gradient(circle at 96% 18%,rgba(42,204,255,.16),transparent 18rem),
    linear-gradient(180deg,rgba(5,19,37,.72),rgba(5,18,33,.36))!important;
}
#assistant-dialog[open] .assistant-heading .eyebrow{
  color:#62dcff!important;
  letter-spacing:.2em!important;
}
#assistant-dialog[open] .assistant-heading h2{
  max-width:520px!important;
  color:#fff!important;
  font-size:clamp(34px,5vw,56px)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
}
#assistant-dialog[open] .assistant-avatar{
  position:relative!important;
  width:124px!important;
  height:124px!important;
  padding:6px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  border-radius:50%!important;
  background:radial-gradient(circle,#0ce7ff 0%,#0684df 35%,#021326 68%)!important;
  box-shadow:0 0 0 1px rgba(152,236,255,.4),0 0 34px rgba(0,194,255,.78),0 0 82px rgba(0,92,180,.42)!important;
  animation:jarvisAvatarPulse 3.8s ease-in-out infinite!important;
}
#assistant-dialog[open] .assistant-avatar::before,
#assistant-dialog[open] .assistant-avatar::after{
  content:"";
  position:absolute;
  inset:-9px;
  border:1px solid rgba(91,221,255,.34);
  border-radius:50%;
  box-shadow:0 0 22px rgba(0,176,255,.22) inset;
  animation:jarvisRingSpin 8s linear infinite;
}
#assistant-dialog[open] .assistant-avatar::after{
  inset:-18px;
  border-color:rgba(255,255,255,.12);
  animation-duration:13s;
  animation-direction:reverse;
}
#assistant-dialog[open] .assistant-avatar img{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  border-radius:50%!important;
  background:#02070d!important;
}
#assistant-dialog[open] .assistant-messages{
  position:relative!important;
  z-index:1!important;
  min-height:330px!important;
  max-height:min(49dvh,440px)!important;
  padding:22px 28px!important;
  gap:12px!important;
  overflow:auto!important;
  background:
    radial-gradient(circle at 18% 8%,rgba(0,164,255,.13),transparent 20rem),
    linear-gradient(180deg,rgba(2,9,20,.76),rgba(3,14,27,.92))!important;
  scrollbar-width:thin!important;
  scrollbar-color:#2ecbff rgba(255,255,255,.08)!important;
}
#assistant-dialog[open] .assistant-message{
  max-width:min(92%,620px)!important;
  border-radius:22px!important;
  font-size:15px!important;
  line-height:1.55!important;
}
#assistant-dialog[open] .assistant-message.bot{
  color:#f8fcff!important;
  background:linear-gradient(145deg,rgba(18,43,72,.92),rgba(8,27,51,.92))!important;
  border:1px solid rgba(112,213,255,.22)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.22)!important;
}
#assistant-dialog[open] .assistant-message.user{
  color:#fff!important;
  background:linear-gradient(145deg,#0063ba,#08a6eb)!important;
  box-shadow:0 14px 30px rgba(0,119,210,.26)!important;
}
#assistant-dialog[open] .assistant-evidence{
  margin-top:10px!important;
  padding-top:9px!important;
  display:block!important;
  border-top:1px solid rgba(112,213,255,.2)!important;
  color:#b7d7ec!important;
  font-size:11px!important;
  line-height:1.45!important;
  overflow-wrap:anywhere!important;
}
#assistant-dialog[open] .assistant-evidence strong{color:#eef9ff!important}
#assistant-dialog[open] .assistant-evidence a{color:#6fd7ff!important;text-decoration:underline!important;text-underline-offset:2px!important}
#assistant-dialog[open] .assistant-evidence a:focus-visible{outline:2px solid #6fd7ff!important;outline-offset:2px!important;border-radius:2px!important}
#assistant-dialog[open] .assistant-quick-replies button,
#assistant-dialog[open] .assistant-result{
  color:#f8fcff!important;
  border-color:rgba(113,211,255,.28)!important;
  background:rgba(255,255,255,.08)!important;
}
#assistant-dialog[open] .assistant-tools{
  position:relative!important;
  z-index:1!important;
  padding:14px 24px 0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  background:rgba(3,12,24,.95)!important;
}
#assistant-dialog[open] .assistant-tool{
  min-height:42px!important;
  padding:8px 13px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  border:1px solid rgba(106,213,255,.26)!important;
  border-radius:999px!important;
  color:#ecfaff!important;
  background:rgba(255,255,255,.08)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.18)!important;
  cursor:pointer!important;
}
#assistant-dialog[open] .assistant-tool span{font-size:16px!important}
#assistant-dialog[open] .assistant-tool strong{font-size:12px!important}
#assistant-dialog[open] .assistant-tool.is-recording{
  border-color:rgba(255,117,117,.55)!important;
  background:rgba(169,24,44,.42)!important;
  animation:jarvisRecordingPulse 1.2s ease-in-out infinite!important;
}
#assistant-dialog[open] .assistant-tool.assistant-tool-request{
  color:#031b24!important;
  border-color:#45e6c1!important;
  background:linear-gradient(135deg,#42e8ba,#20cbe8)!important;
  box-shadow:0 12px 28px rgba(37,214,190,.24)!important;
}
#assistant-dialog[open] .assistant-form{
  position:relative!important;
  z-index:1!important;
  padding:14px 24px 10px!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  border-top:0!important;
  background:rgba(3,12,24,.95)!important;
}
#assistant-dialog[open] .assistant-form input{
  min-height:50px!important;
  color:#fff!important;
  border:1px solid rgba(113,211,255,.26)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
}
#assistant-dialog[open] .assistant-form input::placeholder{color:rgba(232,246,255,.7)!important}
#assistant-dialog[open] .assistant-form button{
  min-width:82px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#0087df,#00c7f7)!important;
  box-shadow:0 12px 26px rgba(0,134,220,.3)!important;
}
#assistant-dialog[open] .assistant-note{
  position:relative!important;
  z-index:1!important;
  padding:0 24px 24px!important;
  color:rgba(219,241,255,.66)!important;
  background:rgba(3,12,24,.95)!important;
}
@keyframes jarvisAvatarPulse{50%{filter:brightness(1.12);transform:translateY(-2px)}}
@keyframes jarvisRingSpin{to{transform:rotate(360deg)}}
@keyframes jarvisRecordingPulse{50%{box-shadow:0 0 0 5px rgba(255,87,87,.12),0 10px 22px rgba(0,0,0,.18)}}
@media(max-width:600px){
  #assistant-dialog[open]{
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    transform:none!important;
    border-radius:0!important;
  }
  #assistant-dialog[open] .assistant-heading{
    min-height:184px!important;
    grid-template-columns:96px minmax(0,1fr)!important;
    padding:calc(24px + env(safe-area-inset-top)) 68px 22px 18px!important;
  }
  #assistant-dialog[open] .assistant-avatar{width:88px!important;height:88px!important}
  #assistant-dialog[open] .assistant-heading h2{font-size:34px!important}
  #assistant-dialog[open] .assistant-tools,
  #assistant-dialog[open] .assistant-form,
  #assistant-dialog[open] .assistant-note{padding-inline:16px!important}
  #assistant-dialog[open] .assistant-messages{padding:18px 16px!important;max-height:none!important}
}

/* 2026-08-13: keep the conversation in its own row above all composer controls.
   The dialog contains heading, messages, tools, form and privacy note; reserving
   only four rows allowed the tools/form to cover the final messages on phones. */
#assistant-dialog[open]{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto auto auto!important;
  overflow:hidden!important;
}
#assistant-dialog[open] .assistant-messages{
  min-height:0!important;
  scroll-padding-bottom:28px!important;
  overscroll-behavior:contain!important;
}
#assistant-dialog[open] .assistant-tools,
#assistant-dialog[open] .assistant-form,
#assistant-dialog[open] .assistant-note{
  position:relative!important;
  flex:none!important;
}
@media(max-width:600px){
  #assistant-dialog[open] .assistant-heading{min-height:0!important}
  #assistant-dialog[open] .assistant-messages{padding-bottom:32px!important}
  #assistant-dialog[open] .assistant-tools{padding-top:12px!important}
  #assistant-dialog[open] .assistant-note{padding-bottom:calc(16px + env(safe-area-inset-bottom))!important}
}

/* Final Jarvis theme layer: readable light/dark modes plus tenant-colour option. */
:root{
  --jarvis-primary:#18c9ff;
  --jarvis-secondary:#0072d8;
  --jarvis-ink:#f7fcff;
  --jarvis-panel:rgba(7,22,40,.9);
  --jarvis-panel-strong:rgba(6,16,31,.96);
  --jarvis-soft:rgba(229,247,255,.78);
}
:root[data-jarvis-style=tenant]{
  --jarvis-primary:var(--electric);
  --jarvis-secondary:var(--blue);
}
html[data-theme=light] #assistant-dialog[open]{
  color:#071a31!important;
  background:
    radial-gradient(circle at 18% 8%,rgba(34,188,255,.22),transparent 20rem),
    radial-gradient(circle at 92% 0%,rgba(0,230,198,.12),transparent 18rem),
    linear-gradient(145deg,#f9fcff 0%,#edf7ff 52%,#dcecf8 100%)!important;
  border-color:rgba(10,110,190,.22)!important;
  box-shadow:0 40px 110px rgba(11,35,64,.28),0 0 46px rgba(24,201,255,.18)!important;
}
html[data-theme=light] #assistant-dialog[open] .assistant-heading{
  background:
    radial-gradient(circle at 21% 22%,rgba(0,132,218,.23),transparent 15rem),
    linear-gradient(135deg,#062444 0%,#0a4a7b 100%)!important;
}
html[data-theme=light] #assistant-dialog[open] .assistant-messages{
  color:#071a31!important;
  background:
    radial-gradient(circle at 8% 0%,rgba(24,201,255,.12),transparent 18rem),
    linear-gradient(180deg,rgba(255,255,255,.74),rgba(242,248,253,.9))!important;
}
html[data-theme=light] #assistant-dialog[open] .assistant-message.bot{
  color:#071a31!important;
  background:rgba(255,255,255,.9)!important;
  border-color:rgba(19,88,145,.16)!important;
  box-shadow:0 18px 34px rgba(20,55,92,.12)!important;
}
html[data-theme=light] #assistant-dialog[open] .assistant-evidence{color:#44627c!important;border-top-color:rgba(19,88,145,.16)!important}
html[data-theme=light] #assistant-dialog[open] .assistant-evidence strong{color:#173b5b!important}
html[data-theme=light] #assistant-dialog[open] .assistant-evidence a{color:#075f9d!important}
html[data-theme=light] #assistant-dialog[open] .assistant-quick-replies button,
html[data-theme=light] #assistant-dialog[open] .assistant-result{
  color:#071a31!important;
  background:rgba(255,255,255,.92)!important;
  border-color:rgba(12,93,160,.18)!important;
}
html[data-theme=light] #assistant-dialog[open] .assistant-tools,
html[data-theme=light] #assistant-dialog[open] .assistant-form,
html[data-theme=light] #assistant-dialog[open] .assistant-note{
  background:rgba(247,252,255,.9)!important;
}
html[data-theme=light] #assistant-dialog[open] .assistant-tool{
  color:#08213b!important;
  background:rgba(255,255,255,.9)!important;
  border-color:rgba(10,105,180,.18)!important;
}
html[data-theme=light] #assistant-dialog[open] .assistant-form input{
  color:#071a31!important;
  background:#fff!important;
  border-color:rgba(10,105,180,.22)!important;
}
html[data-theme=light] #assistant-dialog[open] .assistant-form input::placeholder{color:#5d728a!important}
html[data-theme=light] #assistant-dialog[open] .assistant-note{color:#536c86!important}
html[data-theme=dark] #assistant-dialog[open]{
  color:var(--jarvis-ink)!important;
  background:
    radial-gradient(circle at 20% 12%,rgba(24,201,255,.27),transparent 21rem),
    radial-gradient(circle at 88% 18%,rgba(0,230,198,.11),transparent 18rem),
    linear-gradient(150deg,#020713 0%,#06172d 48%,#041224 100%)!important;
}
#assistant-dialog[open] .assistant-avatar{
  background:radial-gradient(circle,var(--jarvis-primary) 0%,var(--jarvis-secondary) 39%,#03101f 70%)!important;
  box-shadow:0 0 0 1px rgba(152,236,255,.36),0 0 34px color-mix(in srgb,var(--jarvis-primary) 70%,transparent),0 0 76px rgba(0,92,180,.4)!important;
}
#assistant-dialog[open] .assistant-form button,
#assistant-dialog[open] .assistant-message.user{
  background:linear-gradient(135deg,var(--jarvis-secondary),var(--jarvis-primary))!important;
}
#assistant-dialog[open] .assistant-heading::after{
  content:"";
  position:absolute;
  right:34px;
  bottom:18px;
  width:min(34vw,220px);
  height:1px;
  background:linear-gradient(90deg,transparent,var(--jarvis-primary),transparent);
  opacity:.75;
  box-shadow:0 0 22px var(--jarvis-primary);
}

/* Hide the artwork contact footer with a matching dark bridge behind the raised panel. */
@media(max-width:899px){
  .card-content::before{
    display:none;
  }
  .card-visual::after{
    content:"";
    position:absolute;
    z-index:10;
    left:0;
    right:0;
    bottom:0;
    height:58px;
    background:#030914;
    pointer-events:none;
  }
  .card-content>*,.identity-panel{position:relative;z-index:1}
  .slider-dots{z-index:12!important}
}

/* Footer and install actions share the keypad's thin line icon system. */
.app-footer span{width:25px;height:25px;display:grid;place-items:center}
.app-footer svg,.install-app-button svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.app-footer button{transition:color .2s,transform .2s}
.app-footer button:active{color:#69d8ff;transform:translateY(-2px)}
.app-footer>a{display:grid;place-items:center;align-content:center;gap:3px;border:0;color:#fff;background:transparent;text-decoration:none;transition:color .2s,transform .2s}
.app-footer>a:active{color:#69d8ff;transform:translateY(-2px)}
.app-footer>a:focus-visible{outline:2px solid #69d8ff;outline-offset:2px;border-radius:12px}

/* Dynamically selected footer links use the same footprint as internal actions. */
.app-footer> :is(button,a){min-width:0;min-height:48px;position:relative;overflow:hidden;border-radius:18px!important}
.app-footer>a span,.app-footer>a small{position:relative;z-index:2}
.install-app-button{display:flex!important;align-items:center;justify-content:center;gap:10px}
.install-app-button.action-dismissed{display:none!important}
.install-app-button svg{width:25px;height:25px}

/* Share orb: centred on the right edge with a subtle animated glass halo. */
.floating-share{
  right:12px!important;
  top:50%!important;
  bottom:auto!important;
  width:52px!important;
  height:52px!important;
  padding:0!important;
  justify-content:center!important;
  border-color:rgba(255,255,255,.72)!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 12px 34px rgba(15,65,111,.2),0 0 0 1px rgba(0,142,215,.12)!important;
  transform:translateY(-50%)!important;
}
.floating-share::before{
  content:"";
  position:absolute;
  inset:-5px;
  z-index:-1;
  border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 65%,rgba(53,200,255,.85),transparent 82%);
  animation:shareOrbit 5s linear infinite;
}
.floating-share::after{
  content:"";
  position:absolute;
  inset:4px;
  z-index:-1;
  border-radius:50%;
  background:rgba(255,255,255,.94);
}
.floating-share svg{width:24px!important;height:24px!important;color:#123f73}
.floating-share span{display:none!important}
html[data-theme=dark] .floating-share{background:rgba(14,30,48,.9)!important;border-color:rgba(102,203,245,.25)!important}
html[data-theme=dark] .floating-share::after{background:#102237}
html[data-theme=dark] .floating-share svg{color:#69d7ff}
@keyframes shareOrbit{to{transform:rotate(360deg)}}

/* Exit-intent Google review prompt. */
.review-exit-dialog{width:min(92vw,470px)}
.review-exit-content{padding:42px 28px 28px;display:grid;gap:13px;text-align:center}
.review-exit-content>img{width:min(240px,75%);margin:0 auto 5px}
.review-exit-content h2,.review-exit-content p{margin:0}
.review-exit-content>p:not(.eyebrow){color:var(--muted);line-height:1.6}
.review-exit-content .primary-button,.review-exit-content .secondary-button{width:100%}
@media(prefers-reduced-motion:reduce){.floating-share::before{animation:none!important}}

/* Desktop command centre: obvious actions without scrolling the phone. */
@media(min-width:900px){
  .desktop-welcome{
    padding:clamp(38px,4.5vw,70px)!important;
    justify-content:flex-start!important;
    gap:24px;
  }
  .desktop-command-copy h1{
    margin:10px 0 16px;
    font-size:clamp(44px,4.7vw,70px);
    line-height:.94;
    letter-spacing:-.055em;
  }
  .desktop-command-copy h1 em{color:var(--blue);font-style:normal}
  .desktop-command-copy p{
    max-width:650px;
    margin:0;
    color:var(--muted);
    font-size:16px;
    line-height:1.65;
  }
  .desktop-command-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .desktop-command{
    min-height:104px;
    padding:17px;
    display:grid;
    grid-template-columns:50px minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    border:1px solid rgba(18,50,91,.11);
    border-radius:22px;
    color:var(--text);
    background:rgba(255,255,255,.72);
    box-shadow:0 10px 28px rgba(18,50,91,.07);
    text-align:left;
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
  }
  .desktop-command:hover{
    transform:translateY(-3px);
    border-color:rgba(0,120,205,.38);
    box-shadow:0 18px 38px rgba(18,50,91,.13);
  }
  .desktop-command.primary-command{
    color:#fff;
    border-color:transparent;
    background:linear-gradient(135deg,#12325b,#075fa8);
  }
  .desktop-command-icon{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:16px;
    color:var(--ford);
    background:#eef6fc;
  }
  .primary-command .desktop-command-icon{color:#fff;background:rgba(255,255,255,.14)}
  .desktop-command-icon svg{
    width:29px;
    height:29px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .desktop-command>span:nth-child(2){min-width:0;display:grid;gap:5px}
  .desktop-command strong{font-size:16px}
  .desktop-command small{color:var(--muted);font-size:12px;line-height:1.35}
  .primary-command small{color:rgba(255,255,255,.7)}
  .desktop-command>b{font-size:24px;font-weight:400}
  .desktop-command.compact-command{min-height:90px;grid-template-columns:50px minmax(0,1fr)}
  .desktop-install-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .desktop-install-actions .primary-button,
  .desktop-install-actions .secondary-button{
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .desktop-install-actions .install-app-button svg{
    width:22px;
    height:22px;
  }
  .desktop-install-actions.is-single-action{grid-template-columns:1fr}
  .desktop-install-actions.actions-complete{display:none}
  .desktop-ai-command{
    width:100%;
    min-height:64px;
    padding:9px 18px 9px 10px;
    display:grid;
    grid-template-columns:46px 1fr auto;
    gap:12px;
    align-items:center;
    border:0;
    border-radius:20px;
    color:#fff;
    background:linear-gradient(100deg,#071f43,#123f73 60%,#0874bd);
    box-shadow:0 16px 36px rgba(7,50,100,.2);
    text-align:left;
  }
  .desktop-ai-command span{
    width:46px;height:46px;display:grid;place-items:center;border-radius:15px;
    color:#075fa8;background:#fff;box-shadow:0 0 20px rgba(78,204,255,.45);font-size:21px;
  }
  .desktop-ai-command strong{font-size:15px}
  .desktop-ai-command b{font-size:24px;font-weight:400}
  html[data-theme=dark] .desktop-command{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.1)}
  html[data-theme=dark] .desktop-command.primary-command{background:linear-gradient(135deg,#12325b,#0769b4)}
  html[data-theme=dark] .desktop-command-icon{color:#75d5ff;background:#0d2845}
  html[data-theme=dark] .primary-command .desktop-command-icon{color:#fff;background:rgba(255,255,255,.12)}
}

/* Intelligent Ford-blue share control without the decorative orbit. */
.floating-share{
  width:54px!important;
  height:54px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  color:#fff!important;
  background:linear-gradient(145deg,#153f73,#08284e)!important;
  box-shadow:0 14px 30px rgba(5,35,75,.28)!important;
  transition:width .24s ease,transform .24s ease,box-shadow .24s ease!important;
}
.floating-share::before,.floating-share::after{display:none!important}
.floating-share svg{color:#fff!important}
.floating-share:hover{
  width:118px!important;
  box-shadow:0 18px 38px rgba(5,35,75,.35)!important;
}
.floating-share:hover span{display:inline!important;color:#fff;font-size:12px;font-weight:850}
@media(max-width:600px){
  .floating-share:hover{width:54px!important}
  .floating-share:hover span{display:none!important}
}

/* Sharp iOS-style header controls. */
.brand-actions{gap:9px!important}
.staff-login,.theme-toggle{
  width:42px!important;
  height:42px!important;
  padding:0!important;
  border:1px solid rgba(18,50,91,.11)!important;
  border-radius:50%!important;
  color:#12325b!important;
  background:rgba(255,255,255,.76)!important;
  box-shadow:0 5px 18px rgba(18,50,91,.075)!important;
  backdrop-filter:blur(18px) saturate(160%);
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease!important;
}
.staff-login:hover,.theme-toggle:hover{
  transform:translateY(-2px);
  background:#fff!important;
  box-shadow:0 9px 24px rgba(18,50,91,.13)!important;
}
.staff-login svg,.theme-toggle svg{
  width:21px;
  height:21px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.theme-toggle span{display:grid!important;place-items:center}
html:not([data-theme=dark]) .theme-moon{display:none!important}
html[data-theme=dark] .theme-sun{display:none!important}
html[data-theme=dark] .theme-moon{display:grid!important}
html[data-theme=dark] .staff-login,html[data-theme=dark] .theme-toggle{
  color:#f5f8fc!important;
  border-color:rgba(255,255,255,.13)!important;
  background:rgba(255,255,255,.055)!important;
}

/* Quiet ownership notice across the public app. */
.legal-footer{
  width:100%;
  padding:18px 20px calc(104px + env(safe-area-inset-bottom));
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px 8px;
  border-top:1px solid var(--line);
  color:var(--muted);
  background:var(--surface);
  font-size:11px;
  line-height:1.45;
  text-align:center;
}
.legal-footer strong{color:var(--text);font-weight:700}
@media(min-width:900px){
  .legal-footer{
    padding:15px 28px 22px;
    background:transparent;
  }
  body.desktop-stage-open .offerings-grid{
    grid-template-columns:1fr!important;
    max-width:780px;
  }
}

/* Ford brand palette and cinematic feature transitions. */
:root{
  --ford:#00095b;
  --blue:#0068d7;
  --electric:#2d9cff;
}
.brand img{width:122px!important;height:auto;object-fit:contain}
.slider-dots{display:none!important}
.home-slide{
  opacity:0!important;
  transform:scale(1.035) translateX(18px);
  filter:saturate(.88) brightness(.9);
  transition:none!important;
}
.home-slide.is-active{
  opacity:1!important;
  animation:fordSlideReveal 1.05s cubic-bezier(.18,.78,.2,1) both;
}
.home-slide.is-active::after{
  content:"";
  position:absolute;
  inset:-12% -30%;
  pointer-events:none;
  background:linear-gradient(112deg,transparent 38%,rgba(255,255,255,.05) 47%,rgba(64,165,255,.24) 50%,rgba(255,255,255,.07) 53%,transparent 62%);
  transform:translateX(-70%);
  animation:fordLightSweep 1.25s .12s cubic-bezier(.2,.75,.2,1) both;
}
@keyframes fordSlideReveal{
  0%{opacity:0;transform:scale(1.045) translateX(24px);filter:saturate(.82) brightness(.82)}
  48%{opacity:1}
  100%{opacity:1;transform:scale(1) translateX(0);filter:saturate(1) brightness(1)}
}
@keyframes fordLightSweep{
  0%{opacity:0;transform:translateX(-70%)}
  24%{opacity:1}
  100%{opacity:0;transform:translateX(70%)}
}

/* Glossy Ford-blue active state for the fixed shortcut menu. */
.app-footer{
  padding:7px!important;
  gap:4px;
  grid-template-columns:repeat(var(--footer-action-count,4),minmax(0,1fr));
}
.app-footer button{
  position:relative;
  min-width:0;
  overflow:hidden;
  border-radius:18px!important;
  transition:color .28s ease,transform .28s ease,background .28s ease,box-shadow .28s ease!important;
}
.app-footer button::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  border-radius:inherit;
  background:linear-gradient(145deg,#005ec8 0%,#168ee9 58%,#45b8ff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 7px 20px rgba(0,104,215,.38);
  transform:scale(.76);
  transition:opacity .28s ease,transform .36s cubic-bezier(.2,.9,.25,1.25);
}
.app-footer button::after{
  content:"";
  position:absolute;
  top:-35%;
  bottom:-35%;
  left:-55%;
  width:42%;
  opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);
  transform:skewX(-18deg);
}
.app-footer button>*{position:relative;z-index:2}
.app-footer button.is-current{
  color:#fff!important;
  transform:translateY(-5px);
}
.app-footer button.is-current::before{
  opacity:1;
  transform:scale(1);
}
.app-footer button.is-current::after{
  opacity:1;
  animation:footerShine 1.15s .12s ease both;
}
.app-footer button.is-current span{
  filter:drop-shadow(0 2px 7px rgba(0,34,88,.36));
  animation:footerIconPop .5s cubic-bezier(.2,.9,.25,1.35) both;
}
.app-footer button.is-current small{font-weight:800}
@keyframes footerShine{to{left:120%;opacity:0}}
@keyframes footerIconPop{0%{transform:scale(.65) rotate(-8deg)}100%{transform:scale(1) rotate(0)}}
@media(prefers-reduced-motion:reduce){
  .home-slide.is-active,.home-slide.is-active::after,.app-footer button.is-current::after,.app-footer button.is-current span{animation:none!important}
}

/* Refined active shortcut: no block, just a fingerprint-like Ford-blue signal. */
.app-footer button::before{
  top:5px!important;
  right:auto!important;
  bottom:auto!important;
  left:50%!important;
  width:43px!important;
  height:36px!important;
  border-radius:50% 50% 44% 44%!important;
  opacity:0!important;
  background:
    radial-gradient(ellipse at 50% 56%,transparent 0 24%,rgba(57,178,255,.58) 25% 27%,transparent 28% 36%,rgba(32,145,235,.4) 37% 39%,transparent 40% 48%,rgba(22,109,202,.25) 49% 51%,transparent 52%),
    radial-gradient(circle,rgba(40,167,255,.18),transparent 68%)!important;
  box-shadow:none!important;
  filter:drop-shadow(0 0 9px rgba(49,180,255,.48));
  transform:translateX(-50%) scale(.72)!important;
  transition:opacity .3s ease,transform .45s cubic-bezier(.18,.9,.24,1.25)!important;
}
.app-footer button::after{
  top:auto!important;
  right:auto!important;
  bottom:4px!important;
  left:50%!important;
  width:18px!important;
  height:2px!important;
  opacity:0!important;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#68d1ff,transparent)!important;
  box-shadow:0 0 9px rgba(73,193,255,.82);
  transform:translateX(-50%) scaleX(.25)!important;
}
.app-footer button.is-current{
  color:#65cfff!important;
  transform:translateY(-2px)!important;
  text-shadow:0 0 13px rgba(75,193,255,.35);
}
.app-footer button.is-current::before{
  opacity:1!important;
  transform:translateX(-50%) scale(1)!important;
  animation:fingerprintBreathe 2.8s ease-in-out infinite!important;
}
.app-footer button.is-current::after{
  opacity:1!important;
  animation:activeLineIn .48s cubic-bezier(.2,.85,.25,1) both!important;
}
.app-footer button.is-current span{
  color:#78d8ff;
  filter:drop-shadow(0 0 7px rgba(67,188,255,.6))!important;
  animation:activeIconSettle .48s cubic-bezier(.2,.9,.25,1.2) both!important;
}
.app-footer button.is-current small{color:#dff6ff;font-weight:750}
@keyframes fingerprintBreathe{
  0%,100%{filter:drop-shadow(0 0 7px rgba(49,180,255,.35));opacity:.72}
  50%{filter:drop-shadow(0 0 13px rgba(49,180,255,.66));opacity:1}
}
@keyframes activeLineIn{
  from{transform:translateX(-50%) scaleX(.25)}
  to{transform:translateX(-50%) scaleX(1)}
}
@keyframes activeIconSettle{
  0%{transform:translateY(3px) scale(.84)}
  100%{transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:reduce){
  .app-footer button.is-current::before,.app-footer button.is-current::after,.app-footer button.is-current span{animation:none!important}
}

/* Full-screen mobile lead capture with centred exit subscription prompt. */
.subscription-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.subscription-actions>*{width:100%}
@media(max-width:600px){
  #enquiry-dialog,#subscribe-dialog{
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    overscroll-behavior:contain;
  }
  #enquiry-dialog::backdrop,#subscribe-dialog::backdrop{background:rgba(0,9,25,.82)}
  #enquiry-form,#subscribe-form{
    width:100%;
    min-height:100dvh;
    padding:calc(68px + env(safe-area-inset-top)) 22px calc(28px + env(safe-area-inset-bottom))!important;
    align-content:start;
    overflow-y:auto;
    background:
      radial-gradient(circle at 100% 0,rgba(45,156,255,.12),transparent 18rem),
      var(--surface);
  }
  #enquiry-dialog .dialog-close,#subscribe-dialog .dialog-close{
    position:fixed;
    top:calc(14px + env(safe-area-inset-top));
    right:14px;
    z-index:10;
  }
  #subscribe-form>p:not(.eyebrow){color:var(--muted);line-height:1.55}
  .subscription-actions{margin-top:4px;grid-template-columns:1fr}
}
@media(min-width:601px){
  #subscribe-dialog.is-exit-subscribe{
    width:min(92vw,520px);
  }
  #subscribe-dialog.is-exit-subscribe form{
    padding:44px 30px 30px;
  }
}

/* Comfortable edge inset for the two-up mobile Specials gallery. */
@media(max-width:899px){
  #specials-view .special-stage{
    width:calc(100% - 20px)!important;
    margin-inline:auto!important;
    grid-template-columns:repeat(2,calc((100% - 6px)/2))!important;
    gap:8px 6px!important;
  }
  #specials-view .special-gallery-card{
    overflow:hidden;
    border-radius:10px!important;
    background:var(--surface);
    box-shadow:0 5px 16px rgba(18,50,91,.07)!important;
  }
  #specials-view .special-gallery-card img{
    border-radius:10px 10px 0 0!important;
  }
}

/* Install sheet dismissal: deliberate iOS-style secondary action. */
#install-dialog .install-close-button{
  width:100%;
  min-height:52px;
  margin-top:8px;
  padding:14px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,30,80,.14);
  border-radius:17px;
  color:var(--ford);
  background:rgba(255,255,255,.88);
  box-shadow:0 7px 22px rgba(0,30,80,.07),inset 0 1px 0 rgba(255,255,255,.92);
  font:inherit;
  font-weight:800;
  letter-spacing:-.01em;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
#install-dialog .install-close-button:hover{
  border-color:rgba(0,94,168,.28);
  background:#f4f9fd;
  box-shadow:0 9px 26px rgba(0,30,80,.1),inset 0 1px 0 #fff;
}
#install-dialog .install-close-button:active{
  transform:scale(.985);
  background:#eaf3fa;
}
#install-dialog .install-close-button:focus-visible{
  outline:0;
  box-shadow:var(--focus-ring),0 7px 22px rgba(0,30,80,.07)!important;
}
html[data-theme=dark] #install-dialog .install-close-button{
  color:var(--ford)!important;
  background:rgba(255,255,255,.96)!important;
  border-color:rgba(91,188,242,.25)!important;
}

/* Published collection layout and catalogue guidance. */
.special-stage{grid-template-columns:repeat(var(--collection-columns,2),minmax(0,1fr))!important}
.special-gallery-card img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.offerings-grid{
  grid-template-columns:repeat(var(--collection-columns,3),minmax(0,1fr));
  align-items:start;
}
.catalogue-card{
  overflow:visible;
  display:block;
  border:2px solid transparent;
  background:transparent;
  box-shadow:none;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,filter .2s ease;
}
.catalogue-card img{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  box-shadow:var(--shadow);
}
.catalogue-card .mymex-managed-media{
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  box-shadow:var(--shadow);
}
.catalogue-card .mymex-managed-media img{
  border:0;
  border-radius:0;
  box-shadow:none;
}
.catalogue-card:hover,.catalogue-card:focus-visible,.catalogue-card:active{
  border-color:var(--electric);
  outline:0;
  transform:translateY(-4px);
  box-shadow:0 0 0 4px rgba(0,167,232,.18),0 20px 46px rgba(0,30,80,.25);
}
.catalogue-card-guidance{
  position:relative;
  z-index:2;
  width:max-content;
  max-width:calc(100% - 24px);
  margin:-12px auto 0;
  padding:8px 10px;
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--text);
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface);
  box-shadow:0 8px 20px rgba(0,30,80,.16);
  line-height:1.2;
}
.catalogue-card-guidance em{font-size:10px;font-style:normal;font-weight:950;white-space:nowrap}
.catalogue-card-guidance small{padding-left:9px;border-left:1px solid var(--line);color:var(--blue);font-size:10px;font-weight:900;white-space:nowrap}
.catalogue-ai-results{margin:18px 0;display:grid;gap:10px}.catalogue-ai-results>strong{color:var(--text)}
.catalogue-ai-results>p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.catalogue-ai-results ul{max-height:320px;margin:0;padding:0;overflow:auto;display:grid;gap:7px;list-style:none;scrollbar-gutter:stable}
.catalogue-ai-results li{margin:0;padding:0}
.catalogue-ai-results li button{width:100%;padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;color:var(--text);background:var(--bg);font:inherit;font-size:12px;cursor:pointer;text-align:left;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.catalogue-ai-results li button:hover,.catalogue-ai-results li button:focus-visible,.catalogue-ai-results li button.is-selected{border-color:var(--electric);background:color-mix(in srgb,var(--blue) 9%,var(--surface));outline:0;transform:translateX(2px)}
.catalogue-ai-results li span{text-align:left}.catalogue-ai-results li b{flex:0 0 auto;color:var(--blue);white-space:nowrap}.catalogue-ai-results li i{color:var(--blue);font-style:normal;font-size:17px}
.catalogue-ai-results small{color:var(--muted);line-height:1.45}
.catalogue-vehicle-focus{padding:12px;display:grid;gap:12px;border:1px solid color-mix(in srgb,var(--blue) 32%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--blue) 7%,var(--surface))}.catalogue-vehicle-focus[hidden]{display:none}.catalogue-vehicle-focus>div:first-child{display:grid;gap:4px}.catalogue-vehicle-focus>div:first-child small{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.catalogue-vehicle-focus>div:first-child strong{color:var(--text)}.catalogue-vehicle-focus>div:first-child b{color:var(--blue)}.catalogue-vehicle-focus>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.catalogue-vehicle-focus button{min-height:42px;padding:9px 13px}
.offerings-grid[data-collection-columns="1"]{grid-template-columns:1fr!important}
.special-stage[data-collection-columns="1"]{grid-template-columns:1fr!important}
@media(min-width:901px){body.desktop-stage-open .offerings-grid{max-width:none;grid-template-columns:repeat(var(--collection-columns,3),minmax(0,1fr))!important}body.desktop-stage-open .special-stage{grid-template-columns:repeat(var(--collection-columns,2),minmax(0,1fr))!important}}
@media(max-width:900px){.offerings-grid,.special-stage{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.offerings-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.catalogue-card-guidance{max-width:calc(100% - 10px);margin:-8px auto 0;padding:7px 8px;gap:6px}.catalogue-card-guidance em,.catalogue-card-guidance small{font-size:8px}.catalogue-card-guidance small{padding-left:6px}.catalogue-card span{font-size:9px}.catalogue-dialog-layout{display:block}.catalogue-dialog-layout>img{height:auto;max-height:none}.catalogue-ai-results li button{grid-template-columns:minmax(0,1fr) auto 14px;padding:11px 9px}.catalogue-ai-results li b{font-size:11px}.catalogue-vehicle-focus>div:last-child{display:grid}.catalogue-vehicle-focus button{width:100%}}

/* Per-button device visibility from the tenant card builder. */
@media(max-width:599px){[data-button-visibility="desktop"],[data-button-visibility="tablet"]{display:none!important}}
@media(min-width:600px) and (max-width:899px){[data-button-visibility="desktop"],[data-button-visibility="mobile"]{display:none!important}}
@media(min-width:900px){[data-button-visibility="tablet"],[data-button-visibility="mobile"]{display:none!important}}

/* Tenant-safe header media: keep every slide in one cinematic frame without letterboxing. */
.brand{
  width:min(170px,42vw)!important;
  height:52px!important;
  padding:5px 9px!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--line) 75%,transparent)!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--surface) 88%,#7f91a3 12%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 5px 16px rgba(2,16,34,.06)!important;
}
.brand img{
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:46px!important;
  margin:0!important;
  object-fit:contain!important;
  filter:drop-shadow(0 0 1px rgba(255,255,255,.92)) drop-shadow(0 0 1px rgba(1,17,34,.82))!important;
}
.brand.logo-art-dark,
.brand.logo-art-light,
.brand.logo-art-balanced{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
.brand.logo-art-placeholder{
  width:86px!important;
  background:rgba(247,250,252,.82)!important;
  border-color:rgba(111,130,151,.22)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 4px 14px rgba(2,16,34,.05)!important;
}
.brand.logo-art-placeholder img,
.brand img[src*="neutral-card-icon"]{
  max-height:24px!important;
  opacity:.58!important;
  filter:none!important;
}
.qr-wrap .qr-centre{
  position:absolute;
  left:50%;
  top:50%;
  width:clamp(40px,17%,62px);
  height:clamp(40px,17%,62px);
  padding:6px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,30,80,.18),0 0 0 3px rgba(255,255,255,.96);
  transform:translate(-50%,-50%);
}
.qr-wrap .qr-centre img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:11px;
  filter:none;
}
.home-slide img,
.home-slide video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  background:var(--ford,#07182b)!important;
}
@media(max-width:600px){
  .brand{height:46px!important}
  .brand.logo-art-placeholder{width:76px!important}
  .brand img{max-height:40px!important}
  .brand.logo-art-placeholder img,
  .brand img[src*="neutral-card-icon"]{max-height:22px!important}
}

/* Desktop stage phone must remain a true mobile card shell: header + footer stay
   inside the phone on the left while the selected desktop page opens on the right. */
@media(min-width:900px){
  body.desktop-stage-open .digital-card{
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border-radius:44px!important;
    background:var(--surface)!important;
  }
  .digital-card .desktop-phone-card-header{
    flex:0 0 72px;
    position:relative;
    z-index:30;
    min-height:72px;
    padding:10px 18px 10px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border-bottom:1px solid var(--line);
    background:color-mix(in srgb,var(--surface) 90%,transparent);
    backdrop-filter:blur(18px);
  }
  .digital-card .desktop-phone-brand{
    width:min(150px,46%);
    height:48px;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    border:0;
    background:transparent;
    box-shadow:none;
    cursor:pointer;
  }
  .digital-card .desktop-phone-brand img{
    width:auto;
    max-width:100%;
    max-height:42px;
    object-fit:contain;
    background:transparent!important;
    filter:none!important;
  }
  .digital-card .desktop-phone-actions{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .digital-card .desktop-phone-action{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid var(--line);
    border-radius:50%;
    color:var(--ford);
    background:var(--surface);
    box-shadow:0 10px 24px rgba(17,47,80,.08);
    text-decoration:none;
    cursor:pointer;
  }
  .digital-card .desktop-phone-action svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  body.desktop-stage-open .digital-card>.desktop-banner,
  body.desktop-stage-open .digital-card>.card-visual,
  body.desktop-stage-open .digital-card>.card-content{
    flex:0 0 auto;
  }
  body.desktop-stage-open .digital-card>.card-content{
    padding-bottom:44px!important;
  }
  body.desktop-stage-open .desktop-phone-card-footer{
    display:none!important;
  }
  body.desktop-stage-open .desktop-phone-card-footer{
    flex:0 0 66px;
    position:sticky;
    z-index:36;
    bottom:8px;
    width:calc(100% - 30px);
    min-height:64px;
    margin:-74px auto 10px;
    padding:7px 9px;
    display:grid;
    grid-template-columns:repeat(var(--footer-action-count,5),minmax(0,1fr));
    gap:4px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:24px;
    background:rgba(3,18,36,.96);
    box-shadow:0 18px 40px rgba(2,16,34,.26),inset 0 1px 0 rgba(255,255,255,.1);
  }
  body.desktop-stage-open .desktop-phone-card-footer button,
  body.desktop-stage-open .desktop-phone-card-footer a{
    min-width:0;
    min-height:48px;
    padding:5px 3px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    border:0;
    border-radius:17px;
    color:#fff;
    background:transparent;
    font:inherit;
    text-decoration:none;
  }
  body.desktop-stage-open .desktop-phone-card-footer .is-current{
    background:radial-gradient(circle at 50% 16%,rgba(0,167,232,.32),rgba(0,90,168,.16) 62%,transparent 100%);
    box-shadow:inset 0 0 0 1px rgba(69,190,255,.2);
  }
  body.desktop-stage-open .desktop-phone-card-footer span{
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
  }
  body.desktop-stage-open .desktop-phone-card-footer svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  body.desktop-stage-open .desktop-phone-card-footer small{
    max-width:100%;
    overflow:hidden;
    font-size:9px;
    font-weight:650;
    line-height:1;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body:not(.desktop-stage-open) .desktop-phone-card-footer{
    display:none!important;
  }
  html[data-theme=dark] .digital-card .desktop-phone-card-header{
    background:rgba(5,19,37,.92);
  }
  html[data-theme=dark] .digital-card .desktop-phone-action{
    color:#dff6ff;
    background:rgba(255,255,255,.08);
  }
}

.is-builder-preview{
  scrollbar-width:thin;
  scrollbar-color:var(--blue,#1167b1) transparent;
}
.is-builder-preview .landing-ctas{
  width:min(88vw,360px)!important;
  min-height:58px!important;
  padding:7px!important;
  gap:7px!important;
  border-radius:20px!important;
}
.is-builder-preview .landing-ctas .primary-button,
.is-builder-preview .landing-ctas .secondary-button{
  min-height:44px!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  font-size:14px!important;
  font-weight:650!important;
  line-height:1.05!important;
  letter-spacing:-.01em!important;
}
.is-builder-preview .landing-ctas .install-app-button{
  gap:7px!important;
}
.is-builder-preview .landing-ctas .install-app-button svg{
  width:18px!important;
  height:18px!important;
}
.is-builder-preview::-webkit-scrollbar,
.is-builder-preview body::-webkit-scrollbar{
  width:7px;
  height:7px;
}
.is-builder-preview::-webkit-scrollbar-thumb,
.is-builder-preview body::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(180deg,var(--blue,#1167b1),var(--electric,#00a7e1));
}
.is-builder-preview::-webkit-scrollbar-track,
.is-builder-preview body::-webkit-scrollbar-track{
  background:transparent;
}

/* 2026-07-29: uploaded business logos must render as uploaded.
   Do not place SVG/transparent PNG logos on generated light/dark pills. */
.brand,
.brand.logo-art-dark,
.brand.logo-art-light,
.brand.logo-art-balanced{
  width:min(156px,40vw)!important;
  height:52px!important;
  padding:4px 0!important;
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}
.brand img{
  max-width:100%!important;
  max-height:44px!important;
  filter:none!important;
  background:transparent!important;
}
.brand.logo-art-placeholder{
  width:74px!important;
  border-color:rgba(111,130,151,.22)!important;
  background:rgba(247,250,252,.82)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 4px 14px rgba(2,16,34,.05)!important;
}

/* 2026-07-29 CRM actions phase: centre incomplete mobile keypad rows. */
@media(max-width:759px){
  .keypad{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:stretch!important;
    gap:9px!important;
  }
  .keypad-button{
    flex:0 1 calc((100% - 18px) / 3)!important;
    max-width:calc((100% - 18px) / 3)!important;
    min-width:0!important;
  }
}

/* Keep uploaded/specials media from showing raw broken-image text while assets
   are decoding, and make the fallback clean if an image really fails. */
.special-gallery-card .mymex-managed-media,
.catalogue-card .mymex-managed-media{
  width:100%;
  display:block;
  overflow:hidden;
  background:#030914;
}
.special-gallery-card .mymex-managed-media{
  aspect-ratio:.91;
  border-radius:14px 14px 0 0;
}
.special-gallery-card .mymex-managed-media img,
.catalogue-card .mymex-managed-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.catalogue-card .mymex-managed-media img{
  height:auto;
  object-fit:contain;
}
.special-gallery-card .mymex-managed-media-fallback,
.catalogue-card .mymex-managed-media-fallback{
  min-height:116px;
  display:grid;
  place-items:center;
  gap:6px;
  color:color-mix(in srgb,var(--muted) 72%,#fff 28%);
  background:linear-gradient(145deg,rgba(6,18,34,.92),rgba(11,38,68,.82));
  font-size:22px;
}
.special-gallery-card .mymex-managed-media-fallback small,
.catalogue-card .mymex-managed-media-fallback small{
  display:block;
  font-size:10px;
  font-weight:700;
  letter-spacing:.03em;
}

/* Builder iframe phone frame: remove fake corner blobs and keep a clean modern
   device silhouette with the iframe content behind the bezel. */
.is-builder-preview .card-header,
.is-builder-preview .brand-strip{
  border-radius:24px 24px 0 0;
  overflow:hidden;
}
.is-builder-preview .identity-photo img[src*="workspace-profile-default"]{
  width:68%!important;
  height:68%!important;
  margin:16%!important;
  opacity:.82!important;
  filter:none!important;
}

/* Square Specials and uploaded campaign slides must show complete artwork in
   builder/live header mode; do not crop the top and bottom. */
.home-slide.is-custom img,
.home-slide.is-custom video,
.home-slide[data-slide-type="special"] img{
  object-fit:contain!important;
  object-position:center!important;
  background:#020812!important;
}

/* Hard responsive boundary: below the desktop breakpoint there is one card
   column, a complete header and no off-canvas desktop welcome panel. */
@media(max-width:899px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .card-header{display:block!important;width:100%!important;max-width:100%!important}
  .brand-strip{width:100%!important;max-width:100%!important;padding-inline:14px!important}
  .brand-actions{display:flex!important;flex:0 0 auto!important}
  .staff-login,.theme-toggle{display:grid!important;visibility:visible!important;opacity:1!important}
  main{width:100%!important;max-width:100%!important;padding:0!important;display:block!important;overflow:visible!important}
  .desktop-welcome{display:none!important}
  .home-view{position:relative!important;top:auto!important;grid-column:auto!important;max-width:100%!important}
  .digital-card{max-width:100%!important;min-width:0!important}
}

/* 2026-07-29 Phase 1: stable public catalogue cards and desktop-stage scroll.
   Catalogue labels must be normal content, not floating strips over the image. */
.offerings-grid{
  align-items:start!important;
  gap:14px!important;
}
.catalogue-card{
  position:relative!important;
  min-width:0!important;
  display:grid!important;
  gap:9px!important;
  padding:10px!important;
  overflow:hidden!important;
  color:var(--text)!important;
  text-align:left!important;
  border:1px solid var(--line)!important;
  border-radius:20px!important;
  background:var(--surface)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08)!important;
}
.catalogue-card span,
.catalogue-card b,
.catalogue-card em,
.catalogue-card small,
.catalogue-card strong{
  position:static!important;
}
.catalogue-card-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  padding:0!important;
  color:var(--muted)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:10px!important;
  line-height:1.2!important;
}
.catalogue-card-meta span{
  min-width:0!important;
  padding:0!important;
  overflow:hidden!important;
  color:var(--muted)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  text-overflow:ellipsis!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.catalogue-card-meta strong{
  flex:0 0 auto!important;
  padding:5px 8px!important;
  color:var(--blue)!important;
  border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line))!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--blue) 7%,var(--surface))!important;
  font-size:10px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.catalogue-card .mymex-managed-media{
  width:100%!important;
  aspect-ratio:1 / 1!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#f7fbff,#edf4fa)!important;
  box-shadow:none!important;
}
.catalogue-card .mymex-managed-media img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.catalogue-card-summary{
  min-width:0!important;
  display:grid!important;
  gap:4px!important;
  padding:0!important;
  color:var(--text)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.catalogue-card-summary strong{
  overflow:hidden!important;
  color:var(--text)!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.22!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.catalogue-card-summary small{
  color:var(--blue)!important;
  font-size:10px!important;
  font-weight:850!important;
}
.catalogue-card-guidance,
.catalogue-card-label{
  display:none!important;
}
.catalogue-card:hover,
.catalogue-card:focus-visible{
  outline:0!important;
  transform:translateY(-2px)!important;
  border-color:color-mix(in srgb,var(--blue) 48%,var(--line))!important;
  box-shadow:0 0 0 4px rgba(0,167,232,.14),0 18px 40px rgba(0,30,80,.13)!important;
}
.special-gallery-card .mymex-managed-media img{
  object-fit:contain!important;
  object-position:center!important;
  background:#020812!important;
}
@media(min-width:901px){
  body.desktop-stage-open .digital-card{
    max-height:calc(100vh - 168px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-width:thin!important;
    scrollbar-color:var(--blue,#1167b1) transparent!important;
  }
  .digital-card .desktop-phone-card-header{
    position:sticky!important;
    top:0!important;
  }
  body.desktop-stage-open #offerings-view.is-active,
  body.desktop-stage-open #specials-view.is-active,
  body.desktop-stage-open #finance-view.is-active,
  body.desktop-stage-open #service-view.is-active{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-width:thin!important;
    scrollbar-color:var(--blue,#1167b1) transparent!important;
  }
  body.desktop-stage-open .offerings-grid{
    grid-template-columns:repeat(var(--collection-columns,2),minmax(0,1fr))!important;
  }
}
@media(max-width:600px){
  .catalogue-card{
    padding:8px!important;
    border-radius:16px!important;
  }
  .catalogue-card .mymex-managed-media{
    border-radius:13px!important;
  }
  .catalogue-card-summary strong{
    font-size:12px!important;
    white-space:normal!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
  }
}
html[data-theme=dark] .catalogue-card .mymex-managed-media{
  background:linear-gradient(145deg,rgba(6,18,34,.95),rgba(13,36,62,.9))!important;
}

@media(min-width:901px){
  body.desktop-stage-open .offerings-grid{
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  }
  body.desktop-stage-open .catalogue-card{
    gap:8px!important;
    padding:9px!important;
    border-radius:18px!important;
  }
  body.desktop-stage-open .catalogue-card .mymex-managed-media{
    aspect-ratio:4 / 3!important;
    max-height:280px!important;
  }
  body.desktop-stage-open .catalogue-card-summary strong{
    white-space:normal!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
  }
}

/* 2026-07-29 hotfix: honour the published Content Studio column choice.
   A 1-column Offerings catalogue must match the Content Studio customer view:
   catalogue pages stacked below each other, no card headers, no catalogue
   counters, no compact summaries, and no forced responsive two-column layout. */
.offerings-grid[data-collection-columns="1"],
body.desktop-stage-open .offerings-grid[data-collection-columns="1"]{
  width:min(100% - 20px,1050px)!important;
  max-width:1050px!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:22px!important;
}
.offerings-grid[data-collection-columns="1"] .catalogue-card,
body.desktop-stage-open .offerings-grid[data-collection-columns="1"] .catalogue-card{
  display:block!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  border-radius:22px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.offerings-grid[data-collection-columns="1"] .catalogue-card-meta,
.offerings-grid[data-collection-columns="1"] .catalogue-card-summary,
body.desktop-stage-open .offerings-grid[data-collection-columns="1"] .catalogue-card-meta,
body.desktop-stage-open .offerings-grid[data-collection-columns="1"] .catalogue-card-summary{
  display:none!important;
}
.offerings-grid[data-collection-columns="1"] .catalogue-card .mymex-managed-media,
body.desktop-stage-open .offerings-grid[data-collection-columns="1"] .catalogue-card .mymex-managed-media{
  aspect-ratio:auto!important;
  max-height:none!important;
  min-height:0!important;
  border:0!important;
  border-radius:22px!important;
  background:#020812!important;
}
.offerings-grid[data-collection-columns="1"] .catalogue-card .mymex-managed-media img,
body.desktop-stage-open .offerings-grid[data-collection-columns="1"] .catalogue-card .mymex-managed-media img{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
}

/* Catalogue popup is not an individual-vehicle popup. It needs enough room for
   the full catalogue page plus the AI-recognised vehicle list. */
#vehicle-dialog.is-catalogue-dialog{
  width:min(96vw,1180px)!important;
  max-height:92vh!important;
  overflow:hidden!important;
}
#vehicle-dialog.is-catalogue-dialog #vehicle-dialog-content{
  min-width:0!important;
}
.catalogue-dialog-layout{
  min-height:min(760px,92vh)!important;
  max-height:92vh!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;
  overflow:hidden!important;
  background:var(--surface)!important;
}
.catalogue-dialog-layout>.mymex-managed-media{
  width:100%!important;
  height:100%!important;
  max-height:92vh!important;
  display:block!important;
  overflow:auto!important;
  border:0!important;
  border-radius:0!important;
  background:#020812!important;
  box-shadow:none!important;
  scrollbar-width:thin!important;
  scrollbar-color:var(--blue,#1167b1) transparent!important;
}
.catalogue-dialog-layout>.mymex-managed-media img{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  display:block!important;
  object-fit:contain!important;
  object-position:top center!important;
  border:0!important;
  border-radius:0!important;
  background:#020812!important;
  box-shadow:none!important;
}
.catalogue-dialog-layout>.dialog-vehicle-info{
  min-width:0!important;
  height:100%!important;
  max-height:92vh!important;
  align-self:stretch!important;
  overflow:auto!important;
  padding:clamp(26px,4vw,48px) clamp(22px,4vw,42px)!important;
  scrollbar-width:thin!important;
  scrollbar-color:var(--blue,#1167b1) transparent!important;
}
.catalogue-dialog-layout .catalogue-ai-results ul{
  max-height:min(340px,34vh)!important;
}
@media(max-width:760px){
  #vehicle-dialog.is-catalogue-dialog{
    width:100vw!important;
    max-width:100vw!important;
    max-height:100dvh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    scrollbar-width:thin!important;
    scrollbar-color:var(--blue,#1167b1) transparent!important;
    border-radius:0!important;
  }
  #vehicle-dialog.is-catalogue-dialog #vehicle-dialog-content{
    min-height:100%!important;
  }
  .catalogue-dialog-layout{
    min-height:0!important;
    max-height:none!important;
    display:block!important;
    overflow:visible!important;
  }
  .catalogue-dialog-layout>.mymex-managed-media{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .catalogue-dialog-layout>.dialog-vehicle-info{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:24px 20px calc(34px + env(safe-area-inset-bottom))!important;
  }
  .catalogue-dialog-layout .catalogue-ai-results ul{
    max-height:none!important;
  }
}

/* 2026-07-30: mobile content pages must scroll on the document, not inside a
   trapped mini-panel. Keep footer clearance and preserve no-horizontal-scroll. */
@media(max-width:899px){
  html,
  body{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  #offerings-view.is-active,
  #specials-view.is-active,
  #finance-view.is-active,
  #service-view.is-active,
  #qr-view.is-active{
    min-height:calc(100dvh - 74px)!important;
    overflow:visible!important;
    padding-bottom:calc(116px + env(safe-area-inset-bottom))!important;
  }
  #offerings-view.is-active .offerings-grid,
  #specials-view.is-active .special-stage{
    max-width:100%!important;
  }
}

/* Workspace assistant identity: company mode uses the configured app icon. */
.search-ai-mark img,
.assistant-launcher span img{
  width:100%;
  height:100%;
  display:block;
  border-radius:inherit;
  object-fit:contain;
}
.assistant-thinking{
  display:flex;
  width:max-content;
  align-items:center;
  gap:5px;
}
.assistant-thinking span{margin-right:3px}
.assistant-thinking i{
  width:6px;
  height:6px;
  display:block;
  border-radius:50%;
  background:currentColor;
  opacity:.35;
  animation:mymexAssistantThinking 1s ease-in-out infinite;
}
.assistant-thinking i:nth-of-type(2){animation-delay:.15s}
.assistant-thinking i:nth-of-type(3){animation-delay:.3s}
@keyframes mymexAssistantThinking{
  0%,60%,100%{transform:translateY(0);opacity:.28}
  30%{transform:translateY(-4px);opacity:.9}
}
@media(prefers-reduced-motion:reduce){
  .assistant-thinking i{animation:none;opacity:.65}
}

/* A selected Special stays compact, shareable and Jarvis-led. */
.vehicle-dialog-toolbar{
  position:absolute;
  z-index:12;
  top:14px;
  right:14px;
}
.vehicle-dialog-toolbar .dialog-close{
  position:static!important;
  inset:auto!important;
}
.special-dialog-actions{
  margin-top:18px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}
.special-dialog-actions .primary-button,
.special-dialog-actions .secondary-button{
  width:100%;
  min-width:0;
  min-height:44px;
  padding:10px 14px;
  border-radius:999px;
  font-size:13px;
  line-height:1.2;
  text-align:center;
  justify-content:center;
  white-space:normal;
}
.toast.is-centred{
  top:50%;
  bottom:auto;
  width:min(320px,calc(100% - 40px));
  max-width:320px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:20px;
  background:rgba(5,35,68,.96);
  box-shadow:0 22px 60px rgba(0,15,40,.34);
  backdrop-filter:blur(18px);
  text-align:center;
  line-height:1.45;
  transform:translate(-50%,calc(-50% + 12px));
}
.toast.is-centred::before{
  content:"✓";
  width:34px;
  height:34px;
  margin:0 auto 10px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#063d31;
  background:#79f2c0;
  font-size:18px;
  font-weight:900;
  box-shadow:0 0 0 6px rgba(121,242,192,.12);
}
.toast.is-centred.is-visible{
  transform:translate(-50%,-50%);
}
.toast.is-centred.is-install-success{
  width:min(360px,calc(100% - 36px));
  max-width:360px;
  min-height:150px;
  padding:24px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:16px;
  align-items:center;
  border:1px solid rgba(113,220,255,.35);
  border-radius:26px;
  color:#fff;
  background:linear-gradient(145deg,rgba(5,31,61,.98),rgba(9,72,116,.98));
  box-shadow:0 30px 90px rgba(0,12,34,.48),0 0 0 1px rgba(255,255,255,.08) inset;
  text-align:left;
}
.toast.is-centred.is-install-success::before{display:none}
.toast.is-install-success .toast-mark{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:#063d31;
  background:#79f2c0;
  font-size:25px;
  font-weight:900;
  box-shadow:0 0 0 7px rgba(121,242,192,.12);
}
.toast.is-install-success .toast-copy{min-width:0;display:grid;gap:7px}
.toast.is-install-success .toast-copy strong{font-size:20px;line-height:1.05}
.toast.is-install-success .toast-copy small{color:rgba(255,255,255,.82);font-size:14px;line-height:1.5}
@media(max-width:420px){
  .toast.is-centred.is-install-success{grid-template-columns:44px minmax(0,1fr);gap:13px;padding:21px 18px;border-radius:23px}
  .toast.is-install-success .toast-mark{width:44px;height:44px;border-radius:15px;font-size:22px}
  .toast.is-install-success .toast-copy strong{font-size:18px}
  .toast.is-install-success .toast-copy small{font-size:13px}
}
@media(max-width:600px){
  #vehicle-dialog[open]{
    display:flex!important;
    flex-direction:column;
    overflow:hidden!important;
  }
  #vehicle-dialog[open] .vehicle-dialog-toolbar{
    position:relative;
    z-index:20;
    top:auto;
    right:auto;
    flex:0 0 auto;
    min-height:calc(58px + env(safe-area-inset-top));
    padding:calc(9px + env(safe-area-inset-top)) 12px 9px;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    background:var(--surface);
    border-bottom:1px solid var(--line);
  }
  #vehicle-dialog[open] .vehicle-dialog-toolbar .dialog-close{
    position:static!important;
    width:40px!important;
    height:40px!important;
    margin:0!important;
  }
  #vehicle-dialog[open] #vehicle-dialog-content{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .special-dialog-actions{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .special-dialog-actions .primary-button{
    grid-column:1/-1;
  }

  /* The catalogue detail sheet has one scroll owner. Generous final clearance
     keeps its last Jarvis action above Android/iOS browser and system bars. */
  #vehicle-dialog.is-catalogue-dialog[open]{
    height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  #vehicle-dialog.is-catalogue-dialog[open] #vehicle-dialog-content{
    flex:1 1 0!important;
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scroll-padding-bottom:calc(124px + env(safe-area-inset-bottom))!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y!important;
  }
  #vehicle-dialog.is-catalogue-dialog[open] .catalogue-dialog-layout>.dialog-vehicle-info{
    padding-bottom:calc(124px + env(safe-area-inset-bottom))!important;
  }
}

/* Shared builder button-style contract: identical in draft preview and every live tenant card. */
html[data-button-style=tile] .keypad-button{color:var(--button-text-color,#07111f)!important;background:var(--button-color,#fff)!important;border:1px solid color-mix(in srgb,var(--button-text-color,#07111f) 18%,transparent)!important;box-shadow:0 4px 14px rgba(7,17,31,.055)!important}
html[data-button-style=tile] .keypad-button .key-icon{color:var(--button-icon-color,#07111f)!important;background:transparent!important;border:0!important;box-shadow:none!important}
html[data-button-style=solid] .keypad-button{color:var(--button-text-color,#fff)!important;background:var(--button-color,var(--button-default-color,var(--ford)))!important;border:1px solid color-mix(in srgb,var(--button-text-color,#fff) 16%,transparent)!important;box-shadow:0 10px 24px color-mix(in srgb,var(--button-color,var(--ford)) 28%,rgba(7,17,31,.12))!important}
html[data-button-style=solid] .keypad-button .key-icon{color:var(--button-icon-color,var(--button-color,var(--ford)))!important;background:#fff!important;border:1px solid rgba(255,255,255,.5)!important;box-shadow:none!important}
html[data-button-style=outline] .keypad-button{color:var(--button-text-color,var(--button-color,var(--ford)))!important;background:transparent!important;border:2px solid var(--button-color,var(--ford))!important;box-shadow:none!important}
html[data-button-style=outline] .keypad-button .key-icon{color:var(--button-icon-color,var(--button-color,var(--ford)))!important;background:transparent!important;border:1px solid currentColor!important;box-shadow:none!important}
html[data-button-style=soft] .keypad-button{color:var(--button-text-color,var(--button-color,var(--ford)))!important;background:color-mix(in srgb,var(--button-color,var(--ford)) var(--theme-action-shade,0%),var(--surface))!important;border-color:color-mix(in srgb,var(--button-color,var(--ford)) 24%,transparent)!important;box-shadow:none!important}
html[data-button-style=soft] .keypad-button .key-icon{color:var(--button-icon-color,var(--button-color,var(--ford)))!important;background:color-mix(in srgb,var(--button-color,var(--ford)) var(--theme-action-shade,0%),var(--surface))!important;border:1px solid color-mix(in srgb,var(--button-color,var(--ford)) 28%,transparent)!important;box-shadow:none!important}
html[data-button-style] .keypad-button strong{color:inherit!important;font-weight:var(--theme-text-weight,700)!important}
html[data-button-style] .keypad-button .key-icon svg{stroke-width:var(--theme-icon-weight,1.8)!important}
html[data-button-style] .app-footer :is(button,a) small{font-weight:var(--theme-text-weight,700)!important}
html[data-button-style] .app-footer :is(button,a) svg{stroke-width:var(--theme-icon-weight,1.8)!important}
html[data-button-style=outline] .primary-button{color:var(--ford)!important;background:transparent!important;border:2px solid var(--ford)!important}
html[data-button-style=soft] .primary-button{color:var(--ford)!important;background:color-mix(in srgb,var(--ford) 12%,var(--surface))!important;border:1px solid color-mix(in srgb,var(--ford) 24%,transparent)!important;box-shadow:none!important}

/* Global public action visual system. The full builder and every live card use
   this same contract, so saved visual controls can never drift between preview
   and publication. */
html[data-theme-font]{font-family:var(--theme-font-family,Inter,"Segoe UI",Arial,sans-serif)}
html[data-theme-font] :is(button,input,textarea,select){font-family:inherit}
html[data-button-style] .keypad{
  gap:var(--theme-action-gap,9px)!important;
}
html[data-button-style] .keypad-button{
  border-radius:var(--theme-action-radius,16px)!important;
  gap:var(--theme-action-content-gap,11px)!important;
  padding:var(--theme-action-padding,10px 5px)!important;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease!important;
}
html[data-button-style] .keypad-button .key-icon{
  border-radius:clamp(8px,var(--theme-action-radius,16px),18px)!important;
}
html[data-theme-spacing=compact]{--theme-action-gap:7px;--theme-action-gap-total:14px;--theme-action-content-gap:7px;--theme-action-padding:7px 4px}
html[data-theme-spacing=comfortable]{--theme-action-gap:9px;--theme-action-gap-total:18px;--theme-action-content-gap:11px;--theme-action-padding:10px 5px}
html[data-theme-spacing=wide]{--theme-action-gap:13px;--theme-action-gap-total:26px;--theme-action-content-gap:15px;--theme-action-padding:14px 8px}
html[data-theme-shadow=none] .keypad-button{box-shadow:none!important}
html[data-theme-shadow=soft] .keypad-button{box-shadow:0 4px 14px rgba(7,17,31,.055)!important}
html[data-theme-shadow=deep] .keypad-button{box-shadow:0 17px 38px color-mix(in srgb,var(--button-color,var(--button-default-color,var(--ford))) 34%,rgba(7,17,31,.24))!important}
html[data-theme-animation=none] .keypad-button{transition:none!important}
html[data-theme-animation=none] .keypad-button:is(:hover,:active){transform:none!important}
@media(hover:hover){
  html[data-theme-animation=subtle] .keypad-button:hover{transform:translateY(-2px)!important}
  html[data-theme-animation=lift] .keypad-button:hover{transform:translateY(-5px)!important}
  html[data-theme-shadow=soft] .keypad-button:hover{box-shadow:0 8px 20px rgba(7,17,31,.09)!important}
  html[data-theme-shadow=deep] .keypad-button:hover{box-shadow:0 22px 48px color-mix(in srgb,var(--button-color,var(--button-default-color,var(--ford))) 40%,rgba(7,17,31,.28))!important}
}
html[data-button-style] .app-footer{background:var(--button-default-color,var(--ford))!important}
html[data-button-style] .app-footer> :is(button,a){color:var(--theme-footer-text,#fff)!important}
html[data-button-style] .app-footer> :is(button,a) span{color:var(--theme-footer-icon,var(--theme-footer-text,#fff))!important}
html[data-button-style] .app-footer> :is(button,a).is-current{color:var(--theme-footer-active,var(--theme-footer-text,#fff))!important}
html[data-button-style] .app-footer> :is(button,a).is-current span{color:var(--theme-footer-active,var(--theme-footer-icon,#fff))!important}
@media(max-width:759px){
  html[data-button-style] .keypad{grid-template-columns:repeat(3,calc((100% - var(--theme-action-gap-total,18px))/3))!important}
}
@media(prefers-reduced-motion:reduce){
  html[data-theme-animation] .keypad-button{transition:none!important}
  html[data-theme-animation] .keypad-button:is(:hover,:active){transform:none!important}
}

/* Published Content Studio contract: a selected one-column layout must remain
   one column at every viewport and inside the split desktop stage. Keep this
   after all historical responsive gallery rules so they cannot override it. */
.offerings-grid[data-collection-columns="1"],
.special-stage[data-collection-columns="1"],
body.desktop-stage-open .offerings-grid[data-collection-columns="1"],
body.desktop-stage-open .special-stage[data-collection-columns="1"]{
  grid-template-columns:minmax(0,1fr)!important;
}

/* Shared logo-contrast safety: uploaded artwork is preserved, but a neutral
   backing tile is added when its sampled pixels cannot clear 3:1 against the
   active light or dark app surface. This covers every tenant and public card. */
[data-workspace-logo]{
  box-sizing:border-box;
  object-fit:contain;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
[data-workspace-logo].uses-light-logo-safety-tile{
  padding:8px 12px!important;
  border:1px solid rgba(12,34,58,.14)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(2,16,34,.14)!important;
}
[data-workspace-logo].uses-dark-logo-safety-tile{
  padding:8px 12px!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:12px!important;
  background:#07182b!important;
  box-shadow:0 6px 18px rgba(2,16,34,.2)!important;
}

/* Global intrinsic header-media contract. Each active upload controls the
   frame ratio, so portrait, square and landscape artwork is shown completely
   instead of being forced into a tenant-specific crop. */
.card-visual,
.desktop-banner{
  aspect-ratio:var(--active-slide-ratio,1/1.07)!important;
  height:auto!important;
  min-height:0!important;
  transition:aspect-ratio .28s ease!important;
  background:#020812!important;
}
.card-visual[data-media-aspect="portrait"]{max-height:min(78dvh,760px)}
.home-slide img,
.home-slide video,
.home-slide.is-custom img,
.home-slide.is-custom video,
.home-slide[data-slide-type="special"] img{
  object-fit:contain!important;
  object-position:center!important;
  background:#020812!important;
}
.home-slide[data-media-fit="cover"] img,
.home-slide[data-media-fit="cover"] video,
.home-slide.is-custom[data-media-fit="cover"] img,
.home-slide.is-custom[data-media-fit="cover"] video,
.home-slide[data-slide-type="special"][data-media-fit="cover"] img{
  object-fit:cover!important;
}
.brand img[class*="logo-safety-tile"]{
  max-height:48px!important;
}
.install-brand img[class*="logo-safety-tile"],
.welcome-content>img[class*="logo-safety-tile"]{
  width:auto!important;
  min-width:115px;
  max-width:min(220px,70vw);
  max-height:74px;
}
