/* Cinematic motion, with ordinary scrolling and complete reduced-motion fallbacks. */
.sky-story{position:relative}.sky-story .sky-hero{min-height:760px}.story-roof{position:absolute;inset:0;z-index:-1;opacity:0;overflow:hidden;pointer-events:none}.story-roof img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;transform:scale(1.08)}.story-roof:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 75%)}.story-roof-caption{position:absolute;left:max(32px,calc((100vw - 1376px)/2));right:32px;bottom:140px;color:#fff;opacity:0;visibility:hidden;transform:translateY(30px)}.story-roof-caption h2{font-size:clamp(48px,6vw,90px);line-height:1.05;letter-spacing:-.055em;font-weight:400;margin:20px 0 28px}.story-roof-caption .quiet-link{color:#fff}.story-roof-caption .eyebrow{color:#fff}.experience-ready .sky-story{height:195svh}.experience-ready .sky-story .sky-hero{position:sticky;top:0;height:100svh;min-height:680px;max-height:none}.sky-home .header{z-index:30}.sky-bottom{z-index:3}.sky-content{will-change:opacity,transform}
.roof-system{background:#f1f2f0;position:relative;padding:90px 0}.roof-system-sticky{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}.roof-system h2{font-size:clamp(42px,4.7vw,70px);line-height:1.06;letter-spacing:-.055em;font-weight:400;margin:20px 0 26px}.system-intro{font-size:16px;max-width:390px;line-height:1.7;color:#5c6060}.layer-options{margin:32px 0 18px;border-top:1px solid #cfd2cf;display:flex;flex-direction:column}.layer-options button{appearance:none;font:inherit;background:transparent;border:0;border-bottom:1px solid #cfd2cf;display:flex;gap:20px;align-items:center;min-height:58px;text-align:left;cursor:pointer;padding:10px 0;color:#727776;font-size:15px;transition:color .25s,padding .25s}.layer-options button span{font-size:11px;letter-spacing:.08em}.layer-options button b{margin-left:auto;font-size:17px;font-weight:400}.layer-options button[aria-selected=true]{color:#111;padding-left:10px}.layer-options button[aria-selected=true] span{font-weight:700}.layer-options button:hover{color:#111}.layer-options button:focus-visible,.model-reset:focus-visible{outline:2px solid #151515;outline-offset:4px}#layer-details{min-height:110px;max-width:430px}#layer-description{color:#515858;font-size:14px;line-height:1.7}.roof-model-area{min-width:0}.roof-model{width:100%;height:auto;overflow:visible;display:block;margin:-25px 0 -40px}.roof-plane{transform-origin:50% 50%;transition:opacity .3s,filter .3s;will-change:transform}.plane-shingles{transform:translateY(-180px)}.plane-underlay{transform:translateY(-75px)}.plane-water{transform:translateY(20px)}.plane-deck{transform:translateY(120px)}.roof-guide-lines{transition:opacity .4s}.model-controls{max-width:390px;margin:0 auto}.model-controls label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;color:#646b68}.model-controls input{width:100%;margin:13px 0 0;min-height:40px;accent-color:#181c1b;cursor:ew-resize}.model-reset{display:block;margin:3px auto 20px;background:none;border:0;border-bottom:1px solid #aeb4b0;padding:5px 0;color:#4b5350;font:inherit;font-size:12px;cursor:pointer}.model-note{font-size:10px;color:#6a716e;line-height:1.6;max-width:470px;margin:20px auto 0;text-align:center}.experience-ready .roof-system{height:155svh;padding:0}.experience-ready .roof-system-sticky{position:sticky;top:0;min-height:100svh;padding-top:40px;padding-bottom:40px}.layer-options [aria-selected=true] b{transform:rotate(45deg)}
.project-story{background:#111;color:white;padding:100px 0}.project-story .eyebrow{color:#b9bcbc}.project-story h2{font-weight:400;font-size:clamp(44px,5vw,76px);line-height:1.05;letter-spacing:-.055em;color:#fff;margin:20px 0}.project-story .editorial-heading p{color:#b9bcbc}.project-compare{position:relative;aspect-ratio:16/9;overflow:hidden;background:#262626;--compare:50%;margin-top:46px}.project-compare>img,.compare-before img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--compare)) 0 0)}.compare-labels{position:absolute;inset:24px 24px auto;display:flex;justify-content:space-between;pointer-events:none}.compare-labels span{background:#111d;color:white;padding:9px 12px;font-size:10px;letter-spacing:.12em}.compare-line{position:absolute;top:0;bottom:0;left:var(--compare);width:2px;background:white;pointer-events:none}.compare-line:after{content:'↔';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border:1px solid #fff;border-radius:50%;background:#111b;backdrop-filter:blur(8px);display:grid;place-items:center;font-size:25px}.project-compare input{position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:ew-resize;opacity:0}.project-compare:focus-within{outline:3px solid #adccdf;outline-offset:4px}.project-story-caption{display:flex;justify-content:space-between;gap:30px;padding-top:20px}.project-story-caption h3{color:#fff;font-size:17px;margin:0 0 8px;font-weight:400}.project-story-caption p{font-size:12px;color:#a4abaa;line-height:1.6;max-width:580px;margin:0}.project-story-caption>span{font-size:10px;letter-spacing:.12em;white-space:nowrap}.project-process{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-top:55px}.project-process figure{margin:0}.project-process img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.project-process figcaption{padding:15px 0;font-size:12px;color:#c8cdca}.project-process figcaption span{font-size:10px;color:#919993;margin-right:16px}.project-process .photo-open{width:100%;border:0;background:none;padding:0;cursor:zoom-in}.project-process .photo-open img{transition:transform .5s}.project-process .photo-open:hover img{transform:scale(1.02)}
.quote-section{padding:90px 0 110px;background:#f1f2f0}.quote-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.quote-section h2{font-size:clamp(40px,4.5vw,64px);font-weight:400;letter-spacing:-.055em;line-height:1.08;margin:24px 0}.quote-section p{color:#5d625e;line-height:1.7}.quote-section .quote-direct{border-top:1px solid #cbd0cb;margin-top:35px;padding-top:25px}.quote-direct a{display:block;margin:10px 0;color:#111}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.quote-field{display:flex;flex-direction:column;gap:8px;min-width:0}.quote-field>label{font-size:12px;color:#333;font-weight:500}.quote-field.full,.quote-upload,.quote-consent,.quote-submit,.quote-status{grid-column:1/-1}.quote-form input:not([type=checkbox]):not([type=file]),.quote-form select,.quote-form textarea{width:100%;padding:14px 12px;border:1px solid #c5cbc6;background:#fff;border-radius:0;color:#171b18;font:inherit;font-size:16px;box-sizing:border-box}.quote-form textarea{min-height:120px;resize:vertical}.quote-form input:focus-visible,.quote-form select:focus-visible,.quote-form textarea:focus-visible{outline:2px solid #111;outline-offset:3px}.quote-upload{border:1px dashed #9ca59e;padding:20px;background:#f7f8f6}.quote-upload label{font-size:14px;display:block;margin-bottom:8px}.quote-upload small{display:block;color:#69716a;margin-top:10px;font-size:11px;line-height:1.5}.quote-upload input{font:inherit;font-size:12px;width:100%;min-height:40px}.quote-upload input::file-selector-button{background:#fff;border:1px solid #adb6af;padding:10px 16px;cursor:pointer;margin-right:14px}.upload-previews{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.upload-preview{width:76px;position:relative}.upload-preview img{width:76px;height:64px;object-fit:cover}.upload-preview button{position:absolute;right:0;top:0;width:28px;height:28px;border:0;background:#111;color:#fff;cursor:pointer}.quote-consent{font-size:12px;line-height:1.6;display:flex;gap:10px;align-items:flex-start;color:#5b665f}.quote-consent input{margin-top:4px;accent-color:#111;flex:none}.quote-submit{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.quote-submit .button{cursor:pointer;border:0}.quote-submit small{font-size:11px;color:#6b746e;max-width:220px}.quote-status{margin:0;padding:15px;border-left:3px solid #334f3d;background:#e2ebe4;font-size:14px;line-height:1.6}.quote-status[hidden]{display:none}.quote-status.error{border-color:#8e3939;background:#f5e4e1;color:#6b2424}.quote-form [aria-invalid=true]{border-color:#8e3939!important}.quote-honeypot{position:absolute!important;left:-9999px!important;opacity:0;pointer-events:none}.quote-form button:disabled{opacity:.55;cursor:wait}.reveal-ready{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal-ready.is-pending{opacity:0;transform:translateY(28px)}
@media(min-width:900px){.sky-home.scrolled .header{position:fixed;background:#111f;box-shadow:0 1px 0 #ffffff24}.sky-home.scrolled .header-inner{min-height:74px}.sky-home.scrolled .current-logo{height:76px;width:122px}.sky-home.scrolled .current-logo img{width:174px;height:174px;left:-26px;top:-43px}.sky-home.scrolled .header-cta{padding:13px 22px}}
@media(max-width:900px){.roof-system-sticky{gap:20px;grid-template-columns:1fr 1.1fr}.roof-system h2{font-size:45px}.quote-layout{gap:38px}.story-roof-caption{left:24px}.experience-ready .roof-system{height:auto;padding:70px 0}.experience-ready .roof-system-sticky{position:relative;min-height:0;padding-top:0;padding-bottom:0}.roof-model{margin:0 0 -30px}.project-story{padding:70px 0}}
@media(max-width:650px){.sky-story .sky-hero{min-height:710px}.experience-ready .sky-story{height:155svh}.experience-ready .sky-story .sky-hero{min-height:620px;height:calc(100svh - 62px)}.sky-story .sky-content{padding-top:90px}.story-roof-caption{left:24px;right:24px;bottom:110px}.story-roof-caption h2{font-size:49px}.story-roof-caption .eyebrow{font-size:9px}.roof-system-sticky{grid-template-columns:1fr;gap:20px}.roof-system h2{font-size:46px}.system-intro{font-size:15px}.layer-options{margin:24px 0 12px}.layer-options button{min-height:51px;font-size:14px}.roof-system-copy>.quiet-link{display:none}.roof-model{margin:-45px 0 -35px}.roof-model-area{padding:0 10px}.model-note{font-size:10px}.model-controls{max-width:280px}.roof-system #layer-details{min-height:85px}.project-story h2{font-size:46px}.project-compare{aspect-ratio:4/5;margin-top:30px}.project-compare img{object-position:center}.compare-labels{inset:16px 12px auto}.compare-labels span{font-size:8px;padding:8px}.compare-line:after{width:44px;height:44px;font-size:22px}.project-story-caption{flex-direction:column;gap:14px}.project-story-caption>span{order:-1}.project-process{grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}.project-process figure:last-child{grid-column:1/-1}.project-process figure:last-child img{aspect-ratio:16/9}.project-process figcaption{font-size:11px;line-height:1.5}.quote-section{padding:65px 0 80px}.quote-layout{grid-template-columns:1fr;gap:35px}.quote-section h2{font-size:46px}.quote-form{gap:18px}.quote-field{grid-column:1/-1}.quote-upload{padding:16px}.quote-submit{gap:12px}.quote-submit .button{width:100%;justify-content:center}.quote-submit small{max-width:none}.sky-home .header{position:absolute}.sky-home.scrolled .header{position:absolute}.sky-bottom{bottom:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.sky-story .sky-hero{position:relative!important}.story-roof-caption,.story-roof{transition:none}.roof-plane,.reveal-ready,.photo-open img{transition:none!important;will-change:auto}.reveal-ready.is-pending{opacity:1;transform:none}}

@media(max-width:650px){.roof-system-sticky{display:flex;flex-direction:column;align-items:stretch}.roof-system-copy{display:contents}.roof-system-copy>.eyebrow{order:0}.roof-system-copy>h2{order:1;margin:2px 0 0}.roof-system-copy>.system-intro{order:2;margin:0}.roof-model-area{order:3;margin-top:8px}.roof-model{margin:-15px 0 -35px}.layer-options{order:4;display:grid;grid-template-columns:1fr 1fr;margin:6px 0 0;column-gap:16px}.layer-options button{font-size:12px;gap:7px;line-height:1.4}.layer-options button span{font-size:9px}.layer-options button b{display:none}.layer-options button[aria-selected=true]{padding-left:0;font-weight:600}#layer-details{order:5;min-height:0}.model-note{margin-top:10px}.model-reset{margin-bottom:10px}.roof-system-sticky{gap:20px}}
@media(min-width:901px){.roof-model-area{transform:translateY(15px)}}
#quote-form,#roof-system,#project-compare{scroll-margin-top:120px}

.project-card .image-note{display:block;font-size:10px;letter-spacing:.04em;color:#ddd;margin-top:8px}.project-story-caption h3:empty{display:none}
