:root{color-scheme:dark;--paper:#fffef7;--ink:#f8f6ed;--line:#f8f6ed8a;--soft:#f8f6edc9}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#505547;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid currentColor;outline-offset:5px}.scene{position:relative;isolation:isolate;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:60px 30px;overflow:hidden}.composition{display:flex;flex-direction:column;align-items:center;width:100%}.identity{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}.emblem{display:block;line-height:0}.emblem img{display:block;width:69px;height:auto}.identity h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,7vw,76px);font-weight:400;line-height:1.12;letter-spacing:-.03em}.identity p{margin:0;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--soft)}.wordmark{display:block;width:clamp(285px,38vw,520px);height:auto}.capture{width:min(670px,100%);margin-top:65px}.capture-row{display:flex;align-items:stretch;gap:24px}.fields{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:22px;flex:1;min-width:0}.field{min-width:0}.field input{display:block;width:100%;min-height:46px;padding:12px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;outline:none;box-shadow:none;background:none;color:var(--ink);font-size:13px;line-height:1.5}.field input::placeholder{color:var(--ink);opacity:1}.field input:focus{border-bottom-color:var(--ink)}.field input:focus-visible{outline:1px solid currentColor;outline-offset:4px}.submit{display:flex;align-items:center;justify-content:center;gap:18px;min-height:46px;flex-shrink:0;padding:10px 16px;color:#29332b;background:var(--paper);border:1px solid var(--paper);border-radius:0;font-size:12px;line-height:1.4;transition:background .18s,color .18s}.submit svg{width:20px;height:20px;flex-shrink:0}.submit:hover{color:var(--paper);background:transparent}.submit:disabled{opacity:.6;cursor:wait}.form-foot{display:flex;align-items:flex-start;justify-content:center;gap:12px;margin-top:23px;color:var(--soft);font-size:10px;line-height:1.5}.consent{display:flex;align-items:flex-start;gap:7px}.consent input{appearance:none;display:grid;place-content:center;flex:0 0 11px;width:11px;height:11px;border:1px solid currentColor;border-radius:0;margin:2px 0 0;cursor:pointer}.consent input:checked:after{content:"";width:5px;height:3px;border-left:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(-45deg) translateY(-1px)}.privacy-link{color:inherit;font-size:inherit;text-decoration:underline;text-underline-offset:3px;border:0;padding:0;background:none;line-height:1.5}.form-status{margin:0;font-size:12px;text-align:center;line-height:1.6}.form-status:not(:empty){margin-top:18px}.success{text-align:center;font-size:13px;line-height:1.7;padding:10px;min-height:100px}.success h2{font:inherit;font-size:19px;margin:0 0 9px}.success p{margin:0}.success .local-receipt{font-size:10px;margin-top:10px;color:var(--soft)}.honeypot{position:absolute;left:-10000px;overflow:hidden;width:1px;height:1px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}dialog{color:#30382c;background:#f5f2e7;border:0;width:min(480px,calc(100% - 40px));padding:42px;border-radius:0}dialog::backdrop{background:#14201999;backdrop-filter:blur(4px)}dialog h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0 0 22px}dialog p{font-size:13px;line-height:1.7}.dialog-close{position:absolute;right:13px;top:10px;border:0;background:none;color:inherit;font-size:25px}.privacy-preview{font-size:11px!important;opacity:.8}

.family{position:absolute;left:28px;right:28px;bottom:23px;text-align:center;color:var(--ink)}.family nav{display:flex;justify-content:center;flex-wrap:wrap;gap:0 28px}.family a{display:inline-flex;align-items:center;min-height:44px;color:inherit;font-size:12px;text-decoration:none;text-underline-offset:4px}.family a:hover{text-decoration:underline}.scene{min-height:max(100svh,600px)}
@media(max-width:640px){.scene{padding:46px 28px;min-height:max(100svh,740px)}.capture{margin-top:48px;width:min(350px,100%)}.capture-row{display:block}.fields{grid-template-columns:1fr;gap:10px}.field input{font-size:16px;min-height:46px}.submit{margin-top:27px;width:100%;min-height:46px}.form-foot{flex-wrap:wrap;gap:5px 10px;justify-content:center;margin-top:20px;font-size:10px}.family{left:22px;right:22px;bottom:20px}.family nav{gap:0 19px}.family a{font-size:11px}.identity h1{font-size:clamp(36px,10vw,56px)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.hero-image,.shade{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero-image{z-index:-2}.hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.shade{z-index:-1;background:rgb(0 0 0 / 41.76%)}
@media(max-width:640px){.hero-image img{object-position:62% 50%}}

/* Keep the signup form on the hillside above the villa. */
.scene{align-items:flex-start;padding-top:clamp(40px,9svh,100px)}.capture{margin-top:32px}.hero-image img{transform:scale(1.16);transform-origin:70% 35%}
@media(max-width:640px){.scene{padding-top:36px}.capture{margin-top:24px}.submit{margin-top:20px}.hero-image img{transform-origin:60% 0%}}

@media(min-width:641px) and (max-height:700px){.scene{padding-top:32px}.identity h1{font-size:60px}.capture{margin-top:24px}}
