@font-face{font-family:Norwester;src:url('assets/norwester.otf') format('opentype');font-display:swap}
@font-face{font-family:Futura;src:url('assets/futura-regular.ttf') format('truetype');font-display:swap}
:root{--night:#3d3836;--night-2:#2a2623;--night-3:#4a4240;--paper:#fff7ee;--paper-2:#e0dad2;--blue:#a9cadd;--blue-strong:#8fb6cb;--taupe:#b7a088;--muted:#b7a088;--line:rgba(224,218,210,.18);--edge:clamp(22px,4.5vw,76px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--paper);font-family:Futura,'Avenir Next',Arial,sans-serif}
button,a{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img,svg,video{display:block;max-width:100%}
em{font-style:normal;color:var(--blue)}
::selection{background:var(--taupe);color:var(--night)}
:focus-visible{outline:3px solid var(--taupe);outline-offset:4px}
.skip{position:fixed;top:-60px;left:12px;z-index:100;background:var(--paper);color:var(--night);padding:12px}
.skip:focus{top:12px}
.concept-note{position:absolute;z-index:5;top:100px;right:var(--edge);font-size:10px;letter-spacing:.17em;color:#fff7ee;background:rgba(42,38,35,.84);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);padding:10px 13px;border-radius:3px;pointer-events:none}
.concept-note span{padding:0 6px;color:var(--taupe)}
.site-header{height:84px;position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 var(--edge);border-bottom:1px solid rgba(224,218,210,.17);background:rgba(61,56,54,.92);backdrop-filter:blur(12px)}
.wordmark{display:inline-flex;align-items:center;gap:12px;font-family:Norwester,sans-serif;font-size:20px;line-height:1;white-space:nowrap;letter-spacing:.03em}
.wordmark small{display:block;font-family:Futura,sans-serif;font-size:8px;letter-spacing:.3em;margin-top:6px;color:var(--blue)}
.wordmark-icon{width:44px;height:34px;position:relative;flex:none}
.wordmark-icon i{position:absolute;top:6px;width:23px;height:23px;border:2px solid var(--paper);border-radius:50%;transform:skew(-5deg)}
.wordmark-icon i:first-child{left:0}.wordmark-icon i:last-child{right:0}
.main-nav{display:flex;align-items:center;gap:clamp(16px,3vw,46px);margin-left:auto}
.main-nav a,.header-order{font-family:Norwester,sans-serif;text-transform:uppercase;font-size:12px;letter-spacing:.15em;white-space:nowrap}
.main-nav a{color:#e0dad2;transition:color .2s}
.main-nav a:hover{color:var(--blue)}
.header-order{display:flex;align-items:center;gap:20px;color:var(--night);background:var(--blue);padding:14px 19px;border-radius:2px;transition:background .2s,transform .2s}
.header-order:hover{background:#fff7ee;transform:translateY(-2px)}
.scene{position:relative;overflow:hidden;scroll-margin-top:84px}
.scene-index{position:absolute;right:var(--edge);bottom:29px;font-family:Norwester,sans-serif;font-size:12px;letter-spacing:.08em;color:rgba(255,247,238,.65)}
.scene-index span{color:rgba(255,247,238,.3);margin:0 7px}
.approach{min-height:900px;height:min(980px,100svh);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);padding:84px var(--edge) 80px;background:radial-gradient(circle at 63% 49%,#514943 0%,#393330 32%,#3d3836 70%)}
.approach:before{content:"";position:absolute;inset:0;opacity:.15;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.52' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E")}
.approach-glow{position:absolute;left:-18%;bottom:-35%;width:65vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(183,160,136,.075),transparent 63%);pointer-events:none}
.approach-content{position:relative;z-index:4;align-self:center;padding-bottom:24px;max-width:850px}
.eyebrow,.chapter{display:flex;align-items:center;gap:12px;font-family:Norwester,sans-serif;font-size:13px;letter-spacing:.24em;color:var(--taupe)}
.eyebrow-line{display:block;width:28px;height:2px;background:var(--taupe)}
.approach h1,.lines h2,.crew h2,.finish h2{font-family:Norwester,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:-.028em;line-height:.88;margin:28px 0 0}
.approach h1{font-size:clamp(62px,6.4vw,116px)}
.approach h1 em{display:inline-block;position:relative}
.approach h1 em:after{content:"";position:absolute;left:0;right:2%;bottom:-13px;border-bottom:2px solid rgba(169,202,221,.6)}
.lead{font-size:clamp(16px,1.3vw,20px);line-height:1.58;max-width:440px;margin:37px 0 0;color:#e0dad2}
.hero-actions,.finish-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:34px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:54px;padding:15px 20px;border:1px solid transparent;font-family:Norwester,sans-serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;transition:background .23s,transform .23s,color .23s}
.button:hover{transform:translateY(-3px)}
.button span,.text-link span{font-family:Futura,sans-serif;font-size:19px;line-height:1;font-weight:700}
.button-bright{background:var(--blue);color:var(--night)}
.button-bright:hover{background:#fff7ee}
.text-link{display:inline-flex;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid rgba(255,247,238,.55);font-family:Norwester,sans-serif;font-size:12px;letter-spacing:.13em;text-transform:uppercase;transition:color .2s,border-color .2s}
.text-link:hover{color:var(--blue);border-color:var(--blue)}
.map-stage{position:relative;align-self:center;justify-self:end;width:min(100%,690px);aspect-ratio:1;border:1px solid rgba(169,202,221,.16);border-radius:50%;background:radial-gradient(circle at 54% 42%,rgba(169,202,221,.13),transparent 44%),radial-gradient(circle at 50% 50%,#514a46,#332e2b 70%);box-shadow:0 0 0 28px rgba(169,202,221,.035),0 0 0 86px rgba(169,202,221,.022),inset 0 0 110px rgba(0,0,0,.26);overflow:visible}
.map-grid{position:absolute;inset:0;border-radius:50%;overflow:hidden;background-image:linear-gradient(rgba(224,218,210,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(224,218,210,.04) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle,black 42%,transparent 74%)}
.city-map{position:absolute;inset:0;overflow:visible}
.street-grid path{fill:none;stroke:rgba(169,202,221,.13);stroke-width:2}
.arterials path{fill:none;stroke:rgba(183,160,136,.32);stroke-width:7}
.route-halo,.route-line{fill:none;stroke-linecap:round;stroke-linejoin:round}
.route-halo{stroke:var(--blue);stroke-width:17;opacity:.16;filter:blur(5px)}
.route-line{stroke:var(--blue);stroke-width:5;stroke-dasharray:850;stroke-dashoffset:850;animation:draw-route 3.2s cubic-bezier(.45,.05,.14,1) .4s forwards}
.route-origin{fill:var(--taupe);stroke:#fff7ee;stroke-width:3}
.route-destination-glow{fill:rgba(169,202,221,.09);animation:pulse-dest 3s ease-in-out infinite}
.route-destination-ring{fill:rgba(169,202,221,.13);stroke:var(--blue);stroke-width:2}
.route-destination{fill:var(--blue);stroke:var(--night);stroke-width:4}
.map-radar{position:absolute;border:1px solid rgba(169,202,221,.22);border-radius:50%;pointer-events:none}
.radar-one{inset:12%}.radar-two{inset:26%}
.map-label{position:absolute;font-family:Norwester,sans-serif;font-size:11px;letter-spacing:.24em;color:rgba(224,218,210,.5)}
.map-label-bayview{right:24%;top:13%;writing-mode:vertical-rl}
.map-label-leaside{top:28%;left:23%}.map-label-don{bottom:23%;left:9%}
.map-destination{position:absolute;left:50%;top:10%;display:flex;align-items:flex-start;gap:9px;white-space:nowrap;font-family:Norwester,sans-serif;font-size:10px;letter-spacing:.17em;color:var(--blue);animation:fade-up .8s ease 2.5s both}
.map-destination strong{display:block;margin-top:5px;font-size:15px;letter-spacing:.05em;color:var(--paper)}
.dest-pulse{width:7px;height:7px;flex:none;margin-top:2px;background:var(--taupe);border-radius:50%;box-shadow:0 0 0 4px rgba(183,160,136,.18)}
.map-coordinate{position:absolute;bottom:13%;right:5%;font-size:9px;letter-spacing:.2em;color:#b7a088}
.map-coordinate span{color:var(--taupe);padding:0 7px}
.scroll-cue{position:absolute;left:var(--edge);bottom:29px;display:inline-flex;align-items:center;gap:20px;font-family:Norwester,sans-serif;font-size:11px;letter-spacing:.23em;color:#e0dad2}
.scroll-cue span{display:inline-block;animation:down 1.5s ease-in-out infinite}
@keyframes draw-route{to{stroke-dashoffset:0}}
@keyframes pulse-dest{50%{transform:scale(1.16);transform-origin:545px 208px;opacity:.6}}
@keyframes fade-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes down{50%{transform:translateY(5px)}}

.lines{padding:116px var(--edge) 135px;background:var(--paper);color:var(--night)}
.lines:before{content:"";position:absolute;top:-80px;right:-220px;width:700px;height:700px;border:1px solid rgba(61,56,54,.07);border-radius:50%;box-shadow:0 0 0 80px rgba(61,56,54,.025),0 0 0 160px rgba(61,56,54,.018);pointer-events:none}
.lines-intro{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:end;column-gap:40px;margin-bottom:66px}
.lines-intro .chapter{grid-column:1/-1;color:#8c6f55}
.lines h2{font-size:clamp(64px,8vw,148px)}.lines h2 em{color:#6a8da0}
.lines-intro p{max-width:330px;margin:0 0 11px;font-size:clamp(17px,1.5vw,22px);line-height:1.42;color:#5a514d}
.lines-workspace{position:relative;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:clamp(26px,4vw,66px)}
.ride-choices{border-top:1px solid rgba(61,56,54,.27)}
.ride-choice{display:grid;grid-template-columns:41px 1fr 30px;align-items:center;gap:16px;width:100%;min-height:122px;border:0;border-bottom:1px solid rgba(61,56,54,.22);padding:16px 10px 16px 0;background:transparent;color:var(--night);text-align:left;transition:background .25s,padding .25s}
.ride-choice:hover,.ride-choice.is-active{background:rgba(169,202,221,.23);padding-left:15px}
.choice-number{align-self:start;margin-top:16px;font-family:Norwester,sans-serif;font-size:12px;letter-spacing:.16em;color:#8c7b69}
.choice-main strong{display:block;font-family:Norwester,sans-serif;font-weight:400;font-size:clamp(26px,2.6vw,42px);line-height:1}
.choice-main small{display:block;margin-top:7px;font-size:14px;color:#6a5f59}
.choice-arrow{font-size:24px;justify-self:end;opacity:.5;transition:transform .22s,opacity .22s}
.ride-choice.is-active .choice-arrow,.ride-choice:hover .choice-arrow{opacity:1;transform:translate(2px,-2px)}
.route-disclaimer{max-width:370px;margin:22px 0 0;font-size:11px;line-height:1.5;letter-spacing:.03em;color:#6a5f59}
.route-preview{min-height:545px;display:flex;flex-direction:column;position:relative;overflow:hidden;background:#3d3836;color:var(--paper);border-radius:4px;box-shadow:0 30px 60px rgba(61,56,54,.16)}
.route-preview:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68% 40%,rgba(169,202,221,.19),transparent 50%);pointer-events:none}
.route-preview-top,.route-preview-foot{z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:Norwester,sans-serif;font-size:10px;letter-spacing:.19em}
.route-preview-top{padding:26px 31px;border-bottom:1px solid rgba(255,247,238,.2)}
.route-preview-top i{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 6px 2px;background:var(--taupe)}
.compass{font-size:15px;color:var(--blue)}
.route-preview-map{position:absolute;inset:35px 7% auto 9%;width:84%;height:80%;opacity:.9}
.preview-grid path{stroke:rgba(224,218,210,.12);stroke-width:1;fill:none}
.preview-road{stroke:rgba(183,160,136,.2);stroke-width:7;fill:none}
.preview-route{stroke:var(--blue);stroke-width:7;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0;filter:drop-shadow(0 0 5px rgba(169,202,221,.45));transition:opacity .4s}
.route-preview[data-ride="social"] [data-path="social"],.route-preview[data-ride="tempo"] [data-path="tempo"],.route-preview[data-ride="long"] [data-path="long"]{opacity:1}
.preview-end-pulse{fill:rgba(169,202,221,.2);stroke:var(--blue);stroke-width:1}.preview-end{fill:var(--blue);stroke:var(--night);stroke-width:3}
.route-preview-info{z-index:2;margin:auto 31px 20px;max-width:360px}
.route-type{display:block;color:var(--taupe);font-family:Norwester,sans-serif;letter-spacing:.18em;font-size:11px;margin-bottom:8px}
.route-preview-info strong{display:block;font-family:Norwester,sans-serif;font-weight:400;font-size:clamp(38px,4vw,64px);line-height:.95}
.route-preview-info p{margin:10px 0 0;max-width:315px;font-size:15px;line-height:1.5;color:#e0dad2}
.route-preview-foot{padding:19px 31px;border-top:1px solid rgba(255,247,238,.2);color:#e0dad2}
.route-preview-foot b{color:var(--taupe);margin-left:5px}
.lines .scene-index{color:rgba(61,56,54,.6)}.lines .scene-index span{color:rgba(61,56,54,.3)}

.crew{display:grid;grid-template-columns:1fr 1fr;min-height:800px;background:var(--night-2)}
.crew-image{position:relative;overflow:hidden;min-height:700px}
.crew-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(61,56,54,.03),rgba(61,56,54,.12) 55%,rgba(61,56,54,.6))}
.crew-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1.2s ease}
.crew-image:hover img{transform:scale(1.035)}
.image-stamp{position:absolute;z-index:2;left:var(--edge);bottom:56px;max-width:350px;font-family:Norwester,sans-serif;font-size:14px;letter-spacing:.14em;border-left:3px solid var(--taupe);padding-left:14px;text-shadow:0 2px 15px #3d3836}
.crew-content{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:100px clamp(36px,6vw,105px) 120px}
.crew-content:before{content:"";position:absolute;right:-240px;top:-220px;width:600px;height:600px;border:1px solid rgba(169,202,221,.08);border-radius:50%;box-shadow:0 0 0 80px rgba(169,202,221,.03),0 0 0 160px rgba(169,202,221,.018)}
.crew .chapter,.crew h2,.crew-lead,.group-planner{position:relative;z-index:1}
.crew h2{font-size:clamp(70px,7.8vw,142px)}
.crew-lead{max-width:520px;margin:27px 0 33px;font-size:clamp(17px,1.45vw,22px);line-height:1.5;color:#e0dad2}
.group-planner{width:min(100%,560px);border:1px solid rgba(169,202,221,.33);background:#fff7ee;color:var(--night);padding:26px 30px 25px;box-shadow:20px 20px 0 rgba(169,202,221,.09)}
.planner-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:20px;border-bottom:1px solid rgba(61,56,54,.24);font-family:Norwester,sans-serif;font-size:22px;letter-spacing:.04em}
.planner-mark{font-family:Futura,sans-serif;font-size:26px;color:#6a8da0}
.planner-label{font-family:Norwester,sans-serif;font-size:11px;letter-spacing:.18em;margin:24px 0 12px;color:#6a5f59}
.size-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.size-options button{border:1px solid rgba(61,56,54,.32);background:transparent;color:var(--night);min-height:44px;font-family:Norwester,sans-serif;font-size:13px;letter-spacing:.13em;transition:background .2s,color .2s}
.size-options button:hover,.size-options button.is-active{background:var(--night);color:var(--paper)}
.planner-output{display:flex;align-items:flex-start;gap:12px;min-height:65px;margin:23px 0 4px}
.planner-output p{font-size:14px;line-height:1.5;margin:0;color:#4e4541}
.planner-dot{width:8px;height:8px;flex:none;background:#6a8da0;border-radius:50%;margin-top:5px}
.button-dark{background:var(--night);color:var(--paper);width:100%}
.button-dark:hover{background:#514943}
.group-planner>small{display:block;margin-top:11px;font-size:10px;line-height:1.4;color:#6a5f59}
.crew .scene-index{right:25px;bottom:24px}

.finish{min-height:590px;position:relative;display:flex;align-items:center;padding:105px var(--edge);overflow:hidden;background:#2a2623}
.finish-video,.finish-video:after{position:absolute;inset:0}
.finish-video video{width:100%;height:100%;object-fit:cover;object-position:50% 61%;opacity:.62}
.finish-video:after{content:"";background:linear-gradient(90deg,rgba(42,38,35,.95),rgba(42,38,35,.35) 68%,rgba(42,38,35,.4))}
.finish-content{position:relative;z-index:1;max-width:800px}
.finish h2{font-size:clamp(67px,8vw,138px)}
.finish p{font-size:18px;line-height:1.5;color:#e0dad2}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:90px;padding:20px var(--edge);background:#211e1c;border-top:1px solid var(--line);font-family:Norwester,sans-serif;font-size:11px;letter-spacing:.16em}
.site-footer i{font-style:normal;color:var(--blue);margin-left:6px}.site-footer span:nth-child(2){color:#b7a088}.site-footer a{color:var(--blue)}
.site-footer .social-links{display:flex;flex-wrap:wrap;gap:18px}.site-footer .social-links a{white-space:nowrap}

@media(max-width:1150px){
  .approach{height:auto;min-height:790px;grid-template-columns:1.05fr .95fr}.approach h1{font-size:clamp(58px,7vw,94px)}
  .map-stage{width:105%;margin-right:-12%}.map-destination{left:50%;top:10%}
  .main-nav{gap:18px}.main-nav a{font-size:10px}
  .crew-content{padding-left:40px;padding-right:40px}
}
@media(max-width:820px){
  .site-header{height:72px}.main-nav{display:none}.header-order{margin-left:auto;font-size:11px;padding:12px 14px}
  .approach{min-height:960px;grid-template-columns:1fr;grid-template-rows:auto auto;align-content:start;padding-top:140px;padding-bottom:120px}
  .approach-content{align-self:start;padding:0}.approach h1{font-size:clamp(62px,10vw,108px)}
  .lead{margin-top:30px}.map-stage{width:min(68vw,500px);justify-self:end;align-self:end;margin:-40px 5% 0 0}
  .lines{padding-top:85px}.lines-intro{grid-template-columns:1fr}.lines-intro p{margin-top:24px}
  .lines-workspace{grid-template-columns:1fr}.route-preview{min-height:530px}.route-preview-map{width:75%;left:12%}
  .crew{grid-template-columns:1fr}.crew-image{min-height:500px;max-height:650px}.crew-content{padding:80px var(--edge) 110px}
}
@media(max-width:560px){
  :root{--edge:22px}
  .scene{scroll-margin-top:66px}
  .concept-note{top:74px;right:11px;font-size:8px;padding:8px 9px;letter-spacing:.09em}
  .site-header{height:66px}.wordmark{font-size:15px;gap:8px}.wordmark small{font-size:6px}.wordmark-icon{transform:scale(.78);transform-origin:left center;width:36px}
  .header-order{padding:10px 9px;gap:6px;font-size:9px;letter-spacing:.05em;min-height:40px}
  .approach{min-height:900px;padding-top:115px;padding-bottom:100px;display:block}
  .eyebrow{font-size:9px;letter-spacing:.16em}.eyebrow-line{width:17px}
  .approach h1{font-size:clamp(58px,13.6vw,82px);margin-top:21px;line-height:.91}
  .approach h1 em:after{bottom:-7px}
  .lead{max-width:325px;font-size:15px;margin-top:27px}
  .hero-actions{gap:18px;margin-top:23px}.button{font-size:11px;min-height:49px;padding:12px 14px;gap:16px}.text-link{font-size:10px}
  .map-stage{width:min(87vw,400px);margin:29px auto 0;box-shadow:0 0 0 17px rgba(169,202,221,.035),0 0 0 42px rgba(169,202,221,.022)}
  .map-destination{top:10%;left:47%;font-size:7px}.map-destination strong{font-size:10px}.map-label{font-size:7px}.map-coordinate{font-size:6px;bottom:10%}
  .scroll-cue{bottom:24px;font-size:9px}.approach .scene-index{bottom:25px}
  .lines{padding-top:72px;padding-bottom:105px}.chapter{font-size:10px}.lines h2{font-size:clamp(65px,15vw,93px);margin-top:22px}.lines-intro{margin-bottom:38px}.lines-intro p{font-size:16px;max-width:300px}
  .ride-choice{min-height:104px;grid-template-columns:25px 1fr 20px;gap:10px}.choice-main strong{font-size:27px}.choice-main small{font-size:12px}.choice-number{font-size:10px}
  .route-preview{min-height:485px}.route-preview-top,.route-preview-foot{padding:18px;font-size:8px}.route-preview-map{inset:35px 5% auto 5%;width:90%;height:74%}.route-preview-info{margin:auto 20px 18px}.route-preview-info strong{font-size:43px}.route-preview-info p{font-size:13px}.route-type{font-size:9px}
  .crew-image{min-height:380px}.image-stamp{bottom:24px;font-size:11px}.crew-content{padding-top:72px}.crew h2{font-size:clamp(67px,15vw,92px)}.crew-lead{font-size:16px}
  .group-planner{padding:19px 18px}.planner-heading{font-size:18px}.size-options button{font-size:11px}.planner-output p{font-size:13px}.group-planner>small{font-size:9px}
  .finish{min-height:520px;padding:95px var(--edge)}.finish h2{font-size:clamp(64px,14vw,93px)}.finish p{font-size:15px}
  .site-footer{min-height:120px;flex-wrap:wrap;padding-bottom:48px;font-size:9px}.site-footer span:nth-child(2){order:3;width:100%}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .route-line{stroke-dashoffset:0}
}

/* Menu and preview bag share the same editorial language as the ride scenes. */
.menu-scene{padding:112px var(--edge) 128px;background:var(--paper);color:var(--night)}
.menu-heading{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);align-items:end;gap:40px;border-top:1px solid rgba(61,56,54,.4);padding-top:24px}
.menu-heading .chapter{color:#836f5c}
.menu-heading h2{font:400 clamp(64px,7.7vw,138px)/.88 Norwester,sans-serif;letter-spacing:-.035em;margin:24px 0 0}
.menu-heading h2 em{color:#789cb0}
.menu-heading-aside{padding:0 0 11px;max-width:300px}
.menu-heading-rule{display:block;width:64px;height:3px;background:var(--taupe)}
.menu-heading-aside p{font-size:clamp(18px,1.6vw,24px);line-height:1.32;margin:20px 0 20px}
.menu-heading-aside>span:last-child{font:11px Norwester,sans-serif;letter-spacing:.2em;color:#806c5a}
.menu-editorial{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);margin-top:62px;min-height:390px;background:var(--night);color:var(--paper)}
.menu-photo{position:relative;min-height:390px;overflow:hidden}
.menu-photo img{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.8)}
.menu-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(42,38,35,.67),transparent 45%)}
.menu-photo span{position:absolute;z-index:1;bottom:25px;left:30px;font:13px Norwester,sans-serif;letter-spacing:.18em}
.menu-note{align-self:center;padding:36px clamp(30px,5vw,78px)}
.menu-note .eyebrow{color:var(--blue);font-size:11px}
.menu-note p{font:400 clamp(31px,3vw,51px)/1.03 Norwester,sans-serif;margin:24px 0}
.menu-note small{display:block;max-width:390px;line-height:1.55;font-size:13px;color:var(--paper-2)}
.menu-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:58px 0 25px;border-bottom:1px solid rgba(61,56,54,.32);padding-bottom:15px}
.menu-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.menu-tab{border:1px solid transparent;background:transparent;color:#665b54;padding:10px 13px;min-height:42px;font:11px Norwester,sans-serif;letter-spacing:.08em;text-transform:uppercase;transition:background .18s,color .18s,border-color .18s}
.menu-tab:hover{border-color:var(--night)}
.menu-tab.is-active{background:var(--night);color:var(--paper)}
.bag-trigger{display:inline-flex;align-items:center;gap:13px;border:1px solid var(--night);background:var(--blue);color:var(--night);padding:12px 16px;min-height:46px;white-space:nowrap;font:12px Norwester,sans-serif;letter-spacing:.1em;transition:transform .18s,background .18s}
.bag-trigger:hover{transform:translateY(-2px);background:#c4dce9}
.bag-trigger #bag-count{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:var(--night);color:var(--paper);font:11px Futura,sans-serif}
.menu-category{padding:23px 0 40px;border-bottom:1px solid rgba(61,56,54,.23)}
.menu-category-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:14px}
.menu-category-heading h3{font:400 clamp(27px,3vw,45px) Norwester,sans-serif;text-transform:uppercase;margin:0}
.menu-category-heading span{font:10px Norwester,sans-serif;letter-spacing:.19em;color:#846e5c}
.menu-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.menu-card{display:grid;grid-template-columns:24px minmax(0,1fr) auto 20px;align-items:center;gap:12px;min-height:94px;width:100%;padding:14px 0;background:transparent;color:var(--night);text-align:left;border:0;border-top:1px solid rgba(61,56,54,.17);transition:padding-left .2s,background .2s}
.menu-card:hover:not(:disabled){padding-left:10px;background:rgba(169,202,221,.18)}
.menu-card:disabled{cursor:default;opacity:.56}
.menu-card-index{align-self:start;margin-top:9px;color:#907963;font:10px Norwester,sans-serif}
.menu-card-main strong{display:block;font:400 clamp(19px,2vw,29px)/1.05 Norwester,sans-serif;text-transform:uppercase;overflow-wrap:anywhere}
.menu-card-main small{display:block;margin-top:7px;color:#776e69;font:10px Norwester,sans-serif;letter-spacing:.1em}
.menu-card-price{font:11px Norwester,sans-serif;letter-spacing:.05em;white-space:nowrap}
.menu-card-arrow{font:18px Futura,sans-serif}
.menu-source-note{font-size:12px;line-height:1.6;color:#615852;max-width:620px;margin:26px 0 0}
.menu-scene .scene-index{color:rgba(61,56,54,.65)}.menu-scene .scene-index span{color:rgba(61,56,54,.35)}

.commerce-dialog{border:0;padding:0;background:transparent;color:var(--night);width:min(550px,calc(100% - 24px));max-height:min(88vh,900px);box-shadow:0 25px 100px rgba(0,0,0,.34)}
.commerce-dialog::backdrop{background:rgba(28,25,23,.75);backdrop-filter:blur(5px)}
.commerce-dialog .dialog-shell{position:relative;background:var(--paper);padding:clamp(26px,5vw,50px);max-height:88vh;overflow-y:auto}
.commerce-dialog .dialog-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(61,56,54,.3);background:transparent;color:var(--night);font:28px/1 Futura,sans-serif}
.commerce-dialog .dialog-close:hover{background:var(--night);color:var(--paper)}
.dialog-eyebrow{padding-right:48px;color:#836f5c;font:11px Norwester,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.commerce-dialog h2{font:400 clamp(43px,5vw,68px)/.93 Norwester,sans-serif;text-transform:uppercase;margin:24px 0 18px;overflow-wrap:anywhere}
.commerce-dialog h2 em{color:#789cb0}
.dialog-description{line-height:1.5;color:#5b5049;max-width:440px}
.variation-list{border:0;padding:0;margin:33px 0 24px}
.variation-list legend,.item-quantity>span{font:11px Norwester,sans-serif;letter-spacing:.14em;color:#746353;margin-bottom:12px}
.variation-option{display:flex;align-items:center;gap:12px;min-height:53px;border-top:1px solid rgba(61,56,54,.2);cursor:pointer}
.variation-option:last-child{border-bottom:1px solid rgba(61,56,54,.2)}
.variation-option input{accent-color:#6d91a5;width:18px;height:18px}
.variation-option span{font-size:16px}.variation-option strong{margin-left:auto;font:15px Norwester,sans-serif}
.dialog-disclosure,.dialog-footnote{font-size:12px;line-height:1.55;color:#645a54;border-left:3px solid var(--taupe);padding-left:12px}
.item-quantity{display:flex;align-items:center;justify-content:space-between;margin:25px 0}
.stepper{display:flex;align-items:center;border:1px solid rgba(61,56,54,.45)}
.stepper button{width:44px;height:44px;border:0;background:transparent;color:var(--night);font-size:23px}
.stepper button:hover{background:var(--paper-2)}
.stepper output{min-width:34px;text-align:center;font:15px Norwester,sans-serif}
.item-add{border:0}.item-add span{font-size:14px}
.item-add:disabled{opacity:.5;cursor:not-allowed}
.modifier-list{margin-top:18px}
.modifier-list .variation-option:has(input:disabled){opacity:.5;cursor:default}
.dialog-footnote{border:0;padding:0;margin:14px 0 0}
.bag-dialog{width:min(610px,calc(100% - 24px))}
.bag-empty{font-size:18px;line-height:1.5;padding:40px 0}
.bag-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(61,56,54,.24);padding:21px 0}
.bag-row>div:first-child{display:grid;grid-template-columns:25px 1fr;column-gap:12px}
.bag-row-index{grid-row:span 2;color:#8a745f;font:10px Norwester,sans-serif}
.bag-row strong{font:23px Norwester,sans-serif;text-transform:uppercase}
.bag-row small{grid-column:2;color:#6f6259;margin-top:6px}
.bag-row>div:last-child{text-align:right;white-space:nowrap}
.bag-qty{grid-column:2;display:inline-flex;align-items:center;gap:0;margin-top:12px;border:1px solid #7b6a5d;width:max-content}.bag-qty button{border:0;background:transparent;color:#3d3836;width:38px;height:36px;font:20px Norwester,sans-serif;cursor:pointer}.bag-qty button:disabled{opacity:.3;cursor:default}.bag-qty span{min-width:34px;text-align:center;font:15px Norwester,sans-serif}
.bag-row b{display:block;font:15px Norwester,sans-serif}
.bag-row button{border:0;border-bottom:1px solid #7b6a5d;background:transparent;color:#6d5c50;padding:0;margin-top:12px;font:10px Norwester,sans-serif;letter-spacing:.1em}
.bag-pickup{display:flex;flex-direction:column;gap:5px;background:var(--paper-2);padding:18px;margin:24px 0}
.bag-pickup span,.bag-total span{font:10px Norwester,sans-serif;letter-spacing:.15em;color:#665849}
.bag-pickup strong{font:18px Norwester,sans-serif}
.bag-pickup small{font-size:12px;line-height:1.45;color:#5e554e}
.bag-total{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid rgba(61,56,54,.45);padding-top:18px}
.bag-total strong{font:26px Norwester,sans-serif}
.bag-gate{font-size:12px;line-height:1.5;color:#5b5049;margin:25px 0}
.bag-return{border:0}

@media(max-width:820px){
  .menu-scene{padding-top:80px}
  .menu-heading{grid-template-columns:1fr}.menu-heading-aside{max-width:500px}
  .menu-editorial{grid-template-columns:1fr}.menu-photo{height:360px;min-height:0}.menu-note{padding:35px}
  .menu-controls{align-items:flex-start}.menu-tabs{max-width:70%}
}
@media(max-width:560px){
  .menu-scene{padding-top:73px;padding-bottom:100px}
  .menu-heading h2{font-size:clamp(56px,13vw,85px)}
  .menu-heading-aside p{font-size:18px}
  .menu-editorial{margin-top:38px}.menu-photo{height:245px}.menu-photo span{left:19px;bottom:17px;font-size:10px}.menu-note{padding:28px 23px}.menu-note p{font-size:31px}
  .menu-controls{display:block;margin-top:35px}.menu-tabs{max-width:none;flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px}.menu-tab{white-space:nowrap;flex:none;font-size:10px}.bag-trigger{margin-top:14px}
  .menu-category-grid{grid-template-columns:1fr}.menu-category{padding-bottom:22px}.menu-card{grid-template-columns:19px minmax(0,1fr) auto 14px;gap:7px;min-height:82px}.menu-card-main strong{font-size:22px}.menu-card-price{font-size:9px}.menu-card-arrow{font-size:15px}
  .commerce-dialog .dialog-shell{padding:31px 22px}.commerce-dialog h2{font-size:47px}.bag-row strong{font-size:18px}
}
