@import url('./fonts.css');
:root{--cream:#f8f7f2;--white:#fff;--ink:#29392f;--green:#354b3d;--muted:#787c73;--line:#dedfd6;--sand:#edeee5;--terracotta:#a06b4b;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--terracotta);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.16;letter-spacing:-1.9px}h2{font-size:clamp(36px,3.2vw,49px)}h1 em,h2 em{font-weight:400}h3{font-weight:500}p{color:var(--muted)}[hidden]{display:none!important}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.2px;color:var(--terracotta);margin-bottom:20px;line-height:1.5}.eyebrow.light{color:#fff;display:flex;align-items:center;gap:14px}.eyebrow.light>span:first-child:empty{height:1px;width:38px;background:#e4e0c9}.button{min-height:54px;padding:15px 25px;display:inline-flex;align-items:center;justify-content:center;gap:25px;font-size:13px;font-weight:500;border-radius:2px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-green{background:var(--green);color:var(--white)}.button-green:hover{background:#233b2d}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:12px;font-weight:550;border-bottom:1px solid #acb2a5;padding-bottom:6px;white-space:nowrap}.text-link>span:last-child{font-size:22px;font-weight:400}.text-link:hover{color:var(--terracotta);border-color:var(--terracotta)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:100}.skip-link:focus{top:10px}
.header{height:96px;padding:0 56px;display:flex;align-items:center;gap:40px;position:relative;z-index:20;background:var(--cream);border-bottom:1px solid rgba(53,75,61,.08)}.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}.brand-mark{width:42px;height:47px;stroke-width:1.2}.wordmark{font-family:'Manrope',var(--sans);font-size:16px;font-weight:650;letter-spacing:1px;line-height:1.3}.wordmark small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:3.5px;font-weight:450;margin-top:6px}.nav{display:flex;align-items:center;gap:38px;margin-left:auto;font-size:12px;font-weight:500}.nav>a:not(.nav-contact){padding:16px 0;position:relative}.nav>a:not(.nav-contact):after{content:'';position:absolute;bottom:7px;left:0;right:100%;height:1px;background:var(--green);transition:right .2s}.nav>a:hover:after{right:0}.nav-contact{display:flex;gap:30px;align-items:center;padding:12px 22px;border:1px solid var(--green)}.nav-contact>span:last-child{font-size:22px;line-height:1}.nav-contact:hover{background:var(--green);color:white}.header-actions{display:flex;align-items:center}.language-label select{border:0;background:transparent;color:var(--ink);padding:10px 3px;font-size:11px;cursor:pointer}.menu-toggle{display:none}
.hero{height:620px;position:relative;color:white;overflow:hidden}.hero-image,.hero-shade{position:absolute;width:100%;height:100%;inset:0}.hero-image{object-position:center 55%;animation:hero-in 1.3s ease-out both}.hero-shade{background:linear-gradient(90deg,rgba(16,30,19,.64) 0%,rgba(16,30,19,.24) 60%,rgba(16,30,19,.1) 100%),linear-gradient(0deg,rgba(15,28,21,.28),transparent 35%)}.hero-content{position:relative;padding-top:100px}.hero h1{font-size:clamp(55px,5.8vw,87px);line-height:1.12;letter-spacing:-2.7px;max-width:820px}.hero h1 em{color:#eeebdc}.hero-description{color:#f2f0e8;font-weight:400;max-width:375px;font-size:15px;line-height:1.8;margin-top:24px}.hero-link{display:inline-flex;align-items:center;gap:45px;border-bottom:1px solid #a6b2a4;padding-bottom:5px;margin-top:25px;font-size:12px}.hero-link>span:last-child{font-size:24px}.hero-location{position:absolute;right:56px;bottom:96px;display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:2px}.hero-location svg{width:17px}.hero-scroll{position:absolute;left:56px;bottom:96px;border:1px solid #ffffff6b;width:30px;height:40px;border-radius:20px;display:grid;place-items:center;font-size:19px}
.search-wrap{position:relative;margin-top:-58px;z-index:3}.search-box{background:var(--white);box-shadow:0 12px 35px #2233250a;border:1px solid #e7e7de;border-radius:3px}.search-tabs{display:flex;height:52px;padding-left:29px;gap:31px;border-bottom:1px solid #eee}.search-tabs button{display:flex;align-items:center;gap:8px;padding:0 2px;font-size:12px;color:var(--muted);position:relative}.search-tabs button[aria-selected=true]{color:var(--green);font-weight:600}.search-tabs button[aria-selected=true]:after{content:'';height:2px;position:absolute;bottom:-1px;left:0;right:0;background:var(--green)}.search-tabs svg{width:14px;height:14px}.search-tabs #saved-count{background:var(--sand);padding:0 5px;line-height:17px;border-radius:10px;font-size:9px}.search-fields{display:grid;grid-template-columns:1.15fr 1.15fr 1fr auto;align-items:center;padding:24px 26px;gap:24px}.search-field{padding-right:20px;border-right:1px solid var(--line);min-width:0}.search-field label{display:block;font-size:8px;letter-spacing:1.45px;color:var(--muted);font-weight:600;margin-bottom:7px}.search-field select{border:0;width:100%;color:var(--ink);background:transparent;font-size:13px;cursor:pointer;padding:1px 15px 1px 0}.search-button{min-width:174px;gap:13px;min-height:55px}.search-button svg{width:17px;height:17px}
.properties{padding-top:85px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.section-heading .eyebrow{margin-bottom:13px}.section-heading>.text-link{margin-bottom:7px}.results-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:35px 0 28px}.filter-chips{display:flex;gap:9px;flex-wrap:wrap}.chip{border:1px solid var(--line);border-radius:30px;font-size:10px;padding:9px 17px;transition:background .2s}.chip.active{background:var(--green);border-color:var(--green);color:white}.chip:hover:not(.active){background:var(--sand)}.result-count{font-size:10px;color:var(--muted);white-space:nowrap}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 25px}.property-card{min-width:0}.property-image-wrap{position:relative;overflow:hidden;height:276px;border-radius:2px;background:#e5e8df}.property-image-button{padding:0;width:100%;height:100%;display:block;text-align:left}.property-image-button img{width:100%;height:100%;transition:transform .6s}.property-image-button:hover img{transform:scale(1.045)}.property-tag{position:absolute;top:17px;left:17px;font-size:8px;letter-spacing:1.3px;font-weight:550;background:var(--cream);padding:6px 10px;pointer-events:none}.favorite{position:absolute;top:13px;right:13px;border-radius:50%;background:#ffffffeb;display:grid;place-items:center;width:34px;height:34px;color:var(--green);transition:transform .2s}.favorite:hover{transform:scale(1.1)}.favorite svg{width:16px;height:16px}.favorite[aria-pressed=true] svg{fill:var(--green)}.property-body{padding:19px 0 0}.property-location{color:var(--terracotta);font-size:8px;font-weight:550;letter-spacing:1.4px;display:flex;align-items:center;gap:5px;text-transform:uppercase}.property-location svg{width:12px;height:12px}.property-title{font-family:var(--serif);font-size:24px;line-height:1.35;font-weight:400;margin-top:6px;letter-spacing:-.35px;display:block;text-align:left;padding:0}.property-title:hover{color:var(--terracotta)}.property-specs{display:flex;gap:16px;color:var(--muted);font-size:10px;margin-top:14px;align-items:center;flex-wrap:wrap}.property-specs>span{display:flex;gap:6px;align-items:center}.property-specs svg{width:15px;height:15px;stroke-width:1.2}.property-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:17px;padding-top:13px}.property-price{font-size:17px;font-weight:500;letter-spacing:-.3px}.property-price small{font-size:10px;font-weight:400}.property-more{width:30px;height:30px;border:1px solid #cbd0c7;border-radius:50%;font-size:19px;line-height:1}.property-more:hover{background:var(--green);color:white}.properties-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:35px}.properties-bottom p{font-size:10px;max-width:520px}.empty-state{text-align:center;padding:45px 20px;border:1px solid var(--line)}.empty-symbol{font-size:45px}.empty-state h3{font-family:var(--serif);font-size:30px;margin:10px 0}.empty-state p{max-width:480px;margin:0 auto 20px;font-size:14px}.empty-state>.text-link{margin-left:25px}
.agency-section{background:var(--sand);padding:84px 0}.agency-grid{display:grid;grid-template-columns:1fr 1fr;gap:92px;align-items:center}.agency-photo{position:relative;height:565px}.agency-photo>img{width:100%;height:100%;border-radius:120px 2px 2px 2px;object-position:center}.photo-label{background:var(--cream);position:absolute;bottom:24px;left:24px;padding:17px 22px;display:flex;flex-direction:column;gap:5px;font-size:8px;letter-spacing:1.8px}.photo-label>span:first-child{font-family:var(--serif);font-size:18px;letter-spacing:1px}.agency-copy{padding:15px 0}.agency-copy h2{font-size:clamp(35px,3.2vw,48px)}.agency-copy .lead{font-size:17px;color:var(--ink);line-height:1.7;margin-top:26px;max-width:420px}.agency-copy>p:not(.lead):not(.eyebrow){font-size:13px;line-height:1.9;margin-top:17px}.language-note{display:flex;align-items:center;gap:15px;padding:21px 0 25px;margin-top:9px}.globe{font-size:33px;line-height:1;font-weight:400}.language-note strong{display:block;font-size:11px;font-weight:500}.language-note div>span{font-size:10px;color:var(--muted)}.signature{margin-top:30px;font-family:var(--serif);font-size:28px;font-style:italic;line-height:1.25}.signature small{display:block;font-family:var(--sans);font-style:normal;font-size:7px;font-weight:550;letter-spacing:1.8px;margin-top:8px}.services-section{display:grid;grid-template-columns:.9fr 1.15fr;gap:100px}.services-intro p:last-child{font-size:13px;margin-top:23px;max-width:300px;line-height:1.85}.service-row{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:26px 0;transition:padding .2s}.service-row:first-child{border-top:1px solid var(--line)}.service-number{font-size:10px;color:var(--terracotta);padding-top:7px}.service-row h3{font-family:var(--serif);font-size:24px}.service-row p{font-size:12px;line-height:1.8;max-width:360px;margin-top:8px}.service-arrow{font-size:24px;margin-left:auto}.service-row:hover{padding-left:8px}.territory-section{height:490px;position:relative;color:white;overflow:hidden}.territory-section>img,.territory-shade{position:absolute;inset:0;height:100%;width:100%}.territory-section>img{object-position:center 50%}.territory-shade{background:linear-gradient(90deg,#172f25de 0%,#1733248f 48%,#12332105 100%)}.territory-content{position:relative;padding-top:65px}.territory-content h2{font-size:56px}.territory-content>p:not(.eyebrow){max-width:365px;color:#e3e7dc;font-size:13px;line-height:1.9;margin-top:22px}.town-links{display:flex;gap:22px;margin-top:27px}.town-links button{font-size:11px;color:white;padding:5px 0;border-bottom:1px solid #ffffff70}.town-links button:hover{color:#e3d7be}.contact-section{display:grid;grid-template-columns:1fr .92fr;gap:100px;padding-block:100px 94px}.contact-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:370px;margin-top:23px}.contact-phone{font-size:30px;letter-spacing:-1px;display:flex;align-items:center;gap:25px;margin-top:30px}.contact-phone>span{font-size:25px}.contact-email{font-size:12px;border-bottom:1px solid var(--line);padding-bottom:5px;display:inline-block}.office-info{display:flex;gap:16px;margin-top:31px;align-items:flex-start}.office-info>svg{width:20px;height:20px}.office-info strong{font-size:11px;font-weight:500}.office-info p{font-size:11px;margin-top:5px}.office-info .text-link{font-size:10px;gap:20px;margin-top:10px;padding-bottom:0;border:0}.office-info .text-link>span:last-child{font-size:18px}.mobile-number{display:inline-block;margin-top:22px;font-size:11px}.mobile-number>span{color:var(--muted);margin-right:7px}.contact-form{background:var(--sand);padding:36px;align-self:start;display:flex;flex-direction:column;gap:20px;border-radius:3px}.contact-form h3{font-family:var(--serif);font-size:28px;letter-spacing:-.5px;margin-bottom:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:block;font-size:10px;font-weight:500;margin-bottom:6px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #d4d9ce;border-radius:2px;background:#ffffff80;min-height:43px;padding:11px 12px;font-size:12px;color:var(--ink)}.contact-form textarea{resize:vertical;min-height:108px}.contact-form ::placeholder{color:#858b7f}.contact-form .form-note{font-size:10px;line-height:1.7}.contact-form .button{justify-content:space-between;margin-top:0}.contact-form #form-status{font-size:12px;color:var(--green);padding:12px;border:1px solid #b6c3b0}.footer{background:var(--green);color:var(--cream);padding:45px 0 22px}.footer-top{display:flex;align-items:center;gap:35px;padding-bottom:35px}.footer .wordmark{font-size:13px}.footer .wordmark small{font-size:7px}.footer .brand-mark{width:34px;height:40px}.footer-top p{font-family:var(--serif);font-style:italic;font-size:18px;color:#e1e4d8;margin-left:auto}.back-top{font-size:10px;margin-left:35px}.footer-bottom{padding-top:20px;border-top:1px solid #ffffff25;display:flex;justify-content:space-between;gap:20px;color:#c5cfbf;font-size:9px}.footer-bottom>div{display:flex;gap:22px}.footer-bottom button{font-size:9px;padding:0;color:inherit}.footer-bottom a:hover,.footer-bottom button:hover{text-decoration:underline}
body.modal-open{overflow:hidden}dialog{color:var(--ink);border:0;background:var(--cream);padding:0;max-height:90dvh;overscroll-behavior:contain}dialog::backdrop{background:#17251ee0;backdrop-filter:blur(5px)}.property-dialog{width:min(1000px,calc(100% - 40px));border-radius:4px;overflow:auto}.dialog-close{position:absolute;top:15px;right:16px;z-index:5;border-radius:50%;width:38px;height:38px;font-size:25px;line-height:1;background:var(--cream);box-shadow:0 2px 15px #0002}.detail-gallery{height:430px;position:relative;background:var(--sand)}.detail-gallery>img{width:100%;height:100%;object-fit:cover}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);background:var(--cream);border-radius:50%;height:38px;width:38px;font-size:23px}.gallery-prev{left:20px}.gallery-next{right:20px}.gallery-counter{position:absolute;bottom:16px;right:20px;background:#203a2ccc;padding:4px 12px;color:white;font-size:11px;border-radius:20px}.detail-body{padding:35px 42px}.detail-heading{display:flex;justify-content:space-between;gap:25px;align-items:center}.detail-heading h2{font-size:35px;margin-top:7px}.detail-price{font-size:25px;white-space:nowrap}.detail-body>.property-specs{font-size:13px;gap:30px;margin:25px 0;padding-bottom:22px;border-bottom:1px solid var(--line)}.detail-body>p{font-size:14px;line-height:1.9}.detail-ref{font-size:10px;color:var(--muted);display:block;margin-top:15px}.detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:30px;margin-top:26px}.detail-actions>.text-link{font-size:11px}.data-dialog{padding:45px;width:min(540px,calc(100% - 40px));border-radius:4px}.data-dialog h2{font-size:32px;margin-bottom:20px}.data-dialog>p:not(.eyebrow){font-size:13px;line-height:1.8;margin-bottom:23px}.data-dialog #data-status{margin:15px 0 0}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:80;background:var(--green);color:white;box-shadow:0 3px 20px #0002;padding:12px 24px;border-radius:3px;font-size:12px;transition:opacity .2s,transform .2s;max-width:calc(100% - 30px);text-align:center}.toast.visible{transform:translate(-50%,0);opacity:1}@keyframes hero-in{from{transform:scale(1.04);opacity:.4}to{transform:scale(1);opacity:1}}
@media(min-width:1600px){.hero{height:690px}.hero-content{padding-top:125px}.hero h1{font-size:91px}.property-image-wrap{height:300px}}@media(max-width:1150px){.wrap{width:calc(100% - 72px)}.header{padding:0 36px;gap:23px}.nav{gap:24px}.wordmark{font-size:14px}.brand-mark{width:36px}.hero-location{right:36px}.hero-scroll{left:36px}.search-fields{gap:18px;padding:22px}.search-button{min-width:143px;padding:15px 18px}.agency-grid{gap:50px}.agency-photo{height:525px}.services-section{gap:55px}.contact-section{gap:60px}.property-title{font-size:21px}.property-image-wrap{height:240px}.footer-top p{font-size:16px}.back-top{margin-left:10px}}@media(max-width:900px){.header{height:82px;padding:0 28px}.wrap{width:calc(100% - 56px)}.nav{gap:19px;font-size:11px}.nav-contact{padding:10px 15px;gap:15px}.wordmark{font-size:12px;letter-spacing:.7px}.wordmark small{font-size:7px;letter-spacing:2px}.brand{gap:9px}.brand-mark{width:32px}.hero{height:580px}.hero-content{padding-top:85px}.hero h1{font-size:65px}.hero-location{right:28px}.hero-scroll{left:28px}.search-fields{grid-template-columns:1fr 1fr;gap:20px}.search-field:nth-child(2){border:0}.search-button{width:100%}.budget-field{border-right:1px solid var(--line)}.search-field label{font-size:8px}.section{padding-block:75px}.properties{padding-top:70px}.section-heading h2{font-size:38px}.property-grid{gap:30px 19px}.property-image-wrap{height:210px}.property-title{font-size:20px}.property-specs{gap:9px;font-size:9px}.property-price{font-size:15px}.agency-section{padding:65px 0}.agency-grid{gap:35px}.agency-photo{height:490px}.agency-copy h2{font-size:34px}.agency-copy .lead{font-size:15px}.agency-copy>p:not(.lead):not(.eyebrow){font-size:12px}.agency-copy .eyebrow{font-size:8px}.language-note{padding:17px 0}.signature{margin-top:22px}.services-section{gap:35px;grid-template-columns:.85fr 1.2fr}.services-intro h2{font-size:38px}.service-row h3{font-size:22px}.service-row{gap:18px}.contact-section{gap:35px}.contact-copy h2{font-size:36px}.contact-form{padding:28px}.contact-form h3{font-size:25px}.form-row{grid-template-columns:1fr;gap:16px}.footer-top{gap:25px;flex-wrap:wrap}.footer-top p{margin-left:auto}.footer-top .back-top{display:none}.footer-bottom{font-size:8px}.footer-bottom>div{gap:15px}.footer-bottom button{font-size:8px}.results-bar{align-items:flex-start}.result-count{padding-top:11px}.chip{font-size:9px;padding:8px 12px}.detail-gallery{height:360px}}
@media(max-width:700px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.header{height:77px;padding:0 20px;justify-content:space-between;gap:12px}.brand-mark{width:33px;height:40px}.wordmark{font-size:13px;letter-spacing:.7px}.wordmark small{font-size:7px;letter-spacing:2.4px}.header-actions{gap:18px}.language-label select{font-size:11px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:24px;height:35px;padding:0}.menu-toggle span{width:24px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav{display:none;position:absolute;top:77px;left:0;right:0;background:var(--cream);padding:15px 24px 25px;margin:0;box-shadow:0 20px 30px #0002;font-size:14px}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:2px}.nav-contact{margin-top:10px;justify-content:space-between}.hero{height:580px}.hero-image{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#162c20b3,#162c2040),linear-gradient(0deg,#1631206b,transparent 65%)}.hero-content{padding-top:72px}.hero .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:24px}.hero h1{font-size:54px;letter-spacing:-1.8px;line-height:1.16}.hero-description{font-size:13px;max-width:280px;margin-top:24px}.hero-link{font-size:11px;margin-top:24px;gap:35px}.hero-location{right:20px;bottom:84px;font-size:7px;letter-spacing:1.5px}.hero-scroll{bottom:84px;left:20px;width:26px;height:36px;font-size:16px}.search-wrap{margin-top:-42px}.search-tabs{height:49px;padding-left:20px;gap:25px}.search-tabs button{font-size:11px;gap:6px}.search-fields{padding:21px 18px;gap:20px 15px;grid-template-columns:1fr 1fr}.search-field{padding-right:10px}.search-field label{font-size:7px;letter-spacing:1px}.search-field select{font-size:11px}.search-button{min-height:48px;min-width:0;font-size:11px;padding:13px 10px;gap:10px}.search-button svg{width:15px;height:15px}.section{padding-block:61px}.properties{padding-top:60px}.section-heading{align-items:flex-start;flex-direction:column;gap:20px}.eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:17px}h2,.section-heading h2{font-size:35px;letter-spacing:-1.2px}.section-heading>.text-link{font-size:10px;margin:0;gap:25px}.results-bar{margin:25px 0 22px;gap:15px;flex-direction:column}.filter-chips{gap:6px}.chip{font-size:9px;padding:8px 13px}.result-count{font-size:9px;padding:0}.property-grid{grid-template-columns:1fr;gap:30px}.property-image-wrap{height:280px}.property-title{font-size:25px;margin-top:7px}.property-body{padding-top:17px}.property-location{font-size:8px}.property-specs{font-size:11px;gap:20px;margin-top:12px}.property-specs svg{width:15px;height:15px}.property-price{font-size:19px}.property-bottom{margin-top:17px;padding-top:13px}.property-more{width:32px;height:32px}.properties-bottom{align-items:flex-start;flex-direction:column;gap:20px;margin-top:26px}.properties-bottom p{font-size:9px}.properties-bottom .text-link{font-size:11px}.agency-section{padding:55px 0}.agency-grid{grid-template-columns:1fr;gap:38px}.agency-photo{height:405px}.agency-photo>img{border-top-left-radius:90px}.photo-label{left:20px;bottom:20px;padding:13px 17px;font-size:7px}.photo-label>span:first-child{font-size:16px}.agency-copy{padding:0}.agency-copy h2{font-size:35px}.agency-copy .eyebrow{font-size:8px}.agency-copy .lead{font-size:16px;margin-top:22px}.agency-copy>p:not(.lead):not(.eyebrow){font-size:13px;line-height:1.9}.language-note{padding:20px 0}.signature{margin-top:27px}.services-section{grid-template-columns:1fr;gap:30px}.services-intro h2{font-size:36px}.services-intro p:last-child{font-size:12px;max-width:320px;margin-top:20px}.service-row{padding:24px 0;gap:20px}.service-row h3{font-size:23px}.service-row p{font-size:12px}.territory-section{height:490px}.territory-section>img{object-position:65%}.territory-shade{background:linear-gradient(90deg,#172f25dd,#1733245c)}.territory-content{padding-top:60px}.territory-content h2{font-size:47px;line-height:1.15}.territory-content>p:not(.eyebrow){font-size:12px;max-width:280px;line-height:1.9}.town-links{gap:19px}.town-links button{font-size:10px}.contact-section{grid-template-columns:1fr;gap:36px}.contact-copy h2{font-size:35px}.contact-copy>p:not(.eyebrow){font-size:13px;max-width:330px}.contact-phone{font-size:30px;margin-top:24px}.contact-email{font-size:12px}.office-info{margin-top:26px}.contact-form{padding:26px 23px;gap:18px}.contact-form h3{font-size:27px}.form-row{grid-template-columns:1fr 1fr;gap:12px}.contact-form label{font-size:10px}.contact-form input,.contact-form select,.contact-form textarea{font-size:12px;min-width:0}.contact-form .form-note{font-size:10px}.footer{padding:36px 0 25px}.footer-top{padding-bottom:28px;gap:23px;flex-direction:column;align-items:flex-start}.footer-top p{font-size:16px;margin:0}.footer-bottom{flex-direction:column;font-size:8px;gap:15px;padding-top:19px}.footer-bottom>div{gap:22px}.footer-bottom button{font-size:8px}.detail-gallery{height:270px}.detail-body{padding:25px}.detail-heading{flex-direction:column;align-items:flex-start;gap:15px}.detail-heading h2{font-size:30px}.detail-price{font-size:23px}.detail-body>.property-specs{gap:18px;font-size:11px;margin:20px 0}.detail-body>p{font-size:13px}.detail-actions{gap:22px;margin-top:23px}.detail-actions .button{font-size:12px}.property-dialog{width:calc(100% - 24px);max-height:94dvh}.data-dialog{padding:40px 25px}.data-dialog h2{font-size:30px}.data-dialog .button{font-size:11px;padding:15px}.empty-state{padding:35px 18px}.empty-state>.text-link{margin:20px 0 0}.toast{font-size:11px;bottom:15px;padding:12px 18px;min-width:250px}}
@media(min-width:480px) and (max-width:700px){.property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.property-image-wrap{height:200px}.property-title{font-size:21px}.property-specs{font-size:9px;gap:12px}.property-price{font-size:17px}.hero h1{font-size:65px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Original agency logo supplied by the owner. */
.brand{flex-direction:column;gap:2px;justify-content:center}
.brand-logo{width:126px;height:auto;object-fit:contain;mix-blend-mode:multiply}
.brand-owner{font-family:var(--sans);font-size:7px;font-weight:500;letter-spacing:2.7px;line-height:1.3;color:#35485b}
.footer .brand{background:var(--cream);padding:10px 14px;border-radius:2px}
.footer .brand-logo{width:144px}
.footer .brand-owner{font-size:7px}
@media(max-width:900px){.brand-logo{width:113px}.brand-owner{font-size:6px;letter-spacing:2.4px}}
@media(max-width:700px){.brand-logo{width:103px}.brand-owner{font-size:6px;letter-spacing:2.1px}.footer .brand-logo{width:132px}.footer .brand-owner{font-size:7px}}
/* Language picker */
.language-switcher{position:relative;flex-shrink:0}
.language-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:40px;min-width:86px;padding:0 12px;border:1px solid #d8ddd3;border-radius:5px;background:#ffffff50;font-size:11px;font-weight:550;letter-spacing:.5px;transition:background .18s,border-color .18s,box-shadow .18s}
.language-toggle:hover,.language-toggle[aria-expanded=true]{background:#edeee5;border-color:#aab8a7;box-shadow:0 2px 8px #283b2e06}
.language-toggle .language-globe{width:16px;height:16px;stroke-width:1.4;color:#6e7d6b}
.language-toggle .language-chevron{width:12px;height:12px;stroke-width:1.5;margin-left:2px;transition:transform .2s}
.language-toggle[aria-expanded=true] .language-chevron{transform:rotate(180deg)}
.language-popover{position:absolute;top:calc(100% + 12px);right:0;width:230px;padding:17px 9px 9px;background:#fffefb;border:1px solid #e2e5dc;border-radius:10px;box-shadow:0 14px 40px #1b352322,0 2px 5px #1b352308;z-index:30;transform-origin:top right;animation:language-open .16s ease-out}
.language-popover:before{content:'';position:absolute;top:-5px;right:31px;width:8px;height:8px;transform:rotate(45deg);background:#fffefb;border-left:1px solid #e2e5dc;border-top:1px solid #e2e5dc}
.language-menu-title{margin:0 10px 12px;font-size:9px;line-height:1.4;font-weight:550;letter-spacing:1.3px;text-transform:uppercase;color:#7a8276}
.language-option{display:flex;align-items:center;gap:13px;width:100%;min-height:49px;padding:8px 10px;border-radius:6px;text-align:left;font-size:13px;line-height:1.4;transition:background .15s,color .15s}
.language-option+.language-option{margin-top:3px}
.language-option:hover,.language-option:focus-visible{background:#f0f2ea}
.language-option:focus-visible{outline:1px solid #9ba991;outline-offset:-2px}
.language-option[aria-checked=true]{background:#e9eee3;color:#2e4734;font-weight:550}
.language-code{display:grid;place-items:center;width:32px;height:30px;flex-shrink:0;border:1px solid #dfe4d8;border-radius:4px;background:#fffefb;font-size:10px;font-weight:500;letter-spacing:.5px;color:#708068}
.language-option[aria-checked=true] .language-code{border-color:#cad5bf;color:#3d583b}
.language-check{margin-left:auto;width:17px;height:17px;stroke-width:1.7;visibility:hidden;color:#506a44}
.language-option[aria-checked=true] .language-check{visibility:visible}
@keyframes language-open{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.header-actions{gap:16px}.language-toggle{height:38px;min-width:77px;padding:0 10px;gap:7px;font-size:10px}.language-toggle .language-globe{width:14px;height:14px}.language-popover{width:222px;right:-8px;top:calc(100% + 12px)}.language-popover:before{right:31px}.language-option{min-height:50px}}
/* Local SVG flags retain their original proportions on every device. */
.language-flag-wrap{display:grid;place-items:center;width:32px;min-height:30px;flex-shrink:0}
.language-flag{display:block;width:28px;height:auto;max-height:20px;object-fit:contain;border-radius:2px;box-shadow:0 0 0 1px #243b2c15}
.language-toggle .language-flag{width:20px;height:auto;max-height:14px;flex-shrink:0}
/* Caldana weather: current model temperature, retrieved when the card is near view. */
.photo-label-weather{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 18px;width:338px;max-width:calc(100% - 48px);padding:18px 20px 12px}
.photo-label-place{display:flex;flex-direction:column;gap:7px;min-width:0}
.photo-label-place .photo-coordinates{font-family:var(--serif);font-size:16px;letter-spacing:0;line-height:1.4}
.photo-label-place>span:last-child{font-size:7px;letter-spacing:1.5px;line-height:1.65}
.weather-widget{border-left:1px solid var(--line);padding-left:18px;min-width:96px}
.weather-location{display:block;font-size:7px;font-weight:500;letter-spacing:1px;line-height:1.6;text-transform:uppercase;color:var(--muted)}
.weather-reading{display:flex;align-items:center;gap:7px;line-height:1.2;margin:4px 0;color:var(--green)}
.weather-reading svg{width:17px;height:25px;stroke-width:1.3}
#weather-temperature{font-family:var(--serif);font-size:29px;letter-spacing:-.6px}
.weather-unit{font-family:var(--sans);font-size:12px;letter-spacing:0;align-self:flex-start;margin-top:5px;margin-left:-3px}
.weather-updated{display:block;color:var(--muted);font-size:8px;line-height:1.5;letter-spacing:.1px}
.weather-credit{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px;border-top:1px solid var(--line);margin-top:12px;padding-top:8px;color:#7f8877;font-size:7px;line-height:1.5;letter-spacing:.25px}
.weather-credit a{border-bottom:1px solid #c7cebe}
.weather-credit a:hover{color:var(--green);border-color:var(--green)}
.weather-widget[data-state=unavailable] .weather-reading{opacity:.5}
@media(max-width:900px){.photo-label-weather{padding:15px 16px 10px;gap:0 13px}.photo-label-place .photo-coordinates{font-size:14px}.photo-label-place>span:last-child{font-size:6.5px;letter-spacing:1px}.weather-widget{padding-left:13px;min-width:89px}.weather-location{font-size:6.5px;letter-spacing:.7px}#weather-temperature{font-size:27px}}
@media(max-width:700px){.photo-label-weather{max-width:calc(100% - 40px);width:310px;padding:15px 16px 10px}.photo-label-place .photo-coordinates{font-size:15px}.weather-credit{font-size:7px}}

/* Authentic Caldana panorama and image attribution. */
.agency-photo>img{object-position:56% center}
.agency-photo-credit{position:absolute;top:100%;left:0;right:0;margin:7px 0 0;font-size:8.5px;line-height:1.5;color:var(--muted)}
.agency-photo-credit a{text-decoration:underline;text-underline-offset:2px}
.agency-photo-credit a:hover{color:var(--ink)}
