/* Peak Colonia Roofing: "Step flashing". Bone sheet, graphite ink, galvanized zinc; the stair is the one motif. */
@font-face{font-family:"Host Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hg-700.woff2) format("woff2")}
@font-face{font-family:"Host Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hg-500.woff2) format("woff2")}
@font-face{font-family:"Roboto Serif";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/rs-400.woff2) format("woff2")}
@font-face{font-family:"Roboto Serif";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/rs-700.woff2) format("woff2")}

:root{--bone:#f4f2ed;--band:#e9e6de;--card:#fffefb;--hair:#d3cfc4;--ink:#1d2124;--ink2:#4a5259;--zinc:#7a8991;--link:#2a5870;--night:#1a1e21;--pale:#eef0ee;--palelink:#cfe0e8;
--c1:#a64d32;--c2:#3f647d;--c3:#386a50;--c4:#7c6a54;--st:28px;--wrap:1180px;--g:clamp(18px,4vw,40px);
--hd:"Host Grotesk","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--tx:"Roboto Serif",Georgia,"Times New Roman",serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:12px}
body{margin:0;background:var(--bone);color:var(--ink);font:400 17px/1.65 var(--tx);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
figure,h1,h2,h3,p,ul,ol,dl,dd,address{margin:0}
ul,ol{padding:0;list-style:none}
address{font-style:normal}
a{color:var(--link);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a[href^="tel:"]{white-space:nowrap}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.sf-night :focus-visible,.sf-foot :focus-visible,.sf-scope :focus-visible{outline-color:#fff}
.sf-skip{position:absolute;left:-999px;top:8px;z-index:99;background:var(--ink);color:#fff;padding:10px 16px;font:700 15px var(--hd)}
.sf-skip:focus{left:12px}
.sf-wrap{width:min(calc(100% - 2*var(--g)),var(--wrap));margin-inline:auto}
.sf-cut{--u:14px;clip-path:polygon(0 calc(var(--u)*2),var(--u) calc(var(--u)*2),var(--u) var(--u),calc(var(--u)*2) var(--u),calc(var(--u)*2) 0,100% 0,100% 100%,0 100%)}
.sf-cut img{width:100%;height:100%;object-fit:cover}
.c1{--cc:var(--c1)}.c2{--cc:var(--c2)}.c3{--cc:var(--c3)}.c4{--cc:var(--c4)}

/* ---- type */
.sf-h1{font:700 clamp(32px,4.4vw,54px)/1.07 var(--hd);letter-spacing:-.025em;text-wrap:balance}
.sf-h1-long{font-size:clamp(28px,3.2vw,42px);line-height:1.12;letter-spacing:-.02em}
.sf-h2{font:700 clamp(25px,2.5vw,33px)/1.16 var(--hd);letter-spacing:-.015em;margin-bottom:.75em;text-wrap:balance}
.sf-h2::before{content:"";display:block;width:26px;height:16px;margin-bottom:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 16'%3E%3Cpath d='M1 15h8V8h8V1h8' fill='none' stroke='%231d2124' stroke-width='2.4'/%3E%3C/svg%3E") no-repeat}
.sf-h2-inv{color:#fff}.sf-h2-inv::before{filter:invert(1)}
.sf-h2-sm{font-size:clamp(21px,2vw,26px)}
.sf-h2-rd{font-size:clamp(22px,2.1vw,28px)}
.sf-h2-stop{display:block;font-size:clamp(22px,2.3vw,28px);border-left:8px solid var(--ink);padding-left:16px;margin-bottom:18px}
.sf-h2-stop::before{display:none}
.sf-lede{font:400 19px/1.6 var(--tx);color:var(--ink2);max-width:37em;margin-bottom:22px}
.sf-lede-call{font-size:17px}
.sf-prose p+p{margin-top:1em}
.sf-prose{max-width:46em}
.sf-big{font:400 clamp(20px,1.9vw,24px)/1.5 var(--tx);color:var(--ink)}
.sf-fine{font-size:14.5px;line-height:1.55;color:var(--ink2);margin-top:18px;max-width:54em}
.sf-q{font:700 18px/1.32 var(--hd);letter-spacing:-.005em;margin-bottom:8px}
.sf-n{font:700 38px/1 var(--hd);color:var(--zinc);letter-spacing:-.03em}
.sf-k{margin-bottom:12px}

/* ---- buttons */
.sf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 24px;font:700 17px/1.2 var(--hd);letter-spacing:.005em;border:2px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;white-space:nowrap;cursor:pointer}
a.sf-btn-call,a.sf-btn-call:visited{background:var(--ink);border-color:var(--ink);color:#fff;clip-path:polygon(0 9px,9px 9px,9px 0,100% 0,100% 100%,0 100%)}
a.sf-btn-call:hover,a.sf-btn-call:focus-visible{background:#000;border-color:#000;color:#fff;text-decoration:none}
.sf-btn-lg{min-height:56px;padding:13px 30px;font-size:19px}
a.sf-btn-ghost,a.sf-btn-ghost:visited{color:var(--ink)}
a.sf-btn-ghost:hover{background:var(--ink);color:#fff;text-decoration:none}
.sf-night a.sf-btn-call,.sf-night a.sf-btn-call:visited{background:#fff;border-color:#fff;color:var(--ink)}
.sf-night a.sf-btn-call:hover{background:var(--band);border-color:var(--band);color:var(--ink)}
.sf-textlink,.sf-hero-guide a{font:700 16px/1.3 var(--hd);color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.sf-textlink{display:inline-flex;align-items:center;min-height:44px}
.sf-hero-guide a{display:inline-block;padding:8px 0}

/* ---- masthead */
.sf-top{position:relative;z-index:20;background:var(--bone)}
.sf-top1{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:22px 0 20px}
.sf-addr{display:flex;flex-direction:column;font:500 13px/1.55 var(--hd);letter-spacing:.04em;color:var(--ink2)}
.sf-brand{display:inline-flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none}
.sf-mk{width:50px;height:50px;flex:none;color:var(--ink)}
.sf-brand-n{display:block;font:700 24px/1.05 var(--hd);letter-spacing:-.02em}
.sf-brand-s{display:block;margin-top:5px;font:500 11.5px/1.3 var(--hd);letter-spacing:.15em;text-transform:uppercase;color:var(--ink2)}
.sf-top-r{justify-self:end;display:flex;gap:12px;align-items:center}
.sf-top-call{min-height:46px;padding:9px 20px;font-size:16px}
.sf-menubtn{display:none;align-items:center;gap:10px;min-height:46px;padding:0 16px;border:2px solid var(--ink);font:700 15px var(--hd);color:var(--ink);text-decoration:none}
.sf-steps{display:block;width:20px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 14'%3E%3Cpath d='M0 14h20v-4h-6V5H7V0H0z' fill='%231d2124'/%3E%3C/svg%3E") no-repeat}
.sf-nav{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.sf-nav ul{display:flex;justify-content:center;gap:clamp(20px,3vw,46px)}
.sf-nav a{position:relative;display:block;padding:15px 0 17px;font:500 15.5px/1 var(--hd);letter-spacing:.01em;color:var(--ink);text-decoration:none;white-space:nowrap}
.sf-nav a:hover{text-decoration:underline;text-underline-offset:6px}
.sf-nav a[aria-current=page]{font-weight:700}
.sf-nav a[aria-current=page]::after{content:"";position:absolute;left:0;bottom:-1px;width:26px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 12'%3E%3Cpath d='M0 12V8h9V4h9V0h8v12z' fill='%231d2124'/%3E%3C/svg%3E") no-repeat}

/* ---- hero */
.sf-hero{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);min-height:600px}
.sf-hero-copy{align-self:center;padding:56px clamp(28px,4vw,60px) 60px max(var(--g),calc((100vw - var(--wrap))/2))}
.sf-h1-hero{margin-bottom:24px}
.sf-h1a{display:block}
.sf-h1b{display:block;max-width:17em;margin-top:14px;font-size:.54em;font-weight:500;line-height:1.22;letter-spacing:-.012em;color:var(--ink2)}
.sf-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-bottom:18px}
.sf-hero-guide{margin-bottom:6px}
.sf-hero-box{margin-top:30px;padding-top:14px;border-top:2px solid var(--ink);display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 30px;font:500 14px/1.5 var(--hd)}
.sf-hero-addr{letter-spacing:.02em;color:var(--ink2)}
.sf-hero-towns{display:flex;flex-wrap:wrap;gap:4px 22px}
.sf-hero-towns a{display:inline-block;padding:3px 0;font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.sf-hero-art{position:relative;min-height:420px}
.sf-hero-photo{position:absolute;inset:0;clip-path:polygon(calc(var(--st)*2) 0,100% 0,100% 100%,0 100%,0 67%,var(--st) 67%,var(--st) 34%,calc(var(--st)*2) 34%)}
.sf-hero-photo img{width:100%;height:100%;object-fit:cover}
.sf-flash{position:absolute;left:0;top:0;width:calc(var(--st)*2);height:100%;overflow:visible;pointer-events:none}
.sf-scope{background:var(--ink);color:var(--pale)}
.sf-scope ul{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 26px;padding:17px 0;font:500 14.5px/1.3 var(--hd);letter-spacing:.04em}
.sf-scope li{display:flex;align-items:center;gap:11px}
.sf-scope li::before{content:"";flex:none;width:16px;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M0 10V7h6V4h5V0h5v10z' fill='%23cfe0e8'/%3E%3C/svg%3E") no-repeat}

/* ---- sections */
.sf-sec{padding:clamp(52px,7vw,96px) 0}
.sf-sec-tight{padding:clamp(26px,4vw,46px) 0}
.sf-blk{padding:clamp(42px,5.5vw,76px) 0}
.sf-band{background:var(--band)}
.sf-night{background:var(--night);color:var(--pale)}
.sf-night p{color:#dde3e1}
.sf-night a:not(.sf-btn){color:var(--palelink);text-decoration:underline}
.sf-night a[href^="tel:"]:not(.sf-btn){color:#fff;font-weight:700}
.sf-stairtop{position:relative}
.sf-stairtop::before,.sf-foot::before{content:"";position:absolute;left:0;right:0;top:calc(var(--st)*-1);height:var(--st);background:inherit;clip-path:polygon(0 100%,0 66%,63% 66%,63% 33%,81% 33%,81% 0,100% 0,100% 100%)}
.sf-night-grid{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:center;padding:clamp(54px,7vw,92px) 0}
.sf-night-copy{max-width:40em}
.sf-night-copy p+p{margin-top:1em}
.sf-night-cta{margin-top:26px}
.sf-night-pic img{aspect-ratio:4/3}

/* ---- quick answers (home) */
.sf-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:start}
.sf-quick-grid li{background:var(--card);border:1px solid var(--hair);border-top:3px solid var(--ink);padding:22px 22px 26px}
.sf-quick-grid li:nth-child(2){margin-top:20px}.sf-quick-grid li:nth-child(3){margin-top:40px}.sf-quick-grid li:nth-child(4){margin-top:60px}
.sf-quick-grid p:not(.sf-q){font-size:16px;line-height:1.62;color:var(--ink2)}

/* ---- guides teaser (home) */
.sf-gt-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px 44px}
.sf-gt-grid li{display:grid;grid-template-columns:40% 1fr;gap:22px;align-items:center}
.sf-gt-pic img{aspect-ratio:4/3}
.sf-gt-t{font:700 20px/1.25 var(--hd);margin-bottom:6px}
.sf-gt-t a{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.sf-gt-b p:not(.sf-gt-t){font-size:16px;line-height:1.6;color:var(--ink2)}

/* ---- season panels (home) */
.sf-season-top{display:grid;grid-template-columns:1fr minmax(280px,430px);gap:40px;align-items:end;margin-bottom:26px}
.sf-season-top .sf-h2{margin-bottom:0}
.sf-strip{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;height:92px;align-items:end;margin-bottom:22px}
.sf-strip i{position:relative;display:block;height:var(--h);background:var(--c)}
.sf-strip b{position:absolute;left:0;right:0;bottom:-20px;text-align:center;font:500 11px/1 var(--hd);color:var(--ink2)}
.sf-sp{background:var(--card);border:1px solid var(--hair);margin-bottom:12px}
.sf-sp summary{display:grid;grid-template-columns:auto 1fr auto 28px;align-items:center;gap:18px;min-height:66px;padding:12px 22px;cursor:pointer;list-style:none}
.sf-sp-mini{display:flex;align-items:flex-end;gap:3px;width:42px;height:32px}
.sf-sp-mini i{flex:1;height:var(--h);background:var(--c)}
.sf-sp-n{font:700 21px/1.2 var(--hd);letter-spacing:-.01em}
.sf-sp-r{font:500 14.5px/1.3 var(--hd);color:var(--ink2)}
.sf-sp .sf-tw{padding:0 22px 14px}
details>summary{list-style:none}
details>summary::-webkit-details-marker{display:none}
.sf-sp summary::after,.sf-fq summary::after,.sf-notes summary::after{content:"+";justify-self:end;font:500 26px/1 var(--hd);color:var(--ink)}
details[open]>summary::after{content:"\2212"}

/* ---- tables */
.sf-tbl{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5}
.sf-tbl th,.sf-tbl td{padding:12px 16px 12px 0;text-align:left;vertical-align:top;border-top:1px solid var(--hair)}
.sf-tbl thead th{border-top:0;border-bottom:2px solid var(--ink);font:700 12.5px/1.3 var(--hd);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.sf-tbl tbody th{font:700 16px/1.4 var(--hd)}
.sf-tbl-w{table-layout:fixed}
.sf-tbl-w th:nth-child(1){width:84px}.sf-tbl-w th:nth-child(2){width:150px}.sf-tbl-w th:nth-child(3){width:170px}.sf-tbl-w th:nth-child(4){width:90px}
.sf-sp:not(:first-of-type) .sf-tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sf-sp:not(:first-of-type) .sf-tbl tbody tr:first-child>*{border-top:0}
.sf-tbl-off,.sf-tbl-homes{background:var(--card)}
.sf-tbl-off th,.sf-tbl-off td,.sf-tbl-homes th,.sf-tbl-homes td{padding-left:16px}

/* ---- towns list (home) */
.sf-towns-grid{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:start}
.sf-towns-pic img{aspect-ratio:4/3}
.sf-tn-list li{display:grid;grid-template-columns:150px 1fr;gap:4px 26px;padding:20px 0;border-top:2px solid var(--ink)}
.sf-tn-list li:last-child{border-bottom:1px solid var(--hair)}
.sf-tn-n{grid-row:1 / span 2;font:700 30px/1.1 var(--hd);letter-spacing:-.02em}
.sf-tn-t{font:700 18px/1.3 var(--hd)}
.sf-tn-t a{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.sf-tn-list p:not(.sf-tn-t){font-size:16px;line-height:1.6;color:var(--ink2)}

/* ---- pairs: stepped diptychs */
.sf-pairs{display:grid;grid-template-columns:1fr 1fr;gap:34px 52px;padding-top:34px}
.sf-pair{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;align-items:start}
.sf-pair>li:nth-child(2){margin-top:40px}
.sf-pc{position:relative;background:var(--card);border:1px solid var(--hair);border-bottom:4px solid var(--cc);padding-bottom:16px}
.sf-pc>.sf-tab{position:absolute;left:-1px;bottom:100%;margin-bottom:1px}
.sf-tab{display:inline-block;background:var(--cc);color:#fff;font:700 12px/1 var(--hd);letter-spacing:.1em;text-transform:uppercase;padding:9px 13px 8px}
.sf-pc-pic img{aspect-ratio:4/3}
.sf-sign{padding:16px 16px 0;font-size:16px;line-height:1.55}
.sf-go{padding:10px 16px 0;font:700 15.5px/1.3 var(--hd)}
.sf-go a{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;display:inline-block;padding:3px 0}
.sf-pairs-hub{grid-template-columns:1fr;gap:44px;padding-top:30px}
.sf-pair-big{gap:0 36px}
.sf-pair-big .sf-pc-t{padding:18px 18px 0;font:700 24px/1.2 var(--hd);letter-spacing:-.015em}
.sf-pair-big .sf-pc-t a{color:var(--ink);text-decoration:none}
.sf-pair-big .sf-pc-t a:hover{text-decoration:underline}
.sf-pc-e{padding:6px 18px 0;font:500 13px/1.4 var(--hd);letter-spacing:.04em;text-transform:uppercase;color:var(--ink2)}
.sf-pair-big .sf-sign{padding:12px 18px 0}

/* ---- faq */
.sf-faq-grid{display:grid;grid-template-columns:4fr 8fr;gap:56px}
.sf-fq{border-top:2px solid var(--ink)}
.sf-fq:last-child{border-bottom:1px solid var(--ink)}
.sf-fq summary{display:grid;grid-template-columns:1fr 28px;gap:16px;align-items:center;min-height:64px;padding:16px 0;cursor:pointer;font:700 19px/1.35 var(--hd);letter-spacing:-.005em}
.sf-fq-a{padding:0 0 22px;max-width:44em}

/* ---- notes (sources) */
.sf-notes{border-top:1px solid var(--ink);padding-top:6px}
.sf-notes summary{display:grid;grid-template-columns:1fr 28px;align-items:center;min-height:48px;cursor:pointer;font:700 13px/1.3 var(--hd);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.sf-notes ol{counter-reset:n;column-count:2;column-gap:44px;padding-bottom:6px}
.sf-notes li{counter-increment:n;break-inside:avoid;position:relative;padding:5px 0 5px 28px;font:400 14.5px/1.45 var(--tx)}
.sf-notes li::before{content:counter(n);position:absolute;left:0;top:5px;font:700 12.5px/1.6 var(--hd);color:var(--zinc)}
.sf-notes a{overflow-wrap:anywhere}
.sf-notes-d{margin-top:6px;font:500 12.5px/1.4 var(--hd);letter-spacing:.04em;color:var(--ink2)}
.sf-notes-side ol{column-count:1}

/* ---- homes (home) */
.sf-homes-split{display:grid;grid-template-columns:7fr 5fr;gap:48px;margin-top:40px;align-items:start}
.sf-homes-pic img{aspect-ratio:4/3}

/* ---- inner banner */
.sf-ban{background:var(--band);border-bottom:1px solid var(--hair)}
.sf-ban-grid{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:center;padding:30px 0 56px}
.sf-ban-pic img{aspect-ratio:4/3}
.sf-ban-plain .sf-wrap{padding:30px 0 50px}
.sf-ban-plain .sf-ban-copy{max-width:780px}
.sf-ban-cta{margin-top:26px}
.sf-crumbs{margin-bottom:26px}
.sf-crumbs ol{display:flex;flex-wrap:wrap;gap:0 10px;font:500 13.5px/1.4 var(--hd);color:var(--ink2)}
.sf-crumbs li+li::before{content:"/";margin-right:10px;color:var(--zinc)}
.sf-crumbs a{display:inline-block;padding:5px 0;color:var(--ink2)}
.sf-eye{display:flex;align-items:center;gap:12px;margin-bottom:14px;font:700 13px/1.35 var(--hd);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.sf-ban .sf-h1{margin-bottom:18px}
.sf-upd{font:500 13px var(--hd);letter-spacing:.04em;color:var(--ink2)}

/* ---- service blocks */
.sf-stopw{padding:clamp(34px,5vw,56px) 0 0}
.sf-stop{background:var(--card);border:3px solid var(--ink);padding:28px 34px 12px}
.sf-stop ul{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
.sf-stop li{padding:14px 0 16px;border-top:1px solid var(--hair);font-size:16px;line-height:1.6}
.sf-stop li:nth-child(-n+2){border-top:0}
.sf-stop b{display:block;font:700 17px/1.35 var(--hd);margin-bottom:3px}
.sf-ask-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}
.sf-ask-grid li{display:grid;grid-template-columns:54px 1fr;gap:0 14px;background:var(--card);border:1px solid var(--hair);padding:22px 24px 24px}
.sf-ask-grid .sf-n{grid-row:1 / span 2}
.sf-ask-grid p:not(.sf-q){font-size:16px;line-height:1.62;color:var(--ink2)}
.sf-split{display:grid;grid-template-columns:4fr 8fr;gap:48px}
.sf-signs-grid{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:center}
.sf-signs-art{padding:12px}
.sf-flash-dr{display:block;width:100%;max-width:440px;height:auto;margin-inline:auto}
.sf-rule-list li{position:relative;padding:15px 0 15px 36px;border-top:1px solid var(--hair);font-size:17px}
.sf-rule-list li:last-child{border-bottom:1px solid var(--hair)}
.sf-rule-list li::before{content:"";position:absolute;left:0;top:21px;width:20px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Cpath d='M0 12V8h7V4h6V0h7v12z' fill='%237a8991'/%3E%3C/svg%3E") no-repeat}
.sf-expl-grid{display:grid;grid-template-columns:5fr 7fr;gap:52px;align-items:center}
.sf-expl-pic img{aspect-ratio:4/3}
.sf-visit-grid{display:grid;grid-template-columns:4fr 8fr;gap:48px;align-items:start}
.sf-visit-cta{margin-top:6px}
.sf-visit-list li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--hair)}
.sf-visit-list li:last-child{border-bottom:1px solid var(--hair)}
.sf-dl{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.sf-dl div{padding:16px 0 20px;border-top:2px solid var(--ink)}
.sf-dl dt{font:700 20px/1.25 var(--hd);letter-spacing:-.01em;margin-bottom:4px}
.sf-dl dd{font-size:16px;line-height:1.62;color:var(--ink2)}
.sf-checks-grid{display:grid;grid-template-columns:7fr 5fr;gap:52px;align-items:start}
.sf-box-list li{position:relative;padding:14px 0 14px 46px;border-top:1px solid var(--hair)}
.sf-box-list li:last-child{border-bottom:1px solid var(--hair)}
.sf-box-list li::before{content:"";position:absolute;left:0;top:17px;width:24px;height:24px;border:2px solid var(--ink);background:var(--card)}
.sf-box-2{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
.sf-box-2 li:nth-last-child(2){border-bottom:1px solid var(--hair)}
.sf-safe{background:var(--card);border:3px solid var(--ink);padding:24px 26px;font-size:16.5px;line-height:1.6;margin-top:6px}
.sf-rp{border-left:5px solid var(--zinc);padding:4px 0 4px 28px;max-width:60em}
.sf-rules-ptr{padding-bottom:clamp(28px,4vw,48px)}
.sf-next{padding:0 0 clamp(36px,5vw,60px)}
.sf-next-a{display:grid;grid-template-columns:210px 1fr;gap:28px;align-items:center;padding:18px;background:var(--card);border:1px solid var(--hair);border-bottom:4px solid var(--cc);color:var(--ink);text-decoration:none}
.sf-next-a:hover strong{text-decoration:underline}
.sf-next-a img{aspect-ratio:4/3}
.sf-next-t{display:block}
.sf-next-k{display:block;margin-bottom:12px}
.sf-next-t strong{display:block;font:700 24px/1.2 var(--hd);letter-spacing:-.015em}
.sf-next-t em{display:block;margin-top:6px;font:500 14px/1.4 var(--hd);letter-spacing:.03em;color:var(--ink2);font-style:normal}

/* ---- towns */
.sf-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:start}
.sf-tiles li{margin-top:calc(var(--i)*38px)}
.sf-tiles a{display:block;height:100%;background:var(--card);border:1px solid var(--hair);border-bottom:4px solid var(--ink);padding-bottom:20px;color:var(--ink);text-decoration:none}
.sf-tiles img{aspect-ratio:4/3}
.sf-tile-t{display:block;padding:18px 20px 0;font:700 28px/1.1 var(--hd);letter-spacing:-.02em}
.sf-tile-h{display:block;padding:8px 20px 0;font-size:15.5px;line-height:1.55;color:var(--ink2)}
.sf-tile-go{display:inline-block;margin:14px 20px 0;font:700 15.5px var(--hd);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.sf-addr-line{margin-top:44px;padding-top:16px;border-top:1px solid var(--hair);display:flex;flex-wrap:wrap;gap:6px 22px;font:500 15px/1.5 var(--hd)}
.sf-mapb-grid{display:grid;grid-template-columns:7fr 5fr;gap:52px;align-items:start}
.sf-nbr{border:3px solid var(--ink);background:var(--card);padding:24px 26px}
.sf-nbr-k{font:700 12.5px/1.3 var(--hd);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);margin-bottom:10px}
.sf-nbr address{font:700 19px/1.4 var(--hd);margin-bottom:14px}
.sf-maplink{font:700 16px/1.3 var(--hd);color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;display:inline-block;padding:4px 0}
.sf-rule-prose li{padding-left:36px;font-size:16.5px;line-height:1.65}
.sf-fig-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:end}
.sf-fig-row li{min-height:calc(120px + var(--i)*24px);background:var(--card);border:1px solid var(--hair);border-top:3px solid var(--ink);padding:16px 18px 20px}
.sf-fig-k{display:block;margin-bottom:8px;font:700 13px/1.3 var(--hd);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.sf-fig-row p{font-size:15.5px;line-height:1.55}
.sf-water-grid{grid-template-columns:7fr 5fr}
.sf-more{background:var(--card);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.sf-more ul{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 34px;padding:10px 0}
.sf-more a{display:inline-block;padding:11px 2px;font:700 16px/1.3 var(--hd);color:var(--ink);text-underline-offset:5px}

/* ---- guides */
.sf-gh-list li{display:grid;grid-template-columns:4fr 8fr;gap:44px;align-items:center;padding:34px 0;border-top:2px solid var(--ink)}
.sf-gh-list li:last-child{border-bottom:1px solid var(--hair)}
.sf-gh-pic img{aspect-ratio:4/3}
.sf-gh-k{font:700 15px/1 var(--hd);letter-spacing:.08em;color:var(--zinc);margin-bottom:10px}
.sf-gh-t{font:700 clamp(22px,2.2vw,29px)/1.2 var(--hd);letter-spacing:-.015em;margin-bottom:10px}
.sf-gh-t a{color:var(--ink);text-decoration:none}
.sf-gh-t a:hover{text-decoration:underline}
.sf-gh-list p:not(.sf-gh-t):not(.sf-gh-k){margin-bottom:16px;color:var(--ink2)}
.sf-read{padding-block:clamp(10px,2vw,24px)}
.sf-rd{display:grid;grid-template-columns:4fr 8fr;gap:48px;padding:38px 0;border-top:1px solid var(--hair)}
.sf-rd .sf-h2{margin-bottom:0}
.sf-rd-end .sf-prose p:last-child{margin-top:1.4em}
.sf-gx{padding:clamp(40px,5.5vw,72px) 0}
.sf-stairs li{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:baseline;margin-left:calc(var(--i)*clamp(8px,2vw,26px));padding:12px 0;border-top:1px solid var(--hair)}
.sf-stairs .sf-n{font-size:30px}
.sf-moreg ul{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:clamp(34px,5vw,60px) 0 10px}
.sf-moreg a{display:block;color:var(--ink);text-decoration:none;font:700 19px/1.3 var(--hd)}
.sf-moreg img{aspect-ratio:16/9;margin-bottom:12px}
.sf-moreg span{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}

/* ---- rules + seasonal clauses */
.sf-clauses{padding-block:14px 20px}
.sf-cl{display:grid;grid-template-columns:70px minmax(0,1fr) 300px;gap:0 36px;padding:40px 0;border-top:1px solid var(--hair)}
.sf-cl-n{font:700 46px/1 var(--hd);letter-spacing:-.03em;color:var(--zinc)}
.sf-cl .sf-h2{font-size:clamp(22px,2.2vw,28px)}
.sf-notes-side{align-self:start;font-size:14.5px}
.sf-offices .sf-notes{margin-top:30px}
.sf-clauses-steps .sf-cl{margin-left:calc(var(--i)*2.6%)}

/* ---- contact, privacy, 404 */
.sf-contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:44px;align-items:stretch}
.sf-contact-card{border:3px solid var(--ink);background:var(--card);padding:28px 30px 20px}
.sf-addr-big{font:500 20px/1.5 var(--hd);margin-bottom:20px}
.sf-addr-big strong{font-weight:700;font-size:24px;letter-spacing:-.015em}
.sf-phone{margin-bottom:12px}
.sf-flash-sm{max-width:250px;margin:22px 0 0}
.sf-map iframe{display:block;width:100%;height:100%;min-height:420px;border:3px solid var(--ink);background:var(--band)}
.sf-contact-lists{display:grid;grid-template-columns:1fr 1.4fr 1.2fr;gap:44px;margin-top:56px}
.sf-plain li{border-top:1px solid var(--hair)}
.sf-plain a{display:block;padding:11px 0;font:700 16.5px/1.3 var(--hd);color:var(--ink);text-underline-offset:5px}
.sf-plain-2{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.sf-contact-lists p:not(.sf-foot-h){font-size:16px;line-height:1.6;color:var(--ink2)}
.sf-pv-wrap{max-width:860px}
.sf-pv{padding:28px 0;border-top:1px solid var(--hair)}
.sf-pv .sf-h2{margin-bottom:.5em}
.sf-lost{padding:clamp(40px,6vw,84px) 0}
.sf-lost-grid{display:grid;grid-template-columns:6fr 5fr;gap:56px;align-items:center}
.sf-lost-links{display:flex;flex-wrap:wrap;gap:4px 22px;margin:0 0 26px}
.sf-lost-links a{display:inline-block;padding:9px 0;font:700 16px var(--hd);color:var(--ink)}
.sf-flash-lg{max-width:460px}

/* ---- footer */
.sf-foot{position:relative;background:var(--night);color:#d9dfdd;padding:62px 0 30px;font-size:16px}
.sf-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:44px}
.sf-foot .sf-brand,.sf-foot .sf-mk{color:#fff}
.sf-brand-foot{margin-bottom:22px}
.sf-foot a{color:var(--palelink);text-underline-offset:4px}
.sf-foot a[href^="tel:"]{color:#fff;font-weight:700}
.sf-foot-h{font:700 12.5px/1.3 var(--hd);letter-spacing:.12em;text-transform:uppercase;color:#aab6bb;margin-bottom:12px}
.sf-foot address{line-height:1.6;margin-bottom:10px}
.sf-foot-call{margin-top:12px}
.sf-foot-col li a{display:inline-block;padding:5px 0;font-size:15.5px}
.sf-foot-base{display:flex;flex-wrap:wrap;gap:6px 28px;margin-top:44px;padding-top:20px;border-top:1px solid #3a4247;font:500 14px/1.5 var(--hd);color:#b7c1c5}
.sf-foot-base a{display:inline-block;padding:4px 0}

/* ---- phone call bar */
.sf-callbar{display:none}

/* ---- responsive */
@media(max-width:1099px){
.sf-top1{grid-template-columns:1fr auto;padding:14px 0}
.sf-addr{display:none}
.sf-mk{width:42px;height:42px}
.sf-brand-n{font-size:20px}
.sf-brand-s{font-size:10.5px;margin-top:3px}
.sf-menubtn{display:inline-flex}
.sf-nav{display:none;border-top:2px solid var(--ink);background:var(--bone)}
.sf-nav.is-open,.sf-nav:target{display:block}
.sf-nav ul{flex-direction:column;gap:0}
.sf-nav a{padding:15px 2px;font-size:17px;border-bottom:1px solid var(--hair)}
.sf-nav a[aria-current=page]::after{bottom:0}
}
@media(max-width:1000px){
.sf-quick-grid{grid-template-columns:1fr 1fr}
.sf-quick-grid li:nth-child(n){margin-top:0}
.sf-quick-grid li:nth-child(even){margin-top:20px}
.sf-fig-row{grid-template-columns:repeat(3,1fr)}
.sf-fig-row li{min-height:0}
.sf-foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:899px){
body{padding-bottom:84px}
.sf-top-call{display:none}
.sf-hero{grid-template-columns:1fr;min-height:0}
.sf-hero-copy{padding:36px var(--g) 36px}
.sf-hero-art{min-height:0;aspect-ratio:4/3}
.sf-hero-photo{clip-path:polygon(calc(var(--st)*1.2) 0,100% 0,100% 100%,0 100%,0 62%,calc(var(--st)*.6) 62%,calc(var(--st)*.6) 31%,calc(var(--st)*1.2) 31%)}
.sf-flash{width:calc(var(--st)*1.2)}
.sf-night-grid,.sf-towns-grid,.sf-faq-grid,.sf-split,.sf-signs-grid,.sf-expl-grid,.sf-visit-grid,.sf-checks-grid,.sf-mapb-grid,.sf-homes-split,.sf-contact-grid,.sf-lost-grid,.sf-gh-list li,.sf-rd,.sf-water-grid,.sf-season-top{grid-template-columns:1fr;gap:26px}
.sf-ban-grid{grid-template-columns:1fr;gap:28px;padding:22px 0 40px}
.sf-ban-pic{order:-1;margin-inline:-0px}
.sf-ban-pic img{aspect-ratio:16/10}
.sf-night-pic{order:-1}
.sf-night-pic img{aspect-ratio:16/10}
.sf-towns-head{display:grid;gap:22px}
.sf-gt-grid{grid-template-columns:1fr;gap:22px}
.sf-ask-grid,.sf-stop ul,.sf-dl,.sf-box-2{grid-template-columns:1fr}
.sf-stop li:nth-child(2){border-top:1px solid var(--hair)}
.sf-tiles{grid-template-columns:1fr;gap:26px}
.sf-tiles li{margin-top:0}
.sf-cl{grid-template-columns:48px minmax(0,1fr);gap:0 18px;padding:30px 0}
.sf-cl .sf-notes-side{grid-column:2;margin-top:18px}
.sf-cl-n{font-size:34px}
.sf-clauses-steps .sf-cl{margin-left:0}
.sf-stairs li{margin-left:0}
.sf-moreg ul{grid-template-columns:1fr 1fr}
.sf-contact-lists{grid-template-columns:1fr;gap:30px}
.sf-map iframe{min-height:340px}
.sf-callbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--night);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:3px solid #fff}
.sf-callbar-a{display:flex;width:100%;min-height:54px;font-size:19px}
a.sf-callbar-a,a.sf-callbar-a:visited{background:#fff;border-color:#fff;color:var(--ink)}
.sf-notes ol{column-count:1}
}
@media(max-width:760px){
.sf-tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sf-tbl,.sf-tbl tbody,.sf-tbl tr,.sf-tbl th,.sf-tbl td{display:block}
.sf-tbl tr{padding:14px 16px;border-top:1px solid var(--hair);background:var(--card)}
.sf-sp .sf-tbl tr{background:transparent}
.sf-tbl th,.sf-tbl td{border:0;padding:0}
.sf-tbl tbody th{margin-bottom:4px;font-size:17px}
.sf-tbl td{display:grid;grid-template-columns:40% 1fr;gap:10px;padding:3px 0;font-size:15px}
.sf-tbl td::before{content:attr(data-l);font:700 11.5px/1.7 var(--hd);letter-spacing:.07em;text-transform:uppercase;color:var(--ink2)}
.sf-tbl-off,.sf-tbl-homes{background:transparent}
.sf-tbl-off th,.sf-tbl-off td,.sf-tbl-homes th,.sf-tbl-homes td{padding-left:0}
.sf-sp .sf-tw{padding:0 6px 10px}
.sf-sp summary{grid-template-columns:auto 1fr 28px;gap:14px;padding:10px 16px}
.sf-sp-r{grid-column:2;grid-row:2}
.sf-sp-n{grid-column:2}
.sf-sp-mini{grid-row:1 / span 2}
.sf-sp summary::after{grid-column:3;grid-row:1 / span 2}
}
@media(max-width:640px){
body{font-size:16.5px}
.sf-lede{font-size:17.5px}
.sf-sec{padding:34px 0}
.sf-blk{padding:34px 0}
.sf-hero-copy{padding:28px var(--g) 32px}
.sf-h1-hero{margin-bottom:18px}
.sf-hero-box{margin-top:24px}
.sf-scope ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:16px 0;font-size:13.5px}
.sf-quick-grid{grid-template-columns:1fr;gap:12px}
.sf-quick-grid li:nth-child(n){margin-top:0}
.sf-quick-grid li{padding:16px 18px 18px}
.sf-tn-list li{grid-template-columns:1fr;gap:4px;padding:14px 0}
.sf-tn-n{display:none}
.sf-towns-pic img{aspect-ratio:16/8}
.sf-homes-pic{display:none}
.sf-homes-split{margin-top:24px}
.sf-quick-grid p:not(.sf-q){font-size:15.5px;line-height:1.55}
.sf-pairs{grid-template-columns:1fr;gap:0;padding-top:4px}
.sf-pair{grid-template-columns:1fr;gap:8px;margin-bottom:10px}
.sf-pair>li:nth-child(2){margin-top:0}
.sf-pc{display:grid;grid-template-columns:84px 1fr;gap:0 12px;align-items:start;padding:9px 10px 9px 9px}
.sf-pc>.sf-tab{position:absolute;left:9px;top:9px;bottom:auto;margin:0;z-index:2;font-size:9.5px;padding:4px 6px 3px}
.sf-pc-pic{grid-row:1 / span 4}
.sf-pc-pic img{aspect-ratio:4/3}
.sf-pc-b{grid-column:2;font-size:14px;line-height:1.4}
.sf-pc-b .sf-sign,.sf-pc-b .sf-go{display:inline;padding:0;font-size:14px;line-height:1.4}
.sf-pc-b .sf-go::before{content:"\2013\00a0"}
.sf-sign,.sf-go{grid-column:2;padding:0}
.sf-sign{font-size:15px;line-height:1.45}
.sf-go{font-size:15px}
.sf-pair-big .sf-pc-t,.sf-pair-big .sf-pc-e,.sf-pair-big .sf-sign{padding:0;grid-column:2}
.sf-pair-big .sf-pc-t{font-size:19px}
.sf-pc-e{display:none}
.sf-pc .sf-cut{--u:8px}
.sf-fq summary{font-size:17px;min-height:60px}
.sf-fig-row{grid-template-columns:1fr 1fr}
.sf-next-a{grid-template-columns:96px 1fr;gap:14px;padding:12px}
.sf-next-t strong{font-size:19px}
.sf-next-k{margin-bottom:8px}
.sf-next-t em{display:none}
.sf-stop{padding:20px 18px 6px}
.sf-visit-list li{grid-template-columns:36px 1fr;gap:10px}
.sf-n{font-size:30px}
.sf-ask-grid li{grid-template-columns:40px 1fr;padding:16px 16px 18px}
.sf-foot-grid{grid-template-columns:1fr;gap:28px}
.sf-foot{padding:48px 0 24px}
.sf-moreg ul{grid-template-columns:1fr;gap:20px}
.sf-box-2{grid-template-columns:1fr}
.sf-plain-2{grid-template-columns:1fr}
.sf-gt-grid li{grid-template-columns:104px 1fr;gap:14px;align-items:start}
.sf-gt-t{font-size:18px}
.sf-gt-b p:not(.sf-gt-t){font-size:15px;line-height:1.5}
.sf-gt .sf-cut{--u:8px}
.sf-hero-cta{gap:14px 22px}
.sf-btn-lg{width:100%}
.sf-hero-cta .sf-btn-lg,.sf-ban-cta .sf-btn-lg,.sf-night-cta .sf-btn-lg{width:100%}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
