/* Generated for Elementor pages from style.css */
:root{
 --paper:#fff;--ink:#141414;--wine:#931f1f;--red:#af1d1d;--muted:#595959;--soft:#f5f3f1;--line:#dedad6;--blush:#f3e3df;
 --color-bg:var(--paper);--color-text:var(--ink);--color-primary:var(--wine);--color-surface-offset:var(--soft);
 --font-display:"Playfair Display",Georgia,serif;--font-body:"Source Sans 3","Helvetica Neue",sans-serif;
 --text-xs:clamp(.75rem,.72rem + .15vw,.875rem);--text-sm:clamp(.875rem,.83rem + .2vw,1rem);--text-base:clamp(1rem,.98rem + .12vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .6vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.2vw,2.25rem);--text-2xl:clamp(2rem,1.4rem + 2.4vw,3.5rem);--text-hero:clamp(2.8rem,1.5rem + 4.7vw,6.25rem);
 --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
 --radius-sm:2px;--transition-interactive:180ms ease;--content-wide:1280px;
}
body,body:not(.cn-x){overflow-wrap:break-word}
h1,body:not(.cn-x) h1,h2,body:not(.cn-x) h2{font-family:var(--font-display)}
h2,body:not(.cn-x) h2{font-size:var(--text-xl);line-height:1.18}
h3,body:not(.cn-x) h3{font:600 var(--text-lg)/1.3 var(--font-body)}
p,body:not(.cn-x) p{max-width:68ch}
p+p,body:not(.cn-x) p+p{margin-top:var(--space-4)}
.container,body:not(.cn-x) .container{width:min(calc(100% - var(--space-12)),var(--content-wide));margin-inline:auto}
.section,body:not(.cn-x) .section{padding-block:clamp(var(--space-12),7vw,var(--space-24))}
.section.small,body:not(.cn-x) .section.small{padding-block:var(--space-12)}
.soft,body:not(.cn-x) .soft{background:var(--soft)}
.dark,body:not(.cn-x) .dark{background:var(--ink);color:#fff}
.dark p,body:not(.cn-x) .dark p{color:#d5d1ce}
.eyebrow,body:not(.cn-x) .eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--wine);margin-bottom:var(--space-4)}
.dark .eyebrow,body:not(.cn-x) .dark .eyebrow{color:#f1aaa3}
.lead,body:not(.cn-x) .lead{font-size:var(--text-lg);line-height:1.55}
.muted,body:not(.cn-x) .muted{color:var(--muted)}
.text-link,body:not(.cn-x) .text-link{display:inline-flex;align-items:center;gap:var(--space-6);min-height:44px;color:var(--wine);font-size:var(--text-sm);font-weight:600;border-bottom:1px solid currentColor}
.text-link:hover,body:not(.cn-x) .text-link:hover{color:var(--ink)}
.btn,body:not(.cn-x) .btn{display:inline-flex;justify-content:center;align-items:center;gap:var(--space-8);min-height:50px;padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:600;background:var(--wine);color:#fff;border:1px solid var(--wine);text-align:center}
.btn:hover,body:not(.cn-x) .btn:hover{background:#701818;border-color:#701818}
.btn:active,body:not(.cn-x) .btn:active{background:#511111}
.btn.outline,body:not(.cn-x) .btn.outline{background:transparent;color:var(--ink);border-color:#aaa}
.btn.outline:hover,body:not(.cn-x) .btn.outline:hover{background:var(--soft)}
.dark .btn.outline,body:not(.cn-x) .dark .btn.outline{color:#fff;border-color:#a9a29c}
.dark .btn.outline:hover,body:not(.cn-x) .dark .btn.outline:hover{background:#292626}
.actions,body:not(.cn-x) .actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-6);margin-top:var(--space-8)}
.skip-link,body:not(.cn-x) .skip-link{position:fixed;top:-100px;left:var(--space-4);z-index:1000;background:#fff;padding:var(--space-4);color:#000}
.skip-link:focus,body:not(.cn-x) .skip-link:focus{top:var(--space-4)}
.site-header,body:not(.cn-x) .site-header{background:#101010;color:#fff;position:sticky;top:0;z-index:40;border-bottom:1px solid #ffffff24}
.header-row,body:not(.cn-x) .header-row{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}
.brand,body:not(.cn-x) .brand{display:flex;flex-direction:column;min-width:165px;padding-block:var(--space-3)}
.brand span,body:not(.cn-x) .brand span{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.07em}
.brand small,body:not(.cn-x) .brand small{font-size:var(--text-xs);color:#d1c9c5;letter-spacing:.13em;text-transform:uppercase;margin-top:var(--space-1)}
.site-nav,body:not(.cn-x) .site-nav{display:flex;align-items:center;gap:var(--space-6)}
.site-nav a,body:not(.cn-x) .site-nav a{font-size:var(--text-sm);min-height:44px;display:flex;align-items:center;border-bottom:1px solid transparent}
.site-nav a:hover,body:not(.cn-x) .site-nav a:hover,.site-nav a[aria-current=page],body:not(.cn-x) .site-nav a[aria-current=page]{border-color:#c45b51;color:#f1b3ab}
.header-phone,body:not(.cn-x) .header-phone{font-size:var(--text-sm);white-space:nowrap}
.menu-toggle,body:not(.cn-x) .menu-toggle{display:none;min-height:44px;min-width:64px;border:1px solid #69605e;color:#fff;padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}
.hero,body:not(.cn-x) .hero{position:relative;min-height:690px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#1b1715;color:white}
.hero>img,body:not(.cn-x) .hero>img,body:not(.cn-x) .hero>.cn-w>img,body:not(.cn-x) .hero>.cn-w>.elementor-widget-container>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.hero::after,body:not(.cn-x) .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.65) 48%,rgba(0,0,0,.05));z-index:-1}
.hero-content,body:not(.cn-x) .hero-content{padding-block:var(--space-20)}
.hero .eyebrow,body:not(.cn-x) .hero .eyebrow{color:#f2aaa3}
.hero h1,body:not(.cn-x) .hero h1{font-size:var(--text-hero);line-height:1.06;letter-spacing:-.035em;max-width:12ch;margin-bottom:var(--space-8)}
.hero .intro,body:not(.cn-x) .hero .intro{color:#eee6e2;max-width:49ch;font-size:var(--text-base)}
.hero .actions .text-link,body:not(.cn-x) .hero .actions .text-link{color:#fff}
.hero-note,body:not(.cn-x) .hero-note{margin-top:var(--space-8);font-size:var(--text-xs);letter-spacing:.03em;color:#e3d6ce}
.hero-index,body:not(.cn-x) .hero-index{position:absolute;right:var(--space-8);bottom:var(--space-8);font-size:var(--text-xs);color:#eee;border-left:1px solid #c4b0a0;padding-left:var(--space-4)}
.service-ribbon,body:not(.cn-x) .service-ribbon{display:grid;grid-template-columns:repeat(4,1fr);padding-block:var(--space-6);gap:var(--space-6)}
.service-ribbon span,body:not(.cn-x) .service-ribbon span{font-size:var(--text-sm);color:var(--muted)}
.service-ribbon b,body:not(.cn-x) .service-ribbon b{display:block;color:var(--ink);font-weight:600;margin-bottom:var(--space-1)}
.service-ribbon span+span,body:not(.cn-x) .service-ribbon span+span{border-left:1px solid var(--line);padding-left:var(--space-6)}
.section-heading,body:not(.cn-x) .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-12);margin-bottom:var(--space-12)}
.section-heading h2,body:not(.cn-x) .section-heading h2{max-width:22ch}
.section-heading p,body:not(.cn-x) .section-heading p{max-width:46ch;color:var(--muted);margin-top:var(--space-4)}
.section-heading .text-link,body:not(.cn-x) .section-heading .text-link{flex-shrink:0}
.editorial-grid,body:not(.cn-x) .editorial-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(var(--space-8),6vw,var(--space-24));align-items:center}
.editorial-grid h2,body:not(.cn-x) .editorial-grid h2{margin-bottom:var(--space-6);max-width:22ch}
.editorial-grid p,body:not(.cn-x) .editorial-grid p{color:var(--muted)}
.photo-frame,body:not(.cn-x) .photo-frame{position:relative}
.photo-frame img,body:not(.cn-x) .photo-frame img{width:100%;aspect-ratio:5/4;object-fit:cover}
.photo-frame figcaption,body:not(.cn-x) .photo-frame figcaption{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-3)}
.editorial-grid .photo-frame.portrait img,body:not(.cn-x) .editorial-grid .photo-frame.portrait img{aspect-ratio:4/5}
.intro-stat,body:not(.cn-x) .intro-stat{padding-top:var(--space-6);margin-top:var(--space-8);border-top:1px solid var(--line);font-size:var(--text-sm);color:var(--muted)}
.event-grid,body:not(.cn-x) .event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8)}
.event-card,body:not(.cn-x) .event-card{position:relative;display:flex;flex-direction:column;background:#fff;color:var(--ink)}
.event-card img,body:not(.cn-x) .event-card img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:filter 180ms}
.event-card:hover img,body:not(.cn-x) .event-card:hover img{filter:brightness(.9)}
.event-card-body,body:not(.cn-x) .event-card-body{padding:var(--space-6) var(--space-2);display:grid;grid-template-columns:44px 1fr;gap:var(--space-4);border-bottom:1px solid var(--line);flex:1}
.event-card .number,body:not(.cn-x) .event-card .number{font-size:var(--text-xs);color:var(--wine);padding-top:var(--space-2)}
.event-card h3,body:not(.cn-x) .event-card h3{margin-bottom:var(--space-3)}
.event-card p,body:not(.cn-x) .event-card p{color:var(--muted);font-size:var(--text-base)}
.card-action,body:not(.cn-x) .card-action{display:inline-block;font-size:var(--text-sm);font-weight:600;color:var(--wine);padding-block:var(--space-4)}
.service-list,body:not(.cn-x) .service-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}
.service-list article,body:not(.cn-x) .service-list article{border-top:1px solid #ffffff38;padding-block:var(--space-6)}
.service-list h3,body:not(.cn-x) .service-list h3{margin-bottom:var(--space-4)}
.service-list .text-link,body:not(.cn-x) .service-list .text-link{color:#efb3aa;margin-top:var(--space-4)}
.split-heading,body:not(.cn-x) .split-heading{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-16);margin-bottom:var(--space-12)}
.split-heading p,body:not(.cn-x) .split-heading p{margin-top:var(--space-6)}
.photo-strip,body:not(.cn-x) .photo-strip{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:var(--space-4)}
.photo-strip img,body:not(.cn-x) .photo-strip img{height:340px;width:100%;object-fit:cover}
.steps,body:not(.cn-x) .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-10);counter-reset:step}
.steps article,body:not(.cn-x) .steps article{border-top:1px solid var(--line);padding-top:var(--space-6)}
.steps .step-number,body:not(.cn-x) .steps .step-number{font-family:var(--font-display);font-size:var(--text-xl);color:var(--wine);margin-bottom:var(--space-6)}
.steps h3,body:not(.cn-x) .steps h3{margin-bottom:var(--space-4)}
.steps p,body:not(.cn-x) .steps p{color:var(--muted)}
.destination-feature,body:not(.cn-x) .destination-feature{display:grid;grid-template-columns:1fr 1.25fr;gap:var(--space-16)}
.destination-links,body:not(.cn-x) .destination-links{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-8)}
.destination-links a,body:not(.cn-x) .destination-links a{border-bottom:1px solid var(--line);padding-block:var(--space-4);display:flex;justify-content:space-between;gap:var(--space-4);min-height:56px;font-size:var(--text-base)}
.destination-links a:hover,body:not(.cn-x) .destination-links a:hover{color:var(--wine)}
.destination-feature p,body:not(.cn-x) .destination-feature p{color:var(--muted);margin-top:var(--space-6)}
.guide-grid,body:not(.cn-x) .guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8)}
.guide-card,body:not(.cn-x) .guide-card{padding-block:var(--space-6);border-top:1px solid var(--line)}
.guide-card h3,body:not(.cn-x) .guide-card h3{margin-bottom:var(--space-3)}
.guide-card p,body:not(.cn-x) .guide-card p{color:var(--muted)}
.guide-card:hover h3,body:not(.cn-x) .guide-card:hover h3{color:var(--wine)}
.guide-card .eyebrow,body:not(.cn-x) .guide-card .eyebrow{margin-bottom:var(--space-3)}
.faq-grid,body:not(.cn-x) .faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-16)}
details,body:not(.cn-x) details{border-bottom:1px solid var(--line)}
summary,body:not(.cn-x) summary{display:flex;justify-content:space-between;gap:var(--space-6);list-style:none;cursor:pointer;padding-block:var(--space-6);font-size:var(--text-base);font-weight:600;min-height:56px}
summary::-webkit-details-marker,body:not(.cn-x) summary::-webkit-details-marker{display:none}
summary:after,body:not(.cn-x) summary:after{content:"+";font-size:var(--text-lg);font-weight:400;flex-shrink:0}
details[open]>summary:after,body:not(.cn-x) details[open]>summary:after,body:not(.cn-x) details[open]>.cn-w>summary:after,body:not(.cn-x) details[open]>.cn-w>.elementor-widget-container>summary:after{content:"−"}
details>p,body:not(.cn-x) details>p,body:not(.cn-x) details>.cn-w>p,body:not(.cn-x) details>.cn-w>.elementor-widget-container>p,details>div,body:not(.cn-x) details>div,body:not(.cn-x) details>.cn-w>div,body:not(.cn-x) details>.cn-w>.elementor-widget-container>div{padding-bottom:var(--space-6);color:var(--muted)}
summary:hover,body:not(.cn-x) summary:hover{color:var(--wine)}
.booking-band,body:not(.cn-x) .booking-band{background:var(--wine);color:#fff;padding-block:var(--space-16)}
.booking-inner,body:not(.cn-x) .booking-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12)}
.booking-band .eyebrow,body:not(.cn-x) .booking-band .eyebrow{color:#f5d5d0}
.booking-band h2,body:not(.cn-x) .booking-band h2{max-width:25ch}
.booking-band p,body:not(.cn-x) .booking-band p{color:#f5dcd8;margin-top:var(--space-4);max-width:62ch}
.booking-band .btn,body:not(.cn-x) .booking-band .btn{background:#fff;color:var(--wine);border-color:#fff;flex-shrink:0}
.booking-band .btn:hover,body:not(.cn-x) .booking-band .btn:hover{background:#f5e4df}
.site-footer,body:not(.cn-x) .site-footer{background:#101010;color:#ddd4cf;padding-block:var(--space-16) var(--space-6)}
.footer-grid,body:not(.cn-x) .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:var(--space-16)}
.footer-grid .brand,body:not(.cn-x) .footer-grid .brand{color:#fff;margin-bottom:var(--space-4)}
.footer-grid h2,body:not(.cn-x) .footer-grid h2{font:600 var(--text-sm)/1.4 var(--font-body);color:#fff;margin-bottom:var(--space-4)}
.footer-grid p,body:not(.cn-x) .footer-grid p,.footer-grid a,body:not(.cn-x) .footer-grid a{font-size:var(--text-sm)}
.footer-grid nav,body:not(.cn-x) .footer-grid nav{display:flex;flex-direction:column;align-items:flex-start}
.footer-grid nav a,body:not(.cn-x) .footer-grid nav a,.footer-contact a,body:not(.cn-x) .footer-contact a{padding-block:var(--space-2);min-height:40px;display:block}
.footer-grid a:hover,body:not(.cn-x) .footer-grid a:hover{color:#f4b1a8}
.footer-contact a,body:not(.cn-x) .footer-contact a{overflow-wrap:anywhere}
.footer-bottom,body:not(.cn-x) .footer-bottom{margin-top:var(--space-12);border-top:1px solid #ffffff2b;padding-top:var(--space-6);display:flex;justify-content:space-between;gap:var(--space-6);font-size:var(--text-xs)}
.footer-bottom a,body:not(.cn-x) .footer-bottom a{text-decoration:underline;text-underline-offset:3px}
.page-intro,body:not(.cn-x) .page-intro{padding-block:var(--space-12) var(--space-16)}
.breadcrumbs,body:not(.cn-x) .breadcrumbs{display:flex;gap:var(--space-3);flex-wrap:wrap;color:var(--muted);font-size:var(--text-xs);margin-bottom:var(--space-8)}
.breadcrumbs a,body:not(.cn-x) .breadcrumbs a{text-decoration:underline;text-underline-offset:3px;min-height:32px;display:inline-flex;align-items:center}
.breadcrumbs span,body:not(.cn-x) .breadcrumbs span{display:inline-flex;align-items:center}
.page-intro h1,body:not(.cn-x) .page-intro h1{font-size:var(--text-2xl);max-width:23ch;margin-bottom:var(--space-6)}
.page-intro>p:not(.eyebrow),body:not(.cn-x) .page-intro>p:not(.eyebrow),body:not(.cn-x) .page-intro>.cn-w>p:not(.eyebrow),body:not(.cn-x) .page-intro>.cn-w>.elementor-widget-container>p:not(.eyebrow){color:var(--muted);max-width:70ch}
.intro-layout,body:not(.cn-x) .intro-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-16);align-items:center}
.intro-layout figure img,body:not(.cn-x) .intro-layout figure img{width:100%;height:440px;object-fit:cover}
.intro-layout .page-intro,body:not(.cn-x) .intro-layout .page-intro{padding-block:var(--space-8)}
.intro-layout p,body:not(.cn-x) .intro-layout p{color:var(--muted)}
.content-layout,body:not(.cn-x) .content-layout{display:grid;grid-template-columns:240px 1fr;gap:var(--space-20);align-items:start}
.toc,body:not(.cn-x) .toc{position:sticky;top:124px;background:var(--soft);padding:var(--space-6)}
.toc h2,body:not(.cn-x) .toc h2{font:600 var(--text-sm)/1.4 var(--font-body);margin-bottom:var(--space-4)}
.toc a,body:not(.cn-x) .toc a{display:block;font-size:var(--text-sm);padding-block:var(--space-3);min-height:44px;border-top:1px solid var(--line)}
.toc a:hover,body:not(.cn-x) .toc a:hover{color:var(--wine)}
.article-section,body:not(.cn-x) .article-section{padding-bottom:var(--space-12);scroll-margin-top:130px}
.article-section h2,body:not(.cn-x) .article-section h2{margin-bottom:var(--space-6)}
.article-section p,body:not(.cn-x) .article-section p{color:var(--muted)}
.article-section ul,body:not(.cn-x) .article-section ul,.checklist,body:not(.cn-x) .checklist{list-style:none;margin-block:var(--space-6)}
.article-section li,body:not(.cn-x) .article-section li,.checklist li,body:not(.cn-x) .checklist li{padding-block:var(--space-3);padding-left:var(--space-6);position:relative;color:var(--muted);max-width:72ch}
.article-section li::before,body:not(.cn-x) .article-section li::before,.checklist li::before,body:not(.cn-x) .checklist li::before{content:"•";color:var(--wine);position:absolute;left:0}
.article-section img,body:not(.cn-x) .article-section img{width:100%;max-height:460px;object-fit:cover;margin-block:var(--space-8)}
.article-section h3,body:not(.cn-x) .article-section h3{margin-block:var(--space-6) var(--space-3)}
.planning-note,body:not(.cn-x) .planning-note{background:var(--soft);padding:var(--space-8);margin-block:var(--space-8)}
.planning-note h3,body:not(.cn-x) .planning-note h3{margin-top:0}
