:root{
  --cream:#fff7e8;
  --paper:#fffdf8;
  --navy:#102a43;
  --blue:#1f5e7a;
  --pink:#ef5b8d;
  --pink-dark:#d9467b;
  --gold:#d9a441;
  --ink:#13202b;
  --muted:#66727d;
  --line:rgba(16,42,67,.14);
  --shadow:0 18px 50px rgba(16,42,67,.12);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:10px;background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;z-index:999}.skip-link:focus{left:10px}
.topbar{background:var(--navy);color:#fff;text-align:center;padding:8px 16px;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,247,232,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}
.brand{text-decoration:none;display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:#fff;font-size:1.45rem;box-shadow:0 6px 0 rgba(16,42,67,.13)}.brand-word{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;color:var(--navy);font-weight:800;line-height:1}.brand-word span{color:var(--pink)}
.nav-links{display:flex;align-items:center;gap:8px}.nav-links a{text-decoration:none;padding:10px 12px;border-radius:999px;font-weight:700;color:var(--navy)}.nav-links a:hover,.nav-links a[aria-current="page"]{background:#fff;color:var(--pink-dark)}
.nav-cta{background:var(--pink)!important;color:#fff!important;box-shadow:0 8px 20px rgba(239,91,141,.25)}
.menu-toggle{display:none;border:0;background:var(--navy);color:#fff;border-radius:12px;padding:10px 13px;font-weight:800}
.hero{padding:48px 0 32px;overflow:hidden;position:relative}.hero:before,.hero:after{content:"✦";position:absolute;color:var(--pink);font-size:5rem;opacity:.16}.hero:before{left:2vw;top:28px}.hero:after{right:2vw;bottom:20px}
.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:42px}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:var(--pink-dark);margin-bottom:10px}.hero h1,.page-hero h1{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:clamp(3.2rem,7vw,6.6rem);line-height:.88;letter-spacing:-.05em;margin:0}.hero h1 em{color:var(--pink);font-style:normal}.hero-copy{font-size:1.17rem;color:#394754;max-width:650px;margin:24px 0}.button-row{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 20px;text-decoration:none;font-weight:900;border:2px solid transparent;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--pink);color:#fff;box-shadow:0 12px 26px rgba(239,91,141,.28)}.btn-secondary{background:#fff;border-color:var(--navy);color:var(--navy)}.btn-dark{background:var(--navy);color:#fff}
.hero-card{position:relative;border-radius:32px;overflow:hidden;box-shadow:var(--shadow);background:#fff;border:1px solid var(--line)}.hero-card img{width:100%;aspect-ratio:1.55;object-fit:cover}.hero-badge{position:absolute;right:20px;bottom:20px;background:var(--navy);color:#fff;border-radius:18px;padding:14px 16px;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.18)}.hero-badge span{display:block;color:#ffd9e6;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.trust-strip{padding:12px 0 30px}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.trust-item{background:rgba(255,255,255,.62);border:1px solid var(--line);border-radius:18px;padding:16px;text-align:center;font-weight:800;color:var(--navy)}.trust-item b{display:block;color:var(--pink);font-size:1.25rem}
.section{padding:72px 0}.section-tight{padding:46px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.section h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:clamp(2.3rem,5vw,4.1rem);line-height:.98;letter-spacing:-.035em;margin:0}.section-lede{max-width:660px;color:var(--muted);font-size:1.07rem;margin:12px 0 0}.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.17em;color:var(--pink-dark);font-weight:900;margin-bottom:8px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 10px 28px rgba(16,42,67,.07)}.card h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:1.55rem;margin:4px 0 8px}.card p{color:var(--muted);margin:0}.price{font-weight:950;color:var(--pink-dark);font-size:1.55rem;margin-top:12px}.micro{font-size:.87rem;color:var(--muted)}
.food-card{padding:0;overflow:hidden}.food-card .food-visual{height:185px;background:linear-gradient(135deg,#ffe8ef,#eef7fa);display:grid;place-items:center;font-size:4.2rem}.food-card .card-body{padding:22px}.food-meta{display:flex;justify-content:space-between;gap:12px;align-items:start}.tag{display:inline-flex;padding:6px 9px;border-radius:999px;background:#f7d8e4;color:#8c234c;font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.band{background:var(--navy);color:#fff}.band h2,.band h3{color:#fff}.band .section-lede,.band p{color:#d8e3ec}.band .tag{background:#fff2f7;color:var(--pink-dark)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.media-frame{border-radius:30px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:#fff}.media-frame img{width:100%;height:100%;object-fit:cover}.bullet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.bullet{background:#fff;border:1px solid var(--line);padding:14px;border-radius:16px;font-weight:750;color:var(--navy)}
.callout{background:linear-gradient(135deg,var(--pink),#ff7aa5);color:#fff;border-radius:32px;padding:42px;position:relative;overflow:hidden}.callout:after{content:"✦";position:absolute;right:30px;top:16px;font-size:8rem;opacity:.17}.callout h2{color:#fff}.callout p{color:#fff;max-width:720px}.callout .btn-secondary{border-color:#fff;color:#fff;background:transparent}
.page-hero{padding:62px 0 42px;background:linear-gradient(180deg,#fff2f6 0,var(--cream) 100%)}.page-hero p{max-width:760px;font-size:1.15rem;color:var(--muted)}
.menu-section{margin-bottom:50px}.menu-title-row{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:2px solid var(--navy);padding-bottom:12px;margin-bottom:18px}.menu-title-row h2{font-size:2.25rem}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px}.menu-item{display:grid;grid-template-columns:1fr auto;gap:10px;border-bottom:1px dashed rgba(16,42,67,.2);padding:14px 0}.menu-item h3{margin:0;color:var(--navy);font-size:1.06rem}.menu-item p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.94rem}.menu-item .price{margin:0;font-size:1.05rem;white-space:nowrap}.menu-note{background:#fff;border:1px solid var(--line);padding:16px 18px;border-radius:16px;color:var(--muted)}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.package{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;position:relative}.package.featured{border:3px solid var(--pink);transform:translateY(-8px);box-shadow:var(--shadow)}.package ul{padding-left:20px;color:var(--muted)}.package .price{font-size:2rem}.package-badge{position:absolute;right:18px;top:18px;background:var(--pink);color:#fff;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.visit-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}.info-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px}.info-panel h3{color:var(--navy);margin-top:0;font-size:1.5rem}.contact-list{display:grid;gap:12px}.contact-list a{text-decoration:none;border:1px solid var(--line);padding:14px 16px;border-radius:14px;font-weight:800;color:var(--navy);background:#fff}.contact-list a:hover{border-color:var(--pink);color:var(--pink-dark)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-weight:800;color:var(--navy);font-size:.9rem}.field input,.field select,.field textarea{width:100%;border:1.5px solid rgba(16,42,67,.2);border-radius:13px;padding:12px 13px;background:#fff;font:inherit;color:var(--ink)}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(239,91,141,.18);border-color:var(--pink)}
.notice{background:#fff6cc;border:1px solid #edcf58;border-radius:14px;padding:13px 15px;color:#68530b;font-size:.9rem}
.footer{background:#0a2134;color:#d9e3ec;padding:48px 0 24px;margin-top:70px}.footer-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:34px}.footer h3{color:#fff;margin-top:0}.footer a{color:#d9e3ec;text-decoration:none}.footer a:hover{color:#fff}.footer-nav{display:grid;gap:8px}.footer-brand{font-family:Georgia,"Times New Roman",serif;color:#fff;font-size:2.1rem;font-weight:800}.footer-brand span{color:var(--pink)}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:.86rem;color:#aebdca}
.stars{letter-spacing:.35em;color:var(--pink);font-size:1.3rem}.center{text-align:center}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.pill{background:#fff;border:1px solid var(--line);padding:8px 11px;border-radius:999px;font-size:.84rem;font-weight:800;color:var(--navy)}
.reveal{opacity:0;transform:translateY(10px);transition:.45s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:20px;right:20px;top:70px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{text-align:center}.hero-grid,.split,.visit-grid{grid-template-columns:1fr}.hero-copy{font-size:1.06rem}.hero-card{order:-1}.trust-grid{grid-template-columns:1fr 1fr}.cards,.package-grid{grid-template-columns:1fr 1fr}.package.featured{transform:none}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:620px){.container{width:min(100% - 26px,1180px)}.hero{padding-top:26px}.hero h1,.page-hero h1{font-size:clamp(2.75rem,15vw,4.5rem)}.section{padding:52px 0}.section-head{align-items:start;flex-direction:column}.cards,.package-grid,.menu-grid,.form-grid,.bullet-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.trust-grid{grid-template-columns:1fr 1fr}.callout{padding:28px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.hero-badge{position:static;border-radius:0}.menu-title-row{align-items:start;flex-direction:column}.brand-word{font-size:1.35rem}}

/* v3 visual cleanup */
.hero-copy-block{position:relative;z-index:2}.hero-micro{margin-top:16px;color:var(--muted)}
.visual-home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.home-tile{position:relative;display:block;overflow:hidden;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(16,42,67,.09);text-decoration:none;min-height:320px}.home-tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.home-tile:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(7,25,39,.94))}.home-tile span{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;color:#fff}.home-tile b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1.05}.home-tile small{display:block;margin-top:6px;font-weight:800;opacity:.92}.home-tile:hover{transform:translateY(-3px);transition:.2s}
.menu-preview{max-height:650px;background:#fff}.menu-preview img{width:100%;height:100%;object-fit:contain;background:#fff}
.menu-hero{padding-top:46px}.menu-hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:34px;align-items:start}.menu-poster-link{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:var(--shadow);position:relative}.menu-poster-link img{width:100%;height:auto}.menu-poster-link span{display:block;background:var(--navy);color:#fff;text-align:center;padding:12px;font-weight:900;letter-spacing:.03em}
.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.visual-card{display:grid;grid-template-columns:42% 58%;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 12px 28px rgba(16,42,67,.08);min-height:260px}.visual-card img{width:100%;height:100%;object-fit:cover}.visual-card>div{padding:22px}.visual-card h2{font-size:1.7rem;margin:10px 0 8px}.visual-card p{color:var(--muted);margin:0}.visual-card strong{display:block;color:var(--pink-dark);font-size:1.45rem;margin-top:12px}
.flavour-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.flavour-block{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.flavour-block h3{margin:0 0 8px;color:var(--navy);font-size:1.25rem}.flavour-block p{margin:0;color:var(--muted);font-weight:650;line-height:1.75}.flavour-block.premium{background:#fff1f6;border-color:#f3b5cb}.strong-note{font-size:.96rem}
.market-menu-mini{display:grid;gap:7px;margin-top:22px}.market-menu-mini>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px dashed rgba(16,42,67,.22);color:var(--navy)}.market-menu-mini span{color:var(--pink-dark);font-weight:950;white-space:nowrap}

@media(max-width:1000px){.visual-home-grid{grid-template-columns:repeat(2,1fr)}.menu-hero-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}}
@media(max-width:900px){.hero-card{order:initial}.menu-preview{max-height:none}}
@media(max-width:620px){
  .hero{padding-top:28px}.hero-grid{gap:22px}.hero-card{order:initial;border-radius:22px}.hero-card img{aspect-ratio:1.35}.hero h1{font-size:clamp(3.2rem,16vw,4.7rem)}.hero-copy{margin:18px 0}.button-row .btn{flex:1 1 auto}.hero-micro{font-size:.78rem}
  .visual-home-grid{grid-template-columns:1fr 1fr;gap:10px}.home-tile{min-height:230px;border-radius:18px}.home-tile b{font-size:1.2rem}.home-tile span{left:13px;right:13px;bottom:13px}.home-tile small{font-size:.72rem}
  .menu-hero{padding-top:34px}.menu-hero-grid{gap:22px}.menu-poster-link{border-radius:18px}
  .visual-card{grid-template-columns:1fr;min-height:0}.visual-card img{height:230px}.visual-card>div{padding:18px}.visual-card h2{font-size:1.5rem}
  .flavour-columns{grid-template-columns:1fr}.flavour-block p{line-height:1.65}
  .market-menu-mini>div{font-size:.9rem}
}

/* v3.1 contrast fix: cards placed on navy bands keep light card backgrounds with dark readable text */
.band .card{background:var(--paper);color:var(--ink)}
.band .card h3{color:var(--navy)}
.band .card p{color:var(--muted)}

/* V3.3 calmer homepage menu flow */
.calm-menu-section{padding-top:56px;padding-bottom:58px}
.calm-menu-head{max-width:700px;margin-bottom:26px}
.signature-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:0;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 14px 34px rgba(16,42,67,.08)}
.signature-media{min-height:360px;background:#eee}
.signature-media img{width:100%;height:100%;object-fit:cover;display:block}
.signature-copy{padding:34px;display:flex;flex-direction:column;justify-content:center}
.signature-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:12px 0 14px}
.signature-title-row h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:clamp(2rem,4vw,3.2rem);line-height:1;margin:0}
.signature-title-row strong{color:var(--pink-dark);font-size:1.5rem;white-space:nowrap}
.signature-copy p{color:var(--muted);font-size:1.02rem;line-height:1.65;margin:0 0 18px}
.text-link{font-weight:900;color:var(--navy);text-decoration:none}.text-link:hover{text-decoration:underline}
.category-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.category-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:#fff;text-decoration:none;color:var(--navy);box-shadow:0 6px 18px rgba(16,42,67,.04)}
.category-row b{display:block;font-size:1rem}.category-row small{display:block;margin-top:5px;color:var(--muted);font-weight:700;line-height:1.35}.category-row i{font-style:normal;font-size:1.4rem;color:var(--pink-dark)}
.menu-poster-section{background:#fffaf0;padding-top:58px}
.menu-poster-wrap{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:42px;align-items:center}
.menu-poster-copy h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:clamp(2.2rem,5vw,3.8rem);line-height:1;margin:0}
.menu-poster-copy .button-row{margin-top:22px}
.menu-poster-section .menu-preview{display:block;text-decoration:none}
@media(max-width:760px){
  .calm-menu-section{padding-top:42px;padding-bottom:44px}
  .calm-menu-head{margin-bottom:20px}
  .calm-menu-head h2{font-size:2.55rem}
  .signature-feature{grid-template-columns:1fr;border-radius:22px}
  .signature-media{min-height:260px;max-height:320px}
  .signature-copy{padding:24px 22px 26px}
  .signature-title-row h3{font-size:2.25rem}
  .category-list{grid-template-columns:1fr;gap:9px;margin-top:12px}
  .category-row{padding:15px 17px;border-radius:15px}
  .menu-poster-wrap{grid-template-columns:1fr;gap:22px}
  .menu-poster-copy h2{font-size:2.55rem}
  .menu-poster-copy .section-lede{margin-top:8px}
}

/* V3.4 single-feature homepage visual */
.market-feature-section{padding-top:58px;padding-bottom:64px;background:#fffaf0}
.market-feature-head{max-width:760px;margin-bottom:24px}
.market-feature-head h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.03;margin:0}
.market-feature-image{display:block;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 16px 40px rgba(16,42,67,.09);text-decoration:none}
.market-feature-image img{width:100%;height:auto;display:block}
.market-feature-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
@media(max-width:620px){
  .market-feature-section{padding-top:44px;padding-bottom:48px}
  .market-feature-head{margin-bottom:18px}
  .market-feature-head h2{font-size:2.55rem}
  .market-feature-image{border-radius:18px}
  .market-feature-actions .btn{flex:1 1 auto}
}


/* V3.6 calmer market layout */
.market-layout{align-items:start}
.market-board{display:grid;gap:14px;margin-top:22px}
.market-group{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px 20px;box-shadow:0 8px 22px rgba(16,42,67,.05)}
.market-group h3{margin:0 0 10px;color:var(--navy);font-size:1.22rem}
.market-group p{margin:0;color:var(--muted)}
.market-highlight{background:linear-gradient(180deg,#fff7fa 0%,#fff 100%);border-color:rgba(217,70,123,.2)}
.market-highlight h3{margin-top:10px}
.market-item{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:10px 0;border-bottom:1px dashed rgba(16,42,67,.18);color:var(--navy)}
.market-item:last-child{border-bottom:none;padding-bottom:0}
.market-item b{font-size:1rem}
.market-item span{color:var(--pink-dark);font-weight:950;white-space:nowrap;font-size:1.05rem}
.market-item.feature{padding-top:14px}
.market-flavour-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.market-flavour-row span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#fff1f6;border:1px solid #f4bfd1;color:#8c234c;font-size:.82rem;font-weight:900}
@media(max-width:620px){
  .market-board{gap:12px}
  .market-group{padding:16px 16px 17px;border-radius:18px}
  .market-group h3{font-size:1.1rem}
  .market-item{padding:9px 0;font-size:.95rem}
  .market-flavour-row span{font-size:.78rem;padding:7px 10px}
}

/* V10 final mobile flow refinement */
@media(max-width:620px){
  .calm-menu-section{padding-bottom:24px}
  .market-feature-section{padding-top:24px}
}

/* V10.1 iPhone safe-area fix: keep announcement bar below browser/status inset */
@supports (padding-top: env(safe-area-inset-top)) {
  .topbar { padding-top: calc(8px + env(safe-area-inset-top)); }
}
