.twmp-demo,.twmp-full-page{--fp-gold:#b88a42;--fp-line:#e7dfd3;--fp-ink:#242424;box-sizing:border-box;color:var(--fp-ink)}
.twmp-demo *,.twmp-full-page *{box-sizing:border-box}.twmp-demo [hidden],.twmp-full-page [hidden]{display:none!important}
.twmp-full-page{background:#fff;width:100%;padding:0 0 30px;line-height:1.6;font-size:16px;overflow-wrap:anywhere}
.twmp-full-page h1,.twmp-full-page h2,.twmp-full-page h3{font-family:Georgia,'Times New Roman',serif;text-transform:none;letter-spacing:0;color:#202020;line-height:1.14;margin:0 0 14px;font-weight:400}
.twmp-full-page h1{font-size:clamp(32px,4.5vw,58px)}.twmp-full-page h2{font-size:32px}.twmp-full-page h3{font-size:25px}
.twmp-full-page p{margin:0 0 14px}.twmp-full-page a{color:var(--fp-gold)}.twmp-full-page img{max-width:100%;display:block;object-fit:cover;width:100%;height:auto}
.fp-heading{text-align:center;padding:40px 30px 26px}.twmp-full-page .fp-eyebrow,.twmp-full-page .fp-venue-name{font-size:13px;letter-spacing:.2em;color:var(--fp-gold);text-transform:uppercase}
.twmp-full-page .fp-venue-name{max-width:850px;margin:10px auto 18px;letter-spacing:.12em}.fp-intro{font:22px/1.5 Georgia,'Times New Roman',serif;max-width:780px;margin:0 auto!important;color:#555}
.fp-hero img{aspect-ratio:16/8.6;object-position:center}.fp-content{padding:0 32px}.fp-section{margin-top:30px}.twmp-full-page .fp-kicker{font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.15em;color:var(--fp-gold);text-transform:uppercase;line-height:1.5;margin:0 0 18px}
.fp-section>.fp-kicker{display:flex;align-items:center;gap:15px}.fp-section>.fp-kicker:after{content:'';height:1px;flex:1;background:var(--fp-line)}
.fp-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}.fp-pair>:only-child{grid-column:1/-1}.fp-pair>*{min-width:0}
.fp-description{align-items:center}.fp-description .fp-support-image img{aspect-ratio:3/2}.fp-expand-body{white-space:normal}.fp-expand-body p:last-child{margin-bottom:0}
.fp-expand.is-collapsible:not(.is-expanded) .fp-expand-body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}.fp-expand.fp-compact.is-collapsible:not(.is-expanded) .fp-expand-body{-webkit-line-clamp:3}
.twmp-full-page .fp-text-toggle{border:0;padding:3px 0;background:none;color:var(--fp-gold);text-decoration:underline;font:inherit;cursor:pointer}
.twmp-full-page .fp-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid var(--fp-gold);background:var(--fp-gold);color:#fff;padding:13px 20px;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-family:inherit;font-size:13px;font-weight:600;line-height:1.5;cursor:pointer;min-height:46px;white-space:normal;border-radius:0;box-shadow:none}
.twmp-full-page .fp-button:hover{filter:brightness(.94)}.twmp-full-page :focus-visible,.twmp-demo :focus-visible{outline:3px solid #245d85;outline-offset:3px}
.twmp-full-page .fp-outline{background:white;color:var(--fp-gold)}.fp-final-cta{width:100%;margin-top:32px}.fp-starter{margin:20px 20px 0;padding:20px;background:#f7f5f0}.fp-starter .fp-kicker{text-align:center}
.fp-starter-fields{display:flex;gap:20px;margin-bottom:16px}.fp-starter-fields label{flex:1;min-width:0;font-size:14px;display:block}.fp-starter-fields label>span{display:block;margin-bottom:6px}
.fp-starter-fields select,.fp-starter-fields input{width:100%;height:44px;background:#fff;color:#333;border:1px solid #d8d8d8;padding:8px;border-radius:0;font:inherit;min-width:0}.fp-booking-form>.fp-button{width:100%}
.fp-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;gap:14px;padding:0 0 20px;border-bottom:1px solid var(--fp-line)}.fp-facts>div{padding:0 14px;text-align:center;border-right:1px solid var(--fp-line);min-width:0}.fp-facts>div:last-child{border:0}.fp-facts dt{font-size:13px;font-weight:400;color:#666}.fp-facts dd{font:17px/1.4 Georgia,serif;margin:5px 0 0}.fp-fact-icon{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;background:#f8f5f0;border-radius:50%;font-size:28px;color:var(--fp-gold);margin-bottom:10px}
.fp-included{padding:0;margin:0;list-style:none}.fp-included li{display:flex;gap:10px;margin-bottom:12px}.fp-included li:before{content:'✓';color:var(--fp-gold);font-weight:bold}.fp-details{margin:0}.fp-details>div{margin-bottom:12px}.fp-details dt{font-weight:600;font-size:14px}.fp-details dd{margin:0}
.fp-menu-tabs{display:flex;border-bottom:1px solid var(--fp-line);overflow-x:auto;margin-bottom:22px;gap:8px}.fp-menu-tabs button{flex:1;min-width:100px;background:white;border:0;border-bottom:2px solid transparent;font:inherit;padding:12px;color:#555;cursor:pointer}.fp-menu-tabs button[aria-selected=true]{border-bottom-color:var(--fp-gold);color:#222}.fp-menu-panel{align-items:center}.fp-menu-panel img{aspect-ratio:3/2}.fp-menu-panel .fp-button{margin-top:18px}
.fp-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fp-gallery img{aspect-ratio:4/3}.fp-gallery a:focus-visible{display:block}.fp-locations{background:#f8f6f1;padding:22px}.fp-location-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:24px}.fp-location-list h3{font-size:22px}.fp-location-list p{font-size:14px;margin-bottom:8px}
.fp-faqs details{border:1px solid var(--fp-line);margin-bottom:8px}.fp-faqs summary{padding:10px 34px 10px 12px;position:relative;cursor:pointer;list-style:none;font-size:14px}.fp-faqs summary::-webkit-details-marker{display:none}.fp-faqs summary:after{content:'+';position:absolute;right:12px;color:var(--fp-gold);font-size:20px;top:5px}.fp-faqs details[open] summary:after{content:'−'}.fp-faqs details>div{padding:0 14px 14px;font-size:14px}
.fp-venue-presentation{padding:0 20px}.fp-venue-track{display:flex;gap:18px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain}.fp-venue-block{flex:0 0 calc((100% - 36px)/3);min-width:0;border:1px solid var(--fp-line);scroll-snap-align:start;display:flex;flex-direction:column}.fp-count-two .fp-venue-block{flex-basis:calc((100% - 18px)/2)}.fp-count-many .fp-venue-block{flex-basis:29.5%}.fp-venue-block>img{aspect-ratio:4/3}.fp-venue-copy{padding:16px;display:flex;flex-direction:column;flex:1}.fp-venue-copy h2{font-size:25px}.fp-venue-copy .fp-expand{font:16px/1.4 Georgia,serif;margin-bottom:16px}.fp-venue-copy .fp-button{margin-top:auto;padding:10px 8px;font-size:11px;letter-spacing:.05em}.fp-carousel-controls{display:flex;align-items:center;justify-content:center;gap:26px;padding:10px}.fp-carousel-controls button{border:0;background:none;color:var(--fp-gold);font-size:32px;min-width:44px;cursor:pointer}.fp-carousel-progress{font-size:13px;color:#666}
.fp-lightbox{max-width:min(94vw,1100px);padding:18px;border:0;background:white;max-height:94vh}.fp-lightbox::backdrop{background:#000b}.fp-lightbox img{max-height:80vh;width:auto;max-width:100%;object-fit:contain}.fp-lightbox-close{display:block;margin:0 0 12px auto;font:inherit;border:1px solid #ccc;background:white;padding:8px;cursor:pointer}
.twmp-demo{background:#faf8f2;border:1px solid #ded4c4;padding:16px;margin:18px 0;font-size:14px;line-height:1.5}.twmp-demo summary{cursor:pointer;font-weight:bold}.twmp-demo p{margin:8px 0}.twmp-demo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:14px;margin:16px 0}.twmp-demo label{display:block}.twmp-demo select{width:100%;padding:8px;background:#fff;border:1px solid #bbb}.twmp-demo fieldset{margin:14px 0;padding:10px;border:1px solid #ddd}.twmp-demo legend{font-size:14px;width:auto;border:0;margin:0}.twmp-demo-checks{display:flex;flex-wrap:wrap;gap:12px}.twmp-demo button{padding:10px 18px;background:#333;color:#fff;border:0;cursor:pointer}.twmp-demo-status{font-family:monospace;overflow-wrap:anywhere}.twmp-demo-warning{border-left:3px solid #a76c13;padding-left:10px}.twmp-demo[open]+.twmp-full-page{margin-top:20px}
@media(max-width:1024px){.fp-content{padding:0 22px}.fp-heading{padding:28px 24px}.fp-starter-fields{gap:12px}.fp-venue-copy{padding:12px}.fp-venue-copy h2{font-size:22px}.fp-pair{gap:22px}}
@media(max-width:767px){.twmp-full-page{font-size:15px}.fp-heading{padding:26px 16px 20px}.twmp-full-page h1{font-size:34px}.fp-intro{font-size:18px}.twmp-full-page .fp-eyebrow{font-size:10px;letter-spacing:.13em}.twmp-full-page .fp-venue-name{font-size:11px}.fp-hero img{aspect-ratio:4/3}.fp-content{padding:0 16px}.fp-pair{grid-template-columns:minmax(0,1fr);gap:20px}.fp-section{margin-top:24px}.fp-starter{margin:12px 12px 0;padding:14px}.fp-starter-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.fp-starter-fields label>span{font-size:12px;margin-bottom:3px}.fp-facts{gap:0}.fp-facts>div{padding:0 5px}.fp-facts dt{font-size:10px}.fp-facts dd{font-size:13px}.fp-fact-icon{width:35px;height:35px;font-size:24px}.twmp-full-page h2{font-size:28px}.twmp-full-page .fp-kicker{font-size:11px;letter-spacing:.1em}.fp-gallery{gap:6px}.fp-venue-presentation{padding:0 12px}.fp-venue-track{gap:8px}.fp-venue-block,.fp-count-two .fp-venue-block{flex-basis:calc((100% - 16px)/3)}.fp-count-two .fp-venue-block{flex-basis:calc((100% - 8px)/2)}.fp-count-many .fp-venue-block{flex-basis:30%}.fp-venue-copy{padding:8px 5px}.fp-venue-copy h2{font-size:15px}.fp-venue-copy .fp-expand{font-size:12px}.fp-venue-copy .fp-button{font-size:9px;letter-spacing:0;padding:7px 3px;min-height:42px}.fp-venue-block>img{aspect-ratio:3/4}.fp-menu-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:14px}.fp-menu-panel h3{font-size:21px}.fp-menu-panel .fp-expand{font-size:13px}.fp-menu-panel .fp-button{padding:8px;font-size:11px}.fp-location-list{grid-template-columns:minmax(0,1fr)}.fp-locations{padding:16px}.twmp-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:no-preference){.fp-venue-track{scroll-behavior:smooth}}

.twmp-full-page .fp-map,.twmp-full-page .fp-location-iframe{display:block;width:100%;height:380px;min-height:280px;border:0;margin-top:20px}.twmp-full-page .fp-map-status{font-size:14px;margin:14px 0 0}.twmp-full-page .fp-map img{max-width:none;width:auto;object-fit:initial}.twmp-full-page .fp-map button{font-family:inherit}@media(max-width:767px){.twmp-full-page .fp-map,.twmp-full-page .fp-location-iframe{height:300px}}

.twmp-demo-state{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:14px 0}.twmp-demo-state dt{font-weight:600}.twmp-demo-state dd{margin:0;overflow-wrap:anywhere}.twmp-demo-pending{font-weight:600;color:#855500}.twmp-demo select:disabled{opacity:.6}@media(max-width:600px){.twmp-demo-state{grid-template-columns:minmax(0,1fr)}}

/* HANDOFF location cards; scoped to the Reservation content, never the portal shell. */
.twmp-full-page .fp-locations{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;background:#f6f4ef;padding:12px;align-items:stretch}
.twmp-full-page .fp-location-multi{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}
.twmp-full-page .fp-location-copy{min-width:0;padding:10px 14px;align-self:center}
.twmp-full-page .fp-location-copy .fp-kicker{margin:0 0 12px;font-size:12px;letter-spacing:.2em}
.twmp-full-page .fp-location-name{font-size:32px;line-height:1.15;margin:0 0 18px}
.twmp-full-page .fp-location-list{display:flex;flex-direction:column;gap:17px}
.twmp-full-page .fp-location-entry{display:flex;align-items:flex-start;gap:14px;min-width:0}
.twmp-full-page .fp-location-entry>div{min-width:0}
.twmp-full-page .fp-location-pin{width:23px;height:33px;flex:0 0 23px;color:#9b6b18;margin-top:2px}
.twmp-full-page .fp-location-entry h3{font-family:inherit;font-size:16px;line-height:1.35;margin:0 0 3px;font-weight:500}
.twmp-full-page .fp-location-entry p{font-size:14px;line-height:1.5;margin:0;color:#666}
.twmp-full-page .fp-location-entry a{color:inherit;text-decoration:none}
.twmp-full-page .fp-location-entry a:hover{text-decoration:underline}
.twmp-full-page .fp-location-single .fp-location-entry p{font-size:17px}
.twmp-full-page .fp-location-map{display:flex;flex-direction:column;min-width:0;min-height:230px;gap:8px}
.twmp-full-page .fp-location-map .fp-map,.twmp-full-page .fp-location-map .fp-location-iframe{margin:0;min-height:230px;height:230px;flex:1;width:100%;border:0}
.twmp-full-page .fp-location-map .fp-map-status{font-size:12px;margin:0;padding:4px 8px}
.twmp-full-page .fp-map-marker{display:flex;align-items:center;gap:7px;color:#9b6b18}
.twmp-full-page .fp-map-marker svg{width:28px;height:40px;flex:none;filter:drop-shadow(0 1px 1px #fff)}
.twmp-full-page .fp-map-marker span{max-width:125px;color:#343434;font:500 12px/1.2 Arial,sans-serif;text-shadow:0 1px 2px #fff,1px 0 2px #fff,-1px 0 2px #fff;white-space:normal}
@media(max-width:767px){
.twmp-full-page .fp-locations,.twmp-full-page .fp-location-multi{grid-template-columns:minmax(0,1fr);gap:14px;padding:12px}
.twmp-full-page .fp-location-copy{padding:4px}
.twmp-full-page .fp-location-name{font-size:28px;margin-bottom:14px}
.twmp-full-page .fp-location-copy .fp-kicker{font-size:11px}
.twmp-full-page .fp-location-list{gap:14px}
.twmp-full-page .fp-location-single .fp-location-entry p{font-size:15px}
.twmp-full-page .fp-location-map,.twmp-full-page .fp-location-map .fp-map,.twmp-full-page .fp-location-map .fp-location-iframe{min-height:220px;height:220px}
}

/* Collection reuses the description slot for multi-venue pages. */
.twmp-full-page .fp-collection{align-items:center}
.twmp-full-page .fp-collection .fp-kicker{margin-bottom:10px;letter-spacing:.2em}
.twmp-full-page .fp-collection h2{max-width:440px}
.twmp-full-page .fp-collection .fp-expand{color:#666;font:17px/1.45 Georgia,'Times New Roman',serif}
.twmp-full-page .fp-collection-link{margin-top:16px;padding:8px 16px;min-height:40px;font-size:11px;letter-spacing:.16em}
.twmp-full-page .fp-collection+.fp-locations{margin-top:20px}
@media(max-width:767px){.twmp-full-page .fp-collection .fp-expand{font-size:16px}}

/* Reservation hero only: local display font and compact reference composition. */
.twmp-full-page .fp-heading{padding:24px 30px 20px}
.twmp-full-page .fp-heading .fp-eyebrow,.twmp-full-page .fp-heading .fp-venue-name{font-family:'Open Sans',Arial,Helvetica,sans-serif;font-weight:600;color:var(--fp-gold);text-transform:uppercase;line-height:1.4}
.twmp-full-page .fp-heading .fp-eyebrow{font-size:12px;letter-spacing:.22em;margin:0 auto 7px}
.twmp-full-page .fp-heading h1{font-family:'GFS Didot',Georgia,'Times New Roman',serif;font-weight:700;font-size:clamp(36px,4.5vw,54px);line-height:1.04;max-width:980px;margin:0 auto 9px;letter-spacing:0}
.twmp-full-page .fp-heading .fp-venue-name{font-size:12px;letter-spacing:.12em;max-width:850px;margin:0 auto}
.twmp-full-page .fp-heading .fp-venue-name:after{content:'';display:block;width:64px;height:1px;background:var(--fp-gold);margin:10px auto 9px}
.twmp-full-page .fp-heading .fp-intro{font-family:'GFS Didot',Georgia,'Times New Roman',serif;font-weight:400;font-size:21px;line-height:1.25;max-width:720px;margin:0 auto!important;color:#555}
@media(max-width:1024px){
.twmp-full-page .fp-heading{padding:22px 24px 18px}
.twmp-full-page .fp-heading h1{font-size:clamp(36px,4.5vw,46px)}
.twmp-full-page .fp-heading .fp-intro{font-size:20px;max-width:660px}
}
@media(max-width:767px){
.twmp-full-page .fp-heading{padding:20px 16px 17px}
.twmp-full-page .fp-heading .fp-eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:6px}
.twmp-full-page .fp-heading h1{font-size:clamp(30px,8vw,40px);line-height:1.06;margin-bottom:8px}
.twmp-full-page .fp-heading .fp-venue-name{font-size:10px;letter-spacing:.1em}
.twmp-full-page .fp-heading .fp-venue-name:after{width:48px;margin:9px auto 8px}
.twmp-full-page .fp-heading .fp-intro{font-size:18px;line-height:1.28}
}

/* Theme default typography throughout Reservation content. */
.twmp-full-page,.twmp-full-page :where(*:not(.fp-map):not(.fp-map *):not(svg):not(svg *):not(i)){font-family:'Open Sans',Arial,Helvetica,sans-serif!important}
.twmp-full-page h1,.twmp-full-page h2,.twmp-full-page h3,.twmp-full-page .fp-kicker,.twmp-full-page .fp-heading .fp-eyebrow,.twmp-full-page .fp-heading .fp-venue-name,.twmp-full-page button,.twmp-full-page .fp-button{font-family:'Open Sans',Arial,Helvetica,sans-serif!important;font-weight:600}
.twmp-full-page .fp-heading h1{font-weight:500}
.twmp-full-page .fp-heading .fp-eyebrow,.twmp-full-page .fp-heading .fp-venue-name{font-weight:700}
.twmp-full-page .fp-heading .fp-intro{font-weight:400}
