:root{--navy:#0b2a6b;--navy2:#071c4a;--yellow:#f5c518;--green:#0a7d3c;--kraft:#ead9b8;--paper:#fffaf0;--ink:#16203a;--muted:#55607a}
*{box-sizing:border-box}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:'Public Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:1.05rem;line-height:1.65;overflow-x:hidden}
h1,h2,h3,.brand-name{font-family:'Big Shoulders Display',Impact,sans-serif;font-weight:800;line-height:1;text-transform:uppercase;color:var(--navy);letter-spacing:.01em}
h1{font-size:clamp(2.6rem,6.4vw,4.8rem);margin-bottom:1rem}
h2{font-size:clamp(2.1rem,4.6vw,3.4rem);margin-bottom:1.2rem}
h3{font-size:1.7rem}
a{color:var(--green)}
:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.label-tag{font-family:'Space Mono',monospace;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--green);margin-bottom:.8rem}
.label-tag-y{color:var(--yellow)}
.btn{font-family:'Space Mono',monospace;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;border-radius:2px;padding:.7rem 1.2rem}
.btn-lg{font-size:.95rem;padding:.85rem 1.5rem}
.btn-cta{background:var(--yellow);color:var(--navy2);border:2px solid var(--navy2)}
.btn-cta:hover{background:var(--navy2);color:var(--yellow)}
.btn-ghost{background:transparent;color:var(--navy);border:2px solid var(--navy)}
.btn-ghost:hover{background:var(--navy);color:#fff}
/* nav */
.site-nav{background:var(--paper);border-bottom:4px solid var(--navy);padding:.5rem 0}
.site-nav .navbar-brand{display:flex;align-items:center;gap:.6rem}
.site-nav .brand-name{font-size:1.5rem;color:var(--navy)}
.site-nav .nav-link{font-family:'Space Mono',monospace;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;color:var(--navy);font-weight:700}
.site-nav .nav-link:hover{color:var(--green)}
@media(max-width:575px){.site-nav .navbar-brand img{display:none}.site-nav .brand-name{font-size:1.3rem}}
/* hero: kraft packing-tape stripe */
.hero{padding:2.5rem 0 3rem;background:var(--kraft);background-image:repeating-linear-gradient(135deg,transparent 0 22px,rgba(11,42,107,.04) 22px 44px);position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;background:repeating-linear-gradient(135deg,var(--yellow) 0 18px,var(--navy) 18px 36px)}
.hero .lead{font-size:1.15rem;max-width:36rem}
.hl{background:var(--yellow);padding:0 .2em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero-photo{margin:0;display:flex;justify-content:center}
.hero-photo img{width:auto;max-width:100%;max-height:min(66vh,480px);border-radius:4px;border:6px solid #fff;box-shadow:6px 6px 0 var(--navy);object-fit:cover}
@media(max-width:991px){.hero-photo img{max-height:420px}}
/* stats */
.stats{background:var(--navy);color:#fff;padding:1.4rem 0}
.stats b{display:block;font-family:'Big Shoulders Display',sans-serif;font-size:clamp(1.7rem,4.5vw,2.8rem);color:var(--yellow);line-height:1}
.stats span{font-family:'Space Mono',monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.sec{padding:4.5rem 0}
.sec-kraft{background:var(--kraft)}
.sec-navy{background:var(--navy);color:#fff}
.sec-navy h2{color:#fff}
.photo{width:100%;border-radius:4px;border:6px solid #fff;box-shadow:6px 6px 0 var(--navy);aspect-ratio:3/2;object-fit:cover}
blockquote{border-left:5px solid var(--yellow);padding:.2rem 0 .2rem 1rem;font-weight:600;color:var(--navy);margin:1.4rem 0}
.timeline{list-style:none;padding:0;margin:0}
.timeline li{padding:.45rem 0;border-top:1px dashed var(--navy)}
.timeline b{font-family:'Space Mono',monospace;color:var(--green);display:inline-block;min-width:4.5rem}
.values{display:grid;gap:.6rem;margin-top:1.6rem}
.values div{background:#fff;border:2px solid var(--navy);padding:.7rem 1rem;font-size:.95rem}
.values b{display:block;font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;font-size:1.25rem;color:var(--navy)}
/* service cards */
.svc{background:#fff;border:2px solid var(--navy);height:100%;box-shadow:6px 6px 0 var(--navy)}
.svc img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.svc-body{padding:1.2rem 1.3rem 1.5rem;position:relative}
.num{font-family:'Space Mono',monospace;font-weight:700;background:var(--yellow);color:var(--navy2);padding:.1rem .5rem;font-size:.8rem}
.svc h3{margin:.6rem 0}
/* steps as shipping labels */
.steps-title{margin:3.5rem 0 1.2rem}
.label-card{background:#fff;border:2px dashed var(--navy);padding:1.1rem;height:100%;font-size:.95rem;position:relative}
.label-card b{display:block;font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;font-size:1.4rem;color:var(--navy);line-height:1.05;margin-bottom:.35rem}
.step-n{display:block;font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-weight:700;margin-bottom:.4rem}
.contact{font-size:1.02rem;border-style:solid}
.contact a{font-weight:700}
.contact hr{border-color:var(--navy);opacity:.25}
/* truck */
.truck-band{background:var(--paper);padding-top:2rem;position:relative}
.truck-band img{display:block;max-width:min(100%,640px);margin:0 auto;position:relative;z-index:1}
.road{height:10px;background:repeating-linear-gradient(90deg,var(--navy) 0 40px,transparent 40px 60px);margin-top:-14px}
.small-note{font-size:.9rem;color:var(--muted)}
/* reviews */
.review{background:var(--navy2);border:2px solid var(--yellow);padding:1.4rem;margin:0;height:100%}
.review blockquote{border:0;color:#fff;font-weight:400;padding:0;margin:0 0 1rem}
.review figcaption{font-family:'Space Mono',monospace;font-size:.75rem;color:var(--yellow);text-transform:uppercase;letter-spacing:.06em}
/* faq */
.accordion-button{font-weight:700;color:var(--navy)}
.accordion-button:not(.collapsed){background:var(--kraft);color:var(--navy)}
.accordion-item{border:2px solid var(--navy);margin-bottom:.5rem;border-radius:0!important}
.tel{font-family:'Space Mono',monospace;font-weight:700;font-size:1.05rem}
/* map */
.map{width:100%;height:100%;min-height:380px;border:6px solid #fff;box-shadow:6px 6px 0 var(--navy)}
footer{background:var(--navy2);color:#d7def0;padding:1.4rem 0;font-size:.9rem}
footer a{color:var(--yellow)}
@media(max-width:575px){.sec{padding:3rem 0}.hero{padding:1.8rem 0 2.4rem}}
