/* Ellie preview adjustments: proportional wordmark and editorial menu photo.
   The menu photograph is temporary licensed preview imagery, not a dish from Ellie. */

/* Center the large Ellie mark over the visual, reduced 15% from its prior width.
   The layout below it remains free of competing information. */
.contra-home .contra-hero{
  justify-content:flex-end;
}
.contra-home .contra-hero-brand{
  position:absolute;
  left:50%;
  top:47%;
  transform:translate(-50%,-50%);
  margin:0;
  width:min(71.4vw,697px);
  max-width:697px;
  display:block;
}
.contra-home .contra-hero-brand img{
  width:100%;
  height:auto;
  display:block;
}
.contra-home .contra-hero-details{
  margin-top:0;
  margin-bottom:clamp(22px,3.5vh,40px);
}
.contra-home .contra-hero-cta{
  flex-shrink:0;
}
/* Scroll fade animation must not override the centered position. */
@media(prefers-reduced-motion:no-preference){
  .js-motion .contra-home .contra-hero-brand[data-reveal]{
    opacity:0;
    transform:translate(-50%,calc(-50% + 25px));
  }
  .js-motion .contra-home .contra-hero-brand[data-reveal].is-visible{
    opacity:1;
    transform:translate(-50%,-50%);
  }
}
@media(max-width:850px){
  .contra-home .contra-hero-brand{
    top:43%;
    width:min(69.7vw,519px);
  }
  .contra-home .contra-hero-details{
    margin-top:auto;
  }
}
@media(max-width:440px){
  .contra-home .contra-hero-brand{
    width:74vw;
    top:42%;
  }
}

/* Lunch menu: remove the previous informational slab in favor of one image.
   Leave the category navigation and all menu items entirely intact. */
.menu-page .menu-photo-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  width:100%;
  height:clamp(370px,55svh,750px);
  min-height:370px;
  background:linear-gradient(128deg,#8a8c78 0%,#bda18c 55%,#6e7566 100%);
  color:#fff9ef;
  display:flex;
  align-items:flex-end;
  padding:clamp(24px,5vw,78px);
}
.menu-page .menu-photo-hero:after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(23,30,21,.08) 0%,rgba(23,30,21,.04) 35%,rgba(23,30,21,.61) 100%);
}
.menu-page .menu-photo-image{
  position:absolute;
  z-index:-2;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 50%;
}
.menu-page .menu-photo-content{
  position:relative;
  z-index:1;
  margin:0;
}
.menu-page .menu-photo-kicker{
  font:400 clamp(12px,1.1vw,15px)/1.5 'IBM Plex Mono',ui-monospace,monospace;
  letter-spacing:-.03em;
  margin:0 0 16px;
}
.menu-page .menu-photo-content h1{
  font:900 clamp(42px,5.4vw,80px)/1.05 'Archivo Black',Arial,sans-serif;
  letter-spacing:-.053em;
  margin:0;
  text-transform:uppercase;
}
.menu-page .menu-photo-note{
  position:absolute;
  right:clamp(18px,3vw,48px);
  top:clamp(18px,3vw,48px);
  max-width:160px;
  color:#f4eee6;
  font:400 10px/1.5 'IBM Plex Mono',ui-monospace,monospace;
  text-align:right;
  margin:0;
  opacity:.85;
}
.menu-page .menu-category-nav{
  top:0;
  scroll-margin-top:0;
  background:var(--ellie-plaster,#f3eee3);
}
.menu-page .photo-credit{
  color:inherit;
  opacity:.72;
  font:400 10px/1.5 'IBM Plex Mono',ui-monospace,monospace;
}
.menu-page .photo-credit a{
  text-decoration:underline;
  text-underline-offset:2px;
}
@media(max-width:850px){
  .menu-page .menu-photo-hero{
    height:clamp(360px,53svh,620px);
    padding:28px 24px 34px;
  }
  .menu-page .menu-photo-content h1{
    font-size:clamp(39px,9vw,67px);
  }
  .menu-page .menu-photo-kicker{
    font-size:12px;
  }
  .menu-page .menu-photo-note{
    right:18px;
    top:18px;
    font-size:9px;
  }
}
@media(prefers-reduced-motion:reduce){
  .menu-page .menu-photo-content{opacity:1!important;transform:none!important}
}


/* Original Ellie photography — replace all illustrated placeholders */
.contra-photo {
  background:#43483e;
  overflow:hidden;
}
.contra-photo .contra-photo-image {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
}
.contra-photo:after{
  background:linear-gradient(180deg,rgba(20,25,20,.28) 0%,rgba(20,25,20,.2) 35%,rgba(15,19,16,.55) 100%);
}
.contra-hero-brand img{
  filter:drop-shadow(0 3px 12px rgba(0,0,0,.18));
}
.wild-feature-visual{
  background:#b9b5a3;
}
.wild-feature-frame{
  padding:0;
  background:#b9b5a3;
  border:0;
  overflow:hidden;
}
.wild-feature-frame::before{display:none!important}
.wild-feature-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.social-photo-tile{
  background:var(--cream);
  border:0;
  overflow:hidden;
}
.social-photo-tile img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.social-photo-tile:nth-child(3) img{object-position:center 38%}
.social-bottom:empty{display:none}
.menu-photo-hero .menu-photo-image{object-position:center 45%}
@media(max-width:850px){
  .contra-photo .contra-photo-image{object-position:55% center}
  .wild-feature-frame img{object-position:center 48%}
}


/* Nov 11 menu refinements — cohesive single-color filter and full-width dishes. */
.menu-page{
  --menu-surface:#f3eee3;
  background:var(--menu-surface);
}
.menu-page .menu-category-nav{
  background:var(--menu-surface)!important;
  border-bottom:1px solid rgba(48,56,47,.68);
  box-shadow:none;
}
.menu-page .menu-layout{
  display:block!important;
  grid-template-columns:none!important;
  background:var(--menu-surface)!important;
  padding:clamp(42px,5vw,76px) var(--ellie-inset)!important;
  max-width:1440px;
  margin:0 auto;
}
.menu-page .menu-content{
  width:100%;
  max-width:none;
}
.menu-page .menu-category:first-child{
  padding-top:0;
}
.menu-page .menu-photo-content{
  margin:0;
}
.menu-page .menu-photo-content h1{
  margin:0!important;
}
.menu-page .menu-photo-image{
  object-position:center 53%;
}
@media(max-width:850px){
  .menu-page .menu-layout{
    padding:clamp(39px,8vw,60px) 24px 90px!important;
  }
  .menu-page .menu-photo-image{
    object-position:center 48%;
  }
}


/* November 11: The TOP logo/navigation bar and category filter must both
   match the menu's warm plaster background, not the homepage olive. */
.menu-page .wild-header,
.menu-page header.header.wild-header,
.menu-page .menu-category-nav,
.menu-page .menu-layout,
.menu-page .menu-content{
  background-color:var(--menu-surface,#f3eee3)!important;
}
.menu-page .wild-header{
  color:var(--dark,#30382f)!important;
  border-bottom:0;
}
.menu-page .wild-header .desktop-nav,
.menu-page .wild-header .desktop-nav a{
  color:var(--dark,#30382f)!important;
}
.menu-page .wild-header .nav-toggle span{
  background:var(--dark,#30382f)!important;
}
.menu-page .wild-header .brand img{
  /* Use the pale-blue SVG itself elsewhere; this contextual treatment gives
     the wordmark enough contrast against the light plaster header. */
  filter:brightness(0) saturate(100%) invert(19%) sepia(10%) saturate(610%) hue-rotate(72deg) brightness(94%) contrast(90%);
}

/* Dining-room and bar photography chosen for the final site */
.contra-home .visit-bar-image {
  width:min(790px,100%);
  margin:clamp(64px,8vw,120px) 0 0;
  padding:0;
  overflow:hidden;
}
.contra-home .visit-bar-image img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  height:auto;
  object-fit:cover;
  object-position:center 37%;
}
.contra-home .wild-feature-frame img {
  object-position:center 48%;
}
@media(max-width:850px){
  .contra-home .visit-bar-image{width:100%;margin-top:clamp(52px,10vw,80px)}
  .contra-home .visit-bar-image img{aspect-ratio:2/3;object-position:center center}
}
/* Definitive menu header color. This rule replaces the inherited olive
   background, while the logo/menu toggle use contrasting dark olive. */
body.menu-page > header.header.wild-header {
  background:#f3eee3!important;
  background-color:#f3eee3!important;
  color:#30382f!important;
}
body.menu-page > header.header.wild-header .desktop-nav,
body.menu-page > header.header.wild-header .desktop-nav a {
  color:#30382f!important;
}
body.menu-page > header.header.wild-header .nav-toggle span{
  background:#30382f!important;
}
body.menu-page > header.header.wild-header .brand img{
  filter:brightness(0) saturate(100%) invert(19%) sepia(10%) saturate(610%) hue-rotate(72deg) brightness(94%) contrast(90%)!important;
}


/* November 11 — Palette and navigation refinement
   Original Ellie mark, IKB-adjacent #002FA7 digital ultramarine.
   Keep saturated blue selective: branding, editorial accents, and links. */
:root {
  --klein:#002FA7;
  --olive:#899182;
  --sage:#b6c4b8;
  --blue:#c8dee5;
  --cream:#f3efe5;
  --chalk:#f4f0e8;
  --blush:#dce5dc;
  --clay:#748d83;
  --dark:#303a33;
  --accent:#002FA7;
}
.contra-home .contra-info{background:var(--blue)!important;color:var(--dark)!important}
.contra-home .contra-intro h1{color:var(--klein)!important}
.contra-home .contra-visit h2{color:var(--dark)!important}
.contra-home .contra-contact-links a:hover,
.contra-home .social-text-link:hover{color:var(--klein)}
.contra-home .contra-banner{background:var(--blue)!important}
.contra-home .contra-banner-track i{background:var(--klein)}
.contra-home .wild-feature{background:var(--sage)!important}
.contra-home .wild-feature-visual{background:#d8d7c9!important}
.contra-home .instagram-section{
  background:linear-gradient(145deg,#d4e3dd 0%,#dce8e6 50%,#c6d9d6 100%)!important;
  color:var(--dark)!important;
}
.contra-home .instagram-heading h2 span{color:var(--klein)!important}
.contra-home .contact{background:var(--cream)!important}
.contra-home + .footer{background:var(--cream)!important;color:var(--dark)!important}
.contra-home .contra-hero-brand img{
  filter:drop-shadow(0 0 4px rgba(244,240,232,.82)) drop-shadow(0 0 15px rgba(120,160,245,.62))!important;
}
/* Full-screen navigation is sage/blue rather than blush or coral. */
.site-overlay{background:#dce7e1!important;color:var(--dark)!important}
.site-overlay .overlay-links a:hover,
.site-overlay .overlay-links a:focus-visible{color:var(--klein)!important}
.site-overlay .overlay-logo img{filter:none!important}
.menu-page > header.header.wild-header{background:var(--cream)!important;background-color:var(--cream)!important}
.menu-page .menu-category-nav,.menu-page .menu-layout,.menu-page .menu-content{background:var(--cream)!important}
.menu-page > header.header.wild-header .brand img{filter:none!important}
.menu-page .menu-category-nav .menu-nav-label{color:var(--klein)!important}
.menu-page .menu-category-nav a:hover,
.menu-page .menu-category-nav a:focus-visible{color:var(--klein)!important}
/* Position: VISIT US / bar photo / address, hours, directions. */
.contra-home .contra-visit .visit-bar-image{
  display:block;
  width:min(940px,100%)!important;
  max-width:940px;
  margin:clamp(34px,5vw,75px) 0 clamp(48px,6vw,90px)!important;
  padding:0;
  border:0;
}
.contra-home .contra-visit .visit-bar-image img{
  width:100%;
  aspect-ratio:16/10!important;
  height:auto;
  object-fit:cover;
  object-position:center 35%;
}
.contra-home .contra-visit address{margin-top:0}
/* Primary CTAs: retain the same size, weight and fine outline.
   Arrows and divided compartments have been removed in markup. */
a.ellie-button,
a.ellie-button--light,
a.ellie-button--dark,
a.ellie-button--outline,
.contra-home .contra-hero a.ellie-button.contra-hero-cta,
.visit a.ellie-button,
.instagram-section a.ellie-button {
  display:flex!important;
  flex-direction:row!important;
  justify-content:center!important;
  align-items:center!important;
  grid-template-columns:none!important;
  width:min(286px,100%)!important;
  min-width:0!important;
  max-width:286px!important;
  height:54px!important;
  min-height:54px!important;
  gap:0!important;
  border:1px solid currentColor!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit;
  text-decoration:none;
}
a.ellie-button > span:first-child,
.contra-home .contra-hero a.ellie-button.contra-hero-cta > span:first-child{
  display:flex!important;
  width:100%!important;
  height:100%;
  min-width:0;
  padding:0 17px!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal;
  box-sizing:border-box;
}
.contra-home .contra-hero a.ellie-button.contra-hero-cta{
  color:var(--chalk)!important;
  margin:0 auto!important;
}
.contra-home .wild-feature a.ellie-button,
.contra-home .instagram-section a.ellie-button{color:var(--dark)!important}
a.ellie-button:hover{background:rgba(0,47,167,.08)!important}
.contra-home .contra-hero a.ellie-button:hover{background:rgba(255,255,255,.16)!important}
a.ellie-button .button-arrow{display:none!important}
@media(max-width:850px){
  .contra-home .contra-visit .visit-bar-image{width:100%!important;margin:36px 0 47px!important}
  .contra-home .contra-visit .visit-bar-image img{aspect-ratio:4/5!important;object-position:center 31%}
  .contra-home .contra-info h1{color:var(--klein)!important}
  a.ellie-button,
  .contra-home .contra-hero a.ellie-button.contra-hero-cta{height:52px!important;min-height:52px!important}
}
