/* Brehm's established palette, with architectural light, material edges and depth. */
:root{--depth-soft:0 2px 4px #171a1f05,0 16px 36px -22px #171a1f45;--depth-raised:0 2px 5px #171a1f0c,0 22px 50px -25px #171a1f55;--ease-out:cubic-bezier(.2,.75,.25,1)}
.area-main .hero,.area-main .service-hero,.area-main .hub-hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 78% 32%,#fffdf9 0,transparent 53%),linear-gradient(125deg,#f7f4ed 15%,#eee8df 100%)}
.area-main .hero:after,.area-main .service-hero:after,.area-main .hub-hero:after{content:'';position:absolute;z-index:-1;pointer-events:none;right:-7%;bottom:-145px;width:620px;height:540px;border:0;border-radius:0;transform:rotate(-18deg);background:repeating-linear-gradient(90deg,transparent 0 75px,#c5b8a51c 76px 77px),linear-gradient(145deg,#ffffff70,#c6baaa29);clip-path:polygon(0 34%,62% 0,100% 24%,100% 85%,39% 100%,0 75%)}
.area-main .hero-grid,.area-main .service-hero-grid{padding-top:54px;padding-bottom:82px}
.area-main .hero-visual,.area-main .service-photo{isolation:isolate;perspective:1100px;transform-style:preserve-3d}
.area-main .hero-visual:before,.area-main .service-photo:before{content:'';position:absolute;inset:18px -13px 48px 22px;border-radius:10px 68px 10px 10px;background:linear-gradient(135deg,#8c1820,#d7282f 60%,#ed5a55);box-shadow:0 30px 45px -25px #8f2b3240;z-index:-1;transform:rotate(2deg)}
.area-main .hero-photo,.area-main .service-photo>img{display:block;border:7px solid #fffaf3;border-radius:10px 62px 10px 10px;box-shadow:0 2px 3px #171a1f1a,0 22px 48px -17px #171a1f59;transform:rotate(-1deg);transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out)}
.brehm-motion .hero-visual.depth-surface,.brehm-motion .service-photo.depth-surface{transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .5s var(--ease-out)}
.area-main .hero-stamp{background:linear-gradient(140deg,#fff,#f4f0e9);border-color:#fff;box-shadow:0 1px 0 #fff inset,0 14px 28px -12px #171a1f50;transform:translateZ(26px);right:-12px}
.area-main .hero-note,.area-main .service-photo-note{background:linear-gradient(125deg,#30363f,#15191f);border:1px solid #535963;box-shadow:0 1px 0 #ffffff20 inset,0 5px 0 -2px #0b0e14,0 22px 32px -15px #0c10195e;transform:translateZ(34px);bottom:9px}
.area-main .hero-note .round{border-color:#ffffff30;background:#ffffff07;box-shadow:0 1px 0 #ffffff13 inset}
.hero-note .round svg{width:28px;height:28px}.location-mark svg{display:block;width:24px;height:29px}
.area-main .photo-caption{padding-top:4px;padding-right:3px;color:#62656b}
.area-main .proof-strip{position:relative;box-shadow:0 7px 18px -14px #171a1f66;background:linear-gradient(#fff,#fcfbf8);z-index:2}
.area-main .page-jump{box-shadow:0 5px 17px -15px #171a1f88;border-color:#ddd8cf}
.jump-inner a{position:relative;padding:2px 0}.jump-inner a:after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--red);transition:width .25s var(--ease-out)}
.jump-inner a[aria-current=location]:after,.jump-inner a:hover:after{width:100%}.jump-inner a[aria-current=location]{color:var(--red-dark)}
.area-main .section.cream,.area-main .signature{background:radial-gradient(ellipse at 90% 0,#fffcf7 0,transparent 60%),linear-gradient(145deg,#f8f5ef,#f0ece4)}
.area-main .section.ink{position:relative;isolation:isolate;background:radial-gradient(ellipse at 80% 0,#3c424c 0,transparent 65%),linear-gradient(135deg,#20252d,#14171c)}
.area-main .section.ink:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(125deg,transparent 0 130px,#ffffff05 131px 132px);opacity:.5}
.area-main .local-card,.area-main .priority{background:linear-gradient(135deg,#ffffff07,#ffffff01);border:1px solid #ffffff21;border-top:2px solid #e55559;border-radius:11px;box-shadow:0 1px 0 #ffffff06 inset,0 14px 24px -18px #0009;padding:27px}
.area-main .local-card{border-top-width:1px;border-top-color:#ffffff38}.area-main .priority .priority-no{text-shadow:0 4px 14px #0004}
.area-main .local-summary{background:linear-gradient(130deg,#303640,#21252d);border-color:#ffffff2b;box-shadow:0 1px 0 #ffffff15 inset,0 6px 0 -3px #11151b,0 30px 48px -28px #000c}
.area-main .local-summary-top{background:radial-gradient(ellipse at 15% 0,#fa6760,transparent 65%),linear-gradient(135deg,#c91e29,#ab1723);border-bottom:1px solid #ffffff2c}
.area-main .local-summary-top:after{width:230px;height:230px;border:35px solid #ffffff12;right:-120px;transform:rotate(35deg)}
.area-main .local-summary-top h3{text-shadow:0 3px 18px #64071230}
.area-main .service-card,.area-main .area-card{background:radial-gradient(circle at var(--light-x,50%) var(--light-y,0%),#fff 0,#fffdf9 45%,#f7f3eb 100%);border:1px solid #ded9d0;box-shadow:0 1px 0 #fff inset,var(--depth-soft);transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .3s}
.area-main .service-card{padding:30px;overflow:hidden}.area-main .service-card:before{content:'';display:block;position:absolute;left:30px;right:30px;top:0;height:3px;background:linear-gradient(90deg,var(--red),#e9b9b0);transform-origin:left;transform:scaleX(.2);transition:transform .4s var(--ease-out)}
.area-main .service-card .num{color:#71757c;letter-spacing:.1em;margin-bottom:24px}.area-main .service-card h3{padding-right:0}.area-main .service-card p{max-width:none}
.area-main .service-card:hover:before,.area-main .service-card:focus-visible:before{transform:scaleX(1)}
.area-main .area-card img{transition:transform .6s var(--ease-out);border-bottom:1px solid #ded9d0}
.area-main .area-card-content{position:relative;background:linear-gradient(#fffdf9,#f6f2ea);flex:1}.area-main .area-card-content:before{content:'';position:absolute;left:25px;top:0;width:36px;height:3px;background:var(--red)}
.area-main .area-card span,.area-main .hub-card-link{text-decoration:underline;text-decoration-color:#caa7a0;text-underline-offset:5px}
.area-main .gallery>a{box-shadow:0 2px 4px #171a1f12,0 22px 36px -20px #171a1f5c;border:5px solid white;transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out)}
.area-main .gallery .zoom{background:#ffffffec;color:var(--ink);border-color:#fff;box-shadow:0 4px 16px #0002;font-size:19px}.area-main .gallery .image-caption{padding-bottom:21px}
.area-main .review-band{background:linear-gradient(120deg,#fffcf6,#eee7dd);box-shadow:0 1px 0 #fff inset,var(--depth-soft);border-color:#ddd5c9}.area-main .rating strong{text-shadow:0 2px 0 white}
.area-main .tool-card,.area-main .checklist-card,.area-main .material-card{border-color:#dad5ca;box-shadow:0 1px 0 #fff inset,0 5px 0 -3px #ded8cc,0 25px 50px -27px #171a1f42}
.area-main .result-panel{background:linear-gradient(135deg,#fffdf9,#eee8de);box-shadow:0 1px 0 white inset,var(--depth-soft);border-color:#dcd5c9}
.area-main .choice{box-shadow:0 1px 0 #fff inset,0 5px 10px -8px #171a1f3b}.area-main .choice[aria-selected=true]{background:linear-gradient(120deg,#333a44,#181d24);box-shadow:0 1px 0 #ffffff1b inset,0 10px 20px -12px #171a1f77;border-color:#414752}
.area-main .material-visual,.area-main .finish-art,.area-main .roof-study,.area-main .diagram-stage{background:radial-gradient(ellipse at 45% 25%,#fffdf8,#e8e1d5 80%);box-shadow:0 1px 0 #ffffffcc inset;border:1px solid #e0d8cb}
.area-main .material-swatch{box-shadow:2px 3px 0 #171a1f22,5px 7px 0 -2px #171a1f1c,16px 35px 28px -7px #171a1f5c;transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out),background-color .35s}
.area-main .roof-study svg,.area-main .diagram-stage svg{filter:drop-shadow(0 12px 8px #171a1f1c)}
.area-main .roof-study [data-layer]{transition:opacity .35s,filter .35s,transform .45s var(--ease-out)}
.area-main .roof-study [data-highlight]{filter:drop-shadow(0 8px 5px #171a1f30)}
.brehm-motion .roof-study [data-highlight]{transform:translateY(-5px)}
.area-main .faq-list details{padding:21px 23px;margin-bottom:11px;border:1px solid #e2dcd1;border-radius:9px;background:linear-gradient(135deg,#fff,#fcfaf5);box-shadow:var(--depth-soft);transition:background .25s,border-color .25s}
.area-main .faq-list details[open]{background:#f7f3ec;border-color:#c8b9a7;box-shadow:0 1px 0 #fff inset,0 10px 30px -23px #171a1f55}.area-main .faq-list summary:after{flex:none}
.area-main .btn{box-shadow:0 1px 0 #ffffff30 inset,0 3px 0 -1px #8f1820,0 10px 18px -12px #b3202b80;border-radius:6px;transition:transform .25s var(--ease-out),box-shadow .25s,background .25s}
.area-main .btn.light{box-shadow:0 1px 0 #fff inset,0 3px 0 -1px #d4cec4,0 10px 18px -14px #171a1f40}.area-main .btn.dark{box-shadow:0 1px 0 #ffffff24 inset,0 3px 0 -1px #080c12,0 10px 18px -14px #171a1f66}
.area-main .btn.outline{box-shadow:none}.area-main .text-link{text-decoration:underline;text-decoration-color:#caaca5;text-underline-offset:5px;text-decoration-thickness:1px}.area-main .text-link:hover{text-decoration-color:currentColor}
.area-main .final-cta{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 75% 0,#f8544e,transparent 64%),linear-gradient(125deg,#b51926,#d7282f 70%,#bc1c27);box-shadow:0 1px 0 #ffffff38 inset}
.area-main .final-cta:before{content:'';position:absolute;right:-30px;top:-80px;width:450px;height:450px;border:55px solid #ffffff07;box-shadow:0 0 0 30px #77061208;transform:rotate(35deg);z-index:-1;pointer-events:none}
.area-main .hub-feature{background:radial-gradient(ellipse at 100% 0,#414854,transparent 75%),linear-gradient(135deg,#262c35,#141820);box-shadow:0 1px 0 #ffffff24 inset,0 6px 0 -3px #080d14,0 26px 48px -26px #171a1f88}
.motion-toggle{color:#d4d8df;background:#ffffff09;border:1px solid #535964;border-radius:30px;padding:6px 12px;font:inherit;font-size:11px;min-height:32px;white-space:nowrap}.motion-toggle:hover{background:#ffffff14;color:white}.motion-toggle:focus-visible{outline:2px solid #ffb6b9;outline-offset:4px}.motion-toggle[hidden]{display:none!important}
@media(hover:hover) and (pointer:fine){
 .brehm-motion .service-card:hover,.brehm-motion .area-card:hover,.brehm-motion .hub-feature:hover{transform:perspective(1000px) translateY(-6px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));box-shadow:0 1px 0 #fff inset,var(--depth-raised);border-color:#c79a93}
 .brehm-motion .area-card:hover img{transform:scale(1.035)}.brehm-motion .gallery>a:hover{transform:translateY(-5px);box-shadow:0 22px 40px -20px #171a1f80}
 .brehm-motion .material-visual:hover .material-swatch,.brehm-motion .finish-art:hover .material-swatch{transform:perspective(800px) rotateX(22deg) rotateZ(-9deg) translateY(-6px);box-shadow:3px 5px 0 #171a1f22,6px 10px 0 -2px #171a1f1c,22px 42px 34px -9px #171a1f50}
}
@media(max-width:1000px){.area-main .hero-grid,.area-main .service-hero-grid{padding-top:42px;padding-bottom:65px}.area-main .priority{padding:23px}.area-main .service-card{padding:26px}}
@media(max-width:760px){
 .area-main .hero-grid,.area-main .service-hero-grid{padding-top:32px;padding-bottom:43px}.area-main .hero-photo,.area-main .service-photo>img{border-width:5px;transform:none}.area-main .hero-visual:before,.area-main .service-photo:before{inset:15px -5px 40px 17px;transform:rotate(1deg)}.area-main .hero-stamp{right:9px}.area-main .hero-note,.area-main .service-photo-note{transform:none;left:9px;max-width:calc(100% - 18px)}
 .area-main .service-card{padding:25px}.area-main .priority{padding:23px 19px;gap:0 14px}.area-main .priority .priority-no{font-size:42px}.area-main .local-card{padding:23px 19px}.area-main .faq-list details{padding:19px}.area-main .faq-list summary{font-size:23px}.area-main .gallery>a{border-width:3px}.area-main .final-cta:before{right:-260px}.footer-bottom .motion-toggle{align-self:flex-start}.area-main .hero:after,.area-main .service-hero:after{right:-300px}
}
/* Motion is additive: content never depends on an entrance animation to be visible. */
.motion-off,.motion-off *{scroll-behavior:auto!important}.motion-off .area-main *,.motion-off .area-main *:before,.motion-off .area-main *:after{animation:none!important;transition:none!important}.motion-off .depth-surface,.motion-off .service-card:hover,.motion-off .area-card:hover,.motion-off .gallery>a:hover,.motion-off .gallery img,.motion-off .btn:hover,.motion-off .choice:hover,.motion-off .diagram-point,.motion-off .roof-study [data-highlight]{transform:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.area-main *{animation:none!important;transition:none!important}.area-main .depth-surface,.area-main .hero-photo,.area-main .service-photo>img,.area-main .hero-stamp,.area-main .hero-note,.area-main .service-photo-note,.area-main .service-card:hover,.area-main .area-card:hover,.area-main .gallery>a:hover,.area-main .gallery img,.area-main .btn:hover,.area-main .choice:hover,.area-main .diagram-point,.area-main .roof-study [data-highlight]{transform:none!important}.area-main .material-visual:hover .material-swatch,.area-main .finish-art:hover .material-swatch{transform:perspective(800px) rotateX(30deg) rotateZ(-13deg)}}
@media print{.motion-toggle{display:none!important}.area-main *{box-shadow:none!important;animation:none!important}.area-main .section.ink{background:white;color:var(--ink)}.area-main .section.ink:before,.area-main .hero:after,.area-main .service-hero:after{display:none}.area-main .local-card,.area-main .priority{background:white;border-color:#aaa}.area-main .section.ink p{color:#333}}

/* Final QA: decorative hero shape must not widen the page. */
.hub-hero{overflow:hidden}
/* Final QA: 24px minimum tap targets for standalone links. */
.breadcrumbs a{display:inline-block;padding:3px 0}
.jump-inner a{padding:6px 0}
.footer-grid a{display:inline-block;padding:2px 0}
.fine a,p.fine a{display:inline-block;padding:5px 0;margin:-5px 0}
/* QA: 24px minimum hit area for inline text links (padding on inline elements enlarges the hit box without moving text) */
.prep-copy p a,.office-line a,.local-card a,.gallery-note a,.text-link,.map-body a,.service-proof a{padding:5px 0}
