/* Shared page frame: natural document scrolling and complete reachable content. */
html{scroll-padding-top:16px}
body#page-start.compact-preview,body#page-start.screen-ready.compact-preview{display:flex;flex-direction:column;height:auto;min-height:100vh;min-height:100dvh;overflow:visible;--mobile-bar-height:0px}
body#page-start.compact-preview .cp-site-content,body#page-start.screen-ready.compact-preview .cp-site-content{display:flex;flex:1;flex-direction:column;width:100%;min-height:0;overflow:visible;overscroll-behavior:auto}
body#page-start.screen-ready.compact-preview .cp-site-content>.cp-header{position:relative;flex:none}
body#page-start.compact-preview .cp-site-content>main,body#page-start.screen-ready.compact-preview .cp-site-content>main{flex:1 0 auto;min-height:calc(100svh - var(--header-height,150px) - 28px);height:auto;max-height:none;margin-bottom:0;overflow:visible;overscroll-behavior:auto;scroll-snap-type:none;scroll-padding-bottom:80px}
body#page-start.screen-ready.compact-preview main[data-screen-page="home"]>section{min-height:calc(100svh - var(--header-height,150px) - 28px);height:auto;scroll-snap-align:none}
body#page-start.compact-preview .cp-mobile-bar{display:none!important}
body#page-start.compact-preview .cp-footer{display:block;padding-bottom:90px}
body#page-start.compact-preview .cp-support-dock,body#page-start.screen-ready.compact-preview .cp-support-dock{position:fixed;inset:auto 16px 12px auto;width:320px;max-width:calc(100% - 24px);padding:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:44px;gap:10px;background:none;border:0;--support-dock-height:64px}
body#page-start.compact-preview .cp-support-dock #cp-assistant{grid-column:1;grid-row:1}
body#page-start.compact-preview .cp-support-dock #cp-contact{grid-column:2;grid-row:1}
body#page-start.compact-preview .cp-support-dock :is(#cp-assistant,#cp-contact)>summary{height:44px;min-height:44px}
body#page-start.compact-preview :is(.cp-ask-greeting,.screen-utility){display:none!important}
body#page-start.compact-preview .cp-support-dock :is(.cp-assistant-panel,.cp-contact-panel){bottom:72px;max-height:calc(100dvh - 90px)}
body#page-start.compact-preview :is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid #f3d78f;outline-offset:3px}
body#page-start.compact-preview main :is(section,article,details,[id]){scroll-margin-top:18px}
body#page-start.compact-preview :is(.ip-page,.lg-page) :is(#ip-dashboard,#lg-dashboard)>h2{font-size:30px!important;line-height:1.2!important;margin:0 0 16px!important}
body#page-start.compact-preview :is(.service-detail-layout,.category-list,.cp-footer-grid)>*{min-width:0}
body#page-start.compact-preview .cp-footer a{overflow-wrap:anywhere}
@media(max-width:760px){
 body#page-start.compact-preview .cp-support-dock,body#page-start.screen-ready.compact-preview .cp-support-dock{inset:auto 12px 8px auto;width:calc(100% - 24px);max-width:400px;grid-template-rows:44px;padding:0}
 body#page-start.compact-preview .cp-footer{padding-bottom:80px}
 body#page-start.compact-preview main :is(.rights-table-wrap,.table-wrap){max-width:100%;overflow-x:auto}
}
@media print{
 body#page-start.compact-preview{display:block;min-height:0;height:auto}
 body#page-start.compact-preview .cp-site-content>main{min-height:0}
 body#page-start.compact-preview .cp-support-dock{display:none}
 body#page-start.compact-preview .cp-footer{padding-bottom:0}
}

body#page-start.compact-preview:has(dialog[open]){overflow:hidden}

/* v57: requested overview routes use the available screen; dialogs hold details. */
body#page-start.compact-preview.viewport-ready{height:100dvh;min-height:0}
body#page-start.compact-preview.viewport-ready .cp-site-content{flex:1;min-height:0}
body#page-start.compact-preview.viewport-ready .cp-site-content>main{flex:1;min-height:0;height:0;max-height:none;padding:0!important;margin:0;overflow:visible}
body#page-start.compact-preview.viewport-mode .cp-support-dock{position:relative;inset:auto;flex:none;align-self:center;width:100%;max-width:none;height:60px;padding:8px max(16px,calc((100% - 1240px)/2));grid-template-columns:minmax(0,1fr) 160px 160px;grid-template-rows:44px;background:#0b150f;border-top:1px solid #9f8d5744;gap:10px}
body#page-start.compact-preview.viewport-mode .cp-support-dock #cp-assistant{grid-column:2}
body#page-start.compact-preview.viewport-mode .cp-support-dock #cp-contact{grid-column:3}
.viewport-info{justify-self:start;background:transparent;border:0;color:#d5c697;font:inherit;font-size:12px;text-align:left;cursor:pointer;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.viewport-information{width:min(1000px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
body#page-start.compact-preview .viewport-information .cp-footer{padding:24px 0}
body#page-start.compact-preview .viewport-information .cp-call-band{padding:20px 0}
.viewport-pager{display:flex;align-items:center;justify-content:center;gap:18px;height:42px;min-height:42px;color:#d3c79e;font-size:13px}
.viewport-pager button{width:44px;height:42px;background:#142016;border:1px solid #897b51;border-radius:5px;color:#f2daa2;font:inherit;font-size:20px;cursor:pointer}
.viewport-pager button:disabled{opacity:.35;cursor:default}
body#page-start.viewport-ready :is(.fq-wrap,.sv-shell,.ws-shell,.ow-shell,.ip-wrap){box-sizing:border-box;height:100%;min-height:0;width:min(1360px,calc(100% - 48px));padding:16px 0 12px;gap:12px}
body#page-start.viewport-ready :is(.fq-help,.sv-help,.ip-help,.ip-live,.ip-update){margin-right:0}
body#page-start.viewport-ready :is(.ws-related,.ow-footer){padding-right:0}
/* Questions retain their complete answers; the pager adapts to text and height. */
body#page-start.viewport-ready .fq-wrap{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;position:relative}
body#page-start.viewport-ready .fq-heading{margin:0}
body#page-start.viewport-ready .fq-grid{min-height:0;grid-auto-rows:max-content;align-content:start;gap:12px}
body#page-start.viewport-ready .fq-help{margin:0;padding:8px 14px;min-height:44px;gap:12px}
body#page-start.viewport-ready .fq-help strong{font-size:15px}
body#page-start.viewport-ready #fq-count{position:absolute;bottom:78px;left:0;font-size:11px;margin:0}
body#page-start.viewport-ready #fq-empty{position:absolute;top:100px;left:0;right:0;padding:16px}
/* A single sign-in method at a time; no live authentication is added. */
.ip-methods{display:flex;gap:8px;margin-top:12px}
.ip-methods button{flex:1;padding:10px 12px;border:1px solid #8a794e;border-radius:5px;background:#101b13;color:#ddd6bc;font:inherit;font-size:13px;line-height:1.3;min-height:44px;cursor:pointer}
.ip-methods button[aria-selected=true]{background:#d4bb7a;color:#11180f}
body#page-start.viewport-mode .ip-form h2{display:none}
body#page-start.viewport-ready .ip-wrap{display:flex;flex-direction:column}
body#page-start.viewport-ready #ip-entry{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:12px}
body#page-start.viewport-ready .ip-entry-grid{min-height:0;flex:1;gap:24px;align-items:center}
body#page-start.viewport-ready .ip-entry-grid>figure{align-self:stretch;min-height:0}
body#page-start.viewport-ready .ip-entry-grid>figure img{position:absolute;inset:0;max-height:none;height:100%;display:block}
body#page-start.viewport-ready .ip-live{margin:0;padding:8px 12px;gap:12px}
body#page-start.viewport-ready .ip-help{margin:0;justify-content:flex-end;font-size:13px}
body#page-start.viewport-ready #ip-dashboard{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}
body#page-start.viewport-ready #ip-dashboard>h2{font-size:24px!important;margin:0!important}
body#page-start.viewport-ready .ip-demo-bar{margin:0}
body#page-start.viewport-ready .ip-vehicle{flex:1;min-height:100px;grid-template-columns:1fr 1fr}
body#page-start.viewport-ready .ip-vehicle>img{height:100%;min-height:0;max-height:230px}
body#page-start.viewport-ready .ip-vehicle>div{padding:10px 16px}
body#page-start.viewport-ready .ip-vehicle strong{padding:7px 10px}
body#page-start.viewport-ready .ip-timeline{padding:0;margin:0;font-size:12px}
body#page-start.viewport-ready .ip-timeline li{padding-top:6px}
body#page-start.viewport-ready .ip-timeline span{font-size:18px;margin-bottom:4px}
body#page-start.viewport-ready .ip-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
body#page-start.viewport-ready .ip-card{padding:10px}
body#page-start.viewport-ready .ip-card .ip-icon{display:none}
body#page-start.viewport-ready .ip-card h2{font-size:16px!important}
body#page-start.viewport-ready .ip-card button{margin-top:6px}
body#page-start.viewport-ready .ip-update{margin:0;padding:8px 12px;flex-direction:row}
/* Services: six visible categories and paginated search results. */
body#page-start.viewport-ready .sv-shell{grid-template-rows:auto minmax(0,1fr) auto}
body#page-start.viewport-ready .sv-searching .sv-shell{grid-template-rows:auto minmax(0,1fr) auto auto}
body#page-start.viewport-ready .sv-categories{min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}
body#page-start.viewport-ready .sv-card{min-height:0;padding:12px 16px}
body#page-start.viewport-ready .sv-card-top{margin-bottom:6px}
body#page-start.viewport-ready .sv-card-top svg{width:28px;height:28px}
body#page-start.viewport-ready main.sv-page h1{font-size:34px!important;margin-bottom:6px!important}
body#page-start.viewport-ready main.sv-page .sv-card h2{font-size:18px!important;padding-bottom:6px}
body#page-start.viewport-ready main.sv-page .sv-card p{margin:6px 0!important;font-size:13px!important}
body#page-start.viewport-ready .sv-results{overflow:visible;min-height:0;grid-auto-rows:max-content}
body#page-start.viewport-ready .sv-help{min-height:0;padding:9px 14px;gap:14px}
/* Photo overviews use flexible image space instead of fixed image heights. */
body#page-start.viewport-ready .ws-shell{grid-template-rows:minmax(0,1fr) auto}
body#page-start.viewport-ready .ws-hero{min-height:0;gap:24px}
body#page-start.viewport-ready .ws-photo-card{min-height:0;height:100%;max-height:560px;align-self:center}
body#page-start.viewport-ready .ws-photo-open{min-height:0;position:relative;aspect-ratio:auto}
body#page-start.viewport-ready #ws-main-image{position:absolute;inset:0;width:100%;height:100%}
body#page-start.viewport-ready .ws-related{height:auto;min-height:46px;padding-top:8px;gap:14px}
body#page-start.viewport-ready .ws-related a{min-height:40px;font-size:13px}
body#page-start.viewport-ready .ws-related svg{width:24px;height:24px}
body#page-start.viewport-ready .ow-shell{grid-template-rows:auto minmax(0,1fr) auto}
body#page-start.viewport-ready .ow-cover{height:auto;min-height:0;flex:1}
body#page-start.viewport-ready .ow-grid{grid-template-rows:minmax(0,1fr)}
body#page-start.viewport-ready .ow-footer{min-height:0;padding-top:10px}
@media(max-width:999px){
 body#page-start.viewport-ready :is(.fq-wrap,.sv-shell,.ws-shell,.ow-shell,.ip-wrap){width:calc(100% - 28px);padding:12px 0 10px;gap:10px}
 body#page-start.viewport-ready .sv-intro{grid-template-columns:1fr;gap:8px}
 body#page-start.viewport-ready .sv-categories{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:8px}
 body#page-start.viewport-ready .sv-card{padding:10px;display:flex}
 body#page-start.viewport-ready .sv-card-top{margin-bottom:5px}
 body#page-start.viewport-ready .sv-card-top svg{width:23px;height:23px}
 body#page-start.viewport-ready main.sv-page .sv-card h2{font-size:15px!important;padding:0;border:0}
 body#page-start.viewport-ready main.sv-page .sv-card p{display:none}
 body#page-start.viewport-ready .sv-view{font-size:12px;margin-top:5px}
 body#page-start.viewport-ready .sv-help{gap:8px;padding:8px}
 body#page-start.viewport-ready .sv-help-copy svg{display:none}
 body#page-start.viewport-ready .sv-actions{flex-direction:row;gap:6px}
 body#page-start.viewport-ready .sv-help-copy p{display:none}
 body#page-start.viewport-ready .ws-hero{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:10px}
 body#page-start.viewport-ready .ws-copy{display:grid;grid-template-columns:1fr auto;gap:8px 10px}
 body#page-start.viewport-ready .ws-copy .ws-eyebrow{display:none}
 body#page-start.viewport-ready .ws-copy h1{grid-column:1/-1;font-size:32px!important;margin:0!important}
 body#page-start.viewport-ready .ws-subtitle{grid-column:1/-1;font-size:18px!important;margin:0!important}
 body#page-start.viewport-ready .ws-copy .ws-actions{gap:6px;margin:0}
 body#page-start.viewport-ready .ws-copy>.ws-text{margin:0;align-self:center;font-size:12px!important}
 body#page-start.viewport-ready .ws-photo-card{grid-template-rows:minmax(0,1fr) auto auto}
 body#page-start.viewport-ready .ws-thumb img{height:42px}
 body#page-start.viewport-ready .ws-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 body#page-start.viewport-ready .ws-related a{font-size:12px;gap:6px;padding:4px 0}
 body#page-start.viewport-ready .ws-related svg{display:none}
 body#page-start.viewport-ready .ow-grid{grid-template-rows:repeat(2,minmax(0,1fr));gap:10px}
 body#page-start.viewport-ready .ow-card-copy{padding:8px 10px;gap:4px}
 body#page-start.viewport-ready .ow-card-copy>strong{font-size:20px}
 body#page-start.viewport-ready .ow-footer{grid-template-columns:1fr 1fr 1fr;gap:10px}
 body#page-start.viewport-ready .ow-footer>.btn{grid-column:auto;font-size:12px;padding:8px}
 body#page-start.viewport-ready .ow-review{gap:6px}
 body#page-start.viewport-ready .ow-review>svg,body#page-start.viewport-ready .ow-review>img{display:none}
 body#page-start.viewport-ready .ow-review-links{gap:0;flex-direction:column}
 body#page-start.viewport-ready .ow-review-links a{min-height:28px;font-size:11px}
}
@media(max-width:760px){
 body#page-start.compact-preview.viewport-mode .cp-support-dock{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:8px;height:60px;padding:8px 12px}
 body#page-start.viewport-mode .viewport-info{font-size:11px;line-height:1.3}
 body#page-start.viewport-ready .fq-heading{gap:10px}
 body#page-start.viewport-ready .fq-heading h1{font-size:26px!important}
 body#page-start.viewport-ready .fq-help{padding:8px;flex-wrap:nowrap;gap:8px}
 body#page-start.viewport-ready .fq-help strong{display:none}
 body#page-start.viewport-ready .fq-help .btn{font-size:12px;padding:8px;flex:1}
 body#page-start.viewport-ready #fq-count{position:static;grid-row:2;margin:0;font-size:11px}
 body#page-start.viewport-ready .fq-wrap:has(#fq-count:not([hidden])){grid-template-rows:auto auto minmax(0,1fr) auto auto}
 body#page-start.viewport-ready .ip-entry-grid{grid-template-columns:1fr;flex:none}
 body#page-start.viewport-ready .ip-entry-grid>figure{display:none}
 body#page-start.viewport-ready #ip-entry{justify-content:center;gap:8px}
 body#page-start.viewport-ready .ip-entry-grid .ip-eyebrow{display:none}
 body#page-start.viewport-ready .ip-methods{margin-top:8px}
 body#page-start.viewport-ready .ip-methods button{font-size:12px;padding:8px}
 body#page-start.viewport-ready .ip-fields,body#page-start.viewport-ready #ip-email-form{grid-template-columns:1fr 1fr;gap:8px}
 body#page-start.viewport-ready .ip-email-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}
 body#page-start.viewport-ready .ip-email-row .btn{font-size:11px;padding:8px}
 body#page-start.viewport-ready .ip-live{flex-direction:column;gap:6px;padding:8px;align-items:stretch}
 body#page-start.viewport-ready .ip-live p{max-width:none;font-size:12px!important;margin:0!important}
 body#page-start.viewport-ready .ip-help{display:none}
 body#page-start.viewport-ready #ip-dashboard{justify-content:center;gap:8px}
 body#page-start.viewport-ready .ip-vehicle{flex:none;grid-template-columns:110px minmax(0,1fr);min-height:120px}
 body#page-start.viewport-ready .ip-vehicle>img{height:100%;max-height:160px}
 body#page-start.viewport-ready .ip-vehicle>div{padding:8px}
 body#page-start.viewport-ready .ip-vehicle h2{font-size:16px!important}
 body#page-start.viewport-ready .ip-card{padding:8px}
 body#page-start.viewport-ready .ip-card h2{font-size:13px!important}
 body#page-start.viewport-ready .ip-card p{font-size:11px!important}
 body#page-start.viewport-ready .ip-card .btn{padding:6px;font-size:12px}
 body#page-start.viewport-ready .ip-update h2{font-size:16px!important}
 body#page-start.viewport-ready .ip-update .btn{font-size:12px;padding:8px}
 body#page-start.viewport-ready .sv-tools{flex-direction:row;align-items:center;gap:10px}
 body#page-start.viewport-ready .sv-meta{display:none}
 body#page-start.viewport-ready main.sv-page .sv-eyebrow{display:none}
 body#page-start.viewport-ready main.sv-page h1{font-size:28px!important}
 body#page-start.viewport-ready main.sv-page .sv-subtitle{font-size:13px!important}
 body#page-start.viewport-ready .sv-help{flex-direction:column;align-items:stretch}
 body#page-start.viewport-ready .sv-help h2{font-size:14px!important;margin:0!important}
 body#page-start.viewport-ready .sv-actions .btn{flex:1;font-size:12px;padding:8px}
 body#page-start.viewport-ready .sv-results{grid-template-columns:1fr}
 body#page-start.viewport-ready .ws-copy .ws-actions{grid-column:1/-1}
 body#page-start.viewport-ready .ws-copy>.ws-text{grid-column:1/-1;justify-self:start;min-height:32px}
 body#page-start.viewport-ready .ws-copy .ws-actions .btn{font-size:12px;padding:8px;min-height:40px}
 body#page-start.viewport-ready main.ow-page h1{font-size:26px!important;margin-bottom:5px!important}
 body#page-start.viewport-ready main.ow-page .ow-eyebrow{display:none}
 body#page-start.viewport-ready .ow-heading{gap:6px}
 body#page-start.viewport-ready .ow-badge{padding:4px 7px;font-size:9px}
}
/* Zoom, very short windows, and no-JS keep a readable document instead of clipping. */
@media print{
 body#page-start.compact-preview.viewport-ready{height:auto;min-height:0}
 body#page-start.compact-preview.viewport-ready .cp-site-content>main{height:auto;min-height:0}
 body#page-start.viewport-ready :is(.fq-wrap,.sv-shell,.ws-shell,.ow-shell,.ip-wrap){height:auto}
 body#page-start.compact-preview.viewport-mode .cp-support-dock{display:none}
}
body#page-start.viewport-ready .ws-photo-open{height:auto}
.ip-compact-notice{display:none}
@media(max-width:760px){
 body#page-start.viewport-ready .ip-compact-notice{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;font-size:11px;color:#e5cf94}
 body#page-start.viewport-ready .ip-compact-notice button{padding:8px 0;min-height:36px;background:none;border:0;color:#e5cf94;font:inherit;text-align:right;text-decoration:underline;cursor:pointer}
 body#page-start.viewport-ready .ip-demo-note,body#page-start.viewport-ready .ip-live>p{display:none}
 body#page-start.viewport-ready main.ip-page h1{font-size:26px!important;margin-bottom:6px!important}
 body#page-start.viewport-ready .ip-form{padding:8px;margin-top:6px}
 body#page-start.viewport-ready .ip-live{padding:6px}
 body#page-start.viewport-ready .ip-live .btn{font-size:13px;padding:8px;min-height:42px}
 body#page-start.viewport-ready .ip-wrap{padding-top:8px;padding-bottom:8px}
}
.ip-dashboard-overview,.ip-dashboard-files{display:contents}
@media(max-width:760px){
 body#page-start.viewport-ready .ip-dashboard-tabs{margin:0}
 body#page-start.viewport-ready :is(.ip-dashboard-overview,.ip-dashboard-files){display:flex;flex:1;flex-direction:column;gap:12px;min-height:0;justify-content:center}
 body#page-start.viewport-ready .ip-dashboard-overview .ip-vehicle{flex:1;max-height:280px}
 body#page-start.viewport-ready .ip-dashboard-overview .ip-vehicle img{max-height:none}
 body#page-start.viewport-ready .ip-dashboard-files .ip-cards{grid-template-columns:1fr}
 body#page-start.viewport-ready .ip-dashboard-files .ip-card{display:grid;grid-template-columns:minmax(0,1fr) 68px;gap:4px 8px}
 body#page-start.viewport-ready .ip-dashboard-files .ip-card h2{font-size:15px!important;margin:0!important}
 body#page-start.viewport-ready .ip-dashboard-files .ip-card p{margin:0!important}
 body#page-start.viewport-ready .ip-dashboard-files .ip-card button{grid-column:2;grid-row:1/3;margin:0;align-self:center}
}
