:root{--navy:#0b2741;--ink:#14212c;--cream:#fbf6ec;--white:#fff;--coral:#f36f4a;--peach:#ffd7c9;--line:#d8dedf;--green:#168263}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:#fff;font-size:16px}.announcement{height:34px;background:var(--coral);color:#fff;text-align:center;font-size:.78rem;font-weight:700;letter-spacing:.08em;padding:8px}.announcement span{margin:0 10px}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,76px);background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(10,39,64,.08)}.brand{display:flex;align-items:center;gap:11px;color:var(--navy);text-decoration:none;line-height:1}.brand-mark{display:grid;place-items:center;background:var(--navy);color:var(--coral);width:42px;height:42px;border-radius:50%;font-family:"Playfair Display",serif;font-size:1.7rem;font-style:italic}.brand b{display:block;letter-spacing:.12em;font-size:.92rem}.brand small{font-size:.62rem;letter-spacing:.18em}nav{display:flex;align-items:center;gap:30px}nav a{font-size:.9rem;font-weight:600;color:var(--navy);text-decoration:none}.nav-shop{color:var(--coral)}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:var(--navy);color:#fff;text-decoration:none;border:0;padding:16px 22px;font-weight:700;font-family:inherit;cursor:pointer}.button.small{padding:12px 19px;gap:10px}.nav-toggle{display:none}.hero{height:min(720px,calc(100vh - 116px));min-height:580px;position:relative;overflow:hidden;background:var(--navy)}.hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,31,51,.92) 0%,rgba(8,31,51,.68) 33%,rgba(8,31,51,.08) 67%)}.hero-copy{position:absolute;left:clamp(26px,8vw,128px);top:50%;transform:translateY(-52%);color:#fff;max-width:590px}.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.18em;margin:0 0 18px}.eyebrow.coral{color:var(--coral)}h1,h2,h3{font-family:"Playfair Display",serif;margin-top:0}h1{font-size:clamp(3.4rem,6.6vw,6.7rem);line-height:.91;letter-spacing:-.045em;margin-bottom:26px}h1 em{color:var(--peach);font-weight:600}.hero-copy>p:not(.eyebrow){font-size:1.12rem;line-height:1.65;max-width:530px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.text-link{color:#fff;text-decoration:none;font-weight:700;border-bottom:1px solid currentColor;padding:7px 0}.text-link span{margin-left:7px}.open-card{position:absolute;right:clamp(20px,5vw,74px);bottom:28px;background:rgba(255,255,255,.94);padding:15px 20px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 40px rgba(0,0,0,.14)}.open-card b,.open-card small{display:block}.open-card small{font-size:.73rem;color:#5b6974;margin-top:4px}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,130,99,.15)}.quick-paths{display:grid;grid-template-columns:repeat(3,1fr);max-width:1240px;margin:-1px auto 0;background:#fff;border-bottom:1px solid var(--line)}.quick-paths>a{padding:30px 28px;display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--ink);border-right:1px solid var(--line)}.quick-paths>a:last-child{border:0}.quick-paths>a>span:last-child{margin-left:auto;color:var(--coral);font-size:1.4rem}.quick-paths b,.quick-paths small{display:block}.quick-paths small{color:#6f7a82;margin-top:4px}.icon{font-size:1.5rem;color:var(--coral)}.menu-section{padding:110px clamp(24px,6vw,92px);max-width:1440px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading h2,.catering h2,.story h2,.rewards h2,.visit h2{font-size:clamp(2.5rem,4vw,4.5rem);line-height:1.05;letter-spacing:-.035em;margin-bottom:0}.text-link.dark{color:var(--navy)}.tabs{display:flex;gap:10px;margin:46px 0 30px;overflow:auto;padding-bottom:4px}.tabs button{background:transparent;border:1px solid #bfc7cc;padding:11px 18px;white-space:nowrap;color:var(--ink);font:600 .9rem inherit;cursor:pointer}.tabs button[aria-selected="true"]{background:var(--navy);color:white;border-color:var(--navy)}.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.menu-card{background:var(--cream);min-height:255px;padding:30px;display:flex;flex-direction:column;position:relative;overflow:hidden}.menu-card:before{content:"";position:absolute;width:120px;height:120px;border:28px solid rgba(243,111,74,.12);border-radius:50%;right:-50px;top:-58px}.menu-card .tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--coral);font-weight:700}.menu-card h3{font-size:1.55rem;margin:25px 0 10px}.menu-card p{color:#68747c;line-height:1.5;font-size:.9rem;margin:0}.menu-card .price{margin-top:auto;font-weight:700;color:var(--navy)}.catering{display:grid;grid-template-columns:1.25fr .75fr;background:var(--navy);color:white;padding:100px clamp(24px,8vw,128px);gap:8vw;align-items:center}.catering-copy>p:not(.eyebrow){font-size:1.05rem;line-height:1.7;color:#d9e2e8;max-width:650px}.catering ul{list-style:none;padding:0;margin:26px 0}.catering li{padding:8px 0}.catering li:before{content:"✓";color:var(--coral);margin-right:12px}.coral-button{background:var(--coral)}.catering-panel{background:white;color:var(--ink);padding:36px;box-shadow:18px 18px 0 rgba(243,111,74,.25)}.catering-panel>p{color:var(--coral);text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;font-weight:700}.catering-panel h3{font-size:2rem}.order-line{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid var(--line);font-size:.9rem}.order-line b{white-space:nowrap}.catering-panel small{display:block;color:#6c777e;margin-top:20px}.story{text-align:center;padding:120px 24px;max-width:900px;margin:auto}.script{color:var(--coral);font-family:"Playfair Display",serif;font-style:italic;font-size:1.3rem}.story>p:not(.script){font-size:1.15rem;line-height:1.8;color:#59656e;max-width:760px;margin:24px auto}.quote{font-family:"Playfair Display",serif;font-size:1.8rem;color:var(--navy);padding-top:28px}.rewards{margin:0 clamp(20px,5vw,70px) 90px;padding:60px clamp(28px,5vw,70px);background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.rewards h2{font-size:clamp(2.3rem,3.5vw,3.8rem)}.rewards p{color:#68747c}.rewards label{display:block;font-weight:700;font-size:.85rem;margin-bottom:9px}.rewards form>div{display:flex}.rewards input{flex:1;border:1px solid #b8c1c6;padding:16px;font:inherit;min-width:0}.rewards form small{display:block;margin-top:10px;color:#79838a;font-size:.72rem;line-height:1.5}.form-message{font-weight:700;color:var(--green)!important}.visit{display:grid;grid-template-columns:1fr 1fr;gap:12vw;padding:100px clamp(24px,8vw,128px);background:#f1f5f5}.visit .address{font-size:1.15rem;line-height:1.8}.visit a{color:var(--navy);font-weight:700}.visit-actions{display:flex;align-items:center;gap:25px;margin-top:32px}.visit-actions .button{color:#fff}.hours{background:#fff;padding:38px}.hours h3{font-size:2rem}.hours>div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.hours p{font-size:.8rem;color:#6c777e;margin-bottom:0}footer{background:#071d30;color:white;padding:50px clamp(24px,6vw,90px);display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:50px}.brand.inverse{color:white}.brand.inverse .brand-mark{background:var(--coral);color:var(--navy)}.footer-links{display:flex;gap:25px}.footer-links a{color:white;text-decoration:none;font-size:.85rem}footer>p{font-size:.75rem;color:#aab7c1}.mobile-order{display:none}.fade-in{animation:fade .35s ease both}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:900px){.site-header{height:70px;padding:0 20px}.nav-toggle{display:block;border:0;background:transparent;width:42px;height:42px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:7px auto}nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:25px;box-shadow:0 14px 30px rgba(0,0,0,.12);align-items:stretch;flex-direction:column;gap:0}nav.open{display:flex}nav a{padding:13px}.hero{height:720px}.hero-shade{background:linear-gradient(90deg,rgba(8,31,51,.9),rgba(8,31,51,.28))}.hero-copy{left:25px;right:20px}.hero-copy>p:not(.eyebrow){max-width:450px}.quick-paths{grid-template-columns:1fr}.quick-paths>a{border-right:0;border-bottom:1px solid var(--line)}.menu-grid{grid-template-columns:repeat(2,1fr)}.catering,.rewards,.visit{grid-template-columns:1fr}.catering{gap:60px}.section-heading{align-items:start;flex-direction:column}.rewards{gap:30px}.visit{gap:50px}footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}}
@media(max-width:560px){.announcement{font-size:.66rem}.hero{min-height:630px;height:calc(100vh - 104px)}.hero-copy{top:45%}h1{font-size:3.65rem}.hero-copy>p:not(.eyebrow){font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.open-card{left:20px;right:auto;bottom:20px}.menu-section{padding:80px 20px}.menu-grid{grid-template-columns:1fr}.catering{padding:80px 20px}.story{padding:90px 22px}.rewards{margin:0;padding:60px 22px}.rewards form>div{flex-direction:column;gap:10px}.visit{padding:80px 22px}.hours{padding:27px 22px}.hours>div{flex-direction:column;gap:4px}.footer-links{flex-direction:column;gap:12px}.mobile-order{display:flex;position:fixed;z-index:30;right:14px;bottom:14px;background:var(--coral);color:#fff;text-decoration:none;padding:15px 20px;font-weight:700;box-shadow:0 8px 30px rgba(0,0,0,.24);gap:20px}}

:root{--navy:#000;--ink:#171313;--cream:#fcf2cd;--coral:#e30614;--peach:#c9e9fb;--line:#ded8d5;--green:#005844}
body{font-family:Archivo,"DM Sans",sans-serif}
h1,h2,h3{font-family:"Playfair Display",Freight,serif}
.announcement{background:#e30614}
.site-header{border-bottom:3px solid #e30614}
.brand img{display:block;width:142px;height:58px;object-fit:contain}
.site-header .brand img{height:66px}
.brand-mark{display:none}
.button{background:#000;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem}
.button:hover{background:#651d32}
.nav-shop,.eyebrow.coral,.icon,.quick-paths>a>span:last-child,.script{color:#e30614}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.58) 36%,rgba(0,0,0,.04) 70%)}
h1 em{color:#fcf2cd}
.menu-card{background:#fcf2cd}
.menu-card:nth-child(even){background:#c9e9fb}
.menu-card:before{border-color:rgba(227,6,20,.13)}
.catering{background:#651d32}
.coral-button{background:#e30614}
.catering-panel{box-shadow:18px 18px 0 #e30614}
.story{position:relative}
.story:after{content:"";position:absolute;width:220px;height:8px;background:#e30614;left:50%;bottom:70px;transform:translateX(-50%) rotate(-2deg);border-radius:50%}
.reviews{background:#e30614;color:#fff;padding:100px clamp(24px,8vw,128px)}
.reviews-heading{display:grid;grid-template-columns:1fr auto;gap:0 70px;align-items:end}
.reviews-heading .eyebrow{grid-column:1}
.reviews-heading h2{grid-column:1;font-size:clamp(2.5rem,4vw,4.5rem);line-height:1.05;margin:0;max-width:700px}
.google-rating{grid-column:2;grid-row:1/3;color:#fff;text-decoration:none;display:grid;text-align:right}
.google-rating strong{font-size:3.3rem;line-height:1}
.google-rating span{color:#fcf2cd;letter-spacing:.08em;margin:7px 0}
.google-rating small{font-weight:700}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}
.review-grid blockquote{margin:0;background:#fff;color:#171313;padding:34px;font-family:"Playfair Display",serif;font-size:1.35rem;line-height:1.45;min-height:220px;display:flex;flex-direction:column}
.review-grid cite{font-family:Archivo,"DM Sans",sans-serif;font-style:normal;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#651d32;font-weight:700;margin-top:auto;padding-top:24px}
.rewards{background:#fcf2cd}
.visit{background:#c9e9fb}
footer{background:#000}
footer .brand img{filter:invert(1);width:130px}
.mobile-order{background:#e30614;border-radius:999px}
@media(max-width:900px){.reviews-heading{grid-template-columns:1fr}.google-rating{grid-column:1;grid-row:auto;text-align:left;margin-top:25px}.review-grid{grid-template-columns:1fr}.site-header .brand img{height:56px;width:120px}}

.real-favorites{display:grid;grid-template-columns:repeat(3,1fr);background:#000;padding:18px;gap:18px}.real-favorites figure{margin:0;position:relative;aspect-ratio:1;overflow:hidden}.real-favorites img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.real-favorites figure:hover img{transform:scale(1.035)}.real-favorites figcaption{position:absolute;left:18px;right:18px;bottom:18px;background:#fcf2cd;color:#171313;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.real-favorites figcaption span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#651d32;font-weight:700}.real-favorites figcaption b{font-family:"Playfair Display",serif;font-size:1.1rem;text-align:right}@media(max-width:700px){.real-favorites{grid-template-columns:1fr;padding:10px;gap:10px}}

/* Red is reserved for emphasis; claret, black, cream and blue carry the page. */
.announcement{background:#171313;color:#fff}
.site-header{border-bottom:1px solid rgba(101,29,50,.2)}
.nav-shop,.eyebrow.coral,.icon,.quick-paths>a>span:last-child,.script{color:#651d32}
.button{background:#171313}
.button:hover{background:#651d32}
.button.coral-button{background:#651d32}
.button.coral-button:hover{background:#171313}
.menu-card:before{border-color:rgba(101,29,50,.12)}
.menu-card .tag{color:#651d32}
.tabs button[aria-selected="true"]{background:#651d32;border-color:#651d32}
.catering{background:#171313}
.catering-panel{box-shadow:14px 14px 0 #651d32}
.catering li:before,.catering-panel>p{color:#e30614}
.story:after{height:4px;width:150px;background:#651d32}
.reviews{background:#fcf2cd;color:#171313}
.google-rating{color:#171313}
.google-rating span{color:#e30614}
.review-grid blockquote{background:#fff;border-top:4px solid #651d32}
.rewards{background:#f7f3e8}
.mobile-order{background:#651d32}
.rewards-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px}.rewards-actions .button{color:#fff}.rewards-actions .text-link{white-space:nowrap}
.announcement strong{letter-spacing:.12em}.coming-soon{display:inline-grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 14px;background:#fcf2cd;color:#171313;padding:12px 18px;margin-bottom:24px;border-left:5px solid #e30614;box-shadow:0 8px 26px rgba(0,0,0,.18)}.coming-soon span{grid-row:1/3;font-size:.66rem;letter-spacing:.12em;font-weight:800;color:#e30614;writing-mode:vertical-rl;transform:rotate(180deg)}.coming-soon b{font-family:"Playfair Display",serif;font-size:1.4rem;line-height:1}.coming-soon small{font-size:.72rem;color:#651d32}.coming-soon+h1{margin-top:0}@media(max-width:560px){.coming-soon{padding:10px 13px;margin-bottom:18px}.coming-soon small{max-width:250px}.announcement span{display:none}.announcement{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-inline:12px}}

.home-shop {
  display: grid;
  grid-template-columns: 1.05fr 1.25fr .8fr;
  grid-template-rows: auto auto;
  gap: 20px;
  padding: 110px max(5vw, 32px);
  background: #f6f0e5;
  color: #171313;
  overflow: hidden;
}

.shop-intro { grid-row: 1 / 3; align-self: center; max-width: 510px; padding-right: 7%; }
.shop-intro h2, .social-copy h2 { font-family: "Playfair Display", serif; font-size: clamp(42px, 4.2vw, 66px); line-height: .98; margin: 14px 0 24px; }
.shop-intro > p:not(.eyebrow) { font-size: 18px; line-height: 1.7; color: #514846; margin-bottom: 32px; }
.shop-feature { position: relative; background: #fff; border-radius: 22px; overflow: hidden; min-height: 340px; box-shadow: 0 16px 40px rgba(35,24,23,.08); }
.shop-feature-large { grid-row: 1 / 3; display: grid; grid-template-rows: minmax(410px, 1fr) auto; }
.shop-feature-small { display: grid; grid-template-columns: 45% 55%; min-height: 250px; }
.shop-art { min-height: 230px; display: grid; place-items: center; background: #dcecf0; overflow: hidden; }
.shop-art img { width: 100%; height: 100%; object-fit: contain; padding: 18px; transition: transform .35s ease; }
.rollercoaster-art { background: #d6e8f0; }
.merch-card .shop-art { background: #f6e9e1; }
.merch-card .shop-art img { object-fit: cover; padding: 0; }
.shop-feature:hover .shop-art img { transform: scale(1.035) rotate(-1deg); }
.shop-card-copy { padding: 25px 28px 28px; align-self: center; }
.shop-card-copy span { color: #76223b; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.shop-card-copy h3 { font-family: "Playfair Display", serif; font-size: clamp(26px, 2.25vw, 38px); line-height: 1.05; margin: 8px 0 13px; }
.shop-card-copy p { color: #655957; line-height: 1.55; margin: 0 0 17px; }
.shop-card-copy a { color: #171313; font-weight: 700; text-decoration: none; border-bottom: 1px solid #171313; }

.social-callout { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 680px; background: #151314; color: #fff; }
.social-copy { align-self: center; padding: 90px max(5vw, 52px); }
.social-copy > p:not(.eyebrow) { color: #d7cdca; font-size: 18px; line-height: 1.65; max-width: 560px; }
.social-actions { display: grid; gap: 12px; margin-top: 34px; max-width: 540px; }
.social-button { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 15px; padding: 15px 18px; border: 1px solid rgba(255,255,255,.25); border-radius: 14px; color: #fff; text-decoration: none; transition: background .2s, transform .2s; }
.social-button:hover { background: #fff; color: #171313; transform: translateX(4px); }
.social-button > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #f3e7cf; color: #171313; font: 700 25px/1 "DM Sans", sans-serif; }
.social-button small, .social-button b { display: block; }
.social-button small { opacity: .72; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.social-button b { margin-top: 3px; font-size: 17px; }
.social-button i { font-style: normal; font-size: 22px; }
.social-poster { position: relative; display: flex; min-height: 680px; padding: 62px; flex-direction: column; justify-content: space-between; overflow: hidden; background: #d6e8f0; color: #171313; text-decoration: none; }
.social-poster::before { content: "@"; position: absolute; right: -4%; top: -16%; color: rgba(255,255,255,.48); font: 700 500px/1 "DM Sans", sans-serif; transform: rotate(8deg); }
.social-poster::after { content: ""; position: absolute; width: 220px; height: 220px; right: 9%; bottom: 10%; border: 2px solid rgba(23,19,19,.2); border-radius: 50%; }
.social-poster > img { position: relative; z-index: 1; width: 155px; height: auto; mix-blend-mode: multiply; }
.social-poster-copy { position: relative; z-index: 1; }
.social-poster-copy > span { display: block; margin-bottom: 22px; color: #76223b; font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.social-poster-copy strong { display: block; font-family: "Playfair Display", serif; font-size: clamp(52px, 6vw, 90px); line-height: .86; letter-spacing: -.04em; }
.social-poster-copy strong em { color: #76223b; }
.social-poster-copy > b { display: inline-block; margin-top: 34px; padding: 15px 20px; border: 2px solid #171313; border-radius: 999px; font-size: 18px; transition: background .2s, color .2s; }
.social-poster:hover .social-poster-copy > b { background: #171313; color: #fff; }
.social-poster > p { position: relative; z-index: 1; align-self: flex-end; margin: 0; text-align: right; font: 600 17px/1.45 "DM Sans", sans-serif; }

@media (max-width: 1100px) {
  .home-shop { grid-template-columns: 1fr 1fr; }
  .shop-intro { grid-column: 1 / 3; grid-row: auto; max-width: 760px; padding: 0 0 25px; }
  .shop-feature-large { grid-row: span 2; }
  .shop-feature-small { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .home-shop { display: block; padding: 72px 20px; }
  .shop-intro, .shop-feature { margin-bottom: 18px; }
  .shop-feature-large { display: block; }
  .shop-feature-small { grid-template-columns: 42% 58%; min-height: 220px; }
  .shop-intro h2, .social-copy h2 { font-size: 42px; }
  .social-callout { grid-template-columns: 1fr; }
  .social-copy { padding: 70px 22px 54px; }
  .social-poster { min-height: 520px; padding: 38px 24px; }
  .social-poster::before { font-size: 330px; }
  .social-poster > img { width: 125px; }
  .social-poster-copy strong { font-size: 58px; }
}

/* Readability, keyboard access, and responsive layout refinements. */
body{line-height:1.55}
[hidden]{display:none!important}
section[id]{scroll-margin-top:100px}
nav{gap:clamp(12px,1.7vw,26px)}
.skip-link{position:absolute;z-index:40;top:8px;left:16px;padding:12px 18px;background:#fff;color:#171313;transform:translateY(-200%);font-weight:700}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #651d32;outline-offset:4px}
.hero :focus-visible,.catering :focus-visible,.social-copy :focus-visible,footer :focus-visible{outline-color:#fcf2cd}
.hero{height:auto;min-height:700px;padding:60px 0 125px;display:grid;align-content:center}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.85) 43%,rgba(0,0,0,.7) 64%,rgba(0,0,0,.16) 100%)}
.hero-copy{position:relative;left:auto;right:auto;top:auto;transform:none;z-index:1;margin-left:clamp(26px,7vw,110px);margin-right:24px;max-width:660px}
h1{font-size:clamp(2.7rem,4.5vw,4.5rem);line-height:1.1;letter-spacing:-.03em;margin-bottom:24px}
.hero-copy>p:not(.eyebrow){max-width:575px}
.hero-copy .order-note{font-size:.875rem!important;line-height:1.5;margin:14px 0 0;color:#fff}
.hero-actions{gap:24px;margin-top:26px;flex-wrap:wrap}
.open-card{z-index:1;background:#fff;max-width:calc(100% - 40px)}
.open-card small{font-size:.875rem;color:#514846}
.eyebrow{font-size:.875rem;letter-spacing:.12em}
.announcement{height:auto;min-height:34px;font-size:.875rem;line-height:1.45}
.coming-soon b{line-height:1.2}
.coming-soon span,.coming-soon small{font-size:.875rem}
.coming-soon span{color:#651d32}
.coming-soon small{line-height:1.45}
.quick-paths small,.menu-card p,.catering-panel small,.rewards p,.hours p{color:#514846}
.menu-card .tag{font-size:.875rem;line-height:1.5;letter-spacing:.06em}
.menu-card p{font-size:1rem;line-height:1.6}
.menu-card .price{padding-top:20px}
.tabs button{font-family:inherit;font-size:1rem;font-weight:600;min-height:44px}
.catering .eyebrow,.catering li:before{color:#fcf2cd}
.catering-panel>p{color:#651d32;font-size:.875rem}
.catering-panel small,.hours p{font-size:.875rem}
.section-heading h2,.catering h2,.story h2,.rewards h2,.visit h2,.reviews-heading h2,.shop-intro h2,.social-copy h2{line-height:1.12}
.shop-card-copy span,.social-poster-copy>span,.review-grid cite{font-size:.875rem;line-height:1.5;letter-spacing:.07em}
.social-button small{opacity:1;font-size:.875rem;color:#d7cdca;letter-spacing:.05em}
.social-button:hover small{color:#514846}
.social-poster-copy strong{line-height:1.05}
.google-rating{text-align:right;font-weight:700;text-decoration:underline;text-underline-offset:5px;font-size:1rem}
.review-invitation{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:34px;padding-top:28px;border-top:1px solid #c5baa1}
.review-invitation p{max-width:600px;margin:0;color:#514846}
.review-invitation .button{flex-shrink:0}
.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(32px,5vw,80px);padding:90px clamp(24px,6vw,92px);max-width:1440px;margin:auto}
.faq h2{font-size:clamp(2.4rem,3.5vw,3.8rem);line-height:1.12;letter-spacing:-.035em;margin-bottom:24px}
.faq-intro>p:not(.eyebrow){font-size:1.0625rem;color:#514846;line-height:1.7}
.faq-list details{border-top:1px solid #ded8d5}
.faq-list details:last-child{border-bottom:1px solid #ded8d5}
.faq-list summary{cursor:pointer;padding:22px 0;font-size:1.125rem;font-weight:700;line-height:1.5}
.faq-list details>p{margin:0;padding:0 0 24px;font-size:1rem;line-height:1.75;color:#514846}
.faq-list a{color:#651d32;font-weight:600;text-underline-offset:3px}
footer{grid-template-columns:auto 1fr;gap:28px 40px}
.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:16px 22px}
.footer-links a{font-size:.875rem}
footer>p{font-size:.875rem;grid-column:1/-1;margin:0;color:#d7cdca}
.nav-toggle{cursor:pointer}
@media(max-width:900px){
  .hero{min-height:700px}
  .hero-copy{margin-left:25px;max-width:600px}
  .hero-shade{background:rgba(0,0,0,.84)}
  nav{gap:0}
  .google-rating{text-align:left}
  .review-invitation{align-items:flex-start;flex-direction:column}
  .faq{grid-template-columns:1fr;padding-block:70px;gap:20px}
  footer{grid-template-columns:1fr}
  .footer-links{justify-content:flex-start}
}
@media(max-width:560px){
  .hero{min-height:0;padding:38px 0 125px}
  .hero-copy{margin:0 22px}
  h1{font-size:clamp(2.25rem,9.5vw,3.25rem)}
  .hero-copy .eyebrow{font-size:.875rem;letter-spacing:.07em}
  .hero-copy>p:not(.eyebrow){font-size:1rem}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:14px}
  .coming-soon{grid-template-columns:1fr;padding:12px 14px;border-left:4px solid #651d32}
  .coming-soon span{grid-row:auto;writing-mode:horizontal-tb;transform:none;font-size:.75rem}
  .coming-soon b{font-size:1.2rem}
  .coming-soon small{max-width:none}
  .announcement{white-space:normal;overflow:visible;font-size:.75rem}
  .announcement span{display:inline;margin:0 5px}
  .open-card{left:20px;right:auto;bottom:24px}
  .shop-feature-small{grid-template-columns:1fr}
  .shop-feature-small .shop-art{min-height:220px;max-height:300px}
  .social-poster-copy strong{font-size:clamp(2.6rem,14vw,3.625rem)}
  footer{padding-bottom:105px}
  .mobile-order{padding-bottom:max(15px,env(safe-area-inset-bottom));font-size:.875rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
