/* ===========================================================================
   Pages: the heroes and the section layouts, by the classes pages.py gives
   the Elementor sections and columns.
   =========================================================================== */

/* ------------------------------------------------------------- home hero */

/* Stacking, as Elementor paints it: the section's background video
   (z 0) → the scrim (::before, z 1) → the gilt frame (::after, z 1) → the
   content container (z 2). The poster and the scrim live on the section
   itself, so the Elementor render and the fallback match. */
body .elementor .hero{
  position:relative;isolation:isolate;z-index:3;
  padding:calc(var(--chrome-h) + clamp(2.5rem, 1.5rem + 3vw, 4.5rem)) 0 clamp(6.5rem, 5rem + 4vw, 9rem);
  background-color:var(--ink);background-position:50% 50%;background-size:cover;
  color:var(--on-dark);
}
body .elementor .hero > .elementor-container{
  min-height:calc(min(100svh, 1000px) - var(--chrome-h) - clamp(9rem, 6.5rem + 7vw, 13.5rem));
  align-items:center;
}
body .elementor .hero::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(85% 75% at 20% 55%, rgba(12,12,13,.86) 0%, rgba(12,12,13,.5) 52%, rgba(12,12,13,.12) 100%),
    linear-gradient(180deg, rgba(12,12,13,.72) 0%, rgba(12,12,13,0) 26%, rgba(12,12,13,0) 58%, rgba(12,12,13,.95) 100%);
}
body .elementor .hero::after,
body .elementor .page-hero::after{
  content:"";position:absolute;z-index:1;pointer-events:none;
  inset:calc(var(--chrome-h) + 14px) clamp(10px, 1.8vw, 28px) clamp(10px, 1.8vw, 28px);
  border:1px solid rgba(216,192,152,.28);
  background:
    url("../img/corner-tl.svg") left -1px top -1px / 96px 96px no-repeat,
    url("../img/corner-tr.svg") right -1px top -1px / 96px 96px no-repeat,
    url("../img/corner-bl.svg") left -1px bottom -1px / 96px 96px no-repeat,
    url("../img/corner-br.svg") right -1px bottom -1px / 96px 96px no-repeat;
}
body .elementor .hero .elementor-background-video-container{z-index:0}
body .elementor .hero-home{background-position:50% 40%}
body .elementor .hero .elementor-background-video-hosted{object-fit:cover;width:100%;height:100%}

body .elementor .hero-copy > .elementor-widget-wrap{padding-right:clamp(0rem, 3vw, 3rem)}
body .elementor .hero .kicker .elementor-heading-title{color:var(--gold)}
body .elementor .hero .script .elementor-heading-title{font-size:clamp(2.1rem, 1.5rem + 2vw, 3.3rem);margin-bottom:-.15em}

/* the wordmark, in gold leaf */
body .elementor .title-hero .elementor-heading-title{
  font-family:var(--font-display);font-weight:500;font-size:var(--fs-hero);line-height:.96;letter-spacing:.012em;
  max-width:11ch;text-wrap:balance;color:var(--gold-hi);
  filter:drop-shadow(0 10px 30px rgba(0,0,0,.55));
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  body .elementor .title-hero .elementor-heading-title{
    background:linear-gradient(100deg,#B08A52 0%,#F1E2BF 20%,#D8C098 38%,#FFF5DC 50%,#C9A66A 66%,#EBD9B0 84%,#B8955C 100%);
    background-size:220% 100%;background-position:0% 50%;
    -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
    animation:mh-leaf 11s ease-in-out infinite alternate;
  }
}
@keyframes mh-leaf{to{background-position:100% 50%}}
body .elementor .elementor-widget.title-hero{margin-bottom:1.4rem}
body .elementor .hero-lede{font-size:clamp(1.3rem, 1.1rem + .7vw, 1.7rem)}
body .elementor .hero-lede p{max-width:34ch}
body .elementor .hero .elementor-widget.lede{margin-bottom:2.3rem}

body .elementor .hero-side > .elementor-widget-wrap{justify-content:flex-end;align-content:flex-end;height:100%}
body .elementor .hero-seal img{animation:mh-float 7s ease-in-out infinite}
body .elementor .hero-seal a{display:block;border-radius:50%}
@keyframes mh-float{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-8px)}}
@media (max-width:767px){
  body .elementor .hero{text-align:left;padding-bottom:6.5rem}
  body .elementor .hero > .elementor-container{min-height:0}
  body .elementor .hero-side > .elementor-widget-wrap{height:auto;justify-content:flex-end}
  body .elementor .hero > .elementor-container > .hero-side{margin-top:.5rem}
  body .elementor .hero-seal img{width:112px}
  body .elementor .hero::after,body .elementor .page-hero::after{background-size:56px 56px,56px 56px,56px 56px,56px 56px}
}

/* the plaque: today's hours, the bar, the phone — straddling the hero's edge */
body .elementor .hero-plaque-band{position:relative;z-index:4;margin-top:-54px;padding:0}
body .elementor .hero-plaque-band + .sec{padding-top:calc(var(--section-y) - 6px)}

/* ----------------------------------------------------------- page heroes */

body .elementor .page-hero{
  position:relative;isolation:isolate;
  padding:calc(var(--chrome-h) + clamp(4rem, 2.8rem + 4.5vw, 7.5rem)) 0 clamp(4.5rem, 3.4rem + 4vw, 7.5rem);
  background-color:var(--ink);background-size:cover;background-position:center;color:var(--on-dark);
}
body .elementor .page-hero::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(12,12,13,.92) 0%, rgba(12,12,13,.68) 46%, rgba(12,12,13,.3) 100%),
    linear-gradient(180deg, rgba(12,12,13,.72) 0%, rgba(12,12,13,0) 32%, rgba(12,12,13,0) 66%, rgba(12,12,13,.8) 100%);
}
body .elementor .page-hero-copy > .elementor-widget-wrap{max-width:760px}
body .elementor .page-hero .title-page .elementor-heading-title{color:var(--white);text-shadow:0 8px 30px rgba(0,0,0,.45)}
body .elementor .page-hero .lede p{max-width:48ch}
body .elementor .page-hero-menu,body .elementor .page-hero-brunch{background-position:center 60%}
body .elementor .page-hero-bourbon{background-position:center 35%}

/* --------------------------------------------------------------- sections */

body .elementor .head-block{padding-bottom:clamp(2.5rem, 2rem + 2vw, 3.5rem)}
body .elementor .head-block .title .elementor-heading-title{margin-inline:auto}

/* ===================================================================== home

   Between the film and the footer the home page is paper on the table — the
   press clipping, a page of the bill of fare, the family album — torn where it
   meets the rooms in photographs, and the bar's own chalkboards. */

/* ------------------------------------------------------------ torn paper */

/* A paper band's own edge, torn, laid over its neighbour: the white fibres
   the tear exposed, the sheet and its grain (img/rip-*.svg, seamless at
   1600px) and the shadow it casts there. A bottom edge is the same strip
   turned over. The clip keeps the shadow off the band's own side. */
body .elementor .sec-cream{--rip:url("../img/rip-cream.svg")}
body .elementor .sec-paper{--rip:url("../img/rip-paper.svg")}
body .elementor .rip-top::before,
body .elementor .rip-bot::after{
  content:"";position:absolute;left:0;right:0;z-index:6;height:52px;pointer-events:none;
  background:var(--rip) var(--rip-x, 0px) 100% / 1600px 52px repeat-x;
  filter:drop-shadow(0 -2px 2.5px rgba(12,12,13,.34));
  clip-path:inset(-40px 0 0 0);
}
body .elementor .rip-top::before{bottom:calc(100% - 2px)}
body .elementor .rip-bot::after{top:calc(100% - 2px);transform:scaleY(-1);--rip-x:-700px}
body .elementor .sec-kitchen{--rip-x:-260px}
body .elementor .sec-story{--rip-x:-1130px}
@media (max-width:767px){
  body .elementor .rip-top::before,body .elementor .rip-bot::after{height:38px;background-size:1170px 38px}
}

/* ------------------------------------------------------------ the press */

/* a clipping from Garden & Gun: newsprint torn top and bottom, set down on the table */
body .elementor .press-clip > .elementor-widget-wrap{justify-content:center}
body .elementor .elementor-widget.clipping{
  width:min(100%, 33rem);margin:2rem auto;transform:rotate(-2deg);
  filter:drop-shadow(0 24px 24px rgba(17,17,18,.2)) drop-shadow(0 2px 2px rgba(17,17,18,.12));
}
body .elementor .clipping blockquote{
  position:relative;margin:0;padding:2.1rem clamp(1.4rem, .9rem + 2vw, 2.6rem) 1.9rem;
  background:#F6F2E9 linear-gradient(180deg, rgba(255,255,255,.4), rgba(255,255,255,0) 45%, rgba(110,100,80,.06));
}
body .elementor .clipping blockquote::before,
body .elementor .clipping blockquote::after{
  content:"";position:absolute;left:0;right:0;height:26px;pointer-events:none;
  background:url("../img/rip-news.svg") 0 100% / 800px 26px repeat-x;
}
body .elementor .clipping blockquote::before{bottom:calc(100% - 1px)}
body .elementor .clipping blockquote::after{top:calc(100% - 1px);transform:scaleY(-1);background-position-x:-310px}
body .elementor .clipping .clip-mast{
  margin:0;padding-bottom:.6rem;border-bottom:3px double var(--ink);text-align:center;
  font-family:var(--font-serif);font-size:clamp(1.55rem, 1.25rem + 1vw, 2.05rem);font-weight:700;line-height:1.1;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);
}
body .elementor .clipping .clip-date{margin:.55rem 0 1.5rem;text-align:center;font-family:var(--font-display);font-size:.64rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
body .elementor .clipping .clip-q{margin:0;font-family:var(--font-serif);font-size:clamp(1.5rem, 1.2rem + 1.1vw, 2.1rem);font-style:italic;font-weight:500;line-height:1.3;color:var(--ink);text-wrap:pretty}
body .elementor .clipping .clip-on{margin:1.3rem 0 0;padding-top:.85rem;border-top:1px solid var(--line);font-size:.86rem;line-height:1.5;color:var(--text-2)}

/* the honours, as a ledger */
body .elementor .ledger ul{list-style:none;margin:1.4rem 0 0;padding:0;border-top:1px solid var(--line-strong)}
body .elementor .ledger li{display:grid;grid-template-columns:6.4rem minmax(0,1fr);column-gap:1.3rem;padding:1.05rem 0 1.1rem;border-bottom:1px solid var(--line)}
body .elementor .ledger .acc-year{grid-row:1 / span 2;padding-top:.42rem;font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.14em;color:var(--brass);white-space:nowrap}
body .elementor .ledger .acc-pub{font-family:var(--font-serif);font-size:1.42rem;font-weight:600;line-height:1.15;color:var(--ink)}
body .elementor .ledger .acc-what{margin-top:.2rem;font-size:.93rem;line-height:1.45;color:var(--text-2)}
body .elementor .ledger-wide ul{max-width:820px;margin:2.4rem auto 0;text-align:left}
@media (max-width:400px){ body .elementor .ledger li{grid-template-columns:minmax(0,1fr)} body .elementor .ledger .acc-year{grid-row:auto;padding:0 0 .2rem} }

/* ----------------------------------------------------- one house, two doors */

body .elementor .sec-doors > .elementor-container{max-width:none;padding:0}
body .elementor .door{min-height:clamp(600px, 40vw + 140px, 900px)}
body .elementor .door > .elementor-widget-wrap{
  position:relative;isolation:isolate;align-content:flex-end;
  padding:7rem clamp(1.5rem, .5rem + 4.6vw, 6rem) clamp(5.5rem, 4.4rem + 3vw, 7.5rem);
  background-color:var(--ink);background-position:center;background-size:cover;
}
body .elementor .door > .elementor-widget-wrap::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(180deg, rgba(12,12,13,.5) 0%, rgba(12,12,13,.14) 20%, rgba(12,12,13,.5) 42%, rgba(12,12,13,.9) 70%, rgba(12,12,13,.97) 100%),
    linear-gradient(90deg, rgba(12,12,13,.35), rgba(12,12,13,0) 70%);
  transition:opacity .6s var(--ease);
}
body .elementor .door:hover > .elementor-widget-wrap::before{opacity:.86}
body .elementor .door + .door > .elementor-widget-wrap{box-shadow:inset 1px 0 0 rgba(216,192,152,.4)}
body .elementor .door .title .elementor-heading-title{font-size:clamp(2.7rem, 1.6rem + 3.4vw, 5rem);line-height:.98;text-shadow:0 10px 34px rgba(0,0,0,.5)}
body .elementor .door .title .elementor-heading-title::after{
  content:"";display:block;width:3.2rem;height:1px;margin-top:1.3rem;background:var(--gold);transition:width .6s var(--ease);
}
body .elementor .door:hover .title .elementor-heading-title::after{width:6.5rem}
body .elementor .door .elementor-widget-text-editor{color:var(--on-dark)}
body .elementor .door .body p{max-width:44ch}
body .elementor .door .elementor-widget.body{margin-bottom:1.9rem}
@media (max-width:1024px){
  body .elementor .door{min-height:clamp(520px, 70vw, 680px)}
  body .elementor .sec-doors.stack-tablet > .elementor-container > .elementor-column + .elementor-column{margin-top:0}
  body .elementor .door + .door > .elementor-widget-wrap{box-shadow:inset 0 1px 0 rgba(216,192,152,.4)}
}

/* --------------------------------------------------------------- kitchen */

/* the plate runs off the page's left edge; the copy keeps to the container's right */
body .elementor .sec-kitchen > .elementor-container{max-width:none;padding:0;align-items:stretch}
body .elementor .kitchen-media > .elementor-widget-wrap{position:relative;height:100%}
body .elementor .kitchen-photo{position:absolute;inset:0;margin:0}
body .elementor .kitchen-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 72%;border-radius:0 var(--r-sm) var(--r-sm) 0;box-shadow:var(--shadow-2)}
body .elementor .kitchen-copy > .elementor-widget-wrap{
  padding-left:clamp(2.5rem, .5rem + 5vw, 6.5rem);
  padding-right:calc(max(0px, 100% - var(--container) / 2) + var(--gutter));
}
body .elementor .kitchen-copy .elementor-widget-shortcode{margin:.4rem 0 2rem}
body .elementor .sec-kitchen .menu-card{
  background-color:#FFFEFA;background-image:radial-gradient(120% 85% at 50% 38%,rgba(255,255,255,.7),rgba(255,255,255,0) 62%),var(--paper-laid);
  box-shadow:0 1px 2px rgba(17,17,18,.08),0 34px 60px -34px rgba(17,17,18,.55);
}
@media (max-width:1024px){
  body .elementor .kitchen-photo{position:static}
  body .elementor .kitchen-photo img{height:auto;aspect-ratio:16 / 11;border-radius:0}
  body .elementor .sec-kitchen.stack-tablet > .elementor-container > .elementor-column + .elementor-column{margin-top:clamp(2.5rem, 2rem + 2vw, 3.5rem)}
  body .elementor .kitchen-copy > .elementor-widget-wrap{padding-inline:var(--gutter);max-width:760px;margin-inline:auto}
}

/* ---------------------------------------------- the strip: the house in pictures */

body .elementor .sec-strip{background:var(--ink)}
body .elementor .sec-strip > .elementor-container{max-width:none;padding:0;gap:2px}
body .elementor .sec-strip > .elementor-container > .elementor-column{flex:1 1 0}
body .elementor .elementor-widget.tile{position:relative;overflow:hidden;margin:0}
body .elementor .tile figure,body .elementor .tile a{display:block;height:100%;margin:0}
body .elementor .tile img{display:block;width:100%;aspect-ratio:1;object-fit:cover;transition:transform .9s var(--ease),filter .9s var(--ease)}
body .elementor .tile:hover img{transform:scale(1.05);filter:brightness(1.06)}
body .elementor .tile .widget-image-caption{
  position:absolute;left:0;right:0;bottom:0;margin:0;padding:3.2rem 1.15rem 1.05rem;pointer-events:none;text-align:left;
  background:linear-gradient(180deg,rgba(12,12,13,0),rgba(12,12,13,.85));
  font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-hi);
}
body .elementor .tile .widget-image-caption::after{content:"\2192";margin-left:.55em;font-family:var(--font-text);transition:margin .3s var(--ease)}
body .elementor .tile:hover .widget-image-caption::after{margin-left:.9em}
@media (max-width:1024px){
  body .elementor .sec-strip > .elementor-container{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
  body .elementor .sec-strip > .elementor-container > .elementor-column{width:auto;grid-column:span 2}
  body .elementor .sec-strip > .elementor-container > .elementor-column:nth-child(n+4){grid-column:span 3}
  body .elementor .sec-strip > .elementor-container > .elementor-column + .elementor-column{margin-top:0}
  body .elementor .sec-strip .elementor-column:nth-child(n+4) .tile img{aspect-ratio:3 / 2}
}
@media (max-width:767px){
  body .elementor .sec-strip > .elementor-container{display:grid;grid-template-columns:1fr 1fr}
  body .elementor .sec-strip > .elementor-container > .elementor-column,
  body .elementor .sec-strip > .elementor-container > .elementor-column:nth-child(n+4){grid-column:auto}
  body .elementor .sec-strip > .elementor-container > .elementor-column:first-child{grid-column:1 / -1}
  body .elementor .sec-strip .elementor-column:nth-child(n+4) .tile img{aspect-ratio:1}
  body .elementor .sec-strip > .elementor-container > .elementor-column + .elementor-column{margin-top:0}
  body .elementor .sec-strip .elementor-column:first-child .tile img{aspect-ratio:16 / 10}
  body .elementor .tile .widget-image-caption{padding:2.2rem .8rem .75rem;font-size:.6rem;letter-spacing:.14em}
}

/* ------------------------------------------------------------- Spirits */

body .elementor .big-num{margin-bottom:1.5rem}
body .elementor .big-num .big-n{
  margin:0;font-family:var(--font-serif);font-size:clamp(5.2rem, 3rem + 6.4vw, 9rem);font-weight:600;line-height:.8;letter-spacing:-.02em;color:var(--gold-hi);
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  body .elementor .big-num .big-n{
    background:linear-gradient(100deg,#B08A52 0%,#F1E2BF 30%,#D8C098 52%,#FFF5DC 64%,#C9A66A 86%);
    -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  }
}
body .elementor .big-num .big-n-l{margin:.75rem 0 0;font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
body .elementor .bourbon-copy .elementor-widget-shortcode{margin:2rem 0 1rem}
body .elementor .bourbon-photos > .elementor-widget-wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end}
body .elementor .bourbon-photos .elementor-widget{grid-row:1;margin:0}
body .elementor .bourbon-photos .bourbon-a{grid-column:1 / 9;align-self:start}
body .elementor .bourbon-photos .bourbon-b{grid-column:6 / 13;z-index:2;margin-bottom:-2.5rem}
body .elementor .bourbon-photos .bourbon-a img{aspect-ratio:4 / 5}
body .elementor .bourbon-photos .bourbon-b img{aspect-ratio:4 / 3;box-shadow:0 0 0 8px var(--ink),var(--shadow-2)}
@media (max-width:1024px){ body .elementor .bourbon-photos > .elementor-widget-wrap{max-width:620px;margin-inline:auto;padding-bottom:2.5rem} }

/* --------------------------------------------------------- the chalkboards */

/* slate in a black frame, wiped but never washed (img/chalk-dust.svg); what is
   written on it is masked by img/chalk-grit.svg so it reads as chalk */
body .elementor .sec-chalk{padding-top:calc(var(--section-y) * .4)}
body .elementor .sec-chalk.sec-amb::before{background:rgba(12,12,13,.94)}   /* = the bourbon band's own foot: no seam */
body .elementor .sec-chalk > .elementor-container{max-width:min(1200px, 100%)}
body .elementor .chalk-board > .elementor-widget-wrap{
  position:relative;isolation:isolate;justify-content:center;text-align:center;
  padding:clamp(2.6rem, 1.6rem + 3.4vw, 4.8rem) clamp(1.25rem, .25rem + 4.4vw, 5rem) clamp(2.8rem, 2rem + 3vw, 4.4rem);
  background:
    radial-gradient(55% 45% at 22% 18%, rgba(255,255,255,.06), rgba(255,255,255,0) 70%),
    radial-gradient(40% 35% at 85% 82%, rgba(255,255,255,.045), rgba(255,255,255,0) 70%),
    url("../img/chalk-dust.svg") 0 0 / 520px 520px,
    var(--slate);
  border:clamp(9px, .5rem + .3vw, 15px) solid #0D0E0F;
  border-image:linear-gradient(145deg,#3B3D41,#0B0B0C 28%,#212226 52%,#0A0A0B 78%,#2D2E31) 1;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),inset 0 0 90px rgba(0,0,0,.5),0 46px 80px -40px rgba(0,0,0,.95);
}
/* doodles in the corners: a barrel and its star, a rocks glass */
body .elementor .chalk-board > .elementor-widget-wrap::before,
body .elementor .chalk-board > .elementor-widget-wrap::after{content:"";position:absolute;z-index:-1;pointer-events:none;opacity:.72;background:center / contain no-repeat}
body .elementor .chalk-board > .elementor-widget-wrap::before{right:clamp(12px, 2vw, 34px);top:clamp(12px, 1.8vw, 28px);width:clamp(84px, 8vw, 146px);aspect-ratio:170 / 130;background-image:url("../img/chalk-barrel.svg")}
body .elementor .chalk-board > .elementor-widget-wrap::after{left:clamp(12px, 1.8vw, 30px);bottom:clamp(10px, 1.4vw, 24px);width:clamp(76px, 7vw, 124px);aspect-ratio:1;background-image:url("../img/chalk-glass.svg")}
body .elementor .chalk-board .elementor-widget-heading,
body .elementor .chalk-board .elementor-widget-text-editor,
body .elementor .chalk-board .elementor-widget-shortcode{
  -webkit-mask:url("../img/chalk-grit.svg") 0 0 / 180px 180px;mask:url("../img/chalk-grit.svg") 0 0 / 180px 180px;
}
body .elementor .chalk-title .elementor-heading-title{
  font-family:var(--font-chalk);font-weight:400;font-size:clamp(2.7rem, 1.7rem + 3.4vw, 4.7rem);line-height:1;letter-spacing:.02em;
  color:var(--chalk);text-shadow:0 0 1px rgba(255,255,255,.35);margin-inline:auto;
}
body .elementor .chalk-title .elementor-heading-title::after{
  content:"";display:block;width:min(320px, 80%);aspect-ratio:320 / 34;margin:.12em auto -.1em;background:url("../img/chalk-swash.svg") center / contain no-repeat;
}
body .elementor .chalk-title-sm .elementor-heading-title{font-size:clamp(2.3rem, 1.8rem + 1.8vw, 3.2rem)}
body .elementor .elementor-widget.chalk-title{margin-bottom:.6rem}
body .elementor .chalk-sub .elementor-heading-title{font-family:var(--font-hand);font-size:clamp(1.6rem, 1.3rem + 1vw, 2.25rem);font-weight:500;line-height:1.1;color:var(--chalk-y);margin-inline:auto}
body .elementor .elementor-widget.chalk-note{font-family:var(--font-hand);font-size:clamp(1.35rem, 1.2rem + .5vw, 1.65rem);line-height:1.3;color:var(--chalk)}
body .elementor .chalk-note p{margin-inline:auto;max-width:40ch}
body .elementor .elementor-widget.chalk-note{margin:clamp(2rem, 1.5rem + 1.5vw, 3rem) 0 1.4rem}
/* a chalk outline for a button */
body .elementor .btnw-chalk .elementor-button{
  background:transparent;border:2px solid rgba(243,239,230,.7);border-radius:46% 52% 44% 50% / 60% 48% 56% 44%;box-shadow:none;
  font-family:var(--font-hand);font-size:1.5rem;font-weight:700;letter-spacing:.01em;text-transform:none;color:var(--chalk);padding:.55rem 1.7rem .65rem;
}
body .elementor .btnw-chalk .elementor-button::before{content:none}
body .elementor .btnw-chalk .elementor-button:hover{background:rgba(243,239,230,.08);border-color:var(--chalk-y);color:var(--chalk-y)}
body .elementor .chalk-board .elementor-widget.btnw{width:100%;margin:0}

/* the flights, chalked — on the home page's board and on the bar menu's */
.mh .chalk-board .bof{padding:0;background:none;box-shadow:none}
.mh .chalk-board .bof::before,.mh .chalk-board .bof::after{content:none}
.mh .chalk-board .flights,.mh .sec-bar-menu .bof-flights .flights{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 0;margin-top:clamp(1.8rem, 1.2rem + 2vw, 3rem);text-align:left}
.mh .chalk-board .flight,.mh .sec-bar-menu .bof-flights .flight{padding:.3rem clamp(.9rem, .3rem + 1.5vw, 2rem);background:none;box-shadow:none;border-radius:0;border-left:2px solid rgba(243,239,230,.24)}
.mh .chalk-board .flight:nth-child(3n+1),.mh .sec-bar-menu .bof-flights .flight:nth-child(3n+1){border-left:0}
.mh .chalk-board .flight-head,.mh .sec-bar-menu .bof-flights .flight-head{align-items:center;padding-bottom:0;margin-bottom:.7rem;border-bottom:0}
.mh .chalk-board .flight-name,.mh .sec-bar-menu .bof-flights .flight-name{font-family:var(--font-hand);font-size:clamp(1.75rem, 1.4rem + .9vw, 2.2rem);font-weight:700;line-height:1;color:var(--chalk)}
.mh .chalk-board .flight-price,.mh .sec-bar-menu .bof-flights .flight-price{
  flex:none;padding:.08em .5em 0;border:2.5px solid currentColor;border-radius:52% 45% 55% 47% / 50% 55% 45% 50%;
  font-family:var(--font-hand);font-size:1.65rem;font-weight:700;line-height:1.1;color:var(--chalk-y);
}
.mh .sec-bar-menu .bof-flights .flight-price .price-words{font-family:var(--font-hand);font-style:normal;font-size:1.25rem;color:var(--chalk-y)}
.mh .chalk-board .flight-pours,.mh .sec-bar-menu .bof-flights .flight-pours{padding-left:1.9rem;gap:.15rem}
.mh .chalk-board .flight-pours li,.mh .sec-bar-menu .bof-flights .flight-pours li{font-family:var(--font-hand);font-size:clamp(1.3rem, 1.15rem + .45vw, 1.55rem);line-height:1.3;color:rgba(243,239,230,.9)}
.mh .chalk-board .flight-pours li::marker,.mh .sec-bar-menu .bof-flights .flight-pours li::marker{font-family:var(--font-hand);font-size:1.05rem;color:var(--chalk-y)}
.mh .chalk-board .flight-desc,.mh .sec-bar-menu .bof-flights .flight-desc{font-family:var(--font-hand);font-style:normal;font-size:1.5rem;line-height:1.3;color:rgba(243,239,230,.9)}
.mh .sec-bar-menu .bof-flights .dish-86{background:var(--chalk-y);color:var(--slate);font-family:var(--font-hand);font-size:1rem;letter-spacing:0;text-transform:none}
@media (max-width:1024px){
  .mh .chalk-board .flights,.mh .sec-bar-menu .bof-flights .flights{grid-template-columns:minmax(0,1fr);gap:1.6rem;max-width:30rem;margin-inline:auto}
  .mh .chalk-board .flight,.mh .sec-bar-menu .bof-flights .flight{border-left:0;padding:.35rem 0 1.5rem;border-bottom:2px solid rgba(243,239,230,.2)}
  .mh .chalk-board .flight:last-child,.mh .sec-bar-menu .bof-flights .flight:last-child{border-bottom:0;padding-bottom:0}
}
@media (max-width:767px){
  body .elementor .chalk-board > .elementor-widget-wrap::before{width:64px;opacity:.5}
  body .elementor .chalk-board > .elementor-widget-wrap::after{display:none}
}

/* the hours, chalked */
.mh .chalk-board .hours-card{text-align:left}
.mh .chalk-board .hours-status{margin:0 0 .8rem;text-align:center;font-family:var(--font-hand);font-size:clamp(1.45rem, 1.2rem + .8vw, 1.85rem);font-weight:700;line-height:1.15;color:var(--chalk-y)}
.mh .chalk-board .hours-status .open-status{align-items:baseline}
.mh .chalk-board .hours th,.mh .chalk-board .hours td{padding:.38rem 0;border-bottom:1.5px dashed rgba(243,239,230,.2);font-family:var(--font-hand);font-size:clamp(1.3rem, 1.15rem + .4vw, 1.55rem);line-height:1.25}
.mh .chalk-board .hours th{width:44%;padding-right:1rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--chalk)}
.mh .chalk-board .hours td{font-weight:500;color:rgba(243,239,230,.9)}
.mh .chalk-board .hours tr:last-child th,.mh .chalk-board .hours tr:last-child td{border-bottom:0}
.mh .chalk-board .hours tr.is-today th,.mh .chalk-board .hours tr.is-today td{color:var(--chalk-y)}
.mh .chalk-board .hours tr.is-today th::after{background:var(--chalk-y);color:var(--slate);font-family:var(--font-hand);font-size:.95rem;letter-spacing:0;text-transform:none;vertical-align:.12em}
.mh .chalk-board .hours-bar{justify-content:center;margin-top:1.2rem;font-family:var(--font-hand);font-size:1.4rem;color:rgba(243,239,230,.88)}
.mh .chalk-board .hours-bar b{color:var(--chalk);font-weight:700}
.mh .chalk-board .hours-bar .ico{color:var(--chalk-y)}
.mh .chalk-board .hours-note,.mh .chalk-board .hours-special{font-family:var(--font-hand);font-size:1.25rem;color:rgba(243,239,230,.8)}
.mh .chalk-board .hours-special{border-color:rgba(243,239,230,.3)}
.mh .chalk-board .hours-special-k{font-family:var(--font-hand);font-size:1.3rem;letter-spacing:0;text-transform:none;color:var(--chalk-y)}
body .elementor .visit-hours > .elementor-widget-wrap{align-content:center;height:100%}

/* ------------------------------------------------------- the family album */

/* prints in gilt photo corners, set down a little askew */
body .elementor .album > .elementor-widget-wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;padding:1.5rem 0 2.5rem}
body .elementor .album .elementor-widget{grid-row:1;margin:0}
body .elementor .album .print-a{grid-column:1 / 11}
body .elementor .album .print-b{grid-column:7 / 13;margin-top:46%;z-index:2;--tilt:3deg}
body .elementor .album-rev .print-a{grid-column:4 / 12;--tilt:2.2deg}
body .elementor .album-rev .print-b{grid-column:1 / 8;margin-top:72%;--tilt:-3deg}
body .elementor .print{position:relative;transform:rotate(var(--tilt, -2.2deg))}
body .elementor .print img{
  display:block;width:100%;padding:clamp(7px, .3rem + .4vw, 13px);background:#FFFDF8;border-radius:1px;
  box-shadow:0 1px 2px rgba(17,17,18,.14),0 26px 44px -24px rgba(17,17,18,.6);
}
body .elementor .print::after{
  content:"";position:absolute;inset:-3px;pointer-events:none;
  --pc:clamp(26px, 1rem + 1.2vw, 40px);
  background:
    url("../img/pc-tl.svg") left top / var(--pc) no-repeat,url("../img/pc-tr.svg") right top / var(--pc) no-repeat,
    url("../img/pc-bl.svg") left bottom / var(--pc) no-repeat,url("../img/pc-br.svg") right bottom / var(--pc) no-repeat;
  filter:drop-shadow(0 1px 1px rgba(17,17,18,.28));
}
body .elementor .sec-story{padding-bottom:clamp(1.5rem, .5rem + 2.5vw, 3.5rem)}
body .elementor .sec-chef{padding-top:clamp(1.5rem, .5rem + 2.5vw, 3.5rem)}
body .elementor .title-chef .elementor-heading-title{font-size:clamp(2rem, 1.5rem + 1.8vw, 3.1rem);line-height:1.04}
body .elementor .signature .elementor-heading-title{font-size:3rem;color:var(--claret);transform:rotate(-4deg);display:inline-block}
body .elementor .sec-walnut .signature .elementor-heading-title,
body .elementor .sec-ink .signature .elementor-heading-title{color:var(--gold-hi)}
@media (max-width:1024px){
  body .elementor .album > .elementor-widget-wrap{max-width:640px;margin-inline:auto}
  body .elementor .sec-chef .album{order:-1}
  body .elementor .sec-chef.stack-tablet > .elementor-container > .elementor-column.album + .elementor-column{margin-top:0}
  body .elementor .sec-chef.stack-tablet > .elementor-container > .elementor-column + .elementor-column.album{margin-top:0}
  body .elementor .sec-chef .chef-copy{margin-top:2.75rem}
}

/* --------------------------------------------------- invitations, as tickets */

body .elementor .sec-invites{padding-bottom:calc(var(--section-y) + 1.5rem)}
body .elementor .ticket{filter:drop-shadow(0 30px 30px rgba(0,0,0,.34)) drop-shadow(0 2px 3px rgba(0,0,0,.22))}
body .elementor .ticket > .elementor-widget-wrap{
  --perf:clamp(176px, 9vw + 90px, 250px);
  height:100%;flex-direction:column;flex-wrap:nowrap;align-items:stretch;text-align:center;padding:0 0 2.1rem;
  background:var(--paper) var(--grain);border-radius:var(--r-sm);
  -webkit-mask:
    radial-gradient(circle 13px at 0 var(--perf), transparent 96%, #000 100%) left / 51% 100% no-repeat,
    radial-gradient(circle 13px at 100% var(--perf), transparent 96%, #000 100%) right / 51% 100% no-repeat;
          mask:
    radial-gradient(circle 13px at 0 var(--perf), transparent 96%, #000 100%) left / 51% 100% no-repeat,
    radial-gradient(circle 13px at 100% var(--perf), transparent 96%, #000 100%) right / 51% 100% no-repeat;
}
body .elementor .ticket .elementor-widget:not(.ticket-img){padding-inline:clamp(1.2rem, .8rem + 1.4vw, 2rem)}
body .elementor .ticket > .elementor-widget-wrap{transition:transform .45s var(--ease)}
body .elementor .ticket:hover > .elementor-widget-wrap{transform:translateY(-5px)}
body .elementor .elementor-widget.ticket-img{position:relative;width:100%;margin-bottom:1.7rem}
body .elementor .ticket-img img{display:block;width:100%;height:var(--perf);object-fit:cover;border-radius:var(--r-sm) var(--r-sm) 0 0}
body .elementor .ticket-img::after{content:"";position:absolute;left:20px;right:20px;bottom:-9px;border-bottom:2px dashed rgba(17,17,18,.2)}
body .elementor .ticket .elementor-heading-title{color:var(--ink)}
body .elementor .invite-k .elementor-heading-title{font-family:var(--font-script);font-size:2.1rem;font-weight:400;line-height:1;color:var(--claret)}
body .elementor .ticket .title-sm .elementor-heading-title{font-size:clamp(1.7rem, 1.4rem + 1vw, 2.15rem);margin-inline:auto}
body .elementor .ticket .elementor-widget-text-editor{color:var(--text-2)}
body .elementor .ticket .body p{margin-inline:auto;max-width:34ch}
body .elementor .ticket .elementor-widget.btnw{margin:auto auto 0;padding-top:1.1rem}
body .elementor .ticket .btnw-link .elementor-button{color:var(--claret)}
body .elementor .ticket .btnw-link .elementor-button:hover{color:var(--oxblood)}
@media (max-width:1024px){
  body .elementor .sec-invites.stack-tablet > .elementor-container > .ticket{max-width:560px;margin-inline:auto}
  body .elementor .sec-invites.stack-tablet > .elementor-container > .ticket + .ticket{margin-top:1.8rem}
}

/* events: the band disappears when nothing is current */
body .elementor .sec-events:has(.events-none){display:none}
body .elementor .sec-events .events{margin-top:2.6rem}

/* ----------------------------------------------------------------- visit */

body .elementor .visit-copy .elementor-widget-shortcode{margin-bottom:1.75rem}
body .elementor .elementor-widget.visit-map{margin:1.1rem 0 0}
body .elementor .visit-map .map-frame{height:300px;min-height:0;background:var(--walnut) url("../img/house-porch.webp") center / cover no-repeat}
body .elementor .visit-map .map-frame iframe{min-height:300px}

/* about: the timeline */
body .elementor .timeline ol{list-style:none;margin:2.4rem 0 0;padding:0 0 0 1.6rem;position:relative}
body .elementor .timeline ol::before{content:"";position:absolute;left:.3rem;top:.5rem;bottom:.6rem;width:1px;background:linear-gradient(180deg,var(--gold-lo),rgba(184,149,92,.15))}
body .elementor .timeline li{position:relative;padding:0 0 1.35rem .6rem}
body .elementor .timeline li::before{content:"";position:absolute;left:-1.55rem;top:.42rem;width:9px;height:9px;background:var(--gold-lo);transform:rotate(45deg);box-shadow:0 0 0 4px var(--cream)}
body .elementor .timeline b{display:block;font-family:var(--font-display);font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--claret)}
body .elementor .timeline span{display:block;margin-top:.15rem;font-family:var(--font-serif);font-size:1.15rem;line-height:1.45;color:var(--text)}

/* catering occasions */
body .elementor .occasion > .elementor-widget-wrap{
  height:100%;padding:2rem 1.6rem;background:var(--paper);border-radius:var(--r-sm);box-shadow:var(--shadow-1);
  border-top:3px solid var(--gold-lo);
}
body .elementor .occasion .title-sm .elementor-heading-title{font-size:1.65rem}
@media (max-width:1024px){
  body .elementor .sec-occasions > .elementor-container{flex-wrap:wrap}
  body .elementor .sec-occasions .elementor-column{width:50%;margin-bottom:var(--mh-gap)}
}
@media (max-width:767px){ body .elementor .sec-occasions .elementor-column{width:100%} }
body .elementor .catering-photo img{max-width:420px;margin-inline:auto}

/* the form card beside its intro */
body .elementor .form-card > .elementor-widget-wrap{
  position:relative;padding:clamp(1.6rem, 1rem + 2.2vw, 3rem);
  background:var(--paper);border-radius:var(--r-sm);box-shadow:var(--shadow-2);border-top:3px solid var(--gold);
}
body .elementor .form-card .title-sm .elementor-heading-title{color:var(--ink)}
/* the short stand-in (PlugMatrix not active) hugs its content instead of the row's height */
body .elementor .form-card:has(.form-fallback){align-self:flex-start}
body .elementor .sec-form .elementor-widget-shortcode{margin-bottom:1.5rem}

/* careers */
body .elementor .sec-positions .pills{margin-top:1.6rem}
body .elementor .sec-positions .pills .elementor-icon-list-item{padding:.7rem 1.2rem;font-size:.78rem;background:var(--paper)}

/* the menu pages */
body .elementor .sec-menu{padding-top:0}
body .elementor .sec-menu.sec-bar-menu{padding-top:clamp(3rem, 2.2rem + 3vw, 5rem)}

/* the bar menu: on cream paper, as the bourbon finder is — how many drinks
   and a tile for each kind, then cream sheets of the bill of fare, the
   flights on the chalkboard */
.mh .menu-intro{text-align:center;margin:0 auto clamp(2.6rem, 2rem + 2vw, 3.6rem)}
.mh .menu-kicker{display:inline-flex;align-items:center;gap:.85rem;margin:0 0 .9rem;font-family:var(--font-display);font-size:var(--fs-kicker);font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--brass)}
.mh .menu-kicker::before,.mh .menu-kicker::after{content:"";width:7px;height:7px;background:currentColor;transform:rotate(45deg)}
.mh .menu-big{margin:0 0 clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem);font-family:var(--font-serif);font-size:var(--fs-h2);font-weight:600;line-height:1.02;color:var(--ink);text-transform:none}
.mh .menu-big b{font-weight:600;font-style:italic;color:var(--claret)}
.mh .menu-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;max-width:62rem;margin:0 auto;text-align:left}
.mh .menu-tile{
  display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:.95rem;align-items:center;
  padding:1rem 1.1rem;text-decoration:none;background:#FFFDF8;border:1px solid rgba(184,149,92,.38);border-radius:var(--r-sm);
  box-shadow:0 1px 2px rgba(17,17,18,.05),0 16px 32px -26px rgba(17,17,18,.5);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease);
}
.mh .menu-tile:hover{border-color:var(--claret);transform:translateY(-2px);box-shadow:0 1px 2px rgba(17,17,18,.06),0 22px 38px -26px rgba(17,17,18,.6)}
.mh .menu-tile-ico{grid-row:1 / span 2;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(184,149,92,.5);color:var(--brass);transition:color .2s var(--ease),border-color .2s var(--ease)}
.mh .menu-tile-ico .ico{width:28px;height:28px;stroke-width:1.1}
.mh .menu-tile:hover .menu-tile-ico{border-color:var(--claret);color:var(--claret)}
.mh .menu-tile-name{align-self:end;font-family:var(--font-serif);font-size:1.3rem;font-weight:600;line-height:1.1;color:var(--ink)}
.mh .menu-tile-n{align-self:start;margin-top:.2rem;font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--claret)}
@media (max-width:767px){
  .mh .menu-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mh .menu-tile{grid-template-columns:minmax(0,1fr);row-gap:.25rem;padding:.9rem}
  .mh .menu-tile-ico{grid-row:auto;width:40px;height:40px;margin-bottom:.3rem}
  .mh .menu-tile-ico .ico{width:24px;height:24px}
}
/* the gifts (a plain list): one short column, centred */
.mh .sec-bar-menu .bof-list .dishes{grid-template-columns:minmax(0,1fr);max-width:34rem;margin-inline:auto}
/* the flights: the chalkboard behind the bar */
.mh .sec-bar-menu .bof-flights{
  border:clamp(9px, .5rem + .3vw, 15px) solid #0D0E0F;border-radius:0;
  border-image:linear-gradient(145deg,#3B3D41,#0B0B0C 28%,#212226 52%,#0A0A0B 78%,#2D2E31) 1;
  background:
    radial-gradient(55% 45% at 22% 18%, rgba(255,255,255,.06), rgba(255,255,255,0) 70%),
    radial-gradient(40% 35% at 85% 82%, rgba(255,255,255,.045), rgba(255,255,255,0) 70%),
    url("../img/chalk-dust.svg") 0 0 / 520px 520px,
    var(--slate);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),inset 0 0 90px rgba(0,0,0,.5),0 46px 80px -40px rgba(0,0,0,.95);
}
.mh .sec-bar-menu .bof-flights::before,.mh .sec-bar-menu .bof-flights::after{content:"";position:absolute;inset:auto;border:0;border-radius:0;pointer-events:none;opacity:.72;background:center / contain no-repeat}
.mh .sec-bar-menu .bof-flights::before{right:clamp(12px, 2vw, 34px);top:clamp(12px, 1.8vw, 28px);width:clamp(84px, 8vw, 146px);aspect-ratio:170 / 130;background-image:url("../img/chalk-barrel.svg")}
.mh .sec-bar-menu .bof-flights::after{left:clamp(12px, 1.8vw, 30px);top:clamp(10px, 1.6vw, 26px);width:clamp(76px, 7vw, 124px);aspect-ratio:1;background-image:url("../img/chalk-glass.svg")}
.mh .sec-bar-menu .bof-flights > *{-webkit-mask:url("../img/chalk-grit.svg") 0 0 / 180px 180px;mask:url("../img/chalk-grit.svg") 0 0 / 180px 180px}
.mh .sec-bar-menu .bof-flights .bof-orn{display:none}
.mh .sec-bar-menu .bof-flights .bof-title{font-family:var(--font-chalk);font-weight:400;font-size:clamp(2.7rem, 1.7rem + 3.4vw, 4.7rem);line-height:1;letter-spacing:.02em;color:var(--chalk);text-shadow:0 0 1px rgba(255,255,255,.35)}
.mh .sec-bar-menu .bof-flights .bof-title::after{content:"";display:block;width:min(320px, 80%);aspect-ratio:320 / 34;margin:.12em auto -.1em;background:url("../img/chalk-swash.svg") center / contain no-repeat}
.mh .sec-bar-menu .bof-flights .bof-note{max-width:44ch;font-family:var(--font-hand);font-style:normal;font-size:clamp(1.35rem, 1.2rem + .5vw, 1.7rem);line-height:1.3;color:var(--chalk-y)}
@media (max-width:767px){
  .mh .sec-bar-menu .bof-flights::before{width:64px;opacity:.5}
  .mh .sec-bar-menu .bof-flights::after{display:none}
}
body .elementor .sec-menu > .elementor-container{max-width:min(1180px,100%)}
body .elementor .sec-bl{padding-top:clamp(3rem, 2.2rem + 3vw, 5rem)}
body .elementor .sec-gift > .elementor-container{max-width:1080px}
body .elementor .sec-map > .elementor-container{max-width:min(1360px,100%)}
body .elementor .sec-map .map-frame{min-height:420px}
body .elementor .sec-contact-cards{padding-top:clamp(3rem, 2rem + 3vw, 4.5rem)}

/* ----------------------------------------------------- generic page heads */

.mh .page-head-title{font-family:var(--font-serif);font-size:var(--fs-h1);font-weight:600;line-height:1;color:var(--white);margin:0}
.mh .page-head-lede{max-width:46ch;margin:1.2rem auto 0;font-family:var(--font-serif);font-size:var(--fs-lede);font-style:italic;color:var(--on-dark)}
.mh .page-head-btns{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin:2rem 0 0}
.mh .page-head-404{min-height:70vh;display:flex;align-items:center}
