@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--green:#183d32;--dark:#172c25;--paper:#f6f3eb;--gold:#d7bd77;--ink:#202c25;--muted:#657167;--line:#d7dbd1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%}a:focus-visible,button:focus-visible{outline:3px solid #b4892c;outline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}.skip{position:fixed;left:12px;top:-100px;padding:14px;background:white;z-index:100}.skip:focus{top:12px}header{height:106px;display:flex;justify-content:space-between;align-items:center;padding:6px 6%;background:var(--paper);border-bottom:1px solid var(--line)}.logo-window{display:block;position:relative;width:126px;height:90px;overflow:hidden;mix-blend-mode:multiply}.logo-window img{position:absolute;width:406px;max-width:none;height:270.67px;left:-140px;top:-2.64px}header nav{display:flex;gap:42px;align-items:center;font-size:14px}header nav a:last-child{border-bottom:1px solid var(--ink);padding:12px 0;min-width:135px;display:flex;justify-content:space-between}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:.95fr 1.05fr;min-height:665px}.hero-copy{background:var(--green);color:var(--paper);padding:69px 10% 38px 12.6%;position:relative}.eyebrow{font:600 10px/1.5 'Manrope',sans-serif;letter-spacing:2px;margin:0 0 25px}.hero .eyebrow{color:#e2cc8f}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px}h1{font-size:clamp(60px,5.75vw,91px);line-height:.99;margin:0 0 28px}h1 em,h2 em{font-weight:400}h1 em{color:var(--gold)}.intro{font-size:16px;line-height:1.7;color:#dbe3d9;max-width:325px;margin-bottom:30px}.button{display:inline-flex;align-items:center;gap:38px;font-size:13px;font-weight:600;padding:18px 22px}.gold{background:var(--gold);color:var(--dark)}.button:hover{background:#e5ce91}.hero-foot{display:flex;gap:15px;align-items:center;border-top:1px solid #547064;margin-top:43px;padding-top:22px}.small-mark{font-family:Georgia,serif;font-size:38px;color:var(--gold)}.hero-foot p{font-size:11px;line-height:1.5;letter-spacing:.4px;color:#dbe3d9;margin:0}.hero-photo{position:relative;overflow:hidden;min-height:665px}.hero-photo>img{height:100%;object-fit:cover;object-position:49% center}.hero-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(5,24,15,.75))}.photo-label{position:absolute;bottom:38px;left:40px;right:36px;color:white;z-index:1}.photo-label>span{font-size:9px;font-weight:600;letter-spacing:2px}.photo-label a{font-family:Georgia,serif;font-size:29px;display:flex;justify-content:space-between;margin:14px 0 8px}.photo-label small{font-size:12px;color:#e9eddf}.intro-strip{padding:31px 6%;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line)}.intro-strip p{font:italic 26px Georgia,serif;margin:0}.intro-strip span{font-size:9px;letter-spacing:1.6px;color:var(--muted)}.section{padding:90px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading .eyebrow{margin-bottom:12px;color:var(--muted)}h2{font-size:57px;line-height:1.08;margin:0}.section-heading>p{max-width:330px;color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 4px}.filter-bar{display:flex;align-items:center;justify-content:space-between;margin:40px 0 28px;border-bottom:1px solid var(--line);padding-bottom:17px;gap:12px}.filters{display:flex;gap:8px}.filters button{cursor:pointer;border:1px solid var(--line);background:transparent;padding:10px 20px;border-radius:40px;color:var(--muted);font-size:12px}.filters button.active{background:var(--green);color:white;border-color:var(--green)}#result-count{font-size:11px;color:var(--muted)}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.property-card{border:1px solid var(--line);background:#fcfbf7}.property-card[hidden]{display:none}.card-photo{height:285px;position:relative;overflow:hidden}.card-photo img{height:100%;object-fit:cover;transition:transform .5s}.property-card:hover .card-photo img{transform:scale(1.03)}.photo-badge{position:absolute;left:24px;bottom:24px;background:var(--paper);padding:9px 12px;font-size:9px;font-weight:600;letter-spacing:1.1px}.card-content{padding:28px 30px 30px}.card-topline{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.8px;font-weight:600;color:var(--muted)}.number{font-family:Georgia,serif;font-size:15px;color:#859384;letter-spacing:0}.card-content h3{font:32px/1.15 Georgia,serif;margin:15px 0}.card-description{font-size:14px;color:var(--muted);line-height:1.7;max-width:440px;min-height:48px}.facts{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin:23px 0;padding:0;font-size:11px}.facts li:not(:last-child){border-right:1px solid var(--line);padding-right:20px}.card-links{border-top:1px solid var(--line);padding-top:20px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between}.text-link{font-size:12px;font-weight:600;display:flex;gap:22px;align-items:center}.sub-link{font-size:11px;text-decoration:underline;text-underline-offset:4px}.listing-note{font-size:10px;color:var(--muted)}.place-art{height:285px;position:relative;overflow:hidden;background:#dbe3d7;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:25px}.place-art svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#668477;stroke-width:2}.place-art .thin{stroke-width:1;opacity:.45}.place-art .river{stroke-width:35;stroke:#c4d2c1}.place-art .river.thin{stroke-width:2;stroke:#799784}.place-art>span{font-family:Georgia,serif;letter-spacing:4px;font-size:23px;position:relative;background:inherit;padding:8px 18px 3px}.place-art small{position:relative;font-size:8px;letter-spacing:2px}.manco{background:#e8dec8}.manco svg{stroke:#9c8b65}.longbrooke{background:#e0e2db}.longbrooke svg{stroke:#7b8574}.portfolio-note{font-size:11px;line-height:1.7;color:var(--muted);max-width:800px;margin:28px 0 0}.steps{background:#e9e9de;display:grid;grid-template-columns:1fr 1fr;gap:70px}.steps .eyebrow{color:var(--muted)}.steps h2{font-size:48px}.steps ol{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:26px;border-bottom:1px solid #cbd0c2;padding:0 0 24px;margin:0 0 25px}.steps li:last-child{margin:0}.steps li>span{font:italic 22px Georgia,serif;color:#8c815b;min-width:28px}.steps h3{font-size:16px;margin:0 0 9px;font-weight:500}.steps p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}.contact{background:var(--green);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact .eyebrow{color:var(--gold)}.contact h2{font-size:48px}.contact p{font-size:14px;line-height:1.7;color:#d1dccc;max-width:350px}.contact-links{align-self:center}.contact-links a{display:block;position:relative;border-bottom:1px solid #627a6d;padding:20px 36px 24px 0}.contact-links small{display:block;font-size:9px;letter-spacing:1.8px;color:var(--gold);margin-bottom:12px}.contact-links span{font-size:clamp(17px,2.15vw,30px);overflow-wrap:anywhere}.contact-links b{position:absolute;right:0;bottom:25px;font-weight:400;font-size:25px}.contact-links p{font-size:10px;max-width:none;color:#b1c3b8;margin-top:18px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 6%}footer>p{font:italic 20px Georgia,serif}footer>div{text-align:right;font-size:10px;color:var(--muted)}footer small{display:block;margin-top:7px;font-size:9px}[hidden]{display:none!important}@media(min-width:1550px){.hero{min-height:760px}.hero-photo{min-height:760px}.hero-copy{padding-top:95px}}@media(max-width:900px){header{height:92px}.logo-window{width:108px;height:77px}.logo-window img{width:348px;height:232px;left:-120px;top:-2.3px}header nav{gap:22px}.hero{min-height:610px}.hero-photo{min-height:610px}.hero-copy{padding:55px 8% 30px 12%}h1{font-size:65px}.section{padding:65px 5%}.contact{gap:40px}.card-content{padding:24px}.card-photo,.place-art{height:240px}.card-content h3{font-size:27px}.card-links{align-items:flex-start;flex-direction:column}.intro-strip span{max-width:200px;line-height:1.6}.steps{gap:35px}.steps h2,.contact h2{font-size:41px}}@media(max-width:640px){html{scroll-padding-top:15px}header{height:90px;padding:4px 6%}header nav{display:none}.menu-toggle{display:flex;border:0;background:transparent;gap:23px;align-items:center;font-size:12px;padding:12px 0}.menu-toggle span{font-size:23px}#mobile-menu{padding:10px 6% 25px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:22px;font-size:14px}.hero{grid-template-columns:1fr}.hero-copy{padding:44px 7% 30px}h1{font-size:64px;line-height:1}.hero .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:25px}.intro{font-size:15px;max-width:315px}.hero-foot{margin-top:30px;padding-top:19px}.hero-photo{height:380px;min-height:0}.hero-photo>img{object-position:center 52%}.photo-label{left:25px;bottom:25px;right:25px}.photo-label a{font-size:25px}.intro-strip{flex-direction:column;align-items:flex-start;padding:26px 7%;gap:12px}.intro-strip p{font-size:24px}.intro-strip span{max-width:none;font-size:8px}.section{padding:55px 6%}.section-heading{display:block}h2{font-size:46px}.section-heading>p{margin-top:20px}.filter-bar{margin-top:27px}.filters button{padding:9px 13px;font-size:10px}.filters{gap:5px}#result-count{font-size:9px}.property-grid{grid-template-columns:1fr;gap:24px}.card-photo,.place-art{height:245px}.card-content{padding:24px}.card-description{min-height:0}.card-links{flex-direction:row;gap:17px}.facts{font-size:10px;gap:8px 12px}.facts li:not(:last-child){padding-right:12px}.steps,.contact{grid-template-columns:1fr;gap:36px}.steps h2,.contact h2{font-size:42px}.contact-links span{font-size:22px}.contact-links p{font-size:10px}footer{flex-direction:column;align-items:flex-start;padding:28px 6%;gap:10px}footer>p{margin:5px 0 18px}footer>div{text-align:left}.portfolio-note{font-size:10px}.button{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Portfolio, verified photography and motion */
.portfolio-story{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#e5e9df}.story-copy>p{font-size:16px;line-height:1.8;color:var(--muted);margin:0}.story-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px 0;border-block:1px solid #bdc8ba;padding:25px 0}.story-facts strong{display:block;font:54px Georgia,serif;color:var(--green)}.story-facts span{display:block;font-size:12px;line-height:1.6;max-width:170px;margin-top:8px}.story-copy .platform-note{font-size:13px}.coming-soon{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:var(--green);color:var(--paper)}.coming-soon .eyebrow,.project-tag{color:var(--gold)}.project-tag{font-size:9px;letter-spacing:1.5px}.coming-soon p{font-size:17px;line-height:1.8;max-width:470px}.coming-soon small{display:block;font-size:11px;line-height:1.6;color:#c4d0c2;max-width:420px;margin-top:25px}.coming-soon .text-link{display:inline-flex;border-bottom:1px solid #7f9684;padding:10px 0}.site-loader{position:fixed;inset:0;z-index:200;background:var(--paper);display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;animation:loader-exit .35s .95s forwards}.loader-brand{position:relative;width:126px;height:90px}.loader-base{opacity:.15}.loader-fill{position:absolute;inset:0;clip-path:inset(100% 0 0);animation:logo-fill .8s ease-out forwards}.loader-caption{font-size:9px;letter-spacing:3px;margin-top:28px;color:var(--green)}@keyframes logo-fill{to{clip-path:inset(0)}}@keyframes loader-exit{to{opacity:0;visibility:hidden}}.tour-section{background:#eae6da}.tour-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:6%;align-items:center;margin-top:36px}.tour-copy p{font-size:15px;line-height:1.8;color:var(--muted)}.walkthrough{width:100%;max-height:620px;background:#132c23;object-fit:contain;border-radius:2px}.media-note{font-size:11px;line-height:1.7;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:28px}.gallery figure{margin:0}.gallery img{height:240px;object-fit:cover}.gallery figcaption{font-size:11px;color:var(--muted);line-height:1.6;margin-top:9px}.video-control{padding:12px 18px;margin-top:12px;border:1px solid var(--green);background:transparent;color:var(--green);cursor:pointer}.local-section{background:#e9e9de}.city-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}.city-photos figure{margin:0}.city-photos img{height:340px;object-fit:cover}.city-photos figcaption{font-size:11px;line-height:1.7;color:var(--muted);margin-top:10px}.city-photos figcaption a{text-decoration:underline}.loader-brand .logo-window{width:126px;height:90px}.loader-brand .logo-window img{width:406px;height:270.67px;left:-140px;top:-2.64px}@media(max-width:640px){.portfolio-story,.coming-soon,.tour-layout{grid-template-columns:1fr;gap:30px}.story-copy>p{font-size:14px}.coming-soon p{font-size:15px}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:180px}.city-photos{grid-template-columns:1fr}.city-photos img{height:260px}.walkthrough{max-height:560px}.story-facts strong{font-size:44px}}@media(prefers-reduced-motion:reduce){.site-loader{display:none}.loader-fill{animation:none;clip-path:inset(0)}*{animation:none!important}}

.gallery-heading{font:30px Georgia,serif;margin:42px 0 0}.property-gallery .gallery{grid-template-columns:repeat(4,1fr)}.property-gallery .gallery img{height:220px}@media(max-width:900px){.property-gallery .gallery{grid-template-columns:1fr 1fr}}@media(max-width:640px){.property-gallery .gallery img{height:190px}.gallery-heading{font-size:25px}}
/* Equal-weight portfolio carousel: two verified photographs per property. */
.portfolio-carousel{isolation:isolate;touch-action:pan-y}.portfolio-carousel:after{display:none}.portfolio-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .75s ease,visibility .75s}.portfolio-slide.is-active{opacity:1;visibility:visible}.portfolio-slide>img{width:100%;height:100%;object-fit:cover;object-position:center}.portfolio-slide:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(5,24,15,.9))}.portfolio-slide .photo-label{bottom:100px}.photo-label strong{display:block;font:32px/1.15 Georgia,serif;margin:13px 0 9px}.carousel-controls{position:absolute;z-index:3;bottom:25px;left:30px;right:30px;display:flex;gap:8px;align-items:center;color:white}.carousel-controls button{color:inherit;background:rgba(10,30,22,.65);border:1px solid #b8c7ba;border-radius:50%;width:44px;height:44px;cursor:pointer;flex-shrink:0}.carousel-dots{display:flex;flex:1;justify-content:center;gap:0}.carousel-dots button{border:0;background:transparent;width:26px}.carousel-dots span{display:block;margin:auto;width:7px;height:7px;border:1px solid white;border-radius:50%}.carousel-dots button[aria-pressed=true] span{background:var(--gold);border-color:var(--gold);width:10px;height:10px}.carousel-controls .carousel-play{border-radius:3px;width:65px;font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.hero-photo{height:420px}.portfolio-slide .photo-label{bottom:100px;left:24px;right:24px}.photo-label strong{font-size:27px}.carousel-controls{left:18px;right:18px;gap:5px}.carousel-dots button{width:24px}.carousel-controls button{width:40px;height:44px}.carousel-controls .carousel-play{width:58px}}

/* Professional Asbury collection */
.asbury-gallery{margin-bottom:24px}.asbury-more{margin-bottom:60px}.asbury-more summary,.short-film summary{cursor:pointer;font-size:1rem;padding:20px 0;color:#183d32;text-decoration:underline;text-underline-offset:5px}.asbury-more .gallery{padding-top:20px}.short-film{margin-top:28px}.short-film video{max-width:850px;display:block;margin:12px auto}.gallery img{aspect-ratio:4/3;object-fit:cover}

/* Logo doorway: transparent over the actual page; no image-backed white rectangle. */
.site-loader{background:transparent;animation:none;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;overflow:hidden}
.site-loader.is-loading{opacity:1;visibility:visible}
.doorway-logo{width:210px;height:174px;perspective:650px;transform-origin:50% 51%;filter:drop-shadow(0 2px 7px rgba(255,255,255,.65))}
.drawn-logo{width:100%;height:100%;overflow:visible}
.logo-outline{stroke-width:3.5;fill:transparent}
.ink{stroke-dasharray:1;stroke-dashoffset:1}
.ink-charcoal{stroke:#292b2c;--ink:#292b2c}.ink-green{stroke:#184b3b;--ink:#184b3b}
.gold-door{stroke:#ba9954;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;fill:transparent;transform-box:fill-box;transform-origin:left center;backface-visibility:hidden}
.is-loading .ink{animation:stead-trace 1.7s ease-in-out forwards}
.is-loading .ink-green{animation-delay:.12s}
.is-loading .gold-door{animation:stead-gold .5s 1.55s ease forwards,stead-door-open .75s 2.05s ease-in forwards}
.is-loading .doorway-logo{animation:stead-pass-through .95s 2.55s cubic-bezier(.6,0,.85,.5) forwards}
@keyframes stead-trace{0%{stroke-dashoffset:1;fill:transparent}75%{fill:transparent}100%{stroke-dashoffset:0;fill:var(--ink)}}
@keyframes stead-gold{0%{stroke-dashoffset:1;fill:transparent}100%{stroke-dashoffset:0;fill:#ba9954}}
@keyframes stead-door-open{0%{transform:perspective(300px) rotateY(0deg);opacity:1}100%{transform:perspective(300px) rotateY(-105deg);opacity:0}}
@keyframes stead-pass-through{0%{transform:scale(1);opacity:1}65%{opacity:.8}100%{transform:scale(24);opacity:0}}
@media(max-width:640px){.doorway-logo{width:170px;height:140px}}
@media(prefers-reduced-motion:reduce){.site-loader{display:flex;transition:none}.is-loading .ink,.is-loading .gold-door,.is-loading .doorway-logo{animation:none}.ink{stroke-dashoffset:0;fill:var(--ink)}.gold-door{stroke-dashoffset:0;fill:#ba9954}}
