@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap');
/* Ellie — unified visual system, November 2026.
   Palette follows Wolfie's original Theodora/Bar Contra references.
   Structure retains the full-bleed and editorial approach requested from Wildair.
   Locally licensed fonts can replace the evaluation families later. */
:root{
  --olive:#8f9083;
  --sage:#aebbad;
  --blue:#c6dfe6;
  --cream:#f3eee3;
  --chalk:#f5f0e7;
  --blush:#e5cbc3;
  --clay:#a66854;
  --dark:#30382f;
  --cobalt:#30382f;
  --coral:#bd8069;
  --shell:#f5f1e9;
  --display:'Archivo Black',Arial,sans-serif;
  --utility:'DM Sans',Arial,sans-serif;
  --condensed:'Barlow Condensed',Impact,sans-serif;
  --button-width:286px;
  --button-height:54px;
}
body{background:var(--cream);color:var(--dark);font-family:var(--utility)}
/* Consistent navigation and open full-bleed overlay */
.wild-header .brand{width:clamp(118px,13vw,172px)}
.wild-header .desktop-nav{font-family:var(--utility);font-size:12px;font-weight:600;letter-spacing:.09em}
.wild-header .nav-toggle{width:44px;height:44px}
.site-overlay{background:var(--blush);color:var(--dark);padding:clamp(25px,5vw,65px)}
.overlay-logo{width:clamp(120px,14vw,180px)}
.overlay-links a{font-family:var(--condensed);font-weight:800;font-size:clamp(70px,12vw,150px);line-height:1;letter-spacing:-.02em}
.overlay-links a:hover,.overlay-links a:focus-visible{color:#98604b}
.overlay-bottom{font-family:var(--utility)}
/* Atmospheric welcome: first reference color, fewer contrasting tones */
.atmospheric-hero{background:var(--olive)}
.hero-wash{background:radial-gradient(ellipse at 70% 44%,#c4af99 0%,transparent 49%),linear-gradient(125deg,#777b6d 5%,#99988a 47%,#b5a48e 100%)}
.atmospheric-hero h1{
 font-family:var(--display);font-weight:900;
 font-size:clamp(62px,9.35vw,143px);letter-spacing:-.055em;
 line-height:1.01;max-width:1180px;overflow-wrap:normal;
}
.atmospheric-hero h1 em{color:var(--blue)}
.atmospheric-hero .hero-intro{font:400 clamp(18px,1.9vw,25px)/1.4 var(--utility);letter-spacing:-.012em}
.hero-meta{font-family:var(--utility)}
/* Original restaurant palette through the full-bleed editorial sequence */
.marquee{background:#ded5c7;color:var(--dark);border-top:1px solid #545a4e2e;border-bottom:1px solid #545a4e2e}
.wild-story{background:var(--cream);color:var(--dark);padding:clamp(95px,11vw,158px) max(26px,6vw)}
.wild-rule{height:1px;background:var(--dark);opacity:.65}
.wild-kicker{font-family:var(--utility);font-size:clamp(15px,1.35vw,20px)}
.wild-story h2{color:var(--dark);font-family:var(--display);font-weight:900;font-size:clamp(36px,5.15vw,78px);line-height:1.12;letter-spacing:-.05em}
.wild-story-sub{color:var(--clay)}
.wild-feature{background:var(--sage)}
.wild-feature-text{padding-top:100px;padding-bottom:100px}
.wild-feature h2{font-family:var(--display);font-size:clamp(52px,5.75vw,88px);line-height:1.09;letter-spacing:-.05em}
.wild-feature-text>p:not(.wild-kicker){line-height:1.48}
.wild-feature-visual{background:#d8c2ad}
.wild-color-panel{background:var(--blush);color:var(--dark);min-height:620px}
.wild-color-panel>p{font-family:var(--display);font-size:clamp(58px,7.5vw,112px);line-height:1.08;letter-spacing:-.055em}
.visit{background:var(--dark)}
.visit h2{font-family:var(--display);font-weight:900;font-size:clamp(62px,7.5vw,108px);line-height:1.03;letter-spacing:-.065em}
.instagram-section{background:var(--blush)}
.instagram-heading h2{font-family:var(--display);font-size:clamp(52px,6.8vw,104px);letter-spacing:-.055em;line-height:1.05}
.instagram-heading h2 span{color:var(--clay)}
.contact{background:var(--cream)}
.contact h2{font-family:var(--display);font-size:clamp(58px,7.2vw,108px);line-height:1.06;letter-spacing:-.06em}
.footer{background:var(--olive)}
/* One precise button specification for all pages and color treatments. */
a.ellie-button,
a.ellie-button--dark,
a.ellie-button--light,
a.ellie-button--outline,
.visit a.ellie-button,
.menu-page a.ellie-button,
.instagram-section a.ellie-button,
.hero a.ellie-button{
  box-sizing:border-box!important;
  width:var(--button-width)!important;
  min-width:var(--button-width)!important;
  max-width:100%!important;
  height:var(--button-height)!important;
  min-height:var(--button-height)!important;
  padding:0!important;
  margin-left:0;
  gap:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 54px;
  align-items:stretch;
  justify-content:stretch;
  background:transparent!important;
  color:inherit!important;
  border:1px solid currentColor!important;
  border-radius:0!important;
  box-shadow:none!important;
  font:600 11px/1.1 var(--utility)!important;
  letter-spacing:.11em!important;
  text-transform:uppercase;
  text-decoration:none;
  opacity:1;
  transform:none!important;
  transition:background-color .2s ease,color .2s ease!important;
}
a.ellie-button>span:first-child{
  padding:0 16px!important;
  align-self:stretch!important;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  white-space:normal;
  overflow-wrap:normal;
}
a.ellie-button>.button-arrow{
  min-width:0!important;width:54px!important;
  height:calc(var(--button-height) - 2px)!important;min-height:0!important;
  padding:0!important;
  display:flex!important;align-items:center;justify-content:center;
  border-left:1px solid currentColor!important;
  line-height:1;font:normal 23px/1 Arial,sans-serif!important;
  font-variant-emoji:text!important;
  transform:none!important;transition:none!important;
}
a.ellie-button:hover{background:rgba(255,255,255,.12)!important}
.wild-feature a.ellie-button:hover,.wild-color-panel a.ellie-button:hover,
.instagram-section a.ellie-button:hover{background:rgba(48,56,47,.08)!important}
.atmospheric-hero a.ellie-button{color:var(--chalk)!important}
.visit a.ellie-button{color:var(--blue)!important}
.wild-feature a.ellie-button,.wild-color-panel a.ellie-button,.instagram-section a.ellie-button{color:var(--dark)!important}
/* External links without CTA borders are intentionally editorial text links */
.menu-page .wild-header{background:var(--olive)}
.menu-page .wild-menu-intro{background:var(--blush);color:var(--dark);padding-top:90px;padding-bottom:110px}
.menu-page .wild-menu-intro h1{font-family:var(--condensed);font-size:clamp(93px,16vw,230px);letter-spacing:-.02em;line-height:.92}
.menu-page .wild-menu-intro .period{color:var(--clay)}
.menu-category-nav{background:var(--cream)}
.menu-nav-label{color:var(--clay)}
.menu-category h2{font-family:var(--display);font-size:clamp(38px,4.3vw,64px)}
.menu-layout{background:var(--cream)}
/* Mobile: controlled type scale, uniform buttons and faithful section color rhythm */
@media(max-width:850px){
  :root{--button-width:286px;--button-height:52px}
  .site-overlay{padding:28px 25px}
  .overlay-links a{font-size:clamp(66px,16vw,116px)}
  .atmospheric-hero h1{font-size:clamp(60px,12.4vw,95px);line-height:1.04;letter-spacing:-.058em}
  .atmospheric-hero .hero-intro{font-size:clamp(17px,4.6vw,22px);line-height:1.36}
  .wild-story{padding:88px 25px 100px}
  .wild-story h2{font-size:clamp(33px,7.4vw,57px);line-height:1.13;letter-spacing:-.049em}
  .wild-feature-text{padding:82px 25px 70px}
  .wild-feature h2{font-size:clamp(50px,10.2vw,80px)}
  .wild-feature-visual{padding:45px 25px 60px}
  .wild-color-panel{min-height:580px;padding:90px 25px}
  .wild-color-panel>p{font-size:clamp(54px,11.7vw,90px)}
  .visit h2{font-size:clamp(58px,11vw,86px)}
  .instagram-heading h2{font-size:clamp(54px,10vw,80px)}
  .contact h2{font-size:clamp(52px,10.5vw,82px)}
  a.ellie-button>.button-arrow{height:calc(var(--button-height) - 2px)!important}
  .menu-page .wild-menu-intro h1{font-size:clamp(90px,19vw,160px)}
}
@media(max-width:390px){
  .atmospheric-hero h1{font-size:12vw}
  a.ellie-button{min-width:min(var(--button-width),100%)!important;width:min(var(--button-width),100%)!important}
}
@media(prefers-reduced-motion:reduce){a.ellie-button{transition:none!important}}

/* Draw arrows with CSS linework, not emoji-capable Unicode glyphs. */
a.ellie-button>.button-arrow{position:relative;font-size:0!important;color:inherit!important}
a.ellie-button>.button-arrow::before{content:"";position:absolute;width:14px;height:14px;left:calc(50% - 4px);top:calc(50% - 10px);border-top:1.25px solid currentColor;border-right:1.25px solid currentColor}
a.ellie-button>.button-arrow::after{content:"";position:absolute;width:23px;height:1.25px;left:calc(50% - 11px);top:calc(50% + 1px);background:currentColor;transform:rotate(-45deg);transform-origin:center}


/* Homepage hero composition: concise copy and fixed CTA + hours grid */
.atmospheric-hero{padding-bottom:clamp(38px,4.7vw,72px)}
.atmospheric-hero .hero-main{margin:auto 0 5vh;max-width:980px}
.atmospheric-hero .hero-main>.eyebrow{color:var(--blue);margin-bottom:26px;font-size:11px;font-weight:600;letter-spacing:.15em}
.atmospheric-hero h1{font-size:clamp(68px,10vw,146px);line-height:1.02;letter-spacing:-.058em;margin:0 0 28px;max-width:1000px}
.atmospheric-hero .hero-intro{margin:0;max-width:720px;font-size:clamp(18px,1.85vw,26px);line-height:1.37;letter-spacing:-.016em}
.atmospheric-hero .hero-footer{display:grid;grid-template-columns:var(--button-width) max-content;column-gap:clamp(30px,5vw,100px);align-items:center;justify-content:start;width:100%;margin:0}
.hero-hours{display:flex;flex-direction:column;align-items:flex-start;text-align:left!important;gap:5px;margin:0!important;color:var(--chalk);font:500 12px/1.2 var(--utility)!important;letter-spacing:.12em;white-space:nowrap}
.hero-hours span{font-size:10px;letter-spacing:.14em}
.hero-hours strong{font-size:15px;font-weight:600;letter-spacing:.01em}
.atmospheric-hero .scroll-cue{right:clamp(24px,5vw,80px);left:auto;bottom:clamp(38px,4.7vw,72px);transform:none;gap:10px}
@media(max-width:850px){
.atmospheric-hero{min-height:660px;height:100svh;padding:140px 24px 40px;display:flex;justify-content:space-between}
.atmospheric-hero .hero-main{margin:auto 0;max-width:100%}
.atmospheric-hero .hero-main>.eyebrow{margin-bottom:25px;font-size:10px}
.atmospheric-hero h1{font-size:clamp(59px,13.4vw,103px);line-height:1.035;letter-spacing:-.06em;margin-bottom:27px}
.atmospheric-hero .hero-intro{font-size:clamp(17px,4.35vw,22px);line-height:1.37;max-width:550px}
.atmospheric-hero .hero-footer{grid-template-columns:minmax(0,1fr) max-content;gap:18px;align-items:center}
.atmospheric-hero .hero-footer a.ellie-button{width:min(286px,100%)!important;min-width:0!important}
.hero-hours{min-width:93px;gap:5px}
.hero-hours span{font-size:10px}
.hero-hours strong{font-size:13px}
.atmospheric-hero .scroll-cue{display:none}
}
@media(max-width:440px){
.atmospheric-hero{padding:135px 24px 38px}
.atmospheric-hero h1{font-size:clamp(54px,12.3vw,70px)}
.atmospheric-hero .hero-intro{font-size:17px}
.atmospheric-hero .hero-footer{grid-template-columns:minmax(0,1fr) auto;gap:12px}
.atmospheric-hero .hero-footer a.ellie-button{width:100%!important;min-width:0!important;grid-template-columns:minmax(0,1fr) 45px}
.atmospheric-hero .hero-footer a.ellie-button>.button-arrow{width:45px!important}
.atmospheric-hero .hero-footer a.ellie-button>span:first-child{padding:0 12px!important;font-size:10px}
.hero-hours{min-width:85px}
.hero-hours strong{font-size:12px}
}
@media(max-width:350px){
.atmospheric-hero .hero-footer{grid-template-columns:1fr;gap:17px}
.atmospheric-hero .hero-footer a.ellie-button{width:min(286px,100%)!important}
.hero-hours{flex-direction:row;gap:10px;align-items:baseline}
}


/* Wildair reference: editorial statement in place of welcome headline.
   Mobile scale and measure tuned for the supplied Our Story screenshot. */
.atmospheric-hero .hero-main{width:100%;max-width:1120px}
.atmospheric-hero .hero-main>.eyebrow{
  color:var(--chalk);
  text-transform:none;
  font-family:var(--utility);
  font-size:clamp(15px,1.4vw,19px);
  font-weight:400;
  line-height:1.4;
  letter-spacing:0;
  margin-bottom:clamp(52px,7vw,96px);
}
.atmospheric-hero h1{
  font-family:var(--display);
  font-size:clamp(43px,6.35vw,94px);
  font-weight:900;
  line-height:1.11;
  letter-spacing:-.052em;
  max-width:1060px;
  margin:0;
  overflow-wrap:normal;
}
.atmospheric-hero .hero-footer{margin-top:clamp(40px,6vw,90px)}
@media(max-width:850px){
  .atmospheric-hero .hero-main{margin:auto 0}
  .atmospheric-hero .hero-main>.eyebrow{font-size:16px;margin-bottom:clamp(50px,12vw,78px)}
  .atmospheric-hero h1{
    font-size:clamp(32px,8vw,62px);
    line-height:1.12;
    letter-spacing:-.055em;
    max-width:100%;
  }
  .atmospheric-hero .hero-footer{margin-top:32px}
}
@media(max-width:390px){.atmospheric-hero h1{font-size:8vw}}


/* Compact reference-like labels, avoiding excessive letter spacing. */

.atmospheric-hero .hero-main>.eyebrow,
.wild-kicker,.section-number,.hero-hours span,.menu-teaser-hours{
  font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,monospace;
  font-weight:400;
  letter-spacing:-.025em;
  text-transform:none;
}
.atmospheric-hero .hero-main>.eyebrow{font-size:clamp(15px,1.4vw,19px)}
