@font-face{font-family:Instrument Serif;src:url(/assets/fonts/serif-normal.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Instrument Serif;src:url(/assets/fonts/serif-italic.woff2) format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url(/assets/fonts/dm-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--ink:#191b18;--dark:#171915;--gold:#c3a16b;--gold-dark:#795d32;--cream:#f8f7f2;--paper:#fffefa;--line:#d8d6cc;--muted:#61645d;--display:"Instrument Serif",Georgia,serif;--gutter:clamp(20px,5.25vw,92px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 "DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button,a,select{touch-action:manipulation}
button,select{cursor:pointer}
button{border:0}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #b38645;outline-offset:4px}
.icon{width:19px;height:19px;flex:none;vertical-align:middle}
.wrap{width:min(100% - 2 * var(--gutter),1480px);margin-inline:auto}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.02}
h1 em,h2 em{font-weight:400}
.skip{position:fixed;top:-5em;left:1em;z-index:6;background:var(--paper);padding:10px}
.skip:focus{top:8px}
.top,footer,.hero,.subhero{background:var(--dark);color:var(--paper)}
.top{position:relative;z-index:5;border-bottom:1px solid #ffffff25}
.nav{min-height:82px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.brand{display:inline-block;line-height:0}
.brand img{width:127px;height:63px;object-fit:contain}
.nav nav{display:flex;align-items:center;gap:clamp(20px,3vw,52px);font-size:14px}
.nav nav>a:not(.nav-cta):hover,footer a:hover{color:var(--gold)}
.nav-cta{display:inline-flex;align-items:center;gap:20px;border:1px solid #95815e;padding:11px 19px;color:#ecddc6}
.nav-cta:hover{background:#39352a}
.nav-cta .icon{width:15px;height:15px}
.mobile-menu{display:none}
.hero{position:relative;display:grid;grid-template-columns:46.5% 53.5%;isolation:isolate}
.hero-text{position:relative;z-index:1;padding:clamp(48px,4.6vw,83px) clamp(20px,3.4vw,72px) clamp(66px,5.1vw,94px) max(var(--gutter),calc((100vw - 1480px)/2));align-self:center}
.eyebrow,.small-label,.field>span:first-child,.card-cat,.photo-loc,.tag{font:600 10px/1.35 "DM Sans",Arial,sans-serif;text-transform:uppercase;letter-spacing:.14em}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--gold-dark);font-size:10px;letter-spacing:.17em}
.eyebrow i{display:block;width:30px;height:1px;background:var(--gold)}
.hero .eyebrow,.subhero .eyebrow{color:#d8bd90}
.hero h1{font-size:clamp(70px,7.4vw,124px);line-height:.87;letter-spacing:-.04em;margin:25px 0 23px}
.hero em,.subhero em{color:#d5b27a}
.hero-desc{font-size:clamp(14px,1.15vw,18px);line-height:1.55;max-width:365px;color:#d4d3c9}
.hero-image{position:relative;min-height:100%;overflow:hidden}
.hero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 44%;filter:saturate(.83)}
.hero-image::after,.agency-pic::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 65%,#0004)}
.photo-loc{position:absolute;right:var(--gutter);bottom:53px;z-index:1;display:flex;align-items:center;gap:7px;color:#fff;font-size:9px;font-weight:500;letter-spacing:.12em;text-shadow:0 1px 6px #000;background:#28251dd6;padding:6px 11px}
.photo-loc .icon{width:13px;height:13px}
.find-home{position:relative;z-index:2;margin-top:-33px}
.finder{background:var(--paper);border:1px solid var(--line);padding:18px 20px;display:grid;grid-template-columns:1fr 1fr 1.05fr auto;align-items:center;box-shadow:0 5px 18px #2a27180a}
.field{padding:0 22px;border-right:1px solid var(--line);min-width:0}
.field:first-child{padding-left:6px}
.field>span:first-child{display:block;color:var(--gold-dark);font-size:10px;margin-bottom:4px}
.select-wrap,.place-field{position:relative;display:flex;align-items:center}
.select-wrap .icon{position:absolute;right:0;width:14px;height:14px;pointer-events:none}
select,input[type=search]{background:transparent;border:0;border-radius:0;padding:1px 20px 1px 0;min-width:0;width:100%;font-size:15px;line-height:1.45}
select{appearance:none}
input[type=search]{padding-right:0}
input::placeholder{color:#53574f;opacity:1}
.place-field{gap:6px}
.place-field .icon{width:15px;height:15px}
.find-btn,.btn{background:var(--ink);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;gap:11px;font-size:14px;padding:15px 24px;line-height:1.4}
.find-btn{margin-left:20px;min-height:49px}
.find-btn .icon{width:17px;height:17px}
.find-btn:hover,.btn:hover{background:#383a30}
.selection{padding:clamp(46px,5vw,84px) 0 clamp(64px,6vw,102px)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:28px}
h2{font-size:clamp(44px,4.3vw,72px);letter-spacing:-.035em}
.section-head h2,.agency h2{margin-top:10px}
.point{color:var(--gold-dark)}
.textlink{font-size:14px;display:inline-flex;gap:12px;align-items:center;border-bottom:1px solid #96866e;padding-bottom:4px}
.textlink:hover{color:var(--gold-dark)}
.textlink .icon{width:17px;height:17px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.card{min-width:0}
.card-link{display:block;height:100%;border:1px solid var(--line);background:var(--paper);transition:border-color .2s}
.card-link:hover{border-color:#a99573}
.cardpic{position:relative;overflow:hidden;background:#e9e5da;aspect-ratio:1.64}
.cardpic img{height:100%;width:100%;object-fit:cover;transition:transform .5s}
.card-link:hover .cardpic img{transform:scale(1.035)}
.tag{position:absolute;top:13px;left:13px;color:var(--cream);background:#22241fea;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;letter-spacing:.12em;font-size:9px}
.tag i{width:5px;height:5px;background:#d5b27a;border-radius:50%}
.pic-note{position:absolute;bottom:5px;right:6px;background:#191a15dd;color:white;font-size:10px;line-height:1.35;padding:2px 5px}
.cardbody{padding:21px 20px 17px}
.card-cat{color:var(--gold-dark);font-size:10px;letter-spacing:.1em}
.card-cat span{margin:0 4px}
.cardbody h3{font-size:clamp(27px,2.1vw,38px);margin:9px 0 7px;letter-spacing:-.02em}
.location{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}
.location .icon{width:14px;height:14px}
.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:20px;padding-top:13px;border-top:1px solid var(--line);font-size:18px}
.card-bottom small{font-size:11px;color:var(--muted)}
.card-bottom>i{border:1px solid var(--line);border-radius:50%;width:29px;height:29px;display:grid;place-items:center}
.card-bottom .icon{width:13px;height:13px}
.agency{background:#eae8de;padding:clamp(44px,5vw,78px) 0}
.agency-grid{display:grid;grid-template-columns:1fr .95fr;align-items:center;gap:clamp(32px,6vw,100px)}
.agency-pic{position:relative;overflow:hidden}
.agency-pic img{width:100%;height:clamp(300px,31vw,480px);object-fit:cover}
.agency-copy h2{margin-bottom:20px}
.agency-copy>p:not(.eyebrow){color:#4e514b;max-width:53ch;margin:12px 0}
.agency-copy .textlink{margin-top:14px}
.agency-copy em,.service h1 em{color:var(--gold-dark)}
footer{padding:49px 0 24px}
.foot-grid{display:grid;grid-template-columns:1fr 1.2fr .8fr;gap:32px;align-items:start}
.foot-grid>div{display:flex;align-items:start;flex-direction:column;gap:5px}
.foot-grid p,.footline{color:#c5c5b9;font-size:13px}
footer h3{font-size:29px;color:var(--paper);margin:10px 0 9px}
footer a{overflow-wrap:anywhere}
.footline{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #ffffff2c;padding-top:20px;margin-top:33px;font-size:11px}
.footline div{display:flex;flex-wrap:wrap;gap:18px}
.subhero{padding:50px 0 68px}
.subhero h1,.service h1{font-size:clamp(56px,6vw,90px);margin-top:13px;letter-spacing:-.03em}
.catalog{padding-bottom:80px}
.catalog .finder{margin-top:-25px;position:relative}
.results-line{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px;padding:24px 0 17px}
.results-line a,.prose a,.risk a{text-decoration:underline;text-underline-offset:3px}
#empty{padding:44px 0}
#empty p{margin:18px 0}
#empty .textlink{margin:8px 14px 0 0}
.detail,.service{padding-block:35px 65px}
.back{font-size:13px;color:var(--muted);border-bottom:1px solid var(--line)}
.detail-title{margin:26px 0}
.detail-title h1{font-size:clamp(45px,4.8vw,80px);letter-spacing:-.035em;margin:12px 0;}
.detail-title .location{font-size:15px;flex-wrap:wrap}
.divider{color:#aaa391;margin:0 6px}
.detail-grid{display:grid;grid-template-columns:1.75fr 1fr;gap:clamp(22px,4vw,65px);align-items:start}
.gallery{min-width:0}
.gallery figure{position:relative;overflow:hidden;background:#e7e4dc}
.gallery figure>img{width:100%;aspect-ratio:1.6;object-fit:contain;background:#eae7dd}
.gallery-nav{display:flex;align-items:center;gap:9px;position:absolute;right:10px;bottom:10px;background:#23251fdc;color:white;border-radius:2px;font-size:12px}
.gallery-nav button{background:transparent;color:white;padding:8px}
.caption{font-size:12px;color:var(--muted);margin:6px 0 10px}
.thumbnails{display:flex;gap:6px;overflow:auto}
.thumb{background:none;border:1px solid transparent;padding:2px}
.thumb[aria-pressed=true]{border-color:var(--gold-dark)}
.thumb img{width:83px;height:53px;object-fit:cover}
aside{background:#eae8df;padding:clamp(22px,3vw,45px);border-top:2px solid var(--gold)}
.small-label{color:var(--gold-dark)}
.big-price{font-family:var(--display);font-size:clamp(40px,4vw,68px);line-height:1.05;margin-top:8px}
.price-detail,.advisor>span{font-size:13px;color:var(--muted)}
.advisor{padding:18px 0;margin:20px 0;border-block:1px solid #ccc8bb}
aside h2{font-size:35px;margin:6px 0 9px}
aside .btn{width:100%;margin:0 0 9px}
.wa{display:flex;gap:8px;justify-content:center;align-items:center;font-size:13px;padding:8px 0;text-decoration:underline;text-underline-offset:3px}
.wa .icon{width:14px;height:14px}
.details-info,.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,114px);padding-top:46px}
.details-info h2,.service-grid h2,.prose h2{font-size:clamp(32px,3vw,48px);margin:10px 0 18px}
.details-info ul{padding-left:18px}
dl{margin:0}
dl>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:8px 0;font-size:14px}
dt{color:var(--muted)}
dd{text-align:right;margin:0}
.risk{font-size:12px;color:var(--muted);margin-top:40px}
.service{padding-block:65px 90px;min-height:54vh}
.service-grid{align-items:start;grid-template-columns:1.4fr 1fr}
.service-grid p,.prose p{margin:14px 0}
.service-grid aside .btn{margin-top:19px}
.prose{max-width:850px}
.prose h2{margin-top:34px}
@media(min-width:1700px){.hero-text{padding-left:calc((100vw - 1480px)/2)}}
@media(max-width:900px){.nav{min-height:74px}.hero{grid-template-columns:47% 53%}.hero h1{font-size:clamp(62px,8.6vw,82px)}.field{padding:0 12px}.finder{padding:14px}.find-btn{padding:13px 15px;margin-left:12px}.cards{gap:15px}.cardbody{padding:16px 13px}.card-bottom{font-size:16px}.foot-grid{gap:18px}.nav nav{gap:22px}.hero-text{padding-top:40px;padding-bottom:60px}.hero-text .eyebrow{font-size:8px}.cardpic{aspect-ratio:1.45}}
@media(max-width:700px){:root{--gutter:20px}.nav{min-height:66px}.nav .brand img{width:109px;height:54px}.mobile-menu{display:grid;place-items:center;background:transparent;color:var(--paper);width:42px;height:42px}.nav nav{display:none;position:absolute;top:100%;left:0;width:100%;padding:14px var(--gutter) 23px;background:var(--dark);border-top:1px solid #ffffff29}.nav nav.open{display:grid;gap:0}.nav nav a{padding:12px 0}.nav nav .nav-cta{justify-self:start;padding:10px 13px;margin-top:6px}.hero{display:block;background:#171915;min-height:420px}.hero-text{padding:40px var(--gutter) 61px;max-width:100%;align-self:auto}.hero-image{position:absolute;inset:0;z-index:-1}.hero-image img{object-position:65% 42%;filter:saturate(.8)}.hero-image::after{background:linear-gradient(90deg,rgba(15,16,13,.91),rgba(17,18,15,.78) 40%,rgba(17,18,15,.22)),linear-gradient(0deg,#13151075,transparent 40%)}.hero h1{font-size:clamp(70px,12vw,87px);line-height:.87;margin-top:22px;margin-bottom:18px}.hero-text .eyebrow{font-size:8px}.hero-desc{max-width:295px;color:#eeede7;font-size:14px}.photo-loc{bottom:32px;font-size:8px;right:12px;opacity:.9}.find-home{margin-top:-18px}.finder{grid-template-columns:1fr 1fr;row-gap:13px;padding:14px}.field{padding:0 12px}.field:nth-child(2){border:0;padding-right:0}.field:first-child,.field:nth-child(3){padding-left:0}.field:nth-child(3){border-right:0}.field>span:first-child{font-size:9px}.find-btn{margin:0;padding:11px 12px;min-height:42px}.finder select,.finder input{font-size:14px}.selection{padding-top:43px}.section-head{margin-bottom:20px}.textlink{font-size:13px;gap:7px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.agency-grid,.service-grid,.detail-grid,.details-info{grid-template-columns:1fr}.agency-pic img{height:280px}.agency-grid{gap:28px}.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}.footline{gap:13px}.detail,.service{padding-top:30px}.detail-grid{gap:24px}.details-info{gap:25px}.gallery figure>img{aspect-ratio:1.4}.service-grid{padding-top:20px}}
@media(max-width:480px){.cards{grid-template-columns:1fr;gap:21px}.cardpic{aspect-ratio:1.7}.section-head{align-items:end}.eyebrow{font-size:9px}.section-head h2{font-size:41px}.cardbody{padding:18px}.foot-grid{grid-template-columns:1fr;gap:12px}.foot-grid>div:first-child{grid-column:auto}.footline div{gap:10px}.hero{min-height:399px}.hero-text{padding-bottom:62px}.cardbody h3{font-size:31px}.big-price{font-size:50px}.location{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::after{transition:none!important}}
.owner-contact{margin-top:16px;background:#eeebe2;border-left:3px solid var(--gold)}
.owner-contact summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 22px;color:var(--ink);font-size:13px;font-weight:600;letter-spacing:.075em;text-transform:uppercase;cursor:pointer;list-style:none}
.owner-contact summary::-webkit-details-marker{display:none}
.owner-contact summary .icon{color:var(--gold-dark)}
.owner-contact[open] summary .icon{transform:rotate(180deg)}
.owner-links{display:flex;flex-wrap:wrap;gap:10px;padding:0 22px 16px}
.owner-links a{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #b6ad9b;background:var(--paper);font-size:14px;padding:10px 14px}
.owner-links a:hover{border-color:var(--gold-dark)}
.owner-links .icon{width:15px;height:15px}
@media(max-width:600px){.owner-links{display:grid}.owner-contact summary{padding-block:16px}}

/* Version 3 */
:root{--display:"DM Sans",Arial,sans-serif}
h1,h2,h3,.cardbody h3{font-weight:500;letter-spacing:-.04em;line-height:1.1}
h1 em,h2 em,h3 em{font-style:normal;font-weight:inherit}
.section-head h2,.agency-copy h2{font-size:clamp(33px,3.5vw,58px)}
.cardbody h3{font-size:clamp(22px,1.85vw,31px)}
footer h3,aside h2{font-size:clamp(22px,2vw,29px)}
.home-page .top{position:absolute;inset:0 0 auto;background:transparent;border:0}
.home-page .nav{align-items:flex-start;padding-top:clamp(18px,3vh,32px)}
.home-page .nav .brand img{width:clamp(193px,19vw,300px);height:auto}
.home-page .nav nav{padding-top:14px}
.v3-hero{background:#20221c;color:#fff;position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:100vh;min-height:100svh}
.v3-photo,.v3-hero::after{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.v3-photo{object-fit:cover;object-position:56% 54%}
.v3-hero::after{content:"";background:linear-gradient(180deg,#11130fe3 0%,#11130f38 26%,transparent 47%,#10110eac 82%,#10110ee8),linear-gradient(90deg,#17151064,transparent 65%)}
.v3-copy{padding-block:clamp(200px,28vh,330px) clamp(78px,12vh,140px)}
.v3-copy h1{font-size:clamp(47px,5.6vw,96px);line-height:1.03;letter-spacing:-.055em}
.v3-copy h1 span{color:#f1d6a6}
.v3-copy p{margin:18px 0 24px;color:#f2efe9}
.v3-copy a{display:inline-flex;align-items:center;gap:17px;padding-bottom:5px;border-bottom:1px solid #cdaf7c}
@media(max-width:700px){.home-page .nav{align-items:flex-start}.home-page .mobile-menu{margin-top:4px}.home-page .nav nav.open{background:#191b18}.v3-copy h1{font-size:clamp(37px,8.75vw,56px)}.v3-copy{padding-bottom:max(68px,11svh)}.v3-photo{object-position:59% center}.v3-copy p{max-width:30ch}.cardbody h3{font-size:24px}}
.feature-pictos,.details-info .feature-pictos{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px;margin:16px 0 0}.feature-pictos li{display:inline-flex;align-items:center;gap:7px;font-size:13px;line-height:1.35}.feature-pictos .icon{width:18px;height:18px;color:var(--gold-dark)}.details-info .feature-pictos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(185px,100%),1fr));gap:0 15px}.details-info .feature-pictos li{padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}.details-info .feature-pictos .icon{width:21px;height:21px}

.thumbnails .thumb{flex:0 0 auto}.thumbnails{padding-bottom:5px;scrollbar-width:thin}.thumb:focus-visible{outline-offset:-2px}

.project-views{margin:1rem 0;color:var(--text)}.project-views summary{cursor:pointer;padding:.8rem 0}.project-views>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:1rem}.project-views figure{margin:0}.project-views img{width:100%;height:auto}.project-views figcaption{font-size:.85rem;padding:.3rem 0}

.selection-all{display:flex;justify-content:center;margin-top:clamp(1.5rem,4vw,2.5rem)}

.visit-contact summary{cursor:pointer;list-style:none}
.visit-contact summary::-webkit-details-marker{display:none}
.visit-contact summary:focus-visible{outline:3px solid currentColor;outline-offset:3px;outline-color:var(--ink)}
.visit-contact[open] summary .icon{transform:rotate(180deg)}
.visit-options{display:grid;gap:12px;padding:8px 0 12px;overflow-wrap:anywhere}
.visit-options p{margin:0}
.visit-options a{text-decoration:underline;text-underline-offset:3px}
