/* Licensed production webfont files belong in /fonts.
   If absent, the browser uses the fallback without blocking the site. */
@font-face{font-family:"ABC Favorit";src:url("./fonts/ABCFavorit-Book.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"ABC Favorit";src:url("./fonts/ABCFavorit-Medium.woff2") format("woff2");font-style:normal;font-weight:500 600;font-display:swap}
@font-face{font-family:"ABC Favorit";src:url("./fonts/ABCFavorit-Bold.woff2") format("woff2");font-style:normal;font-weight:700 900;font-display:swap}
:root{--olive:#929287;--blue:#c5dde4;--cream:#f1efe8;--dark:#343c34;--accent:#ad6c50;--font:"ABC Favorit",Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--cream);color:var(--dark);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{font:inherit}.skip-link{position:absolute;left:-9999px;z-index:100;background:white;padding:12px}.skip-link:focus{left:12px}.header{height:112px;padding:28px max(25px,5vw);position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;color:var(--blue)}.brand{font-size:clamp(36px,4vw,58px);font-weight:900;font-style:italic;letter-spacing:-.11em;line-height:.85}.desktop-nav{display:flex;gap:32px;font-size:14px;font-weight:700}.desktop-nav a:hover,.mobile-nav a:hover{text-decoration:underline;text-underline-offset:5px}.nav-toggle{display:none}.mobile-nav[hidden]{display:none}.hero{min-height:720px;height:100svh;max-height:1120px;background:var(--olive);color:var(--cream);display:flex;flex-direction:column;justify-content:space-between;padding:150px max(25px,5vw) 48px}.hero-meta,.hero-footer{display:flex;justify-content:space-between;align-items:end;gap:20px}.hero-meta{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);font-weight:700}.hero-main{margin:auto 0}.eyebrow,.section-number{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.hero h1{font-weight:800;letter-spacing:-.095em;font-size:clamp(66px,11.4vw,174px);line-height:.89;margin:28px 0 32px}.hero h1 em{font-style:normal;color:var(--blue)}.hero-intro{font-size:clamp(20px,2.1vw,30px);line-height:1.27;letter-spacing:-.035em;margin:0}.hero-footer{font-size:15px}.hero-footer p{text-align:right;margin:0;line-height:1.5}.pill-link{border:1px solid currentColor;border-radius:100px;min-width:200px;display:inline-flex;justify-content:space-between;gap:20px;padding:16px 20px;font-weight:600}.pill-link:hover{color:var(--dark);background:var(--cream)}.marquee{background:var(--blue);text-align:center;padding:18px 20px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.11em}.section{padding:135px max(25px,5vw)}.two-col{display:grid;grid-template-columns:1fr 2fr;gap:50px}.section-number{margin:10px 0 0}.section h2,.visit h2,.feature h2{font-weight:800;letter-spacing:-.075em;line-height:.95;font-size:clamp(58px,7vw,114px);margin:0 0 45px}.body-large{font-size:clamp(20px,2.2vw,29px);line-height:1.38;letter-spacing:-.025em;max-width:750px;margin:0}.feature{display:grid;grid-template-columns:1.2fr .8fr;min-height:680px;background:#bfc6b1}.photo-placeholder{min-height:680px;background:radial-gradient(circle at 54% 52%,#c6a68b 0 12%,transparent 12.4%),radial-gradient(ellipse at 51% 51%,#d9cfb7 0 25%,transparent 25.5%),linear-gradient(145deg,#596e5d,#a7af92 55%,#768673);color:var(--cream);padding:36px;display:flex;align-items:end;justify-content:space-between}.photo-initial{font-size:200px;font-weight:800;letter-spacing:-.15em;line-height:.7;opacity:.28}.photo-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.feature-panel{display:flex;flex-direction:column;justify-content:space-between;padding:55px max(25px,4vw)}.feature h2{font-size:clamp(56px,5.2vw,90px);margin:0}.menu-section{background:var(--blue)}.fine-print{margin:35px 0 40px;font-size:14px;line-height:1.5;opacity:.72}.under-link{display:inline-flex;gap:35px;justify-content:space-between;border-bottom:1px solid currentColor;padding-bottom:8px;font-size:17px;font-weight:700}.under-link:hover{gap:45px}.visit{background:var(--dark);color:var(--cream);padding:130px max(25px,5vw) 150px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.visit h2{color:var(--blue);margin-top:40px}.visit-details{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:25px}.visit .eyebrow{color:var(--blue);margin-bottom:24px}.visit address,.hours{font-weight:700;font-size:clamp(23px,2.6vw,37px);font-style:normal;letter-spacing:-.045em;line-height:1.25;margin:0 0 26px}.visit .under-link{font-size:15px}.contact .section-number{margin-bottom:40px}.contact-links{border-top:1px solid #bbbcb1;border-bottom:1px solid #bbbcb1;padding:25px 0;display:flex;justify-content:space-between;gap:30px;font-size:clamp(22px,3vw,42px);font-weight:800;letter-spacing:-.06em}.contact>p:last-child{margin-top:28px;font-size:17px}.footer{background:var(--olive);color:var(--cream);padding:55px max(25px,5vw);display:flex;align-items:end;justify-content:space-between;gap:20px;font-size:12px}.footer .brand{color:var(--blue)}.footer span a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.header{height:98px;padding:22px 24px}.header .brand{font-size:48px}.desktop-nav{display:none}.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;background:transparent;border:0;width:46px;height:44px;padding:8px;cursor:pointer}.nav-toggle span{display:block;background:var(--blue);height:2px;width:30px}.mobile-nav:not([hidden]){display:flex;position:absolute;top:92px;left:16px;right:16px;background:var(--cream);color:var(--dark);padding:25px;gap:22px;flex-direction:column;font-size:27px;font-weight:700;box-shadow:0 15px 30px #0002}.hero{min-height:700px;height:100svh;max-height:none;padding:135px 24px 36px}.hero-meta span:last-child{display:none}.hero h1{font-size:clamp(62px,12.9vw,102px);margin:25px 0 30px}.hero-intro{font-size:22px}.hero-footer{font-size:13px}.pill-link{min-width:160px;padding:14px 16px}.section{padding:86px 24px}.two-col{grid-template-columns:1fr;gap:33px}.section h2,.visit h2,.feature h2{font-size:clamp(55px,11vw,86px);margin-bottom:34px}.feature{grid-template-columns:1fr}.photo-placeholder{min-height:480px}.feature-panel{min-height:300px;padding:35px 24px}.feature h2{font-size:65px}.visit{grid-template-columns:1fr;padding:85px 24px;gap:40px}.visit-details{grid-template-columns:1fr 1fr}.visit address,.hours{font-size:24px}.contact-links{flex-direction:column;font-size:27px;gap:24px}.footer{padding:50px 24px;flex-direction:column;align-items:start}.marquee{font-size:11px}}
@media(max-width:440px){.hero h1{font-size:clamp(54px,14vw,70px)}.hero-footer p{font-size:12px}.visit-details{grid-template-columns:1fr;gap:30px}.contact-links{font-size:21px}.photo-placeholder{min-height:420px}.photo-initial{font-size:140px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* Approved brand wordmark and menu layout */
.brand{display:inline-flex;width:clamp(112px,12vw,185px);height:auto;align-items:center}
.brand img{display:block;width:100%;height:auto}
.menu-page{background:var(--cream)}
.menu-page .header{position:relative;background:var(--olive);color:var(--cream)}
.menu-page .menu-intro{background:var(--olive);color:var(--cream);padding:70px max(25px,5vw) 90px}
.menu-intro h1{font-size:clamp(68px,12vw,172px);font-weight:800;line-height:.95;letter-spacing:-.085em;margin:25px 0}
.menu-intro .period{color:var(--blue)}.menu-intro>p:not(.eyebrow){font-size:clamp(19px,2vw,28px);max-width:650px}
.menu-schedule{display:block;margin-top:55px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.menu-layout{display:grid;grid-template-columns:1fr 2.2fr;gap:55px;padding:90px max(25px,5vw) 130px}
.menu-side{position:sticky;top:30px;align-self:start;font-size:14px;line-height:1.65}.menu-side .under-link{font-size:14px;margin-top:18px}
.menu-content{min-width:0}.menu-category{padding-bottom:56px;margin-bottom:62px;border-bottom:1px solid #bbbbb0}
.menu-category h2{font-size:clamp(38px,4vw,64px);line-height:1;letter-spacing:-.065em;margin:0 0 20px}
.menu-category-note{font-size:14px;color:#535d50;margin:0 0 32px;line-height:1.6}
.menu-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:35px;row-gap:34px}
.menu-item{min-width:0}.item-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.menu-item h3{font-size:17px;line-height:1.25;letter-spacing:-.025em;margin:0;font-weight:700}
.menu-item h3 small{font-size:11px;font-weight:500;letter-spacing:0;white-space:nowrap}
.menu-item .price{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}
.menu-item p{font-size:14px;line-height:1.48;color:#535d50;margin:8px 0 0}
.menu-legend{font-size:12px;line-height:1.7;color:#535d50;max-width:720px}
@media(max-width:800px){.brand{width:125px}.menu-page .menu-intro{padding:60px 24px 75px}.menu-layout{grid-template-columns:1fr;padding:60px 24px 80px;gap:40px}.menu-side{position:static}.menu-items{grid-template-columns:1fr;row-gap:24px}.menu-category{margin-bottom:46px;padding-bottom:44px}.menu-category h2{font-size:45px}.menu-item h3{font-size:17px}.menu-item p{font-size:14px}}

/* Unified compact action buttons: editorial with directional tab */
.ellie-button{--btn-bg:transparent;--btn-color:var(--dark);--btn-border:var(--dark);display:inline-flex;align-items:stretch;justify-content:space-between;gap:22px;min-height:48px;max-width:100%;border:1.5px solid var(--btn-border);border-radius:7px;background:var(--btn-bg);color:var(--btn-color);font-size:13px;font-weight:800;letter-spacing:.025em;line-height:1.15;text-transform:uppercase;overflow:hidden;transition:transform .2s ease,background-color .2s ease,color .2s ease;white-space:nowrap}
.ellie-button>span:first-child{padding:15px 17px;align-self:center}
.ellie-button .button-arrow{display:grid;place-items:center;min-width:47px;min-height:47px;border-left:1.5px solid currentColor;font-size:24px;line-height:1;font-weight:400;transition:transform .2s ease}
.ellie-button:hover{transform:translateY(-2px)}.ellie-button:hover .button-arrow{transform:translate(2px,-2px)}
.ellie-button--dark{--btn-bg:var(--dark);--btn-border:var(--dark);--btn-color:#fff9f0}
.ellie-button--light{--btn-bg:var(--cream);--btn-border:var(--cream);--btn-color:var(--dark)}
.ellie-button--outline{--btn-bg:transparent;--btn-border:var(--dark);--btn-color:var(--dark)}
.ellie-button--outline:hover{background:var(--dark);color:var(--cream)}
.hero .ellie-button{align-self:end}.menu-section .ellie-button{margin-top:33px}.visit .ellie-button{--btn-bg:transparent;--btn-border:var(--blue);--btn-color:var(--blue);font-size:12px}.visit .ellie-button:hover{background:var(--blue);color:var(--dark)}
/* Social: mobile-first editorial grid, no Instagram script or oversized widget */
.instagram-section{background:#e7cbc4;padding:92px max(25px,5vw) 95px;color:var(--dark)}
.instagram-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:60px}
.instagram-topline .section-number{margin:0}
.instagram-handle{font-size:15px;font-weight:800;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.instagram-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:43px}
.instagram-heading h2{font-size:clamp(58px,8vw,118px);line-height:.88;letter-spacing:-.082em;font-weight:800;margin:0 0 20px}
.instagram-heading h2 span{color:#a34e3e}
.instagram-heading p{font-size:clamp(16px,1.8vw,22px);line-height:1.35;max-width:390px;margin:0;font-weight:500}
.instagram-heading .ellie-button{flex-shrink:0;margin-bottom:4px}
.social-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.social-photo-tile{position:relative;aspect-ratio:1;overflow:hidden;isolation:isolate;border-radius:3px;display:flex;align-items:center;justify-content:center;background:#d1cdbf}
.tile-caption{position:absolute;bottom:14px;left:14px;right:14px;text-align:left;font-size:11px;line-height:1.2;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#28342b;z-index:2}
.social-photo-tile--one{background:#c8d8cc}
.social-photo-tile--two{background:#e9c7a9}
.social-photo-tile--three{background:#becbd3}
.social-photo-tile--four{background:#efdba8}
.tile-shape{position:relative;display:block;width:62%;aspect-ratio:1}
.tile-shape--dish{border-radius:50%;background:radial-gradient(circle at 51% 46%,#cf684c 0 8%,#f4cd7d 9% 15%,#ece4ca 16% 34%,#91a77b 35% 38%,#e9e2d0 39% 56%,#b98f68 57% 58%,transparent 59%);transform:rotate(-12deg)}
.tile-shape--olive{width:38%;height:56%;aspect-ratio:auto;border-radius:50% 48% 46% 50%;background:#657650;transform:rotate(-32deg);box-shadow:30px -28px 0 -4px #778a60,-24px 30px 0 -10px #505f3d}
.tile-shape--glass{width:35%;height:52%;aspect-ratio:auto;border:9px solid rgba(255,255,255,.67);border-top:0;border-radius:0 0 38% 38%;background:linear-gradient(to bottom,transparent 0 22%,#bb6754 23% 72%,#db8b69 73% 100%);transform:rotate(7deg)}
.tile-shape--citrus{border-radius:50%;width:64%;background:repeating-conic-gradient(from 8deg,#ffefbd 0 30deg,#e8ad42 31deg 34deg,#ffefbd 35deg 60deg);border:12px solid #f0ba54;box-shadow:0 0 0 5px #f7d58a inset;transform:rotate(20deg)}
.social-bottom{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:17px}
.social-photo-disclaimer{font-size:11px;color:#594f48;letter-spacing:.015em;line-height:1.4;margin:0;max-width:330px}
.social-text-link{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}
@media(max-width:800px){
.instagram-section{padding:75px 24px 85px}
.instagram-topline{margin-bottom:39px;align-items:flex-start}
.instagram-handle{font-size:13px}
.instagram-heading{flex-direction:column;align-items:flex-start;gap:25px;margin-bottom:30px}
.instagram-heading h2{font-size:clamp(56px,12.5vw,88px)}
.instagram-heading p{font-size:18px;max-width:460px}
.instagram-heading .ellie-button{margin:0}
.social-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.social-bottom{align-items:flex-start;flex-direction:column;gap:14px;margin-top:19px}
.tile-caption{font-size:9px;left:10px;bottom:10px;right:10px}
}
@media(max-width:380px){.instagram-topline{flex-direction:column;gap:12px}.ellie-button{font-size:11px}.ellie-button>span:first-child{padding:15px 12px}}
@media(prefers-reduced-motion:reduce){.ellie-button,.ellie-button .button-arrow{transition:none}.ellie-button:hover,.ellie-button:hover .button-arrow{transform:none}}


/* 2026 Ellie redesign: atmospheric layered entrance + editorial story stacking
   Distinctive to Ellie; no third-party reference photography reused. */
:root{--plaster:#d4c8b5;--clay:#a7634c;--sage:#8a8b7e;--chalk:#f2ede4}
.atmospheric-hero{position:relative;isolation:isolate;background:#77796e;min-height:700px;height:100svh;overflow:hidden}
.hero-wash{position:absolute;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 71% 42%,#bdad94 0%,transparent 48%),linear-gradient(125deg,#797c6e 8%,#969487 49%,#b3a38e 100%)}
.hero-wash:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,36,29,.45),rgba(29,36,29,.05) 77%);pointer-events:none}
.hero-light{position:absolute;width:62vw;height:66vh;right:-10vw;top:8vh;background:radial-gradient(ellipse at center,#f4d8b4 0%,#e7c7a0 22%,transparent 68%);opacity:.32;filter:blur(17px)}
.hero-arch{position:absolute;bottom:-19vh;right:5vw;width:clamp(260px,34vw,560px);height:90vh;border-radius:48% 48% 0 0;box-shadow:inset 0 0 70px #594f41a6}
.hero-arch--back{transform:translateX(36%) scale(1.06);background:linear-gradient(110deg,#aca08d,#5a5f51 77%);opacity:.78}
.hero-arch--front{transform:translateX(-11%) scale(.82);background:linear-gradient(120deg,#998771,#675e50 40%,#29372e 100%);border:22px solid #b0a38e;opacity:.76}
.hero-grain{position:absolute;inset:0;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E");mix-blend-mode:soft-light;pointer-events:none}
.atmospheric-hero .hero-main{position:relative;margin:auto 0;max-width:950px;z-index:1}
.atmospheric-hero h1{font-size:clamp(92px,15.2vw,228px);max-width:1020px;letter-spacing:-.095em;line-height:.83;margin:25px 0 32px;color:var(--chalk)}
.atmospheric-hero h1 em{font-style:normal;color:var(--blue)}
.atmospheric-hero .hero-intro{color:#fff8ed;max-width:540px}
.atmospheric-hero .hero-footer{position:relative;z-index:2}
.atmospheric-hero .hero-meta{position:relative;z-index:2}
.scroll-cue{position:absolute;bottom:57px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;color:var(--cream);font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:700}
.scroll-cue span:last-child{font-size:22px}
.marquee{background:#d7cdc0;color:var(--dark);font-size:12px;letter-spacing:.1em;word-spacing:8px}
.marquee span{color:var(--clay);margin:0 15px;font-size:18px;vertical-align:middle}
.story-stack{position:relative;background:#f0eadf}
.story-panel{position:sticky;top:0;min-height:100svh;display:flex;align-items:stretch;overflow:hidden;isolation:isolate;box-shadow:0 -20px 44px rgba(35,44,32,.12)}
.story-panel--intro{z-index:1;background:#e9e1d5}
.story-panel--food{z-index:2;background:#d4d4c6}
.story-panel--menu{z-index:3;background:var(--blue)}
.story-panel-inner,.food-editorial,.menu-teaser{width:100%;min-height:100svh}
.story-panel-inner{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch}
.story-copy{padding:clamp(90px,11vh,160px) 6vw 90px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:25px}
.story-copy h2,.food-editorial h2,.menu-teaser h2{font-size:clamp(64px,7.4vw,136px);font-weight:800;letter-spacing:-.086em;line-height:.91;margin:0}
.story-copy h2 i,.food-editorial h2 i,.menu-teaser h2 i{font-style:normal;color:var(--clay)}
.story-copy .body-large{font-size:clamp(19px,2vw,27px);max-width:510px}
.story-art{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(145deg,#bfa98e,#cbbba4 55%,#a39380)}
.story-art:after{content:"";position:absolute;inset:0;opacity:.29;mix-blend-mode:multiply;background:repeating-linear-gradient(103deg,transparent 0 10px,rgba(255,255,255,.09) 11px 12px)}
.art-arch{position:absolute;left:14%;top:14%;height:100%;width:73%;border-radius:46% 46% 0 0;background:linear-gradient(115deg,#7c7c69,#494f45 58%,#363a31);border:clamp(12px,2.2vw,35px) solid #e3d2b9;box-shadow:15px 0 50px #665b4b60}
.art-orb{position:absolute;width:42%;aspect-ratio:1;border-radius:50%;right:-5%;bottom:10%;background:radial-gradient(circle at 33% 34%,#d9ab7a,#a96342 60%,#6e3a2d);box-shadow:0 18px 30px #3c3b3233}
.arch-label{position:absolute;z-index:3;bottom:22px;left:24px;right:24px;color:#fff7e5;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.09em}
.food-editorial{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(35px,5vw,90px);padding:90px 5vw}
.food-photo-composition{position:relative;min-height:clamp(530px,72vh,820px)}
.food-photo{position:absolute;overflow:hidden;border:8px solid var(--chalk);box-shadow:0 15px 35px #2c322d22}
.food-photo span{position:absolute;bottom:20px;left:20px;font-size:11px;font-weight:800;letter-spacing:.11em;color:#fff9ed;text-shadow:0 1px 9px #0009}
.food-photo--large{left:0;top:0;width:75%;height:85%;background:radial-gradient(ellipse at 48% 50%,#d2ad85 0 16%,#ead5ba 17% 28%,#828c73 29% 33%,transparent 34%),linear-gradient(135deg,#5e695b,#909a83 50%,#494b43)}
.food-photo--small{right:0;bottom:0;width:48%;height:54%;transform:rotate(4deg);background:radial-gradient(circle at 48% 49%,#e6b265 0 20%,#f1d19e 21% 25%,transparent 26%),linear-gradient(145deg,#b46b4d,#8f5a43)}
.food-photo-note{position:absolute;left:0;bottom:3%;font-size:11px;letter-spacing:.03em;max-width:210px;line-height:1.45}
.food-editorial-copy{display:flex;flex-direction:column;align-items:flex-start;gap:34px}
.food-editorial-copy h2{font-size:clamp(65px,6.9vw,118px)}
.food-editorial-copy h2 i{color:#9e5945}
.food-editorial-copy>p:not(.section-number){font-size:clamp(19px,2.1vw,28px);line-height:1.35;max-width:490px;margin:0}
.menu-teaser{display:flex;justify-content:space-between;align-items:center;gap:50px;padding:12vh 7vw}
.menu-teaser h2{font-size:clamp(80px,10vw,175px);margin-top:36px}
.menu-teaser h2 i{color:#a45d45}
.menu-teaser-info{width:min(420px,40%);display:flex;flex-direction:column;align-items:flex-start;gap:36px}
.menu-teaser-info p{font-size:clamp(23px,2.4vw,35px);font-weight:600;line-height:1.22;letter-spacing:-.04em;margin:0}
.menu-teaser-hours{font-size:12px;letter-spacing:.1em;font-weight:700;text-transform:uppercase}
[data-reveal]{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){.js-motion [data-reveal]{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.65,.25,1)}.js-motion [data-reveal].is-visible{opacity:1;transform:translateY(0)}.js-motion .hero-wash{animation:ellie-entrance 1.7s cubic-bezier(.2,.65,.25,1) both}@keyframes ellie-entrance{from{opacity:.45;transform:scale(1.075)}to{opacity:1;transform:scale(1)}}}
@media(max-width:800px){
.atmospheric-hero{height:100svh;min-height:650px;padding-top:145px}
.hero-arch{right:-30vw;width:73vw;height:77vh}
.hero-arch--front{transform:translateX(-9%) scale(.78)}
.atmospheric-hero h1{font-size:clamp(80px,17.4vw,140px);margin:25px 0}
.atmospheric-hero .hero-intro{font-size:clamp(18px,4.6vw,23px);max-width:335px}
.scroll-cue{left:auto;right:24px;bottom:115px;transform:none}.scroll-cue span:first-child{display:none}
.story-panel{position:relative;top:auto;min-height:auto;box-shadow:none}
.story-panel-inner,.food-editorial,.menu-teaser{min-height:0}
.story-panel-inner{grid-template-columns:1fr}
.story-copy{padding:100px 24px 70px;min-height:490px}
.story-copy h2,.food-editorial h2{font-size:clamp(65px,12vw,105px)}
.story-art{min-height:480px}
.art-arch{height:110%;top:9%}
.food-editorial{grid-template-columns:1fr;padding:80px 24px;gap:65px}
.food-photo-composition{min-height:520px}
.food-photo-note{font-size:10px}
.food-editorial-copy{gap:24px}
.menu-teaser{flex-direction:column;align-items:flex-start;justify-content:center;min-height:690px;padding:90px 24px}
.menu-teaser h2{font-size:clamp(84px,17vw,140px)}
.menu-teaser-info{width:100%;gap:25px}
.menu-teaser-info p{max-width:470px}
}
@media(max-width:430px){
.atmospheric-hero h1{font-size:17vw}
.atmospheric-hero .hero-footer{align-items:end}
.atmospheric-hero .hero-footer p{font-size:11px}
.story-copy{min-height:430px}
.food-photo-composition{min-height:390px}
.food-photo--large{width:78%;height:82%}
.food-photo--small{width:51%;height:55%}
.food-photo-note{bottom:0;max-width:155px}
}


/* Refinement pass — Still Life-like clarity, Ellie's warmer material palette */
:root{--olive:#858579;--blue:#c5dde4;--cream:#f1ede4;--dark:#303730;--accent:#9c5946;--clay:#9c5946;--chalk:#f4efe6}
body{letter-spacing:-.012em}
.header{padding-left:max(28px,5vw);padding-right:max(28px,5vw)}
.desktop-nav{gap:34px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.095em}
.desktop-nav a{text-decoration:none;transition:opacity .2s}
.desktop-nav a:hover{opacity:.6;text-decoration:none}
.section-number,.eyebrow{font-weight:600;font-size:11px;letter-spacing:.14em}
.hero-meta{font-size:11px;letter-spacing:.11em;font-weight:600}
.atmospheric-hero h1{font-size:clamp(76px,12.2vw,172px);line-height:.91;letter-spacing:-.075em}
.atmospheric-hero .hero-intro{font-size:clamp(18px,1.9vw,26px);line-height:1.38;letter-spacing:-.022em}
.hero-arch{opacity:.46;filter:saturate(.65)}
.hero-grain{opacity:.14}
.scroll-cue{font-weight:500;font-size:10px;letter-spacing:.16em}
.marquee{display:flex;align-items:center;justify-content:center;gap:clamp(14px,3vw,40px);min-height:64px;padding:18px 25px;background:#d8d1c4;font-size:11px;font-weight:600;letter-spacing:.1em;word-spacing:normal}
.marquee>span{margin:0;color:inherit;font-size:inherit;white-space:nowrap}
.marquee .marquee-divider{width:25px;height:1px;flex:0 0 25px;background:currentColor;opacity:.5}
.story-copy h2,.food-editorial h2,.menu-teaser h2{font-size:clamp(59px,6.7vw,107px);line-height:.98;letter-spacing:-.065em}
.story-copy h2 i,.food-editorial h2 i,.menu-teaser h2 i{color:#945943}
.story-copy .body-large,.food-editorial-copy>p:not(.section-number){font-size:clamp(18px,1.85vw,25px);line-height:1.5;font-weight:400;letter-spacing:-.02em}
.food-photo{border:4px solid #f3efe7;box-shadow:0 16px 28px #30373016}
.food-photo--small{transform:rotate(2deg)}
.menu-teaser-info p{font-weight:400;font-size:clamp(20px,2.1vw,29px);line-height:1.43}
.ellie-button{min-height:45px;border-radius:2px;border-width:1px;font-size:11px;font-weight:600;letter-spacing:.1em;gap:17px;transition:background-color .2s,color .2s,opacity .2s}
.ellie-button>span:first-child{padding:15px 17px}
.ellie-button .button-arrow{min-height:44px;min-width:44px;border-left-width:1px;font-family:Arial,sans-serif;font-size:20px;font-weight:400;line-height:1;transition:opacity .2s}
.ellie-button:hover{transform:none;opacity:.78}
.ellie-button:hover .button-arrow{transform:none}
.under-link,.social-text-link,.instagram-handle{font-weight:600;letter-spacing:.015em;text-decoration-thickness:1px}
.under-link{font-size:14px;border-bottom-width:1px}
.under-link:hover{gap:35px}
.instagram-section{background:#e6cdc5;padding-top:105px;padding-bottom:100px}
.instagram-heading h2{font-size:clamp(58px,7vw,103px);line-height:.96;letter-spacing:-.068em}
.instagram-heading h2 span{color:#975843}
.instagram-heading p{font-size:clamp(16px,1.65vw,20px);font-weight:400;line-height:1.45;max-width:430px}
.instagram-topline{margin-bottom:53px}
.instagram-handle{font-size:13px;letter-spacing:.03em}
.social-photo-grid{gap:10px}
.social-photo-tile{border-radius:0;border:1px solid #746e6340;aspect-ratio:4/5;background:linear-gradient(145deg,#bbb6a8,#dad3c6);display:flex;align-items:flex-end;justify-content:flex-start}
.social-photo-tile--one{background:linear-gradient(140deg,#aeb8a7,#d9d8ca)}
.social-photo-tile--two{background:linear-gradient(160deg,#c7aa97,#e4cfbc)}
.social-photo-tile--three{background:linear-gradient(145deg,#9eaeb4,#d6dfe0)}
.social-photo-tile--four{background:linear-gradient(145deg,#c7ba95,#e8dec8)}
.tile-caption{position:relative;left:auto;right:auto;bottom:auto;margin:15px;font-size:9px;letter-spacing:.11em;line-height:1.4;font-weight:600;opacity:.75;max-width:130px}
.tile-shape{display:none}
.social-photo-disclaimer{font-size:11px;max-width:420px}
.social-text-link{font-size:11px;letter-spacing:.1em;font-family:var(--font)}
.contact-links{font-size:clamp(22px,2.65vw,37px);font-weight:600;letter-spacing:-.04em}
.contact .section-number{margin-bottom:50px}
.contact>p:last-child{font-size:15px}
.footer{font-size:11px;letter-spacing:.03em}
.button-arrow,.social-text-link span,.instagram-handle span,.scroll-cue span:last-child{font-family:Arial,Helvetica,sans-serif!important;font-variant-emoji:text!important}
@media(max-width:800px){
.header{padding-left:24px;padding-right:24px}
.atmospheric-hero h1{font-size:clamp(66px,15vw,108px)}
.marquee{justify-content:flex-start;overflow:hidden;font-size:10px;gap:14px}
.marquee>span:last-child,.marquee .marquee-divider:last-of-type{display:none}
.story-copy h2,.food-editorial h2{font-size:clamp(59px,11vw,88px)}
.instagram-section{padding:78px 24px 90px}
.instagram-heading h2{font-size:clamp(56px,11vw,88px)}
.instagram-heading p{font-size:17px}
.social-photo-tile{aspect-ratio:4/5}
.tile-caption{margin:10px;font-size:9px}
}


/* Refined linework buttons — single system across Ellie, 2026-11-10.
   Inspired by the site's existing Find Us directional control. */
.ellie-button,
.ellie-button--dark,
.ellie-button--light,
.ellie-button--outline,
.visit .ellie-button{
  --btn-bg:transparent;
  --btn-color:currentColor;
  --btn-border:currentColor;
  display:inline-flex;
  flex:0 0 auto;
  width:fit-content;
  min-height:50px;
  padding:0;
  gap:0;
  align-items:stretch;
  justify-content:space-between;
  overflow:hidden;
  border:1px solid currentColor;
  border-radius:2px;
  background:transparent;
  color:inherit;
  text-transform:uppercase;
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  line-height:1.15;
  text-decoration:none;
  box-shadow:none;
  transition:background-color .22s ease,color .22s ease,border-color .22s ease;
}
.ellie-button>span:first-child{
  align-self:center;
  padding:15px 23px;
  white-space:normal;
}
.ellie-button .button-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:50px;
  min-height:49px;
  padding:0;
  border-left:1px solid currentColor;
  font-family:Arial,Helvetica,sans-serif;
  font-size:22px;
  font-weight:300;
  line-height:1;
  font-variant-emoji:text;
  transition:none;
}
.ellie-button:hover,
.ellie-button--outline:hover,
.visit .ellie-button:hover{
  background:rgba(255,255,255,.11);
  color:inherit;
  opacity:1;
  transform:none;
}
.ellie-button:hover .button-arrow{transform:none;}
.ellie-button:focus-visible{outline:2px solid currentColor;outline-offset:4px;}
.atmospheric-hero .ellie-button,
.hero .ellie-button{color:var(--chalk);border-color:var(--chalk);}
.story-panel--food .ellie-button,.story-panel--menu .ellie-button{color:var(--dark);border-color:var(--dark);}
.visit .ellie-button{color:var(--blue);border-color:var(--blue);}
.instagram-section .ellie-button{color:var(--dark);border-color:var(--dark);}
.menu-page .ellie-button{color:var(--dark);border-color:var(--dark);}
@media(max-width:440px){
 .ellie-button{font-size:10px;letter-spacing:.09em;min-height:46px}
 .ellie-button>span:first-child{padding:13px 16px}
 .ellie-button .button-arrow{min-width:45px;min-height:45px;font-size:21px}
}
@media(prefers-reduced-motion:reduce){.ellie-button{transition:none}}
