:root {
      --bg: #DCE9E4;
      --bg-soft: #C7D8D2;
      --accent-mid: #a78bafff;
      --primary: #86598f;
      --primary-dark: #300636;
      --card-bg: #ffffff;
      --border: #C7D8D2;
      --text-main: #280636;
      --text-muted: #5b4b63;
      --radius: 14px;
      --shadow: 0 12px 24px rgba(15,23,42,0.12);
    }

    *{margin:0; padding:0; box-sizing:border-box;}
    body{
      font-family:"Inter",sans-serif;
      background:var(--bg);
      color:var(--text-main);
      line-height:1.6;
    }
    .wrapper{
      max-width:1100px;
      margin:0 auto;
      padding:24px 16px 40px;
    }

    .page-header{margin-bottom:20px;}
    .page-kicker{
      font-size:13px;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:var(--text-muted);
      margin-bottom:6px;
    }
    .page-title{
      font-family:"Playfair Display",serif;
      font-size:26px;
      color:var(--primary-dark);
      margin-bottom:6px;
    }
    .page-subtitle{
      font-size:14px;
      color:var(--text-muted);
      max-width:640px;
    }
    .accent-line{
      width:60px;
      height:3px;
      background:var(--accent-mid);
      border-radius:2px;
      margin:14px 0 16px;
    }

    .card{
      background:var(--card-bg);
      border-radius:var(--radius);
      border:1px solid var(--border);
      box-shadow:var(--shadow);
      padding:16px;
    }

    /* split hero */
    .hero-row{
      display:grid;
      grid-template-columns:1.2fr 1.2fr;
      gap:14px;
      margin-bottom:18px;
      align-items:stretch;
    }
    .hero-photo{
      border-radius:12px;
      overflow:hidden;
      position:relative;
    }
    .hero-photo img{
      width:100%;
      height:100%;
      max-height:230px;
      object-fit:cover;
      display:block;
    }
    .hero-label{
      position:absolute;
      left:10px;
      bottom:10px;
      background:rgba(6,54,41,0.9);
      color:#fff;
      padding:4px 10px;
      border-radius:999px;
      font-size:12px;
    }

    .hero-text h2{
      font-size:18px;
      margin-bottom:6px;
      color:var(--primary-dark);
    }
    .hero-text p{
      font-size:14px;
      color:var(--text-main);
      margin-bottom:6px;
    }
    .hero-text ul{
      margin-left:18px;
      font-size:13px;
    }
    .hero-text li{margin-bottom:4px;}

    /* plate card */
    .plate-card{
      margin-bottom:16px;
      display:flex;
      gap:14px;
      align-items:center;
      background:#f4faf7;
      border-radius:12px;
      border:1px solid #d4e4dd;
      padding:12px;
      font-size:13px;
    }
    .price-circle{
      width:70px;
      height:70px;
      border-radius:50%;
      background:#e1efe9;
      display:flex;
      align-items:center;
      justify-content:center;
      flex-direction:column;
      font-weight:600;
    }
    .price-circle span:first-child{
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.08em;
    }
    .price-circle span:last-child{
      font-size:18px;
    }

    /* locations */
    .location-card h3{
      font-size:15px;
      margin-bottom:6px;
      color:var(--primary-dark);
    }
    .location-list{
      list-style:none;
      font-size:13px;
    }
    .location-list li{
      margin-bottom:4px;
      display:flex;
      gap:8px;
      align-items:flex-start;
    }
    .location-list i{
      margin-top:3px;
      color:var(--primary);
      font-size:11px;
    }

    @media(max-width:880px){
      .hero-row{grid-template-columns:1fr;}
    }
    @media(max-width:600px){
      .page-title{font-size:22px;}
    }