:root{
      --bg: #f7f3ee;
      --surface: #fffaf4;
      --surface-2: #f0e7dc;
      --text: #2c251f;
      --muted: #5f5449;
      --primary: #7a4b2a;
      --primary-strong: #5e381f;
      --accent: #b58a5f;
      --border: #dbc9b6;
      --ok: #3d5a40;

      --font-serif: Georgia, "Times New Roman", Times, serif;
      --font-sans: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

      --radius: 14px;
      --radius-sm: 10px;
      --shadow: 0 10px 30px rgba(44, 37, 31, 0.12);

      --space-1: 0.5rem;
      --space-2: 0.75rem;
      --space-3: 1rem;
      --space-4: 1.5rem;
      --space-5: 2rem;
      --space-6: 3rem;
      --space-7: 4rem;
    }

    *{box-sizing:border-box}
    html,body{margin:0;padding:0}
    body{
      font-family: var(--font-sans);
      color: var(--text);
      background:
        radial-gradient(circle at 10% 10%, rgba(181,138,95,0.15), transparent 35%),
        radial-gradient(circle at 90% 20%, rgba(122,75,42,0.12), transparent 30%),
        var(--bg);
      line-height:1.6;
    }

    a{color:inherit}
    img{max-width:100%;display:block;border-radius: var(--radius-sm)}
    .container{width:min(1120px, 92%);margin-inline:auto}
    .section{padding:var(--space-7) 0}
    .eyebrow{
      display:inline-block;
      font-size:0.85rem;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:var(--primary);
      font-weight:700;
      margin-bottom:var(--space-2);
    }
    h1,h2,h3{
      font-family: var(--font-serif);
      line-height:1.15;
      margin:0 0 var(--space-3);
      color:var(--text);
    }
    h1{font-size:clamp(2rem, 4vw, 3.35rem)}
    h2{font-size:clamp(1.6rem, 2.8vw, 2.3rem)}
    h3{font-size:1.2rem}
    p{margin:0 0 var(--space-3);color:var(--muted)}

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:0.85rem 1.2rem;
      border-radius:999px;
      border:1px solid transparent;
      font-weight:700;
      text-decoration:none;
      transition:all .2s ease;
      white-space:nowrap;
    }
    .btn-primary{
      background:linear-gradient(180deg, var(--primary), var(--primary-strong));
      color:#fff;
      box-shadow: 0 8px 20px rgba(94,56,31,.35);
    }
    .btn-primary:hover{transform:translateY(-1px);filter:brightness(1.03)}
    .btn-secondary{
      border-color:var(--border);
      background:#fff;
      color:var(--text);
    }
    .btn-secondary:hover{background:var(--surface-2)}

    header{
      position:sticky;top:0;z-index:20;
      background:rgba(247,243,238,0.88);
      backdrop-filter: blur(8px);
      border-bottom:1px solid rgba(219,201,182,.6);
    }
    .nav{
      display:flex;align-items:center;justify-content:space-between;
      min-height:72px; gap:var(--space-3);
    }
    .brand{
      font-family:var(--font-serif);
      font-size:1.35rem;
      font-weight:700;
      text-decoration:none;
      color:var(--text);
    }
    .nav-links{
      display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap;
    }
    .nav-links a{text-decoration:none;color:var(--muted);font-weight:600}
    .nav-links a:hover{color:var(--text)}

    .hero{
      padding:var(--space-7) 0 var(--space-6);
      position:relative;
      overflow:hidden;
    }
    .hero::before{
      content:"";
      position:absolute;inset:0;
      background:
        linear-gradient(120deg, rgba(122,75,42,.10), transparent 45%),
        repeating-linear-gradient(135deg, rgba(181,138,95,.08) 0 8px, transparent 8px 20px);
      pointer-events:none;
    }
    .hero-grid{
      position:relative;
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:var(--space-6);
      align-items:center;
    }
    .hero-card{
      background:rgba(255,250,244,.85);
      border:1px solid var(--border);
      border-radius:var(--radius);
      padding:var(--space-5);
      box-shadow:var(--shadow);
    }
    .cta-row{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4)}
    .hero-note{
      margin-top:var(--space-3);
      color:var(--ok);
      font-weight:600;
      font-size:.95rem;
    }

    .media-frame{
      position:relative;
      border-radius:var(--radius);
      overflow:hidden;
      box-shadow:var(--shadow);
      border:1px solid var(--border);
      background:#e9ddcf;
    }
    .media-frame::after{
      content:"";
      position:absolute; inset:auto 0 0 0; height:38%;
      background:linear-gradient(to top, rgba(44,37,31,.5), transparent);
      pointer-events:none;
    }
    .media-label{
      position:absolute;left:var(--space-3);bottom:var(--space-3);
      color:#fff;font-weight:700;z-index:1
    }

    .services{
      background:linear-gradient(180deg, rgba(240,231,220,.75), rgba(247,243,238,.4));
      border-top:1px solid var(--border);
      border-bottom:1px solid var(--border);
    }
    .cards{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:var(--space-4);
      margin-top:var(--space-4);
    }
    .card{
      background:var(--surface);
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      padding:var(--space-4);
    }

    .about-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:var(--space-5);
      align-items:center;
    }

    .gallery-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:var(--space-3);
      margin-top:var(--space-4);
    }
    .gallery-grid figure{
      margin:0;
      background:var(--surface);
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      overflow:hidden;
    }
    figcaption{
      padding:0.65rem 0.8rem;
      font-size:.92rem;
      color:var(--muted);
    }

    .trust{
      background:var(--surface);
      border-top:1px solid var(--border);
      border-bottom:1px solid var(--border);
    }
    .trust-list{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:var(--space-4);
      margin-top:var(--space-4);
    }
    .trust-item{
      padding:var(--space-4);
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      background:#fff;
    }

    .contact-wrap{
      display:grid;
      grid-template-columns:1fr .95fr;
      gap:var(--space-5);
      align-items:start;
    }
    .contact-card{
      background:var(--surface);
      border:1px solid var(--border);
      border-radius:var(--radius);
      padding:var(--space-5);
      box-shadow:var(--shadow);
    }
    form{display:grid;gap:var(--space-3)}
    label{font-weight:600;font-size:.95rem}
    input,textarea{
      width:100%;
      border:1px solid #cbb6a0;
      background:#fff;
      border-radius:10px;
      padding:0.75rem 0.85rem;
      font:inherit;
      color:var(--text);
    }
    textarea{min-height:120px;resize:vertical}
    input:focus,textarea:focus{outline:2px solid rgba(122,75,42,.25);border-color:var(--primary)}

    footer{
      padding:var(--space-5) 0;
      border-top:1px solid var(--border);
      color:var(--muted);
      font-size:.95rem;
    }

    @media (max-width: 980px){
      .hero-grid,.about-grid,.contact-wrap{grid-template-columns:1fr}
      .cards,.trust-list{grid-template-columns:repeat(2,1fr)}
      .gallery-grid{grid-template-columns:repeat(2,1fr)}
    }
    @media (max-width: 640px){
      .nav{flex-wrap:wrap;padding:0.5rem 0}
      .nav-links{width:100%;justify-content:flex-start}
      .cards,.trust-list,.gallery-grid{grid-template-columns:1fr}
      .hero-card,.contact-card{padding:var(--space-4)}
    }