:root{
  --polita-black:#050505;
  --polita-cyan:#09F9E8;
  --polita-azure:#00BFFF;
  --polita-blue:#087CFF;

  --polita-white:rgba(232,246,255,.96);
  --polita-soft:rgba(226,234,255,.68);
  --polita-muted:rgba(226,234,255,.50);

  --polita-card:
    linear-gradient(
      180deg,
      rgba(15,20,38,.94),
      rgba(7,10,22,.97)
    );

  --polita-border:rgba(148,163,184,.14);
  --polita-cyan-border:rgba(103,232,249,.20);
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  background:var(--polita-black);
}

body{
  margin:0;
  min-height:100vh;

  color:var(--polita-white);

  background:var(--polita-black);

  font-family:
    "Rajdhani",
    "Inter",
    Arial,
    sans-serif;

  font-weight:700;
}

button,
input{
  font:inherit;
}

button,
a{
  -webkit-tap-highlight-color:transparent;
}

a{
  color:inherit;
  text-decoration:none;
}

button{
  color:inherit;
}

.polita-app-background{
  position:fixed;
  inset:0;
  z-index:-4;

  background:
    linear-gradient(
      180deg,
      rgba(5,5,5,.14),
      rgba(5,5,5,.44) 52%,
      rgba(5,5,5,.92)
    ),
    url("/assets/polita-hero-background.png")
      center top / cover no-repeat;

  opacity:.92;
}

.polita-app-background::after{
  content:"";

  position:absolute;
  inset:0;

  background:
    radial-gradient(
      circle at 18% 8%,
      rgba(9,249,232,.07),
      transparent 34%
    ),
    radial-gradient(
      circle at 85% 11%,
      rgba(0,191,255,.12),
      transparent 37%
    ),
    linear-gradient(
      180deg,
      transparent 0%,
      rgba(5,5,5,.10) 48%,
      rgba(5,5,5,.96) 100%
    );
}

.polita-app-vignette{
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;

  background:
    radial-gradient(
      circle at center,
      transparent 0%,
      rgba(0,0,0,.18) 58%,
      rgba(0,0,0,.58) 100%
    );
}


/* ============================================================
   HEADER
   ============================================================ */

.polita-app-header{
  position:sticky;
  top:0;
  z-index:100;

  height:64px;
  min-height:64px;

  background:rgba(5,7,18,.76);

  backdrop-filter:
    blur(18px)
    saturate(120%);

  -webkit-backdrop-filter:
    blur(18px)
    saturate(120%);

  border-bottom:
    1px solid rgba(148,163,184,.12);

  box-shadow:
    0 18px 50px rgba(0,0,0,.28);
}

.polita-app-header-inner{
  width:min(1240px,calc(100% - 24px));
  height:100%;

  margin:0 auto;

  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;

  gap:20px;
}

.polita-brand{
  display:inline-flex;
  align-items:center;

  gap:9px;

  width:max-content;

  user-select:none;
}

.polita-brand-logo{
  display:block;

  width:27px;
  height:27px;

  object-fit:contain;

  filter:
    drop-shadow(
      0 0 4px
      rgba(0,217,255,.20)
    );
}

.polita-brand-word{
  color:rgba(226,237,246,.96);

  font-family:
    "Orbitron",
    "Michroma",
    "Rajdhani",
    Arial,
    sans-serif;

  font-size:13px;
  line-height:1;

  font-weight:600;

  letter-spacing:.30em;

  text-transform:uppercase;

  text-shadow:
    0 0 8px
    rgba(96,206,255,.08);
}

.polita-app-nav{
  display:flex;
  align-items:center;
  justify-content:center;

  gap:5px;
}

.polita-app-nav a{
  min-height:36px;

  padding:0 14px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  border:
    1px solid transparent;

  border-radius:9px;

  color:
    rgba(226,234,255,.78);

  background:transparent;

  font-family:
    "Rajdhani",
    Arial,
    sans-serif;

  font-size:14px;
  line-height:1;

  font-weight:900;

  letter-spacing:.01em;

  transition:
    color .18s ease,
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.polita-app-nav a:hover{
  color:#fff;

  background:
    rgba(15,23,42,.58);

  border-color:
    rgba(34,211,238,.20);
}

.polita-app-nav a.is-active{
  color:#fff;

  border-color:
    rgba(34,211,238,.24);

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(34,211,238,.10),
      transparent 70%
    ),
    rgba(15,23,42,.62);

  box-shadow:
    0 0 20px
    rgba(34,211,238,.08);
}


/* Exact homepage-style Login family */

.polita-login{
  position:relative;

  justify-self:end;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:88px;
  min-width:88px;

  height:32px;
  min-height:32px;

  padding:0 14px;

  overflow:hidden;

  border-radius:8px;

  background:
    linear-gradient(
      180deg,
      rgba(13,26,37,.97) 0%,
      rgba(5,17,27,.98) 48%,
      rgba(3,13,22,.99) 100%
    );

  border:
    1px solid
    rgba(108,238,255,.94);

  box-shadow:
    0 0 0 1px
      rgba(44,201,224,.16)
      inset,
    0 0 10px
      rgba(0,227,255,.25),
    0 0 22px
      rgba(0,191,255,.16);

  backdrop-filter:blur(8px);

  -webkit-backdrop-filter:
    blur(8px);

  isolation:isolate;

  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease,
    transform .18s ease;
}

.polita-login::before{
  content:"";

  position:absolute;
  inset:0;

  z-index:0;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.055),
      rgba(255,255,255,.012) 45%,
      transparent 75%
    );
}

.polita-login::after{
  content:"";

  position:absolute;
  inset:0;

  z-index:0;

  background:
    radial-gradient(
      ellipse at 50% 0%,
      rgba(68,220,255,.10),
      transparent 70%
    );
}

.polita-login span{
  position:relative;
  z-index:2;

  color:
    rgba(232,246,255,.96);

  font-family:
    "Michroma",
    "Orbitron",
    "Rajdhani",
    Arial,
    sans-serif;

  font-size:9px;
  line-height:1;

  font-weight:500;

  letter-spacing:.075em;

  text-transform:uppercase;

  text-shadow:
    0 0 6px
    rgba(90,220,255,.10);
}

.polita-login:hover{
  transform:
    translateY(-1px);

  border-color:
    rgba(137,247,255,1);

  background:
    linear-gradient(
      180deg,
      rgba(17,35,48,.99) 0%,
      rgba(6,22,33,.99) 52%,
      rgba(4,16,26,.99) 100%
    );

  box-shadow:
    0 0 0 1px
      rgba(79,229,246,.20)
      inset,
    0 0 13px
      rgba(0,235,255,.34),
    0 0 28px
      rgba(0,191,255,.20);
}


/* ============================================================
   MAIN
   ============================================================ */

.polita-app-main{
  width:min(1240px,calc(100% - 24px));

  margin:0 auto;
}

.polita-hero{
  min-height:610px;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:
    92px 0
    82px;
}

.polita-hero-inner{
  position:relative;

  width:min(940px,100%);

  padding:
    54px
    56px
    48px;

  text-align:center;

  background:
    radial-gradient(
      circle at 15% 0%,
      rgba(34,211,238,.16),
      transparent 34%
    ),
    radial-gradient(
      circle at 85% 10%,
      rgba(124,58,237,.18),
      transparent 36%
    ),
    linear-gradient(
      180deg,
      rgba(12,18,36,.95),
      rgba(5,8,18,.97)
    );

  border:
    1px solid
    rgba(148,163,184,.14);

  border-radius:22px;

  box-shadow:
    0 28px 90px
      rgba(0,0,0,.42),
    0 0 70px
      rgba(34,211,238,.055),
    inset 0 1px 0
      rgba(255,255,255,.05);

  backdrop-filter:blur(14px);

  -webkit-backdrop-filter:
    blur(14px);
}

.polita-kicker,
.polita-section-kicker{
  color:var(--polita-cyan);

  font-family:
    "Rajdhani",
    Arial,
    sans-serif;

  font-size:12px;

  font-weight:900;

  letter-spacing:.18em;

  text-transform:uppercase;

  text-shadow:
    0 0 14px
    rgba(9,249,232,.16);
}

.polita-hero h1{
  margin:
    12px 0
    18px;

  color:#fff;

  font-family:
    "Rajdhani",
    Arial,
    sans-serif;

  font-size:
    clamp(
      3.1rem,
      7vw,
      5.85rem
    );

  line-height:.91;

  font-weight:900;

  letter-spacing:.01em;
}

.polita-hero h1 span{
  display:block;

  background:
    linear-gradient(
      90deg,
      #fff 0%,
      #67e8f9 38%,
      #8b5cf6 100%
    );

  -webkit-background-clip:text;
  background-clip:text;

  color:transparent;

  filter:
    drop-shadow(
      0 0 24px
      rgba(34,211,238,.12)
    );
}

.polita-hero-copy{
  max-width:760px;

  margin:
    0 auto
    34px;

  color:
    rgba(226,234,255,.68);

  font-family:
    "Rajdhani",
    Arial,
    sans-serif;

  font-size:1.12rem;
  line-height:1.5;

  font-weight:800;
}

.polita-search{
  width:min(720px,100%);

  min-height:56px;

  margin:0 auto;

  padding:0 16px;

  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;

  gap:12px;

  border:
    1px solid
    rgba(103,232,249,.26);

  border-radius:13px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.035),
      rgba(255,255,255,.015)
    ),
    rgba(5,8,18,.88);

  box-shadow:
    inset 0 1px 0
      rgba(255,255,255,.04),
    0 14px 38px
      rgba(0,0,0,.25);
}

.polita-search-symbol{
  color:var(--polita-cyan);

  font-size:24px;

  line-height:1;
}

.polita-search input{
  width:100%;

  border:0;
  outline:0;

  color:#fff;

  background:transparent;

  font-family:
    "Rajdhani",
    Arial,
    sans-serif;

  font-size:15px;

  font-weight:800;

  letter-spacing:.015em;
}

.polita-search input::placeholder{
  color:
    rgba(226,234,255,.42);
}

.polita-search kbd{
  min-width:27px;

  padding:
    4px 7px;

  border:
    1px solid
    rgba(103,232,249,.14);

  border-radius:7px;

  color:
    rgba(226,234,255,.52);

  background:
    rgba(0,0,0,.22);

  font-family:
    "Rajdhani",
    Arial,
    sans-serif;

  font-size:11px;

  font-weight:800;
}

.polita-filter-row{
  margin-top:14px;

  display:flex;
  justify-content:center;
  flex-wrap:wrap;

  gap:8px;
}

.polita-filter-row button{
  min-height:36px;

  padding:0 15px;

  border:
    1px solid
    rgba(148,163,184,.14);

  border-radius:10px;

  background:
    rgba(15,23,42,.62);

  color:
    rgba(226,234,255,.76);

  cursor:pointer;

  font-family:
    "Rajdhani",
    Arial,
    sans-serif;

  font-size:13px;

  font-weight:900;

  letter-spacing:.04em;

  text-transform:uppercase;

  transition:
    transform .18s ease,
    border-color .18s ease,
    color .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

.polita-filter-row button:hover{
  color:#fff;

  border-color:
    rgba(34,211,238,.24);

  background:
    rgba(15,23,42,.82);
}

.polita-filter-row button.is-active{
  color:#fff;

  border-color:
    rgba(103,232,249,.40);

  background:
    linear-gradient(
      90deg,
      rgba(12,85,104,.92),
      rgba(62,67,164,.88)
    );

  box-shadow:
    0 0 0 1px
      rgba(94,219,255,.12),
    0 0 18px
      rgba(94,219,255,.10);
}


/* ============================================================
   SECTIONS
   ============================================================ */

.polita-section{
  padding:
    24px 0
    74px;
}

.polita-section-heading{
  margin-bottom:22px;

  display:flex;
  align-items:end;
  justify-content:space-between;

  gap:24px;
}

.polita-section-heading h2,
.polita-wide-feature h2,
.polita-aurora-module h2{
  margin:
    5px 0
    0;

  color:#fff;

  font-family:
    "Rajdhani",
    Arial,
    sans-serif;

  font-size:
    clamp(
      2rem,
      4vw,
      3rem
    );

  line-height:1;

  font-weight:900;

  letter-spacing:.01em;
}

.polita-section-heading p{
  max-width:650px;

  margin:
    9px 0
    0;

  color:
    rgba(226,234,255,.60);

  font-size:15px;
  line-height:1.45;

  font-weight:800;
}

.polita-secondary-button,
.polita-secondary-large{
  min-height:40px;

  padding:0 17px;

  border:
    1px solid
    rgba(148,163,184,.18);

  border-radius:10px;

  background:
    rgba(15,23,42,.72);

  color:
    rgba(226,234,255,.88);

  cursor:pointer;

  font-family:
    "Rajdhani",
    Arial,
    sans-serif;

  font-size:12px;

  font-weight:900;

  letter-spacing:.04em;

  text-transform:uppercase;

  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.polita-secondary-button:hover,
.polita-secondary-large:hover{
  transform:
    translateY(-1px);

  border-color:
    rgba(34,211,238,.30);

  box-shadow:
    0 0 24px
    rgba(34,211,238,.08);
}


/* ============================================================
   ACTIVITY CARDS
   ============================================================ */

.polita-activity-grid{
  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:16px;
}

.polita-activity-card{
  position:relative;

  overflow:hidden;

  min-height:330px;

  display:flex;
  flex-direction:column;

  background:
    radial-gradient(
      circle at 14% 5%,
      rgba(34,211,238,.10),
      transparent 36%
    ),
    radial-gradient(
      circle at 86% 12%,
      rgba(124,58,237,.12),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(15,20,38,.94),
      rgba(7,10,22,.97)
    );

  border:
    1px solid
    rgba(148,163,184,.14);

  border-radius:22px;

  box-shadow:
    0 24px 70px
      rgba(0,0,0,.38),
    inset 0 1px 0
      rgba(255,255,255,.05);

  backdrop-filter:
    blur(14px);

  -webkit-backdrop-filter:
    blur(14px);

  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.polita-activity-card:hover{
  transform:
    translateY(-2px);

  border-color:
    rgba(34,211,238,.24);

  box-shadow:
    0 28px 80px
      rgba(0,0,0,.46),
    0 0 34px
      rgba(34,211,238,.10),
    inset 0 1px 0
      rgba(255,255,255,.06);
}

.polita-card-top{
  min-height:53px;

  padding:
    14px 15px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:10px;

  border-bottom:
    1px solid
    rgba(255,255,255,.065);
}

.polita-card-type{
  color:
    rgba(226,234,255,.84);

  font-size:11px;

  font-weight:900;

  letter-spacing:.12em;
}

.polita-card-status{
  display:inline-flex;
  align-items:center;

  gap:6px;

  color:#7dffca;

  font-size:10px;

  font-weight:900;

  letter-spacing:.10em;
}

.polita-card-status > span{
  width:6px;
  height:6px;

  border-radius:50%;

  background:#42ffad;

  box-shadow:
    0 0 10px
    rgba(66,255,173,.65);
}

.polita-card-status.future{
  color:
    rgba(226,234,255,.46);
}

.polita-card-visual{
  min-height:118px;

  display:grid;
  place-items:center;

  border-bottom:
    1px solid
    rgba(255,255,255,.055);

  background:
    radial-gradient(
      circle at center,
      rgba(34,211,238,.13),
      transparent 45%
    );
}

.polita-card-visual svg{
  width:55px;
  height:55px;

  fill:none;

  stroke:
    rgba(128,232,255,.90);

  stroke-width:3;

  stroke-linecap:round;
  stroke-linejoin:round;

  filter:
    drop-shadow(
      0 0 14px
      rgba(34,211,238,.28)
    );
}

.visual-earn svg{
  stroke:
    rgba(143,225,255,.92);
}

.visual-battle svg{
  stroke:
    rgba(173,184,255,.92);
}

.visual-control svg{
  stroke:
    rgba(106,233,255,.88);
}

.visual-event svg{
  stroke:
    rgba(151,206,255,.90);
}

.visual-command svg{
  stroke:
    rgba(121,226,255,.92);
}

.polita-card-copy{
  flex:1;

  padding:
    18px
    18px
    15px;

  display:flex;
  flex-direction:column;
}

.polita-card-copy h3{
  margin:0;

  color:#fff;

  font-size:1.3rem;

  line-height:1.1;

  font-weight:900;
}

.polita-card-copy p{
  margin:
    9px 0
    20px;

  color:
    rgba(226,234,255,.64);

  font-size:.98rem;

  line-height:1.45;

  font-weight:800;
}

.polita-card-footer{
  margin-top:auto;

  padding-top:12px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:12px;

  border-top:
    1px solid
    rgba(255,255,255,.055);

  color:
    rgba(226,234,255,.46);

  font-size:11px;

  font-weight:800;

  letter-spacing:.035em;
}

.polita-card-footer strong{
  color:
    rgba(103,232,249,.88);

  font-size:11px;

  font-weight:900;

  text-transform:uppercase;

  letter-spacing:.08em;
}

.polita-empty-state{
  margin-top:18px;

  padding:30px;

  border:
    1px solid
    rgba(148,163,184,.14);

  border-radius:18px;

  background:
    rgba(8,12,22,.86);

  text-align:center;
}

.polita-empty-state span{
  display:block;

  color:
    var(--polita-cyan);

  font-size:11px;

  font-weight:900;

  letter-spacing:.14em;
}

.polita-empty-state strong{
  display:block;

  margin-top:6px;

  color:
    rgba(226,234,255,.72);

  font-size:16px;
}


/* ============================================================
   FEATURE MODULES
   ============================================================ */

.polita-wide-feature{
  margin-bottom:18px;

  min-height:330px;

  padding:
    36px;

  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(330px,.9fr);

  gap:44px;

  align-items:center;

  background:
    radial-gradient(
      circle at 14% 5%,
      rgba(34,211,238,.10),
      transparent 36%
    ),
    radial-gradient(
      circle at 86% 12%,
      rgba(124,58,237,.12),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(15,20,38,.94),
      rgba(7,10,22,.97)
    );

  border:
    1px solid
    rgba(148,163,184,.14);

  border-radius:22px;

  box-shadow:
    0 24px 70px
      rgba(0,0,0,.38),
    inset 0 1px 0
      rgba(255,255,255,.05);

  backdrop-filter:
    blur(14px);

  -webkit-backdrop-filter:
    blur(14px);
}

.polita-wide-feature-copy p{
  max-width:660px;

  margin:
    13px 0
    25px;

  color:
    rgba(226,234,255,.64);

  font-size:1.02rem;
  line-height:1.5;

  font-weight:800;
}


/* Exact V37 premium family */

.polita-primary-button{
  position:relative;

  min-height:48px;

  padding:
    0 24px;

  overflow:hidden;

  border:
    1px solid
    rgba(122,238,255,.92);

  border-radius:10px;

  background:
    linear-gradient(
      110deg,
      #16d9ff 0%,
      #00b7ff 36%,
      #146cff 70%,
      #6e4cff 100%
    );

  color:#f2f8ff;

  cursor:pointer;

  box-shadow:
    0 0 10px
      rgba(0,220,255,.46),
    0 0 22px
      rgba(0,151,255,.30),
    inset 0 1px 0
      rgba(255,255,255,.32);

  font-family:
    "Michroma",
    "Orbitron",
    "Rajdhani",
    Arial,
    sans-serif;

  font-size:10px;

  font-weight:500;

  letter-spacing:.055em;

  text-transform:uppercase;

  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.polita-primary-button:hover{
  transform:
    translateY(-1px);

  border-color:
    rgba(145,245,255,.98);

  box-shadow:
    0 0 13px
      rgba(0,229,255,.58),
    0 0 28px
      rgba(0,135,255,.38),
    inset 0 1px 0
      rgba(255,255,255,.38);
}

.polita-data-preview,
.polita-profile-preview{
  overflow:hidden;

  border:
    1px solid
    rgba(103,232,249,.13);

  border-radius:18px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.045),
      rgba(255,255,255,.022)
    ),
    rgba(8,12,22,.86);

  box-shadow:
    inset 0 1px 0
    rgba(255,255,255,.035);
}

.polita-data-line{
  min-height:54px;

  padding:
    0 18px;

  display:flex;
  align-items:center;

  gap:9px;

  border-bottom:
    1px solid
    rgba(255,255,255,.065);
}

.polita-data-live{
  width:7px;
  height:7px;

  border-radius:50%;

  background:#42ffad;

  box-shadow:
    0 0 11px
    rgba(66,255,173,.62);
}

.polita-data-line strong{
  font-size:11px;

  font-weight:900;

  letter-spacing:.10em;
}

.polita-data-line small{
  margin-left:auto;

  color:
    rgba(226,234,255,.40);

  font-size:10px;

  font-weight:900;

  letter-spacing:.10em;
}

.polita-data-item{
  min-height:61px;

  padding:
    0 18px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:16px;

  border-bottom:
    1px solid
    rgba(255,255,255,.055);

  color:
    rgba(226,234,255,.70);

  font-size:14px;

  font-weight:800;
}

.polita-data-item:last-child{
  border-bottom:0;
}

.polita-data-item strong{
  color:
    rgba(103,232,249,.76);

  font-size:11px;

  font-weight:900;

  text-transform:uppercase;

  letter-spacing:.05em;
}

.profile-preview-head{
  min-height:88px;

  padding:16px;

  display:grid;
  grid-template-columns:auto 1fr auto;

  gap:13px;

  align-items:center;

  border-bottom:
    1px solid
    rgba(255,255,255,.065);
}

.profile-preview-avatar{
  width:48px;
  height:48px;

  display:grid;
  place-items:center;

  border:
    1px solid
    rgba(103,232,249,.30);

  border-radius:50%;

  background:
    radial-gradient(
      circle at 35% 25%,
      #87efff,
      #167eaa 33%,
      #07131d 72%
    );

  color:#fff;

  font-family:
    "Orbitron",
    "Rajdhani",
    sans-serif;

  font-weight:900;

  box-shadow:
    0 0 22px
    rgba(34,211,238,.18);
}

.profile-preview-head strong{
  display:block;

  font-size:12px;

  font-weight:900;

  letter-spacing:.06em;
}

.profile-preview-head span{
  display:block;

  margin-top:3px;

  color:
    rgba(226,234,255,.48);

  font-size:12px;

  font-weight:700;
}

.profile-preview-live{
  padding:
    5px 8px;

  border:
    1px solid
    rgba(66,255,173,.23);

  border-radius:7px;

  color:#7dffca;

  background:
    rgba(66,255,173,.045);

  font-size:9px;

  font-weight:900;

  letter-spacing:.11em;
}

.profile-preview-stat-row{
  display:grid;

  grid-template-columns:
    repeat(3,1fr);
}

.profile-preview-stat-row > div{
  min-height:98px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  border-right:
    1px solid
    rgba(255,255,255,.055);
}

.profile-preview-stat-row > div:last-child{
  border-right:0;
}

.profile-preview-stat-row strong{
  color:#fff;

  font-size:28px;

  font-weight:900;
}

.profile-preview-stat-row span{
  margin-top:1px;

  color:
    rgba(226,234,255,.46);

  font-size:11px;

  font-weight:800;

  letter-spacing:.04em;
}


/* ============================================================
   AURORA
   ============================================================ */

.polita-aurora-module{
  margin:
    18px 0
    70px;

  padding:
    27px 30px;

  display:grid;

  grid-template-columns:
    auto 1fr;

  gap:22px;

  align-items:center;

  border:
    1px solid
    rgba(103,232,249,.17);

  border-radius:22px;

  background:
    radial-gradient(
      circle at 10% 10%,
      rgba(34,211,238,.12),
      transparent 32%
    ),
    linear-gradient(
      180deg,
      rgba(15,20,38,.92),
      rgba(7,10,22,.96)
    );

  box-shadow:
    0 24px 70px
      rgba(0,0,0,.34),
    inset 0 1px 0
      rgba(255,255,255,.045);
}

.polita-aurora-mark{
  width:70px;
  height:70px;

  display:grid;
  place-items:center;

  border:
    1px solid
    rgba(103,232,249,.38);

  border-radius:50%;

  background:
    radial-gradient(
      circle at 34% 28%,
      #a9f4ff,
      #29c7ed 24%,
      #0d4154 55%,
      #061018 78%
    );

  color:#031017;

  font-family:
    "Orbitron",
    sans-serif;

  font-size:20px;

  font-weight:900;

  box-shadow:
    0 0 32px
    rgba(34,211,238,.18);
}

.polita-aurora-copy p{
  max-width:760px;

  margin:
    10px 0
    0;

  color:
    rgba(226,234,255,.62);

  font-size:15px;

  line-height:1.5;

  font-weight:800;
}


/* ============================================================
   FOOTER — SHARED POLITA WIDTH / OPAQUE LANGUAGE
   ============================================================ */

.polita-master-footer-v1{
  width:
    min(
      1240px,
      calc(100% - 24px)
    );

  margin:
    0 auto
    18px;

  box-sizing:border-box;

  font-family:
    "Rajdhani",
    "Inter",
    Arial,
    sans-serif;
}

.polita-master-footer-inner-v1{
  overflow:hidden;

  border:
    1px solid
    rgba(103,232,249,.16);

  border-radius:22px;

  background:
    radial-gradient(
      circle at 8% 18%,
      rgba(9,249,232,.07),
      transparent 35%
    ),
    radial-gradient(
      circle at 92% 12%,
      rgba(8,124,255,.08),
      transparent 38%
    ),
    linear-gradient(
      145deg,
      rgba(8,17,28,.96),
      rgba(5,7,14,.97)
    );

  box-shadow:
    0 24px 70px
      rgba(0,0,0,.34),
    0 0 34px
      rgba(0,191,255,.045),
    inset 0 1px 0
      rgba(255,255,255,.035);

  backdrop-filter:
    blur(16px);

  -webkit-backdrop-filter:
    blur(16px);
}

.polita-footer-main{
  min-height:102px;

  padding:
    20px 24px;

  display:grid;

  grid-template-columns:
    1fr auto 1fr;

  align-items:center;

  gap:26px;
}

.polita-footer-identity{
  min-width:0;
}

.polita-footer-brand{
  display:flex;
  align-items:center;

  gap:9px;

  width:max-content;
}

.polita-footer-brand img{
  width:37px;
  height:37px;

  object-fit:contain;
}

.polita-footer-brand strong{
  color:#fff;

  font-size:1.18rem;

  font-weight:900;

  letter-spacing:.025em;
}

.polita-footer-identity > span{
  display:block;

  max-width:230px;

  margin-top:4px;

  color:
    rgba(226,234,255,.52);

  font-size:.82rem;

  font-weight:700;

  letter-spacing:.015em;
}

.polita-footer-links{
  display:flex;
  align-items:center;
  justify-content:center;

  gap:8px;
}

.polita-footer-links a{
  padding:
    7px 8px;

  border-radius:8px;

  color:
    rgba(226,234,255,.70);

  font-size:.88rem;

  font-weight:800;

  letter-spacing:.015em;
}

.polita-footer-links a:hover{
  color:#fff;

  background:
    rgba(255,255,255,.055);
}

.polita-footer-links i{
  width:1px;
  height:14px;

  background:
    rgba(255,255,255,.09);
}

.polita-footer-support{
  justify-self:end;

  min-width:182px;

  padding:
    10px 13px;

  display:flex;
  align-items:center;

  gap:10px;

  border:
    1px solid
    rgba(54,217,255,.25);

  border-radius:15px;

  background:
    radial-gradient(
      circle at 10% 0%,
      rgba(34,211,238,.10),
      transparent 52%
    ),
    rgba(7,14,23,.86);

  transition:
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

.polita-footer-support:hover{
  border-color:
    rgba(80,225,255,.52);

  box-shadow:
    0 0 24px
    rgba(34,211,238,.08);
}

.polita-footer-support-icon{
  width:32px;
  height:32px;

  flex:0 0 32px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:
    linear-gradient(
      135deg,
      #28d9ff,
      #7466ff
    );

  color:#fff;

  font-size:1rem;

  font-weight:900;
}

.polita-footer-support small{
  display:block;

  color:
    rgba(226,234,255,.48);

  font-family:
    "Inter",
    Arial,
    sans-serif;

  font-size:.68rem;
}

.polita-footer-support strong{
  display:block;

  margin-top:1px;

  color:#fff;

  font-size:.92rem;

  font-weight:900;
}

.polita-footer-bottom{
  min-height:40px;

  padding:
    0 24px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  border-top:
    1px solid
    rgba(255,255,255,.055);

  background:
    rgba(0,0,0,.12);

  color:
    rgba(226,234,255,.38);

  font-size:.76rem;

  font-weight:700;

  letter-spacing:.015em;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media(max-width:980px){

  .polita-app-header-inner{
    grid-template-columns:
      1fr auto;
  }

  .polita-app-nav{
    display:none;
  }

  .polita-activity-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .polita-wide-feature{
    grid-template-columns:1fr;

    gap:28px;
  }

  .polita-footer-main{
    grid-template-columns:
      1fr 1fr;
  }

  .polita-footer-links{
    grid-column:
      1 / -1;

    grid-row:2;

    flex-wrap:wrap;
  }
}


@media(max-width:760px){

  .polita-app-header{
    height:58px;
    min-height:58px;
  }

  .polita-app-header-inner,
  .polita-app-main{
    width:
      min(
        100% - 16px,
        1240px
      );
  }

  .polita-brand{
    gap:8px;
  }

  .polita-brand-logo{
    width:23px;
    height:23px;

    filter:none;
  }

  .polita-brand-word{
    font-size:11px;

    letter-spacing:.27em;
  }

  .polita-login{
    width:80px;
    min-width:80px;

    height:30px;
    min-height:30px;

    padding:0 10px;

    border-color:
      rgba(105,234,252,.92);

    box-shadow:
      0 0 0 1px
        rgba(44,201,224,.14)
        inset,
      0 0 9px
        rgba(0,227,255,.23),
      0 0 18px
        rgba(0,191,255,.14);
  }

  .polita-login span{
    font-size:8px;

    letter-spacing:.055em;
  }

  .polita-hero{
    min-height:auto;

    padding:
      48px 0
      54px;
  }

  .polita-hero-inner{
    padding:
      36px 18px
      30px;

    border-radius:18px;
  }

  .polita-hero h1{
    font-size:
      clamp(
        2.7rem,
        13vw,
        4.6rem
      );
  }

  .polita-hero-copy{
    font-size:1rem;
  }

  .polita-search{
    min-height:52px;

    padding:
      0 13px;
  }

  .polita-search kbd{
    display:none;
  }

  .polita-activity-grid{
    grid-template-columns:1fr;
  }

  .polita-section-heading{
    align-items:flex-start;
    flex-direction:column;
  }

  .polita-wide-feature{
    padding:
      27px 20px;

    border-radius:18px;
  }

  .polita-primary-button{
    min-height:44px;

    padding:
      0 16px;

    font-size:9px;
  }

  .polita-aurora-module{
    grid-template-columns:1fr;

    padding:
      24px 20px;

    border-radius:18px;
  }

  .polita-master-footer-v1{
    width:
      min(
        100% - 16px,
        1240px
      );
  }

  .polita-footer-main{
    padding:
      20px;

    grid-template-columns:1fr;

    gap:18px;
  }

  .polita-footer-links{
    grid-column:auto;
    grid-row:auto;

    justify-content:flex-start;
  }

  .polita-footer-support{
    justify-self:start;
  }

  .polita-footer-bottom{
    min-height:58px;

    padding:
      12px 20px;

    align-items:flex-start;
    flex-direction:column;

    justify-content:center;

    gap:3px;
  }
}


@media(max-width:520px){

  .polita-filter-row{
    display:grid;

    grid-template-columns:
      repeat(3,1fr);
  }

  .polita-filter-row button{
    width:100%;

    padding:
      0 8px;
  }

  .polita-footer-links i{
    display:none;
  }

  .polita-footer-links{
    gap:3px;
  }
}


/* ============================================================
   POLITA_ACTIVITIES_DATABASE_DRIVEN_HOME_V05
   ============================================================ */

.polita-catalogue-loading{
  grid-column:1 / -1;

  min-height:180px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  gap:7px;

  border:
    1px solid
    rgba(103,232,249,.14);

  border-radius:22px;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(34,211,238,.09),
      transparent 38%
    ),
    linear-gradient(
      180deg,
      rgba(15,20,38,.90),
      rgba(7,10,22,.95)
    );

  box-shadow:
    0 24px 70px
    rgba(0,0,0,.30);
}

.polita-catalogue-loading span{
  color:#09F9E8;

  font-size:10px;

  font-weight:900;

  letter-spacing:.16em;
}

.polita-catalogue-loading strong{
  color:
    rgba(226,234,255,.70);

  font-size:15px;

  font-weight:800;
}

.polita-card-footer a{
  color:
    rgba(103,232,249,.88);

  font-size:11px;

  font-weight:900;

  letter-spacing:.08em;

  text-transform:uppercase;
}

.polita-card-footer a:hover{
  color:#fff;

  text-shadow:
    0 0 12px
    rgba(34,211,238,.28);
}

.polita-activity-card[hidden]{
  display:none !important;
}
