:root{--blue:#1b4a9c;--blue-d:#12326b;--paper:#f4efe4;--ink:#16202e;--yellow:#f2b705;--display:'Roboto Slab',Georgia,serif;--body:'Work Sans',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth}
section[id],header[id],article[id]{scroll-margin-top:84px}
body{font-family:var(--body);color:var(--ink);background:#fff;font-size:1.05rem;line-height:1.65;overflow-x:hidden}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.1;letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,4vw,3rem);margin-bottom:1rem}
h3{font-size:1.5rem}
.eyebrow{font-family:var(--mono);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);margin-bottom:.8rem}
.eyebrow.ink{color:var(--blue)}
.btn{font-family:var(--display);font-weight:800;border-radius:3px;padding:.7rem 1.4rem;letter-spacing:.02em}
.btn-yellow{background:var(--yellow);color:var(--ink);border:2px solid var(--yellow)}
.btn-yellow:hover{background:#ffd043;color:var(--ink);border-color:#ffd043}
.btn-ghost{border:2px solid rgba(255,255,255,.7);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--blue-d)}
.btn-blue{background:var(--blue);color:#fff;border:2px solid var(--blue)}
.btn-blue:hover{background:var(--blue-d);color:#fff}
/* nav */
.cc-nav{background:transparent;padding:.7rem 0;transition:background .3s}
.cc-nav.solid{background:var(--blue-d);box-shadow:0 2px 12px rgba(0,0,0,.25)}
.cc-nav .navbar-brand{display:flex;align-items:center;gap:.6rem;font-family:var(--display);font-weight:800;color:#fff;font-size:1.15rem;white-space:normal;line-height:1.1}
.cc-nav .navbar-brand img{width:42px;height:auto;border-radius:50%}
.cc-nav .nav-link{color:#fff;font-weight:500;font-size:.95rem;padding:.5rem .7rem}
.cc-nav .nav-link:hover{color:var(--yellow)}
.cc-nav .navbar-toggler{border:0;color:#fff;font-size:1.8rem;padding:0 .3rem}
.cc-nav .navbar-toggler:focus{box-shadow:none}
@media(max-width:991px){.cc-nav .navbar-collapse{padding:.8rem 0}.cc-nav .btn{margin-top:.5rem}}
/* hero */
.hero{background:var(--blue);color:#fff;padding:9rem 0 6rem;position:relative}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.2rem);font-weight:900;margin-bottom:1.2rem}
.hero .lead{font-size:1.25rem;max-width:34rem;margin-bottom:1.8rem;color:#eef3fc}
.hero-photo{position:relative;padding:0 14px 14px 0}
.hero-photo::before{content:"";position:absolute;inset:14px 0 0 14px;background:var(--yellow);border-radius:3px}
.hero-photo img{position:relative;display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;border:6px solid #fff}
/* tape-measure signature */
.tape{position:absolute;left:0;right:0;bottom:0;height:34px;background:var(--yellow);
 background-image:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 12px),repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 60px);
 background-size:100% 10px,100% 20px;background-repeat:no-repeat;background-position:0 0}
.tape-top{top:0;bottom:auto;transform:scaleY(-1)}
/* sections */
.section{padding:5.5rem 0;position:relative}
.section-paper{background:var(--paper)}
.section-blue{background:var(--blue);color:#fff}
.section-ink{background:var(--ink);color:#fff}
.section-head{max-width:46rem;margin-bottom:3rem}
.why-item{display:flex;gap:1rem;background:var(--paper);padding:1.2rem 1.4rem;border-left:6px solid var(--yellow);border-radius:3px}
.why-item i{font-size:1.8rem;color:var(--blue)}
.why-item h3{font-size:1.15rem;margin-bottom:.2rem}
.why-item p{margin:0;font-size:.98rem}
.svc{padding:2.5rem 0;border-top:2px dashed rgba(27,74,156,.25)}
.svc:first-of-type{border-top:0}
.cut{background:#fff;border:1px solid rgba(22,32,46,.12);border-radius:3px;padding:1rem;text-align:center;position:relative}
.cut::after{content:"";position:absolute;left:1rem;right:1rem;bottom:.5rem;height:6px;background:repeating-linear-gradient(90deg,var(--blue) 0 2px,transparent 2px 10px);opacity:.35}
.cut img{display:block;margin:0 auto;max-height:340px;width:auto;max-width:100%;object-fit:contain}
.svc h3{color:var(--blue-d);margin-bottom:.8rem}
.link-arrow{font-family:var(--display);font-weight:800;color:var(--blue);text-decoration:none;border-bottom:3px solid var(--yellow)}
.link-arrow:hover{color:var(--blue-d)}
.checks{list-style:none;padding:0;margin:1.5rem 0 0}
.checks li{padding:.45rem 0 .45rem 2.2rem;position:relative;font-size:1.1rem}
.checks li::before{content:"\F26A";font-family:"bootstrap-icons";position:absolute;left:0;top:.4rem;color:var(--yellow);font-size:1.3rem}
.van{display:block;width:100%;aspect-ratio:900/502;object-fit:contain;background:rgba(255,255,255,.1);border-radius:3px;padding:1rem}
/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:3px}
.gallery img.wide{grid-column:span 2;aspect-ratio:2/1}
@media(max-width:767px){.gallery{grid-template-columns:repeat(2,1fr);gap:8px}}
/* reviews */
.rev{background:#fff;border-top:6px solid var(--yellow);padding:1.5rem;height:100%;margin:0;border-radius:3px}
.rev p{font-size:1rem}
.rev p::before{content:"“";font-family:var(--display);font-size:2.6rem;line-height:0;color:var(--blue);display:block;height:1rem}
.rev footer{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--blue-d);margin-top:1rem}
/* financing */
.fin{background:var(--blue);color:#fff;padding:3rem;border-radius:3px;box-shadow:12px 12px 0 var(--yellow)}
.fin .checks{margin-top:0}
@media(max-width:575px){.fin{padding:1.8rem;box-shadow:8px 8px 0 var(--yellow)}}
/* contact */
.contact-list{list-style:none;padding:0;margin:1.5rem 0}
.contact-list li{display:flex;gap:.8rem;padding:.4rem 0}
.contact-list i{color:var(--yellow);font-size:1.2rem}
.contact-list a{color:#fff;word-break:break-word}
.map{width:100%;height:100%;min-height:380px;border:0;border-radius:3px}
/* footer */
.cc-footer{background:var(--blue-d);color:#dbe5f7;padding:4.5rem 0 2.5rem;position:relative}
.cc-footer a{color:#fff}
.badge-img{width:110px;height:auto;margin-bottom:1rem}
