:root{--blue:#5381A2;--sky:#B2D1E0;--gold:#C1AA7E;--beige:#C8C0A9;--ink:#2b3a45;--cream:#f7f5ef}
*{box-sizing:border-box}body{margin:0;font:16px/1.65 "Open Sans",sans-serif;color:var(--ink);background:#fff}
h1,h2,h3{font-family:Lora,serif;color:var(--blue);line-height:1.25;margin:.2em 0 .5em}h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:clamp(1.5rem,2.6vw,2rem)}
a{color:var(--blue)}img{max-width:100%}.wrap{max-width:1140px;margin:0 auto;padding:0 20px}.center{text-align:center}.narrow{max-width:860px}
.btn{display:inline-block;background:var(--blue);color:#fff;padding:.7em 1.3em;border-radius:6px;text-decoration:none;font-weight:600;border:0;cursor:pointer;font:inherit;font-weight:600}.btn:hover{filter:brightness(1.1)}.btn.gold{background:var(--gold)}.btn.ghost{background:transparent;border:2px solid #fff}
.top{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.bar{display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:6px 20px;font-size:.92rem}.top>.bar{max-width:none;background:var(--blue);color:#fff}.bar a{color:#fff;font-weight:600}.bar .btn{background:var(--gold);padding:.35em 1em}
.mast{display:flex;align-items:center;justify-content:space-between;padding:10px 20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Lora,serif;font-size:1.3rem;color:var(--blue)}.brand img{height:56px}.brand small{display:block;font-size:.85rem;color:var(--gold);letter-spacing:.12em;text-transform:uppercase}
.nav>ul{display:flex;list-style:none;margin:0;padding:0;gap:4px}.nav a{display:block;padding:.6em .9em;text-decoration:none;font-weight:600;color:var(--ink)}.nav a:hover{color:var(--blue)}
.dd{position:relative}.dd ul{display:none;position:absolute;top:100%;left:0;min-width:260px;background:#fff;list-style:none;padding:6px 0;margin:0;border-top:3px solid var(--gold);box-shadow:0 8px 20px rgba(0,0,0,.12)}.dd:hover ul,.dd:focus-within ul{display:block}.dd ul a{font-weight:400;padding:.45em 1.1em}.dd ul a:hover{background:var(--cream)}
.burger{display:none;background:none;border:0;font-size:1.8rem;color:var(--blue);cursor:pointer}
.hero{background-size:cover;background-position:center;color:#fff;padding:120px 0 110px}.hero h1{color:#fff;max-width:720px}.sub{font-size:1.3rem;color:var(--sky)}.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
section{padding:60px 0}.split{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}.two{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.rounded{border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12)}.headshot{max-width:260px;justify-self:center}.kicker{color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem}
.band{background:var(--blue);color:#fff}.band h2{color:#fff}.band.light{background:linear-gradient(#eef5f9,#fff);color:var(--ink)}.band.light h2{color:var(--blue)}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:var(--cream);border-top:4px solid var(--gold);border-radius:8px;padding:28px}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-top:0}.tile{min-height:170px;border-radius:8px;background:var(--sky) center/cover;display:flex;align-items:flex-end;text-decoration:none;overflow:hidden}.tile:nth-child(3){background-color:var(--beige)}.tile:nth-child(4){background-color:var(--gold)}.tile span{background:rgba(83,129,162,.92);color:#fff;font-weight:600;padding:12px 14px;width:100%;font-family:Lora,serif;font-size:1.1rem}
form label{display:block;margin-bottom:12px;font-weight:600}input,textarea{width:100%;padding:.6em;border:1px solid var(--beige);border-radius:5px;font:inherit;margin-top:4px}.note{background:#fff;padding:10px;border-left:4px solid var(--gold)}
.map iframe{width:100%;height:320px;border:0;border-radius:8px}.ph{background:#fde9b8;color:#7a5a00;padding:0 4px;border-radius:3px}
.phead{background:linear-gradient(90deg,var(--blue),#6f9bb9);color:#fff;padding:50px 0}.phead h1{color:#fff;margin:0}.phead p{color:var(--sky);margin:.3em 0 0}
.teamgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.member{display:flex;gap:18px;background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.06)}.member img,.avatar{width:110px;height:130px;object-fit:cover;border-radius:6px;flex:none}.avatar{background:var(--sky);color:var(--blue);display:grid;place-items:center;font:600 2rem Lora,serif}.member h3{margin:0}.role{color:var(--gold);font-weight:600;margin:0 0 .4em}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.gallery img{width:100%;height:220px;object-fit:cover;border-radius:8px}
.hours{border-collapse:collapse;margin:10px 0 18px;width:100%;max-width:380px}.hours td{padding:6px 0;border-bottom:1px solid #e6e2d6}.hours td:last-child{text-align:right;font-weight:600}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.filters button,.stabs button{border:2px solid var(--blue);background:#fff;color:var(--blue);padding:.45em 1.1em;border-radius:30px;font:inherit;font-weight:600;cursor:pointer}.filters .on,.stabs .on{background:var(--blue);color:#fff}
.svcgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.svc{border:1px solid #e6e2d6;border-left:5px solid var(--gold);border-radius:8px;padding:22px;scroll-margin-top:140px}.svc[hidden]{display:none}.cta{margin-top:30px}
.stabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:18px}.spanel{display:none;max-width:700px;margin:0 auto;background:#fff;padding:24px;border-radius:8px;border-top:4px solid var(--gold);box-shadow:0 4px 14px rgba(0,0,0,.06)}.spanel.on{display:block}
.pills{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}.pills li{background:var(--sky);color:#1f3e55;padding:.3em .8em;border-radius:20px;font-weight:600;font-size:.92rem}
.qa{border-bottom:1px solid #e6e2d6}.qa button{width:100%;text-align:left;background:none;border:0;padding:16px 0;font:600 1.05rem "Open Sans";color:var(--ink);display:flex;justify-content:space-between;cursor:pointer}.qa span{color:var(--gold);font-size:1.4rem}.ans{max-height:0;overflow:hidden;transition:max-height .3s}.qa.open .ans{max-height:300px}
section[id]{scroll-margin-top:130px}
.foot{background:#2f4f66;color:#dfe9f0;padding:40px 0 10px}.foot a{color:#fff}.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.flogo{height:50px;background:#fff;border-radius:6px;padding:4px}.flinks a{display:block}.copy{font-size:.85rem;color:var(--beige);border-top:1px solid rgba(255,255,255,.15);padding-top:12px}
@media(max-width:860px){.burger{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.1)}.nav.open{display:block}.nav>ul{flex-direction:column}.dd ul{display:block;position:static;box-shadow:none;border:0;padding-left:14px}
.split,.two,.cards3,.teamgrid,.svcgrid,.fgrid{grid-template-columns:1fr}.tiles{grid-template-columns:1fr 1fr}.member{flex-direction:column}.mast{position:relative}.bar{justify-content:space-between}.hero{padding:80px 0}}
/* ===== v2: newer-site theme (dark red / gold / charcoal) ===== */
:root{--blue:#7a1f22;--red:#7a1f22;--red2:#5e1417;--gold:#c9a24a;--gold2:#e2c477;--char:#2f2f31;--ink:#2e2a28}
body{background:#2f2f31 repeating-linear-gradient(135deg,#333335 0 6px,#2b2b2d 6px 12px)}
main,body>section{background:#fff}
h1,h2,h3{color:var(--red)}a{color:var(--red)}
.btn{background:var(--red)}.btn.gold{background:var(--gold);color:#1d1d1d}.btn.ghost{background:transparent;border:2px solid var(--red);color:var(--red)}
.top{background:var(--char);box-shadow:0 2px 12px rgba(0,0,0,.4)}
.top>.bar{background:#1f1f20;color:#eee}.bar .btn{background:var(--gold);color:#1d1d1d}
.soc{display:flex;gap:6px}.soc a{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--gold);color:#1d1d1d!important;text-decoration:none;font-size:.85rem}
.mast{background:var(--char)}.brand{color:#fff}.brand small{color:var(--gold2)}.brand img{background:#000;border-radius:50%;padding:6px;height:62px;width:62px;object-fit:contain;border:2px solid var(--gold)}
.top .nav{background:linear-gradient(#d8b65e,#b88f35)}
.nav>ul>li>a{color:#1d1d1d!important;text-transform:uppercase;letter-spacing:.06em;font-weight:700;font-size:.86rem}
.nav ul ul{background:#fff;border-top:3px solid var(--red)}.nav ul ul a{color:var(--ink)!important}
.slider{position:relative;background:var(--red);padding:14px;max-width:1140px;margin:22px auto 0;border-radius:6px;box-shadow:0 0 0 4px var(--gold) inset}
.slides{position:relative;aspect-ratio:944/326;background:#000;overflow:hidden;border-radius:3px}
.slides figure{margin:0;position:absolute;inset:0;opacity:0;transition:opacity .8s}.slides figure.on{opacity:1}
.slides img{width:100%;height:100%;object-fit:cover}.slides img.contain{object-fit:contain;background:#000}
.sl{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);color:#fff;border:0;font-size:2rem;width:44px;height:56px;cursor:pointer}.prev{left:20px}.next{right:20px}
.dots{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;gap:8px}.dots button{width:11px;height:11px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;cursor:pointer}.dots button.on{background:var(--gold)}
.welcome{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;padding-top:22px;padding-bottom:22px;background:transparent!important}
body>section.welcome{background:transparent}
.wpanel{background:#e4e2df;padding:28px;border-radius:6px}.wpanel h1{font-size:clamp(1.6rem,3vw,2.3rem)}.wpanel .sub{font-weight:700;color:var(--char)}.kicker{color:var(--red);font-weight:700}
.side{display:grid;gap:18px}.logoblock{background:#000;color:var(--gold2);text-align:center;padding:20px;border-radius:6px;font-family:Lora,serif}.logoblock img{width:150px}.logoblock b{display:block;font-size:1.2rem}.logoblock span{letter-spacing:.15em;text-transform:uppercase;font-size:.8rem}
.qcontact{background:var(--red);color:#fff;padding:20px;border-radius:6px}.qcontact h2{color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:1.2rem}.qcontact label{color:#fff}.qcontact input,.qcontact textarea{width:100%}
.phead{background:linear-gradient(90deg,var(--red2),var(--red))!important;color:#fff;border-bottom:4px solid var(--gold)}.phead h1{color:#fff}
.band{background:var(--char);color:#eee}.band h2{color:var(--gold2)}.band.light{background:#f1efec;color:var(--ink)}.band.light h2{color:var(--red)}
.foot{background:#1f1f20;border-top:4px solid var(--gold)}.foot a{color:var(--gold2)}
.tile span{background:rgba(122,31,34,.88)}
.member img{object-fit:cover;object-position:top}
.split.rev{grid-template-columns:auto 1fr}
@media(max-width:860px){.welcome{grid-template-columns:1fr}.slider{margin:10px;padding:8px}.sl{display:none}.split.rev{grid-template-columns:1fr}.top .nav{background:var(--char)}.nav>ul>li>a{color:var(--gold2)!important}.soc{display:none}}
/* service pages */
.svcpage{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:start}
.prose{max-width:820px}.prose img{display:block;max-width:100%;height:auto;margin:20px auto;border-radius:8px}.prose h2{margin-top:1.4em}.prose ul{padding-left:1.3em}
.svcside{position:sticky;top:150px;border:1px solid #e6e2d6;border-top:4px solid var(--gold);border-radius:8px;padding:18px}.svcside ul{list-style:none;margin:0;padding:0}.svcside li a{display:block;padding:7px 4px;border-bottom:1px solid #eee;color:inherit;text-decoration:none}.svcside li a.on,.svcside li a:hover{color:var(--red);font-weight:600}
.crumb{margin:0 0 .3em}.crumb a{color:var(--gold2,#e8c66a)}.svc .more{font-weight:600}.svc h3 a{color:inherit;text-decoration:none}
.galpat{margin:30px 0}.galrow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.galrow img{margin:0;width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:860px){.svcpage{grid-template-columns:1fr}.svcside{position:static}.galrow{grid-template-columns:1fr}}
.fungrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;margin-top:1.5rem}
.funcard{background:#fff;border:1px solid #e6e1d6;border-top:4px solid #c9a24a;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.funcard img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.funbody{padding:1rem 1.2rem}.funbody h3{margin:.2rem 0 .5rem}.fundate{color:#7a1c1c;font-size:.85rem;margin:0}
.funempty{grid-column:1/-1;text-align:center;padding:2rem;background:#faf6ec;border:2px dashed #c9a24a;border-radius:6px}
.awlead{font-size:1.35rem;color:#7a1c1c;text-align:center;margin:1rem 0 1.5rem}
.awgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.5rem;margin:2rem 0}
.award{margin:0;background:#fff;border:1px solid #e6e1d6;border-top:4px solid #c9a24a;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08);text-align:center}
.award img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.award figcaption{padding:.9rem;display:flex;flex-direction:column;gap:.2rem}
.awyear{font-size:1.6rem;font-weight:700;color:#7a1c1c;font-family:Lora,serif}.award em{color:#777;font-size:.85rem}
.awwall{margin:2rem auto;max-width:520px;text-align:center}.awwall img{width:100%;border-radius:6px}.awwall figcaption{color:#555;margin-top:.5rem}
.awbadge{background:linear-gradient(90deg,#b8902f,#e2c068,#b8902f);padding:.9rem 0;margin:1rem 0}
.awbadge-in{display:flex;align-items:center;justify-content:center;gap:1rem;color:#2a1a0a;text-decoration:none;text-align:center;flex-wrap:wrap}
.awbadge-in strong{font-family:Lora,serif;font-size:1.25rem;color:#6b1414}
.awcrown{font-size:2rem;color:#6b1414}.awmore{background:#6b1414;color:#fff;padding:.45rem .9rem;border-radius:4px;font-weight:600;white-space:nowrap}
.awbadge-in:hover .awmore{background:#8e1d1d}
