@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500 600;font-display:swap;src:url('/fonts/barlow-600.woff2') format('woff2')}@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700 800;font-display:swap;src:url('/fonts/barlow-700.woff2') format('woff2')}@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/dm-sans.woff2') format('woff2')}
:root{--red:#d92332;--red-dark:#b21524;--ink:#161819;--muted:#656b70;--paper:#f6f6f3;--line:#dedfdb;--white:#fff;--head:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;font-family:var(--body);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #3c90ce;outline-offset:4px}img{max-width:100%;display:block}.skip{position:absolute;left:16px;top:-100px;z-index:30;background:white;padding:12px}.skip:focus{top:10px}.topbar{padding:10px 4.5%;display:flex;justify-content:space-between;background:var(--ink);color:#c9cdce;font-size:.75rem;letter-spacing:.07em}.topbar a{color:white}.top-divider{padding:0 16px;color:#646969}.header{padding:17px 4.5%;display:flex;align-items:center;gap:32px;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{width:178px;flex-shrink:0}.brand img{object-fit:contain;height:56px;width:178px}.brand-fallback{display:none;font-family:var(--head);font-size:2rem;line-height:.8;font-weight:800;letter-spacing:.01em}.brand-fallback span{display:block;font-size:1.25rem;letter-spacing:.22em;color:var(--red);margin-top:8px}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:30px;flex:1;font-size:.9rem;font-weight:550}.desktop-nav a:hover{color:var(--red)}.new{font-size:.65rem;border:1px solid #c8cbc7;padding:2px 5px;vertical-align:middle;margin-left:4px}.header-actions{display:flex;align-items:center;gap:20px}.language{border:0;background:transparent;font-size:.9rem;font-weight:600}.language span{color:var(--muted);padding-left:3px}.button{border:1px solid var(--red);background:var(--red);color:#fff;display:inline-flex;justify-content:center;align-items:center;gap:36px;padding:16px 24px;min-height:54px;font-size:.95rem;font-weight:600;transition:background .18s,transform .18s}.button:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-2px)}.button span{font-size:1.3rem;font-weight:400}.button.small{padding:10px 19px;min-height:46px;gap:24px;font-size:.875rem}.button.outline{background:transparent;color:var(--ink);border-color:#999f9e}.button.outline:hover{background:#e9ece8}.button.white{background:#fff;color:var(--ink);border-color:#fff}.menu-toggle{display:none;background:transparent;border:0;font-size:1.4rem}.mobile-nav{padding:16px 5%;background:white}.mobile-nav a{display:block;padding:12px}.hero{display:grid;grid-template-columns:48% 52%;position:relative;min-height:680px;background:var(--ink);color:white;overflow:hidden}.hero-copy{padding:64px 7% 72px 9.4%;position:relative;z-index:2}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:650;display:flex;align-items:center;gap:12px;line-height:1.5}.red-rule{height:2px;width:27px;background:var(--red);display:inline-block}.hero h1{font-family:var(--head);font-size:clamp(4.5rem,6.7vw,7.25rem);line-height:.92;letter-spacing:-.015em;font-weight:600;margin:29px 0 25px}.hero h1 em{font-style:normal;color:#d6d9d7;font-size:.71em;white-space:nowrap}.hero-copy>p{color:#b8bebe;max-width:365px;line-height:1.75;margin-bottom:29px;font-size:1rem}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{font-size:.9rem;border-bottom:1px solid #697071;padding:8px 0;white-space:nowrap}.text-link span{margin-left:12px}.hero-assurance{display:flex;gap:17px;margin-top:47px;font-size:.75rem;color:#c5cbcc}.hero-assurance span+span{border-left:1px solid #575c5c;padding-left:17px}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 50%;filter:brightness(.81);transition:transform 1s}.hero-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#16181930,transparent 30%),linear-gradient(0deg,#10171966,transparent 35%)}.hero-photo:hover>img{transform:scale(1.025)}.photo-caption{position:absolute;top:28px;left:30px;right:30px;display:flex;justify-content:space-between;color:#fff;font-size:.65rem;letter-spacing:.14em;z-index:1;text-shadow:0 1px 8px #000}.studio-teaser{position:absolute;bottom:50px;right:0;padding:21px 30px 21px 24px;display:flex;align-items:center;gap:20px;background:#f6f6f3;color:var(--ink);z-index:2;box-shadow:0 10px 50px #0002}.teaser-icon{border:1px solid #a6acaa;width:48px;height:48px;display:grid;place-items:center;color:var(--red);font-size:1.7rem}.studio-teaser small{font-size:.625rem;letter-spacing:.1em;display:block;color:var(--muted)}.studio-teaser strong{font-size:1.1rem;font-weight:600;display:block}.teaser-arrow{font-size:1.7rem;margin-left:12px}.hero-side-label{position:absolute;bottom:18px;left:4.5%;font-size:.6rem;letter-spacing:.2em;color:#7c8585}.entry-strip{display:grid;grid-template-columns:1.4fr 1fr 1fr;padding:35px 4.5%;gap:32px;border-bottom:1px solid var(--line);align-items:center}.entry-strip h2{font-size:1.2rem;font-weight:500;margin:8px 0 0}.eyebrow.dark{color:var(--muted);font-size:.65rem}.entry-strip>a{border-left:1px solid var(--line);padding:14px 0 14px 30px;display:flex;justify-content:space-between;font-weight:500}.entry-strip>a:hover{color:var(--red)}footer{background:#171b1c;color:#c8cecc;padding:65px 4.5% 24px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}footer strong{font-family:var(--head);font-size:2.4rem;color:white;letter-spacing:.02em}footer p{color:#979f9f;font-size:.875rem}footer a{display:block;margin-bottom:8px;font-size:.875rem}footer a:hover{color:white}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.7rem;border-top:1px solid #343b3d;padding-top:24px;margin-top:26px}.footer-bottom a{display:inline;margin-left:20px;font-size:.7rem}.plain{background:none;border:0;padding:0;color:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:4px}.chat-launch{position:fixed;bottom:22px;right:25px;padding:14px 21px;border:1px solid #525d5d;background:var(--ink);color:white;border-radius:50px;box-shadow:0 6px 25px #0003;z-index:30;font-size:.9rem;display:flex;align-items:center;gap:10px}.chat-launch span{color:#ff4a57;font-size:1.25rem}#toast{position:fixed;bottom:88px;left:50%;transform:translateX(-50%);max-width:90%;background:var(--ink);color:#fff;z-index:50;padding:12px 20px;display:none}.section{padding:90px 4.5%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px}.section h2,.page-title{font-family:var(--head);font-size:clamp(2.8rem,4.2vw,4.7rem);font-weight:600;line-height:1;margin:14px 0}.section-heading p{max-width:360px;color:var(--muted)}.muted{color:var(--muted)}.error{color:#b11324}.success{color:#176540}[hidden]{display:none!important}@media(min-width:1700px){.hero{min-height:810px}.hero-copy{padding-top:95px}.hero h1{font-size:8rem}}@media(max-width:1150px){.desktop-nav{gap:16px;font-size:.8rem}.header{gap:18px}.header-actions{gap:12px}.hero-copy{padding-top:54px}.hero h1{font-size:5.4rem}.hero{min-height:640px}.hero-actions{gap:15px}.hero-actions .button{padding:15px;gap:15px}.hero-assurance{gap:10px}.hero-assurance span+span{padding-left:10px}.photo-caption{font-size:.6rem}.photo-caption span+span{display:none}}@media(max-width:850px){.topbar{font-size:.6rem}.topbar>span:first-child{display:none}.topbar{justify-content:center}.header{padding:12px 5%;justify-content:space-between}.brand,.brand img{width:145px;height:45px}.desktop-nav{display:none}.menu-toggle{display:block}.header-actions{gap:12px}.header-actions .button{display:none}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:45px 6% 38px}.hero h1{font-size:clamp(4.3rem,11vw,6rem)}.hero-copy>p{max-width:440px}.hero-assurance{margin-top:30px}.hero-photo{height:410px}.studio-teaser{bottom:35px}.hero-side-label{display:none}.entry-strip{grid-template-columns:1fr;gap:15px;padding:32px 6%}.entry-strip>a{border-left:0;border-top:1px solid var(--line);padding:17px 0 0}.section{padding:58px 6%}.section-heading{display:block}.section-heading p{max-width:100%}footer{grid-template-columns:1fr 1fr;padding:48px 6% 95px}.footer-brand{grid-column:1/-1}.footer-bottom{margin-top:0;display:block}.footer-bottom>span{display:block;margin-top:12px}.footer-bottom a{margin-left:0;display:block}.chat-launch{bottom:16px;right:16px}.hero h1 em{white-space:normal}.hero-photo>img{object-position:center}}@media(max-width:450px){.hero-photo{height:340px}.hero h1{font-size:4.6rem}.hero-actions .button{width:100%;justify-content:space-between}.hero-actions .text-link{margin-top:4px}.hero-assurance{font-size:.7rem}.photo-caption{left:22px}.studio-teaser{padding:16px 20px}.studio-teaser strong{font-size:1rem}.teaser-icon{width:38px;height:38px}.entry-strip h2{font-size:1.15rem}.topbar{font-size:.65rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Content and product surfaces */
.page-intro{padding:65px 4.5% 38px;max-width:1450px}.page-intro .page-title{font-size:clamp(3.8rem,6vw,6.6rem);margin:22px 0}.page-intro>p{max-width:650px;color:var(--muted);font-size:1.05rem}.top-tight{padding-top:20px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{position:relative;padding:29px 32px 45px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}.service-card:hover{background:#fff}.card-number{font-size:.75rem;color:var(--red);letter-spacing:.06em}.service-card h3{font-family:var(--head);font-size:2.1rem;line-height:1.15;font-weight:600;margin:24px 0 12px}.service-card p{color:var(--muted);font-size:.9rem;max-width:290px}.card-arrow{position:absolute;bottom:20px;right:28px;font-size:1.5rem}.studio-feature{padding:75px 4.5%;display:grid;grid-template-columns:1.1fr 1fr;gap:7%;background:#e9eae6;align-items:center;overflow:hidden}.studio-feature h2{font-family:var(--head);font-size:clamp(3.4rem,5.5vw,6.5rem);font-weight:600;line-height:.98;margin:22px 0}.studio-feature p{max-width:425px;color:var(--muted);margin-bottom:28px}.studio-feature small{display:block;font-size:.75rem;max-width:350px;color:var(--muted);margin-top:18px}.studio-feature-image{position:relative;box-shadow:20px 25px 0 #d7dad4;transform:perspective(1200px) rotateY(4deg);transition:transform .35s;will-change:auto}.studio-feature-image>img{height:410px;object-fit:cover;width:100%}.sample-palette{position:absolute;left:20px;right:20px;bottom:20px;display:flex;align-items:center;gap:9px;padding:15px;background:#fffffff5}.sample-palette i{display:block;width:34px;height:34px;background:var(--chip);border:2px solid white;box-shadow:0 0 0 1px #bbb}.sample-palette span{font-size:.6rem;letter-spacing:.07em;margin-left:auto}.manufacturer-strip{padding:32px 4.5%;display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--line);flex-wrap:wrap}.manufacturer-strip>span{font-size:.625rem;letter-spacing:.12em;color:var(--muted)}.manufacturer-strip strong{font-size:1.3rem;letter-spacing:-.04em;color:#53595a}.work-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.work-grid figure{margin:0}.work-grid img{width:100%;height:360px;object-fit:cover}.work-grid figcaption{padding:20px 0}.work-grid figcaption span{display:block;color:var(--muted);font-size:.625rem;letter-spacing:.1em;margin-bottom:5px}.work-grid figcaption strong{font-size:1.2rem;font-weight:550}.process-section{display:grid;grid-template-columns:1fr 1.8fr;gap:50px;background:#191d1e;color:white}.process-section .eyebrow{font-size:.65rem;color:#c4cbcb}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:8px}.steps article{border-top:1px solid #4d5455;padding-top:18px}.steps article>span{color:#f74653;font-size:.75rem}.steps h3{font-weight:550;font-size:1.15rem;line-height:1.4;margin-top:28px}.steps p{color:#b3bcbc;font-size:.875rem}.faq-section{display:grid;grid-template-columns:1fr 1.4fr;gap:60px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:23px 0;font-weight:550;gap:20px;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:1.5rem;color:var(--red)}details[open] summary span{transform:rotate(45deg)}details p{color:var(--muted);margin:0 0 24px;max-width:620px}.closing-cta{padding:62px 4.5%;background:var(--red);color:#fff}.closing-cta .red-rule{background:#fff}.closing-cta h2{font-family:var(--head);font-size:clamp(3rem,5.1vw,5.5rem);font-weight:600;line-height:1.05;margin:20px 0 28px}.closing-cta>div:last-child{display:flex;align-items:center;gap:35px}.closing-cta>div>a:last-child{font-weight:550}.service-hero{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.service-hero>div{padding:62px 9%}.service-hero h1{font-family:var(--head);font-size:clamp(3.5rem,4.8vw,5.5rem);font-weight:600;line-height:1;margin:28px 0}.service-hero p{color:var(--muted);margin:24px 0 28px}.service-hero>img{height:100%;width:100%;object-fit:cover;max-height:690px}.split-copy{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split-copy img{width:100%}.scope-list{padding:0;list-style:none}.scope-list li{padding:17px 0;border-bottom:1px solid var(--line)}.scope-list li:before{content:'↗';color:var(--red);margin-right:16px}.gallery-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:34px}.gallery-item{margin:0 0 20px}.gallery-item:nth-child(even){margin-top:75px}.gallery-open{padding:0;border:0;position:relative;background:#ddd;width:100%;text-align:left;overflow:hidden}.gallery-open img{width:100%;height:420px;object-fit:cover;transition:transform .4s}.gallery-open:hover img{transform:scale(1.03)}.gallery-open>span{position:absolute;bottom:20px;left:20px;padding:10px 16px;background:white;font-size:.875rem}.gallery-item figcaption{padding:15px 0;font-size:1rem}.photo-source{font-size:.8rem;color:var(--muted)}.area-feature{display:grid;grid-template-columns:1.2fr 1fr;background:#e9eae6;align-items:center;gap:35px;padding:45px;margin-bottom:40px}.area-monogram{font-family:var(--head);font-weight:700;letter-spacing:-.03em;font-size:clamp(6rem,17vw,17rem);line-height:.9;color:var(--red)}.area-monogram>span{font-family:var(--body);display:block;letter-spacing:.15em;font-size:.65rem;color:var(--ink);margin-top:25px}.area-feature p{color:var(--muted)}.area-feature h2{font-size:3.5rem}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 35px}.area-grid a{border-bottom:1px solid var(--line);padding:21px 0;display:flex;justify-content:space-between}.area-grid a:hover{color:var(--red)}.reading{max-width:960px}.reading h2{font-size:2.5rem;margin-top:38px}.reading p{color:var(--muted)}.tool-section{padding:10px 4.5% 85px}.panel{background:#fff;border:1px solid var(--line);padding:32px}.loading-box{padding:45px;background:#fff;border:1px solid var(--line);color:var(--muted)}.tool-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px}.estimate-sidebar{background:#1b2021;color:white;padding:30px;align-self:start;position:sticky;top:115px}.estimate-sidebar h3{font-family:var(--head);font-size:2.4rem;font-weight:600;line-height:1.1;margin:14px 0 20px}.estimate-sidebar p{color:#bfc6c5;font-size:.9rem}.estimate-sidebar .eyebrow{font-size:.65rem;color:#c2c8c8}.estimate-sidebar ul{padding-left:18px;font-size:.85rem;line-height:1.9;color:#c5cdca}.mini-stat{border-top:1px solid #47514f;padding-top:20px;margin-top:25px}.mini-stat strong{font-size:2.4rem;font-family:var(--head);display:block}.wizard-steps{display:flex;margin-bottom:28px;gap:15px}.wizard-steps button{display:flex;align-items:center;gap:8px;background:none;border:0;border-bottom:2px solid var(--line);padding:12px 0;flex:1;font-size:.85rem;text-align:left;color:var(--muted)}.wizard-steps button[aria-current=step]{border-color:var(--red);color:var(--ink);font-weight:600}.wizard-steps button span{font-size:.7rem;border:1px solid #bec3bf;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.wizard-steps button[aria-current=step] span{background:var(--red);color:white;border-color:var(--red)}.panel h2{font-family:var(--head);font-size:2.5rem;line-height:1.1;font-weight:600;margin:0 0 12px}.panel h3{font-size:1.15rem;font-weight:600}.panel .intro{color:var(--muted);margin-bottom:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid .full{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:8px;font-size:.875rem;font-weight:550}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #c6ccc8;background:#fff;border-radius:0;color:var(--ink);min-height:49px}.field textarea{min-height:125px;resize:vertical}.field small,.help{font-size:.75rem;font-weight:400;color:var(--muted);line-height:1.6}.field input[type=range]{padding:0;border:0;min-height:25px;accent-color:var(--red)}.field input[type=file]{font-size:.8rem}.form-actions{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.choice{position:relative;border:1px solid var(--line);padding:18px;cursor:pointer;display:flex;align-items:flex-start;gap:10px;font-size:.875rem}.choice:has(input:checked){border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);background:#fff7f7}.choice input{accent-color:var(--red);margin:5px 0 0}.choice span{display:block}.choice strong{font-size:.9rem;font-weight:550}.choice small{font-size:.75rem;color:var(--muted);display:block;margin-top:7px}.swatches{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.swatch{width:45px;height:45px;padding:4px;border:1px solid #ccd1cb;background:#fff;position:relative}.swatch>span{display:block;width:100%;height:100%;background:var(--swatch)}.swatch[aria-pressed=true]{border:2px solid var(--ink)}.swatch[aria-pressed=true]:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:white;text-shadow:0 1px 3px #000;font-size:1.1rem}.notice{padding:14px 17px;background:#f2f3ef;border-left:3px solid #7b8580;font-size:.85rem;margin:20px 0;color:#4b5553}.notice.warning{background:#fff4e6;border-color:#c5781d;color:#71501d}.notice.good{background:#eef5f0;border-color:#2a7452;color:#235a41}.check-line{display:flex;align-items:flex-start;gap:12px;font-size:.8rem;line-height:1.6;margin:16px 0}.check-line input{accent-color:var(--red);width:18px;height:18px;flex-shrink:0;margin-top:4px}.price-range{font-family:var(--head);font-size:clamp(2.8rem,5vw,4.8rem);line-height:1.1;margin:20px 0 10px;font-weight:600;letter-spacing:-.015em}.price-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.scope-table{width:100%;border-collapse:collapse;font-size:.85rem;margin:25px 0}.scope-table th,.scope-table td{padding:12px 8px;text-align:left;border-bottom:1px solid var(--line)}.scope-table th{font-size:.75rem;color:var(--muted);font-weight:550}.scope-table td:last-child{text-align:right}.quote-result h3{margin-top:30px}.contact-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:8%}.contact-aside{padding:25px 0}.contact-aside h2{font-family:var(--head);font-size:3.2rem;font-weight:600;line-height:1;margin-top:0}.contact-aside>a{display:block;font-size:.9rem;margin:12px 0}.contact-aside .contact-phone{font-size:1.65rem;font-weight:600;letter-spacing:-.05em}.contact-aside p{color:var(--muted);font-size:.9rem}.contact-aside hr{border:0;border-top:1px solid var(--line);margin:30px 0}.upload-list{list-style:none;padding:0;margin:10px 0}.upload-list li{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px;background:#f0f2ee;font-size:.75rem;margin:7px 0}.upload-list button{background:none;border:0;font-size:1rem}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.submission-success{padding:30px 10px;text-align:center}.success-mark{display:grid;place-items:center;background:#e7f2e9;color:#2d7051;border-radius:50%;width:64px;height:64px;font-size:2rem;margin:0 auto 25px}.submission-success p{color:var(--muted)}.reference{font-family:monospace;font-size:.85rem;background:#edf1ec;padding:12px;margin:25px auto;word-break:break-all}.compact-error{font-size:.85rem;color:#ae1726;margin:12px 0}.studio-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:25px}.studio-controls{background:white;border:1px solid var(--line);padding:25px;align-self:start}.studio-controls h2{font-family:var(--head);font-size:2rem;line-height:1;margin:7px 0 22px}.studio-stage{background:#e3e6e1;padding:18px;min-width:0}.studio-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.studio-toolbar .button{font-size:.8rem;padding:10px 15px;min-height:42px;gap:12px}.canvas-wrap{position:relative;background:#cdd3cd;border:1px solid #c0c7c0}.canvas-wrap canvas{display:block;width:100%;height:auto;cursor:crosshair;touch-action:none}.canvas-labels{display:flex;justify-content:space-between;position:absolute;top:12px;left:14px;right:14px;pointer-events:none;font-size:.65rem;color:#fff;text-shadow:0 1px 3px #000;letter-spacing:.1em}.canvas-labels span{background:#15201b99;padding:5px 9px}.studio-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;flex-wrap:wrap}.studio-bottom button{border:1px solid #a7b1a9;background:transparent;padding:8px 13px;font-size:.8rem}.studio-bottom .active{background:var(--ink);color:white}.studio-stage .help{margin-top:16px}.studio-controls .field{margin:15px 0}.product-source{font-size:.75rem;display:inline-block;text-decoration:underline;text-underline-offset:3px}.material-chip{height:100px;position:relative;box-shadow:6px 9px 0 #dce1d9;margin:20px 10px 25px 0;background:var(--swatch);transform:perspective(600px) rotateX(9deg) rotateY(-10deg);transition:transform .2s}.material-chip:after{content:'';position:absolute;inset:0;border:1px solid #0003;box-shadow:inset 0 2px 20px #fff2}.material-chip-label{font-size:.65rem;letter-spacing:.1em;color:var(--muted)}.photo-comparison{width:100%;accent-color:var(--red)}.studio-controls .button{width:100%;margin-top:12px;gap:15px}.render-status{font-size:.8rem;padding-top:12px;color:var(--muted)}.lightbox{border:0;padding:18px;background:#fff;max-width:min(1000px,95vw);max-height:92vh}.lightbox::backdrop{background:#101716d9}.lightbox img{max-height:75vh;object-fit:contain;max-width:100%}.dialog-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:15px}.dialog-top button{font-size:1.3rem;background:none;border:0;padding:5px 10px}.owner-intro{padding:60px 4.5% 30px;display:flex;justify-content:space-between;align-items:center}.environment-label{font-size:.7rem;border:1px solid #b6c0b8;padding:8px 12px;letter-spacing:.1em}.admin-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:15px;margin:25px 0;flex-wrap:wrap}.admin-tabs button{border:1px solid var(--line);padding:11px 18px;background:#fff;font-size:.9rem}.admin-tabs button.active{background:var(--ink);color:white}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.metric{border:1px solid var(--line);padding:22px;background:#fff}.metric small{color:var(--muted);font-size:.75rem}.metric strong{display:block;font-family:var(--head);font-size:2.8rem;line-height:1.2;margin-top:8px}.admin-topline{display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-topline .button{font-size:.8rem;min-height:40px;padding:8px 14px}.table-scroll{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem;background:#fff;min-width:640px}.admin-table th,.admin-table td{padding:15px;border-bottom:1px solid var(--line);text-align:left}.admin-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#ebeeea}.admin-table td small{display:block;color:var(--muted)}.admin-table input{width:100%;min-width:80px;padding:9px;border:1px solid #c4ccc3}.status-pill{padding:5px 9px;background:#edf1eb;font-size:.7rem;white-space:nowrap}.admin-table button{background:none;border:0;text-decoration:underline;text-underline-offset:3px}.admin-empty{padding:50px 25px;text-align:center;background:white;border:1px solid var(--line)}.admin-empty h3{font-family:var(--head);font-size:2.3rem;margin:0}.admin-empty p{color:var(--muted)}.connection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.connection{padding:24px;background:white;border:1px solid var(--line)}.connection h3{margin:10px 0}.connection p{font-size:.85rem;color:var(--muted)}.connection a{font-size:.85rem;text-decoration:underline}.connection .status-pill{display:inline-block}.owner-detail{padding:25px;max-width:850px;width:90vw;border:1px solid #ddd}.owner-detail::backdrop{background:#101716bb}.owner-detail h2{font-family:var(--head);font-size:2.5rem;line-height:1.05;margin:0}.owner-detail dl{display:grid;grid-template-columns:130px 1fr;gap:12px;font-size:.9rem}.owner-detail dt{color:var(--muted)}.owner-detail dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.owner-detail .notes{white-space:pre-wrap;font-size:.9rem;background:#f1f3ef;padding:16px}.attachment-link{display:block;border-bottom:1px solid #ddd;padding:10px 0;font-size:.85rem}.owner-detail .form-actions{flex-wrap:wrap}.owner-detail select{padding:10px;max-width:100%}.chart-row{display:grid;grid-template-columns:180px 1fr 45px;gap:12px;align-items:center;padding:13px 0;font-size:.85rem;border-bottom:1px solid var(--line)}.chart-track{height:12px;background:#e5eae3}.chart-track>span{display:block;height:100%;background:var(--red)}#chat-panel{position:fixed;right:25px;bottom:90px;width:365px;max-height:calc(100dvh - 120px);background:#fff;z-index:40;box-shadow:0 16px 65px #0003;border:1px solid #d4dad4;display:flex;flex-direction:column}.chat-head{background:var(--ink);color:white;padding:18px 20px;display:flex;justify-content:space-between;align-items:center}.chat-head strong{display:block;font-size:1rem}.chat-head small{color:#a8b3ad;font-size:.7rem}.chat-head button{color:white;background:none;border:0;font-size:1.4rem}.chat-messages{padding:19px;overflow-y:auto;max-height:330px}.chat-message{font-size:.85rem;line-height:1.6;padding:13px 15px;background:#f0f3ef;margin-bottom:13px}.chat-message.user{background:#242c29;color:white;margin-left:35px}.chat-message a{display:block;font-weight:600;margin-top:10px;color:var(--red)}.chat-suggestions{display:flex;flex-wrap:wrap;gap:7px;padding:0 19px 16px}.chat-suggestions button{border:1px solid #c6d0c8;padding:7px 10px;border-radius:20px;background:white;font-size:.7rem}.chat-form{border-top:1px solid var(--line);padding:13px;display:flex;gap:8px}.chat-form input{width:100%;min-width:0;padding:10px;border:1px solid var(--line);font-size:.85rem}.chat-form button{background:var(--red);color:white;border:0;padding:10px 15px}.privacy-dialog{max-width:530px;width:92vw;border:0;padding:30px;box-shadow:0 20px 60px #0004}.privacy-dialog::backdrop{background:#10171688}.privacy-dialog h2{font-family:var(--head);font-size:2.6rem;line-height:1;margin:0 0 15px}.privacy-dialog p{font-size:.85rem;color:var(--muted)}.privacy-dialog .form-actions{flex-wrap:wrap;gap:10px}.privacy-dialog .button{font-size:.8rem;padding:10px 15px;min-height:44px}#cookie-banner{position:fixed;bottom:20px;left:20px;max-width:440px;background:white;border:1px solid var(--line);padding:20px;z-index:35;box-shadow:0 10px 30px #0002}#cookie-banner strong{font-size:.95rem}#cookie-banner p{font-size:.8rem;color:var(--muted);margin:8px 0 14px}#cookie-banner .cookie-actions{display:flex;gap:10px;flex-wrap:wrap}#cookie-banner button{border:1px solid #b3beb7;padding:8px 12px;background:white;font-size:.75rem}#cookie-banner button:first-child{background:var(--ink);color:white;border-color:var(--ink)}
@media(max-width:1100px){.tool-layout{grid-template-columns:minmax(0,1fr) 270px}.contact-layout{grid-template-columns:280px minmax(0,1fr);gap:5%}.studio-layout{grid-template-columns:minmax(0,1fr) 300px}.service-card{padding:25px 22px 40px}.process-section{grid-template-columns:1fr}.studio-feature-image>img{height:340px}.sample-palette span{display:none}}@media(max-width:850px){.page-intro{padding:40px 6% 25px}.page-intro .page-title{font-size:3.7rem}.service-grid{grid-template-columns:repeat(2,1fr)}.studio-feature{grid-template-columns:1fr;padding:48px 6%;gap:45px}.studio-feature-image>img{height:320px}.studio-feature h2{font-size:4rem}.manufacturer-strip{padding:25px 6%;gap:20px;justify-content:flex-start}.manufacturer-strip>span{width:100%}.manufacturer-strip strong{font-size:1.1rem}.work-grid{gap:20px}.work-grid img{height:250px}.work-grid figcaption strong{font-size:1rem}.process-section{gap:20px}.steps{gap:20px}.faq-section{grid-template-columns:1fr;gap:20px}.closing-cta{padding:45px 6%}.closing-cta>div:last-child{gap:22px;flex-wrap:wrap}.service-hero{grid-template-columns:1fr;min-height:0}.service-hero>div{padding:42px 6%}.service-hero>img{height:350px}.split-copy{grid-template-columns:1fr;gap:30px}.gallery-grid{gap:20px}.gallery-open img{height:280px}.gallery-item:nth-child(even){margin-top:45px}.area-feature{padding:30px;grid-template-columns:1fr;gap:40px}.area-monogram{font-size:7rem}.area-feature h2{font-size:2.8rem}.area-grid{grid-template-columns:repeat(2,1fr);gap:0 25px}.tool-section{padding:0 6% 55px}.tool-layout{grid-template-columns:1fr}.estimate-sidebar{position:static}.contact-layout{grid-template-columns:1fr;gap:25px}.contact-aside{padding:0}.contact-aside h2{font-size:2.5rem;margin-bottom:20px}.contact-aside hr{margin:20px 0}.contact-aside p{max-width:450px}.studio-layout{grid-template-columns:1fr}.studio-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.studio-controls>h2,.studio-controls>.notice,.studio-controls>.button,.studio-controls>.render-status{grid-column:1/-1}.studio-controls .material-chip{grid-column:2;grid-row:3 / 5}.metrics{grid-template-columns:repeat(2,1fr)}.owner-intro{padding:40px 6% 25px}.owner-intro .page-title{font-size:3.5rem}.owner-intro{align-items:flex-start}.environment-label{font-size:.6rem}.connection-grid{grid-template-columns:1fr}.panel{padding:25px}.choice-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.service-grid{grid-template-columns:1fr}.service-card{padding:22px 24px 28px}.service-card h3{margin-top:15px}.work-grid{grid-template-columns:1fr}.work-grid img{height:290px}.steps{grid-template-columns:1fr;gap:20px}.steps h3{margin:10px 0 0}.steps p{margin-top:8px}.gallery-grid{grid-template-columns:1fr}.gallery-item:nth-child(even){margin-top:0}.gallery-open img{height:350px}.area-grid{grid-template-columns:1fr}.page-intro .page-title{font-size:3.3rem}.form-grid{grid-template-columns:1fr;gap:19px}.form-grid .full{grid-column:auto}.panel{padding:22px 18px}.wizard-steps{gap:9px}.wizard-steps button{font-size:.7rem;gap:5px;flex-direction:column;align-items:flex-start}.wizard-steps button span{font-size:.6rem;width:20px;height:20px}.choice-grid{grid-template-columns:1fr 1fr}.choice{padding:12px;font-size:.8rem}.choice strong{font-size:.8rem}.choice small{display:none}.form-actions{flex-wrap:wrap}.form-actions .button{padding:12px 18px;font-size:.85rem;gap:15px}.contact-aside .contact-phone{letter-spacing:0}.studio-stage{padding:12px}.studio-controls{display:block}.studio-controls .material-chip{height:75px}.studio-bottom{justify-content:flex-start;gap:7px}.studio-bottom button{font-size:.7rem;padding:7px 9px}.owner-intro{display:block}.environment-label{display:inline-block;margin-top:10px}.metrics{gap:10px}.metric{padding:15px}.metric strong{font-size:2.3rem}.admin-topline{align-items:flex-start}.admin-tabs{gap:6px}.admin-tabs button{font-size:.75rem;padding:8px 12px}.owner-detail dl{grid-template-columns:1fr;gap:6px}.owner-detail dt{margin-top:10px}.chart-row{grid-template-columns:120px 1fr 35px;font-size:.75rem}#chat-panel{width:calc(100vw - 24px);right:12px;bottom:83px}#cookie-banner{left:12px;right:12px;bottom:82px;max-width:none;padding:17px}.privacy-dialog{padding:24px}}@media print{.header,.topbar,footer,.chat-launch,#chat-panel,#cookie-banner,.wizard-steps,.form-actions,.estimate-sidebar,.page-intro,.skip{display:none!important}.tool-layout{display:block}.tool-section{padding:0}.panel{border:0}.quote-result{display:block}.price-range{font-size:35px}body{background:white}.quote-result:before{content:'PEAKED ROOFING — PLANNING ESTIMATE';display:block;font-size:18px;margin-bottom:20px}.notice{break-inside:avoid}}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.visually-hidden:focus-visible+*{outline:3px solid #3c90ce}

.mobile-dock{display:none}.tool-section{scroll-margin-top:110px}@media(max-width:850px){.mobile-dock{display:grid;grid-template-columns:1fr 1.3fr;position:fixed;bottom:0;left:0;right:0;background:var(--ink);color:white;z-index:25;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -5px 20px #0002}.mobile-dock a{display:flex;justify-content:center;align-items:center;min-height:54px;font-weight:600;font-size:.85rem}.mobile-dock a:last-child{background:var(--red)}.chat-launch{bottom:70px}.chat-launch span{font-size:1rem}#chat-panel{bottom:134px;max-height:calc(100dvh - 155px)}#cookie-banner{bottom:135px}footer{padding-bottom:160px}.tool-section{scroll-margin-top:80px}}@media print{.mobile-dock{display:none!important}}
@media(min-width:851px){footer{padding-bottom:95px}}.quote-result .price-range{overflow-wrap:anywhere}

body[data-page='/studio'] .page-intro,body[data-page='/estimate'] .page-intro,body[data-page='/contact'] .page-intro{padding-top:30px;padding-bottom:22px}body[data-page='/studio'] .page-intro .page-title,body[data-page='/estimate'] .page-intro .page-title,body[data-page='/contact'] .page-intro .page-title{font-size:3.4rem;margin:12px 0}body[data-page='/studio'] .page-intro>p,body[data-page='/estimate'] .page-intro>p,body[data-page='/contact'] .page-intro>p{font-size:.95rem;margin:8px 0;max-width:850px}body[data-page='/studio'] .page-intro br,body[data-page='/estimate'] .page-intro br,body[data-page='/contact'] .page-intro br{display:none}@media(max-width:850px){body[data-page='/studio'] .page-intro .page-title,body[data-page='/estimate'] .page-intro .page-title,body[data-page='/contact'] .page-intro .page-title{font-size:2.5rem}}.footer-extra{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:15px}.footer-extra a{font-size:.75rem}.site-catalog-note{font-size:.75rem;color:var(--muted)}
/* Motion is optional, transform-only, and disabled for reduced-motion preferences. */
.owner-preview-bar{display:flex;align-items:center;justify-content:flex-end;gap:22px;padding:7px 4.5%;background:#e9ece7;border-bottom:1px solid #d0d6ce;font-size:.7rem;letter-spacing:.03em}.owner-preview-bar>span{margin-right:auto;color:#687368;font-size:.6rem;font-weight:700;letter-spacing:.15em}.owner-preview-bar a{font-weight:700}.owner-preview-bar a:hover{color:var(--red)}.motion-toggle{display:block;margin-top:12px}.header{transition:box-shadow .3s,background .3s}.header.has-scrolled{box-shadow:0 10px 35px #0001;background:#f6f6f3f5;backdrop-filter:blur(12px)}
@keyframes peaked-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes peaked-pan{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.13) translate3d(-1%,-1%,0)}}
@keyframes peaked-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes peaked-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.motion-on .hero h1{animation:peaked-rise .85s cubic-bezier(.2,.7,.2,1) both}.motion-on .hero-copy>p{animation:peaked-rise .85s .12s both}.motion-on .hero-actions{animation:peaked-rise .85s .23s both}.motion-on .hero-photo>img{animation:peaked-pan 18s ease-in-out alternate infinite}.motion-on .hero .red-rule{transform-origin:left;animation:peaked-line 1s both}.motion-on .studio-teaser .teaser-icon{animation:peaked-float 4s ease-in-out infinite}.motion-on .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}.motion-on .reveal.in-view{opacity:1;transform:none}.service-card{transition:transform .35s,box-shadow .35s,background .35s}.service-card:hover{transform:translateY(-7px);box-shadow:0 20px 40px #0001}.card-arrow{transition:transform .3s}.service-card:hover .card-arrow{transform:translate(4px,-4px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-on *{animation:none!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}.button,.service-card,.header{transition:none!important}}
@media(max-width:520px){.owner-preview-bar{gap:14px;padding:7px 5%;font-size:.65rem}.owner-preview-bar>span{font-size:.53rem}}
@media print{.owner-preview-bar,.motion-toggle{display:none!important}.reveal{opacity:1!important;transform:none!important}}
.portfolio-intro{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:50px;padding:54px 4.5% 50px}.portfolio-intro h1{font:600 clamp(4rem,7.5vw,8rem)/.9 var(--head);letter-spacing:-.02em;margin:24px 0 0}.portfolio-intro h1 em{display:block;font-style:normal;color:var(--red)}.portfolio-intro-copy{max-width:360px;margin:0 0 8px auto;color:var(--muted)}.portfolio-intro-copy .text-link{display:inline-block;color:var(--ink);margin-top:16px}.portfolio-feature{position:relative;margin:0 4.5%;height:clamp(300px,43vw,580px);overflow:hidden;background:#dce2d7}.portfolio-feature>img{width:100%;height:100%;object-fit:cover;object-position:50% 37%}.motion-on .portfolio-feature>img{animation:peaked-pan 22s ease-in-out alternate infinite}.portfolio-feature:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}.portfolio-feature-caption{position:absolute;left:34px;right:30px;bottom:30px;z-index:1;color:#fff;display:flex;justify-content:space-between;gap:30px;align-items:end}.portfolio-feature-caption span{font-size:.65rem;letter-spacing:.13em}.portfolio-feature-caption strong{font:600 clamp(1.5rem,3vw,2.6rem)/1 var(--head)}.portfolio-section{padding:48px 4.5% 80px}.portfolio-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.portfolio-filters{display:flex;gap:8px;flex-wrap:wrap}.portfolio-filters button{border:1px solid #d6d9d3;background:transparent;padding:10px 19px;font-size:.8rem;border-radius:2px}.portfolio-filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}#gallery-count{font-size:.75rem;color:var(--muted);white-space:nowrap}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;align-items:start}.gallery-card{margin:0;min-width:0}.project-open{display:block;padding:0;border:0;position:relative;width:100%;overflow:hidden;background:#e3e6df;aspect-ratio:4/3}.project-open img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .5s}.project-open:hover img{transform:scale(1.05);filter:brightness(.9)}.gallery-expand{position:absolute;bottom:14px;right:14px;background:var(--paper);width:38px;height:38px;display:grid;place-items:center;font-size:1.4rem;transition:transform .3s}.project-open:hover .gallery-expand{transform:rotate(-8deg)}.gallery-card figcaption{padding:16px 0}.gallery-card figcaption>span{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.gallery-card h2{font:600 1.9rem/1.1 var(--head);margin:10px 0}.gallery-card p{font-size:.8rem;color:var(--muted);margin:0;line-height:1.55}.portfolio-source-note{font-size:.7rem;color:var(--muted);max-width:680px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.project-lightbox{width:min(1200px,95vw);max-width:95vw;padding:20px;background:#161819;color:white;border:0}.project-lightbox::backdrop{background:#000c;backdrop-filter:blur(5px)}.project-lightbox>img{max-height:72dvh;width:100%;object-fit:contain}.project-lightbox-top,.project-lightbox-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.85rem;padding:0 0 16px}.project-lightbox-top button{font-size:1.9rem;background:transparent;color:white;border:0}.project-lightbox-nav{padding:18px 0 0}.project-lightbox-nav button{border:1px solid #596061;padding:10px 18px;color:white;background:transparent}.project-lightbox-nav button:hover{background:#303839}
@media(max-width:850px){.portfolio-intro{grid-template-columns:1fr;gap:25px;padding:35px 6%}.portfolio-intro h1{font-size:4.5rem}.portfolio-intro-copy{margin:0;max-width:100%}.portfolio-feature{margin:0;height:360px}.portfolio-feature-caption{left:6%;right:6%;flex-direction:column;align-items:start;gap:12px}.portfolio-section{padding:30px 6% 50px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.portfolio-toolbar{display:block}.portfolio-filters{gap:6px}.portfolio-filters button{padding:9px 12px}.gallery-card h2{font-size:1.65rem}}@media(max-width:520px){.portfolio-grid{grid-template-columns:1fr}.portfolio-intro h1{font-size:4rem}.portfolio-feature{height:290px}.portfolio-feature>img{object-position:50% 35%}.gallery-card h2{font-size:2rem}.project-lightbox{padding:14px}.project-lightbox-top{font-size:.75rem}}
.documents-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}.document-copy{margin-top:20px}.document-upload{border:1px dashed #aab4a8;background:#eff2ec;display:block;padding:24px;font-weight:600}.document-upload input{display:block;width:100%;margin:15px 0;font-size:.8rem}.document-upload small{font-weight:400;font-size:.7rem;color:var(--muted)}.owner-document-list{margin-top:25px}.owner-document{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.owner-document strong{display:block;font-size:.85rem;overflow-wrap:anywhere}.owner-document small{display:block;color:var(--muted);font-size:.7rem}.document-filetype{font-size:.6rem;font-weight:700;background:#eceee8;padding:10px 7px}.document-preview{width:min(760px,95vw);max-width:95vw;border:0;padding:28px}.document-preview::backdrop{background:#0009}.document-preview article{padding:24px 10px}.document-brand{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:25px;border-bottom:3px solid var(--red)}.document-brand img{width:165px}.document-brand span{font-size:.75rem;text-align:right}.document-preview h1{font:600 3rem/1.1 var(--head);margin-top:35px}.document-preview h2{font:600 1.8rem/1.1 var(--head)}.document-example{padding:25px;background:#f1f3ee;margin:28px 0}.document-example p{font-size:.8rem}@media(max-width:950px){.documents-layout{grid-template-columns:1fr}}@media(max-width:520px){.document-brand{display:block}.document-brand span{display:block;text-align:left;margin-top:20px}}
.estimate-progress{display:flex;border-bottom:1px solid var(--line);gap:36px;margin:4px 0 30px}.estimate-progress button{display:flex;gap:10px;align-items:center;border:0;background:transparent;padding:12px 0 17px;font-size:.85rem;color:var(--muted);border-bottom:2px solid transparent}.estimate-progress button>span{font-size:.7rem}.estimate-progress button[aria-current=step]{color:var(--ink);border-bottom-color:var(--red);font-weight:650}.estimate-main-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px}.estimate-explainer{padding:35px 30px;max-width:400px}.estimate-explainer h2{font:600 3.3rem/.98 var(--head);margin:22px 0}.estimate-explainer p{color:var(--muted);font-size:.9rem}.estimate-promise{display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0;font-size:.85rem}.estimate-promise span{color:var(--red);font-family:var(--head);font-size:1.5rem}.estimate-explainer .text-link{display:inline-block;margin-top:25px}.known-area{margin:24px 0}.aerial-result{margin-top:25px;border:1px solid var(--line);padding:18px}.aerial-caption{margin-bottom:14px}.aerial-caption strong{display:block;font-size:.85rem}.aerial-caption span{font-size:.7rem;color:var(--muted)}.aerial-canvas-wrap{position:relative;max-width:512px;margin:auto}.aerial-canvas-wrap canvas{width:100%;display:block;cursor:crosshair}.aerial-crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:27px;color:white;text-shadow:0 0 3px black;pointer-events:none}.aerial-area small{display:block;font-size:.65rem;letter-spacing:.06em;color:var(--muted)}.aerial-area strong{font:600 2.3rem/1.2 var(--head)}.aerial-area strong span{font-size:1.2rem}.aerial-attribution{font-size:.6rem;color:var(--muted)}.analyzer-spinner{display:inline-block;width:17px;height:17px;border:2px solid #aaa;border-top-color:var(--red);border-radius:50%;animation:analyzer-spin 1s linear infinite;vertical-align:middle;margin-right:10px}@keyframes analyzer-spin{to{transform:rotate(360deg)}}.package-results-intro{display:flex;justify-content:space-between;gap:30px;align-items:center}.package-results-intro h2{font:600 clamp(3rem,5vw,5rem)/1 var(--head);margin:20px 0}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px;align-items:stretch}.quote-package{background:white;border:1px solid var(--line);padding:30px 24px;display:flex;flex-direction:column;min-width:0;position:relative}.package-featured{border:2px solid var(--red);box-shadow:0 14px 36px #0001}.package-kicker{font-size:.65rem;letter-spacing:.15em;color:var(--red);font-weight:700}.quote-package h3{font:600 2.4rem/1 var(--head);margin:16px 0}.package-product{min-height:3em;font-size:.88rem;font-weight:600;margin:0}.package-price{font:600 clamp(1.9rem,2.8vw,3rem)/1.1 var(--head);margin:22px 0 6px;letter-spacing:-.02em}.package-price span{display:block;color:#606a64;font-size:.8em;margin-top:5px}.package-caption{font-size:.65rem;color:var(--muted);margin:0 0 22px}.package-description{font-size:.8rem;color:var(--muted);min-height:5em}.quote-package ul{list-style:none;padding:0;margin:15px 0 24px;font-size:.8rem;flex:1}.quote-package li{position:relative;padding:11px 0 11px 23px;border-top:1px solid #eceee8}.quote-package li:before{content:'✓';position:absolute;left:0;color:#526b4c}.quote-package details{font-size:.75rem;margin-bottom:20px}.quote-package .field{font-size:.75rem}.quote-package .button{font-size:.8rem;gap:12px;margin-top:16px}.package-scope>div{display:flex;justify-content:space-between;gap:16px;margin:12px 0;font-size:.7rem}.package-scope strong{white-space:nowrap;font-weight:500}.package-next{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 0}.package-next h3{font:600 2.3rem/1 var(--head);margin:0}.package-next p{max-width:620px;font-size:.85rem;color:var(--muted)}
.auto-studio{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);gap:40px;align-items:start}.studio-upload-row{display:flex;align-items:center;gap:22px;margin-bottom:20px}.auto-studio-photo{background:#dde1d9;position:relative;overflow:hidden;min-height:220px}.auto-studio-photo canvas{display:block;width:100%;height:auto}.roof-analysis-state{position:absolute;bottom:16px;left:16px;right:16px;width:fit-content;background:#f6f6f3ee;padding:9px 13px;display:flex;align-items:center;font-size:.72rem;box-shadow:0 2px 15px #0001}.roof-found-dot{width:7px;height:7px;border-radius:50%;background:#527747;margin-right:9px}.auto-studio-controls{background:#ecefe8;padding:30px}.auto-studio-controls h2{font:600 3.6rem/.95 var(--head);margin:20px 0 28px}.auto-studio-controls .field{margin-bottom:18px;font-size:.8rem}.auto-studio-controls .button{width:100%;gap:14px;font-size:.85rem}.auto-studio-controls .material-chip{height:90px}.auto-studio-controls .material-chip-label{font-size:.55rem;margin:9px 0 20px}.comparison-control{margin:18px 0 10px;font-size:.72rem}.comparison-control input{padding:0;border:0;accent-color:var(--red)}.studio-note-row{display:flex;align-items:start;justify-content:space-between;gap:20px}.studio-note-row p{max-width:480px}.studio-note-row button{white-space:nowrap;font-size:.75rem;padding-top:10px}.studio-how{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--line);margin-top:24px;padding-top:28px}.studio-how>div>span{display:block;color:var(--red);font:600 2rem/1 var(--head);margin-bottom:14px}.studio-how strong{font-size:.82rem}.studio-how p{font-size:.75rem;color:var(--muted);line-height:1.5}.render-option{margin-top:20px}
@media(max-width:1000px){.estimate-main-grid{grid-template-columns:1.7fr 1fr;gap:20px}.estimate-explainer{padding:25px 10px}.package-grid{gap:12px}.quote-package{padding:24px 17px}.auto-studio{gap:24px;grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr)}}@media(max-width:850px){.estimate-main-grid,.auto-studio{grid-template-columns:1fr}.estimate-explainer{display:none}.package-grid{grid-template-columns:1fr}.quote-package{padding:27px}.package-price{font-size:3rem}.package-price span{display:inline;font-size:.8em}.package-product,.package-description{min-height:0}.package-results-intro,.package-next{display:block}.package-results-intro button{margin-bottom:20px}.estimate-progress{gap:20px}.estimate-progress button{font-size:.7rem}.auto-studio-controls{display:block}.auto-studio-controls h2 br{display:none}.studio-how{gap:16px}.studio-note-row{display:block}}@media(max-width:520px){.studio-upload-row{gap:16px}.studio-upload-row .button{font-size:.8rem;gap:10px;padding:13px}.studio-upload-row .plain{font-size:.7rem}.estimate-progress{gap:13px}.estimate-progress button{gap:6px;font-size:.65rem}.estimate-progress button span{font-size:.6rem}.package-price{font-size:2.65rem}.studio-how{grid-template-columns:1fr}.studio-how>div{display:grid;grid-template-columns:35px 1fr;column-gap:10px}.studio-how p{grid-column:2;margin:5px 0}.studio-how>div>span{grid-row:1/3;font-size:1.8rem}.aerial-result{padding:12px}.aerial-caption strong{font-size:.75rem}}
.package-measurement{font-size:1.55rem;font-weight:700;letter-spacing:-.04em;margin:22px 0;color:var(--ink)}
