.content-wrap { max-width: 1100px; margin: 0 auto; padding: 64px 48px; }
.content-section { margin-bottom: 72px; padding-bottom: 72px; border-bottom: 0.5px solid var(--muted2); }
.content-section:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

.content-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.content-grid-reverse { direction: rtl; }
.content-grid-reverse > * { direction: ltr; }

.section-label { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--volt); margin-bottom: 14px; display: flex; align-items: center; gap: 10px; }
.section-label::before { content: ''; display: block; width: 24px; height: 1px; background: var(--volt); }
.section-heading { font-family: 'Bebas Neue', sans-serif; font-size: clamp(36px, 5vw, 52px); letter-spacing: 0.02em; color: var(--creme); line-height: 0.98; margin-bottom: 20px; }
.section-text { font-size: 15px; font-weight: 300; color: var(--muted); line-height: 1.75; margin-bottom: 18px; max-width: 560px; }
.section-text strong { color: var(--creme); font-weight: 400; }

.content-img { border-radius: 14px; overflow: hidden; border: 0.5px solid var(--muted2); width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.content-img-tall { aspect-ratio: 3/4; }

.content-carousel { position: relative; border-radius: 14px; overflow: hidden; background: var(--noir3); aspect-ratio: 4/3; border: 0.5px solid var(--muted2); box-shadow: 0 20px 48px rgba(20,17,11,0.08); }
.content-carousel .carousel-track { display: flex; width: 100%; height: 100%; transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1); }
.content-carousel .carousel-slide { flex: 0 0 100%; height: 100%; position: relative; overflow: hidden; }
.content-carousel .carousel-slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.content-carousel .carousel-slide::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(20,17,11,0.42) 100%); pointer-events: none; }
.content-carousel .carousel-caption { position: absolute; left: 16px; bottom: 16px; z-index: 2; font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: #fff; background: rgba(20,17,11,0.55); backdrop-filter: blur(8px); padding: 6px 12px; border-radius: 100px; border: 0.5px solid rgba(242,237,227,0.16); }
.content-carousel .carousel-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,0.95); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--creme); transition: background 0.2s, transform 0.2s; box-shadow: 0 6px 20px rgba(20,17,11,0.12); }
.content-carousel .carousel-nav:hover { background: var(--volt); color: #fff; transform: translateY(-50%) scale(1.05); }
.content-carousel .carousel-nav.prev { left: 12px; }
.content-carousel .carousel-nav.next { right: 12px; }
.content-carousel .carousel-nav svg { width: 16px; height: 16px; }
.content-carousel .carousel-dots { position: absolute; bottom: 14px; right: 14px; z-index: 2; display: flex; gap: 6px; }
.content-carousel .carousel-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,0.45); border: none; cursor: pointer; transition: background 0.2s, transform 0.2s; padding: 0; }
.content-carousel .carousel-dot.active { background: #fff; transform: scale(1.2); }

.meta-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.meta-pill { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--volt); background: var(--volt-dim); border: 1px solid rgba(31,77,63,0.18); padding: 5px 12px; border-radius: 100px; }

.accor-badge { display: inline-block; font-size: 9px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; background: var(--volt); color: var(--noir); padding: 5px 12px; border-radius: 100px; margin-bottom: 16px; }

.founder-card { display: flex; flex-direction: column; align-items: center; text-align: center; background: var(--sheen, var(--noir2)); border: 0.5px solid var(--muted2); border-radius: var(--radius-lg, 16px); padding: 40px 32px; max-width: 360px; margin: 0 auto; box-shadow: var(--shadow-card, 0 12px 34px rgba(20,17,11,0.06)); }
.founder-avatar { width: 120px; height: 120px; border-radius: 50%; border: 2px solid var(--volt); object-fit: cover; margin-bottom: 20px; background: var(--noir3); }
.founder-name { font-family: 'Bebas Neue', sans-serif; font-size: 32px; letter-spacing: 0.04em; color: var(--creme); display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 8px; }
.founder-name a { color: inherit; text-decoration: none; transition: color 0.2s; }
.founder-name a:hover { color: var(--volt); }
.founder-name svg { width: 18px; height: 18px; opacity: 0.7; }
.founder-role { font-size: 14px; color: var(--muted); line-height: 1.5; margin-bottom: 4px; }
.founder-loc { font-size: 12px; color: var(--muted); letter-spacing: 0.06em; }

.map-wrap { border-radius: 14px; overflow: hidden; border: 0.5px solid var(--muted2); margin-top: 24px; aspect-ratio: 16/9; background: var(--noir2); }
.map-wrap iframe { display: block; width: 100%; height: 100%; border: none; }

.access-table { width: 100%; border-collapse: collapse; margin-top: 24px; font-size: 14px; }
.access-table th, .access-table td { padding: 14px 16px; text-align: left; border-bottom: 0.5px solid var(--muted2); }
.access-table th { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--volt); font-weight: 500; background: var(--noir2); }
.access-table td { color: var(--muted); font-weight: 300; }
.access-table td:first-child { color: var(--creme); font-weight: 400; }
.access-table tr:last-child td { border-bottom: none; }

.faq-list { display: flex; flex-direction: column; gap: 0; max-width: 760px; }
.faq-item { border-bottom: 0.5px solid var(--muted2); }
.faq-item:first-child { border-top: 0.5px solid var(--muted2); }
.faq-question { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 0; background: none; border: none; cursor: pointer; text-align: left; font-family: 'DM Sans', sans-serif; font-size: 15px; font-weight: 400; color: var(--creme); line-height: 1.4; transition: color 0.2s; }
.faq-question:hover { color: var(--volt); }
.faq-icon { flex-shrink: 0; width: 24px; height: 24px; border: 0.5px solid var(--muted2); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: transform 0.25s, background 0.25s; }
.faq-icon svg { width: 10px; height: 10px; stroke: var(--muted); transition: stroke 0.2s; }
.faq-item.open .faq-icon { transform: rotate(45deg); background: var(--volt); border-color: var(--volt); }
.faq-item.open .faq-icon svg { stroke: var(--noir); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.faq-answer-inner { padding: 0 0 22px; font-size: 14px; font-weight: 300; color: var(--muted); line-height: 1.7; max-width: 640px; }
.faq-answer-inner a { color: var(--volt); }

.city-block { scroll-margin-top: 100px; }
.city-block + .city-block { margin-top: 56px; padding-top: 56px; border-top: 0.5px solid var(--muted2); }
.city-name { font-family: 'Bebas Neue', sans-serif; font-size: 36px; letter-spacing: 0.03em; color: var(--creme); margin-bottom: 12px; }
.city-time { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--volt); margin-bottom: 16px; }

.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding: 48px; max-width: 1320px; margin: 0 auto; }
.blog-card { display: flex; flex-direction: column; border: 0.5px solid var(--muted2); border-radius: var(--radius-md, 14px); overflow: hidden; text-decoration: none; color: inherit; transition: transform 0.25s, box-shadow 0.25s; background: var(--noir3); box-shadow: var(--shadow-soft, 0 10px 30px rgba(20,17,11,0.05)); }
.blog-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover, 0 26px 60px rgba(31,77,63,0.12)); }
.blog-card-img { aspect-ratio: 16/10; object-fit: cover; width: 100%; }
.blog-card-body { padding: 24px; flex: 1; display: flex; flex-direction: column; gap: 10px; }
.blog-card-date { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--volt); }
.blog-card-title { font-family: 'Bebas Neue', sans-serif; font-size: 26px; letter-spacing: 0.03em; color: var(--creme); line-height: 1; }
.blog-card-excerpt { font-size: 13px; font-weight: 300; color: var(--muted); line-height: 1.6; flex: 1; }
.blog-card-link { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--volt); margin-top: 8px; }

.article-wrap { max-width: 680px; margin: 0 auto; padding: 64px 48px 80px; }
.article-meta { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--volt); margin-bottom: 24px; }
.article-body h2 { font-family: 'Bebas Neue', sans-serif; font-size: 28px; letter-spacing: 0.03em; color: var(--creme); margin: 40px 0 16px; line-height: 1; }
.article-body h3 { font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 0.03em; color: var(--creme); margin: 32px 0 12px; line-height: 1; }
.article-body p { font-size: 15px; font-weight: 300; color: var(--muted); line-height: 1.75; margin-bottom: 18px; }
.article-body p strong { color: var(--creme); font-weight: 400; }
.article-body ul { margin: 0 0 20px 20px; }
.article-body li { font-size: 15px; font-weight: 300; color: var(--muted); line-height: 1.7; margin-bottom: 8px; }
.article-body a { color: var(--volt); }

.sidebar-toc { position: sticky; top: 100px; padding: 32px 24px; border-right: 0.5px solid var(--muted2); height: fit-content; }
.sidebar-toc-title { font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); margin-bottom: 16px; }
.sidebar-toc a { display: block; font-size: 13px; color: var(--muted); text-decoration: none; padding: 8px 0; border-bottom: 0.5px solid var(--muted2); transition: color 0.2s; }
.sidebar-toc a:hover, .sidebar-toc a.active { color: var(--volt); }

.hub-layout { display: grid; grid-template-columns: 220px 1fr; min-height: 50vh; }
.hub-main { padding: 48px 56px 80px; }

@media (max-width: 1024px) {
  .content-wrap { padding: 48px 32px; }
  .content-grid-2 { gap: 40px; }
  .hub-layout { grid-template-columns: 180px 1fr; }
  .hub-main { padding: 40px 28px 64px; }
  .blog-grid { grid-template-columns: repeat(2, 1fr); padding: 32px; }
  .article-wrap { padding: 48px 32px 64px; }
}

@media (max-width: 768px) {
  .content-wrap { padding: 40px 20px; }
  .content-grid-2 { grid-template-columns: 1fr; gap: 32px; }
  .content-grid-reverse { direction: ltr; }
  .hub-layout { grid-template-columns: 1fr; }
  .sidebar-toc { display: none; }
  .hub-main { padding: 28px 20px 56px; }
  .blog-grid { grid-template-columns: 1fr; padding: 24px 20px; }
  .article-wrap { padding: 32px 20px 56px; }
  .access-table { font-size: 13px; }
  .access-table th, .access-table td { padding: 12px 10px; }
}
