:root{--ink:#151518;--muted:#69676f;--soft:#f6f3f1;--paper:#fff;--cream:#fffaf7;--rose:#df5b8c;--rose-deep:#9b254f;--teal:#168f8b;--gold:#c79b4b;--champagne:#f0d49c;--pearl:#fff8ee;--blush:#ffd7e5;--plum:#3a1d2c;--line:#1515181f;--shadow:0 22px 60px #15151829}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}main{overflow:hidden}::selection{background:#df5b8c3d}.hero{color:#fff;isolation:isolate;min-height:clamp(640px,88vh,820px);position:relative}.hero:before{z-index:-1;content:"";pointer-events:none;background:linear-gradient(120deg,#f0d49c1f,#0000 28%,#ffd7e514 52%,#0000 76%),linear-gradient(#fff8ee12,#0000 36%);position:absolute;inset:0}.hero-image{z-index:-2;object-fit:cover;object-position:62% 44%;width:100%;height:100%;animation:18s ease-in-out infinite alternate hero-drift;position:absolute;inset:0}.hero-shade{z-index:-1;background:linear-gradient(90deg,#0a090ac7 0%,#0a090a85 42%,#0a090a29 72%),linear-gradient(#0a090a05 58%,#0a090a73 100%);position:absolute;inset:0;overflow:hidden}.hero-shade:after{content:"";mix-blend-mode:screen;opacity:.64;background:linear-gradient(115deg,#0000 28%,#fff8ee1c 45%,#f0d49c14 50%,#0000 66%);animation:8.5s ease-in-out infinite hero-lustre;position:absolute;inset:-20% -35%;transform:translate(-28%)}.topbar{justify-content:space-between;align-items:center;gap:24px;width:min(1160px,100% - 40px);margin:0 auto;padding:24px 0;animation:.72s both float-in;display:flex}.brand{letter-spacing:0;color:var(--pearl);text-shadow:0 10px 30px #00000052;align-items:baseline;gap:7px;display:inline-flex}.brand span,.brand strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(26px,3vw,38px);font-weight:500}.brand span{color:var(--champagne);opacity:.96}.nav-links{color:#fff8eed6;align-items:center;gap:24px;font-size:.94rem;display:flex}.nav-links a{transition:color .16s}.nav-links a:hover,.nav-links a:focus-visible{color:var(--champagne)}.nav-book,.button{isolation:isolate;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-weight:700;line-height:1;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s;display:inline-flex;position:relative;overflow:hidden}.nav-book:before,.button:before{z-index:0;content:"";opacity:0;background:linear-gradient(115deg,#0000 0%,#ffffff6b 46%,#0000 62%);transition:opacity .18s,transform .52s;position:absolute;inset:-2px;transform:translate(-72%)skew(-18deg)}.nav-book{background:linear-gradient(135deg, #fffaf7fa, #f0d49ce6), var(--pearl);color:var(--ink);border-color:#f0d49c61;box-shadow:0 14px 32px #00000029,inset 0 0 0 1px #ffffff29}.nav-book:hover,.button:hover{transform:translateY(-2px)}.nav-book:hover:before,.button:hover:before{opacity:1;transform:translate(72%)skew(-18deg)}.hero-content{width:min(1160px,100% - 40px);margin:0 auto;padding:clamp(84px,10vw,130px) 0 96px}.hero-content>*{animation:.82s both float-in}.hero-content>:nth-child(2){animation-delay:90ms}.hero-content>:nth-child(3){animation-delay:.18s}.hero-content>:nth-child(4){animation-delay:.27s}.hero-content>:nth-child(5){animation-delay:.36s}.kicker,.eyebrow{color:var(--rose);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:9px;margin:0 0 18px;font-size:.82rem;font-weight:800;display:inline-flex}.hero .kicker{color:var(--blush);text-shadow:0 10px 28px #0000006b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff8ee14;border:1px solid #f0d49c3d;border-radius:999px;padding:9px 12px;box-shadow:0 18px 44px #0000002e,inset 0 0 0 1px #ffffff0d}.hero .kicker svg{color:var(--champagne);filter:drop-shadow(0 0 10px #f0d49c52)}.hero h1{max-width:720px;color:var(--pearl);letter-spacing:0;text-shadow:0 22px 58px #00000061,0 1px #ffffff29;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(70px,11vw,142px);font-weight:500;line-height:.88;display:inline-block;position:relative}.hero h1:after{content:"";background:linear-gradient(90deg, var(--champagne), #ffd7e5e0, transparent);transform-origin:0;border-radius:999px;width:min(260px,46%);height:2px;margin-top:22px;animation:4.8s ease-in-out infinite rule-breathe;display:block;box-shadow:0 0 22px #f0d49c5c}.hero-title-accent{background:linear-gradient(110deg,#fff8ee 8%,#f4d99f 48%,#ffd7e5 74%,#fff8ee 96%) 0 0/220% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:5.5s ease-in-out infinite title-sheen}.hero-copy{color:#fff8eee6;text-shadow:0 14px 34px #00000061;max-width:620px;margin:30px 0 0;font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.7}.hero-actions,.booking-actions,.visit-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button.primary{background:linear-gradient(120deg, #0f7774, var(--teal) 46%, #39c5b7), var(--teal);color:#fff;border-color:#f0d49c47;box-shadow:0 18px 40px #168f8b47,inset 0 0 0 1px #ffffff24}.button.secondary{color:var(--pearl);background:#fff8ee1f;border-color:#f0d49c75;box-shadow:inset 0 0 0 1px #ffffff14}.button.outline{color:var(--ink);background:#fff;border-color:#15151829}.button.dark{background:var(--ink);color:#fff}.button.outline-dark{color:var(--ink);background:0 0;border-color:#15151829}.hero-meta{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.hero-meta a,.hero-meta span{color:#fff8eeeb;background:#fff8ee1c;border:1px solid #f0d49c3d;border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:0 12px;font-size:.92rem;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff0f}.hero-meta svg{color:var(--champagne)}.hero-meta a{text-decoration:none;transition:transform .18s,border-color .18s,background .18s}.hero-meta a:hover{background:#fff8ee2b;border-color:#f0d49c7a;transform:translateY(-2px)}.intro-band{background:var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.intro-item{background:#fbfaf8;gap:16px;min-height:128px;padding:clamp(24px,4vw,38px);animation:.76s both float-in;display:flex}.intro-item:nth-child(2){animation-delay:.12s}.intro-item:nth-child(3){animation-delay:.24s}.intro-item svg{color:var(--teal);flex:none}.intro-item strong,.intro-item span{display:block}.intro-item strong{margin-bottom:7px;font-size:1.05rem}.intro-item span{color:var(--muted);line-height:1.55}.section{width:min(1160px,100% - 40px);margin:0 auto;padding:clamp(72px,10vw,120px) 0}.section h2,.booking-band h2{letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,6vw,74px);font-weight:500;line-height:.98}.booking-band p,.visit-copy p{color:var(--muted);font-size:1.02rem;line-height:1.75}.menu-card,.gallery-card,.hours-panel,.booking-note-panel{border:1px solid var(--line);background:#fff;border-radius:8px}.menu-card h3,.hours-panel h3,.booking-note-panel h3{margin:0;font-size:1.04rem}.menu-preview{color:#fff;background:linear-gradient(135deg, #151518f5, #3a1d2cf5), var(--ink);width:100%;padding:clamp(74px,9vw,118px) max(20px,50vw - 580px)}.menu-shell{position:relative}.menu-shell:before{content:"";background:linear-gradient(90deg,#0000,#c79b4be6,#0000);width:min(360px,45vw);height:1px;position:absolute;top:-42px;right:-22px}.menu-heading{max-width:none;margin-bottom:42px}.menu-heading .eyebrow{color:#ffc4d7}.menu-heading h2{color:#fff;max-width:820px}.menu-link{color:#ffffffe6;white-space:nowrap;border:1px solid #ffffff38;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-weight:800;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.menu-link:hover{background:#ffffff14;border-color:#ffffff7a;transform:translateY(-2px)}.section-heading{justify-content:space-between;align-items:end;gap:28px;max-width:980px;margin-bottom:38px;display:flex}.section-heading h2{max-width:780px}.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.menu-card{color:var(--ink);background:linear-gradient(#fffffffa,#fffaf7f0),#fff;padding:24px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 24px 70px #00000038}.menu-card:after{pointer-events:none;content:"";opacity:0;background:linear-gradient(115deg,#0000 0%,#ffffff94 46%,#0000 54%);transition:opacity .18s,transform .52s;position:absolute;inset:0;transform:translate(-70%)}.menu-card:hover{transform:translateY(-6px);box-shadow:0 30px 84px #00000047}.menu-card:hover:after{opacity:1;transform:translate(70%)}.menu-card-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.menu-number{width:42px;height:42px;color:var(--gold);border:1px solid #c79b4b52;border-radius:50%;justify-content:center;align-items:center;font-family:Georgia,Times New Roman,serif;font-size:.9rem;display:inline-flex}.menu-kicker{color:var(--rose-deep);letter-spacing:.08em;text-transform:uppercase;text-align:right;font-size:.78rem;font-weight:800}.menu-card h3{margin-top:20px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3vw,2.65rem);font-weight:500;line-height:1}.menu-card p{color:var(--muted);margin:14px 0 0;line-height:1.65}.menu-signature{background:linear-gradient(135deg, #c79b4b26, #df5b8c14), var(--cream);border:1px solid #c79b4b47;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;margin-top:22px;padding:16px;display:grid}.menu-signature span{color:var(--rose-deep);letter-spacing:.09em;text-transform:uppercase;grid-column:1/-1;font-size:.72rem;font-weight:900}.menu-signature strong{line-height:1.25}.menu-signature em{color:var(--rose-deep);white-space:nowrap;font-style:normal;font-weight:900}.menu-card ul,.hours-panel ul{gap:14px;margin:22px 0 0;padding:0;list-style:none;display:grid}.menu-card li,.hours-panel li{color:var(--muted);justify-content:space-between;align-items:baseline;gap:16px;display:flex}.menu-card li{border-top:1px solid #15151817;align-items:center;padding-top:13px}.menu-card li span{gap:4px;display:grid}.menu-card li span strong{color:var(--ink);font-size:.97rem}.menu-card li small{color:var(--muted);font-size:.78rem}.menu-card li em{color:var(--ink);white-space:nowrap;font-style:normal;font-weight:900}.hours-panel li strong{color:var(--ink);white-space:nowrap}.work-section{padding-bottom:clamp(54px,8vw,90px)}.gallery-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:142px;gap:14px;display:grid}.gallery-card{box-shadow:none;margin:0;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.gallery-card:first-child,.gallery-card:nth-child(4){grid-area:span 3/span 2}.gallery-card:nth-child(2),.gallery-card:nth-child(3),.gallery-card:nth-child(5),.gallery-card:nth-child(6){grid-area:span 2/span 2}.gallery-card img{object-fit:cover;width:100%;height:100%;transition:transform .56s}.gallery-card:hover{transform:translateY(-4px);box-shadow:0 22px 54px #15151829}.gallery-card:hover img{transform:scale(1.055)}.gallery-card:first-child img{object-position:50% 52%}.gallery-card:nth-child(3) img{object-position:46% 40%}.gallery-card figcaption{color:var(--ink);background:#ffffffe6;border-radius:8px;padding:8px 11px;font-size:.84rem;font-weight:800;position:absolute;bottom:12px;left:12px}.booking-band{border:1px solid var(--line);width:min(1160px,100% - 40px);box-shadow:var(--shadow);background:linear-gradient(120deg,#168f8b1a,#df5b8c14),#fff;border-radius:8px;grid-template-columns:minmax(260px,.72fr) minmax(0,1fr);align-items:center;gap:clamp(30px,6vw,72px);margin:0 auto clamp(70px,9vw,110px);padding:clamp(22px,3vw,34px);animation:5.5s ease-in-out infinite soft-pulse;display:grid}.booking-band img{object-fit:cover;object-position:50% 40%;border-radius:8px;width:100%;height:440px}.section.visit-section{isolation:isolate;width:100%;color:var(--pearl);background:linear-gradient(135deg, #151518fa 0%, #3a1d2cf5 54%, #0d3433f2 100%), var(--ink);border-top:0;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(34px,6vw,70px);padding:clamp(76px,9vw,120px) max(20px,50vw - 580px);display:grid;position:relative;overflow:hidden}.visit-section:before{z-index:-2;content:"";opacity:.86;background:linear-gradient(90deg,#151518f2 0%,#151518c7 48%,#151518e6 100%),url(/images/gallery-pink-gold.jpg) 100%/min(520px,44vw) no-repeat;position:absolute;inset:0}.visit-section:after{content:"";background:linear-gradient(90deg, var(--champagne), var(--blush), transparent);width:min(420px,100% - 40px);height:2px;position:absolute;top:0;left:max(20px,50vw - 580px);box-shadow:0 0 28px #f0d49c5c}.visit-copy{max-width:620px;position:relative}.visit-section .eyebrow{color:var(--blush);text-shadow:0 10px 26px #00000057}.visit-section h2{color:var(--pearl);text-shadow:0 24px 58px #00000057}.visit-section h2:after{content:"";background:linear-gradient(90deg, var(--champagne), var(--blush), transparent);border-radius:999px;width:min(230px,46%);height:2px;margin-top:24px;display:block}.visit-copy p{color:#fff8eec2}.visit-details{z-index:1;grid-template-columns:1fr .85fr;gap:18px;display:grid;position:relative}.hours-panel,.booking-note-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#fff8ee21,#fff8ee0d),#1515187a;border-color:#f0d49c33;padding:clamp(24px,3vw,34px);position:relative;overflow:hidden;box-shadow:0 24px 70px #00000040,inset 0 0 0 1px #ffffff0f}.hours-panel:before,.booking-note-panel:before{content:"";background:linear-gradient(90deg, var(--rose), var(--champagne), var(--teal));height:3px;position:absolute;inset:0 0 auto}.hours-panel:after,.booking-note-panel:after{content:"";background:linear-gradient(90deg,#0000,#fff8ee1a,#0000);width:42%;animation:7.5s ease-in-out infinite panel-lustre;position:absolute;inset:-40% auto -40% -45%;transform:rotate(12deg)}.hours-panel h3,.booking-note-panel h3{z-index:1;color:var(--pearl);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.25rem,2vw,1.55rem);font-weight:600;position:relative}.visit-section .hours-panel ul,.booking-note-panel ul{z-index:1;gap:10px;margin:22px 0 0;padding:0;list-style:none;display:grid;position:relative}.visit-section .hours-panel li{color:#fff8eec2;background:linear-gradient(90deg,#f0d49c1a,#fff8ee0d),#fff8ee0d;border:1px solid #fff8ee1a;border-radius:8px;min-height:46px;padding:0 14px;transition:transform .18s,border-color .18s,background .18s}.visit-section .hours-panel li:hover{background:linear-gradient(90deg,#df5b8c29,#168f8b1a),#fff8ee12;border-color:#f0d49c47;transform:translate(4px)}.visit-section .hours-panel li span{color:#fff8eebd}.visit-section .hours-panel li strong{color:var(--pearl);text-shadow:0 0 18px #f0d49c1f;font-weight:900}.booking-note-panel li{color:#fff8eec2;background:#fff8ee12;border:1px solid #fff8ee1a;border-radius:8px;min-height:54px;padding:12px 14px 12px 40px;line-height:1.45;position:relative}.booking-note-panel li:before{content:"";background:linear-gradient(135deg, var(--champagne), var(--rose), var(--teal));border-radius:50%;width:10px;height:10px;position:absolute;top:18px;left:16px;box-shadow:0 0 16px #df5b8c61}.visit-section .button.dark{background:linear-gradient(135deg, #fff8eefa, #f0d49ceb), var(--champagne);color:var(--ink);border-color:#f0d49c6b;box-shadow:0 20px 46px #00000047,inset 0 0 0 1px #ffffff2e}.visit-section .button.outline-dark{color:var(--pearl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff8ee14;border-color:#f0d49c47;box-shadow:inset 0 0 0 1px #ffffff0f}.footer{border-top:1px solid var(--line);background:var(--ink);color:#fff;grid-template-columns:minmax(0,1fr) auto;gap:28px;padding:32px max(20px,50vw - 580px);display:grid}.footer strong,.footer span{display:block}.footer strong{font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:500}.footer span{color:#ffffffad}.designer-credit{color:#ffffffdb;white-space:nowrap;background:linear-gradient(135deg,#ffffff17,#ffffff08),#211720;border:1px solid #ffffff29;border-radius:8px;grid-column:1/-1;justify-self:start;align-items:center;gap:10px;min-height:44px;padding:7px 14px 7px 8px;font-size:.95rem;font-weight:700;transition:transform .18s,border-color .18s,background .18s;display:inline-flex;box-shadow:0 14px 34px #0003}.designer-credit:hover{background:linear-gradient(135deg,#df5b8c33,#168f8b24),#211720;border-color:#ffffff4d;transform:translateY(-3px)}.designer-credit strong{color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:inherit;font-weight:900;display:inline}.credit-logo{object-fit:cover;border-radius:8px;width:30px;height:30px;box-shadow:0 8px 18px #0000003d}.credit-line{color:#ffffffc7}.footer-legal-row{grid-column:1/-1;justify-content:space-between;align-items:center;gap:18px;margin:-12px 0 0;display:flex}.footer-legal{color:#ffffff7a;letter-spacing:.02em;margin:0;font-size:.78rem;font-weight:600}.footer-policy-links{flex-wrap:wrap;justify-content:flex-end;gap:16px;display:flex}.footer-policy-links a{color:#ffffff94;letter-spacing:.02em;font-size:.78rem;font-weight:800;transition:color .16s,transform .16s}.footer-policy-links a:hover,.footer-policy-links a:focus-visible{color:var(--champagne);transform:translateY(-1px)}.footer-links{flex-wrap:wrap;justify-content:end;gap:10px;display:flex}.footer-links a{color:#ffffffdb;border:1px solid #ffffff2e;border-radius:8px;align-items:center;gap:4px;min-height:38px;padding:0 12px;display:inline-flex}@media (width<=900px){.topbar{align-items:flex-start}.nav-links{display:none}.hero{min-height:710px}.hero-image{object-position:70% 44%}.hero-shade{background:linear-gradient(90deg,#0a090adb,#0a090a73),linear-gradient(#0a090a14,#0a090a94)}.intro-band,.menu-grid,.booking-band,.section.visit-section,.visit-details,.footer{grid-template-columns:1fr}.section.visit-section{gap:34px;padding:72px 20px}.visit-section:before{opacity:.72;background:linear-gradient(#151518f5,#241722eb),url(/images/gallery-pink-gold.jpg) bottom/120% no-repeat}.visit-copy{max-width:none}.visit-details{width:100%}.section-heading{display:block}.menu-link{margin-top:22px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px}.gallery-card:nth-child(n){grid-area:span 1/span 1}.gallery-card:first-child,.gallery-card:nth-child(4){grid-row:span 2}.booking-band img{height:330px}.footer-links{justify-content:start}.footer-legal-row{flex-direction:column-reverse;align-items:flex-start;margin-top:-6px}.footer-policy-links{justify-content:flex-start}}@media (width<=560px){.topbar,.hero-content,.booking-band,.section:not(.visit-section){width:min(100% - 28px,1160px)}.topbar{padding-top:18px}.brand span,.brand strong{font-size:25px}.nav-book{min-height:40px;padding:0 12px}.hero{min-height:690px}.hero-content{padding-top:72px}.hero h1{font-size:clamp(58px,18vw,86px)}.hero-copy{font-size:1rem}.button,.hero-meta a,.hero-meta span{width:100%}.intro-item{min-height:auto}.section{padding:62px 0}.section h2,.booking-band h2{font-size:clamp(36px,12vw,52px)}.section.visit-section{width:100%;padding:62px 14px}.visit-section .eyebrow{max-width:100%;font-size:.72rem;display:flex}.visit-section h2{max-width:100%;font-size:clamp(48px,17vw,72px)}.visit-copy p{max-width:34ch;font-size:1rem}.visit-actions{width:100%}.visit-details{gap:14px}.hours-panel,.booking-note-panel{padding:22px}.visit-section .hours-panel li{align-items:center;gap:12px;min-height:44px;padding:0 12px}.visit-section .hours-panel li strong{text-align:right;white-space:normal;max-width:52%}.menu-preview{padding:62px 14px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:360px}.gallery-card:nth-child(n){grid-row:span 1}.booking-band{padding:14px}.booking-band img{height:300px}.menu-card li,.hours-panel li{align-items:flex-start}}@keyframes float-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-drift{0%{transform:scale(1)}to{transform:scale(1.045)translate(-.8%,-.6%)}}@keyframes hero-lustre{0%,to{opacity:.22;transform:translate(-34%)}48%{opacity:.66;transform:translate(18%)}}@keyframes title-sheen{0%,to{background-position:0%}52%{background-position:100%}}@keyframes rule-breathe{0%,to{opacity:.72;transform:scaleX(.72)}50%{opacity:1;transform:scaleX(1)}}@keyframes panel-lustre{0%,to{opacity:0;transform:translate(0)rotate(12deg)}45%{opacity:1}62%{opacity:0;transform:translate(340%)rotate(12deg)}}@keyframes soft-pulse{0%,to{box-shadow:0 22px 60px #15151829}50%{box-shadow:0 26px 76px #168f8b2e}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
