/* The Reservation That Took a Year to Plan and Seconds to Book */
:root{--tfl-ink:#241b18;--tfl-wine:#68151d;--tfl-cream:#f6f0e9;--tfl-paper:#fffdf9;--tfl-gold:#a88452}
.tfl-story .magazine-body{max-width:900px}
.tfl-story .article-section p,.tfl-story .rosetta-note p{font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.78;color:#302a27}
.tfl-story .article-section h2{font-family:'Bodoni Moda',Georgia,serif;font-size:clamp(42px,5.4vw,74px);font-weight:500;line-height:.98;letter-spacing:-.045em;color:var(--tfl-ink);margin:0 0 28px}
.tfl-hero{padding:0!important;background:#1c1715!important;color:#fff!important}
.tfl-hero-stage{position:relative;min-height:min(84vh,850px);display:flex;align-items:flex-end;overflow:hidden}
.tfl-hero-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;filter:saturate(.92) contrast(1.02)}
.tfl-hero-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,9,8,.08) 15%,rgba(14,9,8,.22) 45%,rgba(14,9,8,.88) 100%)}
.tfl-hero-copy{position:relative;z-index:2;padding-top:180px;padding-bottom:68px;color:#fff}
.tfl-hero-copy .kicker{color:#edd4c8}
.tfl-hero-copy h1{max-width:980px;margin:12px 0 22px;font-family:'Bodoni Moda',Georgia,serif;font-size:clamp(58px,7.5vw,116px);font-weight:500;line-height:.86;letter-spacing:-.055em;color:#fff;text-wrap:balance}
.tfl-hero-copy .magazine-subtitle{max-width:780px;margin:0 0 24px;color:rgba(255,255,255,.9);font:500 clamp(18px,2vw,26px)/1.5 Georgia,'Times New Roman',serif}
.tfl-hero-copy .article-back{color:#fff}
.tfl-lede{font-size:clamp(24px,2.6vw,32px)!important;line-height:1.52!important;color:#211916!important}
.tfl-stakes{margin:42px 0;padding:26px 28px;border-left:4px solid var(--tfl-wine);background:var(--tfl-cream);border-radius:0 22px 22px 0}
.tfl-stakes p{margin:0!important;font:600 17px/1.65 var(--sans)!important;color:#4f2a2b!important}
.tfl-atmosphere{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:52px 0 76px}
.tfl-atmosphere figure,.tfl-course-scroll figure,.tfl-dessert-row figure,.tfl-payoff figure{margin:0;overflow:hidden;border-radius:24px;background:#eee7df}
.tfl-atmosphere img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.tfl-caption{padding:10px 13px 13px;background:#fff;color:var(--tfl-wine);font:700 10px/1.4 var(--sans);letter-spacing:.11em;text-transform:uppercase}
.rosetta-note{margin:54px -56px;padding:48px 56px 52px;border-radius:32px;background:#2d1a1c;color:#fff;box-shadow:0 24px 60px rgba(45,26,28,.12)}
.rosetta-note .article-eyebrow{color:#e7b8b1!important}
.rosetta-note h2{margin:8px 0 24px;font-family:'Bodoni Moda',Georgia,serif;font-size:clamp(40px,5vw,68px);font-weight:500;line-height:.98;letter-spacing:-.04em;color:#fff}
.rosetta-note p{color:rgba(255,255,255,.9)!important}
.rosetta-note strong{color:#fff}
.tfl-chaos-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:34px 0 42px;padding:0;list-style:none}
.tfl-chaos-list li{padding:15px 17px;border-radius:16px;background:#f7f1eb;color:#4d2d2b;font:700 12px/1.45 var(--sans);letter-spacing:.05em;text-transform:uppercase}
.tfl-very-chic{margin:48px 0;text-align:center;font-family:'Bodoni Moda',Georgia,serif!important;font-size:clamp(38px,6vw,74px)!important;line-height:1!important;color:var(--tfl-wine)!important}
.tfl-command{margin:60px 0;padding:38px;border-radius:30px;border:1px solid rgba(104,21,29,.14);background:linear-gradient(135deg,#fffaf6,#f3ebe4)}
.tfl-command h2{margin-bottom:18px!important}
.tfl-command-number{display:inline-flex;width:72px;height:72px;align-items:center;justify-content:center;border-radius:50%;background:var(--tfl-wine);color:#fff;font:600 32px/1 'Bodoni Moda',Georgia,serif;margin-bottom:22px}
.tfl-payoff{margin:72px 0 84px;text-align:center}
.tfl-payoff .tfl-got-it{margin:0 auto 34px;max-width:820px;font-family:'Bodoni Moda',Georgia,serif;font-size:clamp(48px,8vw,104px);font-weight:500;line-height:.9;letter-spacing:-.045em;color:var(--tfl-wine)}
.tfl-payoff figure{box-shadow:0 20px 60px rgba(55,34,30,.11)}
.tfl-payoff img{display:block;width:100%;height:auto}
.tfl-dinner{margin:88px calc(50% - 50vw);padding:78px max(24px,calc((100vw - 1180px)/2));background:#f5efe8}
.tfl-dinner-head{max-width:840px;margin:0 auto 42px;text-align:center}
.tfl-dinner-head h2{margin:10px 0 18px;font-family:'Bodoni Moda',Georgia,serif;font-size:clamp(48px,6vw,80px);font-weight:500;line-height:.95;letter-spacing:-.045em;color:var(--tfl-ink)}
.tfl-dinner-head p{font:500 17px/1.7 var(--sans);color:#65514b}
.tfl-gallery{max-width:1180px;margin:0 auto}
.tfl-gallery-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px}
.tfl-gallery-hint{margin:0;font:700 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--tfl-wine)}
.tfl-gallery-controls{display:flex;gap:8px}
.tfl-gallery-btn{width:44px;height:44px;border:1px solid rgba(104,21,29,.28);border-radius:999px;background:var(--tfl-paper);color:var(--tfl-wine);font:600 18px/1 var(--sans);cursor:pointer;transition:background .2s ease,color .2s ease,opacity .2s ease}
.tfl-gallery-btn:hover,.tfl-gallery-btn:focus-visible{background:var(--tfl-wine);color:#fff}
.tfl-gallery-btn:disabled{opacity:.35;cursor:default;background:var(--tfl-paper);color:var(--tfl-wine)}
.tfl-course-scroll{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:0 0 18px;scrollbar-width:thin;scrollbar-color:rgba(104,21,29,.35) transparent}
.tfl-course-scroll:focus-visible{outline:2px solid var(--tfl-wine);outline-offset:6px;border-radius:24px}
.tfl-course-scroll figure{position:relative;flex:0 0 calc((100% - 32px)/2.6);scroll-snap-align:start}
.tfl-course-scroll img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.tfl-course-scroll figcaption{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);color:#5b2a2e;font:700 9px/1.25 var(--sans);letter-spacing:.08em;text-transform:uppercase}
@media(max-width:960px){.tfl-course-scroll figure{flex-basis:calc((100% - 16px)/2.2)}}
@media(max-width:620px){.tfl-gallery-controls{display:none}.tfl-course-scroll{gap:10px;margin:0 -24px;padding:0 24px 16px;scroll-padding:0 24px}.tfl-course-scroll figure{flex-basis:82%}}
@media(prefers-reduced-motion:reduce){.tfl-course-scroll{scroll-behavior:auto}}
.tfl-judgment-pull{margin:54px 0;padding:44px 46px;border-radius:30px;background:var(--tfl-wine);color:#fff}
.tfl-judgment-pull p{margin:0!important;font-family:'Bodoni Moda',Georgia,serif!important;font-size:clamp(34px,5vw,60px)!important;line-height:1.02!important;color:#fff!important}
.tfl-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:38px 0}
.tfl-example-grid div{padding:20px 22px;border-radius:18px;background:#f7f1eb}
.tfl-example-grid strong{display:block;margin-bottom:6px;color:var(--tfl-wine);font:700 12px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.tfl-example-grid span{font:500 14px/1.55 var(--sans);color:#544540}
.tfl-handle-day{margin:80px 0 36px;text-align:center}
.tfl-handle-day h2{font-size:clamp(62px,9vw,118px)!important;color:var(--tfl-wine)!important}
.tfl-final-line{margin:56px 0 0!important;font-family:'Bodoni Moda',Georgia,serif!important;font-size:clamp(34px,4.8vw,58px)!important;line-height:1.08!important;color:var(--tfl-wine)!important}
.tfl-consider{display:block;margin-top:18px;font:700 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#2a201d}
@media(max-width:960px){
 .rosetta-note{margin-left:0;margin-right:0;padding:38px 32px}
}
@media(max-width:720px){
 .tfl-hero-stage{min-height:720px}
 .tfl-hero-copy{padding-bottom:44px}
 .tfl-hero-copy h1{font-size:clamp(50px,14vw,78px);max-width:10ch}
 .tfl-hero-copy .magazine-subtitle{font-size:18px;max-width:31ch}
 .tfl-story .article-section p,.tfl-story .rosetta-note p{font-size:18px;line-height:1.72}
 .tfl-atmosphere{grid-template-columns:1fr;gap:12px;margin:40px 0 58px}
 .tfl-chaos-list{grid-template-columns:1fr}
 .tfl-command{padding:26px 22px}
 .tfl-payoff{margin:58px 0 68px}
 .tfl-dinner{padding-top:58px;padding-bottom:58px}
 .tfl-example-grid{grid-template-columns:1fr}
 .tfl-judgment-pull{padding:34px 28px}
}
@media(max-width:440px){
 .tfl-hero-stage{min-height:670px}
}
/* Mobile: stack photo above the copy so the plaque stays visible. */
@media(max-width:720px){
 .tfl-hero-stage{min-height:0;display:block}
 .tfl-hero-stage>img{position:static;display:block;width:100%;height:auto;aspect-ratio:1086/1448;object-fit:cover}
 .tfl-hero-stage:after{display:none}
 .tfl-hero-copy{padding-top:34px;padding-bottom:44px}
}
