:root{
  --blue:#07316f;
  --blue-2:#0b4da2;
  --navy:#061d42;
  --cream:#fff3df;
  --cream-2:#fffaf1;
  --gold:#d9943f;
  --red:#c5332f;
  --ink:#13243a;
  --muted:#66758a;
  --line:rgba(7,49,111,.14);
  --white:#fff;
  --shadow:0 24px 70px rgba(7,49,111,.16);
  --display:'Playfair Display', Georgia, serif;
  --body:'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--cream-2);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.32;background:radial-gradient(circle at 12% 8%,rgba(217,148,63,.20),transparent 30%),radial-gradient(circle at 82% 0%,rgba(7,49,111,.16),transparent 34%),linear-gradient(180deg,#f4f9ff 0%,#fff8ec 44%,#fff 100%);z-index:-2}
body:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");z-index:-1}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.skip-link{position:absolute;left:16px;top:-80px;z-index:999;background:var(--navy);color:#fff;padding:12px 16px;border-radius:999px}.skip-link:focus{top:16px}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.site-header{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:50;width:min(1180px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 12px;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.75);border-radius:999px;box-shadow:0 16px 45px rgba(7,49,111,.14);backdrop-filter:blur(18px);transition:all .28s var(--ease)}
.site-header.scrolled{top:8px;background:rgba(255,255,255,.96);box-shadow:0 12px 35px rgba(7,49,111,.12)}
.brand{display:flex;align-items:center;gap:10px;min-width:max-content;font-size:18px;font-weight:950;letter-spacing:-.035em;color:var(--blue)}
.brand-mark{display:block;width:52px;height:52px;border-radius:50%;object-fit:cover;background:#fff;border:3px solid #fff;box-shadow:0 8px 18px rgba(7,49,111,.18)}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{padding:11px 13px;border-radius:999px;font-size:14px;font-weight:850;color:#29435f;white-space:nowrap;transition:all .2s var(--ease)}
.nav-links a:hover{background:#edf6ff;color:var(--blue)}
.nav-links .nav-cta{background:var(--blue);color:#fff;padding-inline:17px;box-shadow:0 12px 28px rgba(7,49,111,.24)}
.nav-links .nav-cta.secondary{background:#fff;color:var(--blue);border:1px solid var(--line);box-shadow:none}
.nav-toggle{display:none;border:0;background:var(--blue);border-radius:50%;width:46px;height:46px;place-items:center;cursor:pointer}.nav-toggle span{display:block;width:18px;height:2px;margin:3px auto;background:#fff;border-radius:99px}
.section-pad{padding:clamp(64px,8vw,108px) 0}.hero{min-height:96vh;display:flex;align-items:center;position:relative;padding-top:132px;overflow:hidden}.hero-glow{position:absolute;inset:auto -10% -22% -10%;height:42%;background:linear-gradient(90deg,rgba(7,49,111,.08),rgba(217,148,63,.12));transform:skewY(-4deg)}
.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:64px}.eyebrow{margin:0 0 14px;color:var(--blue-2);font-size:12px;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.hero h1,.section-head h2,.menu-intro h2,.catering-copy h2,.visit-card h2{margin:0;color:var(--blue);font-family:var(--display);font-weight:900;letter-spacing:-.055em;line-height:.94}.hero h1{font-size:clamp(48px,6.6vw,86px)}.lead{max-width:650px;margin:24px 0 0;color:#465971;font-size:clamp(18px,1.7vw,21px);line-height:1.65}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;font-weight:950;border:1px solid transparent;white-space:nowrap;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--blue);color:#fff;box-shadow:0 15px 30px rgba(7,49,111,.25)}.btn.light{background:#fff;color:var(--blue);border-color:var(--line)}.btn.muted{background:rgba(255,255,255,.56);color:#647386;border-color:rgba(100,115,134,.2)}.btn.muted-dark{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.2);box-shadow:none}.trust-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.trust-strip span{padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--blue);font-size:13px;font-weight:900}.hero-media{position:relative;min-height:620px}.hero-photo{margin:0;position:absolute;background:#fff;border:10px solid #fff;border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}.hero-photo img{width:100%;height:100%;object-fit:cover}.main-photo{right:0;top:34px;width:74%;height:520px;transform:rotate(1.2deg)}.top-inset{left:0;top:0;width:45%;height:240px;transform:rotate(-4deg)}.bottom-inset{left:6%;bottom:38px;width:47%;height:260px;transform:rotate(3deg)}.hero-badge{position:absolute;right:32px;bottom:0;background:var(--red);color:#fff;border:8px solid #fff;border-radius:28px;padding:20px 24px;box-shadow:0 20px 45px rgba(197,51,47,.25);transform:rotate(-2deg)}.hero-badge strong{display:block;font-family:var(--display);font-size:31px;line-height:1}.hero-badge span{font-weight:900;font-size:14px;text-transform:uppercase;letter-spacing:.12em}.quick-info{background:var(--navy);color:#fff}.quick-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:1px;background:rgba(255,255,255,.16)}.quick-grid div{padding:22px 24px;background:var(--navy)}.quick-grid span{display:block;color:rgba(255,255,255,.62);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}.quick-grid strong{font-size:18px}.section-head{text-align:center;max-width:760px;margin:0 auto 40px}.section-head.left{text-align:left;margin:0}.section-head h2,.menu-intro h2,.catering-copy h2,.visit-card h2{font-size:clamp(38px,5vw,66px)}.section-head p:not(.eyebrow),.menu-intro p,.catering-copy p{color:#5f7187;font-size:18px;line-height:1.7}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:0 18px 48px rgba(7,49,111,.09);transition:.25s var(--ease)}.feature-card:hover{transform:translateY(-5px)}.feature-card img{width:100%;height:210px;object-fit:cover}.feature-card div{padding:22px}.card-kicker{margin:0 0 8px;color:var(--gold);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.13em}.feature-card h3,.price-panel h3,.special-card h3{margin:0;color:var(--blue);font-size:22px;letter-spacing:-.025em}.feature-card p:not(.card-kicker),.special-card p{color:var(--muted);line-height:1.6}.menu-section{background:linear-gradient(135deg,#fff,#eaf4ff);border-block:1px solid var(--line)}.menu-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:36px;align-items:start}.menu-intro{position:sticky;top:110px}.menu-intro .btn{margin-top:10px}.menu-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-panel{background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 18px 45px rgba(7,49,111,.08)}.price-panel h3{margin-bottom:16px}.price-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.price-list li{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline;padding-bottom:11px;border-bottom:1px dashed rgba(7,49,111,.18)}.price-list li:last-child{border-bottom:0;padding-bottom:0}.price-list span{color:#334b65}.price-list b{color:var(--blue);font-weight:950}.specials-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:center}.special-cards{display:grid;gap:16px}.special-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:0 18px 45px rgba(7,49,111,.08)}.promo-card img{width:100%;max-height:230px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:20px;margin-bottom:18px}.special-card span{display:inline-grid;place-items:center;width:38px;height:38px;background:var(--cream);border-radius:50%;color:var(--blue);font-weight:950;margin-bottom:16px}.catering{background:var(--navy);color:#fff}.catering-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);border-radius:42px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.16)}.catering-image img{height:420px;width:100%;object-fit:cover;border-radius:30px}.catering-copy{padding:20px}.catering-copy h2,.catering-copy .eyebrow{color:#fff}.catering-copy p{color:rgba(255,255,255,.76)}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}.visit-photo,.visit-card{border-radius:36px;overflow:hidden;box-shadow:var(--shadow)}.visit-photo img{height:100%;min-height:520px;width:100%;object-fit:cover}.visit-card{background:#fff;border:1px solid var(--line);padding:clamp(28px,4vw,46px)}.info-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 4px}.info-list div{padding:16px;border:1px solid var(--line);border-radius:20px;background:#f8fbff}.info-list span{display:block;color:var(--muted);font-size:12px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.info-list strong{color:var(--blue);line-height:1.35}.footer{background:#051832;color:#fff;padding:46px 0}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:28px}.footer-logo{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#fff;border:3px solid rgba(255,255,255,.9);margin-bottom:14px;box-shadow:0 14px 28px rgba(0,0,0,.18)}.footer p{font-weight:900;line-height:1.45;margin:0}.footer span,.footer a{display:block;color:rgba(255,255,255,.72);line-height:1.7}.footer strong{display:block;margin-bottom:10px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
@media (max-width:1040px){.menu-panels{grid-template-columns:1fr 1fr}.nav-links a:not(.nav-cta){display:none}.hero-grid,.menu-layout,.specials-grid,.catering-panel,.visit-grid{grid-template-columns:1fr}.menu-intro{position:static}.hero-media{min-height:560px}.quick-grid{grid-template-columns:1fr}.card-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.container{width:min(100% - 28px,1180px)}.site-header{top:8px;width:calc(100% - 18px);border-radius:26px}.brand span{font-size:16px}.brand-mark{width:44px;height:44px}.nav-toggle{display:block}.nav-links{position:absolute;display:none;left:0;right:0;top:64px;flex-direction:column;align-items:stretch;padding:16px;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links a,.nav-links a:not(.nav-cta){display:block;text-align:center}.hero{min-height:auto;padding-top:104px}.hero-grid{gap:28px}.hero h1{font-size:43px;line-height:1.02}.lead{font-size:16px;line-height:1.58;margin-top:18px}.hero-actions{gap:9px}.hero-actions .btn{width:100%;min-height:50px}.trust-strip span{font-size:12px}.hero-media{min-height:390px}.main-photo{width:82%;height:325px;top:28px;border-width:7px;border-radius:26px}.top-inset{width:43%;height:145px;border-width:6px;border-radius:22px}.bottom-inset{width:49%;height:160px;bottom:8px;border-width:6px;border-radius:22px}.hero-badge{right:4px;bottom:0;border-width:6px;border-radius:22px;padding:14px 16px}.hero-badge strong{font-size:23px}.hero-badge span{font-size:11px}.section-pad{padding:58px 0}.quick-grid div{padding:18px}.section-head{margin-bottom:26px}.section-head h2,.menu-intro h2,.catering-copy h2,.visit-card h2{font-size:38px;line-height:1.03}.card-grid,.menu-panels,.info-list,.footer-grid{grid-template-columns:1fr}.feature-card img{height:190px}.price-panel{padding:20px}.catering-panel{padding:14px;border-radius:30px}.catering-image img{height:260px;border-radius:22px}.catering-copy{padding:12px 8px 18px}.visit-photo img{min-height:310px}.visit-card{padding:26px;border-radius:30px}.footer{padding:36px 0}.footer-grid{gap:22px}}
.expandable-image{cursor:zoom-in}.expandable-image:focus-visible{outline:4px solid rgba(11,77,162,.35);outline-offset:4px}.lightbox-open{overflow:hidden}.image-lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(5,24,50,.86);backdrop-filter:blur(12px)}.image-lightbox.open{display:flex}.image-lightbox img{max-width:min(100%,980px);max-height:86vh;width:auto;height:auto;object-fit:contain;border-radius:22px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.42)}.image-lightbox p{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);max-width:min(92vw,780px);margin:0;color:#fff;text-align:center;font-size:14px;font-weight:850;text-shadow:0 2px 12px rgba(0,0,0,.45)}.lightbox-close{position:fixed;top:16px;right:16px;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:34px;line-height:1;cursor:pointer}.lightbox-close:hover{background:rgba(255,255,255,.24)}
.expandable-card{cursor:zoom-in}.expandable-card:focus-visible{outline:4px solid rgba(11,77,162,.35);outline-offset:4px}@media (max-width:720px){.hero-copy>.eyebrow{display:none}.hero{padding-top:126px}}
