@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400&family=DM+Sans:wght@400;500&display=swap');*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e7ecea;color:#141414;font-family:'Space Mono',monospace}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:absolute;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:0}img{width:100%;height:100%;object-fit:cover;display:block}.ribbon{background:#000;color:#fff;text-align:center;padding:9px;font-size:10px;letter-spacing:.08em}.rnav{position:absolute;top:38px;left:0;right:0;height:82px;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;color:white}.rmark{font-size:23px;letter-spacing:-.08em}.rmark span{font-size:10px;vertical-align:top;letter-spacing:0}.navbutton{border:0;background:transparent;color:inherit;font-size:13px;cursor:pointer}.rmenu{display:none;position:absolute;right:4vw;top:70px;min-width:220px;padding:22px;background:#e7ecea;color:#000;flex-direction:column;gap:18px;font-size:12px}.rmenu.open{display:flex}.rhero{height:calc(100svh - 38px);min-height:640px;position:relative;color:#fff;overflow:hidden}.rhero>img{filter:brightness(.62);animation:zoom 15s ease-out both}@keyframes zoom{from{transform:scale(1.12)}to{transform:scale(1)}}.rhero-label{position:absolute;top:120px;right:4vw;font-size:11px}.rhero-center{position:absolute;left:8vw;top:50%;transform:translateY(-48%)}.rhero-center>span{font-size:12px;letter-spacing:.1em}.rhero-center h1{font-family:'DM Sans',sans-serif;font-weight:400;font-size:clamp(85px,13vw,230px);line-height:.78;letter-spacing:-.09em;margin:35px 0}.rhero-center i{font-family:Georgia,serif;font-weight:400}.rhero-bottom{position:absolute;bottom:30px;left:4vw;right:4vw;display:flex;justify-content:space-between;font-size:11px}.rintro{min-height:75vh;padding:10vw 6vw;display:grid;grid-template-columns:1fr 2.3fr;gap:5vw;align-items:start}.rsmall,.rplate-meta,.rduo span,.rfull span{font-size:12px}.rintro p{font-family:'DM Sans',sans-serif;font-size:clamp(38px,5.5vw,85px);letter-spacing:-.06em;line-height:1.03;margin:0 0 55px}.rintro span{display:block;max-width:620px;font-size:16px;line-height:1.8}.rplate{height:100vh;position:relative}.rplate>img{filter:brightness(.78)}.rplate-meta{position:absolute;left:4vw;right:4vw;bottom:35px;color:white;display:flex;justify-content:space-between}.rplate-meta a{text-decoration:underline;text-underline-offset:7px}.rmarquee{overflow:hidden;white-space:nowrap;border-bottom:1px solid #141414;padding:25px 0}.rmarquee span{font-family:'DM Sans',sans-serif;font-size:clamp(60px,10vw,160px);letter-spacing:-.06em;display:block;width:max-content;animation:marquee 23s linear infinite}@keyframes marquee{to{transform:translateX(-40%)}}.rduo{padding:8vw 4vw;display:grid;grid-template-columns:1fr 1fr;gap:2vw}.rduo>div:first-child img{height:80vh}.rduo>div:last-child img{height:55vh}.rduo span{display:block;padding:12px 0}.rduo-copy{min-height:40vh;display:flex;flex-direction:column;align-items:start;justify-content:center;padding:3vw 5vw}.rduo-copy h2{font-family:'DM Sans',sans-serif;font-size:clamp(65px,8vw,135px);letter-spacing:-.075em;line-height:.89;font-weight:400;margin:28px 0}.rduo-copy a{text-decoration:underline;text-underline-offset:7px}.rfull{height:100vh;position:relative;color:#fff}.rfull>img{filter:brightness(.52)}.rfull>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.rfull h2{font-family:'DM Sans',sans-serif;font-weight:400;font-size:clamp(100px,15vw,240px);letter-spacing:-.08em;line-height:.78;margin:30px 0 55px}.rfull a{text-decoration:underline;text-underline-offset:8px}.rending{min-height:75vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 5vw}.rending h2{font-family:'DM Sans',sans-serif;font-weight:400;font-size:clamp(85px,11vw,180px);letter-spacing:-.08em;line-height:.85;margin:30px 0 60px}.rending a{border-bottom:1px solid;padding-bottom:8px}.rfoot{background:#111;color:#e7ecea;padding:55px 4vw;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;font-size:12px;line-height:1.9}.rfoot>span{font-size:25px}.rfoot small{grid-column:1/-1}.rinner{padding:170px 7vw 80px;min-height:75vh;display:flex;flex-direction:column;justify-content:end}.rinner>span,.rinner-story>span{font-size:12px}.rinner h1{font-family:'DM Sans',sans-serif;font-weight:400;font-size:clamp(85px,12vw,180px);letter-spacing:-.08em;line-height:.87;max-width:1150px;margin:30px 0}.rinner p{font-size:17px;line-height:1.7;max-width:640px}.rinner-img{height:100vh}.rinner-story{padding:12vw 9vw;display:grid;grid-template-columns:1fr 2fr;gap:50px}.rinner-story p{font-family:'DM Sans',sans-serif;font-size:clamp(30px,4vw,65px);line-height:1.2;margin:0;letter-spacing:-.04em}.rinner-story a{grid-column:2;text-decoration:underline;text-underline-offset:8px}.rinner-next{display:flex;justify-content:space-between;padding:35px 6vw;border-top:1px solid}.rcontact{min-height:100svh;padding:170px 8vw 100px;display:flex;flex-direction:column;align-items:start}.rcontact h1{font-family:'DM Sans',sans-serif;font-weight:400;font-size:clamp(95px,13vw,210px);line-height:.84;letter-spacing:-.09em}.rcontact p{font-size:18px}.rcontact>a{text-decoration:underline;text-underline-offset:8px;margin-top:30px}.rcontact small{margin-top:70px;max-width:460px}
@media(max-width:760px){.rnav{height:70px}.rmark{font-size:18px}.rhero{min-height:560px}.rhero-center{left:5vw}.rhero-center h1{font-size:clamp(75px,15vw,125px)}.rhero-label,.rhero-bottom span:first-child{display:none}.rintro{grid-template-columns:1fr;min-height:auto;padding:90px 6vw}.rintro p{font-size:48px}.rplate{height:70vh}.rduo{grid-template-columns:1fr;padding:65px 5vw}.rduo>div:first-child img{height:65vh}.rduo-copy{padding:80px 0}.rduo>div:last-child img{height:55vh}.rfull{height:75vh}.rfull h2{font-size:18vw}.rending h2{font-size:14vw}.rfoot{grid-template-columns:1fr 1fr}.rfoot>span{grid-column:1/-1}.rinner{padding:140px 6vw 65px;min-height:65vh}.rinner h1{font-size:14vw}.rinner-img{height:60vh}.rinner-story{grid-template-columns:1fr;padding:90px 7vw}.rinner-story a{grid-column:1}.rcontact h1{font-size:14vw}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* v0.4 — RIVA immersive hero: depth on pointer, gentle idle drift on touch */
.rhero{isolation:isolate;perspective:1100px;--riva-x:0px;--riva-y:0px;--riva-tx:0px;--riva-ty:0px}
.rhero>img{position:absolute;inset:-3%;width:106%;height:106%;max-width:none;animation:none;transform:translate3d(var(--riva-x),var(--riva-y),0) scale(1.075);transition:transform .65s cubic-bezier(.2,.8,.2,1);will-change:transform}
.rhero-center{transform:translate3d(var(--riva-tx),calc(-48% + var(--riva-ty)),0);transition:transform .85s cubic-bezier(.2,.8,.2,1);will-change:transform;pointer-events:none}
.rhero-label,.rhero-bottom{z-index:2}
.rhero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 35%,rgba(0,0,0,.22) 100%);z-index:0}
.rhero-center,.rhero-label,.rhero-bottom{z-index:1}
@media(hover:none),(pointer:coarse){.rhero>img{animation:riva-touch-drift 19s ease-in-out infinite alternate;transition:none}.rhero-center{transform:translateY(-48%);transition:none}}
@keyframes riva-touch-drift{from{transform:translate3d(-1%,0,0) scale(1.09)}to{transform:translate3d(1%, -.8%,0) scale(1.09)}}
@media(prefers-reduced-motion:reduce){.rhero>img{animation:none!important;transition:none!important;transform:scale(1.075)!important}.rhero-center{transition:none!important;transform:translateY(-48%)!important}}

/* v0.5 — persistent, legible navigation on light inner pages */
.rnav{position:fixed;top:38px;left:0;right:0;z-index:1000;height:78px;padding:0 4vw;transition:background .3s ease,top .3s ease,box-shadow .3s ease;color:#fff}
.rnav.is-scrolled{top:0;background:rgba(17,17,17,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.riva-inner-page .rnav{background:rgba(17,17,17,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.rnav .rmark{flex-shrink:0;color:#fff}
.rnav .rmenu{position:static;display:flex;flex-direction:row;align-items:center;gap:clamp(15px,2.4vw,38px);min-width:0;padding:0;background:transparent;color:#fff;font-size:12px;letter-spacing:.02em}
.rnav .rmenu a{position:relative;white-space:nowrap;opacity:.88;transition:opacity .2s ease}
.rnav .rmenu a:hover,.rnav .rmenu a[aria-current="page"]{opacity:1}
.rnav .rmenu a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-8px;border-bottom:1px solid currentColor}
.rnav .rmenu a:last-child{border:1px solid rgba(255,255,255,.75);padding:11px 16px}
.rnav .navbutton{display:none;color:#fff}
@media(max-width:760px){
 .rnav{height:70px;padding:0 5vw}
 .rnav .navbutton{display:block;border:1px solid rgba(255,255,255,.65);padding:10px 14px;font-size:12px;min-height:42px}
 .rnav .rmenu{display:none;position:absolute;top:70px;left:0;right:0;min-width:0;padding:26px 6vw 34px;background:rgba(17,17,17,.98);color:#fff;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 30px rgba(0,0,0,.16)}
 .rnav .rmenu.open{display:flex}
 .rnav .rmenu a{font-size:16px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.2)}
 .rnav .rmenu a:last-child{margin-top:16px;padding:16px;border:1px solid #fff;text-align:center}
 .rnav .rmenu a[aria-current="page"]::after{display:none}
}

/* v0.6 — editorial food menu */
.riva-carta{background:#e7ecea;color:#171717}
.carta-intro{padding:clamp(180px,20vw,270px) 7vw 105px;min-height:78vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.carta-intro>span,.menu-chapter-head>span,.carta-outro>span{font:11px/1.4 ui-monospace,monospace;letter-spacing:.14em}
.carta-intro h1{font-size:clamp(72px,12vw,200px);font-weight:400;letter-spacing:-.085em;line-height:.86;margin:36px 0 42px}
.carta-intro>p{font-size:clamp(17px,2vw,27px);max-width:610px;line-height:1.35}
.carta-index{display:flex;flex-wrap:wrap;gap:14px 32px;margin-top:50px}
.carta-index a{font:12px ui-monospace,monospace;border-bottom:1px solid currentColor;padding-bottom:6px}
.carta-sections{background:#f5f3ed;padding:20px 7vw 100px}
.menu-chapter{display:grid;grid-template-columns:minmax(220px,35%) 1fr;gap:5vw;border-top:1px solid #bdbbb5;padding:80px 0 100px;scroll-margin-top:90px}
.menu-chapter-head h2{font-size:clamp(40px,5.5vw,88px);line-height:.98;letter-spacing:-.06em;font-weight:400;margin:30px 0}
.dish-list{list-style:none;margin:0;padding:0}
.dish{display:flex;justify-content:space-between;gap:25px;padding:24px 0;border-bottom:1px solid #d4d0c9}
.dish h3{font-size:clamp(17px,1.65vw,24px);font-weight:400;line-height:1.2;margin:0}
.dish p{font:12px/1.65 ui-monospace,monospace;color:#696761;margin:10px 0 0;max-width:510px}
.dish-price{font:13px/1.6 ui-monospace,monospace;white-space:nowrap}
.carta-outro{background:#171717;color:#e7ecea;padding:120px 7vw 130px}
.carta-outro h2{font-size:clamp(54px,8vw,130px);line-height:.95;font-weight:400;letter-spacing:-.065em;margin:35px 0}
.carta-outro p{max-width:610px;font-size:17px;line-height:1.6}
.carta-outro .demo-note{font:11px/1.6 ui-monospace,monospace;opacity:.65;margin-top:32px}
.carta-outro a{display:inline-block;border-bottom:1px solid currentColor;margin-top:45px;padding-bottom:8px}
@media(max-width:760px){.carta-intro{padding:160px 6vw 80px;min-height:70vh}.carta-intro h1{font-size:clamp(65px,15vw,110px)}.carta-sections{padding:0 6vw 50px}.menu-chapter{grid-template-columns:1fr;gap:12px;padding:55px 0 75px}.menu-chapter-head h2{margin:18px 0 12px}.dish{gap:12px;padding:19px 0}.dish h3{font-size:18px}.dish-price{font-size:12px}.carta-outro{padding:90px 6vw}}
