:root {
  --ink: #07111d;
  --ink-2: #0c1b2a;
  --ink-3: #12283b;
  --paper: #f4f7f9;
  --white: #ffffff;
  --muted: #9fb0bf;
  --line: rgba(255,255,255,.13);
  --blue: #14c9ff;
  --blue-2: #087cff;
  --orange: #ff681d;
  --display: "Barlow Condensed", Impact, sans-serif;
  --body: "Inter", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top:160px; }
body { margin: 0; background: var(--ink); color: var(--white); font-family: var(--body); font-size: 16px; line-height: 1.55; overflow-x: hidden; }
a { color: inherit; }
button, input, textarea { font: inherit; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; transform: translateY(-150%); background: var(--white); color: var(--ink); padding: .7rem 1rem; }
.skip-link:focus { transform: none; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 50; height: 144px; display: flex; align-items: center; gap: 1.5rem; padding: 0 clamp(1.25rem,4vw,4.5rem); background: linear-gradient(180deg,rgba(4,11,18,.96),rgba(4,11,18,.76) 70%,transparent); transition: background .25s, border-color .25s; }
.site-header.scrolled { background: rgba(4,11,18,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.brand { flex-shrink:0; display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; margin-right: auto; }
.header-logo { display:block; width:152px; height:132px; object-fit:contain; }
nav { display: flex; gap: 1.9rem; }
nav a { color: #d6e0e8; text-decoration: none; font-size: .82rem; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; }
nav a:hover, nav a:focus-visible { color: var(--blue); }
nav a.active { color: var(--blue); }
.menu-toggle { display: none; background: transparent; border: 1px solid var(--line); color: var(--white); padding: .55rem .8rem; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-height: 52px; padding: .85rem 1.4rem; border: 0; background: var(--orange); color: var(--white); text-decoration: none; font-weight: 800; text-transform: uppercase; letter-spacing: .055em; clip-path: polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px)); transition: transform .2s, background .2s; }
.button:hover,.button:focus-visible { background: #ff7a35; transform: translateY(-2px); }
.button-small { min-height: 42px; padding: .65rem 1rem; font-size: .76rem; }
.button-full { width: 100%; }
.text-link { display: inline-flex; gap: .6rem; align-items: center; color: var(--white); text-decoration: none; font-weight: 700; }
.text-link:hover,.text-link:focus-visible { color: var(--blue); }

.hero { min-height: 770px; height: 92vh; max-height: 980px; position: relative; display: flex; align-items: center; overflow: hidden; }
.hero-image { position: absolute; inset: 0; background: url("wraptor-fleets-branded-hero.png") center/cover no-repeat; transform: scale(1.01); }
.hero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,11,18,.98) 0%,rgba(4,11,18,.9) 30%,rgba(4,11,18,.35) 60%,rgba(4,11,18,.05) 100%),linear-gradient(0deg,var(--ink) 0%,transparent 20%); }
.hero::after { content:""; position:absolute; left:-5%; bottom:58px; width:47%; height:3px; background:linear-gradient(90deg,transparent,var(--blue)); transform:rotate(-7deg); transform-origin:right; box-shadow:0 12px 0 rgba(255,104,29,.7); }
.hero-content { position: relative; z-index: 2; width: min(690px,54vw); padding: 11rem 0 2rem clamp(1.25rem,7vw,8rem); }
.eyebrow { margin: 0 0 1.25rem; color: var(--blue); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .17em; display: flex; align-items: center; gap: .65rem; }
.eyebrow span { display:inline-block; width: 32px; height: 2px; background: currentColor; }
.eyebrow.light { color: #7edfff; }
h1,h2,h3 { margin: 0; font-family: var(--display); line-height: .91; text-transform: uppercase; }
h1 { font-size: clamp(4.2rem,8.2vw,8.4rem); font-weight: 900; letter-spacing: -.035em; max-width: 760px; }
h1 em,h2 em { color: var(--blue); font-style: normal; }
.hero-copy { max-width: 610px; color: #d6e0e8; font-size: clamp(1rem,1.25vw,1.18rem); line-height: 1.65; margin: 1.6rem 0 1.7rem; }
.hero-actions { display:flex; gap: 1.5rem; align-items:center; }
.hero-points { display:flex; flex-wrap:wrap; gap: .7rem 1.4rem; margin-top: 2.1rem; color: #b7c6d2; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing:.08em; }
.hero-points span::before { content:""; display:inline-block; width:6px; height:6px; margin-right:.55rem; background:var(--blue); transform:rotate(45deg); }
.hero-stamp { position: absolute; z-index:3; right: clamp(1.25rem,4vw,4.5rem); bottom: 3rem; width: 126px; aspect-ratio:1; border:1px solid rgba(255,255,255,.55); border-radius:50%; display:grid; place-content:center; text-align:center; transform:rotate(-7deg); background:rgba(4,11,18,.4); backdrop-filter:blur(5px); }
.hero-stamp::before { content:""; position:absolute; inset:7px; border:1px dashed rgba(255,255,255,.35); border-radius:inherit; }
.hero-stamp span,.hero-stamp small { font-size:.55rem; letter-spacing:.15em; }
.hero-stamp strong { font:900 1.3rem/1 var(--display); color:var(--blue); letter-spacing:.05em; }
.hero-brand-badge { position:absolute; z-index:3; right:clamp(1.25rem,3vw,3.5rem); bottom:2.2rem; width:clamp(160px,17vw,250px); height:auto; filter:drop-shadow(0 12px 26px rgba(0,0,0,.7)); }

.signal-bar { position:relative; z-index:4; display:grid; grid-template-columns:repeat(4,1fr); margin-top:-1px; background:var(--blue); color:var(--ink); }
.signal-bar p { margin:0; min-height:118px; padding:1.55rem clamp(1rem,2.7vw,2.7rem); display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(7,17,29,.25); }
.signal-bar strong { font:900 2rem/1 var(--display); letter-spacing:.03em; }
.signal-bar span { font-size:.78rem; font-weight:700; opacity:.78; }

.section { padding: clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,8rem); }
.section-intro { max-width: 920px; }
.section h2 { font-size: clamp(3.6rem,7vw,7.3rem); font-weight:900; letter-spacing:-.03em; }
.model { background:var(--paper); color:var(--ink); position:relative; }
.model::before { content:""; position:absolute; right:0; top:0; width:36%; height:9px; background:var(--orange); clip-path:polygon(20px 0,100% 0,100% 100%,0 100%); }
.comparison-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:4.5rem; border:1px solid #cbd5dc; }
.comparison-card { min-height: 500px; padding:clamp(2rem,4vw,4rem); position:relative; }
.comparison-card + .comparison-card { border-left:1px solid #cbd5dc; }
.comparison-card h3 { font-size:clamp(2.2rem,3.2vw,3.7rem); line-height:.98; max-width:540px; margin:1rem 0 2.2rem; }
.card-label { margin:0; color:#6d7d88; font-size:.75rem; text-transform:uppercase; letter-spacing:.15em; font-weight:800; }
.comparison-card ul { list-style:none; margin:0; padding:0; display:grid; gap:1rem; }
.comparison-card li { padding-left:2rem; position:relative; color:#52616b; }
.comparison-card li::before { position:absolute; left:0; font-weight:900; }
.old-way li::before { content:"×"; color:#92a0a9; }
.new-way { background:var(--ink); color:var(--white); overflow:hidden; }
.new-way .card-label { color:var(--blue); }
.new-way li { color:#d1dce4; }
.new-way li::before { content:"✓"; color:var(--blue); }
.edge-label { position:absolute; right:-24px; top:42px; transform:rotate(45deg); background:var(--orange); color:white; font-size:.62rem; letter-spacing:.12em; font-weight:800; padding:.35rem 2.5rem; }

.services { background:#091522; }
.inline-intro { max-width:none; display:grid; grid-template-columns:1.2fr .8fr; gap:6vw; align-items:end; }
.inline-intro > p { color:var(--muted); max-width:570px; margin:0 0 .5rem; font-size:1.05rem; }
.service-grid { margin-top:4.5rem; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-card { min-height:420px; padding:2.4rem; border-right:1px solid var(--line); position:relative; transition:background .25s,transform .25s; }
.service-card:first-child { border-left:1px solid var(--line); }
.service-card:hover { background:#10263a; transform:translateY(-7px); }
.service-card.featured { background:linear-gradient(155deg,#0e3350,var(--ink-2)); }
.service-number { color:var(--blue); font:700 1rem/1 var(--display); }
.service-card h3 { font-size:2.5rem; margin:5.2rem 0 1.2rem; }
.service-card p { color:var(--muted); }
.service-tags { position:absolute; left:2.4rem; bottom:2.4rem; display:flex; flex-wrap:wrap; gap:.5rem; }
.service-tags span { border:1px solid var(--line); padding:.45rem .7rem; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; color:#bfd0dc; }

.process { display:grid; grid-template-columns:.88fr 1.12fr; gap:7vw; background:linear-gradient(130deg,#0b5682 0%,#063754 42%,#071a29 100%); }
.process-heading { position:sticky; top:130px; align-self:start; }
.process h2 { font-size:clamp(3.4rem,5.3vw,5.8rem); }
.process-list { margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.22); }
.process-list li { display:grid; grid-template-columns:74px 1fr; gap:1rem; padding:2.1rem 0; border-bottom:1px solid rgba(255,255,255,.22); }
.step-number { color:#71dcff; font:700 1rem/1 var(--display); padding-top:.3rem; }
.process-list h3 { font-size:2rem; letter-spacing:.02em; }
.process-list p { margin:.7rem 0 0; max-width:560px; color:#c6dbe8; }

.fleet { background:var(--paper); color:var(--ink); }
.fleet-panel { display:grid; grid-template-columns:1fr .9fr; gap:7vw; align-items:center; }
.fleet-copy > p:not(.eyebrow) { color:#596a75; font-size:1.05rem; max-width:650px; }
.check-list { list-style:none; padding:0; margin:2.1rem 0 0; display:grid; grid-template-columns:1fr 1fr; gap:1rem 2rem; }
.check-list li { padding-left:1.7rem; position:relative; font-weight:700; }
.check-list li::before { content:""; position:absolute; width:8px; height:8px; left:0; top:.5rem; background:var(--orange); transform:rotate(45deg); }
.fleet-map { min-height:520px; position:relative; overflow:hidden; background:var(--ink); color:var(--white); clip-path:polygon(0 0,100% 0,100% calc(100% - 34px),calc(100% - 34px) 100%,0 100%); }
.map-grid { position:absolute; inset:0; opacity:.14; background-image:linear-gradient(rgba(255,255,255,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 1px); background-size:54px 54px; transform:perspective(500px) rotateX(12deg) scale(1.1); }
.map-core { position:absolute; left:48%; top:51%; transform:translate(-50%,-50%); width:150px; aspect-ratio:1; display:grid; place-content:center; text-align:center; border:1px solid var(--blue); border-radius:50%; background:rgba(20,201,255,.12); box-shadow:0 0 0 16px rgba(20,201,255,.04),0 0 45px rgba(20,201,255,.2); }
.map-core small { font-size:.58rem; letter-spacing:.15em; color:#8cdfff; }
.map-core strong { font:800 1.25rem/1 var(--display); }
.route { position:absolute; left:48%; top:51%; height:1px; transform-origin:left; background:linear-gradient(90deg,var(--blue),rgba(20,201,255,.12)); }
.r1{width:38%;transform:rotate(-139deg)} .r2{width:35%;transform:rotate(-82deg)} .r3{width:38%;transform:rotate(-34deg)} .r4{width:36%;transform:rotate(27deg)}
.city { position:absolute; font-size:.66rem; text-transform:uppercase; letter-spacing:.1em; color:#9ec5db; }
.city::before { content:""; display:inline-block; width:7px; height:7px; background:var(--orange); border-radius:50%; margin-right:.4rem; box-shadow:0 0 0 5px rgba(255,104,29,.12); }
.c1{left:10%;top:29%}.c2{left:31%;top:12%}.c3{right:10%;top:28%}.c4{right:8%;bottom:26%}
.fleet-map > p { position:absolute; left:2rem; bottom:1.8rem; margin:0; color:#93a8b8; font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; }
.fleet-map > p strong { color:var(--white); }

.planner { display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; background:var(--ink); }
.planner h2 { font-size:clamp(4rem,6vw,6.7rem); }
.planner-copy > p:not(.eyebrow) { color:var(--muted); max-width:540px; }
.planner-note { margin-top:2.5rem; padding:1.5rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; gap:.3rem; }
.planner-note strong { color:var(--blue); font:700 1.35rem/1 var(--display); text-transform:uppercase; }
.planner-note span { color:#aab9c4; font-size:.82rem; }
.plan-form { background:var(--white); color:var(--ink); padding:clamp(1.5rem,4vw,3.5rem); clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%); }
.plan-form fieldset { border:0; padding:0; margin:0 0 2rem; }
.plan-form legend { font:800 1.45rem/1 var(--display); text-transform:uppercase; margin-bottom:1rem; }
.choice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; }
.vehicle-choices { grid-template-columns:repeat(5,1fr); }
.choice-grid input { position:absolute; opacity:0; pointer-events:none; }
.choice-grid span { min-height:52px; display:grid; place-content:center; text-align:center; padding:.5rem; border:1px solid #cbd5dc; color:#5e6d77; cursor:pointer; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; transition:.15s; }
.choice-grid input:checked + span { color:var(--white); background:var(--ink); border-color:var(--ink); box-shadow:inset 0 -3px 0 var(--blue); }
.choice-grid input:focus-visible + span { outline:3px solid rgba(8,124,255,.35); outline-offset:2px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-row label { color:#5f6d76; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.form-row input { width:100%; min-height:52px; margin-top:.45rem; border:1px solid #cbd5dc; padding:0 1rem; color:var(--ink); background:#f8fafb; }
.form-row input:focus { outline:2px solid var(--blue); border-color:var(--blue); }
.plan-result { margin:1.5rem 0; padding:1.2rem 1.3rem; border-left:4px solid var(--blue); background:#eef6fa; }
.plan-result small { display:block; color:#71818b; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
.plan-result strong { display:block; font:800 1.35rem/1.1 var(--display); text-transform:uppercase; margin:.35rem 0 .5rem; }
.plan-result p { margin:0; color:#61717c; font-size:.8rem; }
.plan-form button { cursor:pointer; }
.contact-hint { margin:-.8rem 0 1.4rem; color:#5f6d76; font-size:.85rem; }
.request-confirmation { min-height:80vh; display:flex; align-items:center; padding:10rem clamp(1.25rem,7vw,8rem) 6rem; background:radial-gradient(circle at 80% 35%,rgba(20,201,255,.16),transparent 38%),#07111d; }
.confirmation-panel { max-width:850px; }
.confirmation-panel h1 { font-size:clamp(4.1rem,9vw,8rem); }
.confirmation-panel > p:not(.eyebrow) { max-width:600px; margin:1.6rem 0 2rem; color:#c0cfda; font-size:1.1rem; line-height:1.65; }

.final-cta { text-align:center; background:var(--blue); color:var(--ink); position:relative; overflow:hidden; }
.final-cta::before,.final-cta::after { content:""; position:absolute; width:30%; height:200%; top:-50%; background:rgba(7,17,29,.07); transform:skewX(-18deg); }
.final-cta::before{left:-18%}.final-cta::after{right:-18%}
.final-cta .eyebrow { color:var(--ink); justify-content:center; }
.final-cta h2 { font-size:clamp(3.5rem,6vw,6.5rem); position:relative; }
.final-cta h2 em { color:var(--white); }
.final-cta .button { margin-top:2rem; background:var(--ink); }

footer { padding:4rem clamp(1.25rem,7vw,8rem) 2.5rem; background:#03080d; overflow:hidden; }
.footer-details { position:relative; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2rem; padding-top:2.8rem; border-top:1px solid var(--line); color:#8294a2; font-size:.82rem; }
.footer-details strong,.footer-details a { color:#dbe6ed; }
.footer-details a { text-decoration:none; }

/* Multi-page website */
.inner-hero { min-height: 590px; padding: 10.5rem clamp(1.25rem,7vw,8rem) 5rem; display:flex; align-items:flex-end; position:relative; overflow:hidden; background:radial-gradient(circle at 78% 38%,rgba(20,201,255,.18),transparent 30%),linear-gradient(135deg,#07111d 0%,#0b263b 62%,#06101a 100%); }
.inner-hero::before { content:""; position:absolute; inset:0; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px); background-size:72px 72px; transform:skewX(-9deg) scale(1.1); }
.inner-hero::after { content:""; position:absolute; right:-10%; top:16%; width:54%; height:46%; background:linear-gradient(135deg,transparent 41%,var(--blue) 42%,var(--blue) 46%,transparent 47%,transparent 57%,rgba(255,104,29,.9) 58%,rgba(255,104,29,.9) 61%,transparent 62%); opacity:.7; transform:skewX(-12deg); }
.inner-hero-content { position:relative; z-index:2; max-width:980px; }
.inner-hero h1 { font-size:clamp(4.3rem,8.5vw,8.8rem); }
.inner-hero p.hero-copy { max-width:720px; }
.breadcrumb { display:flex; gap:.6rem; align-items:center; margin:0 0 1.2rem; color:#9db0be; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.breadcrumb a { color:var(--blue); text-decoration:none; }
.intro-band { display:grid; grid-template-columns:.85fr 1.15fr; gap:7vw; align-items:start; background:var(--paper); color:var(--ink); }
.intro-band .lead { margin:0; color:#536570; font-size:clamp(1.1rem,1.6vw,1.35rem); line-height:1.7; }
.intro-band h2 { font-size:clamp(3.6rem,6.5vw,6.6rem); }
.fleet-priority { padding:clamp(3.5rem,6vw,6rem) clamp(1.25rem,7vw,8rem); display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; background:linear-gradient(125deg,#0b4b70,#08263a 58%,#07111d); border-bottom:1px solid var(--line); }
.fleet-priority h2 { font-size:clamp(3.8rem,6.5vw,7rem); }
.fleet-priority p:not(.eyebrow) { max-width:650px; color:#c2d2dd; font-size:1.1rem; }
.fleet-priority .button { margin-top:1.4rem; }
.link-arrow { display:inline-flex; gap:.55rem; align-items:center; margin-top:1.2rem; color:var(--blue-2); font-weight:800; text-transform:uppercase; letter-spacing:.07em; text-decoration:none; font-size:.8rem; }
.link-arrow:hover { color:var(--orange); }
.page-card-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.page-card { min-height:330px; padding:clamp(1.8rem,3.5vw,3.3rem); background:#091522; display:flex; flex-direction:column; text-decoration:none; position:relative; overflow:hidden; }
.page-card::after { content:"↗"; position:absolute; right:2rem; top:1.7rem; color:var(--blue); font-size:1.5rem; }
.page-card:hover { background:#102a40; }
.page-card small { color:var(--blue); text-transform:uppercase; letter-spacing:.13em; font-weight:800; }
.page-card h3 { margin:auto 0 1rem; font-size:clamp(2.5rem,4vw,4.2rem); max-width:530px; }
.page-card p { margin:0; max-width:560px; color:#aebdca; }
.page-card.orange::after,.page-card.orange small { color:var(--orange); }
.mini-process { display:grid; grid-template-columns:repeat(4,1fr); margin-top:3.3rem; border-top:1px solid #c9d3da; }
.mini-step { padding:2rem 1.4rem 0 0; border-right:1px solid #c9d3da; min-height:210px; }
.mini-step + .mini-step { padding-left:1.4rem; }
.mini-step:last-child { border-right:0; }
.mini-step span { color:var(--blue-2); font:800 1rem/1 var(--display); }
.mini-step h3 { margin:2.2rem 0 .7rem; font-size:2rem; }
.mini-step p { color:#60717c; font-size:.88rem; }
.dark-section { background:#081522; }
.light-section { background:var(--paper); color:var(--ink); }
.content-split { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:start; }
.content-split h2 { font-size:clamp(3.4rem,5.6vw,6rem); }
.content-copy { color:var(--muted); }
.light-section .content-copy { color:#566873; }
.content-copy > p:first-child { margin-top:0; font-size:1.12rem; line-height:1.75; }
.feature-list { list-style:none; padding:0; margin:2rem 0 0; display:grid; gap:1rem; }
.feature-list li { position:relative; padding:1rem 1rem 1rem 2.8rem; border:1px solid var(--line); background:rgba(255,255,255,.025); }
.feature-list li::before { content:"✓"; position:absolute; left:1rem; color:var(--blue); font-weight:900; }
.light-section .feature-list li { border-color:#ccd6dc; background:white; color:#4d5e69; }
.metric-row { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); margin-top:3rem; }
.metric-row > div { padding:2rem; border-right:1px solid var(--line); }
.metric-row > div:last-child { border-right:0; }
.metric-row strong { display:block; color:var(--blue); font:900 clamp(2.4rem,4vw,4.4rem)/.9 var(--display); text-transform:uppercase; }
.metric-row span { display:block; margin-top:.7rem; color:#a5b5c1; font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; }
.timeline { margin:3.5rem 0 0; padding:0; list-style:none; counter-reset:steps; }
.timeline li { counter-increment:steps; display:grid; grid-template-columns:90px 1fr; gap:2rem; padding:2.5rem 0; border-top:1px solid var(--line); }
.timeline li:last-child { border-bottom:1px solid var(--line); }
.timeline li::before { content:"0" counter(steps); color:var(--blue); font:800 1.2rem/1 var(--display); padding-top:.4rem; }
.timeline h3 { font-size:2.5rem; }
.timeline p { margin:.75rem 0 0; color:var(--muted); max-width:730px; }
.responsibility-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3rem; }
.responsibility-card { padding:2rem; border:1px solid #cbd5dc; background:white; }
.responsibility-card h3 { font-size:2rem; margin-bottom:1.2rem; }
.responsibility-card ul { margin:0; padding-left:1.15rem; color:#5a6c77; }
.responsibility-card li + li { margin-top:.75rem; }
.vehicle-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:3rem; }
.vehicle-card { min-height:280px; padding:1.8rem; border:1px solid var(--line); display:flex; flex-direction:column; background:linear-gradient(145deg,#10273a,#08131f); }
.vehicle-card span { color:var(--blue); font:800 .8rem/1 var(--body); letter-spacing:.12em; }
.vehicle-card h3 { margin:auto 0 .8rem; font-size:2rem; }
.vehicle-card p { color:#a7b6c2; font-size:.84rem; margin:0; }
.offer-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3rem; }
.offer-card { padding:2.3rem; min-height:310px; background:white; border:1px solid #ccd6dc; position:relative; }
.offer-card strong { display:block; color:var(--orange); font:800 .82rem/1 var(--body); text-transform:uppercase; letter-spacing:.1em; }
.offer-card h3 { margin:4.2rem 0 1rem; font-size:2.45rem; }
.offer-card p { color:#5b6d78; }
.production-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-top:3rem; }
.production-card { padding:2.3rem; min-height:260px; background:#0d2234; border:1px solid var(--line); }
.production-card small { color:var(--blue); font-weight:800; letter-spacing:.1em; }
.production-card h3 { font-size:2.4rem; margin:3rem 0 1rem; }
.production-card p { color:#a7b8c4; }
.callout { margin-top:3rem; padding:clamp(2rem,4vw,4rem); background:var(--blue); color:var(--ink); display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; clip-path:polygon(0 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%); }
.callout h3 { font-size:clamp(2.4rem,4vw,4.2rem); }
.callout p { margin:.8rem 0 0; max-width:680px; font-weight:600; }
.callout .button { background:var(--ink); white-space:nowrap; }
.faq-list { max-width:980px; margin:3rem auto 0; }
.faq-list details { border-top:1px solid #cbd5dc; padding:1.3rem 0; }
.faq-list details:last-child { border-bottom:1px solid #cbd5dc; }
.faq-list summary { cursor:pointer; list-style:none; font:700 1.55rem/1.1 var(--display); text-transform:uppercase; display:flex; justify-content:space-between; gap:2rem; }
.faq-list summary::after { content:"+"; color:var(--blue-2); }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { color:#5a6c77; max-width:800px; }
.page-start .planner { padding-top:3rem; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.5rem; }
.contact-grid label,.notes-label { color:#5f6d76; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.contact-grid input,.notes-label textarea { width:100%; min-height:52px; margin-top:.45rem; border:1px solid #cbd5dc; padding:.8rem 1rem; color:var(--ink); background:#f8fafb; }
.notes-label textarea { min-height:105px; resize:vertical; }
.contact-grid input:focus,.notes-label textarea:focus { outline:2px solid var(--blue); border-color:var(--blue); }
.footer-nav { display:flex; flex-wrap:wrap; gap:.65rem 1.2rem; }
.footer-nav a:hover { color:var(--blue); }
.page-footer-note { margin-top:2rem; padding-top:1rem; border-top:1px solid var(--line); color:#526574; font-size:.7rem; }
.gallery-section { background:#06101a; }
.gallery-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-top:3.5rem; }
.gallery-card { min-height:330px; position:relative; overflow:hidden; background:#102336; text-decoration:none; border:1px solid var(--line); }
.gallery-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(2,8,13,.94),transparent 58%); }
.gallery-card img { width:100%; height:100%; aspect-ratio:16/10; object-fit:cover; display:block; transition:transform .4s ease; }
.gallery-card:hover img { transform:scale(1.035); }
.gallery-card > span { position:absolute; z-index:2; left:1.6rem; right:1.6rem; bottom:1.4rem; display:grid; gap:.25rem; }
.gallery-card small { color:var(--blue); font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.gallery-card strong { font:800 clamp(1.8rem,3vw,3rem)/1 var(--display); text-transform:uppercase; }
.gallery-note { margin-top:1.25rem; color:#8fa2af; font-size:.78rem; }
.gallery-note strong { color:#cbd8e1; }
.fleet-feature { border-top:4px solid var(--orange); }
.quiet-note { color:#8195a4; font-size:.78rem; }
.credibility-band { padding:0 clamp(1.25rem,7vw,8rem) clamp(5rem,8vw,8rem); background:var(--paper); color:var(--ink); }
.credibility-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #c8d3da; background:#c8d3da; gap:1px; }
.credibility-item { min-height:190px; padding:1.8rem; background:white; display:flex; flex-direction:column; justify-content:flex-end; }
.credibility-item strong { color:var(--blue-2); font:900 clamp(2.8rem,5vw,5.4rem)/.82 var(--display); text-transform:uppercase; letter-spacing:-.025em; }
.credibility-item span { margin-top:.8rem; color:#536570; font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.credibility-item.dark { background:var(--ink); }
.credibility-item.dark strong { color:var(--orange); font-size:clamp(2rem,3.2vw,3.4rem); line-height:.92; }
.credibility-item.dark span { color:#aab9c4; }
.testimonials { background:var(--paper); color:var(--ink); }
.review-summary { display:flex; align-items:center; gap:1rem; margin-top:1.4rem; color:#52636e; font-size:.86rem; }
.review-summary strong { color:var(--orange); font-size:1.15rem; letter-spacing:.08em; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3.2rem; }
.testimonial-card { min-height:310px; padding:2.2rem; border:1px solid #c9d4db; background:white; display:flex; flex-direction:column; }
.testimonial-stars { color:var(--orange); letter-spacing:.14em; font-size:.9rem; }
.testimonial-card blockquote { margin:2rem 0; font:700 clamp(1.7rem,2.5vw,2.45rem)/1.08 var(--display); text-transform:uppercase; }
.testimonial-card footer { margin-top:auto; padding:0; background:transparent; color:#677985; font-size:.76rem; }
.testimonial-card footer strong { display:block; color:var(--ink); font-size:.88rem; }
.testimonial-card a { color:var(--blue-2); text-decoration:none; font-weight:700; }
.real-work-card small { color:#9ee7ff; }
.real-work-card::after { background:linear-gradient(0deg,rgba(2,8,13,.96),rgba(2,8,13,.05) 65%); }
.work-source { display:inline-block; margin-top:.35rem; color:#aebdca; font-size:.72rem; font-weight:600; letter-spacing:.04em; text-transform:none; }
.showcase-lead { max-width:720px; color:#9fb0bf; }

/* The creative work leads the Fleets story. */
.credibility-home { padding-top:2rem; padding-bottom:2rem; }
.credibility-home .credibility-item { min-height:154px; }
.credibility-home .credibility-item.dark strong { font-size:clamp(2rem,3vw,3.3rem); }
.five-rule { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(2rem,6vw,7rem); align-items:center; background:#071522; }
.five-rule h2 { font-size:clamp(3.4rem,5.7vw,6.6rem); }
.five-rule-copy > p:not(.eyebrow) { color:#bbcad5; max-width:32rem; font-size:1.08rem; }
.five-rule .link-arrow { color:var(--blue); }
.five-rule-visual { min-height:520px; position:relative; overflow:hidden; background:#0d2538; border:1px solid var(--line); }
.five-rule-visual > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.five-rule-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,11,18,.9),transparent 50%); pointer-events:none; }
.five-rule-stamp { position:absolute; z-index:2; right:1.5rem; top:1.5rem; width:136px; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:var(--orange); color:var(--ink); clip-path:polygon(50% 0,91% 21%,100% 69%,68% 100%,20% 92%,0 54%,17% 15%); transform:rotate(10deg); }
.five-rule-stamp strong { font:900 4.7rem/.78 var(--display); }
.five-rule-stamp span { margin-top:.5rem; font-size:.55rem; font-weight:900; line-height:1.2; letter-spacing:.08em; }
.five-rule-caption { position:absolute; z-index:2; left:1.4rem; right:1.4rem; bottom:1.2rem; display:flex; gap:.6rem; flex-wrap:wrap; }
.five-rule-caption span { padding:.45rem .7rem; border:1px solid rgba(255,255,255,.45); background:rgba(4,11,18,.66); color:white; font-size:.66rem; font-weight:800; letter-spacing:.08em; }
.creative-grid .page-card { min-height:290px; padding:2rem; }
.creative-grid .page-card h3 { margin:1rem 0 .6rem; font-size:clamp(2.3rem,3.5vw,3.6rem); }
.creative-grid .page-card small { margin-top:auto; }
.creative-grid .page-card p { font-size:.94rem; }
.home-work { background:#07111d; }
.home-work .gallery-grid,.expanded-work { grid-template-columns:repeat(3,1fr); }
.home-work .gallery-card { min-height:290px; }
.home-work .gallery-card strong,.expanded-work .gallery-card strong { font-size:clamp(1.7rem,2.4vw,2.5rem); }
.home-work .gallery-card img { aspect-ratio:4/3; }
.home-work .link-arrow { color:var(--blue); }
.photo-vehicle-grid { gap:1rem; }
.photo-vehicle-grid .vehicle-card { position:relative; overflow:hidden; min-height:380px; padding:1.3rem; color:white; text-decoration:none; background:#112738; }
.photo-vehicle-grid .vehicle-card::after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(0deg,rgba(2,8,13,.96),transparent 60%); pointer-events:none; }
.photo-vehicle-grid .vehicle-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .35s ease; }
.photo-vehicle-grid .vehicle-card:hover img,.photo-vehicle-grid .vehicle-card:focus-visible img { transform:scale(1.06); }
.photo-vehicle-grid .vehicle-card span { z-index:2; color:#b6eaff; background:rgba(3,14,23,.72); padding:.5rem .65rem; width:max-content; }
.photo-vehicle-grid .vehicle-card h3 { z-index:2; margin:auto 0 .35rem; font-size:clamp(2rem,2.6vw,3rem); }
.photo-vehicle-grid .vehicle-card p { z-index:2; color:#e4eef4; font-size:.88rem; font-weight:700; }
.photo-vehicle-grid .vehicle-card:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
.design-rule .link-arrow { margin-top:1.5rem; }

/* Interior pages use finished Wraptor work as the visual lead. */
.visual-hero { min-height:640px; background:#07111d; }
.visual-hero .inner-hero-photo { position:absolute; z-index:1; inset:0 0 0 39%; overflow:hidden; background:#102838; }
.visual-hero .inner-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.visual-hero .inner-hero-photo span { position:absolute; right:clamp(1rem,4vw,4rem); bottom:2rem; padding:.6rem .85rem; background:rgba(3,12,20,.78); border-left:3px solid var(--orange); color:white; font-size:.73rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.visual-hero::before { z-index:2; opacity:1; transform:none; background:linear-gradient(90deg,#07111d 0%,rgba(7,17,29,.96) 32%,rgba(7,17,29,.42) 61%,rgba(7,17,29,.08) 100%),linear-gradient(0deg,rgba(7,17,29,.72),transparent 32%); }
.visual-hero::after { z-index:2; top:auto; right:auto; left:clamp(1.25rem,7vw,8rem); bottom:2rem; width:min(280px,25%); height:3px; transform:none; background:linear-gradient(90deg,var(--blue),var(--orange)); opacity:1; }
.visual-hero .inner-hero-content { max-width:min(760px,62vw); }
.visual-hero h1 { font-size:clamp(3.8rem,7.2vw,7.3rem); }
.visual-hero .hero-copy { max-width:36rem; }
.page-start .visual-hero { min-height:500px; }
.page-start .visual-hero h1 { max-width:680px; }
.page-start .visual-hero::after { bottom:1.4rem; }
.process-tiles { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3rem; }
.process-tile { min-height:295px; padding:1.8rem; border:1px solid var(--line); background:#0e2537; display:flex; flex-direction:column; }
.process-tile:nth-child(2),.process-tile:nth-child(5) { background:#103149; }
.process-tile small { color:var(--blue); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.process-tile h3 { margin:.8rem 0 .35rem; font-size:clamp(2.1rem,2.7vw,3rem); }
.process-tile p { margin:0; color:#b4c6d2; }
.icon-card { display:flex; flex-direction:column; min-height:290px; }
.icon-card h3 { margin:.8rem 0 .55rem; }
.icon-card p { margin:.35rem 0 0; font-size:.94rem; }
.illustrated-offers .offer-card { display:flex; flex-direction:column; }
.illustrated-offers .offer-card strong { margin-top:auto; }
.illustrated-offers .offer-card h3 { margin:1rem 0 .55rem; }
.visual-responsibilities .responsibility-card { min-height:260px; display:flex; flex-direction:column; }
.visual-responsibilities .responsibility-card h3 { margin:.75rem 0 .5rem; }
.visual-responsibilities .responsibility-card p { margin:0; color:#5a6c77; }
.fleet-showcase { grid-template-columns:repeat(2,1fr); }
.fleet-showcase .gallery-card { min-height:310px; }
.planner-proof { margin:2rem 0 0; position:relative; overflow:hidden; aspect-ratio:4/3; border:1px solid var(--line); }
.planner-proof img { width:100%; height:100%; object-fit:cover; display:block; }
.planner-proof figcaption { position:absolute; right:0; bottom:0; left:0; padding:1.2rem; background:linear-gradient(0deg,rgba(3,12,20,.94),transparent); color:white; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.gallery-principle { display:flex; align-items:end; justify-content:space-between; gap:2rem; }
.gallery-principle .button { flex:none; }
.audience-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem; }
.audience-grid > div,.benefit-grid > div { padding:1.2rem; border:1px solid #cbd5dc; background:white; display:flex; flex-direction:column; align-items:start; }
.audience-grid strong,.benefit-grid strong { color:var(--ink); font:800 1.65rem/1 var(--display); text-transform:uppercase; }
.audience-grid span,.benefit-grid span { color:#60727d; margin-top:.35rem; font-size:.89rem; }
.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; }
.content-split .benefit-grid { grid-template-columns:1fr; }
.benefit-grid > div { min-height:112px; display:grid; grid-template-columns:60px 1fr; column-gap:1rem; align-content:center; }
.benefit-grid strong { align-self:end; }
.benefit-grid span { align-self:start; }

/* Project photography replaces the line-icon system. */
.card-photo { display:block; width:100%; height:190px; object-fit:cover; object-position:center; flex:none; }
.creative-grid .page-card { min-height:405px; padding:0; display:flex; flex-direction:column; }
.creative-grid .page-card .card-photo { height:205px; }
.creative-grid .page-card small { margin:1.15rem 1.6rem 0; }
.creative-grid .page-card h3 { margin:.55rem 1.6rem .6rem; }
.creative-grid .page-card p { margin:0 1.6rem 1.5rem; }
.creative-grid .page-card::after { top:1rem; right:1rem; padding:.1rem .55rem; background:rgba(4,11,18,.85); }
.illustrated-offers .offer-card { padding:0; min-height:400px; }
.illustrated-offers .offer-card .card-photo { height:195px; }
.illustrated-offers .offer-card strong { margin:1.2rem 1.5rem 0; }
.illustrated-offers .offer-card h3 { margin:.55rem 1.5rem .6rem; }
.illustrated-offers .offer-card p { margin:0 1.5rem 1.5rem; }
.process-tile { position:relative; padding:0; min-height:360px; overflow:hidden; }
.process-tile .card-photo { height:205px; }
.process-tile small { margin:1.15rem 1.4rem 0; }
.process-tile h3 { margin:.45rem 1.4rem .35rem; }
.process-tile p { margin:0 1.4rem 1.4rem; }
.photo-service-card { padding:0; min-height:370px; overflow:hidden; }
.photo-service-card .card-photo { height:205px; }
.photo-service-card small { margin:1.2rem 1.5rem 0; }
.photo-service-card h3 { margin:.6rem 1.5rem .5rem; }
.photo-service-card p { margin:0 1.5rem 1.5rem; }
.audience-grid > div,.benefit-grid > div { position:relative; }
.audience-grid > div::before,.benefit-grid > div::before { content:""; width:39px; height:4px; background:var(--orange); margin:0 0 1rem; }
.benefit-grid > div { display:flex; flex-direction:column; min-height:108px; }
.benefit-grid strong,.benefit-grid span { align-self:auto; }
.visual-responsibilities .responsibility-card { min-height:175px; border-top:4px solid var(--blue-2); }
.visual-responsibilities .responsibility-card h3 { margin:0 0 1rem; }

@media (max-width: 1200px) {
  .site-header { height:120px; }
  .header-logo { width:124px; height:108px; }
  nav { position:absolute; top:120px; max-height:calc(100dvh - 120px); overflow-y:auto; left:0; right:0; display:none; flex-direction:column; padding:1.5rem; background:#050d16; border-bottom:1px solid var(--line); }
  nav.open { display:flex; }
  .menu-toggle { display:block; }
  .header-cta { display:none; }
}

@media (max-width: 1020px) {
  .hero { min-height:760px; height:auto; }
  .hero-content { width:72%; padding-top:10rem; }
  .hero-scrim { background:linear-gradient(90deg,rgba(4,11,18,.98) 0%,rgba(4,11,18,.78) 58%,rgba(4,11,18,.22) 100%),linear-gradient(0deg,var(--ink),transparent 30%); }
  .inline-intro,.process,.fleet-panel,.planner { grid-template-columns:1fr; }
  .process-heading { position:static; }
  .fleet-map { min-height:460px; }
  .vehicle-choices { grid-template-columns:repeat(3,1fr); }
  .intro-band,.content-split,.fleet-priority { grid-template-columns:1fr; }
  .mini-process,.vehicle-grid { grid-template-columns:1fr 1fr; }
  .responsibility-grid,.offer-grid { grid-template-columns:1fr; }
  .credibility-grid,.testimonial-grid { grid-template-columns:1fr 1fr; }
  .five-rule { grid-template-columns:1fr; }
  .home-work .gallery-grid,.expanded-work { grid-template-columns:repeat(2,1fr); }
  .process-tiles { grid-template-columns:repeat(2,1fr); }
  .visual-hero .inner-hero-content { max-width:78vw; }
  .visual-hero .inner-hero-photo { left:31%; }
  .benefit-grid { grid-template-columns:1fr; }
}

@media (max-width: 720px) {
  .section { padding:4.5rem 1.25rem; }
  .hero { min-height:800px; align-items:flex-end; }
  .hero-image { background-position:62% center; }
  .hero-scrim { background:linear-gradient(0deg,rgba(4,11,18,1) 5%,rgba(4,11,18,.9) 53%,rgba(4,11,18,.25) 100%); }
  .hero-content { width:100%; padding:7rem 1.25rem 4.4rem; }
  h1 { font-size:clamp(3.8rem,18vw,5.7rem); }
  .hero-copy { font-size:.95rem; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:1rem; }
  .hero-stamp,.hero-brand-badge { display:none; }
  .signal-bar { grid-template-columns:1fr 1fr; }
  .signal-bar p { min-height:96px; }
  .signal-bar strong { font-size:1.6rem; }
  .comparison-grid { grid-template-columns:1fr; margin-top:2.7rem; }
  .comparison-card { min-height:auto; padding:2rem 1.4rem 2.5rem; }
  .comparison-card + .comparison-card { border-left:0; border-top:1px solid #cbd5dc; }
  .service-grid { grid-template-columns:1fr; }
  .service-card,.service-card:first-child { border-left:1px solid var(--line); min-height:360px; }
  .service-card h3 { margin-top:3.8rem; }
  .process-list li { grid-template-columns:52px 1fr; }
  .check-list { grid-template-columns:1fr; }
  .fleet-map { min-height:390px; }
  .choice-grid,.vehicle-choices { grid-template-columns:1fr 1fr; }
  .form-row { grid-template-columns:1fr; }
  .plan-form { padding:1.4rem; }
  .footer-details { grid-template-columns:1fr; }
  .inner-hero { min-height:520px; padding:8.5rem 1.25rem 3.8rem; }
  .inner-hero h1 { font-size:clamp(3.7rem,17vw,5.7rem); }
  .page-card-grid,.mini-process,.vehicle-grid,.production-grid,.metric-row,.gallery-grid { grid-template-columns:1fr; }
  .credibility-grid,.testimonial-grid { grid-template-columns:1fr; }
  .credibility-home { padding:1rem 1.25rem 2rem; }
  .credibility-home .credibility-grid { grid-template-columns:repeat(2,1fr); }
  .credibility-home .credibility-item { min-height:135px; padding:1rem; }
  .credibility-home .credibility-item strong { font-size:clamp(2.2rem,11vw,3.7rem); }
  .credibility-home .credibility-item.dark strong { font-size:2rem; }
  .five-rule-visual { min-height:390px; }
  .five-rule-stamp { width:105px; right:.6rem; top:.6rem; }
  .five-rule-stamp strong { font-size:3.7rem; }
  .five-rule-caption { left:.75rem; right:.75rem; bottom:.75rem; }
  .five-rule-caption span { font-size:.6rem; }
  .home-work .gallery-grid,.expanded-work { grid-template-columns:1fr; }
  .home-work .gallery-card { min-height:270px; }
  .photo-vehicle-grid .vehicle-card { min-height:310px; }
  .visual-hero { min-height:570px; padding:8.5rem 1.25rem 3.6rem; align-items:flex-end; }
  .visual-hero .inner-hero-photo { inset:0; }
  .visual-hero .inner-hero-photo img { object-position:center top; }
  .visual-hero .inner-hero-photo span { right:.75rem; top:8rem; bottom:auto; font-size:.6rem; }
  .visual-hero::before { background:linear-gradient(0deg,#07111d 3%,rgba(7,17,29,.92) 38%,rgba(7,17,29,.22) 88%); }
  .visual-hero::after { bottom:1rem; }
  .visual-hero .inner-hero-content { max-width:100%; }
  .visual-hero h1 { font-size:clamp(3.7rem,15vw,5.7rem); }
  .page-start .visual-hero { min-height:510px; }
  .process-tiles,.fleet-showcase { grid-template-columns:1fr; }
  .process-tile { min-height:245px; }
  .gallery-principle { flex-direction:column; align-items:start; }
  .audience-grid { grid-template-columns:1fr 1fr; }
  .audience-grid > div { padding:.9rem; }
  .audience-grid strong { font-size:1.35rem; }
  .header-logo { width:124px; height:108px; }
  .creative-grid .page-card { min-height:380px; }
  .process-tile { min-height:340px; }
  .page-card { min-height:270px; }
  .mini-step { border-right:0; border-bottom:1px solid #c9d3da; min-height:auto; padding:1.7rem 0; }
  .mini-step + .mini-step { padding-left:0; }
  .metric-row > div { border-right:0; border-bottom:1px solid var(--line); }
  .metric-row > div:last-child { border-bottom:0; }
  .timeline li { grid-template-columns:52px 1fr; gap:1rem; }
  .callout { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; }
}

/* Experience and artwork review additions */
.experience-ribbon{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap;padding:1.2rem 5%;background:#f5662d;color:white;font-size:.85rem}
.experience-ribbon strong{font:800 1.35rem/1.1 var(--display);letter-spacing:.04em}
.form-row select{font:inherit;width:100%;min-height:52px;margin-top:.45rem;border:1px solid #cbd5dc;padding:.6rem;color:var(--ink);background:#f8fafb;text-transform:none;letter-spacing:normal}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.experience-ribbon{gap:.5rem;text-align:center;flex-direction:column}}

/* Photo-led journey: approved design */
.road-story{position:relative;background:linear-gradient(125deg,#0a3158 0%,#071623 48%,#10233a 100%);color:#fff;overflow:hidden;padding-top:clamp(3.5rem,6vw,6rem);padding-bottom:clamp(3rem,5vw,5rem)}
.road-story::before{content:"";position:absolute;width:70%;height:7px;right:-12%;top:0;background:#ff681d;transform:skewX(-35deg)}
.road-heading{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:4rem;position:relative;margin-bottom:2.75rem}
.road-heading h2{font-size:clamp(3.3rem,6vw,6.2rem);line-height:.99;letter-spacing:-.015em}
.road-heading h2 em{color:#26d2ff}
.road-heading .eyebrow{font-size:.875rem;letter-spacing:.1em}
.road-intro>p{font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.7;max-width:610px;color:#e0e9f3;margin:0 0 1.4rem}
.road-experience{display:flex;gap:1rem;align-items:center}
.road-experience>strong{font:900 5rem/.95 var(--display);color:#ff8b4f}
.road-experience>span{font-size:.9rem;font-weight:800;letter-spacing:.07em;line-height:1.6}
.road-experience small{font-size:.9rem;font-weight:400;letter-spacing:0;color:#bad1e7}
.road-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:stretch}
.road-step{--step-accent:#29cefa;--step-surface:#0a344c;background:var(--step-surface);min-width:0;border:1px solid #ffffff24;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.road-step:nth-child(even){--step-accent:#ff8b4f;--step-surface:#272b3c}
.road-step:hover{transform:translateY(-5px);box-shadow:0 18px 32px #0005}
.road-photo{position:relative;aspect-ratio:1.45;overflow:hidden;border-bottom:5px solid var(--step-accent);background:#061522}
.road-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .4s}
.road-step:hover .road-photo img{transform:scale(1.035)}
.road-photo::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#020f20e8);pointer-events:none}
.road-number{position:absolute;top:0;left:0;background:var(--step-accent);color:#07111d;padding:.75rem 1rem;z-index:1;font:900 2.4rem/1 var(--display);clip-path:polygon(0 0,100% 0,100% 76%,76% 100%,0 100%)}
.road-photo-label{position:absolute;left:1rem;right:.8rem;bottom:.8rem;z-index:1;color:#fff;font-size:.75rem;line-height:1.45;font-weight:600}
.road-step-body{padding:1.5rem clamp(1rem,1.6vw,1.8rem) 1.4rem;display:flex;flex-direction:column;flex:1}
.road-kicker{color:var(--step-accent);font-size:.875rem;line-height:1.4;font-weight:800;margin:0 0 1rem;text-transform:uppercase;letter-spacing:.04em}
.road-step h3{font-size:clamp(1.9rem,2.25vw,2.9rem);line-height:1.05;letter-spacing:0;margin:0 0 1.2rem}
.road-step-body>p:not(.road-kicker){font-size:1rem;line-height:1.7;color:#e0e7ef;margin:0 0 1.25rem}
.road-step ul{margin:0 0 1.5rem;padding:0;list-style:none;color:#d3e0ec;font-size:1rem;line-height:1.55}
.road-step li{position:relative;padding-left:1rem;margin:0 0 .65rem}
.road-step li::before{content:"";position:absolute;left:0;top:.66em;width:5px;height:5px;background:var(--step-accent)}
.road-outcome{border-top:1px solid #ffffff30;margin-top:auto;padding-top:1rem}
.road-outcome span{display:block;color:var(--step-accent);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:800;margin-bottom:.4rem}
.road-outcome strong{display:block;font-size:1rem;line-height:1.5}
.road-review{margin-top:1.5rem;background:#ecf7fc;color:#07111d;border-left:7px solid #ff681d;display:grid;grid-template-columns:.7fr 1.65fr auto;gap:2rem;padding:2rem;align-items:center}
.road-review-label>span{display:block;font-size:.875rem;font-weight:700;margin-bottom:.6rem}
.road-review-label>strong{font:900 clamp(2rem,2.7vw,3rem)/1 var(--display);color:#075f9e}
.road-review-copy h3{font-size:1.75rem;line-height:1.1;margin-bottom:.75rem}
.road-review-copy p{font-size:1rem;line-height:1.65;color:#304a5b;margin:0}
.road-review-copy .road-review-scope{font-size:.875rem;line-height:1.65;margin-top:.75rem;color:#425b6a}
.road-review .button{background:#bf3d08;color:#fff;text-align:center;max-width:215px;font-size:.875rem}
.road-review .button:hover{background:#95320a}
.road-footer{display:flex;justify-content:space-between;gap:2rem;align-items:center;margin-top:1.7rem}
.road-footer p{font-size:1rem;color:#bdd2e5;margin:0}
.road-footer strong{color:#fff}
.road-process-link{flex-shrink:0;color:#4bddff;font-size:1rem;font-weight:700;text-underline-offset:5px}
#artwork-review,#from-idea-to-road{scroll-margin-top:0}
@media(max-width:1200px){.road-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.road-photo{aspect-ratio:1.8}.road-step h3{font-size:2.5rem}.road-review{grid-template-columns:.65fr 1.4fr}.road-review .button{grid-column:2;max-width:none;justify-self:start}.road-heading{gap:2rem}}
@media(max-width:700px){.road-heading{grid-template-columns:1fr;gap:1.75rem}.road-heading h2{font-size:clamp(3rem,12vw,4.8rem)}.road-intro>p{font-size:1rem}.road-steps{grid-template-columns:1fr}.road-photo{aspect-ratio:1.65}.road-step-body{padding:1.5rem}.road-step h3{font-size:2.5rem}.road-review{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem}.road-review .button{grid-column:1;justify-self:stretch;max-width:none}.road-footer{align-items:flex-start;flex-direction:column;gap:1rem}}
@media(prefers-reduced-motion:reduce){.road-step,.road-photo img{transition:none}.road-step:hover,.road-step:hover .road-photo img{transform:none}}

.road-experience .established-year{font-size:clamp(2.5rem,4vw,3.6rem)}
@media(max-width:480px){.road-experience{flex-wrap:wrap}.metric-row>div{padding:1rem .65rem}.metric-row strong{font-size:2.3rem}}

/* Compact Wraptor Family cards within the image-backed footer. */
.wraptor-family { padding:0 0 1.75rem; margin:0 0 1.75rem; border-bottom:1px solid rgba(255,255,255,.25); }
.family-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin:0 0 1.25rem; }
.family-heading .eyebrow { font-size:.875rem; margin-bottom:.4rem; }
.family-heading h2 { margin:0; font-size:clamp(2rem,3vw,2.75rem); }
.family-heading > p { max-width:380px; color:#e0eaf2; margin:0; font-size:.9375rem; }
.family-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.family-brand { display:grid; grid-template-columns:90px minmax(0,1fr); align-items:center; gap:1rem; padding:1.25rem; text-decoration:none; background:rgba(7,17,29,.82); border:1px solid #36536a; border-radius:8px; transition:border-color .2s,background .2s; }
.family-brand:hover { border-color:var(--blue); background:rgba(16,37,59,.95); }
.family-brand:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
.family-logo { display:flex; align-items:center; justify-content:center; }
.family-logo img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.family-copy { min-width:0; }
.family-copy h3 { margin:0 0 .45rem; font:800 2rem/1.1 var(--display); color:#fff; }
.family-copy p { color:#d3e0eb; margin:0 0 .75rem; font-size:1rem; line-height:1.45; }
.family-link { color:var(--blue); font-size:.9375rem; font-weight:700; display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.family-here { font-size:.875rem; color:#ffd3ba; font-weight:500; }
.family-current { border-bottom:3px solid var(--orange); }
@media(max-width:1200px) { .family-grid { grid-template-columns:1fr; } .family-brand { grid-template-columns:100px minmax(0,1fr); padding:1rem 1.25rem; } .family-copy p { margin-bottom:.5rem; } }
@media(max-width:700px) { .family-heading { display:block; } .family-heading > p { margin-top:.75rem; } .family-brand { grid-template-columns:76px minmax(0,1fr); gap:.8rem; padding:1rem; } .family-copy h3 { font-size:1.875rem; } }
@media(max-width:380px) { .family-brand { grid-template-columns:60px minmax(0,1fr); padding:.8rem; gap:.65rem; } }
@media(prefers-reduced-motion:reduce) { .family-brand { transition:none; } }

/* Installer recruitment and application. */
.installer-hero-note { max-width:550px; color:#c6d4e0; font-size:.9375rem; }
.installer-intro { display:grid; grid-template-columns:1.1fr 1fr; gap:5vw; }
.installer-intro h2, .installer-form-intro h2 { font-size:clamp(2.5rem,4.5vw,4.5rem); }
.installer-intro > div > p:last-child { color:#c6d4e0; max-width:600px; }
.installer-steps { list-style:none; padding:0; margin:0; display:grid; gap:1.5rem; }
.installer-steps li { border-left:3px solid var(--orange); padding-left:1.5rem; }
.installer-steps strong { display:block; font:700 1.5rem/1.3 var(--display); margin-bottom:.5rem; }
.installer-steps span { color:#c6d4e0; }
.installer-application { background:#eaf0f5; color:var(--ink); display:grid; grid-template-columns:minmax(230px,.7fr) minmax(0,1.4fr); gap:4vw; align-items:start; scroll-margin-top:0; }
.installer-form-intro .eyebrow { color:#0068a5; font-size:.875rem; }
.installer-form-intro h2 em { color:#0073ad; }
.installer-form-intro > p { color:#344c5f; }
.installer-application-note { margin:1.75rem 0; padding:1.25rem; background:#fff; border-left:4px solid var(--orange); }
.installer-application-note p { margin:.5rem 0 0; }
.installer-small { font-size:.9375rem; }
.installer-form-intro .text-link { color:#005e92; display:inline-block; margin-top:1rem; }
.installer-form { background:#fff; padding:clamp(1.25rem,3vw,3rem); border-top:5px solid #087cff; border-radius:6px; box-shadow:0 12px 35px #07111d0d; min-width:0; }
.installer-form fieldset { min-width:0; border:0; margin:0; padding:0; }
.installer-form .installer-group { border-bottom:1px solid #cfdae3; padding-bottom:1.75rem; margin-bottom:2rem; }
.installer-group > legend { font:700 1.65rem/1.2 var(--display); margin:0 0 1.25rem; padding:0; }
.installer-fields-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.15rem; }
.installer-wide { grid-column:1/-1; }
.installer-form label { display:block; font-size:.9375rem; font-weight:650; color:#263d50; }
.installer-form label > span:not(.installer-consent span) { font-weight:400; }
.installer-form input:not([type="checkbox"]), .installer-form select, .installer-form textarea { display:block; width:100%; min-width:0; margin-top:.45rem; min-height:48px; border:1px solid #aabcc9; border-radius:4px; padding:.75rem; background:#f8fafc; font:400 1rem/1.45 var(--body); color:var(--ink); }
.installer-form textarea { resize:vertical; }
.installer-form :is(input,select,textarea,button):focus-visible { outline:3px solid #087cff; outline-offset:3px; }
.installer-form .installer-options { margin:1.5rem 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.installer-options legend { font-weight:650; font-size:1rem; margin-bottom:1rem; }
.installer-options legend span { display:block; font-weight:400; color:#425c70; font-size:.875rem; }
.installer-form .installer-options label, .installer-form .installer-consent { display:flex; align-items:start; gap:.65rem; font-weight:400; }
.installer-form input[type="checkbox"] { width:20px; height:20px; flex:0 0 20px; margin:.1rem 0 0; accent-color:#006db0; }
.installer-consent { margin-bottom:1.5rem; }
.installer-required, .installer-help { color:#425c70; font-size:.875rem; }
.installer-required { margin:0 0 1.5rem; }
.installer-help { margin:.5rem 0 0; }
.installer-submit { width:100%; cursor:pointer; white-space:normal; }
.installer-result { margin-top:2rem; padding:1.5rem; background:#eaf5fb; border-left:4px solid #087cff; scroll-margin-top:0; overflow-wrap:anywhere; }
.installer-result[hidden] { display:none; }
.installer-result .eyebrow { font-size:.875rem; color:#00649b; }
.installer-result h3 { font:700 2rem/1.2 var(--display); margin:.5rem 0; }
.installer-result dl { margin:1.25rem 0; }
.installer-result dl > div { padding:.8rem 0; border-top:1px solid #c9dae5; }
.installer-result dt { font-weight:700; font-size:.875rem; }
.installer-result dd { margin:.25rem 0 0; white-space:pre-wrap; }
.installer-result button { cursor:pointer; }
.installer-faq h2 { font-size:clamp(2.5rem,4vw,4rem); }
.installer-faq-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.installer-faq-grid h3 { color:#fff; font:700 1.5rem/1.25 var(--display); }
.installer-faq-grid p { color:#c6d4e0; }
.installer-recruit { display:grid; grid-template-columns: .8fr 1.2fr; background:linear-gradient(115deg,#12395b,#0a1e35); border-top:1px solid #28506a; }
.installer-recruit-photo { min-height:340px; position:relative; }
.installer-recruit-photo img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.installer-recruit-copy { padding:3rem clamp(1.5rem,5vw,5rem); border-left:5px solid var(--orange); }
.installer-recruit-copy h2 { font-size:clamp(2.25rem,4vw,4rem); margin:0 0 1rem; }
.installer-recruit-copy > p:not(.eyebrow) { max-width:640px; color:#d0deea; }
.installer-recruit-copy .button { margin:.6rem 0; }
.installer-recruit-copy .eyebrow { font-size:.875rem; }
.installer-recruit-note { font-size:.875rem; }
@media(max-width:1000px) { .installer-application { grid-template-columns:1fr; } .installer-form-intro { max-width:750px; } }
@media(max-width:700px) { .installer-intro,.installer-faq-grid,.installer-recruit { grid-template-columns:1fr; } .installer-recruit-photo { min-height:240px; } .installer-recruit-copy { border-left:0; border-top:4px solid var(--orange); } .installer-fields-grid,.installer-form .installer-options { grid-template-columns:1fr; } .installer-wide { grid-column:auto; } .installer-steps { margin-top:1rem; } }

/* Optional broader portfolio link keeps the fleet gallery in place. */
.portfolio-more { display:grid; grid-template-columns:1.2fr 1fr; gap:3rem; align-items:center; background:linear-gradient(115deg,#0b2e4e,#102031); border-top:3px solid var(--orange); }
.portfolio-more h2 { font-size:clamp(2.5rem,4.5vw,4.5rem); margin:0 0 1rem; }
.portfolio-more-copy > p:last-child { max-width:620px; color:#cfdeeb; }
.portfolio-more .eyebrow { font-size:.875rem; }
.portfolio-more-action { text-align:center; }
.portfolio-more-action .button { white-space:normal; }
.portfolio-more-action p { font-size:.875rem; color:#bdcddd; margin:.75rem 0 1.25rem; }
.portfolio-more-action .text-link { color:#fff; }
@media(max-width:700px) { .portfolio-more { grid-template-columns:1fr; gap:1rem; } .portfolio-more-action { text-align:left; } }

/* Compact site footer below the three family brands. */
.site-footer { padding:2rem clamp(1.25rem,7vw,8rem) 1.5rem; border-top:1px solid var(--line); }
.site-footer .footer-details { grid-template-columns:1fr 1.4fr 1fr; gap:1.5rem 2rem; padding-top:0; border-top:0; color:#a9bac7; font-size:.9375rem; }
.site-footer .footer-details > p { margin:0; }
.site-footer .footer-details a { overflow-wrap:anywhere; }
.site-footer .footer-nav { align-content:start; }
.site-footer .page-footer-note { margin-top:1.5rem; padding-top:1rem; color:#9fb0bf; font-size:.875rem; }
@media(max-width:800px) { .site-footer .footer-details { grid-template-columns:1fr; gap:1.25rem; } }

/* Supplied Wrap Printing artwork, softened by a 50% dark overlay. */
.site-footer {
  background-color:#03080d;
  background-image:linear-gradient(rgba(3,8,13,.5),rgba(3,8,13,.5)),url("wrap-printing-footer.jpg");
  background-size:cover;
  background-position:center 55%;
  background-repeat:no-repeat;
}
.site-footer .footer-details,
.site-footer .footer-details a,
.site-footer .page-footer-note { color:#f0f5fa; text-shadow:0 1px 4px #000; }
.site-footer .footer-nav a:hover { color:var(--blue); }
.site-footer .page-footer-note { border-top-color:rgba(255,255,255,.3); }
.site-footer a:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }

/* Privacy and social links. */
.site-footer .footer-facebook { display:inline-block; margin-top:.6rem; color:var(--blue); font-weight:700; }
.site-footer .page-footer-note { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.75rem 2rem; }
.site-footer .page-footer-note a { text-underline-offset:3px; }
.privacy-page { padding:9rem clamp(1.25rem,7vw,8rem) 4rem; background:var(--ink); }
.privacy-heading,.privacy-content { max-width:900px; margin:0 auto; }
.privacy-heading h1 { font-size:clamp(3.5rem,7vw,6rem); margin:0 0 1rem; }
.privacy-heading h1 em { color:var(--blue); }
.privacy-heading > p:not(.eyebrow),.privacy-content p { color:#d0deea; font-size:1rem; line-height:1.75; }
.privacy-heading .privacy-updated { color:#aabdcf; font-size:.9375rem; }
.privacy-content section { padding:1.5rem 0; border-top:1px solid var(--line); }
.privacy-content { margin-top:2.5rem; }
.privacy-content h2 { font:700 clamp(1.75rem,3vw,2.25rem)/1.2 var(--display); margin:0 0 .75rem; }
.privacy-content p { margin:.75rem 0; }
.privacy-content a { color:var(--blue); text-underline-offset:3px; overflow-wrap:anywhere; }
.privacy-content a:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.privacy-content .privacy-contact { border-left:4px solid var(--orange); padding:1.5rem; margin-top:1rem; background:#10243a; }
.privacy-content .privacy-updates { color:#aabdcf; font-size:.9375rem; margin-top:2rem; }
.plan-form .quiet-note a,.installer-form .installer-help a { color:#005c96; text-underline-offset:3px; }

/* Five-Second Rule: the design standard, with all three essential answers. */
.rule-answers { list-style:none; padding:0; margin:1.5rem 0; display:grid; gap:0; }
.rule-answers li { display:grid; grid-template-columns:2.75rem minmax(0,1fr); gap:1rem; padding:1.1rem 0; border-top:1px solid rgba(255,255,255,.18); }
.rule-answer-number { color:var(--orange); font:700 2.15rem/1.1 var(--display); }
.rule-answers h3 { color:#fff; font:700 1.55rem/1.2 var(--display); margin:0 0 .35rem; }
.rule-answers p { color:#c4d3e0; margin:0; font-size:1rem; line-height:1.55; }
.five-rule { scroll-margin-top:0; }
.five-rule h2 { font-size:clamp(3.25rem,5.2vw,5.75rem); }
.five-rule-copy .eyebrow,.rule-explained .eyebrow,.rule-method .eyebrow { font-size:.875rem; }
.five-rule-copy .rule-foundation { font-size:1rem; color:#dce6ee; border-left:3px solid var(--orange); padding-left:1rem; }
.five-rule .five-rule-stamp span { font-size:.75rem; }
.five-rule .five-rule-caption span { font-size:.875rem; letter-spacing:.03em; }
.design-hero h1 { font-size:clamp(3.5rem,6.7vw,7rem); }
.rule-explained { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,7rem); background:linear-gradient(120deg,#071522,#0d263c); scroll-margin-top:0; }
.rule-explained h2,.rule-method h2 { font-size:clamp(3rem,5vw,5rem); }
.rule-explained-intro > p:not(.eyebrow) { color:#c4d3e0; font-size:1.05rem; line-height:1.7; }
.rule-explained-intro strong { color:#fff; }
.rule-explained .link-arrow { color:var(--blue); }
.rule-explained .rule-answers { margin:0; align-self:center; }
.rule-explained .rule-answers li { padding:1.5rem 0; }
.rule-explained .rule-answers h3 { font-size:1.8rem; }
.rule-method { background:#f4f7f9; color:var(--ink); padding-bottom:clamp(3rem,5vw,5rem); }
.rule-method h2 em { color:#006fb0; }
.rule-method .eyebrow { color:#00639a; }
.rule-method .section-intro p:not(.eyebrow) { color:#3f5669; }
.rule-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.rule-method-grid article { padding:1.75rem; background:#fff; border-top:4px solid var(--orange); }
.rule-method-number { color:#00639a; font-size:.875rem; font-weight:750; }
.rule-method-grid h3 { font:750 1.8rem/1.15 var(--display); margin:1rem 0 .75rem; }
.rule-method-grid p { color:#3f5669; font-size:1rem; line-height:1.65; margin:0; }
.rule-design-deliverable { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:2rem; padding:clamp(1.5rem,3vw,3rem); background:#0b263b; color:#fff; border-left:6px solid var(--orange); }
.rule-design-deliverable p { margin:.8rem 0 0; max-width:60ch; font-size:clamp(1.0625rem,1.25vw,1.2rem); line-height:1.6; color:#d8e5ef; }
.rule-result-copy { min-width:0; }
.rule-result-label { display:block; margin-bottom:.65rem; color:#71dcff; font-size:.875rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.rule-design-deliverable h3 { font-size:clamp(2rem,3vw,3rem); line-height:1.08; max-width:25ch; }
.rule-design-deliverable .button { flex-shrink:0; max-width:100%; text-align:center; }
@media(max-width:900px) { .rule-explained,.rule-method-grid { grid-template-columns:1fr; } .rule-design-deliverable { flex-direction:column; align-items:flex-start; gap:1.25rem; } }
@media(max-width:600px) { .rule-answers li { grid-template-columns:2rem minmax(0,1fr); gap:.75rem; } .five-rule .five-rule-caption { left:1rem; right:1rem; } .five-rule .five-rule-caption span { padding:.35rem .5rem; } }

/* Clear company identity and direct shop contact details on every page. */
.site-footer .footer-details { grid-template-columns:1.25fr 1fr 1.05fr; }
.footer-business h3,.footer-contact h3 { color:#fff; font-size:1.65rem; line-height:1.1; margin:0 0 .9rem; }
.footer-business p,.footer-contact p { margin:0 0 1rem; }
.footer-business address { font-style:normal; line-height:1.7; }
.footer-directions { display:inline-block; margin-top:.6rem; text-decoration:underline; text-underline-offset:3px; }
.site-footer .footer-phone { font-size:1.4rem; font-weight:800; display:inline-block; margin-bottom:.4rem; }
.footer-hours { line-height:1.8; }
@media(max-width:1000px) { .site-footer .footer-details { grid-template-columns:1fr 1fr; } .site-footer .footer-nav { grid-column:1 / -1; grid-row:2; } }
@media(max-width:600px) { .site-footer .footer-details { grid-template-columns:1fr; } .site-footer .footer-nav { grid-column:auto; grid-row:auto; } }
