
:root{
  --navy:#063a51;--navy-2:#0a4d6a;--sky:#dfeef5;--sand:#f6f1e8;--paper:#fff;
  --ink:#17212a;--muted:#63707a;--line:#d9e2e8;--accent:#d84a2a;--gold:#d8a94a;
  --shadow:0 18px 45px rgba(4,47,66,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#f8fbfd 0,#fff 480px);color:var(--ink);font:16px/1.72 Arial,Helvetica,sans-serif}
a{color:#1178ba;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.site-shell{max-width:1320px;margin:auto;padding:0 22px}
.masthead{background:var(--navy);color:#fff}
.masthead .site-shell{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font:700 32px/1 Georgia,serif;color:#fff}
.brand small{display:block;font:11px Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#b9dbea;margin-top:6px}
.topnav{display:flex;flex-wrap:wrap;gap:7px}
.topnav a{color:#fff;padding:10px 12px;border-radius:999px;font-weight:700;font-size:14px}
.topnav a:hover{background:rgba(255,255,255,.10);text-decoration:none}
.hero{background:radial-gradient(circle at 82% 12%,rgba(255,255,255,.14),transparent 28%),linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}
.hero-grid{max-width:1320px;margin:auto;padding:54px 22px;display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}
.hero h1{font:700 56px/1.05 Georgia,serif;margin:10px 0 18px}
.hero p{font-size:18px;color:#e8f2f6;max-width:720px}
.kicker{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:#f0c879}
.hero-media{position:relative}
.hero-media img{border-radius:22px;box-shadow:var(--shadow);display:block}
.hero-badge{position:absolute;right:18px;bottom:18px;background:#fff;color:var(--navy);padding:12px 15px;border-radius:12px;font-weight:800;box-shadow:var(--shadow)}
.breadcrumb{font-size:13px;color:#d8e8ef;margin-bottom:12px}
.breadcrumb a{color:#fff}
.section{max-width:1320px;margin:auto;padding:52px 22px}
.section.split{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;align-items:start}
.editorial{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:34px}
.editorial h2{font:700 34px/1.2 Georgia,serif;color:var(--navy);margin-top:0}
.editorial h3{font:700 24px/1.25 Georgia,serif;color:var(--navy)}
.editorial p:first-of-type{font-size:18px}
.pullquote{margin:28px 0;padding:20px 24px;border-left:5px solid var(--accent);background:#fbf5f2;font:italic 22px/1.55 Georgia,serif;color:#503327}
.context-link{background:#eef7fb;border:1px solid #cfe4ee;padding:15px 17px;border-radius:12px;margin:20px 0}
.context-link strong{color:var(--navy)}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}
.story{background:#f8fbfd;border:1px solid var(--line);border-radius:14px;padding:18px}
.story strong{display:block;color:var(--navy);margin-bottom:5px}
.discovery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.discovery a{display:block;background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:0 8px 22px rgba(4,47,66,.05);font-weight:800}
.discovery a span{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:5px}
.discovery a:hover{text-decoration:none;transform:translateY(-2px)}
.blogroll{position:sticky;top:18px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.blogroll-head{padding:24px;background:linear-gradient(135deg,#0b516f,#07394f);color:#fff}
.blogroll-head small{display:block;text-transform:uppercase;letter-spacing:.16em;color:#bfe2ef}
.blogroll-head h2{font:700 28px/1.1 Georgia,serif;margin:6px 0}
.blogroll-head p{margin:0;color:#e6f1f5;font-size:14px}
.blogroll ul{list-style:none;padding:10px 18px 20px;margin:0}
.blogroll li+li{border-top:1px solid var(--line)}
.blogroll a{display:flex;justify-content:space-between;padding:15px 6px;font-weight:800}
.blogroll a:after{content:"↗";color:var(--accent)}
.blogroll a:hover{padding-left:10px;text-decoration:none;background:#f7fbfd}
.restaurant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.restaurant-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(4,47,66,.06)}
.restaurant-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.restaurant-card .body{padding:15px}
.restaurant-card h3{margin:0 0 7px;font-size:20px}
.restaurant-card p{font-size:14px;color:var(--muted);margin:0}
.map-panel{background:#8b8b8b;min-height:460px;border-radius:18px;display:grid;place-items:center;color:#fff}
.spinner{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.35);border-top-color:#fff}
.subhero{background:linear-gradient(135deg,#e8f3f8,#fff);border-bottom:1px solid var(--line)}
.subhero .site-shell{padding-top:38px;padding-bottom:38px}
.subhero h1{font:700 44px/1.1 Georgia,serif;color:var(--navy);margin:6px 0}
.subhero p{max-width:850px;color:#52616c}
.footer{background:#062f42;color:#dbe8ee;margin-top:60px}
.footer .site-shell{padding-top:34px;padding-bottom:34px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer a{color:#fff;margin-right:14px}
@media(max-width:980px){
  .hero-grid,.section.split{grid-template-columns:1fr}.blogroll{position:static}.restaurant-grid,.discovery,.story-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .masthead .site-shell{align-items:flex-start;flex-direction:column;padding-top:18px;padding-bottom:18px}
  .hero h1{font-size:39px}.restaurant-grid,.discovery,.story-grid{grid-template-columns:1fr}.section{padding:34px 16px}
}
