:root{--bg:#2c1721;--ink:#fff1e8;--muted:#d5b4b6;--accent:#d86b73;--paper:#fff;--font:'Lato', sans-serif;--display:'Italiana', serif;--line:color-mix(in srgb,var(--ink) 18%,transparent)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.site-header{height:84px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{font-family:var(--display);font-size:1.4rem;font-weight:700}.site-header nav{display:flex;gap:32px;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.site-header nav a:hover{color:var(--accent)}.menu-link{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.menu-link span{color:var(--accent);margin-left:8px}.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,96px);padding:clamp(48px,7vw,110px) clamp(20px,7vw,110px);align-items:center}.hero-copy{max-width:760px}.eyebrow,.section-number,.location{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:var(--accent)}h1,h2,h3{font-family:var(--display);line-height:1.02;margin:0}h1{font-size:clamp(3.8rem,8.4vw,9rem);letter-spacing:-.055em;max-width:900px}.deck{font-size:clamp(1.15rem,2vw,1.55rem);max-width:650px;color:var(--muted);margin:28px 0 36px}.hero-cta,.visit{display:inline-flex;align-items:center;gap:16px;font-weight:700;border-bottom:2px solid var(--accent);padding:8px 0}.hero-visual{height:min(68vw,720px);min-height:480px;position:relative;overflow:hidden}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--ink) 45%,transparent))}.stamp{position:absolute;z-index:2;right:24px;bottom:24px;width:118px;height:118px;border-radius:50%;background:var(--accent);color:#fff;display:flex;justify-content:center;align-items:center;gap:8px;transform:rotate(-7deg)}.stamp b{font-family:var(--display);font-size:3.2rem;line-height:1}.stamp span{font-size:.67rem;line-height:1.15;text-transform:uppercase;letter-spacing:.08em}.section{padding:clamp(72px,10vw,150px) clamp(20px,7vw,110px)}.intro{display:grid;grid-template-columns:1fr 2.2fr;gap:60px;border-top:1px solid var(--line)}h2{font-size:clamp(2.8rem,6vw,6.8rem);letter-spacing:-.045em}.intro>div{max-width:1050px}.intro .lead{font-size:clamp(1.35rem,2.5vw,2.2rem);line-height:1.4;margin:38px 0 24px}.intro>div>p:last-child{max-width:720px;color:var(--muted)}.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;gap:30px;margin-bottom:48px}.section-heading h2{font-size:clamp(3rem,5vw,5.5rem)}.section-heading>p:last-child{color:var(--muted);margin:0}.table-wrap{overflow-x:auto;border-top:2px solid var(--ink)}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;padding:20px 14px;border-bottom:1px solid var(--line)}th{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}td:nth-child(2){font-family:var(--display);font-size:1.3rem}td small{display:block;font-family:var(--font);font-size:.68rem;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.rank{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;font-size:.75rem}.score-line{display:block;margin-top:8px;height:3px;width:80px;background:linear-gradient(90deg,var(--accent) var(--score),var(--line) var(--score))}.method{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(48px,8vw,130px);background:color-mix(in srgb,var(--ink) 5%,var(--bg))}.method-title h2{font-size:clamp(3rem,5.5vw,6rem);margin:16px 0 28px}.method-title>p:last-child{max-width:600px;color:var(--muted)}.criteria{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.criteria li{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}.criteria li>span{color:var(--accent);font-size:.72rem;letter-spacing:.12em}.criteria h3{font-size:1.45rem;margin-bottom:6px}.criteria p{margin:0;color:var(--muted)}.restaurant-list{border-top:1px solid var(--line)}.restaurant{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,7vw,110px);padding:64px 0;border-bottom:1px solid var(--line);align-items:center}.restaurant:nth-child(even){grid-template-columns:1.15fr .85fr}.restaurant:nth-child(even) .restaurant-image{order:2}.restaurant-image{height:clamp(340px,45vw,620px);position:relative;overflow:hidden}.restaurant-image>span{position:absolute;left:18px;top:18px;background:var(--bg);color:var(--ink);padding:8px 12px;font-weight:700}.restaurant-copy{max-width:620px}.restaurant-copy h3{font-size:clamp(2.6rem,5vw,5rem);margin:10px 0 22px}.restaurant-copy>p:not(.location){color:var(--muted);font-size:1.08rem}.restaurant-copy ul{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:24px 0}.restaurant-copy li{border:1px solid var(--line);padding:7px 12px;border-radius:999px;font-size:.75rem}.editor-note{padding-left:18px;border-left:3px solid var(--accent)}.visit{margin-top:14px}.planning{margin:0 clamp(20px,7vw,110px) clamp(60px,8vw,120px);padding:clamp(48px,7vw,90px);background:var(--accent);color:#fff}.planning .eyebrow{color:inherit;opacity:.75}.planning h2{max-width:900px}.planning ul{columns:2;column-gap:50px;margin:40px 0 0;padding-left:22px}.planning li{margin-bottom:12px}footer{padding:40px clamp(20px,7vw,110px);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:24px;font-size:.8rem;color:var(--muted)}footer p{margin:0}footer p:last-child{text-align:right}

/* Individual art direction */
.coast-nav .weather{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.coast-nav nav{margin-left:auto}.beach-hero{background:linear-gradient(120deg,#fff8df 0 46%,transparent 46%);position:relative;overflow:hidden}.sun-disc{position:absolute;width:420px;height:420px;border-radius:50%;background:#ffcd77;left:-150px;bottom:-160px}.beach-hero .hero-copy{z-index:1}.theme-coastal .hero-visual{border-radius:220px 220px 12px 12px}.beach-hero .hero-visual p{position:absolute;bottom:10px;left:22px;z-index:3;background:white;padding:8px 12px;font-size:.7rem}.theme-coastal .stamp{background:#123c44}.theme-coastal .intro{background:#fff8df}.theme-coastal .restaurant-list{display:grid;gap:24px}.beach-entry,.beach-entry:nth-child(even){grid-template-columns:80px .8fr 1.2fr;padding:24px;background:#ffffff80;border:0;border-radius:22px}.beach-entry .beach-number{writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}.beach-entry .restaurant-image{height:420px;border-radius:12px 140px 12px 12px}.beach-entry:nth-child(even) .restaurant-image{order:0}.theme-coastal .planning{border-radius:32px}
.love-nav .monogram{width:40px;height:40px;border:1px solid #ffffff40;border-radius:50%;display:grid;place-items:center;font-family:var(--display)}.love-nav .brand{position:absolute;left:50%;transform:translateX(-50%)}.love-hero{background:radial-gradient(circle at 70% 45%,#642f3c,transparent 40%);grid-template-columns:.9fr 1.1fr}.love-hero .hero-copy{position:relative}.script-mark{font-family:var(--display);font-size:1.6rem;font-style:italic;color:var(--accent)}.theme-romance .hero-visual{border-radius:50% 50% 6px 6px}.theme-romance .hero-visual img{filter:saturate(.72) sepia(.12)}.romance-intro{text-align:center;display:block}.romance-intro>p:first-child{margin-bottom:30px}.romance-intro>div{margin:auto}.theme-romance .restaurant-list{display:grid;grid-template-columns:repeat(2,1fr);gap:80px 32px;border:0}.date-entry,.date-entry:nth-child(even){display:block;padding:0;border:0}.date-entry:nth-child(3n){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:70px}.date-frame .restaurant-image{border-radius:999px 999px 12px 12px;height:44vw;max-height:620px}.date-frame>p{text-align:center;font-family:var(--display);font-style:italic}.theme-romance .restaurant-copy li{border-color:#ffffff30}.theme-romance .planning{color:#2c1721}
.chart-nav>span{font-size:.65rem;letter-spacing:.18em;margin-left:auto}.chart-hero{background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#0b334012 calc(25% - 1px),#0b334012 25%);grid-template-columns:160px 1fr .8fr}.coordinates{display:flex;flex-direction:column;gap:12px;font-size:.65rem;letter-spacing:.12em;border-right:1px solid var(--line)}.chart-hero .hero-copy{align-self:end}.theme-nautical .hero-visual{border-radius:50% 50% 0 0}.theme-nautical .stamp{background:var(--ink)}.nautical-method{grid-template-columns:.8fr 1.4fr}.nautical-method .criteria{display:grid;grid-template-columns:repeat(2,1fr)}.log-entry,.log-entry:nth-child(even){display:block;padding:0;border:1px solid var(--line);margin-bottom:28px}.log-entry>header{display:flex;justify-content:space-between;padding:12px 18px;border-bottom:1px solid;font-size:.68rem;text-transform:uppercase;letter-spacing:.15em}.log-body{display:grid;grid-template-columns:.8fr 1.2fr}.log-entry:nth-child(even) .log-body{grid-template-columns:1.2fr .8fr}.log-entry:nth-child(even) .log-body .restaurant-image{order:2}.log-body .restaurant-image{height:520px;clip-path:polygon(0 0,92% 0,100% 12%,100% 100%,8% 100%,0 88%)}.log-body .restaurant-copy{padding:48px}

@media(max-width:850px){.site-header{height:70px}.site-header nav{display:none}.hero{min-height:auto;grid-template-columns:1fr;padding-top:55px}.hero-copy{padding-bottom:18px}h1{font-size:clamp(3.4rem,15vw,6rem)}.hero-visual{height:110vw;min-height:400px;max-height:620px}.intro,.method{grid-template-columns:1fr}.section-heading{grid-template-columns:1fr}.section-heading h2{margin:4px 0}.restaurant,.restaurant:nth-child(even),.theme-modern .restaurant{grid-template-columns:1fr;gap:28px;padding:48px 0}.restaurant:nth-child(even) .restaurant-image{order:0}.restaurant-image,.theme-luxury .restaurant-image,.theme-modern .restaurant-image{height:105vw;max-height:520px}.planning ul{columns:1}footer{grid-template-columns:1fr}footer p:last-child{text-align:left}.theme-modern .hero{grid-template-columns:1fr}.theme-trattoria .hero{background:none}}
@media(max-width:520px){body{font-size:15px}.site-header{padding:0 18px}.menu-link{font-size:.7rem}.hero,.section{padding-left:18px;padding-right:18px}.deck{font-size:1.05rem}.stamp{width:96px;height:96px}.stamp b{font-size:2.5rem}.intro{gap:18px}.section-heading{gap:8px}.method{gap:30px}.table-wrap{margin-right:-18px}.restaurant-copy h3{font-size:2.7rem}.planning{margin-left:12px;margin-right:12px;padding:44px 24px}.planning h2{font-size:2.7rem}.theme-trattoria .planning{padding-top:74px}}
@media(max-width:850px){.concierge>span,.coast-nav .weather,.chart-nav>span,.tavola-nav>p,.index-nav p{display:none}.concierge .brand,.love-nav .brand{position:static;transform:none;text-align:left}.canopy-hero .hero-visual,.canopy-hero .hero-copy{order:initial}.gallery-hero,.love-hero,.chart-hero{display:grid;grid-template-columns:1fr}.gallery-hero .vertical-note,.coordinates{display:none}.index-hero{display:grid;grid-template-columns:1fr;grid-template-rows:auto}.index-hero .hero-code,.index-hero .hero-copy,.index-hero .hero-visual,.index-hero .deck{grid-column:1;grid-row:auto}.index-hero .hero-visual{height:110vw}.theme-modern .section-heading{grid-template-columns:1fr}.theme-modern .criteria{grid-template-columns:1fr}.theme-luxury .restaurant-list,.theme-romance .restaurant-list{grid-template-columns:1fr}.gallery-entry:first-child,.date-entry:nth-child(3n){grid-column:auto;display:block}.gallery-entry .restaurant-image,.gallery-entry:not(:first-child) .restaurant-image,.date-frame .restaurant-image{height:110vw;max-height:580px}.leaf-entry,.leaf-entry:nth-child(even),.beach-entry,.beach-entry:nth-child(even),.index-entry,.index-entry:nth-child(even),.menu-entry,.menu-entry:nth-child(even){display:grid;grid-template-columns:1fr}.leaf-entry:nth-child(even) .leaf-copy,.leaf-entry:nth-child(even) .restaurant-image,.beach-entry:nth-child(even) .restaurant-image,.index-entry:nth-child(even) .restaurant-image,.menu-entry:nth-child(even) .restaurant-image{order:initial}.leaf-entry .leaf-copy{display:block}.leaf-entry .big-rank{font-size:5rem}.beach-entry .beach-number{writing-mode:horizontal-tb}.index-code{border-right:0;border-bottom:2px solid}.log-body,.log-entry:nth-child(even) .log-body{grid-template-columns:1fr}.log-entry:nth-child(even) .log-body .restaurant-image{order:initial}.log-body .restaurant-copy{padding:28px}.nautical-method{grid-template-columns:1fr}.nautical-method .criteria{grid-template-columns:1fr}.menu-heading{padding:20px}.menu-text{padding:20px 0}.tavola-hero .hero-visual{height:100vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* LONGFORM ARTICLE */
.article-kicker{margin:0 0 14px;color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.article-opening{max-width:1180px;margin:auto}.article-opening>p:not(.article-kicker){max-width:900px;font-size:clamp(1.12rem,1.7vw,1.38rem);line-height:1.75}.article-opening>p:nth-child(2){font-family:var(--display);font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.4}.article-section{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.35fr);gap:clamp(40px,8vw,130px);border-top:1px solid var(--line)}.article-section-title{position:sticky;top:32px;align-self:start}.article-section-title h2{font-size:clamp(2.7rem,5vw,5.4rem)}.article-section-body{max-width:780px}.article-section-body>p,.longform-copy>p{margin:0 0 1.35em}.article-section-body>p:first-child{font-size:1.2rem}.article-section-body ul,.longform-copy ul{padding:0;list-style:none}.article-section-body li,.longform-copy li{position:relative;padding:12px 0 12px 28px;border-bottom:1px solid var(--line)}.article-section-body li:before,.longform-copy li:before{content:'•';position:absolute;left:4px;color:var(--accent)}.article-quick{display:block}.article-quick .article-section-title{position:static;display:grid;grid-template-columns:1fr 2fr;align-items:end;margin-bottom:38px}.article-ranking td:nth-child(2){font-family:var(--display);font-size:1.25rem}.article-ranking td:nth-child(3){color:var(--muted)}.article-restaurants{padding-top:0;padding-bottom:0}.longform-restaurant{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,110px);padding:clamp(70px,9vw,130px) 0;border-top:1px solid var(--line);align-items:start}.longform-restaurant:nth-child(even){grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.longform-restaurant:nth-child(even) .longform-image{order:2}.longform-image{height:clamp(460px,55vw,720px);position:sticky;top:24px;overflow:hidden}.longform-image>span{position:absolute;top:18px;left:18px;display:grid;place-items:center;min-width:46px;height:46px;padding:0 10px;background:var(--bg);font-weight:700}.longform-copy h2{font-size:clamp(2.6rem,4.8vw,5rem);margin:0 0 30px}.best-for{margin-top:28px!important;padding:20px;border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--ink)!important}.official-link{font-size:.78rem;overflow-wrap:anywhere}.official-link a{border-bottom:1px solid var(--accent)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;gap:20px;padding:24px 0;cursor:pointer;font-family:var(--display);font-size:1.35rem;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--accent)}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>div{padding:0 44px 22px 0;color:var(--muted)}
@media(max-width:850px){.article-section{grid-template-columns:1fr}.article-section-title{position:static}.article-quick .article-section-title{grid-template-columns:1fr}.longform-restaurant,.longform-restaurant:nth-child(even){grid-template-columns:1fr}.longform-restaurant:nth-child(even) .longform-image{order:0}.longform-image{position:relative;top:auto;height:110vw;max-height:600px}.article-section-body{max-width:none}}
.theme-romance .article-opening{text-align:center;max-width:980px}.theme-romance .article-opening>p{margin-left:auto;margin-right:auto}.theme-romance .article-methodology{background:#fff1e8;color:#3a1c26}.theme-romance .article-methodology .article-section-body{columns:2;column-gap:42px}.theme-romance .longform-image{border-radius:999px 999px 20px 20px;filter:saturate(.78)}.theme-romance .longform-restaurant:nth-child(3n){display:block;text-align:center;max-width:900px;margin:auto}.theme-romance .longform-restaurant:nth-child(3n) .longform-image{position:relative;height:60vw;max-height:690px}.theme-romance .longform-restaurant:nth-child(3n) .longform-copy{margin-top:50px}.theme-romance .article-faq{background:#642f3c}

/* STRUCTURE V3 */
body .hero{min-height:auto;padding-top:clamp(38px,5vw,72px);padding-bottom:clamp(38px,5vw,72px)}body .hero-visual{height:clamp(350px,46vw,610px);min-height:0}.article-opening{padding-top:clamp(48px,6vw,84px);padding-bottom:clamp(48px,6vw,84px);max-width:1050px}.article-opening>p:not(.article-kicker){font-size:1.05rem;line-height:1.7;max-width:820px}.article-opening>p:nth-child(2){font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.45}.comparison-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;background:color-mix(in srgb,var(--paper) 92%,var(--bg));color:#17201b;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:18px;overflow:hidden}.comparison-table th{background:color-mix(in srgb,var(--ink) 92%,#111);color:#fff;padding:16px 14px;font-size:.65rem;letter-spacing:.12em}.comparison-table td{padding:18px 14px;border-bottom:1px solid #17201b18;vertical-align:middle}.comparison-table tbody tr:last-child td{border-bottom:0}.comparison-table tbody tr:nth-child(even){background:#17201b07}.comparison-table td:nth-child(2){font-family:var(--font);font-size:1rem;min-width:190px}.comparison-table td:nth-child(2)>strong{font-family:var(--display);font-size:1.2rem}.comparison-table small{display:block;font:500 .68rem var(--font);color:#69716d;text-transform:none;letter-spacing:.03em}.google-score{display:inline-block;white-space:nowrap}.google-score b{font-size:1.15rem}.our-score{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;font-size:1rem}.rating-note{font-size:.72rem;color:var(--muted);margin:14px 4px 0}.article-quick .table-wrap{overflow-x:auto;border:0}.restaurant-facts{margin:28px 0;padding:22px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 82%,var(--paper));border-radius:14px}.restaurant-facts dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.restaurant-facts dt{font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:5px}.restaurant-facts dd{margin:0;font-size:.83rem;line-height:1.45}.fact-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.fact-links a{padding:7px 11px;border:1px solid var(--line);border-radius:999px;font-size:.7rem;font-weight:700}.fact-links a:hover{background:var(--accent);border-color:var(--accent);color:#fff}.theme-luxury .comparison-table,.theme-romance .comparison-table{background:#f7f1e8}.theme-luxury .restaurant-facts,.theme-romance .restaurant-facts{border-color:#ffffff2b}.theme-luxury .fact-links,.theme-romance .fact-links{border-color:#ffffff2b}.theme-nautical .comparison-table{border-radius:0;border:2px solid var(--ink)}.theme-modern .comparison-table{border-radius:0;border:2px solid #111}.theme-modern .our-score{border-radius:0}.theme-trattoria .comparison-table{border-radius:0;border:4px double var(--ink)}
@media(max-width:850px){body .hero-visual{height:72vw;max-height:520px}.article-opening{padding-left:22px;padding-right:22px}.restaurant-facts dl{grid-template-columns:1fr}.comparison-table{min-width:880px}.article-quick .table-wrap,.ranking .table-wrap{margin-right:-20px;padding-right:20px}.fact-links a{flex:1;text-align:center;min-width:120px}}

/* COMPACT FIRST SCREEN V5 */
body .hero {
  min-height: 0;
  height: auto;
  gap: clamp(18px, 2.6vw, 38px);
  padding-top: clamp(18px, 2vw, 26px);
  padding-bottom: clamp(18px, 2vw, 26px);
}

body .hero-visual,
body .index-hero .hero-visual,
body .tavola-hero .hero-visual {
  height: clamp(190px, 22vw, 260px);
  min-height: 0;
  max-height: 260px;
}

body .hero h1 {
  max-width: 760px;
  font-size: clamp(2.2rem, 4vw, 4.2rem);
  line-height: .96;
}

body .hero .deck {
  max-width: 600px;
  margin: 16px 0 20px;
  font-size: clamp(.95rem, 1.25vw, 1.15rem);
  line-height: 1.55;
}

body .hero .eyebrow {
  margin: 0 0 12px;
}

body .hero .stamp {
  right: 15px;
  bottom: 15px;
  width: 82px;
  height: 82px;
}

body .hero .stamp b {
  font-size: 2.25rem;
}

/* Intro: one simple full-width text column */
.article-opening.section,
body .intro.section {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-top: clamp(30px, 3.5vw, 48px);
  padding-bottom: clamp(30px, 3.5vw, 48px);
  text-align: left;
  border-top: 1px solid var(--line);
  border-right: 0;
  border-bottom: 1px solid var(--line);
  border-left: 0;
  border-radius: 0;
}

.article-opening .article-kicker,
body .intro .section-number {
  display: block;
  max-width: none;
  margin: 0 0 13px;
  font-family: var(--font);
  font-size: .68rem;
  line-height: 1.5;
}

.article-opening > p:not(.article-kicker),
.article-opening > p:nth-child(2),
body .intro h2,
body .intro .lead,
body .intro > div > p:last-child {
  width: 100%;
  max-width: none;
  padding: 0;
  border: 0;
  font-family: var(--font);
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.65;
  text-align: left;
}

.article-opening > p:not(.article-kicker) {
  margin: 0 0 13px;
}

.article-opening > p:last-child {
  margin-bottom: 0;
}

body .intro > div {
  width: 100%;
  max-width: none;
  margin: 0;
}

body .intro h2 {
  margin: 0 0 13px;
  font-size: 1.2rem;
  font-weight: 700;
}

body .intro .lead,
body .intro > div > p:last-child {
  margin: 0 0 13px;
}

body .intro > div > p:last-child {
  margin-bottom: 0;
}

@media (max-width: 850px) {
  body .hero {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 24px 20px;
  }

  body .hero-copy {
    padding-bottom: 0;
  }

  body .hero h1 {
    font-size: clamp(2.25rem, 10vw, 3.5rem);
  }

  body .hero-visual,
  body .index-hero .hero-visual,
  body .tavola-hero .hero-visual {
    height: clamp(200px, 58vw, 310px);
    min-height: 0;
    max-height: 310px;
  }

  .article-opening.section,
  body .intro.section {
    padding: 28px 20px;
  }
}

@media (max-width: 520px) {
  body .hero {
    padding: 20px 18px;
  }

  body .hero h1 {
    font-size: clamp(2.1rem, 11vw, 3rem);
  }

  body .hero-visual,
  body .index-hero .hero-visual,
  body .tavola-hero .hero-visual {
    height: clamp(190px, 56vw, 260px);
  }

  .article-opening.section,
  body .intro.section {
    padding: 24px 18px;
  }
}


/* UNIQUE FACT CARDS V6 — ROMANTIC INVITATION */
.restaurant-facts{margin:38px 0;padding:34px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:70px 70px 12px 12px;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--accent) 18%,transparent),transparent 65%);text-align:center}
.restaurant-facts:before{content:'Practical details';display:block;margin-bottom:24px;font-family:var(--display);font-size:1.15rem;font-style:italic;color:var(--accent)}
.restaurant-facts dl{grid-template-columns:repeat(3,1fr);gap:20px}
.restaurant-facts dl dt:nth-child(5),.restaurant-facts dl dd:nth-child(6){order:-3}
.restaurant-facts dl dt:nth-child(3),.restaurant-facts dl dd:nth-child(4){order:-2}
.restaurant-facts dl dt:nth-child(1),.restaurant-facts dl dd:nth-child(2){order:-1}
.restaurant-facts dt,.restaurant-facts dd{text-align:center}
.restaurant-facts .fact-links{justify-content:center;margin-top:25px;padding-top:0;border:0}
.restaurant-facts .fact-links a{border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);padding:9px 16px}

@media(max-width:700px){
 .restaurant-facts{display:block;transform:none;padding:24px;border-radius:12px;box-shadow:none}
 .restaurant-facts dl{display:grid;grid-template-columns:1fr!important;gap:5px!important}
 .restaurant-facts dl>*{grid-column:auto!important;grid-row:auto!important;order:initial!important;text-align:left!important;border-right:0!important}
 .restaurant-facts dt{margin-top:12px}.restaurant-facts dd{margin-bottom:6px}
 .restaurant-facts .fact-links{display:flex;flex-direction:column;gap:8px;margin-top:20px;padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}
 .restaurant-facts .fact-links a{width:100%;text-align:center}
}


/* REVIEW CONTACT V7 */
.restaurant-facts .fact-links .phone-link{background:var(--accent);border-color:var(--accent);color:#2c1721}
/* Compact source-document introduction */
.site-intro{max-width:1160px;margin:0 auto;padding:28px 5vw 24px;box-shadow:inset 0 1px rgba(109,47,61,.24);font-family:inherit;font-size:clamp(14px,1.08vw,17px);line-height:1.68}
.site-intro p{margin:0 0 .7em}.site-intro p:last-child{margin-bottom:0}
@media(max-width:700px){.site-intro{padding:21px 20px}}
