/* ELLIE / VISUAL RHYTHM — unified typography, material color, and graphic linework
   Uses existing website families. All headings use one scale and tracking system.
   Buttons retain the current sans lettering. */
:root{
 --ellie-heading-size:clamp(42px,6.1vw,94px);
 --ellie-heading-leading:1.085;
 --ellie-heading-tracking:-.052em;
 --ellie-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,monospace;
 --ellie-plaster:#f3eee3;
 --ellie-olive:#858779;
 --ellie-blue:#c5dce2;
 --ellie-blush:#e1c7be;
 --ellie-clay:#aa6f55;
 --ellie-dark:#30382f;
}
.atmospheric-hero h1,
.wild-story h2,
.wild-feature h2,
.wild-color-panel>p,
.visit h2,
.instagram-heading h2,
.contact h2{
 font-family:var(--display);
 font-size:var(--ellie-heading-size);
 font-weight:900;
 line-height:var(--ellie-heading-leading);
 letter-spacing:var(--ellie-heading-tracking);
 text-transform:uppercase;
 max-width:1050px;
 overflow-wrap:normal;
 word-break:normal;
}
.atmospheric-hero h1{max-width:1000px}
.wild-story h2{max-width:1100px}
.wild-feature h2{max-width:650px}
.wild-color-panel>p{max-width:850px}
.visit h2,.contact h2{max-width:850px}
.instagram-heading h2{text-transform:none}
.wild-color-panel{align-items:center;min-height:660px;gap:6vw}
.wild-color-panel>div{width:286px;max-width:100%;flex:0 0 286px}
.wild-color-panel>div>span{line-height:1.5;white-space:normal}
.wild-story{color:var(--ellie-dark);background:radial-gradient(ellipse at 94% 12%,rgba(212,185,148,.22),transparent 40%),var(--ellie-plaster)}
.wild-feature{background:var(--ellie-blue)}
.wild-feature-visual{background:linear-gradient(160deg,#c8ad98 0%,#e3cbb6 57%,#b99e8b 100%)}
.wild-color-panel{background:radial-gradient(ellipse at 85% 15%,#eddbcf 0%,transparent 40%),linear-gradient(150deg,#e9d1c8,var(--ellie-blush))}
.instagram-section{background:linear-gradient(155deg,#e2c5ba 0%,#ecd7cd 45%,#d9bcb1 100%)}
.visit{background:radial-gradient(ellipse at 75% 28%,#455044 0%,transparent 50%),var(--ellie-dark)}
.contact{background:var(--ellie-plaster)}
.atmospheric-hero .hero-wash{background:radial-gradient(ellipse at 72% 41%,#c4b09a 0%,transparent 47%),linear-gradient(125deg,#737769 5%,#989587 53%,#b7a590 100%)}
.atmospheric-hero .hero-grain{opacity:.12}
/* Supporting typography: small, restrained mono instead of a competing sans */
.atmospheric-hero .hero-main>.eyebrow,
.wild-kicker,.section-number,.eyebrow,
.wild-story-sub,
.wild-feature-text>p:not(.wild-kicker),
.wild-feature-visual>p,
.wild-color-panel>div>span,
.hero-hours,.hero-hours span,.hero-hours strong,
.instagram-heading p,.social-photo-disclaimer,
.contact>p:last-child,
.menu-category-note,.menu-legend,
.marquee,
.visit .hours,.visit address {
 font-family:var(--ellie-mono)!important;
 letter-spacing:-.035em;
 text-transform:none;
}
.wild-kicker,.section-number,.eyebrow{font-weight:400!important;font-size:clamp(12px,1.14vw,16px);line-height:1.5}
.atmospheric-hero .hero-main>.eyebrow{font-size:clamp(15px,1.35vw,19px)}
.wild-story-sub{font-size:clamp(15px,1.7vw,21px);line-height:1.6;color:#9b654f}
.wild-feature-text>p:not(.wild-kicker){font-size:clamp(15px,1.6vw,21px);line-height:1.55}
.instagram-heading p{font-size:clamp(14px,1.5vw,19px);line-height:1.5}
.visit address,.visit .hours{font-size:clamp(19px,2.2vw,30px);font-weight:500;line-height:1.42}
.hero-hours{min-width:0}
.hero-hours span{font-size:11px!important}
.hero-hours strong{font-size:14px!important;font-weight:500;letter-spacing:-.04em!important}
.contact>p:last-child{font-size:14px;line-height:1.6}
.social-photo-disclaimer,.wild-feature-visual>p{font-size:11px;line-height:1.5}
.marquee{font-size:11px;letter-spacing:0;min-height:64px}
.wild-feature-text{gap:0}
.wild-feature-text .wild-kicker{margin-bottom:clamp(36px,5vw,80px)}
.wild-feature h2{margin-bottom:clamp(24px,3vw,44px)}
.wild-feature-text>p:not(.wild-kicker){margin-bottom:32px}
.wild-story .wild-kicker{margin-bottom:clamp(48px,6.5vw,95px)}
.wild-story-sub{margin-top:clamp(48px,6vw,84px)}
/* Preserve exact button dimensions and lettering. Native CSS draws an arrow
   so no platform emoji font can take over. */
a.ellie-button>.button-arrow{font-size:0!important;position:relative}
a.ellie-button>.button-arrow::before,
a.ellie-button>.button-arrow::after{box-sizing:border-box;content:"";position:absolute;display:block}
a.ellie-button>.button-arrow::before{width:13px;height:13px;left:calc(50% + 1px);top:calc(50% - 10px);border:0;border-top:1.35px solid currentColor;border-right:1.35px solid currentColor;transform:none;background:transparent}
a.ellie-button>.button-arrow::after{width:24px;height:1.35px;left:calc(50% - 10px);top:calc(50% + 2px);background:currentColor;transform:rotate(-45deg);transform-origin:center}
a.ellie-button:hover>.button-arrow::before{transform:translate(1px,-1px)}
a.ellie-button:hover>.button-arrow::after{transform:translate(1px,-1px) rotate(-45deg)}
/* Ditch platform-dependant arrows on text links */
.instagram-handle span,.social-text-link span{font-family:Arial,Helvetica,sans-serif;font-variant-emoji:text}
@media(max-width:850px){
 :root{--ellie-heading-size:clamp(34px,8vw,64px);--ellie-heading-leading:1.13;--ellie-heading-tracking:-.049em}
 .atmospheric-hero h1,.wild-story h2,.wild-feature h2,.wild-color-panel>p,.visit h2,.instagram-heading h2,.contact h2{font-size:var(--ellie-heading-size);line-height:var(--ellie-heading-leading);letter-spacing:var(--ellie-heading-tracking)}
 .wild-story{padding:86px 24px 98px}
 .wild-feature-text{padding:84px 24px 72px}
 .wild-color-panel{min-height:520px;padding:85px 24px;align-items:flex-start;gap:72px}
 .wild-color-panel>div{width:100%;flex:0 0 auto}
 .wild-color-panel>div>span{font-size:11px}
 .visit{padding:85px 24px}
 .wild-story .wild-kicker{margin-bottom:54px}
 .wild-story-sub{margin-top:54px}
 .wild-feature-text .wild-kicker{margin-bottom:52px}
 .wild-feature-text>p:not(.wild-kicker){font-size:15px;line-height:1.58}
 .instagram-heading p{font-size:15px}
 .visit address,.visit .hours{font-size:20px}
 .hero-hours strong{font-size:12px!important}
}
@media(max-width:390px){
 :root{--ellie-heading-size:clamp(32px,7.9vw,39px)}
 .wild-color-panel{min-height:480px}
}
@media(prefers-reduced-motion:reduce){
 a.ellie-button>.button-arrow::before,a.ellie-button>.button-arrow::after{transition:none}
}
