 .dash-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;}
  .dash-sidebar{
    background:linear-gradient(180deg,var(--forest-900),var(--forest-800));
    color:var(--white);padding:26px 16px;position:sticky;top:0;height:100vh;
    display:flex;flex-direction:column;justify-content:space-between;
  }
  .dash-nav{display:flex;flex-direction:column;gap:4px;margin-top:22px;}
  .dash-tab{
    display:flex;align-items:center;gap:10px;
    padding:11px 14px;border-radius:10px;cursor:pointer;
    font-size:.87rem;font-weight:600;color:rgba(255,255,255,.72);
    border:none;background:none;text-align:left;width:100%;font-family:var(--font-body);
  }
  .dash-tab:hover{background:rgba(255,255,255,.06);color:var(--white);}
  .dash-tab.active{background:var(--green-500);color:var(--forest-900);}
  .dash-main{padding:30px 36px;max-width:1020px;}
  .dash-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;flex-wrap:wrap;gap:10px;}
  .tab-panel{display:none;}
  .tab-panel.first{display:block;}
  table.data-table{width:100%;border-collapse:collapse;font-size:.85rem;}
  table.data-table th{
    text-align:left;padding:10px 12px;background:var(--mint-50);color:var(--forest-800);
    font-family:var(--font-display);font-size:.76rem;text-transform:uppercase;letter-spacing:.03em;
    border-bottom:1px solid var(--line);
  }
  table.data-table td{padding:11px 12px;border-bottom:1px solid var(--line);}
  .level-tag{font-family:var(--font-mono);font-size:.68rem;padding:3px 9px;border-radius:999px;background:var(--green-100);color:var(--forest-700);}
  .stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;}
  .stat-box{border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;background:var(--white);}
  .stat-box .label{font-size:.7rem;color:var(--ink-400);text-transform:uppercase;letter-spacing:.04em;}
  .stat-box .value{font-family:var(--font-mono);font-size:1.25rem;color:var(--forest-900);margin-top:4px;}
  .notif-row{
    display:flex;justify-content:space-between;align-items:center;gap:12px;
    padding:13px 14px;border-bottom:1px solid var(--line);font-size:.86rem;
  }
  .notif-row:last-child{border-bottom:none;}
  .notif-dot{width:8px;height:8px;border-radius:50%;background:var(--gold-500);flex-shrink:0;}
  .toggle-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);}
  .toggle-row:last-child{border-bottom:none;}
  .switch{position:relative;width:42px;height:24px;flex-shrink:0;}
  .switch input{opacity:0;width:0;height:0;}
  .slider-el{position:absolute;inset:0;background:var(--line);border-radius:999px;cursor:pointer;transition:.2s;}
  .slider-el::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:var(--white);border-radius:50%;transition:.2s;}
  .switch input:checked + .slider-el{background:var(--green-500);}
  .switch input:checked + .slider-el::before{transform:translateX(18px);}
  @media (max-width:900px){
    .dash-shell{grid-template-columns:1fr;}
    .dash-sidebar{position:relative;height:auto;}
    .stat-grid{grid-template-columns:1fr 1fr;}
  }

   :root {
      --forest-900: #0e3a2b;
      --forest-800: #154a37;
      --forest-700: #1e6349;
      --green-500: #2fbe73;
      --green-400: #4fdb93;
      --green-100: #e4f7ec;
      --mint-50: #f6fbf8;
      --gold-500: #eeae2e;
      --gold-600: #ce9420;
      --ink-900: #0f221b;
      --ink-600: #4c6459;
      --ink-400: #7c9088;
      --line: #dcebe2;
      --white: #ffffff;
      --danger: #d2483a;

      --font-display: "Space Grotesk", sans-serif;
      --font-body: "Inter", sans-serif;
      --font-mono: "IBM Plex Mono", monospace;

      --radius-sm: 8px;
      --radius-md: 14px;
      --radius-lg: 22px;
      --shadow-card: 0 2px 14px rgba(15, 34, 27, 0.06);
      --shadow-lift: 0 12px 30px rgba(15, 34, 27, 0.14);
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: var(--font-body);
      color: var(--ink-900);
      background: var(--mint-50);
      -webkit-font-smoothing: antialiased;
    }

    h1,
    h2,
    h3,
    h4 {
      font-family: var(--font-display);
      margin: 0 0 0.4em;
      letter-spacing: -0.01em;
      color: var(--forest-900);
    }

    p {
      line-height: 1.6;
      color: var(--ink-600);
    }

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

    .mono {
      font-family: var(--font-mono);
    }

    img {
      max-width: 100%;
      display: block;
    }

    .container {
      width: 100%;
      max-width: 1180px;
      margin: 0 auto;
      padding: 0 24px;
    }

    /* ---------- Buttons ---------- */
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-family: var(--font-display);
      font-weight: 600;
      font-size: 0.95rem;
      padding: 12px 22px;
      border-radius: 999px;
      border: none;
      cursor: pointer;
      transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        background 0.15s ease;
      white-space: nowrap;
    }

    .btn:focus-visible {
      outline: 3px solid var(--gold-500);
      outline-offset: 2px;
    }

    .btn-primary {
      background: linear-gradient(135deg,
          var(--green-500),
          var(--forest-700));
      color: var(--white);
      box-shadow: var(--shadow-card);
    }

    .btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: var(--shadow-lift);
    }

    .btn-ghost {
      background: var(--white);
      color: var(--forest-800);
      border: 1.5px solid var(--line);
    }

    .btn-ghost:hover {
      border-color: var(--green-500);
      color: var(--forest-900);
    }

    .btn-gold {
      background: linear-gradient(135deg, var(--gold-500), var(--gold-600));
      color: var(--forest-900);
    }

    .btn-gold:hover {
      transform: translateY(-2px);
    }

    .btn-danger {
      background: var(--white);
      color: var(--danger);
      border: 1.5px solid #f1c9c4;
    }

    .btn-block {
      width: 100%;
    }

    .btn-sm {
      padding: 8px 16px;
      font-size: 0.82rem;
    }

    .btn:disabled {
      opacity: 0.45;
      cursor: not-allowed;
      transform: none !important;
      box-shadow: none !important;
    }

    /* ---------- Top nav ---------- */
    .topbar {
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(246, 251, 248, 0.9);
      backdrop-filter: blur(8px);
      border-bottom: 1px solid var(--line);
    }

    .topbar-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 14px 24px;
      max-width: 1180px;
      margin: 0 auto;
      gap: 16px;
      flex-wrap: wrap;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .logo-mark {
      width: 38px;
      height: 38px;
      border-radius: 10px;
      background: transparent;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--white);
      font-family: var(--font-display);
      font-weight: 700;
    }

    .logo-mark img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit;}
.logo-text {
      font-family: var(--font-display);
      font-weight: 700;
      font-size: 1.25rem;
      color: var(--forest-900);
    }

    .logo-sub {
      font-size: 0.68rem;
      color: var(--ink-400);
      letter-spacing: 0.06em;
      text-transform: uppercase;
      margin-top: -2px;
    }

    .nav-links {
      display: flex;
      gap: 6px;
      align-items: center;
    }

    .nav-links a {
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--ink-600);
      padding: 9px 14px;
      border-radius: 999px;
    }

    .nav-links a:hover {
      background: var(--green-100);
      color: var(--forest-900);
    }

    /* ---------- Hero ---------- */
    .hero {
      padding: 64px 0 40px;
      background: radial-gradient(1100px 420px at 82% -10%,
          var(--green-100),
          transparent 60%);
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 1.05fr 0.95fr;
      gap: 56px;
      align-items: center;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--forest-700);
      background: var(--green-100);
      padding: 7px 14px;
      border-radius: 999px;
      margin-bottom: 18px;
    }

    .hero h1 {
      font-size: 2.7rem;
      line-height: 1.08;
      max-width: 14ch;
    }

    .hero p.lead {
      font-size: 1.08rem;
      max-width: 46ch;
      margin-bottom: 26px;
    }

    .hero-cta {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
    }

    /* Signature: climbing queue visual */
    .climb-rail {
      position: relative;
      background: linear-gradient(180deg,
          var(--forest-900),
          var(--forest-800));
      border-radius: var(--radius-lg);
      padding: 22px 20px 26px;
      box-shadow: var(--shadow-lift);
      overflow: hidden;
    }

    .climb-rail::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(500px 200px at 100% 0%,
          rgba(79, 219, 147, 0.18),
          transparent 60%);
    }

    .climb-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      color: var(--green-400);
      font-family: var(--font-mono);
      font-size: 0.72rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      margin-bottom: 14px;
      position: relative;
    }

    .queue-stack {
      display: flex;
      flex-direction: column;
      gap: 8px;
      position: relative;
    }

    .queue-card {
      display: flex;
      align-items: center;
      justify-content: space-between;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.09);
      border-radius: var(--radius-sm);
      padding: 10px 14px;
      color: var(--white);
      animation: climbUp 5s ease-in-out infinite;
    }

    .queue-card:nth-child(2) {
      animation-delay: 0.4s;
    }

    .queue-card:nth-child(3) {
      animation-delay: 0.8s;
    }

    .queue-card:nth-child(4) {
      animation-delay: 1.2s;
      opacity: 0.6;
    }

    @keyframes climbUp {

      0%,
      100% {
        transform: translateY(0);
      }

      50% {
        transform: translateY(-4px);
      }
    }

    .queue-pos {
      font-family: var(--font-mono);
      color: var(--green-400);
      font-size: 0.82rem;
      width: 34px;
    }

    .queue-title {
      font-size: 0.85rem;
      flex: 1;
      padding: 0 10px;
      color: rgba(255, 255, 255, 0.88);
    }

    .queue-views {
      font-family: var(--font-mono);
      font-size: 0.72rem;
      color: var(--ink-400);
    }

    @media (prefers-reduced-motion: reduce) {
      .queue-card {
        animation: none;
      }
    }

    /* ---------- Section shells ---------- */
    .section {
      padding: 56px 0;
    }

    .section-tight {
      padding: 32px 0;
    }

    .section-title-row {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      margin-bottom: 20px;
      flex-wrap: wrap;
      gap: 10px;
    }

    .section-title-row h2 {
      font-size: 1.5rem;
    }

    .pill-label {
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--forest-700);
    }

    .panel {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: var(--radius-md);
      box-shadow: var(--shadow-card);
    }

    .panel-header {
      padding: 14px 18px;
      border-bottom: 1px solid var(--line);
      font-family: var(--font-display);
      font-weight: 600;
      font-size: 0.95rem;
      color: var(--forest-900);
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .scroll-list {
      max-height: 320px;
      overflow-y: auto;
      padding: 6px;
    }

    .scroll-list::-webkit-scrollbar {
      width: 6px;
    }

    .scroll-list::-webkit-scrollbar-thumb {
      background: var(--line);
      border-radius: 6px;
    }

    .list-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 12px 12px;
      border-radius: 10px;
      border-bottom: 1px solid var(--line);
      font-size: 0.88rem;
    }

    .list-row:last-child {
      border-bottom: none;
    }

    .list-row:hover {
      background: var(--mint-50);
    }

    .badge {
      font-family: var(--font-mono);
      font-size: 0.68rem;
      background: var(--green-100);
      color: var(--forest-700);
      padding: 3px 9px;
      border-radius: 999px;
    }

    /* Must read callout */
    .callout {
      background: linear-gradient(135deg, #fff4e7, #ffebd9);
      border: 1px solid #f3d6ae;
      border-radius: var(--radius-md);
      padding: 18px 20px;
    }

    .callout h3 {
      color: var(--gold-600);
      font-size: 0.95rem;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-bottom: 10px;
    }

    .callout ul {
      margin: 0;
      padding-left: 18px;
      color: var(--ink-600);
      font-size: 0.88rem;
      line-height: 1.7;
    }

    /* Guaranteed clicked link cards */
    .gc-card {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 13px 14px;
      border: 1px solid var(--line);
      border-radius: 10px;
      margin-bottom: 8px;
      background: var(--white);
      transition:
        background 0.2s ease,
        border-color 0.2s ease;
    }

    .gc-card.done {
      background: #f1f3f1;
      border-color: #e2e6e3;
      color: var(--ink-400);
    }

    .gc-card.done .gc-title {
      color: var(--ink-400);
      text-decoration: line-through;
    }

    .gc-num {
      font-family: var(--font-mono);
      font-size: 0.78rem;
      color: var(--forest-700);
      width: 38px;
    }

    .gc-title {
      flex: 1;
      font-size: 0.88rem;
      font-weight: 600;
    }

    .gc-views {
      font-family: var(--font-mono);
      font-size: 0.72rem;
      color: var(--ink-400);
      margin-right: 6px;
    }

    .gc-timer {
      font-family: var(--font-mono);
      font-size: 0.72rem;
      color: var(--gold-600);
      min-width: 34px;
      text-align: right;
    }

    .progress-track {
      height: 8px;
      background: var(--green-100);
      border-radius: 999px;
      overflow: hidden;
      margin: 14px 0 8px;
    }

    .progress-fill {
      height: 100%;
      width: 0%;
      background: linear-gradient(90deg, var(--green-500), var(--forest-700));
      transition: width 0.3s ease;
    }

    .progress-label {
      font-size: 0.8rem;
      color: var(--ink-600);
      font-family: var(--font-mono);
    }

    /* Testimonial */
    .testimonial-card {
      border: 1px solid var(--line);
      border-radius: 10px;
      padding: 14px;
      margin-bottom: 8px;
      background: var(--white);
    }

    .testimonial-name {
      font-weight: 700;
      font-size: 0.88rem;
      color: var(--forest-900);
    }

    .testimonial-meta {
      font-size: 0.72rem;
      color: var(--ink-400);
      font-family: var(--font-mono);
      margin-bottom: 6px;
    }

    .testimonial-text {
      font-size: 0.85rem;
      color: var(--ink-600);
    }

    /* Forms */
    .field {
      margin-bottom: 16px;
    }

    .field label {
      display: block;
      font-size: 0.82rem;
      font-weight: 600;
      color: var(--forest-800);
      margin-bottom: 6px;
    }

    .field input,
    .field select,
    .field textarea {
      width: 100%;
      padding: 11px 13px;
      border-radius: 10px;
      border: 1.5px solid var(--line);
      font-family: var(--font-body);
      font-size: 0.92rem;
      background: var(--white);
      color: var(--ink-900);
      transition: border-color 0.15s ease;
    }

    .field input:focus,
    .field select:focus,
    .field textarea:focus {
      outline: none;
      border-color: var(--green-500);
    }

    .field small {
      display: block;
      margin-top: 5px;
      font-size: 0.74rem;
      color: var(--ink-400);
    }

    .field select:disabled,
    .field input:disabled {
      background: #f1f3f1;
      color: var(--ink-400);
      cursor: not-allowed;
    }

    .hint-banner {
      font-size: 0.78rem;
      background: var(--green-100);
      color: var(--forest-800);
      padding: 9px 12px;
      border-radius: 8px;
      margin-top: 6px;
      display: none;
    }

    .hint-banner.show {
      display: block;
    }

    .warn-banner {
      font-size: 0.78rem;
      background: #fdedea;
      color: var(--danger);
      padding: 9px 12px;
      border-radius: 8px;
      margin-top: 6px;
      display: none;
    }

    .warn-banner.show {
      display: block;
    }

    .strength-track {
      height: 6px;
      border-radius: 999px;
      background: var(--line);
      margin-top: 8px;
      overflow: hidden;
    }

    .strength-fill {
      height: 100%;
      width: 0%;
      transition:
        width 0.2s ease,
        background 0.2s ease;
    }

    /* Footer */
    footer {
      background: var(--forest-900);
      color: rgba(255, 255, 255, 0.72);
      padding: 36px 0 26px;
      margin-top: 40px;
    }

    .footer-inner {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 16px;
      align-items: center;
    }

    .footer-links {
      display: flex;
      gap: 18px;
      flex-wrap: wrap;
    }

    .footer-links a {
      font-size: 0.85rem;
      color: rgba(255, 255, 255, 0.72);
    }

    .footer-links a:hover {
      color: var(--green-400);
    }

    .footer-copy {
      font-size: 0.76rem;
      color: rgba(255, 255, 255, 0.45);
      margin-top: 16px;
    }

    /* Modal (Log in) */
    .modal-overlay {
      position: fixed;
      inset: 0;
      background: rgba(14, 58, 43, 0.45);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 100;
      padding: 20px;
    }

    .modal-overlay.open {
      display: flex;
    }

    .modal-box {
      background: var(--white);
      border-radius: var(--radius-lg);
      padding: 30px;
      width: 100%;
      max-width: 380px;
      box-shadow: var(--shadow-lift);
      position: relative;
    }

    .modal-close {
      position: absolute;
      top: 16px;
      right: 16px;
      background: none;
      border: none;
      font-size: 1.3rem;
      cursor: pointer;
      color: var(--ink-400);
    }

    .modal-box h3 {
      margin-bottom: 4px;
    }

    .modal-sub {
      font-size: 0.85rem;
      color: var(--ink-600);
      margin-bottom: 20px;
    }

    .forgot-link {
      font-size: 0.8rem;
      color: var(--forest-700);
      font-weight: 600;
      display: inline-block;
      margin-top: 8px;
    }

    .social-row {
      display: flex;
      gap: 10px;
      margin-top: 6px;
    }

    .social-btn {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 11px;
      border-radius: 10px;
      border: 1.5px solid var(--line);
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--ink-600);
      cursor: pointer;
      background: var(--white);
    }

    .social-btn:hover {
      border-color: var(--green-500);
      color: var(--forest-900);
    }

    .divider-or {
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 20px 0;
      color: var(--ink-400);
      font-size: 0.78rem;
    }

    .divider-or::before,
    .divider-or::after {
      content: "";
      flex: 1;
      height: 1px;
      background: var(--line);
    }

    .share-row {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    .share-icon {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--green-100);
      color: var(--forest-800);
      font-weight: 700;
      font-size: 0.8rem;
      border: 1px solid var(--line);
    }

    .share-icon:hover {
      background: var(--green-500);
      color: var(--white);
    }

    @media (max-width: 900px) {
      .hero-grid {
        grid-template-columns: 1fr;
      }

      .nav-links {
        display: none;
      }
    }
 *{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink-900);
  background:var(--mint-50);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  margin:0 0 .4em;
  letter-spacing:-0.01em;
  color:var(--forest-900);
}
p{line-height:1.6;color:var(--ink-600);}
a{color:inherit;text-decoration:none;}
.mono{font-family:var(--font-mono);}
img{max-width:100%;display:block;}

.container{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:var(--font-display);
  font-weight:600;
  font-size:.95rem;
  padding:12px 22px;
  border-radius:999px;
  border:none;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
}
.btn:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px;}
.btn-primary{
  background:linear-gradient(135deg, var(--green-500), var(--forest-700));
  color:var(--white);
  box-shadow:var(--shadow-card);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);}
.btn-ghost{
  background:var(--white);
  color:var(--forest-800);
  border:1.5px solid var(--line);
}
.btn-ghost:hover{border-color:var(--green-500);color:var(--forest-900);}
.btn-gold{
  background:linear-gradient(135deg,var(--gold-500),var(--gold-600));
  color:var(--forest-900);
}
.btn-gold:hover{transform:translateY(-2px);}
.btn-danger{background:var(--white);color:var(--danger);border:1.5px solid #F1C9C4;}
.btn-block{width:100%;}
.btn-sm{padding:8px 16px;font-size:.82rem;}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none !important;box-shadow:none !important;}

/* ---------- Top nav ---------- */
.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(246,251,248,0.9);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.topbar-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;
  max-width:1180px;margin:0 auto;
  gap:16px;flex-wrap:wrap;
}
.logo{display:flex;align-items:center;gap:10px;}
.logo-mark{
  width:38px;height:38px;border-radius:10px;
  background:transparent;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  color:var(--white);font-family:var(--font-display);font-weight:700;
}
.logo-text{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--forest-900);}
.logo-sub{font-size:.68rem;color:var(--ink-400);letter-spacing:.06em;text-transform:uppercase;margin-top:-2px;}
.nav-links{display:flex;gap:6px;align-items:center;}
.nav-links a{
  font-size:.9rem;font-weight:600;color:var(--ink-600);
  padding:9px 14px;border-radius:999px;
}
.nav-links a:hover{background:var(--green-100);color:var(--forest-900);}

/* ---------- Hero ---------- */
.hero{
  padding:64px 0 40px;
  background:radial-gradient(1100px 420px at 82% -10%, var(--green-100), transparent 60%);
}
.hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--forest-700);background:var(--green-100);
  padding:7px 14px;border-radius:999px;margin-bottom:18px;
}
.hero h1{font-size:2.7rem;line-height:1.08;max-width:14ch;}
.hero p.lead{font-size:1.08rem;max-width:46ch;margin-bottom:26px;}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;}

/* Signature: climbing queue visual */
.climb-rail{
  position:relative;
  background:linear-gradient(180deg,var(--forest-900),var(--forest-800));
  border-radius:var(--radius-lg);
  padding:22px 20px 26px;
  box-shadow:var(--shadow-lift);
  overflow:hidden;
}
.climb-rail::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(500px 200px at 100% 0%, rgba(79,219,147,.18), transparent 60%);
}
.climb-head{
  display:flex;justify-content:space-between;align-items:center;
  color:var(--green-400);font-family:var(--font-mono);font-size:.72rem;
  letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;position:relative;
}
.queue-stack{display:flex;flex-direction:column;gap:8px;position:relative;}
.queue-card{
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.09);
  border-radius:var(--radius-sm);
  padding:10px 14px;color:var(--white);
  animation:climbUp 5s ease-in-out infinite;
}
.queue-card:nth-child(2){animation-delay:.4s;}
.queue-card:nth-child(3){animation-delay:.8s;}
.queue-card:nth-child(4){animation-delay:1.2s;opacity:.6;}
@keyframes climbUp{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-4px);}
}
.queue-pos{font-family:var(--font-mono);color:var(--green-400);font-size:.82rem;width:34px;}
.queue-title{font-size:.85rem;flex:1;padding:0 10px;color:rgba(255,255,255,.88);}
.queue-views{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-400);}
@media (prefers-reduced-motion: reduce){
  .queue-card{animation:none;}
}

/* ---------- Section shells ---------- */
.section{padding:56px 0;}
.section-tight{padding:32px 0;}
.section-title-row{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:20px;flex-wrap:wrap;gap:10px;
}
.section-title-row h2{font-size:1.5rem;}
.pill-label{
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--forest-700);
}

.panel{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-card);
}
.panel-header{
  padding:14px 18px;border-bottom:1px solid var(--line);
  font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--forest-900);
  display:flex;align-items:center;justify-content:space-between;
}
.scroll-list{max-height:320px;overflow-y:auto;padding:6px;}
.scroll-list::-webkit-scrollbar{width:6px;}
.scroll-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px;}

.list-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 12px;border-radius:10px;
  border-bottom:1px solid var(--line);
  font-size:.88rem;
}
.list-row:last-child{border-bottom:none;}
.list-row:hover{background:var(--mint-50);}
.badge{
  font-family:var(--font-mono);font-size:.68rem;
  background:var(--green-100);color:var(--forest-700);
  padding:3px 9px;border-radius:999px;
}

/* Must read callout */
.callout{
  background:linear-gradient(135deg,#FFF4E7,#FFEBD9);
  border:1px solid #F3D6AE;
  border-radius:var(--radius-md);
  padding:18px 20px;
}
.callout h3{color:var(--gold-600);font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;}
.callout ul{margin:0;padding-left:18px;color:var(--ink-600);font-size:.88rem;line-height:1.7;}

/* Guaranteed clicked link cards */
.gc-card{
  display:flex;align-items:center;gap:12px;
  padding:13px 14px;border:1px solid var(--line);border-radius:10px;
  margin-bottom:8px;background:var(--white);
  transition:background .2s ease, border-color .2s ease;
}
.gc-card.done{background:#F1F3F1;border-color:#E2E6E3;color:var(--ink-400);}
.gc-card.done .gc-title{color:var(--ink-400);text-decoration:line-through;}
.gc-num{font-family:var(--font-mono);font-size:.78rem;color:var(--forest-700);width:38px;}
.gc-title{flex:1;font-size:.88rem;font-weight:600;}
.gc-views{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-400);margin-right:6px;}
.gc-timer{
  font-family:var(--font-mono);font-size:.72rem;color:var(--gold-600);
  min-width:34px;text-align:right;
}
.progress-track{
  height:8px;background:var(--green-100);border-radius:999px;overflow:hidden;margin:14px 0 8px;
}
.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--green-500),var(--forest-700));transition:width .3s ease;}
.progress-label{font-size:.8rem;color:var(--ink-600);font-family:var(--font-mono);}

/* Testimonial */
.testimonial-card{
  border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:8px;background:var(--white);
}
.testimonial-name{font-weight:700;font-size:.88rem;color:var(--forest-900);}
.testimonial-meta{font-size:.72rem;color:var(--ink-400);font-family:var(--font-mono);margin-bottom:6px;}
.testimonial-text{font-size:.85rem;color:var(--ink-600);}

/* Forms */
.field{margin-bottom:16px;}
.field label{
  display:block;font-size:.82rem;font-weight:600;color:var(--forest-800);margin-bottom:6px;
}
.field input, .field select, .field textarea{
  width:100%;padding:11px 13px;border-radius:10px;border:1.5px solid var(--line);
  font-family:var(--font-body);font-size:.92rem;background:var(--white);color:var(--ink-900);
  transition:border-color .15s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none;border-color:var(--green-500);
}
.field small{display:block;margin-top:5px;font-size:.74rem;color:var(--ink-400);}
.field select:disabled, .field input:disabled{background:#F1F3F1;color:var(--ink-400);cursor:not-allowed;}
.hint-banner{
  font-size:.78rem;background:var(--green-100);color:var(--forest-800);
  padding:9px 12px;border-radius:8px;margin-top:6px;display:none;
}
.hint-banner.show{display:block;}
.warn-banner{
  font-size:.78rem;background:#FDEDEA;color:var(--danger);
  padding:9px 12px;border-radius:8px;margin-top:6px;display:none;
}
.warn-banner.show{display:block;}

.strength-track{height:6px;border-radius:999px;background:var(--line);margin-top:8px;overflow:hidden;}
.strength-fill{height:100%;width:0%;transition:width .2s ease, background .2s ease;}

/* Footer */
footer{
  background:var(--forest-900);color:rgba(255,255,255,.72);padding:36px 0 26px;margin-top:40px;
}
.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;align-items:center;}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;}
.footer-links a{font-size:.85rem;color:rgba(255,255,255,.72);}
.footer-links a:hover{color:var(--green-400);}
.footer-copy{font-size:.76rem;color:rgba(255,255,255,.45);margin-top:16px;}

/* Modal (Log in) */
.modal-overlay{
  position:fixed;inset:0;background:rgba(14,58,43,.45);
  display:none;align-items:center;justify-content:center;z-index:100;padding:20px;
}
.modal-overlay.open{display:flex;}
.modal-box{
  background:var(--white);border-radius:var(--radius-lg);padding:30px;
  width:100%;max-width:380px;box-shadow:var(--shadow-lift);position:relative;
}
.modal-close{
  position:absolute;top:16px;right:16px;background:none;border:none;
  font-size:1.3rem;cursor:pointer;color:var(--ink-400);
}
.modal-box h3{margin-bottom:4px;}
.modal-sub{font-size:.85rem;color:var(--ink-600);margin-bottom:20px;}
.forgot-link{font-size:.8rem;color:var(--forest-700);font-weight:600;display:inline-block;margin-top:8px;}

.social-row{display:flex;gap:10px;margin-top:6px;}
.social-btn{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:11px;border-radius:10px;border:1.5px solid var(--line);
  font-size:.85rem;font-weight:600;color:var(--ink-600);cursor:pointer;background:var(--white);
}
.social-btn:hover{border-color:var(--green-500);color:var(--forest-900);}

.divider-or{
  display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--ink-400);font-size:.78rem;
}
.divider-or::before, .divider-or::after{content:"";flex:1;height:1px;background:var(--line);}

.share-row{display:flex;gap:10px;flex-wrap:wrap;}
.share-icon{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--green-100);color:var(--forest-800);font-weight:700;font-size:.8rem;
  border:1px solid var(--line);
}
.share-icon:hover{background:var(--green-500);color:var(--white);}

@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr;}
  .nav-links{display:none;}
}

  .register-shell{
    min-height:100vh;display:flex;align-items:center;justify-content:center;
    padding:40px 20px;
    background:radial-gradient(1000px 500px at 20% 0%, var(--green-100), transparent 60%);
  }
  .register-grid{
    display:grid;grid-template-columns:1fr 1fr;max-width:920px;width:100%;
    border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lift);
  }
  .register-side{
    background:linear-gradient(160deg,var(--forest-900),var(--forest-800));
    color:var(--white);padding:44px 36px;display:flex;flex-direction:column;justify-content:space-between;
  }
  .register-side h2{color:var(--white);font-size:1.6rem;max-width:16ch;}
  .register-side p{color:rgba(255,255,255,.7);font-size:.9rem;}
  .mini-step{display:flex;gap:10px;align-items:flex-start;margin-top:18px;}
  .mini-step .num{
    font-family:var(--font-mono);color:var(--green-400);font-size:.78rem;
    border:1px solid rgba(255,255,255,.2);border-radius:50%;width:26px;height:26px;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .mini-step .txt{font-size:.85rem;color:rgba(255,255,255,.82);}
  .register-form-side{background:var(--white);padding:44px 36px;}
  .back-link{font-size:.82rem;color:var(--forest-700);font-weight:600;display:inline-block;margin-bottom:18px;}
  @media (max-width:820px){ .register-grid{grid-template-columns:1fr;} .register-side{display:none;} }
  .login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:radial-gradient(1000px 500px at 20% 0%, var(--green-100), transparent 60%);}
  .login-box{background:var(--white);border-radius:var(--radius-lg);padding:36px;width:100%;max-width:380px;box-shadow:var(--shadow-lift);}

  /* ---------- Toast popup (error/success notification) ---------- */
.toast-wrap{
  position:fixed;top:24px;left:50%;
  transform:translate(-50%,-30px);
  z-index:200;
  display:flex;flex-direction:column;gap:10px;
  pointer-events:none;
  width:100%;
  max-width:380px;
  padding:0 16px;
}
.toast{
  pointer-events:auto;
  display:flex;align-items:flex-start;gap:12px;
  background:var(--white);
  border-radius:14px;
  padding:14px 16px;
  box-shadow:0 16px 40px rgba(15,34,27,.18), 0 2px 8px rgba(15,34,27,.08);
  border:1px solid var(--line);
  opacity:0;
  transform:translateY(-16px) scale(.97);
  transition:opacity .28s cubic-bezier(.34,1.56,.64,1), transform .28s cubic-bezier(.34,1.56,.64,1);
}
.toast.show{opacity:1;transform:translateY(0) scale(1);}
.toast.leaving{opacity:0;transform:translateY(-10px) scale(.98);transition:opacity .18s ease, transform .18s ease;}
.toast-icon{
  flex-shrink:0;width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.85rem;font-weight:700;
}
.toast-error .toast-icon{background:#FDEDEA;color:var(--danger);}
.toast-success .toast-icon{background:var(--green-100);color:var(--forest-700);}
.toast-body{flex:1;min-width:0;}
.toast-title{font-family:var(--font-display);font-weight:700;font-size:.86rem;color:var(--ink-900);margin-bottom:2px;}
.toast-message{font-size:.8rem;color:var(--ink-600);line-height:1.4;}
.toast-close{
  flex-shrink:0;background:none;border:none;cursor:pointer;
  color:var(--ink-400);font-size:1rem;line-height:1;padding:2px;
  border-radius:6px;
}
.toast-close:hover{color:var(--ink-900);background:var(--mint-50);}
.toast-progress{
  position:absolute;left:14px;right:14px;bottom:6px;height:3px;
  border-radius:999px;background:var(--line);overflow:hidden;
}
.toast{position:relative;padding-bottom:20px;}
.toast-progress-fill{
  height:100%;width:100%;
  background:var(--danger);
  transform-origin:left;
  animation:toastCountdown 4.5s linear forwards;
}
.toast-success .toast-progress-fill{background:var(--green-500);}
@keyframes toastCountdown{
  from{transform:scaleX(1);}
  to{transform:scaleX(0);}
}
@media (prefers-reduced-motion: reduce){
  .toast, .toast-progress-fill{transition:none;animation:none;}
}

/* Modal (Log in) */
.modal-overlay{
  position:fixed;inset:0;background:rgba(14,58,43,.45);
  display:none;align-items:center;justify-content:center;z-index:100;padding:20px;
}
.modal-overlay.open{display:flex;}
.modal-box{
  background:var(--white);border-radius:var(--radius-lg);padding:30px;
  width:100%;max-width:380px;box-shadow:var(--shadow-lift);position:relative;
}
.modal-close{
  position:absolute;top:16px;right:16px;background:none;border:none;
  font-size:1.3rem;cursor:pointer;color:var(--ink-400);
}
.modal-box h3{margin-bottom:4px;}
.modal-sub{font-size:.85rem;color:var(--ink-600);margin-bottom:20px;}
.forgot-link{font-size:.8rem;color:var(--forest-700);font-weight:600;display:inline-block;margin-top:8px;}

.social-row{display:flex;gap:10px;margin-top:6px;}
.social-btn{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:11px;border-radius:10px;border:1.5px solid var(--line);
  font-size:.85rem;font-weight:600;color:var(--ink-600);cursor:pointer;background:var(--white);
}
.social-btn:hover{border-color:var(--green-500);color:var(--forest-900);}

.divider-or{
  display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--ink-400);font-size:.78rem;
}
.divider-or::before, .divider-or::after{content:"";flex:1;height:1px;background:var(--line);}

.share-row{display:flex;gap:10px;flex-wrap:wrap;}
.share-icon{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--green-100);color:var(--forest-800);font-weight:700;font-size:.8rem;
  border:1px solid var(--line);
}
.share-icon:hover{background:var(--green-500);color:var(--white);}

@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr;}
  .nav-links{display:none;}
}
  .login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:radial-gradient(1000px 500px at 20% 0%, var(--green-100), transparent 60%);}
  .login-box{background:var(--white);border-radius:var(--radius-lg);padding:36px;width:100%;max-width:380px;box-shadow:var(--shadow-lift);}
/* Beta 18 — responsive authentication */
@media(max-width:480px){
  .login-shell{padding:18px 14px;align-items:center;}
  .login-box{padding:26px 20px;border-radius:18px;}
  .login-box .field input{font-size:16px;}
  .login-box .btn{min-height:44px;}
}

/* Beta 22.8 multilingual menu */
.language-menu{max-height:320px;overflow-y:auto;}
