/* Consistent bounds, natural text flow and mobile form geometry. */
:root{--fox-page-gutter:18px;--fox-panel-radius:24px;--fox-modal-gutter:28px;--fox-control-height:48px}
html{max-inline-size:100%;overflow-x:clip;overscroll-behavior-x:none;scrollbar-gutter:auto}
body{max-inline-size:100%;overflow-x:clip;overscroll-behavior-x:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.modal-open{position:fixed;inset-inline:0;top:var(--fox-locked-scroll-top,0px);inline-size:100%;overflow:hidden;overscroll-behavior:none}
html:has(dialog[open]){overflow:hidden;overscroll-behavior:none}
:where(main,section,article,aside,form,fieldset,.field-group,.form-row,.app-main,.app-content,.r-vehicle-body,.provider-body){min-inline-size:0}
:where(h1,h2,h3,h4,p,small,label,.app-subtitle,.modal-copy){overflow-wrap:break-word}
:where(img,video,canvas,iframe){max-inline-size:100%}
.app-panel,.r-vehicle-card,.provider-card,.d-sighting-grid>article{isolation:isolate}
.button,.button-sm{max-inline-size:100%;white-space:normal;text-align:center;line-height:1.4;min-block-size:44px;flex-shrink:0}
.button .icon{flex-shrink:0}
.form-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.app-form .field-group{min-inline-size:0}
.app-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.r-filter-bar>select,.r-search-field input,.e-directory-filters select{box-sizing:border-box;min-inline-size:0;max-inline-size:100%;font-size:16px;line-height:1.5}
.app-form :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select){min-block-size:var(--fox-control-height)}
.app-form :is(input[type=date],input[type=time],input[type=datetime-local]){appearance:none;-webkit-appearance:none;display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;text-align:left;overflow:hidden}
.app-form input::-webkit-date-and-time-value{min-block-size:1.5em;text-align:left}
.app-form input::-webkit-datetime-edit{min-inline-size:0;padding:0;display:inline-flex;max-inline-size:100%}
.app-form input[type=file],.upload-label input[type=file]{display:block;inline-size:100%;max-inline-size:100%;min-inline-size:0;min-block-size:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#666;font-size:16px;line-height:1.5}
input[type=file]::file-selector-button{max-inline-size:100%;border:1px solid #dedede;border-radius:12px;background:#f5f5f5;color:#171717;padding:10px 13px;margin-inline-end:10px;font:inherit;font-size:14px;min-block-size:42px;cursor:pointer}
.app-form :is(p,.field-hint){line-height:1.65}
dialog,dialog:has(.d-dossier),dialog:has(.d-new-report){padding:0;inline-size:min(var(--fox-modal-max,640px),calc(100% - 32px));max-inline-size:calc(100% - 32px);max-block-size:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin:auto;border:1px solid #e1e1e1;border-radius:28px;background:#fff;overflow-y:auto;overflow-x:clip;overscroll-behavior:contain;scroll-padding-block:72px 24px;-webkit-overflow-scrolling:touch}
dialog:has(.d-dossier){--fox-modal-max:1120px}
dialog:has(.d-new-report){--fox-modal-max:730px}
.modal-toolbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:flex-end;min-block-size:60px;padding:10px 15px;background:#fff;border-radius:inherit;border-end-start-radius:0;border-end-end-radius:0}
.modal-toolbar .modal-close{position:static;display:grid;place-items:center;inline-size:38px;block-size:38px;min-inline-size:38px;flex-shrink:0;margin:0;border-radius:50%;background:#f5f5f5;color:#666}
.modal-toolbar .modal-close .icon{inline-size:21px;block-size:21px}
#modal-content{min-inline-size:0;padding:0 var(--fox-modal-gutter) var(--fox-modal-gutter)}
#modal-content :where(section,article,form,div){scroll-margin-block-start:76px}
#modal-content>.modal-eyebrow,#modal-content>div>.modal-eyebrow{padding-inline-end:0}
.modal-eyebrow{line-height:1.6;overflow-wrap:anywhere}
.modal-title{line-height:1.14;overflow-wrap:break-word}
.modal-title:focus,#modal-title:focus{outline:none}
.modal-copy{line-height:1.7}
.d-signal-hero{display:grid;grid-template-columns:minmax(0,1fr) 144px;align-items:center;gap:24px 30px;padding:36px 40px 28px}
.d-hero-main{max-inline-size:none;min-inline-size:0}
.d-signal-hero>.d-traffic{margin:0;justify-self:center;transform:none;z-index:2}
.d-hero-demo{position:relative;inset:auto;grid-column:1/-1;display:block;margin:0;font-size:11px;line-height:1.7;letter-spacing:.06em;color:#b0b0b0;overflow-wrap:break-word;z-index:2}
.d-status-pill{max-inline-size:100%;min-block-size:42px;line-height:1.5;letter-spacing:.075em;white-space:normal}
.d-status-pill>i{flex-shrink:0}
.d-topline,.d-topline>div{min-inline-size:0}
.d-topline h2{overflow-wrap:break-word}
.d-private-tag{max-inline-size:100%;line-height:1.5}
.d-key-facts{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.d-key-facts>div{min-inline-size:0;grid-template-columns:1fr;grid-template-rows:minmax(36px,auto) auto;gap:9px;position:relative;padding:18px 16px}
.d-key-facts>div>span{position:absolute;inset-inline-start:16px;inset-block-end:18px;grid-row:auto;block-size:20px}
.d-key-facts b{display:flex;align-items:center;min-block-size:36px;font-size:18px;line-height:1.35;overflow-wrap:anywhere}
.d-key-facts small{padding-inline-start:26px;min-block-size:40px;line-height:1.6;overflow-wrap:break-word}
.d-home-case{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:center;min-inline-size:0}
.d-home-case .d-traffic.d-traffic-real{inline-size:64px;block-size:166px;margin:0;transform:none;justify-self:center}
.d-home-case .d-traffic-real .traffic-housing{transform:scale(.358);transform-origin:top left}
.d-home-case>span{min-inline-size:0}
.d-home-case b,.d-home-case em,.d-home-case small{max-inline-size:100%;overflow-wrap:break-word}
.d-doc-list button,.d-doc-list button>span,.d-file-metadata,.d-file-metadata>span{min-inline-size:0;max-inline-size:100%}
.d-doc-list b,.d-doc-list small,.d-file-metadata small,.d-doc-viewer-top>b{overflow-wrap:anywhere}
.d-doc-viewer-top{flex-wrap:wrap;gap:12px}
.d-document-viewer{min-inline-size:0;max-inline-size:100%;overflow:hidden;border-radius:16px}
.d-document-viewer iframe{inline-size:100%;min-inline-size:0;max-inline-size:100%}
.d-license-viewer{display:block;inline-size:100%;block-size:auto;object-fit:contain;border-radius:12px}
.d-sighting-grid>article{border-radius:18px;overflow:hidden}
.d-photo-wrap{inline-size:100%;aspect-ratio:16/10;block-size:auto;border-radius:17px 17px 0 0;isolation:isolate;transform:translateZ(0)}
.d-photo-wrap>img,.d-photo-wrap>video{display:block;inline-size:100%;block-size:100%;max-inline-size:100%;object-position:center}
.r-vehicle-grid,.provider-grid,.e-partner-grid{align-items:stretch}
.r-vehicle-grid>.r-vehicle-card,.provider-card{display:flex;flex-direction:column}
.r-vehicle-body,.provider-body{flex:1;display:flex;flex-direction:column;min-inline-size:0}
.r-vehicle-body h3,.provider-body h3{min-block-size:2.7em;line-height:1.35}
.r-vehicle-body .r-vehicle-bottom,.provider-body>.provider-action{margin-block-start:auto}
.r-list-meta,.r-booking-top,.r-modal-actions,.d-sighting-content>div{flex-wrap:wrap;gap:12px}
.t-highlight{outline-offset:4px}
@media(max-width:760px){
  :root{--fox-modal-gutter:20px}
  html{scroll-padding-block-start:84px}
  .wrap{inline-size:calc(100% - 2 * var(--fox-page-gutter));max-inline-size:100%}
  .app-main{min-inline-size:0;max-inline-size:100%;padding-block-end:calc(136px + env(safe-area-inset-bottom,0px))}
  .app-header{min-inline-size:0;gap:12px;flex-wrap:nowrap;padding-inline:var(--fox-page-gutter)}
  .app-header-right{min-inline-size:0;gap:10px}
  .app-content{padding-inline:var(--fox-page-gutter);min-inline-size:0;max-inline-size:100%}
  .app-title-row{align-items:flex-start;gap:18px}
  .app-title-row>div{min-inline-size:0;max-inline-size:100%}
  .app-title{font-size:clamp(28px,7.5vw,34px);line-height:1.15}
  .app-subtitle{line-height:1.65}
  .app-title-row>.button{min-block-size:46px}
  .form-row{grid-template-columns:minmax(0,1fr);row-gap:18px}
  .form-row>.field-group{margin-block-end:0}
  .form-row+.field-group,.form-row+label{margin-block-start:18px}
  .app-form label{line-height:1.5;margin-block-end:10px}
  .app-form .r-checkbox{margin-block:18px;line-height:1.6}
  .app-form textarea{min-block-size:120px}
  .app-form>.button,.r-modal-actions>.button{min-block-size:46px;padding:12px 18px;gap:12px}
  .r-filter-bar>.r-search-field{min-inline-size:0;inline-size:100%}
  .r-filter-bar>select{min-inline-size:0;flex:1 1 120px;max-inline-size:100%}
  .r-role-picker{max-inline-size:156px;min-inline-size:0}
  .r-role-picker select{font-size:16px;min-inline-size:0;inline-size:112px;max-inline-size:100%}
  dialog,dialog:has(.d-dossier),dialog:has(.d-new-report){inline-size:calc(100% - 24px);max-inline-size:calc(100% - 24px);max-block-size:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:24px}
  .modal-toolbar{min-block-size:54px;padding:8px 12px}
  .modal-title{font-size:clamp(27px,7.5vw,34px);letter-spacing:-.035em;line-height:1.15;margin-block-end:20px}
  .modal-eyebrow{font-size:10px;letter-spacing:.12em;margin-block-end:15px}
  .d-topline{padding-inline-end:0;margin-block-end:22px}
  .d-topline h2{font-size:28px;line-height:1.15}
  .d-topline>.d-private-tag{display:inline-flex;white-space:normal;font-size:11px}
  .d-signal-hero{grid-template-columns:minmax(0,1fr) 92px;grid-template-areas:'kicker kicker' 'title title' 'copy signal' 'status status' 'note note';gap:18px 18px;min-block-size:0;padding:25px 22px 23px;border-radius:22px}
  .d-signal-hero:has(.d-visible-plate){grid-template-areas:'kicker kicker' 'title title' 'plate plate' 'copy signal' 'status status' 'note note'}
  .d-hero-main{display:contents}
  .d-hero-kicker{grid-area:kicker;line-height:1.6;font-size:10px;letter-spacing:.1em}
  .d-hero-main h3{grid-area:title;font-size:clamp(28px,7.8vw,34px);line-height:1.13;letter-spacing:-.035em;margin:0;overflow-wrap:break-word}
  .d-hero-main>p{grid-area:copy;align-self:center;font-size:14px;line-height:1.75;max-inline-size:none;margin:0}
  .d-visible-plate{grid-area:plate;justify-self:start;max-inline-size:100%;margin:0}
  .d-signal-hero>.d-traffic.d-traffic-real.story{grid-area:signal;inline-size:92px;block-size:238px;margin:0;transform:none;align-self:center;justify-self:center}
  .d-signal-hero>.d-traffic-real .traffic-housing{transform:scale(.515);transform-origin:top left}
  .d-status-pill{grid-area:status;justify-self:start;font-size:11px;padding:10px 14px;min-block-size:40px;gap:9px;letter-spacing:.07em}
  .d-hero-demo{grid-area:note;grid-column:1/-1;font-size:10px;line-height:1.7;margin:0;letter-spacing:.055em}
  .d-key-facts>div{padding:16px 10px;gap:8px}
  .d-key-facts>div>span{inset-inline-start:10px;inset-block-end:17px}
  .d-key-facts b{font-size:15px;min-block-size:40px;align-items:flex-start}
  .d-key-facts small{font-size:10px;padding-inline-start:21px;min-block-size:34px;line-height:1.6;letter-spacing:.02em}
  .d-key-facts .icon{inline-size:15px;block-size:15px}
  .d-example-switch{gap:8px;flex-wrap:wrap}
  .d-example-switch button{min-block-size:42px;padding:10px 14px;line-height:1.4}
  .d-home-case{padding:20px;gap:16px;grid-template-columns:64px minmax(0,1fr)}
  .d-home-case>span{display:flex;flex-direction:column;gap:7px}
  .d-home-case b{font-size:18px;line-height:1.35}
  .d-home-case em{font-size:13px;line-height:1.6}
  .d-home-case span>i{margin:0;font-size:12px;line-height:1.6}
  .d-doc-list button{padding:15px 12px;gap:10px}
  .d-doc-list button>span{flex:1}
  .d-dossier .panel-heading{align-items:flex-start;gap:12px}
  .d-dossier .panel-heading>.d-private-tag{white-space:normal;max-inline-size:100%;font-size:10px}
  .d-sighting-content>div{align-items:flex-start}
  .d-sighting-content>.button{inline-size:100%;padding:12px 16px}
  .r-document-list>article{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px 12px;align-items:start}
  .r-document-list>article>div{min-inline-size:0}
  .r-document-list>article>div>b{display:block;font-size:14px;line-height:1.5;overflow-wrap:break-word}
  .r-document-list>article>div>small{display:block;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
  .r-document-list>article>.r-badge{grid-column:2;justify-self:start;max-inline-size:100%;white-space:normal}
  .a-cars-preview{left:20px;right:20px;top:90px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;block-size:220px;overflow:hidden;border-radius:18px}
  .a-preview-car,.a-car-0,.a-car-1,.a-car-2{position:relative;inset:auto;inline-size:100%;block-size:210px;transform:none;border-radius:16px;opacity:1}
  .a-preview-car img{object-position:center;transform:none}
  .a-preview-car>span{display:none}
  .a-report-preview{left:20px;right:20px;transform:none;border-radius:20px;overflow:hidden;isolation:isolate}
  .a-report-body{min-inline-size:0}
  .a-mario-license{display:block;inline-size:100%;max-inline-size:100%;block-size:auto;object-fit:contain;object-position:center;border-radius:10px}
  .a-role-switch a{min-inline-size:0;flex:1;justify-content:center;text-align:center;line-height:1.4;white-space:normal;padding:10px 12px}
  .e-directory-tabs button{min-block-size:44px}
  .e-level h2{overflow-wrap:normal;font-size:18px;min-block-size:2.7em}
  .t-tour{max-inline-size:calc(100% - 24px);max-block-size:65dvh;overscroll-behavior:contain}
  .t-controls{flex-wrap:wrap;gap:8px}
  .t-controls>button{min-block-size:42px}
  .app-footer{padding-inline:var(--fox-page-gutter);gap:12px}
}
@media(max-width:360px){
  :root{--fox-page-gutter:16px;--fox-modal-gutter:16px}
  .app-header-right{gap:8px}
  .mobile-app-brand .brand-original{inline-size:74px;block-size:29px}
  .r-role-picker{padding:7px}
  .r-role-picker select{inline-size:104px}
  .d-signal-hero{grid-template-columns:minmax(0,1fr) 82px;padding-inline:18px;column-gap:14px}
  .d-signal-hero>.d-traffic.d-traffic-real.story{inline-size:82px;block-size:212px}
  .d-signal-hero>.d-traffic-real .traffic-housing{transform:scale(.459)}
  .d-key-facts b{font-size:14px}
  .d-home-case{padding:18px;gap:12px}
  .d-home-case b{font-size:17px}
  .a-role-switch a{padding:10px 8px;font-size:12px}
}
@media(max-height:500px) and (orientation:landscape){
  dialog,dialog:has(.d-dossier),dialog:has(.d-new-report){max-block-size:calc(100dvh - 16px)}
  .modal-toolbar{min-block-size:48px;padding-block:5px}
}

/* Keep selected filter values readable instead of cutting them inside narrow native controls. */
@media(max-width:760px){
  .r-catalog-search>label:nth-child(4),.r-catalog-search>label:nth-child(5){grid-column:1/-1}
}
@media(max-width:360px){
  .r-catalog-search>label{grid-column:1/-1}
}

/* The compact intro keeps every action inside the 320 px screen. */
@media(max-width:360px){
 .site-header{padding-inline:12px;gap:10px}
 .site-header .brand-original{inline-size:88px;block-size:34px}
 .header-actions{gap:8px;flex-shrink:0}
 .header-actions>.button{padding-inline:12px;gap:8px}
 .header-actions>.button .icon{display:none}
 .mobile-menu-button{flex-shrink:0}
 .story-scene .hero-buttons{gap:12px}
 .story-scene .hero-buttons>.button{min-inline-size:125px;padding-inline:12px;gap:12px}
 .story-scene .hero-buttons>.text-link{font-size:12px;gap:5px;white-space:normal}
 .story-scene .hero-bottom{gap:8px}
 .story-scene .hero-bottom>.scroll-link{display:none}
 .story-navigation{margin-inline-start:0}
 .skip-intro{margin-inline-start:auto}
}
@media(max-width:760px){
 .story-scene .story-kicker{display:none}
 .story-copy-stage{block-size:180px;height:180px}
}
@media(max-width:360px){
 .story-scene .story-copy-panel h1,.story-scene .story-copy-panel h2{font-size:34px;line-height:1.08}
 .story-copy-stage{block-size:165px;height:165px}
}
