:root{
  --ink:#14181F; --muted:#464F5C; --accent:#17365D; --accent-dark:#0E2342;
  --tint:#F1F4F8; --rule:#D9DFE7; --white:#fff; --focus:#E08A00;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--white);color:var(--ink);font:1.125rem/1.65 var(--sans)}
img{max-width:100%;display:block}
a{color:var(--accent)}
a:hover{color:var(--accent-dark)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.wrap{max-width:1040px;margin:0 auto;padding:0 1.25rem}
.narrow{max-width:760px}
.skip{position:absolute;left:-999px;top:0;background:var(--white);padding:.75rem 1rem;z-index:20}
.skip:focus{left:0}
h1,h2,h3{line-height:1.15;margin:0 0 1rem;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.4vw,2.3rem);font-weight:750}
h3{font-size:1.2rem;font-weight:700;margin-bottom:.4rem}
p{margin:0 0 1rem;max-width:62ch}

.top{position:sticky;top:0;z-index:10;background:var(--white);border-bottom:1px solid var(--rule)}
.bar{display:flex;align-items:center;gap:1.5rem;padding-top:.7rem;padding-bottom:.7rem}
.brand{font-weight:800;font-size:1.05rem;line-height:1.2;color:var(--accent-dark);text-decoration:none;margin-right:auto}
.brand span{font-weight:500;color:var(--muted)}
nav{display:flex;gap:1.25rem}
nav a{color:var(--ink);text-decoration:none;font-size:1rem;padding:.4rem 0}
nav a:hover{text-decoration:underline;text-underline-offset:4px}

.btn{display:inline-block;background:var(--accent);color:#fff;font:700 1.05rem var(--sans);text-decoration:none;padding:.9rem 1.5rem;border:2px solid var(--accent);border-radius:6px;cursor:pointer}
.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
.btn.small{padding:.55rem 1rem;font-size:.95rem}
.btn.ghost{background:transparent;color:var(--accent)}
.btn.ghost:hover{background:var(--accent);color:#fff}

.hero{padding:3.5rem 0 3rem}
.hero-grid>div{max-width:44rem}
.hero-photo{margin-top:2.5rem}
.lede{font-size:1.3rem;line-height:1.5;color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.75rem 0 1rem}
.note{font-size:1rem;color:var(--muted);margin:0}

.facts{background:var(--accent);color:#fff}
.facts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem 2rem;padding-top:1.5rem;padding-bottom:1.5rem}
.facts p{margin:0;font-size:1.05rem}
.facts strong{display:block;font-size:1.35rem}

.section{padding:4rem 0}
.tint{background:var(--tint)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.services{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem;margin-top:2rem}
.services p{margin:0;color:var(--muted)}
.services>div{border-top:3px solid var(--accent);padding-top:1rem}

blockquote{margin:1.5rem 0 0;max-width:46rem;padding-left:1.5rem;border-left:4px solid var(--accent)}
blockquote p{font-size:1.25rem}
blockquote footer{font-weight:700;color:var(--muted)}

details{border-bottom:1px solid var(--rule)}
details:first-of-type{border-top:1px solid var(--rule)}
summary{cursor:pointer;font-weight:700;padding:1.1rem 2rem 1.1rem 0;list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:.25rem;top:.9rem;font-size:1.6rem;font-weight:400;color:var(--accent)}
details[open] summary::after{content:"\2212"}
details p{color:var(--muted)}

.phone{font-size:clamp(2rem,5vw,2.8rem);font-weight:800;line-height:1.1;margin-bottom:.75rem}
.phone a{text-decoration:none}
form label{display:block;font-weight:700;font-size:1rem;margin:0 0 .3rem}
input:not([type=checkbox]),textarea{display:block;width:100%;margin-bottom:1.1rem;padding:.75rem .85rem;font:1.05rem var(--sans);border:1px solid #7C8794;border-radius:6px;background:#fff;color:var(--ink)}
.hp{position:absolute;left:-9999px}
#form-status{margin:1rem 0 0;font-size:1rem}
#form-status.ok{color:#1E5A2E}
#form-status.err{color:#9B1C1C}

.photo{margin:0;position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#DDE3EA}
.photo.wide-hero{aspect-ratio:2/1}
.photo.tall{aspect-ratio:4/5;max-height:560px}
.photo.square{aspect-ratio:1/1}
.photo.wide{aspect-ratio:2/1;margin-top:1.5rem}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.site-foot{background:var(--accent-dark);color:#E8EDF3;padding:2.5rem 0}
.site-foot a{color:#fff}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
.foot p{margin:0}
.fine{font-size:.9rem;color:#B9C4D2}
.callbar{display:none}

@media (max-width:820px){
  nav{display:none}
  .hero{padding:2rem 0}
  .two,.services,.foot{grid-template-columns:1fr;gap:2rem}
  .facts-grid{grid-template-columns:1fr;gap:.9rem}
  .section{padding:3rem 0}
  .bar .btn{display:none}
  .callbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:15;background:var(--accent);color:#fff;text-align:center;font:700 1.15rem var(--sans);text-decoration:none;padding:1rem}
  body{padding-bottom:3.6rem}
}
