:root{--forest:#19221d;--cream:#fff8ee;--sage:#a9b9a3;--gold:#d7aa67;--white:#fff;--ink:#17201b;--line:rgba(25,34,29,.16);--sans:"DM Sans",sans-serif;--serif:"Cormorant Garamond",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}img{display:block;max-width:100%}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:22px 4.5%;color:#fff;border-bottom:1px solid rgba(255,255,255,.26);transition:background .35s,padding .35s}.site-header.scrolled{position:fixed;background:rgba(25,34,29,.94);padding-top:14px;padding-bottom:14px;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:11px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.25}.brand-mark{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--cream);overflow:hidden}.brand-mark img{width:69px;max-width:none;height:46px;object-fit:cover;object-position:center 60%}.site-header nav{display:flex;gap:34px;font-size:13px}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:#fff;transition:.35s}.site-header nav a:hover:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid transparent;padding:15px 22px;text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:.12em;transition:.35s}.button-small{padding:12px 17px;border-color:rgba(255,255,255,.55)}.button:hover{gap:36px}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:25px;height:1px;background:#fff;margin:6px}.hero{position:relative;min-height:100vh;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroZoom 14s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,18,12,.72) 0%,rgba(8,18,12,.3) 54%,rgba(8,18,12,.12)),linear-gradient(0deg,rgba(7,14,10,.45),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(780px,86%);margin:0 0 10vh 7.5%}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(56px,8vw,124px);line-height:.82;letter-spacing:-.035em;margin:24px 0 32px}.hero h1 em,.intro h2 em{font-weight:400;color:#d4dfcf}.hero-copy{max-width:540px;font-size:17px;line-height:1.7;color:rgba(255,255,255,.82)}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:38px}.button-light{background:var(--cream);color:var(--forest)}.text-link{font-size:13px;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:5px}.hero-address{position:absolute;right:4.5%;bottom:11%;z-index:2;font-size:12px;line-height:1.7;text-align:right;color:rgba(255,255,255,.82)}.hero-address span{font-size:20px}.scroll-note{position:absolute;z-index:2;right:4.5%;bottom:3%;display:flex;align-items:center;gap:12px;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.scroll-note span{width:60px;height:1px;background:rgba(255,255,255,.6)}.intro{padding:130px 7.5% 140px}.section-kicker{color:#667166}.intro-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:10vw;align-items:end;margin-top:50px}.intro h2{font-family:var(--serif);font-size:clamp(48px,6vw,94px);font-weight:400;line-height:.98;letter-spacing:-.025em;margin:0}.intro h2 em{color:#758675}.intro-copy{padding-bottom:10px}.intro-copy p{color:#56615a;line-height:1.9;margin:0 0 30px}.arrow-link{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink);padding:0 0 10px;text-transform:uppercase;font-size:11px;letter-spacing:.14em}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
@media(max-width:800px){.site-header{padding:18px 5%}.site-header nav,.site-header>.button{display:none}.menu-toggle{display:block}.hero-content{margin:0 6% 13vh}.hero h1{font-size:clamp(42px,12vw,60px)}.hero-address{display:none}.intro{padding:90px 6%}.intro-grid{grid-template-columns:1fr;gap:44px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{animation:none}.reveal{transition:none;opacity:1;transform:none}}

.marquee{overflow:hidden;background:var(--forest);color:var(--cream);padding:24px 0}.marquee-track{width:max-content;display:flex;align-items:center;gap:36px;animation:marquee 28s linear infinite;font-family:var(--serif);font-size:28px}.marquee-track i{font-family:var(--sans);font-size:12px;color:var(--gold);font-style:normal}@keyframes marquee{to{transform:translateX(-50%)}}
.residences{padding:135px 7.5%;background:#eee9df}.section-heading{display:grid;grid-template-columns:1.3fr .55fr;gap:10vw;align-items:end;margin-bottom:72px}.section-heading h2,.amenities h2,.gallery h2,.neighborhood h2,.contact h2{font-family:var(--serif);font-size:clamp(52px,6vw,92px);font-weight:400;line-height:.96;letter-spacing:-.03em;margin:24px 0 0}.section-heading h2 em,.amenities h2 em,.gallery h2 em,.neighborhood h2 em,.contact h2 em{font-weight:400;color:#758675}.heading-copy{line-height:1.85;color:#5a645d;margin:0 0 8px}.plan-card{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--cream);min-height:590px}.plan-details{padding:62px 6vw 48px}.plan-number{display:flex;justify-content:space-between;align-items:center;color:#7e887f;font-size:11px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:17px}.plan-details h3{font-family:var(--serif);font-size:54px;font-weight:400;margin:45px 0 8px}.plan-subtitle{color:#647067}.plan-specs{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:42px 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.plan-specs>div{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.plan-specs small{display:block;color:#738077;font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px}.plan-specs strong{font-family:var(--serif);font-size:27px;font-weight:400}.plan-specs sup{font-family:var(--sans);font-size:9px;letter-spacing:.04em}.plan-actions{display:flex;align-items:center;gap:22px}.button-dark{background:var(--forest);color:var(--cream)}.plain-button{border:0;background:none;font:600 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:14px 0;cursor:pointer}.plain-button span{margin-left:12px;font-size:16px}.fine-print{font-size:10px;line-height:1.6;color:#818981;margin-top:25px}.plan-image{position:relative;border:0;background:#d7d8d0;padding:8%;cursor:zoom-in;overflow:hidden}.plan-image img{width:100%;height:100%;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply;transition:.7s}.plan-image:hover img{transform:scale(1.025);filter:grayscale(0)}.plan-image>span{position:absolute;right:22px;bottom:20px;background:var(--cream);padding:9px 12px;font-size:9px;text-transform:uppercase;letter-spacing:.12em}
.amenities{display:grid;grid-template-columns:.95fr 1.05fr;background:var(--forest);color:var(--cream);min-height:900px}.amenities-photo{position:relative;margin:6vw 0 6vw 6vw;overflow:hidden}.amenities-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:transform 1.2s ease}.amenities-photo:hover img{transform:scale(1.035)}.amenities-photo p{position:absolute;left:22px;bottom:18px;margin:0;background:rgba(25,34,29,.85);padding:14px 17px;font-size:11px;color:rgba(255,255,255,.72)}.amenities-photo p span{color:#fff;margin-right:18px}.amenities-content{padding:9vw 8vw 7vw}.amenities .section-kicker{color:var(--sage)}.amenities h2{font-size:clamp(48px,5vw,76px);margin-bottom:50px}.amenities h2 em{color:#aebeaa}.amenity-list{border-top:1px solid rgba(255,255,255,.15)}.amenity-row{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.15)}.amenity-icon{font:12px var(--serif);color:var(--gold)}.amenity-row h3{font:400 22px var(--serif);margin:0 0 7px}.amenity-row p{color:rgba(255,255,255,.58);font-size:13px;line-height:1.6;margin:0}.amenity-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.amenity-chips span{border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:9px 13px;font-size:10px;color:rgba(255,255,255,.72)}
.gallery{padding:140px 4.5%;background:var(--cream)}.gallery-header{display:flex;align-items:flex-end;justify-content:space-between;padding:0 3% 70px}.gallery-controls{display:flex;gap:8px}.gallery-controls button{border:1px solid var(--line);background:transparent;border-radius:50px;padding:10px 17px;font:600 10px var(--sans);text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.gallery-controls button.active{background:var(--forest);color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:320px;gap:14px}.gallery-item{position:relative;overflow:hidden;border:0;padding:0;background:#ddd;cursor:zoom-in;transition:opacity .45s,transform .45s}.gallery-item[hidden]{display:none}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .5s}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,20,15,.58),transparent 45%);opacity:.75;transition:.4s}.gallery-item:hover img{transform:scale(1.045);filter:saturate(1.08)}.gallery-item:hover:after{opacity:1}.gallery-item span{position:absolute;z-index:1;left:20px;bottom:18px;color:#fff;font:10px var(--sans);text-transform:uppercase;letter-spacing:.14em}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 2}.gallery-footer{display:flex;justify-content:space-between;align-items:center;padding:28px 4px;border-bottom:1px solid var(--line);font-size:12px;color:#68736c}.gallery-footer b{font-family:var(--serif);font-size:25px;font-weight:400;color:var(--forest);margin-right:5px}.gallery-footer button{border:0;background:none;font:600 10px var(--sans);letter-spacing:.13em;text-transform:uppercase;cursor:pointer}.gallery-footer button span{margin-left:16px;font-size:18px}
.neighborhood{display:grid;grid-template-columns:.8fr 1.2fr;background:#eee9df}.map-copy{padding:130px 7vw}.neighborhood h2{font-size:clamp(48px,5vw,76px)}.map-copy>p:not(.section-kicker){line-height:1.85;color:#59645c;max-width:520px;margin:38px 0}.location-facts{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:1px solid var(--line);margin-top:55px;padding-top:28px}.location-facts span{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:#768178;margin-bottom:10px}.location-facts strong{font-size:13px;line-height:1.7;font-weight:500}.map-wrap{position:relative;min-height:720px;overflow:hidden}.map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(1) sepia(.12) saturate(.65) contrast(.9)}.map-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--forest);color:#fff;padding:15px 20px;box-shadow:0 15px 40px rgba(0,0,0,.2);display:flex;flex-direction:column;text-align:center;pointer-events:none}.map-label span{font:18px var(--serif)}.map-label small{font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:var(--sage);margin-top:4px}
.contact{position:relative;min-height:680px;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden}.contact>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.contact-shade{position:absolute;inset:0;background:rgba(15,26,19,.65)}.contact-inner{position:relative;z-index:1;max-width:800px;padding:90px 5%}.contact .section-kicker{color:#d0d9cc}.contact h2{font-size:clamp(64px,8vw,120px)}.contact h2 em{color:#c6d2c1}.contact-inner>p:not(.section-kicker){max-width:520px;margin:28px auto;line-height:1.8;color:rgba(255,255,255,.75)}.contact-actions{display:flex;justify-content:center;align-items:center;gap:32px;margin-top:38px}.contact-actions>a:last-child{font-size:12px;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:5px}
footer{background:var(--forest);color:var(--cream);padding:75px 7% 24px}.footer-brand{display:flex;flex-direction:column;align-items:flex-start}.footer-logo{width:160px;height:90px;overflow:hidden;filter:invert(1)}.footer-logo img{width:250px;max-width:none;height:145px;object-fit:cover;object-position:center 61%;margin:-20px 0 0 -45px}.footer-brand p{color:rgba(255,255,255,.52);font-size:12px}.footer-links{display:grid;grid-template-columns:1fr 1fr;width:48%;margin:-100px 0 75px auto;gap:70px}.footer-links div{display:flex;flex-direction:column;gap:12px}.footer-links small{color:#8da08f;text-transform:uppercase;letter-spacing:.14em;font-size:9px;margin-bottom:10px}.footer-links a{font-size:13px;color:rgba(255,255,255,.75);line-height:1.6}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.13);padding-top:22px;color:rgba(255,255,255,.42);font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.lightbox{position:fixed;z-index:99;inset:0;background:rgba(10,16,12,.95);display:grid;place-items:center;padding:5vw}.lightbox[hidden]{display:none}.lightbox img{max-width:min(1100px,86vw);max-height:82vh;object-fit:contain}.lightbox-close,.lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.35);background:rgba(25,34,29,.6);color:#fff;border-radius:50%;cursor:pointer}.lightbox-close{right:30px;top:25px;width:45px;height:45px;font-size:25px}.lightbox-nav{top:50%;width:48px;height:48px;font-size:18px}.lightbox-nav.prev{left:25px}.lightbox-nav.next{right:25px}.lightbox-count{position:absolute;bottom:24px;color:#fff;font-size:10px;letter-spacing:.16em}.lightbox.plan-mode .lightbox-nav,.lightbox.plan-mode .lightbox-count{display:none}
body.menu-open{overflow:hidden}.menu-open .site-header{position:fixed;background:var(--forest)}.menu-open .site-header nav{position:fixed;display:flex;flex-direction:column;inset:80px 0 0;background:var(--forest);padding:65px 8%;gap:30px;font:36px var(--serif)}
@media(max-width:1000px){.plan-card{grid-template-columns:1fr}.plan-image{min-height:500px}.amenities{grid-template-columns:1fr}.amenities-photo{height:600px;margin:6vw 6vw 0}.gallery-grid{grid-auto-rows:260px}.neighborhood{grid-template-columns:1fr}.map-wrap{min-height:520px}.footer-links{width:55%}}
@media(max-width:700px){.section-heading{grid-template-columns:1fr;gap:35px}.residences{padding:90px 5%}.plan-details{padding:38px 7%}.plan-details h3{font-size:44px}.plan-actions{align-items:flex-start;flex-direction:column}.plan-image{min-height:330px}.amenities-photo{height:420px;margin:0}.amenities-content{padding:85px 7%}.gallery{padding:90px 5%}.gallery-header{align-items:flex-start;flex-direction:column;gap:35px;padding:0 0 45px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:340px}.gallery-wide,.gallery-tall{grid-column:auto;grid-row:auto}.map-copy{padding:90px 7%}.location-facts{grid-template-columns:1fr}.map-wrap{min-height:430px}.contact-actions{flex-direction:column}.footer-links{width:100%;margin:55px 0;gap:35px}.footer-bottom{flex-wrap:wrap;gap:15px}.lightbox-nav{top:auto;bottom:22px}.lightbox-count{bottom:36px}.marquee-track{font-size:22px}}

/* Refined identity */
.brand-mark{width:56px;height:56px;flex:0 0 56px;border:1px solid rgba(255,255,255,.55);background:#fff url("assets/southviewlogo.jpeg") center -46px/180px 180px no-repeat}.brand-mark img{display:none}
.footer-logo{width:56px;height:56px;flex:0 0 56px;border-radius:50%;display:block;overflow:hidden;background:#fff url("assets/southviewlogo.jpeg") center -46px/180px 180px no-repeat;filter:none;border:1px solid rgba(255,255,255,.28)}.footer-logo img{display:none}.footer-brand-lockup{display:flex;align-items:center;gap:14px}.footer-brand-name{display:flex;flex-direction:column;font-size:13px;line-height:1.15;letter-spacing:.1em;text-transform:uppercase}.footer-brand-name strong{font-weight:600}.footer-brand p{margin-top:16px;line-height:1.75}.footer-links{margin-top:-72px}

/* Southview signature statement */
.signature{position:relative;display:grid;grid-template-columns:180px minmax(0,1fr) minmax(260px,.55fr);align-items:center;gap:5vw;padding:92px 7.5%;background:var(--forest);color:var(--cream);overflow:hidden}.signature:after{content:"SOUTHVIEW";position:absolute;right:-20px;bottom:-42px;font:400 clamp(100px,16vw,250px)/1 var(--serif);letter-spacing:-.05em;color:rgba(255,255,255,.025);pointer-events:none}.signature-seal{position:relative;width:148px;height:148px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--forest);box-shadow:0 0 0 1px rgba(255,255,255,.25),0 0 0 12px rgba(255,255,255,.04)}.signature-seal b{font:400 70px/1 var(--serif)}.seal-ring{position:absolute;inset:10px;border:1px dashed rgba(25,34,29,.38);border-radius:50%;display:flex;align-items:flex-start;justify-content:center;padding-top:8px;font-size:7px;text-transform:uppercase;letter-spacing:.16em;animation:sealSpin 18s linear infinite}.signature .section-kicker{color:#aebeaa}.signature-quote{max-width:700px;margin:16px 0 0;font:400 clamp(46px,5.3vw,82px)/.98 var(--serif);letter-spacing:-.025em}.signature-quote em{color:#b9c7b5;font-weight:400}.signature-facts{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.16)}.signature-facts div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.16)}.signature-facts strong{font:400 25px var(--serif)}.signature-facts span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.5);text-align:right}@keyframes sealSpin{to{transform:rotate(360deg)}}

/* Reimagined amenities mosaic */
.amenities{display:block;min-height:0;padding:135px 6%;background:var(--cream);color:var(--forest)}.amenities-heading{display:grid;grid-template-columns:1.25fr .55fr;align-items:end;gap:10vw;max-width:1380px;margin:0 auto 68px}.amenities-heading .section-kicker{color:#667166}.amenities h2{margin-top:24px;font-size:clamp(52px,6vw,92px)}.amenities h2 em{color:#758675}.amenities-heading>p{max-width:480px;margin:0 0 8px;line-height:1.85;color:#5b675f}.amenities-mosaic{max-width:1380px;margin:auto;display:grid;grid-template-columns:1.25fr .72fr .72fr;grid-auto-rows:minmax(300px,auto);gap:13px}.amenity-feature{position:relative;grid-row:span 2;min-height:650px;overflow:hidden;color:#fff}.amenity-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,24,17,.78),transparent 60%)}.amenity-feature img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.2,.75,.2,1)}.amenity-feature:hover img{transform:scale(1.045)}.amenity-feature div{position:absolute;z-index:1;left:42px;right:42px;bottom:38px}.amenity-feature span{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#d6dfd2}.amenity-feature h3{font:400 clamp(33px,3vw,49px)/1.05 var(--serif);margin:13px 0 0}.amenity-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:31px;background:#eee9df;border:1px solid rgba(25,34,29,.07);overflow:hidden;transition:transform .45s ease,background .45s ease}.amenity-card:hover{transform:translateY(-6px);background:#e4ded2}.amenity-card-accent{background:#c8d2c2}.amenity-card-accent:hover{background:#bdc9b7}.amenity-card-dark{background:var(--forest);color:var(--cream)}.amenity-card-dark:hover{background:#243128}.amenity-number{position:absolute;left:29px;top:26px;font-size:9px;letter-spacing:.14em;color:#7c867e}.amenity-card-dark .amenity-number{color:#8fa091}.amenity-glyph{position:absolute;right:25px;top:20px;width:58px;height:58px;border:1px solid rgba(25,34,29,.18);border-radius:50%;display:grid;place-items:center;font:400 25px var(--serif);transition:transform .55s ease}.amenity-card:hover .amenity-glyph{transform:rotate(12deg) scale(1.08)}.amenity-card-dark .amenity-glyph{border-color:rgba(255,255,255,.2)}.amenity-card h3{margin:0 0 11px;font:400 27px/1.05 var(--serif)}.amenity-card p{margin:0;color:#626c65;font-size:12px;line-height:1.65}.amenity-card-dark p{color:rgba(255,255,255,.55)}

/* Pet-friendly story */
.pet-friendly{position:relative;display:grid;grid-template-columns:1.05fr .95fr;min-height:720px;background:#dbe2d5;overflow:hidden}.pet-visual{position:relative;min-height:720px;overflow:hidden}.pet-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,32,24,.6),transparent 55%)}.pet-visual img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}.pet-friendly:hover .pet-visual img{transform:scale(1.03)}.pet-visual>p{position:absolute;z-index:2;left:6vw;bottom:55px;margin:0;color:#fff;font:400 clamp(44px,5vw,76px)/.94 var(--serif)}.pet-orbit{position:absolute;z-index:3;right:9%;top:12%;width:112px;height:112px;border:1px dashed rgba(255,255,255,.8);border-radius:50%;animation:petOrbit 12s linear infinite}.pet-orbit span{position:absolute;left:44px;top:-17px;font-size:29px;filter:grayscale(1) brightness(4)}.pet-content{display:flex;flex-direction:column;justify-content:center;padding:9vw}.pet-content h2{margin:23px 0 32px;font:400 clamp(52px,5.4vw,82px)/.96 var(--serif);letter-spacing:-.025em}.pet-content h2 em{font-weight:400;color:#617562}.pet-content>p:not(.section-kicker){max-width:560px;margin:0;color:#55635a;line-height:1.85}.pet-costs{display:grid;grid-template-columns:1fr 1fr;margin:42px 0 38px;border-top:1px solid rgba(25,34,29,.2);border-bottom:1px solid rgba(25,34,29,.2)}.pet-costs div{padding:22px 0}.pet-costs div+div{padding-left:28px;border-left:1px solid rgba(25,34,29,.2)}.pet-costs small{display:block;margin-bottom:8px;color:#68766c;font-size:9px;text-transform:uppercase;letter-spacing:.15em}.pet-costs strong{font:400 34px var(--serif)}.paw-trail{position:absolute;z-index:4;left:47%;bottom:45px;display:flex;gap:34px;transform:rotate(-18deg);pointer-events:none}.paw-trail span{display:block;font-size:20px;opacity:0;animation:pawStep 4s ease-in-out infinite}.paw-trail span:nth-child(2){animation-delay:.55s}.paw-trail span:nth-child(3){animation-delay:1.1s}.paw-trail span:nth-child(4){animation-delay:1.65s}@keyframes petOrbit{to{transform:rotate(360deg)}}@keyframes pawStep{0%,65%,100%{opacity:0;transform:translateY(10px) scale(.7)}20%,45%{opacity:.6;transform:translateY(0) scale(1)}}

/* Full-color satellite map */
.map-wrap iframe{filter:none}

@media(max-width:1050px){.signature{grid-template-columns:150px 1fr}.signature-facts{grid-column:2}.amenities-mosaic{grid-template-columns:1fr 1fr}.amenity-feature{grid-column:span 2;grid-row:auto;min-height:580px}.pet-friendly{grid-template-columns:1fr}.pet-visual{min-height:560px}.pet-content{padding:90px 8%}.paw-trail{left:auto;right:6%;bottom:48%}}
@media(max-width:700px){.brand-mark{width:52px;height:52px;flex-basis:52px;background-position:center -43px;background-size:168px 168px}.signature{grid-template-columns:1fr;padding:78px 7%;gap:38px}.signature-seal{width:115px;height:115px}.signature-seal b{font-size:54px}.signature-facts{grid-column:auto}.amenities{padding:90px 5%}.amenities-heading{grid-template-columns:1fr;gap:30px;margin-bottom:45px}.amenities-mosaic{grid-template-columns:1fr}.amenity-feature{grid-column:auto;min-height:470px}.amenity-card{min-height:270px}.pet-visual{min-height:500px}.pet-content{padding:80px 7%}.paw-trail{display:none}.footer-logo{width:52px;height:52px;flex-basis:52px;background-position:center -43px;background-size:168px 168px}.footer-links{margin-top:55px}}
@media(prefers-reduced-motion:reduce){.seal-ring,.pet-orbit,.paw-trail span{animation:none}.amenity-card,.amenity-feature img,.pet-visual img{transition:none}}

.footer-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1fr);align-items:start;gap:8vw;margin-bottom:75px}.footer-main .footer-links{width:auto;margin:0}.footer-brand p{max-width:520px}.footer-main .footer-links>div{padding-top:2px}
@media(max-width:700px){.footer-main{grid-template-columns:1fr;gap:48px;margin-bottom:55px}.footer-main .footer-links{width:100%;margin:0}.footer-brand p{max-width:100%}}

.amenity-glyph i{font-size:20px}.button i{font-size:11px}.text-link i{margin-left:7px;font-size:10px}.arrow-link i{font-size:13px;transition:transform .3s ease}.arrow-link:hover i{transform:translateX(5px)}.footer-bottom a i{margin-left:6px}.lightbox-nav i{font-size:15px}

.plan-image img,.plan-image:hover img{filter:none}.pet-orbit span{filter:none;color:#fff}

@media(max-width:800px){
  .site-header{z-index:50}
  .site-header nav{position:fixed;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;top:89px;right:0;bottom:0;left:0;height:calc(100dvh - 89px);padding:8vw;background:var(--forest);font:400 clamp(38px,11vw,62px)/1 var(--serif);gap:28px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-105%);transition:transform .58s cubic-bezier(.76,0,.24,1),opacity .3s ease,visibility 0s linear .58s}
  .site-header nav a{opacity:0;transform:translateY(-14px);transition:opacity .35s ease,transform .35s ease}
  .menu-open .site-header nav{top:89px;right:0;bottom:0;left:0;height:calc(100dvh - 89px);padding:8vw;gap:28px;opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
  .menu-open .site-header nav a{opacity:1;transform:translateY(0)}
  .menu-open .site-header nav a:nth-child(1){transition-delay:.22s}.menu-open .site-header nav a:nth-child(2){transition-delay:.28s}.menu-open .site-header nav a:nth-child(3){transition-delay:.34s}.menu-open .site-header nav a:nth-child(4){transition-delay:.4s}.menu-open .site-header nav a:nth-child(5){transition-delay:.46s}
  .menu-open.menu-closing .site-header nav{opacity:0;visibility:visible;pointer-events:none;transform:translateY(-105%);transition:transform .58s cubic-bezier(.76,0,.24,1),opacity .3s ease}
  .menu-open.menu-closing .site-header nav a{opacity:0;transform:translateY(-14px)}
  .menu-open.menu-closing .site-header nav a:nth-child(5){transition-delay:0s}.menu-open.menu-closing .site-header nav a:nth-child(4){transition-delay:.04s}.menu-open.menu-closing .site-header nav a:nth-child(3){transition-delay:.08s}.menu-open.menu-closing .site-header nav a:nth-child(2){transition-delay:.12s}.menu-open.menu-closing .site-header nav a:nth-child(1){transition-delay:.16s}
  .menu-toggle{position:relative;z-index:2;width:42px;height:42px;cursor:pointer}
  .menu-toggle span{margin:6px auto;transition:transform .4s cubic-bezier(.76,0,.24,1)}
  .menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .menu-open.menu-closing .menu-toggle span{transform:none}
}

/* Contact inquiry form */
.contact{min-height:900px;text-align:left}.contact-shade{background:linear-gradient(90deg,rgba(12,22,15,.78),rgba(12,22,15,.47))}.contact-inner{width:min(1320px,90%);max-width:none;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,.72fr);align-items:center;gap:8vw;padding:110px 0}.contact-copy h2{font-size:clamp(64px,7vw,108px)}.contact-copy>p:not(.section-kicker){max-width:520px;margin:30px 0;line-height:1.8;color:rgba(255,255,255,.72)}.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:38px}.contact-direct span{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#b9c6b6}.contact-direct a{padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.48);font-size:13px}.contact-direct i{margin-left:7px;font-size:10px}.contact-form{background:var(--cream);color:var(--forest);padding:42px}.form-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;margin-bottom:25px;border-bottom:1px solid var(--line)}.form-heading span{font:500 28px var(--serif)}.form-heading small{font-size:8px;text-transform:uppercase;letter-spacing:.14em;color:#79837b}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.form-field label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.13em;color:#68736b}.form-field input,.form-field textarea{width:100%;border:1px solid rgba(25,34,29,.18);border-radius:0;background:#fffdf8;color:var(--forest);font:14px var(--sans);padding:14px 15px;outline:none;transition:border-color .25s,box-shadow .25s}.form-field textarea{resize:vertical;min-height:135px;line-height:1.55}.form-field input::placeholder,.form-field textarea::placeholder{color:#9a9f9b}.form-field input:focus,.form-field textarea:focus{border-color:#657767;box-shadow:0 0 0 3px rgba(101,119,103,.12)}.form-submit{width:100%;border:0;cursor:pointer}.form-note{margin:14px 0 0;font-size:9px;line-height:1.55;color:#7a827c}.form-status{min-height:16px;margin:7px 0 0;font-size:10px;color:#526453}
@media(max-width:900px){.contact{min-height:0}.contact-inner{grid-template-columns:1fr;gap:60px;padding:100px 0}.contact-copy{max-width:650px}.contact-form{max-width:650px;width:100%}}
@media(max-width:600px){.contact-inner{width:90%;padding:85px 0}.contact-form{padding:28px 22px}.form-row{grid-template-columns:1fr}.form-heading{align-items:flex-start;flex-direction:column;gap:5px}.contact-copy h2{font-size:clamp(44px,12vw,58px)}}

/* Responsive masonry gallery */
.gallery-grid{display:block;columns:3 330px;column-gap:14px}.gallery-grid .gallery-item{display:inline-block;width:100%;height:auto;min-height:0;aspect-ratio:4/3;margin:0 0 14px;vertical-align:top;break-inside:avoid}.gallery-grid .gallery-item.gallery-tall{aspect-ratio:4/5}.gallery-grid .gallery-item.gallery-wide{aspect-ratio:16/10}.gallery-grid .gallery-item[hidden]{display:none}.gallery-grid .gallery-item img{position:absolute;inset:0;width:100%;height:100%}
@media(max-width:900px){.gallery-grid{columns:2 280px}}
@media(max-width:600px){.gallery-grid{columns:1}.gallery-grid .gallery-item,.gallery-grid .gallery-item.gallery-wide{aspect-ratio:4/3}.gallery-grid .gallery-item.gallery-tall{aspect-ratio:4/5}}

/* Walking pets on the pet-panel border */
.pet-content{position:relative;padding-bottom:145px}.pet-walkers{position:absolute;z-index:5;left:34px;bottom:-2px;display:flex;align-items:flex-end;gap:8px;width:205px;height:125px;pointer-events:none;animation:petStroll 5.5s ease-in-out infinite}.pet-walkers:after{content:"";position:absolute;left:14px;right:8px;bottom:3px;height:9px;border-radius:50%;background:rgba(25,34,29,.15);filter:blur(5px)}.pet-walkers img{position:relative;z-index:1;flex:0 0 auto;object-fit:contain;object-position:bottom}.pet-dog{width:120px;margin-bottom:-17px;animation:dogStep 1.1s ease-in-out infinite}.pet-cat{width:68px;margin-left:0;animation:catStep 1.1s .18s ease-in-out infinite}@keyframes petStroll{0%,100%{transform:translateX(0)}50%{transform:translateX(16px)}}@keyframes dogStep{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(1deg)}}@keyframes catStep{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-1.5deg)}}
@media(max-width:1050px){.pet-content{padding-bottom:150px}.pet-walkers{left:7%;width:190px;gap:7px}.pet-dog{width:110px;margin-bottom:-16px}.pet-cat{width:63px}}
@media(prefers-reduced-motion:reduce){.pet-walkers,.pet-dog,.pet-cat{animation:none}}

/* Animated gallery filtering and entrances */
.gallery-controls{gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.42)}.gallery-controls button{border:0;transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease}.gallery-controls button:hover{transform:translateY(-1px)}.gallery-controls button.active{transform:translateY(0);box-shadow:0 5px 16px rgba(25,34,29,.16)}.gallery-item.reveal.visible img{animation:galleryImageReveal .75s cubic-bezier(.2,.7,.2,1)}@keyframes galleryImageReveal{from{opacity:.35;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.gallery-controls button{transition:none}.gallery-item.reveal.visible img{animation:none}}

@media(min-width:1051px){.pet-friendly{grid-template-columns:.8fr 1.2fr;min-height:540px}.pet-visual{min-height:540px}.pet-content{padding:20px 6vw 110px}.neighborhood h2{font-size:clamp(44px,4vw,62px)}}

/* Layered hover for primary external actions */
.button-hover{position:relative;isolation:isolate;overflow:hidden;gap:18px;border-radius:2px;transition:color .42s ease,border-color .42s ease,box-shadow .42s ease,transform .42s cubic-bezier(.2,.75,.2,1)}.button-hover:before{content:"";position:absolute;z-index:0;inset:-1px;background:linear-gradient(110deg,var(--gold),#f0d6ae 70%,var(--cream));transform:scaleX(0);transform-origin:right center;transition:transform .48s cubic-bezier(.76,0,.24,1)}.button-small.button-hover:before,.button-dark.button-hover:before{background:linear-gradient(110deg,#fff 0 72%,var(--cream))}.button-hover span,.button-hover i{position:relative;z-index:1}.button-hover i{transition:transform .42s cubic-bezier(.2,.75,.2,1)}.button-hover:hover{gap:18px;color:var(--forest);border-color:transparent;transform:translateY(-3px);box-shadow:0 14px 30px rgba(18,29,22,.2)}.button-hover:hover:before{transform:scaleX(1);transform-origin:left center}.button-hover:hover i{transform:translate(3px,-3px) rotate(4deg)}.button-hover:active{transform:translateY(-1px);box-shadow:0 7px 18px rgba(18,29,22,.16)}
@media(prefers-reduced-motion:reduce){.button-hover,.button-hover:before,.button-hover i{transition:none}.button-hover:hover{transform:none}}

@media(min-width:1051px){.amenities-mosaic{grid-auto-rows:minmax(245px,auto)}.amenity-feature{grid-row:span 3;min-height:0}}

.signature{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:9vw}.signature-facts{grid-column:auto}
@media(max-width:1050px){.signature{grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:7vw}.signature-facts{grid-column:auto}}
@media(max-width:700px){.signature{grid-template-columns:1fr;gap:38px}.signature-facts{grid-column:auto}}

/* Floating phone action */
.floating-call{position:fixed;z-index:70;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;box-shadow:0 10px 28px rgba(15,90,46,.34);animation:callFloat 3.4s ease-in-out infinite;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease}.floating-call:before{content:"";position:absolute;inset:-1px;border:2px solid rgba(37,211,102,.58);border-radius:inherit;animation:callPulse 2.2s ease-out infinite}.floating-call i{position:relative;z-index:1;font-size:21px;transform:rotate(-5deg)}.floating-call span{position:absolute;right:0;bottom:calc(100% + 12px);width:max-content;padding:8px 11px;border-radius:4px;background:var(--forest);color:#fff;font:600 9px var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .25s ease,transform .25s ease,visibility .25s}.floating-call span:after{content:"";position:absolute;right:21px;top:100%;border:5px solid transparent;border-top-color:var(--forest)}.floating-call:hover,.floating-call:focus-visible{background:#1fbd5b;transform:translateY(-4px) scale(1.04);box-shadow:0 15px 34px rgba(15,90,46,.42)}.floating-call:hover span,.floating-call:focus-visible span{opacity:1;visibility:visible;transform:translateY(0)}@keyframes callFloat{0%,100%{translate:0 0}50%{translate:0 -5px}}@keyframes callPulse{0%{opacity:.8;transform:scale(1)}75%,100%{opacity:0;transform:scale(1.42)}}
@media(max-width:600px){.floating-call{right:17px;bottom:17px;width:54px;height:54px}.floating-call i{font-size:19px}}
@media(prefers-reduced-motion:reduce){.floating-call,.floating-call:before{animation:none}}

/* Repeating word-by-word section title entrances */
.animated-section-title .title-word{display:inline-block;opacity:0;filter:blur(7px);transform:translateY(.72em) rotate(1.5deg);transform-origin:left bottom;will-change:opacity,transform,filter}.animated-section-title.title-words-visible .title-word{animation:sectionWordEntry .82s cubic-bezier(.2,.75,.2,1) both;animation-delay:calc(var(--word-index) * 65ms)}@keyframes sectionWordEntry{0%{opacity:0;filter:blur(7px);transform:translateY(.72em) rotate(1.5deg)}65%{opacity:1;filter:blur(1px)}100%{opacity:1;filter:blur(0);transform:translateY(0) rotate(0)}}
@media(prefers-reduced-motion:reduce){.animated-section-title .title-word{opacity:1;filter:none;transform:none;will-change:auto}.animated-section-title.title-words-visible .title-word{animation:none}}

@media(max-width:800px){.menu-open .site-header.scrolled{padding:18px 5%}.menu-open .floating-call{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.82);animation:none}}

body:not(.menu-open) .site-header:not(.scrolled){background:linear-gradient(90deg,rgba(25,34,29,.22),rgba(25,34,29,.1));-webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%);box-shadow:inset 0 -1px rgba(255,255,255,.06)}
