
body{--navy:#102441;--navy2:#0b1930;--lime:#ff6a2b;--gold:#e3b85b;--ink:#17263a;--muted:#617084;--bg:#f7f9f8}
*{box-sizing:border-box}
body{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:white}
h1,h2,h3,.logo{font-family:'Syne','DM Sans',sans-serif}
h1{font-size:clamp(2.8rem,5vw,5.3rem);line-height:1.08;letter-spacing:-.055em;margin:20px 0}
h2{font-size:clamp(2rem,3.6vw,3.25rem);line-height:1.15;letter-spacing:-.045em;margin:14px 0 20px}
h3{font-size:1.18rem}
p{line-height:1.7}
a{color:inherit;text-decoration:none}
button,select,input,textarea{font:inherit}
button{cursor:pointer}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px max(5%,calc((100vw - 1320px)/2));gap:20px;background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 1px 12px #0000000b}
.logo{display:flex;align-items:center;font-weight:800;white-space:nowrap;font-size:1.15rem;letter-spacing:-.05em}
.logo b{margin-left:5px;color:#ac3c12}
.mark{background:var(--navy);color:white;border-radius:11px;padding:7px 10px;margin-right:9px;font-size:1.25rem}
.mark span{color:var(--lime)}
nav{display:flex;gap:26px;font-size:.89rem;font-weight:700}
nav a:hover{color:#ac3c12}
.nav-actions{display:flex;gap:12px;align-items:center}
select{border:1px solid #d9e0e5;padding:10px;border-radius:9px;background:white;max-width:185px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--lime);color:var(--navy2);border:1px solid var(--lime);padding:15px 24px;border-radius:9px;font-weight:800;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn.small{padding:11px 17px;font-size:.84rem}
.btn.secondary{background:transparent;color:white;border-color:#ffffff75}
.btn.outline{background:transparent;border-color:var(--navy);color:var(--navy)}
.btn.light{background:white;border-color:white}
.hero{background:var(--navy);color:white;display:grid;grid-template-columns:1.1fr .9fr;min-height:620px;overflow:hidden}
.hero-inner{padding:86px 5% 55px max(8%,calc((100vw - 1320px)/2));max-width:820px;z-index:1}
.eyebrow{color:var(--lime);font-size:.75rem;font-weight:800;letter-spacing:.18em}
.eyebrow.dark{color:#934319}
.hero h1 em{font-style:normal;color:var(--lime)}
.hero p{font-size:1.08rem;max-width:570px;color:#d4dce8}
.buttons{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0}
.pilot{display:flex;align-items:flex-start;gap:10px;color:#e5e9ed;font-size:.8rem;max-width:560px}
.dot{width:9px;height:9px;border-radius:50%;background:#ffbd67;flex:none;margin-top:4px}
.hero-stats{display:flex;gap:40px;border-top:1px solid #ffffff33;margin-top:42px;padding-top:26px}
.hero-stats div{display:flex;flex-direction:column;gap:4px}
.hero-stats strong{font-size:1.25rem}
.hero-stats small{color:#bac7d8}
.hero-art{position:relative;background:linear-gradient(150deg,#234567,#0c233e 70%);min-height:500px;overflow:hidden}
.sun{position:absolute;top:13%;right:13%;height:290px;width:290px;background:#e3b85b15;border:1px solid #e3b85b40;border-radius:50%;box-shadow:0 0 0 70px #e3b85b09,0 0 0 145px #e3b85b06}
.road{position:absolute;bottom:0;left:-25%;width:150%;height:160px;background:#071527;transform:skewY(-12deg)}
.stripe{position:absolute;top:65px;left:0;width:100%;border-top:4px dashed #e3b85b}
.truck{position:absolute;bottom:135px;left:12%;width:68%;height:180px;filter:drop-shadow(0 30px 16px #0007)}
.bed{position:absolute;bottom:30px;left:0;width:66%;height:62px;background:#e3b85b;border-radius:8px 5px 4px 4px;border-bottom:15px solid #af8334}
.cab{position:absolute;bottom:30px;right:2%;width:38%;height:116px;background:#f3cd7d;border-radius:23px 24px 8px 5px;clip-path:polygon(13% 0,79% 0,100% 36%,100% 100%,0 100%,0 35%)}
.cab:after{content:"";position:absolute;top:17px;right:16px;width:60%;height:38px;background:#24516e;border-radius:8px 8px 2px 2px}
.wheel{position:absolute;bottom:6px;background:#0b1420;border:11px solid #222d3a;border-radius:50%;height:67px;width:67px;box-shadow:inset 0 0 0 10px #81909c}
.w1{left:18%}
.w2{right:12%}
.float-card{position:absolute;top:18%;left:5%;display:flex;align-items:center;gap:12px;background:white;color:var(--navy);padding:17px 20px;border-radius:13px;box-shadow:0 16px 30px #0003}
.float-card small{display:block;color:#6d7884;margin-top:4px}
.pulse{color:#b34417}
.location-tag{position:absolute;bottom:60px;right:8%;background:white;color:var(--navy);border-radius:12px;padding:12px 18px;font-weight:700}
.strip{background:#f5f2eb;padding:22px 7%;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#475466;font-size:.88rem;font-weight:700}
.strip span:first-child{font-size:.68rem;letter-spacing:.13em;color:#6b5a3d}
.section{padding:95px max(7%,calc((100vw - 1250px)/2))}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:45px}
.section-head p{max-width:420px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.service{background:var(--bg);border:1px solid #e8edeb;border-radius:17px;padding:28px}
.service span{font-size:2rem}
.service p{color:var(--muted);font-size:.93rem}
.dark-panel{background:var(--navy2);color:white}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px}
.steps>div{border-top:1px solid #ffffff4d;padding-top:25px}
.steps b{color:var(--lime);font-size:1.7rem}
.steps p{color:#c1cbd6;font-size:.9rem}
.muted,.fine{color:var(--muted)}
.fine{font-size:.79rem}
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:35px 0}
.pricing article{border:1px solid #dce5e4;padding:32px;border-radius:16px;position:relative;display:flex;flex-direction:column;gap:12px}
.pricing .featured{background:#fff8e9;border:2px solid #e3b85b}
.ribbon{position:absolute;top:-12px;right:16px;background:var(--navy);color:white;font-size:.65rem;font-weight:800;padding:7px 12px;border-radius:30px}
.price{font-size:2rem;font-weight:800}
.price small{font-size:.9rem;font-weight:500}
.pricing p{color:var(--muted);margin:0}
.pricing ul{padding-left:20px;line-height:2;flex:1}
.partner{background:#193b39;color:white;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}
.partner p{color:#cbdad6;max-width:580px}
.partner-visual{border:1px solid #ffffff55;border-radius:22px;padding:50px;text-align:center;background:#ffffff0d}
.partner-visual span{font-size:5rem;display:block}
.partner-visual strong{font-size:1.8rem}
.faq details{border-bottom:1px solid #dbe2e4;padding:22px 0}
.faq summary{font-weight:800;cursor:pointer}
.faq details p{color:var(--muted)}
footer{background:#0b1930;color:white;padding:55px 7%;display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}
footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
footer p,footer small{color:#a9b6c5}
footer small{grid-column:1/-1;border-top:1px solid #ffffff25;padding-top:22px}
.text-button{border:0;background:none;color:inherit;padding:0;text-align:left}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
dialog{border:0;border-radius:20px;width:min(94vw,640px);max-height:90vh;box-shadow:0 20px 100px #0005;padding:28px}
dialog::backdrop{background:#0b1930b8}
.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.modal-head h2{font-size:1.5rem}
.close{border:0;background:#eef2f4;border-radius:50%;width:38px;height:38px;font-size:1.6rem}
.form{display:grid;gap:14px}
.form label{display:grid;gap:6px;font-weight:700;font-size:.87rem}
.form input,.form select,.form textarea{width:100%;padding:12px;border:1px solid #cad6df;border-radius:9px}
.form .btn{margin-top:10px}
.notice{background:#fff4df;border:1px solid #f2d9a3;border-radius:10px;padding:12px;color:#75501d;font-size:.87rem}
.record{padding:13px;border:1px solid #e0e7e9;border-radius:10px;margin:9px 0}
.record small{color:var(--muted)}
@media (max-width:1050px){nav{display:none}
.hero{grid-template-columns:1fr 1fr}
.hero-inner{padding-left:7%}
.cards{grid-template-columns:repeat(2,1fr)}
.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.nav{padding:12px 4%;flex-wrap:wrap}
.nav-actions{width:100%;justify-content:space-between}
.hero{grid-template-columns:1fr}
.hero-inner{padding:65px 6% 30px}
.hero-art{min-height:330px}
.truck{bottom:75px}
.hero-stats{gap:20px}
.section{padding:60px 6%}
.section-head{display:block}
.cards,.pricing,.partner{grid-template-columns:1fr}
.steps{grid-template-columns:1fr 1fr}
.partner{gap:30px}
footer{grid-template-columns:1fr 1fr}
footer>div:first-child{grid-column:1/-1}
.strip{justify-content:center}
.float-card{top:10%}}
body{display:block;background:#fff;color:#17263a;font-family:"DM Sans",sans-serif}.nav{position:relative}dialog{color:#17263a;background:#fff}button{cursor:var(--cursor-interaction,pointer)}

body{font-size:16px;-webkit-text-size-adjust:100%}
h1,h2,h3{font-weight:700}
h1{letter-spacing:-.045em}
h2{letter-spacing:-.035em}
nav a{min-height:44px;display:inline-flex;align-items:center}
.btn{min-height:48px;line-height:1.35}
.btn.small{min-height:44px}
.btn.secondary{color:var(--gold);border-color:#e3b85b99}
.hero h1 em{color:#ff8a50}
.pilot{padding:14px 16px;background:#07152766;border:1px solid #ff8a5066;border-radius:10px;font-size:.9rem;line-height:1.6}
.dot{background:#ff8a50;margin-top:7px}
.hero-stats small{font-size:.875rem;line-height:1.5}
.hero-art,.dark-panel,.partner{position:relative;isolation:isolate}
.hero-art::before,.dark-panel::before,.partner::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/geometric-pattern.svg') repeat;background-size:144px 144px;opacity:.2}
.hero-art::before{z-index:0;opacity:.33}
.float-card{border-left:4px solid #ff6a2b}
.service{border-top:3px solid #ff6a2b66}
.service p,.steps p{font-size:1rem}
.steps b{color:#ff8a50;font-family:'Syne',sans-serif}
.pricing .featured{box-shadow:0 12px 36px #96722b16}
.pricing .featured h3{color:#71501b}
.pricing .featured .btn,.ribbon{background:var(--gold);border-color:var(--gold);color:var(--navy2)}
.ribbon{font-size:.75rem;letter-spacing:.05em}
.pricing article h3{font-size:1.5rem}
.price{font-family:'Syne','DM Sans',sans-serif}
.fine{font-size:.875rem;line-height:1.7}
.partner .eyebrow,footer .logo b{color:var(--gold)}
.form label{font-size:1rem}
.form input,.form select,.form textarea{font-size:16px;min-height:48px}
.notice{font-size:.95rem;line-height:1.6}
.close{min-width:44px;min-height:44px}
@media(max-width:1050px){.nav{flex-wrap:wrap;gap:10px}.nav>nav{display:flex;order:3;width:100%;gap:26px;flex-wrap:wrap}}
@media(max-width:720px){h1{font-size:clamp(2.25rem,10vw,3.5rem);line-height:1.12}h2{font-size:clamp(1.8rem,7.6vw,2.6rem)}.nav{padding:10px 5%;gap:7px}.nav-actions{order:2}.nav>nav{gap:16px;font-size:.875rem}.hero-inner{padding-top:40px}.hero p{font-size:1rem}.buttons>.btn{width:100%}.hero-art{min-height:280px}.steps{grid-template-columns:1fr}.hero-stats{justify-content:space-between;gap:12px}.hero-stats small{font-size:.8rem}.section{padding:52px 6%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none}}


/* Requested gold headings and hero labels. */
.hero h1,
.hero-stats strong,
#how h2,
#how .steps h3 { color: #E3B85B !important; }


/* Fire-orange partner section with dark navy text for contrast. */
#partners { background: #FF6A2B; color: #0B1930; }
#partners h2,
#partners .eyebrow,
#partners p,
#partners strong { color: #0B1930; }
#partners .partner-visual { background: #ffffff22; border-color: #0b19304d; }
#partners::before { opacity: .14; }


/* Ground the wheels on the asphalt rather than floating above a slope. */
.hero-art .road { bottom: 0; left: -5%; width: 110%; height: 125px; transform: none; border-top: 3px solid #e3b85b40; }
.hero-art .stripe { top: 88px; }
.hero-art .truck { bottom: 54px; transform: none; filter: drop-shadow(0 5px 5px #0005); }
.hero-art .location-tag { bottom: 12px; padding: 8px 14px; }

.rra-scene { min-height: 430px; }
.rra-scene-toolbar { position: absolute; z-index: 3; top: 28px; left: 6%; right: 6%; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #e3b85b; font-size: .72rem; letter-spacing: .12em; font-weight: 700; }
.rra-motion-toggle { flex: none; border: 1px solid #e3b85b77; border-radius: 8px; background: #102441; color: #f5e2ba; padding: 10px 12px; min-height: 44px; font-size: .8rem; letter-spacing: 0; }
.rra-scene-caption { position: absolute; top: 24%; left: 7%; right: 7%; min-height: 100px; color: #e3b85b; font-family: 'Syne','DM Sans',sans-serif; font-weight: 700; font-size: clamp(1.5rem,2.5vw,2.4rem); line-height: 1.25; z-index: 2; }
.rra-scene-caption span { position: absolute; left: 0; right: 0; opacity: 0; }
.rra-rescue-art { position: absolute; width: 100%; height: auto; left: 0; bottom: 36px; display: block; overflow: visible; z-index: 1; }
.rra-scene-footer { position: absolute; bottom: 0; left: 0; right: 0; padding: 12px 6%; background: #142436; color: #e3b85b; display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; font-size: .8rem; z-index: 2; }
.rra-scene-footer span { color: #d4dce8; }
.rra-service-van { animation: rra-arrive 18s linear infinite; }
.rra-technician { animation: rra-walk-help 18s linear infinite; }
.rra-wisp { animation: rra-steam-rise 2.8s ease-out infinite; transform-box: fill-box; transform-origin: center bottom; }
.rra-wisp-b { animation-delay: -.9s; }
.rra-wisp-c { animation-delay: -1.8s; }
.rra-caption-stranded { animation: rra-copy-first 18s linear infinite; }
.rra-caption-arrival { animation: rra-copy-second 18s linear infinite; }
.rra-caption-help { animation: rra-copy-third 18s linear infinite; }
.rra-scene[data-running="false"] *, .rra-scene[data-running="false"] *::before { animation-play-state: paused !important; }
@keyframes rra-arrive { 0%,5% { transform: translateX(-360px); opacity: 0; } 7% { opacity: 1; } 29%,91% { transform: translateX(0); opacity: 1; } 97%,100% { transform: translateX(0); opacity: 0; } }
@keyframes rra-walk-help { 0%,30% { transform: translateX(0); opacity: 0; } 34% { transform: translateX(0); opacity: 1; } 60%,91% { transform: translateX(214px); opacity: 1; } 97%,100% { transform: translateX(214px); opacity: 0; } }
@keyframes rra-steam-rise { 0% { transform: translateY(8px) scale(.7); opacity: 0; } 25% { opacity: .65; } 100% { transform: translateY(-54px) scale(1.2); opacity: 0; } }
@keyframes rra-copy-first { 0%,20% { opacity: 1; } 25%,100% { opacity: 0; } }
@keyframes rra-copy-second { 0%,24% { opacity: 0; } 30%,49% { opacity: 1; } 54%,100% { opacity: 0; } }
@keyframes rra-copy-third { 0%,54% { opacity: 0; } 60%,92% { opacity: 1; } 97%,100% { opacity: 0; } }
@media (max-width: 720px) { .rra-scene { min-height: 390px; } .rra-scene-toolbar { top: 20px; font-size: .65rem; letter-spacing: .06em; } .rra-scene-caption { top: 22%; font-size: 1.7rem; } .rra-scene-footer { font-size: .75rem; gap: 4px; } .rra-rescue-art { bottom: 56px; } }
@media (prefers-reduced-motion: reduce) { .rra-scene *, .rra-scene *::before { animation: none !important; } .rra-service-van { transform: none; opacity: 1; } .rra-technician { transform: translateX(214px); opacity: 1; } .rra-steam { display: none; } .rra-scene-caption span { opacity: 0; } .rra-scene-caption .rra-caption-help { opacity: 1; } .rra-motion-toggle { display: none; } }

