:root{
  --paper:#f7f4ec; --mist:#ebe6d8; --ink:#1f2328; --slate:#4a5560; --butter:#f2b705; --butter-d:#c99700;
  --line:rgba(31,35,40,.16);
  --disp:'Bricolage Grotesque',system-ui,sans-serif; --body:'Instrument Sans',system-ui,sans-serif; --mono:'Space Mono',ui-monospace,monospace;
}
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{font-family:var(--body);color:var(--ink);background:var(--paper);font-size:1.0625rem;line-height:1.65}
img{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--disp);color:var(--ink);line-height:1.05;letter-spacing:-.02em}
a{color:var(--ink)}
.mono-eyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:1rem}

/* ---------- buttons ---------- */
.btn{border-radius:999px;font-weight:600;padding:.8rem 1.6rem;border-width:2px}
.btn-wfw{background:var(--butter);border-color:var(--butter);color:var(--ink)}
.btn-wfw:hover{background:var(--ink);border-color:var(--ink);color:var(--butter)}
.btn-ghost{background:transparent;border-color:var(--ink);color:var(--ink);margin-left:.4rem}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-ink{background:var(--ink);border-color:var(--ink);color:var(--butter)}
.btn-ink:hover{background:transparent;color:var(--ink)}

/* ---------- nav: centered stack ---------- */
.site-nav{position:sticky;top:0;z-index:1030;background:var(--paper);border-bottom:2px solid var(--ink)}
.nav-util{background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;padding:.35rem 0}
.nav-util a{color:var(--butter);text-decoration:none}
.nav-util i{margin-right:.35rem}
.site-nav .navbar{padding:.6rem 0}
.nav-stack{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;margin:0}
.brand-mark{width:34px;height:38px;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-family:var(--disp);font-weight:800;font-size:1.2rem;color:var(--ink);letter-spacing:-.02em}
.brand-sub{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-top:.15rem}
.navbar-toggler{border:2px solid var(--ink);border-radius:10px;font-size:1.5rem;line-height:1;padding:.15rem .5rem;order:2}
.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(242,183,5,.5)}
.brand{order:1}
.navbar-collapse{order:3;width:100%}
.nav-links{margin:.75rem 0 .25rem;gap:0}
.nav-link{font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink);padding:.6rem 0;border-top:1px solid var(--line)}
.nav-link:hover,.nav-link:focus{color:var(--butter-d)}
@media (min-width:992px){
  .nav-stack{flex-direction:column;gap:.55rem}
  .brand{order:0}
  .brand-name{font-size:1.5rem}
  .navbar-toggler{display:none}
  .navbar-collapse{order:0;width:auto;flex-grow:0}
  .nav-links{flex-direction:row;margin:0;gap:2.25rem}
  .nav-link{border-top:0;padding:.2rem 0;position:relative}
  .nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:3px;background:var(--butter);transition:right .2s}
  .nav-link:hover::after{right:0}
}

/* ---------- hero ---------- */
.hero{padding:clamp(2.5rem,6vw,5rem) 0 0;position:relative}
.hero-title{font-weight:800;font-size:clamp(3.4rem,12.5vw,7.5rem);line-height:.9;letter-spacing:-.045em;margin:0;text-transform:uppercase}
.hero-title .hl{display:inline-block;line-height:.9;background:linear-gradient(transparent 58%,var(--butter) 58%);padding-right:.2em}
.hero-lead{font-size:1.2rem;max-width:34rem;margin:0 0 1.5rem}
.hero-photo{margin-top:clamp(2rem,5vw,4rem);width:100%;aspect-ratio:1900/400;min-height:200px;background:url('img/hero.webp') center/cover no-repeat;border-top:2px solid var(--ink)}
.picket{height:24px;margin-top:-23px;position:relative;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='24' viewBox='0 0 26 24'%3E%3Cpath d='M3 24V8l5-7 5 7v16zM16 24V8l5-7 5 7v16z' fill='%23f2b705'/%3E%3C/svg%3E") repeat-x left bottom/26px 24px;opacity:1}
.picket-dark{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='24' viewBox='0 0 26 24'%3E%3Cpath d='M3 24V8l5-7 5 7v16zM16 24V8l5-7 5 7v16z' fill='%231f2328'/%3E%3C/svg%3E");margin-top:0}

/* ---------- notice + ticker ---------- */
.notice{background:var(--butter);color:var(--ink);padding:.9rem 0;font-size:.98rem}
.notice .container{display:flex;gap:.7rem;align-items:flex-start}
.notice i{font-size:1.2rem;line-height:1.5}
.ticker{background:var(--ink);color:var(--paper);overflow:hidden;white-space:nowrap;padding:.9rem 0;border-bottom:2px solid var(--ink)}
.ticker-track{display:inline-flex;animation:tick 45s linear infinite}
.ticker-track span{font-family:var(--disp);font-weight:700;font-size:1.15rem;text-transform:uppercase;letter-spacing:.04em;padding:0 1.25rem}
.ticker-track span::after{content:"\2605";color:var(--butter);margin-left:2.5rem}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker{overflow-x:auto}.ticker-track{animation:none}}

/* ---------- sections ---------- */
.section{padding:clamp(3.5rem,8vw,7rem) 0}
.section-alt{background:var(--mist)}
.section h2{font-weight:800;font-size:clamp(2rem,4.6vw,3.4rem);margin-bottom:1.25rem}
.section-title{font-size:clamp(2.2rem,6vw,4.4rem)!important;text-transform:uppercase}
.narrow{max-width:760px}
.sticky-col{position:sticky;top:170px}
@media (max-width:991.98px){.sticky-col{position:static}}
.car-card{margin:1.75rem 0 0;background:var(--mist);border:2px solid var(--ink);border-radius:18px;padding:.5rem;box-shadow:8px 8px 0 var(--butter)}
.car-card img{display:block;width:100%;height:auto;border-radius:12px;background:#fff}

/* coverage index list */
.coverage-list{list-style:none;margin:0;padding:0;counter-reset:none}
.coverage-list li{display:grid;grid-template-columns:4.25rem 1fr;gap:1rem;padding:1.75rem 0;border-top:2px solid var(--ink)}
.coverage-list li:last-child{border-bottom:2px solid var(--ink)}
.coverage-list .num{font-family:var(--disp);font-weight:800;font-size:3rem;line-height:1;color:transparent;-webkit-text-stroke:2px var(--ink)}
.coverage-list h3{font-weight:800;font-size:1.75rem;margin-bottom:.5rem}
.coverage-list p{margin:0 0 .6rem}
.coverage-list .carriers{font-size:.95rem;color:var(--slate);border-left:4px solid var(--butter);padding-left:.8rem}
@media (max-width:575.98px){.coverage-list li{grid-template-columns:3rem 1fr}.coverage-list .num{font-size:2.2rem}}

/* band */
.band{background:var(--butter);padding:clamp(3rem,7vw,5.5rem) 0;text-align:center;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.band-quote{font-family:var(--disp);font-weight:800;font-size:clamp(1.9rem,5.5vw,4rem);line-height:1.02;letter-spacing:-.03em;margin:0 auto 1.75rem;max-width:20ch;text-transform:uppercase}
.band-quote span{display:block;color:var(--paper);-webkit-text-stroke:0;text-shadow:none;background:var(--ink);padding:.05em .25em;margin-top:.2em;box-decoration-break:clone}

/* stats / promises */
.stat{background:var(--paper);border:2px solid var(--ink);border-radius:16px;padding:1.5rem;height:100%}
.stat b{display:block;font-family:var(--disp);font-weight:800;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1;letter-spacing:-.03em}
.stat span{display:block;margin-top:.5rem;font-size:.95rem;color:var(--slate)}
.stat-dark{background:var(--ink)}
.stat-dark b{color:var(--butter)}
.stat-dark span{color:var(--paper)}
.promise{height:100%;padding:1.75rem;border-radius:16px;background:var(--paper);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}
.promise i{font-size:1.8rem;color:var(--ink);background:var(--butter);width:3rem;height:3rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem}
.promise h3{font-weight:800;font-size:1.4rem}
.promise p{margin:0;color:var(--slate)}

/* team polaroids */
.polaroid{background:#fff;padding:.9rem .9rem 1.1rem;border:2px solid var(--ink);box-shadow:10px 10px 0 var(--butter);margin:0 auto;max-width:300px;transition:transform .2s}
.polaroid img{display:block;width:100%;height:auto;background:var(--mist)}
.polaroid figcaption{padding-top:.9rem;text-align:center;line-height:1.25}
.polaroid strong{display:block;font-family:var(--disp);font-weight:800;font-size:1.35rem}
.polaroid span{font-family:var(--mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.tilt-l{transform:rotate(-2.5deg)}
.tilt-r{transform:rotate(2deg)}
.plaque{background:var(--ink);box-shadow:10px 10px 0 var(--butter)}
.plaque img{background:var(--ink)}
.plaque figcaption strong{color:var(--butter)}
.plaque figcaption span{color:var(--paper)}
.polaroid:hover{transform:rotate(0)}

/* locations */
.section-dark{background:var(--ink);color:var(--paper)}
.section-dark h2,.section-dark h3{color:var(--paper)}
.section-dark .mono-eyebrow{color:var(--butter)}
.loc-lead{max-width:40rem;color:#d7d2c4}
.loc-card{background:var(--paper);color:var(--ink);border-radius:18px;padding:1.5rem;height:100%;border:2px solid var(--butter)}
.loc-photo{float:right;width:112px;height:auto;margin:0 0 .75rem 1rem;border:2px solid var(--ink);border-radius:10px}
.loc-card dl{margin:0;overflow:hidden}
.loc-card dt{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-top:1rem}
.loc-card dt:first-child{margin-top:0}
.loc-card dd{margin:.15rem 0 0;font-weight:500;overflow-wrap:anywhere}
.loc-card small{font-weight:400;color:var(--slate)}
.map-frame{border:2px solid var(--butter);border-radius:18px;overflow:hidden;height:100%;min-height:380px}
.map-frame iframe{width:100%;height:100%;min-height:380px;border:0;display:block}

/* privacy */
.priv{border-top:2px solid var(--ink);padding:.9rem 0}
.priv:last-of-type{border-bottom:2px solid var(--ink)}
.priv summary{font-family:var(--disp);font-weight:800;font-size:1.25rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.priv summary::-webkit-details-marker{display:none}
.priv summary::after{content:"+";font-family:var(--mono);font-size:1.4rem;line-height:1}
.priv[open] summary::after{content:"\2212"}
.priv p{margin:.9rem 0 0;color:var(--slate);font-size:.98rem}

/* footer */
.site-footer{background:linear-gradient(var(--paper) 0 24px,var(--ink) 24px);color:var(--paper)}
.site-footer .container{background:transparent;padding-top:2.5rem;padding-bottom:1.5rem}
.site-footer .picket-dark{background-color:transparent}
.site-footer::after{content:none}
.brand-foot{background:var(--paper);padding:.6rem .9rem;border-radius:14px}
.site-footer h4{font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--butter);margin-bottom:.9rem}
.foot-links li{margin-bottom:.4rem}
.foot-links a,.foot-small{color:#d7d2c4;text-decoration:none;font-size:.97rem}
.foot-links a:hover{color:var(--butter)}
.social{display:flex;gap:.6rem}
.social a{width:2.6rem;height:2.6rem;border-radius:50%;border:2px solid var(--butter);color:var(--butter);display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;text-decoration:none}
.social a:hover{background:var(--butter);color:var(--ink)}
.foot-bottom{margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(247,244,236,.2);display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;align-items:center;font-size:.9rem;color:#d7d2c4}
.powered{display:inline-flex;align-items:center;gap:.4rem;background:var(--butter);color:var(--ink);padding:.45rem .9rem;border-radius:999px;text-decoration:none;font-size:.88rem}
.powered:hover{background:var(--paper);color:var(--ink)}

@media (max-width:991.98px){.hero .btn-ghost{margin-left:0}}
@media (max-width:575.98px){
  .nav-util{font-size:.68rem}
  .brand-name{font-size:1.02rem}
  .brand-sub{font-size:.58rem}
  .btn-ghost{margin:.5rem 0 0}
  .hero .btn{width:100%}
  .hero-photo{min-height:160px}
  .tilt-l,.tilt-r{transform:none}
}
