@font-face{font-family:Cormorant;src:url("/assets/fonts/cormorant-garamond-latin-300.woff2") format("woff2");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Manrope;src:url("/assets/fonts/manrope-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:dark;--ink:#151513;--ivory:#eee7dc;--sand:#b8ac9a;--brass:#b89a63;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{background:var(--ink);scrollbar-color:#665a46 var(--ink)}body{margin:0;color:var(--ivory);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}::selection{background:#b89a63;color:#151513}
.scenery{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 39%,#262620 0%,#1a1a17 38%,var(--ink) 78%)}
.scenery::after{content:"";position:absolute;inset:24px;border:1px solid #b89a6326}
.architecture{position:absolute;width:100%;height:100%;inset:0;stroke:#b8ac9a;stroke-width:.7;opacity:.12;animation:arrive 1600ms var(--ease) both}
.cornice{stroke:#b89a63;opacity:.9}
.atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 22%,#15151350 66%,#1515139e 100%)}
.cover{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 32px 132px;text-align:center}
.identity{width:100%;max-width:1100px;margin-top:-8px}
.wordmark{margin:0;font-family:Cormorant,Georgia,serif;font-weight:300;font-size:clamp(56px,7.6vw,112px);line-height:1.04;letter-spacing:.035em;text-transform:uppercase;animation:reveal 1200ms var(--ease) 120ms both}
.wordmark span{display:block}.wordmark .second-line{font-size:.75em;letter-spacing:.075em;margin-top:8px}
.signature-line{width:42px;height:1px;background:var(--brass);margin:40px auto 30px;transform-origin:center;animation:line-in 1000ms var(--ease) 450ms both}
.promise{font-family:Cormorant,Georgia,serif;font-size:clamp(25px,2.25vw,32px);font-weight:300;line-height:1.32;letter-spacing:.01em;margin:0;color:#d8ccba;animation:reveal 1100ms var(--ease) 400ms both}
.soon{margin:30px 0 0;font-size:10px;line-height:1.6;letter-spacing:.3em;text-transform:uppercase;color:var(--sand);animation:reveal 1000ms var(--ease) 650ms both}
.socials{position:absolute;bottom:max(61px,env(safe-area-inset-bottom));display:flex;gap:44px;justify-content:center;align-items:center;animation:reveal 1000ms var(--ease) 850ms both}
.socials a{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:6px 0;color:var(--sand);text-decoration:none;font-size:10px;letter-spacing:.17em;text-transform:uppercase;transition:color 400ms ease}
.socials a::after{content:"";position:absolute;left:26px;bottom:4px;width:18px;height:1px;background:var(--brass);opacity:0;transform:scaleX(.6);transform-origin:left;transition:opacity 400ms,transform 400ms var(--ease),width 400ms var(--ease)}
.socials a:hover{color:#dbc396}.socials a:hover::after,.socials a:focus-visible::after{opacity:1;transform:scaleX(1);width:calc(100% - 26px)}
a:focus-visible{outline:1px solid var(--brass);outline-offset:7px;border-radius:1px}
.photograph{position:absolute;inset:0;opacity:0;transition:opacity 900ms ease}.photograph picture,.photograph img{display:block;width:100%;height:100%}.photograph img{object-fit:cover;filter:saturate(.35) brightness(.48)}
.photo-ready .photograph{opacity:1}.photo-ready .architecture{opacity:0}.photo-ready .atmosphere{background:linear-gradient(#15151380,#1515138c 50%,#151513c9)}
.official-logo{display:none;height:clamp(120px,15vw,240px);align-items:center;justify-content:center}.official-logo img{max-width:min(82vw,640px);max-height:100%;width:auto;height:auto}.logo-ready .official-logo{display:flex}.logo-ready .wordmark{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes arrive{from{opacity:0}to{opacity:.12}}@keyframes reveal{from{opacity:.05;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes line-in{from{opacity:0;transform:scaleX(.15)}to{opacity:1;transform:scaleX(1)}}
@media(min-width:1800px){.wordmark{font-size:128px}.signature-line{margin-top:48px}.socials{bottom:70px}}
@media(max-width:600px){.scenery::after{inset:14px}.cover{padding:88px 24px 124px}.identity{margin-top:-14px}.wordmark{font-size:clamp(43px,11.2vw,67px);letter-spacing:.025em}.wordmark .second-line{font-size:.77em;letter-spacing:.06em;margin-top:8px}.signature-line{width:32px;margin:34px auto 28px}.promise{font-size:27px}.soon{font-size:9px;margin-top:27px;letter-spacing:.25em}.socials{bottom:max(39px,env(safe-area-inset-bottom));gap:32px}.socials a{font-size:9px;letter-spacing:.13em;gap:8px}.architecture{width:170%;left:-35%}}
@media(max-height:600px){.cover{min-height:600px;padding-top:76px;padding-bottom:130px}.wordmark{font-size:clamp(43px,7vw,76px)}.signature-line{margin-top:26px;margin-bottom:22px}.soon{margin-top:20px}.socials{bottom:36px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.architecture{opacity:.12}}

/* Discreet maker credit, requested by the owner. */
.design-credit{position:absolute;bottom:max(34px,env(safe-area-inset-bottom));margin:0;color:var(--sand);font-size:9px;line-height:16px;letter-spacing:.1em;animation:reveal 1000ms var(--ease) 1000ms both}
.socials{bottom:70px}
@media(max-width:600px){.design-credit{bottom:max(26px,env(safe-area-inset-bottom))}.socials{bottom:60px}}
@media(max-height:600px){.design-credit{bottom:24px}.socials{bottom:60px}}

.design-credit{display:flex;align-items:center;gap:3px}.design-credit a{display:inline-flex;align-items:center;min-height:24px;padding:0 2px;color:inherit;text-decoration:none;text-underline-offset:3px;transition:color 400ms}.design-credit a:hover{color:#dbc396;text-decoration:underline}

/* Owner-supplied contact information. */
.contact-details{margin:28px 0 0;color:var(--sand);font-size:11px;font-style:normal;line-height:1.8;letter-spacing:.035em;animation:reveal 1000ms var(--ease) 750ms both}
.contact-links{display:flex;flex-wrap:wrap;justify-content:center;gap:0 26px}
.contact-links a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none;text-underline-offset:4px;transition:color 400ms}
.contact-links a:hover{color:#dbc396;text-decoration:underline}
@media(max-width:600px){.contact-details{margin-top:24px;font-size:11px}.contact-links{flex-direction:column;align-items:center}.contact-links a{min-height:36px}}
