:root{--paper:#f6f0eb;--wine:#681024;--ink:#251b1a;--line:#d7c8c2;--muted:#736864}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'Manrope',Arial,sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select{outline-offset:5px}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.05}h1{font-size:clamp(42px,5.7vw,86px);letter-spacing:-.045em}h2{font-size:clamp(30px,3.2vw,48px);letter-spacing:-.025em;color:var(--wine)}h3{font-size:26px}p{max-width:62ch}.wrap{max-width:1360px;margin:auto;padding:0 5%}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.12em;margin-bottom:22px;color:var(--wine)}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;padding:15px 24px;background:var(--wine);color:white;border:1px solid var(--wine);font-size:13px;text-transform:uppercase;letter-spacing:.035em;transition:background .2s}.button:hover{background:#8b1d36}.button.outline{background:transparent;color:var(--wine);border-color:var(--line)}header{height:92px;position:absolute;z-index:5;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 4%}header .brand{width:195px;flex-shrink:0}nav{display:flex;gap:25px;align-items:center;font-size:12px;text-transform:uppercase}nav a:hover{color:#b56577}.menu-toggle{display:none}header.dark{color:white}.dark .brand img,footer.dark .brand img{filter:brightness(0) invert(1)}.hero{position:relative;min-height:740px;display:flex;align-items:center;isolation:isolate;overflow:hidden}.hero .photo{position:absolute;inset:0 0 0 35%;background-size:cover;background-position:center;z-index:-3}.hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 28%,rgba(246,240,235,.9) 38%,transparent 70%)}.hero .wrap{width:100%;padding-top:140px;padding-bottom:75px}.hero-content{max-width:580px}.hero p{max-width:340px;margin:26px 0}.hero h1{color:var(--wine)}.hero .ribbon{position:absolute;width:900px;left:5%;bottom:-50px;z-index:-1;opacity:.48;pointer-events:none}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-note{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin-top:28px}.hero.dark{background:#0b0b0b;color:#fff;min-height:680px}.hero.dark:after{background:linear-gradient(90deg,#090909 0%,rgba(9,9,9,.94) 27%,rgba(9,9,9,.3) 63%,transparent)}.hero.dark h1,.hero.dark .eyebrow{color:var(--paper)}.hero.dark h1{font-size:clamp(40px,5vw,74px)}.hero.dark .photo{inset:0 0 0 25%}.hero.dark h2{color:white;font-size:27px;margin-top:24px}.split{display:grid;grid-template-columns:1fr 1fr}.split-photo{width:100%;height:100%;min-height:400px;object-fit:cover}.split-copy{padding:65px 12%;position:relative;overflow:hidden}.split-copy p{margin-top:22px;color:var(--muted)}.split-copy .ribbon{position:absolute;bottom:-55px;right:-200px;width:650px;opacity:.45;pointer-events:none}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding-top:55px;padding-bottom:55px}.feature-icon{color:var(--wine);font-size:28px;line-height:1;margin-bottom:20px}.features h3{font:14px/1.4 'Manrope',Arial,sans-serif;text-transform:uppercase;color:var(--wine);margin-bottom:12px}.features p{font-size:14px;color:var(--muted)}.section{padding-top:85px;padding-bottom:85px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.center{text-align:center}.center .eyebrow{margin-bottom:14px}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin:40px 0}.step img{aspect-ratio:1.45;object-fit:cover;border-radius:9px}.step .number{font:34px 'Cormorant Garamond',Georgia,serif;color:var(--wine);margin-top:16px}.step h3{font:14px 'Manrope',Arial,sans-serif;text-transform:uppercase;color:var(--wine);margin:7px 0}.step p{font-size:14px;line-height:1.5;color:var(--muted)}.banner{position:relative;min-height:280px;padding:60px 5%;background:#090909;color:#fff;display:flex;align-items:center;isolation:isolate}.banner img{position:absolute;inset:0 0 0 auto;width:75%;height:100%;object-fit:cover;z-index:-2}.banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#090909 0%,#090909dd 24%,#09090922 100%);z-index:-1}.banner h2{color:var(--paper);max-width:590px}.banner p{font-size:12px;letter-spacing:.12em;margin-top:22px}.formats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.format{background:#0a0909;color:white;position:relative;overflow:hidden;min-height:330px;display:flex;align-items:end}.format img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}.format:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#000c)}.format h3{position:relative;z-index:1;font:16px/1.4 'Manrope',Arial,sans-serif;text-transform:uppercase;padding:25px}.format:hover img{transform:scale(1.06)}.format h3 span{display:block;font-size:12px;margin-top:10px;color:#dfd0c9}.details-list{padding:20px 0;list-style:none;color:var(--muted)}.details-list li{padding:5px 0}.details-list li:before{content:'+';color:var(--wine);margin-right:15px}.services{display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap;margin-top:40px;font-size:13px;text-transform:uppercase;color:var(--wine)}.services span{padding-top:14px;border-top:1px solid var(--line)}.dark-section{background:#0b0b0b;color:var(--paper)}.dark-section h2{color:var(--paper)}.rules{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px;margin-top:40px}.rules img{width:100%;height:200px;object-fit:cover;margin-bottom:22px}.rules h3{font:17px/1.4 'Manrope',Arial,sans-serif;text-transform:uppercase;margin-bottom:12px}.rules p{font-size:14px;color:#c3b7b0}.faq{display:grid;grid-template-columns:1fr 2fr;gap:50px}.faq details{padding:21px 0;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;color:var(--wine);font-size:16px}.faq details p{font-size:14px;margin-top:16px;color:var(--muted)}.cta{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-top:55px;padding-bottom:55px}.cta p{max-width:350px;font-size:14px}.cta h2{max-width:460px;font-size:34px}footer{border-top:1px solid var(--line);padding:50px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.footer-grid .brand{display:block;width:180px;margin-bottom:18px}.footer-grid p,.footer-grid a:not(.brand){display:block;font-size:13px;color:var(--muted);margin:7px 0}.footer-grid h3{font:12px 'Manrope',Arial,sans-serif;text-transform:uppercase;color:var(--wine);margin-bottom:16px}.copyright{font-size:12px;color:var(--muted);border-top:1px solid var(--line);margin-top:35px;padding-top:20px}.modal{padding:0;border:1px solid #bdae9f;background:var(--paper);color:var(--ink);width:min(950px,94vw);max-height:92dvh}.modal::backdrop{background:#000c;backdrop-filter:blur(6px)}.quiz-shell{display:grid;grid-template-columns:1.65fr 1fr;min-height:620px}.quiz-main{padding:40px}.quiz-main>img{width:175px;margin-bottom:35px}.quiz-side{background:linear-gradient(#0002,#0004),url('assets/dinner-hero.jpg?v=b27edc46686f1034') center/cover;display:flex;align-items:end;padding:35px;color:white;font:30px/1.1 Georgia}.quiz-progress{font-size:12px;letter-spacing:.1em;color:var(--wine);display:flex;gap:15px;align-items:center;margin-bottom:25px}.quiz-progress progress{accent-color:var(--wine);height:3px;width:120px}.quiz-main h2{font-size:32px;margin-bottom:18px}.quiz-hint{font-size:14px;color:var(--muted);margin-bottom:20px}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0}.quiz-option{border:1px solid var(--line);padding:15px;font-size:14px;display:flex;gap:10px;align-items:center;cursor:pointer}.quiz-option:has(input:checked){border-color:var(--wine);background:#6810240b}.quiz-option input{accent-color:var(--wine)}.field{display:block;margin:18px 0;color:var(--muted);font-size:14px}.field input{display:block;width:100%;margin-top:8px;padding:14px;background:#fff9;border:1px solid var(--line);border-radius:0}.quiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:35px;gap:20px}.back{border:0;background:none;color:var(--wine);font-size:14px}.close{position:absolute;right:14px;top:12px;background:#f6f0eb;border:0;width:34px;height:34px;font-size:24px;color:var(--wine)}.notice{font-size:13px;color:var(--muted);margin:16px 0}.error{color:#a10e20;font-size:14px}.hidden{display:none!important}
@media(min-width:1450px){.hero{min-height:800px}}@media(max-width:1100px){nav{gap:14px}header .button{display:none}header .brand{width:170px}.features{gap:22px}.hero-content{max-width:510px}.formats{grid-template-columns:repeat(2,1fr)}.steps{gap:15px}.split-copy{padding:45px 9%}}@media(max-width:760px){header{height:78px;padding:0 6%}header .brand{width:155px}.menu-toggle{display:block;background:transparent;border:1px solid currentColor;color:inherit;padding:7px 12px;font-size:13px}.dark .menu-toggle{color:white}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);color:var(--wine);padding:25px;box-shadow:0 15px 20px #0001;flex-direction:column;align-items:start;gap:20px}nav.open{display:flex}.hero{min-height:820px;align-items:start}.hero .wrap{padding-top:110px;padding-bottom:310px}.hero .photo{inset:38% 0 0;background-position:center}.hero:after{background:linear-gradient(var(--paper) 0%,var(--paper) 38%,#f6f0ebdd 49%,transparent 72%)}.hero-content{max-width:100%}.hero h1{font-size:52px;max-width:520px}.hero p{font-size:15px;margin:22px 0}.hero .ribbon{width:600px;left:-100px;bottom:0}.hero.dark{min-height:800px}.hero.dark .photo{inset:34% 0 0}.hero.dark:after{background:linear-gradient(#090909 0%,#090909 29%,#090909dd 43%,transparent 80%)}.hero.dark h1{font-size:44px}.hero.dark h2{font-size:24px}.eyebrow{font-size:11px}.actions{gap:10px}.button{padding:14px 18px;font-size:12px}.split{grid-template-columns:1fr}.split-photo{min-height:250px;max-height:350px}.split-copy{padding:40px 6%}.features{grid-template-columns:1fr 1fr;padding-top:35px;padding-bottom:40px;gap:28px}.features p{font-size:14px}.features h3{font-size:13px}.section{padding-top:50px;padding-bottom:50px}.steps{grid-template-columns:1fr 1fr;gap:28px 18px}.steps .step:last-child{grid-column:1/-1;max-width:260px;margin:auto}.center{text-align:left}.center>.button{display:flex;width:fit-content;margin:auto}.banner{min-height:300px;padding:40px 6%}.banner h2{font-size:32px;max-width:340px}.banner img{width:100%}.formats{gap:12px}.format{min-height:260px}.format h3{font-size:14px;padding:18px}.format h3 span{font-size:12px}.services{display:grid;grid-template-columns:1fr 1fr;font-size:12px;gap:20px}.rules{grid-template-columns:1fr;gap:40px}.rules img{height:240px}.faq{grid-template-columns:1fr;gap:20px}.cta{align-items:start;flex-direction:column;gap:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.quiz-shell{grid-template-columns:1fr;min-height:0}.quiz-side{display:none}.quiz-main{padding:30px 22px}.quiz-main h2{font-size:28px}.quiz-main>img{width:145px;margin-bottom:25px}.quiz-options{gap:8px}.quiz-option{padding:12px;font-size:13px}.quiz-nav{margin-top:25px}.modal{max-height:94dvh}.split.reverse .split-photo{order:-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(min-width:761px){header:not(.dark) nav{background:#f6f0ebd9;padding:10px 16px}header.dark nav{text-shadow:0 1px 6px #000}}
@media(max-width:760px){.hero .button.outline{background:var(--paper);border-color:var(--wine)}.hero.dark h1{font-size:clamp(28px,9.2vw,44px)}header.dark nav{text-shadow:none}}
/* Refined navigation, type and motion. */
header{top:16px;left:3%;right:3%;height:80px;padding:0 25px;gap:22px;background:rgba(246,240,235,.94);border:1px solid rgba(104,16,36,.13);box-shadow:0 8px 35px #24141609;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
header.dark{color:var(--wine)}header .brand img{filter:none!important;height:auto}header nav,header:not(.dark) nav,header.dark nav{background:none;padding:0;text-shadow:none;color:var(--wine);gap:18px;font-size:12px}header nav a{padding:8px 0;border-bottom:1px solid transparent}header nav a:hover{border-bottom-color:var(--wine);color:var(--wine)}header .brand{width:178px}header .button{padding:13px 17px;white-space:nowrap;font-size:12px}
body{font-family:'Manrope',Arial,sans-serif}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}h1{letter-spacing:-.04em}h2{letter-spacing:-.02em}.features h3,.step h3,.format h3,.rules h3,.footer-grid h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:24px;line-height:1.1}.footer-grid h3{font-size:20px}.format h3 span{font-family:'Manrope',Arial,sans-serif;text-transform:none;font-weight:400;line-height:1.5}.step .number{font-size:42px}.quiz-side{font-family:'Cormorant Garamond',Georgia,serif;font-size:36px}.quiz-main>img,.brand img{height:auto}.features p,.step p,.rules p{font-size:15px}.hero p{max-width:370px}.hero h1{font-size:clamp(46px,6.4vw,94px)}
.menu-bars{width:23px;display:grid;gap:5px}.menu-bars span{display:block;background:currentColor;height:1.5px;width:100%;transition:transform .25s,opacity .2s}.menu-toggle[aria-expanded=true] .menu-bars span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-bars span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .menu-bars span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.ribbon{transform-origin:50% 50%;animation:veil-drift 18s ease-in-out infinite alternate;will-change:transform}.split-copy .ribbon{animation-delay:-8s;animation-duration:23s}.split-copy{isolation:isolate}.split-copy .ribbon{z-index:-1}@keyframes veil-drift{0%{transform:translate3d(-12px,9px,0) rotate(-2deg) scale(1.02)}50%{transform:translate3d(14px,-9px,0) rotate(1deg) scale(1.06)}100%{transform:translate3d(30px,8px,0) rotate(3deg) scale(1.02)}}
/* Native scroll and snap keep swipe and keyboard navigation available. */
.carousel{margin-top:28px;min-width:0;text-align:left}.carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:24px}.carousel-position{font-size:12px;letter-spacing:.08em;color:var(--muted);margin-right:12px;min-width:58px}.carousel-controls button{display:grid;place-items:center;width:44px;height:44px;background:transparent;border:1px solid #bba39e;border-radius:50%;color:var(--wine);font:24px/1 'Manrope',sans-serif;transition:background .2s,color .2s}.carousel-controls button:hover:not(:disabled){background:var(--wine);color:var(--paper)}.carousel-controls button:disabled{opacity:.3;cursor:default}.carousel-track.steps,.carousel-track.formats{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b9959d transparent;padding:4px 0 20px;margin:0 0 28px;overscroll-behavior-x:contain;scroll-behavior:smooth}.carousel-track>*{flex:0 0 calc((100% - 60px)/3.25);min-width:0;scroll-snap-align:start;scroll-margin:0}.carousel-track.formats>*{flex-basis:calc((100% - 48px)/3)}.carousel-track .step:last-child{max-width:none;margin:0;grid-column:auto}.step img{width:100%}.format{min-height:375px}.center .carousel-controls{margin-top:-8px}.carousel-track:focus-visible{outline:2px solid var(--wine)}
/* The eight responsibilities from the supplied layout. */
.care-section{padding-top:25px;border-top:1px solid var(--line)}.care-section .eyebrow{margin-top:30px}.care-grid{display:grid;grid-template-columns:repeat(4,1fr);column-gap:32px;row-gap:40px;margin-top:45px}.care-item{position:relative;border-top:1px solid var(--line);padding-top:25px}.care-item svg{color:var(--wine);margin-bottom:18px}.care-item h3{font-size:26px;color:var(--wine);margin-bottom:12px}.care-item p{font-size:14px;line-height:1.7;color:var(--muted)}
.reviews-section{background:#efe5df;position:relative;overflow:hidden;isolation:isolate}.reviews-layout{display:grid;grid-template-columns:1.1fr 2.9fr;gap:44px}.reviews-intro h2{font-size:clamp(30px,2.6vw,42px)}.reviews-section .ribbon{position:absolute;width:600px;right:-240px;bottom:-60px;z-index:-1;opacity:.6}.review-demo{font-size:12px;color:var(--muted);line-height:1.6;margin-top:24px;max-width:190px}.review-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.review-card{margin:0;display:flex;flex-direction:column;align-items:start;padding:0 0 20px;border-bottom:1px solid #cdb9b1}.quote-mark{font:70px/.85 'Cormorant Garamond',serif;color:var(--wine);height:50px}.review-card blockquote{margin:0 0 28px;font-size:14px;line-height:1.85}.review-card figcaption{margin-top:auto;display:grid;gap:4px}.review-card strong{font-weight:500;color:var(--wine);font-size:14px}.review-card figcaption span{font-size:12px;color:var(--muted)}
@media(max-width:1200px){header{gap:18px}header .brand{width:155px}header .button{display:none}header nav{margin-left:auto!important}.reviews-layout{grid-template-columns:1fr}.reviews-intro h2 br{display:none}.reviews-intro h2{max-width:650px}.review-demo{max-width:none;margin-top:16px}.hero h1{font-size:clamp(46px,6.4vw,78px)}}
@media(max-width:900px){header .brand{width:140px}header nav,header:not(.dark) nav,header.dark nav{gap:13px;font-size:11px}.carousel-track>*{flex-basis:calc((100% - 38px)/2.3)}.carousel-track.formats>*{flex-basis:calc((100% - 38px)/2.3)}.care-grid{column-gap:22px}.reviews-layout{gap:30px}}
@media(max-width:760px){header{top:12px;left:4%;right:4%;height:68px;padding:0 16px;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper)}header .brand{width:146px}.menu-toggle,.dark .menu-toggle{display:flex;align-items:center;gap:12px;color:var(--wine);border:0;padding:12px 0 12px 12px;font:500 13px 'Manrope',Arial,sans-serif;background:transparent;min-height:44px}header nav,header:not(.dark) nav,header.dark nav{display:none;position:absolute;top:calc(100% + 1px);left:-1px;right:-1px;background:var(--paper);padding:20px 24px 26px;margin:0!important;border:1px solid #68102420;border-top:0;box-shadow:0 15px 20px #0001;gap:8px;align-items:stretch;font-size:14px}header nav.open,header:not(.dark) nav.open,header.dark nav.open{display:flex}header nav a{padding:10px 0}.hero .wrap{padding-top:120px}.hero h1{font-size:clamp(42px,12.6vw,70px)}.hero.dark h1{font-size:clamp(30px,9.8vw,54px)}.hero h2{font-size:28px}.features h3,.step h3{font-size:23px}.carousel{margin-top:22px}.carousel-controls{margin-bottom:20px}.carousel-track.steps,.carousel-track.formats{gap:18px;margin-bottom:24px;padding-bottom:16px}.carousel-track>*,.carousel-track.formats>*{flex-basis:84%}.format{min-height:365px}.format h3{font-size:26px;padding:25px}.format h3 span{font-size:13px}.step p{font-size:15px}.step img{aspect-ratio:1.5}.care-section{padding-top:15px}.care-grid{grid-template-columns:1fr 1fr;gap:30px 20px;margin-top:30px}.care-item{padding-top:20px}.care-item h3{font-size:24px}.care-item p{font-size:14px}.reviews-layout{gap:35px}.review-cards{grid-template-columns:1fr;gap:30px}.review-card{padding-bottom:25px}.review-card blockquote{font-size:16px;margin-bottom:20px}.reviews-intro h2{font-size:36px;max-width:380px}.review-demo{font-size:12px}.quote-mark{height:42px}.reviews-section .ribbon{bottom:0;right:-270px}.footer-grid h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.ribbon{animation:none;transform:none;will-change:auto}.carousel-track.steps,.carousel-track.formats{scroll-behavior:auto}.menu-bars span{transition:none}}
.features{grid-template-columns:repeat(4,minmax(0,1fr))}.features>div,.reviews-intro,.review-cards,.care-item{min-width:0}.features h3{hyphens:auto;overflow-wrap:anywhere}
@media(max-width:1200px){.reviews-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.features,.care-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-intro h2{max-width:100%;font-size:clamp(28px,8.5vw,36px)}.care-item h3{hyphens:auto;overflow-wrap:anywhere}}
/* Fabric ripples deform the original veil; the whole layer also gently flows. */
:is(svg,canvas).ribbon{display:block;height:auto;aspect-ratio:1920/667;max-width:none;overflow:visible;pointer-events:none;animation:veil-flow 28s ease-in-out infinite;transform-origin:center}
.split-copy :is(svg,canvas).ribbon{right:-120px;bottom:-20px;width:720px;opacity:.65;animation-duration:32s;animation-delay:-8s}
.hero :is(svg,canvas).ribbon{bottom:-5px;opacity:.62}
.reviews-section :is(svg,canvas).ribbon{animation-duration:36s}
@keyframes veil-flow{0%,100%{transform:translate3d(-12px,4px,0) rotate(-1deg) skewX(-1deg) scale(1.015,.99)}50%{transform:translate3d(16px,-7px,0) rotate(1deg) skewX(1deg) scale(1.035,1.025)}}
@media(max-width:760px){.hero :is(svg,canvas).ribbon{width:650px;left:-140px;bottom:10px}.split-copy :is(svg,canvas).ribbon{width:600px;right:-180px;bottom:-15px}}
@media(prefers-reduced-motion:reduce){:is(svg,canvas).ribbon{animation:none;transform:none;will-change:auto}}
