/* V24. Visit planner and dark footer only. Original video/scroll controllers are untouched. */
.vp-section{background:#f6f0e8;padding:92px 0 98px;position:relative;isolation:isolate;scroll-margin-top:96px}
.vp-layout{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(0,1.12fr);gap:clamp(48px,5.8vw,87px);align-items:center}
.vp-scene{position:relative;align-self:stretch;min-height:595px;max-height:735px;margin:0;isolation:isolate;border-radius:22px;overflow:hidden;background:#6b5746}
.vp-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 57%;transform:scale(1.015)}
.vp-scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,#15100a09,transparent 35%,#15100a17 57%,#15100aa6);z-index:1;pointer-events:none}
.vp-scene figcaption{position:absolute;z-index:2;left:32px;right:28px;bottom:28px;color:#fff8ee}.vp-scene-label{font-size:9px;line-height:1.5;font-weight:650;letter-spacing:.13em;color:#ffe2c7}
.vp-scene figcaption p{font-size:34px;font-weight:750;line-height:1.12;letter-spacing:-.035em;max-width:335px;margin:12px 0 19px;text-shadow:0 1px 12px #0003}.vp-scene-note{font-size:8px;line-height:1.5;color:#eedfcdd1}
.vp-film-link{position:absolute;right:20px;top:20px;z-index:3;display:flex;align-items:center;gap:9px;min-height:40px;border:1px solid #fff0d650;background:#18110e30;padding:0 13px;border-radius:30px;backdrop-filter:blur(10px);color:#fff4e4;font-size:11px;line-height:1.3;transition:background .2s,transform .2s}.vp-film-link>.icon{width:12px;height:12px}.vp-film-link:hover{background:#302017b3;transform:translateY(-2px)}
.vp-copy{padding:12px 0 6px;max-width:650px}.vp-eyebrow{display:flex;align-items:center;gap:11px;font-family:var(--fomo-section-family);font-size:10px;line-height:1.5;letter-spacing:.14em;font-weight:700;color:#8a5a40;margin:0 0 17px}.vp-eyebrow>span{width:22px;height:1px;background:currentColor;flex:none}
#vp-title{font-family:var(--fomo-section-family);font-size:var(--fomo-section-size);font-weight:var(--fomo-section-weight);line-height:1.10;letter-spacing:var(--fomo-section-tracking);color:#2a201a;word-spacing:normal;text-wrap:balance;margin:0;max-width:595px}#vp-title>span{color:var(--fomo-heading-accent)}
.vp-intro{font-size:var(--fomo-section-copy);line-height:1.75;color:#7c6a59;max-width:535px;margin:21px 0 30px;letter-spacing:0}
.vp-form{margin:0}.vp-occasion{border:0;margin:0 0 25px;padding:0;min-width:0}.vp-occasion legend{font-size:12px;line-height:1.4;font-weight:650;color:#614b39;margin-bottom:11px;padding:0}.vp-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.vp-options label{position:relative;cursor:pointer}.vp-options input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.vp-options label>span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:8px 6px;border:1px solid #dfcebd;border-radius:11px;background:#fffaf566;font-size:11px;line-height:1.4;font-weight:550;color:#896c53;transition:background .2s,border-color .2s,color .2s;pointer-events:none}.vp-options .icon{width:16px;height:16px;color:#a27450}
.vp-options input:checked+span{background:#f0d9c6;border-color:#bf8b64;color:#50311c;box-shadow:0 2px 6px #8a51230a}.vp-options input:hover+span{border-color:#c3916a}.vp-options input:focus-visible+span{outline:3px solid #bc805a;outline-offset:3px}
.vp-fields{display:grid;grid-template-columns:1.15fr 1fr .95fr;gap:12px}.vp-field{display:flex;flex-direction:column;gap:9px;min-width:0}.vp-field>span{font-size:11px;line-height:1.5;font-weight:650;color:#7c6048}
.vp-field input,.vp-field select{width:100%;min-width:0;min-height:52px;font-family:inherit;font-size:14px;line-height:1.4;padding:0 12px;border:1px solid #ddcdbc;border-radius:11px;background:#fffaf5;color:#463022;outline-offset:3px;box-shadow:0 2px 2px #5d3a1303}.vp-field input[type=date]{font-size:13px;padding-right:9px}.vp-field input:focus,.vp-field select:focus{border-color:#b77850;outline:2px solid #c18c6738}.vp-field select{cursor:pointer;padding-right:5px}.vp-field input:user-invalid,.vp-field select:user-invalid{border-color:#ac523c}
.vp-form-actions{display:flex;align-items:center;gap:18px;margin-top:23px}.vp-submit.btn{min-height:50px;font-size:12px;gap:20px;padding:0 20px;border-radius:14px;flex:none;box-shadow:0 4px 12px #9e593a12}.vp-form-note{font-size:10px;line-height:1.65;color:#9d8169}
.vp-direct{display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.5;color:#a08872;margin:20px 0 22px}.vp-direct a{display:inline-flex;align-items:center;gap:7px;min-height:32px;font-weight:650;color:#875331}.vp-direct .icon{width:12px;height:12px}.vp-direct a:hover{color:#422615}
.vp-location{display:flex;align-items:center;gap:13px;padding:18px 0 0;border-top:1px solid #dfcebd;color:#956542}.vp-location>.icon{width:20px;height:20px}.vp-location>span:not(.vp-location-arrow){display:flex;flex-direction:column;gap:4px}.vp-location strong{font-size:12px;line-height:1.4;font-weight:650;color:#60452f}.vp-location small{font-size:11px;line-height:1.5;color:#9a806b}.vp-location-arrow{display:grid;place-items:center;margin-left:auto;width:35px;height:35px;border:1px solid #d7bfa9;border-radius:50%;transition:background .2s,transform .2s}.vp-location-arrow>.icon{width:14px;height:14px}.vp-location:hover .vp-location-arrow{background:#f0dcc9;transform:translate(2px,-2px)}.vp-noscript{font-size:14px;line-height:1.8;color:#6c5140}
.vp-dialog{width:min(575px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 34px);border:1px solid #dec9b1;border-radius:21px;padding:27px 31px 23px;background:#fcf8f2;color:#38271a;box-shadow:0 30px 100px #0005;overflow:auto}.vp-dialog::backdrop{background:#17100cda;backdrop-filter:blur(7px)}
.vp-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.vp-dialog-head>span{font-size:9px;font-weight:650;line-height:1.4;letter-spacing:.14em;color:#a07453}.vp-close{width:36px;min-height:36px;display:grid;place-items:center;border:1px solid #d6c1ac;border-radius:50%;padding:0;background:none;color:#755034;flex:none}.vp-close:hover{background:#f0dfce}.vp-close>.icon{width:16px;height:16px}
.vp-dialog h2{font-size:35px;line-height:1.1;font-weight:800;letter-spacing:-.04em;margin:0 0 15px}.vp-dialog-intro{font-size:13px;line-height:1.75;color:#8b705b;margin:0 0 20px}.vp-summary{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.vp-summary span{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;background:#f0e4d7;color:#866247;font-size:10px;line-height:1.35;border-radius:6px}
.vp-message-label{display:block;font-size:11px;font-weight:650;line-height:1.5;color:#816145;margin-bottom:8px}.vp-message{width:100%;min-height:150px;resize:vertical;background:#fffefb;border:1px solid #dfcbb6;border-radius:11px;padding:13px 14px;font:13px/1.7 Inter,Arial,sans-serif;color:#684a34}.vp-dialog-actions{display:flex;align-items:center;gap:20px;margin-top:16px}.vp-send.btn{min-height:47px;font-size:12px;padding:0 18px;gap:22px;border-radius:13px}.vp-copy-message{border:0;background:none;color:#976139;font-size:12px;min-height:44px;padding:0;font-weight:650}.vp-copy-message:hover{text-decoration:underline;text-underline-offset:4px}.vp-dialog-note{font-size:10px;line-height:1.65;color:#a08770;margin:16px 0 0}.vp-copy-status{font-size:11px;line-height:1.55;color:#866247;min-height:17px;margin:6px 0 0}
/* Espresso footer. The old footer selectors do not set this component's layout. */
.footer.ft-v24{position:relative;isolation:isolate;overflow:hidden;background:#171410;color:#dfd0c2;padding:0;border:0;scroll-margin-top:76px}.ft-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 9% 0%,#87553522 0%,transparent 63%);z-index:0;pointer-events:none}.ft-content{position:relative;z-index:1}
.ft-invitation{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:47px 0 36px;border-bottom:1px solid #ba907129}.ft-eyebrow{font-size:9px;letter-spacing:.13em;font-weight:650;line-height:1.5;color:#a38369;margin:0 0 11px}.footer.ft-v24 h2{font-size:27px;line-height:1.2;font-weight:700;letter-spacing:-.025em;color:#f3e9df;max-width:840px;margin:0}.footer.ft-v24 h2>span{color:#b49b85;font-weight:450}
.footer.ft-v24 .ft-menu-cta.btn{font-size:12px;min-height:47px;border-radius:13px;padding:0 21px;gap:23px;flex:none;color:#25160c;background:var(--accent)}.footer.ft-v24 .ft-menu-cta.btn:hover{background:var(--accent-hover);color:#25160c}
.ft-grid{display:grid;grid-template-columns:1.28fr .83fr 1.16fr 1.23fr;column-gap:clamp(29px,3.25vw,52px);padding:43px 0 41px}.footer.ft-v24 .ft-brand .wordmark{font-size:37px;line-height:1;font-weight:800;letter-spacing:.13em;color:#edaa85}.ft-brand-column>p{font-size:13px;line-height:1.85;color:#a89787;margin:21px 0 19px}
.ft-socials{display:flex;align-items:center;gap:9px}.ft-socials>a{width:36px;min-height:36px;display:grid;place-items:center;border:1px solid #c89b7b36;background:#fff5e305;border-radius:50%;color:#c1a38a;transition:background .2s,border-color .2s,color .2s,transform .2s}.ft-socials .icon{width:16px;height:16px}.footer.ft-v24 .ft-socials>a:hover{background:#e6aa7c17;border-color:#d5a58188;color:#ffc7a5;transform:translateY(-2px)}
.ft-column h3{font-size:13px;line-height:1.5;font-weight:650;letter-spacing:.01em;color:#ecddcd;margin:0 0 17px}.footer.ft-v24 .ft-column>a{display:flex;align-items:center;gap:9px;min-height:32px;width:fit-content;font-size:12px;line-height:1.55;color:#a99a8d;text-decoration:none;transition:color .2s}.footer.ft-v24 .ft-column>a:hover{color:#f0b68f}.ft-column address{font-style:normal;font-size:13px;line-height:1.8;color:#ab9a89;margin:0 0 9px}.footer.ft-v24 .ft-directions{color:#d5ad8e;font-weight:550}.ft-directions>.icon,.ft-contact>.icon,.ft-plan-link>.icon{width:12px;height:12px}
.footer.ft-v24 .ft-column>.ft-email{font-size:12px;letter-spacing:0;overflow-wrap:anywhere;word-break:normal;width:auto;max-width:100%;margin-top:9px;line-height:1.7;color:#d6c0ac;min-height:34px}.footer.ft-v24 .ft-column>.ft-contact{font-size:11px;color:#967c67}
.ft-hours{margin:0;padding:0;font-size:11px;line-height:1.75;color:#aa9886}.ft-hours>div{display:flex;align-items:baseline;justify-content:space-between;gap:13px;margin-bottom:9px}.ft-hours dt{font-size:11px}.ft-hours dd{margin:0;white-space:nowrap;color:#d6bfab;font-size:12px}.ft-hours-note{font-size:10px;line-height:1.7;color:#897360;margin:15px 0 11px}.footer.ft-v24 .ft-plan-link{color:#ca9c79;font-size:11px;font-weight:600}
.ft-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ba907122;padding:16px 0 20px}.ft-bottom>p{font-size:10px;line-height:1.6;color:#8c7a69}.ft-bottom>.ft-disclosure{font-size:9px;color:#715f4e;max-width:320px}.footer.ft-v24 .ft-back{display:inline-flex;align-items:center;gap:10px;min-height:38px;font-size:10px;line-height:1.5;color:#b39479;white-space:nowrap}.ft-back>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid #af826235;border-radius:50%;transition:background .2s}.ft-back .icon{width:12px;height:12px}.footer.ft-v24 .ft-back:hover{color:#f3c9a8}.ft-back:hover>span{background:#d2956720}
.vp-section :focus-visible,.vp-dialog :focus-visible,.ft-v24 :focus-visible{outline:3px solid #c28d67;outline-offset:4px}.vp-motion-ready .vp-reveal{transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--vp-delay,0ms)}.vp-motion-ready .vp-waiting{opacity:0;transform:translate3d(0,20px,0)}.vp-motion-ready .vp-shown{opacity:1;transform:none}
@media(min-width:1800px){.vp-section{padding-top:108px;padding-bottom:112px}.vp-scene{min-height:630px}.ft-invitation{padding-top:51px}.ft-grid{padding-top:49px;padding-bottom:49px}.ft-column address{font-size:14px}.ft-column h3{font-size:14px}}
@media(max-width:1100px){.vp-layout{gap:37px;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr)}.vp-scene{min-height:592px}.vp-scene figcaption{left:24px}.vp-scene figcaption p{font-size:30px}.vp-options{gap:6px}.vp-options label>span{font-size:10px;gap:5px}.vp-options .icon{width:14px;height:14px}.vp-fields{gap:8px;grid-template-columns:1.1fr 1fr .85fr}.vp-field input,.vp-field select{padding-inline:9px;font-size:13px}.vp-field input[type=date]{font-size:12px}.vp-form-actions{gap:13px}.vp-submit.btn{font-size:11px;padding-inline:16px;gap:15px}.vp-form-note{font-size:9px}.ft-grid{column-gap:29px;grid-template-columns:1.18fr .77fr 1.13fr 1.22fr}.ft-hours>div{flex-direction:column;gap:0;margin-bottom:9px}.footer.ft-v24 h2{font-size:25px}}
@media(max-width:900px){.vp-section{padding:76px 0 80px}.vp-layout{grid-template-columns:.76fr 1fr;gap:31px}.vp-scene{min-height:650px}.vp-intro{font-size:15px;line-height:1.7;margin-bottom:24px}.vp-options{grid-template-columns:1fr;gap:7px}.vp-options label>span{justify-content:flex-start;min-height:40px;padding-left:13px;font-size:12px;gap:9px}.vp-options .icon{width:17px;height:17px}.vp-occasion{margin-bottom:20px}.vp-fields{grid-template-columns:1fr 1fr;gap:12px}.vp-field:first-child{grid-column:1/-1}.vp-field input,.vp-field select,.vp-field input[type=date]{font-size:16px;min-height:49px}.vp-form-actions{align-items:flex-start;flex-direction:column;gap:9px}.vp-form-note{font-size:10px}.vp-form-note br{display:none}.vp-direct{margin-top:15px}.vp-scene figcaption p{font-size:27px}.ft-grid{grid-template-columns:1.15fr 1fr;gap:34px 55px}.ft-invitation{padding-top:40px;gap:25px}.footer.ft-v24 h2{font-size:24px;max-width:380px}.footer.ft-v24 h2>span{display:block;margin-top:4px}.ft-hours>div{flex-direction:row;gap:12px}.ft-brand-column>p br{display:none}.ft-brand-column>p{max-width:275px}.ft-column h3{font-size:14px}.ft-column address{font-size:14px}.footer.ft-v24 .ft-column>a{font-size:13px;min-height:35px}.ft-bottom{flex-wrap:wrap;gap:8px 20px}.ft-bottom>.ft-disclosure{order:3;flex-basis:100%;max-width:none}.ft-bottom>.ft-back{margin-left:auto}}
@media(max-width:650px){.vp-section{padding:62px 0 65px;scroll-margin-top:84px}.vp-layout{display:flex;flex-direction:column-reverse;gap:30px}.vp-copy{padding:0;max-width:none;width:100%}.vp-eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:14px}.vp-intro{font-size:14px;line-height:1.75;margin:17px 0 24px}.vp-options{grid-template-columns:1fr;gap:7px}.vp-options label>span{min-height:42px;font-size:12px;padding-left:14px}.vp-fields{gap:12px}.vp-field>span{font-size:11px}.vp-field input,.vp-field select,.vp-field input[type=date]{font-size:16px;min-height:51px;padding-inline:12px}.vp-form-actions{gap:10px;margin-top:22px}.vp-submit.btn{font-size:12px;min-height:49px;padding-inline:21px;gap:23px;min-width:215px}.vp-form-note{font-size:10px;line-height:1.6}.vp-direct{font-size:11px;margin:14px 0 19px}.vp-location{padding-top:17px}.vp-location strong{font-size:12px}.vp-location small{font-size:10px}.vp-scene{width:100%;min-height:0;height:350px;max-height:none;aspect-ratio:auto;border-radius:18px}.vp-photo{object-position:50% 56%}.vp-scene figcaption{left:24px;bottom:22px}.vp-scene figcaption p{font-size:29px;margin-top:10px;margin-bottom:14px}.vp-scene-label{font-size:8px}.vp-scene-note{font-size:7px}.vp-film-link{top:15px;right:15px;min-height:35px;font-size:10px;padding-inline:11px;gap:7px}
.ft-invitation{align-items:flex-start;flex-direction:column;gap:23px;padding:39px 0 31px}.ft-eyebrow{font-size:8px;letter-spacing:.10em}.footer.ft-v24 h2{font-size:26px;line-height:1.2;max-width:320px}.footer.ft-v24 h2>span{margin-top:3px}.footer.ft-v24 .ft-menu-cta.btn{min-height:46px;font-size:12px;padding-inline:20px;gap:23px}.ft-grid{grid-template-columns:1fr 1fr;gap:31px 24px;padding:33px 0 28px}.ft-brand-column{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:17px}.ft-brand-column>p{grid-column:1/-1;grid-row:2;margin:18px 0 0;max-width:290px;line-height:1.8;font-size:13px}.footer.ft-v24 .ft-brand .wordmark{font-size:34px}.ft-socials{gap:7px}.ft-socials>a{width:33px;min-height:33px}.ft-socials .icon{width:15px;height:15px}.ft-column h3{font-size:12px;margin-bottom:12px}.footer.ft-v24 .ft-column>a{font-size:12px;min-height:35px}.ft-column address{font-size:12px;line-height:1.8}.footer.ft-v24 .ft-column>.ft-email{font-size:11px;line-height:1.7;overflow-wrap:anywhere}.footer.ft-v24 .ft-column>.ft-contact{font-size:10px}.ft-time{grid-column:1/-1;border-top:1px solid #c3977122;padding-top:23px}.ft-hours{max-width:400px}.ft-hours>div{gap:16px;flex-direction:row;margin-bottom:7px}.ft-hours dt{font-size:12px}.ft-hours dd{font-size:12px}.ft-hours-note{font-size:10px;line-height:1.65;margin-top:13px}.ft-hours-note br{display:none}.footer.ft-v24 .ft-plan-link{font-size:11px}.ft-bottom{gap:6px 10px;padding:13px 0 20px}.ft-bottom>p{font-size:9px}.ft-bottom>.ft-disclosure{font-size:8px}.footer.ft-v24 .ft-back{gap:7px;font-size:9px;min-height:37px}.ft-back>span{height:27px;width:27px}
.vp-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:21px 21px 18px;border-radius:17px}.vp-dialog-head{margin-bottom:12px}.vp-dialog-head>span{font-size:8px}.vp-dialog h2{font-size:30px}.vp-dialog-intro{font-size:12px;margin-bottom:17px}.vp-summary{gap:6px;margin-bottom:17px}.vp-summary span{font-size:9px;padding:5px 8px}.vp-message{font-size:16px;line-height:1.6;min-height:160px}.vp-dialog-actions{gap:16px;flex-wrap:wrap}.vp-send.btn{font-size:12px;min-height:46px;padding-inline:17px;gap:16px}.vp-copy-message{font-size:11px}.vp-dialog-note{font-size:9px;margin-top:11px}.vp-close{width:34px;min-height:34px}}
@media(max-width:359px){.vp-intro{font-size:13px}.vp-direct{font-size:10px}.vp-scene{height:310px}.ft-grid{gap:28px 18px}.footer.ft-v24 .ft-brand .wordmark{font-size:30px}.ft-socials>a{width:31px;min-height:31px}.ft-socials{gap:6px}.footer.ft-v24 h2{font-size:24px}.footer.ft-v24 .ft-column>.ft-email{font-size:10px}.ft-bottom>.ft-back{font-size:8px}.ft-bottom>p{font-size:8px}}
@media(prefers-reduced-motion:reduce){.vp-section *,.ft-v24 *,.vp-dialog *{animation:none!important;transition:none!important;will-change:auto!important}.vp-reveal{opacity:1!important;transform:none!important}}

/* Final readability pass. Footer body copy should not be tiny or low-contrast. */
.footer.ft-v24 h2{font-size:30px}.ft-column h3{font-size:14px}.ft-brand-column>p{font-size:14px;color:#b7a697}.footer.ft-v24 .ft-column>a{font-size:14px;min-height:35px;color:#b6a697}.ft-column address{font-size:14px;color:#b6a393}.ft-hours dt{font-size:12px}.ft-hours dd{font-size:13px}.ft-hours-note{font-size:11px;color:#a38d79}.footer.ft-v24 .ft-column>.ft-email{font-size:13px;color:#dfcbb8}.footer.ft-v24 .ft-column>.ft-contact{font-size:12px;color:#b99b80}.footer.ft-v24 .ft-plan-link{font-size:12px;color:#d8ad8b}.ft-bottom>p{font-size:11px;color:#a5907d}.ft-bottom>.ft-disclosure{font-size:10px;color:#9e8874}.vp-form-note,.vp-location small{color:#82664f}.vp-dialog-note{color:#82664f}.vp-dialog-intro{color:#80634c}
@media(max-width:900px){.footer.ft-v24 h2{font-size:27px}.ft-column h3{font-size:14px}}
@media(max-width:650px){.footer.ft-v24 h2{font-size:26px}.ft-brand-column>p{font-size:13px}.footer.ft-v24 .ft-column>a{font-size:13px;min-height:38px}.ft-column h3{font-size:13px}.ft-column address{font-size:13px}.footer.ft-v24 .ft-column>.ft-email{font-size:11px}.ft-hours dt,.ft-hours dd{font-size:13px}.ft-hours-note{font-size:10px}.footer.ft-v24 .ft-column>.ft-contact{font-size:11px}.ft-bottom>p{font-size:9px}.ft-bottom>.ft-disclosure{font-size:9px}.footer.ft-v24 .ft-back{min-height:42px}.ft-socials>a{min-height:36px;width:36px}.vp-film-link{min-height:40px}}
@media(max-width:359px){.footer.ft-v24 h2{font-size:25px}.ft-socials>a{width:33px;min-height:33px}.ft-bottom>p{font-size:8px}.ft-bottom>.ft-disclosure{font-size:8px}.footer.ft-v24 .ft-column>.ft-email{font-size:10px}}
/* The page already has scroll-padding-top. Do not double the anchor offset. */
.vp-section,.footer.ft-v24{scroll-margin-top:0}
