@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{--paper:#f7f6f0;--white:#fff;--ink:#203d34;--green:#244e40;--muted:#72776e;--line:#d9ddd3;--sand:#e5dfd0;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bf9b51;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2{font-weight:400;letter-spacing:-2.5px;line-height:1.08}h1{font-size:clamp(50px,5.25vw,82px)}h2{font-size:clamp(34px,3.6vw,55px)}em{font-family:var(--serif);font-weight:400}button{border:0}.preview-note{background:var(--ink);color:#f5f2e9;font-size:10px;letter-spacing:1.2px;padding:8px 20px;text-align:center}.preview-note span{margin:0 10px}.header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 5.2%;border-bottom:1px solid var(--line)}.brand{display:inline-flex;flex-direction:column;text-align:center;flex-shrink:0}.brand-symbol{font-family:var(--serif);font-size:40px;letter-spacing:0;line-height:.95}.brand-symbol span{font-family:var(--sans);font-size:36px;display:inline-block;margin:0 1px}.brand-caption{font-size:8px;letter-spacing:4px;margin-top:8px}.header nav{display:flex;gap:34px;font-size:13px}.header nav a:hover{color:#829477}.button{background:var(--ink);color:white;display:inline-flex;align-items:center;justify-content:center;gap:38px;padding:18px 25px;font-size:13px;line-height:1.3;transition:background .2s,transform .2s}.button span{font-size:21px;line-height:15px}.button:hover{background:#3d6756;transform:translateY(-2px)}.header-cta{padding:14px 22px}.menu-toggle{display:none;background:none;font-size:26px;color:var(--ink)}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:635px;padding:32px 3.1% 0 5.2%;gap:28px}.hero-copy{padding-top:50px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.3px;display:flex;align-items:center;gap:12px;margin-bottom:25px}.tiny-line{width:30px;height:1px;background:var(--ink)}.hero h1{margin-bottom:25px}.hero-description{color:var(--muted);font-size:15px;line-height:1.8}.text-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid #a3afa2;padding:0 0 10px;font-size:13px;font-weight:500}.text-link span{font-size:23px;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.hero .text-link{margin-top:30px}.hero-bottom{display:flex;align-items:center;gap:17px;margin-top:auto;padding:48px 0 34px}.circle-arrow{border:1px solid #bac4b8;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:20px}.hero-bottom p{font-size:11px;line-height:1.8;color:var(--muted)}.hero-bottom strong{font-weight:400;color:var(--ink)}.hero-visual{position:relative;overflow:hidden;min-height:560px;background:#d3d3c6}.hero-img{width:100%;height:100%;object-fit:cover;position:absolute;animation:photoIn 1.7s ease-out both}.hero-visual:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#142b24a6);pointer-events:none}.image-label{position:absolute;top:25px;left:25px;color:white;font-size:9px;letter-spacing:2px;padding:10px 13px;border:1px solid #ffffff80;background:#263a2c30}.image-caption{position:absolute;bottom:35px;left:32px;right:32px;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;color:white;font-size:29px;line-height:1.25}.image-caption a{border:1px solid #ffffff99;border-radius:50%;width:49px;height:49px;display:grid;place-items:center}.search-section{padding:0 5.2%;position:relative;z-index:2;margin-top:30px}.search-bar{display:grid;grid-template-columns:1fr 1.5fr 1.2fr auto;padding:22px;background:white;border:1px solid var(--line);box-shadow:0 16px 34px #203d3406;gap:20px;align-items:center}.search-bar label{font-size:9px;letter-spacing:1.5px;padding:0 18px;border-right:1px solid var(--line);color:var(--muted)}.search-bar select,.search-bar input{font-size:13px;width:100%;border:none;background:transparent;margin-top:11px;color:var(--ink);padding:0;letter-spacing:0;outline-offset:8px}.search-bar .button{min-height:56px}.section{margin:0 5.2%;padding-top:100px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-head .eyebrow{margin-bottom:18px}.section-head>p{font-size:13px;line-height:1.8;color:var(--muted);padding-bottom:4px}.catalog-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:24px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);border-radius:30px;padding:10px 19px;font-size:12px;color:var(--ink);background:transparent;transition:all .2s}.chip.active,.chip:hover{background:var(--ink);border-color:var(--ink);color:white}.sort-label select{border:0;background:transparent;font-size:12px;color:var(--muted);padding:10px 0}.result-count{font-size:11px;color:var(--muted);padding:20px 0}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:33px 24px}.property-card{min-width:0}.property-photo{height:280px;position:relative;overflow:hidden;background:#dddcd0}.property-photo>a{display:block;height:100%}.property-photo img{height:100%;width:100%;object-fit:cover;transition:transform .65s ease}.property-card:hover img{transform:scale(1.05)}.property-tags{position:absolute;left:15px;top:15px;display:flex;gap:6px;pointer-events:none}.property-tags span{background:var(--paper);font-size:9px;letter-spacing:.8px;padding:7px 10px;text-transform:uppercase}.property-tags .featured{background:var(--ink);color:#fff}.favorite{position:absolute;right:14px;top:14px;border-radius:50%;background:#fffdf2ed;width:35px;height:35px;font-size:22px;color:var(--ink)}.favorite[aria-pressed=true]{background:var(--ink);color:white}.property-info{padding:20px 0 0}.property-location{font-size:10px;color:var(--muted);letter-spacing:.5px;margin-bottom:8px}.property-info h3{font-size:18px;font-weight:500;line-height:1.35;margin-bottom:12px}.property-specs{display:flex;gap:15px;font-size:11px;color:var(--muted);margin-bottom:18px}.property-bottom{border-top:1px solid var(--line);padding-top:15px;display:flex;align-items:center;justify-content:space-between}.property-price{font-size:20px;letter-spacing:-.5px}.property-price small{font-size:9px;color:var(--muted);letter-spacing:0;margin-left:5px}.property-bottom a{font-size:22px}.catalog-note{font-size:10px;color:var(--muted);margin-top:28px;line-height:1.6}.empty-state{padding:60px 20px;text-align:center;background:#efefe6}.empty-state p{margin:15px 0 25px}.experience{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding-bottom:100px}.experience-image{position:relative;height:600px}.experience-image img{width:100%;height:100%;object-fit:cover}.image-footnote{position:absolute;bottom:25px;left:25px;color:white;font-size:10px;letter-spacing:2px;background:#203d3480;padding:12px}.experience-copy h2{font-size:clamp(33px,3.2vw,49px);line-height:1.15}.experience-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.9;margin:24px 0 28px;max-width:410px}.service{display:flex;gap:22px;padding:18px 0;border-top:1px solid var(--line)}.service>span{font-family:var(--serif);font-style:italic;font-size:22px;color:#88947e}.service h3{font-size:14px;font-weight:500;margin-bottom:6px}.service p{font-size:12px;line-height:1.7;color:var(--muted)}.experience-copy .text-link{margin-top:23px}.contact{margin:0;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;padding:78px 8%;gap:12%}.contact h2{font-size:clamp(40px,4.2vw,65px)}.contact>div>p:not(.eyebrow){color:#bfcac1;font-size:14px;line-height:1.8;margin:25px 0}.light{color:var(--paper)}.contact-form{display:flex;flex-direction:column;gap:23px}.contact-form label{font-size:11px;display:flex;flex-direction:column;gap:12px}.contact-form input,.contact-form select,.contact-form textarea{border:none;border-bottom:1px solid #ffffff50;background:transparent;color:white;padding:0 0 12px;border-radius:0;width:100%;font-size:14px;resize:vertical}.contact-form option{color:var(--ink);background:var(--paper)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#b4c0b6}.button-cream{background:var(--paper);color:var(--ink);align-self:flex-start}.button-cream:hover{background:var(--sand)}.contact-form>p{font-size:10px;color:#bdcbbf;line-height:1.6}footer{display:flex;align-items:center;justify-content:space-between;padding:45px 5.2%;gap:30px}footer>p{font-size:13px;color:var(--muted)}footer>div{display:flex;flex-direction:column;gap:12px;text-align:right;font-size:11px}footer>div>span{color:var(--muted)}dialog{width:min(900px,95vw);max-height:90vh;border:0;padding:0;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#102b24b0;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:16px;top:16px;background:white;border-radius:50%;height:40px;width:40px;font-size:26px;z-index:1}.detail-image{width:100%;height:330px;object-fit:cover}.detail-content{padding:35px}.detail-content h2{font-size:37px;margin:12px 0 18px}.detail-content>p{line-height:1.7;margin:18px 0;color:var(--muted)}.detail-content .property-price{margin-top:20px;font-size:26px}.detail-gallery{display:flex;gap:10px;margin-top:20px;overflow:auto}.detail-gallery img{height:130px;width:190px;object-fit:cover}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:var(--ink);color:white;padding:16px 24px;z-index:10;max-width:90%;opacity:0;pointer-events:none;transition:all .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.skip{position:fixed;top:-60px;left:10px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}[hidden]{display:none!important}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.motion-ready .reveal.visible{opacity:1;transform:none}@keyframes photoIn{from{transform:scale(1.05);opacity:.5}to{transform:scale(1);opacity:1}}
@media(min-width:1600px){.hero{max-width:1650px;margin:auto}.header,.section,.search-section,footer{padding-left:max(5.2%,calc((100vw - 1500px)/2));padding-right:max(5.2%,calc((100vw - 1500px)/2))}.section{margin:0}.property-photo{height:340px}}
@media(max-width:1050px){.hero{min-height:570px}.hero-copy{padding-top:30px}.hero-visual{min-height:520px}.hero h1{font-size:56px}.hero-bottom{padding-top:30px}.search-bar{grid-template-columns:1fr 1fr;gap:24px}.search-bar label:nth-child(2){border:0}.search-bar .button{width:100%}.property-photo{height:220px}.property-specs{gap:9px;font-size:10px}.experience{gap:6%}.experience-image{height:580px}.catalog-toolbar{align-items:flex-start}.chips{gap:6px}.chip{padding:9px 13px}}
@media(max-width:760px){.preview-note{font-size:8px;letter-spacing:.6px}.header{height:85px;padding:0 6%;position:relative}.brand-symbol{font-size:33px}.brand-symbol span{font-size:30px}.brand-caption{font-size:6px;letter-spacing:3.5px}.header nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--paper);padding:25px 6%;z-index:5;border-bottom:1px solid var(--line)}.header nav.open{display:flex;flex-direction:column;gap:22px}.header-cta{margin-left:auto;padding:12px 16px;font-size:11px;gap:16px}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding:35px 6% 0;gap:28px;min-height:0}.hero-copy{padding:0}.hero h1{font-size:clamp(49px,10vw,70px)}.hero-description{font-size:14px}.hero-bottom{display:none}.hero .text-link{margin-top:24px}.hero-visual{min-height:420px}.image-caption{font-size:26px;left:25px;bottom:25px}.search-section{padding:0 6%;margin-top:25px}.search-bar{padding:20px;gap:22px 14px}.search-bar label{padding:0;font-size:8px;letter-spacing:1px}.search-bar input,.search-bar select{font-size:12px}.search-bar .button{font-size:12px;gap:12px;padding:16px}.section{margin:0 6%;padding-top:65px}.section-head{display:block;margin-bottom:28px}.section-head>p{margin-top:18px}.section-head h2{font-size:39px}.catalog-toolbar{display:block}.sort-label{display:block;margin-top:15px}.property-grid{grid-template-columns:1fr 1fr;gap:30px 17px}.property-photo{height:230px}.property-info h3{font-size:16px}.property-price{font-size:17px}.property-specs{flex-wrap:wrap;gap:6px 10px;line-height:1.6}.property-tags{left:9px;top:10px;flex-direction:column;align-items:flex-start}.property-tags span{font-size:8px;padding:6px}.favorite{right:10px;top:10px;width:30px;height:30px;font-size:19px}.experience{grid-template-columns:1fr;gap:35px;padding-bottom:65px}.experience-image{height:410px}.experience-copy h2{font-size:42px}.contact{margin:0;padding:50px 6%;grid-template-columns:1fr;gap:42px}.contact h2{font-size:49px}.contact .eyebrow{font-size:9px}.contact-form{max-width:100%}footer{padding:35px 6%;flex-wrap:wrap}footer>p{font-size:11px}footer>div{width:100%;text-align:left;border-top:1px solid var(--line);padding-top:22px;flex-direction:row;justify-content:space-between;font-size:10px}.detail-image{height:260px}.detail-content{padding:24px}.detail-content h2{font-size:30px}}
@media(max-width:420px){.property-grid{grid-template-columns:1fr}.property-photo{height:290px}.property-tags{flex-direction:row}.property-info h3{font-size:19px}.property-price{font-size:21px}.property-specs{font-size:12px}.hero-visual{min-height:350px}.search-bar{grid-template-columns:1fr}.search-bar label{border-right:0;border-bottom:1px solid var(--line);padding-bottom:15px}.search-bar label:nth-child(2){border-bottom:1px solid var(--line)}.header-cta{display:none}.hero h1{font-size:48px}.section-head h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
