.roof-story main,.story-header{max-width:1440px;margin:0 auto;padding-left:48px;padding-right:48px}.story-header{min-height:104px}.story-opening{grid-template-columns:1.12fr 1fr;align-items:start;gap:72px;padding:80px 0 64px;display:grid}.story-opening h1{letter-spacing:-.035em;margin:0;font:400 clamp(46px,5.4vw,78px)/1.04 Georgia,Times New Roman,serif}.story-opening p{color:#555;max-width:50ch;margin:0 0 24px;font-size:17px;line-height:1.75}.story-opening .story-lead{color:var(--ink);max-width:30ch;font-size:24px;line-height:1.4}.story-text-link{align-items:center;gap:24px;min-height:48px;font-size:15px;display:inline-flex}.leak-study{background:#f1f1ef;margin:0;padding:36px 40px 28px}.leak-intro{justify-content:space-between;align-items:start;gap:40px;display:flex}.leak-intro h2{letter-spacing:-.025em;font-size:32px;line-height:1.15}.leak-intro p{color:#555;max-width:36ch;margin:0;font-size:15px;line-height:1.7}.leak-diagram{grid-template-columns:minmax(0,660fr) minmax(180px,250fr);align-items:stretch;max-width:910px;margin:32px auto 24px;display:grid}.leak-media{aspect-ratio:660/300;min-width:0}.leak-media video{object-fit:contain;width:100%;height:100%;display:block}.leak-labels{color:#333;font-size:14px;position:relative}.leak-labels span{line-height:1.3;position:absolute;left:10px;right:0;transform:translateY(-50%)}.leak-labels span:first-child{top:29%}.leak-labels span:nth-child(2){top:40%}.leak-labels span:nth-child(3){top:63%}.leak-labels span:nth-child(4){top:90%}.leak-media-status{font-size:14px;line-height:1.6}.leak-controls #leak-play{border-color:#151515;font-weight:600}.leak-controls{flex-wrap:wrap;gap:8px;display:flex}.leak-controls button{color:#151515;background:0 0;border:1px solid #777;min-height:46px;padding:12px 18px;font-size:14px}.leak-controls button[aria-pressed=true]{color:#fff;background:#151515;border-color:#151515}.leak-controls button:hover{text-underline-offset:4px;border-color:#151515;text-decoration:underline}.leak-explanation{max-width:76ch;min-height:3.3em;margin:20px 0 12px;font-size:16px;line-height:1.65}.leak-study figcaption{color:#626262;font-size:12px;line-height:1.6}.story-contents{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px 36px;padding:24px 0;display:flex}.story-contents a{align-items:center;min-height:44px;font-size:14px;display:inline-flex}.story-chapter{border-bottom:1px solid var(--line);grid-template-columns:.85fr 1.25fr;gap:80px;padding:80px 0;scroll-margin-top:32px;display:grid}.story-chapter h2{max-width:16ch;font-size:clamp(32px,3.5vw,48px);line-height:1.12}.chapter-copy{max-width:68ch}.chapter-copy p{color:#444;margin:0 0 24px;font-size:17px;line-height:1.85}.chapter-copy h3{letter-spacing:0;margin:38px 0 14px;font:600 19px/1.4 Arial,Helvetica,sans-serif}.chapter-copy p:last-child{margin-bottom:0}.chapter-copy .chapter-takeaway{color:#151515;border-top:1px solid var(--line);margin-top:32px;padding-top:24px;font:400 27px/1.35 Georgia,Times New Roman,serif}.precision-approach{color:#fff;background:#151515;margin:0 -48px;padding:76px 48px;scroll-margin-top:0}.approach-heading{grid-template-columns:1fr 1fr;align-items:start;gap:72px;display:grid}.approach-heading h2{font-size:clamp(38px,4.5vw,60px)}.approach-heading>p{color:#e0e0e0;max-width:43ch;margin:0;font-size:18px;line-height:1.75}.approach-details{margin-top:56px}.approach-details section{border-top:1px solid #555;grid-template-columns:.85fr 1.25fr;gap:80px;padding:32px 0;display:grid}.approach-details h3{letter-spacing:-.02em;font-size:29px;line-height:1.2}.approach-details p{color:#e0e0e0;max-width:68ch;margin:0;font-size:16px;line-height:1.85}.approach-next{border-top:1px solid #555;justify-content:space-between;align-items:center;gap:32px;padding-top:32px;display:flex}.approach-next p{max-width:33ch;margin:0;font-size:18px;line-height:1.6}.approach-next .button{color:#151515;background:#fff;border-color:#fff;flex-shrink:0}.approach-next .button:hover{color:#fff;background:#151515}.precision-approach a:focus-visible{outline-color:#fff}.story-closing{grid-template-columns:.85fr 1.25fr;gap:80px;padding:80px 0;display:grid}.story-closing h2{font-size:42px}.story-closing p{max-width:68ch;margin:0 0 18px;font-size:17px;line-height:1.8}.story-closing .story-note{color:#626262;margin-top:24px;font-size:12px;line-height:1.7}.roof-story footer{border-top:1px solid var(--line)}@media (width<=900px){.story-opening{gap:32px;padding-top:56px}.story-chapter,.story-closing{grid-template-columns:.8fr 1.2fr;gap:36px}.leak-study{padding:28px}.leak-intro{display:block}.leak-intro p{max-width:60ch;margin-top:18px}.approach-heading,.approach-details section{gap:36px}.approach-next{flex-direction:column;align-items:flex-start}}@media (width<=700px){.roof-story main,.story-header{padding-left:20px;padding-right:20px}.story-header{min-height:120px}.story-opening{grid-template-columns:1fr;gap:26px;padding:44px 0 36px}.story-opening h1{font-size:clamp(40px,10.8vw,62px)}.story-opening .story-lead{font-size:21px}.story-opening p{margin-bottom:16px;font-size:16px}.leak-study{margin:0 -20px;padding:28px 20px}.leak-intro h2{font-size:28px}.leak-diagram{margin:24px 0;display:block}.leak-labels{grid-template-columns:1fr 1fr;gap:12px 20px;margin-top:16px;font-size:12px;display:grid}.leak-labels span{border-top:1px solid #ccc;padding-top:8px;position:static;transform:none}.leak-controls{grid-template-columns:1fr 1fr;gap:8px;display:grid}.leak-controls button{padding:10px;font-size:12px;line-height:1.3}.leak-explanation{min-height:6.6em;font-size:15px}.leak-study figcaption{font-size:12px}.story-contents{gap:0 24px;padding:18px 0}.story-contents a{font-size:13px}.story-chapter,.story-closing{padding:48px 0;display:block}.story-chapter h2{max-width:17ch;margin-bottom:26px;font-size:35px}.chapter-copy p{font-size:16px;line-height:1.85}.chapter-copy h3{margin-top:30px;font-size:18px}.chapter-copy .chapter-takeaway{font-size:25px}.precision-approach{margin:0 -20px;padding:48px 20px}.approach-heading{display:block}.approach-heading h2{font-size:38px}.approach-heading>p{margin-top:24px;font-size:16px}.approach-details{margin-top:32px}.approach-details section{padding:28px 0;display:block}.approach-details h3{margin-bottom:18px;font-size:28px}.approach-details p{font-size:16px}.approach-next .button{gap:12px;width:100%;padding:14px 16px;font-size:13px}.approach-next p{font-size:17px}.story-closing h2{margin-bottom:24px;font-size:35px}.story-closing p{font-size:16px}}
