<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>PeakProject — World Climbing Directory & Google Reviews</title>

  <style>

    /* RESET & BASE */

    * {

      box-sizing: border-box;

      margin: 0;

      padding: 0;

    }

    body {

      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

      background-color: #f1f5f9;

      color: #1e293b;

      line-height: 1.5;

      min-height: 100vh;

      display: flex;

      flex-direction: column;

    }


    /* COLOR VARIABLES & UTILS */

    :root {

      --mp-blue: #025f89;

      --mp-darkblue: #013e5a;

      --mp-accent: #386e8a;

      --mp-gold: #f59e0b;

      --slate-50: #f8fafc;

      --slate-100: #f1f5f9;

      --slate-200: #e2e8f0;

      --slate-300: #cbd5e1;

      --slate-600: #475569;

      --slate-800: #1e293b;

    }


    /* TOP HEADER */

    header {

      background-color: var(--mp-darkblue);

      color: #ffffff;

      position: sticky;

      top: 0;

      z-index: 100;

      box-shadow: 0 2px 4px rgba(0,0,0,0.1);

    }

    .header-main {

      max-width: 1280px;

      margin: 0 auto;

      padding: 0 16px;

      height: 56px;

      display: flex;

      align-items: center;

      justify-content: space-between;

      gap: 16px;

    }

    .logo-container {

      display: flex;

      align-items: center;

      gap: 10px;

      cursor: pointer;

      user-select: none;

    }

    .logo-icon {

      background: rgba(255, 255, 255, 0.12);

      border: 1px solid rgba(255, 255, 255, 0.2);

      border-radius: 6px;

      padding: 6px;

      display: flex;

      align-items: center;

      justify-content: center;

    }

    .logo-text {

      font-weight: 900;

      letter-spacing: 0.05em;

      font-size: 1.15rem;

    }

    .logo-text span {

      color: var(--mp-gold);

    }

    .logo-tag {

      font-size: 0.65rem;

      letter-spacing: 0.1em;

      text-transform: uppercase;

      color: #93c5fd;

      border-left: 1px solid rgba(255, 255, 255, 0.2);

      padding-left: 10px;

      margin-left: 6px;

      display: none;

    }

    @media (min-width: 768px) {

      .logo-tag { display: inline-block; }

    }


    /* SEARCH BAR */

    .search-wrap {

      flex: 1;

      max-width: 440px;

      position: relative;

    }

    .search-wrap svg {

      position: absolute;

      left: 10px;

      top: 50%;

      transform: translateY(-50%);

      color: #94a3b8;

    }

    .search-input {

      width: 100%;

      background: rgba(15, 23, 42, 0.6);

      border: 1px solid #334155;

      border-radius: 6px;

      padding: 7px 12px 7px 34px;

      font-size: 0.8rem;

      color: #ffffff;

      outline: none;

      transition: border-color 0.2s;

    }

    .search-input:focus {

      border-color: var(--mp-gold);

    }

    .search-input::placeholder {

      color: #94a3b8;

    }


    /* HEADER ACTIONS */

    .header-actions {

      display: flex;

      align-items: center;

      gap: 10px;

    }

    .btn {

      display: inline-flex;

      align-items: center;

      gap: 6px;

      font-size: 0.75rem;

      font-weight: 600;

      padding: 7px 12px;

      border-radius: 5px;

      border: none;

      cursor: pointer;

      transition: all 0.2s;

    }

    .btn-tick {

      background: var(--mp-blue);

      color: #ffffff;

      border: 1px solid rgba(255,255,255,0.25);

    }

    .btn-tick:hover {

      background: #0274a7;

    }

    .btn-review-cta {

      background: var(--mp-gold);

      color: #0f172a;

    }

    .btn-review-cta:hover {

      background: #d97706;

    }


    /* BREADCRUMB SUB-NAV */

    .subnav {

      background: var(--mp-blue);

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

      font-size: 0.75rem;

      color: #e0f2fe;

    }

    .subnav-inner {

      max-width: 1280px;

      margin: 0 auto;

      padding: 6px 16px;

      display: flex;

      justify-content: space-between;

      align-items: center;

    }

    .breadcrumbs {

      display: flex;

      align-items: center;

      gap: 6px;

      white-space: nowrap;

      overflow-x: auto;

    }

    .breadcrumbs a {

      color: #bae6fd;

      text-decoration: none;

      cursor: pointer;

    }

    .breadcrumbs a:hover {

      text-decoration: underline;

    }

    .breadcrumbs .crumb-current {

      color: var(--mp-gold);

      font-weight: bold;

    }

    .subnav-badge {

      display: none;

      font-size: 0.7rem;

      opacity: 0.85;

    }

    @media (min-width: 900px) {

      .subnav-badge { display: block; }

    }


    /* LAYOUT GRID */

    .main-container {

      max-width: 1280px;

      margin: 20px auto;

      padding: 0 16px;

      width: 100%;

      flex: 1;

      display: grid;

      grid-template-columns: 1fr;

      gap: 20px;

    }

    @media (min-width: 960px) {

      .main-container {

        grid-template-columns: 360px 1fr;

      }

    }


    /* CARDS */

    .card {

      background: #ffffff;

      border-radius: 8px;

      border: 1px solid var(--slate-200);

      box-shadow: 0 1px 3px rgba(0,0,0,0.04);

      overflow: hidden;

    }


    /* FILTER BOX */

    .filter-box {

      padding: 14px;

      margin-bottom: 16px;

    }

    .filter-header {

      display: flex;

      justify-content: space-between;

      align-items: center;

      margin-bottom: 12px;

      font-size: 0.75rem;

      font-weight: 700;

      text-transform: uppercase;

      letter-spacing: 0.05em;

      color: var(--slate-600);

    }

    .filter-header span {

      display: flex;

      align-items: center;

      gap: 5px;

    }

    .filter-reset {

      background: none;

      border: none;

      color: var(--mp-blue);

      font-size: 0.7rem;

      cursor: pointer;

    }

    .filter-reset:hover {

      text-decoration: underline;

    }

    .filter-grid {

      display: grid;

      grid-template-columns: 1fr 1fr;

      gap: 8px;

    }

    .filter-btn {

      padding: 6px 8px;

      border: 1px solid var(--slate-200);

      background: #ffffff;

      border-radius: 4px;

      font-size: 0.72rem;

      font-weight: 600;

      color: var(--sla