@font-face{font-family:"Fira Sans Extra Condensed";src:url(fonts/fira-sans-extra-condensed-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Fira Sans Extra Condensed";src:url(fonts/fira-sans-extra-condensed-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --paper:#fbfaf7;--card:#fff;--concrete:#ebe9e3;--hair:#d4d1c8;
  --ink:#1a1d20;--ink2:#4d5359;
  --felt:#24282c;--felt2:#181b1e;--felt3:#3b4147;--print:#c6cacd;--print2:#9aa0a6;
  --orange:#f2701d;--orange-hi:#ff8a3d;--ink-or:#a63c08;
  --head:"Fira Sans Extra Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Source Serif 4",Georgia,"Times New Roman",serif;
  --lap:0 16px 18px -14px rgba(0,0,0,.5);
  --cross:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath d='M15 12v6M12 15h6' stroke='%23ffffff' stroke-opacity='.12' fill='none'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:20px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.125rem/1.62 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,dl,dd,figure{margin:0}
address{font-style:normal}
a[href^="tel:"]{white-space:nowrap}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.ply-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--felt);color:#fff;padding:10px 16px;font:600 1rem var(--head)}
.ply-skip:focus{left:8px}
main :is(p,dd,address) a{color:inherit;text-decoration-line:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:.16em}
main :is(p,dd,address) a:hover{text-decoration-color:currentColor}

/* type */
.ply-h1,.ply-h2,.ply-h3{font-family:var(--head);font-weight:700;letter-spacing:.002em;text-wrap:balance}
.ply-h1{font-size:clamp(2.35rem,4.1vw,3.6rem);line-height:1.01}
.ply-h2{font-size:clamp(1.9rem,2.9vw,2.6rem);line-height:1.06;margin-bottom:.5em}
.ply-h3{font-size:1.5rem;line-height:1.12;margin-bottom:.5em}
.ply-lede{font:italic 400 1.2rem/1.55 var(--body);color:var(--ink2);margin:1.1rem 0 1.5rem;max-width:60ch}
.ply-lede-s{margin:.2rem 0 0}
.ply-kick{font:600 1.08rem/1.2 var(--head);color:var(--ink-or);margin:0 0 .7rem}
.ply-note{font:italic 400 1.05rem/1.55 var(--body);color:var(--ink2);max-width:62ch}
.ply-wrap{width:100%;max-width:1280px;margin:0 auto;padding-inline:32px}
.ply-wrap-n{max-width:940px}

/* nails and photo frames */
.ply-nail,.ply-nails li::before,.ply-ph-i::before,.ply-ph-i::after,.ply-src li::before,.ply-scope-l li::before{
  background:radial-gradient(circle,var(--nail-core,#5c6369) 0 2px,var(--nail-cap,#cbc7bc) 2.6px 100%);
  box-shadow:0 0 0 1px rgba(0,0,0,.3),0 1px 1px 1px rgba(0,0,0,.18)}
.ply-nail{display:inline-block;flex:none;width:12px;height:12px;border-radius:50%}
.ply-ph{position:relative}
.ply-ph-i{display:block;position:relative;box-shadow:0 7px 0 -3px var(--felt),0 22px 22px -18px rgba(0,0,0,.45)}
.ply-ph-i img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--concrete)}
.ply-ph-i::before,.ply-ph-i::after{content:"";position:absolute;width:11px;height:11px;border-radius:50%;z-index:2}
.ply-ph-i::before{left:10px;top:10px}
.ply-ph-i::after{right:10px;bottom:10px}
.ply-cap{font:italic 400 .98rem/1.45 var(--body);color:var(--ink2);margin-top:20px}
.ply-nails li{position:relative;padding-left:30px;margin-bottom:.8em}
.ply-nails li::before{content:"";position:absolute;left:0;top:.5em;width:12px;height:12px;border-radius:50%}

/* buttons and text links */
.ply-call{display:inline-flex;align-items:center;justify-content:center;gap:.55em;background:var(--orange);color:var(--ink);font:700 1.15rem/1.1 var(--head);padding:.8em 1.3em;border-radius:2px;text-decoration:none;min-height:48px;box-shadow:0 3px 0 rgba(0,0,0,.3);text-align:center}
.ply-call:hover{background:var(--orange-hi)}
a.ply-call[href^="tel:"]{white-space:normal}
.ply-num{white-space:nowrap}
.ply-ico{flex:none}
.ply-call-dk{background:var(--felt);color:#fff;box-shadow:0 3px 0 rgba(0,0,0,.4)}
.ply-call-dk:hover{background:#000}
.ply-tl{font:600 1.12rem/1.2 var(--head);color:inherit;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:.2em}
.ply-tl:hover{text-decoration-color:currentColor}
.ply-more{font:700 1.15rem/1.2 var(--head);color:var(--ink);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:.2em}
.ply-more-p{margin:14px 0 0}
.ply-more-l{font:600 1.1rem var(--head);color:var(--ink2);margin:0 0 4px}
.ply-ml{font:600 1.05rem var(--head);color:var(--ink);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:.2em}
.ply-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.ply-stretch{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:.2em}
.ply-stretch::after{content:"";position:absolute;inset:0;z-index:3}
.ply-stretch:focus-visible{outline:none}
li:has(.ply-stretch:focus-visible){outline:3px solid var(--orange);outline-offset:6px}

/* header */
.ply-top{background:var(--paper);position:relative;z-index:30;border-bottom:1px solid var(--hair)}
.ply-top-in{display:flex;align-items:center;gap:28px;min-height:80px}
.ply-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);flex:none}
.ply-mark{flex:none;color:var(--ink)}
.ply-name{font:700 1.55rem/1 var(--head);letter-spacing:.003em}
.ply-nav{margin-left:auto}
.ply-nav ul{display:flex;gap:26px}
.ply-nav a{display:block;font:600 1.1rem/1 var(--head);color:var(--ink);text-decoration:none;padding:10px 0 8px;border-bottom:3px solid transparent;white-space:nowrap}
.ply-nav a:hover{border-bottom-color:var(--ink)}
.ply-nav a[aria-current]{border-bottom-color:var(--orange)}
.ply-menu-btn{display:none;align-items:center;gap:10px;margin-left:auto;background:transparent;border:2px solid var(--ink);color:var(--ink);font:700 1.1rem/1 var(--head);padding:0 16px;min-height:46px;border-radius:2px;cursor:pointer}
.ply-menu-i{display:block;width:18px;height:2px;background:var(--ink);box-shadow:0 -6px 0 var(--ink),0 6px 0 var(--ink)}
.ply-call-top{white-space:nowrap}

/* hero */
.ply-hero{padding:48px 0 60px}
.ply-hero-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.ply-hero-ph{grid-column:1/9;grid-row:1;margin-top:46px}
.ply-sheet,.ply-felt-band,.ply-thead,.ply-head-felt,.ply-foot-a{background-color:var(--felt);background-image:var(--cross);color:#fff;--nail-cap:#d5d8da;--nail-core:#5c6369}
.ply-sheet{grid-column:7/13;grid-row:1;position:relative;z-index:2;padding:58px 44px 38px;box-shadow:var(--lap),0 0 0 1px rgba(0,0,0,.2)}
.ply-sheet::before,.ply-felt-band::before,.ply-thead::before,.ply-head-felt::before{content:"";position:absolute;left:0;right:0;top:16px;height:4px;border-top:1px solid rgba(255,255,255,.24);border-bottom:1px solid rgba(255,255,255,.24);pointer-events:none}
.ply-sheet-fold{position:absolute;left:0;top:0;width:40px;height:40px;background:linear-gradient(135deg,var(--paper) 0 50%,var(--felt3) 50% 100%);z-index:1;box-shadow:3px 3px 6px -3px rgba(0,0,0,.6)}
.ply-sheet .ply-h1{color:#fff;font-size:clamp(2.2rem,3.9vw,3.5rem)}
.ply-h1b{display:block}
.ply-sheet .ply-lede{color:var(--print);margin:1.15rem 0 1.5rem;font-size:1.15rem}
.ply-sheet .ply-tl{color:#fff}
.ply-hero-read{margin:1.2rem 0 0;font:600 1.02rem/1.35 var(--head)}
.ply-hero-read a{color:var(--print);text-decoration:underline;text-decoration-color:var(--print2);text-underline-offset:.2em}
.ply-hero-read a:hover{color:#fff}
.ply-roll{margin-top:28px;border-top:1px dotted rgba(255,255,255,.4)}
.ply-roll a{display:flex;align-items:center;gap:14px;padding:11px 0;color:#fff;text-decoration:none;border-bottom:1px dotted rgba(255,255,255,.4);min-height:48px}
.ply-roll a::after{content:"";width:9px;height:9px;border-top:2px solid var(--orange);border-right:2px solid var(--orange);transform:rotate(45deg);margin-right:6px}
.ply-roll-n{font:700 1.75rem/1 var(--head)}
.ply-roll-l{flex:1}
.ply-roll a:hover .ply-roll-n{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:.2em}
@keyframes ply-ping{0%,30%{box-shadow:0 0 0 2px var(--orange),0 0 0 6px rgba(242,112,29,.3)}36%,100%{box-shadow:0 0 0 1px rgba(0,0,0,.3),0 1px 1px 1px rgba(0,0,0,.18)}}
.ply-roll li .ply-nail{animation:ply-ping 9s infinite}
.ply-roll li:nth-child(2) .ply-nail{animation-delay:3s}
.ply-roll li:nth-child(3) .ply-nail{animation-delay:6s}
@media (prefers-reduced-motion:reduce){.ply-roll li .ply-nail{animation:none}}
.ply-scope{background:var(--concrete);border-block:1px solid var(--hair)}
.ply-scope-g{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 32px;padding-block:16px}
.ply-addr{font:600 1.1rem/1.3 var(--head);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:.2em}
.ply-scope-l{display:flex;flex-wrap:wrap;gap:4px 24px;font:600 1.05rem/1.3 var(--head);color:var(--ink2)}
.ply-scope-l li{display:flex;align-items:center;gap:9px}
.ply-scope-l li::before{content:"";width:9px;height:9px;border-radius:50%;flex:none}

/* sections */
.ply-sec{padding:76px 0;position:relative}
.ply-concrete{background:var(--concrete)}
.ply-felt-band{position:relative;z-index:2;box-shadow:var(--lap)}
.ply-felt-band .ply-h2,.ply-felt-band .ply-h3{color:#fff}
.ply-felt-band .ply-lede,.ply-felt-band p{color:var(--print)}
.ply-felt-band .ply-nails li::before{background:radial-gradient(circle,var(--nail-core) 0 2px,var(--nail-cap) 2.6px 100%)}
.ply-s-strip .ply-h2,.ply-s-after .ply-h2,.ply-s-areas .ply-h2,.ply-s-sym .ply-h2,.ply-s-jobs .ply-h2{max-width:22ch}
.ply-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 30px;margin-top:38px}
.ply-strip-i:nth-child(3n+2){margin-top:36px}
.ply-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 30px;margin-top:44px;position:relative}
.ply-steps::before{content:"";position:absolute;left:26px;right:0;top:25px;border-top:3px dotted var(--ink2)}
.ply-steps li{position:relative;padding-top:74px}
.ply-step-n{position:absolute;left:0;top:0;width:52px;height:52px;border-radius:50%;background:var(--felt);color:#fff;font:700 1.55rem/46px var(--head);text-align:center;border:3px solid var(--orange);box-shadow:0 0 0 7px var(--concrete)}
.ply-step-t{font:700 1.45rem/1.15 var(--head);margin:0 0 .4em}
.ply-steps li p:last-child{margin-bottom:0}
.ply-towns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;margin-top:40px}
.ply-town{border-top:3px solid var(--felt);padding-top:20px}
.ply-fold summary{list-style:none;display:block}
.ply-fold summary::-webkit-details-marker{display:none}
.ply-town summary,.ply-season summary,.ply-fcol summary,.ply-pocket-d summary{pointer-events:none}
.ply-tl,.ply-addr,.ply-ml,.ply-hero-read a,.ply-src a,.ply-fcall,main p a[href^="tel:"],main address a[href^="tel:"]{display:inline-block}
.ply-tl{padding:11px 0}
.ply-addr,.ply-ml{padding:8px 0}
.ply-hero-read a,.ply-src a{padding:5px 0}
.ply-hero-read{margin:.6rem 0 0}
.ply-town-n{font:700 2.2rem/1 var(--head);margin:0 0 14px}
.ply-seasons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:40px;border-top:1px solid rgba(255,255,255,.22)}
.ply-season{padding:28px 28px 10px 0}
.ply-season+.ply-season{padding-left:28px;border-left:1px solid rgba(255,255,255,.14)}
.ply-season summary{display:flex;align-items:center;gap:12px}
.ply-season-t{font:700 1.65rem/1.1 var(--head);color:#fff}
.ply-season p{font-size:1.02rem;line-height:1.58;margin:14px 0 0;color:var(--print)}
.ply-s-seasons{padding-bottom:84px}
.ply-story-g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;align-items:center}
.ply-route{display:flex;justify-content:space-between;margin-top:64px;position:relative}
.ply-route::before{content:"";position:absolute;left:8%;right:8%;top:28px;border-top:3px dotted var(--ink2)}
.ply-route li{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;font:600 1.15rem/1.2 var(--head);text-align:center}
.ply-route svg{background:var(--paper);padding:0 10px;color:var(--ink);box-sizing:content-box}
.ply-s-call{background:var(--orange);color:var(--ink);padding:72px 0;overflow:hidden}
.ply-call-g{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center}
.ply-call-t .ply-h2{color:var(--ink)}
.ply-call-t p{font-size:1.2rem;max-width:56ch}
.ply-call-t .ply-acts{margin-top:26px}
.ply-pocket{background:var(--card);position:relative;box-shadow:0 8px 0 -3px var(--felt),0 24px 26px -18px rgba(0,0,0,.55)}
.ply-pocket-ph{display:block}
.ply-pocket-ph img{width:100%;aspect-ratio:16/7;object-fit:cover}
.ply-pocket-b{padding:26px 30px 22px}
.ply-pocket .ply-h3{margin-bottom:.7em}
.ply-pocket .ply-nails li{font-size:1.06rem;line-height:1.5}
.ply-syms,.ply-jobs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px;margin-top:40px}
.ply-sym,.ply-jc{position:relative}
.ply-sym-q{font:italic 400 1.05rem/1.45 var(--body);color:var(--ink2);margin:20px 0 6px}
.ply-sym-a,.ply-jc-t{font:700 1.5rem/1.1 var(--head);margin:0}
.ply-jc-t{margin-top:20px}
.ply-jc-d{font:italic 400 1rem/1.45 var(--body);color:var(--ink2);margin:6px 0 0}
.ply-jobs-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}

/* generic bands for inner pages */
.ply-head,.ply-xhead,.ply-shead,.ply-thead,.ply-ghead{position:relative}
.ply-head,.ply-xhead{padding:54px 0 62px}
.ply-head-concrete{background:var(--concrete)}
.ply-head-paper{background:var(--paper)}
.ply-head-felt{position:relative;color:#fff}
.ply-head-felt .ply-h1{color:#fff}
.ply-head-felt .ply-lede{color:var(--print)}
.ply-head-felt .ply-kick{color:var(--orange-hi)}
.ply-head-felt .ply-crumb,.ply-thead .ply-crumb{color:var(--print)}
.ply-head-g{display:grid;grid-template-columns:minmax(0,1fr);gap:56px;align-items:center}
.ply-head-g:has(>.ply-head-ph){grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.ply-xhead-g{max-width:980px}
.ply-xhead-split{max-width:none;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:center}
.ply-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;font:600 1rem/1.3 var(--head);color:var(--ink2);margin-bottom:18px}
.ply-crumb a{text-decoration:none;padding:4px 0;display:inline-block}
.ply-crumb a:hover{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px}
.ply-sl{width:1px;height:14px;background:currentColor;opacity:.5;transform:rotate(18deg)}
.ply-jobs-wrap{margin:0}

/* service page */
.ply-shead{background:var(--concrete);padding:46px 0 0}
.ply-shead-g{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:60px;align-items:start}
.ply-shead-t{padding-bottom:64px}
.ply-shead-ph{margin-bottom:-64px;position:relative;z-index:3}
.ply-s-checks{padding-top:96px}
.ply-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin-top:26px}
.ply-checks li{background:var(--card);border:1px solid var(--hair);padding:22px 24px 14px 52px;margin:0}
.ply-checks li::before{left:22px;top:30px}
.ply-s-stop{padding:70px 0 74px}
.ply-stops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 44px;margin-top:30px}
.ply-stops li{border-left:5px solid var(--orange);padding:2px 0 2px 22px;color:#fff;font-size:1.1rem;line-height:1.55}
.ply-scale{margin-top:30px;border-top:1px solid var(--hair)}
.ply-scale li{display:grid;grid-template-columns:230px minmax(0,1fr);gap:8px 36px;padding:24px 0;border-bottom:1px solid var(--hair);align-items:start}
.ply-scale-n{display:block;font:700 2.3rem/1 var(--head)}
.ply-scale-bar{display:block;height:10px;margin-top:12px;background:var(--hair)}
.ply-scale-bar::after{content:"";display:block;height:100%}
.ply-scale-hi .ply-scale-bar::after{width:100%;background:var(--orange)}
.ply-scale-mid .ply-scale-bar::after{width:62%;background:var(--felt)}
.ply-scale-lo .ply-scale-bar::after{width:28%;background:var(--print2)}
.ply-scale p{margin:0;max-width:62ch}
.ply-qa-g{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:64px;align-items:start}
.ply-qas{margin-top:6px}
.ply-qa{border-top:1px solid var(--hair);padding:22px 0 8px}
.ply-qa:last-child{border-bottom:1px solid var(--hair);margin-bottom:8px}
.ply-qh{display:block;font:700 1.4rem/1.2 var(--head)}
.ply-qa-a{margin-top:8px;max-width:62ch}
.ply-qa summary{padding-bottom:0}
.ply-signs{columns:2;column-gap:44px;margin-top:22px}
.ply-signs li{break-inside:avoid;font-size:1.1rem}
.ply-rep-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px;align-items:center}
.ply-rep-t p{max-width:60ch}
.ply-slip{background:var(--card);border:1px solid var(--hair);border-left:8px solid var(--orange);padding:30px 34px 18px;max-width:880px}
.ply-s-slip{padding-bottom:20px}
.ply-s-more{padding-top:56px}
.ply-src{margin-top:34px;font-size:.93rem;line-height:1.5;color:var(--ink2)}
.ply-src-l{font:600 1.05rem/1.2 var(--head);color:var(--ink);margin:0 0 8px;padding:2px 0;pointer-events:none}
.ply-src ul{display:flex;flex-wrap:wrap;gap:6px 22px}
.ply-src li{display:flex;gap:9px;align-items:baseline;max-width:56ch}
.ply-src li::before{content:"";width:8px;height:8px;border-radius:50%;flex:none;transform:translateY(-1px)}
.ply-src a{color:inherit;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:.16em}
.ply-src-d{font:italic 400 .93rem var(--body);color:var(--ink2);margin:14px 0 0}
.ply-felt-band .ply-src,.ply-felt-band .ply-src-l{color:var(--print)}

/* town page */
.ply-thead{padding:46px 0 70px;color:#fff;position:relative;z-index:2;box-shadow:var(--lap)}
.ply-thead-g{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:60px;align-items:center}
.ply-thead .ply-h1{color:#fff}
.ply-thead .ply-lede{color:var(--print)}
.ply-thead-ph{margin-top:16px}
.ply-sky{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:60px;align-items:start}
.ply-sky-k{display:flex;flex-direction:column;gap:16px;color:var(--ink-or)}
.ply-sky-k .ply-h2{color:var(--ink);margin:0}
.ply-sky-t{font-size:1.15rem}
.ply-office-g{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:64px;align-items:center}
.ply-office{background:var(--card);border:1px solid var(--hair);border-top:6px solid var(--felt);padding:34px 38px 22px}
.ply-s-office{padding-top:10px}
.ply-util-g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:60px;align-items:start}
.ply-util-g .ply-h2{margin:0}
.ply-util-t p{font-size:1.1rem}
.ply-s-util{padding:70px 0 80px}
.ply-homes-g{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:64px;align-items:center}
.ply-end{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--hair);padding:28px 34px}
.ply-end p{margin:0;max-width:56ch}
.ply-tps{display:grid;gap:56px;margin-top:6px}
.ply-tp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:56px;align-items:center;position:relative}
.ply-tp:nth-child(even) .ply-ph{order:2}
.ply-tp-t p{max-width:58ch}
.ply-gcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 30px}
.ply-gc{position:relative}
.ply-gc .ply-h3{margin:22px 0 .4em}
.ply-gc p{color:var(--ink2)}

/* guides, rules */
.ply-ghead{padding:46px 0 10px;background:var(--paper)}
.ply-ghead-g{max-width:960px;margin-inline:0}
.ply-ghead-ph .ply-ph-i img{aspect-ratio:21/9}
.ply-ghead .ply-wrap{margin-top:0}
.ply-gbody,.ply-rbody{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;padding-block:60px 70px;align-items:start}
.ply-toc{position:sticky;top:20px;align-self:start;font:600 1.02rem/1.3 var(--head)}
.ply-toc-h{font:700 1.2rem var(--head);margin:0 0 10px}
.ply-toc ol{border-left:3px solid var(--hair)}
.ply-toc li a{display:block;padding:7px 0 7px 14px;margin-left:-3px;border-left:3px solid transparent;text-decoration:none;color:var(--ink2)}
.ply-toc li a:hover{border-left-color:var(--orange);color:var(--ink)}
.ply-toc-c{margin-top:22px}
.ply-gart{max-width:780px;min-width:0}
.ply-gs{margin-bottom:8px}
.ply-gs .ply-h2,.ply-clause .ply-h2{margin:1.6rem 0 .55em}
.ply-gs p,.ply-clause p,.ply-tl-i p,.ply-fc p,.ply-pv p{max-width:64ch}
.ply-gs:first-of-type .ply-h2{margin-top:0}
.ply-tbl-w{margin:2.6rem 0}
.ply-tbl-s{overflow-x:auto}
.ply-tbl{width:100%;border-collapse:collapse;font-size:1rem;line-height:1.45;background:var(--card);border:1px solid var(--hair)}
.ply-tbl th,.ply-tbl td{padding:13px 16px;border-bottom:1px solid var(--hair);text-align:left;vertical-align:top}
.ply-tbl thead th{background:var(--felt);color:#fff;font:600 1.05rem var(--head);border-bottom:0}
.ply-tbl tbody th{font:700 1.15rem/1.2 var(--head);min-width:9ch}
.ply-clause{padding:18px 0 28px;border-top:1px solid var(--hair)}
.ply-clause:first-child{border-top:0;padding-top:0}
.ply-clause .ply-src{margin-top:16px}
.ply-offices{margin:3rem 0 2rem}
.ply-rart .ply-slip{margin-top:2.4rem}
.ply-sbody{padding-block:36px 70px}
.ply-xph{margin:10px 0 56px}
.ply-xph .ply-ph-i img{aspect-ratio:21/9}
.ply-timeline{position:relative;padding-left:52px}
.ply-timeline::before{content:"";position:absolute;left:8px;top:14px;bottom:20px;border-left:3px dotted var(--ink2)}
.ply-tl-i{position:relative;padding-bottom:44px}
.ply-nail-l{position:absolute;left:-52px;top:.62em;width:20px;height:20px;background:radial-gradient(circle,var(--felt) 0 3px,var(--orange) 3.6px 100%);box-shadow:0 0 0 4px var(--paper),0 0 0 5px rgba(0,0,0,.2)}
.ply-tl-i .ply-h2{margin:0 0 .45em}
.ply-cbody{padding-block:56px 76px}
.ply-fcs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.ply-fc{background:var(--card);border:1px solid var(--hair);border-top:6px solid var(--felt);padding:26px 30px 14px}
.ply-fc .ply-h3{font-size:1.65rem}
.ply-fc .ply-src{margin-top:16px}

/* contact, privacy, 404 */
.ply-cont-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:40px;padding-block:60px 30px;align-items:stretch}
.ply-card{background:var(--card);border:1px solid var(--hair);border-top:6px solid var(--felt);padding:32px 34px 22px}
.ply-addrcard address{font:600 1.5rem/1.3 var(--head);margin-bottom:18px}
.ply-ph-line{margin:0 0 18px}
.ply-fh2{font:700 1.3rem/1.2 var(--head);margin:0 0 10px}
.ply-addrcard .ply-note{margin-top:20px}
.ply-map{min-height:420px;box-shadow:0 7px 0 -3px var(--felt)}
.ply-map iframe{display:block;width:100%;height:100%;min-height:420px;border:0;background:var(--concrete)}
.ply-cont-l{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:40px;padding-block:20px 80px}
.ply-plain li{margin-bottom:6px}
.ply-plain a{font:600 1.15rem/1.35 var(--head);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:.2em;display:inline-block;padding:4px 0}
.ply-plain-2{columns:2;column-gap:30px}
.ply-plain-row{display:flex;flex-wrap:wrap;gap:6px 28px;margin:0 0 28px}
.ply-privacy{counter-reset:pv;padding-block:20px 90px}
.ply-pv{counter-increment:pv;display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 14px;padding:22px 0;border-top:1px solid var(--hair)}
.ply-pv::before{content:counter(pv);font:700 2.6rem/1 var(--head);color:var(--ink-or);grid-row:1/3}
.ply-pv .ply-h3{margin:0 0 .4em}
.ply-lost{padding-block:80px 100px}

/* footer */
.ply-foot{color:var(--print);position:relative;z-index:1}
.ply-foot-a{padding:60px 0 46px;position:relative}
.ply-foot-a::before{content:"";position:absolute;left:0;right:0;top:16px;height:4px;border-top:1px solid rgba(255,255,255,.24);border-bottom:1px solid rgba(255,255,255,.24)}
.ply-foot-g{display:grid;grid-template-columns:1.25fr 1fr .8fr 1.3fr;gap:40px}
.ply-foot .ply-brand{color:#fff}
.ply-foot .ply-mark{color:#fff}
.ply-foot-id p{margin:16px 0 0;font-size:1rem;line-height:1.55;max-width:32ch}
.ply-fcol summary{font:700 1.3rem/1.2 var(--head);color:#fff;margin-bottom:14px}
.ply-fcol ul li{margin-bottom:2px}
.ply-foot a{color:#fff;text-decoration:none}
.ply-foot a:hover{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:.2em}
.ply-fcol a{display:inline-block;padding:4px 0;font-size:1.02rem;line-height:1.35}
.ply-fcol-jobs ul{columns:2;column-gap:24px}
.ply-foot-b{background:var(--felt2);padding:30px 0 34px}
.ply-foot-g2{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:30px 40px;align-items:start}
.ply-fh{font:700 1.2rem/1.2 var(--head);color:#fff;margin:0 0 8px}
.ply-foot address{line-height:1.5}
.ply-ml-f{display:inline-block;margin-top:10px;color:#fff;text-decoration-color:var(--orange)}
.ply-fcl{margin:0;font-size:1.1rem}
.ply-fcl a,.ply-fcall{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:.2em}
.ply-fine{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0;font-size:.98rem}
.ply-fine a{padding:4px 0}

/* sticky call bar (phones) */
.ply-bar{display:none}

/* ------------------------------------------------ tablets and small laptops */
@media (max-width:1200px){
  .ply-nav ul{gap:20px}
  .ply-top-in{gap:20px}
  .ply-sheet{padding:56px 34px 34px}
  .ply-foot-g{grid-template-columns:1.1fr 1fr .8fr 1.2fr;gap:28px}
}
@media (max-width:1240px){
  .ply-top-in{min-height:68px;flex-wrap:wrap;row-gap:0}
  .ply-call-top{display:none}
  .ply-menu-btn{display:inline-flex}
  .ply-nav{flex:1 0 100%;margin:0;order:5}
  .js .ply-nav{display:none}
  .js .ply-nav.open{display:block;padding:4px 0 18px}
  .ply-nav ul{flex-direction:column;gap:0}
  .ply-nav a{font-size:1.45rem;padding:14px 0;border-bottom:1px solid var(--hair);border-left:5px solid transparent;padding-left:14px}
  .ply-nav a[aria-current]{border-left-color:var(--orange);border-bottom-color:var(--hair)}
  .ply-nav a:hover{border-bottom-color:var(--hair);border-left-color:var(--ink)}
  .ply-top{position:relative}
  .ply-top-in{padding-block:10px}
}
@media (max-width:980px){
  .ply-hero{padding:0 0 44px}
  .ply-hero-g{display:block}
  .ply-hero-ph{margin:0 calc(-1*var(--gutter,32px));}
  .ply-hero-ph .ply-ph-i{box-shadow:none}
  .ply-sheet{margin:-34px 14px 0;padding:62px 30px 32px}
  .ply-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ply-strip-i:nth-child(3n+2){margin-top:0}
  .ply-strip-i:nth-child(even){margin-top:30px}
  .ply-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 30px}
  .ply-steps::before{display:none}
  .ply-towns{grid-template-columns:1fr;gap:30px}
  .ply-seasons{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ply-season:nth-child(3){padding-left:0;border-left:0}
  .ply-story-g,.ply-call-g,.ply-qa-g,.ply-rep-g,.ply-shead-g,.ply-thead-g,.ply-sky,.ply-office-g,.ply-util-g,.ply-homes-g,.ply-head-g:has(>.ply-head-ph),.ply-xhead-split,.ply-tp,.ply-cont-g,.ply-cont-l{grid-template-columns:minmax(0,1fr);gap:36px}
  .ply-shead-ph{margin-bottom:0;order:-1}
  .ply-shead{padding-top:0}
  .ply-shead-t{padding:34px 0 50px}
  .ply-s-checks{padding-top:70px}
  .ply-shead-g{gap:0}
  .ply-syms,.ply-jobs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ply-jobs-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ply-gcs{grid-template-columns:1fr 1fr}
  .ply-gbody,.ply-rbody{grid-template-columns:minmax(0,1fr);gap:28px}
  .ply-toc{position:static}
  .ply-tp:nth-child(even) .ply-ph{order:0}
  .ply-foot-g{grid-template-columns:1fr 1fr}
  .ply-foot-g2{grid-template-columns:1fr 1fr}
  .ply-route li{font-size:1.02rem}
  .ply-route svg{width:46px;height:46px}
}
/* ------------------------------------------------ phones */
@media (max-width:760px){
  body{font-size:1.0625rem;padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .ply-wrap{padding-inline:20px}
  .ply-name{font-size:1.32rem}
  .ply-mark{width:36px;height:36px}
  .ply-top-in{gap:10px;padding-block:8px;min-height:60px}
  .ply-top .ply-brand{flex:1 1 0;min-width:0;gap:9px}
  .ply-top .ply-name{font-size:1.2rem;line-height:1.02;text-wrap:balance}
  .ply-menu-btn{min-height:44px;padding:0 14px;gap:8px;flex:none}
  .ply-hero-ph{margin:0 -20px}
  .ply-hero{padding-bottom:30px}
  .ply-hero-ph .ply-ph-i img{aspect-ratio:16/11}
  .ply-sheet{margin:-26px 10px 0;padding:54px 22px 22px}
  .ply-sheet .ply-h1{font-size:2.3rem}
  .ply-sheet .ply-lede{font-size:1.04rem;line-height:1.5;margin:.9rem 0 1.2rem}
  .ply-roll{display:flex;flex-wrap:wrap;gap:0 24px;margin-top:18px;border-bottom:1px dotted rgba(255,255,255,.4)}
  .ply-roll a{border-bottom:0;min-height:46px;padding:4px 0;gap:9px}
  .ply-roll a::after,.ply-roll-l{display:none}
  .ply-roll-n{font-size:1.3rem}
  .ply-scope-g{padding-block:14px}
  .ply-scope-l{gap:2px 16px;font-size:1rem}
  .ply-sec{padding:46px 0}
  .ply-h1{font-size:2.3rem}
  .ply-h2{font-size:1.9rem}
  .ply-lede{font-size:1.1rem}
  /* swipe row */
  .ply-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;margin:26px -20px 0;padding:4px 20px 22px;-webkit-overflow-scrolling:touch}
  .ply-strip-i,.ply-strip-i:nth-child(even){flex:0 0 78%;scroll-snap-align:start;margin-top:0}
  .ply-cap{font-size:.95rem;margin-top:16px}
  /* steps on a vertical nail line */
  .ply-steps{grid-template-columns:1fr;gap:0;margin-top:30px}
  .ply-steps::before{display:block;left:25px;right:auto;top:20px;bottom:30px;border-top:0;border-left:3px dotted var(--ink2)}
  .ply-steps li{padding:0 0 26px 76px;min-height:60px}
  .ply-step-n{width:50px;height:50px;line-height:44px}
  .ply-step-t{font-size:1.35rem}
  /* folds */
  .ply-fold summary{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;cursor:pointer}
  .ply-fold summary::after{content:"+";font:700 1.8rem/1 var(--head);flex:none;color:var(--ink-or)}
  .ply-fold[open] summary::after{content:"\2212"}
  .ply-town{padding-top:0}
  .ply-town summary{border-top:0}
  .ply-town-n{margin:0;font-size:1.9rem}
  .ply-town{border-top:3px solid var(--felt)}
  .ply-seasons{grid-template-columns:1fr;border-top:1px solid rgba(255,255,255,.22);margin-top:26px}
  .ply-season,.ply-season+.ply-season,.ply-season:nth-child(3){padding:6px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .ply-season summary::after{color:var(--orange-hi)}
  .ply-season-t{font-size:1.45rem;flex:1}
  .ply-season summary .ply-nail{display:none}
  .ply-season p{margin:2px 0 16px}
  .ply-s-seasons{padding-bottom:60px}
  .ply-story-g{gap:28px}
  .ply-route{margin-top:30px}
  .ply-route::before{left:9%;right:9%;top:20px}
  .ply-route li{font-size:.98rem;gap:6px;line-height:1.15}
  .ply-route svg{width:40px;height:40px;padding:0 6px}
  .ply-s-call{padding:50px 0}
  .ply-call-g{gap:34px}
  .ply-pocket-ph img{aspect-ratio:16/5}
  .ply-pocket-b{padding:6px 22px 10px}
  .ply-pocket-d summary .ply-h3{margin:0}
  .ply-pocket-d .ply-nails{padding-top:4px}
  .ply-qa{padding:6px 0 4px}
  .ply-qa summary{min-height:56px}
  .ply-qh{font-size:1.28rem}
  .ply-src-l{pointer-events:auto}
  .ply-src{margin-top:22px}
  .ply-src summary{margin-bottom:0}
  .ply-src[open] summary{margin-bottom:8px}
  .ply-rd summary{font:700 1.2rem/1.2 var(--head);color:var(--ink);border-top:1px dotted var(--ink2);border-bottom:1px dotted var(--ink2);margin-bottom:12px}
  .ply-rd[open] summary{margin-bottom:16px}
  .ply-story-ph .ply-ph-i img{aspect-ratio:16/9}
  /* thumbnail rows */
  .ply-syms,.ply-jobs,.ply-jobs-3{grid-template-columns:1fr;gap:0;margin-top:26px}
  .ply-sym,.ply-jc{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:auto auto;gap:0 14px;align-items:center;padding:9px 0;border-bottom:1px solid var(--hair)}
  .ply-sym .ply-ph,.ply-jc .ply-ph{grid-row:1/3}
  .ply-sym .ply-ph-i,.ply-jc .ply-ph-i{box-shadow:0 4px 0 -2px var(--felt)}
  .ply-sym .ply-ph-i::before,.ply-sym .ply-ph-i::after,.ply-jc .ply-ph-i::before,.ply-jc .ply-ph-i::after{display:none}
  .ply-sym .ply-ph-i img,.ply-jc .ply-ph-i img{aspect-ratio:1/1}
  .ply-sym-q{margin:0;font-size:1rem;grid-column:2;align-self:end}
  .ply-sym-a{grid-column:2;font-size:1.35rem;align-self:start}
  .ply-jc-t{grid-column:2;margin:0;font-size:1.35rem;align-self:end}
  .ply-jc-d{grid-column:2;margin:0;font-size:.98rem;align-self:start}
  .ply-gcs{grid-template-columns:1fr;gap:34px}
  /* inner pages */
  .ply-head,.ply-xhead{padding:36px 0 44px}
  .ply-shead-t{padding:30px 0 40px}
  .ply-checks,.ply-stops{grid-template-columns:1fr}
  .ply-checks li{padding:18px 18px 8px 48px}
  .ply-checks li::before{left:18px;top:25px}
  .ply-s-stop{padding:56px 0}
  .ply-scale li{grid-template-columns:1fr;gap:8px}
  .ply-scale-n{font-size:2rem}
  .ply-signs{columns:1}
  .ply-slip{padding:24px 22px 12px}
  .ply-thead{padding:0 0 44px}
  .ply-thead-g{gap:0}
  .ply-thead-ph{order:-1;margin:0 -20px}
  .ply-thead-ph .ply-ph-i{box-shadow:none}
  .ply-thead-t{padding-top:30px}
  .ply-sky,.ply-util-g{gap:18px}
  .ply-sky-k{flex-direction:row;align-items:center}
  .ply-office{padding:26px 22px 14px}
  .ply-end{padding:22px 20px}
  .ply-tps{gap:44px}
  .ply-ghead{padding-top:30px}
  .ply-ghead-ph .ply-ph-i img,.ply-xph .ply-ph-i img{aspect-ratio:16/10}
  .ply-gbody,.ply-rbody{padding-block:36px 50px}
  .ply-toc ol{display:none}
  .ply-toc-h{display:none}
  .ply-fcs{grid-template-columns:1fr}
  .ply-fc{padding:22px 20px 10px}
  .ply-timeline{padding-left:40px}
  .ply-timeline::before{left:6px}
  .ply-nail-l{left:-40px;width:18px;height:18px}
  .ply-cont-g{padding-block:36px 10px}
  .ply-card{padding:26px 22px 14px}
  .ply-map,.ply-map iframe{min-height:320px}
  .ply-plain-2{columns:1}
  .ply-pv{grid-template-columns:44px minmax(0,1fr)}
  .ply-pv::before{font-size:2rem}
  /* tables fold into tap-to-open rows */
  .ply-tbl-s{overflow:visible}
  .ply-tbl,.ply-tbl tbody,.ply-tbl tr,.ply-tbl th,.ply-tbl td{display:block;width:100%}
  .ply-tbl thead{position:absolute;left:-9999px}
  .ply-tbl{border:0;background:transparent}
  .ply-tbl tr{background:var(--card);border:1px solid var(--hair);margin-bottom:10px}
  .ply-tbl tbody th{border:0;padding:14px 16px;min-height:52px}
  .ply-tbl td{border:0;border-top:1px solid var(--hair);padding:10px 16px}
  .ply-tbl td::before{content:attr(data-l);display:block;font:600 .95rem var(--head);color:var(--ink-or);margin-bottom:2px}
  .js .ply-fold-t tbody th{cursor:pointer;position:relative;padding-right:46px}
  .js .ply-fold-t tbody th::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font:700 1.8rem/1 var(--head);color:var(--ink-or)}
  .js .ply-fold-t tr.is-open th::after{content:"\2212"}
  .js .ply-fold-t td{display:none}
  .js .ply-fold-t tr.is-open td{display:block}
  /* footer */
  .ply-foot-a{padding:46px 0 24px}
  .ply-foot-g{grid-template-columns:1fr;gap:6px}
  .ply-foot-id{margin-bottom:18px}
  .ply-fcol{border-top:1px solid rgba(255,255,255,.18)}
  .ply-fcol summary{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;min-height:54px;margin:0;cursor:pointer;font-size:1.35rem}
  .ply-fcol summary::after{color:var(--orange-hi)}
  .ply-fcol ul{padding-bottom:12px}
  .ply-foot-g2{grid-template-columns:1fr;gap:22px}
  .ply-fine{gap:2px 22px}
  /* sticky call bar */
  .ply-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--felt);border-top:1px solid rgba(255,255,255,.14);box-shadow:0 -8px 20px rgba(0,0,0,.28)}
  .ply-call-bar{flex:1;min-height:52px;font-size:1.3rem}
  .ply-call-top{display:none}
}
@media (min-width:761px){
  .ply-fold summary{pointer-events:none}
  .ply-rd summary{display:none}
}
@media print{.ply-bar,.ply-menu-btn{display:none}}
