:root{--teal:#073F43;--cream:#F4EBDD;--gold:#D7AF76;--ink:#173b38;--paper:#fbf8f1;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--gutter:clamp(1.25rem,5vw,5.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--paper);color:var(--teal);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit}button{font:inherit}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:20;background:var(--cream);padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{height:92px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:var(--teal);color:var(--cream);position:relative;z-index:5}.brand img{display:block;width:168px;max-height:63px}.desktop-nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.35rem)}.desktop-nav a,.footer-links a{text-decoration:none;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}.desktop-nav a:hover,.footer-links a:hover{color:var(--gold)}.menu-toggle{display:flex;align-items:center;gap:.7rem;border:1px solid rgba(244,235,221,.42);background:transparent;color:var(--cream);padding:.68rem .9rem;cursor:pointer;font-size:.73rem;letter-spacing:.16em}.menu-icon{width:24px;display:grid;gap:5px}.menu-icon i{display:block;height:2px;background:var(--gold);width:100%}.menu-icon i:nth-child(2){width:75%;margin-left:auto}.menu-panel{position:fixed;inset:0 0 0 auto;z-index:10;width:min(480px,100%);background:var(--teal);color:var(--cream);padding:clamp(4.5rem,10vh,7rem) clamp(2rem,7vw,4.5rem) 2rem;box-shadow:-30px 0 70px #061f2066}.menu-panel[hidden]{display:none}.menu-close{position:absolute;right:var(--gutter);top:1.6rem;border:1px solid #ffffff66;background:none;color:var(--cream);font-size:2rem;line-height:1;width:46px;height:46px;cursor:pointer}.menu-panel>a{display:flex;justify-content:space-between;text-decoration:none;font:500 clamp(1.7rem,4vw,2.35rem) var(--serif);padding:.72rem 0;border-bottom:1px solid #ffffff2c}.menu-panel>a span{font:500 .68rem var(--sans);letter-spacing:.15em;color:var(--gold);padding-top:.5rem}.panel-tagline{margin-top:2.5rem;color:var(--gold);letter-spacing:.15em;text-transform:uppercase;font-size:.7rem}.eyebrow{margin:0 0 1.2rem;font-size:.64rem;font-weight:700;letter-spacing:.2em;line-height:1.4;text-transform:uppercase;color:var(--gold)}.eyebrow-line{display:inline-block;width:28px;height:1px;vertical-align:middle;background:var(--gold);margin-right:.6rem}.hero{background:var(--teal);color:var(--cream);min-height:620px;display:grid;grid-template-columns:.88fr 1.12fr;position:relative;overflow:hidden;padding:clamp(3.8rem,8vw,7.6rem) var(--gutter) 5.8rem;gap:clamp(2rem,6vw,6.5rem);align-items:center}.hero-copy{max-width:590px;z-index:1}.hero h1,.about h2,.menu-heading h2,.rewards h2,.find-copy h2{font:500 clamp(2.8rem,5.4vw,5.55rem)/1.07 var(--serif);letter-spacing:-.045em;margin:0 0 1.65rem}.hero h1 em,.about h2 em,.menu-heading h2 em,.rewards h2 em,.find-copy h2 em,.contact-strip em{font-weight:500;color:var(--gold)}.hero-intro{max-width:440px;font-size:1rem;color:#f4ebdde0;line-height:1.85}.hero-tagline{margin:1.8rem 0 2rem;color:var(--gold);font-size:.68rem;text-transform:uppercase;letter-spacing:.2em}.hero-actions{display:flex;align-items:center;gap:2rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.2rem;text-decoration:none;padding:1rem 1.25rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:1rem}.button-cream{background:var(--cream);color:var(--teal)}.button-cream:hover{background:#fff}.button-dark{background:var(--teal);color:var(--cream)}.button-dark:hover{background:#0c5459}.text-link{display:inline-flex;align-items:center;gap:1.2rem;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:.55rem}.light-link{color:var(--cream)}.dark-link{color:var(--teal)}.text-link span{color:var(--gold);font-size:1rem}.hero-visual{height:min(60vw,580px);min-height:390px;position:relative}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 52%;display:block}.hero-visual:after{content:"";position:absolute;inset:0;border:1px solid #f4ebdd40;pointer-events:none}.image-caption{position:absolute;bottom:1.2rem;left:1.2rem;z-index:1;background:var(--cream);color:var(--teal);font-size:.65rem;letter-spacing:.08em;padding:.55rem .75rem}.caption-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b17a3c;margin-right:.5rem}.hero-stamp{position:absolute;right:-24px;top:-24px;display:grid;place-content:center;text-align:center;width:110px;height:110px;border-radius:50%;background:var(--gold);color:var(--teal);font:500 1rem/1.25 var(--serif);transform:rotate(8deg)}.hero-index{position:absolute;left:var(--gutter);bottom:2.2rem;display:flex;gap:.8rem;align-items:center;font-size:.64rem;letter-spacing:.16em;color:#f4ebdd9a}.hero-index i{height:1px;width:70px;background:var(--gold)}.section-pad{padding:clamp(5rem,10vw,9.5rem) var(--gutter)}.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);align-items:center;position:relative;overflow:hidden}.photo-frame{position:relative}.about-photo{height:clamp(420px,52vw,650px)}.photo-frame img{display:block;width:100%;height:100%;object-fit:cover}.about-photo img{object-position:55% center}.photo-note{position:absolute;right:-1px;bottom:2rem;background:var(--cream);padding:.7rem 1rem;font:italic 1rem var(--serif)}.about-copy{max-width:580px;z-index:1}.dark-eyebrow{color:#8c6943}.about h2,.find-copy h2{font-size:clamp(2.7rem,4.6vw,4.7rem)}.about-copy>p:not(.eyebrow){font-size:.95rem;line-height:1.95;color:#365650;max-width:520px}.about-signoff{font:italic 1.25rem var(--serif)!important;color:var(--teal)!important;margin-top:1.7rem}.about-copy .text-link{margin-top:1rem}.about-mark{position:absolute;right:5%;bottom:-.5em;font:700 21rem/.8 var(--serif);color:#073f4305;pointer-events:none}.menu-section{background:#efe5d5}.menu-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}.menu-heading h2{font-size:clamp(2.8rem,5vw,5.1rem);margin-bottom:0}.menu-heading .eyebrow{color:#8c6943}.food-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.food-card{position:relative;min-height:450px;overflow:hidden;background:var(--teal);color:var(--cream)}.food-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#072a2a05 28%,#062e2edb 100%)}.food-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}.food-card:hover img{transform:scale(1.04)}.food-breakfast img{object-position:45% center}.food-coffee img{object-position:center}.food-lunch img{object-position:center}.food-sweets img{object-position:center}.food-card-content{position:absolute;z-index:1;left:1.4rem;right:1.4rem;bottom:1.5rem}.food-number{font-size:.58rem;letter-spacing:.18em;color:var(--gold)}.food-card h3{font:500 2rem var(--serif);margin:.35rem 0 .3rem}.food-card p{font-size:.78rem;line-height:1.6;color:#f4ebdddc;margin:.25rem 0 1.1rem}.food-card-content a{font-size:.62rem;text-transform:uppercase;letter-spacing:.11em;text-decoration:none;border-bottom:1px solid #f4ebdd80;padding-bottom:.35rem}.food-card-content a span{color:var(--gold);margin-left:.7rem}.digital-menu{display:flex;align-items:center;gap:1.2rem;margin-top:1.5rem;padding:1.5rem 1.7rem;border:1px solid #073f432e;background:#f4ebdd80}.digital-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--teal);color:var(--gold);font-size:1.1rem;flex:none}.digital-menu .eyebrow{color:#8c6943;margin-bottom:.25rem}.digital-menu h3{font:500 1.25rem var(--serif);margin:0}.digital-menu p:not(.eyebrow){margin:.2rem 0 0;color:#55706a;font-size:.76rem}.digital-note{margin-left:auto;font:italic .95rem var(--serif);color:#8c6943}.rewards{background:var(--teal);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;overflow:hidden;min-height:520px}.rewards-copy{max-width:450px}.rewards h2{font-size:clamp(3rem,5vw,5rem)}.rewards-copy>p:not(.eyebrow){max-width:390px;color:#f4ebddd0;line-height:1.8}.rewards-copy .text-link{margin-top:1rem}.rewards-art{position:relative;height:360px;display:grid;place-items:center;color:var(--gold)}.rewards-art span{font:600 clamp(2rem,4vw,3.7rem)/.9 var(--sans);letter-spacing:.08em;text-align:center;z-index:1}.rewards-art i{position:absolute;font-style:normal;font-size:3rem;color:var(--cream);right:16%;top:9%}.orbit{position:absolute;border:1px solid #d7af7666;border-radius:50%;width:310px;height:310px}.orbit-one{transform:rotate(35deg) scaleX(.56)}.orbit-two{transform:rotate(-35deg) scaleX(.56)}.find-section{display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:clamp(3rem,8vw,8rem)}.find-copy>p:not(.eyebrow){color:#49645e;line-height:1.8}.find-copy .address-link{display:block;width:max-content;max-width:100%;font:500 1.2rem/1.7 var(--serif);text-decoration:none;margin:1.6rem 0 1.3rem}.address-link span{font:1rem var(--sans);color:#a47b4d;margin-left:.5rem}.find-photo{height:clamp(360px,45vw,560px)}.find-photo img{object-position:center 55%}.map-label{position:absolute;left:1.2rem;bottom:1.2rem;display:flex;align-items:center;gap:.65rem;padding:.75rem .9rem;background:var(--cream);font-size:.6rem;font-weight:700;letter-spacing:.1em}.map-pin{display:grid;place-items:center;width:24px;height:24px;background:var(--teal);color:var(--gold);border-radius:50%;font-size:.9rem}.contact-strip{padding:3rem var(--gutter);background:#b78958;color:var(--teal);display:flex;align-items:center;justify-content:space-between;gap:2rem}.contact-strip p{font:500 clamp(1.5rem,3vw,2.5rem)/1.25 var(--serif);margin:0}.contact-strip em{color:#f7edde}.contact-strip .button{background:var(--teal);color:var(--cream);white-space:nowrap}.site-footer{background:#052f32;color:var(--cream);padding:3.5rem var(--gutter) 1.5rem;display:grid;grid-template-columns:1fr 1fr 2fr;align-items:start;gap:2rem}.footer-brand img{display:block;width:155px}.site-footer>p{margin:0;color:#f4ebddbd;font-size:.8rem;line-height:1.8}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:1rem 1.5rem}.footer-links a{font-size:.62rem;color:#f4ebdddb}.site-footer small{grid-column:1/-1;border-top:1px solid #ffffff2b;padding-top:1rem;margin-top:1.2rem;color:#f4ebdd8a;font-size:.62rem;letter-spacing:.08em}
@media(max-width:1050px){.desktop-nav{gap:1rem}.desktop-nav a{font-size:.65rem}.hero{grid-template-columns:.95fr 1.05fr}.food-grid{grid-template-columns:repeat(2,1fr)}.food-card{min-height:420px}}
@media(max-width:760px){.site-header{height:76px}.brand img{width:138px}.desktop-nav{display:none}.menu-toggle{padding:.55rem .7rem}.hero{display:flex;flex-direction:column;align-items:stretch;gap:2.5rem;padding-top:4rem;padding-bottom:5.8rem}.hero h1{font-size:clamp(2.8rem,12vw,4.4rem)}.hero-visual{height:90vw;min-height:340px;max-height:540px;margin-right:.6rem}.hero-stamp{width:88px;height:88px;font-size:.83rem;right:-12px;top:-18px}.hero-index{bottom:1.8rem}.about{grid-template-columns:1fr;gap:3rem}.about-photo{height:105vw;max-height:560px;margin-right:1rem}.about-copy{padding-left:.25rem}.about-mark{font-size:14rem;right:0;bottom:25%}.menu-heading{align-items:start;flex-direction:column}.menu-heading h2{font-size:clamp(2.7rem,11vw,4.3rem)}.menu-heading .button{margin-top:.2rem}.food-grid{grid-template-columns:1fr 1fr;gap:.65rem}.food-card{min-height:370px}.food-card-content{left:1rem;right:1rem;bottom:1rem}.food-card h3{font-size:1.65rem}.food-card p{font-size:.7rem}.food-card-content a{font-size:.55rem}.digital-menu{align-items:flex-start;padding:1.1rem}.digital-note{display:none}.rewards{grid-template-columns:1fr;gap:1rem}.rewards-art{height:260px}.orbit{width:240px;height:240px}.find-section{grid-template-columns:1fr;gap:2.5rem}.find-photo{height:85vw;min-height:340px}.contact-strip{align-items:flex-start;flex-direction:column}.site-footer{grid-template-columns:1fr 1fr;gap:1.5rem}.footer-links{grid-column:1/-1;justify-content:flex-start}.footer-brand img{width:142px}}
@media(max-width:420px){.hero-actions{gap:1.3rem;flex-wrap:wrap}.button{padding:.9rem 1rem}.food-grid{grid-template-columns:1fr}.food-card{min-height:420px}.site-footer{grid-template-columns:1fr}.site-footer small{grid-column:auto}.menu-toggle{gap:.5rem}.menu-icon{width:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

body.menu-open{overflow:hidden}

/* Focused launch refinements */
.site-header{gap:clamp(.75rem,1.6vw,1.5rem)}
.site-header .brand{flex:0 1 auto;min-width:0}
.site-header .brand img{width:198px;height:auto;max-width:100%;max-height:none}
.desktop-nav{flex:1;justify-content:center;min-width:0;gap:clamp(.85rem,1.65vw,1.65rem)}
.desktop-nav a{white-space:nowrap}
.menu-toggle{flex:none}
.opening-announcement{min-height:48px;display:flex;align-items:center;justify-content:center;gap:.65rem;padding:.55rem var(--gutter);background:#eadbc4;color:var(--teal);text-align:center}
.opening-announcement[hidden]{display:none}
.announcement-mark{color:#987349;font-size:.9rem;line-height:1}
.opening-announcement p{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:0;line-height:1.4}
.opening-announcement strong{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase}
.opening-announcement p span{font:italic .95rem var(--serif);color:#345b56}
.button{min-height:48px;gap:.75rem;transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 9px 22px #073f4325}
.button:active{transform:translateY(0)}
.button:focus-visible,.text-link:focus-visible,.desktop-nav a:focus-visible,.footer-links a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.button-menu{justify-content:center;gap:.8rem;padding:1.05rem 1.45rem;background:#fff6e9;box-shadow:0 6px 18px #031d1e3d;font-size:.74rem;letter-spacing:.11em}
.button-menu:hover{background:#fff;color:#052f32;box-shadow:0 10px 24px #031d1e55}
.button-menu>span{font-size:inherit}
.menu-cta-icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
@media(max-width:1050px){
  .site-header .brand img{width:clamp(174px,18vw,190px)}
  .desktop-nav{gap:clamp(.7rem,1.25vw,1rem)}
  .desktop-nav a{font-size:.62rem}
}
@media(max-width:760px){
  .site-header .brand img{width:clamp(170px,44vw,180px)}
  .opening-announcement{min-height:46px;gap:.5rem}
  .opening-announcement p{gap:.55rem;flex-wrap:wrap}
  .opening-announcement p span{font-size:.88rem}
}
