:root {
      --bg: #07100b;
      --bg-soft: #0d1a13;
      --bg-card: #111f17;
      --bg-card-2: #15271c;
      --text: #f5f7f0;
      --text-soft: #c1cbbb;
      --text-muted: #879383;
      --line: rgba(255,255,255,.11);
      --line-strong: rgba(191,238,112,.30);
      --accent: #bfee70;
      --accent-dark: #76ad34;
      --white: #fff;
      --radius: 24px;
      --radius-sm: 14px;
      --container: 1180px;
      --shadow: 0 24px 70px rgba(0,0,0,.40);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color: var(--text);
      background:
        radial-gradient(circle at 18% 0%, rgba(191,238,112,.12), transparent 32rem),
        radial-gradient(circle at 85% 20%, rgba(44,126,65,.20), transparent 28rem),
        var(--bg);
      line-height: 1.6;
      font-size: 17px;
    }
    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
      background-size: 54px 54px;
      mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 65%);
    }
    img { display:block; max-width:100%; }
    a { color: inherit; text-decoration: none; }
    p { margin: 0; color: var(--text-soft); }
    h1, h2, h3 { margin: 0; line-height: 1.05; letter-spacing: -.04em; }
    h1 { font-size: clamp(34px, 5vw, 58px); max-width: 760px; }
    h2 { font-size: clamp(32px, 4vw, 56px); max-width: 830px; }
    h3 { font-size: 22px; letter-spacing: -.025em; }
    ul { margin: 0; padding: 0; }
    .container { width: min(var(--container), calc(100% - 40px)); margin: 0 auto; position: relative; z-index: 1; }
    .section { padding: 92px 0; }
    .section-tight { padding: 58px 0; }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 18px;
      color: var(--accent);
      font-weight: 900;
      font-size: 13px;
      text-transform: uppercase;
      letter-spacing: .14em;
    }
    .eyebrow::before { content:""; width:34px; height:2px; background:var(--accent); border-radius:999px; }
    .lead { margin-top: 18px; font-size: clamp(18px, 2vw, 21px); max-width: 720px; }
    .card {
      border: 1px solid var(--line);
      background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
      border-radius: var(--radius);
      box-shadow: 0 14px 48px rgba(0,0,0,.22);
    }
.header { position: sticky; top: 0; z-index: 20; background: rgba(7,16,11,.88); backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); }
    .nav { min-height: 84px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
    .brand { display:flex; align-items:center; min-width: 270px; }
    .brand-logo { width: 210px; height: auto; object-fit: contain; object-position:left center; }
    .menu { display:flex; align-items:center; justify-content:center; gap:10px; color:var(--text-soft); font-size:15px; font-weight:850; position:relative; }
    .mega-item { position:static; }
    .mega-item > summary {
      list-style:none;
      cursor:pointer;
      display:flex;
      align-items:center;
      gap:8px;
      min-height:44px;
      padding:10px 13px;
      border-radius:999px;
      color:var(--text-soft);
      transition: color .2s ease, background .2s ease, border-color .2s ease;
      border:1px solid transparent;
      user-select:none;
      white-space:nowrap;
    }
    .mega-item > summary::-webkit-details-marker { display:none; }
    .mega-item > summary::after { content:"⌄"; color:var(--accent); font-size:14px; line-height:1; transform:translateY(-1px); }
    .mega-item:hover > summary,
    .mega-item[open] > summary,
    .mega-item:focus-within > summary {
      color:var(--white);
      background:rgba(191,238,112,.09);
      border-color:var(--line-strong);
    }
    .mega-panel {
      position:absolute;
      left:50%;
      top:calc(100% + 16px);
      width:min(920px, calc(100vw - 40px));
      display:grid;
      grid-template-columns:.82fr 1.18fr;
      gap:20px;
      padding:22px;
      border-radius:26px;
      border:1px solid var(--line-strong);
      background:linear-gradient(180deg, rgba(17,31,23,.98), rgba(9,18,13,.98));
      box-shadow:0 28px 90px rgba(0,0,0,.46);
      transform:translate(-50%, 10px);
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
      z-index:60;
    }
    .mega-item:hover .mega-panel,
    .mega-item[open] .mega-panel,
    .mega-item:focus-within .mega-panel {
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      transform:translate(-50%, 0);
    }
    .mega-feature {
      padding:20px;
      border-radius:20px;
      background:rgba(191,238,112,.08);
      border:1px solid rgba(191,238,112,.18);
    }
    .mega-feature p { margin-top:10px; font-size:15px; }
    .mega-cta {
      display:inline-flex;
      margin-top:18px;
      color:#07100b;
      background:var(--accent);
      border-radius:999px;
      padding:10px 14px;
      font-weight:950;
      font-size:14px;
    }
    .mega-links { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
    .mega-link {
      display:grid;
      gap:4px;
      padding:14px;
      border-radius:16px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.035);
      transition:background .2s ease, border-color .2s ease, transform .2s ease;
    }
    .mega-link:hover { background:rgba(191,238,112,.08); border-color:var(--line-strong); transform:translateY(-1px); }
    .mega-link strong { color:var(--text); font-size:15px; line-height:1.2; }
    .mega-link span { color:var(--text-muted); font-size:13px; line-height:1.35; }
    .actions, .cta-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
    .actions { justify-content:flex-end; }
    .mobile-menu-toggle { display:none; position:relative; justify-self:end; }
    .mobile-menu-toggle summary {
      list-style:none;
      width:52px;
      height:52px;
      display:grid;
      place-items:center;
      border-radius:999px;
      border:1px solid var(--line-strong);
      background:rgba(255,255,255,.045);
      cursor:pointer;
    }
    .mobile-menu-toggle summary::-webkit-details-marker { display:none; }
    .hamburger-lines {
      width:20px;
      height:14px;
      display:grid;
      gap:4px;
    }
    .hamburger-lines span {
      display:block;
      height:2px;
      border-radius:999px;
      background:#BFEE70;
    }
    .mobile-menu-panel {
      position:absolute;
      top:calc(100% + 12px);
      right:0;
      width:min(340px, calc(100vw - 28px));
      padding:16px;
      display:grid;
      gap:8px;
      border-radius:22px;
      border:1px solid var(--line-strong);
      background:linear-gradient(180deg, rgba(17,31,23,.98), rgba(7,16,11,.98));
      box-shadow:0 24px 70px rgba(0,0,0,.46);
      z-index:90;
    }
    .mobile-menu-panel a {
      display:block;
      padding:12px 14px;
      border-radius:14px;
      color:var(--text-soft);
      font-weight:850;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.025);
    }
    .mobile-menu-panel a:hover {
      color:var(--white);
      border-color:var(--line-strong);
      background:rgba(191,238,112,.08);
    }
    .btn {
      display:inline-flex;
      min-height:48px;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:13px 18px;
      border-radius:999px;
      font-weight:950;
      letter-spacing:-.01em;
      border:1px solid transparent;
      white-space:nowrap;
      transition: transform .2s ease, background .2s ease, border-color .2s ease;
    }
    .btn:hover { transform: translateY(-2px); }
    .btn-primary { background: var(--accent); color:#07100b; }
    .btn-primary:hover { background:#d6ff93; }
    .btn-secondary { color:var(--text); border-color:var(--line-strong); background:rgba(255,255,255,.04); }
    .btn-secondary:hover { border-color:rgba(191,238,112,.58); background:rgba(191,238,112,.08); }

    .icon {
      width: 1.08em;
      height: 1.08em;
      flex: 0 0 auto;
      color: #BFEE70;
      stroke: currentColor;
      fill: none;
      stroke-width: 2.2;
      stroke-linecap: round;
      stroke-linejoin: round;
      vertical-align: -0.15em;
    }
    .btn-primary .icon {
      color: #07100b;
    }
    .trust-item {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .trust-item .icon {
      width: 22px;
      height: 22px;
      color: #BFEE70;
    }
    .stars {
      display: flex;
      gap: 6px;
      color: #BFEE70;
    }
    .stars .icon {
      width: 22px;
      height: 22px;
      fill: currentColor;
      stroke: currentColor;
    }

    .hero {
      position:relative;
      z-index:1;
      min-height: calc(100vh - 126px);
      display:grid;
      align-items: stretch;
      overflow:visible;
      background: url('../images/hero-gazon-synthetique-grand-montreal-coucher-soleil.webp') center center / cover no-repeat;
    }
    .hero::before {
      content:"";
      position:absolute;
      inset:0;
      z-index:0;
      background:
        linear-gradient(90deg, rgba(7,16,11,.92) 0%, rgba(7,16,11,.83) 36%, rgba(7,16,11,.52) 65%, rgba(7,16,11,.24) 100%),
        linear-gradient(180deg, rgba(7,16,11,.22) 0%, rgba(7,16,11,.58) 100%);
    }
    .hero .container { position:relative; z-index:1; display:grid; align-items:center; min-height: calc(100vh - 126px); padding:82px 0 108px; }
    .hero-grass-divider {
      position:absolute;
      left:0;
      right:0;
      bottom:-1px;
      width:100%;
      height:88px;
      object-fit:cover;
      object-position:center bottom;
      z-index:5;
      pointer-events:none;
      display:block;
    }
    .hero-copy {
      max-width: 720px;
      padding:34px;
      border-radius:32px;
      background:rgba(7,16,11,.58);
      border:1px solid rgba(255,255,255,.12);
      box-shadow:var(--shadow);
      backdrop-filter: blur(10px);
    }
    .hero-actions { margin-top:34px; }
    .hero-badge {
      display:inline-flex;
      margin-top:28px;
      padding:12px 16px;
      border-radius:999px;
      background:rgba(191,238,112,.12);
      border:1px solid var(--line-strong);
      color:var(--text);
      font-weight:850;
      font-size:14px;
    }

    .trust-bar { display:grid; grid-template-columns: repeat(4, 1fr); gap:1px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--line); }
    .trust-item { padding:22px; background:rgba(17,31,23,.90); font-weight:850; color:var(--text); }
    .split { display:grid; grid-template-columns: .95fr 1.05fr; gap:54px; align-items:center; }
    .split.reverse { grid-template-columns: 1.08fr .92fr; }
    .section-head { display:flex; justify-content:space-between; gap:32px; align-items:end; margin-bottom:34px; }
    .section-head p { max-width:540px; }
    .problem-grid, .why-grid, .services-grid, .steps, .faq-grid { display:grid; gap:18px; }
    .problem-grid { grid-template-columns: repeat(4, 1fr); }
    .why-grid { grid-template-columns: repeat(3, 1fr); }
    .services-grid { grid-template-columns: repeat(3, 1fr); }
    .steps { grid-template-columns: repeat(4, 1fr); }
    .faq-grid { grid-template-columns: repeat(2, 1fr); }
    .info-card, .step-card, .faq-card { padding:28px; }
    .info-card h3 + p, .service-card h3 + p, .step-card h3 + p, .faq-card h3 + p { margin-top:12px; }
    .why-card { position:relative; }
    .why-icon {
      width:48px;
      height:48px;
      margin-bottom:16px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:14px;
      border:1px solid rgba(191,238,112,.18);
      background:linear-gradient(180deg, rgba(191,238,112,.12), rgba(191,238,112,.04));
      box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
    }
    .why-icon img {
      width:30px;
      height:30px;
      display:block;
      object-fit:contain;
    }
    .service-card { padding:0; overflow:hidden; }
    .service-card a { display:grid; grid-template-rows:auto 1fr; height:100%; }
    .service-card:hover { border-color:var(--line-strong); }
    .service-image { aspect-ratio: 16 / 10; overflow:hidden; border-bottom:1px solid var(--line); background:var(--bg-card); }
    .service-image img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
    .service-card:hover .service-image img { transform:scale(1.04); }
    .service-content { padding:24px; display:grid; align-content:start; }
    .card-kicker { color:var(--accent); font-size:12px; font-weight:950; letter-spacing:.14em; text-transform:uppercase; margin-bottom:16px; }
    .benefit { margin-top:16px; color:var(--accent); font-weight:850; }
    .number { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; background:rgba(191,238,112,.12); border:1px solid var(--line-strong); color:var(--accent); font-weight:950; margin-bottom:24px; }
    .offer {
      display:grid;
      grid-template-columns: .8fr 1.2fr;
      gap:32px;
      align-items:center;
      padding:44px;
      border-radius:34px;
      border:1px solid var(--line-strong);
      background:
        linear-gradient(135deg, rgba(191,238,112,.18), rgba(255,255,255,.045) 42%, rgba(255,255,255,.02)),
        rgba(17,31,23,.9);
      box-shadow:var(--shadow);
    }
    .offer-value { font-size:clamp(38px, 5vw, 66px); line-height:1; font-weight:950; letter-spacing:-.06em; color:var(--accent); }
    .check-list { display:grid; gap:14px; margin-top:24px; list-style:none; }
    .check-list li { display:grid; grid-template-columns:28px 1fr; gap:12px; color:var(--text-soft); font-weight:750; }
    .check-list li::before { content:""; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background-color:rgba(191,238,112,.12); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23BFEE70' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:center; background-size:16px 16px; }
    .image-card { overflow:hidden; min-height:500px; background:var(--bg-card); }
    .image-card img { width:100%; height:100%; min-height:500px; object-fit:cover; opacity:.94; }
    .logo-panel { position:relative; overflow:hidden; padding:0; min-height:500px; background:var(--bg-card); }
    .logo-panel > .welcome-photo { width:100%; height:100%; min-height:500px; object-fit:cover; display:block; }
    .logo-panel .corner-logo { position:absolute; top:18px; right:18px; width:min(34%, 180px); height:auto; padding:10px 12px; border-radius:20px; background:rgba(7,16,11,.78); border:1px solid var(--line-strong); box-shadow:0 18px 40px rgba(0,0,0,.28); backdrop-filter: blur(6px); }
    .trust-list { display:grid; gap:14px; list-style:none; }
    .trust-list li { padding:18px; border:1px solid var(--line); border-radius:var(--radius-sm); background:rgba(255,255,255,.035); color:var(--text-soft); font-weight:760; }
    .gallery { display:grid; grid-template-columns: repeat(4, 1fr); gap:16px; }
    .gallery-item { overflow:hidden; margin:0; }
    .gallery-item img { width:100%; height:220px; object-fit:cover; }
    .gallery-item figcaption { padding:14px 16px; color:var(--text-muted); font-size:14px; font-weight:760; }
    .testimonial { display:grid; grid-template-columns:.7fr 1.3fr; gap:26px; align-items:center; padding:34px; }
    .stars { color:var(--accent); font-size:22px; letter-spacing:.05em; }
    .reviews-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin-top:28px; }
    .review-card { position:relative; padding:28px; min-height:100%; }
    .review-card .stars { margin-bottom:18px; }
    .review-text { color:var(--text-soft); padding-right:12px; }
    .review-name { margin-top:22px; color:var(--white); font-weight:950; letter-spacing:-.02em; }
    .google-mark {
      position:absolute;
      top:22px;
      right:22px;
      width:36px;
      height:36px;
      display:grid;
      place-items:center;
      border-radius:999px;
      color:#BFEE70;
      background:rgba(191,238,112,.10);
      border:1px solid var(--line-strong);
    }
    .google-mark svg { width:20px; height:20px; fill:currentColor; }
    .zones-grid { display:grid; grid-template-columns: 1fr .9fr; gap:26px; align-items:stretch; }
    .city-list { display:flex; gap:10px; flex-wrap:wrap; margin-top:24px; }
    .city-list a { padding:9px 12px; border:1px solid var(--line); background:rgba(255,255,255,.035); color:var(--text-soft); border-radius:999px; font-size:14px; font-weight:800; }
    .map { overflow:hidden; min-height:420px; border-radius:var(--radius); border:1px solid var(--line); background:var(--bg-card); }
    .map iframe { width:100%; height:100%; min-height:420px; border:0; filter:grayscale(1) invert(.92) contrast(.9); }
    .contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:26px; }
    .contact-list { display:grid; gap:12px; margin-top:24px; }
    .contact-list a, .contact-list span { padding:16px; border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--text-soft); background:rgba(255,255,255,.035); font-weight:760; }
    .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
    label { display:grid; gap:8px; color:var(--text-soft); font-weight:850; font-size:14px; }
    input, select, textarea { width:100%; min-height:52px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.045); color:var(--white); padding:13px 14px; font:inherit; outline:none; }
    select option { background:#0d1a13; color:var(--white); }
    textarea { min-height:128px; resize:vertical; }
    input:focus, select:focus, textarea:focus { border-color:rgba(191,238,112,.55); }
    .full { grid-column:1/-1; }
    .privacy { font-size:13px; color:var(--text-muted); margin-top:14px; }
.form-consent { display:flex; gap:10px; align-items:flex-start; margin-top:16px; font-size:13px; color:var(--text-muted); line-height:1.5; }
.form-consent input { width:auto; min-width:18px; height:18px; margin-top:2px; accent-color:var(--accent); }
.form-consent a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
    .final-cta {
      padding:54px;
      border-radius:34px;
      overflow:hidden;
      position:relative;
      background:
        linear-gradient(90deg, rgba(7,16,11,.92), rgba(7,16,11,.78)),
        url('../images/realisation-gazon-synthetique-espace-exterieur.webp') center/cover;
      border:1px solid var(--line-strong);
      box-shadow:var(--shadow);
    }
    .final-cta p { margin-top:18px; max-width:680px; }
    .footer { padding:52px 0 34px; border-top:1px solid var(--line); background:#050a07; }
    .footer-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,.9fr) minmax(0,1.05fr); gap:34px; align-items:start; }
    .footer-brand-col { max-width:340px; }
    .footer .brand-logo { width:210px; }
    .footer h3 { font-size:16px; margin:0 0 14px; color:var(--text); }
    .footer .footer-subtitle { margin-top:24px; }
    .footer a, .footer p, .footer li { color:var(--text-muted); font-size:15px; }
    .footer ul { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
    .footer-contact-list { margin-bottom:0; }
    .footer-zones { margin:0; line-height:1.7; }
    .copyright { margin-top:34px; padding-top:24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; color:var(--text-muted); font-size:14px; }
    .webbec-credit { display:inline-flex; align-items:center; gap:10px; color:var(--text-muted); }
    .webbec-credit img { height:22px; width:auto; display:block; }
    .footer-company { margin:18px 0 0; color:var(--text); }

    .footer .social-row { display:flex; align-items:center; gap:12px; margin-top:18px; flex-wrap:wrap; }
    .footer .social-link { width:42px; height:42px; min-width:42px; min-height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; border:1px solid var(--line); background:rgba(255,255,255,.055); transition:transform .2s ease, border-color .2s ease, background .2s ease; overflow:hidden; }
    .footer .social-link:hover { transform:translateY(-2px); border-color:var(--line-strong); background:rgba(191,238,112,.09); }
    .footer .social-link svg { width:18px !important; height:18px !important; display:block; flex:0 0 18px; }
    .footer .social-link.facebook { color:#1877F2; }
    .footer .social-link.instagram { color:#E4405F; }
    .footer .social-link.google-map { color:#34A853; }


    .mt-28 { margin-top:28px; }
    .mt-18 { margin-top:18px; }

    @media (max-width: 1020px) {
      .nav { flex-wrap:wrap; }
      .menu { order:3; width:100%; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
      .mega-item { position:relative; }
      .mega-item[open] { grid-column:1/-1; }
      .mega-item > summary { justify-content:center; border-color:var(--line); background:rgba(255,255,255,.035); }
      .mega-panel { position:static; width:100%; display:none; grid-template-columns:1fr; margin-top:10px; opacity:1; visibility:visible; pointer-events:auto; transform:none; }
      .mega-item[open] .mega-panel { display:grid; }
      .mega-item:hover .mega-panel { transform:none; }
      .mega-links { grid-template-columns:1fr; }
      .trust-bar, .problem-grid, .why-grid, .services-grid, .steps, .gallery, .footer-grid { grid-template-columns: repeat(2, 1fr); }
      .footer-brand-col { max-width:none; }
      .split, .split.reverse, .offer, .zones-grid, .contact-grid, .testimonial { grid-template-columns:1fr; }
      .hero { min-height:auto; background-position:center; }
      .hero .container { min-height:auto; }
    }

    @media (max-width: 980px) {
      .nav {
        min-height: 68px;
        padding: 10px 0;
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: 10px;
      }
      .brand { min-width: 0; }
      .brand-logo {
        width: 150px;
        max-width: 38vw;
      }
      .mega-menu { display: none; }
      .actions {
        width: auto;
        justify-content: center;
        flex-wrap: nowrap;
      }
      .actions .btn-secondary { display: none; }
      .actions .btn-primary {
        width: auto;
        min-height: 42px;
        padding: 10px 12px;
        font-size: 14px;
        gap: 7px;
      }
      .actions .btn-primary .icon {
        width: 16px;
        height: 16px;
      }
      .actions .btn-primary span {
        font-size: 14px;
        line-height: 1;
      }
      .mobile-menu-toggle { display: block; }
    }

    @media (max-width: 680px) {
      body { font-size:16px; }
      .container { width:min(100% - 28px, var(--container)); }
      .nav { min-height:64px; padding:10px 0; }
      .brand-logo { width:128px; max-width:36vw; }
      .footer .brand-logo { width:210px; }
      .actions .btn-primary {
        min-height:40px;
        padding:9px 10px;
        font-size:13px;
        gap:6px;
      }
      .actions .btn-primary span { font-size:13px; }
      .mobile-menu-toggle summary { width:42px; height:42px; }
      .mobile-menu-panel { right:-2px; top:calc(100% + 10px); }
      .header .btn { width:auto; }
      .cta-row .btn { width:100%; }
      .hero .container { padding:54px 0 102px; }
      .hero-grass-divider { height:74px; }
      .hero-copy { padding:24px; border-radius:24px; }
      .section, .section-tight { padding:62px 0; }
      .trust-bar, .problem-grid, .why-grid, .services-grid, .steps, .gallery, .faq-grid, .footer-grid, .form-grid { grid-template-columns:1fr; }
      .section-head { display:grid; align-items:start; }
      .offer, .final-cta, .testimonial { padding:26px; border-radius:24px; }
      .image-card, .image-card img { min-height:360px; }
      .logo-panel, .logo-panel > .welcome-photo { min-height:360px; }
      .logo-panel .corner-logo { width:min(44%, 150px); top:14px; right:14px; padding:8px 10px; }
      .gallery-item img { height:190px; }
      .copyright { display:grid; }
    }


/* Legal page */
.legal-main { background: radial-gradient(circle at 15% 8%, rgba(191,238,112,.10), transparent 28rem); }
.legal-hero { padding-top: 118px; padding-bottom: 54px; }
.legal-layout { display:grid; grid-template-columns: 290px minmax(0, 1fr); gap:28px; align-items:start; }
.legal-nav { position:sticky; top:110px; padding:22px; display:grid; gap:10px; }
.legal-nav a { color:var(--text-soft); padding:10px 12px; border-radius:12px; border:1px solid transparent; font-weight:800; }
.legal-nav a:hover { color:var(--white); border-color:var(--line-strong); background:rgba(191,238,112,.08); }
.legal-content { padding:34px; }
.legal-content section + section { margin-top:42px; padding-top:34px; border-top:1px solid var(--line); }
.legal-content h2 { font-size: clamp(28px, 3vw, 42px); margin-bottom:18px; }
.legal-content h3 { margin-top:24px; margin-bottom:10px; color:var(--accent); font-size:20px; }
.legal-content p + p { margin-top:14px; }
.legal-content ul { margin:14px 0 0 20px; padding:0; color:var(--text-soft); }
.legal-content li + li { margin-top:8px; }
.legal-content a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
@media (max-width: 900px) {
  .legal-layout { grid-template-columns:1fr; }
  .legal-nav { position:relative; top:auto; }
  .legal-content { padding:24px; }
}
