.construction-story .dw-section-head>p,.customer-stories .dw-section-head>p{max-width:32rem;line-height:1.7;color:var(--muted,#6b6965)}
.construction-story .video-embed{min-height:0;aspect-ratio:16/8;display:grid;align-items:center}
.construction-story .video-embed iframe{position:absolute;inset:0;min-height:0;height:100%;aspect-ratio:auto}
.construction-actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;margin-top:1.6rem}
.customer-film-grid{display:grid;grid-template-columns:1.3fr .78fr 1.3fr;gap:clamp(18px,2.4vw,42px);align-items:center;margin-top:2.5rem}
.customer-film{min-width:0;margin:0;overflow:hidden;border-radius:24px;background:#fff;border:1px solid #e9e5df}
.customer-film video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#171614}
.customer-film--portrait video{aspect-ratio:5/7}
.customer-film>div{padding:24px}
.customer-film h3{font-size:clamp(19px,1.65vw,28px);line-height:1.25;margin:10px 0 0;font-weight:500}
.google-review-link{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #ded9d2;padding-top:35px;margin-top:50px}
.google-review-link h3{font-size:clamp(23px,2.3vw,35px);line-height:1.2;margin:12px 0}
.google-review-link p{max-width:40rem;line-height:1.6}
.google-review-link .dw-button{flex-shrink:0}
.instagram-footer{flex-wrap:wrap}
.instagram-posts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;width:100%;flex-basis:100%;grid-column:1/-1;margin-top:30px}
.instagram-post{position:relative;display:block;min-width:0;aspect-ratio:3/4;overflow:hidden;border-radius:22px;background:#252321;color:white!important;text-decoration:none}
.instagram-post img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.instagram-post:hover img{transform:scale(1.035)}
.instagram-post:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.85));pointer-events:none}
.instagram-post-label{position:absolute;bottom:22px;left:22px;right:22px;z-index:1;display:grid;gap:10px}
.instagram-post-label small{font-size:10px;letter-spacing:.1em;color:#eee}
.instagram-post-label strong{font-size:clamp(18px,1.5vw,24px);font-weight:500;line-height:1.2}
.instagram-post-label>span{font-size:12px;color:white}
.instagram-play{position:absolute;left:20px;top:20px;width:40px;height:40px;border:1px solid #ffffff88;border-radius:50%;display:grid;place-items:center;color:white;background:#0003;font-size:23px}
.instagram-status{flex-basis:100%;grid-column:1/-1;font-size:12px;opacity:.7;margin-top:15px}
@media(max-width:800px){.customer-film-grid{grid-template-columns:1fr 1fr;align-items:start}.customer-film--portrait{grid-row:span 2}.customer-film{border-radius:18px}.customer-film>div{padding:17px}.google-review-link{align-items:flex-start;flex-direction:column}.instagram-posts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.construction-story .video-embed{aspect-ratio:auto;min-height:360px}.construction-story .video-consent{padding:28px 18px}}
@media(max-width:480px){.customer-film-grid{grid-template-columns:1fr}.customer-film--portrait{width:80%;justify-self:center;grid-row:auto}.instagram-post-label{bottom:14px;left:14px;right:14px}.instagram-post-label strong{font-size:17px}.instagram-post-label>span{font-size:10px}.instagram-play{top:12px;left:12px;width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.instagram-post img{transition:none}}
/* Shared page ending: social gallery, rounded full-width footer, contact capsule. */
.instagram-footer.social-finale{display:flex;flex-wrap:wrap;gap:24px;border:0;padding:80px var(--content-gutter) 90px;margin:0;width:100%;max-width:none;background:var(--paper);color:var(--ink)}
.social-finale h2{font-size:clamp(30px,3.4vw,50px);line-height:1.12;font-weight:500;letter-spacing:-.035em;max-width:650px}
.social-finale>div:first-child{flex:1;min-width:260px}.social-finale .instagram-posts{margin-top:12px}.social-finale .instagram-status{margin:0}.social-finale>.dw-button{max-width:100%;overflow-wrap:anywhere}
footer.site-footer{width:100%;max-width:none;margin:0;background:#252624;color:#f7f5f2;border-radius:64px 64px 0 0;padding:70px var(--content-gutter) 108px}
.site-footer-inner{max-width:1500px;margin:0 auto}.site-footer-intro{display:flex;align-items:center;gap:72px;padding-bottom:55px;border-bottom:1px solid #ffffff24}.footer-logo{flex:none}.footer-logo img{display:block;width:95px;height:auto}.site-footer .dw-eyebrow{color:#d1bfa9}.site-footer-intro h2{font-size:clamp(32px,4.2vw,62px);line-height:1.1;letter-spacing:-.04em;font-weight:500;margin:15px 0 26px}.site-footer-intro .dw-button{background:#f6f3ee;color:#252624;border-color:#f6f3ee}.site-footer-columns{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:45px;padding:48px 0 44px}.site-footer-columns nav,.site-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.site-footer h3{font-size:15px;font-weight:600;color:#fff;margin:0 0 12px}.site-footer-columns a,.site-footer address,.site-footer-contact p{font-size:14px;line-height:1.7;color:#c9c9c3}.site-footer address{font-style:normal;margin-top:13px}.site-footer-contact p{margin:4px 0 0;font-size:12px}.site-footer a:hover,.site-footer-legal button:hover{color:#fff}.site-footer-intro .dw-button:hover{background:white;color:#252624}.site-footer-legal{border-top:1px solid #ffffff24;padding-top:25px;display:flex;justify-content:space-between;gap:24px;align-items:center;color:#aaa9a3;font-size:11px}.site-footer-legal nav{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.site-footer-legal button{font-size:11px;padding:0;color:inherit}.site-footer :focus-visible{outline:2px solid #ead6bd;outline-offset:5px}
.contact-dock{left:auto;right:24px;bottom:24px;transform:none;width:auto;gap:3px;padding:6px;border:1px solid #e3ded6;background:#fffffff2;color:#333430;border-radius:50px;box-shadow:0 5px 25px #27241e18;backdrop-filter:blur(18px)}
.contact-dock a,.contact-dock button{min-height:44px;padding:10px 15px;border:0;border-radius:30px;display:flex;flex-direction:row;gap:9px;font-size:12px;font-weight:500;transition:background .18s,color .18s}
.contact-dock svg{width:20px;height:20px;flex-shrink:0}.contact-dock .dock-label,.contact-dock button:last-child .dock-label{font-size:12px;color:inherit}.contact-dock a:hover{background:#efede8}.contact-dock button:last-child{background:var(--red);color:#fff;padding-inline:18px}.contact-dock button:last-child:hover{background:var(--red-dark)}
@media(max-width:800px){footer.site-footer{border-radius:38px 38px 0 0;padding-top:45px}.site-footer-intro{gap:35px}.footer-logo img{width:75px}.site-footer-columns{grid-template-columns:1fr 1fr;gap:34px}.site-footer-contact{grid-column:1/-1}.site-footer-legal{align-items:flex-start;flex-direction:column}.instagram-footer.social-finale{padding-top:55px;padding-bottom:55px}.social-finale>.dw-button{font-size:11px;white-space:normal}.contact-dock{right:16px;bottom:16px}}
@media(max-width:480px){.site-footer-intro{align-items:flex-start;gap:22px}.footer-logo img{width:58px}.site-footer-intro h2{font-size:30px}.site-footer-intro .dw-button{font-size:12px;padding:13px 17px}.site-footer .dw-eyebrow{font-size:9px}.site-footer-columns{gap:22px}.site-footer-legal nav{gap:14px}.site-footer-columns a{font-size:13px}.contact-dock{left:50%;right:auto;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 24px)}.contact-dock a,.contact-dock button{flex:0 1 auto;padding:10px 12px;gap:7px}.contact-dock button:last-child{padding-inline:14px}.contact-dock .dock-label,.contact-dock button:last-child .dock-label{font-size:11px}}
@media(prefers-reduced-motion:reduce){.contact-dock a,.contact-dock button{transition:none}}
.hero .hero-photo{opacity:0;transition:opacity 1.8s ease;will-change:transform,opacity;inset:0;object-position:center 55%;pointer-events:none}.hero .hero-photo.is-active{opacity:1}.hero .hero-shade{z-index:1;pointer-events:none}.hero .hero-content,.hero .hero-card{z-index:2}.hero-motion-toggle{position:absolute;z-index:3;bottom:28px;left:var(--content-gutter);border:1px solid #ffffff70;border-radius:30px;background:#201e1b55;color:white;padding:9px 15px;font-size:11px;backdrop-filter:blur(8px)}.hero-motion-toggle[hidden]{display:none}
.dw-benefit-icon{width:68px;height:68px;display:grid;place-items:center;flex-shrink:0;color:#982f27;background:#f7f3ee;border:0;border-radius:18px;margin-bottom:25px}.dw-benefit-icon svg{display:block;width:36px;height:36px;overflow:visible}.dw-benefit h3{margin-top:20px}
@media(prefers-reduced-motion:reduce){.hero .hero-photo{transition:none;will-change:auto}}
/* Portrait building film paired with a catalog offer. */
.construction-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.3fr);gap:clamp(32px,5vw,80px);align-items:center}
.construction-reel{width:100%;max-width:340px;justify-self:center}.construction-reel>.dw-eyebrow{display:block;margin-bottom:18px}.construction-story .video-embed,.construction-story .video-embed:has(iframe){width:100%;aspect-ratio:9/16;min-height:0;border-radius:28px}.construction-story .video-consent{padding:28px 24px}.construction-story .video-consent h3{font-size:25px;line-height:1.2;margin:18px 0 14px}.construction-story .video-consent p{font-size:13px;line-height:1.6;color:#efebe6}.construction-story .video-consent .dw-button{font-size:12px;padding:14px 20px}.construction-story .video-play{font-size:42px}.construction-story .video-embed iframe{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:9/16}.construction-reel-caption{font-size:12px;color:var(--muted);margin:14px 0 0}
.construction-catalog{padding:clamp(26px,3.3vw,50px);border-radius:32px;background:#ece7df;min-width:0}.construction-catalog h2{font-size:clamp(32px,3.5vw,52px);line-height:1.08;letter-spacing:-.04em;margin:18px 0 22px;font-weight:500}.construction-catalog>p{max-width:34rem;font-size:16px;line-height:1.7;color:#65635e}.construction-catalog-offer{display:grid;grid-template-columns:minmax(110px,.75fr) minmax(0,1.2fr);gap:28px;align-items:center;margin:36px 0 32px}.catalog-cover{margin:0;padding:0 4px}.catalog-cover img{display:block;width:100%;height:auto;transform:rotate(-5deg);box-shadow:10px 16px 25px #362e232b;border-radius:2px}.catalog-cover figcaption{font-size:10px;line-height:1.5;color:#706b64;margin-top:20px}.construction-catalog-cta .dw-eyebrow{font-size:9px}.construction-catalog-cta h3{font-size:clamp(21px,2vw,29px);line-height:1.2;letter-spacing:-.025em;font-weight:500;margin:12px 0 22px}.construction-catalog-cta .dw-button{padding:16px 19px;font-size:12px;white-space:normal;line-height:1.4}.construction-catalog-cta>p{font-size:11px;line-height:1.6;color:#6b665f;margin:14px 0 0}.construction-catalog>.text-link{font-size:13px;line-height:1.5}
@media(max-width:850px){.construction-grid{grid-template-columns:1fr;gap:30px}.construction-reel{max-width:320px}.construction-catalog{width:100%;max-width:650px;justify-self:center}.construction-catalog-offer{grid-template-columns:minmax(100px,.65fr) minmax(0,1.2fr)}.construction-catalog h2{font-size:36px}}
@media(max-width:420px){.construction-catalog{padding:25px 22px}.construction-catalog h2{font-size:31px}.construction-catalog-offer{gap:18px;grid-template-columns:90px minmax(0,1fr)}.construction-catalog-cta h3{font-size:21px}.construction-catalog-cta .dw-button{padding:13px 14px;font-size:11px}.construction-catalog>.text-link{font-size:12px}.catalog-cover figcaption{font-size:9px}}
/* Every thumbnail is one clear, unobstructed control. */
.hero-thumbnails button{display:block;position:relative;cursor:pointer;min-height:58px;padding:3px;border:2px solid transparent;transition:border-color .15s,box-shadow .15s;touch-action:manipulation}.hero-thumbnails button img{display:block;pointer-events:none}.hero-thumbnails button[aria-pressed=true]{border-color:var(--red);box-shadow:0 0 0 2px #fff9}.hero-thumbnails button:focus-visible{outline:2px solid var(--red);outline-offset:4px}.hero-thumbnails button:hover{border-color:#a4312870}.hero .hero-content h1{font-size:clamp(50px,5.7vw,86px);line-height:1.02;letter-spacing:-.055em}.hero .hero-content{max-width:62%}.hero .hero-content p{font-size:16px}
@media(min-width:1000px){.hero .hero-card{top:220px;bottom:auto;right:var(--content-gutter);width:300px;padding:22px}.hero .hero-card h2{font-size:32px}.hero .hero-card p{min-height:62px}.hero .scene-facts{margin:12px 0;padding-top:12px}}
@media(max-width:999px) and (min-width:701px){.hero .hero-content{max-width:55%}.hero .hero-content h1{font-size:52px}}
@media(max-width:700px){.hero .hero-content{max-width:none}.hero .hero-content h1{font-size:clamp(39px,10.8vw,65px)}.hero .hero-content p{font-size:14px}.hero .hero-content p br{display:none}.hero .hero-content p{max-width:340px}.hero .hero-card{bottom:90px}.hero-motion-toggle{bottom:24px}}
.home-hero-in-view .contact-dock{visibility:hidden;opacity:0;pointer-events:none}

/* A light invitation keeps the page ending open; only navigation is dark. */
footer.site-footer{padding:0;background:#eee9e2;color:#252624;border-radius:clamp(32px,4vw,64px) clamp(32px,4vw,64px) 0 0;overflow:hidden}
.site-footer>.site-footer-intro{max-width:calc(1500px + 2 * var(--content-gutter));margin:0 auto;padding:clamp(38px,5vw,72px) var(--content-gutter);border:0;gap:clamp(24px,4vw,64px)}
.site-footer-intro .footer-logo img{width:170px;height:auto;mix-blend-mode:multiply}
.site-footer-intro .dw-eyebrow{color:#a32620}
.site-footer-intro h2{color:#252624;font-size:clamp(32px,4.2vw,62px)}
.site-footer-intro .dw-button{background:var(--red);border-color:var(--red);color:white}
.site-footer-intro .dw-button:hover{background:var(--red-dark);border-color:var(--red-dark);color:white}
.site-footer-intro :focus-visible{outline-color:#a32620}
.site-footer-base{background:#252624;color:#f7f5f2;padding:0 var(--content-gutter) 96px}
.site-footer-base .site-footer-columns{padding:40px 0 32px}
@media(max-width:600px){.site-footer>.site-footer-intro{display:grid;grid-template-columns:1fr;gap:5px}.site-footer-intro .footer-logo{width:100px;margin-left:-24px}.site-footer-intro .footer-logo img{width:100px}.site-footer-intro h2{font-size:34px;margin:14px 0 23px}.site-footer-base{padding-bottom:110px}.site-footer-base .site-footer-columns{padding-top:32px}}
