:root {
  --bg: #130b0f;
  --bg-soft: #1b1015;
  --panel: #24131a;
  --panel-2: #2b1720;
  --wine: #6f1831;
  --wine-light: #9b2d4c;
  --gold: #d6a75d;
  --gold-soft: #f0d49b;
  --cream: #fff8ee;
  --muted: #c9bdbf;
  --line: rgba(255, 248, 238, .12);
  --shadow: 0 24px 80px rgba(0, 0, 0, .32);
  --radius: 24px;
  --container: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--cream);
  background:
    radial-gradient(circle at 85% 8%, rgba(111, 24, 49, .18), transparent 31rem),
    radial-gradient(circle at 7% 55%, rgba(214, 167, 93, .07), transparent 29rem),
    var(--bg);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.container { width: var(--container); margin-inline: auto; }
.skip-link { position: fixed; top: -80px; left: 20px; z-index: 9999; background: var(--cream); color: var(--bg); padding: 12px 18px; border-radius: 0 0 12px 12px; }
.skip-link:focus { top: 0; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid transparent;
  transition: background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
}
.site-header.is-scrolled {
  background: rgba(19, 11, 15, .86);
  border-color: var(--line);
  backdrop-filter: blur(18px);
}
.nav-wrap { height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.brand { display: flex; align-items: center; flex: 0 0 auto; }
.brand img { width: 220px; height: auto; }
.main-nav { display: flex; align-items: center; gap: 22px; }
.main-nav a { color: rgba(255,248,238,.8); font-size: .94rem; font-weight: 650; transition: color .2s ease; }
.main-nav a:hover, .main-nav a[aria-current="page"] { color: var(--gold-soft); }
.nav-cta { padding: 12px 18px; border: 1px solid rgba(214,167,93,.55); border-radius: 999px; color: var(--gold-soft) !important; }
.menu-toggle { display: none; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--line); background: rgba(255,255,255,.03); color: var(--cream); place-items: center; }
.menu-toggle span, .menu-toggle::before, .menu-toggle::after { content: ""; width: 20px; height: 2px; background: currentColor; display: block; transition: transform .2s ease, opacity .2s ease; }
.menu-toggle span { margin: 5px 0; }
.menu-open .menu-toggle span { opacity: 0; }
.menu-open .menu-toggle::before { transform: translateY(7px) rotate(45deg); }
.menu-open .menu-toggle::after { transform: translateY(-7px) rotate(-45deg); }

.hero { min-height: calc(100vh - 84px); display: grid; align-items: center; padding: 64px 0 72px; overflow: hidden; position: relative; }
.hero::before { content:""; position:absolute; inset:auto -10% -40% 40%; height: 560px; background: radial-gradient(circle, rgba(111,24,49,.28), transparent 68%); filter: blur(22px); }
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: center; position: relative; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--gold-soft); letter-spacing: .18em; text-transform: uppercase; font-size: .77rem; font-weight: 800; }
.eyebrow::before { content:""; width: 34px; height: 1px; background: var(--gold); }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; line-height: 1.08; margin: 0; }
h1 { font-size: clamp(3.2rem, 7vw, 6.9rem); letter-spacing: -.055em; max-width: 9.5ch; margin-top: 22px; }
h1 em { color: var(--gold-soft); font-weight: 400; }
.hero-copy > p { color: var(--muted); font-size: clamp(1.03rem, 1.7vw, 1.22rem); max-width: 58ch; margin: 24px 0 0; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.btn { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 52px; padding: 0 22px; border-radius: 999px; font-weight: 800; border: 1px solid transparent; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #24110f; background: linear-gradient(135deg, var(--gold-soft), var(--gold)); box-shadow: 0 12px 30px rgba(214,167,93,.2); }
.btn-secondary { color: var(--cream); border-color: var(--line); background: rgba(255,255,255,.035); }
.btn-secondary:hover { border-color: rgba(214,167,93,.55); }
.hero-points { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin-top: 40px; max-width: 700px; }
.hero-point { border-top: 1px solid var(--line); padding-top: 14px; }
.hero-point strong { display:block; color: var(--cream); font-size:.96rem; }
.hero-point span { color: #a99ca0; font-size: .82rem; }
.hero-visual { position: relative; min-height: 680px; display:grid; place-items:center; }
.hero-visual::before { content:""; position:absolute; width: 82%; aspect-ratio: 1; border:1px solid rgba(214,167,93,.18); border-radius:50%; }
.hero-visual::after { content:""; position:absolute; width: 62%; aspect-ratio: 1; border:1px solid rgba(255,248,238,.08); border-radius:50%; }
.hero-visual img { width: min(700px, 112%); position: relative; z-index: 2; filter: drop-shadow(0 30px 60px rgba(0,0,0,.3)); }
.floating-note { position:absolute; z-index:3; bottom: 8%; left: -1%; width: 230px; padding: 18px; border:1px solid var(--line); border-radius:18px; background: rgba(35,18,25,.82); backdrop-filter: blur(18px); box-shadow: var(--shadow); }
.floating-note strong { display:block; font-family:Georgia,serif; font-size:1.18rem; }
.floating-note span { display:block; margin-top:4px; color:var(--muted); font-size:.86rem; }

.section { padding: 104px 0; }
.section-soft { background: linear-gradient(180deg, rgba(255,255,255,.022), rgba(255,255,255,0)); border-block: 1px solid rgba(255,255,255,.04); }
.section-heading { display:grid; grid-template-columns: .8fr 1.2fr; gap: 40px; align-items:end; margin-bottom: 44px; }
.section-heading h2 { font-size: clamp(2.4rem, 4.4vw, 4.4rem); letter-spacing: -.035em; }
.section-heading p { color: var(--muted); margin:0; max-width: 58ch; justify-self:end; }

.card-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.service-card { min-height: 480px; border:1px solid var(--line); border-radius: var(--radius); overflow:hidden; background: var(--panel); box-shadow: 0 12px 40px rgba(0,0,0,.14); transition: transform .25s ease, border-color .25s ease; }
.service-card:hover { transform: translateY(-7px); border-color: rgba(214,167,93,.35); }
.service-card-media { aspect-ratio: 4 / 2.85; overflow:hidden; background:#1a0d12; }
.service-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.service-card:hover img { transform:scale(1.025); }
.service-card-body { padding: 26px; }
.card-kicker { color:var(--gold); font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.service-card h3 { font-size:1.8rem; margin-top:9px; }
.service-card p { color:var(--muted); margin:12px 0 22px; }
.text-link { color:var(--gold-soft); font-weight:800; display:inline-flex; align-items:center; gap:8px; }
.text-link::after { content:"→"; transition:transform .2s ease; }
.text-link:hover::after { transform:translateX(4px); }

.split { display:grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items:center; }
.visual-panel { min-height: 590px; border-radius: 34px; border:1px solid var(--line); background:
  linear-gradient(160deg, rgba(111,24,49,.55), rgba(20,10,14,.85)),
  repeating-linear-gradient(90deg, transparent 0 78px, rgba(214,167,93,.06) 79px 80px),
  repeating-linear-gradient(0deg, transparent 0 78px, rgba(214,167,93,.04) 79px 80px);
  position:relative; overflow:hidden; box-shadow:var(--shadow);
}
.visual-panel::before { content:""; position:absolute; width:410px; height:410px; border:1px solid rgba(214,167,93,.25); border-radius:50%; right:-80px; top:-50px; }
.visual-panel::after { content:"TANGO"; position:absolute; bottom:-44px; left:22px; font-family:Georgia,serif; font-size:9rem; color:rgba(255,248,238,.045); letter-spacing:.06em; }
.quote-card { position:absolute; left:34px; right:34px; bottom:34px; padding:28px; background:rgba(20,11,15,.78); backdrop-filter:blur(16px); border:1px solid var(--line); border-radius:20px; }
.quote-card p { font-family:Georgia,serif; font-size:1.6rem; line-height:1.35; margin:0; }
.quote-card span { display:block; color:var(--gold); font-size:.8rem; letter-spacing:.15em; text-transform:uppercase; font-weight:800; margin-top:14px; }
.content h2 { font-size:clamp(2.4rem,4.5vw,4.4rem); letter-spacing:-.04em; margin-top:16px; }
.content p { color:var(--muted); margin:20px 0 0; }
.check-list { list-style:none; margin:30px 0 0; padding:0; display:grid; gap:13px; }
.check-list li { display:flex; gap:13px; align-items:flex-start; color:#e4dbdc; }
.check-list li::before { content:"✓"; width:26px; height:26px; flex:0 0 26px; display:grid; place-items:center; border-radius:50%; background:rgba(214,167,93,.12); color:var(--gold-soft); font-weight:900; margin-top:1px; }

.journey { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; counter-reset:step; }
.journey-step { counter-increment:step; padding:26px; min-height:230px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)); }
.journey-step::before { content:"0" counter(step); color:var(--gold); font-family:Georgia,serif; font-size:1.1rem; }
.journey-step h3 { font-size:1.45rem; margin-top:36px; }
.journey-step p { color:var(--muted); margin:10px 0 0; font-size:.94rem; }

.schedule { border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.schedule-row { display:grid; grid-template-columns: 1.2fr .8fr .8fr 1fr; min-height:86px; align-items:center; padding:0 24px; border-top:1px solid var(--line); gap:20px; }
.schedule-row:first-child { border-top:0; }
.schedule-row.head { min-height:60px; background:rgba(214,167,93,.08); color:var(--gold-soft); font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.schedule-row strong { font-family:Georgia,serif; font-size:1.15rem; }
.schedule-row span { color:var(--muted); }
.tag { display:inline-flex; width:max-content; padding:7px 12px; border-radius:999px; background:rgba(111,24,49,.25); color:#ffdce5 !important; font-size:.8rem; font-weight:800; }

.cta-band { padding: 54px; border-radius:32px; background:
  radial-gradient(circle at 15% 30%, rgba(240,212,155,.19), transparent 28%),
  linear-gradient(135deg, #7a1d38, #43101f 65%, #251018); border:1px solid rgba(214,167,93,.26); display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; box-shadow:var(--shadow); }
.cta-band h2 { font-size:clamp(2.2rem,4vw,4rem); }
.cta-band p { color:#eadfe1; margin:12px 0 0; max-width:60ch; }

.faq { display:grid; gap:12px; max-width:900px; margin-inline:auto; }
.faq-item { border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.022); overflow:hidden; }
.faq-question { width:100%; min-height:72px; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 22px; border:0; color:var(--cream); background:transparent; text-align:left; font-weight:800; }
.faq-question::after { content:"+"; font-size:1.5rem; color:var(--gold); transition:transform .2s ease; }
.faq-item.open .faq-question::after { transform:rotate(45deg); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height .25s ease; }
.faq-answer p { color:var(--muted); padding:0 22px 22px; margin:0; }

.page-hero { padding:96px 0 72px; border-bottom:1px solid var(--line); position:relative; overflow:hidden; }
.page-hero::after { content:""; position:absolute; width:540px; height:540px; right:-180px; top:-220px; border:1px solid rgba(214,167,93,.16); border-radius:50%; box-shadow:0 0 0 70px rgba(111,24,49,.05),0 0 0 140px rgba(111,24,49,.035); }
.page-hero h1 { font-size:clamp(3rem,6vw,6rem); max-width:12ch; position:relative; z-index:2; }
.page-hero p { color:var(--muted); max-width:64ch; font-size:1.14rem; margin:24px 0 0; position:relative; z-index:2; }
.breadcrumb { display:flex; gap:8px; color:#9f9295; font-size:.86rem; margin-bottom:24px; }
.breadcrumb a { color:var(--gold); }
.detail-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:start; }
.detail-card { border:1px solid var(--line); border-radius:var(--radius); padding:30px; background:var(--panel); position:sticky; top:108px; }
.detail-card h3 { font-size:1.55rem; }
.detail-card p { color:var(--muted); }
.detail-card .btn { width:100%; margin-top:12px; }
.prose h2 { font-size:clamp(2rem,4vw,3.6rem); margin:0 0 20px; }
.prose h3 { font-size:1.7rem; margin:42px 0 14px; }
.prose p, .prose li { color:var(--muted); }
.prose ul { padding-left:22px; }
.prose .notice { padding:20px; border-left:3px solid var(--gold); background:rgba(214,167,93,.08); border-radius:0 14px 14px 0; color:#e9dfe0; margin:30px 0; }
.feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:28px; }
.feature-box { padding:22px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.022); }
.feature-box strong { display:block; font-family:Georgia,serif; font-size:1.2rem; }
.feature-box span { display:block; color:var(--muted); font-size:.9rem; margin-top:6px; }

.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:start; }
.contact-list { display:grid; gap:14px; margin-top:28px; }
.contact-item { padding:20px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.022); }
.contact-item small { display:block; color:var(--gold); text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.contact-item strong { display:block; margin-top:6px; font-size:1.05rem; }
.form-card { border:1px solid var(--line); border-radius:var(--radius); padding:32px; background:var(--panel); box-shadow:var(--shadow); }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.field { display:grid; gap:8px; }
.field.full { grid-column:1 / -1; }
.field label { font-weight:750; font-size:.9rem; }
.field input, .field select, .field textarea { width:100%; border:1px solid rgba(255,255,255,.13); border-radius:14px; padding:14px 15px; color:var(--cream); background:#170d12; outline:none; transition:border-color .2s ease, box-shadow .2s ease; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:var(--gold); box-shadow:0 0 0 4px rgba(214,167,93,.09); }
.field textarea { min-height:130px; resize:vertical; }
.form-card .btn { margin-top:20px; }
.form-note { color:#a99ca0; font-size:.82rem; margin-top:12px; }

.site-footer { border-top:1px solid var(--line); padding:72px 0 28px; background:#0e080b; }
.footer-grid { display:grid; grid-template-columns:1.2fr .7fr .7fr .9fr; gap:44px; }
.footer-logo { width:230px; }
.footer-about p { color:#a99ca0; max-width:36ch; }
.footer-col h3 { font-family:Inter,sans-serif; font-size:.85rem; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); }
.footer-links { display:grid; gap:10px; margin-top:18px; }
.footer-links a, .footer-links span { color:#b9adb0; font-size:.92rem; }
.footer-links a:hover { color:var(--cream); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:28px; margin-top:48px; border-top:1px solid var(--line); color:#867a7d; font-size:.82rem; }

.reveal { opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in-view { opacity:1; transform:none; }

.cookie-banner { position:fixed; left:20px; right:20px; bottom:20px; z-index:1200; max-width:820px; margin-inline:auto; padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid var(--line); border-radius:18px; background:rgba(27,16,21,.96); box-shadow:var(--shadow); backdrop-filter:blur(16px); }
.cookie-banner p { margin:0; color:var(--muted); font-size:.88rem; }
.cookie-banner button { border:0; border-radius:999px; background:var(--gold); color:#21100f; font-weight:800; padding:10px 16px; }

@media (max-width: 980px) {
  .menu-toggle { display:grid; }
  .main-nav { position:fixed; inset:84px 0 auto; height:calc(100vh - 84px); padding:28px 24px 50px; background:rgba(19,11,15,.98); flex-direction:column; align-items:flex-start; transform:translateX(100%); transition:transform .25s ease; overflow:auto; }
  .menu-open .main-nav { transform:none; }
  .main-nav a { font-size:1.18rem; width:100%; padding:10px 0; border-bottom:1px solid var(--line); }
  .nav-cta { margin-top:10px; text-align:center; border-bottom:1px solid rgba(214,167,93,.55) !important; }
  .hero { min-height:auto; }
  .hero-grid, .split, .detail-grid, .contact-grid { grid-template-columns:1fr; }
  .hero-copy { padding-top:24px; }
  .hero-visual { min-height:560px; }
  .section-heading { grid-template-columns:1fr; gap:18px; }
  .section-heading p { justify-self:start; }
  .card-grid { grid-template-columns:repeat(2,1fr); }
  .journey { grid-template-columns:repeat(2,1fr); }
  .detail-card { position:static; }
  .footer-grid { grid-template-columns:1.2fr 1fr 1fr; }
  .footer-about { grid-column:1 / -1; }
}

@media (max-width: 680px) {
  :root { --container: min(100% - 28px, 1180px); --radius:20px; }
  .nav-wrap { height:72px; }
  .brand img { width:182px; }
  .main-nav { inset:72px 0 auto; height:calc(100vh - 72px); }
  .hero { padding:38px 0 54px; }
  h1 { font-size:clamp(3rem,15vw,4.7rem); }
  .hero-points { grid-template-columns:1fr; gap:10px; }
  .hero-point { display:flex; justify-content:space-between; gap:12px; }
  .hero-visual { min-height:470px; margin-top:10px; }
  .floating-note { left:0; right:0; bottom:0; width:auto; }
  .section { padding:74px 0; }
  .card-grid, .journey, .feature-grid, .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .service-card { min-height:0; }
  .schedule { overflow-x:auto; }
  .schedule-row { min-width:720px; }
  .cta-band { padding:34px 24px; grid-template-columns:1fr; }
  .page-hero { padding:72px 0 56px; }
  .visual-panel { min-height:480px; }
  .quote-card { left:18px; right:18px; bottom:18px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:34px; }
  .footer-about { grid-column:1 / -1; }
  .footer-bottom { flex-direction:column; }
  .cookie-banner { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}

/* 2026 photographic redesign */
.hero-photo {
  min-height: 690px;
  background:
    linear-gradient(90deg, rgba(12, 6, 8, .98) 0%, rgba(12, 6, 8, .91) 33%, rgba(12, 6, 8, .48) 62%, rgba(12, 6, 8, .12) 100%),
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.35)),
    url('../img/hero-tango.webp') center right / cover no-repeat;
}
.hero-photo::before { display:none; }
.hero-photo .hero-grid { grid-template-columns:1fr; }
.hero-photo .hero-copy { max-width:720px; position:relative; z-index:2; }
.hero-photo h1 { max-width:10.5ch; text-shadow:0 4px 28px rgba(0,0,0,.34); }
.hero-photo .hero-points { max-width:690px; }
.hero-photo .hero-visual { display:none; }

.quick-services { background:#f7f3ed; color:#201517; border-bottom:1px solid #e3ddd5; }
.quick-services-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.quick-services a { min-height:150px; padding:28px 25px; display:grid; align-content:center; justify-items:center; text-align:center; border-left:1px solid #ded7cf; transition:background .2s ease, transform .2s ease; }
.quick-services a:last-child { border-right:1px solid #ded7cf; }
.quick-services a:hover { background:#fff; transform:translateY(-3px); }
.quick-services strong { display:block; font-family:Georgia,serif; font-size:1.25rem; }
.quick-services small { display:block; color:#665b5e; margin-top:5px; }
.quick-icon { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(111,24,49,.28); border-radius:50%; color:var(--wine); font-family:Georgia,serif; font-size:.88rem; margin-bottom:12px; }

.section-light { background:#f7f3ed; color:#201517; border-block:1px solid #e5ded6; }
.section-light .eyebrow { color:#8b263f; }
.section-light .eyebrow::before { background:#8b263f; }
.section-light .section-heading p,
.section-light .content p,
.section-light .prose p,
.section-light .prose li,
.section-light .journey-step p,
.section-light .service-card p,
.section-light .faq-answer p { color:#665b5e; }
.section-light .service-card { background:#fff; border-color:#dfd7cf; box-shadow:0 14px 35px rgba(45,25,30,.08); }
.section-light .service-card:hover { border-color:rgba(111,24,49,.34); }
.section-light .service-card-media { background:#e9e1da; }
.section-light .card-kicker,
.section-light .text-link { color:#8b263f; }
.section-light .journey-step { background:#fff; border-color:#dfd7cf; }
.section-light .journey-step::before { color:#8b263f; }
.section-light .faq-item { background:#fff; border-color:#dfd7cf; }
.section-light .faq-question { color:#201517; }
.section-light .faq-question::after { color:#8b263f; }
.section-light .feature-box { background:#fff; border-color:#dfd7cf; }
.section-light .feature-box span { color:#665b5e; }

.card-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.card-grid.four .service-card { min-height:450px; }
.card-grid.four .service-card-body { padding:23px; }
.card-grid.four .service-card h3 { font-size:1.55rem; }

.photo-panel {
  background:
    linear-gradient(180deg, rgba(18,7,10,.08), rgba(18,7,10,.62)),
    url('../img/tango-course.webp') center / cover no-repeat;
}
.visual-panel.photo-panel::before { display:none; }
.visual-panel.photo-panel::after { color:rgba(255,255,255,.08); }

.topic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.topic-card { padding:32px; min-height:270px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015)); }
.topic-card > span { color:var(--gold); font-family:Georgia,serif; }
.topic-card h3 { font-size:2rem; margin-top:42px; }
.topic-card p { color:var(--muted); margin:14px 0 0; }

.photo-cta { padding-top:30px; }
.image-cta {
  min-height:360px;
  background:
    linear-gradient(90deg, rgba(12,6,8,.96), rgba(25,8,13,.82) 52%, rgba(25,8,13,.30)),
    url('../img/tango-feet.webp') center right / cover no-repeat;
}

.page-hero-photo {
  min-height:540px;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(90deg,rgba(11,5,7,.98),rgba(11,5,7,.84) 48%,rgba(11,5,7,.28)),
    url('../img/hero-tango.webp') center right / cover no-repeat;
}
.page-hero-photo::after { display:none; }
.page-hero-photo h1 { max-width:15ch; text-shadow:0 4px 28px rgba(0,0,0,.4); }
.page-hero-photo p { color:#d8ccce; }

.anchor-nav { position:sticky; top:84px; z-index:120; border-bottom:1px solid #dfd7cf; background:rgba(247,243,237,.94); backdrop-filter:blur(14px); }
.anchor-nav .container { display:flex; gap:8px; overflow-x:auto; padding-block:12px; scrollbar-width:none; }
.anchor-nav .container::-webkit-scrollbar { display:none; }
.anchor-nav a { flex:0 0 auto; color:#4f4245; padding:9px 14px; border-radius:999px; font-weight:750; font-size:.88rem; }
.anchor-nav a:hover { background:#fff; color:#7d2039; }

.detail-grid-wide { grid-template-columns:1.1fr .9fr; }
.prose .lead { font-family:Georgia,serif; color:#38282c; font-size:clamp(1.35rem,2.2vw,1.8rem); line-height:1.45; }
.image-card { overflow:hidden; border-radius:28px; background:#fff; border:1px solid #dfd7cf; box-shadow:0 20px 60px rgba(45,25,30,.12); }
.image-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.image-card div { padding:22px 24px; display:grid; gap:4px; }
.image-card strong { font-family:Georgia,serif; font-size:1.35rem; color:#201517; }
.image-card span { color:#7b6d70; font-size:.9rem; }

.level-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.level-card { padding:30px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.018)); }
.level-card > span { display:inline-flex; padding:7px 11px; border-radius:999px; background:rgba(214,167,93,.1); color:var(--gold-soft); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; font-weight:850; }
.level-card h3 { font-size:1.9rem; margin-top:24px; }
.level-card p,
.level-card li { color:var(--muted); }
.level-card ul { margin:20px 0 0; padding-left:18px; }

.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.info-card { min-height:220px; padding:27px; border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.025); }
.info-card > span { color:var(--gold); font-family:Georgia,serif; }
.info-card h3 { font-size:1.5rem; margin-top:34px; }
.info-card p { color:var(--muted); margin:10px 0 0; }

.tango-gallery { display:grid; grid-template-columns:1.15fr .85fr; grid-template-rows:1fr 1fr; gap:14px; min-height:540px; }
.tango-gallery img { width:100%; height:100%; object-fit:cover; border-radius:20px; box-shadow:0 12px 35px rgba(45,25,30,.13); }
.tango-gallery img:first-child { grid-row:1 / 3; }

.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.benefit-card { padding:26px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.025); }
.benefit-card h3 { font-size:1.45rem; }
.benefit-card p { color:var(--muted); margin:10px 0 0; }

.reverse-mobile { direction:rtl; }
.reverse-mobile > * { direction:ltr; }

@media (max-width:1100px) {
  .card-grid.four { grid-template-columns:repeat(2,1fr); }
  .quick-services-grid { grid-template-columns:repeat(2,1fr); }
  .quick-services a:nth-child(3), .quick-services a:nth-child(4) { border-top:1px solid #ded7cf; }
  .level-grid, .info-grid, .benefit-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:980px) {
  .hero-photo { min-height:700px; background-position:62% center; }
  .hero-photo { background:
    linear-gradient(90deg,rgba(12,6,8,.97) 0%,rgba(12,6,8,.88) 55%,rgba(12,6,8,.38) 100%),
    url('../img/hero-tango.webp') 62% center / cover no-repeat; }
  .anchor-nav { top:72px; }
  .detail-grid-wide { grid-template-columns:1fr; }
  .topic-grid { grid-template-columns:1fr; }
  .tango-gallery { min-height:460px; }
}

@media (max-width:680px) {
  .hero-photo { min-height:720px; padding-top:70px; align-items:end; background:
    linear-gradient(180deg,rgba(12,6,8,.22) 0%,rgba(12,6,8,.76) 48%,rgba(12,6,8,.99) 100%),
    url('../img/hero-tango.webp') 64% top / auto 56% no-repeat,
    #12070b; }
  .hero-photo .hero-copy { padding-top:260px; }
  .hero-photo h1 { font-size:clamp(3rem,15vw,4.4rem); }
  .quick-services-grid { grid-template-columns:1fr 1fr; }
  .quick-services a { min-height:135px; padding:22px 13px; }
  .quick-services strong { font-size:1.05rem; }
  .quick-services small { font-size:.78rem; }
  .card-grid.four, .level-grid, .info-grid, .benefit-grid { grid-template-columns:1fr; }
  .page-hero-photo { min-height:560px; background-position:64% center; }
  .anchor-nav .container { width:100%; padding-inline:14px; }
  .tango-gallery { grid-template-columns:1fr 1fr; min-height:420px; }
  .tango-gallery img:first-child { grid-column:1 / 3; grid-row:auto; height:240px; }
  .image-cta { min-height:430px; background:
    linear-gradient(180deg,rgba(12,6,8,.38),rgba(12,6,8,.96)),
    url('../img/tango-feet.webp') center / cover no-repeat; }
}
