:root{--ink:#27332f;--paper:#fbf9f2;--accent:#344a3c;--wash:#e8ece1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.6 Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg{max-width:100%;height:auto}figure{margin:0}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.07;letter-spacing:-.045em}h1{font-size:clamp(40px,5.2vw,78px);margin-bottom:24px}h2{font-size:clamp(32px,3.5vw,52px);margin-bottom:20px}h3{line-height:1.25;font-size:24px}p{max-width:70ch}.wrap{max-width:1320px;width:calc(100% - 96px);margin:auto}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:700;line-height:1.5;text-transform:uppercase;margin-bottom:22px}.lead{font-size:21px;line-height:1.5;max-width:48ch}.caption{font-size:13px;line-height:1.6;color:#58625b;margin-top:18px}.skip{position:absolute;top:-90px;padding:12px;background:white;z-index:10}.skip:focus{top:0}:focus-visible{outline:3px solid #2460d6;outline-offset:4px}.site-header{display:flex;align-items:center;gap:22px;max-width:1536px;margin:auto;padding:20px 40px;border-bottom:1px solid #d4d9ce}.logo{flex-shrink:0}.logo img{display:block;object-fit:contain}.identity{text-decoration:none;font-family:Georgia,serif;font-size:21px}.identity small{display:block;font:11px/1.5 Arial;letter-spacing:.12em;text-transform:uppercase}.site-header nav{display:flex;gap:25px;align-items:center;margin-left:auto;font-size:14px}.site-header nav a{text-decoration:none}.nav-cta{background:var(--accent);color:white;padding:12px 18px}.button{border:1px solid var(--accent);background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:16px 22px;text-decoration:none;font-size:15px;font-weight:700;line-height:1.5}.button:hover{filter:brightness(.9)}.button.outline{background:transparent;color:var(--ink);border-color:#869184}.quiet{border:0;background:none;color:var(--ink);text-decoration:underline;padding:12px;font-size:15px}.hero{max-width:1536px;margin:auto;padding:65px 48px;display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-art{min-width:0}.photo img{display:block;width:100%;object-fit:cover}.photo figcaption{font-size:11px;margin-top:8px;color:#58625b}.layout-landscape{grid-template-columns:1fr;padding-top:48px}.layout-landscape .hero-copy{display:grid;grid-template-columns:1.1fr 1fr;column-gap:80px}.layout-landscape h1{grid-row:2/5}.layout-landscape .eyebrow{grid-column:1/-1}.layout-landscape .lead{grid-column:2}.layout-landscape .hero-art img{max-height:560px;object-position:center}.layout-landscape .caption{grid-column:2}.layout-cutaway{background:#f2f0e4}.layer-art svg{width:100%;display:block}.legend{display:flex;justify-content:center;gap:18px;font-size:12px}.layout-document{background:#e5e9ec}.paper-proposal{background:#fffdfa;padding:38px;box-shadow:0 20px 50px #26322b15;transform:rotate(1deg)}.paper-proposal h3{font-family:Georgia;font-size:32px}.paper-proposal a{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid #d3d8cf;text-decoration:none}.paper-proposal a div{flex:1}.paper-proposal small{display:block;font-size:13px;color:#58625b}.paper-proposal a span{font-size:12px}.layout-notebook{background:#eeeade}.budget-poster{border-left:8px solid var(--accent);background:repeating-linear-gradient(#fffdf6 0 47px,#dfe3d8 48px 49px);padding:38px;box-shadow:8px 10px 0 #d0d6c8}.budget-poster h3{font-family:Georgia;font-size:44px;line-height:1.1}.ledger-line{display:flex;justify-content:space-between;padding:14px 0}.ledger-line.unknown{color:#58642d}.layout-samples{grid-template-columns:.8fr 1.2fr;background:#e6e7dc}.layout-samples .photo img{min-height:440px;object-fit:cover}.layout-blueprint{background:#1749ad;color:#fff}.layout-blueprint .caption,.layout-blueprint figcaption{color:#e4ebf4}.layout-blueprint .button{background:#fff;color:#183a71;border-color:#fff}.layout-blueprint .button.outline{background:transparent;color:white}.layout-journey{background:#28353b;color:white}.layout-journey .caption,.layout-journey figcaption{color:#d9e0dc}.layout-journey .button{background:#f4f1e6;color:#27332f}.layout-journey .button.outline{background:transparent;color:white}.layout-map .photo{border:12px solid white;box-shadow:0 12px 30px #27332f12}.layout-story{background:#dedfd8}.tool-section{padding:85px 0;scroll-margin-top:24px}.section-title{max-width:850px;margin-bottom:36px}.tool-card{padding:36px;background:#fff;border:1px solid #cbd2c8}.tool-card>label{display:block;margin:22px 0}.tool-card textarea,.tool-card input:not([type=checkbox]):not([type=radio]),.tool-card select,.result textarea,#context-text{display:block;width:100%;border:1px solid #899588;border-radius:0;background:#fff;padding:13px;margin-top:8px;color:var(--ink)}fieldset{min-width:0}.choice-field{border:0;padding:0;margin:0 0 28px}.choice-field legend{font-size:20px;font-weight:700;margin-bottom:12px}.choice-field legend span{font-weight:400;color:var(--accent);margin-right:10px}.option-grid{display:flex;flex-wrap:wrap;gap:10px}.option-grid label{position:relative;display:flex;gap:10px;align-items:center;padding:14px 18px;border:1px solid #c8cec4;background:var(--paper);cursor:pointer}.option-grid label:has(input:checked){background:var(--wash);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}input[type=radio],input[type=checkbox]{accent-color:var(--accent);width:19px;height:19px;flex-shrink:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.budget-row{border:1px solid #cbd2c8;margin:22px 0;padding:22px}.budget-row legend{font-weight:bold}.budget-row label{display:block}.result{margin-top:28px;padding:36px;background:var(--wash);scroll-margin-top:20px}.result textarea{background:#fffdfa}.result-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}#budget-totals{display:flex;flex-wrap:wrap;gap:30px;margin-bottom:20px}#budget-totals div{display:flex;flex-direction:column}#budget-totals strong{font-family:Georgia;font-size:38px}#budget-totals span{font-size:13px}#budget-totals p{flex-basis:100%;font-size:15px}.interactive-layers{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}.layer-controls,.sample-buttons{display:flex;gap:8px;flex-wrap:wrap}.layer-controls button,.sample-buttons button{padding:12px 16px;border:1px solid #b7c1b3;background:var(--paper);color:var(--ink)}.layer-controls button[aria-pressed=true],.sample-buttons button[aria-pressed=true]{background:var(--accent);color:white}.layer-controls b{margin-right:8px}#layer-detail,#sample-detail{background:var(--wash);padding:24px;margin:18px 0}.check{display:flex;gap:12px;align-items:center;padding:10px 0}.term-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.term-grid details{background:var(--wash);padding:20px}.term-grid summary{cursor:pointer;font-weight:700;display:flex;justify-content:space-between}.term-grid p{margin:15px 0 0}.scope-map{max-width:800px;margin:0 auto 35px}.scope-map p{font-size:14px}.shingle-studio{max-width:950px;margin:0 auto 30px}.shingle-studio img{max-height:420px;object-fit:cover}.sample-buttons{margin-top:20px}.guides{padding:35px 0 85px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.guide-card{display:flex;flex-direction:column;padding:28px;text-decoration:none;background:var(--wash);border-top:4px solid var(--accent)}.guide-card:nth-child(4),.guide-card:nth-child(5){background:#f0efe7}.guide-num{font-family:Georgia;font-size:40px;color:var(--accent);margin-bottom:20px}.guide-card h3{font-family:Georgia;font-size:29px;font-weight:400}.guide-card p{font-size:15px}.read{margin-top:auto;padding-top:20px;font-weight:700;font-size:13px}.close-cta{padding:55px;background:var(--accent);color:#fff}.close-cta .button{background:#fffdf6;color:#27332f}.weather-link{display:flex;gap:30px;align-items:center;justify-content:space-between;padding:55px 0}.weather-link p{font-size:15px}.article{max-width:920px;padding-top:65px;padding-bottom:80px}.article h1{font-size:clamp(38px,4.6vw,66px);margin-top:30px}.article h2{font-size:34px}.example,.question{padding:32px;margin:30px 0;background:var(--wash)}.question{background:white;border-left:5px solid var(--accent)}.limit{padding:25px;border:1px solid #b8c3b3}.limit p{margin:8px 0 0}.sources{font-size:14px;margin:30px 0}.related{display:grid;gap:15px;margin-top:35px}.page-heading{padding-top:60px;padding-bottom:30px;max-width:1100px}.page-heading h1{max-width:900px}.inquiry,.utility,.weather-tool,.section{max-width:1320px;margin:0 auto;padding:45px 48px}#context-review{background:var(--wash);padding:28px;margin-top:30px}.roof-insurance-notice{margin:60px auto 0;max-width:1320px;padding:32px 48px}.roof-insurance-notice p:nth-of-type(-n+3){font-size:clamp(22px,2.8vw,40px);line-height:1.4;font-weight:600}.roof-insurance-notice p{max-width:70ch}.brand-block{max-width:none}.site-pricing h1,.site-shinglequote h1,.site-replacementquote h1{font-family:Arial,sans-serif;letter-spacing:-.055em;font-weight:600}.site-reroof .guide-grid{grid-template-columns:1fr}.site-reroof .guide-card{display:grid;grid-template-columns:70px 1fr 1.3fr;gap:20px}.site-reroof .read{grid-column:2/-1}.site-budget .tool-card{max-width:950px;background:#fffdf7}.site-budget .guide-grid{grid-template-columns:1fr 1fr}.site-shinglequote .guide-card{border-top:0;border-left:4px solid var(--accent)}.site-replacementquote .guide-grid{grid-template-columns:1fr 1fr}.site-system .guide-card:first-child{grid-column:span 2}.site-scope .guide-card{background:#f1f4f9}.section-top{margin-bottom:25px}a:hover .read{text-decoration:underline}@media(max-width:1000px){.site-header{flex-wrap:wrap;padding:18px 24px}.site-header nav{width:100%;justify-content:space-between;margin:0}.hero{padding:45px 28px;gap:30px}.hero,.layout-samples{grid-template-columns:1fr}.layout-landscape .hero-copy{display:block}.hero-art{max-width:950px;width:100%}.wrap{width:calc(100% - 48px)}.guide-grid{grid-template-columns:1fr 1fr}.interactive-layers{grid-template-columns:1fr}.interactive-layers svg{max-height:430px}.tool-section{padding-top:55px}.layout-samples .photo img{min-height:0}}@media(max-width:600px){body{font-size:16px}.site-header{gap:12px;padding:15px 18px}.logo img{width:100px}.identity{font-size:17px;max-width:200px}.site-header nav{gap:10px;font-size:12px}.nav-cta{padding:10px}.hero{padding:35px 20px}.wrap{width:calc(100% - 36px)}.lead{font-size:18px}.hero-actions{flex-direction:column;align-items:stretch}.button{padding:14px 18px}.tool-card,.result{padding:22px}.choice-field legend{font-size:18px}.option-grid{display:grid;grid-template-columns:1fr;width:100%}.two,.term-grid,.guide-grid,.site-budget .guide-grid,.site-replacementquote .guide-grid{grid-template-columns:1fr}.site-system .guide-card:first-child{grid-column:auto}.site-reroof .guide-card{display:flex}.site-reroof .read{grid-column:auto}.paper-proposal,.budget-poster{padding:24px;transform:none}.budget-poster h3{font-size:36px}.legend{gap:10px;font-size:10px}.guide-card{padding:25px}.close-cta{padding:30px}.weather-link{display:block}.weather-link .button{margin-top:12px}.inquiry,.utility,.weather-tool,.section{padding:30px 20px}.roof-insurance-notice{padding:30px 20px}.article{padding-top:38px}.example,.question,.limit{padding:24px}.site-header nav a:first-child{max-width:70px}.tool-section{padding-bottom:40px}.layer-controls button{font-size:14px}.guide-card h3{font-size:27px}.result-actions{display:grid}#budget-totals strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.site-header nav a.nav-cta{color:#fff;background:var(--accent)}
