:root{color-scheme:dark;--ink:#f4f0e7;--sub:#b7bcb6;--gold:#d2bd8d;--bg:#111614;--rule:#354038}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.skip{position:absolute;left:10px;top:-100px;background:var(--bg);padding:10px;z-index:20}.skip:focus{top:10px}header{display:flex;justify-content:space-between;gap:24px;align-items:center;max-width:1500px;margin:auto;padding:28px 5%}.brand{letter-spacing:2px;font-size:17px;line-height:1.25}.brand span{display:block;letter-spacing:6px;font-size:11px;margin-top:8px}nav{display:flex;gap:30px;align-items:center;font-size:13px}.button{display:inline-block;border:1px solid var(--rule);padding:13px 21px;font-size:13px;letter-spacing:.4px}.solid{background:var(--gold);color:#18221a;border-color:var(--gold)}.hero{position:relative;min-height:670px;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 48%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,15,10,.85),rgba(6,15,10,.35) 55%,rgba(6,15,10,.08)),linear-gradient(0deg,rgba(6,15,10,.6),transparent 35%)}.hero-copy{position:relative;z-index:1;padding:70px 7%;max-width:1000px}.eyebrow{font-size:11px;letter-spacing:2.5px;color:var(--gold);margin:0 0 22px}h1{font:400 clamp(40px,5.1vw,78px)/1.08 Georgia,serif;letter-spacing:-2px;margin:0 0 28px}h1 em,h2 em{font-weight:400;color:var(--gold)}.hero-copy>p:not(.eyebrow){max-width:440px;color:#e0e4dc;font-size:16px}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:32px}.text-link{font-size:13px;color:var(--gold)}.hero-caption{position:absolute;z-index:1;bottom:26px;left:7%;right:7%;display:flex;justify-content:space-between;gap:18px;font-size:10px;letter-spacing:1.6px}.section{max-width:1400px;margin:auto;padding:95px 7%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-head>p{color:var(--sub);font-size:14px;max-width:300px;margin:0}h2{font:400 clamp(30px,3vw,45px)/1.15 Georgia,serif;letter-spacing:-1px;margin:0}h3{font-size:17px;font-weight:400;margin:0}.filters{display:flex;gap:22px;flex-wrap:wrap;margin:0 0 28px}.filters button{background:none;border:0;border-bottom:1px solid transparent;padding:8px 0;font-size:12px;color:var(--sub)}.filters button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px}.photo{border:0;background:none;text-align:left;padding:0;min-width:0}.photo.wide{grid-column:span 2}.photo img{width:100%;height:300px;object-fit:cover;display:block}.photo span{display:block;margin-top:13px;font-size:14px}.photo small{display:block;color:var(--sub);font-size:11px;margin-top:2px}.photo[hidden]{display:none}.gallery-status{font-size:11px;color:var(--sub);margin-top:28px}.films{border-top:1px solid var(--rule)}.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:26px}.film{position:relative}.film>img{width:100%;height:300px;object-fit:cover;display:block}.film .play{position:absolute;top:240px;left:16px;background:#152018;padding:11px 16px;font-size:11px}.film>div{padding:16px 0}.film p{font-size:12px;color:var(--sub);margin:4px 0}.studio{border-top:1px solid var(--rule)}.studio-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.studio-grid>div>p{color:var(--sub);margin-top:0}.services{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px;margin-top:36px}.services p{color:var(--sub);font-size:13px}.contact{max-width:none;background:#1b251e;text-align:center}.contact h2{font-size:clamp(35px,4.7vw,65px)}.contact .actions{justify-content:center}footer{padding:32px 7%;font-size:11px;color:var(--sub);display:flex;justify-content:space-between;gap:20px}footer>div{display:flex;gap:25px}dialog{border:1px solid var(--rule);background:var(--bg);color:var(--ink);max-width:94vw;width:1100px;padding:20px}dialog::backdrop{background:rgba(0,0,0,.85)}dialog img{width:100%;max-height:75vh;object-fit:contain}dialog p{font-size:12px;margin:12px 0 0}.close{display:block;margin:0 0 16px auto;background:none;border:1px solid var(--rule);padding:8px 14px;font-size:12px}@media(max-width:760px){header{align-items:flex-start;padding:22px 6%;gap:15px}nav{gap:12px;flex-wrap:wrap;justify-content:end;max-width:240px}nav a{font-size:11px}nav .button{padding:8px 10px}.brand{font-size:12px}.brand span{font-size:9px;letter-spacing:3px}.hero{min-height:650px}.hero-copy{padding:70px 7%;align-self:center}.hero:after{background:rgba(6,15,10,.58)}h1{font-size:48px}.hero-caption{flex-direction:column;gap:3px}.section{padding:60px 7%}.section-head{align-items:start;flex-direction:column;gap:20px}.gallery{grid-template-columns:1fr 1fr;gap:24px 16px}.photo.wide{grid-column:span 2}.photo img{height:240px}.film-grid,.studio-grid{grid-template-columns:1fr;gap:35px}.film>img{height:270px}.film .play{top:210px}.services{gap:24px}.actions{gap:20px}.contact .actions{flex-direction:column}footer{flex-wrap:wrap}}@media(max-width:420px){h1{font-size:39px}.gallery{grid-template-columns:1fr}.photo.wide{grid-column:auto}.services{grid-template-columns:1fr}.hero-copy>p:not(.eyebrow){font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#film-player video{width:100%;max-height:75vh;background:#000;display:block}
/* Spatial storytelling and liquid photography */
.motion-toggle{border:1px solid var(--rule);background:none;padding:8px 10px;font-size:10px;white-space:nowrap;color:var(--gold)}
.hero{perspective:1200px}.hero>img{transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) scale(1.06);transition:transform .35s ease-out}.hero-copy{transform:translateY(var(--hero-copy-y,0px))}.hero-caption{opacity:var(--hero-opacity,1)}
.spatial-story{height:260vh;position:relative;background:radial-gradient(ellipse at 55% 45%,#303d30 0%,#111614 62%)}
.story-sticky{height:100vh;min-height:640px;position:sticky;top:0;overflow:hidden;perspective:1400px;isolation:isolate}
.story-heading{position:absolute;left:7%;top:8%;z-index:3}.story-heading h2{font-size:clamp(40px,5.5vw,78px)}
.story-image.liquid-frame{position:absolute!important;width:57%;height:58%;top:25%;left:34%;box-shadow:0 35px 90px #0008;transform:translate3d(0,calc(var(--story-p,0)*-30px),calc(var(--story-p,0)*80px)) rotateY(calc(-9deg + var(--story-p,0)*13deg)) rotateX(calc(3deg - var(--story-p,0)*4deg));transform-origin:center;z-index:1}
.story-copy{position:absolute;left:7%;bottom:21%;width:23%;z-index:3}.story-count{font-size:11px;color:var(--gold);letter-spacing:3px}.story-copy h3{font:400 clamp(30px,3vw,46px)/1.2 Georgia,serif}.story-description{color:var(--sub);font-size:14px}.story-credit{font-size:10px;color:var(--sub)}
.portal{position:absolute;border:1px solid #d2bd8d30;pointer-events:none;transform-style:preserve-3d}.portal-one{width:70%;height:78%;left:25%;top:12%;transform:translateZ(calc(-180px + var(--story-p,0)*300px)) rotateY(-14deg)}.portal-two{width:67%;height:73%;left:29%;top:16%;transform:translateZ(calc(-350px + var(--story-p,0)*400px)) rotateY(12deg)}
.story-bottom{position:absolute;bottom:6%;left:7%;right:7%;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.scroll-hint{font-size:11px;color:var(--sub)}.story-chapters{display:flex;gap:18px}.story-chapters button{border:0;border-bottom:1px solid var(--rule);background:none;font-size:11px;color:var(--sub);padding:10px 0}.story-chapters button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}.story-progress{height:1px;background:var(--rule);width:100%}.story-progress span{display:block;height:1px;width:100%;background:var(--gold);transform:scaleX(var(--story-p,0));transform-origin:left}
.interaction-hint{font-size:11px;color:var(--sub);margin:0 0 24px}.liquid-frame{position:relative;overflow:hidden;display:block;width:100%;height:300px}.liquid-frame>img,.liquid-frame>canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.liquid-frame .liquid-alternate{opacity:0;transition:opacity .65s ease}.liquid-frame.is-alternate .liquid-alternate{opacity:1}.liquid-frame>canvas{z-index:1;pointer-events:none}.photo .liquid-frame{height:300px;margin:0}.photo .liquid-frame img{height:100%}.photo{perspective:1000px}.photo .liquid-frame{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.photo:hover .liquid-frame{transform:rotateX(1.5deg) rotateY(-2deg)}.photo span{transition:color .3s}.photo:hover span{color:var(--gold)}
.motion-on .section-head,.motion-on .studio-grid,.motion-on .contact h2{opacity:0;transform:translateY(32px);transition:opacity .8s,transform .8s}.motion-on .is-revealed{opacity:1;transform:none}
.motion-paused .hero>img,.motion-paused .hero-copy,.motion-paused .story-image,.motion-paused .portal,.motion-paused .photo:hover .liquid-frame{transform:none}.motion-paused .hero-caption{opacity:1}.motion-paused .liquid-alternate{transition:none}.motion-paused .section-head,.motion-paused .studio-grid,.motion-paused .contact h2{opacity:1;transform:none}.motion-paused .spatial-story{height:auto}.motion-paused .story-sticky{position:relative;height:800px}.motion-paused .scroll-hint{display:none}
@media(max-width:760px){nav{max-width:260px;gap:10px}.spatial-story{height:220vh}.story-sticky{min-height:690px}.story-heading{top:5%;left:7%}.story-heading h2{font-size:42px}.story-image.liquid-frame{top:30%;left:7%;width:86%;height:35%;transform:rotateY(calc(-5deg + var(--story-p,0)*8deg))}.story-copy{left:7%;bottom:17%;width:86%}.story-count{margin:0 0 5px}.story-copy h3{font-size:30px}.story-description{margin:7px 0}.story-credit{margin:0}.story-bottom{bottom:4%;gap:8px}.story-chapters{gap:16px}.story-chapters button{font-size:10px}.scroll-hint{width:100%;font-size:10px}.portal-one{left:8%;width:84%;height:45%;top:24%}.portal-two{left:13%;width:74%;height:48%;top:23%}.photo .liquid-frame{height:240px}.motion-paused .story-sticky{height:760px}}


@media(max-width:420px){.story-heading h2{font-size:34px}.story-image.liquid-frame{top:32%;height:30%}.story-copy{bottom:18%}.story-copy h3{font-size:27px}}
.story-heading h2{text-shadow:0 2px 24px #11161488}
/* A volumetric architectural frame travels with the estate story. */
.page-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:30;pointer-events:none}.page-progress span{display:block;background:var(--gold);height:100%;transform:scaleX(var(--page-progress,0));transform-origin:left}
.hero>img{transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) rotateY(var(--hero-turn,0deg)) scale(1.08)}
.architecture-object{position:absolute;left:37%;top:24%;width:52vw;max-width:800px;height:51vh;transform-style:preserve-3d;transform:translateZ(calc(-140px + var(--story-p,0)*180px)) rotateY(calc(-32deg + var(--story-p,0)*64deg)) rotateX(calc(12deg - var(--story-p,0)*24deg));pointer-events:none;opacity:.6}
.architecture-object .face{display:block;position:absolute;border:1px solid #d2bd8d75;background:linear-gradient(135deg,#d2bd8d04,transparent);backface-visibility:visible}
.architecture-object .front,.architecture-object .back{inset:0}.architecture-object .front{transform:translateZ(100px)}.architecture-object .back{transform:translateZ(-100px)}
.architecture-object .left,.architecture-object .right{width:200px;height:100%;top:0;left:-100px;transform:rotateY(90deg)}.architecture-object .right{left:auto;right:-100px}
.architecture-object .roof,.architecture-object .floor{width:100%;height:200px;left:0;top:-100px;transform:rotateX(90deg)}.architecture-object .floor{top:auto;bottom:-100px}
.story-image.liquid-frame{transform:translate3d(0,calc(var(--story-p,0)*-30px),calc(var(--story-p,0)*100px)) rotateY(calc(-16deg + var(--story-p,0)*28deg)) rotateX(calc(5deg - var(--story-p,0)*8deg))}
.motion-paused .hero>img,.motion-paused .architecture-object,.motion-paused .story-image.liquid-frame{transform:none}.motion-paused .architecture-object{opacity:.25}
@media(max-width:760px){.architecture-object{left:12%;top:29%;width:76%;height:35vh;transform:translateZ(-80px) rotateY(calc(-24deg + var(--story-p,0)*48deg)) rotateX(8deg)}.story-image.liquid-frame{transform:rotateY(calc(-8deg + var(--story-p,0)*16deg))}.architecture-object .left,.architecture-object .right{width:120px;left:-60px}.architecture-object .right{left:auto;right:-60px}.architecture-object .roof,.architecture-object .floor{height:120px;top:-60px}.architecture-object .floor{top:auto;bottom:-60px}.architecture-object .front{transform:translateZ(60px)}.architecture-object .back{transform:translateZ(-60px)}}
@media(max-width:420px){.architecture-object{top:31%;height:31vh}}
.image-motion-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 16px}.image-motion-controls>span{font-size:11px;letter-spacing:1px;color:var(--sub);margin-right:8px}.image-motion-controls button{background:none;border:1px solid var(--rule);padding:8px 12px;font-size:11px;color:var(--sub)}.image-motion-controls button[aria-pressed=true]{color:var(--gold);border-color:var(--gold);background:#d2bd8d0c}.image-motion-controls .replay-unroll{margin-left:auto;color:var(--gold)}@media(max-width:420px){.image-motion-controls>span{width:100%}.image-motion-controls .replay-unroll{margin-left:0}}

/* Existing Perfect Picture Reality logo, displayed without altering its artwork. */
.brand{display:flex;align-items:center;gap:15px;flex-shrink:0}.brand>img{display:block;width:70px;height:70px;object-fit:contain}.brand .brand-name{display:block;letter-spacing:2px;font-size:17px;margin:0;line-height:1.3}.brand-name b{display:block;font-size:11px;letter-spacing:6px;font-weight:400;margin-top:8px}.studio-identity{display:flex;align-items:center;gap:28px;margin-bottom:38px}.studio-identity>img{width:180px;height:180px;object-fit:contain;display:block}.studio-identity .eyebrow{margin:0}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand>img{width:52px;height:52px;object-fit:contain;display:block}footer{align-items:center}@media(max-width:760px){.brand{gap:9px}.brand>img{width:46px;height:46px}.brand .brand-name{font-size:11px;letter-spacing:1px}.brand-name b{font-size:9px;letter-spacing:3px;margin-top:5px}.studio-identity{gap:20px}.studio-identity>img{width:120px;height:120px}.studio-identity .eyebrow{font-size:10px;letter-spacing:1.6px}.footer-brand{gap:10px}.footer-brand>img{width:42px;height:42px}}@media(max-width:420px){header{gap:12px}.studio-identity{align-items:flex-start;flex-direction:column;gap:16px}}

.flight-birds{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:1;pointer-events:none}.hero-copy,.hero-caption{z-index:2}.flight-birds[hidden]{display:none}
.property-filters{gap:12px 22px;margin-bottom:14px;padding-bottom:16px;border-bottom:1px solid var(--rule)}.gallery-more{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;flex-wrap:wrap}.gallery-more .gallery-status{margin:0}.show-more{background:none;color:var(--gold)}.show-more[hidden]{display:none}.photo-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.photo-navigation button{background:none;color:var(--gold)}.photo-index{font-size:12px;color:var(--sub)}.photo-navigation button:disabled{opacity:.4;cursor:default}@media(max-width:420px){.property-filters{gap:8px 16px}.photo-navigation{gap:10px}.photo-navigation .button{padding:10px;font-size:11px}}
/* A small aircraft tows a gently waving client quote across the upper sky. */
.testimonial-flight{position:fixed;top:110px;left:0;width:min(640px,94vw);z-index:15;pointer-events:none;visibility:hidden;filter:drop-shadow(0 8px 12px #0005);will-change:transform}.testimonial-flight.is-flying{visibility:visible}.flight-train{display:flex;align-items:center;width:100%}.flight-banner{position:relative;flex:1;min-width:0;padding:15px 20px 16px;background:linear-gradient(110deg,#eadfc0,#fff8e6 45%,#e0cfaa);color:#1d3831;border:1px solid #bca46b;border-radius:2px 8px 8px 2px;transform-origin:right center;animation:banner-wave 2.5s ease-in-out infinite;box-shadow:inset 0 -3px 0 #b59d6533}.flight-banner:before{content:'';position:absolute;inset:0;border-left:4px solid #35564c}.flight-stars{display:block;font-size:8px;letter-spacing:2.2px;color:#6c653f;margin-bottom:3px}.flight-banner q{display:block;font:italic 18px/1.25 Georgia,serif}.flight-credit{display:block;margin-top:7px;font-size:9px;line-height:1.4;letter-spacing:.3px}.tow-line{width:52px;flex:none;height:35px}.review-plane{width:135px;flex:none;overflow:visible}.plane-propeller{transform-origin:171px 55px;animation:propeller .1s linear infinite}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.review-card{margin:0;padding:32px;background:#1b251f;border:1px solid var(--rule);display:flex;flex-direction:column}.review-card blockquote{font:400 25px/1.4 Georgia,serif;margin:10px 0 32px;flex:1}.review-card figcaption strong,.review-card figcaption span{display:block}.review-card figcaption strong{font-size:14px}.review-card figcaption span{font-size:11px;color:var(--sub);margin-top:3px}.review-card .text-link{display:inline-block;margin-top:18px;font-size:11px}.review-card .brokerage{color:var(--gold)}.testimonial-intro{padding-top:90px;padding-bottom:35px}.testimonial-intro>p:not(.eyebrow){max-width:560px;color:var(--sub)}.testimonials-list{padding-top:40px}.review-preview{border-top:1px solid var(--rule)}nav a[aria-current=page]{color:var(--gold)}
@keyframes banner-wave{0%,100%{transform:perspective(700px) rotateY(-3deg) skewY(-.7deg)}50%{transform:perspective(700px) rotateY(3deg) skewY(.7deg)}}@keyframes propeller{50%{transform:scaleY(.15)}}
@media(max-width:1000px){header{gap:14px}nav{gap:16px}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-preview .review-card:last-child{grid-column:1/-1}}@media(max-width:600px){.testimonial-flight{top:140px}.flight-banner{padding:12px 14px}.flight-banner q{font-size:14px}.flight-credit{font-size:8px}.flight-stars{font-size:7px}.review-plane{width:80px}.tow-line{width:25px}.review-grid{grid-template-columns:1fr}.review-card{padding:25px}.review-card blockquote{font-size:24px}.testimonial-intro{padding-top:50px}.review-preview .review-card:last-child{grid-column:auto}}
.motion-paused .testimonial-flight{display:none}@media(prefers-reduced-motion:reduce){.testimonial-flight{display:none}}

.review-summary{margin:28px 0;display:flex;gap:14px;flex-direction:column;font-size:12px;color:var(--sub)}.review-score{font:400 30px Georgia,serif;color:var(--ink)}.review-score span{font:18px Arial,sans-serif;letter-spacing:3px;color:var(--gold)}.rating-only{flex:1;color:var(--sub);font-size:17px;padding:18px 0}
/* Eight-minute atmosphere (one real minute = three virtual hours): daylight → sunset → night → sunrise → daylight. */
:root{--cycle-panel:#1d2f25;--cycle-tint:rgb(255 224 153);--cycle-strength:.045;--night-strength:0;--sun-strength:.25}body{background:var(--bg)}.review-card,.contact{background:var(--cycle-panel)}.day-cycle-sky{position:fixed;inset:0;z-index:4;pointer-events:none;overflow:hidden;background:linear-gradient(165deg,color-mix(in srgb,var(--cycle-tint) calc(var(--cycle-strength)*100%),transparent),transparent 52%,color-mix(in srgb,var(--cycle-tint) calc(var(--cycle-strength)*55%),transparent));mix-blend-mode:screen}.day-cycle-sky:before{content:'';position:absolute;width:70vw;height:70vw;left:45vw;top:-35vw;background:radial-gradient(circle,#ffbe7433,transparent 63%);opacity:var(--sun-strength)}.day-cycle-sky i{position:absolute;border-radius:50%;background:#dcecff;box-shadow:0 0 3px #daeaff;opacity:calc(var(--night-strength)*.6)}.day-cycle-control{position:fixed;bottom:18px;left:18px;z-index:16;border:1px solid var(--rule);background:var(--bg);color:var(--gold);padding:8px 12px;border-radius:30px;font-size:10px;letter-spacing:.6px;box-shadow:0 3px 15px #0002}.hero-copy,.hero-caption{color:#f4f0e7}.hero-copy .solid,.contact .solid{color:#18221a}@media(max-width:600px){.day-cycle-control{bottom:12px;left:12px;padding:7px 10px;font-size:9px}}

/* The sky lives underneath page content, never on top of property photographs. */
body{isolation:isolate}body>header,body>main,body>footer{position:relative;z-index:1}.day-cycle-sky{z-index:0;mix-blend-mode:normal;background:radial-gradient(ellipse at 78% 15%,color-mix(in srgb,var(--cycle-tint) 9%,transparent),transparent 70%)}.day-cycle-sky:before{display:none}.realistic-sky{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero>img{filter:none}.review-card{background:color-mix(in srgb,var(--cycle-panel) 97%,transparent)}

.review-edit-note{font-size:11px;color:var(--sub);max-width:580px;margin:18px 0 28px}

.support-copy{max-width:850px;color:var(--sub);line-height:1.8;margin-top:36px}.support-copy h2,.support-copy h3{color:var(--ink);margin:32px 0 16px}.support-copy .services h2{font:400 23px/1.3 Georgia,serif}.support-photo{width:100%;height:auto;margin-top:24px}footer>div{display:flex;flex-wrap:wrap;gap:12px 20px;max-width:650px}
