    /* ===== FONT ===== */
    @font-face {
      font-family: 'Rubik';
      font-style: normal;
      font-weight: 400;
      src: url(https://fonts.gstatic.com/s/rubik/v31/iJWKBXyIfDnIV7nBrXyw023e.woff2) format('woff2');
    }
    @font-face {
      font-family: 'Rubik';
      font-style: normal;
      font-weight: 700;
      src: url(https://fonts.gstatic.com/s/rubik/v31/iJWKBXyIfDnIV7nBrXyw023e.woff2) format('woff2');
    }

    /* ===== THEME TOKENS ===== */
    :root {
      /* Page */
      --body-text: #293047;
      --body-bg: #FFF;

      /* Primary text & inverse */
      --text-primary: #1A1F2D;
      --text-inverse: #FFF;

      /* Muted text levels */
      --text-muted: #9CA3AF;
      --text-muted-2: #6B7280;
      --text-muted-3: #C4C9D4;

      /* Surfaces */
      --surface-1: #FFF;
      --surface-2: #FAFBFC;
      --surface-3: #F7F8F9;

      /* Device frame */
      --device-frame: #EDEFF2;

      /* Borders */
      --border-light: #F2F3F5;
      --border-mid: #D1D5DB;
      --border-heavy: #E5E7EB;

      /* Shadows */
      --shadow-phone: rgba(0,0,0,0.12);
      --shadow-device: rgba(0,0,0,0.10);

      /* Gallery */
      --gallery-bg: #FAFBFC;

      /* Review buttons */
      --btn-again-bg: #FEF2F2;
      --btn-again-fg: #EF4444;
      --btn-hard-bg: #FFF7ED;
      --btn-hard-fg: #F59E0B;
      --btn-good-bg: #F0FDF4;
      --btn-good-fg: #22C55E;
      --btn-easy-bg: #EFF6FF;
      --btn-easy-fg: #3B82F6;

      /* Sidebar active */
      --sidebar-active-bg: #FFF;

      /* Laptop base gradient */
      --laptop-base-from: #E5E7EB;
      --laptop-base-to: #D1D5DB;

      /* Streak half */
      --streak-half: #BBF7D0;

      /* Features */
      --features-bg: #FFF;

      /* Footer */
      --footer-bg: #F2F5F6;
      --footer-text: #1A1F2D;
      --footer-link: #1A1F2D;
      --footer-link-border: rgba(26,31,45,0.3);
      --footer-link-hover: rgba(26,31,45,0.6);
      --footer-link-hover-border: rgba(26,31,45,0.15);
      --footer-project: #6B7280;
      --footer-nav: #000;
      --footer-nav-hover: rgba(0,0,0,0.5);
    }

    [data-theme="dark"] {
        --body-text: #A8B1C4;
        --body-bg: #0D1017;
        --text-primary: #E4E7EE;
        --text-inverse: #0D1017;
        --text-muted: #6B7583;
        --text-muted-2: #8892A2;
        --text-muted-3: #4A5060;
        --surface-1: #0D1017;
        --surface-2: #151922;
        --surface-3: #1A1F2D;
        --device-frame: #1E2330;
        --border-light: #252A36;
        --border-mid: #2A303E;
        --border-heavy: #2A303E;
        --shadow-phone: rgba(0,0,0,0.35);
        --shadow-device: rgba(0,0,0,0.3);
        --gallery-bg: #111520;
        --btn-again-bg: #2A1215;
        --btn-again-fg: #F87171;
        --btn-hard-bg: #2A2010;
        --btn-hard-fg: #FBBF24;
        --btn-good-bg: #0F2A18;
        --btn-good-fg: #34D399;
        --btn-easy-bg: #0F1A2E;
        --btn-easy-fg: #60A5FA;
        --sidebar-active-bg: #1E2330;
        --laptop-base-from: #2A303E;
        --laptop-base-to: #1E2330;
        --streak-half: #166534;
        --features-bg: #0D1017;
        --footer-bg: #0A0D14;
        --footer-text: #E4E7EE;
        --footer-link: #E4E7EE;
        --footer-link-border: rgba(228,231,238,0.3);
        --footer-link-hover: rgba(228,231,238,0.6);
        --footer-link-hover-border: rgba(228,231,238,0.15);
        --footer-project: #8892A2;
        --footer-nav: #C8CDD8;
        --footer-nav-hover: rgba(200,205,216,0.5);
    }

    /* ===== RESET & BASE ===== */
    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
    html.theme-transition,
    html.theme-transition *,
    html.theme-transition *::before,
    html.theme-transition *::after {
      transition: color 0.3s ease, background-color 0.3s ease, background 0.3s ease,
                  border-color 0.3s ease, box-shadow 0.3s ease, fill 0.3s ease, stroke 0.3s ease !important;
    }
    body {
      font-family: 'Rubik', Arial, Helvetica, sans-serif;
      font-size: 18px;
      font-weight: 400;
      line-height: 1.7;
      letter-spacing: 0.035em;
      color: var(--body-text);
      background: var(--body-bg);
    }
    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }

    /* ===== HEADER NAV ===== */
    .header {
      position: absolute;
      top: 0; left: 0; right: 0;
      z-index: 100;
      padding: 40px 100px 0;
      max-width: 1300px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .header-nav-item {
      font-family: 'Rubik', sans-serif;
      font-weight: 400;
      font-size: 16px;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: var(--text-primary);
    }

    /* ===== THEME TOGGLE ===== */
    .theme-toggle {
      background: none;
      border: 1px solid var(--border-mid);
      border-radius: 999px;
      width: 36px;
      height: 36px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      color: var(--text-muted-2);
      transition: color 0.15s ease, border-color 0.15s ease;
    }
    .theme-toggle:hover {
      color: var(--text-primary);
      border-color: var(--text-muted);
    }
    .theme-toggle svg {
      width: 16px;
      height: 16px;
    }
    .theme-toggle .icon-moon { display: block; }
    .theme-toggle .icon-sun  { display: none; }
    [data-theme="dark"] .theme-toggle .icon-moon { display: none; }
    [data-theme="dark"] .theme-toggle .icon-sun  { display: block; }

    /* ===== HERO ===== */
    .hero {
      position: relative;
      width: 100%;
      background: var(--body-bg);
      padding: 160px 100px 120px;
      display: flex;
      justify-content: center;
    }
    .hero-inner {
      width: 100%;
      max-width: 1100px;
      display: flex;
      align-items: center;
      gap: 100px;
    }
    .hero-text {
      flex: 1;
    }
    .hero-text h1 {
      font-family: 'Rubik', sans-serif;
      font-weight: 400;
      font-size: 54px;
      line-height: 1.25;
      letter-spacing: 0;
      color: var(--text-primary);
      margin: 0 0 24px 0;
    }
    .hero-text p {
      font-family: 'Rubik', sans-serif;
      font-size: 18px;
      line-height: 1.7;
      letter-spacing: 0.035em;
      color: var(--body-text);
      margin: 0 0 36px 0;
    }
    .hero-text .btn {
      display: inline-block;
      padding: 13px 26px;
      background: var(--text-primary);
      color: var(--text-inverse);
      font-family: 'Rubik', sans-serif;
      font-weight: 400;
      font-size: 12px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      line-height: normal;
      border: none;
      border-radius: 999px;
      cursor: pointer;
      transition: box-shadow 0.25s ease, opacity 0.1s linear;
      box-shadow: 0 0 14px 3px rgba(128, 140, 180, 0.25);
    }
    .hero-text .btn:hover {
      opacity: 0.9;
      box-shadow: 0 0 20px 6px rgba(128, 140, 180, 0.38);
    }
    [data-theme="dark"] .hero-text .btn {
      box-shadow: 0 0 15px 4px rgba(200, 210, 240, 0.22);
    }
    [data-theme="dark"] .hero-text .btn:hover {
      box-shadow: 0 0 24px 8px rgba(200, 210, 240, 0.35);
    }

    /* Phone mockup */
    .hero-phone {
      flex-shrink: 0;
      width: 280px;
      height: 560px;
      background: var(--device-frame);
      border-radius: 40px;
      border: 1px solid var(--border-mid);
      box-shadow: 0 24px 80px var(--shadow-phone);
      padding: 10px;
      position: relative;
      overflow: hidden;
    }
    .phone-screen {
      width: 100%;
      height: 100%;
      background: var(--surface-1);
      border-radius: 30px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }

    /* App bar inside phone */
    .phone-app-bar {
      padding: 18px 20px 14px;
      border-bottom: 1px solid var(--border-light);
    }
    .phone-app-title {
      font-family: 'Rubik', sans-serif;
      font-weight: 700;
      font-size: 15px;
      color: var(--text-primary);
      letter-spacing: 0;
    }
    .phone-app-subtitle {
      font-family: 'Rubik', sans-serif;
      font-size: 11px;
      color: var(--text-muted);
      margin-top: 2px;
    }

    /* Card stack inside phone */
    .phone-cards {
      flex: 1;
      padding: 16px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      overflow: hidden;
    }
    .phone-card {
      background: var(--surface-2);
      border: 1px solid var(--border-light);
      border-radius: 12px;
      padding: 14px 16px;
      transition: background 0.15s ease;
    }
    .phone-card-subject {
      font-family: 'Rubik', sans-serif;
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 6px;
    }
    .phone-card-q {
      font-family: 'Rubik', sans-serif;
      font-size: 12.5px;
      line-height: 1.5;
      color: var(--text-primary);
    }
    .phone-card-meta {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-top: 8px;
    }
    .phone-card-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
    }
    .phone-card-dot--green { background: #34D399; }
    .phone-card-dot--amber { background: #FBBF24; }
    .phone-card-dot--blue  { background: #60A5FA; }
    .phone-card-dot--red   { background: #F87171; }
    .phone-card-due {
      font-family: 'Rubik', sans-serif;
      font-size: 10px;
      color: var(--text-muted);
    }

    /* Bottom nav inside phone */
    .phone-nav {
      padding: 12px 20px;
      border-top: 1px solid var(--border-light);
      display: flex;
      justify-content: space-around;
    }
    .phone-nav-dot {
      width: 20px;
      height: 3px;
      background: var(--border-heavy);
      border-radius: 2px;
    }
    .phone-nav-dot--active {
      background: var(--text-primary);
    }

    @media screen and (max-width: 960px) {
      .hero { padding: 140px 48px 80px; }
      .hero-inner { gap: 60px; }
    }
    @media screen and (max-width: 768px) {
      .hero { padding: 130px 36px 60px; }
      .hero-inner { flex-direction: column; gap: 50px; text-align: center; }
      .hero-text h1 { font-size: 40px; }
      .hero-phone { width: 240px; height: 480px; }
    }
    @media screen and (max-width: 640px) {
      .hero { padding: 110px 20px 50px; }
      .hero-text h1 { font-size: 32px; }
      .hero-phone { width: 220px; height: 440px; padding: 14px; }
      .phone-card-q { font-size: 11px; }
    }

    /* ===== GALLERY (CSS device mockups) ===== */
    .gallery {
      background: var(--gallery-bg);
      padding: 100px;
      overflow: hidden;
    }
    .gallery-inner {
      display: grid;
      grid-template-columns: 1fr 1.4fr;
      grid-template-rows: 1fr 1fr;
      gap: 40px;
      max-width: 1100px;
      margin: 0 auto;
      min-height: 580px;
    }

    /* Phone in gallery -- review screen */
    .gal-phone-wrap {
      grid-row: 1 / 3;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .gal-phone {
      width: 240px;
      height: 480px;
      background: var(--device-frame);
      border-radius: 36px;
      border: 1px solid var(--border-mid);
      box-shadow: 0 20px 60px var(--shadow-device);
      padding: 10px;
      display: flex;
      flex-direction: column;
      position: relative;
    }
    .gal-phone-screen {
      flex: 1;
      background: var(--surface-2);
      border-radius: 26px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }
    .gal-review-header {
      padding: 16px 18px 12px;
      border-bottom: 1px solid var(--border-light);
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .gal-review-title {
      font-family: 'Rubik', sans-serif;
      font-size: 13px;
      font-weight: 700;
      color: var(--text-primary);
    }
    .gal-review-count {
      font-family: 'Rubik', sans-serif;
      font-size: 10px;
      color: var(--text-muted);
    }
    .gal-review-card {
      flex: 1;
      margin: 16px;
      background: var(--surface-1);
      border-radius: 14px;
      border: 1px solid var(--border-light);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 24px 18px;
      text-align: center;
    }
    .gal-review-subject {
      font-family: 'Rubik', sans-serif;
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 12px;
    }
    .gal-review-q {
      font-family: 'Rubik', sans-serif;
      font-size: 14px;
      line-height: 1.6;
      color: var(--text-primary);
    }
    .gal-review-tap {
      font-family: 'Rubik', sans-serif;
      font-size: 9px;
      color: var(--text-muted-3);
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-top: 18px;
    }
    .gal-review-btns {
      display: flex;
      gap: 8px;
      padding: 0 16px 16px;
    }
    .gal-review-btn {
      flex: 1;
      padding: 9px 0;
      border-radius: 10px;
      font-family: 'Rubik', sans-serif;
      font-size: 10px;
      font-weight: 700;
      text-align: center;
      letter-spacing: 0.04em;
    }
    .gal-btn--again {
      background: var(--btn-again-bg);
      color: var(--btn-again-fg);
    }
    .gal-btn--hard {
      background: var(--btn-hard-bg);
      color: var(--btn-hard-fg);
    }
    .gal-btn--good {
      background: var(--btn-good-bg);
      color: var(--btn-good-fg);
    }
    .gal-btn--easy {
      background: var(--btn-easy-bg);
      color: var(--btn-easy-fg);
    }

    /* Laptop mockup */
    .gal-laptop-wrap {
      display: flex;
      align-items: flex-end;
      justify-content: center;
    }
    .gal-laptop {
      width: 100%;
      max-width: 420px;
      min-height: 260px;
    }
    .gal-laptop-screen {
      background: var(--device-frame);
      border: 1px solid var(--border-mid);
      border-radius: 10px 10px 0 0;
      padding: 2px;
      box-shadow: 0 10px 40px var(--shadow-device);
    }
    .gal-laptop-inner {
      background: var(--surface-2);
      border-radius: 8px 8px 0 0;
      overflow: hidden;
    }
    .gal-laptop-bar {
      background: var(--surface-1);
      padding: 8px 14px;
      border-bottom: 1px solid var(--border-light);
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .gal-browser-dots {
      display: flex;
      gap: 5px;
    }
    .gal-browser-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--border-heavy);
    }
    .gal-browser-url {
      flex: 1;
      height: 20px;
      background: var(--surface-3);
      border-radius: 4px;
      margin-left: 6px;
      display: flex;
      align-items: center;
      padding: 0 8px;
      font-family: 'Rubik', sans-serif;
      font-size: 8px;
      color: var(--text-muted);
    }
    .gal-laptop-body {
      padding: 20px 18px;
      display: flex;
      gap: 16px;
    }
    .gal-sidebar {
      width: 100px;
      flex-shrink: 0;
    }
    .gal-sidebar-title {
      font-family: 'Rubik', sans-serif;
      font-size: 8px;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 10px;
    }
    .gal-sidebar-item {
      padding: 6px 8px;
      border-radius: 6px;
      font-family: 'Rubik', sans-serif;
      font-size: 9px;
      color: var(--text-muted-2);
      margin-bottom: 3px;
    }
    .gal-sidebar-item--active {
      background: var(--sidebar-active-bg);
      color: var(--text-primary);
      font-weight: 700;
    }
    .gal-deck-grid {
      flex: 1;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
    }
    .gal-deck-tile {
      background: var(--surface-1);
      border: 1px solid var(--border-light);
      border-radius: 8px;
      padding: 12px 10px;
    }
    .gal-deck-name {
      font-family: 'Rubik', sans-serif;
      font-size: 9px;
      font-weight: 700;
      color: var(--text-primary);
      margin-bottom: 4px;
    }
    .gal-deck-meta {
      font-family: 'Rubik', sans-serif;
      font-size: 8px;
      color: var(--text-muted);
    }
    .gal-deck-bar {
      height: 3px;
      border-radius: 2px;
      background: var(--border-light);
      margin-top: 8px;
      overflow: hidden;
    }
    .gal-deck-fill {
      height: 100%;
      border-radius: 2px;
    }
    .gal-deck-fill--a { width: 82%; background: #34D399; }
    .gal-deck-fill--b { width: 65%; background: #60A5FA; }
    .gal-deck-fill--c { width: 91%; background: #A78BFA; }
    .gal-deck-fill--d { width: 45%; background: #FBBF24; }
    .gal-laptop-base {
      width: 110%;
      margin-left: -5%;
      height: 12px;
      background: linear-gradient(to bottom, var(--laptop-base-from), var(--laptop-base-to));
      border-radius: 0 0 6px 6px;
    }

    /* Tablet / stats mockup */
    .gal-tablet-wrap {
      display: flex;
      align-items: flex-start;
      justify-content: center;
    }
    .gal-tablet {
      width: 100%;
      max-width: 360px;
      min-height: 240px;
      background: var(--device-frame);
      border-radius: 18px;
      border: 1px solid var(--border-mid);
      box-shadow: 0 16px 50px var(--shadow-device);
      padding: 10px;
    }
    .gal-tablet-screen {
      background: var(--surface-2);
      border-radius: 8px;
      overflow: hidden;
      padding: 22px 20px;
    }
    .gal-stats-title {
      font-family: 'Rubik', sans-serif;
      font-size: 13px;
      font-weight: 700;
      color: var(--text-primary);
      margin-bottom: 16px;
    }
    .gal-stats-row {
      display: flex;
      gap: 12px;
      margin-bottom: 18px;
    }
    .gal-stat-card {
      flex: 1;
      background: var(--surface-1);
      border: 1px solid var(--border-light);
      border-radius: 10px;
      padding: 14px 12px;
      text-align: center;
    }
    .gal-stat-num {
      font-family: 'Rubik', sans-serif;
      font-size: 20px;
      font-weight: 700;
      color: var(--text-primary);
      line-height: 1.2;
    }
    .gal-stat-label {
      font-family: 'Rubik', sans-serif;
      font-size: 8px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-top: 4px;
    }
    .gal-streak-row {
      display: flex;
      gap: 4px;
      justify-content: center;
    }
    .gal-streak-day {
      width: 20px;
      height: 20px;
      border-radius: 4px;
      background: var(--border-light);
    }
    .gal-streak-day--done { background: #34D399; }
    .gal-streak-day--half { background: var(--streak-half); }
    .gal-streak-label {
      font-family: 'Rubik', sans-serif;
      font-size: 8px;
      color: var(--text-muted);
      text-align: center;
      margin-top: 6px;
    }

    @media screen and (max-width: 960px) {
      .gallery { padding: 60px 48px; }
      .gallery-inner { gap: 30px; }
    }
    @media screen and (max-width: 768px) {
      .gallery { padding: 50px 36px; }
      .gallery-inner {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        min-height: auto;
      }
      .gal-phone-wrap { grid-row: auto; }
      .gal-phone { width: 230px; height: 460px; }
      .gal-laptop { max-width: 100%; }
      .gal-tablet { max-width: 100%; }
    }
    @media screen and (max-width: 640px) {
      .gallery { padding: 40px 20px; }
      .gallery-inner { gap: 24px; }
      .gal-phone { width: 210px; height: 420px; }
    }

    /* ===== FEATURES ===== */
    .features {
      background: var(--features-bg);
      padding: 120px 100px;
    }
    .features-inner {
      width: 66.66%;
      margin: 0 auto;
    }
    .features h1 {
      font-family: 'Rubik', sans-serif;
      font-weight: 400;
      font-size: 54px;
      line-height: 1.25;
      letter-spacing: 0;
      color: var(--text-primary);
      margin: 0;
    }
    .features .spacer {
      height: 34px;
    }
    .features h2 {
      font-family: 'Rubik', sans-serif;
      font-weight: 400;
      font-size: 28px;
      line-height: 1.5;
      letter-spacing: 0.015em;
      color: var(--text-primary);
      margin: 0 0 12px 0;
    }
    .features p {
      font-family: 'Rubik', sans-serif;
      font-weight: 400;
      font-size: 18px;
      line-height: 1.7;
      letter-spacing: 0.035em;
      color: var(--body-text);
      margin: 0;
    }
    .features p a {
      color: #3779f2;
      border-bottom: 1px solid rgba(55,121,242,0.3);
      transition: border-color 0.15s ease-out, color 0.15s ease-out;
    }
    .features p a:hover {
      color: rgba(55,121,242,0.6);
      border-color: rgba(55,121,242,0.15);
    }
    .feature-block {
      margin-top: 60px;
    }

    /* ===== FOOTER ===== */
    .footer {
      background: var(--footer-bg);
      padding: 50px 100px;
      display: flex;
      justify-content: center;
    }
    .footer-inner {
      width: 100%;
      max-width: 1100px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .footer-left {
      font-family: 'Rubik', sans-serif;
      font-size: 16px;
      font-weight: 400;
      line-height: 1.6;
      letter-spacing: 0.035em;
      color: var(--footer-text);
    }
    .footer-left a {
      color: var(--footer-link);
      border-bottom: 1px solid var(--footer-link-border);
      transition: border-color 0.15s ease-out, color 0.15s ease-out;
    }
    .footer-left a:hover {
      color: var(--footer-link-hover);
      border-color: var(--footer-link-hover-border);
    }
    .footer-project {
      font-size: 14px;
      color: var(--footer-project);
      margin-top: 4px;
    }
    .footer-nav {
      font-family: 'Rubik', sans-serif;
      font-weight: 400;
      font-size: 16px;
      letter-spacing: 0;
      line-height: 1;
    }
    .footer-nav a {
      color: var(--footer-nav);
      margin-left: 24px;
      transition: color 0.15s ease-out;
    }
    .footer-nav a:hover { color: var(--footer-nav-hover); }

    /* ===== RESPONSIVE ===== */
    @media screen and (max-width: 1200px) {
      .features-inner { width: 66.6667%; }
    }
    @media screen and (max-width: 1024px) {
      .header { padding-left: 64px; padding-right: 64px; }
      .features { padding-left: 64px; padding-right: 64px; }
    }
    @media screen and (max-width: 960px) {
      .header { padding-left: 48px; padding-right: 48px; }
      .features { padding-left: 48px; padding-right: 48px; }
      .footer { padding-left: 48px; padding-right: 48px; }
    }
    @media screen and (max-width: 900px) {
      .features-inner { width: 83.3333%; }
    }
    @media screen and (max-width: 768px) {
      .header { padding-left: 36px; padding-right: 36px; }
      .features { padding-left: 36px; padding-right: 36px; }
      .footer { padding-left: 36px; padding-right: 36px; }
    }
    @media screen and (max-width: 640px) {
      .header { padding-left: 20px; padding-right: 20px; }
      .features-inner { width: 100%; }
      .features { padding: 60px 20px; }
      .features h1 { font-size: 32px; }
      .footer { padding: 20px; }
      .footer-inner { flex-direction: column; gap: 20px; text-align: center; }
      .footer-nav a { margin-left: 0; margin-right: 16px; }
      .footer-nav a:last-child { margin-right: 0; }
    }
