/* Consistent image containment and scene-first homepage. */
.home-jobsite{padding:100px 0 58px;background:#080d12}
.home-intro{max-width:1600px;margin:auto;padding:12px 3% 26px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.home-intro h1{font:600 clamp(26px,3.1vw,45px)/1.12 Oswald,sans-serif;text-transform:uppercase;letter-spacing:.01em}
.home-intro h1 em{color:var(--blue);font-style:normal;display:block}
.home-intro .eyebrow{margin-bottom:8px;letter-spacing:.22em}
.home-intro .intro-action{max-width:330px;text-align:right}
.home-intro p{font-size:12px;color:#bbc9d3;line-height:1.8;margin:0 0 12px}
.home-intro .cta-btn{padding:14px 24px}
.home-jobsite .jobsite-frame{max-width:none;border:0;box-shadow:none}
.home-jobsite .jobsite-scene{aspect-ratio:16/9}
.machine-hotspot,.machine-hotspot:hover,.machine-hotspot.featured{border:0!important;border-radius:0;background:none!important;box-shadow:none!important;cursor:zoom-in}
.machine-hotspot:focus-visible{outline:2px solid white;outline-offset:3px;background:#ffffff08!important}
.hotspot-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.scene-toolbar{padding:16px 3%;align-items:center}
.scene-toolbar p{margin:0;color:#cad6df;font-size:12px;line-height:1.7}
.scene-toolbar a{font-size:12px}
.home-jobsite .quick-fleet{max-width:1300px}
.machine-card{display:none}
.rental-fleet-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'photo info';gap:0;background:#0d141c;border:1px solid #243240;min-width:0;overflow:hidden}
.rental-fleet-card+.rental-fleet-card{margin-top:22px}
.rental-fleet-card:nth-child(even){grid-template-areas:'info photo'}
.rental-fleet-card .rental-visual{grid-area:photo;min-width:0;display:flex;align-items:center;justify-content:center;padding:25px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#192731,#0b1118 75%)}
.rental-photo-frame{position:relative;aspect-ratio:var(--photo-ratio);width:100%;max-width:100%;min-width:0;flex-shrink:1;isolation:isolate}
.rental-photo-frame>img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain;display:block}
.rental-photo-frame .light-source{pointer-events:none}
.rental-photo-frame.lit .light-source{opacity:1}
.rental-visual .rental-lights{position:absolute;bottom:14px;right:14px;z-index:5;padding:10px 13px}
.rental-fleet-card .rental-info{grid-area:info;padding:38px 34px;min-width:0;display:flex;flex-direction:column;justify-content:center}
.rental-info h3{font:600 clamp(25px,2.1vw,34px)/1.2 Oswald,sans-serif;text-transform:uppercase;margin:4px 0 16px}
.rental-info .machine-desc{margin-bottom:16px;font-size:13px}
.rental-info .spec-grid{margin:5px 0 20px}.rental-info .spec-grid dd{font-size:18px}
.rental-info .detail-jobs{margin:10px 0 18px;gap:10px}
.rental-info .detail-jobs li{font-size:11px}.rental-info .detail-jobs strong{font-size:12px}
.rental-info .machine-note{font-size:10px;margin-bottom:14px}
.rental-info .dialog-actions{margin:8px 0}
.rental-info>a{color:#8dcefc;font-size:12px;margin-top:12px;text-underline-offset:4px;line-height:1.7}
.product-photo{position:relative;width:100%;max-width:100%;min-width:0;aspect-ratio:var(--photo-ratio);height:auto;max-height:none;isolation:isolate}
.product-photo>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.closeup-wrap .product-photo{width:min(100%,calc(var(--frame-height,500px) * var(--ratio-number,1.4)));max-height:none}
.equipment-overview>*{min-width:0}
.equipment-overview .product-photo{width:100%;max-width:640px}
.equipment-tile{min-width:0}.equipment-tile img{min-width:0;flex-shrink:0}
.dialog-controls{right:90px}.dialog-controls .scene-control{white-space:nowrap}
.local-value{padding:60px 7%;background:#0b131b;border-top:1px solid #243443;border-bottom:1px solid #243443}
.local-value h2{font:500 34px/1.2 Oswald,sans-serif;text-transform:uppercase;margin-bottom:18px}
.local-value p{max-width:850px;font-size:14px;line-height:1.9;color:#bccbd5}
.local-value a{color:#99d8ff}
.booking-form{max-width:900px;padding:32px;border:1px solid #324b60;background:#0c1620;margin:30px 0}
.booking-form h2{font:500 28px Oswald,sans-serif;text-transform:uppercase;margin-bottom:16px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.form-field.full{grid-column:1/-1}
.form-field label,.form-legend{font-size:12px;font-weight:500;color:#dae6ee;line-height:1.6}
.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;border:1px solid #60778a;border-radius:2px;background:#0a1017;color:#fff;min-height:48px;font:400 14px Inter,sans-serif;padding:12px;box-sizing:border-box;color-scheme:dark}
.form-field textarea{resize:vertical;min-height:110px}.form-field small{font-size:11px;line-height:1.7;color:#b0c2cf}
.form-field input:invalid:not(:placeholder-shown){border-color:#ab8f67}
.booking-form fieldset{border:0;padding:0;margin:0 0 26px;min-width:0}
.booking-form legend{font:500 21px Oswald,sans-serif;margin-bottom:15px;text-transform:uppercase}
.form-note{font-size:12px;line-height:1.8;color:#b9cbd8;margin:16px 0}
.form-checkbox{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.9;color:#c1d2dd;margin:16px 0}
.form-checkbox input{margin-top:6px;flex:none;width:18px;height:18px;accent-color:#228ece}
.booking-form button{font-family:Inter,sans-serif;line-height:1.6;min-height:48px}
.booking-form button:disabled{opacity:.55;cursor:wait}
.booking-status{padding:14px;border:1px solid #517a96;background:#0c1b28;font-size:13px;line-height:1.8;color:#d3e9f6;margin:18px 0}
.booking-status.error{border-color:#d6a478;color:#ffe0c6}
.booking-status.success{border-color:#79b49f;color:#c6f5df}
.booking-success{padding:28px;border:1px solid #78ad9d;background:#0c201d;margin:24px 0}
.booking-success h2{font:500 28px Oswald,sans-serif;margin-bottom:16px}
.booking-success p{font-size:14px;line-height:1.9;color:#c7e7dc}
.booking-summary{border-top:1px solid #406158;margin:20px 0;padding-top:16px}
.booking-summary dt{font-size:11px;color:#b7d3c7;margin-top:12px}.booking-summary dd{font-size:15px;line-height:1.8;color:white}
.date-help{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.date-help button{border:1px solid #688da5;background:#112737;color:#c5eaff;padding:12px;font:500 11px Inter,sans-serif;cursor:pointer}
.booking-calendar{border:1px solid #3a5266;margin:22px 0 4px;padding:16px;background:#09131c;max-width:620px}
.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.calendar-heading strong{font:500 21px Oswald,sans-serif}.calendar-heading button{background:#152b3a;border:1px solid #7894a7;color:white;width:44px;min-height:44px;cursor:pointer}
.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-week span{text-align:center;color:#b6c9d6;font-size:11px;padding:8px 0}
.calendar-day{padding:8px 2px;min-height:60px;background:#102633;border:1px solid #557b94;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-family:Inter,sans-serif}.calendar-day strong{font-size:14px}.calendar-day small{font-size:9px;color:#b9e8d3}.calendar-day.unavailable{background:#161a20;border-color:#39434c;color:#7d8991;cursor:not-allowed}.calendar-day.unavailable small{color:#929da6;font-size:8px}.calendar-day.selected{border-color:white;background:#27596a;box-shadow:inset 0 0 0 1px white}.calendar-legend{font-size:11px;color:#b1c8d7;line-height:1.8;margin-top:12px}
.booking-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.privacy-note{font-size:11px;color:#afbfca;line-height:1.8;margin-top:18px}.privacy-note a{color:#9cd6ff}
.admin-card{border:1px solid #3f596e;padding:22px;margin:18px 0;background:#0b1822;max-width:1000px}
.admin-card h2{font:500 24px Oswald,sans-serif;margin-bottom:12px}.admin-card p{font-size:13px;line-height:1.9;overflow-wrap:anywhere}
.admin-filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.admin-filters button{padding:12px;border:1px solid #6c8b9e;background:#102634;color:white;cursor:pointer}
.admin-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.admin-actions button{padding:12px;color:white;border:1px solid #6a8b9d;background:#173b47;cursor:pointer;font-family:Inter,sans-serif}
.admin-actions .danger{background:#492721}.admin-card .status{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#9bd9ff}
@media(max-width:900px){.rental-fleet-card,.rental-fleet-card:nth-child(even){grid-template-columns:minmax(0,1fr);grid-template-areas:'photo' 'info'}.rental-fleet-card .rental-visual{padding:24px 35px;min-height:0}.rental-photo-frame{max-width:560px}.rental-fleet-card .rental-info{padding:28px}.home-intro{padding:5px 22px 22px}.home-intro .intro-action{max-width:260px}.home-intro p{font-size:11px}}
@media(max-width:700px){.home-jobsite{padding:94px 0 40px}.home-intro{display:block}.home-intro h1{font-size:30px}.home-intro .intro-action{text-align:left;max-width:none;margin-top:14px}.home-intro .intro-action p{margin-bottom:12px}.home-intro .eyebrow{font-size:9px}.home-intro .cta-btn{padding:12px 18px}.home-jobsite .scene-toolbar{padding:16px 22px}.rental-fleet-card .rental-info{padding:26px 22px}.rental-fleet-card .rental-visual{padding:24px 20px}.rental-photo-frame{max-width:450px}.form-grid{grid-template-columns:minmax(0,1fr)}.form-field.full{grid-column:auto}.booking-form{padding:23px 18px}.dialog-controls{right:72px;gap:8px}.dialog-controls .scene-control{padding:10px 8px;font-size:9px}.local-value{padding:45px 22px}}
