:root{--bg:#111;--surface:#1c1c1c;--ink:#f2f2f2;--muted:#8f8f8f;--accent:#a08672;--accent-ink:#111;--accent-hover:#b5977f;--paper:#f2f2f2;--paper-ink:#111;--font:"Archivo", "Segoe UI", sans-serif;--step-small:clamp(.8125rem, .79rem + .1vw, .875rem);--step-body:clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--step-lead:clamp(1.25rem, 1.1rem + .7vw, 1.625rem);--step-head:clamp(2rem, 1.15rem + 1.5vw, 3rem);--step-display:clamp(2.75rem, 4.2vw, 4rem);--margin:clamp(1rem, 2.2vw, 2rem);--gutter:clamp(1rem, 2vw, 2rem);--section:clamp(4.5rem, 8vw, 7.5rem);--radius:0px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.76, 0, .24, 1);--ease-soft:cubic-bezier(.33, 1, .68, 1);--t-press:.14s;--t-hover:.18s;--t-ui:.24s;--t-reveal:.52s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto;background:var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--step-body);font-kerning:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:400;line-height:1.55}h1,h2,h3,p,figure,blockquote,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img,svg{max-width:100%;display:block}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit}:target{scroll-margin-top:1.5rem}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2{letter-spacing:-.02em;text-wrap:balance;font-weight:400;line-height:1}p{text-wrap:pretty}.nums{font-variant-numeric:tabular-nums}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;position:absolute;overflow:hidden}.skip{left:var(--margin);background:var(--paper);color:var(--paper-ink);z-index:5;padding:.6rem 1rem;position:absolute;top:0;transform:translateY(-120%)}.skip:focus{transform:none}.block{padding-block:var(--section);padding-inline:var(--margin)}.button{background:var(--accent);min-height:3.25rem;color:var(--accent-ink);border-radius:var(--radius);justify-content:center;align-items:center;padding:0 1.2rem;font-weight:600;text-decoration:none;display:none}.button[data-for=piscina]{display:flex}.text-link{text-underline-offset:.22em;font-weight:600;text-decoration:underline;text-decoration-thickness:2px;display:none}.text-link[data-for=piscina]{display:inline}.button:active,.text-link:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.button:hover{background:var(--accent-hover)}}.hero{color:#fff;height:100svh;min-height:36rem;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-slide{object-fit:cover;object-position:center 38%;opacity:0;width:100%;height:100%;position:absolute;inset:0}.hero-slide:first-child{opacity:1}.hero-scrim{z-index:1;background:linear-gradient(#0000,#000000ad);height:58%;position:absolute;bottom:0;left:0;right:0}.hero-scrim-top{background:linear-gradient(#0000007a,#0000);height:26%;top:0;bottom:auto}.hero-top,.hero-bottom{z-index:2;position:absolute;left:1.5rem;right:1.5rem}.hero-top{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex;top:1.5rem}.letterhead{font-size:var(--step-small);align-items:flex-start;gap:.7rem;line-height:1.35;display:flex}.mark{flex:none;width:2.6rem;height:auto;display:block}.nav{font-size:var(--step-small);flex-wrap:wrap;justify-content:flex-end;gap:0;line-height:1.35;display:flex}.nav a{text-underline-offset:.25em;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:2px}.nav a.is-current{text-decoration-color:currentColor}.hero-bottom{justify-content:space-between;align-items:flex-end;gap:2rem;display:flex;bottom:2rem}.hero-title{max-width:8ch;font-size:9.5vw}.hero-aside{text-align:right;justify-items:end;gap:.8rem;max-width:32ch;display:grid}.hero-aside p{font-size:var(--step-body);line-height:1.45}@media (width>=50em){.hero-title{font-size:var(--step-display)}}@media (width<=56em){.nav{flex-direction:column;align-items:flex-end;gap:.15rem}.nav .comma{display:none}}@media (width<=44em){.nav a:not(.nav-keep){display:none}.hero-top,.hero-bottom{left:1.25rem;right:1.25rem}.hero-bottom{flex-direction:column;align-items:flex-start;gap:.9rem;bottom:1.5rem}.hero-aside{text-align:left;justify-items:start}}.intro{max-width:52ch;font-size:var(--step-lead);margin-bottom:clamp(2.5rem,6vw,4.5rem);line-height:1.4}.gallery-head{width:min(100%, calc(100% - 6vw + var(--margin)));padding-right:var(--margin);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2rem;margin-left:6vw;display:flex}.gallery-head h2{font-size:var(--step-head)}.gallery-head p{font-size:var(--step-body)}.strip{scroll-snap-type:x proximity;scrollbar-width:none;cursor:grab;align-items:stretch;gap:12px;height:68svh;min-height:22rem;padding-left:6vw;padding-right:6vw;display:flex;overflow-x:auto}.strip::-webkit-scrollbar{display:none}.strip:active{cursor:grabbing}.mod{scroll-snap-align:start;flex:none;height:100%}.mod-tall{aspect-ratio:3/4}.mod-wide{aspect-ratio:16/10}.mod-stack{flex-direction:column;gap:12px;width:calc(45.3333svh - 8px);display:flex}.mod-stack .mod{aspect-ratio:auto;flex:1;width:100%;height:auto}.mod img,.shutter img{object-fit:cover;width:100%;height:100%}.shutter{height:100%;overflow:hidden}.mod-tall.shutter,.mod-wide.shutter{height:100%}.about-lead{max-width:38rem;font-size:var(--step-lead);margin-top:1.5rem;line-height:1.4}.about h2{font-size:var(--step-head);max-width:12ch}.about-tiles{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:16px;margin-top:4.5rem;display:grid}.about-photo{position:relative}.about-shot{aspect-ratio:16/10;background:var(--surface);position:relative;overflow:hidden}.about-photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.about-note{z-index:1;background:var(--paper);width:auto;max-width:58ch;color:var(--paper-ink);font-size:var(--step-body);margin-top:16px;padding:1.25rem;position:static}.about-side{gap:1.25rem;display:grid}.about-tile{aspect-ratio:4/3;background:var(--accent);color:var(--accent);grid-template-rows:1.2fr 1fr;grid-template-columns:.85fr 1.15fr;gap:.55rem;padding:.65rem;display:grid}.plan-house,.plan-pool,.plan-gate{background:var(--accent-ink);font-size:var(--step-body);align-items:flex-end;margin:0;padding:.7rem;line-height:1.1;display:flex}.plan-house{grid-column:1/-1}.plan-pool{grid-area:2/2}.plan-gate{grid-area:2/1;align-self:end;min-height:62%}.facts{grid-template-columns:1fr 1fr;gap:1.1rem 1rem;display:grid}.facts dt{font-size:var(--step-small);color:var(--muted)}.facts dd{font-size:var(--step-body);margin:.2rem 0 0}@media (width<=52em){.about-tiles{grid-template-columns:1fr}.gallery-head{width:100%;margin-left:0;padding-right:0}}.stay{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.stay-title{font-size:var(--step-head);grid-area:1/7/auto/12;max-width:10ch;margin-bottom:3rem}.frame{aspect-ratio:4/5;background:var(--surface);grid-area:1/1/span 2/6;position:sticky;top:12vh}.frame img{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.frame img[data-id=piscina]{opacity:1}.rows{grid-area:2/7/auto/12}.stay-row+.stay-row{margin-top:.35rem}.stay-label{cursor:pointer;justify-content:space-between;align-items:baseline;gap:1rem;min-height:3.4rem;padding-block:.65rem;display:flex}.stay-name{font-size:var(--step-lead);color:var(--muted);letter-spacing:-.02em;line-height:1.15}.stay-where{color:var(--muted);font-size:var(--step-body);text-align:right}.stay-row p{max-width:34ch;padding-bottom:.8rem;display:none}.stay-row input{opacity:0;pointer-events:none;position:absolute}@media (width<=52em){.stay{flex-direction:column;display:flex}.frame{aspect-ratio:auto;z-index:2;order:2;width:100%;height:38svh;position:sticky;top:0}.stay-title{order:1;margin-bottom:1.25rem}.rows{order:3;padding-top:1rem}}.proof-head{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;margin-bottom:4.5rem;display:grid}.proof-title{font-size:var(--step-display);grid-column:1/8}.proof-title span{white-space:nowrap;display:block}.proof-title span+span{padding-left:2rem}.proof-head p{grid-column:8/13;max-width:32ch}.scores{border-collapse:collapse;width:100%}.scores th,.scores td{text-align:left;vertical-align:baseline;padding:.85rem .4rem;font-weight:400}.scores .group{width:16%}.scores .title{width:34%}.scores .source{width:34%;color:var(--muted)}.scores .score{text-align:right;width:16%}.scores tr:nth-child(2n) th,.scores tr:nth-child(2n) td{background:var(--surface)}.proof-year{display:none}@media (width>=56em){.proof-title span+span{padding-left:28.5714%}}@media (width<=44em){.proof-head{display:block}.proof-head p{margin-top:1rem}.proof-title span+span{padding-left:1.25rem}.proof-year{margin-bottom:.5rem;font-size:1.375rem;display:block}.scores,.scores tbody,.scores tr,.scores td,.scores th{text-align:left;width:auto;display:block}.scores .group{display:none}.scores tr{padding:.9rem .2rem}.scores .title{padding-bottom:.15rem}.scores .source,.scores .score{color:var(--muted);padding-top:0;display:inline}.scores .score:before{content:"  "}}.visit{min-height:100svh;color:var(--paper-ink);position:relative}.visit-photo{object-fit:cover;object-position:center 30%;width:100%;height:100%;position:absolute;inset:0}.visit-card{background:var(--paper);width:min(23.75rem,100% - 7.5rem);color:var(--paper-ink);z-index:1;flex-direction:column;gap:1.1rem;padding:2rem;display:flex;position:absolute;top:3.75rem;left:3.75rem}.visit-card h2,.reply-card h2{font-size:var(--step-lead);line-height:1.1}.visit-card address{font-style:normal;line-height:1.45}.visit-card address a{text-underline-offset:.18em;text-decoration:underline}.hours{grid-template-columns:1fr auto;gap:.35rem 1.5rem;display:grid}.visit-links{gap:.35rem;display:grid}.visit-links a{text-underline-offset:.18em;text-decoration:underline}.visit-card .button{margin-top:.4rem}@media (width<=44em){.visit{flex-direction:column;min-height:0;display:flex}.visit-photo{height:70svh;position:relative}.visit-card{width:auto;margin:-5rem var(--margin) 0;position:relative;top:auto;left:auto}}.reply{background:var(--surface);column-gap:var(--gutter);padding-inline:var(--margin);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;padding-top:clamp(4rem,9vw,7rem);display:grid;overflow:hidden}.reply-note{font-size:var(--step-lead);grid-column:1/5;align-self:end;max-width:22ch;padding-bottom:4rem;line-height:1.4}.reply-card{aspect-ratio:7/5;background:var(--paper);width:min(44vw,100%);color:var(--paper-ink);text-align:center;flex-direction:column;grid-column:6/13;justify-content:center;justify-self:end;align-items:center;gap:.8rem;margin-bottom:-3.75rem;padding:3rem 3rem 6.5rem;display:flex;transform:rotate(2deg)}.reply-card h2{line-height:1.1}.choice{display:none}.choice[data-for=piscina]{display:block}.reply-card .button{width:100%;margin-top:.6rem}@media (width<=52em){.reply{flex-direction:column;justify-content:flex-end;gap:2rem;padding-top:4rem;padding-bottom:0;display:flex}.reply-note{max-width:28ch;padding-bottom:0}.reply-card{aspect-ratio:auto;width:90%;max-width:none;margin:0 auto -3.75rem;padding:2rem 1.5rem 5.5rem;transform:rotate(1deg)}}.footer{min-height:100svh;padding:2rem var(--margin) 1.5rem;color:var(--ink);flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.footer-photo{object-fit:cover;object-position:center 45%;filter:brightness(.62);z-index:0;width:100%;height:100%;position:absolute;inset:0}.footer-top,.footer-bottom{z-index:1;position:relative}.footer-top{justify-content:space-between;gap:2rem;display:flex}.footer-top a:not(.reserve){text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:.07em;display:inline}.footer-nav,.footer-contact{align-content:start;gap:.35rem;display:grid}.wordmark{letter-spacing:-.04em;white-space:nowrap;padding-bottom:.08em;font-size:clamp(4.5rem,18vw,17rem);font-weight:400;line-height:1}.legal{font-size:var(--step-small);margin-top:.15rem}@media (width<=44em){.footer{min-height:88svh}.footer-top{flex-direction:column;gap:1rem}}.stay-row:has(input:checked) .stay-name{color:var(--ink);font-weight:600}.stay-row:has(input:checked) .stay-where{color:var(--ink)}.stay-row:has(input:checked) p{display:block}.stay-row:focus-within .stay-name{color:var(--ink)}.lines .line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.lines [data-line]{display:block}@media (prefers-reduced-motion:no-preference){.js .lines [data-line]{animation:line-up .8s var(--ease-out) forwards;animation-delay:calc(var(--i,0) * 90ms + .18s);transform:translateY(105%)}.js [data-rise]{opacity:0;animation:rise var(--t-reveal) var(--ease-out) forwards;animation-delay:calc(var(--i,0) * 80ms + .28s);transform:translateY(18px)}.js [data-reveal]{opacity:0;transition:opacity var(--t-reveal) var(--ease-out), transform var(--t-reveal) var(--ease-out);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(20px)}.js [data-reveal].is-in{opacity:1;transform:none}.js .shutter{clip-path:inset(0 0 100%);transition:clip-path .52s var(--ease-out)}.js .shutter.is-in{clip-path:inset(0)}.js .shutter img{transition:transform 1.1s var(--ease-soft);transform:scale(1.08)}.js .shutter.is-in img{transform:none}.hero-slide:first-child{animation:24s infinite xf1}.hero-slide:nth-child(2){animation:24s infinite xf2}.hero-slide:nth-child(3){animation:24s infinite xf3}.hero-media{animation:ken 36s var(--ease-soft) infinite alternate}.footer-photo{animation:ken 32s var(--ease-soft) infinite alternate}.frame img{transition:opacity .3s}}@keyframes line-up{to{transform:none}}@keyframes rise{to{opacity:1;transform:none}}@keyframes ken{to{transform:scale(1.06)}}@keyframes xf1{0%,28%{opacity:1}34%,94%{opacity:0}to{opacity:1}}@keyframes xf2{0%,28%{opacity:0}34%,60%{opacity:1}66%,to{opacity:0}}@keyframes xf3{0%,60%{opacity:0}66%,94%{opacity:1}to{opacity:0}}:is(.page:has(#canto-redes:checked) .frame img,.page:has(#canto-sacada:checked) .frame img,.page:has(#canto-familia:checked) .frame img,.page:has(#canto-camas:checked) .frame img,.page:has(#canto-gato:checked) .frame img,.page:has(#canto-brasa:checked) .frame img){opacity:0}:is(.page:has(#canto-redes:checked) .reserve,.page:has(#canto-sacada:checked) .reserve,.page:has(#canto-familia:checked) .reserve,.page:has(#canto-camas:checked) .reserve,.page:has(#canto-gato:checked) .reserve,.page:has(#canto-brasa:checked) .reserve,.page:has(#canto-redes:checked) .choice,.page:has(#canto-sacada:checked) .choice,.page:has(#canto-familia:checked) .choice,.page:has(#canto-camas:checked) .choice,.page:has(#canto-gato:checked) .choice,.page:has(#canto-brasa:checked) .choice){display:none}:is(.page:has(#canto-redes:checked) .frame img[data-id=redes],.page:has(#canto-sacada:checked) .frame img[data-id=sacada],.page:has(#canto-familia:checked) .frame img[data-id=familia],.page:has(#canto-camas:checked) .frame img[data-id=camas],.page:has(#canto-gato:checked) .frame img[data-id=gato],.page:has(#canto-brasa:checked) .frame img[data-id=brasa]){opacity:1;display:block}:is(.page:has(#canto-redes:checked) a.text-link[data-for=redes],.page:has(#canto-sacada:checked) a.text-link[data-for=sacada],.page:has(#canto-familia:checked) a.text-link[data-for=familia],.page:has(#canto-camas:checked) a.text-link[data-for=camas],.page:has(#canto-gato:checked) a.text-link[data-for=gato],.page:has(#canto-brasa:checked) a.text-link[data-for=brasa]){display:inline}:is(.page:has(#canto-redes:checked) a.button[data-for=redes],.page:has(#canto-sacada:checked) a.button[data-for=sacada],.page:has(#canto-familia:checked) a.button[data-for=familia],.page:has(#canto-camas:checked) a.button[data-for=camas],.page:has(#canto-gato:checked) a.button[data-for=gato],.page:has(#canto-brasa:checked) a.button[data-for=brasa]){display:flex}:is(.page:has(#canto-redes:checked) .choice[data-for=redes],.page:has(#canto-sacada:checked) .choice[data-for=sacada],.page:has(#canto-familia:checked) .choice[data-for=familia],.page:has(#canto-camas:checked) .choice[data-for=camas],.page:has(#canto-gato:checked) .choice[data-for=gato],.page:has(#canto-brasa:checked) .choice[data-for=brasa]){display:block}@media (hover:hover) and (pointer:fine){.stay-label:hover .stay-name{color:var(--ink)}.js .shutter.is-in:hover img{transform:scale(1.035)}}
