:root{--ink:#0e2238;--ink2:#17304d;--blue:#2f6fa8;--ice:#eaf1f6;--paper:#fbfcfd;--amber:#f0a73a;--amber-d:#c9801a;--line:#d5e0e9;--serif:"DM Serif Display",Georgia,serif;--sans:"Outfit",system-ui,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:var(--sans);color:#24384c;background:var(--paper);font-size:1.05rem;line-height:1.7}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);font-weight:400;line-height:1.15}
img{max-width:100%}
.navbar{background:var(--ink);padding:.6rem 0;box-shadow:0 2px 14px rgba(0,0,0,.18)}
.navbar-brand{font-family:var(--serif);font-size:1.4rem;color:#fff!important;letter-spacing:.2px}
.navbar-brand small{display:block;font:500 .62rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-top:-3px}
.navbar .nav-link{color:#d7e3ee;font-weight:500;font-size:.92rem;padding:.5rem .7rem!important}
.navbar .nav-link:hover{color:var(--amber)}
.navbar-toggler{border-color:rgba(255,255,255,.4)}
.navbar-toggler-icon{filter:invert(1)}
.btn-amber{background:var(--amber);color:var(--ink);font-weight:600;border:0;border-radius:50px;padding:.75rem 1.7rem}
.btn-amber:hover{background:#ffbb55;color:var(--ink)}
.btn-ghost{border:2px solid rgba(255,255,255,.55);color:#fff;border-radius:50px;padding:.7rem 1.6rem;font-weight:500}
.btn-ghost:hover{background:#fff;color:var(--ink)}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;padding-top:64px;background:var(--ink)}
.hero-panel{display:flex;flex-direction:column;justify-content:center;padding:4rem clamp(1.5rem,6vw,5.5rem);color:#fff;background:linear-gradient(160deg,var(--ink) 0%,var(--ink2) 100%)}
.hero-eyebrow{font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--amber);font-weight:600;margin-bottom:1.2rem}
.hero-title{font-size:clamp(2.8rem,5.6vw,5rem);color:#fff;margin-bottom:1.2rem}
.hero-title em{color:var(--amber);font-style:italic}
.hero-sub{font-size:1.15rem;color:#c9d9e7;max-width:30rem;margin-bottom:2rem}
.hero-photo{background:url('img/hero.webp') 55% center/cover no-repeat;min-height:320px;position:relative}
.hero-badge{position:absolute;left:-2.2rem;bottom:2.5rem;background:var(--amber);color:var(--ink);border-radius:14px;padding:.9rem 1.2rem;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.25);line-height:1.3}
.hero-badge span{display:block;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
section{padding:6rem 0;overflow-x:clip}
.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);font-weight:600;margin-bottom:.8rem}
.sec-title{font-size:clamp(2rem,4vw,3.1rem);margin-bottom:1.2rem}
.bg-ice{background:var(--ice)}
.photo{width:100%;height:auto;border-radius:18px;display:block;object-fit:cover}
.photo-tall{aspect-ratio:4/5}
.photo-wide{aspect-ratio:3/2}
.award{max-width:190px;border-radius:10px;box-shadow:0 12px 30px rgba(14,34,56,.25)}
.step{background:#fff;border-radius:16px;padding:2rem;border-top:4px solid var(--amber);height:100%;box-shadow:0 6px 24px rgba(14,34,56,.06)}
.step .num{font:2.6rem var(--serif);color:var(--blue);line-height:1}
.svc{padding:5rem 0}
.svc-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0 0}
.svc-nav a{border:1px solid var(--line);background:#fff;border-radius:50px;padding:.4rem 1.1rem;color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem}
.svc-nav a:hover{background:var(--ink);color:#fff}
.svc h3{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:1rem}
.svc h4{font-size:1.3rem;margin:1.6rem 0 .6rem;color:var(--blue)}
.chip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;list-style:none;padding:0;margin:1rem 0 0}
.chip-grid li{background:var(--ice);border-radius:10px;padding:.7rem .9rem;font-weight:500;font-size:.95rem;display:flex;gap:.5rem;align-items:center;color:var(--ink)}
.chip-grid i{color:var(--amber-d)}
.accordion-button{font-family:var(--serif);font-size:1.25rem;color:var(--ink)}
.accordion-button:not(.collapsed){background:var(--ice);color:var(--ink);box-shadow:none}
.accordion-item{border-color:var(--line)}
.cond-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;list-style:none;padding:0;margin:1.5rem 0 0}
.cond-grid li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem 1.1rem;font-weight:500;color:var(--ink);display:flex;gap:.6rem;align-items:center}
.cond-grid i{color:var(--blue)}
.prod{position:relative;border-radius:16px;overflow:hidden;height:100%;min-height:240px;background:var(--ink)}
.prod img{width:100%;height:100%;min-height:240px;object-fit:cover;display:block}
.prod .cap{position:absolute;left:0;right:0;bottom:0;padding:1rem 1.2rem;background:linear-gradient(transparent,rgba(14,34,56,.88));color:#fff;font-weight:600;display:flex;gap:.5rem;align-items:center}
.prod .cap i{color:var(--amber)}
.prod-type{display:flex;align-items:center;justify-content:center;text-align:center;padding:1.5rem;background:var(--blue)}
.prod-type .cap{position:static;background:none;flex-direction:column;font-family:var(--serif);font-size:1.5rem;font-weight:400}
.prod-type .cap i{font-size:2rem}
.card-soft{background:#fff;border-radius:16px;padding:2rem;height:100%;box-shadow:0 6px 24px rgba(14,34,56,.06);border-left:4px solid var(--blue)}
.hours{width:100%;border-collapse:collapse}
.hours td{padding:.6rem 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right;font-weight:500;color:var(--ink)}
.hours .closed td:last-child{color:#7b8a99;font-weight:400}
.contact-card{background:var(--ink);color:#d7e3ee;border-radius:18px;padding:2.2rem;height:100%}
.contact-card h3{color:#fff}
.contact-card a:not(.btn){color:var(--amber);text-decoration:none}
.contact-card i{color:var(--amber);margin-right:.6rem}
.map{border:0;width:100%;height:100%;min-height:360px;border-radius:18px}
footer{background:var(--ink);color:#aebfd0;padding:3.5rem 0 1.5rem}
footer a{color:#d7e3ee;text-decoration:none}
footer a:hover{color:var(--amber)}
.foot-brand{font:1.6rem var(--serif);color:#fff}
.powered{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.5rem 1.1rem;border:1px solid rgba(255,255,255,.2);border-radius:50px;font-size:.85rem}
.powered b{color:var(--amber)}
@media(max-width:991px){
 .hero{grid-template-columns:1fr;min-height:0}
 .hero-photo{order:-1;min-height:260px;margin-top:0}
 .hero-badge{left:1rem;bottom:-1.5rem}
 .hero-panel{padding-top:3.5rem}
 section{padding:4rem 0}
 .navbar-collapse{padding:.8rem 0}
 .chip-grid{grid-template-columns:repeat(2,1fr)}
 .cond-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:575px){.cond-grid{grid-template-columns:1fr}.hero-title{font-size:2.7rem}}
