:root{--paper:#f4efe6;--paper-deep:#e9dfcf;--ink:#173f45;--ink-soft:#476367;--sea:#2f6670;--sea-light:#b9d8d4;--clay:#a65c46;--sun:#eaa25d;--olive:#69765a;--white:#fffdf8;--line:#173f452e;--shadow:0 24px 70px #173f4521;--sans:"Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;--serif:Iowan Old Style, Baskerville, "Times New Roman", serif;--max:1240px;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{min-width:320px;color:var(--ink);background:var(--paper);text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.6}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--sun);outline-offset:4px}::selection{color:var(--white);background:var(--sea)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);letter-spacing:-.035em;font-weight:400;line-height:.98}h1{font-size:clamp(3.6rem,8vw,7.5rem)}h2{font-size:clamp(2.8rem,5vw,5.3rem)}h3{font-size:clamp(2rem,3vw,3.1rem)}.eyebrow{letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem;font-size:.76rem;font-weight:700;line-height:1.3}.site-header{z-index:20;width:min(calc(100% - 48px), var(--max));border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;min-height:92px;margin:0 auto;display:grid;position:relative}.brand{width:fit-content;font-family:var(--serif);letter-spacing:-.02em;align-items:center;gap:.7rem;font-size:1.25rem;display:inline-flex}.brand svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2.5px;width:36px}.brand circle{fill:var(--sun);stroke:none}.desktop-nav{gap:2rem;font-size:.84rem;font-weight:650;display:flex}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .18s;position:absolute;bottom:-.3rem;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.header-actions{justify-self:end;align-items:center;gap:.4rem;display:flex}.language-switcher,.mobile-menu{position:relative}.language-switcher summary,.mobile-menu summary{cursor:pointer;border:0;place-items:center;min-height:44px;padding:0;list-style:none;display:grid}.language-switcher summary{letter-spacing:.09em;grid-template-columns:auto auto auto;gap:.45rem;min-width:82px;padding:.55rem .65rem;font-size:.69rem;font-weight:750}.language-switcher summary::-webkit-details-marker{display:none}.mobile-menu summary::-webkit-details-marker{display:none}.language-switcher__globe{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:18px;height:18px}.language-switcher__chevron{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:9px;height:6px;transition:transform .16s}.language-switcher[open] .language-switcher__chevron{transform:rotate(180deg)}.language-switcher__panel,.mobile-menu__panel{z-index:5;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);display:grid;position:absolute;top:calc(100% + .55rem);right:0}.language-switcher__panel{gap:.15rem;min-width:112px;padding:.3rem}.language-switcher__option{letter-spacing:.09em;grid-template-columns:24px 1fr;align-items:center;gap:.55rem;min-height:36px;padding:.35rem .55rem;font-size:.7rem;font-weight:750;display:grid}.language-switcher__option:hover,.language-switcher__option[aria-current=page]{background:var(--paper-deep)}.language-switcher__flag{font-size:1rem;line-height:1}.mobile-menu{display:none}.mobile-menu summary{place-items:center;width:44px;height:44px;display:grid}.mobile-menu__panel{gap:1rem;min-width:220px;padding:1.5rem}.mobile-menu__panel>a{font-family:var(--serif);font-size:1.4rem}.mobile-menu__icon{width:24px;height:16px;display:block;position:relative}.mobile-menu__icon>span{transform-origin:50%;background:currentColor;border-radius:999px;width:24px;height:1.5px;transition:top .18s,transform .18s;position:absolute;left:0}.mobile-menu__icon>span:first-child{top:3px}.mobile-menu__icon>span:last-child{top:11px}.mobile-menu[open] .mobile-menu__icon>span:first-child{top:7px;transform:rotate(45deg)}.mobile-menu[open] .mobile-menu__icon>span:last-child{top:7px;transform:rotate(-45deg)}.hero{padding:3.25rem max(24px, calc((100vw - var(--max)) / 2)) 4.5rem;position:relative;overflow:hidden}.hero:before{content:"";filter:blur(2px);background:#b9d8d473;border-radius:50%;width:38vw;min-width:420px;height:38vw;min-height:420px;position:absolute;top:4%;right:-8vw}.hero__grid{z-index:1;grid-template-columns:minmax(0,1.15fr) minmax(320px,.62fr);align-items:center;gap:clamp(3rem,8vw,8rem);display:grid;position:relative}.hero__grid>*,.hero__copy{min-width:0}.hero__copy h1{hyphens:auto;overflow-wrap:break-word;max-width:850px;margin-bottom:1.4rem;font-size:clamp(3.4rem,6.2vw,6rem)}.hero__copy>p:not(.eyebrow){max-width:630px;color:var(--ink-soft);font-size:clamp(1.08rem,1.6vw,1.35rem)}.hero__visual{padding:1.4rem 0 0 1.4rem;position:relative}.hero__visual:before{border:1px solid var(--clay);content:"";position:absolute;inset:0 1.4rem 1.4rem 0}.hero__visual .property-artwork,.hero__visual>img{aspect-ratio:4/3;width:100%;box-shadow:var(--shadow);object-fit:cover}.hero__visual>img{height:auto}.hero__stamp{width:124px;height:124px;color:var(--white);background:var(--clay);letter-spacing:.1em;text-align:center;text-transform:uppercase;border-radius:50%;place-items:center;padding:1rem;font-size:.68rem;font-weight:750;line-height:1.4;display:grid;position:absolute;bottom:-1.5rem;right:-1.5rem;transform:rotate(8deg)}.homes-section{padding:5rem max(24px, calc((100vw - var(--max)) / 2));color:var(--white);background:var(--ink)}.section-heading{grid-template-columns:.48fr 1fr;gap:2rem;margin-bottom:3rem;display:grid}.section-heading h2{max-width:780px;margin:0 0 1rem}.section-heading__intro{color:#fffdf8b8;max-width:660px;margin:0}.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,5rem);display:grid}.listing-card{min-width:0}.listing-card__visual{background:var(--paper-deep);display:block;position:relative;overflow:hidden}.listing-card__visual>.media-with-fallback,.listing-card__visual>.property-artwork{aspect-ratio:4/3;width:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.listing-card__visual:hover>.media-with-fallback,.listing-card__visual:hover>.property-artwork{transform:scale(1.025)}.listing-card__number{width:48px;height:48px;color:var(--ink);background:var(--paper);font-family:var(--serif);border-radius:50%;place-items:center;font-size:1.05rem;display:grid;position:absolute;top:1rem;right:1rem}.listing-card__body{padding:2rem 0 0}.listing-card__body .eyebrow{color:var(--sea-light)}.listing-card__body h3{max-width:560px;margin-bottom:1.2rem}.listing-card__body h3 a{transition:color .16s}.listing-card__body h3 a:hover{color:var(--sun)}.listing-card__body>p:not(.eyebrow){color:#fffdf8b8;max-width:590px}.text-link{border-bottom:1px solid;align-items:center;gap:.6rem;margin-top:.7rem;padding-bottom:.2rem;font-size:.83rem;font-weight:700;display:inline-flex}.text-link span{transition:transform .16s}.text-link:hover span{transform:translate(2px,-2px)}.coast-section{min-height:650px;padding:9rem max(24px, calc((100vw - var(--max)) / 2));color:var(--ink);background:var(--sea-light);position:relative;overflow:hidden}.coast-section:after{background:var(--paper);content:"";border-radius:50%;width:60vw;height:60vw;position:absolute;bottom:-25vw;right:-8vw}.coast-section__content{z-index:1;max-width:810px;position:relative}.coast-section h2{margin-bottom:2rem}.coast-section p:last-child{max-width:600px;color:var(--ink-soft);font-size:1.15rem}.property-artwork{background:var(--paper-deep);width:100%;min-height:280px;position:relative;overflow:hidden}.property-artwork svg{width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.property-artwork>span{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;background:#f4efe6e6;padding:.5rem .75rem;font-size:.7rem;font-weight:700;position:absolute;bottom:1rem;left:1rem}.property-artwork--compact{min-height:0}.detail-hero{width:min(calc(100% - 48px), var(--max));margin:0 auto;padding:5.5rem 0 3.5rem}.detail-hero__topline{justify-content:space-between;gap:2rem;margin-bottom:2rem;display:flex}.back-link{letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.78rem;font-weight:700;display:inline-flex}.detail-hero h1{max-width:1020px;margin-bottom:1.8rem;font-size:clamp(3.5rem,7vw,7rem)}.detail-hero__summary{max-width:700px;color:var(--ink-soft);margin:0;font-size:clamp(1.08rem,1.6vw,1.3rem)}.gallery{grid-template-rows:repeat(2,minmax(220px,1fr));grid-template-columns:1.45fr .8fr .8fr;gap:.65rem;width:min(100% - 48px,1440px);min-height:650px;margin:0 auto;display:grid;position:relative}.gallery__open{z-index:2;min-height:44px;color:var(--ink);background:var(--white);border:1px solid var(--line);cursor:pointer;padding:.65rem .9rem;font-size:.72rem;font-weight:750;position:absolute;bottom:1.2rem;right:1.2rem}.gallery-dialog{width:min(100% - 32px,1180px);max-width:none;height:min(100% - 32px,900px);max-height:none;color:var(--ink);background:var(--paper);box-shadow:var(--shadow);border:0;padding:0}.gallery-dialog::backdrop{backdrop-filter:blur(5px);background:#0b2226bd}.gallery-dialog>header{z-index:2;border-bottom:1px solid var(--line);backdrop-filter:blur(12px);background:#f4efe6f0;justify-content:space-between;align-items:flex-start;gap:2rem;padding:1.5rem 2rem;display:flex;position:sticky;top:0}.gallery-dialog header .eyebrow{margin-bottom:.35rem}.gallery-dialog header h2{margin:0;font-size:clamp(1.7rem,3vw,2.5rem)}.gallery-dialog header button{width:44px;height:44px;color:var(--white);background:var(--ink);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;font-size:1.4rem;display:grid}.gallery-dialog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:.7rem;display:grid}.gallery-dialog__grid img{object-fit:cover;background:var(--paper-deep);width:100%;height:auto;min-height:260px}.gallery img{object-fit:cover;width:100%;height:100%}.gallery__lead{grid-row:1/3}.gallery__lead .property-artwork{height:100%}.gallery--placeholder{grid-template-rows:1fr;grid-template-columns:1.6fr .7fr}.gallery__note{color:var(--white);background:var(--clay);flex-direction:column;justify-content:flex-end;padding:clamp(2rem,5vw,5rem);display:flex}.gallery__note p{font-family:var(--serif);margin:0;font-size:clamp(1.5rem,2.5vw,2.2rem);line-height:1.25}.detail-content{grid-template-columns:minmax(0,1fr) 390px;gap:clamp(4rem,9vw,9rem);width:min(100% - 48px,1080px);margin:0 auto;padding:8rem 0;display:grid}.detail-main section{border-top:1px solid var(--line);padding:3.5rem 0}.detail-main section:first-child{border-top:0;padding-top:0}.detail-main h2{margin-bottom:2rem;font-size:clamp(2.2rem,4vw,3.6rem)}.detail-prose{max-width:680px;color:var(--ink-soft);gap:1rem;font-size:1.08rem;display:grid}.detail-prose p{margin:0}.highlight-list{gap:0;margin:2.5rem 0 0;padding:0;list-style:none;display:grid}.highlight-list li{border-top:1px solid var(--line);font-family:var(--serif);align-items:center;gap:1rem;padding:1.1rem 0;font-size:1.25rem;display:flex}.highlight-list li:before{background:var(--clay);content:"";border-radius:50%;flex:none;width:7px;height:7px}.fact-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fact{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:120px;padding:1.5rem}.fact span{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700;display:block}.fact strong{font-family:var(--serif);margin-top:.35rem;font-size:1.75rem;font-weight:400;display:block}.amenity-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;list-style:none;display:grid}.amenity-grid li{border-bottom:1px solid var(--line);padding:1.1rem 1rem 1.1rem 0}.amenity-grid li:before{width:1.2rem;color:var(--clay);content:"·";vertical-align:-.1rem;font-size:1.6rem;line-height:0;display:inline-block}.rule-list{gap:0;padding:0;list-style:none;display:grid}.rule-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:2rem;padding:1rem 0;display:flex}.rule-list span:first-child{color:var(--ink-soft)}.licences{color:var(--ink-soft);margin-top:2rem;font-size:.8rem}.licences code{color:var(--ink);font-family:inherit}.booking-panel{background:var(--white);border:1px solid var(--line);align-self:start;padding:2rem;position:sticky;top:2rem}.date-fields{border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem;display:grid}.date-fields label{min-width:0;padding:.75rem .85rem}.date-fields label+label{border-left:1px solid var(--line)}.date-fields span{letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem;font-size:.68rem;font-weight:750;display:block}.date-fields input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;padding:0;font-size:.82rem}.booking-panel__status{min-height:1.5rem;color:var(--clay);margin:0 0 .8rem;font-size:.76rem;line-height:1.45}.availability-calendar{background:var(--paper);border:1px solid var(--line);margin-bottom:.8rem;padding:.9rem}.availability-calendar__header{grid-template-columns:32px 1fr 32px;align-items:center;gap:.5rem;margin-bottom:.65rem;display:grid}.availability-calendar__header strong{font-family:var(--serif);text-align:center;text-transform:capitalize;font-size:1rem;font-weight:400}.availability-calendar__header button{width:32px;height:32px;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:0 0;place-items:center;display:grid}.availability-calendar__header button:disabled{cursor:not-allowed;opacity:.3}.availability-calendar__weekdays,.availability-calendar__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.availability-calendar__weekdays span{color:var(--ink-soft);text-align:center;text-transform:uppercase;padding:.25rem 0;font-size:.58rem;font-weight:750}.availability-calendar__days button,.availability-calendar__spacer{aspect-ratio:1}.availability-calendar__days button{min-width:0;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;font-size:.7rem;position:relative}.availability-calendar__days button:hover:not(:disabled){color:var(--white);background:var(--sea)}.availability-calendar__days button:disabled{color:#173f4547;cursor:not-allowed}.availability-calendar__days button.is-blocked:after{background:var(--clay);content:"";height:1px;position:absolute;top:50%;left:23%;right:23%;transform:rotate(-28deg)}.availability-calendar__days button.is-arrival,.availability-calendar__days button.is-departure{color:var(--white);background:var(--ink)}.availability-calendar__days button.is-in-range{color:var(--ink);background:var(--sea-light);border-radius:0}.availability-calendar__legend{color:var(--ink-soft);align-items:center;gap:.4rem;margin:.65rem 0 0;font-size:.62rem;display:flex}.availability-calendar__legend span{border:1px solid var(--line);border-radius:50%;width:18px;height:18px;position:relative}.availability-calendar__legend span:after{background:var(--clay);content:"";height:1px;position:absolute;top:8px;left:3px;right:3px;transform:rotate(-28deg)}.button{cursor:pointer;letter-spacing:.02em;border:0;justify-content:center;align-items:center;gap:.65rem;min-height:54px;padding:.85rem 1.2rem;font-size:.8rem;font-weight:750;display:inline-flex}.button--dark{width:100%;color:var(--white);background:var(--ink)}.button--dark:hover{background:var(--sea)}.booking-panel__note{color:var(--ink-soft);margin:1rem 0 0;font-size:.72rem;line-height:1.5}.site-footer{width:min(calc(100% - 48px), var(--max));border-top:1px solid var(--line);color:var(--ink-soft);justify-content:space-between;gap:3rem;margin:0 auto;padding:4rem 0;font-size:.78rem;display:flex}.site-footer .brand{color:var(--ink)}.site-footer p{margin:.8rem 0 0}.error-page{text-align:center;place-items:center;min-height:calc(100vh - 92px);padding:3rem 24px;display:grid}.error-page h1{margin-bottom:1.5rem}.error-page p{max-width:520px;color:var(--ink-soft)}@media (width<=900px){.desktop-nav{display:none}.site-header{grid-template-columns:1fr auto}.mobile-menu{display:block}.hero{padding-top:2.5rem}.hero__grid{grid-template-columns:1fr}.hero__visual{width:min(78vw,520px);margin-left:auto}.listing-grid{grid-template-columns:1fr}.listing-card:nth-child(2){padding-top:2rem}.gallery{min-height:520px}.detail-content{grid-template-columns:1fr}.booking-panel{grid-row:1;position:relative;top:auto}}@media (width<=640px){body{font-size:16px}.site-header{width:min(calc(100% - 32px), var(--max));min-height:76px}.brand{font-size:1.1rem}.brand svg{width:31px}.hero{padding-bottom:5rem;padding-left:16px;padding-right:16px}.hero:before{right:-90vw}.hero__copy h1{font-size:clamp(2.9rem,15vw,5rem)}.hero__visual{width:calc(100% - 1.5rem);padding:1.3rem 0 0 1.3rem}.hero__visual:before{inset:0 1.3rem 1.3rem 0}.hero__stamp{width:96px;height:96px;font-size:.58rem;right:-.5rem}.homes-section,.coast-section{padding:5rem 16px}.section-heading{grid-template-columns:1fr;margin-bottom:3rem}.listing-card__visual>.media-with-fallback,.listing-card__visual>.property-artwork{aspect-ratio:1}.coast-section{min-height:560px}.coast-section:after{width:115vw;height:115vw;bottom:-8rem;right:-35vw}.detail-hero{width:calc(100% - 32px);padding:3.5rem 0 2.5rem}.detail-hero__topline{display:block}.detail-hero__topline .eyebrow{margin-top:1.2rem}.gallery,.gallery--placeholder{grid-template-rows:65vw auto;grid-template-columns:1fr;gap:0;width:100%;min-height:0}.gallery__lead{grid-row:auto}.gallery__note{min-height:240px;padding:2rem 16px}.gallery__open{bottom:1rem;right:1rem}.gallery-dialog{width:100%;height:100%;max-height:100%;margin:0}.gallery-dialog>header{padding:1rem}.gallery-dialog__grid{grid-template-columns:1fr}.gallery-dialog__grid img{min-height:0}.detail-content{width:calc(100% - 32px);padding:5rem 0}.fact-grid,.amenity-grid{grid-template-columns:1fr}.rule-list li{gap:.25rem;display:grid}.booking-panel{padding:1.25rem}.date-fields{grid-template-columns:1fr}.date-fields label+label{border-top:1px solid var(--line);border-left:0}.site-footer{width:calc(100% - 32px);padding:3rem 0;display:grid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
