:root{
      --bg:#120a17;
      --surface:#1d1224;
      --surface-2:#261730;
      --text:#f8f4fb;
      --muted:#d9c8e5;
      --plum:#6e2a7b;
      --plum-2:#8b3d9a;
      --accent:#f2d5ff;
      --line:rgba(242,213,255,.2);
      --shadow:0 12px 30px rgba(8,5,10,.35);
      --radius:16px;
      --radius-sm:10px;
      --space-1:.5rem;
      --space-2:.875rem;
      --space-3:1.25rem;
      --space-4:2rem;
      --space-5:3rem;
      --max:1120px;
    }

    *{box-sizing:border-box}
    html,body{margin:0;padding:0}
    body{
      font-family: Georgia, "Times New Roman", Times, serif;
      background:
        radial-gradient(circle at 10% 10%, rgba(139,61,154,.25), transparent 35%),
        radial-gradient(circle at 85% 20%, rgba(110,42,123,.3), transparent 40%),
        linear-gradient(180deg, #140c1a 0%, #0e0813 100%);
      color:var(--text);
      line-height:1.55;
    }

    .container{width:min(100% - 2rem, var(--max)); margin-inline:auto}
    .section{padding: clamp(3rem, 6vw, 5.5rem) 0}
    .section h2{font-size:clamp(1.6rem, 3vw, 2.35rem); margin:0 0 var(--space-2)}
    .section p{margin:0 0 var(--space-3); color:var(--muted)}
    .kicker{
      display:inline-block;
      font-size:.82rem;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:var(--accent);
      background:rgba(242,213,255,.09);
      border:1px solid var(--line);
      border-radius:999px;
      padding:.35rem .7rem;
      margin-bottom:var(--space-2)
    }

    a{color:inherit}
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.5rem;
      font-weight:700;
      text-decoration:none;
      border-radius:999px;
      padding:.85rem 1.25rem;
      transition:.2s ease;
      border:1px solid transparent;
      cursor:pointer;
      font-size:1rem;
      white-space:nowrap;
    }
    .btn-primary{
      background:linear-gradient(135deg,var(--plum-2),var(--plum));
      color:#fff;
      box-shadow:0 10px 24px rgba(110,42,123,.35);
    }
    .btn-primary:hover,.btn-primary:focus-visible{transform:translateY(-1px); filter:brightness(1.05)}
    .btn-secondary{
      background:transparent;
      color:var(--accent);
      border-color:var(--line);
    }
    .btn-secondary:hover,.btn-secondary:focus-visible{
      background:rgba(242,213,255,.08);
    }

    header{
      position:sticky;
      top:0;
      z-index:20;
      backdrop-filter: blur(10px);
      background:rgba(13,8,18,.7);
      border-bottom:1px solid var(--line);
    }
    .nav{
      min-height:68px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
    }
    .brand{
      font-size:1.1rem;
      font-weight:700;
      letter-spacing:.02em;
    }
    .nav-links{
      display:flex;
      align-items:center;
      gap:.85rem;
      flex-wrap:wrap;
    }
    .nav-links a{
      text-decoration:none;
      color:var(--muted);
      font-size:.96rem;
    }

    .hero{
      position:relative;
      overflow:hidden;
      padding: clamp(3.2rem, 7vw, 6rem) 0;
      border-bottom:1px solid var(--line);
    }
    .hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(100deg, rgba(16,10,22,.85) 30%, rgba(16,10,22,.25) 100%),
        url("https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=1600&q=80") center/cover no-repeat;
      z-index:-2;
    }
    .hero::after{
      content:"";
      position:absolute;
      inset:0;
      background-image: radial-gradient(rgba(242,213,255,.18) 1px, transparent 1px);
      background-size: 20px 20px;
      opacity:.22;
      z-index:-1;
      pointer-events:none;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:1.2fr .9fr;
      gap:var(--space-4);
      align-items:center;
    }
    .hero h1{
      font-size:clamp(2rem, 5vw, 3.6rem);
      line-height:1.08;
      margin:0 0 .8rem;
      max-width:18ch;
    }
    .hero p{
      color:var(--muted);
      margin:0 0 var(--space-3);
      max-width:55ch;
      font-size:1.05rem;
    }
    .hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}
    .hero-card{
      background:linear-gradient(160deg, rgba(38,23,48,.92), rgba(20,11,27,.9));
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:1.25rem;
      box-shadow:var(--shadow);
    }
    .hero-card h3{margin:.2rem 0 .45rem;font-size:1.2rem}
    .hero-card p{margin:0 0 .9rem;font-size:.98rem}
    .mini-list{padding:0;margin:0;list-style:none}
    .mini-list li{padding:.35rem 0;color:var(--muted)}

    .grid-2{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:var(--space-4);
      align-items:start;
    }
    .card{
      background:linear-gradient(170deg, rgba(36,22,45,.88), rgba(20,12,26,.88));
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:1.25rem;
      box-shadow:var(--shadow);
    }

    .gallery-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:.9rem;
    }
    .gallery-grid figure{
      margin:0;
      border-radius:var(--radius-sm);
      overflow:hidden;
      border:1px solid var(--line);
      background:var(--surface-2);
    }
    .gallery-grid img{
      width:100%;
      height:220px;
      object-fit:cover;
      display:block;
    }
    .gallery-grid figcaption{
      padding:.55rem .7rem;
      color:var(--muted);
      font-size:.9rem;
      border-top:1px solid var(--line);
    }

    .contact-wrap{
      background:
        linear-gradient(135deg, rgba(110,42,123,.18), rgba(139,61,154,.08)),
        var(--surface);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:clamp(1.25rem, 3vw, 2rem);
      box-shadow:var(--shadow);
    }

    form{
      display:grid;
      gap:.8rem;
      margin-top:1rem;
    }
    label{
      font-size:.95rem;
      color:var(--accent);
      margin-bottom:.2rem;
      display:block;
    }
    input, select, textarea{
      width:100%;
      border-radius:10px;
      border:1px solid var(--line);
      background:#120a17;
      color:var(--text);
      padding:.75rem .8rem;
      font:inherit;
    }
    textarea{min-height:120px;resize:vertical}
    .row{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:.8rem;
    }
    .muted{color:var(--muted); font-size:.92rem}
    footer{
      border-top:1px solid var(--line);
      padding:1.3rem 0 2rem;
      color:var(--muted);
      font-size:.92rem;
    }

    @media (max-width: 900px){
      .hero-grid,.grid-2{grid-template-columns:1fr}
      .gallery-grid{grid-template-columns:1fr 1fr}
    }
    @media (max-width: 620px){
      .nav{flex-wrap:wrap; padding:.6rem 0}
      .gallery-grid{grid-template-columns:1fr}
      .row{grid-template-columns:1fr}
      .btn{width:100%}
      .nav-links{width:100%;justify-content:space-between}
    }