/* Ellie | final layout rhythm and menu alignment
   Shared type: Archivo Black (display) + IBM Plex Mono (copy).
   Button typography intentionally stays DM Sans. */
:root {
 --ellie-space:clamp(68px,8vw,138px);
 --ellie-inset:clamp(24px,5.4vw,88px);
 --ellie-body:'IBM Plex Mono',ui-monospace,monospace;
 --ellie-display:'Archivo Black',Arial,sans-serif;
 --ellie-h-size:clamp(38px,5.85vw,86px);
}
html{scroll-padding-top:80px}
.wild-story,.wild-feature,.visit,.instagram-section,.contact{scroll-margin-top:0}
.wild-story{
 padding:var(--ellie-space) var(--ellie-inset);
 min-height:0;
}
.wild-story .wild-rule{margin-bottom:clamp(29px,4vw,58px)}
.story-content{max-width:1160px}
.wild-story .wild-kicker{margin:0 0 clamp(42px,6vw,82px)}
.wild-story h2{
 font:900 var(--ellie-h-size)/1.12 var(--ellie-display)!important;
 letter-spacing:-.049em!important;
 margin:0;
 max-width:1100px;
}
.wild-story-sub{margin:clamp(38px,5vw,72px) 0 0;font:400 clamp(13px,1.35vw,17px)/1.55 var(--ellie-body)!important;max-width:580px}
.wild-feature{min-height:0;align-items:stretch;grid-template-columns:1fr 1fr}
.wild-feature-text{
 padding:var(--ellie-space) var(--ellie-inset);
 justify-content:center;
 min-width:0;
}
.wild-feature-text .wild-kicker{margin:0 0 clamp(38px,5vw,70px)!important}
.wild-feature h2{
 font:900 var(--ellie-h-size)/1.12 var(--ellie-display)!important;
 letter-spacing:-.049em!important;
 margin:0 0 clamp(22px,3vw,44px)!important;
}
.wild-feature-text>p:not(.wild-kicker){
 font:400 clamp(13px,1.3vw,17px)/1.65 var(--ellie-body)!important;
 margin:0 0 30px!important;
 max-width:450px;
}
.wild-feature-visual{padding:clamp(45px,5vw,90px);min-width:0}
.wild-feature-frame{height:clamp(350px,43vw,590px);min-height:0}
.wild-feature-visual>p{font:400 11px/1.6 var(--ellie-body)!important;max-width:340px}
.visit{
 padding:var(--ellie-space) var(--ellie-inset);
 min-height:0;
 gap:clamp(36px,6vw,100px);
 align-items:center;
}
.visit h2{
 font:900 var(--ellie-h-size)/1.12 var(--ellie-display)!important;
 letter-spacing:-.049em!important;
 margin:36px 0 0!important;
}
.visit-details{align-items:start;gap:30px}
.visit .eyebrow{margin:0 0 19px}
.visit address,.visit .hours{margin:0 0 25px;font:500 clamp(17px,1.7vw,24px)/1.5 var(--ellie-body)!important;letter-spacing:-.04em}
.instagram-section{padding:var(--ellie-space) var(--ellie-inset)}
.instagram-topline{margin-bottom:clamp(35px,5vw,65px)}
.instagram-heading{margin-bottom:clamp(32px,4vw,52px)}
.instagram-heading h2{
 font:900 var(--ellie-h-size)/1.12 var(--ellie-display)!important;
 letter-spacing:-.049em!important;
 margin:0 0 25px!important;
}
.instagram-heading p{max-width:480px;font:400 clamp(13px,1.3vw,17px)/1.65 var(--ellie-body)!important}
.instagram-heading .ellie-button{margin-bottom:0}
.social-photo-grid{gap:clamp(7px,1vw,14px)}
.contact{padding:var(--ellie-space) var(--ellie-inset)}
.contact h2{font:900 var(--ellie-h-size)/1.12 var(--ellie-display)!important;letter-spacing:-.049em!important;margin:0 0 clamp(43px,5vw,72px)!important}
.contact .section-number{margin-bottom:clamp(34px,4vw,54px)}
/* Menu page: identical brand palette and display type proportions. */
.menu-page .wild-menu-intro{
 background:linear-gradient(135deg,#b5b5a4 0%,#d8c4af 51%,#e4c7c0 100%);
 color:var(--ellie-dark);
 padding:clamp(80px,9vw,150px) var(--ellie-inset);
}
.menu-page .wild-menu-intro .eyebrow{
 color:var(--ellie-dark);
 font:400 clamp(13px,1.3vw,17px)/1.5 var(--ellie-body)!important;
 margin:0 0 clamp(35px,5vw,70px);
 letter-spacing:-.02em;
}
.menu-page .wild-menu-intro h1{
 font:900 var(--ellie-h-size)/1.12 var(--ellie-display)!important;
 letter-spacing:-.049em!important;
 margin:0 0 33px!important;
 text-transform:uppercase;
}
.menu-page .wild-menu-intro>p:not(.eyebrow),.menu-intro-copy>p:not(.eyebrow){
 font:400 clamp(13px,1.3vw,17px)/1.55 var(--ellie-body)!important;
 margin:0 0 25px!important;
 max-width:550px;
}
.menu-page .menu-schedule{font:500 12px/1.55 var(--ellie-body)!important;letter-spacing:0;text-transform:none;margin-top:23px}
.menu-category-nav{background:var(--ellie-plaster);padding:16px var(--ellie-inset);gap:clamp(17px,2vw,32px)}
.menu-category-nav a,.menu-nav-label{font:500 12px/1.5 var(--ellie-body)!important;letter-spacing:-.025em;text-transform:none}
.menu-layout{padding:var(--ellie-space) var(--ellie-inset);grid-template-columns:minmax(170px,.65fr) minmax(0,2fr);gap:clamp(40px,7vw,110px)}
.menu-side{font:400 12px/1.65 var(--ellie-body)!important}
.menu-category{padding-bottom:clamp(35px,5vw,75px);margin-bottom:clamp(43px,5vw,75px);scroll-margin-top:95px}
.menu-category h2{
 font:900 clamp(34px,4.25vw,60px)/1.12 var(--ellie-display)!important;
 letter-spacing:-.049em!important;
 text-transform:uppercase;
 margin:0 0 26px;
}
.menu-category-note,.menu-legend{font:400 clamp(12px,1.1vw,14px)/1.6 var(--ellie-body)!important;letter-spacing:-.025em}
.menu-items{gap:clamp(25px,3vw,46px) clamp(22px,3vw,50px)}
.menu-item h3{
 font:700 clamp(15px,1.35vw,18px)/1.35 var(--ellie-display)!important;
 letter-spacing:-.035em!important;
 text-transform:uppercase;
 overflow-wrap:anywhere;
}
.menu-item h3 small{font:400 11px/1.3 var(--ellie-body)!important;white-space:normal;text-transform:lowercase;letter-spacing:-.025em}
.menu-item p{font:400 12px/1.6 var(--ellie-body)!important;letter-spacing:-.02em}
.menu-item .price{font:600 clamp(14px,1.3vw,18px)/1.4 var(--ellie-body)!important;letter-spacing:-.04em}
.menu-page .footer{background:var(--ellie-olive)}
/* Fade in: subtle as type and panels arrive; avoid content hiding when JS is absent. */
@media(prefers-reduced-motion:no-preference){
 .js-motion [data-reveal]{transition:opacity .95s ease,transform .95s cubic-bezier(.17,.67,.28,1)}
 .js-motion [data-reveal].is-visible{opacity:1;transform:translateY(0)}
 .wild-feature-visual[data-reveal]{transition-delay:.13s}
}
/* The older base stylesheet contains page-specific large sizes;
   re-assert the same scale at each mobile breakpoint. */
@media(max-width:850px){
 :root{--ellie-h-size:clamp(34px,7.65vw,62px);--ellie-space:clamp(69px,12vw,95px);--ellie-inset:24px}
 .wild-story{padding:var(--ellie-space) var(--ellie-inset)}
 .wild-story .wild-kicker{margin-bottom:44px}
 .wild-story h2,.wild-feature h2,.visit h2,.instagram-heading h2,.contact h2{font-size:var(--ellie-h-size)!important;line-height:1.13!important}
 .wild-story-sub{margin-top:44px}
 .wild-feature{grid-template-columns:1fr}
 .wild-feature-text{padding:var(--ellie-space) var(--ellie-inset) 62px}
 .wild-feature-text .wild-kicker{margin-bottom:40px!important}
 .wild-feature h2{margin-bottom:25px!important}
 .wild-feature-visual{padding:0 var(--ellie-inset) var(--ellie-space)}
 .wild-feature-frame{height:clamp(300px,95vw,520px)}
 .visit{grid-template-columns:1fr;gap:53px;padding:var(--ellie-space) var(--ellie-inset)}
 .visit h2{margin:25px 0 0!important}
 .visit-details{grid-template-columns:1fr 1fr;gap:24px}
 .visit address,.visit .hours{font-size:clamp(16px,3.6vw,20px)!important}
 .instagram-section,.contact{padding:var(--ellie-space) var(--ellie-inset)}
 .instagram-heading{gap:26px}
 .instagram-heading h2{margin-bottom:20px!important}
 .menu-page .wild-menu-intro{padding:85px var(--ellie-inset)}
 .menu-page .wild-menu-intro h1{font-size:var(--ellie-h-size)!important;line-height:1.13!important}
 .menu-layout{grid-template-columns:1fr;gap:36px;padding:var(--ellie-space) var(--ellie-inset)}
 .menu-side{position:static}
 .menu-category h2{font-size:clamp(32px,7.65vw,52px)!important}
 .menu-items{grid-template-columns:1fr;gap:25px}
 .menu-category-nav{padding:17px var(--ellie-inset)}
}
@media(max-width:440px){
 .visit-details{grid-template-columns:1fr;gap:28px}
 .wild-story h2,.wild-feature h2,.visit h2,.instagram-heading h2,.contact h2,.menu-page .wild-menu-intro h1{font-size:clamp(32px,7.65vw,40px)!important}
}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}
