:root { --ss-deep:#073f39; --ss-green:#0b5f55; --ss-mint:#e6f6f1; --ss-sand:#fff5dd; --ss-ink:#17211f; --ss-line:#c9d8d3; }
html { scroll-behavior:smooth; }
body.safestep-site { color:var(--ss-ink); }
.safestep-skip-link { background:#fff; border:3px solid var(--ss-deep); color:var(--ss-deep); font-weight:800; left:12px; padding:10px 16px; position:fixed; top:-100px; z-index:999999; }
.safestep-skip-link:focus { top:12px; }
.safestep-site a:focus-visible, .safestep-site button:focus-visible, .safestep-site input:focus-visible, .safestep-site select:focus-visible, .safestep-site textarea:focus-visible { outline:4px solid rgba(21,94,239,.45)!important; outline-offset:3px!important; }
.safestep-site .main-header, .safestep-site header.main-header { background:var(--ss-deep); }
.safestep-home { background:#f5faf8; overflow:hidden; }
.safestep-home-hero { background:linear-gradient(145deg,var(--ss-deep),#0c7164); color:#fff; display:grid; gap:clamp(28px,5vw,70px); grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); padding:clamp(72px,10vw,150px) max(5vw,24px) clamp(56px,8vw,110px); }
.safestep-home-hero__copy { max-width:780px; }
.safestep-kicker { color:#b9f0df; font-size:.78rem; font-weight:850; letter-spacing:.11em; margin:0 0 12px; text-transform:uppercase; }
.safestep-home-hero h1 { color:#fff; font-size:clamp(2.8rem,6.8vw,6.8rem); letter-spacing:-.045em; line-height:.93; margin:0 0 24px; max-width:13ch; }
.safestep-home-hero__copy>p:not(.safestep-kicker) { color:#fff; font-size:clamp(1.08rem,2vw,1.34rem); line-height:1.55; max-width:64ch; }
.safestep-home-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.safestep-home-button { background:#fff; border:2px solid #fff; border-radius:999px; color:var(--ss-deep)!important; display:inline-flex; font-weight:850; min-height:48px; padding:11px 22px; text-decoration:none!important; }
.safestep-home-button--ghost { background:transparent; color:#fff!important; }
.safestep-home-button--ghost-dark { background:transparent; border-color:var(--ss-deep); color:var(--ss-deep)!important; }
.safestep-home-hero__panel { align-self:center; backdrop-filter:blur(8px); background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.35); border-radius:24px; padding:clamp(24px,4vw,42px); }
.safestep-home-hero__panel h2 { color:#fff; margin-top:0; }
.safestep-home-hero__panel ul { list-style:none; margin:0; padding:0; }
.safestep-home-hero__panel li { border-bottom:1px solid rgba(255,255,255,.25); padding:13px 0 13px 30px; position:relative; }
.safestep-home-hero__panel li:before { content:'✓'; font-weight:900; left:0; position:absolute; }
.safestep-home-trust { display:grid; gap:1px; grid-template-columns:repeat(3,1fr); background:var(--ss-line); }
.safestep-home-trust article { background:#fff; padding:clamp(25px,5vw,55px); }
.safestep-home-trust strong { align-items:center; background:var(--ss-mint); border-radius:50%; color:var(--ss-deep); display:flex; font-size:1.25rem; height:46px; justify-content:center; width:46px; }
.safestep-home-trust h2 { font-size:1.5rem; margin:13px 0 7px; }
.safestep-home-directory { padding:clamp(50px,8vw,110px) max(4vw,18px); }
.safestep-section-heading { margin:0 auto 28px; max-width:1200px; }
.safestep-section-heading .safestep-kicker { color:var(--ss-green); }
.safestep-section-heading h2 { font-size:clamp(2rem,4vw,4.2rem); letter-spacing:-.035em; margin:0; }
.safestep-home-towns { display:grid; gap:18px; grid-template-columns:repeat(3,1fr); padding:0 max(5vw,24px) clamp(55px,8vw,110px); }
.safestep-home-towns article { background:#fff; border:1px solid var(--ss-line); border-radius:18px; padding:clamp(24px,4vw,40px); }
.safestep-home-towns h2 { margin-top:0; }
.safestep-home-towns a { color:var(--ss-deep); font-weight:850; }
.safestep-home-community { background:var(--ss-mint); display:grid; grid-template-columns:1fr 1fr; }
.safestep-home-community>div { padding:clamp(45px,8vw,105px) max(5vw,30px); }
.safestep-home-community>div+div { background:#fff; }
.safestep-home-community .safestep-kicker { color:var(--ss-green); }
.safestep-home-community h2 { font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.03em; line-height:1.05; }
.safestep-home-page-content { background:#fff; padding:clamp(40px,7vw,90px) max(5vw,24px); }
.safestep-place-page .post-opt-title, .safestep-place-page .single-listing-header-title { text-wrap:balance; }
.safestep-site .footer-widget, .safestep-site footer { font-size:16px; }
@media(max-width:900px){.safestep-home-hero{grid-template-columns:1fr}.safestep-home-trust,.safestep-home-towns,.safestep-home-community{grid-template-columns:1fr}.safestep-home-trust{gap:0}.safestep-home-trust article{border-bottom:1px solid var(--ss-line)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
