:root{--indigo:#2f2f86;--ink:#16163f;--sun:#f6c928;--cream:#faf6ec;--paper:#fff;--slate:#4a4a68}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);font-size:1.05rem}
h1,h2,h3,h4,.display{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;letter-spacing:-.02em}
a{color:var(--indigo)}
.topbar{background:var(--ink);color:#fff;font-size:.9rem;padding:.4rem 0}
.topbar a{color:var(--sun);text-decoration:none;font-weight:700}
.navbar{background:var(--paper);box-shadow:0 2px 0 var(--sun)}
.navbar-brand{display:flex;align-items:center;gap:.6rem;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;color:var(--indigo);line-height:1.1}
.navbar-brand img{height:44px;width:auto}
.navbar-brand small{display:block;font-weight:600;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--slate)}
.nav-link{font-weight:600;color:var(--ink)!important;font-size:.95rem}
.nav-link:hover{color:var(--indigo)!important;text-decoration:underline;text-decoration-color:var(--sun);text-decoration-thickness:3px;text-underline-offset:6px}
.btn-sun{background:var(--sun);color:var(--ink);font-weight:800;border:2px solid var(--ink);border-radius:0;box-shadow:4px 4px 0 var(--ink);padding:.7rem 1.4rem}
.btn-sun:hover{background:#ffd93f;color:var(--ink);transform:translate(-1px,-1px)}
.btn-line{background:transparent;color:#fff;font-weight:700;border:2px solid #fff;border-radius:0;padding:.7rem 1.4rem}
.btn-line:hover{background:#fff;color:var(--ink)}
.hero{position:relative;min-height:82vh;display:flex;align-items:center;text-align:center;color:#fff;
 background:linear-gradient(180deg,rgba(47,47,134,.30),rgba(22,22,63,.45)),url('img/hero.webp') center/cover no-repeat;
 clip-path:polygon(0 0,100% 0,100% 88%,50% 100%,0 88%);padding:4rem 0 7rem}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 75% 65% at 50% 48%,rgba(0,0,0,.35) 0%,rgba(0,0,0,.04) 100%),linear-gradient(to bottom,rgba(0,0,0,.30) 0%,rgba(0,0,0,.10) 45%,rgba(0,0,0,.45) 100%)}
.hero .container{position:relative}
.hero-content{display:inline-block;max-width:820px;background:rgba(0,0,0,.20);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);padding:2.2rem 2rem}
.hero-eyebrow{font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.85rem;color:var(--sun);text-shadow:0 0 3px #000,0 1px 12px rgba(0,0,0,.95),0 0 30px rgba(0,0,0,.8)}
.hero-title{font-size:clamp(2.3rem,6vw,4.4rem);line-height:1.02;text-shadow:0 0 4px #000,0 2px 20px rgba(0,0,0,.95),0 0 60px rgba(0,0,0,.8)}
.hero-subtitle{font-size:1.2rem;text-shadow:0 0 3px #000,0 2px 16px rgba(0,0,0,.95),0 0 40px rgba(0,0,0,.85)}
.sun{position:absolute;top:2rem;right:6%;width:86px;height:86px;border-radius:50%;background:var(--sun);opacity:.95;box-shadow:0 0 0 14px rgba(246,201,40,.25)}
.section{padding:5rem 0}
.eyebrow{font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.8rem;color:var(--indigo)}
.section h2{font-size:clamp(1.9rem,4vw,2.9rem)}
.shingles{height:26px;background:
 radial-gradient(circle at 50% 0,var(--indigo) 12px,transparent 13px) 0 0/26px 26px;background-color:var(--cream)}
.shingles.flip{background-color:var(--indigo);background-image:radial-gradient(circle at 50% 0,var(--cream) 12px,transparent 13px)}
.pitch{height:60px;background:var(--indigo);clip-path:polygon(0 100%,50% 0,100% 100%)}
.band{background:var(--indigo);color:#fff}
.band .eyebrow{color:var(--sun)}
.svc{background:var(--paper);border:2px solid var(--ink);height:100%;box-shadow:6px 6px 0 var(--sun);display:flex;flex-direction:column}
.svc img{width:100%;aspect-ratio:3/2;object-fit:cover;border-bottom:2px solid var(--ink)}
.svc .body{padding:1.2rem 1.3rem 1.5rem}
.svc h3{font-size:1.4rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;list-style:none}
.chips li{border:2px solid var(--ink);background:var(--paper);padding:.35rem .8rem;font-weight:600;font-size:.95rem}
.pw li{padding:.45rem 0;border-bottom:1px dashed rgba(255,255,255,.35)}
.stat{border-left:5px solid var(--sun);padding:.2rem 0 .2rem 1rem}
.stat b{font-family:'Bricolage Grotesque',sans-serif;font-size:2rem;display:block;line-height:1}
.quote{background:var(--paper);border:2px solid var(--ink);padding:1.5rem;height:100%;position:relative}
.quote::before{content:"\201C";font-family:'Bricolage Grotesque',sans-serif;font-size:4rem;color:var(--sun);line-height:.6;position:absolute;top:1.3rem;left:1rem;-webkit-text-stroke:2px var(--ink)}
.quote p{margin:1.4rem 0 1rem}
.quote cite{font-style:normal;font-weight:800;color:var(--indigo)}
.gal{columns:3 220px;column-gap:14px}
.gal img{width:100%;margin-bottom:14px;border:2px solid var(--ink);display:block;background:#ddd}
.contact-card{background:var(--paper);border:2px solid var(--ink);padding:2rem;box-shadow:6px 6px 0 var(--sun)}
.contact-card .big{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:2rem;text-decoration:none}
iframe.map{width:100%;height:100%;min-height:340px;border:2px solid var(--ink)}
footer{background:var(--ink);color:#d9d9ee;padding:2.5rem 0}
footer a{color:var(--sun)}
footer .logo-chip{background:#fff;padding:.5rem .8rem;display:inline-block}
footer .logo-chip img{height:46px;width:auto}
@media(max-width:991px){.hero{min-height:70vh}.sun{width:56px;height:56px;right:1rem;top:1rem}}
.gal img{height:auto}
