:root{--a-cream:#f6f1e7;--a-paper:#fffcf5;--a-ink:#30392f;--a-clay:#a94428;--a-olive:#565a43;--a-line:#dcd6c9;--a-serif:'Cormorant Garamond',Georgia,serif;--a-sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--a-cream);color:var(--a-ink);font-family:var(--a-sans);font-size:1rem;-webkit-font-smoothing:antialiased}
body:has(.mobile-nav:not([hidden])){overflow:hidden}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
svg{display:block}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b85737;outline-offset:5px}
button[disabled]{cursor:not-allowed}
::selection{background:#d2bd91;color:#30392f}
[hidden]{display:none!important}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:400}
em{font-family:var(--a-serif);font-weight:400}
a,button{touch-action:manipulation}
.skip-link{position:fixed;left:14px;top:-100px;background:var(--a-cream);padding:16px;z-index:300}
.skip-link:focus{top:14px}
.site-header{height:102px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;position:relative;background:var(--a-cream);z-index:50;border-bottom:1px solid transparent}
.wordmark{font-family:var(--a-serif);font-size:2.375rem;letter-spacing:.13em;text-align:center;line-height:1;display:block}
.wordmark>span{font:0.875rem var(--a-sans);letter-spacing:.29em;display:block;margin:7px 0 0 -4px}
.site-nav{display:flex;gap:36px;font-size:1rem}
.site-nav a{padding:8px 0;position:relative}
.site-nav a:after,.text-link:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.site-nav a:hover:after,.site-nav a[aria-current]:after,.text-link:hover:after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:20px}
.nav-book{display:flex;align-items:center;gap:25px;border:1px solid #aaa996;padding:14px 21px;font-size:1rem;transition:background .2s}
.nav-book:hover{background:#e9e3d6}
.nav-book span{font-size:1.1875rem}
.menu-toggle{display:none;background:none;border:0;width:38px;height:44px;padding:8px}
.menu-toggle span{height:1px;background:var(--a-ink);display:block;margin:7px 0;transition:transform .25s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-nav{position:fixed;inset:82px 0 0;background:var(--a-cream);z-index:45;padding:45px 8%;display:flex;flex-direction:column;gap:22px}
.mobile-nav a{font:2.125rem var(--a-serif)}
.hero{height:min(850px,calc(100svh - 102px));min-height:660px;position:relative;color:#fff9ea;overflow:hidden;margin:0 18px}
.hero-image,.hero-shade{position:absolute;inset:0}
.hero-image img{width:100%;height:110%;object-fit:cover;object-position:center 57%;will-change:transform;animation:hero-image 2.2s cubic-bezier(.2,.7,.3,1) both}
.hero-shade{background:linear-gradient(90deg,rgba(21,33,25,.27),rgba(21,33,25,.02) 85%),linear-gradient(0deg,rgba(19,31,23,.43),rgba(19,31,23,.1) 40%,rgba(19,31,23,.09))}
.hero-meta{display:flex;justify-content:space-between;position:absolute;top:32px;left:3%;right:3%;font-size:0.875rem;letter-spacing:.19em}
.hero-content{position:absolute;left:7%;top:48%;transform:translateY(-46%);max-width:1000px}
.hero-eyebrow{font:italic 1.5rem var(--a-serif);display:block;margin-bottom:18px;animation:hero-appear 1.2s .1s both}
.hero h1{font:clamp(4.25rem,7.65vw,8.5rem)/.9 var(--a-serif);letter-spacing:-.042em;margin:0 0 28px;text-shadow:0 2px 30px #20352122}
.hero h1>span{display:block;animation:hero-appear 1.4s .16s both}
.hero h1>span+span{animation-delay:.3s;padding-left:7%}
.hero h1 i{font-weight:400}
.hero-content>p{font-size:1rem;line-height:1.9;margin:0 0 25px;animation:hero-appear 1.4s .4s both}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:54px;padding:17px 25px;font-size:1rem;border:1px solid transparent;transition:background .25s,color .25s,transform .25s}
.button span{font-size:1.25rem;line-height:1}
.button:hover{transform:translateY(-3px)}
.button-cream{background:var(--a-cream);color:var(--a-ink)}
.button-cream:hover{background:#fffdf6}
.button-clay{background:var(--a-clay);color:#fffaf0}
.button-clay:hover{background:#9d462b}
.hero-content .button{animation:hero-appear 1.4s .55s both}
.hero-bottom{position:absolute;bottom:33px;left:3%;right:3%;display:flex;justify-content:space-between;align-items:flex-end}
.scroll-link{display:flex;align-items:center;gap:14px;font-size:0.875rem;letter-spacing:.14em}
.scroll-stem{height:42px;width:1px;background:#ffffff66;position:relative;overflow:hidden}
.scroll-stem:after{content:'';position:absolute;inset:0;background:#fff9ea;animation:scroll-line 2.5s infinite}
.hero-coordinate{font-size:0.875rem;letter-spacing:.14em;padding-bottom:7px}
.hero-sun{width:76px;height:76px}
.hero-sun svg{stroke:currentColor;stroke-width:.8;animation:sun-turn 75s linear infinite}
.hero-caption{position:absolute;right:16px;top:50%;writing-mode:vertical-rl;font-size:0.875rem;letter-spacing:.22em;opacity:.8}
.section-pad{padding:130px 7%}
.eyebrow{font-size:0.875rem;letter-spacing:.2em;line-height:1.6;font-weight:600;display:block}
.manifesto{display:grid;grid-template-columns:15% 44% 1fr;gap:30px;align-items:start;padding-top:145px;padding-bottom:155px}
.manifesto-label>svg{stroke:var(--a-olive);stroke-width:.65;width:72px;height:72px;margin-top:65px}
.manifesto h2,.section-heading h2,.table-story h2,.demo-invitation h2,.catalog-list h2{font:clamp(3.25rem,5.3vw,5.5625rem)/.98 var(--a-serif);letter-spacing:-.035em;margin:20px 0 40px}
.manifesto h2 em,.section-heading h2 em,.table-story h2 em,.demo-invitation h2 em,.catalog-list h2 em{color:var(--a-clay)}
.manifesto h2{margin-top:-12px}
.manifesto-text{width:72%;margin-left:14%;font-size:1rem;line-height:1.9}
.tiny-line{width:45px;height:1px;background:var(--a-clay);display:block;margin-bottom:25px}
.text-link{font-size:1rem;display:inline-flex;gap:30px;align-items:center;position:relative;padding:9px 0}
.text-link span{font-size:1.4375rem}
.manifesto-text .text-link{margin-top:7px}
.manifesto-photo{position:relative;align-self:center;margin-top:105px;transform:rotate(3deg);max-width:390px}
.manifesto-photo img{aspect-ratio:4/5;object-fit:cover}
.photo-note{position:absolute;bottom:-36px;right:-18px;background:#e8dfcb;padding:26px 24px;transform:rotate(-8deg);box-shadow:0 2px 5px #00000005}
.photo-note span{font-size:0.875rem;letter-spacing:.13em;display:block;margin-bottom:7px}
.photo-note em{font-size:1.5625rem}
.marquee{overflow:hidden;border-top:1px solid var(--a-line);border-bottom:1px solid var(--a-line);color:var(--a-olive);padding:17px 0}
.marquee>div{display:flex;align-items:center;gap:50px;width:max-content;animation:marquee 40s linear infinite}
.marquee span{font:3.125rem var(--a-serif);letter-spacing:-.025em}
.marquee i{font:2.125rem var(--a-serif);color:var(--a-clay)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:55px}
.section-heading h2{margin-bottom:0}
.heading-aside{padding-bottom:8px}
.heading-aside p,.section-heading>p{font-size:1rem;line-height:1.9;color:var(--a-olive)}
.dish-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.signature-card:nth-child(2){margin-top:65px}
.signature-card:nth-child(3){margin-top:130px}
.dish-image{overflow:hidden;position:relative;background:#e6ddc9}
.dish-image img{width:100%;aspect-ratio:.87;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.signature-card:hover .dish-image img{transform:scale(1.06)}
.dish-number{position:absolute;top:20px;left:20px;font-size:0.875rem;letter-spacing:.13em;background:var(--a-cream);padding:9px 11px}
.dish-open{position:absolute;right:18px;bottom:18px;width:45px;height:45px;display:grid;place-items:center;border:1px solid #ffffff99;border-radius:50%;background:#f6f1e7d9;font-size:1.5rem;transition:transform .25s}
.signature-card:hover .dish-open{transform:rotate(45deg)}
.dish-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:21px}
.dish-title h3{font:1.875rem var(--a-serif);margin:0}
.dish-title>span{font-size:1rem;white-space:nowrap}
.signature-card>p{font-size:0.875rem;line-height:1.8;margin-top:10px;color:var(--a-olive)}
.place{display:grid;grid-template-columns:56% 44%;min-height:850px;background:#e7e5d8}
.place-picture{overflow:hidden}
.place-picture img{height:100%;width:100%;object-fit:cover;object-position:70% center;transition:object-position 1.2s,filter 1.2s}
.place-copy{padding:100px 13% 65px 14%;position:relative}
.place h2{font:clamp(4.0625rem,6.5vw,6.875rem)/.9 var(--a-serif);letter-spacing:-.035em;margin:35px 0}
.place h2 em{color:var(--a-olive)}
.place-copy>p{font-size:1rem;line-height:1.9;min-height:90px}
.room-selector{display:flex;gap:16px;margin:30px 0 20px;flex-wrap:wrap}
.room-selector button{background:none;border:0;border-bottom:1px solid transparent;padding:5px 0 10px;font-size:1rem;color:var(--a-olive)}
.room-selector button.is-active{border-bottom-color:var(--a-clay);color:var(--a-ink)}
.place-note{display:block;font-size:0.875rem;letter-spacing:.12em;opacity:1;margin-top:60px}
.table-story{display:grid;grid-template-columns:45% 55%;align-items:center;gap:20px;overflow:hidden}
.table-story-heading p{font-size:1rem;line-height:1.9;max-width:355px;margin-bottom:32px}
.table-story h2{margin-bottom:30px}
.table-illustration{position:relative;display:grid;place-items:center;height:540px}
.orbit{border:1px solid #d8d1c0;border-radius:50%;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}
.orbit-one{width:410px;height:410px}
.orbit-two{width:520px;height:520px;border-style:dashed;opacity:.5}
.illustrated-table{height:250px;width:210px;border:1px solid #b5b398;border-radius:85px;background:#e7e4d5;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 14px 45px #716b4710;z-index:1}
.illustrated-table>span{font-size:0.875rem;letter-spacing:.18em}
.illustrated-table b{font:3.75rem var(--a-serif);line-height:1.1}
.illustrated-table svg{width:40px;height:40px;color:#656a4e;margin:13px 0}
.illustrated-table small{font-size:0.875rem;text-align:center;letter-spacing:.09em;line-height:1.7}
.seat{position:absolute;z-index:1;font-size:0.875rem;letter-spacing:.1em;background:var(--a-cream);padding:10px;color:var(--a-olive)}
.seat-one{top:52px;left:32%}
.seat-two{top:120px;right:1%}
.seat-three{bottom:49px;right:24%}
.order-float{position:absolute;display:flex;align-items:center;gap:14px;background:#fffcf5;padding:18px 22px;box-shadow:0 15px 50px #30392f0a;border:1px solid #e8e1d4;z-index:2;animation:float 7s ease-in-out infinite}
.float-a{left:0;top:29%;transform:rotate(-7deg)}
.float-b{right:-15px;bottom:26%;transform:rotate(6deg);animation-delay:-3s}
.order-float>span{font:1.625rem var(--a-serif);color:#a79062}
.order-float>div{font-size:1rem}
.order-float small{display:block;font-size:0.875rem;margin-top:5px;opacity:1}
.order-float>b{font-size:1rem;color:var(--a-olive);border:1px solid #d5ddbe;border-radius:50%;width:20px;height:20px;display:grid;place-items:center}
.booking-banner{position:relative;isolation:isolate;background:var(--a-clay);color:var(--a-cream);text-align:center;padding:115px 25px 95px;overflow:hidden}
.booking-banner:after{content:'';position:absolute;z-index:-1;left:50%;top:50%;width:580px;height:720px;border:1px solid #f6f1e72b;transform:translate(-50%,-47%);border-radius:48% 48% 0 0}
.booking-banner h2{font:clamp(5.25rem,9vw,9.25rem)/.88 var(--a-serif);letter-spacing:-.04em;margin:32px 0 38px}
.booking-banner>p{font-size:1rem;margin:25px 0 0;opacity:.8}
.booking-sun{width:210px;height:210px;position:absolute;right:8%;top:18%;opacity:.6}
.booking-sun svg{stroke:currentColor;stroke-width:.3;animation:sun-turn 100s linear infinite}
.demo-invitation{display:grid;grid-template-columns:1fr 1fr;gap:14%;padding:95px 10%;border-bottom:1px solid var(--a-line)}
.demo-invitation h2{font-size:3.3125rem;margin:22px 0 0}
.demo-invitation>div+div{padding-top:35px}
.demo-invitation p{font-size:1rem;line-height:1.9}
.site-footer{padding:70px 7% 25px;background:var(--a-cream)}
.footer-top{display:flex;align-items:center;justify-content:space-between}
.footer-top p{font:2rem/1.1 var(--a-serif);margin:0}
.round-link{width:68px;height:68px;display:grid;place-items:center;font:2.375rem var(--a-serif);border:1px solid #b9bbaa;border-radius:50%;transition:background .2s,transform .2s}
.round-link:hover{background:#e5dfd0;transform:rotate(45deg)}
.footer-giant{font:clamp(6.5625rem,23.5vw,24.375rem)/.92 var(--a-serif);letter-spacing:.12em;text-align:center;margin:44px -1.8% 30px;color:#7c8165;border-bottom:1px solid var(--a-line);padding-bottom:26px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:0.875rem}
.footer-bottom>div{display:flex;gap:25px}
.footer-bottom a:hover{text-decoration:underline}
.demo-disclosure{font-size:0.875rem;line-height:1.8;margin:18px 0 0;color:#565a43;max-width:760px}
.page-progress{height:2px;background:var(--a-clay);position:fixed;left:0;top:0;z-index:100;width:0;pointer-events:none}
.experience-loading{min-height:500px;display:flex;align-items:center;justify-content:center;flex-direction:column}
.experience-loading p{font:1.875rem var(--a-serif);margin-top:20px}
.page-gestione .site-footer,.page-cucina .site-footer{padding-top:35px}
.page-gestione .footer-top,.page-cucina .footer-top,.page-gestione .footer-giant,.page-cucina .footer-giant{display:none}
.reveal{transition:opacity .9s,translate .9s cubic-bezier(.2,.7,.3,1)}
.js-motion .reveal:not(.is-visible){opacity:0;translate:0 35px}
.catalog-header{height:110px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--a-line)}
.catalog-brand{font-size:1.0625rem;letter-spacing:.2em;font-weight:600}
.catalog-brand span{display:block;font-size:0.875rem;letter-spacing:.32em;margin-top:6px}
.catalog-header>a:last-child{font-size:1rem;display:flex;gap:25px}
.catalog-main{padding:0 6%}
.catalog-intro{padding:100px 0 70px;position:relative}
.catalog-intro h1{font:clamp(3.5rem,6.7vw,6.875rem)/.98 var(--a-serif);letter-spacing:-.04em;margin:22px 0}
.catalog-intro h1 em{color:var(--a-clay)}
.catalog-intro>p{font-size:1rem;line-height:1.9;max-width:490px}
.catalog-count{display:flex;align-items:center;gap:14px;margin-top:38px}
.catalog-count b{font:2.1875rem var(--a-serif)}
.catalog-count span{font-size:0.875rem;letter-spacing:.1em;max-width:80px;line-height:1.6}
.catalog-count i{height:30px;width:1px;background:var(--a-line);margin:0 10px}
.catalog-feature{display:block;position:relative;overflow:hidden;color:#fff8e9;height:600px}
.catalog-feature:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#152820ab,transparent 70%)}
.catalog-feature img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}
.catalog-feature:hover img{transform:scale(1.025)}
.catalog-feature-meta,.catalog-feature-title{position:absolute;z-index:1;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between}
.catalog-feature-meta{top:32px;font-size:0.875rem;letter-spacing:.13em}
.live-dot{padding:10px 14px;border-radius:30px;background:var(--a-cream);color:var(--a-ink);font-size:0.875rem}
.live-dot:before{content:'';display:inline-block;width:5px;height:5px;background:#7b8057;border-radius:50%;margin-right:7px}
.catalog-feature-title{bottom:40px;align-items:flex-end}
.catalog-feature-title span{font-size:0.875rem;letter-spacing:.19em}
.catalog-feature-title h2{font:7.8125rem/.95 var(--a-serif);letter-spacing:.04em;margin:12px 0}
.catalog-feature-title p{font-size:1rem;margin:0}
.catalog-feature-title .catalog-explore{font-size:1rem;letter-spacing:0;background:#f6f1e7;color:var(--a-ink);padding:22px 28px}
.catalog-features{display:flex;gap:0;border:1px solid var(--a-line);border-top:0;margin-bottom:120px}
.catalog-features span{flex:1;text-align:center;padding:23px 10px;font-size:1rem;border-right:1px solid var(--a-line)}
.catalog-features span:last-child{border-right:0}
.catalog-list .section-heading{margin-bottom:35px}
.catalog-search{display:flex;flex-direction:column;gap:9px;max-width:420px;margin-bottom:45px;font-size:1rem}
.catalog-search input{border:1px solid var(--a-line);background:var(--a-paper);padding:16px 18px;color:var(--a-ink);width:100%;border-radius:0}
.catalog-groups{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;row-gap:40px;padding-bottom:90px}
.catalog-group h3{font:1.8125rem var(--a-serif);margin-bottom:15px}
.catalog-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-top:1px solid var(--a-line);font-size:1rem}
.catalog-item small{font-size:0.875rem;color:var(--a-olive);white-space:nowrap}
.catalog-item.published{color:var(--a-clay)}
.catalog-item.published small{color:var(--a-clay)}
.catalog-footer{padding:30px 6%;border-top:1px solid var(--a-line);display:flex;align-items:center;gap:30px;justify-content:space-between;font-size:0.875rem}
.catalog-footer p{margin:0;opacity:.7}
.catalog-footer a{font-size:1rem}

@keyframes hero-image{from{transform:scale(1.06)}
to{transform:scale(1)}
}
@keyframes hero-appear{from{opacity:0;translate:0 28px}
to{opacity:1;translate:0}
}
@keyframes scroll-line{0%{transform:translateY(-100%)}
65%,100%{transform:translateY(100%)}
}
@keyframes sun-turn{to{transform:rotate(360deg)}
}
@keyframes marquee{to{transform:translateX(-50%)}
}
@keyframes float{50%{translate:0 -12px}
}

@media(min-width:1700px){.site-header{height:115px}
.hero{max-height:1050px;height:calc(100svh - 115px);max-width:2000px;margin:auto 22px}
.hero-content{left:10%}
.manifesto,.signature,.table-story{padding-left:max(7%,calc((100vw - 1500px)/2));padding-right:max(7%,calc((100vw - 1500px)/2))}
}
@media(max-width:1100px){.site-nav{gap:22px}
.manifesto{grid-template-columns:1fr 1fr;gap:35px}
.manifesto-label{grid-column:1/-1}
.manifesto-label>svg{display:none}
.manifesto-photo{margin-top:15px}
.manifesto-text{width:87%;margin-left:0}
.manifesto h2{font-size:4.0625rem}
.place{min-height:760px;grid-template-columns:50% 50%}
.place-copy{padding:70px 11%}
.place h2{font-size:5rem}
.table-illustration{scale:.85;transform-origin:center}
.table-story{gap:0}
.dish-gallery{gap:23px}
.dish-title h3{font-size:1.625rem}
.hero-coordinate{display:none}
.catalog-feature{height:520px}
}
@media(max-width:800px){.site-header{height:82px;padding:0 5%}
.wordmark{font-size:2rem}
.wordmark>span{font-size:0.875rem}
.site-nav{display:none}
.menu-toggle{display:block}
.nav-book{padding:11px 14px;font-size:0.875rem;gap:15px}
.hero{margin:0 10px;height:calc(100svh - 92px);min-height:630px;max-height:850px}
.hero-content{left:7%;right:4%;top:45%}
.hero h1{font-size:clamp(4rem,10vw,5.9375rem)}
.hero h1>span+span{padding-left:0}
.hero-image img{object-position:61% center}
.hero-shade{background:linear-gradient(90deg,#18271b48,transparent),linear-gradient(0deg,#18271b80,#18271b12 65%)}
.hero-meta{font-size:0.875rem;top:24px;left:6%;right:6%}
.hero-meta span:last-child{display:none}
.hero-bottom{left:6%;right:6%}
.hero-sun{width:58px;height:58px}
.hero-caption{right:10px;font-size:0.875rem}
.section-pad{padding:90px 7%}
.manifesto{gap:30px;padding-bottom:100px}
.manifesto h2{font-size:3.5625rem}
.manifesto-text{width:100%}
.photo-note{padding:18px;right:-10px}
.photo-note em{font-size:1.4375rem}
.marquee span{font-size:2.5rem}
.marquee>div{gap:30px}
.section-heading{gap:20px}
.section-heading h2,.table-story h2{font-size:3.875rem}
.heading-aside{max-width:220px}
.dish-gallery{gap:20px;overflow-x:auto;margin:0 -7vw;padding:0 7vw 15px;grid-template-columns:repeat(3,minmax(270px,1fr));scroll-snap-type:x mandatory}
.signature-card{scroll-snap-align:center}
.signature-card:nth-child(2){margin-top:35px}
.signature-card:nth-child(3){margin-top:70px}
.dish-title h3{font-size:1.625rem}
.place{grid-template-columns:1fr;min-height:unset}
.place-picture{height:500px}
.place-picture img{object-position:center 57%}
.place-copy{padding:65px 9%}
.place h2{font-size:5rem;max-width:500px}
.place h2 br:first-child{display:none}
.place-copy>p{max-width:450px;min-height:0}
.place-note{margin-top:30px}
.table-story{grid-template-columns:1fr}
.table-story-heading{max-width:600px}
.table-story-heading p{max-width:400px}
.table-illustration{scale:.95;height:560px;max-width:540px;margin:0 auto;width:100%}
.table-story{padding-bottom:50px}
.booking-sun{width:140px;right:0;top:15%}
.booking-banner{padding:95px 25px 80px}
.demo-invitation{padding:65px 7%;gap:9%}
.demo-invitation h2{font-size:2.75rem}
.site-footer{padding-top:50px}
.footer-bottom{align-items:flex-start;flex-direction:column;gap:20px}
.catalog-intro{padding-top:65px}
.catalog-feature{height:500px}
.catalog-feature-title h2{font-size:5.625rem}
.catalog-feature-title{align-items:flex-start;flex-direction:column;gap:25px}
.catalog-feature-title p{max-width:330px;line-height:1.8}
.catalog-feature-title .catalog-explore{padding:15px 20px}
.catalog-features{flex-wrap:wrap;margin-bottom:80px}
.catalog-features span{flex:0 0 50%;padding:16px 8px}
.catalog-features span:nth-child(-n+2){border-bottom:1px solid var(--a-line)}
.catalog-groups{column-gap:30px}
.catalog-footer{flex-wrap:wrap;gap:18px}
}
@media(max-width:520px){.header-actions{gap:10px}
.hero{min-height:580px}
.hero h1{font-size:clamp(3.25rem,12vw,4.1875rem);line-height:.95}
.hero-eyebrow{font-size:1.4375rem;margin-bottom:20px}
.hero-content{top:44%}
.hero-content>p{font-size:1rem}
.hero h1{margin-bottom:23px}
.hero-content .button{min-height:50px;padding:15px 19px}
.hero-sun{width:50px;height:50px}
.hero-bottom{bottom:27px}
.hero-caption{display:none}
.manifesto{display:block;padding-top:70px}
.manifesto-label{margin-bottom:35px}
.manifesto h2{font-size:4.0625rem}
.manifesto-text{max-width:290px;margin-left:25px}
.manifesto-photo{width:78%;margin:55px auto 0}
.manifesto-photo img{aspect-ratio:.9}
.manifesto-copy{padding-right:6%}
.photo-note{right:-27px;bottom:-22px}
.section-heading{display:block;margin-bottom:35px}
.section-heading h2,.table-story h2{font-size:3.6875rem}
.heading-aside{margin-top:25px;max-width:100%}
.heading-aside p{display:none}
.dish-gallery{grid-template-columns:repeat(3,78vw);gap:20px}
.signature-card:nth-child(2){margin-top:0}
.signature-card:nth-child(3){margin-top:0}
.dish-image img{aspect-ratio:.92}
.place-picture{height:420px}
.place-copy{padding:60px 8%}
.place h2{font-size:4.75rem}
.table-story{padding-top:75px;overflow:hidden}
.table-illustration{scale:.76;transform-origin:top center;margin:40px 0 -105px;height:520px}
.order-float{padding:15px;gap:10px}
.float-a{left:-30px}
.float-b{right:-30px}
.orbit-one{width:390px;height:390px}
.orbit-two{width:480px;height:480px}
.booking-banner h2{font-size:6.0625rem}
.booking-sun{width:100px;right:-10px;top:10%}
.booking-banner:after{width:330px;height:530px}
.booking-banner>p{font-size:0.875rem;line-height:1.9;max-width:250px;margin:25px auto 0}
.demo-invitation{display:block;padding:60px 8%}
.demo-invitation h2{font-size:3rem}
.demo-invitation>div+div{padding-top:25px;max-width:310px}
.footer-top p{font-size:1.625rem}
.round-link{width:48px;height:48px;font-size:1.8125rem}
.footer-giant{font-size:22.5vw;margin-top:35px;letter-spacing:.1em}
.footer-bottom>span{font-size:0.875rem}
.footer-bottom>div{gap:20px;font-size:0.875rem}
.demo-disclosure{font-size:0.875rem}
.catalog-header{height:85px}
.catalog-brand{font-size:1rem}
.catalog-brand span{font-size:0.875rem}
.catalog-header>a:last-child{font-size:0.875rem;gap:10px}
.catalog-intro h1{font-size:3.6875rem}
.catalog-intro{padding:60px 0 45px}
.catalog-intro>p{font-size:1rem}
.catalog-feature{height:530px}
.catalog-feature img{object-position:64% center}
.catalog-feature-meta{top:22px;font-size:0.875rem;align-items:flex-start;gap:15px;flex-direction:column}
.catalog-feature-title{bottom:27px;left:7%;right:7%}
.catalog-feature-title h2{font-size:clamp(3.875rem,20vw,5.1875rem)}
.catalog-feature-title>div{min-width:0;max-width:100%}
.catalog-feature-title p{font-size:1rem}
.catalog-features span{font-size:0.875rem}
.catalog-groups{grid-template-columns:1fr;row-gap:30px}
.catalog-list h2{font-size:3.4375rem}
.catalog-group h3{font-size:1.8125rem}
.catalog-item{font-size:1rem}
.catalog-list .section-heading>p{font-size:1rem;margin-top:24px}
.catalog-footer{flex-direction:column;align-items:flex-start}
}

@media(prefers-reduced-motion:reduce){
html:not([data-motion=running]){scroll-behavior:auto}
html:not([data-motion=running]) *,html:not([data-motion=running]) *::before,html:not([data-motion=running]) *::after{animation:none!important;transition:none!important}
html:not([data-motion=running]) .js-motion .reveal:not(.is-visible){opacity:1;translate:none}
html:not([data-motion=running]) .hero-image img{height:100%;transform:none!important}
html:not([data-motion=running]) .page-progress{display:none}
}

/* Readable typography and reflow: WCAG 2.1 AA, with a 16px UI design baseline.
   WCAG specifies scaling and contrast; it does not prescribe a minimum font size. */
html{font-size:100%;scroll-padding-top:2rem}
body{font-size:1.0625rem;line-height:1.6}
button,input,select,textarea{line-height:1.5}
h1,h2,h3,p,a,button,small,span{overflow-wrap:anywhere}
:focus-visible{outline:3px solid #274b36;outline-offset:4px;box-shadow:0 0 0 3px var(--a-paper)}
.hero a:focus-visible,.booking-banner a:focus-visible,.catalog-feature:focus-visible{outline-color:#fff;box-shadow:0 0 0 7px #274b36}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{top:auto;transform:translateY(-150%);font-size:1rem}
.skip-link:focus{top:14px;transform:none}
.site-header{height:auto;min-height:112px;gap:1.5rem;padding-top:1rem;padding-bottom:1rem}
.wordmark{flex-shrink:0;font-size:2.375rem}
.wordmark>span{font-size:.875rem;letter-spacing:.12em;line-height:1.5;margin-left:0}
.site-nav{gap:clamp(1rem,2vw,2.25rem);font-size:1rem}
.site-nav a{display:flex;align-items:center;min-height:44px}
.header-actions{gap:1rem;min-width:0}
.nav-book{font-size:1rem;gap:1rem;border-color:#7c806e;min-height:48px;padding:.8rem 1rem}
.menu-toggle{width:48px;height:48px;flex-shrink:0;border:1px solid #7c806e}
.mobile-nav{position:relative;inset:auto;padding:1.5rem 6%;gap:.5rem;border-bottom:1px solid #7c806e}
.mobile-nav a{font-family:var(--a-sans);font-size:1.125rem;padding:.75rem 0;min-height:44px}
body:has(.mobile-nav:not([hidden])){overflow:auto}
.hero{height:auto;min-height:min(850px,calc(100svh - 112px));max-height:none;padding:2rem 5% 2rem;display:flex;flex-direction:column;gap:4rem;isolation:isolate}
.hero-image,.hero-shade{z-index:-1}
.hero-shade{background:linear-gradient(90deg,rgba(15,29,21,.76),rgba(15,29,21,.45) 66%,rgba(15,29,21,.23)),linear-gradient(0deg,rgba(15,29,21,.72),transparent 35%,transparent 70%,rgba(15,29,21,.65))}
.hero-meta,.hero-content,.hero-bottom{position:static;transform:none;max-width:100%;min-width:0}
.hero-meta{font-size:.875rem;gap:2rem;line-height:1.6;flex-wrap:wrap;letter-spacing:.12em}
.hero-content{margin:auto 2%;padding-block:1rem}
.hero h1{font-size:clamp(3.25rem,7.65vw,8.5rem);line-height:1.02}
.hero-content>p{font-size:1.125rem;line-height:1.7;max-width:35rem}
.hero-bottom{gap:1.5rem;flex-wrap:wrap}
.hero-caption{display:none}
.hero-coordinate,.scroll-link{font-size:.875rem;letter-spacing:.08em}
.hero-sun{flex-shrink:0}
.button,.text-link{font-size:1rem;min-height:48px;gap:1.25rem;max-width:100%;line-height:1.5}
.button{padding:1rem 1.4rem}
.button>span,.text-link>span{flex-shrink:0}
.eyebrow{font-size:.875rem;letter-spacing:.12em}
.manifesto{grid-template-columns:minmax(0,.9fr) minmax(0,2.5fr) minmax(0,1.6fr)}
.manifesto-text{font-size:1.0625rem;line-height:1.8;width:90%;margin-left:5%;max-width:36rem}
.manifesto-photo{min-width:0}
.photo-note{position:relative;right:auto;bottom:auto;margin:-2rem -1rem 0 1rem;padding:1.25rem;max-width:100%}
.photo-note span{font-size:.875rem;letter-spacing:.08em}
.heading-aside p,.section-heading>p,.table-story-heading p,.place-copy>p,.demo-invitation p,.catalog-intro>p{font-size:1.0625rem;line-height:1.8}
.dish-number{font-size:.875rem;letter-spacing:.07em}
.dish-title{flex-wrap:wrap}
.dish-title h3{font-size:2rem;line-height:1.2}
.dish-title>span{font-size:1rem}
.signature-card>p{font-size:1rem;line-height:1.7}
.dish-open{background:var(--a-cream);border-color:#7c806e}
.room-selector{gap:.5rem 1.25rem}
.room-selector button{font-size:1rem;min-height:44px}
.place-note{font-size:.875rem;opacity:1;letter-spacing:.06em;color:var(--a-olive)}
.table-story{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;overflow:visible}
.table-story-heading{min-width:0}
.table-story-heading p{max-width:35rem}
.table-illustration{scale:none;max-width:100%;height:auto;min-height:540px;isolation:isolate;gap:1rem;padding:3rem 1rem;grid-template-columns:1fr 1fr;align-content:center}
.orbit{width:min(100%,28rem);height:auto;aspect-ratio:1;z-index:-1}
.orbit-two{width:100%}
.illustrated-table{grid-column:1/-1;width:15rem;max-width:100%;height:auto;min-height:17rem;padding:1.5rem}
.illustrated-table>span,.illustrated-table small,.seat{font-size:.875rem;letter-spacing:.04em}
.seat{position:static;padding:.5rem;margin:0;display:block}
.seat-one{grid-column:1/-1;grid-row:1}
.seat-two{grid-column:1;grid-row:3}
.seat-three{grid-column:2;grid-row:3}
.order-float{position:static;transform:none;padding:1rem;gap:.75rem;max-width:100%;align-self:start;grid-column:1/-1}
.order-float>div{font-size:1rem;flex:1}
.order-float small{font-size:.875rem;opacity:1;color:var(--a-olive)}
.order-float>b{width:1.75rem;height:1.75rem;flex-shrink:0;font-size:1rem;border-color:#7c806e}
.booking-banner>p{font-size:1rem;opacity:1;line-height:1.7;max-width:40rem;margin:1.75rem auto 0}
.booking-banner h2{line-height:1.05}
.footer-top{gap:1.5rem}
.round-link{min-width:48px;min-height:48px;flex-shrink:0;border-color:#7c806e}
.footer-giant{overflow:hidden;overflow-wrap:normal}
.footer-bottom,.footer-bottom>span,.footer-bottom>div,.demo-disclosure{font-size:.875rem;line-height:1.7}
.footer-bottom>div{flex-wrap:wrap;gap:.5rem 1.5rem}
.footer-bottom a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:.25em}
.demo-disclosure{color:var(--a-olive)}
.motion-toggle{display:inline-flex;align-items:center;min-height:44px;gap:.75rem;padding:.5rem .9rem;border:1px solid #7c806e;color:var(--a-ink);background:var(--a-paper);font-size:.875rem;line-height:1.5;text-align:left}
.hero .motion-toggle{background:var(--a-cream);flex-shrink:0}
.motion-toggle::before{content:'Ⅱ';font-size:1.2rem;font-weight:600}
.motion-toggle[aria-pressed=true]::before{content:'▷'}
[data-motion=paused] *,[data-motion=paused] *::before,[data-motion=paused] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
[data-motion=paused] .reveal{opacity:1!important;translate:none!important}
[data-motion=paused] .hero-image img{transform:none!important}
.catalog-header{min-height:110px;height:auto;padding-block:1rem;gap:1.5rem;flex-wrap:wrap}
.catalog-brand{font-size:1.125rem;letter-spacing:.12em}
.catalog-brand span{font-size:.875rem;letter-spacing:.1em}
.catalog-header>a:last-child{font-size:1rem;min-height:44px;align-items:center;gap:1rem}
.catalog-intro>p{max-width:40rem}
.catalog-count{gap:1rem;flex-wrap:wrap}
.catalog-count span{font-size:.875rem;max-width:8rem;letter-spacing:.04em}
.catalog-feature{height:auto;min-height:600px;display:flex;flex-direction:column;gap:5rem;padding:2rem 4%;isolation:isolate}
.catalog-feature img{position:absolute;inset:0;z-index:-2;height:100%}
.catalog-feature:after{z-index:-1;background:linear-gradient(0deg,rgba(15,29,21,.87),rgba(15,29,21,.14) 70%,rgba(15,29,21,.75))}
.catalog-feature-meta,.catalog-feature-title{position:static;gap:1.5rem;flex-wrap:wrap}
.catalog-feature-meta{font-size:.875rem;letter-spacing:.08em}
.live-dot{font-size:.875rem;line-height:1.6;letter-spacing:.02em}
.catalog-feature-title{margin-top:auto}
.catalog-feature-title>div{min-width:0;flex:1 1 30rem}
.catalog-feature-title span{font-size:.875rem;letter-spacing:.08em}
.catalog-feature-title h2{font-size:clamp(3.5rem,9vw,7.8125rem);line-height:1.1;max-width:100%}
.catalog-feature-title p{font-size:1.0625rem;line-height:1.7;max-width:35rem}
.catalog-feature-title .catalog-explore{font-size:1rem;line-height:1.5;padding:1rem 1.5rem;max-width:100%}
.catalog-features span{font-size:1rem;line-height:1.6}
.catalog-search{font-size:1rem;gap:.75rem}
.catalog-search input{font-size:1rem;border-color:#7c806e}
.catalog-search input::placeholder{color:#626551;opacity:1}
.catalog-groups{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.catalog-group h3{font-size:2rem;line-height:1.3}
.catalog-item{font-size:1rem;gap:.75rem;flex-wrap:wrap}
.catalog-item small{font-size:.875rem;white-space:normal}
.catalog-item.published{text-decoration:underline;text-underline-offset:.25em}
.catalog-footer{gap:1rem 2rem;flex-wrap:wrap;font-size:.875rem;line-height:1.7}
.catalog-footer p{margin:0}
.catalog-footer a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:.25em}
@media(max-width:1100px){.site-nav{display:none}.menu-toggle{display:block}.site-header{min-height:100px}.manifesto{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.manifesto-label{grid-column:1/-1}.table-story{grid-template-columns:1fr}.table-illustration{max-width:38rem;margin:auto;width:100%;min-height:0}.hero-coordinate{display:none}.demo-invitation{gap:7%}}
@media(max-width:800px){.site-header{padding-inline:5%;gap:1rem}.wordmark{font-size:2rem}.nav-book{font-size:1rem}.hero{min-height:750px;margin:0 10px;padding:1.5rem 6%;gap:3rem}.hero-meta span:last-child{display:block}.hero h1{font-size:clamp(3.25rem,9vw,5.9375rem)}.hero-content{margin:auto 0}.hero-content>p{font-size:1.0625rem}.hero-bottom{align-items:center}.hero-sun{display:none}.manifesto-text{margin:0;width:100%}.section-heading{align-items:flex-start;flex-direction:column}.heading-aside{max-width:100%}.heading-aside p{display:block}.dish-gallery{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;overflow:visible;gap:1.25rem}.signature-card:nth-child(n){margin-top:0}.dish-title h3{font-size:1.75rem}.demo-invitation{grid-template-columns:1fr;gap:1rem}.demo-invitation>div+div{max-width:100%;padding-top:0}.catalog-feature{min-height:550px;gap:4rem}.catalog-feature-title>div{flex-basis:auto}.catalog-feature-title{align-items:flex-start}.catalog-features span{flex-basis:50%}}
@media(max-width:600px){.site-header{flex-wrap:wrap;gap:.75rem}.header-actions{flex:1;justify-content:flex-end}.wordmark{font-size:1.875rem}.wordmark>span{font-size:.875rem}.nav-book{padding:.6rem .75rem;gap:.5rem}.hero{min-height:720px}.hero h1{font-size:clamp(2.75rem,11.5vw,4.1875rem)}.hero-meta{letter-spacing:.07em}.hero-meta span:last-child{display:none}.hero-bottom{gap:1rem;align-items:flex-start}.hero-content>p br{display:none}.manifesto{display:block}.manifesto h2,.section-heading h2,.table-story h2,.catalog-list h2{font-size:clamp(2.75rem,10vw,4.0625rem);line-height:1.08}.manifesto-copy{padding:0}.manifesto-text{max-width:100%;margin:0}.manifesto-photo{width:88%;max-width:24rem}.photo-note{margin-left:0;margin-right:0;transform:rotate(-4deg)}.dish-gallery{grid-template-columns:1fr;gap:2.5rem}.dish-image img{aspect-ratio:1.2}.dish-title h3{font-size:2rem}.signature-card>p{font-size:1rem}.place h2{font-size:clamp(3rem,15vw,4.75rem);line-height:1.05}.table-story{overflow:visible}.table-illustration{scale:none;margin:1rem 0 0;padding:2rem 0;min-height:0}.order-float{padding:1rem;gap:.6rem}.booking-banner h2{font-size:clamp(3rem,16vw,6.0625rem)}.booking-banner>p{font-size:1rem;max-width:100%}.booking-sun{opacity:.25}.demo-invitation h2{font-size:3rem;line-height:1.1}.footer-top{align-items:flex-start}.footer-top p{font-size:1.75rem}.footer-bottom>span,.footer-bottom>div,.demo-disclosure{font-size:.875rem}.catalog-intro h1{font-size:clamp(2.75rem,11vw,3.6875rem);line-height:1.08}.catalog-count{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:.75rem}.catalog-count i{display:none}.catalog-count span{max-width:none}.catalog-feature{padding:1.5rem 7%;min-height:580px}.catalog-feature-meta{gap:1rem}.catalog-feature-title{gap:1.5rem}.catalog-feature-title h2{font-size:clamp(3rem,17vw,5.1875rem)}.catalog-feature-title p{font-size:1rem;max-width:100%}.catalog-features{display:grid;grid-template-columns:1fr}.catalog-features span{font-size:1rem;border-right:0;border-bottom:1px solid var(--a-line);padding:1rem}.catalog-features span:last-child{border-bottom:0}.catalog-groups{grid-template-columns:1fr}.catalog-item{font-size:1rem}.catalog-list .section-heading>p{font-size:1rem}.catalog-footer{align-items:flex-start}}
@media(max-width:360px){.header-actions{justify-content:space-between;flex-basis:100%}.wordmark{margin-inline:auto}.hero{min-height:750px}.hero-content .button{padding:1rem;gap:.75rem}.hero-bottom{flex-direction:column}}
/* Grid children must be able to shrink when the user doubles the text size. */
.table-illustration{min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.illustrated-table{min-width:0;width:min(15rem,100%)}
.order-float>div{min-width:0}
@media(max-width:1100px){.table-story{grid-template-columns:minmax(0,1fr)}}
.hero .motion-toggle{max-width:100%;min-width:0;flex-shrink:1;white-space:normal}
/* The scrim follows the text block, so contrast stays reliable over the photo
   even when text wraps or is enlarged independently of the viewport. */
.hero-content{position:relative;isolation:isolate}
.hero-content::before{content:'';position:absolute;inset:-2rem -1rem;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(15,29,21,.38),rgba(15,29,21,.23) 78%,transparent);border-radius:1rem}
.catalog-feature-title{position:relative;isolation:isolate}
.catalog-feature-title::before{content:'';position:absolute;inset:-1.5rem -10vw -3rem;z-index:-1;pointer-events:none;background:linear-gradient(0deg,rgba(15,29,21,.72),rgba(15,29,21,.66))}
@media(max-width:800px){.hero-content::before{inset:-2rem -7vw;background:linear-gradient(90deg,rgba(15,29,21,.4),rgba(15,29,21,.56));border-radius:0}}
.photo-note{margin:-1.5rem 0 0;transform:rotate(-3deg)}
@media(max-width:1100px){.manifesto-photo{transform:none}.photo-note{transform:none}}
.hero-content,.catalog-feature-title{inset:auto}
.hero-content::before{inset:-4rem -10vw;border-radius:0;mask-image:linear-gradient(0deg,transparent,#000 2rem,#000 calc(100% - 2rem),transparent)}
.catalog-feature-title::before{inset:-3rem -10vw -3rem;mask-image:linear-gradient(180deg,transparent,#000 1.5rem)}
