a{color:var(--green)}
.wrap{max-width:var(--site-container,1280px);margin-inline:auto;padding-inline:24px}
.sec{padding:var(--s8) 0}
.tint{background:var(--cream)}
.dark{background:var(--green-d);color:#fff}
.dark a:not(.btn){color:#fff}
h2,h3{font-family:var(--f-d);color:var(--green-d);margin:0 0 var(--s4);line-height:1.15;letter-spacing:-.01em;text-wrap:balance}
h2{font-size:clamp(1.75rem,1.2rem + 2vw,2.75rem)}
h3{font-size:1.375rem}
.dark h2,.dark h3{color:#fff}
p{margin:0 0 var(--s4)}
.strong{font-weight:700}
.big{font-size:1.1875rem;line-height:1.55}
.eyebrow{display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s3);font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.eyebrow::before{content:"";flex:0 0 32px;height:3px;border-radius:2px;background:var(--gold)}
.dark .eyebrow{color:var(--gold)}
.dark p{color:rgba(255,255,255,.88)}
.more{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;font-weight:700;text-decoration:none;color:var(--green)}
.more::after{content:"→"}
.checks{list-style:none;margin:0 0 var(--s5);padding:0;display:grid;gap:var(--s2)}
.checks li{position:relative;padding-left:var(--s6);min-width:0}
.checks li::before{content:"";position:absolute;left:4px;top:6px;width:7px;height:13px;border:solid var(--green);border-width:0 3px 3px 0;transform:rotate(45deg)}
.checks.on-dark li::before{border-color:var(--gold)}
.checks a{font-weight:600}
.split{display:grid;gap:var(--s7);align-items:center}
.split>*{min-width:0}
.intro{display:grid;gap:var(--s5);margin-bottom:var(--s7)}
.lede p{color:var(--muted)}
.lede .strong{color:var(--ink)}
.svc-grid{display:grid;gap:var(--s5)}
.svc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh);min-width:0}
.svc-media{position:relative;aspect-ratio:4/3;background:var(--green-dd);color:#fff}
.reads{display:grid;gap:var(--s2);margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--line)}
.reads .more{min-height:44px;line-height:1.35}
.dlg-note{font-size:.9375rem;color:var(--muted);margin:calc(-1 * var(--s2)) 0 var(--s5)}
.svc-media>img{width:100%;height:100%;object-fit:cover}
.svc-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,30,17,.85) 0%,rgba(14,30,17,.55) 22%,rgba(14,30,17,.2) 36%,rgba(14,30,17,.05) 44%,rgba(14,30,17,0) 50%)}
.svc-media h3{position:absolute;left:var(--s5);bottom:var(--s4);z-index:1;display:flex;align-items:center;gap:var(--s2);margin:0;color:#fff;font-size:1.625rem}
.svc-ico{width:32px;height:32px;object-fit:contain}
.svc-body{display:flex;flex-direction:column;flex:1;padding:var(--s5)}
.svc-body p{color:var(--muted)}
.svc-body .more{margin-top:auto}
.special{background:#fff;border-radius:var(--r-lg);padding:var(--s6);box-shadow:var(--sh);border-top:6px solid var(--gold);display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4)}
.special p{margin:0;color:var(--muted)}
.special h3{margin:0;font-size:1.75rem}
.special .tag{display:inline-flex;align-items:center;height:28px;padding:0 var(--s3);border-radius:var(--pill);background:var(--gold);color:var(--ink);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.club{display:grid;gap:var(--s7);align-items:center}
.club>*{min-width:0}
.club-logo{background:#fff;border-radius:var(--r-lg);padding:var(--s6);box-shadow:0 24px 48px rgba(0,0,0,.25);max-width:420px}
.club-logo img{width:100%;height:auto}
.actions{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s5)}
.actions .btn{flex:1 1 auto}
.links{display:flex;flex-wrap:wrap;gap:var(--s5)}
.heil-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s6);box-shadow:var(--sh)}
.heil-card img{width:100%;height:auto}
.photo{margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh);aspect-ratio:4/5}
.photo img{width:100%;height:100%;object-fit:cover}
.warranty{display:grid;grid-template-columns:40px 1fr;gap:var(--s4);margin-top:var(--s5);padding:var(--s6) var(--s5);background:#fff;border-radius:var(--r-lg);border-left:6px solid var(--gold);box-shadow:var(--sh)}
.warranty>*{min-width:0}
.warranty p{color:var(--muted)}
.warranty .strong{color:var(--ink)}
.choose{display:grid;gap:var(--s5)}
.choose>*{min-width:0}
.choose-head p{color:var(--muted)}
.choose-head .strong{color:var(--ink)}
.crit{list-style:none;margin:0;padding:0}
.crit li{display:grid;grid-template-columns:48px 1fr;gap:var(--s4);padding:var(--s5) 0;border-top:1px solid var(--line)}
.crit li>*{min-width:0}
.crit li:last-child{border-bottom:1px solid var(--line)}
.num{font:700 1.5rem/1.2 var(--f-d);color:var(--green)}
.crit h3{font-size:1.25rem;margin-bottom:var(--s2)}
.crit p{margin:0;color:var(--muted)}
.sub{margin-top:var(--s6)}
.local{display:grid}
.local-copy{padding:var(--s8) 24px;min-width:0}
.local-media{margin:0;min-height:320px;position:relative}
.local-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rev-head{margin-bottom:var(--s6)}
.quotes{display:grid;gap:var(--s5)}
.quote{margin:0;display:flex;flex-direction:column;justify-content:space-between;gap:var(--s5);padding:var(--s6);background:var(--cream);border-radius:var(--r-lg);border:1px solid var(--line);min-width:0}
.quote blockquote{margin:0;font-size:1.0625rem;line-height:1.65;color:var(--ink)}
.quote blockquote::before{content:"“";display:block;font:700 4rem/0.6 var(--f-d);color:var(--gold);margin-bottom:var(--s3)}
.quote figcaption{display:flex;flex-direction:column;padding-top:var(--s4);border-top:1px solid var(--line)}
.quote figcaption strong{font-family:var(--f-d);font-size:1.125rem;color:var(--green-d)}
.quote figcaption span{font-size:.875rem;color:var(--muted)}
.g-reviews{margin-top:var(--s6);min-height:160px;padding:var(--s6);background:var(--cream);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center}
.g-link{display:inline-flex;align-items:center;gap:var(--s2);min-height:48px;padding:0 var(--s5);border-radius:var(--pill);border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:600;text-decoration:none}
.embed{margin-top:var(--s5);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:#fff}
.embed iframe{display:block;width:100%;height:560px;border:0}
.final-grid{display:grid;gap:var(--s7);align-items:start}
.final-grid>*{min-width:0}
.contact{list-style:none;margin:var(--s6) 0 0;padding:0;display:grid;gap:var(--s4)}
.contact li{display:grid;grid-template-columns:20px 1fr;gap:var(--s4);align-items:start}
.contact svg{margin-top:var(--s1)}
.contact span{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.contact small{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.contact a{font-weight:700;font-size:1.125rem;text-decoration:none}
.club-card{background:#fff;color:var(--ink);border-radius:var(--r-lg);padding:var(--s6);box-shadow:0 24px 48px rgba(0,0,0,.25);display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4)}
.club-card img{width:160px;height:auto}
.club-card h3{color:var(--green-d);margin:0}
.dark .club-card p{color:var(--muted);margin:0}
.a11y{grid-column:1/-1;padding-top:var(--s6);border-top:1px solid rgba(255,255,255,.18);font-size:.875rem}
.a11y p{color:rgba(255,255,255,.75);margin-bottom:var(--s2)}
.motion-dialog{width:min(640px,calc(100vw - 32px));max-height:calc(100svh - 32px);padding:0;border:0;border-radius:var(--r-lg);color:var(--ink);background:#fff}
.dlg{padding:var(--s6) var(--s5)}
.dlg-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s5)}
.dlg-logo{width:200px;height:auto}
.dlg-logo.wide{width:260px}
.dlg-x{width:44px;height:44px;border-radius:var(--pill);border:1px solid var(--line);background:#fff;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--ink)}
.form{display:grid;gap:var(--s4)}
.form fieldset{border:0;margin:0;padding:0;display:grid;gap:var(--s4);min-width:0}
.form legend,.form label{font-weight:600;font-size:.9375rem}
.form legend{padding:0;margin-bottom:var(--s2)}
.form label{display:flex;flex-direction:column;gap:var(--s2);min-width:0}
.req{color:#b3261e;font-size:.75rem;font-weight:600;margin-left:var(--s1)}
.row{display:grid;gap:var(--s4);grid-template-columns:1fr 1fr}
.row>*{min-width:0}
.form input:not([type=radio]),.form select,.form textarea{width:100%;min-height:48px;padding:var(--s2) var(--s3);border:1px solid #c5cbc2;border-radius:var(--r-sm);font:inherit;color:var(--ink);background:#fff}
.radios{grid-template-columns:1fr 1fr}
.radios legend{grid-column:1/-1}
.radios label{flex-direction:row;align-items:center;gap:var(--s2);min-height:44px;font-weight:400}
.radios input{width:20px;height:20px;accent-color:var(--green)}
.legal{font-size:.8125rem;color:var(--muted);margin:0}
@media (min-width:768px){
.svc-grid{grid-template-columns:repeat(3,1fr)}
.quotes{grid-template-columns:repeat(3,1fr)}
.local-media{min-height:420px}
}
@media (min-width:1024px){
.sec{padding:var(--s9) 0}
.intro{grid-template-columns:5fr 6fr;gap:var(--s8);align-items:end}
.intro h2{margin:0}
.split{grid-template-columns:1fr 1fr;gap:var(--s8)}
.split-media{grid-template-columns:5fr 6fr;align-items:start}
.split-media .photo{position:sticky;top:calc(var(--as-nav-h,64px) + var(--as-nav-top,16px) + 24px)}
.club{grid-template-columns:4fr 7fr;gap:var(--s8)}
.actions .btn{flex:0 0 auto}
.choose{grid-template-columns:4fr 7fr;gap:var(--s8)}
.choose-head{position:sticky;top:calc(var(--as-nav-h,64px) + var(--as-nav-top,16px) + 24px);align-self:start}
.checks.two{grid-template-columns:1fr 1fr}
.local{grid-template-columns:1fr 1fr;min-height:560px}
.local-copy{padding:var(--s9) var(--s8) var(--s9) var(--edge);align-self:center}
.local-media{min-height:100%}
.final-grid{grid-template-columns:7fr 5fr;gap:var(--s8)}
.dlg{padding:var(--s6)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
