@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --ink: #171313;
  --ink-soft: #4f4747;
  --paper: #f6f1e9;
  --paper-2: #fffaf2;
  --surface: #ffffff;
  --wine: #8f2336;
  --wine-dark: #4a1222;
  --plum: #43214f;
  --violet: #6a4c85;
  --gold: #b48a4b;
  --gold-soft: #dcc9a9;
  --green: #3a6653;
  --sand: #e9dfd0;
  --night: #111018;
  --night-2: #1b1721;
  --line: rgba(23, 19, 19, 0.12);
  --line-dark: rgba(255, 255, 255, 0.16);
  --shadow: 0 20px 60px rgba(31, 21, 18, 0.10);
  --shadow-soft: 0 12px 36px rgba(31, 21, 18, 0.07);
  --radius-lg: 26px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --container: min(1240px, calc(100vw - 48px));
  --nav-h: 74px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
button { cursor: pointer; }

::selection { background: rgba(143,35,54,.2); }

.page-progress {
  position: fixed;
  inset: 0 auto auto 0;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, var(--wine), var(--gold));
  z-index: 9999;
  transition: width .1s linear;
}

.site-nav {
  position: fixed;
  inset: 0 0 auto 0;
  height: var(--nav-h);
  z-index: 1200;
  display: flex;
  align-items: center;
  border-bottom: 1px solid transparent;
  transition: background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
}
.site-nav.is-solid {
  background: rgba(246, 241, 233, .92);
  border-color: var(--line);
  backdrop-filter: blur(16px);
}
.nav-inner {
  width: var(--container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
}
.brand-lockup { display:flex; align-items:center; gap:14px; text-decoration:none; min-width:0; }
.brand-lockup img { width: 132px; height:auto; }
.brand-lockup .brand-kicker { display:block; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-soft); font-weight:800; }
.brand-lockup .brand-name { display:block; font-size:12px; font-weight:800; white-space:nowrap; }
.site-nav:not(.is-solid) .brand-kicker,
.site-nav:not(.is-solid) .brand-name { color:#fff; }
.site-nav:not(.is-solid) .brand-lockup img { filter: drop-shadow(0 2px 5px rgba(0,0,0,.35)); }

.nav-links { display:flex; justify-content:center; gap: 8px; min-width:0; }
.nav-links a {
  text-decoration:none;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding:9px 10px;
  border-radius:999px;
  color:var(--ink-soft);
  transition: background .2s ease, color .2s ease;
}
.site-nav:not(.is-solid) .nav-links a { color:rgba(255,255,255,.84); }
.nav-links a:hover, .nav-links a.active { background:rgba(143,35,54,.1); color:var(--wine); }
.site-nav:not(.is-solid) .nav-links a:hover,
.site-nav:not(.is-solid) .nav-links a.active { background:rgba(255,255,255,.12); color:#fff; }

.nav-actions { display:flex; align-items:center; gap:8px; }
.icon-btn, .text-btn {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.72);
  color: var(--ink);
  border-radius: 999px;
  min-height: 40px;
  padding: 0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.site-nav:not(.is-solid) .icon-btn,
.site-nav:not(.is-solid) .text-btn { color:#fff; border-color:rgba(255,255,255,.28); background:rgba(17,16,24,.2); }

.menu-btn { display:none; width:40px; padding:0; }
.menu-btn span { width:16px; height:1.5px; background:currentColor; display:block; margin:2.5px 0; }

section { scroll-margin-top: calc(var(--nav-h) + 12px); }
.section { position:relative; padding: 108px 0; }
.section--tight { padding: 80px 0; }
.section--dark { background: var(--night); color:#f7f2ea; }
.section--plum { background: linear-gradient(135deg, #2a162d, #17131c); color:#fff; }
.section--paper { background: var(--paper); }
.section--surface { background: var(--paper-2); }
.section--wine { background: var(--wine-dark); color:#fff; }
.container { width: var(--container); margin:0 auto; }

.eyebrow {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--wine);
  margin-bottom:18px;
}
.eyebrow::before { content:""; width:32px; height:1px; background:currentColor; }
.section--dark .eyebrow, .section--plum .eyebrow, .section--wine .eyebrow { color:var(--gold-soft); }

.section-head { max-width: 860px; margin-bottom: 48px; }
.section-title {
  font-family: 'DM Serif Display', Georgia, serif;
  font-weight:400;
  font-size: clamp(42px, 5vw, 72px);
  letter-spacing:-.03em;
  line-height:.98;
  margin:0 0 22px;
}
.section-title em { color: var(--wine); font-style:italic; }
.section--dark .section-title em, .section--plum .section-title em { color:var(--gold-soft); }
.section-deck { max-width: 760px; font-size:17px; color:var(--ink-soft); margin:0; }
.section--dark .section-deck, .section--plum .section-deck, .section--wine .section-deck { color:rgba(255,255,255,.7); }

.hero {
  min-height: 100svh;
  position:relative;
  color:#fff;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  padding: calc(var(--nav-h) + 60px) 0 70px;
}
.hero::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(10,8,15,.26) 0%, rgba(12,9,15,.18) 30%, rgba(10,8,13,.85) 100%), url('../images/hotel/hero-night.jpg') center/cover no-repeat;
  transform:scale(1.02);
}
.hero::after {
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(circle at 78% 27%, rgba(194,153,79,.16), transparent 36%), linear-gradient(90deg, rgba(25,12,22,.72), transparent 58%);
}
.hero-inner { width:var(--container); margin:0 auto; position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.5fr); gap:70px; align-items:end; }
.hero-kicker { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:28px; }
.badge {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(0,0,0,.18);
  backdrop-filter:blur(10px);
  font-size:10px;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.12em;
}
.badge i { width:6px; height:6px; border-radius:50%; background:var(--gold-soft); }
.hero h1 {
  font-family:'DM Serif Display', Georgia, serif;
  font-size:clamp(58px, 7.5vw, 112px);
  font-weight:400;
  letter-spacing:-.045em;
  line-height:.86;
  max-width:980px;
  margin:0;
  text-wrap:balance;
}
.hero h1 span { display:block; color:#f7dec0; font-style:italic; font-size:.8em; margin-top:8px; }
.hero-sub {
  max-width: 680px;
  margin:28px 0 0;
  font-size:18px;
  color:rgba(255,255,255,.78);
  line-height:1.6;
}
.hero-meta {
  border-left:1px solid rgba(255,255,255,.26);
  padding-left:28px;
  display:grid;
  gap:24px;
}
.hero-meta-row { display:grid; grid-template-columns:92px 1fr; gap:12px; align-items:start; }
.hero-meta-row small { text-transform:uppercase; letter-spacing:.13em; font-weight:800; font-size:9px; color:rgba(255,255,255,.48); padding-top:3px; }
.hero-meta-row strong { font-size:14px; line-height:1.5; }
.hero-scroll { margin-top:34px; display:flex; align-items:center; gap:12px; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.64); }
.scroll-line { width:46px; height:1px; background:rgba(255,255,255,.42); position:relative; overflow:hidden; }
.scroll-line::after { content:""; position:absolute; left:-50%; top:0; width:50%; height:100%; background:#fff; animation:scrollPulse 2s infinite; }
@keyframes scrollPulse { to { left:100%; } }

.signal-strip { margin-top:-1px; background:#161118; color:#fff; border-top:1px solid rgba(255,255,255,.12); }
.signal-grid { width:var(--container); margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); }
.signal { padding:24px 28px; border-right:1px solid rgba(255,255,255,.12); }
.signal:first-child { border-left:1px solid rgba(255,255,255,.12); }
.signal strong { display:block; font-family:'DM Serif Display',Georgia,serif; font-size:34px; font-weight:400; line-height:1; }
.signal span { display:block; margin-top:8px; color:rgba(255,255,255,.62); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }

.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.metric-card {
  background:var(--surface);
  border:1px solid var(--line);
  padding:26px;
  min-height:180px;
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-soft);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.metric-card.dark { background:rgba(255,255,255,.05); border-color:var(--line-dark); box-shadow:none; }
.metric-card .metric-source { font-size:9px; letter-spacing:.12em; text-transform:uppercase; font-weight:800; color:var(--ink-soft); }
.metric-card.dark .metric-source { color:rgba(255,255,255,.45); }
.metric-number { font-family:'DM Serif Display', Georgia, serif; font-size:54px; letter-spacing:-.04em; line-height:1; margin:18px 0 6px; }
.metric-number .unit { font-size:.5em; color:var(--wine); margin-left:2px; }
.metric-card.dark .metric-number .unit { color:var(--gold-soft); }
.metric-label { font-size:13px; font-weight:800; }
.metric-context { font-size:11px; color:var(--ink-soft); margin-top:5px; }
.metric-card.dark .metric-context { color:rgba(255,255,255,.56); }
.metric-card.alert { border-top:4px solid var(--wine); }
.metric-card.good { border-top:4px solid var(--green); }
.metric-card.warn { border-top:4px solid var(--gold); }

.editorial-split { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:70px; align-items:start; }
.editorial-copy { position:sticky; top:calc(var(--nav-h) + 34px); }
.big-quote { font-family:'DM Serif Display',Georgia,serif; font-size:clamp(34px,4vw,58px); line-height:1.03; letter-spacing:-.025em; margin:0; }
.big-quote em { color:var(--wine); }
.section--dark .big-quote em { color:var(--gold-soft); }
.copy-note { color:var(--ink-soft); font-size:15px; margin-top:24px; }
.section--dark .copy-note { color:rgba(255,255,255,.63); }

.story-stack { display:grid; gap:14px; }
.story-card {
  padding:26px;
  border-radius:var(--radius-md);
  background:var(--surface);
  border:1px solid var(--line);
  display:grid;
  grid-template-columns:44px 1fr auto;
  gap:16px;
  align-items:start;
  transition:transform .2s ease, box-shadow .2s ease;
}
.story-card:hover { transform:translateY(-2px); box-shadow:var(--shadow-soft); }
.story-index { width:42px; height:42px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; font-family:'DM Serif Display',Georgia,serif; font-size:18px; }
.story-card h3 { margin:2px 0 8px; font-size:18px; }
.story-card p { margin:0; color:var(--ink-soft); font-size:13px; }
.story-chip { padding:6px 9px; border-radius:999px; background:rgba(143,35,54,.08); color:var(--wine); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

.ecosystem-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:24px; }
.ecosystem-map {
  background: linear-gradient(145deg, #1b151c, #111016);
  border-radius:var(--radius-lg);
  padding:34px;
  min-height:540px;
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  position:relative;
  overflow:hidden;
}
.ecosystem-map::before { content:""; position:absolute; width:360px; height:360px; border-radius:50%; border:1px solid rgba(255,255,255,.08); inset:50% auto auto 50%; transform:translate(-50%,-50%); }
.ecosystem-map::after { content:""; position:absolute; width:520px; height:520px; border-radius:50%; border:1px solid rgba(255,255,255,.05); inset:50% auto auto 50%; transform:translate(-50%,-50%); }
.eco-core {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:4;
  width:170px; height:170px; border-radius:50%; display:grid; place-items:center; text-align:center; padding:24px;
  background:radial-gradient(circle at 35% 25%, #7b3542, #351726 68%);
  border:1px solid rgba(255,255,255,.18); box-shadow:0 0 80px rgba(143,35,54,.25);
}
.eco-core strong { font-family:'DM Serif Display',Georgia,serif; font-size:25px; line-height:1; font-weight:400; }
.eco-core span { display:block; font-size:9px; text-transform:uppercase; letter-spacing:.1em; margin-top:7px; color:rgba(255,255,255,.58); }
.eco-node {
  position:absolute; z-index:5; width:154px; min-height:74px; padding:14px 16px; border-radius:14px;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.13); backdrop-filter:blur(8px);
}
.eco-node strong { display:block; font-size:12px; }
.eco-node span { display:block; font-size:10px; color:rgba(255,255,255,.55); margin-top:4px; }
.eco-node.n1 { top:68px; left:52px; }
.eco-node.n2 { top:64px; right:48px; }
.eco-node.n3 { bottom:70px; left:50px; }
.eco-node.n4 { bottom:66px; right:50px; }
.eco-node.n5 { top:50%; left:18px; transform:translateY(-50%); }
.eco-node.n6 { top:50%; right:18px; transform:translateY(-50%); }
.ecosystem-side { display:grid; gap:18px; }
.issue-card { padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md); }
.issue-card h3 { margin:0 0 10px; font-size:18px; }
.issue-card p { margin:0; color:var(--ink-soft); font-size:13px; }
.issue-card .tagline { display:flex; gap:8px; margin-top:18px; flex-wrap:wrap; }
.tag { padding:6px 9px; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; border-radius:999px; background:var(--sand); }
.tag.red { background:#f5dfe2; color:var(--wine); }
.tag.green { background:#deece5; color:var(--green); }
.tag.gold { background:#f5ecd9; color:#7a5a25; }

.journey { display:grid; grid-template-columns:repeat(8,1fr); gap:8px; align-items:stretch; }
.journey-step { min-height:190px; background:rgba(255,255,255,.05); border:1px solid var(--line-dark); border-radius:16px; padding:18px 14px; position:relative; overflow:hidden; }
.journey-step::after { content:""; position:absolute; top:26px; right:-7px; width:14px; height:14px; border-top:1px solid rgba(255,255,255,.28); border-right:1px solid rgba(255,255,255,.28); transform:rotate(45deg); }
.journey-step:last-child::after { display:none; }
.journey-step .num { font-family:'DM Serif Display',Georgia,serif; color:var(--gold-soft); font-size:24px; }
.journey-step h3 { font-size:13px; margin:24px 0 8px; }
.journey-step p { font-size:10px; line-height:1.5; margin:0; color:rgba(255,255,255,.55); }
.journey-step .status-dot { position:absolute; bottom:14px; left:14px; display:flex; align-items:center; gap:7px; font-size:9px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; color:rgba(255,255,255,.6); }
.status-dot i { width:7px; height:7px; border-radius:50%; background:var(--gold); }
.status-dot.bad i { background:#d2554f; }
.status-dot.good i { background:#64a77c; }

.tab-shell { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-soft); }
.tab-list { display:flex; gap:0; overflow:auto; border-bottom:1px solid var(--line); background:#fbf6ef; }
.tab-btn { border:0; background:transparent; padding:17px 22px; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); border-bottom:2px solid transparent; white-space:nowrap; }
.tab-btn.active { color:var(--wine); border-bottom-color:var(--wine); background:#fff; }
.tab-panel { display:none; padding:34px; }
.tab-panel.active { display:block; animation:fadeIn .3s ease; }
@keyframes fadeIn { from { opacity:0; transform:translateY(3px); } to { opacity:1; transform:none; } }
.platform-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:30px; align-items:start; }
.platform-summary { padding-right:12px; }
.platform-name { font-family:'DM Serif Display',Georgia,serif; font-size:52px; line-height:1; margin:0 0 12px; }
.platform-summary p { margin:0 0 22px; color:var(--ink-soft); font-size:13px; }
.platform-kpis { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.mini-kpi { padding:16px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.mini-kpi strong { display:block; font-size:23px; font-family:'DM Serif Display',Georgia,serif; font-weight:400; }
.mini-kpi span { display:block; font-size:9px; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); font-weight:800; margin-top:5px; }
.finding-list { display:grid; gap:10px; }
.finding { display:grid; grid-template-columns:28px 1fr; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }
.finding:last-child { border-bottom:0; }
.finding b { width:26px; height:26px; border-radius:50%; background:#f3e6e8; color:var(--wine); display:grid; place-items:center; font-size:10px; }
.finding strong { display:block; font-size:13px; margin-bottom:4px; }
.finding p { margin:0; font-size:11px; color:var(--ink-soft); }

.compare-band { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:30px; }
.compare-card { padding:18px; border-radius:14px; background:#fbf7f0; border:1px solid var(--line); }
.compare-card small { text-transform:uppercase; letter-spacing:.1em; color:var(--ink-soft); font-weight:800; font-size:9px; }
.compare-card strong { display:block; font-family:'DM Serif Display',Georgia,serif; font-size:30px; font-weight:400; line-height:1; margin-top:7px; }
.compare-card .delta.down { color:var(--wine); }
.compare-card .delta.up { color:var(--green); }

.chart-wrap { margin-top:28px; padding:22px; border-radius:16px; background:#fbf7f0; border:1px solid var(--line); }
.chart-title { display:flex; justify-content:space-between; gap:16px; align-items:end; margin-bottom:22px; }
.chart-title strong { font-size:14px; }
.chart-title span { font-size:10px; color:var(--ink-soft); }
.bar-chart { display:grid; gap:13px; }
.bar-row { display:grid; grid-template-columns:160px 1fr 64px; align-items:center; gap:14px; }
.bar-row label { font-size:11px; font-weight:700; }
.bar-track { height:10px; border-radius:999px; background:#e9e1d7; overflow:hidden; }
.bar-fill { height:100%; width:var(--w); background:linear-gradient(90deg,var(--wine),#bd6574); border-radius:999px; transform-origin:left; }
.bar-row.output .bar-fill { background:linear-gradient(90deg,var(--plum),#826296); }
.bar-row .value { font-size:11px; font-weight:800; text-align:right; }

.silence-timeline { margin-top:30px; padding:26px; border-radius:18px; color:#fff; background:#15131a; border:1px solid rgba(255,255,255,.1); }
.silence-days { display:grid; grid-template-columns:repeat(30,1fr); gap:5px; margin:20px 0 10px; }
.silence-day { aspect-ratio:1/1.15; border-radius:5px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.07); position:relative; }
.silence-day.live { background:linear-gradient(180deg,#ca9d44,#9f7327); border-color:#dab76b; }
.silence-day.live::after { content:""; width:5px; height:5px; border-radius:50%; background:#16131b; position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); }
.timeline-labels { display:flex; justify-content:space-between; font-size:9px; color:rgba(255,255,255,.45); text-transform:uppercase; letter-spacing:.08em; }
.silence-callout { margin-top:22px; display:flex; justify-content:space-between; gap:20px; align-items:center; border-top:1px solid rgba(255,255,255,.1); padding-top:18px; }
.silence-callout strong { font-family:'DM Serif Display',Georgia,serif; font-size:32px; font-weight:400; color:#f0d4b2; }
.silence-callout span { font-size:11px; color:rgba(255,255,255,.55); }

.evidence-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:32px; }
.evidence-card { background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-soft); }
.evidence-card button { border:0; padding:0; background:none; width:100%; display:block; }
.evidence-card img { width:100%; aspect-ratio:16/9; object-fit:cover; object-position:top; }
.evidence-card figcaption { padding:14px 16px 17px; font-size:10px; color:var(--ink-soft); }
.evidence-card figcaption strong { color:var(--ink); display:block; font-size:12px; margin-bottom:3px; }

.modal { position:fixed; inset:0; z-index:5000; background:rgba(7,6,9,.92); display:none; place-items:center; padding:34px; }
.modal.open { display:grid; }
.modal-inner { width:min(1280px,96vw); max-height:92vh; overflow:auto; position:relative; }
.modal-inner img { width:100%; height:auto; border-radius:16px; box-shadow:0 30px 90px rgba(0,0,0,.5); }
.modal-close { position:fixed; top:20px; right:20px; width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.22); color:#fff; background:rgba(0,0,0,.35); font-size:24px; display:grid; place-items:center; }

.content-audit { display:grid; grid-template-columns:.9fr 1.1fr; gap:32px; align-items:start; }
.content-wheel { aspect-ratio:1/1; border-radius:50%; max-width:480px; margin:auto; position:relative; background:conic-gradient(var(--wine) 0 100%); box-shadow:inset 0 0 0 88px var(--paper); }
.content-wheel::after { content:'Current mix'; position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); font-family:'DM Serif Display',Georgia,serif; font-size:28px; text-align:center; }
.content-label { position:absolute; top:12px; right:18px; background:#fff; border:1px solid var(--line); padding:10px 12px; border-radius:12px; box-shadow:var(--shadow-soft); }
.content-label strong { display:block; font-size:24px; font-family:'DM Serif Display',Georgia,serif; font-weight:400; }
.content-label span { display:block; font-size:9px; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); font-weight:800; }
.pillar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.pillar { min-height:150px; border:1px solid var(--line); border-radius:14px; padding:18px; background:#fff; }
.pillar .icon { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#f2e6e7; color:var(--wine); font-family:'DM Serif Display',Georgia,serif; }
.pillar h3 { font-size:13px; margin:18px 0 7px; }
.pillar p { margin:0; font-size:10px; color:var(--ink-soft); }

.photo-collage { display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:repeat(2,260px); gap:12px; }
.photo-collage figure { margin:0; overflow:hidden; border-radius:18px; position:relative; }
.photo-collage figure:first-child { grid-row:span 2; }
.photo-collage img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.photo-collage figure:hover img { transform:scale(1.03); }
.photo-collage figcaption { position:absolute; left:16px; bottom:14px; padding:7px 10px; border-radius:999px; background:rgba(0,0,0,.5); backdrop-filter:blur(8px); color:#fff; font-size:9px; text-transform:uppercase; font-weight:800; letter-spacing:.08em; }

.audit-score { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.score-card { padding:20px; border-radius:16px; background:#fff; border:1px solid var(--line); }
.score-top { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.score-top strong { font-size:12px; }
.score-pill { font-size:9px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; padding:5px 8px; border-radius:999px; background:#f5e3e6; color:var(--wine); }
.score-bar { margin-top:18px; height:7px; border-radius:999px; background:#e8e0d6; overflow:hidden; }
.score-bar i { display:block; height:100%; width:var(--score); background:var(--wine); border-radius:999px; }
.score-card p { margin:12px 0 0; font-size:10px; color:var(--ink-soft); }

.web-architecture { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.web-node { background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px; position:relative; min-height:210px; }
.web-node .domain { font-family:'DM Serif Display',Georgia,serif; font-size:21px; line-height:1.1; }
.web-node .role { display:block; margin-top:8px; color:var(--ink-soft); font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.web-node ul { margin:20px 0 0; padding:0; list-style:none; display:grid; gap:8px; }
.web-node li { font-size:11px; padding-left:14px; position:relative; }
.web-node li::before { content:'•'; position:absolute; left:0; color:var(--wine); }
.web-node::after { content:'→'; position:absolute; right:-14px; top:50%; transform:translateY(-50%); width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:var(--paper); border:1px solid var(--line); z-index:2; }
.web-node:last-child::after { display:none; }

.callout { margin-top:24px; padding:22px 24px; border-left:3px solid var(--wine); background:#f8ecee; border-radius:0 14px 14px 0; }
.callout strong { display:block; font-size:13px; }
.callout p { margin:6px 0 0; font-size:11px; color:var(--ink-soft); }
.callout.dark { background:rgba(255,255,255,.05); border-left-color:var(--gold); }
.callout.dark p { color:rgba(255,255,255,.65); }

.issue-table { width:100%; border-collapse:collapse; border-spacing:0; margin-top:24px; background:#fff; border-radius:16px; overflow:hidden; border:1px solid var(--line); }
.issue-table th, .issue-table td { padding:15px 16px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
.issue-table tr:last-child td { border-bottom:0; }
.issue-table th { background:#f5efe7; font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); }
.issue-table td { font-size:11px; }
.issue-table td strong { font-size:12px; }
.severity { display:inline-flex; align-items:center; gap:7px; font-size:9px; text-transform:uppercase; letter-spacing:.07em; font-weight:800; }
.severity i { width:8px; height:8px; border-radius:50%; }
.severity.high i { background:#c94c4b; }
.severity.med i { background:#c69b47; }
.severity.low i { background:#639576; }

.reputation-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:22px; }
.rating-card { padding:30px; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); }
.rating-head { display:flex; justify-content:space-between; align-items:end; gap:20px; }
.rating-score { font-family:'DM Serif Display',Georgia,serif; font-size:72px; line-height:.86; font-weight:400; }
.stars { letter-spacing:3px; color:#b08231; font-size:18px; }
.rating-meta { font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); font-weight:800; }
.topic-bars { margin-top:26px; display:grid; gap:14px; }
.topic-row { display:grid; grid-template-columns:110px 1fr 70px; gap:12px; align-items:center; }
.topic-row label { font-size:11px; font-weight:700; }
.topic-track { display:flex; height:10px; background:#ece4da; border-radius:999px; overflow:hidden; }
.topic-track .pos { background:#4f896b; width:var(--pos); }
.topic-track .neg { background:#b65055; width:var(--neg); }
.topic-row span { font-size:9px; color:var(--ink-soft); text-align:right; }
.rating-list { display:grid; gap:10px; }
.rating-source { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:center; padding:17px 18px; background:#fff; border:1px solid var(--line); border-radius:14px; }
.rating-source strong { font-size:12px; }
.rating-source p { margin:3px 0 0; font-size:10px; color:var(--ink-soft); }
.rating-source .score { font-family:'DM Serif Display',Georgia,serif; font-size:28px; color:var(--wine); }

.market-table { margin-top:26px; display:grid; gap:10px; }
.market-row { display:grid; grid-template-columns:220px 1fr 120px 120px; gap:14px; align-items:center; padding:14px 16px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.09); border-radius:13px; }
.market-row.header { background:transparent; border:0; padding-top:0; padding-bottom:4px; font-size:9px; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.45); }
.market-row strong { font-size:11px; }
.market-bar { height:8px; background:rgba(255,255,255,.12); border-radius:999px; overflow:hidden; }
.market-bar i { display:block; height:100%; width:var(--w); background:linear-gradient(90deg,var(--gold),#f1d39a); border-radius:999px; }
.market-value { font-size:11px; text-align:right; color:rgba(255,255,255,.72); }
.market-row.focus { border-color:rgba(220,201,169,.36); background:rgba(180,138,75,.08); }

.toggle-wrap { display:flex; justify-content:flex-end; margin-bottom:24px; }
.state-toggle { display:inline-flex; padding:4px; border-radius:999px; border:1px solid var(--line); background:#eee6db; }
.state-toggle button { border:0; background:transparent; padding:8px 13px; border-radius:999px; font-size:9px; text-transform:uppercase; font-weight:800; letter-spacing:.08em; color:var(--ink-soft); }
.state-toggle button.active { background:#fff; color:var(--wine); box-shadow:0 2px 12px rgba(0,0,0,.08); }
.state-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.state-card { min-height:210px; padding:24px; border-radius:16px; border:1px solid var(--line); background:#fff; }
.state-card .state-kicker { font-size:9px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; color:var(--wine); }
.state-card h3 { font-family:'DM Serif Display',Georgia,serif; font-size:25px; font-weight:400; margin:14px 0 12px; }
.state-card p { font-size:11px; color:var(--ink-soft); margin:0; }
.state-card.future { display:none; border-color:rgba(58,102,83,.25); background:#f5faf6; }
.state-grid.show-future .current { display:none; }
.state-grid.show-future .future { display:block; }

.architecture { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.arch-card { padding:26px; min-height:230px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.045); border-radius:16px; position:relative; overflow:hidden; }
.arch-card::before { content:attr(data-num); position:absolute; right:16px; top:5px; font-family:'DM Serif Display',Georgia,serif; font-size:82px; color:rgba(255,255,255,.04); }
.arch-card h3 { margin:0 0 12px; font-size:17px; position:relative; z-index:2; }
.arch-card p { margin:0; font-size:11px; color:rgba(255,255,255,.58); position:relative; z-index:2; }
.arch-tags { display:flex; gap:7px; flex-wrap:wrap; margin-top:18px; position:relative; z-index:2; }
.arch-tags span { padding:5px 8px; border-radius:999px; background:rgba(255,255,255,.07); font-size:9px; color:rgba(255,255,255,.68); }

.concept-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.concept { min-height:330px; border-radius:18px; overflow:hidden; position:relative; background:#211820; color:#fff; }
.concept img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.56) saturate(.9); transition:transform .4s ease; }
.concept:hover img { transform:scale(1.04); }
.concept::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 20%,rgba(8,7,9,.92) 92%); }
.concept-copy { position:absolute; z-index:2; inset:auto 18px 18px; }
.concept-copy span { font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#ead0a7; }
.concept-copy h3 { margin:8px 0 7px; font-family:'DM Serif Display',Georgia,serif; font-size:25px; font-weight:400; line-height:1; }
.concept-copy p { margin:0; font-size:10px; color:rgba(255,255,255,.63); }

.funnel { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:30px; }
.funnel-step { position:relative; padding:26px 20px; min-height:210px; border:1px solid rgba(255,255,255,.12); border-right:0; background:rgba(255,255,255,.04); }
.funnel-step:first-child { border-radius:16px 0 0 16px; }
.funnel-step:last-child { border-radius:0 16px 16px 0; border-right:1px solid rgba(255,255,255,.12); }
.funnel-step .funnel-num { font-family:'DM Serif Display',Georgia,serif; font-size:30px; color:var(--gold-soft); }
.funnel-step h3 { margin:22px 0 9px; font-size:13px; }
.funnel-step p { margin:0; font-size:10px; color:rgba(255,255,255,.56); }
.funnel-step .funnel-kpi { margin-top:18px; padding-top:12px; border-top:1px solid rgba(255,255,255,.1); font-size:9px; text-transform:uppercase; letter-spacing:.07em; color:rgba(255,255,255,.45); }

.roadmap { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.phase { border-radius:18px; background:#fff; border:1px solid var(--line); padding:28px; position:relative; overflow:hidden; }
.phase::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--wine); }
.phase:nth-child(2)::before { background:var(--gold); }
.phase:nth-child(3)::before { background:var(--green); }
.phase .days { font-size:9px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; color:var(--ink-soft); }
.phase h3 { font-family:'DM Serif Display',Georgia,serif; font-size:34px; font-weight:400; margin:10px 0 18px; }
.phase ul { margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.phase li { font-size:11px; padding-left:15px; position:relative; }
.phase li::before { content:'→'; position:absolute; left:0; color:var(--wine); }
.phase:nth-child(2) li::before { color:#9d772f; }
.phase:nth-child(3) li::before { color:var(--green); }

.measure-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.measure { padding:24px; border-radius:16px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); }
.measure h3 { font-size:14px; margin:0 0 14px; }
.measure ul { margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.measure li { display:flex; justify-content:space-between; gap:12px; font-size:10px; color:rgba(255,255,255,.6); border-bottom:1px solid rgba(255,255,255,.08); padding-bottom:8px; }
.measure li:last-child { border-bottom:0; padding-bottom:0; }
.measure li b { color:#fff; font-weight:600; }

.operating-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.operating-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; min-height:210px; }
.operating-card .op-num { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:#f3e8ea; color:var(--wine); font-family:'DM Serif Display',Georgia,serif; font-size:18px; }
.operating-card h3 { font-size:14px; margin:22px 0 10px; }
.operating-card p { margin:0; font-size:10px; color:var(--ink-soft); }

.group-scale { display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:center; }
.scale-visual { border-radius:var(--radius-lg); min-height:450px; background:url('../images/hotel/exterior-day.jpg') center/cover no-repeat; position:relative; overflow:hidden; }
.scale-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(18,11,18,.06),rgba(26,13,23,.8)); }
.scale-visual .scale-caption { position:absolute; z-index:2; left:24px; right:24px; bottom:22px; color:#fff; }
.scale-caption small { text-transform:uppercase; letter-spacing:.1em; font-weight:800; font-size:9px; color:rgba(255,255,255,.55); }
.scale-caption strong { display:block; font-family:'DM Serif Display',Georgia,serif; font-size:34px; line-height:1; font-weight:400; margin-top:7px; }
.scale-copy h2 { font-family:'DM Serif Display',Georgia,serif; font-weight:400; font-size:52px; line-height:1; margin:0 0 22px; }
.scale-copy p { color:var(--ink-soft); font-size:14px; }
.scale-list { display:grid; gap:10px; margin-top:24px; }
.scale-item { display:flex; gap:12px; padding:14px 0; border-top:1px solid var(--line); }
.scale-item b { color:var(--wine); }
.scale-item div { font-size:12px; }

.source-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.source-card { padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.source-card h3 { font-size:13px; margin:0 0 10px; }
.source-card p { margin:0; font-size:10px; color:var(--ink-soft); }
.source-card a { color:var(--wine); word-break:break-word; }
.source-card .source-type { display:inline-block; margin-bottom:12px; padding:5px 8px; border-radius:999px; background:#f2e7e9; color:var(--wine); font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

.cta { min-height:720px; display:grid; place-items:center; text-align:center; color:#fff; background:linear-gradient(180deg,rgba(16,11,16,.38),rgba(11,8,12,.88)), url('../images/hotel/hero-night.jpg') center/cover no-repeat; }
.cta-inner { width:min(900px,calc(100vw - 48px)); }
.cta .eyebrow { justify-content:center; color:#ecd3b2; }
.cta h2 { font-family:'DM Serif Display',Georgia,serif; font-size:clamp(52px,7vw,92px); line-height:.92; letter-spacing:-.04em; margin:0; font-weight:400; }
.cta p { max-width:680px; margin:24px auto 0; color:rgba(255,255,255,.7); font-size:16px; }
.cta-actions { margin-top:32px; display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.cta-btn { display:inline-flex; min-height:52px; align-items:center; justify-content:center; gap:10px; padding:0 22px; border-radius:999px; text-decoration:none; font-weight:800; font-size:11px; letter-spacing:.06em; text-transform:uppercase; background:#fff; color:#1a1418; border:1px solid #fff; }
.cta-btn.secondary { background:rgba(255,255,255,.05); color:#fff; border-color:rgba(255,255,255,.28); }
.cta-note { margin-top:28px; font-size:10px; color:rgba(255,255,255,.45); }

.footer { background:#0d0b0f; color:#fff; padding:28px 0; border-top:1px solid rgba(255,255,255,.08); }
.footer-inner { width:var(--container); margin:0 auto; display:flex; justify-content:space-between; gap:24px; align-items:center; }
.footer strong { font-size:11px; }
.footer span { font-size:9px; color:rgba(255,255,255,.44); text-transform:uppercase; letter-spacing:.09em; }

.reveal { opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }

.mobile-drawer { display:none; }

@media (max-width: 1100px) {
  :root { --container: min(100% - 36px, 1100px); }
  .nav-links { display:none; }
  .nav-inner { grid-template-columns:1fr auto; }
  .brand-lockup .brand-name, .brand-lockup .brand-kicker { display:none; }
  .menu-btn { display:inline-flex; flex-direction:column; }
  .hero-inner { grid-template-columns:1fr; gap:36px; }
  .hero-meta { grid-template-columns:repeat(2,1fr); border-left:0; padding-left:0; border-top:1px solid rgba(255,255,255,.2); padding-top:24px; }
  .signal-grid, .metric-grid { grid-template-columns:repeat(2,1fr); }
  .signal:nth-child(3) { border-left:1px solid rgba(255,255,255,.12); }
  .editorial-split, .ecosystem-grid, .content-audit, .reputation-grid, .group-scale { grid-template-columns:1fr; }
  .editorial-copy { position:static; }
  .journey { grid-template-columns:repeat(4,1fr); }
  .platform-grid { grid-template-columns:1fr; }
  .audit-score, .concept-grid, .operating-grid { grid-template-columns:repeat(2,1fr); }
  .web-architecture, .state-grid, .architecture, .roadmap, .measure-grid, .source-grid { grid-template-columns:repeat(2,1fr); }
  .web-node::after { display:none; }
  .funnel { grid-template-columns:repeat(2,1fr); gap:10px; }
  .funnel-step { border-right:1px solid rgba(255,255,255,.12); border-radius:14px !important; }
  .market-row { grid-template-columns:160px 1fr 100px 100px; }
}

@media (max-width: 760px) {
  :root { --container: calc(100vw - 28px); --nav-h:64px; }
  .site-nav { height:var(--nav-h); }
  .brand-lockup img { width:108px; }
  .text-btn { display:none; }
  .hero { min-height: 880px; padding-bottom:48px; }
  .hero h1 { font-size:clamp(52px,16vw,78px); }
  .hero-sub { font-size:15px; }
  .hero-meta { grid-template-columns:1fr; gap:14px; }
  .hero-meta-row { grid-template-columns:78px 1fr; }
  .signal-grid, .metric-grid, .compare-band, .audit-score, .web-architecture, .state-grid, .architecture, .roadmap, .measure-grid, .operating-grid, .source-grid { grid-template-columns:1fr; }
  .signal { border-left:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); }
  .section { padding:82px 0; }
  .section--tight { padding:62px 0; }
  .section-title { font-size:44px; }
  .section-deck { font-size:14px; }
  .story-card { grid-template-columns:38px 1fr; }
  .story-chip { grid-column:2; justify-self:start; }
  .ecosystem-map { min-height:650px; padding:22px; }
  .eco-core { width:140px; height:140px; }
  .eco-node { width:130px; min-height:66px; }
  .eco-node.n1 { top:68px; left:16px; }
  .eco-node.n2 { top:66px; right:16px; }
  .eco-node.n3 { bottom:70px; left:16px; }
  .eco-node.n4 { bottom:68px; right:16px; }
  .eco-node.n5 { top:50%; left:6px; }
  .eco-node.n6 { top:50%; right:6px; }
  .journey { grid-template-columns:repeat(2,1fr); }
  .journey-step:nth-child(even)::after { display:none; }
  .tab-panel { padding:22px 16px; }
  .platform-name { font-size:42px; }
  .platform-kpis { grid-template-columns:repeat(2,1fr); }
  .bar-row { grid-template-columns:96px 1fr 50px; gap:8px; }
  .silence-days { gap:2px; }
  .evidence-grid { grid-template-columns:1fr; }
  .pillar-grid { grid-template-columns:repeat(2,1fr); }
  .photo-collage { grid-template-columns:1fr; grid-template-rows:260px 220px 220px; }
  .photo-collage figure:first-child { grid-row:auto; }
  .issue-table { display:block; overflow-x:auto; white-space:nowrap; }
  .topic-row { grid-template-columns:85px 1fr 58px; }
  .market-row { grid-template-columns:1fr 100px 80px; }
  .market-row .market-bar, .market-row.header span:nth-child(2) { display:none; }
  .market-row.header { display:none; }
  .concept-grid { grid-template-columns:1fr; }
  .concept { min-height:390px; }
  .funnel { grid-template-columns:1fr; }
  .scale-copy h2 { font-size:42px; }
  .cta { min-height:650px; }
  .footer-inner { flex-direction:column; align-items:flex-start; }
  .mobile-drawer {
    display:block;
    position:fixed;
    inset:var(--nav-h) 0 auto 0;
    z-index:1199;
    background:rgba(246,241,233,.98);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
    padding:12px 14px 18px;
    transform:translateY(-120%);
    transition:transform .25s ease;
  }
  .mobile-drawer.open { transform:none; }
  .mobile-drawer a { display:block; padding:12px 10px; text-decoration:none; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; border-bottom:1px solid var(--line); }
  .mobile-drawer a:last-child { border-bottom:0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

@media print {
  @page { size:A4; margin:12mm; }
  body { background:#fff !important; color:#111; font-size:9pt; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .site-nav, .page-progress, .mobile-drawer, .modal, .hero-scroll, .nav-actions, .toggle-wrap { display:none !important; }
  .hero { min-height:260mm; padding:20mm 0; align-items:flex-end; break-after:page; }
  .signal-strip { break-after:page; }
  .section { padding:18mm 0; }
  .section--dark, .section--plum, .section--wine { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .section.break-before { break-before:page; }
  .metric-card, .story-card, .issue-card, .evidence-card, .score-card, .web-node, .rating-card, .rating-source, .phase, .measure, .operating-card, .source-card { break-inside:avoid; box-shadow:none; }
  .reveal { opacity:1 !important; transform:none !important; }
  .tab-list { display:none; }
  .tab-panel { display:block !important; break-inside:avoid; padding:8mm; }
  .tab-panel + .tab-panel { border-top:1px solid #ddd; }
  .state-card.current { display:block !important; }
  .state-card.future { display:block !important; }
  .state-grid { grid-template-columns:repeat(2,1fr); }
  .evidence-card button { pointer-events:none; }
  a { text-decoration:none; }
  .cta { min-height:250mm; break-before:page; }
  .footer { break-before:avoid; }
}

/* =========================================================
   ELEGANCE + READABILITY PASS · issues 1–4
   Hospitality editorial system, interactive evidence & SEO
   ========================================================= */
:root {
  --paper: #f5f0e8;
  --paper-2: #fbf8f2;
  --surface: #fffdf9;
  --ink: #181414;
  --ink-soft: #645b56;
  --wine: #7f2433;
  --wine-dark: #42131d;
  --gold: #aa8755;
  --gold-soft: #dfcfb6;
  --night: #151214;
  --night-2: #201a1d;
  --line: rgba(48, 34, 29, .12);
  --shadow: 0 26px 70px rgba(49, 31, 24, .09);
  --shadow-soft: 0 12px 34px rgba(49, 31, 24, .055);
  --radius-lg: 12px;
  --radius-md: 9px;
  --radius-sm: 6px;
}

body { font-weight: 400; letter-spacing: -.005em; }
.section { padding: 126px 0; }
.section--tight { padding: 88px 0; }
.section-head { max-width: 900px; margin-bottom: 62px; }
.section-title,
.hero h1,
.metric-number,
.big-quote,
.platform-name,
.scale-copy h2,
.cta h2 { font-family: 'Cormorant Garamond', Georgia, serif; }
.section-title { font-size: clamp(48px, 5vw, 78px); line-height: .95; letter-spacing: -.035em; }
.section-deck { font-size: 16px; line-height: 1.82; max-width: 780px; }
.eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .24em; }
.eyebrow::before { width: 44px; }

/* Navigation — calmer, more editorial */
.nav-links { gap: 2px; }
.nav-links a { border-radius: 4px; font-size: 10px; letter-spacing: .1em; }
.nav-links a:hover, .nav-links a.active { background: rgba(127,36,51,.07); }
.icon-btn, .text-btn { border-radius: 4px; min-height: 38px; letter-spacing: .08em; }
.site-nav.is-solid { background: rgba(247,243,236,.94); }

/* Hero — luxury campaign feel */
.hero { min-height: 96svh; padding-bottom: 86px; }
.hero::before {
  background: linear-gradient(180deg, rgba(12,10,11,.14) 0%, rgba(12,10,11,.22) 35%, rgba(11,9,10,.88) 100%), url('../images/hotel/hero-night.jpg') center 48%/cover no-repeat;
}
.hero::after { background: linear-gradient(90deg, rgba(22,12,16,.6), rgba(22,12,16,.08) 64%); }
.hero-inner { grid-template-columns: minmax(0,1.4fr) minmax(285px,.45fr); gap: 92px; }
.hero h1 { font-size: clamp(66px, 8vw, 122px); line-height: .82; letter-spacing: -.045em; }
.hero h1 span { color: #ead8bd; font-size: .76em; }
.hero-sub { max-width: 650px; font-size: 17px; line-height: 1.78; }
.badge { border-radius: 3px; background: rgba(0,0,0,.2); padding: 8px 11px; }
.hero-meta { gap: 30px; border-left-color: rgba(255,255,255,.3); }
.hero-meta-row strong { font-size: 13px; font-weight: 600; }
.signal-strip { background: #171315; }
.signal { padding: 28px 30px; }
.signal strong { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 39px; }

/* Global card language — thinner borders, less dashboard-like */
.metric-grid, .audit-score, .architecture, .operating-grid, .source-grid, .concept-grid { gap: 12px; }
.metric-card, .score-card, .issue-card, .source-card, .operating-card, .state-card, .phase, .measure {
  border-radius: 6px;
  box-shadow: none;
  border-color: rgba(48,34,29,.11);
}
.metric-card { min-height: 192px; padding: 30px 28px; background: rgba(255,253,249,.72); }
.metric-card:hover { border-color: rgba(127,36,51,.28); transform: translateY(-2px); transition: .25s ease; }
.metric-number { font-size: 58px; font-weight: 500; }
.metric-label { font-size: 12px; letter-spacing: .02em; }
.metric-context { line-height: 1.65; }

.story-card { border-radius: 4px; box-shadow: none; border-color: rgba(48,34,29,.11); background: rgba(255,253,249,.74); }
.story-card:hover { border-color: rgba(127,36,51,.28); background: #fffdf9; }
.story-chip { border-radius: 3px; }

/* Social findings: summary-first, click to open */
.finding-list { gap: 8px; }
.finding {
  position: relative;
  align-items: start;
  border: 1px solid rgba(48,34,29,.11);
  background: rgba(255,253,249,.66);
  border-radius: 5px;
  padding: 18px 46px 18px 18px;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.finding:hover { border-color: rgba(127,36,51,.28); background: #fffdf9; transform: translateY(-1px); }
.finding-list.is-disclosure .finding::after {
  content: '+';
  position: absolute;
  right: 17px;
  top: 16px;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(127,36,51,.22);
  color: var(--wine);
  font-size: 16px;
  line-height: 1;
}
.finding-list.is-disclosure .finding.is-open::after { content: '−'; }
.finding-list.is-disclosure .finding p { max-height: 0; overflow: hidden; opacity: 0; margin: 0; transition: max-height .35s ease, opacity .25s ease, margin .25s ease; }
.finding-list.is-disclosure .finding.is-open p { max-height: 190px; opacity: 1; margin-top: 8px; }
.finding > b { border-radius: 50%; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 18px; }
.finding strong { font-size: 12px; line-height: 1.45; }
.finding p { font-size: 10.5px; line-height: 1.7; color: var(--ink-soft); }

/* Social post evidence — actual cropped posts, framed like editorial proof */
.post-evidence-head {
  margin-top: 68px;
  padding-top: 28px;
  border-top: 1px solid rgba(48,34,29,.18);
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 48px;
  align-items: end;
}
.micro-label { display:block; color: var(--wine); text-transform: uppercase; letter-spacing: .18em; font-size: 9px; font-weight: 700; margin-bottom: 10px; }
.post-evidence-head h3, .search-lab-top h3, .seo-action-copy h3 {
  margin: 0;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 34px;
  line-height: 1.02;
  font-weight: 600;
}
.post-evidence-head p { margin:0; font-size: 12px; line-height: 1.72; color: var(--ink-soft); max-width: 640px; justify-self: end; }
.post-evidence-grid { margin-top: 26px; display:grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-items:start; }
.post-evidence-card { margin:0; background:#fffdf9; border:1px solid rgba(48,34,29,.14); padding: 10px 10px 16px; box-shadow: 0 18px 46px rgba(54,35,27,.07); transition: transform .25s ease, border-color .25s ease; }
.post-evidence-card:hover { transform: translateY(-4px); border-color: rgba(127,36,51,.36); }
.post-evidence-card button { display:block; width:100%; padding:0; border:0; background:#f0ebe4; overflow:hidden; }
.post-evidence-card img { width:100%; aspect-ratio: 0.62; object-fit: cover; object-position: top center; transition: transform .35s ease; }
.post-evidence-card:hover img { transform: scale(1.012); }
.post-evidence-card figcaption { padding: 15px 6px 0; }
.post-evidence-card figcaption > span { display:block; font-size:8px; text-transform:uppercase; letter-spacing:.15em; color:var(--ink-soft); margin-bottom:5px; }
.post-evidence-card figcaption > strong { display:block; font-family:'Cormorant Garamond',Georgia,serif; font-size:20px; line-height:1.05; font-weight:600; }
.post-evidence-card figcaption > div { margin-top:9px; padding-top:8px; border-top:1px solid var(--line); font-size:9px; color:var(--ink-soft); line-height:1.55; }
.post-evidence-card figcaption b { color:var(--ink); font-weight:700; }

/* SEO live report strip */
.seo-live { background:#151215; color:#fff; border:1px solid rgba(255,255,255,.08); padding: 0; box-shadow: 0 26px 70px rgba(26,18,18,.12); }
.seo-live-head { min-height:52px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 22px; border-bottom:1px solid rgba(255,255,255,.1); }
.seo-live-head > div { display:flex; align-items:center; gap:8px; font-size:9px; text-transform:uppercase; letter-spacing:.16em; font-weight:700; }
.seo-live-head small { color:rgba(255,255,255,.48); font-size:9px; }
.live-dot { width:7px; height:7px; border-radius:50%; background:#88b68e; box-shadow:0 0 0 5px rgba(136,182,142,.09); }
.seo-live-metrics { display:grid; grid-template-columns:repeat(5,1fr); }
.seo-signal { position:relative; text-align:left; color:#fff; background:transparent; border:0; border-right:1px solid rgba(255,255,255,.1); padding:23px 20px 20px; min-height:146px; transition:background .2s ease; }
.seo-signal:last-child { border-right:0; }
.seo-signal:hover, .seo-signal.active { background:rgba(255,255,255,.055); }
.seo-signal.active::after { content:""; position:absolute; left:18px; right:18px; bottom:0; height:2px; background:var(--gold-soft); }
.seo-signal > span { display:block; font-family:'Cormorant Garamond',Georgia,serif; font-size:36px; font-weight:600; line-height:1; color:#ead8bd; }
.seo-signal > strong { display:block; margin-top:9px; font-size:11px; }
.seo-signal > small { display:block; margin-top:6px; font-size:9px; line-height:1.5; color:rgba(255,255,255,.48); }
.seo-signal-detail { display:grid; grid-template-columns:120px .7fr 1.3fr; gap:22px; align-items:center; padding:20px 22px; border-top:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.025); }
.seo-signal-detail .detail-kicker { font-size:8px; text-transform:uppercase; letter-spacing:.16em; color:#d5ba91; font-weight:700; }
.seo-signal-detail strong { font-size:11px; line-height:1.55; }
.seo-signal-detail p { margin:0; color:rgba(255,255,255,.58); font-size:10px; line-height:1.65; }

/* SEO keyword/search interaction */
.search-lab { margin-top: 66px; border-top: 1px solid rgba(48,34,29,.17); padding-top: 34px; }
.search-lab-top { display:grid; grid-template-columns:.7fr 1.3fr; gap:46px; align-items:end; margin-bottom:26px; }
.search-lab-top .micro-label { align-self:start; padding-top:7px; }
.search-lab-top h3 { font-size:42px; max-width:760px; }
.search-bar-shell { height:64px; border:1px solid rgba(48,34,29,.15); background:#fffdf9; display:grid; grid-template-columns:24px 1fr auto; align-items:center; gap:14px; padding:0 18px; box-shadow:0 12px 32px rgba(50,32,24,.05); }
.search-icon { width:17px; height:17px; border:1.5px solid #6b625d; border-radius:50%; position:relative; }
.search-icon::after { content:""; position:absolute; width:7px; height:1.5px; background:#6b625d; right:-5px; bottom:-2px; transform:rotate(45deg); }
.search-query { font-size:14px; font-weight:600; }
.search-enter { font-size:9px; color:var(--wine); text-transform:uppercase; letter-spacing:.12em; font-weight:700; border-left:1px solid var(--line); padding-left:16px; }
.keyword-chips { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.keyword-chip { border:1px solid rgba(48,34,29,.12); background:transparent; color:var(--ink-soft); padding:8px 11px; border-radius:2px; font-size:9.5px; transition:.2s ease; }
.keyword-chip:hover, .keyword-chip.active { border-color:var(--wine); color:var(--wine); background:rgba(127,36,51,.045); }
.search-flow-panel { margin-top:20px; display:grid; grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr; align-items:stretch; }
.search-flow-step { min-height:178px; border:1px solid rgba(48,34,29,.13); background:#fffdf9; padding:20px; display:flex; flex-direction:column; }
.search-flow-step > span { width:30px; height:30px; display:grid; place-items:center; border:1px solid rgba(48,34,29,.16); font-family:'Cormorant Garamond',Georgia,serif; font-size:16px; }
.search-flow-step small { margin-top:18px; text-transform:uppercase; letter-spacing:.14em; font-weight:700; color:var(--ink-soft); font-size:8px; }
.search-flow-step strong { margin-top:7px; font-size:10.5px; line-height:1.65; font-weight:600; }
.search-flow-step.current-gap { background:#fbf6f1; border-color:rgba(127,36,51,.18); }
.search-flow-step.build { background:#f8f5ec; border-color:rgba(170,135,85,.35); }
.search-flow-step.measure { background:#f2f6f2; border-color:rgba(58,102,83,.2); }
.flow-arrow { display:grid; place-items:center; color:#a99d95; font-family:'Cormorant Garamond',Georgia,serif; font-size:28px; }
.search-note { margin-top:14px; font-size:9.5px; color:var(--ink-soft); line-height:1.65; }
.search-note b { color:var(--ink); }

.seo-action-board { margin-top:74px; display:grid; grid-template-columns:.72fr 1.28fr; gap:74px; align-items:start; }
.seo-action-copy { position:sticky; top:110px; }
.seo-action-copy h3 { font-size:45px; }
.seo-action-copy p { font-size:12px; line-height:1.78; color:var(--ink-soft); max-width:390px; }
.seo-action-list { border-top:1px solid rgba(48,34,29,.16); }
.seo-action-list details { border-bottom:1px solid rgba(48,34,29,.16); }
.seo-action-list summary { list-style:none; min-height:68px; display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:16px; cursor:pointer; }
.seo-action-list summary::-webkit-details-marker { display:none; }
.seo-action-list summary span { font-family:'Cormorant Garamond',Georgia,serif; font-size:19px; color:var(--wine); }
.seo-action-list summary strong { font-size:12px; }
.seo-action-list summary em { font-style:normal; text-transform:uppercase; letter-spacing:.12em; font-size:8px; color:var(--ink-soft); }
.seo-action-list details p { margin:0 0 22px 54px; max-width:640px; color:var(--ink-soft); font-size:10.5px; line-height:1.75; }

/* Architecture: click a pillar, then read NOW -> VYNZO -> MEASURE */
.architecture-shell { display:grid; grid-template-columns:1.15fr .85fr; gap:28px; align-items:stretch; }
.architecture--interactive { grid-template-columns:repeat(2,1fr); gap:8px; }
.architecture--interactive .arch-card { color:#fff; text-align:left; cursor:pointer; width:100%; min-height:170px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.025); padding:24px; border-radius:3px; transition:.2s ease; }
.architecture--interactive .arch-card:hover, .architecture--interactive .arch-card.active { background:rgba(255,255,255,.075); border-color:rgba(223,207,182,.38); transform:none; }
.arch-card::before { opacity:.34; }
.arch-card .arch-mini { display:block; text-transform:uppercase; letter-spacing:.15em; font-size:7.5px; color:var(--gold-soft); margin-bottom:18px; }
.architecture--interactive .arch-card h3 { font-family:'Cormorant Garamond',Georgia,serif; font-size:26px; line-height:1; margin:0 0 8px; font-weight:600; }
.architecture--interactive .arch-card p { font-size:9.5px; line-height:1.55; color:rgba(255,255,255,.58); margin:0 0 16px; }
.arch-tags span { border-radius:2px; }
.architecture-readout { border:1px solid rgba(255,255,255,.15); background:rgba(14,10,15,.22); padding:34px; display:flex; flex-direction:column; justify-content:center; min-height:100%; }
.readout-stage { display:grid; grid-template-columns:74px 1fr; gap:16px; align-items:start; }
.readout-stage span { text-transform:uppercase; letter-spacing:.18em; font-size:8px; color:rgba(255,255,255,.42); padding-top:4px; }
.readout-stage strong { font-family:'Cormorant Garamond',Georgia,serif; font-size:23px; line-height:1.14; font-weight:500; color:#fff; }
.readout-stage.highlight strong { color:#ead8bd; }
.readout-line { width:1px; height:40px; background:rgba(255,255,255,.14); margin:12px 0 12px 36px; }

/* Readability cleanup for dense blocks */
.issue-table th { font-size:8px; letter-spacing:.13em; }
.issue-table td { font-size:10.5px; line-height:1.62; padding-top:16px; padding-bottom:16px; }
.callout { border-radius:3px; padding:25px 28px; box-shadow:none; }
.callout strong { font-size:13px; }
.callout p { font-size:10.5px; line-height:1.72; }
.pillar { border-radius:4px; min-height:210px; padding:22px; }
.pillar h3 { font-size:13px; }
.pillar p { font-size:9.5px; line-height:1.68; }
.concept { border-radius:4px; }
.concept-copy h3 { font-family:'Cormorant Garamond',Georgia,serif; font-size:30px; }
.concept-copy p { font-size:10px; line-height:1.62; }
.phase ul, .measure p, .operating-card p, .source-card p { line-height:1.72; }

@media (max-width: 1100px) {
  .post-evidence-grid { grid-template-columns:repeat(2,1fr); }
  .seo-live-metrics { grid-template-columns:repeat(2,1fr); }
  .seo-signal { border-bottom:1px solid rgba(255,255,255,.1); }
  .seo-signal:last-child { grid-column:1 / -1; }
  .search-flow-panel { grid-template-columns:1fr 24px 1fr; gap:0; }
  .search-flow-panel .search-flow-step:nth-of-type(3), .search-flow-panel .search-flow-step:nth-of-type(4) { margin-top:16px; }
  .search-flow-panel .flow-arrow:nth-of-type(4) { display:none; }
  .architecture-shell { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
  .section { padding: 92px 0; }
  .section-title { font-size:48px; }
  .hero { min-height:860px; }
  .hero h1 { font-size:clamp(58px,16vw,84px); }
  .post-evidence-head, .search-lab-top, .seo-action-board { grid-template-columns:1fr; gap:18px; }
  .post-evidence-head p { justify-self:start; }
  .post-evidence-grid { grid-template-columns:1fr; }
  .post-evidence-card img { aspect-ratio:auto; }
  .seo-live-metrics { grid-template-columns:1fr; }
  .seo-signal, .seo-signal:last-child { grid-column:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.1); min-height:118px; }
  .seo-signal-detail { grid-template-columns:1fr; gap:7px; }
  .search-lab-top h3 { font-size:34px; }
  .search-bar-shell { grid-template-columns:22px 1fr; }
  .search-enter { display:none; }
  .search-flow-panel { grid-template-columns:1fr; gap:7px; }
  .flow-arrow { transform:rotate(90deg); height:24px; }
  .search-flow-step { min-height:150px; }
  .seo-action-copy { position:static; }
  .architecture--interactive { grid-template-columns:1fr; }
  .architecture-readout { padding:24px; }
  .readout-stage { grid-template-columns:58px 1fr; }
  .readout-stage strong { font-size:20px; }
}

@media print {
  .finding p { max-height:none !important; opacity:1 !important; margin-top:8px !important; }
  .finding::after { display:none !important; }
  .post-evidence-grid { grid-template-columns:repeat(2,1fr); }
  .seo-live, .search-lab, .architecture-readout { break-inside:avoid; }
  .seo-signal { color:#fff !important; }
  .seo-action-list details p { display:block !important; }
}


/* ===== Header dual-brand update ===== */
.brand-lockup { gap: 12px; }
.brand-hotel-logo { width: 146px; flex: 0 0 auto; }
.brand-divider {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 24px;
  line-height: 1;
  color: var(--gold);
  opacity: .95;
  margin-top: -2px;
}
.brand-vynzo {
  display: grid;
  gap: 1px;
  line-height: 1;
  min-width: max-content;
}
.brand-vynzo small {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(23,19,19,.56);
}
.brand-vynzo strong {
  display: inline-flex;
  align-items: baseline;
  gap: 0;
  font-size: 19px;
  line-height: .9;
  font-weight: 800;
  letter-spacing: -.03em;
}
.brand-vynzo .vynzo-accent { color: #ff5215; }
.brand-vynzo .vynzo-light { color: var(--ink); font-weight: 600; }
.brand-vynzo em {
  font-style: normal;
  font-size: 8px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(23,19,19,.45);
}
.brand-meta { display: block; }
.site-nav:not(.is-solid) .brand-vynzo small,
.site-nav:not(.is-solid) .brand-vynzo em { color: rgba(255,255,255,.68); }
.site-nav:not(.is-solid) .brand-vynzo .vynzo-accent { color: #ff8d66; }
.site-nav:not(.is-solid) .brand-vynzo .vynzo-light { color: #fff; }

/* ===== Vynzo brand section ===== */
.vynzo-grid {
  display: grid;
  grid-template-columns: 1.25fr .9fr .9fr;
  gap: 18px;
}
.vynzo-card {
  background: linear-gradient(180deg, #fffdf9, #f8f1e8);
  border: 1px solid rgba(23,19,19,.07);
  box-shadow: var(--shadow-soft);
  border-radius: 18px;
  padding: 26px 26px 24px;
}
.vynzo-card--intro {
  background: linear-gradient(180deg, #fffdf8, #f6ede3);
}
.vynzo-card h3 {
  margin: 10px 0 10px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 31px;
  line-height: 1.02;
  font-weight: 600;
  letter-spacing: -.02em;
}
.vynzo-card p {
  margin: 0;
  font-size: 12px;
  color: var(--ink-soft);
}
.vynzo-service-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.vynzo-service-chips span {
  border-radius: 999px;
  border: 1px solid rgba(23,19,19,.08);
  padding: 8px 11px;
  font-size: 10px;
  font-weight: 700;
  background: rgba(255,255,255,.84);
}
.vynzo-points {
  list-style: none;
  padding: 0;
  margin: 12px 0 0;
  display: grid;
  gap: 14px;
}
.vynzo-points li {
  padding-top: 12px;
  border-top: 1px solid rgba(23,19,19,.08);
  display: grid;
  gap: 3px;
}
.vynzo-points li:first-child { padding-top: 0; border-top: 0; }
.vynzo-points strong { display:block; font-size: 13px; }
.vynzo-points span { display:block; font-size: 11px; color: var(--ink-soft); line-height: 1.72; }
.vynzo-points.compact { gap: 12px; }
.vynzo-office-wrap {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.office-card {
  background: #fff;
  border: 1px solid rgba(23,19,19,.07);
  border-radius: 18px;
  padding: 22px 22px 20px;
  box-shadow: var(--shadow-soft);
}
.office-kicker {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--ink-soft);
  font-weight: 800;
}
.office-card h3 {
  margin: 6px 0 8px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 32px;
  line-height: .95;
  font-weight: 600;
}
.office-card p {
  margin: 0 0 12px;
  font-size: 11px;
  color: var(--ink-soft);
  line-height: 1.7;
}
.office-card a {
  display: block;
  text-decoration: none;
  font-weight: 800;
  font-size: 11px;
  margin-top: 5px;
}
.office-card--highlight {
  background: linear-gradient(180deg, #26141a, #110c11);
  color: #fff;
  border-color: rgba(255,255,255,.08);
}
.office-card--highlight .office-kicker,
.office-card--highlight p,
.office-card--highlight .office-note { color: rgba(255,255,255,.72); }
.office-note {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: 10.5px;
  line-height: 1.72;
}
.cta-note span { display:inline-block; margin-top:4px; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 1180px) {
  .nav-inner { gap: 18px; }
  .brand-hotel-logo { width: 132px; }
  .brand-vynzo strong { font-size: 17px; }
  .brand-vynzo em { display:none; }
  .nav-links { gap: 4px; }
}
@media (max-width: 1024px) {
  .vynzo-grid { grid-template-columns: 1fr; }
  .vynzo-office-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .brand-divider, .brand-vynzo { display:none; }
  .brand-hotel-logo { width: 118px; }
  .brand-kicker { display:block !important; }
}


/* ===== Readability first refresh ===== */
.site-nav {
  background: rgba(247,243,236,.96);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
  box-shadow: 0 12px 34px rgba(28,18,17,.05);
}
.site-nav:not(.is-solid) .brand-kicker,
.site-nav:not(.is-solid) .brand-name,
.site-nav:not(.is-solid) .nav-links a { color: var(--ink-soft); }
.site-nav:not(.is-solid) .nav-links a:hover,
.site-nav:not(.is-solid) .nav-links a.active { background: rgba(143,35,54,.08); color: var(--wine); }
.site-nav:not(.is-solid) .text-btn,
.site-nav:not(.is-solid) .icon-btn { color: var(--ink); border-color: var(--line); background: rgba(255,255,255,.72); }
.brand-lockup { gap: 14px; }
.brand-hotel-logo { width: 138px; height:auto; flex: 0 0 auto; }
.brand-divider { color: var(--gold); font-size: 22px; line-height: 1; }
.brand-vynzo-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #050505;
  border-radius: 12px;
  padding: 7px 10px;
  box-shadow: 0 8px 20px rgba(10,10,10,.16);
}
.brand-vynzo-badge img { width: 128px; height: auto; display:block; }
.brand-meta { display: grid; gap: 3px; }
.brand-meta .brand-kicker { font-size: 10px; letter-spacing: .16em; }
.brand-meta .brand-name { font-size: 13px; letter-spacing: .02em; }
.hero { padding-top: calc(var(--nav-h) + 74px); }
.hero-sub, .section-deck {
  font-size: 18px !important;
  line-height: 1.82 !important;
  max-width: 66ch !important;
}
.hero-sub { max-width: 58ch !important; }
.metric-context,
.editorial-copy p,
.issue-card p,
.issue-table td,
.rating-source p,
.measure li span,
.operating-card p,
.source-card p,
.vynzo-card p,
.vynzo-points span,
.office-card p,
.callout p,
.cta p,
.search-note,
.seo-action-copy p,
.seo-action-list details p {
  font-size: 13px !important;
  line-height: 1.82 !important;
}
.finding strong { font-size: 14px !important; line-height: 1.55 !important; }
.finding p { font-size: 12px !important; line-height: 1.8 !important; }
.issue-table th { font-size: 10px !important; }
.issue-table td strong { font-size: 13px !important; }
.seo-live { border-radius: 22px; overflow: hidden; }
.seo-live-head { padding: 0 24px; }
.seo-live-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.seo-signal { min-height: 158px; padding: 24px 20px 20px; }
.seo-signal > span { font-size: 42px; }
.seo-signal > strong { font-size: 12px; }
.seo-signal > small { font-size: 10px; line-height: 1.65; }
.seo-signal-detail strong { font-size: 13px; line-height: 1.65; }
.seo-signal-detail p { font-size: 12px; line-height: 1.8; }
.search-lab { margin-top: 54px; padding-top: 0; border-top: 0; }
.search-lab-top { grid-template-columns: 1fr; gap: 12px; margin-bottom: 18px; }
.search-lab-top h3 { font-size: 38px; max-width: 850px; }
.laptop-shell {
  position: relative;
  background: linear-gradient(180deg, #c8ccd3, #b9bec7);
  border-radius: 24px 24px 18px 18px;
  padding: 14px 14px 0;
  box-shadow: 0 28px 70px rgba(32,24,21,.16);
  border: 1px solid rgba(22,22,22,.08);
}
.laptop-topbar {
  height: 42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
  padding: 0 12px;
  border-radius: 14px 14px 0 0;
  background: linear-gradient(180deg, #eef0f4, #d7dbe3);
}
.browser-dots { display:flex; gap:6px; }
.browser-dots i { width:10px; height:10px; border-radius:50%; background:#c6a05d; opacity:.8; display:block; }
.browser-dots i:nth-child(2) { background:#c7bf8d; }
.browser-dots i:nth-child(3) { background:#b1b7c4; }
.browser-url {
  flex: 1;
  min-width: 0;
  height: 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.88);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: var(--ink-soft);
}
.browser-badge {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 800;
  color: var(--ink-soft);
}
.laptop-screen {
  background: #fff;
  border-radius: 18px 18px 10px 10px;
  padding: 26px;
  min-height: 520px;
}
.search-screen-head {
  display:grid;
  justify-items:center;
  gap: 18px;
  margin-bottom: 18px;
}
.google-wordmark {
  font-size: 52px;
  line-height: 1;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  letter-spacing: -.05em;
}
.google-wordmark .g1 { color:#4285F4; }
.google-wordmark .g2 { color:#EA4335; }
.google-wordmark .g3 { color:#FBBC05; }
.google-wordmark .g4 { color:#4285F4; }
.google-wordmark .g5 { color:#34A853; }
.google-wordmark .g6 { color:#EA4335; }
.search-bar-shell {
  height: 58px;
  max-width: 820px;
  width: 100%;
  margin: 0 auto;
  border: 1px solid rgba(45,45,45,.12);
  border-radius: 999px;
  background: #fff;
  display:grid;
  grid-template-columns: 24px 1fr auto;
  align-items:center;
  gap: 12px;
  padding: 0 18px;
  box-shadow: 0 10px 28px rgba(50,32,24,.08);
}
.keyword-chips { gap: 10px; margin-top: 14px; justify-content:center; }
.keyword-chip {
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  font-size: 11px;
  font-weight: 700;
}
.search-flow-panel {
  margin-top: 24px;
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.search-flow-step {
  min-height: 178px;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 10px 30px rgba(42,31,25,.05);
}
.search-flow-step small { font-size: 9px; }
.search-flow-step strong { font-size: 13px; line-height: 1.8; }
.laptop-base {
  width: 88%;
  height: 16px;
  margin: 0 auto;
  background: linear-gradient(180deg, #c4c8d1, #aeb4bf);
  border-radius: 0 0 18px 18px;
}
.search-note { margin-top: 16px; max-width: 80ch; }
.vynzo-card h3, .office-card h3 { line-height: 1.08; }
.footer strong, .footer span { font-size: 11px; }

@media (max-width: 1100px) {
  .brand-vynzo-badge img { width: 112px; }
  .brand-meta .brand-name, .brand-meta .brand-kicker { display:none; }
}
@media (max-width: 760px) {
  .brand-divider, .brand-vynzo-badge { display:none; }
  .hero-sub, .section-deck { font-size: 16px !important; }
  .search-lab-top h3 { font-size: 30px; }
  .laptop-screen { padding: 18px; min-height: auto; }
  .google-wordmark { font-size: 40px; }
  .search-bar-shell { grid-template-columns: 20px 1fr; height: 52px; }
  .search-enter { display:none; }
  .search-flow-panel { grid-template-columns: 1fr !important; }
}

/* ===== Header logo cleanup and Google style search preview ===== */
.brand-vynzo-badge {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-width: 0;
}
.brand-vynzo-badge img {
  width: 118px !important;
  height: auto !important;
  max-height: 30px;
  object-fit: contain;
}
.brand-divider {
  margin: 0 2px;
  opacity: .7;
}

.serp-tabs {
  max-width: 900px;
  margin: 4px auto 0;
  display: flex;
  gap: 28px;
  align-items: center;
  padding: 0 4px 11px;
  border-bottom: 1px solid #e7e7e7;
  color: #5f6368;
  font: 500 12px/1.2 Arial, Helvetica, sans-serif;
}
.serp-tabs span { padding-bottom: 8px; }
.serp-tabs .active {
  color: #1a73e8;
  border-bottom: 3px solid #1a73e8;
}
.search-laptop .keyword-chips {
  max-width: 900px;
  margin: 14px auto 0;
  justify-content: flex-start;
}
.search-laptop .keyword-chip {
  border: 1px solid #dadce0;
  background: #fff;
  color: #3c4043;
  padding: 9px 13px;
  font: 500 11px/1.2 Arial, Helvetica, sans-serif;
  box-shadow: none;
}
.search-laptop .keyword-chip:hover,
.search-laptop .keyword-chip.active {
  border-color: #aecbfa;
  background: #f1f6ff;
  color: #1967d2;
}
.serp-status {
  max-width: 900px;
  margin: 15px auto 0;
  color: #70757a;
  font: 400 11px/1.5 Arial, Helvetica, sans-serif;
}
.serp-layout {
  max-width: 900px;
  margin: 20px auto 0;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(240px, .72fr);
  gap: 44px;
  align-items: start;
}
.serp-main { min-width: 0; }
.serp-result {
  padding: 0 0 24px;
  margin: 0 0 24px;
  border: 0;
  border-bottom: 1px solid #eeeeee;
  background: transparent;
  box-shadow: none;
}
.serp-site {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
  font-family: Arial, Helvetica, sans-serif;
}
.serp-site > div { min-width: 0; display: grid; gap: 2px; }
.serp-site strong {
  font-size: 12px;
  font-weight: 400;
  color: #202124;
}
.serp-site span {
  font-size: 10px;
  color: #4d5156;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.serp-favicon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  background: #fff2ee;
  color: #9e2738;
  border: 1px solid #ecd8da;
  font: 700 12px/1 Arial, Helvetica, sans-serif;
}
.serp-favicon.muted { background: #f3f4f5; color: #5f6368; border-color: #e0e0e0; }
.serp-result > a {
  display: inline-block;
  max-width: 100%;
  color: #1a0dab;
  text-decoration: none;
  font: 400 20px/1.28 Arial, Helvetica, sans-serif;
  margin-bottom: 5px;
}
.serp-result > a:hover { text-decoration: underline; }
.serp-result > p {
  margin: 0;
  color: #4d5156;
  font: 400 12.5px/1.58 Arial, Helvetica, sans-serif !important;
}
.serp-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 10px;
  color: #1a0dab;
  font: 400 11px/1.4 Arial, Helvetica, sans-serif;
}
.serp-result-note {
  border-bottom: 0;
  margin-bottom: 0;
  padding: 15px 18px 16px;
  background: #f8f9fa;
  border-radius: 10px;
}
.serp-label {
  display: block;
  margin-bottom: 6px;
  color: #5f6368;
  font: 700 9px/1.4 Arial, Helvetica, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.serp-result-note > p {
  color: #202124;
  font-weight: 500 !important;
}
.serp-measure {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  margin-top: 10px;
  color: #5f6368;
  font: 400 10.5px/1.5 Arial, Helvetica, sans-serif;
}
.serp-measure b { color: #202124; }
.serp-knowledge {
  border: 1px solid #dadce0;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
}
.knowledge-photo {
  height: 116px;
  background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.18)), url('../images/hotel/exterior-day.jpg') center 42%/cover no-repeat;
}
.serp-knowledge h4 {
  margin: 0;
  padding: 16px 16px 7px;
  font: 400 22px/1.2 Arial, Helvetica, sans-serif;
  color: #202124;
}
.knowledge-rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 0 16px 14px;
  border-bottom: 1px solid #ececec;
}
.knowledge-rating strong { font-size: 13px; color: #202124; }
.knowledge-rating span { color: #f9ab00; font-size: 11px; letter-spacing: 1px; }
.knowledge-rating small { width: 100%; color: #70757a; font-size: 10px; }
.serp-knowledge dl { margin: 0; padding: 12px 16px 15px; }
.serp-knowledge dl div { padding: 8px 0; border-bottom: 1px solid #f0f0f0; }
.serp-knowledge dl div:last-child { border-bottom: 0; }
.serp-knowledge dt {
  font-size: 10px;
  font-weight: 700;
  color: #202124;
  margin-bottom: 3px;
}
.serp-knowledge dd {
  margin: 0;
  font-size: 10.5px;
  line-height: 1.55;
  color: #5f6368;
}

@media (max-width: 1020px) {
  .serp-layout { grid-template-columns: 1fr; gap: 24px; }
  .serp-knowledge { max-width: 520px; }
}
@media (max-width: 760px) {
  .brand-vynzo-badge img { width: 96px !important; max-height: 24px; }
  .serp-tabs { gap: 18px; overflow-x: auto; }
  .search-laptop .keyword-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
  .search-laptop .keyword-chip { flex: 0 0 auto; }
  .serp-layout { gap: 18px; }
  .serp-result > a { font-size: 18px; }
}
