
/* KANEL — real DOM-driven implementation. Source artwork retained, no screenshot hotspots. */
:root{--oat:#F2EDE4;--basalt:#1A1918;--moss:#2F3B2A;--bronze:#A97C50;--stone:#A39E95;--header-top:clamp(24px,3.5vw,54px);--edge:clamp(22px,4.2vw,82px);--ease:cubic-bezier(.19,1,.22,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--oat)}
body{margin:0;min-width:300px;background:var(--oat);color:var(--basalt);font-family:"Schibsted Grotesk",Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a,button{font:inherit;color:inherit}button{cursor:pointer}a{text-decoration:none}
button:focus-visible,a:focus-visible{outline:2px solid var(--bronze);outline-offset:5px}
[tabindex="-1"]:focus{outline:none}
.skip{position:absolute;z-index:1000;top:-80px;left:20px;padding:13px 18px;background:var(--basalt);color:var(--oat)}.skip:focus{top:15px}
.app{min-height:100dvh;position:relative;isolation:isolate}
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:var(--header-top) var(--edge) 10px;pointer-events:none;color:var(--basalt);transition:color .35s ease}
.site-header a,.site-header button{pointer-events:auto}
.app[data-view="home"] .site-header{isolation:isolate}
.app[data-view="home"] .site-header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(242,237,228,.68) 0%,rgba(242,237,228,.44) 55%,transparent 100%)}
.app[data-view="menu"] .site-header{color:var(--oat)}
.location-link,.nav-link{font-size:clamp(10px,.83vw,13px);font-weight:500;letter-spacing:.14em;line-height:1.4;white-space:nowrap}
.location-link{position:relative;display:inline-flex;align-items:center;min-height:30px}.mini-wordmark{display:none;width:clamp(84px,7.8vw,120px);height:auto}.app[data-view="menu"] .location-link>span,.app[data-view="visit"] .location-link>span{display:none}.app[data-view="menu"] .mini-oat,.app[data-view="visit"] .mini-black{display:block}.primary-nav{display:flex;align-items:center;gap:clamp(22px,3.6vw,70px)}
.nav-link{border:0;border-radius:0;background:transparent;padding:6px 0;position:relative}
.nav-link:after,.location-link:after{content:"";height:1px;position:absolute;bottom:0;left:0;right:0;transform-origin:left;transform:scaleX(0);background:currentColor;transition:transform .45s var(--ease)}
.nav-link:hover:after,.location-link:hover:after,.nav-link[aria-current="page"]:after{transform:scaleX(1)}
.language-button #language-label{white-space:nowrap}
.nav-hamburger{width:34px;height:27px;border:0;background:transparent;padding:6px 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:8px;margin-left:clamp(0px,1vw,14px)}
.nav-hamburger span{display:block;width:100%;height:1px;background:currentColor;transition:width .35s var(--ease)}.nav-hamburger:hover span:last-child{width:60%}
.view{position:relative;min-height:100dvh}
.view[hidden]{display:none!important}
.view-home{min-height:100svh;height:100dvh;overflow:hidden;background:#eee8dd}
.ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 13% 10%,rgba(255,255,249,.78),transparent 52%),radial-gradient(ellipse at 76% 92%,rgba(172,154,133,.18),transparent 52%),linear-gradient(145deg,#EEE9DF 0%,#F3EEE4 48%,#E9E3D8 100%)}
.ambient-grain{position:absolute;inset:0;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.44' numOctaves='3' seed='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.38'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.moss-top,.moss-bottom{display:block;position:absolute;height:auto;user-select:none;will-change:transform;transition:transform 1s var(--ease)}
.moss-top{width:min(54vw,1010px);top:2.5%;right:-2%;mask-image:linear-gradient(to bottom,transparent 0%,black 22%,black 77%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 22%,black 77%,transparent 100%)}
.moss-bottom{width:min(53vw,970px);bottom:-1.4%;left:-.8%;mask-image:linear-gradient(to top,black 80%,transparent 100%);-webkit-mask-image:linear-gradient(to top,black 80%,transparent 100%)}
.hero-center{position:absolute;left:52%;width:min(77vw,1450px);top:53%;transform:translate(-50%,-65%);z-index:1}
.hero-center h1{margin:0;font-size:0;line-height:0}
.brand-hero{display:block;width:100%;height:auto;opacity:0;transform:translateY(16px);animation:hero-arrive 1.3s .12s var(--ease) forwards}
.hero-descriptor{font-size:clamp(9px,.9vw,15px);letter-spacing:.16em;font-weight:500;margin:clamp(11px,1.2vw,22px) 0 0;opacity:0;animation:fade-up 1s .55s var(--ease) forwards}
.explore{position:absolute;bottom:clamp(42px,11.6vh,119px);right:clamp(22px,10.9vw,206px);border:0;border-radius:0;display:flex;align-items:center;gap:28px;background:none;font-size:clamp(10px,.9vw,14px);letter-spacing:.16em;font-weight:500;padding:15px 8px;z-index:2;transition:gap .45s var(--ease),transform .45s var(--ease)}
.explore:hover{gap:41px;transform:translateY(3px)}.down-arrow{font-size:clamp(24px,2.3vw,36px);line-height:1;font-weight:400}
@keyframes fade-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.view-menu{background:var(--basalt);color:var(--oat);overflow:hidden}
.view-visit{background:var(--oat);color:var(--basalt);overflow:hidden}
.view-menu:not([hidden]),.view-visit:not([hidden]){animation:view-reveal .55s var(--ease) both}@keyframes view-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.panel-inner{min-height:100dvh;display:flex;flex-direction:column;padding:clamp(132px,14vh,190px) var(--edge) clamp(26px,3vw,56px)}
.panel-meta{display:flex;justify-content:space-between;gap:16px;font-weight:500;font-size:clamp(10px,.83vw,12px);letter-spacing:.14em;opacity:.72}
.menu-shell{width:100%;flex:1;display:flex;align-items:center;min-height:0}
.menu-list{width:100%;margin:clamp(60px,9vh,110px) 0}
.menu-row{display:grid;grid-template-columns:clamp(35px,5vw,90px) minmax(0,1fr) 55px;gap:clamp(16px,3vw,44px);align-items:center;min-height:clamp(135px,20vh,225px);border-top:1px solid rgba(242,237,228,.19);transition:padding .55s var(--ease),color .3s ease;outline-offset:-3px}
.menu-row:last-child{border-bottom:1px solid rgba(242,237,228,.19)}
.menu-row:hover{padding-left:clamp(0px,1.5vw,28px);color:#c8beaF}
.menu-row-no{font-size:11px;letter-spacing:.12em;opacity:.56}.menu-row-name{font-size:clamp(52px,8.7vw,140px);font-weight:400;letter-spacing:normal;line-height:1;min-width:0}
.menu-row-arrow{color:var(--bronze);font-size:clamp(24px,2.3vw,36px);font-weight:400;text-align:right;transition:transform .5s var(--ease)}.menu-row:hover .menu-row-arrow{transform:translate(7px,-7px)}
.panel-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:auto;font-size:clamp(10px,.8vw,12px);letter-spacing:.10em;color:rgba(242,237,228,.62)}
.panel-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.menu-detail{width:100%;padding:clamp(50px,7vh,85px) 0 60px;max-width:1060px;margin-inline:auto;animation:fade-up .45s var(--ease)}
.menu-detail[hidden]{display:none!important}
.detail-top{display:flex;justify-content:space-between;font-size:clamp(10px,.9vw,12px);letter-spacing:.14em;color:rgba(242,237,228,.68)}
.back-link:hover{text-decoration:underline;text-underline-offset:6px}
.menu-detail :is(h1,h2){font-weight:400;font-size:clamp(64px,11vw,160px);letter-spacing:normal;line-height:1.03;margin:clamp(48px,8vh,88px) 0 50px}
.menu-items{display:grid;gap:0;margin:50px 0 0}
.menu-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:22px;border-top:1px solid rgba(242,237,228,.25);padding:20px 0}
.menu-item-title{font-size:clamp(18px,2.5vw,27px);font-weight:400;margin:0}.menu-item-desc{margin:8px 0 0;color:rgba(242,237,228,.62);font-size:14px;line-height:1.6}
.menu-item-price{font-size:15px;font-weight:500;font-variant-numeric:tabular-nums}
.empty-menu p{color:rgba(242,237,228,.67);font-size:clamp(18px,2.4vw,25px);font-weight:400;line-height:1.45;margin:0 0 28px}
.text-link{font-size:11px;letter-spacing:.13em;display:inline-block;padding:0 0 7px;border-bottom:1px solid currentColor}
.detail-navigation{display:flex;justify-content:space-between;gap:30px;margin-top:clamp(90px,13vh,170px);border-top:1px solid rgba(242,237,228,.22);padding-top:20px;font-size:11px;letter-spacing:.1em}
.detail-navigation a:hover{color:var(--bronze)}
.visit-ambient{position:absolute;inset:0;pointer-events:none;overflow:hidden}.visit-ambient img{position:absolute;right:-10%;top:-10%;width:clamp(350px,52vw,800px);opacity:.15}
.visit-layout{flex:1;display:grid;grid-template-columns:1.5fr minmax(250px,.6fr);align-items:center;gap:6vw;margin-block:70px}
.visit-primary :is(h1,h2){font-size:clamp(58px,9vw,150px);line-height:1.05;font-weight:400;letter-spacing:normal;margin:0;word-break:normal;overflow-wrap:normal}
.visit-place{font-weight:500;letter-spacing:.13em;font-size:clamp(11px,.9vw,13px);margin:30px 0 0}
.visit-description{font-size:clamp(16px,1.7vw,24px);line-height:1.5;margin:0 0 40px}
.visit-directions{font-size:11px;font-weight:500;letter-spacing:.13em;display:inline-flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--basalt);padding-bottom:8px}
.visit-directions:hover{color:var(--moss);gap:25px}
.visit-footer{border-top:1px solid rgba(26,25,24,.2);padding-top:23px;display:flex;justify-content:space-between;gap:35px;flex-wrap:wrap;font-size:clamp(10px,.8vw,12px);letter-spacing:.11em;line-height:1.9}
.visit-footer div{display:flex;flex-direction:column;max-width:300px}.visit-footer div:last-child{text-align:right}
.visit-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.page-transition{position:fixed;inset:0;z-index:55;background:var(--oat);pointer-events:none;opacity:0;transition:opacity .25s ease}.app[data-view="menu"] .page-transition{background:var(--basalt)}
@media (max-width:840px){.nav-hamburger{display:none}.location-link{font-size:10px}.primary-nav{gap:24px}.hero-center{left:50%;width:86vw}.moss-top{width:75vw}.moss-bottom{width:74vw}.explore{right:var(--edge);bottom:7vh}.menu-row-name{font-size:clamp(52px,10vw,93px)}.visit-layout{grid-template-columns:1fr;align-content:center;gap:42px}.visit-primary :is(h1,h2){font-size:clamp(56px,12vw,100px)}.visit-place{margin-top:20px}.visit-description{margin-bottom:25px}.visit-footer div:last-child{text-align:left}}
@media (max-width:540px){:root{--edge:22px;--header-top:26px}.site-header{align-items:flex-start;gap:12px}.location-link{font-size:9px;letter-spacing:.08em;margin-top:4px}.primary-nav{gap:clamp(12px,3vw,22px)}.nav-link{font-size:10px;letter-spacing:.1em}.view-home{min-height:100dvh}.hero-center{left:50%;width:90vw;top:49%;transform:translate(-50%,-50%)}.hero-descriptor{font-size:9px;letter-spacing:.11em;margin:14px 0 0}.moss-top{width:145vw;right:-58vw;top:4vh;opacity:.8}.moss-bottom{width:135vw;bottom:-2%;left:-33%;opacity:.85}.explore{right:var(--edge);bottom:max(42px,env(safe-area-inset-bottom));font-size:10px;gap:13px}.down-arrow{font-size:24px}.panel-inner{padding-top:135px;min-height:100dvh}.panel-meta{font-size:9px}.menu-list{margin:55px 0}.menu-row{min-height:clamp(120px,19vh,180px);grid-template-columns:25px 1fr 25px;gap:14px}.menu-row-name{font-size:clamp(46px,13vw,78px)}.menu-row-arrow{font-size:23px}.panel-footer{font-size:9px;line-height:1.7}.menu-detail :is(h1,h2){font-size:clamp(68px,15vw,98px);margin:55px 0 35px}.detail-navigation{margin-top:70px}.visit-layout{margin:100px 0 70px;align-content:start;gap:56px}.visit-primary :is(h1,h2){font-size:clamp(48px,14.5vw,76px)}.visit-place{font-size:9px}.visit-description{font-size:17px;line-height:1.6}.visit-footer{gap:20px}.visit-footer div{width:100%;max-width:none}.visit-ambient img{top:10vh;right:-35%;width:170vw}}
@media (max-width:350px){.app[data-view="home"] .location-link{display:none}.app[data-view="menu"] .location-link,.app[data-view="visit"] .location-link{display:inline-flex}.site-header{justify-content:space-between}.primary-nav{gap:16px}.hero-center{top:47%}.menu-row-name{font-size:clamp(44px,14vw,55px)}}
@media (max-height:560px) and (min-width:600px){.hero-center{width:min(70vw,1050px);top:56%}.panel-inner{padding-top:105px}.menu-list{margin:30px 0}.menu-row{min-height:110px}.explore{bottom:15px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.brand-hero,.hero-descriptor{opacity:1;transform:none}}

/* V10 website menu — additive styles only. Home view and ambient art direction unchanged. */
.menu-detail{max-width:1120px}
.menu-detail :is(h1,h2){margin-bottom:clamp(35px,5vh,64px)}
.menu-section-links{display:flex;flex-wrap:wrap;gap:15px 25px;padding:0 0 34px;border-bottom:1px solid rgba(242,237,228,.28)}
.menu-section-links[hidden]{display:none!important}
.menu-jump{padding:4px 0;background:transparent;border:0;color:rgba(242,237,228,.73);font-size:11px;font-weight:500;letter-spacing:.095em;text-align:left;line-height:1.5;text-transform:uppercase;transition:color .18s ease}
.menu-jump:hover,.menu-jump:focus-visible{color:var(--oat)}
.menu-items{display:block;margin:0 0 25px}
.menu-subsection{margin:0;padding-top:clamp(46px,6vw,88px);scroll-margin-top:120px}
.menu-subsection-title{font-weight:500;font-size:clamp(13px,1.35vw,17px);text-transform:uppercase;letter-spacing:.14em;line-height:1.5;color:var(--oat);margin:0 0 14px}
.menu-group-divider{padding:100px 0 0;border-bottom:1px solid rgba(242,237,228,.45);font-weight:500;font-size:clamp(16px,2vw,24px);letter-spacing:.11em;line-height:1.5}
.menu-item{grid-template-columns:minmax(0,1fr) minmax(110px,auto);gap:clamp(18px,3vw,45px);border-top:1px solid rgba(242,237,228,.16);padding:clamp(18px,2.8vw,30px) 0;align-items:start}
.menu-item-title{font-size:clamp(16px,1.7vw,21px);line-height:1.3;font-weight:500;letter-spacing:normal}
.menu-item-desc{font-size:clamp(12px,1.08vw,14px);font-weight:400;line-height:1.65;letter-spacing:normal;margin-top:8px;color:rgba(242,237,228,.72);max-width:720px}
.menu-item-tasting{font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#b7a18c;margin:14px 0 0}
.menu-item-allergen{font-size:11px;letter-spacing:.035em;color:#e4d6c6;margin:12px 0 0}
.menu-item-prices{display:flex;justify-content:flex-end;gap:22px;text-align:right;white-space:nowrap}
.price-choice{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:70px}
.price-label{font-size:10px;letter-spacing:.075em;font-weight:500;color:rgba(242,237,228,.59)}
.price-amount{font-size:clamp(14px,1.4vw,18px);font-weight:500;letter-spacing:normal;font-variant-numeric:tabular-nums;line-height:1.2}
.menu-section-note{margin:16px 0 0;font-size:clamp(11px,1vw,13px);font-weight:400;color:rgba(242,237,228,.66);line-height:1.55;max-width:740px}
.menu-source-notes{margin:90px 0 35px;border-top:1px solid rgba(242,237,228,.3);padding-top:24px;display:grid;gap:11px;font-size:clamp(11px,1vw,13px);line-height:1.6;color:rgba(242,237,228,.72)}
.menu-source-notes p{margin:0}
.menu-subsection:last-child{padding-bottom:5px}
@media(max-width:540px){
  .menu-detail{padding-top:38px;padding-bottom:48px}
  .menu-detail :is(h1,h2){margin:40px 0 26px;font-size:clamp(52px,15vw,82px)}
  .menu-section-links{gap:9px 18px;padding-bottom:24px}
  .menu-jump{font-size:10px;min-height:26px}
  .menu-subsection{padding-top:40px;scroll-margin-top:120px}
  .menu-item{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:22px 0}
  .menu-item-title{font-size:15px}
  .menu-item-desc{font-size:12px;line-height:1.6}
  .menu-item-prices{flex-direction:column;gap:13px;align-items:flex-end}
  .price-label{font-size:8px}
  .price-amount{font-size:14px}
  .menu-group-divider{padding-top:60px}
  .menu-source-notes{margin-top:60px}
}
@media(max-width:350px){
  .menu-item{grid-template-columns:minmax(0,1fr) 74px}
  .menu-item-title{font-size:14px}
  .menu-item-desc{font-size:11px}
  .price-amount{font-size:13px}
  .price-label{font-size:8px}
}

/* ---- Living KANEL / additive motion layer. Homepage pixels at scroll=0 remain locked. ---- */
.portal-track{height:100dvh;position:relative}
.portal-track[hidden]{display:none!important}
.portal-track .view-home{position:sticky;top:0}
.portal-motion .app[data-view="home"] .portal-track{height:185dvh}
.portal-reveal{position:absolute;inset:0;z-index:1;opacity:0;pointer-events:none;overflow:hidden;background:#1A1918;color:var(--oat)}
.portal-reveal::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 82% 18%,rgba(47,59,42,.52),transparent 63%),radial-gradient(ellipse at 10% 95%,rgba(169,124,80,.09),transparent 60%)}
.portal-reveal::after{content:"";position:absolute;right:-12%;top:-5%;width:min(75vw,900px);height:90%;background:url("/assets/art-0f24869b5701cd32.png") top right / contain no-repeat;opacity:.15;filter:grayscale(.3);pointer-events:none}
.portal-reveal-inner{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(110px,12vh,180px) var(--edge) 48px;max-width:1500px;margin:auto}
.portal-reveal-kicker{font-size:clamp(10px,.9vw,13px);letter-spacing:.15em;color:rgba(242,237,228,.64);font-weight:500;margin-bottom:36px}
.portal-gateway{list-style:none;padding:0;margin:0;max-width:1050px;width:100%}
.portal-gateway li{border-top:1px solid rgba(242,237,228,.25)}
.portal-gateway li:last-child{border-bottom:1px solid rgba(242,237,228,.25)}
.portal-gateway a{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:clamp(17px,3.2vh,38px) 0;font-size:clamp(44px,6.4vw,90px);font-weight:400;letter-spacing:normal;line-height:1.05;transition:padding .25s ease}
.portal-gateway a span:last-child{font-size:clamp(20px,2vw,31px);color:var(--bronze)}
.portal-gateway a:hover{padding-left:10px}
.portal-scene-status{position:absolute;bottom:clamp(20px,4vh,45px);left:var(--edge);font-size:11px;letter-spacing:.15em;color:rgba(242,237,228,.54)}
.portal-door-layer{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;isolation:isolate}
.portal-door{position:absolute;inset:0;will-change:transform;pointer-events:none;background:#eee8dd;contain:paint}
.portal-door--left{clip-path:inset(0 50% 0 0)}
.portal-door--right{clip-path:inset(0 0 0 50%)}
.portal-door .ambient{inset:0}
.portal-door .hero-center{z-index:1;pointer-events:none}
.portal-door .brand-hero,.portal-door .hero-descriptor{opacity:1;animation:none;transform:none}
.portal-door .brand-hero{transform:scale(var(--portal-zoom,1));transform-origin:center}
.view-home>.hero-center{z-index:3}
.view-home>.explore{z-index:4}
.portal-motion .view-home>.hero-center{opacity:var(--portal-original-opacity,1)}
.portal-motion .view-home>.explore{opacity:var(--portal-explore-opacity,1)}
.portal-motion .view-home .portal-reveal{opacity:var(--portal-reveal-opacity,0)}
.portal-motion .view-home .portal-door-layer{opacity:var(--portal-door-opacity,0)}
.portal-motion .view-home .portal-door--left{transform:translate3d(calc(-1 * var(--portal-door-travel,0px)),0,0)}
.portal-motion .view-home .portal-door--right{transform:translate3d(var(--portal-door-travel,0px),0,0)}
.portal-reveal .portal-reveal-inner{opacity:var(--portal-content-opacity,0);transform:translate3d(0,calc(18px * (1 - var(--portal-content-opacity,0))),0);pointer-events:none}
.portal-reveal.portal-gateway-ready .portal-reveal-inner{pointer-events:auto}
.portal-reveal.portal-gateway-ready{pointer-events:auto}
.portal-reveal .portal-gateway a:focus-visible{outline-color:var(--bronze)}
@media(max-width:540px){.portal-reveal-inner{padding-top:115px}.portal-reveal-kicker{font-size:9px}.portal-gateway a{font-size:clamp(38px,12vw,60px)}.portal-scene-status{bottom:30px;font-size:9px}}
@media(max-width:840px){.portal-door .hero-center{left:50%;width:86vw}}
@media(max-width:540px){.portal-door .hero-center{width:90vw;top:49%;transform:translate(-50%,-50%)}}
@media(max-width:350px){.portal-door .hero-center{top:47%}}
@media(max-height:560px) and (min-width:600px){.portal-door .hero-center{width:min(70vw,1050px);top:56%}}
@media(prefers-reduced-motion:reduce){.portal-track{height:100dvh!important}.portal-reveal,.portal-door-layer{display:none!important}.portal-motion .view-home>.hero-center,.portal-motion .view-home>.explore{opacity:1!important}}

/* ---- A tactile printed-paper deck within Cocktails, never replacing the V10 list ---- */
.screen-reader-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
.signature-deck[hidden]{display:none!important}
.signature-deck{scroll-margin-top:108px}
.signature-deck{display:grid;grid-template-columns:minmax(215px,1fr) minmax(290px,480px);gap:clamp(34px,6vw,100px);padding:52px 0 clamp(64px,7vw,95px);border-bottom:1px solid rgba(242,237,228,.22);align-items:center;margin-bottom:10px}
.signature-deck-copy{align-self:center}
.signature-deck-kicker{margin:0 0 26px;color:var(--bronze);letter-spacing:.16em;font-size:10px;font-weight:500}
.signature-deck-copy h3{font-weight:400;font-size:clamp(45px,5vw,74px);letter-spacing:normal;line-height:1.05;margin:0 0 26px;color:var(--oat)}
.signature-deck-help{max-width:290px;font-size:14px;line-height:1.7;color:rgba(242,237,228,.67);margin:0 0 42px}
.signature-deck-full-link{background:transparent;border:0;border-radius:0;color:inherit;cursor:pointer;padding:0 0 8px;font-weight:500;font-size:10px;line-height:1.5;letter-spacing:.1em;padding-bottom:8px;border-bottom:1px solid rgba(242,237,228,.5)}
.signature-deck-full-link:hover{color:var(--bronze)}
.signature-deck-interaction{min-width:0;max-width:480px;width:100%;margin:auto}
.deck-stack{height:clamp(410px,41vw,475px);max-height:550px;position:relative;isolation:isolate;cursor:grab;outline-offset:13px;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.deck-stack:active{cursor:grabbing}
.deck-card{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--oat);color:var(--basalt);padding:clamp(24px,3vw,34px);border:1px solid rgba(26,25,24,.25);box-shadow:0 8px 27px rgba(0,0,0,.21);transform-origin:50% 60%;will-change:transform;touch-action:pan-y;overflow:hidden}
.deck-card[data-position="0"]{z-index:6}
.deck-card:not([data-position="0"]){pointer-events:none}
.deck-card-head{display:flex;justify-content:space-between;gap:20px;font-size:10px;font-weight:600;letter-spacing:.14em;border-bottom:1px solid rgba(26,25,24,.21);padding-bottom:17px}
.deck-card-number{color:var(--moss)}
.deck-card-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:18px;min-height:0}
.deck-card-name{font-size:clamp(49px,6vw,88px);font-weight:500;letter-spacing:normal;line-height:1;white-space:normal;overflow-wrap:anywhere;margin:0}
.deck-card-description{font-size:clamp(13px,1.1vw,15px);line-height:1.65;max-width:345px;margin:0}
.deck-card-tasting{font-size:10px;letter-spacing:.14em;font-weight:500;color:var(--moss);text-transform:uppercase;margin:0}
.deck-card-allergen{font-size:11px;color:#7d3a22;margin:0}
.deck-card-foot{display:flex;justify-content:space-between;gap:20px;align-items:end;border-top:1px solid rgba(26,25,24,.21);padding-top:17px;font-size:10px;letter-spacing:.12em;font-weight:600}
.deck-card-price{font-size:25px;letter-spacing:normal;line-height:1}
.deck-control-bar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:23px;color:var(--oat)}
.deck-control-bar button{width:55px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(242,237,228,.38);background:none;color:inherit;border-radius:0;font-size:24px;transition:background .2s ease}
.deck-control-bar button:hover{background:rgba(242,237,228,.11)}
.deck-control-bar #deck-progress{font-size:11px;letter-spacing:.16em;opacity:.75}
#signature-full-list{scroll-margin-top:120px}
@media(max-width:760px){.signature-deck{grid-template-columns:1fr;gap:32px}.signature-deck-copy h3{font-size:46px}.signature-deck-help{max-width:none;margin-bottom:22px}.signature-deck-interaction{width:calc(100% - 18px)}.deck-stack{height:440px}}
@media(max-width:390px){.deck-stack{height:410px}.deck-card{padding:20px}.deck-card-name{font-size:clamp(43px,13vw,68px)}.deck-card-description{font-size:12px;line-height:1.55}.deck-card-body{gap:12px}.deck-card-foot{padding-top:12px}.signature-deck{padding-top:28px}}
@media(prefers-reduced-motion:reduce){.deck-card{transition:none!important;will-change:auto}.portal-reveal{display:none}}
/* Portal-state contrast and hit testing; initial homepage pixels stay locked. */
.portal-motion .view-home>.hero-center{pointer-events:none}
html.portal-dark .app[data-view="home"] .site-header{color:var(--oat)}
html.portal-dark .app[data-view="home"] .site-header::before{background:linear-gradient(180deg,rgba(26,25,24,.84),rgba(26,25,24,.30) 70%,transparent)}
/* Essential menu and contact content remains available with JS disabled. */
.no-js-menu{padding:clamp(28px,5vw,85px);background:var(--basalt);color:var(--oat)}
.no-js-menu section{max-width:950px;margin:75px auto;border-top:1px solid rgba(242,237,228,.35);padding-top:20px}
.no-js-menu h2{font-weight:400;font-size:clamp(50px,10vw,105px)}
.no-js-menu h3{font-weight:500;font-size:19px;margin-top:45px}
.no-js-menu p{line-height:1.6;border-bottom:1px solid rgba(242,237,228,.13);padding:8px 0}
.no-js-menu p span{display:block;opacity:.65;font-size:14px}
.no-js-menu a{text-decoration:underline;text-underline-offset:6px}
.no-js-kicker{font-size:11px;letter-spacing:.14em}


/* ------ KANEL Bookings: the existing editorial website extended, not redesigned. ------ */
.app[data-view="bookings"] .location-link>span{display:none}
.app[data-view="bookings"] .mini-black{display:block}
.view-bookings{background:var(--oat);color:var(--basalt);min-height:100dvh;overflow:hidden}
.view-bookings:not([hidden]){animation:view-reveal .55s var(--ease) both}
.view-bookings .visit-ambient{z-index:0}
.view-bookings .visit-ambient img{left:-14%;right:auto;top:23%;width:clamp(480px,57vw,930px);opacity:.09;transform:rotate(-12deg);mask-image:radial-gradient(ellipse at 50% 50%,black 27%,transparent 74%);-webkit-mask-image:radial-gradient(ellipse at 50% 50%,black 27%,transparent 74%)}
.bookings-panel{position:relative;z-index:1;min-height:100dvh;padding-bottom:clamp(24px,3vw,50px)}
.bookings-layout{flex:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(355px,.84fr);gap:clamp(48px,7.4vw,155px);align-items:start;margin:clamp(64px,8.5vh,115px) 0 clamp(50px,7vh,90px)}
.bookings-editorial{padding-top:clamp(9px,2vw,28px)}
.bookings-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:500;color:var(--moss);margin:0 0 clamp(26px,4vw,50px)}
.bookings-editorial :is(h1,h2){font-size:clamp(72px,9vw,154px);letter-spacing:-.062em;line-height:.97;font-weight:400;margin:0;max-width:820px}
.bookings-intro{max-width:430px;font-weight:400;font-size:clamp(19px,2vw,27px);line-height:1.45;margin:35px 0 clamp(48px,6vw,85px);color:#4a4943}
.bookings-rule-list{border-top:1px solid rgba(26,25,24,.2);max-width:470px}
.bookings-rule-list>div{display:flex;align-items:center;gap:clamp(20px,3vw,48px);padding:18px 0;border-bottom:1px solid rgba(26,25,24,.18)}
.bookings-rule-list span{font-size:10px;letter-spacing:.16em;color:var(--bronze);font-weight:600;flex:0 0 24px}
.bookings-rule-list p{font-size:12px;letter-spacing:.04em;line-height:1.55;margin:0}
.bookings-group-note{display:flex;gap:7px 14px;flex-wrap:wrap;align-items:center;margin:35px 0 0;font-size:12px;line-height:1.7}
.bookings-group-note a{display:inline-block;border-bottom:1px solid currentColor;font-weight:600;letter-spacing:.07em;padding:0 0 3px;color:var(--moss);font-size:11px}
.bookings-form-shell{border-left:1px solid rgba(26,25,24,.3);padding-left:clamp(28px,4.3vw,68px);padding-top:0;min-width:0}
.bookings-form-heading{display:flex;gap:12px 20px;justify-content:space-between;align-items:center;border-top:1px solid rgba(26,25,24,.75);border-bottom:1px solid rgba(26,25,24,.21);padding:18px 0 20px;font-weight:600;letter-spacing:.12em;font-size:clamp(10px,.83vw,12px)}
.bookings-form-heading span:last-child{font-size:9px;color:var(--moss);text-align:right;max-width:135px;line-height:1.5}
.bookings-form{padding-top:18px}
.bookings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 23px}
.booking-field{min-width:0;display:flex;flex-direction:column;gap:11px;justify-content:flex-end;border-bottom:1px solid rgba(26,25,24,.22);padding:23px 0 18px}
.booking-field label{font-size:10px;letter-spacing:.13em;font-weight:600;line-height:1.45;min-height:15px}
.booking-field input,.booking-field select,.booking-field textarea{font-family:inherit;color:var(--basalt);font-size:clamp(15px,1.2vw,17px);font-weight:400;width:100%;border:0;border-radius:0;outline:none;background:transparent;padding:8px 0 6px;line-height:1.6;min-height:35px;appearance:auto}
.booking-field input:focus-visible,.booking-field select:focus-visible,.booking-field textarea:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.booking-field input::placeholder,.booking-field textarea::placeholder{font-size:12px;letter-spacing:.035em;color:#75736b;opacity:1}
.booking-field textarea{resize:vertical;min-height:68px;max-height:210px}
.booking-field option{background:var(--oat);color:var(--basalt)}
.booking-wide{grid-column:1/-1}
.booking-optional{font-weight:400;color:#716c65;letter-spacing:.09em}
.booking-field-detail{justify-content:center;gap:4px;align-items:flex-start}
.booking-field-detail-symbol{color:var(--bronze);font-size:20px;line-height:1}
.booking-field-detail p{font-size:11px;line-height:1.55;margin:0;max-width:170px;color:#656159}
.bookings-no-guarantee{font-size:11px;color:#504d47;line-height:1.6;margin:23px 0 0;max-width:385px}
.booking-submit{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--moss);color:var(--oat);border:0;border-radius:0;width:100%;padding:21px 23px 21px;font-size:12px;letter-spacing:.12em;font-weight:600;cursor:pointer;margin-top:25px;transition:background .24s ease,padding .24s var(--ease)}
.booking-submit:hover{background:var(--basalt);padding-right:18px}
.booking-submit:disabled{opacity:.55;cursor:wait}
.booking-submit span:last-child{color:#d4b088;font-size:24px;font-weight:400;line-height:1}
.booking-feedback{font-size:13px;line-height:1.7;padding:17px 0 3px;margin-top:12px;border-top:1px solid rgba(26,25,24,.28);max-width:100%;white-space:pre-line}
.booking-feedback.is-error{color:#8d3324}
.booking-preview-indicator{font-size:9px;letter-spacing:.1em;color:#756e61;font-weight:600;line-height:1.7;margin:22px 0 0}
.bookings-footer{display:flex;align-items:center;justify-content:space-between;gap:14px 35px;flex-wrap:wrap;border-top:1px solid rgba(26,25,24,.22);padding-top:20px;font-size:10px;font-weight:500;letter-spacing:.105em;line-height:1.6}
.bookings-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.visit-book-link{margin-top:23px;display:flex;max-width:220px}
@media(max-width:1050px){.bookings-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);gap:clamp(25px,4vw,55px)}.bookings-editorial :is(h1,h2){font-size:clamp(70px,8vw,103px)}.bookings-form-shell{padding-left:30px}}
@media(max-width:780px){.bookings-layout{grid-template-columns:1fr;gap:55px;margin-top:60px}.bookings-editorial :is(h1,h2){font-size:clamp(72px,12vw,125px)}.bookings-intro{margin-bottom:40px}.bookings-rule-list{max-width:none}.bookings-form-shell{border-left:0;border-top:1px solid rgba(26,25,24,.15);padding:30px 0 0}.bookings-footer{font-size:9px}.view-bookings .visit-ambient img{left:-32%;top:8%;opacity:.08}}
@media(max-width:650px){.site-header{align-items:center}.location-link{display:none!important}.primary-nav{width:100%;justify-content:space-between;gap:clamp(7px,2vw,15px)}.primary-nav .nav-link{font-size:10px;letter-spacing:.07em}.bookings-panel{padding-top:120px}.bookings-layout{margin:43px 0 70px}.bookings-editorial :is(h1,h2){font-size:clamp(63px,15vw,110px)}.bookings-eyebrow{font-size:10px}.bookings-intro{font-size:18px;max-width:330px}.bookings-form-grid{gap:0 18px}.bookings-form-heading{font-size:10px}.booking-field{padding-top:19px}.booking-field label{font-size:9px}.booking-field-detail p{font-size:10px}}
@media(max-width:650px){.app[data-view="home"] .site-header{flex-direction:column;align-items:stretch;gap:7px}.app[data-view="home"] .location-link{display:inline-flex!important;min-height:16px;font-size:9px;letter-spacing:.08em;margin:0;width:max-content}.app[data-view="home"] .primary-nav{width:100%;justify-content:space-between}}
@media(max-width:390px){.bookings-form-grid{grid-template-columns:1fr}.booking-field-detail{display:none}.booking-field-detail ~ .booking-field{grid-column:1/-1}.bookings-editorial :is(h1,h2){font-size:clamp(58px,15vw,75px)}.primary-nav .nav-link{font-size:9px}.bookings-form-shell{padding-top:22px}.booking-field{gap:6px}}
@media(prefers-reduced-motion:reduce){.view-bookings:not([hidden]){animation:none!important}}


/* ------ KANEL Origin Story / aligned with the approved Moss & Oat site ------ */
.story-home-link{position:absolute;left:var(--edge);bottom:clamp(92px,14vh,151px);z-index:5;display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:215px;border-top:1px solid var(--oat);color:var(--oat);padding-top:17px;font-size:11px;line-height:1.5;letter-spacing:.11em;font-weight:500;transition:opacity .25s ease,transform .4s var(--ease)}
.story-home-link-kicker{font-size:9px;letter-spacing:.18em;color:var(--oat)}
.story-home-link-label{display:flex;gap:17px;align-items:center}
.story-home-link-label span:last-child{font-size:19px;line-height:1;transition:transform .35s var(--ease)}
.story-home-link:hover .story-home-link-label span:last-child{transform:translate(4px,-4px)}
.portal-motion .view-home>.story-home-link{opacity:var(--portal-explore-opacity,1)}
.app[data-view="story"] .location-link>span{display:none}
.app[data-view="story"] .mini-black{display:block}
.view-story{background:var(--oat);color:var(--basalt);min-height:100dvh;overflow:clip}
.view-story:not([hidden]){animation:view-reveal .55s var(--ease) both}
.story-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);min-height:100dvh}
.story-paper{position:relative;z-index:1;display:flex;flex-direction:column;min-width:0;min-height:100dvh;padding:clamp(139px,15vh,185px) clamp(34px,5.7vw,102px) 34px var(--edge);background:radial-gradient(ellipse at 3% 92%,rgba(169,124,80,.10),transparent 45%),var(--oat)}
.story-metadata{display:flex;justify-content:space-between;gap:25px;font-size:10px;line-height:1.5;font-weight:500;letter-spacing:.18em;color:#59564d}
.story-narrative{margin:auto 0;max-width:700px;padding:clamp(55px,8vh,110px) 0 clamp(53px,7.5vh,100px)}
.story-kicker{margin:0 0 clamp(20px,3vw,37px);font-size:10px;letter-spacing:.20em;color:var(--moss);font-weight:600}
.story-narrative :is(h1,h2){font-size:clamp(63px,7.25vw,124px);line-height:.93;letter-spacing:-.073em;font-weight:400;margin:0 0 clamp(33px,4.2vw,60px);max-width:700px}
.story-narrative :is(h1,h2) span,.story-narrative :is(h1,h2) em{display:block;white-space:nowrap}
.story-narrative :is(h1,h2) em{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.074em;font-weight:400;font-style:italic;color:var(--moss);font-size:.94em}
.story-rule{width:74px;height:2px;background:var(--bronze);margin:0 0 clamp(24px,3vw,40px)}
.story-opening{font-size:clamp(22px,1.85vw,30px);letter-spacing:-.024em;line-height:1.3;font-weight:500;margin:0 0 24px}
.story-paragraph{font-size:clamp(16px,1.17vw,19px);line-height:1.68;letter-spacing:-.01em;color:#45443f;max-width:48ch;margin:0 0 19px}
.story-personal{margin-bottom:0}
.story-reserve{width:fit-content;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid var(--basalt);padding:0 0 12px;margin-top:clamp(35px,4.8vw,64px);font-size:10px;letter-spacing:.16em;font-weight:600;transition:color .25s ease,gap .25s ease}
.story-reserve:hover{color:var(--bronze);gap:33px}
.story-reserve span:last-child{font-size:19px}
.story-paper-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:auto;padding-top:15px;border-top:1px solid rgba(26,25,24,.20);font-size:10px;letter-spacing:.11em;font-weight:500;line-height:1.5}
.story-paper-footer a{display:flex;gap:9px;align-items:center}
.story-paper-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.story-night{position:sticky;top:0;min-height:100dvh;height:100dvh;background:#29372a;color:var(--oat);isolation:isolate;overflow:hidden}
.story-night:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 110% -13%,rgba(169,124,80,.16),transparent 62%),radial-gradient(ellipse at 5% 95%,rgba(11,16,10,.55),transparent 66%),linear-gradient(165deg,#354431,#243023 70%);z-index:-2}
.story-night:after{content:"";position:absolute;left:-25%;top:-17%;width:150%;height:130%;background:repeating-linear-gradient(99deg,transparent 0 23px,rgba(241,220,189,.012) 24px 25px,transparent 26px 59px);transform:rotate(-9deg);opacity:.8;z-index:-1}
.story-night-texture{position:absolute;inset:0;opacity:.18;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.39' numOctaves='3' seed='8' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");mix-blend-mode:screen}
.story-rings{position:absolute;inset:-26% -46% 4% -65%;pointer-events:none;transform:rotate(-24deg) scale(1.04);background:repeating-radial-gradient(ellipse at 53% 49%,transparent 0 28px,rgba(210,180,139,.18) 29px 30px,transparent 31px 39px,rgba(210,180,139,.08) 40px 41px,transparent 42px 59px);mask-image:radial-gradient(ellipse at center,black 16%,transparent 63%);-webkit-mask-image:radial-gradient(ellipse at center,black 16%,transparent 63%);opacity:.6;transition:transform 1.2s var(--ease)}
.view-story:not([hidden]) .story-rings{transform:rotate(-19deg) scale(1.08)}
.story-night-inner{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(139px,15vh,185px) clamp(35px,5vw,85px) clamp(32px,4vw,65px);position:relative;z-index:1}
.story-night-top{display:flex;align-items:start;justify-content:space-between;gap:18px;font-size:10px;line-height:1.5;letter-spacing:.15em;color:rgba(242,237,228,.72);max-width:100%}
.story-night-logo{width:clamp(60px,6vw,105px);height:auto;opacity:.48}
.story-closer{max-width:540px;position:relative;margin-top:auto}
.story-closer-index{display:inline-block;margin-bottom:clamp(26px,5vh,48px);font-size:11px;letter-spacing:.20em;color:#d6ae80}
.story-closer blockquote{border:0;padding:0;margin:0 0 clamp(38px,6vh,66px);font-size:clamp(39px,3.65vw,70px);font-weight:400;letter-spacing:-.053em;line-height:1.14}
.story-closer-bottom{display:flex;align-items:center;gap:21px;font-size:10px;letter-spacing:.16em;color:rgba(242,237,228,.73);line-height:1.5}
.story-closer-bottom span:first-child{flex:0 0 48px;height:1px;background:var(--bronze)}
@media(max-width:1050px){.story-grid{grid-template-columns:minmax(0,1.1fr) minmax(335px,.9fr)}.story-paper{padding-right:36px}.story-metadata span:last-child{display:none}.story-narrative :is(h1,h2){font-size:clamp(59px,6.85vw,86px)}.story-night-inner{padding-right:32px;padding-left:32px}.story-closer blockquote{font-size:clamp(36px,4vw,50px)}}
@media(max-width:780px){.story-nav-link{display:none}.story-grid{grid-template-columns:1fr}.story-paper{min-height:auto;padding:clamp(124px,16vh,170px) var(--edge) 29px}.story-narrative{padding:clamp(50px,9vh,74px) 0 60px;max-width:640px}.story-narrative :is(h1,h2){font-size:clamp(70px,11vw,105px)}.story-opening{font-size:24px}.story-paragraph{font-size:18px;max-width:58ch}.story-night{position:relative;top:auto;min-height:440px;height:auto}.story-night-inner{min-height:440px;padding:42px var(--edge) 49px}.story-night-logo{width:95px}.story-closer blockquote{font-size:clamp(42px,6.3vw,59px);max-width:650px}}
@media(max-width:540px){.story-home-link{left:var(--edge);bottom:calc(54px + env(safe-area-inset-bottom));min-width:auto;font-size:10px;gap:5px;padding-top:13px;max-width:165px}.story-home-link-label{gap:8px}.story-home-link-label span:first-child{display:none}.story-home-link-kicker{font-size:10px}.story-home-link-label span:last-child{font-size:18px}.story-paper{padding-top:113px}.story-metadata{font-size:9px}.story-narrative{padding:55px 0 56px}.story-narrative :is(h1,h2){font-size:clamp(58px,12vw,75px);letter-spacing:-.068em;margin-bottom:38px}.story-narrative :is(h1,h2) em{font-size:.91em}.story-kicker{font-size:9px;letter-spacing:.17em;margin-bottom:27px}.story-rule{margin-bottom:28px}.story-opening{font-size:23px;margin-bottom:21px}.story-paragraph{font-size:17px;line-height:1.6}.story-reserve{margin-top:40px;font-size:10px}.story-paper-footer{font-size:9px;flex-wrap:wrap;gap:12px}.story-night{min-height:480px}.story-night-inner{min-height:480px;padding:37px var(--edge) 51px}.story-night-top{font-size:9px}.story-closer blockquote{font-size:clamp(37px,10vw,49px);line-height:1.15;margin-bottom:45px}.story-rings{inset:-23% -48% 5% -55%}}
@media(max-width:360px){.story-narrative :is(h1,h2){font-size:54px}.story-paper-footer{font-size:8px}.story-reserve{font-size:9px}}
@media(prefers-reduced-motion:reduce){.story-rings{transform:none!important}.story-home-link,.story-closer,.story-narrative{animation:none!important}}

/* The story's header spans two papers: dark logo over oat, light links over moss. */
.app[data-view="story"] .primary-nav{gap:clamp(12px,1.4vw,26px)}
.app[data-view="story"] .primary-nav .nav-link,.app[data-view="story"] .nav-hamburger{color:var(--oat)}
.app[data-view="story"] .primary-nav .nav-hamburger span{background:currentColor}
.app[data-view="story"] .location-link{color:var(--basalt)}
.story-night{position:relative;top:auto;min-height:100%;height:auto}
.story-night-inner{height:100%;min-height:100dvh}
@media(max-width:780px){
 .app[data-view="story"] .site-header{background:rgba(242,237,228,.88);backdrop-filter:blur(12px);padding-bottom:13px}
 .app[data-view="story"] .primary-nav .nav-link,.app[data-view="story"] .nav-hamburger{color:var(--basalt)}
}


/* KANEL hours: approved by the owner on 19 Oct 2026. Editorial, no fake live status. */
.visit-secondary .visit-description{margin-bottom:27px}
.visit-hours{max-width:390px;margin:0 0 30px;padding:16px 0 13px;border-top:1px solid rgba(26,25,24,.45);border-bottom:1px solid rgba(26,25,24,.22)}
.visit-hours-heading,.bookings-hours-title{margin:0 0 12px;color:var(--moss);font-size:10px;letter-spacing:.18em;font-weight:600;line-height:1.5}
.visit-hours-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;font-size:clamp(11px,.92vw,13px);letter-spacing:.035em;line-height:1.45}
.visit-hours-row+ .visit-hours-row{border-top:1px solid rgba(26,25,24,.11)}
.visit-hours-row span{color:#4e4b45;font-size:11px;letter-spacing:.095em}
.visit-hours-row time{color:var(--basalt);font-family:inherit;font-weight:600;white-space:nowrap;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.bookings-hours{max-width:470px;margin:22px 0 15px;padding:19px 0 9px;border-bottom:1px solid rgba(26,25,24,.17)}
.bookings-hours-title{margin-bottom:11px}
.bookings-hours p:not(.bookings-hours-title){display:flex;justify-content:space-between;gap:20px;margin:8px 0;font-size:11px;letter-spacing:.1em;color:#555149}
.bookings-hours strong{font-size:12px;font-weight:600;color:var(--basalt);font-variant-numeric:tabular-nums;white-space:nowrap}
.booking-field-detail{flex-wrap:wrap;align-content:center}
.booking-field-detail .booking-day-window{max-width:210px;color:var(--moss);font-weight:600;font-size:10px;line-height:1.5;margin:3px 0 0}
@media (max-width:840px){.visit-hours{max-width:460px}.visit-secondary .visit-description{margin-bottom:22px}.visit-hours-row{font-size:12px}.bookings-hours{max-width:100%}}
@media (max-width:390px){.visit-hours-row{align-items:flex-start}.visit-hours-row span{font-size:10px;max-width:190px}.booking-field-detail{display:flex;grid-column:1/-1;justify-content:flex-start;padding:0 0 12px;border-bottom:1px solid rgba(26,25,24,.15)}.booking-field-detail p{max-width:100%}.booking-field-detail .booking-day-window{font-size:10px;max-width:100%}}


/* KANEL social icons: minimal, quiet, inline SVGs; no external icon dependency.
   Profile handles have not been authorised yet; icons are visual until configured. */
.kanel-social-icons{display:inline-flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start;gap:clamp(10px,1.1vw,18px);flex-wrap:nowrap;width:max-content;max-width:none!important;line-height:1}
.kanel-social-icon{display:inline-flex;flex:0 0 auto;justify-content:center;align-items:center;width:32px;height:32px;color:inherit;opacity:.92;vertical-align:middle;border:1px solid transparent;border-radius:0;transition:color .25s ease,opacity .25s ease,transform .25s ease}
.kanel-social-icon svg{display:block;width:21px;height:21px;overflow:visible;fill:currentColor}
.kanel-social-icon svg[fill="none"]{fill:none}
.kanel-social-icon[data-social-profile="instagram"]{color:inherit}
.kanel-social-icon.is-linked{cursor:pointer}
.kanel-social-icon.is-linked:hover,.kanel-social-icon.is-linked:focus-visible{color:var(--bronze);opacity:1;transform:translateY(-2px)}
.kanel-social-icon:not(.is-linked){cursor:default}
.kanel-social-icon:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}
.visit-social-block{margin-top:clamp(23px,4vh,40px);padding-top:18px;border-top:1px solid rgba(26,25,24,.18);max-width:260px}
.visit-social-heading{font-size:10px;letter-spacing:.17em;font-weight:600;margin:0 0 12px;color:var(--moss)}
.visit-social-block .kanel-social-icons{gap:17px;color:var(--moss)}
.visit-social-block .kanel-social-icon{width:35px;height:35px}
.visit-social-block .kanel-social-icon svg{width:23px;height:23px}
.panel-footer .kanel-social-icons{color:var(--oat);opacity:.86}
.story-paper-footer .kanel-social-icons,.bookings-footer .kanel-social-icons{color:var(--moss)}
@media(max-width:690px){.panel-footer{column-gap:20px;row-gap:14px}.story-paper-footer{row-gap:8px}.kanel-social-icons{gap:13px}.kanel-social-icon{width:30px;height:30px}.kanel-social-icon svg{width:20px;height:20px}}
@media(max-width:390px){.story-paper-footer .kanel-social-icons{order:3;width:100%;justify-content:center}.bookings-footer .kanel-social-icons{order:3}}
@media(prefers-reduced-motion:reduce){.kanel-social-icon{transition:none!important}}



/* KANEL Happy Hour — approved daily 15:00–18:00 offer; additive styles. */
.kanel-hh-menu-spotlight[hidden],.kanel-hh-menu-detail[hidden]{display:none!important}
.kanel-hh-menu-spotlight{width:100%;display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.18fr);gap:clamp(24px,4vw,68px);align-items:start;position:relative;border-top:1px solid rgba(242,237,228,.28);padding:clamp(24px,3vw,44px) 0 clamp(23px,2.8vw,39px);margin:-15px 0 35px}
.kanel-hh-menu-intro{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.kanel-hh-eyebrow{display:block;font-size:10px;letter-spacing:.18em;line-height:1.5;font-weight:500;color:var(--bronze)}
.kanel-hh-menu-intro h3{font-weight:400;letter-spacing:-.045em;line-height:1.05;font-size:clamp(28px,3.3vw,52px);margin:0}
.kanel-hh-menu-rule{width:clamp(44px,9vw,125px);height:1px;background:rgba(242,237,228,.45);margin-top:8px}
.kanel-hh-menu-price-list{min-width:0}
.kanel-hh-rate{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid rgba(242,237,228,.17);line-height:1.3}
.kanel-hh-rate:first-child{padding-top:0}
.kanel-hh-rate>span{font-size:clamp(10px,.85vw,13px);letter-spacing:.115em;line-height:1.65;font-weight:500}
.kanel-hh-rate>strong{white-space:nowrap;font-weight:500;font-variant-numeric:tabular-nums;font-size:clamp(17px,1.35vw,23px);letter-spacing:-.025em}
.kanel-hh-rate>strong small{font-size:9px;font-weight:600;letter-spacing:.14em;padding-left:7px;opacity:.62}
.kanel-hh-menu-note{grid-column:2;margin:-1px 0 0;font-size:10px;letter-spacing:.025em;color:rgba(242,237,228,.57);line-height:1.6}
.kanel-hh-menu-detail{margin:0 0 clamp(26px,4vw,54px);padding:18px clamp(16px,2.5vw,28px) 18px;border:1px solid rgba(242,237,228,.27);border-left:2px solid var(--bronze)}
.kanel-hh-detail-header{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:12px;font-size:10px;letter-spacing:.12em;font-weight:500;color:rgba(242,237,228,.77)}
.kanel-hh-detail-header span:first-child{color:var(--bronze);font-weight:600}
.kanel-hh-menu-detail .kanel-hh-rate{max-width:630px}
.kanel-hh-menu-detail .kanel-hh-rate>strong{font-size:17px}
.kanel-hh-menu-detail[data-category="cocktails"] [data-hh-offer="wine"],.kanel-hh-menu-detail[data-category="cocktails"] [data-hh-offer="beer"],.kanel-hh-menu-detail[data-category="wine"] [data-hh-offer="cocktails"]{display:none}
.kanel-hh-menu-detail>p{font-size:10px;line-height:1.6;letter-spacing:.015em;margin:10px 0 0;color:rgba(242,237,228,.58)}
.kanel-hh-visit{width:100%;max-width:460px;background:var(--moss);color:var(--oat);padding:clamp(21px,2.5vw,30px);margin:0 0 30px;position:relative}
.kanel-hh-visit-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;margin:0 0 15px}
.kanel-hh-visit h3{font-size:clamp(18px,1.75vw,26px);font-weight:500;letter-spacing:-.025em;margin:0;line-height:1.2}
.kanel-hh-visit-heading>span{font-size:9px;letter-spacing:.1em;color:rgba(242,237,228,.83);white-space:nowrap}
.kanel-hh-visit .kanel-hh-rate{padding:8px 0;border-bottom:1px solid rgba(242,237,228,.22)}
.kanel-hh-visit .kanel-hh-rate>span{font-size:11px;letter-spacing:.075em}
.kanel-hh-visit .kanel-hh-rate>strong{font-size:19px}
.kanel-hh-visit>p{font-size:10px;line-height:1.5;margin:13px 0 0;color:rgba(242,237,228,.77)}
@media (max-width:850px){.kanel-hh-menu-spotlight{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px}.kanel-hh-visit{max-width:480px}}
@media (max-width:620px){.kanel-hh-menu-spotlight{display:block;margin:5px 0 35px;padding:22px 0 22px}.kanel-hh-menu-intro{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:baseline;margin-bottom:22px;gap:11px}.kanel-hh-menu-intro h3{font-size:32px;order:2;width:100%}.kanel-hh-menu-rule{display:none}.kanel-hh-menu-note{margin:14px 0 0}.kanel-hh-menu-price-list .kanel-hh-rate:first-child{border-top:1px solid rgba(242,237,228,.17);padding-top:9px}.kanel-hh-visit{max-width:none}.kanel-hh-rate>span{font-size:11px}.kanel-hh-detail-header{flex-wrap:wrap}}
@media (max-width:350px){.kanel-hh-visit{padding:19px 15px}.kanel-hh-visit-heading>span{font-size:8px}.kanel-hh-visit .kanel-hh-rate>span{font-size:10px}.kanel-hh-visit .kanel-hh-rate>strong{font-size:17px}}
/* KANEL VISUAL POLISH 01 - alignment and spacing only.
   Uses the approved Moss/Oat identity and leaves copy, routes and booking logic intact. */
:root{--kanel-detail-column:460px}

/* Shared editorial rhythm: the small chapter labels and their right-hand metadata
   always sit on a common text baseline, without crushing narrow screens. */
.panel-meta,.detail-top,.story-metadata{align-items:baseline;line-height:1.55;row-gap:8px}
.panel-inner,.story-paper,.bookings-form-shell{min-width:0}

/* Menu editorial grid: keep the price to the same right edge as the framed offer,
   and make category jumps and ingredients feel deliberately spaced. */
.menu-detail{min-width:0}
.menu-section-links{column-gap:clamp(16px,2vw,28px);row-gap:12px}
.menu-item-prices{gap:clamp(12px,2vw,24px)}
.menu-item-desc{max-width:68ch}
.kanel-hh-menu-detail .kanel-hh-rate{max-width:none;width:100%}
.kanel-hh-menu-detail{padding-top:clamp(20px,2.3vw,28px);padding-bottom:clamp(20px,2.3vw,28px)}
.kanel-hh-menu-detail .kanel-hh-detail-header{margin-bottom:15px}
.kanel-hh-menu-spotlight{margin-top:0}
.kanel-hh-menu-note{min-width:0}

/* Visit: description, hours, offer and follow links now share one column width,
   rather than ending at four unrelated right-hand edges. */
.visit-secondary{min-width:0;width:100%;max-width:var(--kanel-detail-column);justify-self:end}
.visit-secondary .visit-description,.visit-secondary .visit-hours,
.visit-secondary .kanel-hh-visit,.visit-secondary .visit-social-block{max-width:none;width:100%}
.visit-secondary .visit-description{margin-bottom:clamp(24px,2.4vw,34px)}
.visit-secondary .visit-hours{margin-bottom:clamp(26px,2.8vw,36px)}
.visit-secondary .kanel-hh-visit{margin-bottom:clamp(26px,2.8vw,36px)}
.visit-secondary .visit-social-block{margin-top:clamp(26px,3vw,40px)}
.visit-hours-row{line-height:1.55}
.visit-footer{align-items:flex-start;row-gap:22px}

/* Bookings: consistent body rhythm, and readable labels / two-column fields. */
.bookings-editorial{min-width:0}
.bookings-intro{max-width:35ch;margin-top:clamp(26px,3vw,40px)}
.bookings-form-grid{column-gap:clamp(16px,2.4vw,28px)}
.bookings-form-heading{align-items:baseline;line-height:1.55}
.booking-field{gap:10px}
.booking-field label{line-height:1.55}
.bookings-footer{padding-top:24px;row-gap:16px}

/* Social links: give the icons consistent visual spacing and larger touch areas.
   Unlinked social placeholders intentionally remain noninteractive. */
.kanel-social-icon{width:40px;height:40px}
.visit-social-block .kanel-social-icon{width:44px;height:44px}
.visit-social-block .kanel-social-icons{gap:16px}
.story-paper-footer{row-gap:14px}

/* Homepage teaser: preserve approved position while retaining clarity on moss. */
.story-home-link{text-shadow:0 1px 4px rgba(10,17,10,.54)}
.story-home-link-label{line-height:1.5}

@media (max-width:840px){
  .visit-secondary{justify-self:start}
  .visit-layout{gap:clamp(34px,5.5vw,54px)}
  .bookings-layout{gap:clamp(40px,5.5vw,65px)}
}
@media (max-width:650px){
  .panel-meta,.detail-top{gap:12px;flex-wrap:wrap}
  .menu-section-links{column-gap:18px;row-gap:9px}
  .visit-layout{gap:clamp(31px,7vw,48px)}
  .visit-secondary .visit-hours{padding-top:18px;padding-bottom:15px}
  .bookings-layout{gap:clamp(32px,8vw,48px)}
  .bookings-form-grid{column-gap:18px}
  .bookings-form-heading{flex-wrap:wrap;gap:9px 15px}
  .kanel-hh-menu-detail{padding:19px 18px 21px}
  .kanel-hh-menu-detail .kanel-hh-rate{max-width:none}
  .kanel-social-icon{width:38px;height:38px}
  .visit-social-block .kanel-social-icon{width:44px;height:44px}
  .panel-footer,.bookings-footer,.visit-footer{row-gap:17px}
  .story-paper-footer{row-gap:12px}
}
@media (max-width:390px){
  .kanel-hh-menu-detail{padding:18px 15px 19px}
  .menu-section-links{column-gap:14px}
  .booking-field{padding-top:20px;padding-bottom:18px}
  .visit-hours-row{gap:11px}
  .visit-social-block .kanel-social-icons{gap:14px}
}


/* KANEL business identification - subtle legal line in the Visit footer. */
.visit-footer .kanel-legal-identifiers{
  font-size:clamp(9px,.72vw,10px);
  letter-spacing:.06em;
  line-height:1.7;
  opacity:.78;
  overflow-wrap:anywhere;
}

/* KANEL visual QA correction 22 Oct: precise header/hero alignment.
   Keep the original approved layout and mobile navigation intact. */
@media (min-width:841px) {
  /* Arrow's right edge = hamburger's right edge (same page gutter). */
  .view-home > .explore {right:calc(var(--edge) - 8px);}
}
/* The logo hover rule was hitting the lower KANEL letterforms;
   keep the underline but give the original wordmark 11px clearance. */
.app[data-view="menu"] .location-link::after,
.app[data-view="visit"] .location-link::after,
.app[data-view="story"] .location-link::after,
.app[data-view="bookings"] .location-link::after {bottom:-11px;}


/* SEO route headings share the same responsive design as their h2 counterparts. */
.panel-meta h1{font:inherit;letter-spacing:inherit;margin:0;color:inherit}


/* ---- KANEL V11 | Owner-reported iPhone and desktop alignment corrections ----
   22 Oct 2026. Preserve brand colors, content, homepage artwork and typography. */
/* Prevent browser-default bold/small headings on separate, crawlable SEO pages. */
.story-narrative :is(h1,h2), .bookings-editorial :is(h1,h2),
.visit-primary :is(h1,h2), .menu-detail :is(h1,h2) {text-wrap:balance}
/* Text presentation is requested explicitly for arrows: not iOS emoji squares. */
.menu-row-arrow, .booking-submit span:last-child, .story-home-link-label span:last-child,
.story-reserve span:last-child, .visit-directions, .signature-deck-full-link,
.bookings-group-note a, .text-link, .panel-footer a {font-variant-emoji:text}
/* The fixed header must cover scrolling text, not float transparently over it. */
@media (min-width:781px){
 .app:not([data-view="home"]) .site-header.is-scrolled {background:rgba(242,237,228,.98);box-shadow:0 1px 0 rgba(26,25,24,.11);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
 .app[data-view="menu"] .site-header.is-scrolled {background:rgba(26,25,24,.98);box-shadow:0 1px 0 rgba(242,237,228,.14)}
 .app[data-view="story"] .site-header.is-scrolled .nav-link,
 .app[data-view="story"] .site-header.is-scrolled .nav-hamburger {color:var(--basalt)}
 .app[data-view="story"] .site-header.is-scrolled .nav-hamburger span {background:var(--basalt)}
}
@media (max-width:780px){
 /* This surface stays opaque when customers scroll Visit, Menu or Bookings. */
 .app:not([data-view="home"]) .site-header {background:rgba(242,237,228,.985);box-shadow:0 1px 0 rgba(26,25,24,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-bottom:16px}
 .app[data-view="menu"] .site-header {background:rgba(26,25,24,.985);box-shadow:0 1px 0 rgba(242,237,228,.18)}
 .app[data-view="story"] .site-header{background:rgba(242,237,228,.985)}
 .app[data-view="home"] .site-header {box-shadow:none}
 .app[data-view="story"] .primary-nav .nav-link {color:var(--basalt)}
 .app[data-view="story"] .primary-nav .nav-hamburger span {background:var(--basalt)}
}
@media (max-width:650px){
 /* Keep the approved four mobile navigation links, never overlapping content. */
 .site-header {padding-left:var(--edge);padding-right:var(--edge)}
 .primary-nav {gap:0!important;justify-content:space-between!important;min-width:0}
 .primary-nav .nav-link {font-size:clamp(9px,2.35vw,11px);letter-spacing:.045em;flex:0 1 auto;white-space:nowrap}
 .app[data-view="home"] .site-header {padding-bottom:8px}
 .panel-inner {padding-top:clamp(118px,15vh,147px)}
 .bookings-panel {padding-top:clamp(118px,15vh,147px)}
 .visit-layout {margin-top:clamp(64px,10vh,95px)}
 .visit-primary :is(h1,h2){font-size:clamp(47px,12.7vw,72px);line-height:1.08;letter-spacing:-.045em;font-weight:400}
 .story-narrative :is(h1,h2){font-weight:400}
 .bookings-editorial :is(h1,h2){font-weight:400}
 /* Input rows become fully legible, comfortable one-column touch targets. */
 .bookings-form-grid {grid-template-columns:minmax(0,1fr);gap:0}
 .booking-field {grid-column:1/-1;gap:8px;padding:17px 0 16px}
 .booking-field label {font-size:10px;letter-spacing:.115em}
 .booking-field input,.booking-field select,.booking-field textarea{font-size:16px;min-height:44px;line-height:1.4;padding:9px 0;color:var(--basalt)}
 .booking-field input::placeholder,.booking-field textarea::placeholder {font-size:13px}
 .booking-field-detail {display:flex;grid-column:1/-1;align-items:flex-start;justify-content:flex-start;padding:12px 0 15px;gap:8px}
 .booking-field-detail-symbol {display:none}
 .booking-field-detail p {max-width:36ch;font-size:12px;line-height:1.55}
 .booking-field-detail .booking-day-window {max-width:38ch}
 .bookings-form-shell {padding-top:26px}
 .bookings-form-heading {padding:14px 0 17px}
 .bookings-footer {display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;align-items:start;gap:12px;margin-top:0}
 .bookings-footer a {overflow-wrap:anywhere}
 .bookings-footer .kanel-social-icons {order:unset;width:auto;justify-content:flex-start}
 .bookings-footer span {max-width:100%}
 .visit-footer {gap:16px}
 .visit-secondary .visit-description{max-width:36ch}
 .visit-hours-row{align-items:baseline;gap:10px}
 .visit-hours-row span{letter-spacing:.04em;font-size:clamp(10px,2.5vw,12px)}
 .visit-hours-row time{font-size:clamp(11px,2.7vw,13px);letter-spacing:.025em}
}
@media (max-width:360px){
 .primary-nav .nav-link {font-size:8.5px;letter-spacing:.025em}
 .site-header {--edge:18px}
 .visit-primary :is(h1,h2){font-size:45px}
}


/* KANEL registered trademark marks — approved logotypes are kept byte-for-byte intact.
   The registered R is separate live HTML, not part of the artwork or company name. */
.kanel-brand-lockup--hero {position:relative;display:block;width:100%;max-width:100%}
.kanel-hero-r {position:absolute;top:-.7em;right:-.48em;font-family:Arial,Helvetica,sans-serif;font-size:clamp(11px,1.2vw,18px);font-weight:400;line-height:1;letter-spacing:0;color:var(--basalt);opacity:0;animation:fade-up 1.3s .12s var(--ease) forwards;pointer-events:none}
.portal-door .kanel-hero-r {opacity:1;animation:none;transform:none}
@media (prefers-reduced-motion:reduce){.kanel-hero-r{opacity:1;animation:none;transform:none}}
.location-link .kanel-nav-r{display:none;position:absolute;right:-.85em;top:-.45em;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:400;letter-spacing:0;line-height:1;pointer-events:none}
.app[data-view="menu"] .location-link .kanel-nav-r,
.app[data-view="story"] .location-link .kanel-nav-r,
.app[data-view="bookings"] .location-link .kanel-nav-r,
.app[data-view="visit"] .location-link .kanel-nav-r{display:block}
.kanel-story-logo-lockup{display:block;position:relative;flex:0 0 auto;width:fit-content}
.kanel-story-logo-lockup .story-night-logo{display:block}
.kanel-story-r{position:absolute;top:-.38em;right:-.68em;font-family:Arial,Helvetica,sans-serif;font-size:clamp(9px,.8vw,13px);font-weight:400;line-height:1;letter-spacing:0;color:rgba(242,237,228,.6)}
.visit-footer .kanel-trademark-note{display:block;max-width:37ch;font-size:clamp(9px,.72vw,11px);line-height:1.5;letter-spacing:.025em;opacity:.75;overflow-wrap:normal}
.visit-footer .kanel-copyright{white-space:nowrap}
@media (max-width:540px){
  .kanel-hero-r{top:-.95em;right:-.2em;font-size:12px}
  .kanel-story-r{font-size:10px}
  .visit-footer .kanel-trademark-note{font-size:10px;max-width:38ch}
}

.kanel-hero-r,.kanel-nav-r,.kanel-story-r,.kanel-trademark-note{font-variant-emoji:text;}
