@font-face{font-family:Marcellus;src:url(fonts/marcellus-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Figtree;src:url(fonts/figtree-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Figtree;src:url(fonts/figtree-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Figtree;src:url(fonts/figtree-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
--ground:#f1f1ee;--white:#fff;--mortar:#e4e2dc;--ink:#1d2731;--ink2:#4b5560;--line:#cdcac1;
--brick:#9a3a29;--brick-d:#7d2d20;--night:#431a15;--lintel:#ece7dc;--blush:#f3cfc4;
--serif:Marcellus,Georgia,"Times New Roman",serif;
--sans:Figtree,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
--hh:60px;--gut:16px;
--c-red:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='22'%3E%3Crect width='11' height='22' fill='%238e3323'/%3E%3Crect x='14' width='11' height='22' fill='%23a2432f'/%3E%3Crect x='28' width='11' height='22' fill='%23853020'/%3E%3Crect x='42' width='11' height='22' fill='%23b04a35'/%3E%3C/svg%3E");
--c-pale:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='22'%3E%3Crect width='11' height='22' fill='%23ece7dc'/%3E%3Crect x='14' width='11' height='22' fill='%23e1dacb'/%3E%3Crect x='28' width='11' height='22' fill='%23f4f0e7'/%3E%3Crect x='42' width='11' height='22' fill='%23d8d0be'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--ground);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);font-synthesis:none;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));overflow-wrap:break-word}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0;text-wrap:balance}
h1{font-size:clamp(2rem,8.6vw,3.9rem)}
h2{font-size:clamp(1.7rem,5.6vw,2.55rem)}
h3{font-size:clamp(1.28rem,3.2vw,1.55rem);line-height:1.2}
p{margin:0 0 1em}
b,strong{font-weight:600}
a{color:var(--brick);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--brick-d);text-decoration-thickness:2px}
p a,.sd-cap a{padding:3px 0}
.sd-src li a{display:inline-block;padding:3px 0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.sd-red :focus-visible,.sd-foot :focus-visible,.sd-bar :focus-visible,.sd-panel :focus-visible{outline-color:#fff}
.sd-skip{position:absolute;left:-999px;top:8px;z-index:99;background:var(--ink);color:#fff;padding:10px 16px}
.sd-skip:focus{left:8px}
.sd-w{width:calc(100% - 2*var(--gut));max-width:1160px;margin-inline:auto}
.sd-narrow{max-width:62ch}

/* the soldier course */
.sd-course{height:18px;background:var(--c-red) repeat-x 0 0/56px 100%}
.sd-course.sd-pale{background-image:var(--c-pale)}
.sd-hd{display:block}
.sd-hd::before{content:"";display:block;width:53px;height:16px;margin-bottom:16px;background:var(--c-red) 0 0/56px 100%}
.sd-red .sd-hd::before,.sd-foot .sd-hd::before{background-image:var(--c-pale)}
.sd-kick{font:600 .95rem/1.3 var(--sans);color:var(--brick);margin:0 0 14px}
.sd-red .sd-kick{color:var(--blush)}
.sd-lede{font-size:1.18rem;line-height:1.55;color:var(--ink2)}
.sd-red .sd-lede{color:#f6ece6}
.sd-ph{position:relative;background:var(--white)}
.sd-ph::before{content:"";display:block;height:12px;background:var(--c-red) 0 0/56px 100%}
.sd-ph img{width:100%;aspect-ratio:4/3;object-fit:cover}
.sd-ph figcaption,.sd-sill{background:var(--lintel);color:var(--ink);font-size:.9rem;line-height:1.5;padding:12px 16px 13px;border-bottom:5px solid #d6cfbf}
figure{margin:0}

/* buttons */
a.sd-call{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;background:var(--brick-d);color:#fff;border:2px solid var(--brick-d);border-radius:2px;font:600 1.08rem/1.2 var(--sans);text-decoration:none;letter-spacing:.005em;transition:background .15s,color .15s}
a.sd-call:hover,a.sd-call:focus-visible{background:#661f14;border-color:#661f14;color:#fff}
.sd-red a.sd-call,.sd-foot a.sd-call{background:#fff;color:var(--brick-d);border-color:#fff}
.sd-red a.sd-call:hover,.sd-foot a.sd-call:hover,.sd-red a.sd-call:focus-visible,.sd-foot a.sd-call:focus-visible{background:var(--lintel);color:#661f14;border-color:var(--lintel)}
a.sd-call:visited{color:inherit}
.sd-red a.sd-call:visited,.sd-foot a.sd-call:visited{color:var(--brick-d)}
a.sd-call.sd-wide{width:100%}
a.sd-more{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--brick);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.22em}
.sd-red a.sd-more{color:#fff}
.sd-acts{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center;margin-top:26px}

/* header + menu */
.sd-top{position:sticky;top:0;z-index:50;background:var(--ground);border-bottom:1px solid var(--line);height:var(--hh)}
.sd-top-in{display:flex;align-items:center;gap:12px;height:100%}
.sd-brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;min-width:0;margin-right:auto}
.sd-brand:hover{color:var(--ink)}
.sd-logo{width:38px;height:38px;flex:none;color:var(--brick)}
.sd-bname{display:block;font:400 1.08rem/1.1 var(--serif)}
.sd-crop{overflow:hidden}
.sd-crop img{transform:scale(var(--z,1));transform-origin:var(--ox,50%) var(--oy,50%)}
.sd-red .sd-ph::before{background-image:var(--c-pale)}
.sd-bsub{display:none;font-size:.8rem;color:var(--ink2);margin-top:3px}
a.sd-call.sd-top-call{display:none}
.sd-menu{position:static}
.sd-menu-btn{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 4px 0 12px;cursor:pointer;list-style:none;font:600 1rem var(--sans);color:var(--ink);user-select:none}
.sd-menu-btn::-webkit-details-marker{display:none}
.sd-bricks{display:block;width:6px;height:18px;background:var(--brick);box-shadow:10px 0 0 var(--brick),20px 0 0 var(--brick);margin-right:22px}
.sd-m-shut{display:none}
.sd-menu[open] .sd-m-open{display:none}
.sd-menu[open] .sd-m-shut{display:inline}
.sd-menu[open]::after{content:"";position:fixed;inset:var(--hh) 0 0 0;background:rgba(29,39,49,.5);z-index:55}
.sd-panel{position:fixed;z-index:60;top:var(--hh);right:0;bottom:0;width:min(450px,100%);overflow-y:auto;background:var(--white);padding:0 24px 40px;box-shadow:-18px 0 36px rgba(0,0,0,.16)}
.sd-panel::before{content:"";display:block;height:12px;margin:0 -24px 18px;background:var(--c-red) 0 0/56px 100%}
.sd-plist a{position:relative;display:flex;align-items:center;min-height:56px;padding:8px 0 8px 22px;border-bottom:1px solid var(--line);font:400 1.55rem/1.2 var(--serif);color:var(--ink);text-decoration:none}
.sd-plist a::before{content:"";position:absolute;left:0;top:50%;width:7px;height:22px;margin-top:-11px;background:var(--brick)}
.sd-plist a:hover,.sd-plist a[aria-current]{color:var(--brick)}
.sd-pjobs{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:20px 0 22px}
.sd-pjobs a{display:flex;align-items:center;min-height:44px;font-size:.98rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--mortar)}
.sd-pjobs a:hover{color:var(--brick)}
.sd-ptitle{font:600 .92rem var(--sans);color:var(--ink2);margin:22px 0 0}
.sd-paddr{font-size:.95rem;color:var(--ink2);margin:22px 0 0;line-height:1.55}

/* sticky call bar (phones) */
.sd-bar{position:fixed;z-index:40;left:0;right:0;bottom:0;background:var(--brick-d);padding-bottom:env(safe-area-inset-bottom,0px)}
.sd-bar::before{content:"";display:block;height:7px;background:var(--c-pale) 0 0/56px 100%}
.sd-bar a{display:flex;align-items:center;justify-content:center;min-height:58px;color:#fff;font:600 1.2rem var(--sans);text-decoration:none;letter-spacing:.01em}
.sd-bar a:hover,.sd-bar a:visited{color:#fff}

/* sections */
.sd-sec{padding:52px 0}
.sd-sec-white{background:var(--white)}
.sd-sec-mortar{background:var(--mortar)}
.sd-red{background:var(--brick-d);color:#fbf4f0}
.sd-red h1,.sd-red h2,.sd-red h3{color:#fff}
.sd-red p a{color:#fff}
.sd-red p a:hover{color:var(--lintel)}
.sd-prose p{max-width:62ch}
.sd-prose p:last-child{margin-bottom:0}

/* hero */
.sd-hero{padding:34px 0 0}
.sd-hero-in{display:grid;gap:28px}
.sd-hero-win{order:-1}
.sd-hero-win .sd-course{height:20px}
.sd-hero-win img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 40%}
.sd-hero h1{margin-bottom:22px}
.sd-h1b{display:block;margin-top:.2em;font-size:.62em;line-height:1.15;color:var(--blush)}
.sd-hero .sd-lede{max-width:46ch}
.sd-scope{display:flex;flex-wrap:wrap;gap:0 26px;margin-top:38px;padding:20px 0 26px;border-top:1px solid rgba(255,255,255,.22);font-size:.97rem;color:#f6ece6}
.sd-scope li{position:relative;padding:5px 0 5px 16px}
.sd-scope li::before{content:"";position:absolute;left:0;top:50%;width:5px;height:15px;margin-top:-8px;background:var(--lintel)}

/* home: mistakes */
.sd-mist{display:grid;gap:34px}
.sd-moves li{position:relative;padding:22px 0 22px 26px;border-top:1px solid var(--line)}
.sd-moves li:first-child{border-top:0;padding-top:0}
.sd-moves li::before{content:"";position:absolute;left:0;top:28px;width:8px;height:30px;background:var(--brick)}
.sd-moves li:first-child::before{top:6px}
.sd-moves h3{margin-bottom:8px}
.sd-moves p{margin:0;max-width:60ch}

/* home: patch or replace */
.sd-pr-photos{display:grid;gap:18px;margin:30px 0 8px}
.sd-qs{display:grid;gap:0;margin-top:26px}
.sd-qs>div{padding:22px 0;border-top:3px solid var(--brick)}
.sd-qs h3{margin-bottom:10px}
.sd-qs p{margin:0}

/* home: numbers */
.sd-nums{display:grid;gap:34px}
.sd-nums-ph img{aspect-ratio:4/3}
.sd-num{display:grid;gap:2px;padding:20px 0;border-top:1px solid var(--line)}
.sd-num:first-child{border-top:0;padding-top:0}
.sd-num b{font:400 2.7rem/1 var(--serif);color:var(--brick)}
.sd-num p{margin:0}
.sd-num small{display:block;margin-top:5px;font-size:.84rem;font-style:italic;color:var(--ink2)}

/* tables */
.sd-tbl{width:100%;border-collapse:collapse;margin:28px 0 12px;font-size:1rem}
.sd-tbl th{font:600 .9rem var(--sans);color:var(--ink2);text-align:left;padding:10px 14px 10px 0;border-bottom:3px solid var(--brick)}
.sd-tbl td{padding:16px 14px 16px 0;border-bottom:1px solid var(--line);vertical-align:top}
.sd-tbl td:first-child{font:400 1.35rem/1.2 var(--serif)}
.sd-tbl td:first-child a{color:var(--ink);text-decoration:none}
.sd-tbl td:first-child a:hover{color:var(--brick)}
.sd-cap{font-size:.92rem;color:var(--ink2);max-width:70ch}

/* home: seasons */
.sd-seasons{display:grid;gap:22px;margin-top:30px}
.sd-season{background:var(--white);display:grid}
.sd-season .sd-ph{align-self:start}
.sd-season-b{padding:20px 20px 24px}
.sd-season-b h3{margin-bottom:2px}
.sd-when{font:600 .9rem var(--sans);color:var(--brick);margin:0 0 12px}
.sd-season-b p:last-child{margin-bottom:0}

/* home: rain ruler */
.sd-rain{width:100%;border-collapse:collapse;margin:26px 0 14px;font-size:.98rem}
.sd-rain th{font:600 .88rem var(--sans);color:var(--ink2);text-align:left;padding:8px 12px 8px 0;border-bottom:3px solid var(--brick)}
.sd-rain td{padding:11px 12px 11px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.sd-rain td:first-child{font:400 1.25rem var(--serif);width:64px}
.sd-rain i{display:block;height:12px;margin-top:5px;max-width:100%;width:var(--v);background:var(--c-red) 0 0/56px 100%}
.sd-rain span{font-weight:600}

/* call panel */
.sd-callp{display:grid;gap:28px;align-items:center}
.sd-callp .sd-ph img{aspect-ratio:4/3}
.sd-callp .sd-ph::before{background-image:var(--c-pale)}
.sd-callp .sd-acts{margin-top:8px}

/* sources */
.sd-src{background:var(--mortar);margin-top:34px}
.sd-sec-mortar .sd-src,.sd-red .sd-src{background:var(--white);color:var(--ink)}
.sd-src summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:56px;padding:8px 18px;cursor:pointer;list-style:none;font:600 1rem var(--sans);color:var(--ink)}
.sd-src summary::-webkit-details-marker{display:none}
.sd-src summary::after{content:"";width:12px;height:12px;border-right:3px solid var(--brick);border-bottom:3px solid var(--brick);transform:rotate(45deg);margin-top:-6px;transition:transform .2s}
.sd-src[open] summary::after{transform:rotate(225deg);margin-top:4px}
.sd-src ol{padding:4px 18px 8px 40px;list-style:decimal;font-size:.95rem}
.sd-src li{padding:5px 0 5px 4px}
.sd-src li::marker{color:var(--ink2);font-size:.85rem}
.sd-src a{color:var(--brick);word-break:break-word}
.sd-chk{margin:0;padding:6px 18px 18px;font-size:.88rem;font-style:italic;color:var(--ink2)}

/* page heads */
.sd-head{padding:36px 0 40px;background:var(--ground)}
.sd-head h1{max-width:20ch}
.sd-head .sd-lede{max-width:58ch;margin:20px 0 0}
.sd-crumbs{display:flex;flex-wrap:wrap;gap:2px 10px;margin:0 0 22px;font-size:.92rem;color:var(--ink2)}
.sd-crumbs a{color:var(--ink2);display:inline-flex;align-items:center;min-height:32px}
.sd-crumbs li+li::before{content:"/";margin-right:10px;color:var(--line)}
.sd-crumbs li{display:flex;align-items:center}

/* service page */
.sd-svc{display:grid;gap:28px}
.sd-svc h1{font-size:clamp(2rem,7.6vw,3.4rem);margin-bottom:20px}
.sd-svc .sd-lede{margin:0}
.sd-cant{display:grid;gap:18px}
.sd-cant .sd-hd{max-width:22ch}
.sd-explain{display:grid;gap:18px}
.sd-explain p:first-of-type{font-size:1.2rem;line-height:1.55}
.sd-stop{padding:46px 0 52px}
.sd-stop-l{display:grid;gap:0;margin-top:26px}
.sd-stop-l li{position:relative;padding:18px 0 18px 26px;border-top:1px solid rgba(255,255,255,.22);font-size:1.04rem}
.sd-stop-l li::before{content:"";position:absolute;left:0;top:23px;width:8px;height:26px;background:var(--lintel)}
.sd-notes{display:grid;gap:22px;margin-top:28px}
.sd-note{background:var(--white);padding:22px 22px 24px;border-top:4px solid var(--brick)}
.sd-note p{margin:0;font-size:1rem}
.sd-cost{display:grid;gap:14px;padding:26px 24px;background:var(--white);border-left:8px solid var(--brick)}
.sd-cost p{margin:0}
.sd-slip{display:grid;gap:8px;padding:22px 24px;background:var(--lintel);border:1px dashed #a99f86}
.sd-slip h2{font-size:1.45rem}
.sd-slip .sd-kick{margin:0}
.sd-slip p:last-child{margin:0}
.sd-pairc{display:grid;background:var(--white)}
.sd-pairc-b{padding:22px}
.sd-pairc-b p{margin:0 0 10px}

/* hubs */
.sd-pair{margin-top:34px}
.sd-pair-l{display:flex;align-items:center;gap:14px;padding:11px 16px;background:var(--brick-d);color:#fff;font:600 1rem var(--sans)}
.sd-pair-l::before{content:"";flex:none;width:34px;height:14px;background:var(--c-pale) 0 0/56px 100%}
.sd-pair-g{display:grid;gap:3px;background:var(--brick-d);padding:0 3px 3px}
.sd-card{display:grid;background:var(--white)}
.sd-card-b{padding:20px 20px 22px}
.sd-card-b h3{margin-bottom:6px}
.sd-card-b p{margin:0 0 6px}
.sd-card .sd-when{margin-bottom:8px}
.sd-card .sd-ph::before{display:none}
.sd-card .sd-ph img{aspect-ratio:3/2}
.sd-towns{display:grid;gap:30px;margin-top:10px}
.sd-town{display:grid;background:var(--white)}
.sd-town-b{padding:22px 22px 26px}
.sd-town-b h2{font-size:clamp(1.8rem,5vw,2.2rem);margin-bottom:10px}
.sd-facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 14px;font-size:.92rem;color:var(--ink2)}
.sd-facts b{color:var(--ink)}

/* town page */
.sd-th{display:grid;gap:26px}
.sd-th h1{font-size:clamp(1.9rem,7vw,3.2rem);margin-bottom:18px}
.sd-th-ph img{aspect-ratio:16/10}
.sd-ti{display:grid;gap:26px}
.sd-ti .sd-lede{margin:0;color:var(--ink)}
.sd-ledger{background:var(--white);padding:22px 24px;border-top:4px solid var(--brick);font-size:1rem}
.sd-ledger p{margin:0}
.sd-mapbox{border:0;display:block;width:100%;height:340px;background:var(--mortar)}
.sd-mapw{display:grid;gap:22px}
.sd-faq{display:grid;gap:18px;margin-top:28px}
.sd-q{background:var(--white);padding:22px 22px 26px;border-top:4px solid var(--brick)}
.sd-q h3{font-size:1.3rem;margin-bottom:12px}
.sd-q p{margin:0;font-size:1rem}
.sd-q-call{background:var(--brick-d);color:#fbf4f0;border-top-color:var(--brick-d)}
.sd-q-call h3{color:#fff}
.sd-q-call p a{color:#fff}
.sd-q-call .sd-acts{margin-top:18px}
.sd-probs{display:grid;gap:30px}
.sd-prob{position:relative;padding:20px 0 0 26px;border-top:1px solid var(--line)}
.sd-prob::before{content:"";position:absolute;left:0;top:26px;width:8px;height:30px;background:var(--brick)}
.sd-prob h3{margin-bottom:8px}
.sd-prob p{margin:0}
.sd-probs-l{display:grid;gap:0}
.sd-probs-l .sd-prob:first-child{border-top:0;padding-top:0}
.sd-probs-l .sd-prob:first-child::before{top:6px}
.sd-neigh{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.sd-neigh a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}

/* guide */
.sd-gh{display:grid;gap:26px}
.sd-gh h1{font-size:clamp(1.9rem,6.6vw,3.2rem);max-width:22ch}
.sd-gh .sd-lede{margin:18px 0 0}
.sd-toc{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0 0 30px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.95rem}
.sd-toc a{display:inline-flex;align-items:center;min-height:36px;color:var(--ink);text-decoration:none}
.sd-toc a:hover{color:var(--brick)}
.sd-art{max-width:66ch;margin-inline:auto}
.sd-art section{margin-top:44px}
.sd-art section:first-child{margin-top:0}
.sd-art h2{font-size:clamp(1.55rem,4.6vw,2.1rem);margin-bottom:16px}
.sd-art p{margin-bottom:1.1em}
.sd-stairs{max-width:780px}
.sd-stairs>h2{margin-bottom:28px}
.sd-step{position:relative;margin-left:calc(var(--i)*11px);padding:14px 0 14px 22px;border-left:5px solid var(--brick)}
.sd-step+.sd-step{margin-top:6px}
.sd-step h3{font-size:1.28rem}
.sd-step p{margin:2px 0 0;font-size:.97rem}
.sd-step em{font-style:italic;color:var(--ink2)}

/* rules page */
.sd-rg{display:grid;gap:30px}
.sd-contents{padding:18px 20px;background:var(--white);border-top:4px solid var(--brick);font-size:.97rem}
.sd-contents p{margin:0 0 8px;font:600 .92rem var(--sans);color:var(--ink2)}
.sd-contents a{display:flex;align-items:center;min-height:40px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--mortar)}
.sd-contents a:hover{color:var(--brick)}
.sd-clause{padding:34px 0;border-top:1px solid var(--line)}
.sd-clause:first-child{border-top:0;padding-top:0}
.sd-clause h2{font-size:clamp(1.5rem,4.4vw,2rem);margin-bottom:16px}
.sd-clause .sd-src{margin-top:20px}
.sd-clause .sd-src summary{min-height:48px}
.sd-wrapt{overflow-x:auto}

/* materials */
.sd-mats{display:grid;gap:22px;margin-top:8px}
.sd-mat{background:var(--white)}
.sd-mat-b{padding:20px 22px 24px}
.sd-mat-b h2{font-size:1.5rem;margin-bottom:12px}
.sd-swatch{height:74px;background-color:#d9d4c8}
.sd-sw-asphalt{background-color:#4d535b;background-image:linear-gradient(#0000 0 calc(100% - 3px),#2c3137 0),linear-gradient(90deg,#0000 0 calc(100% - 3px),#2c3137 0);background-size:100% 18px,42px 18px;background-position:0 0,0 0}
.sd-sw-slate{background-color:#56616b;background-image:repeating-linear-gradient(90deg,#0000 0 46px,#3b444c 46px 48px),repeating-linear-gradient(0deg,#0000 0 22px,#3b444c 22px 24px)}
.sd-sw-wood{background-color:#a47a52;background-image:repeating-linear-gradient(90deg,#0000 0 14px,#7e5a3a 14px 16px),repeating-linear-gradient(0deg,#0000 0 24px,#6b4a2e 24px 26px)}
.sd-sw-metal{background-color:#aeb7bf;background-image:repeating-linear-gradient(90deg,#0000 0 34px,#7d8791 34px 36px,#e9edf0 36px 38px,#0000 38px 40px)}
.sd-sw-flat{background-color:#2f3439;background-image:linear-gradient(90deg,#0000 0 calc(100% - 3px),#4e555c 0);background-size:92px 100%}
.sd-sw-under{background-color:#c7c0ae;background-image:repeating-linear-gradient(0deg,#0000 0 11px,#a79f89 11px 13px)}
.sd-sw-light{background-image:linear-gradient(90deg,#e8e4da 0 50%,#3a3f45 0)}
.sd-sw-pick{background:var(--c-red) 0 0/56px 100%}

/* contact */
.sd-contact{display:grid;gap:26px}
.sd-addr{background:var(--white);padding:26px 24px;border-top:4px solid var(--brick)}
.sd-addr h2{font-size:1.5rem;margin-bottom:12px}
.sd-addr address{font-style:normal;margin:0 0 14px}
.sd-addr .sd-acts{margin-top:18px}
.sd-townlist{display:grid;gap:0;margin-top:22px}
.sd-townlist a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--line);font:400 1.3rem var(--serif);color:var(--ink);text-decoration:none}
.sd-townlist a:hover{color:var(--brick)}

/* privacy letter */
.sd-letter{max-width:720px;margin:0 auto;background:var(--white);padding:0 22px 36px}
.sd-letter::before{content:"";display:block;height:12px;margin:0 -22px 26px;background:var(--c-red) 0 0/56px 100%}
.sd-letter h1{font-size:clamp(1.8rem,6vw,2.5rem);margin:6px 0 10px}
.sd-letter section{margin-top:30px}
.sd-run b{display:block;margin-bottom:8px;font:400 1.4rem/1.2 var(--serif)}
.sd-letter .sd-from{font-size:.92rem;color:var(--ink2);margin:0 0 22px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.sd-letter p{max-width:none}

/* 404 */
.sd-lost{padding:60px 0 70px}
.sd-lost-l{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:22px}

/* footer */
.sd-foot{background:var(--night);color:#efe5df;margin-top:0}
.sd-foot::before{content:"";display:block;height:20px;background:var(--c-pale) 0 0/56px 100%}
.sd-foot-in{display:grid;gap:34px;padding:44px 0 34px}
.sd-foot a{color:#f4e9e2;text-decoration:none}
.sd-foot a:hover{color:#fff;text-decoration:underline}
.sd-foot-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.sd-foot-brand .sd-logo{color:var(--lintel)}
.sd-foot-brand b{font:400 1.35rem/1.15 var(--serif);color:#fff}
.sd-foot address{font-style:normal;margin:0 0 6px;line-height:1.55}
.sd-foot h2{font:600 .95rem var(--sans);color:#d9c3b8;margin:0 0 10px}
.sd-foot ul a{display:flex;align-items:center;min-height:36px}
.sd-foot .sd-hd::before{display:none}
.sd-foot p{margin:0 0 14px}
.sd-foot-base{display:flex;flex-wrap:wrap;gap:4px 22px;padding:18px 0 22px;border-top:1px solid rgba(255,255,255,.18);font-size:.9rem;color:#d9c3b8}
.sd-foot-base a{display:inline-flex;align-items:center;min-height:40px;color:#f4e9e2;text-decoration:underline}
.sd-foot a.sd-call{margin-top:6px}
.sd-maplink{display:inline-flex;align-items:center;min-height:40px;font-weight:600;text-decoration:underline!important}

/* tablet and up */
@media (max-width:719px){
.sd-tbl,.sd-tbl tbody,.sd-tbl tr,.sd-tbl td{display:block;width:100%}
.sd-tbl thead{position:absolute;left:-999px}
.sd-tbl tr{padding:16px 0;border-bottom:1px solid var(--line)}
.sd-tbl td{padding:3px 0;border:0}
.sd-tbl td[data-l]::before{content:attr(data-l) ": ";font-weight:600;color:var(--ink2);font-size:.9rem}
.sd-tbl td:first-child::before{content:none}
.sd-rain thead{position:absolute;left:-999px}
.sd-rain,.sd-rain tbody,.sd-rain tr{display:block;width:100%}
.sd-rain tr{display:grid;grid-template-columns:54px 1fr;gap:0 12px;padding:12px 0;border-bottom:1px solid var(--line)}
.sd-rain td{display:block;border:0;padding:1px 0;width:auto}
.sd-rain td:first-child{grid-row:span 3;width:auto;font-size:1.35rem}
.sd-wrapt table.sd-tbl td:nth-child(n+2)[data-l]::before{display:inline}
}
@media (min-width:720px){
:root{--gut:32px;--hh:68px}
body{font-size:1.09rem}
.sd-sec{padding:76px 0}
.sd-bsub{display:block}
.sd-bname{font-size:1.28rem}
.sd-logo{width:44px;height:44px}
a.sd-call.sd-top-call{display:inline-flex;min-height:46px;padding:0 20px;font-size:1rem}
.sd-pr-photos{grid-template-columns:1fr 1fr}
.sd-qs{grid-template-columns:repeat(3,1fr);gap:0 34px}
.sd-seasons{grid-template-columns:1fr 1fr}
.sd-season{grid-template-columns:1fr}
.sd-pair-g{grid-template-columns:1fr 1fr}
.sd-notes{grid-template-columns:repeat(3,1fr)}
.sd-faq{grid-template-columns:repeat(3,1fr)}
.sd-probs{grid-template-columns:1fr 1fr;gap:34px 46px}
.sd-stop-l{grid-template-columns:1fr 1fr;gap:0 46px}
.sd-mats{grid-template-columns:1fr 1fr}
.sd-foot-in{grid-template-columns:1.5fr 1fr 1fr}
.sd-step{margin-left:calc(var(--i)*34px)}
.sd-explain,.sd-cant{grid-template-columns:1fr 1.6fr;gap:44px}
.sd-cost{grid-template-columns:1fr 1.5fr;gap:38px;padding:34px 36px}
.sd-slip{grid-template-columns:auto 1fr;gap:6px 30px;align-items:start}
.sd-letter{padding:0 54px 54px}
.sd-letter::before{margin:0 -54px 34px}
.sd-townlist{grid-template-columns:1fr 1fr;gap:0 30px}
}
@media (min-width:960px){
:root{--hh:76px}
.sd-bar{display:none}
body{padding-bottom:0}
.sd-hero{padding-top:52px}
.sd-hero-in{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:56px;align-items:start}
.sd-hero-win{order:0}
.sd-hero h1{font-size:clamp(2.6rem,4.4vw,3.7rem)}
.sd-scope{margin-top:54px}
.sd-mist{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:70px;align-items:start}
.sd-mist-l{position:sticky;top:calc(var(--hh) + 26px)}
.sd-mist-l .sd-ph{margin-top:26px}
.sd-nums{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:70px;align-items:start}
.sd-nums-ph{position:sticky;top:calc(var(--hh) + 26px)}
.sd-nums-ph img{aspect-ratio:4/5}
.sd-num{grid-template-columns:190px 1fr;gap:0 20px;align-items:baseline}
.sd-num b{font-size:3.1rem}
.sd-num small{grid-column:2}
.sd-seasons{gap:26px}
.sd-season{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.sd-season .sd-ph img{height:100%;aspect-ratio:auto;min-height:260px}
.sd-callp{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:70px}
.sd-svc{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center}
.sd-svc-win{order:0}
.sd-pairc{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.sd-pairc .sd-ph::before{display:none}
.sd-pairc .sd-ph img{height:100%;aspect-ratio:auto;min-height:240px}
.sd-th{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:56px;align-items:center}
.sd-ti{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:56px;align-items:start}
.sd-mapw{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:50px;align-items:start}
.sd-mapbox{height:420px}
.sd-gh{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center}
.sd-rg{grid-template-columns:260px minmax(0,1fr);gap:70px;align-items:start}
.sd-contents{position:sticky;top:calc(var(--hh) + 24px)}
.sd-contact{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:44px;align-items:start}
.sd-pair-g .sd-card{grid-template-rows:auto 1fr}
.sd-town{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.sd-town .sd-ph{order:2}
.sd-town .sd-ph img{height:100%;aspect-ratio:auto;min-height:300px}
.sd-town .sd-ph::before{display:none}
.sd-town-b{padding:34px 38px 38px;align-self:center}
.sd-foot-in{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:50px;padding:56px 0 42px}
.sd-menu-btn{padding-left:18px}
.sd-panel{padding:0 34px 44px}
.sd-panel::before{margin:0 -34px 18px}
}
@media (min-width:1200px){
.sd-hero h1{font-size:3.8rem}
}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*{transition:none!important;animation:none!important}
}
