:root{--deep:#0f3a3f;--deep2:#0a2a2e;--salt:#f4efe3;--sage:#7da396;--rust:#c4582a;--ink:#1d2b2d}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Work Sans',sans-serif;color:var(--ink);background:var(--salt);line-height:1.7}
h1,h2,h3,.disp{font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;letter-spacing:.02em;font-weight:800;line-height:1}
img{max-width:100%}
.util{background:var(--deep2);color:var(--salt);font-size:.8rem;padding:.4rem 0;letter-spacing:.04em}
.util a{color:var(--salt);text-decoration:none;font-weight:600}.util a:hover{color:var(--sage)}
.navbar{background:var(--deep);padding:.55rem 0}
.navbar-brand{display:flex;align-items:center;gap:.7rem;color:var(--salt)!important;font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:1.7rem;letter-spacing:.06em;text-transform:uppercase}
.navbar-brand img{height:44px;width:auto;border-radius:2px}
.navbar .nav-link{color:var(--salt);font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:.08em}
.navbar .nav-link:hover{color:var(--sage)}
.navbar-toggler{border-color:rgba(244,239,227,.5)}.navbar-toggler-icon{filter:invert(1)}
.btn-rust{background:var(--rust);color:#fff;border:2px solid var(--rust);border-radius:2px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.8rem 1.8rem}
.btn-rust:hover{background:transparent;color:var(--rust)}
.btn-line{border:2px solid var(--salt);color:var(--salt);border-radius:2px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.8rem 1.8rem}
.btn-line:hover{background:var(--salt);color:var(--deep)}
.hero{position:relative;min-height:min(72vh,600px);display:flex;align-items:center;color:#fff;background:#123 url(img/hero.webp) center 55%/cover;overflow:hidden;padding:30px 0 56px}
.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;text-align:center}
.hero-content{display:inline-block;max-width:820px;padding:1.6rem 2rem;background:rgba(0,0,0,.20);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.hero-eyebrow{font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:.85rem;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.4rem,6vw,4.2rem);margin:.5rem 0;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;max-width:36rem;margin:0 auto 1.4rem;text-shadow:0 0 3px #000,0 2px 16px rgba(0,0,0,.95),0 0 40px rgba(0,0,0,.85)}
.pan{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));height:34px;overflow:hidden;background:var(--salt)}
.pan i{display:block;border:1px solid rgba(15,58,63,.25);position:relative}
.pan i:nth-child(3n):after,.pan i:nth-child(5n+1):after{content:"";position:absolute;left:35%;top:35%;width:30%;height:30%;background:var(--sage);transform:rotate(45deg);opacity:.7}
.pan.hero-edge{position:absolute;left:0;right:0;bottom:0;background:transparent;z-index:2}
.pan.hero-edge i{background:var(--salt);border-color:rgba(15,58,63,.2)}
section{padding:84px 0}
h2{font-size:clamp(2.4rem,5vw,3.8rem);color:var(--deep)}
.eyebrow{display:block;color:var(--rust);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;margin-bottom:.6rem}
.about-photo{transform:rotate(-2deg);background:#fff;padding:10px 10px 36px;box-shadow:8px 8px 0 var(--sage)}
.about-photo img{width:100%;display:block;aspect-ratio:1/1;object-fit:cover}
.award{border-left:6px solid var(--rust);background:#fff;padding:1.4rem 1.6rem;margin-top:2rem}
.award img{height:64px;width:auto;float:right;margin:0 0 .5rem 1rem}
.award h3{font-size:1.5rem;color:var(--deep)}
.svc{background:var(--deep);color:var(--salt)}
.svc h2{color:var(--salt)}
.idx{list-style:none;padding:0;margin:2rem 0 0;border-top:1px solid rgba(244,239,227,.25)}
.idx li{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:1rem 2rem;padding:1.4rem 0;border-bottom:1px solid rgba(244,239,227,.25)}
.idx h3{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--salt);margin:0}
.idx li:hover h3{color:var(--sage)}
.idx p{margin:0;opacity:.88}
@media(max-width:767px){.idx li{grid-template-columns:1fr}}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gal figure{margin:0;aspect-ratio:1/1;overflow:hidden;border:6px solid #fff;box-shadow:0 0 0 1px rgba(15,58,63,.15)}
.gal figure:nth-child(odd){transform:rotate(-1deg)}.gal figure:nth-child(even){transform:rotate(1deg)}
.gal img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:991px){.gal{grid-template-columns:repeat(2,1fr)}}
.contact{background:var(--sage);color:var(--deep2)}
.contact h2{color:var(--deep2)}
.contact a{color:var(--deep2);font-weight:700}
.contact dt{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--deep2);opacity:.75}
.contact dd{font-size:1.2rem;margin-bottom:1.1rem}
.map{border:0;width:100%;height:100%;min-height:340px}
footer{background:var(--deep2);color:var(--salt);padding:2rem 0;font-size:.9rem}
footer a{color:var(--sage)}
