/* ============================================================
   Cruzeiro dos Campeões 2027 — Grupo Mirandas
   v2 · Caribe / vacation / sun
   ============================================================ */

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

:root{
  /* Surfaces */
  --cream:        #f7f1e3;
  --cream-2:      #efe5cf;
  --cream-3:      #e6dcc1;
  --paper:        #fffbf0;
  --sand:         #e8dcc4;
  --surf:         #e4f1f1;
  --surf-2:       #d2e9ec;

  /* Mar */
  --turq:         #15a3b8;
  --turq-deep:    #0e7787;
  --turq-dark:    #074a58;
  --turq-pale:    #c3e7eb;
  --lagoon:       #8acdd2;

  /* Profundo */
  --ocean:        #0b3556;
  --ocean-mid:    #1d4d72;

  /* Quentes */
  --coral:        #e8765a;
  --coral-deep:   #b54a35;
  --sun:          #f0a948;
  --sun-pale:     #f9d27a;

  /* Texto */
  --ink:          #0b1d29;
  --ink-soft:     #38505e;
  --ink-mute:     #6d7d85;
  --ink-dim:      #aab4ba;

  /* Linhas */
  --rule:         rgba(11,53,86,.12);
  --rule-soft:    rgba(11,53,86,.05);
  --rule-strong:  rgba(11,53,86,.3);
  --rule-turq:    rgba(21,163,184,.3);

  /* Semantic */
  --good:         #2d8868;
  --warn:         #d97a2b;
  --bad:          #c14a3d;

  /* Fonts */
  --serif: "Cormorant Garamond", "Times New Roman", Georgia, serif;
  --sans:  "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  --mono:  "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
}

*{ box-sizing:border-box; }
html,body{
  margin:0; padding:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
}
body{
  min-height:100vh;
  background:
    radial-gradient(70% 50% at 80% -5%, rgba(21,163,184,.08) 0%, transparent 60%),
    radial-gradient(60% 50% at -10% 90%, rgba(232,118,90,.06) 0%, transparent 60%),
    var(--cream);
  background-attachment: fixed;
}
.serif{ font-family:var(--serif); }
.italic{ font-style:italic; }
.mono{ font-family:var(--mono); }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }

/* =================== MAST =================== */
.mast{
  position:sticky; top:0; z-index:50;
  display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:18px 56px;
  background:rgba(247,241,227,.88);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--rule);
}
.mast .brand{
  display:flex; align-items:center; gap:14px;
}
.mast .logo-img{
  height:34px; width:auto; display:block;
}
.mast .brand .txt{ display:flex; flex-direction:column; gap:2px; line-height:1.1; }
.mast .brand .txt .l1{ font-size:10px; letter-spacing:.32em; text-transform:uppercase; color:var(--turq-deep); font-weight:600; }
.mast .brand .txt .l2{ font-size:12px; color:var(--ink-soft); letter-spacing:.04em; font-family:var(--serif); font-style:italic; }

.mast nav{
  display:flex; gap:32px; align-items:center;
}
.mast nav button{
  font-size:13px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--ink-soft); font-weight:600;
  padding:8px 0;
  position:relative;
  transition:color .2s ease;
}
.mast nav button:hover{ color:var(--ink); }
.mast nav button .ix{
  font-family:var(--mono); font-size:9px; letter-spacing:.2em;
  color:var(--ink-dim); margin-right:8px; font-weight:500;
}
.mast nav button.active{ color:var(--ocean); }
.mast nav button.active::after{
  content:'';
  position:absolute; left:0; right:0; bottom:-1px;
  height:2px; background:var(--turq);
}

.mast .count{
  justify-self:end;
  display:flex; align-items:center; gap:12px;
  padding:8px 14px;
  border:1px solid var(--rule);
  background:var(--paper);
  white-space:nowrap;
}
.mast .count .dot{
  width:7px; height:7px; border-radius:50%;
  background:var(--turq);
  box-shadow:0 0 10px var(--turq);
  animation:pulse 2s ease-in-out infinite;
  flex-shrink:0;
}
.mast .count .info{ display:flex; flex-direction:column; gap:2px; line-height:1.1; }
.mast .count .info .d{
  font-family:var(--mono); font-size:11px; font-weight:600;
  color:var(--ink); letter-spacing:.04em;
}
.mast .count .info .d em{
  color:var(--turq); font-style:normal; font-weight:700;
  font-size:14px;
}
.mast .count .info .l{ font-size:9px; letter-spacing:.28em; color:var(--ink-mute); text-transform:uppercase; }

@keyframes pulse{
  0%,100%{ opacity:1; transform:scale(1); }
  50%{ opacity:.4; transform:scale(.85); }
}

/* =================== PAGE LAYOUT =================== */
.page{
  max-width:1480px;
  margin:0 auto;
  padding:0 56px 120px;
}
.page-eyebrow{
  display:flex; align-items:center; gap:12px;
  font-family:var(--mono);
  font-size:11px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--turq-deep); font-weight:500;
  margin-bottom:18px;
}
.page-eyebrow .bar{ width:40px; height:1px; background:var(--turq); }

.page-h{
  font-family:var(--serif);
  font-size:96px; font-weight:500; font-style:italic;
  letter-spacing:-.02em; line-height:1;
  margin:0;
  color:var(--ocean);
}
.page-h .turq{ color:var(--turq); }
.page-h .coral{ color:var(--coral); }
.page-h .not-italic{ font-style:normal; }
.page-sub{
  font-size:19px; line-height:1.5;
  color:var(--ink-soft);
  max-width:760px;
  margin:24px 0 0;
  font-weight:300;
}

/* =================== HERO PHOTO BANNER =================== */
.hero-photo{
  position:relative;
  margin:0 -56px;
  height:520px;
  overflow:hidden;
  display:flex; align-items:flex-end;
}
.hero-photo .bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center 40%;
}
.hero-photo .bg.placar{
  background-image:url('https://images.unsplash.com/photo-1548574505-5e239809ee19?w=2400&q=85');
  filter:saturate(1.05) contrast(1.02);
}
.hero-photo .bg.embarque{
  background-image:url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=2400&q=85');
  background-position:center 35%;
}
.hero-photo .veil{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(11,29,41,.15) 0%, rgba(11,29,41,0) 30%, rgba(11,29,41,.5) 90%, var(--cream) 100%);
}
.hero-photo .content{
  position:relative; z-index:2;
  width:100%;
  max-width:1480px; margin:0 auto;
  padding:0 56px 80px;
  color:var(--cream);
}
.hero-photo .eb{
  display:flex; align-items:center; gap:14px;
  font-family:var(--mono);
  font-size:11px; letter-spacing:.36em; text-transform:uppercase;
  color:var(--cream); opacity:.85;
  margin-bottom:20px;
}
.hero-photo .eb .bar{ width:40px; height:1px; background:var(--cream); opacity:.8; }
.hero-photo h1{
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:128px; line-height:.92; letter-spacing:-.025em;
  margin:0; max-width:1100px;
  color:var(--cream);
  text-shadow:0 2px 30px rgba(0,0,0,.3);
}
.hero-photo h1 .not-italic{ font-style:normal; }
.hero-photo h1 .turq{ color:var(--turq-pale); font-style:italic; }

/* Wave divider element */
.wave-divider{
  margin:0 -56px;
  height:80px;
  position:relative;
  overflow:hidden;
  margin-top:-80px;
  pointer-events:none;
  z-index:3;
}
.wave-divider svg{ width:100%; height:100%; display:block; }

/* =================== WELCOME / INTRO BAND =================== */
.welcome{
  display:grid; grid-template-columns:1.4fr 1fr;
  gap:64px;
  align-items:end;
  padding:48px 0 56px;
}
.welcome .updated{
  margin-top:24px;
  display:flex; align-items:center; gap:10px;
  font-family:var(--mono);
  font-size:11px; color:var(--ink-mute); letter-spacing:.16em;
  text-transform:uppercase;
}
.welcome .updated .dot{
  width:6px; height:6px; border-radius:50%; background:var(--turq);
  box-shadow:0 0 8px var(--turq);
  animation:pulse 2s ease-in-out infinite;
}

/* Boarding pass — top right */
.bp{
  background:var(--paper);
  border:1px solid var(--rule);
  position:relative;
  display:grid;
  grid-template-columns:1fr 1px 100px;
}
.bp::before, .bp::after{
  content:''; position:absolute; width:18px; height:18px;
  border-radius:50%; background:var(--cream);
  border:1px solid var(--rule);
  top:50%; transform:translateY(-50%);
}
.bp::before{ left:-10px; }
.bp::after{ right:-10px; }
.bp .main{ padding:24px 28px; }
.bp .divider{
  background:repeating-linear-gradient(180deg, var(--rule) 0, var(--rule) 4px, transparent 4px, transparent 8px);
}
.bp .stub{
  padding:24px 16px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
  background:var(--turq);
  color:var(--paper);
}
.bp .label{ font-family:var(--mono); font-size:10px; letter-spacing:.32em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:10px;}
.bp .from-to{
  display:flex; align-items:baseline; gap:10px;
  font-family:var(--serif); font-style:italic;
}
.bp .pt{ font-size:22px; font-weight:600; color:var(--ocean); letter-spacing:-.01em; }
.bp .pt small{ display:block; font-size:10px; color:var(--ink-mute); letter-spacing:.24em; text-transform:uppercase; font-family:var(--mono); font-style:normal; margin-top:2px; }
.bp .arrow{ font-size:18px; color:var(--turq); font-family:var(--mono); font-style:normal; }
.bp .stub .d{
  font-family:var(--mono); font-size:32px; font-weight:600; line-height:1; letter-spacing:-.02em;
}
.bp .stub .l{ font-size:9px; letter-spacing:.36em; text-transform:uppercase; opacity:.85; margin-top:6px; }
.bp .meta{
  display:flex; gap:20px; margin-top:14px; padding-top:14px;
  border-top:1px dashed var(--rule);
  font-family:var(--mono); font-size:11px;
  color:var(--ink-mute); letter-spacing:.06em;
}
.bp .meta b{ color:var(--ink); font-weight:600; }

/* =================== ROTA PANEL =================== */
.rota{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:36px 40px 32px;
  margin-bottom:56px;
  position:relative;
}
.rota .rota-head{
  display:flex; justify-content:space-between; align-items:baseline;
  margin-bottom:32px;
}
.rota .rota-eb{
  font-family:var(--mono); font-size:11px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--turq-deep); font-weight:500;
}
.rota .rota-fig{
  font-family:var(--serif); font-style:italic; font-size:22px; color:var(--ink-soft);
}
.rota .rota-fig b{ color:var(--ocean); font-weight:600; }

.rota .route{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:24px;
  margin-bottom:24px;
}
.rota .port{
  display:flex; flex-direction:column; align-items:flex-start;
  min-width:140px;
}
.rota .port.right{ align-items:flex-end; min-width:140px; }
.rota .port .l{ font-family:var(--mono); font-size:10px; letter-spacing:.32em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:6px;}
.rota .port .n{ font-family:var(--serif); font-style:italic; font-size:32px; color:var(--ocean); font-weight:500; line-height:1; }
.rota .port .s{ font-family:var(--mono); font-size:11px; color:var(--ink-mute); letter-spacing:.1em; margin-top:6px; }

.rota .track{ position:relative; height:64px; }
.rota .track .line{
  position:absolute; left:0; right:0; top:50%; transform:translateY(-50%);
  height:2px;
  background-image:linear-gradient(90deg, var(--turq) 50%, transparent 50%);
  background-size:14px 2px;
  background-repeat:repeat-x;
  opacity:.4;
}
.rota .track .line.passed{
  height:3px;
  background:linear-gradient(90deg, var(--turq-deep), var(--turq));
  opacity:1;
  top:calc(50% - 1.5px);
  transform:none;
}
.rota .track .start, .rota .track .end{
  position:absolute; top:50%; transform:translate(-50%,-50%);
  width:14px; height:14px; border-radius:50%;
  background:var(--paper);
  border:2px solid var(--turq);
  z-index:2;
}
.rota .track .start{ left:0; }
.rota .track .end{ right:0; transform:translate(50%,-50%); }
.rota .track .ship{
  position:absolute; top:50%; transform:translate(-50%,-50%);
  z-index:3;
  transition:left 1.6s cubic-bezier(.4,.7,.3,1);
  filter:drop-shadow(0 4px 10px rgba(21,163,184,.4));
}
.rota .track .ship svg{ display:block; }
.rota .track .ship .pulse{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:32px; height:32px; border-radius:50%;
  border:1px solid var(--turq);
  animation:ringPulse 2.2s ease-out infinite;
}
.rota .track .ship .badge{
  position:absolute; left:50%; top:-44px; transform:translateX(-50%);
  background:var(--ocean); color:var(--paper);
  padding:5px 12px; white-space:nowrap;
  font-family:var(--mono); font-size:11px; letter-spacing:.06em; font-weight:600;
}
.rota .track .ship .badge::after{
  content:''; position:absolute; top:100%; left:50%; transform:translateX(-50%);
  border:5px solid transparent; border-top-color:var(--ocean);
}

@keyframes ringPulse{
  0%{ transform:translate(-50%,-50%) scale(1); opacity:.7; }
  100%{ transform:translate(-50%,-50%) scale(3.5); opacity:0; }
}

.rota .footer{
  display:flex; justify-content:space-between; padding-top:18px; border-top:1px solid var(--rule-soft);
  font-family:var(--mono); font-size:12px; color:var(--ink-mute); letter-spacing:.06em;
}
.rota .footer b{ color:var(--ink); font-weight:600; }
.rota .footer .good{ color:var(--good); font-weight:700; }
.rota .footer .bad{ color:var(--bad); font-weight:700; }

/* =================== KPI STRIP =================== */
.kpi-strip{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:64px;
}
.kpi-card{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:28px 30px 24px;
  display:flex; flex-direction:column; gap:14px;
  min-height:200px;
  position:relative;
}
.kpi-card .top{ display:flex; align-items:center; justify-content:space-between; }
.kpi-card .ix{ font-family:var(--mono); font-size:10px; letter-spacing:.2em; color:var(--turq-deep); font-weight:500; }
.kpi-card .tag{
  font-family:var(--mono); font-size:9px; letter-spacing:.2em; text-transform:uppercase;
  padding:3px 9px; font-weight:600;
}
.kpi-card .tag.ok{ background:rgba(45,136,104,.12); color:var(--good); }
.kpi-card .tag.warn{ background:rgba(217,122,43,.12); color:var(--warn); }
.kpi-card .tag.bad{ background:rgba(193,74,61,.12); color:var(--bad); }
.kpi-card .nm{ font-family:var(--serif); font-style:italic; font-size:24px; color:var(--ink-soft); font-weight:500; }
.kpi-card .v{
  font-size:72px; font-weight:600; letter-spacing:-.04em; line-height:.9;
  color:var(--ocean); font-variant-numeric:tabular-nums;
  margin-top:auto;
}
.kpi-card .v .u{ font-size:28px; color:var(--turq); font-weight:500; margin-left:2px; }
.kpi-card .meta{
  display:flex; justify-content:space-between;
  font-family:var(--mono); font-size:11px; color:var(--ink-mute); letter-spacing:.06em;
  padding-top:14px; border-top:1px solid var(--rule-soft);
}
.kpi-card .meta b{ color:var(--ink); font-weight:600; }

/* =================== SECTION HEAD =================== */
.section-h{
  display:flex; align-items:baseline; justify-content:space-between; gap:32px;
  margin-bottom:32px;
  padding-bottom:16px; border-bottom:1px solid var(--rule);
}
.section-h .left{ display:flex; flex-direction:column; gap:8px; }
.section-h .eb{
  font-family:var(--mono); font-size:10px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--turq-deep); font-weight:500;
}
.section-h h2{
  margin:0;
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:54px; line-height:1; letter-spacing:-.02em;
  color:var(--ocean);
}
.section-h h2 .turq{ color:var(--turq); }
.section-h h2 .not-italic{ font-style:normal; }
.section-h h2 .light{ color:var(--ink-mute); font-weight:400; }
.section-h .right{
  font-family:var(--mono); font-size:11px; color:var(--ink-mute);
  letter-spacing:.18em; text-transform:uppercase;
}

/* =================== PODIUM =================== */
.podium-wrap{ margin-bottom:56px; }
.podium{
  display:grid; grid-template-columns:1fr 1.2fr 1fr;
  gap:18px;
  align-items:end;
}
.pcard{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:28px 28px 24px;
  position:relative;
  display:flex; flex-direction:column; gap:16px;
  min-height:340px;
  overflow:hidden;
}
.pcard .corner-rank{
  position:absolute; top:-12px; right:18px;
  font-family:var(--serif); font-style:italic; font-weight:600;
  font-size:124px; line-height:1; letter-spacing:-.04em;
  color:var(--cream-3);
}
.pcard.first{
  background:var(--ocean); color:var(--paper);
  border-color:var(--ocean);
  min-height:400px;
}
.pcard.first .corner-rank{ color:rgba(255,251,240,.12); font-size:180px; }
.pcard.first::before{
  content:'A BORDO';
  position:absolute; top:18px; left:28px;
  background:var(--turq); color:var(--paper);
  font-family:var(--mono); font-size:10px; letter-spacing:.36em; font-weight:600;
  padding:5px 12px;
}
.pcard .badge-row{ display:flex; align-items:center; gap:10px; margin-top:14px;}
.pcard .tier-pill{
  font-family:var(--mono); font-size:10px; letter-spacing:.3em; text-transform:uppercase;
  padding:4px 10px; font-weight:600;
}
.pcard .who{
  margin-top:auto;
}
.pcard .nm{
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:32px; line-height:1.05; color:var(--ocean); letter-spacing:-.01em;
}
.pcard.first .nm{ color:var(--paper); font-size:40px; }
.pcard .role{
  font-family:var(--mono); font-size:11px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--ink-mute); margin-top:8px;
}
.pcard.first .role{ color:rgba(255,251,240,.6); }
.pcard .pts{
  display:flex; align-items:baseline; gap:8px;
  font-variant-numeric:tabular-nums;
}
.pcard .pts .v{
  font-size:64px; font-weight:600; letter-spacing:-.03em; line-height:.9;
  color:var(--ocean);
}
.pcard.first .pts .v{ color:var(--turq-pale); font-size:88px; }
.pcard .pts .u{ font-family:var(--mono); font-size:13px; color:var(--ink-mute); letter-spacing:.2em; text-transform:uppercase; }
.pcard.first .pts .u{ color:rgba(255,251,240,.6); }
.pcard .stat-row{
  padding-top:14px; margin-top:6px; border-top:1px solid var(--rule-soft);
  display:flex; justify-content:space-between; align-items:baseline;
  font-variant-numeric:tabular-nums;
}
.pcard.first .stat-row{ border-top-color:rgba(255,251,240,.12); }
.pcard .stat-row .k{ font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-mute); }
.pcard.first .stat-row .k{ color:rgba(255,251,240,.6); }
.pcard .stat-row .v{ font-size:18px; font-weight:600; color:var(--ink); }
.pcard.first .stat-row .v{ color:var(--paper); }

/* Tier pill colors */
.tier-suite{ background:var(--turq); color:var(--paper); }
.tier-premium{ background:var(--ocean); color:var(--paper); }
.tier-vista{ background:var(--lagoon); color:var(--ocean); }
.tier-interna{ background:var(--sand); color:var(--ink-soft); }
.tier-fora{ background:rgba(193,74,61,.15); color:var(--bad); }

/* =================== RANKING =================== */
.rank-tools{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:18px; gap:24px;
}
.rank-filters{ display:flex; gap:4px; }
.rank-filters button{
  background:transparent;
  border:1px solid var(--rule);
  color:var(--ink-soft);
  padding:9px 16px;
  font-family:var(--mono);
  font-size:11px; letter-spacing:.2em; text-transform:uppercase; font-weight:500;
  transition:all .2s ease;
}
.rank-filters button:hover{ border-color:var(--rule-strong); color:var(--ink); }
.rank-filters button.active{
  background:var(--ocean); color:var(--paper); border-color:var(--ocean);
}
.rank-filters button .ct{ margin-left:8px; opacity:.5; font-size:10px; font-weight:400; }
.rank-filters button.active .ct{ opacity:.7; }

.rank-search{ flex:1; max-width:280px; position:relative; }
.rank-search input{
  width:100%;
  background:var(--paper);
  border:1px solid var(--rule);
  color:var(--ink);
  padding:11px 16px 11px 38px;
  font-size:13px; font-family:var(--sans);
  outline:none;
}
.rank-search input::placeholder{ color:var(--ink-dim); }
.rank-search input:focus{ border-color:var(--turq); }
.rank-search .ic{
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  width:14px; height:14px; color:var(--ink-mute);
}

.ranking{
  background:var(--paper);
  border:1px solid var(--rule);
}
.rank-row{
  display:grid;
  grid-template-columns:50px 48px 1fr 160px 140px 1fr 100px;
  gap:20px; align-items:center;
  padding:18px 28px;
  border-bottom:1px solid var(--rule-soft);
  cursor:pointer;
  transition:background .2s ease;
}
.rank-row:last-child{ border-bottom:none; }
.rank-row.head{
  cursor:default;
  padding:14px 28px;
  background:var(--cream-2);
  border-bottom:1px solid var(--rule);
}
.rank-row.head:hover{ background:var(--cream-2); }
.rank-row.head > *{
  font-family:var(--mono);
  font-size:9px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--ink-mute); font-weight:600;
}
.rank-row:not(.head):hover{ background:var(--surf); }
.rank-row .rk{
  font-family:var(--serif); font-style:italic;
  font-size:28px; font-weight:600; color:var(--ocean); line-height:1;
  font-variant-numeric:tabular-nums;
}
.rank-row .rk small{ font-size:14px; color:var(--ink-dim); font-style:normal; margin-right:3px; font-family:var(--mono); font-weight:400; }
.rank-row.head .rk{ font-family:var(--mono); font-size:9px; font-weight:600; color:var(--ink-mute); }
.rank-row .av{
  width:42px; height:42px;
  background:var(--surf);
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:13px;
  color:var(--turq-deep);
  border:1px solid var(--rule-soft);
}
.rank-row.head .av{ display:none; }
.rank-row .who{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.rank-row .who .nm{
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:20px; color:var(--ink); letter-spacing:-.01em; line-height:1.1;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.rank-row .who .rl{
  font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-mute);
}
.rank-row .stat{ display:flex; flex-direction:column; gap:2px; font-variant-numeric:tabular-nums; }
.rank-row .stat .v{ font-size:17px; font-weight:600; color:var(--ink); }
.rank-row .stat .k{ font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-mute); }
.rank-row .tier-cell{ display:flex; flex-direction:column; gap:6px; align-items:flex-start; }
.rank-row .tier-cell .sub{ font-family:var(--mono); font-size:10px; color:var(--ink-dim); letter-spacing:.1em; }
.rank-row .progress{ display:flex; flex-direction:column; gap:6px; }
.rank-row .progress .bar{
  height:4px; background:var(--cream-2); position:relative; overflow:hidden;
}
.rank-row .progress .bar .fill{
  position:absolute; left:0; top:0; bottom:0;
  background:linear-gradient(90deg, var(--turq-deep), var(--turq));
}
.rank-row .progress .lab{
  display:flex; justify-content:space-between;
  font-family:var(--mono); font-size:10px; color:var(--ink-mute); letter-spacing:.04em;
  font-variant-numeric:tabular-nums;
}
.rank-row .progress .lab .nxt{ color:var(--turq-deep); font-weight:600; }
.rank-row .pts-cell{
  text-align:right; display:flex; flex-direction:column; gap:4px; align-items:flex-end;
}
.rank-row .pts-cell .v{
  font-size:26px; font-weight:600; letter-spacing:-.03em; line-height:1;
  color:var(--ocean); font-variant-numeric:tabular-nums;
}
.rank-row .pts-cell .d{
  font-family:var(--mono); font-size:11px;
  display:flex; align-items:center; gap:4px; font-weight:500;
}
.rank-row .pts-cell .d.up{ color:var(--good); }
.rank-row .pts-cell .d.down{ color:var(--bad); }
.rank-row .pts-cell .d.flat{ color:var(--ink-dim); }
.rank-row.is-suite{
  background:linear-gradient(90deg, rgba(21,163,184,.06), transparent);
}
.rank-row.is-suite .rk{ color:var(--turq); }

/* =================== TEAMS =================== */
.teams-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:48px;
}
.team-card{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:32px 32px 28px;
  position:relative;
  overflow:hidden;
}
.team-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
}
.team-card.closers::before{ background:var(--coral); }
.team-card.growth::before{ background:var(--turq); }
.team-card.cs::before{ background:var(--sun); }
.team-card .nm{
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:40px; letter-spacing:-.02em; color:var(--ocean); line-height:1;
}
.team-card .sz{
  font-family:var(--mono); font-size:11px; letter-spacing:.2em;
  color:var(--ink-mute); margin-top:6px;
}
.team-card .kpi{ margin-top:28px; }
.team-card .kpi .k{ font-family:var(--mono); font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-mute); }
.team-card .kpi .v{
  font-size:48px; font-weight:600; letter-spacing:-.02em;
  color:var(--ocean); margin-top:6px; font-variant-numeric:tabular-nums;
}
.team-card .kpi .sub{ font-family:var(--mono); font-size:11px; color:var(--ink-mute); margin-top:2px; letter-spacing:.06em; }
.team-card .sec{
  margin-top:20px; padding-top:18px; border-top:1px solid var(--rule-soft);
  display:flex; justify-content:space-between; align-items:baseline;
}
.team-card .sec .k{ font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-mute); }
.team-card .sec .v{ font-size:17px; font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums; }
.team-card .roster{
  margin-top:18px; padding-top:18px; border-top:1px solid var(--rule-soft);
  display:flex; flex-wrap:wrap; gap:5px;
}
.team-card .chip{
  display:flex; align-items:center; gap:6px;
  font-family:var(--mono); font-size:10px;
  padding:5px 10px;
  background:var(--cream);
  color:var(--ink-soft); letter-spacing:.06em;
}
.team-card .chip .dot{ width:5px; height:5px; border-radius:50%; }

/* =================== REGRAS PAGE =================== */
.regras{ display:flex; flex-direction:column; gap:96px; }
.rule-section{ scroll-margin-top:120px; }
.rule-section h3{
  margin:0 0 28px 0;
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:64px; letter-spacing:-.025em; line-height:1;
  color:var(--ocean);
}
.rule-section h3 .turq{ color:var(--turq); }
.rule-section h3 .coral{ color:var(--coral); }
.rule-section h3 .not-italic{ font-style:normal; }
.rule-eb{
  display:flex; align-items:center; gap:14px;
  font-family:var(--mono); font-size:11px; letter-spacing:.32em;
  text-transform:uppercase; color:var(--turq-deep); margin-bottom:14px; font-weight:500;
}
.rule-eb .bar{ width:32px; height:1px; background:var(--turq); }
.rule-lede{
  font-size:18px; line-height:1.55; color:var(--ink-soft); max-width:760px;
  margin-bottom:36px; font-weight:300;
}

/* KPI rule cards */
.r-kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.r-kpi{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:36px 32px 30px;
  position:relative;
  display:flex; flex-direction:column; gap:18px;
  min-height:380px;
  overflow:hidden;
}
.r-kpi::before{
  content:''; position:absolute; top:0; left:0; bottom:0; width:4px;
  background:var(--turq);
}
.r-kpi .ix{ font-family:var(--mono); font-size:10px; letter-spacing:.3em; color:var(--turq-deep); font-weight:500; }
.r-kpi .role{ font-family:var(--mono); font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--ink-mute); }
.r-kpi .num{
  font-size:108px; font-weight:600; letter-spacing:-.05em; line-height:.9;
  color:var(--ocean); font-variant-numeric:tabular-nums; margin-top:auto;
}
.r-kpi .num .u{ font-size:30px; color:var(--turq); font-weight:500; }
.r-kpi .lab{ font-family:var(--serif); font-style:italic; font-weight:500; font-size:24px; color:var(--ink); }
.r-kpi .blurb{ font-size:14px; line-height:1.55; color:var(--ink-soft); }

.equation{
  display:flex; align-items:center; gap:24px;
  margin-top:32px; padding:20px 28px;
  background:var(--ocean); color:var(--paper);
}
.equation .seq{ font-family:var(--mono); font-size:10px; letter-spacing:.3em; color:var(--turq-pale); }
.equation .eq{
  flex:1; font-size:15px; color:rgba(255,251,240,.7);
  display:flex; align-items:center; gap:14px; font-variant-numeric:tabular-nums;
  font-family:var(--mono);
}
.equation .eq b{ color:var(--paper); font-weight:600; }
.equation .eq .op{ color:var(--turq-pale); }
.equation .total{
  font-family:var(--serif); font-style:italic; font-weight:600;
  font-size:24px; color:var(--turq-pale); font-variant-numeric:tabular-nums;
}

/* Caminhos */
.paths{ display:grid; grid-template-columns:1fr 60px 1fr; gap:0; }
.path{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:40px;
  display:flex; flex-direction:column; gap:20px;
  position:relative;
}
.path.solo{ border-color:var(--turq); }
.path .tag{
  align-self:flex-start;
  font-family:var(--mono); font-size:10px; letter-spacing:.3em; text-transform:uppercase;
  padding:5px 12px; background:var(--surf); color:var(--turq-deep); font-weight:600;
}
.path h4{
  margin:0;
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:36px; line-height:1.05; letter-spacing:-.015em; color:var(--ocean);
}
.path h4 .turq{ color:var(--turq); }
.path .desc{ font-size:15px; color:var(--ink-soft); line-height:1.5; max-width:380px; }
.path .formula{
  margin-top:auto; padding-top:22px; border-top:1px solid var(--rule-soft);
  font-family:var(--mono); font-size:13px; line-height:1.9;
}
.path .formula .k{ color:var(--ink-mute); }
.path .formula .v{ color:var(--ocean); font-weight:600; }
.path .badge{
  position:absolute; top:36px; right:36px;
  font-family:var(--serif); font-style:italic; font-weight:600;
  font-size:48px; color:var(--cream-3); line-height:1;
}
.path-divider{ display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--turq-deep); }
.path-divider .line{ width:1px; flex:1; background:var(--rule); }
.path-divider .or{
  font-family:var(--serif); font-style:italic; font-weight:600;
  font-size:18px; padding:12px 0;
}

/* Cabin rows */
.cabin-rows{ display:flex; flex-direction:column; gap:12px; }
.cabin{
  display:grid;
  grid-template-columns:88px 1fr 220px 200px 80px;
  gap:28px; align-items:center;
  padding:22px 28px;
  background:var(--paper);
  border:1px solid var(--rule);
  position:relative;
  overflow:hidden;
}
.cabin .glyph{
  width:68px; height:68px;
  display:flex; align-items:center; justify-content:center;
  background:var(--surf);
  color:var(--ocean);
}
.cabin .glyph svg{ width:34px; height:34px; }
.cabin .name-row{ display:flex; flex-direction:column; gap:6px; }
.cabin .tier{ font-family:var(--mono); font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-mute); }
.cabin .name{
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:36px; letter-spacing:-.015em; color:var(--ocean); line-height:1;
}
.cabin .range{ font-family:var(--mono); font-size:13px; color:var(--ink-soft); letter-spacing:.05em; }
.cabin .bar{ height:5px; background:var(--cream-2); position:relative; overflow:hidden; }
.cabin .bar .fill{ position:absolute; left:0; top:0; bottom:0; background:var(--turq); }
.cabin .index{ font-family:var(--mono); font-size:11px; color:var(--ink-dim); text-align:right; letter-spacing:.1em; }
.cabin.suite{ border-color:var(--turq); }
.cabin.suite .glyph{ background:var(--turq); color:var(--paper); }
.cabin.suite .name{ color:var(--turq-deep); }
.cabin.premium .glyph{ background:var(--ocean); color:var(--paper); }
.cabin.premium .name{ color:var(--ocean); }
.cabin.vista .glyph{ background:var(--lagoon); color:var(--ocean); }
.cabin.vista .name{ color:var(--turq-deep); }
.cabin.interna .glyph{ background:var(--sand); color:var(--ink-soft); }
.cabin.interna .name{ color:var(--ink-soft); }
.cabin.vista .bar .fill{ background:var(--lagoon); }
.cabin.premium .bar .fill{ background:var(--ocean); }
.cabin.interna .bar .fill{ background:var(--sand); }

/* Scoring tables */
.scoring{
  background:var(--paper);
  border:1px solid var(--rule);
  display:flex; flex-direction:column;
}
.scoring .row{
  display:grid; grid-template-columns:60px 1fr 200px 120px;
  gap:24px; align-items:center;
  padding:20px 28px;
  border-bottom:1px solid var(--rule-soft);
  font-size:15px;
}
.scoring .row:last-child{ border-bottom:none; }
.scoring .row .ix{ font-family:var(--mono); font-size:11px; color:var(--ink-mute); letter-spacing:.18em; }
.scoring .row .cond{ color:var(--ink); font-weight:500; }
.scoring .row .cond small{ display:block; font-size:12px; color:var(--ink-mute); font-weight:400; margin-top:4px; }
.scoring .row .threshold{ font-family:var(--mono); font-size:13px; color:var(--ink-soft); text-align:right; letter-spacing:.04em; }
.scoring .row .pts{
  text-align:right; font-weight:600; font-size:24px; color:var(--turq);
  font-variant-numeric:tabular-nums; font-family:var(--serif); font-style:italic;
}
.scoring .row.head{ background:var(--cream-2); padding:14px 28px; }
.scoring .row.head > *{ font-family:var(--mono); font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-mute); font-weight:600; }
.scoring .row.head .pts{ font-style:normal; font-family:var(--mono); }
.scoring .row.super{ background:rgba(21,163,184,.04); }
.scoring .row.super .pts{ color:var(--turq-deep); }
.scoring .row.zona{ background:rgba(193,74,61,.05); }
.scoring .row.zona .ix, .scoring .row.zona .cond{ color:var(--bad); }
.scoring .row.zona .cond small{ color:rgba(193,74,61,.65); }
.scoring .row.zona .pts{ color:var(--bad); font-family:var(--mono); font-style:normal; font-size:13px; letter-spacing:.2em; }

.scoring-layout{ display:grid; grid-template-columns:1fr 320px; gap:28px; }
.role-card-side{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:28px;
  align-self:flex-start;
}
.role-card-side .label{ font-family:var(--mono); font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:var(--turq-deep); margin-bottom:12px; font-weight:500; }
.role-card-side .name{ font-family:var(--serif); font-style:italic; font-weight:500; font-size:44px; line-height:.95; color:var(--ocean); letter-spacing:-.02em; }
.role-card-side .count{ font-family:var(--mono); font-size:11px; color:var(--ink-mute); letter-spacing:.1em; margin-top:6px; }
.role-card-side .meta{
  margin-top:24px; padding-top:20px; border-top:1px solid var(--rule-soft);
  display:flex; flex-direction:column; gap:10px;
}
.role-card-side .meta .line{ display:flex; justify-content:space-between; font-size:13px; }
.role-card-side .meta .line .k{ color:var(--ink-mute); font-family:var(--mono); font-size:11px; letter-spacing:.06em; }
.role-card-side .meta .line .v{ color:var(--ocean); font-weight:600; font-family:var(--mono); font-size:13px; }
.role-card-side .note{
  margin-top:20px; padding:16px 18px; background:var(--cream);
  font-size:13px; line-height:1.55; color:var(--ink-soft);
}
.role-card-side .note b{ color:var(--turq-deep); font-weight:600; }

/* Interdependence */
.deps-wrap{ display:grid; grid-template-columns:1.1fr 1fr; gap:48px; }
.deps-diagram{ position:relative; aspect-ratio:1/1; max-width:560px; }
.deps-diagram svg{ width:100%; height:100%; }
.deps-diagram .node-ring{ fill:none; stroke:var(--rule); stroke-width:1; }
.deps-diagram .node-bg{ fill:var(--paper); stroke:var(--turq); stroke-width:1.5; }
.deps-diagram .node-label{ fill:var(--ocean); font-size:14px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; text-anchor:middle; font-family:var(--sans); }
.deps-diagram .node-sub{ fill:var(--ink-mute); font-size:9px; letter-spacing:.2em; text-transform:uppercase; text-anchor:middle; font-family:var(--mono); }
.deps-diagram .arrow-line{ stroke:var(--turq); stroke-width:1.5; fill:none; opacity:.55; }
.deps-diagram .arrow-head{ fill:var(--turq); opacity:.85; }
.deps-diagram .center-label{ fill:var(--turq-deep); font-size:11px; letter-spacing:.4em; text-transform:uppercase; text-anchor:middle; font-weight:600; font-family:var(--mono); }
.deps-diagram .center-sub{ fill:var(--ink-mute); font-size:9px; text-anchor:middle; letter-spacing:.2em; text-transform:uppercase; font-family:var(--mono); }

.deps-list{ display:flex; flex-direction:column; gap:12px; align-self:center; }
.deps-list .item{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:20px 24px;
  display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:center;
}
.deps-list .item .from{
  font-family:var(--mono); font-size:12px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--turq-deep); font-weight:600; min-width:100px;
}
.deps-list .item .body{ font-size:15px; line-height:1.5; color:var(--ink); }
.deps-list .item .body b{ color:var(--ocean); font-weight:600; font-family:var(--serif); font-style:italic; font-size:18px; }
.deps-list .item .body small{ display:block; font-size:12px; color:var(--ink-mute); margin-top:4px; font-family:var(--mono); letter-spacing:.04em; }

/* AI Bonus */
.ai-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:24px; }
.ai-left{ display:flex; flex-direction:column; gap:18px; }
.ai-stat-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; background:var(--paper); border:1px solid var(--rule); }
.ai-stat{ padding:26px 24px; border-right:1px solid var(--rule-soft); }
.ai-stat:last-child{ border-right:none; background:var(--surf); }
.ai-stat .k{ font-family:var(--mono); font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:12px; }
.ai-stat .v{ font-size:54px; font-weight:600; letter-spacing:-.03em; line-height:.9; color:var(--ocean); font-variant-numeric:tabular-nums; }
.ai-stat:last-child .v{ color:var(--turq-deep); }
.ai-stat .v small{ font-size:20px; color:var(--turq); margin-left:4px; font-weight:500; }
.ai-stat .unit{ font-family:var(--mono); font-size:11px; color:var(--ink-mute); margin-top:6px; letter-spacing:.06em; }
.ai-explainer{ padding:28px; background:var(--paper); border:1px solid var(--rule); }
.ai-explainer h4{ margin:0 0 14px; font-family:var(--mono); font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--turq-deep); font-weight:600; }
.ai-explainer p{ margin:0; font-size:16px; line-height:1.55; color:var(--ink); }
.ai-explainer p + p{ margin-top:12px; color:var(--ink-soft); font-size:14px; }
.ai-example{
  background:var(--ocean); color:var(--paper);
  padding:32px;
}
.ai-example .hd{ font-family:var(--mono); font-size:10px; letter-spacing:.36em; text-transform:uppercase; color:var(--turq-pale); margin-bottom:20px; }
.ai-example .step{ display:grid; grid-template-columns:90px 1fr; align-items:baseline; gap:18px; padding:14px 0; border-top:1px solid rgba(255,251,240,.12); }
.ai-example .step:first-of-type{ border-top:none; }
.ai-example .step .pts{ font-family:var(--mono); font-size:13px; color:rgba(255,251,240,.6); letter-spacing:.06em; }
.ai-example .step .res{ font-family:var(--serif); font-style:italic; font-weight:500; font-size:28px; }
.ai-example .arrow{
  margin:8px 0; font-family:var(--mono); font-size:10px;
  color:var(--turq-pale); letter-spacing:.3em;
  border-top:1px dashed rgba(255,251,240,.2); padding-top:14px;
}
.ai-example .res-before{ color:var(--lagoon); }
.ai-example .res-after{ color:var(--sun); }

/* Monte Carlo */
.mc-list{ display:flex; flex-direction:column; gap:10px; }
.mc-row{
  display:grid; grid-template-columns:110px 220px 1fr 140px 100px;
  gap:24px; align-items:center;
  padding:22px 28px;
  background:var(--paper); border:1px solid var(--rule);
  position:relative;
}
.mc-row .ix{ font-family:var(--mono); font-size:10px; color:var(--ink-mute); letter-spacing:.2em; }
.mc-row .scn{ font-family:var(--mono); font-size:13px; color:var(--ink); letter-spacing:.04em; }
.mc-row .scn small{ display:block; font-size:11px; color:var(--ink-mute); margin-top:4px; letter-spacing:.04em; }
.mc-row .bar{ height:6px; background:var(--cream-2); position:relative; overflow:hidden; }
.mc-row .bar .fill{ position:absolute; left:0; top:0; bottom:0; transition:width 1.2s cubic-bezier(.2,.7,.2,1); }
.mc-row .res{
  font-family:var(--serif); font-style:italic; font-weight:600;
  font-size:30px; letter-spacing:-.02em; text-align:right;
  font-variant-numeric:tabular-nums;
}
.mc-row .prob{ font-family:var(--mono); font-size:13px; text-align:right; letter-spacing:.04em; }
.mc-row.red .bar .fill{ background:linear-gradient(90deg, var(--coral-deep), var(--coral)); }
.mc-row.red .res, .mc-row.red .prob{ color:var(--bad); }
.mc-row.orange .bar .fill{ background:linear-gradient(90deg, #b8782c, var(--warn)); }
.mc-row.orange .res, .mc-row.orange .prob{ color:var(--warn); }
.mc-row.gold{ border-color:var(--turq); background:rgba(21,163,184,.04); }
.mc-row.gold .bar .fill{ background:linear-gradient(90deg, var(--turq-deep), var(--turq)); }
.mc-row.gold .res, .mc-row.gold .prob{ color:var(--turq-deep); }
.mc-row.green .bar .fill{ background:linear-gradient(90deg, #1f6a4f, var(--good)); }
.mc-row.green .res, .mc-row.green .prob{ color:var(--good); }

/* =================== EMBARQUE PAGE =================== */
.emb-stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
  margin-bottom:64px;
  margin-top:48px;
}
.emb-stat{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:28px 26px;
}
.emb-stat.feature{ background:var(--ocean); color:var(--paper); border-color:var(--ocean); }
.emb-stat .k{ font-family:var(--mono); font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:14px; }
.emb-stat.feature .k{ color:var(--turq-pale); }
.emb-stat .v{
  font-size:56px; font-weight:600; letter-spacing:-.04em; line-height:.9;
  color:var(--ocean); font-variant-numeric:tabular-nums;
}
.emb-stat.feature .v{ color:var(--turq-pale); }
.emb-stat .sub{ font-family:var(--mono); font-size:11px; color:var(--ink-mute); margin-top:8px; letter-spacing:.06em; }
.emb-stat.feature .sub{ color:rgba(255,251,240,.6); }

.emb-list{ margin-bottom:64px; }
.emb-list h3{
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:42px; letter-spacing:-.02em; line-height:1;
  margin:0 0 14px; color:var(--ocean);
}
.emb-list h3.turq{ color:var(--turq); }
.emb-list .desc{
  font-size:17px; line-height:1.55; color:var(--ink-soft); max-width:780px;
  margin:0 0 24px;
}
.emb-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.emb-card{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:20px 22px;
  display:flex; align-items:center; gap:16px;
}
.emb-card.embarked{ border-color:var(--turq); background:linear-gradient(90deg, rgba(21,163,184,.06), var(--paper)); }
.emb-card .av{
  width:42px; height:42px;
  background:var(--surf);
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:13px; color:var(--turq-deep);
}
.emb-card.embarked .av{ background:var(--turq); color:var(--paper); }
.emb-card .body{ flex:1; display:flex; flex-direction:column; gap:3px; min-width:0; }
.emb-card .body .nm{
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:18px; color:var(--ink); line-height:1.1; letter-spacing:-.005em;
}
.emb-card .body .rl{ font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-mute); }
.emb-card .status{
  font-family:var(--mono); font-size:10px; letter-spacing:.3em; text-transform:uppercase;
  padding:5px 11px; font-weight:600;
}

.emb-close{
  border-top:1px solid var(--rule);
  padding-top:48px;
  display:flex; justify-content:space-between; align-items:center;
  margin-top:32px;
}
.emb-close .left{
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:32px; color:var(--ocean); letter-spacing:-.01em;
}
.emb-close .stamp{
  border:2px solid var(--turq);
  padding:16px 28px;
  font-family:var(--mono); font-size:12px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--turq-deep); font-weight:700;
}

/* =================== FOOTER =================== */
.foot{
  border-top:1px solid var(--rule);
  padding:32px 56px;
  display:flex; justify-content:space-between; align-items:center;
  font-family:var(--mono); font-size:11px;
  color:var(--ink-mute); letter-spacing:.18em; text-transform:uppercase;
  background:var(--cream);
}
.foot .dot{ width:4px; height:4px; background:var(--turq); border-radius:50%; display:inline-block; margin:0 10px; }

/* =================== TRANSITIONS =================== */
.fade-in{ animation:fadeUp .5s cubic-bezier(.2,.7,.2,1) both; }
@keyframes fadeUp{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}

/* =================== RESPONSIVE =================== */
@media (max-width:1100px){
  .mast{ grid-template-columns:1fr; gap:14px; padding:14px 24px; }
  .mast nav, .mast .count{ justify-self:start; }
  .page{ padding:0 24px 80px; }
  .page-h{ font-size:56px; }
  .hero-photo{ margin:0 -24px; height:380px; }
  .hero-photo .content{ padding:0 24px 56px; }
  .hero-photo h1{ font-size:56px; }
  .welcome{ grid-template-columns:1fr; gap:32px; }
  .kpi-strip, .r-kpis, .teams-grid, .emb-stats, .emb-grid{ grid-template-columns:1fr; }
  .podium{ grid-template-columns:1fr; gap:12px; }
  .pcard, .pcard.first{ min-height:auto; }
  .rank-row{ grid-template-columns:40px 1fr 100px; gap:14px; }
  .rank-row .av, .rank-row .progress, .rank-row .stat, .rank-row .tier-cell{ display:none; }
  .paths{ grid-template-columns:1fr; }
  .path-divider{ flex-direction:row; padding:14px 0; }
  .path-divider .line{ height:1px; flex:1; width:auto; }
  .scoring-layout, .deps-wrap, .ai-grid{ grid-template-columns:1fr; }
  .cabin{ grid-template-columns:60px 1fr 100px; gap:14px; }
  .cabin .bar, .cabin .index{ display:none; }
  .mc-row{ grid-template-columns:80px 1fr 120px; }
  .mc-row .scn small, .mc-row .bar{ display:none; }
  .ai-stat-row{ grid-template-columns:1fr; }
  .ai-stat{ border-right:none; border-bottom:1px solid var(--rule-soft); }
  .rota{ padding:24px; }
  .rota .route{ grid-template-columns:1fr; gap:16px; }
  .rota .track{ height:48px; }
  .section-h h2{ font-size:36px; }
  .rule-section h3{ font-size:42px; }
}
