:root{
  --ink:#0e1a2b; --blue:#1747b8; --yellow:#ffc400; --sand:#f3e9d2; --paper:#fbf6ea;
  --soil1:#4a3a2a; --soil2:#9a6b3b; --soil3:#d6a463; --soil4:#e8d3a4; --soil5:#8d9096;
}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font-family:'Work Sans',sans-serif;color:var(--ink);background:var(--paper);font-size:1.05rem;line-height:1.65}
h1,h2,.navbar-brand,.band-list{font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;letter-spacing:.01em}
.utility{background:var(--ink);color:#fff;font-size:.85rem;padding:.35rem 0}
.utility a{color:var(--yellow);font-weight:600;text-decoration:none}
.main-nav{background:var(--blue);padding:.4rem 0}
.navbar-brand{color:#fff!important;font-size:1.9rem;font-weight:900;line-height:1}
.navbar-brand span{color:var(--yellow)}
.main-nav .nav-link{color:#fff;font-weight:500;font-size:.95rem;padding:.5rem .7rem}
.main-nav .nav-link:hover{color:var(--yellow)}
.navbar-toggler{border-color:rgba(255,255,255,.6);background:#fff}
.btn{border-radius:2px;font-weight:600}
.btn-quote{background:var(--yellow);color:var(--ink);border:2px solid var(--yellow)}
.btn-quote:hover{background:#fff;border-color:#fff;color:var(--ink)}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}
.btn-ghost:hover{background:#fff;color:var(--ink)}
.eyebrow{font-weight:600;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--blue);margin-bottom:.5rem}
.eyebrow::before{content:"";display:inline-block;width:.55rem;height:1.1rem;background:var(--yellow);margin-right:.6rem;vertical-align:-.2rem;clip-path:polygon(0 0,100% 18%,100% 100%,0 100%)}

.hero{background:var(--ink);color:#fff;padding:3.5rem 0 0;position:relative}
.hero .eyebrow{color:var(--yellow)}
.hero h1{font-size:clamp(3.2rem,8vw,6.2rem);font-weight:900;line-height:.92;margin-bottom:1.2rem}
.hero h1 em{font-style:normal;color:var(--yellow)}
.lead-copy{font-size:1.15rem;max-width:34rem;margin-bottom:1.6rem}
.hero-photo{margin:0;position:relative}
.hero-photo img{width:100%;height:auto;max-height:min(66vh,480px);object-fit:cover;object-position:50% 55%;border-radius:4px;border:4px solid var(--yellow);display:block}
.hero-photo figcaption{position:absolute;left:12px;bottom:12px;background:var(--ink);color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;padding:.2rem .6rem}
.strata{display:flex;height:34px;margin-top:3rem}
.strata i{flex:1}
.strata i:nth-child(1){background:var(--soil1);flex:1.3}
.strata i:nth-child(2){background:var(--soil2);flex:1}
.strata i:nth-child(3){background:var(--soil3);flex:1.6}
.strata i:nth-child(4){background:var(--soil4);flex:1.2}
.strata i:nth-child(5){background:var(--soil5);flex:.9}
.strata{height:auto;display:block;background:none}
.strata i{display:block;flex:none;height:7px}
.strata i:nth-child(1){background:var(--soil1);height:12px}
.strata i:nth-child(2){background:var(--soil2);height:9px}
.strata i:nth-child(3){background:var(--soil3);height:7px}
.strata i:nth-child(4){background:var(--soil4);height:5px}
.strata i:nth-child(5){background:var(--soil5);height:4px}
.strata.flip i:nth-child(1){height:4px}.strata.flip i:nth-child(2){height:5px}.strata.flip i:nth-child(3){height:7px}.strata.flip i:nth-child(4){height:9px}.strata.flip i:nth-child(5){height:12px}
.strata{margin-top:3rem}
.strata.flip{margin:0 0 3rem}

.band{background:var(--yellow);padding:.9rem 0;overflow:hidden}
.band-list{display:flex;flex-wrap:wrap;gap:.2rem 1.6rem;justify-content:center;font-size:1.35rem;font-weight:800}
.band-list li+li::before{content:"▸";margin-right:1.6rem;color:var(--blue)}
@media(max-width:575px){.band-list{font-size:1.05rem;gap:.1rem 1rem}.band-list li+li::before{margin-right:1rem}}

.svc{padding:5rem 0}
.svc.alt{background:var(--sand)}
.svc h2,.gallery h2,.contact h2{font-size:clamp(2.6rem,5.5vw,4.2rem);font-weight:900;line-height:.95;margin-bottom:1rem}
.svc-img{width:100%;height:auto;max-height:440px;object-fit:cover;border-radius:4px;box-shadow:10px 10px 0 var(--yellow)}
.svc.alt .svc-img{box-shadow:10px 10px 0 var(--blue)}
.svc-link{display:inline-block;font-weight:600;color:var(--blue);text-decoration:none;border-bottom:2px solid var(--yellow);margin-top:.5rem}
.svc-link:hover{color:var(--ink)}
.steps{padding-left:1.1rem}.steps li{margin-bottom:.4rem}
.tags{display:flex;flex-wrap:wrap;gap:.5rem}
.tags li{background:var(--ink);color:#fff;padding:.25rem .8rem;font-size:.9rem;border-radius:2px}
@media(max-width:991px){.svc{padding:3.5rem 0}.svc-img{box-shadow:6px 6px 0 var(--yellow)}}

.gallery{padding:5rem 0}
.masonry{columns:3 260px;column-gap:14px;margin-top:1.5rem}
.masonry img{width:100%;height:auto;margin-bottom:14px;border-radius:3px;display:block;break-inside:avoid}

.contact{background:var(--ink);color:#fff;padding:0 0 5rem}
.contact .eyebrow{color:var(--yellow)}
.phone{font-family:'Big Shoulders Display',sans-serif;font-size:clamp(2.6rem,6vw,3.6rem);font-weight:900;line-height:1;margin:1rem 0}
.phone a{color:var(--yellow);text-decoration:none}
.contact-list li{margin-bottom:.8rem}
.contact-list span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--soil3)}
.contact-list a{color:#fff}
.map iframe{width:100%;height:100%;min-height:380px;border:0;border-radius:4px}
.site-footer{background:#08111e;color:#c9d0da;font-size:.85rem;padding:1.1rem 0}
.site-footer a{color:var(--yellow);text-decoration:none}
