@font-face{font-family:DM Sans;src:url(dm-sans.ttf) format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Playfair Display;src:url(playfair-display.ttf) format('truetype');font-weight:600;font-display:swap}
:root{--bg:#110d0e;--panel:#191314;--ink:#f2e9df;--muted:#b5a7a3;--wine:#86182d;--rose:#d999a5;--line:#3b2b2f;--display:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.75 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--rose);outline-offset:6px}a:hover{color:var(--rose)}img{max-width:100%;height:auto;display:block}p{margin:0 0 22px}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.15;margin:0 0 24px}h1{font-size:clamp(48px,6.2vw,80px);letter-spacing:-2.5px}h2{font-size:clamp(32px,3.7vw,46px);letter-spacing:-1.3px}h3{font-size:25px}em{font-weight:inherit;color:var(--rose)}.skip-link{position:fixed;left:20px;top:-100px;z-index:10;background:var(--wine);padding:12px 20px}.skip-link:focus{top:12px}.topline{border-top:3px solid var(--wine);border-bottom:1px solid var(--line);padding:8px max(24px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:1.9px;color:var(--muted)}.site-header{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:112px;gap:30px}.wordmark{font-family:var(--display);font-size:38px;line-height:1.2;letter-spacing:-1.3px}.wordmark span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:3.4px;margin-top:9px;color:var(--muted)}.site-header nav{display:flex;align-items:center;gap:30px;font-size:13px}.site-header nav a[aria-current]{color:var(--rose)}.nav-call{border:1px solid var(--line);padding:10px 18px}.menu-toggle{display:none}.shell{max-width:1180px;margin:0 auto}.archive-banner{border:1px solid var(--line);border-top:0;background:#000}.archive-banner img{width:100%}.hero{position:relative;padding:56px 56px 54px;display:flex;align-items:center;justify-content:space-between;background:radial-gradient(ellipse at 85% 65%,#38131d 0,transparent 60%),var(--panel);border:1px solid var(--line);border-top:0}.eyebrow{font-size:10px;letter-spacing:2.6px;font-weight:bold;color:var(--rose);margin-bottom:20px;line-height:1.6}.eyebrow>span{width:6px;height:6px;background:var(--rose);display:inline-block;border-radius:50%;margin-right:8px}.hero h1{margin-bottom:24px}.hero-intro{font-size:17px;color:#d2c3bf;line-height:1.65}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{background:var(--wine);color:var(--ink);padding:13px 23px;font-size:13px;display:inline-flex;gap:28px;align-items:center;min-height:48px;border:1px solid #a6384c;transition:background .2s}.button:hover{background:#a0273e;color:white}.text-link{font-size:13px;border-bottom:1px solid #78515c;padding-bottom:5px;display:inline-block;background:none;color:var(--ink);cursor:pointer}.text-link span{margin-left:15px}.micro{font-size:10px;letter-spacing:.5px;margin:20px 0 0;color:var(--muted)}.hero-note{width:240px;text-align:center;border-top:1px solid #673e49;border-bottom:1px solid #673e49;padding:30px 5px;margin-right:36px}.small-star{font-size:32px;color:var(--rose)}.hero-note p{font-size:12px;letter-spacing:2px;line-height:1.7;margin:20px 0}.hero-note em{font:italic 26px/1.5 var(--display);letter-spacing:-.5px}.hero-note a{font-size:11px}.ribbon{display:flex;justify-content:space-around;gap:20px;align-items:center;background:#681023;padding:17px 22px;font-size:10px;letter-spacing:2.3px}.ribbon b{font-size:14px;color:#e3a3b0;font-weight:400}.classic-layout{display:grid;grid-template-columns:260px 1fr;gap:68px;margin:76px 0}.side-menu{border-right:1px solid var(--line);padding-right:30px}.side-menu .eyebrow{font-size:9px}.side-menu>a{display:flex;gap:12px;align-items:center;justify-content:space-between;background:#211b1c;border-left:3px solid var(--wine);padding:13px 12px;margin-bottom:12px;font-size:12px}.side-menu>a:hover{background:#302127}.side-menu>a span{font-size:9px;color:var(--rose)}.side-menu>a b{font-weight:400}.sidebar-call{margin-top:36px}.sidebar-call p{font-family:var(--display);font-size:22px;margin:0 0 8px}.sidebar-call a{font-size:20px;color:var(--rose)}.sidebar-call small{display:block;color:var(--muted);font-size:10px;margin-top:8px}.intro{padding-right:55px}.intro p:not(.eyebrow){color:var(--muted);max-width:650px;font-size:15px}.intro .text-link{margin-top:8px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.section-heading h2{margin-bottom:0}.section-heading .eyebrow{margin-bottom:12px}.image-caption{font-size:9px;letter-spacing:1.7px;color:var(--muted);padding-bottom:7px}.gallery{padding-top:34px;border-top:1px solid var(--line)}.gallery img{width:100%;border:1px solid var(--line)}.caption{color:var(--muted);font-size:11px;margin-top:12px}.occasions{margin:70px 0}.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.occasion-grid>a{padding:28px;background:linear-gradient(150deg,#25191e,#171213);display:flex;flex-direction:column;min-height:245px;border-right:1px solid var(--line);transition:background .2s}.occasion-grid>a:last-child{border-right:0}.occasion-grid>a:hover{background:#35202a;color:var(--ink)}.number{color:var(--rose);font-size:11px;letter-spacing:2px;display:block;margin-bottom:24px}.occasion-name{font:24px/1.45 var(--display);letter-spacing:-.5px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);margin-top:auto;padding-top:27px}.card-bottom b{font-size:20px;font-weight:400;color:var(--rose)}.booking-band{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:#681023;padding:44px 48px;border:1px solid #a3374d}.booking-band .eyebrow{color:#eebec7}.booking-band h2{margin:0}.booking-band em{color:#f0bcc7}.big-phone{font-family:var(--display);font-size:clamp(27px,3.5vw,40px);letter-spacing:-1px}.booking-band p:not(.eyebrow){font-size:12px;margin:10px 0 15px;color:#e0b6bf}.faq{max-width:900px;margin:75px auto}.faq h2{margin-bottom:32px}details{border-top:1px solid var(--line);padding:0 4px}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px;padding:20px 0}summary::-webkit-details-marker{display:none}summary span{color:var(--rose);font-size:24px;font-weight:400}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;color:var(--muted);max-width:780px;padding-right:30px}footer{max-width:1180px;margin:0 auto;padding:42px 0 20px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-top .wordmark{font-size:31px}.footer-top .wordmark span{font-size:8px;letter-spacing:1.3px}.footer-top nav{display:flex;gap:20px;font-size:11px}.footer-phone{font-size:13px;color:var(--rose)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:45px;padding-top:20px;border-top:1px solid var(--line)}.footer-bottom p{font-size:9px;color:var(--muted);margin:0}.footer-bottom p span{margin-left:12px}.footer-bottom a{text-decoration:underline}.page-intro{padding:58px 55px;background:radial-gradient(ellipse at right,#38131d,transparent 70%),var(--panel);border:1px solid var(--line);border-top:0}.page-intro h1{font-size:clamp(44px,5.5vw,68px)}.lead{color:var(--muted);max-width:600px;font-size:17px}.prose{margin:65px 0}.prose>p{color:var(--muted);max-width:800px}.planning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin:40px 0 60px}.planning-grid article{border-top:1px solid var(--line);padding-top:24px}.planning-grid p{color:var(--muted);font-size:14px}.planning-grid h3{font-size:25px}.archive-details{padding:40px;margin:50px 0;background:var(--panel);border:1px solid var(--line)}.facts{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:25px}.facts span{display:block;font-size:9px;letter-spacing:1.7px;color:var(--muted);margin-bottom:13px}.facts strong,.facts a{font-size:17px;font-weight:400}.archive-details .caption{margin-top:25px}.contact-panel{border:1px solid var(--line);background:var(--panel);padding:40px}.contact-panel p:not(.eyebrow){color:var(--muted);font-size:13px;max-width:650px;margin-top:20px}.contact-panel button{border:0;border-bottom:1px solid #78515c}#copy-status{font-size:12px;color:var(--rose);display:inline-block;margin-left:20px}
@media(min-width:1450px){.hero{padding-top:62px;padding-bottom:62px}}@media(max-width:1240px){.site-header,.shell,footer{margin-left:30px;margin-right:30px}.site-header nav{gap:20px}.classic-layout{gap:45px}.intro{padding-right:20px}}@media(max-width:850px){.site-header{min-height:95px;position:relative}.menu-toggle{display:flex;gap:18px;color:var(--ink);background:none;border:1px solid var(--line);padding:10px 15px;font-size:13px;cursor:pointer}.site-header nav{display:none;position:absolute;top:90px;left:0;right:0;background:#21161b;border:1px solid var(--line);z-index:5;padding:18px;flex-direction:column;align-items:stretch;gap:0}.site-header nav.is-open{display:flex}.site-header nav a{padding:12px 16px}.hero{padding:40px}.hero-note{width:200px;margin-right:0}.hero-note em{font-size:23px}.hero h1{font-size:62px}.classic-layout{grid-template-columns:210px 1fr;gap:30px}.side-menu{padding-right:20px}.intro{padding:0}.ribbon{font-size:8px;letter-spacing:1.4px;gap:10px}.occasion-grid>a{padding:22px}.occasion-name{font-size:21px}.booking-band{padding:32px;gap:25px}.footer-top{flex-wrap:wrap}.footer-top nav{gap:16px}.planning-grid{gap:22px}.facts{grid-template-columns:1fr 1fr}.image-caption{max-width:130px;text-align:right}}@media(max-width:600px){.topline{padding:9px 18px;letter-spacing:1.2px;font-size:8px}.topline>a{font-size:9px;letter-spacing:.3px}.site-header,.shell,footer{margin-left:18px;margin-right:18px}.site-header{min-height:91px}.wordmark{font-size:31px}.wordmark span{font-size:8px;letter-spacing:2.7px}.archive-banner img{width:100%;height:auto}.hero{padding:32px 24px;display:block}.hero h1{font-size:54px;letter-spacing:-2px}.eyebrow{font-size:9px;letter-spacing:2px}.hero-intro{font-size:15px}.actions{gap:20px}.hero-note{display:none}.micro{font-size:9px;line-height:1.8}.ribbon{display:grid;grid-template-columns:1fr 1fr;text-align:center;padding:15px 10px;row-gap:12px;font-size:9px}.ribbon b{display:none}.classic-layout{display:flex;flex-direction:column;margin:38px 0;gap:36px}.side-menu{border:0;padding:0}.side-menu>a{font-size:13px}.sidebar-call{display:none}.intro h2{font-size:34px}.intro p:not(.eyebrow){font-size:14px}.section-heading{align-items:start;gap:10px}.section-heading h2{font-size:31px}.image-caption{font-size:8px;width:100px;line-height:1.7;padding-top:5px}.gallery img{width:100%;height:auto}.gallery .caption{font-size:10px}.occasions{margin:42px 0}.occasion-grid{grid-template-columns:1fr}.occasion-grid>a{min-height:195px;padding:23px;border-right:0;border-bottom:1px solid var(--line)}.occasion-grid>a:last-child{border-bottom:0}.occasion-name{font-size:26px}.number{margin-bottom:16px}.card-bottom{font-size:11px;padding-top:18px}.booking-band{grid-template-columns:1fr;padding:30px 25px;gap:26px}.booking-band h2{font-size:35px}.big-phone{font-size:30px}.faq{margin:45px 0}.faq h2{font-size:32px}summary{font-size:13px;padding:18px 0}details p{font-size:13px;padding-right:8px}.footer-top{align-items:start;gap:28px}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;width:100%;order:3;gap:16px}.footer-phone{font-size:11px;margin-left:auto;padding-top:9px}.footer-bottom{flex-direction:column;gap:10px;margin-top:30px}.page-intro{padding:36px 24px}.page-intro h1{font-size:43px;letter-spacing:-1.8px}.lead{font-size:15px}.prose{margin:40px 0}.planning-grid{grid-template-columns:1fr;gap:10px;margin:25px 0 35px}.planning-grid h3{margin-bottom:14px}.archive-details,.contact-panel{padding:25px}.facts{grid-template-columns:1fr;gap:24px}.contact-panel h2{font-size:31px}#copy-status{margin:15px 0 0;display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* The welcome content occupies the original hero panel. */
.hero--welcome{display:block}
.hero--welcome .classic-layout{margin:0;align-items:start}
.hero--welcome .intro{padding-right:0}
.hero--welcome h1{font-size:clamp(32px,3.7vw,46px);letter-spacing:-1.3px}
.hero--welcome .sidebar-call{display:block}
@media(max-width:600px){.hero--welcome h1{font-size:34px}.hero--welcome .classic-layout{gap:36px}}

/* Full-width, touch-friendly attraction links on phones. */
@media (max-width: 600px) {
  .hero--welcome .classic-layout { align-items: stretch; }
  .hero--welcome .side-menu { width: 100%; }
  .hero--welcome .side-menu > .eyebrow {
    margin-bottom: 16px;
    font-size: 10px;
    letter-spacing: 2px;
  }
  .hero--welcome .side-menu > a {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) 30px;
    gap: 14px;
    align-items: center;
    min-height: 66px;
    padding: 14px 16px;
    margin-bottom: 10px;
    border: 1px solid #63404b;
    border-radius: 10px;
    background: linear-gradient(120deg, #35202a, #23191e);
    box-shadow: inset 0 1px 0 #ffffff08, 0 3px 10px #00000015;
    color: var(--ink);
    font-size: 14px;
    line-height: 1.4;
    text-align: left;
    transition: background .2s, border-color .2s, transform .2s;
  }
  .hero--welcome .side-menu > a > span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid #805261;
    border-radius: 50%;
    background: #542c3a;
    color: #edbdc7;
    font-size: 10px;
    font-variant-numeric: tabular-nums;
    letter-spacing: .5px;
  }
  .hero--welcome .side-menu > a > b {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #ffffff06;
    color: var(--rose);
    font-size: 18px;
  }
  .hero--welcome .side-menu > a:hover,
  .hero--welcome .side-menu > a:focus-visible {
    border-color: var(--rose);
    background: linear-gradient(120deg, #492936, #30202a);
  }
  .hero--welcome .side-menu > a:active { transform: scale(.985); }
  .hero--welcome .sidebar-call {
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid var(--line);
  }
  .hero--welcome .sidebar-call p { font-size: 21px; margin-bottom: 4px; }
  .hero--welcome .sidebar-call a { display: inline-flex; align-items: center; min-height: 44px; font-size: 23px; }
  .hero--welcome .sidebar-call small { margin-top: 3px; font-size: 11px; }
}
