/* October 8 website refinement. Retain the approved smoke and metallic gold. */
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
.hero-intro{min-height:560px;gap:48px;grid-template-columns:1.1fr 1fr}
.hero-copy{padding:40px 0}
.hero-copy>.eyebrow{font:500 14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.08em;margin:0 0 24px}
h1{font-size:clamp(42px,4.65vw,67px);line-height:1.1;letter-spacing:-.045em;max-width:16ch;margin:0 0 24px;text-wrap:balance}
.sub{font-size:17px;line-height:1.65;max-width:43ch;margin:0 0 24px;text-wrap:pretty}
.logo-stage{max-width:510px;justify-self:end}
.hero-caption{margin:0;padding:24px 0;gap:24px}
.hero-booking .cta-note{font-family:inherit;font-size:14px;margin:12px 0 0}
.hero>.wrap>.micro{margin:24px 0 0;font-size:12px;line-height:1.7;font-family:inherit;letter-spacing:0;text-transform:none}
.site-nav{font-family:inherit;font-size:12px;gap:24px;letter-spacing:0;text-transform:none}
.site-nav a{min-height:44px;display:inline-flex;align-items:center}
section{padding:80px 0}
p{text-wrap:pretty}.steps p,.card p{font-size:15px;line-height:1.65}
.steps h3{line-height:1.3}.lede{line-height:1.65;margin-bottom:32px}
.client-showcase{padding:32px 0 0;text-align:center}
.client-showcase-heading{font-size:13px;color:var(--muted);font-weight:400;margin:0 0 20px;letter-spacing:0}
.client-rail{display:flex;gap:16px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b99a61 #242422;padding:2px 2px 16px;text-align:center}
.client-logo-link{flex:1 0 calc((100% - 48px)/4);min-width:200px;min-height:112px;padding:20px;border:1px solid #d6b77e29;border-radius:16px;background:linear-gradient(130deg,#ffffff06,#ffffff02);text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;scroll-snap-align:start;transition:border-color .2s,background .2s}
.client-logo-link:hover{border-color:#d6b77e88;background:#ffffff09}.client-logo-link strong{font-size:18px;font-weight:500;color:#e7decc;line-height:1.35}
.client-logo-link img{display:block;width:160px;height:64px;object-fit:contain}
.logo-pending{font-size:11px;color:#aaa79f;font-weight:400}
.client-rail-controls{display:flex;justify-content:center;gap:8px;margin:0 0 16px}
.client-rail-controls button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #d6b77e44;border-radius:50%;background:#ffffff05;color:#e8d1a2;font-size:20px;line-height:1;font-family:inherit;cursor:pointer}
.client-rail-controls button:disabled{opacity:.35;cursor:default}
.case-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;color:#e6cca0;font-size:14px;text-underline-offset:6px}
.case-page{padding:64px 0 80px}.case-page .case-intro{max-width:720px;margin-bottom:48px}.case-page h1{max-width:18ch;font-size:clamp(40px,5vw,64px)}
.case-page .eyebrow{font-size:13px;line-height:1.5;font-weight:500;font-family:inherit;letter-spacing:.08em;margin-bottom:20px}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.case-story{border:1px solid #d6b77e33;border-radius:24px;padding:32px;background:linear-gradient(135deg,#ffffff06,#ffffff02);scroll-margin-top:140px}
.case-story:target{border-color:#d6b77e;box-shadow:0 0 0 3px #d6b77e15}.case-story h2{font-size:30px;line-height:1.2;letter-spacing:-.03em;margin:24px 0 16px;max-width:none}
.case-story p{font-size:16px;color:var(--muted);line-height:1.7;margin:0;max-width:55ch}.case-story img{height:72px;max-width:200px;object-fit:contain}
.case-draft{display:inline-block;color:#dbc38f;font-size:12px;border:1px solid #d6b77e40;padding:6px 10px;border-radius:20px}
.case-next{margin-top:48px;padding-top:32px;border-top:1px solid var(--rule);display:flex;gap:24px;justify-content:space-between;align-items:center}.case-next h2{font-size:28px;margin:0 0 8px}.case-next p{color:var(--muted);margin:0;max-width:50ch}
.case-footer{padding:24px 0;font-size:13px;color:var(--muted)}.case-footer .wrap{display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap}.case-footer nav{display:flex;gap:20px}
.brand>img{width:60px;height:60px;object-fit:contain}
@media(max-width:1000px){.site-nav{gap:16px}.hero-intro{gap:24px;min-height:500px}h1{font-size:clamp(42px,5.8vw,58px)}.client-logo-link{flex-basis:calc((100% - 32px)/3)}.case-story{padding:24px}}
@media(max-width:760px){header{top:8px}.bar{flex-wrap:wrap;gap:0;justify-content:center}.brand{margin-right:auto}.brand svg,.brand>img{width:44px;height:44px}.brand b{display:block;font-size:20px}.site-nav{width:100%;justify-content:space-between;gap:8px;border-top:1px solid #ffffff12;padding-top:4px;font-size:12px}.site-nav .callbtn{padding:8px 10px;font-size:11px;min-height:40px}.site-nav a:not(.callbtn):hover:after{bottom:0}.hero{padding-top:16px;padding-bottom:48px}.hero-intro{grid-template-columns:1fr;min-height:0;gap:0}.hero-copy{padding:32px 0 0}.hero-copy>.eyebrow{font-size:12px;letter-spacing:.06em;margin-bottom:20px}h1{font-size:clamp(38px,8.6vw,58px);max-width:18ch;line-height:1.12}.sub{font-size:16px;max-width:44ch}.logo-stage{max-width:320px;width:85%;justify-self:center;margin:24px auto;aspect-ratio:1.15}.hero-caption{display:flex;justify-content:center;padding:24px 0;margin:0}.hero-caption>span{display:none}.client-showcase{padding-top:24px}.client-logo-link{flex:0 0 72%;min-width:0;min-height:106px}.hero>.wrap>.micro{font-size:12px;margin-top:24px}.case-grid{grid-template-columns:1fr}.case-page{padding-top:40px}.case-page .case-intro{margin-bottom:32px}.case-next{align-items:start;flex-direction:column}.case-story h2{font-size:28px}section{padding:56px 0}.steps p,.card p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.client-rail{scroll-behavior:auto}.client-logo-link{transition:none}}
.client-rail-controls[hidden]{display:none}.site-nav a[aria-current="page"]{color:#efd49c;text-decoration:underline;text-underline-offset:6px}

.hero-booking{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}.hero-booking .cta-note{letter-spacing:0}.client-showcase-heading{max-width:none;width:100%;text-align:center}.case-logo-slot{height:96px;display:flex;align-items:center;margin-top:20px}.case-logo-slot img{display:block;width:92px;height:76px;padding:8px;background:#eeeae1;border-radius:12px}.case-story h2{margin-top:16px}.client-logo-link img{height:72px;width:88px;padding:6px;background:#eeeae1;border-radius:10px}

/* Architectural hero: an illustrative blueprint resolves into a finished home. */
.logo-stage.architecture-stage{display:block;position:relative;width:100%;max-width:620px;aspect-ratio:auto;margin:0;justify-self:end;padding:22px 0 0;overflow:hidden;background:linear-gradient(145deg,#1b1e20,#111416);border:1px solid #d5b77935;border-radius:24px;box-shadow:0 24px 64px #0004;transform:none;transition:none}
.architecture-stage:before,.architecture-stage:after{display:none}.brand-definitions{position:absolute;overflow:hidden;pointer-events:none}
.architecture-heading{display:flex;justify-content:space-between;gap:16px;padding:0 24px;font-size:14px;line-height:1.5;color:#cfba91;letter-spacing:.02em}
.architecture-scene{position:relative;aspect-ratio:3/2;margin-top:8px;isolation:isolate;overflow:hidden;mask-image:linear-gradient(transparent,#000 12%,#000 86%,transparent)}
.architecture-scene img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.architecture-house{z-index:1}.architecture-scan{position:absolute;top:8%;bottom:12%;width:1px;left:100%;z-index:2;background:linear-gradient(transparent,#eed39a,transparent);box-shadow:0 0 18px #e1b96c;opacity:0;pointer-events:none}
.architecture-stage figcaption{display:flex;justify-content:space-between;gap:10px;margin:0 24px;padding:0 0 20px;border-bottom:1px solid #d5b77926;font-size:12px;line-height:1.4;color:#e7dfcf;font-weight:500}
.architecture-stage figcaption span:before{content:'';display:inline-block;width:4px;height:4px;background:#cfb078;border-radius:50%;margin-right:8px;vertical-align:middle}
.architecture-footer{min-height:60px;padding:8px 24px;display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:11px;color:#aca99f}.architecture-motion{border:0;background:none;color:#dbc394;font:inherit;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 0 0 12px;cursor:pointer}.architecture-motion:hover{color:#fff0d3}.architecture-motion:focus-visible{outline:2px solid #e1c78f;outline-offset:4px;border-radius:4px}.architecture-motion[hidden]{display:none}
.client-brands{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0;margin:0 auto}.client-brand{display:flex;align-items:center;justify-content:center;flex:0 0 248px;width:248px;height:160px;padding:16px}.client-brand img{display:block;width:216px;max-width:100%;height:112px;padding:0;object-fit:contain}.client-brand--wisco-bros img{height:128px;filter:drop-shadow(0 0 1px #eee6d566)}
@media(max-width:1000px){.hero-intro{grid-template-columns:1fr 1fr;gap:28px}.architecture-heading{padding:0 18px}.architecture-stage figcaption{margin:0 18px;font-size:11px}.architecture-footer{padding:8px 18px}}
@media(max-width:760px){.hero-intro{grid-template-columns:1fr;gap:24px}.logo-stage.architecture-stage{width:100%;max-width:560px;justify-self:center;margin:0 0 28px;border-radius:20px;padding-top:20px}.architecture-stage figcaption{font-size:11px;gap:6px}.architecture-stage figcaption span:before{margin-right:5px}.client-brand{flex-basis:208px;width:208px;height:144px;padding:12px}.client-brand img{width:184px;height:104px}.client-brand--wisco-bros img{height:120px}.client-showcase--logos{padding-top:28px}}
@media(prefers-reduced-motion:reduce){.architecture-scan{display:none}.architecture-house{clip-path:none!important}}

.hero-booking--primary{text-align:left}.hero-booking--primary .cta-note{font-size:13px;color:var(--muted);text-align:left}.hero-explore{text-align:center}.hero-explore .hero-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 4px}

/* Continuous client strip. Duplicate visual sets never enter the accessibility tree. */
.client-marquee{max-width:1080px;margin:0 auto;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.client-marquee-track{display:flex;width:max-content;max-width:100%}
.client-marquee .client-brands{display:flex;flex-wrap:wrap;justify-content:center;gap:0;max-width:none;margin:0}
.client-marquee.is-ready .client-marquee-track{max-width:none;animation:client-logo-loop var(--client-loop-duration,30s) linear infinite;will-change:transform}
.client-marquee.is-ready .client-brands{flex-wrap:nowrap;flex-shrink:0}
.client-marquee:hover .client-marquee-track,.client-showcase:focus-within .client-marquee-track,.motion-off .client-marquee-track{animation-play-state:paused}
@keyframes client-logo-loop{to{transform:translateX(calc(-1 * var(--client-loop-distance)))}}
@media(prefers-reduced-motion:reduce){.client-marquee{mask-image:none}.client-marquee .client-marquee-track{animation:none!important;transform:none!important;width:100%;max-width:100%}.client-marquee [data-logo-clone]{display:none}.client-marquee .client-brands{flex-wrap:wrap;justify-content:center;width:100%}}

/* Fit supplied transparent canvases to equal visible logo heights. */
.client-brand--mpc-roofing img{width:240px;max-width:none;height:180px}
.client-brand--triad-home-solutions img{width:196px;height:196px;filter:drop-shadow(0 0 1px #eee6d5aa)}
.client-marquee:focus-visible{outline:1px solid #d8bc8066;outline-offset:4px}
@media(max-width:760px){.client-brand--mpc-roofing img{width:220px;height:165px}.client-brand--triad-home-solutions img{width:180px;height:180px}}
