:root{--paper: #ffffff;--ink: #231f20;--ink-soft: #3d3836;--grey: #6b665f;--line: #e3ddd2;--taupe: #b6a98b;--taupe-tint: #f3f0ea;--serif: "Cormorant Garamond", "Times New Roman", serif;--sans: "Alegreya Sans", "Helvetica Neue", Arial, sans-serif;--gutter: clamp(20px, 5vw, 72px);--measure: 34rem;--section: clamp(96px, 14vw, 200px);--ease: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,video{display:block;max-width:100%}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}p{margin:0 0 1.15em}p:last-child{margin-bottom:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0;letter-spacing:.005em}button{font:inherit;color:inherit}::selection{background:var(--taupe);color:#fff}:focus-visible{outline:1px solid var(--ink);outline-offset:4px}.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:100}.skip:focus{left:16px;top:16px}.label{font-family:var(--sans);font-size:.75rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--grey)}.display{font-family:var(--serif);font-size:clamp(2.6rem,6.4vw,5.6rem);font-weight:300;line-height:1.02}.h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3.25rem);font-weight:300;line-height:1.08}.h3{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:400;line-height:1.2}.lead{font-family:var(--serif);font-size:clamp(1.4rem,2.3vw,1.95rem);font-weight:300;line-height:1.38;color:var(--ink)}.muted{color:var(--grey)}.serif{font-family:var(--serif)}em,.italic{font-style:italic}.wrap{width:100%;max-width:1360px;margin:0 auto;padding:0 var(--gutter)}.narrow{max-width:calc(var(--measure) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}.mid{max-width:calc(52rem + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}.section{padding:var(--section) 0}.section-tight{padding:calc(var(--section) * .6) 0}.center{text-align:center}.stack>*+*{margin-top:1.5rem}.rule{height:1px;background:var(--line);border:0;margin:0}.panel-taupe{background:var(--taupe);color:#fff}.panel-taupe .label,.panel-taupe .muted{color:#fff}.panel-tint{background:var(--taupe-tint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7em;min-height:48px;padding:0 1.9em;border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--sans);font-size:.78rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}.btn:hover,.btn-solid{background:var(--ink);color:var(--paper)}.btn-solid:hover{background:var(--ink-soft);border-color:var(--ink-soft)}.btn-light{border-color:#ffffffd9;color:#fff}.btn-light:hover{background:#fff;color:var(--ink);border-color:#fff}.btn-row{display:flex;flex-wrap:wrap;gap:14px}.center .btn-row{justify-content:center}.link{display:inline-flex;align-items:center;gap:.8em;font-size:.78rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;padding-bottom:6px;border-bottom:1px solid currentColor;background:none;border-top:0;border-left:0;border-right:0;cursor:pointer}.link:after{content:"→";letter-spacing:0;transition:transform .35s var(--ease)}.link:hover:after{transform:translate(4px)}.frame{position:relative;overflow:hidden;background:var(--taupe-tint)}.frame img,.frame video{width:100%;height:100%;object-fit:cover}.placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(160deg,var(--taupe-tint),#e9e3d8);color:var(--grey)}.place-card{display:inline-flex;flex-direction:column;align-items:center;gap:2px;background:var(--paper);color:var(--ink);padding:18px 26px 16px;min-width:150px;text-align:center}.place-card .pc-region{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--grey)}.place-card .pc-name{font-family:var(--serif);font-size:1.45rem;line-height:1.2}.place-card .pc-year{font-size:.75rem;letter-spacing:.18em;color:var(--grey)}.prose{font-size:1.0625rem}.prose h3{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:400;margin:3.2rem 0 1.1rem}.prose h3:first-child{margin-top:0}.prose strong{font-weight:500}.prose p strong:only-child{font-family:var(--serif);font-size:clamp(1.4rem,2.3vw,1.95rem);font-weight:400;display:block;line-height:1.3}.reveal{opacity:0;transform:translateY(22px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}html:not(.js) .reveal{opacity:1;transform:none}.field{display:flex;flex-direction:column;gap:8px}.field label,.field .flabel{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);font-weight:500}.field input,.field select,.field textarea{font:inherit;font-size:1.0625rem;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #cfc7b8;padding:10px 0 12px;border-radius:0;width:100%;transition:border-color .3s var(--ease)}.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--ink)}.field .err{color:#8a2c1d;font-size:.85rem;min-height:0}.field.invalid input,.field.invalid select,.field.invalid textarea{border-bottom-color:#8a2c1d}.check{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;color:var(--ink-soft)}.check input{width:18px;height:18px;margin-top:4px;accent-color:var(--ink);flex:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px}.form-grid .full{grid-column:1 / -1}@media(max-width:640px){.form-grid{grid-template-columns:1fr}}.form-status{font-size:.95rem}.form-status.error{color:#8a2c1d}@media(max-width:560px){body{font-size:1rem}.btn{letter-spacing:.16em;padding:0 1.35em;font-size:.72rem}.link{letter-spacing:.18em}.lead{font-size:1.35rem}}[hidden]{display:none!important}.logo-mark[data-astro-cid-tvrurpns]{display:block;width:100%;height:auto}.villa-note[data-astro-cid-um2nm6nl]{margin:4px 0 0;font-size:.92rem;line-height:1.55;color:var(--ink-soft)}.social-icon[data-astro-cid-v6thz4ju]{display:inline-block;width:16px;height:16px;flex:none}html.locked{overflow:hidden}.loader{display:none}html.intro .loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;position:fixed;inset:0;z-index:200;background:var(--paper);color:var(--ink);transition:opacity .9s var(--ease),visibility .9s}html.intro body{overflow:hidden}html.intro.intro-done .loader{opacity:0;visibility:hidden}html.intro.intro-done body{overflow:auto}.loader-mark{width:min(260px,58vw)}.loader-mark path[stroke]{stroke-dasharray:2900;stroke-dashoffset:2900;animation:tv-draw 1s var(--ease) forwards}.loader-mark path[stroke]:nth-of-type(2){animation-delay:.12s}.loader-mark path[stroke]:nth-of-type(3){animation-delay:.24s}.loader-mark path[stroke]:nth-of-type(4){animation-delay:.36s}.loader-mark path[stroke]:nth-of-type(5){animation-delay:.48s}.loader-mark path[fill=currentColor]{opacity:0;animation:tv-fade .9s ease .85s forwards}@keyframes tv-draw{to{stroke-dashoffset:0}}@keyframes tv-fade{to{opacity:1}}@media(prefers-reduced-motion:reduce){.loader-mark path[stroke],.loader-mark path[fill=currentColor]{animation:none;stroke-dashoffset:0;opacity:1}}.site-header{position:fixed;inset:0 0 auto;z-index:40;color:var(--ink);background:#fffffff7;border-bottom:1px solid var(--line);transition:background .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease)}.site-header.overlay{background:transparent;color:#fff;border-bottom-color:transparent}.site-header.overlay:before{content:"";position:absolute;inset:0 0 -60px;background:linear-gradient(to bottom,#14110f6b,#14110f00);pointer-events:none;transition:opacity .5s var(--ease)}.site-header.overlay.solid{background:#fffffff7;color:var(--ink);border-bottom-color:var(--line)}.site-header.overlay.solid:before{opacity:0}.hdr{position:relative;display:flex;align-items:center;justify-content:space-between;height:76px}.hdr-logo{display:block;width:132px;color:inherit}.hdr-nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,36px);font-size:.74rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase}.hdr-nav a{text-decoration:none}.hdr-nav a[aria-current=page]{text-decoration:underline}.hdr-contact,.hdr-menu{background:none;border:0;padding:8px 0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}.hdr-contact{border:1px solid currentColor;padding:10px 18px}.hdr-menu{display:inline-flex;align-items:center;gap:10px}.hdr-menu-lines{display:inline-flex;flex-direction:column;gap:5px;width:22px}.hdr-menu-lines i{display:block;height:1px;background:currentColor}.hdr-menu-lines i:last-child{width:14px}@media(max-width:860px){.hdr-nav>a{display:none}.hdr-contact{padding:8px 12px}.hdr-logo{width:112px}.hdr{height:64px}}.menu{position:fixed;inset:0;z-index:60;background:var(--taupe);color:#fff;overflow-y:auto}.menu-inner{min-height:100%;display:flex;flex-direction:column;padding-bottom:40px}.menu-top{display:flex;align-items:center;justify-content:space-between;height:76px}.menu-close{background:none;border:0;color:inherit;cursor:pointer;font-size:.74rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;padding:8px 0}.menu-list{list-style:none;margin:clamp(32px,8vh,96px) 0 0;padding:0;display:grid;gap:clamp(18px,3vh,30px);max-width:760px}.menu-item{display:flex;align-items:baseline;gap:18px;text-decoration:none}.menu-n{font-size:.8rem;letter-spacing:.12em;color:#fff;min-width:2.8em}.menu-label{font-family:var(--serif);font-size:clamp(2rem,5vw,3.4rem);font-weight:300;line-height:1.05}.menu-item:hover .menu-label{font-style:italic}.menu-sub{list-style:none;margin:10px 0 0 calc(2.8em + 18px);padding:0;display:flex;flex-wrap:wrap;gap:6px 26px;font-size:1rem}.menu-sub a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5)}.menu-sub a:hover{border-bottom-color:#fff}.menu-foot{margin-top:auto;padding-top:48px;display:flex;flex-wrap:wrap;gap:8px 32px;font-size:.95rem}.menu-foot a{text-decoration:none}.site-footer{padding:clamp(72px,10vw,120px) 0 36px}.ft-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.5)}.ft-logo{display:block;width:190px;color:#fff}.ft-line{font-size:clamp(1.3rem,2.2vw,1.75rem);font-weight:300;margin:0}.ft-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:44px 0;font-size:.98rem;line-height:1.85}.ft-grid a{text-decoration:none}.ft-grid a:hover{text-decoration:underline}.ft-label{color:#fff;margin-bottom:10px}.ft-social{list-style:none;margin:0;padding:0}.ft-social a{display:inline-flex;align-items:center;gap:10px;color:#fff}.ft-small{font-size:.82rem;color:#fff;margin:0 0 6px;max-width:60rem}.ft-legal a{color:inherit}@media(max-width:720px){.ft-grid{grid-template-columns:1fr 1fr}.ft-grid>div:first-child{grid-column:1 / -1}}dialog.sheet{border:0;padding:0;margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(640px,100vw);max-width:100vw;background:var(--paper);color:var(--ink);overflow-y:auto}dialog.sheet::backdrop{background:#231f2073}dialog.sheet[open]{animation:sheet-in .55s var(--ease)}@keyframes sheet-in{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){dialog.sheet[open]{animation:none}}.sheet-inner{padding:clamp(28px,5vw,56px)}.sheet-inner .h2{margin:14px 0 12px}.sheet-sub{margin-bottom:40px}.sheet-close{position:sticky;top:0;float:right;background:var(--paper);border:0;cursor:pointer;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;padding:6px 0 6px 12px}.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:8px}
