@font-face{font-family:Cormorant;src:url('fonts/cormorant-garamond-v21-latin-300.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:Cormorant;src:url('fonts/cormorant-garamond-v21-latin-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('fonts/cormorant-garamond-v21-latin-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Jost;src:url('fonts/jost-v20-latin-regular.woff2') format('woff2');font-display:swap}
:root{--paper:#F6F1E8;--deep:#EDE4D4;--ink:#241E1A;--muted:#6E6459;--wine:#7E3B46;--mauve:#9A5A6B;--gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Jost,sans-serif;-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth}h1,h2,p{margin:0}h1,h2{font-family:Cormorant,serif;font-weight:300;letter-spacing:-.04em;line-height:.92}em{font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--mauve);outline-offset:6px}.skip{position:absolute;top:-100px;left:24px;z-index:20;padding:12px;background:var(--paper);color:var(--ink)}.skip:focus{top:12px}.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;background:var(--wine);color:var(--paper);padding:18px 25px;min-height:58px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;border:1px solid var(--wine)}.button:hover{background:var(--mauve);border-color:var(--mauve)}.button span{font-size:19px;line-height:1}.text-link{display:inline-block;padding:10px 0;border-bottom:1px solid currentColor;font-size:14px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px}.small-note{font-size:12px;line-height:1.7}
.header{position:absolute;z-index:3;inset:0 0 auto;color:var(--paper);padding:26px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{display:block;width:196px;height:auto;filter:brightness(0) invert(1)}.header nav{display:flex;align-items:center;gap:30px}.header nav a{min-height:44px;display:flex;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.header .nav-archive{border:1px solid #f6f1e880;padding:0 18px}
.hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;isolation:isolate;color:var(--paper);background:var(--ink)}.hero video,.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#241e1a99,transparent 90%),linear-gradient(0deg,#241e1aeb,transparent 80%);z-index:-1}.hero-copy{padding:180px var(--gutter) 70px}.hero h1{font-size:clamp(64px,8.2vw,126px);margin:24px 0 30px}.hero h1 em{display:block}.hero-description{font:400 clamp(22px,2.1vw,30px)/1.25 Cormorant,serif;margin-bottom:32px}.hero .small-note{margin-top:20px;max-width:440px;color:#f6f1e8d9}.video-toggle{position:absolute;right:var(--gutter);bottom:25px;min-height:44px;padding:8px 15px;background:#241e1a80;color:var(--paper);border:1px solid #f6f1e880;font-size:11px}
.portrait{position:relative;min-height:980px;isolation:isolate;padding:92px var(--gutter) 74px;overflow:hidden;background:var(--deep)}.portrait-photo{position:absolute;top:0;bottom:0;right:0;width:54%;background:url('public/hf/hf-05.jpg') center 37%/cover;z-index:-2}.portrait::after{content:'';position:absolute;top:0;bottom:0;right:0;width:54%;background:linear-gradient(90deg,#241e1a38,transparent);z-index:-1}.portrait .eyebrow{color:var(--wine)}.portrait h2{font-size:clamp(100px,13.2vw,200px);margin:60px 0 56px;max-width:1080px;color:var(--wine)}.portrait h2 span{display:block}.portrait h2 em{display:block;margin-left:13vw;color:var(--paper);text-shadow:0 1px 20px #241e1a38}.portrait .amp{font-style:italic;font-size:.65em;display:inline}.portrait-copy{max-width:330px;margin-top:55px}.portrait-copy p{font-size:16px;line-height:1.8}.portrait-copy .text-link{color:var(--wine);margin-top:18px}
.archive{position:relative;min-height:800px;isolation:isolate;display:flex;align-items:center;color:var(--paper);background:var(--ink);padding:100px var(--gutter)}.archive-photo{position:absolute;inset:0;background:url('public/hf/s04-hotel-01.jpg') center 57%/cover;z-index:-3}.archive::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#241e1aee,#241e1aaa 38%,#241e1a33 80%),linear-gradient(0deg,#241e1a55,transparent 45%);z-index:-1}.archive-copy{max-width:680px}.archive h2{font-size:clamp(72px,8.7vw,136px);margin:30px 0}.archive h2 em{display:block;margin-left:80px}.archive-description{max-width:380px;font-size:16px;line-height:1.8;margin:0 0 30px}.archive .button{background:var(--paper);border-color:var(--paper);color:var(--ink)}.archive .button:hover{background:var(--deep)}.archive .small-note{margin-top:20px}
.invitation{position:relative;display:grid;grid-template-columns:42% 58%;min-height:640px;background:var(--paper)}.invitation-photo{background:url('public/hf/s04-hotel-02.jpg') center 55%/cover;position:relative}.invitation-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#241e1a80,transparent 30%)}.invitation-copy{padding:90px clamp(36px,7vw,120px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.invitation .eyebrow{color:var(--wine)}.invitation h2{font-size:clamp(72px,8vw,120px);color:var(--wine);margin:28px 0 32px}.invitation h2 em{display:block;margin-left:50px}.invitation-copy>p:not(.eyebrow){max-width:390px;font-size:16px;line-height:1.8}.invitation .text-link{color:var(--wine);margin-top:24px}
.footer{padding:34px var(--gutter);border-top:1px solid #241e1a22;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer img{width:150px;display:block}.footer p{font-size:11px;color:var(--muted)}.footer nav{display:flex;gap:24px;font-size:12px}
.footer nav{flex-wrap:wrap;row-gap:10px}.footer nav a{white-space:nowrap}
.hero::after{background:linear-gradient(180deg,#241e1ab3,transparent 32%),linear-gradient(90deg,#241e1a99,transparent 90%),linear-gradient(0deg,#241e1aeb,transparent 80%)}
.portrait h2 em{background:linear-gradient(90deg,var(--wine) 0 calc(33vw - var(--gutter)),var(--paper) calc(33vw - var(--gutter)) 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none}
@media(min-width:1800px){.portrait{min-height:1150px}}
@media(max-width:900px){.portrait{min-height:820px;padding-top:65px}.portrait h2{font-size:clamp(95px,13.5vw,145px);margin-top:64px}.portrait-copy{max-width:36%;margin-top:80px}.archive{min-height:760px}.invitation-copy{padding:65px 38px}.footer{flex-wrap:wrap}.hero-copy{padding-bottom:90px}}
@media(max-width:600px){.header{padding-top:20px;flex-wrap:wrap;gap:16px}.brand img{width:155px}.header nav{width:100%;justify-content:space-between;gap:12px}.header nav a{font-size:10px}.header .nav-archive{padding:0 12px}.hero{min-height:94svh}.hero-copy{padding-top:210px;padding-bottom:90px}.hero h1{font-size:64px}.hero .eyebrow{max-width:290px}.hero-description{max-width:320px;font-size:25px}.actions{gap:16px}.hero .button{width:100%;justify-content:center;gap:24px}.hero .small-note{font-size:11px;max-width:285px}.video-toggle{bottom:18px}.portrait{min-height:980px;padding-top:46px;padding-bottom:44px}.portrait-photo{width:70%;top:186px;bottom:242px;background-position:center 36%}.portrait::after{width:70%;top:186px;bottom:242px}.portrait h2{font-size:clamp(83px,22vw,115px);margin:38px 0 0;line-height:.93;letter-spacing:-.055em}.portrait h2 em{margin:8px 0 0 18px;text-shadow:0 1px 12px #241e1a99}.portrait-copy{position:absolute;left:var(--gutter);right:var(--gutter);bottom:46px;max-width:none;margin:0}.portrait-copy p{font-size:15px;line-height:1.7;max-width:340px}.portrait-copy .text-link{margin-top:12px}.archive{min-height:780px;padding-top:70px;padding-bottom:74px;align-items:flex-end}.archive-photo{background-position:38% 50%}.archive::after{background:linear-gradient(0deg,#241e1af5,#241e1ac9 38%,#241e1a22 100%)}.archive h2{font-size:82px;margin:24px 0 30px}.archive h2 em{margin-left:35px}.archive-description{font-size:15px;max-width:320px}.archive .button{width:100%;gap:20px}.invitation{display:flex;flex-direction:column}.invitation-photo{min-height:420px;background-position:center 48%}.invitation-copy{padding:52px 24px 60px}.invitation h2{font-size:88px;margin:24px 0}.invitation h2 em{display:inline;margin:0}.invitation-copy>p:not(.eyebrow){font-size:15px}.footer{align-items:flex-start;flex-direction:column;gap:20px}.footer nav{gap:25px}}
@media(max-width:600px){.portrait h2 em{background-image:linear-gradient(90deg,var(--wine) 0 calc(30vw - var(--gutter) - 18px),var(--paper) calc(30vw - var(--gutter) - 18px) 100%);text-shadow:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero video{display:none}.video-toggle{display:none}}
