.vehicle-detail-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.vehicle-detail-image{min-height:360px;aspect-ratio:4/3;background:#eef2ee;display:grid;place-items:center;overflow:hidden}
.vehicle-detail-image img{width:100%;height:100%;max-height:560px;object-fit:cover;display:block}
.vehicle-detail-copy{padding:clamp(8px,2vw,24px) 0}
.vehicle-detail-copy h1{margin:8px 0 24px}
.vehicle-price{font-size:1.2rem;font-weight:700}
.vehicle-detail-meta{margin:28px 0;border-top:1px solid #dfe5df}
.vehicle-detail-meta div{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:15px 0;border-bottom:1px solid #dfe5df}
.vehicle-detail-meta span,.vehicle-description>span{display:block;color:#60716d;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.vehicle-detail-meta strong{display:block;text-align:right;word-break:break-word;overflow-wrap:break-word;hyphens:auto}
.vehicle-detail-rate strong{font-size:1.25rem;color:var(--gold)}
.vehicle-description{border-top:1px solid #dfe5df;padding-top:20px}
.vehicle-description p{margin:0;line-height:1.7}
/* FIX: removed duplicate/conflicting .site-header, .menu-toggle and .site-header nav rules that
   used to live in this max-width:700px block. They fought with the max-width:850px header block
   below (which always won due to source order), so this block now only owns vehicle-detail layout. */
@media (max-width:700px){.vehicle-detail-card{grid-template-columns:1fr}.vehicle-detail-image{min-height:240px}.vehicle-detail-meta div{align-items:flex-start;flex-direction:column;gap:3px}.vehicle-detail-meta strong{text-align:left}}

.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.journal-preview{background:var(--cream)}.blog-card{min-height:230px;padding:25px;background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;box-shadow:0 0 0 rgba(20,35,41,0);transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}.blog-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(20,35,41,.12);border-color:rgba(233,164,58,.48)}.blog-card h2{font-size:1.45rem;margin:0 0 13px;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.blog-image{width:100%;aspect-ratio:16/9;max-height:260px;object-fit:cover;display:block;margin-bottom:15px}.blog-card-copy{display:flex;flex-direction:column;min-width:0}.blog-card-copy p{color:var(--muted);font-size:.9rem;line-height:1.7;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.blog-card>p:not(.eyebrow){color:var(--muted);font-size:.9rem}.blog-meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:22px;color:var(--muted);font-size:.78rem;border-top:1px solid var(--line)}.blog-meta i{color:var(--gold)}
@media(max-width:800px){.post-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.post-grid{grid-template-columns:1fr}.blog-card{min-height:200px}}
.post-detail{max-width:860px;margin:42px auto 80px;padding:0 5vw}.post-detail h1{margin:0 0 16px;overflow-wrap:anywhere;word-break:break-all;white-space:normal;hyphens:auto}.post-detail .post-date{color:var(--muted);margin-bottom:28px}.post-story{display:grid;gap:22px;max-width:760px}.post-story-text,.post-content,.post-text-block,.post-detail p,.post-detail li,.post-detail a,.post-detail div,.post-detail h1,.post-detail .post-date{overflow-wrap:anywhere;word-break:break-word;white-space:normal;hyphens:auto}.post-story-text{font-size:1.08rem;line-height:1.9;color:#1a2427}.post-story-text p,.post-story-text li,.post-story-text a{overflow-wrap:anywhere;word-break:break-word}.post-story-text p{margin:0 0 1em}.post-story-text p:last-child{margin-bottom:0}.post-story-text a{color:var(--navy);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:0.18em}.post-story-image{margin:0;border-radius:18px;overflow:hidden;background:#edf0ee;box-shadow:0 12px 30px rgba(20,35,41,.08)}.post-story-image img{display:block;width:100%;max-height:560px;object-fit:cover;cursor:pointer}.post-story-text img{max-width:100%;border-radius:12px}.post-content{max-width:680px;font-size:1.05rem;color:var(--muted)}
@media(max-width:700px){.admin-content{min-width:0;width:100%;overflow:hidden}.table-wrap{max-width:100%;overflow-x:auto}.admin-nav{overflow-x:auto;white-space:nowrap}.post-detail{margin-top:20px}.post-story{gap:18px}.post-story-text{font-size:1rem;line-height:1.8}} 
/* FIX: dropped the duplicate .admin-content{padding:30px 5vw} that used to sit here — it was
   dead code, silently overridden by the max-width:850px block further down (see note near the
   end of the file where it's now correctly reinstated so it actually applies). */
@media(max-width:700px){.admin-shell{display:block}.admin-nav{width:100%;padding:18px 5vw;position:sticky;top:0;z-index:5}.admin-nav .logo{display:inline-block;margin-bottom:12px}.admin-nav .eyebrow{display:none}.admin-nav a:not(.logo){display:inline-flex;margin:3px;padding:8px 10px;font-size:.78rem}.admin-nav a[style]{margin-top:3px!important}.admin-content h1{font-size:2.4rem!important}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:16px}.stat strong{font-size:1.6rem}.table-wrap{padding:12px}.data-table{font-size:.78rem;min-width:520px}}
/* Interaction and responsive refinements */
button,a,input,select,textarea{transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(233,164,58,.55);outline-offset:3px}.btn:hover,.header-cta:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(20,35,41,.16)}.text-link:hover{color:var(--gold)}.filters select{min-width:170px}.vehicle-info{padding:22px;word-break:break-word;overflow-wrap:break-word}.vehicle-meta{gap:12px}.vehicle-meta strong{color:var(--ink);text-align:right;word-break:break-word;overflow-wrap:break-word}.admin-nav a{transition:background-color .2s ease,color .2s ease,transform .2s ease}.admin-nav a:hover{background:#2e5052;color:white;transform:translateX(3px)}
:root{--ink:#142329;--navy:#19343b;--cream:#f5f3ed;--paper:#fcfbf8;--gold:#e9a43a;--line:#dfe2dc;--muted:#6d7a78;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif;line-height:1.6}h1,h2,h3,p{margin:0;word-break:break-word;overflow-wrap:break-word;hyphens:auto}h1,h2{font-family:Manrope,sans-serif;line-height:1.05;letter-spacing:0}h1{font-size:clamp(3.2rem,7vw,6.5rem)}h2{font-size:clamp(2.1rem,4vw,4.2rem)}h3{font-size:1.15rem}em{font-style:normal;color:var(--gold);word-break:break-word;overflow-wrap:break-word}strong,b{word-break:break-word;overflow-wrap:break-word}a{color:inherit;text-decoration:none;word-break:break-word;overflow-wrap:break-word}.site-header{height:82px;padding:0 5vw;display:flex;align-items:center;gap:24px;background:var(--paper);position:relative;z-index:3}.logo{display:inline-flex;align-items:center;justify-content:center;max-width:180px;min-width:0;flex-shrink:0;font:800 1.45rem Manrope,sans-serif;letter-spacing:-.04em;word-break:break-word;overflow-wrap:break-word}.logo img{display:block;width:auto;max-width:170px;height:72px;object-fit:contain;border-radius:16px;flex-shrink:0}.logo span{display:none}.site-header nav{display:flex;gap:28px;margin-left:auto}.site-header nav a{color:var(--muted);font-size:.9rem}.site-header nav a:hover,.site-header nav .active{color:var(--ink)}.header-cta,.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 20px;font-weight:700;cursor:pointer;word-break:break-word;overflow-wrap:break-word}.header-cta{background:var(--navy);color:var(--white);font-size:.85rem}.menu-toggle{display:none;background:none;border:0;font-size:1.3rem;cursor:pointer}.site-header nav.open{display:flex}.hero{min-height:650px;padding:8vw 8vw 7vw;display:flex;align-items:center;position:relative;color:var(--white);background:linear-gradient(90deg,rgba(12,34,38,.86) 0%,rgba(12,34,38,.42) 55%,rgba(12,34,38,.16)) center/cover}.hero-copy{max-width:750px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:700;color:#8a9895;margin-bottom:18px}.eyebrow span{display:inline-block;width:28px;height:2px;background:var(--gold);vertical-align:middle;margin-right:8px}.eyebrow.light{color:#d4ddda}.hero-lede{font-size:1.15rem;max-width:430px;margin:28px 0 35px;color:#e2e9e5}.hero-actions{display:flex;align-items:center;gap:30px}.btn-accent{background:var(--gold);color:var(--ink)}.btn-dark{background:var(--navy);color:white;white-space:nowrap}.text-link{font-weight:700;font-size:.9rem}.text-link i{color:var(--gold);margin-left:8px}.text-link.light{color:white}.hero-note{position:absolute;bottom:36px;right:8vw;font-size:.75rem;color:#d4ddda}.live-dot{width:7px;height:7px;background:#72d59a;border-radius:50%;display:inline-block;margin-right:8px}.section{padding:110px 8vw}.intro{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;gap:80px;align-items:end;margin-bottom:62px;word-break:break-word;overflow-wrap:break-word}.section-heading>p{max-width:360px;color:var(--muted);word-break:break-word;overflow-wrap:break-word}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.benefit-grid article{border-top:1px solid #cbd1c9;padding:24px 5px}.benefit-grid i{font-size:1.5rem;color:var(--gold);margin-bottom:32px}.benefit-grid p{color:var(--muted);margin-top:8px}.fleet-preview{background:var(--paper)}.compact{align-items:center;margin-bottom:35px}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.vehicle-card{background:white;border:1px solid var(--line);transition:transform .2s,box-shadow .2s;word-break:break-word;overflow-wrap:break-word}.vehicle-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px #20352a12}.vehicle-image{width:100%;aspect-ratio:1.35;object-fit:cover}.vehicle-info{padding:22px}.vehicle-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem;margin:8px 0 20px}.vehicle-info .text-link{font-size:.8rem}.quote-band{padding:85px 8vw;display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:white}.quote-band h2{font-size:clamp(2rem,4vw,3.5rem)}footer{background:#10272c;color:#d5ddda;padding:52px 8vw 25px}.footer-main{display:flex;align-items:center;gap:30px;padding-bottom:52px}.footer-main p{color:#91a09d}.footer-links{margin-left:auto;display:flex;gap:24px;color:#b8c5c2;font-size:.85rem}.footer-bottom{border-top:1px solid #2d464a;padding-top:20px;display:flex;justify-content:space-between;color:#78908c;font-size:.75rem}.page-hero{padding:90px 8vw 75px;background:var(--navy);color:white}.page-hero h1{font-size:clamp(3rem,6vw,5.5rem);max-width:780px}.page-wrap{padding:70px 8vw}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.filters input,.filters select,.form-field input,.form-field textarea,.form-field select{padding:14px;border:1px solid var(--line);background:white;font:inherit;width:100%;word-break:break-word;overflow-wrap:break-word}.filters input{max-width:300px}.form-page{max-width:900px;margin:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field.full{grid-column:1/-1}.form-field label{font-size:.78rem;font-weight:700;word-break:break-word;overflow-wrap:break-word}.form-field textarea{min-height:130px;resize:vertical}.notice{padding:14px;background:#fff5dc;margin-bottom:20px;color:#78541e;word-break:break-word;overflow-wrap:break-word}.admin-shell{display:flex;min-height:100vh;background:#f3f5f1}.admin-nav{width:240px;background:var(--navy);color:white;padding:30px 20px}.admin-nav a{display:block;padding:12px;color:#b7c8c3}.admin-nav a.active{background:#2e5052;color:white}.admin-content{padding:45px;flex:1}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:30px 0}.stat{padding:22px;background:white;border:1px solid var(--line)}.stat i{color:var(--gold);font-size:1.4rem}.stat strong{display:block;font:800 2rem Manrope;margin-top:12px}.table-wrap{background:white;padding:22px;overflow:auto}.data-table{width:100%;border-collapse:collapse;word-break:break-word;overflow-wrap:break-word}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);padding:15px 10px;word-break:break-word;overflow-wrap:break-word}.badge{font-size:.7rem;padding:4px 9px;background:#e2f3e9;color:#28764a}@media(max-width:850px){.site-header{height:68px;padding:0 5vw}.logo img{height:44px;max-width:120px}.menu-toggle{display:block;margin-left:auto}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:20px 7vw;flex-direction:column;gap:14px;z-index:20;box-shadow:0 16px 28px rgba(15,27,30,.08)}.site-header nav.open{display:flex}.header-cta{padding:10px 12px;font-size:.75rem}.hero{min-height:590px;padding:70px 7vw}.hero-note{left:7vw;right:auto}section{padding:75px 7vw}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:22px}.benefit-grid,.vehicle-grid{grid-template-columns:1fr 1fr}.quote-band{padding:65px 7vw;display:block}.quote-band .btn{margin-top:28px}.footer-main{display:block}.footer-links{margin:30px 0 0;flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.admin-nav{width:190px}.admin-content{padding:25px}.stats{grid-template-columns:1fr 1fr}}@media(max-width:520px){h1{font-size:3.25rem}.hero-actions{display:block}.hero-actions .btn{margin-bottom:20px}.benefit-grid,.vehicle-grid{grid-template-columns:1fr}.site-header nav{gap:10px}.header-cta{display:none}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}}
/* FIX: this block is placed AFTER the max-width:850px block above so it correctly wins the
   cascade for screens 700px and under (previously it lived earlier in the file and its
   .admin-content padding was silently overridden — see notes above). Also adds flex-wrap to
   .filters so filter controls stack instead of overflowing on narrow phones. */
@media(max-width:700px){.admin-content{padding:30px 5vw}}

.vehicle-card,.blog-card,.service-card,.message-card,.post-card,.panel,.stat-card{transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;will-change:transform;cursor:pointer}
.vehicle-card:hover,.blog-card:hover,.service-card:hover,.message-card:hover,.post-card:hover,.panel:hover,.stat-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(20,35,41,.08);border-color:rgba(233,164,58,.45)}
.btn,.header-cta,.text-link,.site-header nav a,.logo,.vehicle-card img,.blog-card img,.service-card i,.message-card button,.post-card a,.row-action,.button{transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, opacity .2s ease}
.btn:hover,.header-cta:hover,.text-link:hover,.site-header nav a:hover,.button:hover{transform:translateY(-2px)}
.public-social{display:flex;align-items:center;gap:12px;margin-top:18px}.public-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.06);color:var(--white);border:1px solid rgba(255,255,255,.18);transition:transform .22s ease, background-color .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease}.public-social a:hover{transform:translateY(-3px) scale(1.04);background:var(--gold);border-color:rgba(233,164,58,.8);color:var(--navy);box-shadow:0 14px 28px rgba(233,164,58,.22)}
.wa-float{position:fixed;right:24px;bottom:22px;z-index:30;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:1.35rem;box-shadow:0 12px 24px rgba(20,35,41,.2);transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, background-color .22s ease, color .22s ease}.wa-float:hover,.wa-float:focus-visible{transform:translateY(-4px) scale(1.06);background:#f0b53d;color:var(--ink);box-shadow:0 20px 34px rgba(20,35,41,.28)}