:root{--ivory:#f8f2e9;--brown:#452411;--gold:#a87b40;--line:#a78660;font-family:'DM Sans',Arial,sans-serif;color:var(--brown);background:var(--ivory)}
*{box-sizing:border-box}body{margin:0;background:var(--ivory) url('assets/background-optimized.webp') center top/cover no-repeat;min-width:320px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}a{color:inherit}button{transition:background .18s,color .18s,transform .18s}button:hover{filter:brightness(.93)}:focus-visible{outline:3px solid #96702e;outline-offset:5px}.page{max-width:1600px;margin:auto;padding:0 24px}.skip{position:absolute;top:12px;left:12px;z-index:5;transform:translateY(-200%);background:var(--ivory);padding:12px}.skip:focus{transform:none}.header{min-height:145px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:32px;padding:12px 35px}.brand{display:block;line-height:0;flex-shrink:0}.brand img{display:block;width:120px;height:116px;object-fit:contain}.header nav{display:flex;align-items:center;gap:clamp(20px,3.5vw,55px)}.nav-item{border:0;background:none;font-size:18px;padding:12px 0}.nav-item:hover{color:#99723d}.booking{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:99px;white-space:nowrap;font-weight:500}.outline{border:1.5px solid #875a23;background:transparent;padding:14px 34px;font-size:19px}.outline:hover{background:#ede2d1}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:28px;padding:18px 0 55px;min-height:880px}.hero-copy{padding:82px 0 0 35px;z-index:1;min-width:0}.eyebrow{font-size:14px;letter-spacing:.27em;font-weight:400;margin:6px 0 20px;white-space:nowrap}.eyebrow span{margin:0 5px}h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(58px,6.45vw,101px);font-weight:400;line-height:1.02;letter-spacing:-.065em;margin:0 0 28px}h1 em{font-weight:400;color:var(--gold);font-size:1.2em;letter-spacing:-.055em;line-height:1.04}.description{font-size:clamp(20px,2vw,29px);line-height:1.35;letter-spacing:-.025em;margin:0 0 38px}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.primary{background:var(--brown);color:#fffaf1;border:1px solid var(--brown);padding:18px 25px;font-size:18px;min-height:64px}.primary:hover{background:#613b23;transform:translateY(-1px)}.primary svg{width:31px;height:31px;flex:none}.text-link{background:none;border:0;padding:12px 0;display:flex;align-items:center;gap:14px;font-size:16px}.text-link span:first-child{padding-bottom:5px;border-bottom:1px solid var(--brown)}.text-link span:last-child{font-size:26px}.footnote{font-size:13px;letter-spacing:.17em;line-height:1.6;margin:22px 0 0;color:#815f46}.hero-visual{position:relative;min-width:0}.portrait{display:block;width:100%;height:830px;object-fit:cover;object-position:50% 34%;border-radius:36px 36px 0 0}.reception{position:absolute;left:-25%;bottom:38px;width:47%;max-width:325px;margin:0;padding:10px 10px 0;background:#fbf4e9;border-radius:10px;box-shadow:0 18px 45px #6d42151a}.reception img{width:100%;height:auto;aspect-ratio:.88;object-fit:cover;display:block;border-radius:2px}.reception figcaption{font-size:12px;letter-spacing:.12em;padding:11px 2px 13px;line-height:1.5;color:#79583c}dialog{border:1px solid #d6c3a7;border-radius:18px;padding:32px;max-width:min(420px,90vw);background:#fffaf1;color:var(--brown);box-shadow:0 25px 80px #32190930}dialog::backdrop{background:#2f1b0d66}dialog h2{font-family:Georgia,serif;font-weight:400;font-size:30px;margin:0 30px 14px 0}dialog p{line-height:1.6}.close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:30px;min-width:44px;min-height:44px}.dismiss{border:0;border-radius:30px;padding:12px 25px;background:var(--brown);color:white;min-height:44px}
@media(min-width:1450px){.hero-copy{padding-top:90px}.actions{gap:30px}.hero{gap:24px}.reception{bottom:35px}}
@media(max-width:1190px){.header{padding:12px 16px}.header nav{gap:24px}.outline{padding:13px 23px}.hero-copy{padding:65px 0 0 16px}.hero{gap:24px;min-height:800px}.portrait{height:760px}h1{font-size:clamp(56px,6.2vw,76px)}.description{font-size:23px}.actions{gap:10px}.primary{font-size:16px;padding:15px 19px}.text-link{font-size:14px}.reception{left:-14%;width:48%;bottom:25px}.eyebrow{font-size:11px}}
@media(max-width:900px){.header{min-height:110px;position:relative}.brand img{width:90px;height:87px}.menu-toggle{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:transparent;border-radius:30px;min-height:44px;padding:10px 18px}.header nav{display:none;position:absolute;top:calc(100% + 8px);right:0;z-index:4;background:#fff9ef;padding:24px;box-shadow:0 12px 36px #4524111f;border:1px solid #e2d3bf;border-radius:14px;min-width:230px}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:8px}.nav-item{text-align:left;padding:12px}.outline{font-size:16px}.hero{grid-template-columns:1fr 1fr;gap:18px;padding-top:24px;min-height:720px}.hero-copy{padding:40px 0 0 10px}h1{font-size:clamp(44px,6.2vw,57px)}.eyebrow{font-size:9px;letter-spacing:.19em}.description{font-size:20px}.portrait{height:670px}.reception{left:-6%;width:65%;bottom:10px}.footnote{font-size:12px;letter-spacing:.09em}.primary{white-space:normal}.text-link{font-size:15px}}
@media(max-width:640px){.page{padding:0 20px}.header{padding:10px 0;min-height:100px}.brand img{width:82px;height:79px}.hero{display:flex;flex-direction:column;gap:32px;padding:38px 0 45px;min-height:0}.hero-copy{padding:0}.eyebrow{font-size:10px;letter-spacing:.23em;margin:0 0 20px}h1{font-size:clamp(43px,10.3vw,66px);letter-spacing:-.055em;line-height:1.1;margin-bottom:23px}.desktop-break{display:none}h1 em{font-size:1.2em}.description{font-size:20px;line-height:1.5;max-width:360px;margin-bottom:25px}.actions{gap:10px 22px}.primary{min-height:60px;font-size:16px;padding:15px 22px}.text-link{min-height:44px}.footnote{font-size:11px;letter-spacing:.1em;margin-top:16px;max-width:330px}.hero-visual{padding:0 0 65px 18px}.portrait{height:auto;aspect-ratio:.7;object-fit:cover;object-position:center 30%;border-radius:24px 24px 0 0}.reception{left:0;bottom:0;width:48%;padding:7px 7px 0;border-radius:7px;max-width:220px}.reception img{aspect-ratio:.95}.reception figcaption{font-size:10px;letter-spacing:.04em;padding:8px 1px 9px}.header nav{right:0}.menu-toggle{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.primary:hover{transform:none}}

html{scroll-behavior:smooth}.header nav a{text-decoration:none;transition:background .18s,color .18s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
