 :root{
      --bg: #f6f4ef;
      --surface: #ffffff;
      --ink: #1f2937;
      --muted: #6b7280;
      --line: rgba(31,41,55,.10);
      --shadow: 0 10px 30px rgba(31,41,55,.10);
      --shadow-soft: 0 6px 18px rgba(31,41,55,.08);
      --accent: #9a6a3a;
      --accent2:#2f3a2e;
      --radius: 18px;
    }

    *{ box-sizing: border-box; }

    html, body{
      margin:0;
      padding:0;
      font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
      color: var(--ink);
      background: var(--bg);
      overflow-x: hidden;
    }
    html { scroll-behavior: smooth; }
    section { scroll-margin-top: 80px; }
    a{ color: inherit; text-decoration: none; }
    .container{
      width: min(1120px, calc(100% - 40px));
      margin: 0 auto;
    }

    .hero{
      position: relative;
      padding: 70px 0 40px;
      background:
        linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)),
        url("maison-lot-pierre.jpg") center/cover no-repeat;
      color: #fff;
      overflow: hidden;
    }
    .hero::after{
      content:"";
      position:absolute;
      inset:auto 0 0 0;
      background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(246,244,239,1) 100%);
      pointer-events:none;
    }
    .hero h1{
      font-family: 'Playfair Display', serif;
      font-weight: 600;
      letter-spacing: -0.8px;
      line-height: 1.05;
      text-shadow: 0 2px 20px rgba(0,0,0,.35);
      margin:0 0 14px;
      font-size: clamp(28px, 4.2vw, 44px);
    }
    .brandbar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 12px;
      margin-bottom: 34px;
      opacity: .95;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:10px;
      font-weight: 650;
      letter-spacing: .2px;
    }
    .brand-badge{
      width:100px;
      height:100px;
      border-radius:12px;
      background:#9a6a3a;
      border:1px solid rgba(255,255,255,.18);
      box-shadow:0 8px 20px rgba(0,0,0,.25);
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
    }
    .brand-badge img{
      width:70%;
      height:70%;
      object-fit:contain;
    }
    .hero-actions{
      display:flex;
      gap: 10px;
      flex-wrap: wrap;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding: 12px 16px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.20);
      color: #fff;
      background: rgba(255,255,255,.10);
      backdrop-filter: blur(8px);
      cursor:pointer;
      transition: transform .15s ease, background .15s ease, border-color .15s ease;
      font-weight: 600;
      letter-spacing: .2px;
      white-space: nowrap;
    }
    .btn:hover{
      transform: translateY(-1px);
      background: rgba(255,255,255,.14);
      border-color: rgba(255,255,255,.28);
    }
    .btn.primary{
      background: linear-gradient(135deg, rgba(154,106,58,1), rgba(154,106,58,.78));
      border-color: rgba(154,106,58,.40);
    }
    .btn.primary:hover{
      background: linear-gradient(135deg, rgba(154,106,58,1), rgba(154,106,58,.86));
      border-color: rgba(154,106,58,.55);
    }
    .hero-grid{
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 26px;
      align-items: start;
      padding-bottom: 30px;
      position:relative;
      z-index: 1;
    }
    .hero p.lead{
      margin:0 0 18px;
      color: rgba(255,255,255,.85);
      max-width: 55ch;
      font-size: 1.05rem;
      line-height: 1.6;
    }
    .hero-kpis{
      display:flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 20px;
    }
    .pill{
      display:inline-flex;
      align-items:center;
      gap: 8px;
      padding: 10px 14px;
      border-radius: 999px;
      background: rgba(20,20,20,.65);
      border: 1px solid rgba(255,255,255,.15);
      color: rgba(255,255,255,.95);
      font-weight: 600;
      font-size: .95rem;
      backdrop-filter: blur(4px);
      transition: background .25s ease, transform .25s ease;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
    }
    .pill:hover{
      background: rgba(0,0,0,.55);
      transform: translateY(-2px);
    }
    .dot{
      width:8px;
      height:8px;
      border-radius: 50%;
      background: rgba(255,255,255,.85);
      box-shadow: 0 0 0 3px rgba(255,255,255,.12);
    }
    .hero-card{
      background: rgba(255,255,255,.35);
      border: 1px solid rgba(255,255,255,.15);
      border-radius: var(--radius);
      padding: 18px;
      backdrop-filter: blur(6px);
      box-shadow: 0 25px 60px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.08);
      transform: translateY(8px);
    }
    .hero-card h3{
      margin: 0 0 10px;
      font-size: 1.05rem;
      letter-spacing: .2px;
    }
    .hero-card p{
      margin: 0 0 14px;
      color: rgba(255,255,255,.85);
      line-height: 1.6;
      font-size: .98rem;
    }
    .hero-card ul{
      margin: 0;
      padding-left: 18px;
      color: rgba(255,255,255,.85);
      line-height: 1.7;
      font-size: .97rem;
    }
    .section{
      padding: 56px 0;
      background: #f7f4ef;
    }
    .section-head{
      text-align:center;
      margin-bottom: 26px;
    }
    .section-head h2{
      margin:0 0 10px;
      font-size: clamp(22px, 3vw, 30px);
      font-family: 'Playfair Display', serif;
      font-weight: 600;
      letter-spacing: -0.4px;
    }
    .section-head p{
      margin:0 auto;
      font-size: 1.05rem;
      max-width: 65ch;
      color: var(--muted);
      line-height: 1.7;
    }
    .card{
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow-soft);
    }
    .about-wrap{
      max-width: 820px;
      margin: 0 auto;
      padding: 22px 22px;
    }
    .about-grid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      margin-top: 16px;
    }
    .about-item{
      padding: 14px 14px;
      border-radius: 14px;
      border: 1px solid var(--line);
      background: linear-gradient(180deg, rgba(154,106,58,.06), rgba(47,58,46,.03));
      line-height: 1.55;
      color: var(--ink);
      font-weight: 600;
      font-size: .98rem;
    }
    .about-note{
      margin-top: 14px;
      color: var(--muted);
      line-height: 1.7;
      font-size: .98rem;
    }
    footer{
      padding: 22px 0;
      border-top: 1px solid var(--line);
      background: #000000;
      color: #FFFFFF;
      font-size: .95rem;
    }
    .footer-grid{
      display:flex;
      justify-content:space-between;
      gap: 14px;
      flex-wrap: wrap;
      align-items:center;
    }
    @media (max-width: 920px){
      .hero-grid{ grid-template-columns: 1fr; }
      .about-grid{ grid-template-columns: 1fr; }
    }