/* Plymouth Water Damage Restoration: "Bay Shingle" design (bay slate, harbor, cranberry, dune grass, sailcloth) */
:root{
  --sail:#f9f7f1;--white:#ffffff;--tint:#ecebdc;--harbor:#213a4b;--slate:#34566e;--cran:#9b2335;--cran-dk:#7d1b2a;
  --grass:#a7a46a;--grass-lt:#cdca93;--ink:#1d2529;--muted:#47535a;--rule:#d8d4c4;--on-dark:#e4e9ec;
  --head:"Work Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--body:"Spectral",Georgia,"Times New Roman",serif;
  --radius:6px;--shadow:0 10px 28px rgba(33,58,75,.16)
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sail);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.7}
img{max-width:100%;height:auto;display:block}
a{color:var(--cran)}
h1,h2,h3{font-family:var(--head);color:var(--harbor);line-height:1.2;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.2vw,3.05rem);font-weight:700}
h2{font-size:clamp(1.55rem,2.8vw,2.15rem);font-weight:650}
h3{font-size:1.14rem;font-weight:600}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0}
svg:not(.brand__mark){fill:currentColor}
a svg,span svg,li svg,h3 svg,p svg,figcaption svg,summary svg{width:1.1em;height:1.1em;flex:0 0 auto;vertical-align:-.16em}
.btn svg,a[href^="tel:"] svg{width:1.1em;height:1.1em;flex:0 0 auto}
.skip-link{position:absolute;left:-9999px;top:8px;background:var(--harbor);color:#fff;padding:10px 14px;z-index:300}
.skip-link:focus{left:8px}
.wrap{max-width:1200px;margin:0 auto;padding-inline:24px}
.section{padding:72px 0}
.band--white{background:var(--white)}
.band--tint{background:var(--tint)}
.band--harbor{background:var(--harbor);color:var(--on-dark)}
.band--harbor h2,.band--harbor h3{color:#fff}
.band--harbor p{color:var(--on-dark)}
.band--harbor a:not(.btn){color:#fff}

/* eyebrow, lede, chips, tags */
.eyebrow{display:inline-block;font-family:var(--head);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cran);margin-bottom:.7rem}
.eyebrow--light{color:var(--grass-lt)}
.lede{font-size:1.16rem;max-width:58ch}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chip{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;background:var(--tint);color:var(--ink);font-family:var(--head);font-size:.86rem;font-weight:600}
.chip svg{color:var(--cran)}
.chips--light .chip{background:var(--white);border:1px solid var(--rule)}
.chipset{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.tag{display:inline-block;padding:6px 12px;border-radius:4px;background:var(--sail);border:1px solid var(--rule);color:var(--ink);font-family:var(--head);font-size:.88rem}
.tag--zip{background:var(--harbor);border-color:var(--harbor);color:#fff;font-weight:600}
.tag--link{color:var(--cran);text-decoration:underline}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--head);font-weight:600;border-radius:var(--radius);padding:12px 20px;border:2px solid transparent}
.btn--call{background:var(--cran);color:#fff}
.btn--call:hover{background:var(--cran-dk)}
.btn--lg{padding:15px 26px}
.btn--lg svg{width:1.4em;height:1.4em}
.btn--ondark{border-color:var(--sail)}
.btn__stack{display:flex;flex-direction:column;line-height:1.2}
.btn__num{font-size:1.2rem;font-weight:700}
.btn__sub{font-size:.84rem;font-weight:500;opacity:.95}

/* shingle-row divider: two staggered cedar courses */
.shingles{position:relative;height:30px;background:var(--sb)}
.shingles::before,.shingles::after{content:"";position:absolute;inset:0;-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;-webkit-mask-size:60px 30px;mask-size:60px 30px}
.shingles::before{background:var(--st);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='30'%3E%3Cpath d='M0 0h60v2H0zM0 2h28v13H0zM30 2h28v13H30z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='30'%3E%3Cpath d='M0 0h60v2H0zM0 2h28v13H0zM30 2h28v13H30z'/%3E%3C/svg%3E")}
.shingles::after{background:var(--grass);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='30'%3E%3Cpath d='M0 15h13v11H0zM15 15h28v11H15zM45 15h15v11H45z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='30'%3E%3Cpath d='M0 15h13v11H0zM15 15h28v11H15zM45 15h15v11H45z'/%3E%3C/svg%3E")}

/* header + nav */
.site-header{position:sticky;top:0;z-index:90;background:var(--sail);border-bottom:3px solid var(--grass)}
.hdr{display:flex;align-items:center;gap:28px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}
.brand__mark{width:46px;height:46px;max-height:46px}
.brand__text{display:flex;flex-direction:column;line-height:1.15}
.brand__name{font-family:var(--head);font-weight:700;font-size:1.08rem;color:var(--harbor);white-space:nowrap}
.brand__tag{font-family:var(--head);font-size:.76rem;color:var(--muted);white-space:nowrap}
.nav{display:flex;align-items:center;gap:4px;margin:0 auto}
.nav>a,.drop>a{display:block;padding:10px 12px;font-family:var(--head);font-weight:600;font-size:.96rem;color:var(--ink);text-decoration:none;white-space:nowrap;border-radius:4px}
.nav>a:hover,.drop>a:hover{color:var(--cran)}
.drop{position:relative}
.drop>a::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px)}
.drop__menu{display:none;position:absolute;top:100%;left:0;min-width:300px;max-height:min(72vh,560px);overflow-y:auto;overscroll-behavior:contain;background:var(--white);border:1px solid var(--rule);border-top:3px solid var(--cran);border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow);padding:8px;z-index:95}
.drop::before{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
.drop:hover .drop__menu,.drop.is-open .drop__menu{display:block}
.drop__menu a{display:block;padding:9px 12px;font-family:var(--head);font-size:.94rem;color:var(--ink);text-decoration:none;border-radius:4px}
.drop__menu a:hover{background:var(--tint);color:var(--cran)}
.menu-close{display:none}
.hdr__cta{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.hdr-phone{display:inline-flex;align-items:center;gap:8px;background:var(--cran);color:#fff;text-decoration:none;font-family:var(--head);font-weight:700;padding:10px 16px;border-radius:999px;white-space:nowrap}
.hdr-phone:hover{background:var(--cran-dk)}
.nav-toggle{display:none;width:46px;height:46px;border:1px solid var(--rule);background:var(--white);border-radius:var(--radius);padding:12px 11px;cursor:pointer;flex-direction:column;justify-content:space-between}
.nav-toggle span{display:block;height:2px;background:var(--harbor);border-radius:2px}

/* homepage hero */
.hero{background:var(--harbor);color:var(--on-dark);padding:64px 0 56px}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.hero__grid>*{min-width:0}
.hero h1{color:#fff}
.hero .lede{color:var(--on-dark)}
.hero .chip{background:var(--tint)}
.hero__note{margin-top:18px;font-size:1rem;color:var(--on-dark)}
.hero__note svg{color:var(--grass-lt)}
.mat{margin:0;background:var(--sail);padding:10px;border-radius:var(--radius);box-shadow:var(--shadow)}
.mat img{width:100%;border-radius:3px}
.mat--hero img{max-height:430px;object-fit:cover}

/* section heads */
.sec-head{margin-bottom:36px;max-width:780px}
.sec-head p{max-width:62ch}
.sec-head--center{text-align:center;margin-inline:auto}
.sec-head--split{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end}

/* first steps tide strip */
.tide{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}
.tide li{border-top:3px solid var(--slate);padding-top:16px}
.tide__n{display:block;font-family:var(--head);font-weight:700;font-size:1.9rem;color:var(--cran);line-height:1;margin-bottom:10px}
.tide p{font-size:1rem;margin:0}

/* service cards: horizontal image cards, 2 columns */
.svc-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.svc-card{display:grid;grid-template-columns:170px minmax(0,1fr);background:var(--sail);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.svc-card:hover{border-color:var(--slate);box-shadow:var(--shadow)}
.svc-card__img img{width:100%;height:100%;min-height:150px;object-fit:cover}
.svc-card__body{padding:16px 18px}
.svc-card__body h3{margin-bottom:.3em}
.svc-card__body p{font-size:1rem;line-height:1.6;margin-bottom:.5em;color:var(--ink)}
.svc-card__go{display:inline-flex;align-items:center;gap:4px;font-family:var(--head);font-weight:600;font-size:.9rem;color:var(--cran)}

/* water categories */
.cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cat{background:var(--white);border-top:4px solid var(--cran);border-radius:var(--radius);padding:26px}
.cat__n{display:block;font-family:var(--head);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:6px}
.cat a{font-family:var(--head);font-weight:600}

/* process stops (horizontal timeline) */
.stops{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;position:relative}
.stops::before{content:"";position:absolute;top:22px;left:22px;right:22px;height:2px;background:var(--grass)}
.stops li{position:relative}
.stop__n{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--grass-lt);color:var(--ink);font-family:var(--head);font-weight:700;margin-bottom:14px;position:relative}
.stops p{font-size:1rem}
.stops--light .stop__n{background:var(--cran);color:#fff}
.stops--light::before{background:var(--slate)}

/* why */
.why{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:56px;align-items:center}
.why__body>p{max-width:62ch}
.why__media img{max-height:340px;object-fit:cover}
.attrs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.attrs--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.attr{background:var(--sail);border:1px solid var(--rule);border-radius:var(--radius);padding:20px}
.band--tint .attr{background:var(--white)}
.attr__ic{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--tint);color:var(--cran);font-size:21px;margin-bottom:10px}
.attr p{font-size:1rem;margin:0}

/* cost ranges */
.answer{font-size:1.14rem;max-width:66ch}
.ranges{display:grid;gap:14px;margin:26px 0}
.range{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);gap:26px;align-items:center;background:var(--white);border:1px solid var(--rule);border-left:5px solid var(--slate);border-radius:var(--radius);padding:18px 22px}
.range__name h3{margin:0}
.range__amt{font-family:var(--head);font-weight:700;font-size:1.2rem;color:var(--cran)}
.range__bar{position:relative;height:10px;background:var(--tint);border-radius:999px}
.range__bar span{position:absolute;top:0;bottom:0;background:var(--slate);border-radius:999px}
.range__inc{list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:1rem}
.range__inc li::before{content:"+ ";color:var(--cran);font-weight:700}
.cost-note{font-size:1rem;color:var(--muted);max-width:70ch}

/* insurance */
.claim{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:start}
.claim__card{background:var(--white);border-top:4px solid var(--cran);border-radius:var(--radius);padding:30px}
.claim__note{padding:30px;border:2px dashed var(--slate);border-radius:var(--radius)}
.checklist{list-style:none;display:grid;gap:10px}
.checklist li{display:flex;gap:10px;align-items:flex-start}
.checklist svg{color:var(--cran);margin-top:5px}
.checklist--narrow{max-width:760px}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:960px;margin:0 auto}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius)}

/* coverage */
.cov{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:start}
.cov>*{min-width:0}
.cov-map{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--rule);background:var(--white)}
.cov-map figcaption{padding:10px 14px;font-family:var(--head);font-size:.92rem;color:var(--muted)}
.cov-map figcaption svg{color:var(--cran)}
.cov-lists h3{margin-top:4px}
.reach{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;margin-top:36px;background:var(--tint);border-radius:var(--radius);padding:30px}
.reach__email{font-size:1rem;margin:12px 0 6px;overflow-wrap:anywhere}
.reach__more{margin:8px 0 0}
.gsearch{display:inline-flex;align-items:center;gap:8px;font-family:var(--head);font-weight:600;color:var(--slate)}
.gsearch--light{color:#fff}

/* local risk (nor'easter band) */
.risk{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px;align-items:start}
.risk__event{background:#2b4a5f;border-radius:var(--radius);overflow:hidden}
.risk__event img{width:100%;max-height:260px;object-fit:cover}
.risk__stamp{padding:20px 22px}
.risk__when{display:inline-block;font-family:var(--head);font-weight:700;color:var(--ink);background:var(--grass-lt);padding:4px 10px;border-radius:4px;margin-bottom:10px}
.risk__stamp p{margin:0}
.risk-list{list-style:none}
.risk-list li{padding:14px 0;border-bottom:1px solid rgba(228,233,236,.25)}
.risk-list b{font-family:var(--head);color:var(--grass-lt)}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.faq-item{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius)}
.faq-item summary{cursor:pointer;padding:16px 20px;font-family:var(--head);font-weight:600;color:var(--harbor);list-style:none;position:relative;padding-right:44px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:18px;top:12px;font-size:1.4rem;color:var(--cran)}
.faq-item[open] summary::after{content:"\2212"}
.faq-item div{padding:0 20px 6px}
.faq-item p{font-size:1rem}
.faq-call{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding:22px 26px;background:var(--tint);border-radius:var(--radius)}
.faq-call h3{margin-bottom:.2em}
.faq-call p{margin:0;font-size:1rem}

/* closing band */
.closer{background:var(--harbor);color:var(--on-dark);padding:64px 0}
.closer__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:center}
.closer h2{color:#fff}
.closer p{color:var(--on-dark);max-width:58ch}
.closer__facts{list-style:none;display:grid;gap:14px}
.closer__facts li{display:flex;gap:10px;align-items:center;color:var(--on-dark)}
.closer__facts svg{color:var(--grass-lt)}

/* footer */
.site-footer{background:var(--harbor);color:var(--on-dark)}
.site-footer .wrap{padding-top:40px;padding-bottom:28px}
.foot-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.foot-name{display:block;font-family:var(--head);font-weight:700;font-size:1.2rem;color:#fff;margin-bottom:10px}
.foot-brand p{font-size:1rem;color:var(--on-dark)}
.site-footer a{color:#fff}
.foot-email{overflow-wrap:anywhere}
.foot-map{border-radius:var(--radius);overflow:hidden}
.foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:36px}
.foot-cols h3{color:var(--grass-lt);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase}
.foot-list{list-style:none;display:grid;gap:6px;font-size:1rem}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:32px;padding-top:18px;border-top:1px solid rgba(228,233,236,.25);font-family:var(--head);font-size:.9rem}
.callbar{display:none}
main:has(> .closer:last-child)+.site-footer>.shingles{display:none}
main:has(> .closer:last-child)+.site-footer{border-top:3px solid var(--grass)}

/* breadcrumbs */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-family:var(--head);font-size:.88rem;margin-bottom:14px;color:var(--muted)}
.crumbs a{color:var(--slate)}
.crumbs svg{width:.9em;height:.9em}
.hero .crumbs,.hero .crumbs a{color:var(--on-dark)}

/* service page */
.svc-hero{padding:56px 0 64px;border-bottom:1px solid var(--rule)}
.svc-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.svc-hero__grid>*{min-width:0}
.svc-hero__media{position:relative;padding:20px 0 0 20px}
.svc-hero__media::before{content:"";position:absolute;top:0;left:0;right:28px;bottom:28px;background:var(--slate);border-radius:var(--radius)}
.svc-hero__media .mat{position:relative}
.svc-hero__media img{max-height:400px;object-fit:cover}
.spec-rail{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}
.spec-rail>*{min-width:0}
.ataglance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ataglance__item{background:var(--white);border:1px solid var(--rule);border-left:4px solid var(--cran);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.ataglance__k{font-family:var(--head);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ataglance__v{font-family:var(--head);font-weight:600;color:var(--ink)}
.ledger{list-style:none;display:grid;gap:16px}
.ledger li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.ledger__n{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--slate);color:#fff;font-family:var(--head);font-weight:700}
.ledger h3{margin-bottom:.15em}
.ledger p{margin:0;font-size:1rem}
.handled{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:56px;align-items:start}
.handled>.eyebrow,.handled>h2{grid-column:1}
.handled__lead{grid-column:2;grid-row:1 / span 2;border-left:4px solid var(--cran);padding-left:28px}
.handled__lead p{font-size:1.12rem;max-width:66ch;margin:0}
.ed-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}
.prose{max-width:68ch}
.prose--center{margin:0 auto}
.prose h2{margin-top:1.4em}
.prose h2:first-child{margin-top:0}
.prose ul{padding-left:1.2em;margin:0 0 1.2em}
.prose li{margin-bottom:.35em}
.prose a{text-decoration:underline}
.rail{position:sticky;top:100px}
.rail__card{background:var(--white);border:1px solid var(--rule);border-top:4px solid var(--cran);border-radius:var(--radius);padding:24px}
.rail__links{list-style:none;margin-top:18px;display:grid;gap:8px;font-family:var(--head);font-size:1rem}
.cov-compact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center}
.cov-compact>*{min-width:0}
.cov-note p{max-width:60ch}
.cov-more a{font-family:var(--head);font-weight:600}
.rel-grid{display:flex;flex-wrap:wrap;gap:14px}
.rel-grid>*{flex:1 1 300px;min-width:0}
.rel-grid--2>*{flex-basis:45%}
.rel-card{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);font-family:var(--head);font-weight:600;color:var(--harbor);text-decoration:none}
.rel-card:hover{border-color:var(--cran);color:var(--cran)}
.rel-card svg{color:var(--cran)}
.rel-card--plain{color:var(--ink)}

/* inner pages */
.page-hero{padding:56px 0 44px;border-bottom:1px solid var(--rule)}
.page-hero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;align-items:center}
.page-hero__grid>*{min-width:0}
.page-hero__media{margin:0}
.cards-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{background:var(--sail);border:1px solid var(--rule);border-radius:var(--radius);padding:24px}
.band--white .card{background:var(--sail)}
.card h3{display:flex;align-items:center;gap:8px}
.card h3 svg{color:var(--cran)}
.card p{font-size:1rem}
.area-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.area-cards .card{background:var(--white)}
.sitemap-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.sitemap-cols ul{list-style:none;display:grid;gap:6px;font-size:1rem}

/* tools */
.tool{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.tool>*{min-width:0}
.tool__form,.tool__out{background:var(--white);border-radius:var(--radius);padding:28px;border:1px solid var(--rule)}
.tool__out{border-top:4px solid var(--cran)}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.field label,.checks__h{font-family:var(--head);font-weight:600;color:var(--harbor)}
.field select{max-width:100%;width:100%;padding:11px 12px;font-family:var(--head);font-size:1rem;border:1px solid #9aa3a7;border-radius:4px;background:var(--white);color:var(--ink)}
.checks label{display:flex;gap:10px;align-items:flex-start;font-family:var(--body);font-weight:400;color:var(--ink);font-size:1rem;padding:6px 0}
.checks input{margin-top:6px;width:18px;height:18px;flex:0 0 auto}
.tool__result{font-family:var(--head);font-weight:700;font-size:2.2rem;color:var(--slate);margin:.2em 0}
.tool__note{font-size:1rem;color:var(--muted)}

/* blog */
.post-wrap{max-width:820px}
.post-meta{font-family:var(--head);font-size:.92rem;color:var(--muted)}
.article{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);padding:36px}
.art-fig{margin:0 0 24px}
.art-fig img{width:100%;border-radius:var(--radius)}
.art-lede{font-size:1.16rem}
.takeaways{background:var(--tint);border-radius:var(--radius);padding:22px 26px;margin:24px 0}
.takeaways ul{list-style:none;display:grid;gap:8px}
.takeaways li{display:flex;gap:10px}
.takeaways svg{color:var(--cran);margin-top:6px}
.toc{border-left:4px solid var(--slate);padding:6px 0 6px 20px;margin:24px 0}
.toc__h{font-family:var(--head);font-weight:700;margin-bottom:6px}
.toc ol{padding-left:1.2em;font-size:1rem}
.art-sec{margin-top:32px}
.art-list{padding-left:1.2em;margin-bottom:1em}
.art-call{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--harbor);color:var(--on-dark);border-radius:var(--radius);padding:22px 26px;margin:30px 0}
.art-call p{color:var(--on-dark);margin:0}
.art-call__h{font-family:var(--head);font-weight:700;color:#fff}
.art-faq h3{margin-top:1em}
.related-pages{margin-top:36px}
.post-list{list-style:none;display:grid;gap:18px}
.post-card{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);padding:22px 26px}
.post-card h2{font-size:1.3rem}

/* responsive */
@media (max-width:1100px){
  .nav{display:none}
  .nav-toggle{display:flex}
  .hdr{justify-content:space-between}
  body.is-menu{overflow:hidden}
  body.is-menu .nav{display:flex;position:fixed;inset:0;z-index:200;background:var(--sail);flex-direction:column;align-items:stretch;gap:2px;margin:0;padding:76px 20px 32px;overflow-y:auto}
  body.is-menu .menu-close{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:14px;right:16px;width:46px;height:46px;border:1px solid var(--rule);background:var(--white);border-radius:var(--radius);color:var(--ink);cursor:pointer}
  .menu-close svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
  body.is-menu .nav>a,body.is-menu .drop>a{font-size:1.1rem;padding:13px 8px;border-bottom:1px solid var(--rule);border-radius:0}
  .drop::before{display:none}
  .drop:hover .drop__menu{display:none}
  body.is-menu .drop.is-open .drop__menu{display:block;position:static;box-shadow:none;border:0;max-height:none;min-width:0;padding:4px 0 10px 10px;background:transparent}
  .tide{grid-template-columns:repeat(3,minmax(0,1fr))}
  .attrs--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ed-grid{grid-template-columns:minmax(0,1fr)}
  .rail{position:static}
}
@media (max-width:900px){
  .hero__grid,.svc-hero__grid,.page-hero__grid,.why,.handled,.claim,.cov,.risk,.closer__grid,.foot-top,.spec-rail,.cov-compact,.tool,.reach{grid-template-columns:minmax(0,1fr);gap:32px}
  .hero__copy,.svc-hero__copy,.page-hero__copy{order:0}
  .hero__media,.svc-hero__media,.page-hero__media{order:1}
  .svc-cards,.faq-grid{grid-template-columns:minmax(0,1fr)}
  .cats,.cards-3,.sitemap-cols{grid-template-columns:minmax(0,1fr)}
  .stops{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stops::before{display:none}
  .handled>.eyebrow,.handled>h2,.handled__lead{grid-column:1;grid-row:auto}
  .handled__lead{padding-left:18px}
  .range{grid-template-columns:minmax(0,1fr);gap:12px}
  .why__media{max-width:420px}
}
@media (max-width:760px){
  body{font-size:17px;padding-bottom:64px}
  .wrap{padding-inline:16px}
  .section{padding:52px 0}
  .hero{padding:40px 0 44px}
  .sec-head--split{grid-template-columns:minmax(0,1fr);gap:12px}
  .tide{grid-template-columns:minmax(0,1fr)}
  .tide li{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:10px}
  .tide__n{grid-row:span 2}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .area-cards,.attrs,.attrs--4,.foot-cols,.ataglance{grid-template-columns:minmax(0,1fr)}
  .foot-cols{gap:20px}
  .faq-call,.art-call{flex-direction:column;align-items:flex-start}
  .hdr-phone span{display:none}
  .hdr-phone{padding:12px}
  .brand__tag{display:none}
  .callbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--cran);box-shadow:0 -4px 14px rgba(0,0,0,.18)}
  .callbar a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;color:#fff;font-family:var(--head);font-weight:700;text-decoration:none;font-size:1.05rem}
  .article{padding:22px 18px}
}
@media (max-width:560px){
  .svc-card{grid-template-columns:116px minmax(0,1fr)}
  .svc-card__body{padding:12px 14px}
  .stops{grid-template-columns:minmax(0,1fr)}
  .btn--lg{padding:13px 18px}
  .brand__name{font-size:.98rem}
  .hdr{gap:10px}
  .brand{gap:8px}
  .brand__mark{width:40px;height:40px}
  .hdr-phone{padding:10px}
  .nav-toggle{width:44px;height:44px}
}

/* self-hosted fonts (was Google Fonts; latin) */
@font-face{font-family:'Spectral';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/spectral-italic.woff2?v=ae983716) format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/spectral-400.woff2?v=6ec19007) format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/spectral-600.woff2?v=ccd396b9) format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/work-sans.woff2?v=97b33529) format('woff2')}
