/* Pepperwood: photography, quiet depth and progressive motion. */
:root{--shadow-lift:0 26px 60px -25px #17223e4a,0 7px 18px -10px #17223e20;--ease-out:cubic-bezier(.2,.7,.2,1)}
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}
.site-setting{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(28px,5vw,96px);align-items:center;background:#fff}
.site-setting figure{margin:0;min-width:0}
.site-setting .zoom-trigger{display:block;position:relative;width:100%;padding:0;border:0;border-radius:24px;overflow:hidden;background:#e7edf4;cursor:zoom-in;box-shadow:0 16px 38px -22px rgba(39,41,58,.38)}
.site-setting .zoom-trigger img{display:block;width:100%;height:auto}
.site-setting figcaption{margin-top:12px;font-size:13px;color:var(--muted,#61738b)}
.site-setting .lead{margin-bottom:20px}
@media(max-width:800px){.site-setting{grid-template-columns:1fr}.site-setting>div{grid-row:1}.site-setting .zoom-trigger{border-radius:18px}}

/* Photographic cards fill their frame. Technical drawings retain their full view. */
.card-media{position:relative;overflow:hidden;width:100%;margin:0!important}
.other-homes .card-media img,.download-grid .card-media img,.life-grid article:last-child figure img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 60%}
.other-homes a,.download-grid article{display:block}
.card-picture{align-self:stretch}
.card-picture img{height:100%;object-fit:cover;object-position:center 60%}
.other-homes>div{gap:40px}
.home-grid{gap:48px}
.home-card{box-shadow:none;border:1px solid #c5d1df85}
.home-card:nth-child(odd),.other-homes>div>a:nth-child(4n+1),.other-homes>div>a:nth-child(4n),.download-grid article:nth-child(odd){box-shadow:var(--shadow-lift);border-color:transparent}
.home-card:nth-child(even){background:#e5edf7;border-color:#c3d0e1;box-shadow:none}
.other-homes>div>a:nth-child(4n+2),.other-homes>div>a:nth-child(4n+3),.download-grid article:nth-child(even){background:#e4ecf7;border:1px solid #cad5e5;box-shadow:none}
.other-homes>div>a:nth-child(even){margin-top:28px;margin-bottom:-28px}
.other-homes{padding-bottom:100px}
.house-story figure{position:relative}
.house-story figure>img{box-shadow:var(--shadow-lift)}
.house-story .eyebrow:before,.entry-window-detail .eyebrow:before{content:'';display:block;width:42px;height:2px;background:#EFBB42;margin-bottom:24px}
.plan-panel{padding:24px;border-radius:28px;border:1px solid #c6d2e4;background:#ffffff80}
.plan-info{padding-right:8px}
.entry-window-detail{gap:48px;margin-top:56px}
.entry-window-detail figure .architectural-image{box-shadow:var(--shadow-lift)}
.life-grid figure img{aspect-ratio:16/10}
.life-grid article:nth-child(2) figure img{box-shadow:var(--shadow-lift)}
.collection{background:linear-gradient(145deg,#e3ecf8 0%,#f2f6fb 58%,#e6edf7 100%)}

/* Background images are oversized only by their bounded parallax travel. */
[data-parallax]{--parallax-range:0px;--parallax-y:0px;overflow:hidden}
[data-parallax]>img{position:absolute;left:0;top:calc(-1 * var(--parallax-range));width:100%;height:calc(100% + 2 * var(--parallax-range));max-width:none;object-fit:cover;transform:translate3d(0,var(--parallax-y),0)}
.parallax-active>img{will-change:transform}
.hero-image{overflow:hidden}
.hero-image figcaption{z-index:1}
.stoep-story{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:flex-end;min-height:700px;max-width:1920px;padding:64px 6vw;margin:20px auto;border-radius:32px;background:var(--ink)}
.story-background,.contact-photo{position:absolute;inset:0;z-index:-2}
.story-background>img{object-position:45% center}
.stoep-story:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#27293a08,#27293a18 50%,#27293a48)}
.stoep-copy{width:min(440px,43%);padding:40px;background:#fffffff5;border:1px solid #ffffff9c;border-radius:24px;box-shadow:0 26px 65px #11182740}
.stoep-copy h2{font-size:clamp(34px,3vw,48px)}
.stoep-copy>p:not(.eyebrow){font-size:14px}
.scene-caption{position:absolute;bottom:20px;left:3vw;z-index:1;max-width:calc(100% - 6vw);margin:0;padding:6px 11px;border-radius:6px;background:#27293ae8;color:white;font-size:10px;line-height:1.6}
.contact.section{padding:0;isolation:isolate;background:var(--ink);overflow:hidden}
.contact-scene{position:relative;isolation:isolate;overflow:hidden}
.contact-scene:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#161923db 0%,#2023339c 46%,#20233366 100%)}
.contact-photo>img{object-position:center 60%}
.contact-scene .section-head{min-height:510px;max-width:1920px;align-items:center;margin:0 auto;padding:70px max(3vw,24px)}
.contact-scene h2{font-size:clamp(42px,4.8vw,72px);text-shadow:0 2px 20px #0003}
.contact-intro{background:#27293af5;padding:30px 34px;border:1px solid #ffffff35;border-radius:20px;box-shadow:0 24px 60px #0003}
.contact .agents{max-width:1920px;margin:0 auto;padding:40px max(3vw,24px) 56px}
.agent{background:#ffffff05;border-color:#ffffff30}
.agent:nth-child(even){background:#ffffff0c}

/* One-time reveals are added only after JavaScript has an observer ready. */
.reveal-pending{opacity:0;translate:0 18px}
.reveal-ready{transition:opacity .7s var(--ease-out),translate .7s var(--ease-out)}
.reveal-ready:not(.reveal-pending){opacity:1;translate:0 0}
.reveal-ready:focus-within{opacity:1;translate:0 0}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .home-card,.other-homes>div>a,.download-grid article{transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .4s ease}
 .home-card:hover,.other-homes>div>a:hover,.download-grid article:hover{transform:translateY(-5px);box-shadow:0 32px 65px -25px #17223e55}
 .home-card:nth-child(even):hover,.other-homes>div>a:nth-child(4n+2):hover,.other-homes>div>a:nth-child(4n+3):hover{transform:translateY(-2px);box-shadow:0 12px 28px -20px #17223e4a}
 .card-picture img,.card-media img{transition:transform .9s var(--ease-out)}
 .home-card:hover .card-picture img,.other-homes a:hover .card-media img,.download-grid article:hover .card-media img{transform:scale(1.025)}
 .button,.text-link span{transition:transform .25s ease,background .25s ease}
 .button:hover{transform:translateY(-2px)}
 .text-link:hover span{transform:translate(2px,-2px)}
}
@media(max-width:1100px){
 .stoep-story{padding:52px 4vw;min-height:620px}
 .stoep-copy{width:46%;padding:30px}
 .contact-scene .section-head{gap:30px}
 .contact-intro{padding:25px}
}
@media(max-width:900px){
 .hero-image{aspect-ratio:2/1}
 .hero-image>img{aspect-ratio:auto}
 .home-grid{gap:30px}
 .card-picture img{height:auto;aspect-ratio:16/10}
 .plan-panel{padding:18px;gap:22px}
 .contact-scene .section-head{min-height:470px}
 .contact-scene h2{font-size:45px}
 .contact-intro{max-width:340px!important}
 .entry-window-detail{gap:28px}
}
@media(max-width:700px){
 .other-homes>div{gap:24px}
 .other-homes>div>a:nth-child(even){margin:0}
 .other-homes{padding-bottom:48px}
 .home-card:nth-child(odd),.other-homes>div>a:nth-child(4n+1),.other-homes>div>a:nth-child(4n),.download-grid article:nth-child(odd){box-shadow:0 16px 35px -18px #17223e45}
 .stoep-story{min-height:740px;padding:300px 20px 54px;align-items:flex-end;margin:0;border-radius:24px}
 .stoep-copy{width:100%;padding:27px;max-width:500px;margin:auto}
 .stoep-copy h2{font-size:36px}
 .story-background>img{object-position:32% center}
 .scene-caption{font-size:9px;bottom:14px;left:16px;max-width:calc(100% - 32px)}
 .contact-scene .section-head{display:block;padding:48px 24px 64px;min-height:0}
 .contact-scene h2{font-size:44px}
 .contact-intro{margin-top:28px!important;max-width:none!important;padding:24px}
 .contact .agents{padding:24px 16px 38px}
 .contact-scene:after{background:linear-gradient(180deg,#202333a8,#2023338c 60%,#202333c9)}
 .entry-window-detail{margin-top:36px}
 .entry-window-detail>div{padding-top:30px}
 .plan-panel{padding:12px;border-radius:22px}
 .plan-info{padding:24px 6px 6px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .reveal-ready,.reveal-pending{opacity:1;translate:none;transition:none}
 [data-parallax]>img{transform:none!important;will-change:auto!important}
 .home-card,.other-homes>div>a,.download-grid article,.card-picture img,.card-media img,.button,.text-link span{transition:none!important;transform:none!important}
}
