/* Saltmarsh A home, rebuilt 2026-10-29 against Blue Nail Exteriors: a seasonal promo bar, a photo
   hero with a project card, review platforms above review cards, service photo cards, alternating
   photo and text, a five-step band, and a crew band. Serif headings, navy, sea glass. */
.smpb{background:var(--ink);color:rgba(255,255,255,.88);font-size:14px}
.smpb .wrap{display:flex;align-items:center;justify-content:center;gap:16px;min-height:42px;padding-top:6px;padding-bottom:6px;text-align:center}
.smpb b{font-family:var(--fd);font-weight:500;font-size:16px;color:#fff;margin-right:6px}
.smpb a{background:#fff;color:var(--ink);font-weight:600;font-size:13px;padding:6px 12px;border-radius:2px;white-space:nowrap}
.smpb a:hover{background:#d8ece8}
.sm-home .hdr{position:sticky!important;top:0}
.sm-home main#top{padding-top:0!important}
.smh-k{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#d8ece8}
.smh-k.dark{color:var(--accent)}
.smr-st{display:inline-flex;gap:1px;color:#e2a614}
.smr-st svg{width:15px;height:15px}

/* hero */
.smh{position:relative;overflow:hidden;color:#fff;background:var(--ink)}
.smh-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.smh::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(12,22,38,.86) 0%,rgba(12,22,38,.66) 45%,rgba(12,22,38,.2) 75%,rgba(12,22,38,.1) 100%)}
.smh-in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:clamp(28px,5vw,88px);align-items:center;padding-top:clamp(56px,7vw,112px);padding-bottom:clamp(56px,7vw,112px)}
.ed .smh h1{font-family:var(--fd);font-weight:400;font-size:clamp(44px,5vw,76px);line-height:1.04;letter-spacing:-.015em;color:#fff;margin-top:16px;max-width:12em}
.smh-p{margin-top:20px;font-size:17px;line-height:1.6;color:rgba(255,255,255,.86);max-width:34em}
.smh-ic{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:12px}
.smh-ic li{display:flex;align-items:center;gap:12px;font-family:var(--fd);font-size:20px;color:#fff}
.smh-ic svg{width:24px;height:24px;color:#bfe3dc;flex:none}
.smh-card{background:var(--card);color:var(--ink);padding:30px 28px 24px;box-shadow:0 30px 60px -24px rgba(0,0,0,.5)}
.ed .smh-card h2{font-family:var(--fd);font-weight:400;font-size:30px;line-height:1.1;color:var(--ink);text-align:center}
.smh-card-s{margin-top:16px;font-size:14.5px;font-weight:600;color:var(--mute)}
.smh-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.smh-opts button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border:1px solid var(--rule);background:#fff;font-weight:600;font-size:14.5px;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s}
.smh-opts svg{width:26px;height:26px;color:var(--accent)}
.smh-opts button:hover{border-color:var(--ink);background:#f7f4ec}
.smh-go{width:100%;margin-top:16px;justify-content:center}
.smh-or{margin-top:12px;text-align:center;font-size:14.5px;color:var(--mute)}
.smh-or a{color:var(--ink);font-weight:700}
.smh-fine{margin-top:12px;padding-top:12px;border-top:1px solid var(--rule);text-align:center;font-size:12.5px;color:var(--mute)}

/* neighbors */
.smn,.smsv{padding:clamp(64px,7vw,104px) 0 0}
.smn-h{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ed .smn h2,.ed .smsv h2,.ed .sma h2,.ed .smst h2,.ed .smc h2{font-family:var(--fd);font-weight:400;font-size:clamp(34px,3.6vw,52px);line-height:1.08;letter-spacing:-.01em}
.smn-h .btn{margin-top:16px}
.smn-pl{list-style:none;display:flex;gap:34px;margin:0;padding:0}
.smn-pl li{display:grid;justify-items:center;gap:2px;text-align:center}
.smn-g svg{width:26px;height:26px}
.smn-bbb{font-weight:800;font-size:16px;letter-spacing:.06em;color:#fff;background:#005a78;padding:3px 7px;border-radius:2px}
.smn-pl b{font-family:var(--fd);font-weight:500;font-size:28px;line-height:1;color:var(--ink)}
.smn-pl small{font-size:12.5px;color:var(--mute)}
.smn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:clamp(24px,3vw,40px)}
.smr{margin:0;background:var(--card);padding:24px;box-shadow:0 12px 30px -20px rgba(23,38,59,.35);display:flex;flex-direction:column}
.smr-top{display:flex;align-items:center;gap:12px}
.smr-av{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--rule);font-family:var(--fd);font-size:16px;color:var(--ink)}
.smr-top b{display:block;font-family:var(--fd);font-weight:500;font-size:19px;color:var(--ink)}
.smr blockquote{margin:14px 0 0;font-size:15px;line-height:1.6;color:var(--ink)}
.smr figcaption{margin-top:auto;padding-top:12px;font-size:13px;color:var(--mute)}

/* service photo cards */
.sms-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:clamp(24px,3vw,40px)}
.sms{display:block}
.sms img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:opacity .3s}
.sms:hover img{opacity:.9}
.sms-t{display:flex;align-items:center;gap:10px;margin-top:14px;font-family:var(--fd);font-style:italic;font-size:21px;color:var(--ink)}
.sms-t svg{width:15px;height:15px}
.sms-d{display:block;margin-top:6px;font-size:14.5px;line-height:1.55;color:var(--mute)}

/* alternating photo and text */
.sma{padding:clamp(64px,7vw,104px) 0}
.sma-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,96px);align-items:center}
.sma-fig{margin:0;box-shadow:24px 24px 0 #e5ddcb}
.sma-fig img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.sma h2{margin-top:12px}
.sma-in>div>p:not(.smh-k){margin-top:18px;font-size:17px;line-height:1.65;color:var(--mute)}
.sma .btn{margin-top:24px}

/* five steps */
.smst{background:var(--ink);color:#fff;padding:clamp(64px,7vw,100px) 0}
.ed .smst h2{color:#fff;text-align:center}
.smst ol{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:clamp(28px,3vw,44px) 0 0;padding:0}
.smst li{position:relative;border:1px solid rgba(255,255,255,.5);padding:34px 18px 22px;text-align:center}
.smst li>span{position:absolute;top:-18px;left:50%;transform:translateX(-50%);background:var(--ink);padding:0 12px;font-family:var(--fd);font-size:28px;color:#fff}
.ed .smst h3{font-family:var(--fd);font-style:italic;font-weight:400;font-size:21px;color:#fff}
.smst p{margin-top:10px;font-size:14px;line-height:1.55;color:rgba(255,255,255,.8)}

/* crew band */
.smc{position:relative;overflow:hidden;color:#fff;min-height:520px;display:flex;align-items:center}
.smc>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 50%}
.smc::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(12,22,38,0) 20%,rgba(12,22,38,.85) 60%)}
.smc-in{position:relative;z-index:2;display:flex;justify-content:flex-end;width:100%;padding-top:72px;padding-bottom:72px}
.smc-in>div{max-width:480px}
.ed .smc h2{color:#fff}
.smc p{margin-top:16px;font-size:16.5px;line-height:1.65;color:rgba(255,255,255,.86)}
.btn-light{margin-top:24px;background:#fff;color:var(--ink)}
.btn-light:hover{background:#d8ece8}

@media (max-width:1100px){.smh-in{grid-template-columns:1fr}.smh-card{max-width:520px}.sms-grid{grid-template-columns:1fr 1fr}.smst ol{grid-template-columns:1fr 1fr;row-gap:30px}}
@media (max-width:900px){.smn-grid{grid-template-columns:1fr}.sma-in{grid-template-columns:1fr}.sma-fig{box-shadow:12px 12px 0 #e5ddcb}.smc::before{background:rgba(12,22,38,.72)}.smc-in{justify-content:flex-start}}
@media (max-width:640px){.smpb b{display:block}.smpb .wrap{flex-direction:column;gap:8px}.smh::before{background:rgba(12,22,38,.72)}.ed .smh h1{font-size:clamp(36px,10vw,46px)}.smh-ic li{font-size:17px}.smn-pl{gap:22px}.sms-grid{grid-template-columns:1fr}.smst ol{grid-template-columns:1fr}}
