/* Approved dinner-stage concept, implemented as live HTML rather than a flat image. */
.dinner-journey{scroll-margin-top:80px}
.dinner-journey h2{font-size:clamp(38px,4.3vw,64px);letter-spacing:-.04em}
.journey-tabs[hidden],.journey-stage[hidden]{display:none!important}
.journey-tabs{display:flex;gap:40px;border-bottom:1px solid #333040;margin:34px 0 32px}
.journey-tabs button{position:relative;appearance:none;border:0;background:none;color:#9290ad;min-height:58px;padding:0 0 20px;min-width:112px;text-align:left;font-size:20px;cursor:pointer}
.journey-tabs button[aria-selected=true]{color:#6f80ff}
.journey-tabs button[aria-selected=true]:after{content:"";position:absolute;inset:auto 0 -1px;height:2px;background:#6277ff}
.journey-tabs button:hover{color:#c4c6ee}
.journey-tabs button:focus-visible,.journey-actions a:focus-visible,.journey-stage:focus-visible{outline:2px solid #acb8f9;outline-offset:6px;border-radius:3px}
.journey-card{min-height:500px;display:grid;grid-template-columns:1fr 1fr;padding:44px 0;border:1px solid #33303f;border-radius:20px;background:radial-gradient(ellipse at 24% 45%,rgba(81,106,246,.035),transparent 60%);margin-top:36px;align-items:stretch}
.journey-tabs+.journey-card{margin-top:0}
.journey-offer{margin:0;padding:4px 36px 0;display:flex;flex-direction:column;justify-content:center;min-width:0}
.table-diagram{position:relative;aspect-ratio:2.05;width:100%;margin:0 auto;max-width:540px;isolation:isolate}
.dinner-table{position:absolute;inset:15% 7%;z-index:1;border:1.5px solid #b8b8dd;border-radius:999px;background:radial-gradient(ellipse at 50% 32%,#17172c,#0b0a18 80%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}
.dinner-table strong{font-size:clamp(28px,3.2vw,45px);line-height:1.1;letter-spacing:-.035em;color:#8994ff}
.dinner-table>span{font-size:clamp(16px,1.6vw,23px);color:#b7b8e3;line-height:1.2}
.table-seat{position:absolute;width:10%;height:23%;border-radius:12px;background:linear-gradient(130deg,#9896ef,#bbb5fa 55%,#8283cf);border:1px solid #9a9de7;box-shadow:inset 0 5px 0 rgba(156,159,255,.7),inset 4px 0 7px rgba(58,54,138,.35),inset -4px 0 7px rgba(58,54,138,.2)}
.table-seat:after{content:"";position:absolute;inset:8% 8%;border:1px solid rgba(210,208,255,.16);border-radius:7px}
.table-seat--top,.table-seat--bottom{left:calc(17% + var(--seat)*14%)}
.table-seat--top{top:0}.table-seat--bottom{bottom:0;transform:rotate(180deg)}
.table-seat--left,.table-seat--right{width:10%;height:22%;top:39%}
.table-seat--left{left:0;transform:rotate(-90deg)}.table-seat--right{right:0;transform:rotate(90deg)}
.journey-budget{display:flex;flex-direction:column;align-items:center;gap:5px;margin:32px 0 0;color:#b4b8ef;text-align:center;line-height:1.2}
.journey-budget strong{font-size:clamp(44px,4.2vw,60px);line-height:1.05;letter-spacing:-.045em}
.journey-budget span:first-child{font-size:14px}.journey-budget span:last-child{font-size:19px;margin-top:4px}
.journey-content{border-left:1px solid #343141;padding:8px 36px 4px 42px;min-width:0;display:flex;align-items:center}
.journey-stage{width:100%;min-width:0}
.journey-stage h3{font-size:clamp(27px,2.65vw,38px);letter-spacing:-.035em;line-height:1.12;margin:0}
.journey-intro{font-size:19px;line-height:1.5;color:#b7b4d5;margin:16px 0 0}
.journey-points{list-style:none;padding:0;margin:30px 0;display:grid;gap:10px;color:#b7b4d5;font-size:17px;line-height:1.5}
.journey-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.journey-actions a{text-decoration:none;display:inline-flex;align-items:center;gap:18px;min-height:44px;line-height:1.35;max-width:100%}
.journey-primary{color:#7a89ff;font-size:clamp(22px,2vw,28px);letter-spacing:-.025em}.journey-primary:hover{color:#aeb8ff}
.journey-secondary{font-size:19px;color:#b7b4e0}.journey-secondary:hover{color:#e1e0ff}
.journey-actions a span{flex-shrink:0}
.journey-note{display:flex;align-items:flex-start;gap:10px;color:#aaa8c5;font-size:14px;line-height:1.55;margin:24px 0 0;padding-top:22px;border-top:1px solid #343141}
.journey-note>span{display:inline-grid;place-items:center;flex:none;width:18px;height:18px;line-height:1;margin-top:2px;border-radius:50%;color:#11101e;background:#9b8cf2;font-size:12px}
.journey-content:has(.journey-stage:not([role])){display:block}.journey-stage:not([role])+.journey-stage{margin-top:44px}
.journey-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1800px){.journey-card{padding:3vw 0}.journey-content{padding-right:3vw;padding-left:3vw}.journey-offer{padding-inline:3vw}.table-diagram{max-width:660px}}
@media(max-width:1000px) and (min-width:761px){.journey-card{padding-block:32px}.journey-offer{padding-inline:24px}.journey-content{padding-inline:26px}.journey-stage h3{font-size:28px}.journey-intro{font-size:17px}.journey-points{font-size:16px}.journey-primary{font-size:22px}}
@media(max-width:760px){.dinner-journey h2{font-size:38px;max-width:16ch}.journey-tabs{gap:0;justify-content:space-between;margin:28px 0 24px}.journey-tabs button{font-size:17px;min-width:0;flex:1;min-height:52px;padding-bottom:18px}.journey-tabs button+button{padding-left:10px}.journey-card{min-height:0;grid-template-columns:1fr;padding:0;border-radius:16px}.journey-content{order:1;border:0;padding:28px 24px}.journey-offer{order:2;padding:28px 24px 30px;border-top:1px solid rgba(172,184,249,.13)}.journey-stage h3{font-size:28px}.journey-intro{font-size:17px;margin-top:14px}.journey-points{font-size:16px;margin:24px 0;gap:10px}.journey-primary{font-size:23px;gap:12px}.journey-secondary{font-size:17px}.journey-note{font-size:13px;margin-top:22px;padding-top:20px}.dinner-table strong{font-size:30px}.dinner-table>span{font-size:16px}.table-seat{border-radius:8px}.table-seat:after{border-radius:5px}.journey-budget{margin-top:24px}.journey-budget strong{font-size:44px}.journey-budget span:last-child{font-size:17px}}
@media(max-width:359px){.dinner-journey h2{font-size:34px}.journey-content{padding:24px 20px}.journey-stage h3{font-size:26px}.journey-primary{font-size:20px}.journey-offer{padding-inline:20px}.dinner-table strong{font-size:26px}.dinner-table>span{font-size:14px}}

/* User refinement: contained tabs and a precisely anchored Fomo-blue indicator. */
.journey-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0}
.journey-tabs button{min-width:0;min-height:56px;padding:15px 16px;border:1px solid #343141;border-radius:10px;background:#0d0c1a;text-align:center;color:#aaa8c5;transition:background .2s,border-color .2s,color .2s;overflow:hidden}
.journey-tabs button:hover{color:#eaedff;border-color:#686786}
.journey-tabs button[aria-selected=true],.journey-tabs button[aria-selected=true]:hover{color:#eaedff;border-color:#516af6;background:rgba(81,106,246,.13)}
.journey-tabs button[aria-selected=true]:after{inset:auto 0 0;height:2px;background:#516af6}
.dinner-journey .journey-scene{position:relative}
@media(max-width:760px){.journey-tabs{gap:8px}.journey-tabs button,.journey-tabs button+button{padding:13px 8px;font-size:16px;min-height:50px}}
@media(prefers-reduced-motion:reduce){.journey-tabs button{transition:none}}

/* Approved table estimator. The table is the result, not a fixed guest limit. */
.funding-intro{font-size:20px;line-height:1.45;color:#b7b8e3;margin-top:18px}
.journey-card{padding:32px 0;min-height:460px;column-gap:20px;background:radial-gradient(ellipse at 28% 50%,#516af608,transparent 62%)}
.journey-content{border:0;padding:0 34px 0 14px}
.journey-offer{position:relative;padding:24px 26px 12px;gap:28px}
.journey-offer figcaption{font-size:12px;color:#acabc8;text-align:center;line-height:1.4}
.table-diagram{aspect-ratio:1.95}
.dinner-table{box-shadow:inset 0 1px 2px #eeeaff40,0 12px 30px #0003;gap:6px}
.dinner-table output{font-size:clamp(40px,4.5vw,66px);letter-spacing:-.045em;line-height:1.05;color:#eeefff;font-variant-numeric:tabular-nums}
.dinner-table .table-budget-label{font-size:clamp(12px,1.3vw,18px);color:#a9b3ff}
.dinner-table>span:last-child{font-size:clamp(12px,1.4vw,19px)}
.dinner-estimator[hidden]{display:none}
.dinner-estimator{margin-top:18px;border:1px solid #f6f5ff99;border-radius:16px;background:linear-gradient(125deg,#dedfff,#cdd2ff);color:#0b091f;padding:18px 20px 16px;box-shadow:inset 0 1px 2px #fff9,0 6px 20px #0002}
.dinner-estimator label{display:block;font-size:14px;line-height:1.35}
.dinner-estimator output{display:block;font-size:32px;letter-spacing:-.035em;line-height:1.2;font-variant-numeric:tabular-nums;margin-top:3px}
.dinner-estimator input[type=range]{--range-progress:25%;appearance:none;-webkit-appearance:none;width:100%;display:block;height:36px;margin:8px 0 0;background:transparent;cursor:pointer;touch-action:pan-y;border:0;padding:0}
.dinner-estimator input[type=range]::-webkit-slider-runnable-track{height:7px;background:linear-gradient(to right,#516af6 0 var(--range-progress),#aeb7e5 var(--range-progress) 100%);border-radius:10px}
.dinner-estimator input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:25px;height:25px;margin-top:-9px;border:1px solid #ecefff;border-radius:50%;background:#fafbff;box-shadow:0 2px 8px #5366b85c}
.dinner-estimator input[type=range]::-moz-range-track{height:7px;background:#aeb7e5;border-radius:10px}
.dinner-estimator input[type=range]::-moz-range-progress{height:7px;background:#516af6;border-radius:10px}
.dinner-estimator input[type=range]::-moz-range-thumb{width:25px;height:25px;border:1px solid #ecefff;border-radius:50%;background:#fafbff;box-shadow:0 2px 8px #5366b85c}
.dinner-estimator input:focus-visible{outline:2px solid #283ebb;outline-offset:5px;border-radius:6px}
.follower-scale{display:flex;justify-content:space-between;font-size:11px;color:#434965}
.dinner-estimator p{font-size:12px;line-height:1.45;color:#434965;margin-top:12px}
.journey-actions{margin-top:14px}
.journey-actions .btn{display:flex;width:100%;justify-content:center;min-height:48px;border-radius:12px!important;font-size:17px;letter-spacing:-.02em;color:#fff}
.journey-actions .btn:after{content:none}
.journey-secondary{font-size:15px}
.journey-note{display:block;border:0;padding:0;margin-top:14px;font-size:12px;line-height:1.5}
.journey-stage h3{font-size:clamp(29px,3vw,43px)}
.journey-intro{font-size:18px;margin-top:10px}
@layer fomoTypography{.dinner-estimator p,.follower-scale,.journey-offer figcaption{font-weight:500!important}}
@media(max-width:760px){
 .dinner-journey h2{font-size:clamp(31px,7.5vw,44px);max-width:none}.funding-intro{font-size:16px;margin-top:14px}
 .journey-tabs{margin:22px 0 18px}.journey-tabs button{font-size:14px;min-height:46px;padding:10px 6px}
 .journey-card{padding:18px;gap:18px;min-height:0;border-radius:22px}
 .journey-offer{order:0;padding:0;gap:9px;border:0}.table-diagram{max-width:290px;aspect-ratio:2.15}.dinner-table{gap:3px}
 .dinner-table output{font-size:38px}.dinner-table .table-budget-label{font-size:11px}.dinner-table>span:last-child{font-size:12px}.journey-offer figcaption{font-size:11px}
 .journey-content{order:1;padding:0}.journey-stage h3{font-size:26px}.journey-intro{font-size:14px;margin-top:7px}
 .dinner-estimator{padding:13px 15px 12px;margin-top:14px;border-radius:14px}.dinner-estimator label{font-size:12px}.dinner-estimator output{font-size:28px}.dinner-estimator p{font-size:11px;margin-top:7px}
 .journey-actions{gap:4px;margin-top:12px}.journey-actions .btn{font-size:15px;min-height:44px}.journey-secondary{font-size:13px}.journey-note{font-size:11px;margin-top:8px}
 .journey-points{margin:18px 0;font-size:14px;gap:8px}
}
@media(max-width:360px){.journey-card{padding:15px;gap:14px}.dinner-table output{font-size:34px}.journey-stage h3{font-size:25px}.journey-intro{font-size:13px}}
@media(max-width:760px) and (max-height:700px){
 .journey-card{padding:16px;gap:14px}.table-diagram{max-width:270px;aspect-ratio:2.3}
 .journey-stage h3,.journey-intro{display:none}
 .dinner-estimator{margin-top:0;padding:12px 14px}.dinner-estimator p{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .journey-note{margin-top:4px}.journey-actions{margin-top:12px}.journey-secondary{min-height:36px!important}
}
/* Align anchor arrivals with the heading, accounting for this section's own padding. */
.dinner-journey{scroll-margin-top:-104px}
@media(min-width:1800px){.dinner-journey{scroll-margin-top:-7vw}}
@media(max-width:760px){.dinner-journey{scroll-margin-top:-64px}}
