


.rail{margin-top:0;overflow:visible}
.stage{min-height:0;display:block;align-items:initial;justify-content:initial;padding:0;text-align:left;min-width:0}
.hero-inner{grid-template-columns:none;gap:0}
.hero-center{justify-self:auto;margin-top:0}
.blog-head{padding-right:0}
.blog{padding:0}
.ftr-nav,.ftr-social,.ftr-contact,.ftr-coord,.ftr-book{grid-column:auto}


:root{
  --edge:clamp(20px,3.3vw,84px);      
  --rail:clamp(58px,8.6vw,210px);     
  --gutter:clamp(16px,2.6vw,66px);    
  --bandpad:clamp(92px,10vw,210px);   
  
  --spine:clamp(20px,7.2vw,152px);
}
.band{
  display:grid;grid-template-columns:var(--rail) minmax(0,1fr);
  column-gap:var(--gutter);padding:var(--bandpad) var(--edge);
  position:relative;
}
.rail{
  position:sticky;top:clamp(120px,16vh,190px);align-self:start;
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
}
.rail .idx{font-size:clamp(26px,2.4vw,58px);line-height:1}
.rail-rule{display:block;width:1px;height:clamp(40px,7vh,96px);background:currentColor;opacity:.5}
.rail .rail-rule{height:clamp(34px,5vh,84px);opacity:.4}
.rail-name{font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.72;white-space:nowrap}
.rail-name.gap{margin-top:34px}
.ul-link{position:relative;display:inline-block;padding-bottom:9px;text-transform:uppercase}
.ul-link::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.8}


.hdr{padding:51px var(--edge) 0}

.mark{
  -webkit-mask:url(assets/logo.png) no-repeat center/contain;
          mask:url(assets/logo.png) no-repeat center/contain;
  width:136px;height:23px;   
}
.hdr-logo .mark{width:136px;height:23px}
.hdr-logo{top:48px;padding:4px 0}   
.loader-mark-wipe{
  -webkit-mask:url(assets/logo.png) no-repeat center/contain;
          mask:url(assets/logo.png) no-repeat center/contain;
  width:300px;height:51px;
}


.hero-inner{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;
  
  padding:clamp(140px,17vh,190px) var(--spine) clamp(40px,6vh,90px) var(--edge);
}


.hero::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(26,21,18,.72) 0,rgba(26,21,18,.72) 430px,rgba(26,21,18,.34) 620px,rgba(26,21,18,.34) 76%,rgba(26,21,18,.72) 100%);
}
.hero-note{max-width:360px;text-transform:uppercase;font-size:13.5px;margin-bottom:clamp(26px,5vh,54px)}
.hero-center{text-align:left}
.hero h1{font-size:clamp(42px,5.6vw,96px);line-height:1.04;text-transform:uppercase}


.menu-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0 40px;align-items:start;margin-top:clamp(44px,6vh,96px)}
.menu-lede{grid-column:1;grid-row:1;font-size:13.5px;line-height:1.65;max-width:620px;margin-bottom:34px}
.menu-cols{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;align-items:start}
.band-menu h3{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:23px;line-height:1.1;margin:0 0 22px}
.band-menu h3.gap{margin-top:56px}
.cat-note{display:block;font-family:'Geist Mono',ui-monospace,monospace;font-style:normal;font-size:12px;letter-spacing:.04em;opacity:.7;margin-top:6px}
.rows li{display:grid;grid-template-columns:1fr auto;align-items:start;gap:0 18px;padding:5.5px 0}
.rows .item{font-size:15px;text-transform:uppercase;letter-spacing:.015em;line-height:1.25}
.rows .note{display:block;font-style:normal;font-size:12.5px;text-transform:none;letter-spacing:0;line-height:1.3;margin-top:2px;opacity:.7}
.rows .price{font-size:16px;align-self:center;white-space:nowrap}
.rows li[data-img]{cursor:pointer}

.menu-main{grid-column:1;grid-row:1}
.menu-main ~ .menu-side{grid-row:1}
.menu-more{margin-top:clamp(26px,3vh,44px)}
.menu-fine{font-size:12.5px;line-height:1.5;margin:26px 0 22px;opacity:.7}
.menu-fine a{text-decoration:underline;text-underline-offset:3px}

.menu-side{grid-column:2;grid-row:1 / span 2;position:sticky;top:clamp(120px,16vh,190px)}
.special{margin:0}
.special img{width:100%;height:440px;object-fit:cover}
.special figcaption{margin-top:8px;font-size:13px;line-height:1.5}
.special figcaption .sans{text-transform:uppercase;letter-spacing:.04em}


.band-stage{min-height:max(720px,100vh);align-content:center}
.stage-title{font-size:clamp(33px,3.9vw,100px);line-height:1.08;text-transform:uppercase;max-width:15ch}
.stage-copy{text-transform:uppercase;line-height:1.65;font-size:13.5px}
.stage-copy p + p{margin-top:1.72em}
.stage-copy .ul-link{margin-top:26px}



.slide{position:relative;z-index:1}
.duo-stage{position:relative;background:var(--cream);padding:clamp(70px,12vw,120px) var(--edge)}
.duo-fig{margin:0 0 44px;overflow:hidden;aspect-ratio:839/615}
.duo-fig img{width:100%;height:100%;object-fit:cover}
.duo-lead{margin-bottom:38px}
.duo-lead h2{font-size:44px;line-height:1.05;margin:0 0 20px;text-transform:uppercase}
.duo-lead p,.duo-tail p{margin:0;font-size:13.5px;line-height:1.65}
.duo-tail{margin-top:8px}
.duo-tail .ul-link{margin-top:26px}

@media (min-width:1024px){
  .slide{height:calc(var(--len,2.6) * 100vh)}
  .duo-stage{
    position:fixed;left:0;top:0;width:100%;height:100vh;
    overflow:hidden;background:var(--cream);padding:0;
    will-change:transform;visibility:hidden;z-index:5;
  }
  .slide.on .duo-stage{visibility:visible}
  .duo-fig{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:100vw;height:100vh;aspect-ratio:auto;margin:0;will-change:width,height;
  }
  .duo-lead,.duo-tail{position:absolute;width:25.5vw;max-width:378px}
  .duo-lead{left:8.33vw;top:50%;transform:translateY(-50%);margin:0}
  .duo-lead h2{font-size:clamp(38px,4.15vw,62px);margin-bottom:24px}
  .duo-tail{left:66.1vw;top:71%;margin:0}
}


.band-stage .stage{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(28px,4vw,110px);align-items:center}
.stage-say .stage-copy{margin-top:clamp(38px,5vh,86px);max-width:none}
.band-stage .stage-photo{justify-self:end;width:100%;max-width:500px;height:clamp(340px,46vw,687px)}
.band-stage .stage-photo img{width:100%;height:100%;object-fit:cover}
.team{margin-top:1.72em}
.team li{display:flex;gap:12px;flex-wrap:wrap;padding:6px 0;border-top:1px solid currentColor;opacity:.92}
.team li:last-child{border-bottom:1px solid currentColor}
.team b{font-weight:400}
.team li b + *,.team li b{white-space:nowrap}

.band-pin{min-height:max(900px,100vh)}
.band-pin .stage{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,4vw,110px);align-items:start}
.band-pin .stage-title{position:sticky;top:clamp(140px,22vh,300px);max-width:13ch}
.pin-flow{display:block;padding-top:clamp(10px,3vh,54px)}
.band-pin .stage-copy{max-width:75ch}
.band-pin .stage-photo{margin-top:clamp(38px,6vh,110px);justify-self:end;width:100%;max-width:465px;height:clamp(340px,40vw,632px)}
.band-pin .stage-photo img{width:100%;height:100%;object-fit:cover}

@media (min-width:1600px){
  .stage-say .stage-copy{columns:2;column-gap:clamp(40px,3.4vw,88px)}
  .stage-say .stage-copy p{break-inside:avoid}
  .stage-say .stage-copy p + p{margin-top:0}
  .stage-say .stage-copy .team,.stage-say .stage-copy .ul-link{break-inside:avoid}
}


.band-blog{padding-bottom:clamp(70px,8vw,150px)}
.blog-head{display:flex;gap:clamp(28px,5vw,120px);align-items:flex-start}
.blog-eyebrow{text-transform:uppercase;padding-top:14px;width:clamp(140px,12vw,220px);flex:none}
.blog-title{font-size:clamp(27px,2.9vw,74px);line-height:1.24;text-transform:uppercase}
.rail-wrap{margin-right:calc(-1 * var(--edge));overflow:hidden;margin-top:clamp(44px,6vh,96px)}
.rail-strip{overflow:hidden}
.rail-track{display:flex;gap:16px;width:max-content;will-change:transform}
.card{position:relative;width:clamp(300px,26vw,520px);flex:none;overflow:hidden;display:block;background:#ded9d3}
.card > img{width:100%;height:clamp(390px,34vw,672px);object-fit:cover}
.card-scrim{
  position:absolute;inset:0;background:var(--scrim);color:var(--scrim-ink);
  display:flex;flex-direction:column;justify-content:space-between;
  padding:56px 34px 34px;text-align:center;opacity:.52;transition:opacity .45s ease;
}
.rail-strip:hover .card-scrim{opacity:0}
.rail-strip:hover .card:hover .card-scrim{opacity:1}
.card-title{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:clamp(21px,1.5vw,34px);line-height:1.22;text-transform:uppercase}
.card-foot .mono{font-size:13px;line-height:1.68}
.card-more{display:inline-block;margin-top:26px;padding-bottom:6px;position:relative;text-transform:uppercase;font-size:12px;letter-spacing:.06em}
.card-more::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor}
.rail-arrows{display:flex;gap:16px;margin-top:30px}
.rail-arrows button{padding:8px 0;transition:opacity .3s ease}
.rail-arrows button:hover{opacity:.45}


.band-call{border-top:1px solid rgba(21,18,15,.16);padding-bottom:clamp(70px,8vw,140px)}
.ftr-contact{
  display:inline-block;font-size:clamp(34px,4.6vw,120px);line-height:1.02;text-transform:uppercase;
  position:relative;padding-bottom:clamp(10px,1.4vh,22px);
}
.ftr-contact::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.55}
.call-foot{
  margin-top:clamp(46px,6vh,110px);display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,90px);
  justify-content:space-between;align-items:flex-end;
}
.ftr-coord{text-transform:uppercase;font-size:13px;line-height:1.9;letter-spacing:.04em}
.ftr-coord a{position:relative}
.ftr-coord a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;opacity:.5}
.ftr-book{position:relative;padding-bottom:9px;text-transform:uppercase;align-self:start;height:max-content}
.ftr-book::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.75}

.visit-grid{
  margin-top:clamp(56px,7vh,120px);display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,66px);
  border-top:1px solid rgba(21,18,15,.16);padding-top:clamp(28px,3.4vh,54px);
}
.visit-cell{min-width:0}
.hours{border-collapse:collapse;width:100%;margin-top:16px;font-size:13px}
.hours th,.hours td{padding:6px 0;border-bottom:1px solid rgba(21,18,15,.16);text-align:left;font-weight:400}
.hours th{letter-spacing:.04em;opacity:.72}
.hours td{text-align:right;white-space:nowrap}
.visit-note{font-size:12.5px;line-height:1.55;margin-top:14px;opacity:.72}
.visit-cell .ul-link{margin-top:22px}
.visit-map iframe{width:100%;height:clamp(260px,26vw,420px);border:0;display:block;filter:grayscale(.18)}
.vouch{margin-top:clamp(56px,7vh,120px);border-top:1px solid rgba(21,18,15,.16);padding-top:clamp(28px,3.4vh,54px)}
.vouch-list{
  margin-top:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:0 clamp(16px,2vw,40px);
}
.vouch-list li{padding:7px 0;border-bottom:1px solid rgba(21,18,15,.16)}
.vouch-list a{position:relative;font-size:13px;letter-spacing:.02em}
.vouch-list a:hover{opacity:.55}


.ftr{padding:clamp(60px,7vw,130px) var(--edge) 17px;border-top:1px solid rgba(21,18,15,.16)}
.ftr-top{display:grid;grid-template-columns:minmax(0,1fr) 18% 18% auto;gap:24px}
.ftr-lede{text-transform:none;max-width:56ch;font-size:13px;line-height:1.72}
.ftr-nav li,.ftr-social li{margin-bottom:3px;text-transform:uppercase;font-size:13px}
.ftr-sign{margin-top:clamp(40px,5vw,90px)}
.ftr-sign .mark{width:clamp(200px,26vw,560px);height:clamp(34px,4.4vw,95px)}
.ftr-legal{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(40px,5vw,86px)}
.ftr-legal span{border:1px solid rgba(21,18,15,.35);padding:5px 8px;text-align:center;font-size:10.5px;letter-spacing:0;margin-left:-1px}
.ftr-legal span:first-child{margin-left:0}


@media (min-width:1900px){
  .stage-title{font-size:min(5.1vw,140px)}
  .blog-title{font-size:min(3.5vw,92px)}
  .ftr-contact{font-size:min(5.6vw,150px)}
}


@media (max-width:1100px){
  .hdr{padding:44px var(--edge) 0}
  .hero-inner{padding:clamp(140px,17vh,190px) var(--edge) clamp(40px,6vh,90px) var(--edge)}
  .hero h1{font-size:clamp(38px,6.4vw,64px)}
  
  .hero-note{display:block;max-width:none}
  .menu-body{grid-template-columns:minmax(0,1fr);gap:0}
  .menu-cols{grid-row:auto;grid-column:1}
  .menu-main{grid-row:auto;grid-column:1}
  .menu-main ~ .menu-side{grid-row:auto}
  .menu-lede{grid-row:auto;grid-column:1}
  .menu-side{grid-column:1;grid-row:auto;position:static;margin-top:34px;max-width:420px}
  .band-stage .stage{grid-template-columns:minmax(0,1fr);gap:clamp(34px,6vh,70px)}
  .band-stage .stage-photo{justify-self:start;max-width:500px;height:clamp(360px,58vw,560px)}
  .pin-flow{width:100%}
  .band-pin .stage{grid-template-columns:minmax(0,1fr)}
  .band-pin .stage-photo{justify-self:start;max-width:465px;height:clamp(360px,58vw,540px)}
  .band-pin{min-height:max(900px,130vh)}
  .card{width:300px}
  .card > img{height:246px}
  .card-scrim{position:static;opacity:1;padding:34px 24px 38px;min-height:150px;justify-content:center}
  .rail-strip:hover .card-scrim{opacity:1}
  .card-title{font-size:21px}
  .card-foot{display:none}
  .visit-grid{grid-template-columns:minmax(0,1fr);gap:clamp(28px,4vh,54px)}
  
  .ftr-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 32px}
  .ftr-lede{display:none}
  .ftr-legal{grid-template-columns:1fr 1fr;gap:12px 13px}
  .ftr-legal span{margin-left:0;padding:4px 8px}
  .ftr-sign{margin-top:clamp(28px,4vw,60px)}
  .overlay-side{top:340px;width:200px}
}

@media (max-width:760px){
  .hdr{padding:34px var(--edge) 0;align-items:flex-start}
  .hdr-logo .mark{width:110px;height:19px;margin-top:-4px}
  .hero{height:auto;min-height:0}
  .hero-photo{position:relative;height:max(560px,88vh)}
  .hero-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--edge) 44px;text-align:left}
  
  .hero::after{inset:0;height:auto;background:linear-gradient(to bottom,rgba(26,21,18,.72) 0,rgba(26,21,18,.34) 38%,rgba(26,21,18,.34) 48%,rgba(26,21,18,.72) 100%)}
  .hero h1{font-size:40px;line-height:1.14}
  .hero-note{display:block;margin-bottom:20px;font-size:12.5px;max-width:none}
  .hero .ul-link{margin-top:14px;font-size:12px}

  .band{grid-template-columns:minmax(0,1fr);row-gap:26px;padding:clamp(70px,12vw,96px) var(--edge)}
  .rail{position:static;flex-direction:row;align-items:baseline;gap:12px}
  .rail .rail-rule{width:34px;height:1px;align-self:center}
  .rail .idx{font-size:22px}
  .blog-head{display:block}
  .blog-eyebrow{width:auto;font-size:12px;padding-top:0}
  .blog-title{font-size:28px;margin-top:14px}
  .menu-cols{grid-template-columns:minmax(0,1fr);gap:0}
  .band-menu h3{font-size:21px}
  .band-menu h3.gap{margin-top:44px}
  .special{max-width:none}
  .special img{height:320px}
  .band-stage{min-height:0;align-content:start}
  .stage-title{font-size:34px;max-width:none}
  .band-stage .stage-photo{max-width:none;height:400px;justify-self:stretch}
  .band-pin{min-height:0}
  .band-pin .stage-title{position:static}
  .pin-flow{margin-top:36px}
  .band-pin .stage-photo{max-width:none;height:400px;justify-self:stretch}
  .duo-lead h2{font-size:32px}
  .rail-wrap{margin-top:32px}
  .card{width:228px}
  .card > img{height:244px}
  .card-scrim{padding:26px 18px 30px;min-height:124px}
  .card-title{font-size:17px}
  .ftr-contact{font-size:32px}
  .call-foot{flex-direction:column;align-items:flex-start;gap:26px}
  .ftr{padding:44px var(--edge) 26px}
  .ftr-top{grid-template-columns:minmax(0,1fr);gap:26px}
  .ftr-legal{grid-template-columns:1fr;margin-top:30px;gap:11px}
  .ftr-legal span{margin-left:0;font-size:9px;padding:7px 6px}
  .ftr-sign .mark{width:200px;height:34px}
  .overlay{padding:34px var(--edge)}
  .overlay-nav{margin-top:56px}
  .overlay-nav a{font-size:38px}
  .overlay-side{position:static;width:auto;margin-top:54px}
  .overlay-shot{height:210px;max-width:230px}
  .totop{right:16px;bottom:16px;width:42px;height:42px}
}



@media (min-width:1101px){
  .ftr-nav li,.ftr-social li{margin-bottom:0}
  .ftr-nav li a,.ftr-social li a{display:inline-block;padding:3px 0}
  .vouch-list li{padding:4px 0}
  .vouch-list a{display:block;padding:3px 0}
  .ftr-coord a,.overlay-side a{display:inline-block;padding:3px 0}
  .ftr-coord a::after,.overlay-side a::after{bottom:1px}
  .overlay-side li{margin-bottom:2px}
  .hdr-menu{padding:2px 0}
  .rail-arrows button{padding:12px 0}
}

@media (max-width:1100px){
  .ftr-nav li,.ftr-social li,.overlay-side li{margin-bottom:0}
  .ftr-nav li a,.ftr-social li a{display:inline-flex;align-items:center;min-height:44px}
  .vouch-list li{padding:0}
  .vouch-list a{display:flex;align-items:center;min-height:44px;border-bottom:1px solid rgba(21,18,15,.16)}
  .ftr-coord a,.overlay-side a{display:inline-block;padding:12px 0}
  .ftr-coord a::after,.overlay-side a::after{bottom:10px}
  .ftr-coord li{line-height:1.2}
  .ul-link,.ftr-book,.hdr-cta{padding-top:15px}      
  .hdr-menu{padding:11px 0}
  .rail-arrows button{padding:18px 0}
  .menu-fine a{padding:2px 0}                         
}


@media (prefers-reduced-motion:reduce){
  .slide{height:auto !important}
  .duo-stage{position:relative !important;visibility:visible !important;transform:none !important;
    padding:clamp(70px,12vw,120px) var(--edge) !important;height:auto !important}
  .duo-fig{position:static !important;transform:none !important;width:auto !important;height:auto !important;
    aspect-ratio:839/615;margin:0 0 44px !important}
  .duo-lead,.duo-tail{position:static !important;transform:none !important;opacity:1 !important;width:auto !important;max-width:640px}
  .duo-lead{margin-bottom:38px}
}
