:root{--c0:#232382;--c1:#E3E8FD;--c2:#5E6FD8;--c3:#F8F9FF;--c4:#14144A;--c5:#0B0B2E;--fd:'Rethink Sans',Georgia,serif;--ft:'Spline Sans',system-ui,sans-serif}
/* family: roofline. Roofline: clean fascia bands, long horizontal rules, downpipe verticals, slide-along motion. Display/Text fonts set per site. */
:root{--x-r:2px;--x-hair:1px solid color-mix(in srgb,var(--c0) 28%,transparent);--x-max:min(1153px,92vw)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;interpolate-size:allow-keywords}
body{margin:0;font:400 0.95rem/1.68 var(--ft);color:var(--c4);background:var(--c3)}
img{max-width:100%;display:block}
a{color:var(--c0)}
h1,h2,h3,h4{font-family:var(--fd);font-weight:700;letter-spacing:-.16.74em;line-height:1.08;margin:0 0 0.47em;text-wrap:balance;text-box:trim-both cap alphabetic}
h1{font-size:clamp(2.05rem,4.6vw,3.91rem)}
h2{font-size:clamp(1.44rem,2.6vw,2.19rem)}
h3{font-size:1.1rem}
p,li{text-wrap:pretty}
.pt-span{width:var(--x-max);margin-inline:auto}
.pt-jumpmain{position:absolute;left:-999px}.pt-jumpmain:focus{left:0.93rem;top:0.93rem;z-index:99;background:#fff;padding:0.47rem}
.pt-gauge{position:fixed;top:0;left:0;height:4px;width:0;z-index:70;background:var(--c2)}
.pt-fascia{position:sticky;top:0;z-index:50;background:#fff;border-bottom:6px solid var(--c0);transition:background 0.28s}
.pt-fascia .pt-fascia-in{display:flex;align-items:center;gap:1.3rem;min-height:78px;padding:0 0.37rem}
.pt-fascia>.pt-fascia-in{max-width:var(--x-max);margin-inline:auto}
.pt-crest{position:relative;display:block;height:54px;flex:none}
.pt-crest img{height:54px;width:auto;transition:opacity 0.28s}
.pt-crest .pt-crest-d{position:absolute;inset:0 auto auto 0;opacity:0}
.pt-fascia.pt-capped,.pt-fascia.pt-capped .pt-fascia-in{background:var(--c5);border-bottom-color:var(--c2)}
.pt-fascia.pt-capped .pt-crest-l{opacity:0}.pt-fascia.pt-capped .pt-crest-d{opacity:1}
.pt-lengths{display:flex;align-items:center;gap:0.93rem;margin-left:auto}
.pt-lengths.pt-l{margin-left:auto}.pt-lengths.pt-r{margin-left:0}
.pt-lengths a{color:var(--c4);text-decoration:none;font:700 0.82rem/1.1 var(--ft);padding:0.56rem 0.47rem;white-space:nowrap}
.pt-lengths a:hover,.pt-lengths a[aria-current]{color:var(--c0)}
.pt-fascia.pt-capped .pt-lengths a{color:#fff}
.pt-lengths .pt-lengths-go{background:var(--c0);color:#fff;border-radius:17px 4px 17px 4px;padding:0.7rem 1.02rem}
.pt-fascia.pt-capped .pt-lengths .pt-lengths-go{color:#fff}
.pt-hatch{display:none;margin-left:auto;font:700 0.84rem var(--ft);color:var(--c4);background:transparent;border:var(--x-hair);border-radius:var(--x-r);padding:0.56rem 0.88rem}
.pt-fascia.pt-capped .pt-hatch{color:#fff;border-color:rgba(255,255,255,.5)}
.pt-loft{display:none}
@media (max-width:1140px){.pt-lengths{display:none}.pt-hatch{display:block}
 .pt-loft.pt-dropped{display:block;position:fixed;inset:89px 4vw auto;z-index:49;padding:0.74rem 1.12rem;border-radius:var(--x-r);background:#fff;border:var(--x-hair);box-shadow:0 28px 56px -30px rgba(0,0,0,.45);max-height:75vh;overflow:auto}
 .pt-loft a{display:block;padding:0.7rem 0;color:var(--c4);text-decoration:none;font-weight:600;border-bottom:var(--x-hair)}.pt-loft a:last-child{border:0}}
@media (max-width:700px){.pt-fascia .pt-fascia-in{min-height:60px}.pt-crest,.pt-crest img{height:41px}}
main{display:block;overflow-x:clip}
.pt-eave{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(78vh,707px);align-items:stretch}
.pt-eave>.pt-elevation,.pt-eave>.pt-elevation-p,.pt-eave>.pt-elevation-s,.pt-eave>.pt-flow,.pt-eave>img.pt-roof,.pt-eave .pt-span>.pt-elevation{position:relative;grid-column:2;grid-row:1;overflow:hidden;border-radius:0 0 0 60px}
.pt-eave img.pt-roof{width:100%;height:100%;object-fit:cover}
.pt-eave>.pt-span,.pt-eave>.pt-ridge{width:var(--x-max);margin-inline:auto;position:relative}
.pt-eave>.pt-span>.pt-soffit,.pt-eave>.pt-ridge{grid-column:1;grid-row:1;align-self:center;width:auto;margin:0;padding:3.16rem 2.23rem 3.16rem max(4vw,calc((100vw - min(1153px,92vw))/2))}
.pt-eave .pt-soffit h1{margin-bottom:0.42em}
.pt-fall{display:inline-block;font:700 0.71rem/1 var(--ft);text-transform:uppercase;letter-spacing:0.15em;margin:0 0 1.02rem;color:var(--c0);background:transparent;border-bottom:3px solid var(--c2);padding:0.19rem 0;border-radius:0}
.pt-run{font-size:1.04rem;max-width:35.34rem}
.pt-pathway{font-size:0.78rem;margin:0 0 0.93rem;color:inherit}.pt-pathway a{color:inherit}
@media (max-width:760px){.pt-eave{grid-template-columns:1fr;min-height:0}.pt-eave>.pt-elevation,.pt-eave>.pt-elevation-p,.pt-eave>.pt-elevation-s,.pt-eave>.pt-flow,.pt-eave>img.pt-roof{grid-row:1;grid-column:1;aspect-ratio:4/3;border-radius:0 0 0 30px}.pt-eave>.pt-span>.pt-soffit,.pt-eave>.pt-ridge{grid-row:2;grid-column:1;padding:1.49rem 4vw 1.86rem}.pt-run{font-size:0.93rem}h1{font-size:clamp(1.77rem,8.4vw,2.51rem)}}
.pt-bracket{display:inline-flex;align-items:center;gap:0.51rem;min-height:45px;margin:0.84rem 0.65rem 0 0;font:700 0.88rem/1 var(--ft);text-decoration:none;transition:transform 0.19s,opacity 0.19s;border-radius:2px;padding:0.88rem 1.4rem;background:var(--c0);color:#fff;border:0}
.pt-bracket:hover{transform:translateY(-2px)}
.pt-bracket.pt-bracket-line{background:#fff;color:var(--c4);border:2px solid var(--c4)}
.pt-bracket:empty{display:none}
.pt-bay{padding:4.84rem 0}
.pt-bay>.pt-span>h2,.pt-bay>.pt-corner h2{max-width:24ch}
.pt-underside{background:var(--c4);color:#eef8e6;position:relative}
.pt-underside a:not(.pt-bracket):not(.pt-profile){color:inherit}
.pt-underside h2,.pt-underside h3{color:inherit}
.pt-downpipes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.12rem;padding:3.35rem 0}
.pt-downpipes>div{padding:1.4rem;border:var(--x-hair);border-radius:var(--x-r)}
.pt-downpipes p{margin:0;font-size:0.89rem}
@media (max-width:980px){.pt-downpipes{grid-template-columns:1fr 1fr}}@media (max-width:560px){.pt-downpipes{grid-template-columns:1fr}}
.pt-spec{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:3.16rem;align-items:start}
.pt-spec article>section{padding:0 0 1.21rem;margin:0 0 1.77rem;border-bottom:var(--x-hair)}
.pt-spec article>section:last-child{border:0}
.pt-spec article h2{font-size:clamp(1.3rem,2.3vw,1.86rem)}
.pt-spec aside{position:sticky;top:108px;display:grid;gap:1.02rem}
.pt-drip{font:600 1.1rem/1.42 var(--fd);margin:0;padding:0.19rem 0 0.19rem 1.02rem;border-left:4px solid var(--c2)}.pt-drip:empty{display:none}
.pt-offcut{padding:1.3rem;border-radius:var(--x-r);background:var(--c1);border:var(--x-hair)}
.pt-offcut strong{display:block;font-family:var(--fd);margin-bottom:0.42rem}
.pt-offcut a{display:block;padding:0.3rem 0;font-weight:600;color:var(--c4)}
@media (max-width:960px){.pt-spec{grid-template-columns:1fr;gap:1.4rem}.pt-spec aside{position:static}}
.pt-sizes{width:100%;border-collapse:collapse;margin:0.93rem 0 1.86rem;font-size:0.89rem}
.pt-sizes th,.pt-sizes td{padding:0.7rem 0.84rem;text-align:left;vertical-align:top;border-bottom:var(--x-hair)}
.pt-sizes th{width:36%;background:var(--c1)}
.pt-profiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:1.3rem}
.pt-profile{position:relative;display:block;color:var(--c4);text-decoration:none;overflow:hidden;transition:transform 0.23s;background:#fff;border:0;border-top:5px solid var(--c0);border-radius:2px;box-shadow:0 17px 32px -26px rgba(10,10,60,.55)}
.pt-profile:hover{transform:translateY(-3px)}
.pt-profile img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover}
.pt-profile .pt-profile-text{padding:1.02rem 1.12rem 1.3rem}
.pt-profile h3{margin:0 0 0.37rem}.pt-profile p{margin:0;font-size:0.87rem}
.pt-profiles-list{grid-template-columns:repeat(auto-fill,minmax(min(363px,100%),1fr))}
.pt-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(428px,100%),1fr));gap:0.93rem 2.05rem}
.pt-courses a{display:grid;grid-template-columns:112px minmax(0,1fr);gap:1.12rem;align-items:center;color:var(--c4);text-decoration:none;padding:0.65rem 0;border-bottom:var(--x-hair)}
.pt-underside .pt-courses a{color:inherit}
.pt-courses img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--x-r)}
.pt-courses h3{margin:0 0 0.28rem;font-size:0.98rem}.pt-courses p{margin:0;font-size:0.86rem}
.pt-corner{width:var(--x-max);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.79rem;align-items:center}
.pt-corner>img{width:100%;min-height:372px;height:100%;object-fit:cover;border-radius:var(--x-r)}
.pt-corner .pt-corner-text{padding:0.93rem 0}
@media (max-width:880px){.pt-corner{grid-template-columns:1fr;gap:1.3rem}.pt-corner>img{min-height:214px}}
details{margin:0.47rem 0;border:0;border-left:5px solid var(--c0);border-radius:0;background:#fff;padding:0 1.02rem}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:0.93rem;padding:0.98rem 0;font:700 0.95rem/1.35 var(--ft)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:none;font:700 1.21rem/1 var(--ft);color:var(--c0);transition:transform 0.28s}
details[open]>summary::after{transform:rotate(45deg)}
details::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size 0.33s ease,opacity 0.33s ease,content-visibility 0.33s allow-discrete}
details[open]::details-content{block-size:auto;opacity:1}
details>p{margin:0 0 1.02rem}
.pt-owners .pt-owners-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0.37rem 0.93rem;margin-bottom:1.21rem}
.pt-owners .pt-owners-h p{margin:0;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.11em}
.pt-rvl-dark,.pt-rvl-band{background:var(--c4);color:#eef8e6}
main section .amr-root{--amr-font:var(--ft);--amr-bg:#fff;--amr-text:var(--c4);--amr-muted:#4b5563;--amr-star:var(--c2);--amr-link:var(--c0);--amr-radius:var(--x-r)}
.amr-root .amr-photo-fallback{color:var(--amr-text,#0f172a)!important;background:color-mix(in srgb,var(--amr-text,#0f172a) 10%,#fff)!important}
.pt-gable{padding:4.28rem 0 6.51rem;text-align:center;background:var(--c2);color:var(--c5)}
.pt-gable .pt-span{display:flex;flex-direction:column;align-items:center}
.pt-gable h2{max-width:26ch;color:inherit}
.pt-gable .pt-bracket{background:var(--c5);color:#fff;border-color:var(--c5)}
.pt-footing{background:var(--c5);color:#dbeccd;padding:4.09rem 0 6.51rem;font-size:0.87rem}
.pt-footing a{color:#fff}
.pt-footing-grid{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:2.14rem}
.pt-footing-grid h4{font:700 0.74rem var(--ft);text-transform:uppercase;letter-spacing:0.15em;margin:0 0 0.79rem}
.pt-footing-grid nav a{display:block;padding:0.2rem 0;text-decoration:none}
.pt-footing-logo img{height:50px!important}
.pt-footing-fine{margin-top:2.33rem;padding-top:1.21rem;border-top:1px solid rgba(255,255,255,.16);font-size:0.76rem}
@media (max-width:860px){.pt-footing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pt-footing-grid>*{min-width:0}}
main a[href^=mailto]{overflow-wrap:anywhere}
.pt-measure-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:2.33rem;align-items:start}
.pt-measure{display:grid;grid-template-columns:1fr 1fr;gap:0.93rem 1.16rem;padding:1.67rem;border-radius:var(--x-r);background:#fff;border:var(--x-hair)}
.pt-measure-row{display:flex;flex-direction:column;gap:0.33rem;min-width:0}.pt-measure-full{grid-column:1/-1}
.pt-measure label{font-weight:700;font-size:0.84rem}.pt-measure-opt{font-weight:400}
.pt-measure input,.pt-measure textarea{font:inherit;width:100%;min-height:43px;padding:0.65rem 0.79rem;border-radius:var(--x-r);border:var(--x-hair);background:#fff;color:var(--c4)}
.pt-measure input:focus-visible,.pt-measure textarea:focus-visible{outline:3px solid var(--c2);outline-offset:2px}
.pt-measure [aria-invalid=true]{border:2px solid #B42318}
.pt-measure-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.pt-measure-acts{display:flex;flex-wrap:wrap;gap:0.93rem;align-items:center}
.pt-measure-send{font:700 0.88rem var(--ft);min-height:45px;cursor:pointer;border-radius:2px;padding:0.88rem 1.4rem;background:var(--c0);color:#fff;border:0}
.pt-measure-msg{margin:0;font-weight:700}.pt-measure-msg.pt-fitted{color:#166534}.pt-measure-msg.pt-overflowed{color:#B42318}
@media (max-width:820px){.pt-measure-wrap{grid-template-columns:1fr}}@media (max-width:560px){.pt-measure{grid-template-columns:1fr;padding:1.02rem}}
.pt-flow{display:block;position:absolute;inset:0;overflow:hidden}.pt-flow>img{width:100%;height:100%;object-fit:cover}
@media (prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 .pt-eave img.pt-roof{animation:rfDrip 1.49s ease-out both}
 .pt-eave>.pt-span>.pt-soffit,.pt-eave>.pt-ridge{animation:rfRun 0.7s 0.11s cubic-bezier(.2,.8,.2,1) both}
 @supports (animation-timeline:view()){
  .pt-rf1,.pt-rf2,.pt-rf3{animation:rfRun linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
 }
}
@keyframes rfRun{from{opacity:0;transform:translateX(-24px)}}
@keyframes rfDrip{from{opacity:.5;transform:translateY(-4%)}}
@media (prefers-reduced-motion:reduce){*,::before,::after{animation:none!important;transition:none!important}}
h1,h2,h3{overflow-wrap:break-word}
@media (max-width:760px){h1{font-size:clamp(1.85rem,8.2vw,2.6rem)}h2{font-size:clamp(1.45rem,6.4vw,2rem)}}

/* basics: appended to every per-site stylesheet by skin1029.py (Proof 2026-10-29). Never remove. */
html{interpolate-size:allow-keywords}
.pt-bracket,.pt-lengths-go,.pt-fall,.pt-hatch,.pt-measure-send,.pt-pathway a{text-box:trim-both cap alphabetic}
details::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .35s ease,opacity .35s ease,content-visibility .35s allow-discrete}
details[open]::details-content{block-size:auto;opacity:1}
@media (prefers-reduced-motion:no-preference){
 .pt-profiles>*,.pt-courses>*,.pt-downpipes>*{animation:bxStagger .6s cubic-bezier(.2,.7,.2,1) both}
 .pt-profiles>:nth-child(2),.pt-courses>:nth-child(2),.pt-downpipes>:nth-child(2){animation-delay:.07s}
 .pt-profiles>:nth-child(3),.pt-courses>:nth-child(3),.pt-downpipes>:nth-child(3){animation-delay:.14s}
 .pt-profiles>:nth-child(4),.pt-courses>:nth-child(4),.pt-downpipes>:nth-child(4){animation-delay:.21s}
 .pt-profiles>:nth-child(n+5),.pt-courses>:nth-child(n+5){animation-delay:.28s}
 @supports (animation-timeline:view()){
  .pt-profiles>*,.pt-courses>*,.pt-downpipes>*{animation-timeline:view();animation-delay:0s;animation-range:entry 0% entry 38%}
  .pt-profiles>:nth-child(3n+2),.pt-courses>:nth-child(2n),.pt-downpipes>:nth-child(2n){animation-range:entry 6% entry 44%}
  .pt-profiles>:nth-child(3n),.pt-downpipes>:nth-child(3n){animation-range:entry 12% entry 50%}
 }
}
@keyframes bxStagger{from{opacity:0;transform:translateY(18px)}}
@media (prefers-reduced-motion:reduce){.pt-profiles>*,.pt-courses>*,.pt-downpipes>*{animation:none!important;opacity:1;transform:none}details::details-content{transition:none}}
