/* ── HERO ──────────────────────────────────── */
  .page-hero{
    position:relative;padding:160px 0 60px;overflow:hidden;text-align:center;
  }
  .page-hero::before{
    content:"";position:absolute;inset:0;z-index:0;
    background-image:
      linear-gradient(var(--border) 1px, transparent 1px),
      linear-gradient(90deg, var(--border) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(ellipse 70% 70% at 50% 30%, black, transparent 70%);
    -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 30%, black, transparent 70%);
  }
  .page-hero::after{
    content:"";position:absolute;top:-60px;left:50%;
    width:900px;height:500px;transform:translateX(-50%);
    background:radial-gradient(ellipse 50% 50% at 50% 50%, var(--accent-glow), transparent 70%);
    filter:blur(60px);z-index:0;opacity:.4;pointer-events:none;
  }
  .page-hero__inner{position:relative;z-index:1;max-width:780px;margin:0 auto}
  .page-hero__pill{
    display:inline-flex;align-items:center;gap:8px;
    padding:6px 14px;border-radius:100px;
    background:var(--surface);border:1px solid var(--border-2);
    font-size:12px;color:var(--text-2);
    margin-bottom:28px;
    font-family:'Geist Mono',monospace;letter-spacing:.02em;
  }
  .page-hero__pill .dot{
    width:6px;height:6px;border-radius:50%;background:#22C55E;
    animation:dot-pulse 2s ease-in-out infinite;
  }
  .page-hero h1{
    font-size:clamp(44px, 7vw, 88px);font-weight:600;
    letter-spacing:-.045em;line-height:.98;
    text-wrap:balance;margin-bottom:24px;
  }
  .page-hero h1 .soft{color:var(--text-soft)}
  .page-hero h1 .accent{color:var(--accent)}
  .page-hero__sub{
    font-size:clamp(16px, 1.4vw, 20px);color:var(--text-2);
    line-height:1.55;max-width:560px;margin:0 auto;
    text-wrap:pretty;
  }

  /* ── CONTACT GRID ──────────────────────────── */
  .contact-grid{
    padding:60px 0 100px;
    position:relative;z-index:2;
  }
  .contact-grid__inner{
    display:grid;grid-template-columns:1fr 1.1fr;gap:40px;
    max-width:1120px;margin:0 auto;
  }
  .contact-info{
    display:flex;flex-direction:column;gap:14px;
  }
  .info-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--r-lg);
    padding:24px 26px;
    display:flex;align-items:flex-start;gap:16px;
    transition:border-color .25s,background .25s,transform .25s var(--ease);
  }
  .info-card:hover{border-color:var(--border-2);transform:translateY(-2px)}
  .info-card__icon{
    width:42px;height:42px;border-radius:9px;
    background:var(--accent-soft);
    border:1px solid color-mix(in oklab, var(--accent) 30%, transparent);
    display:flex;align-items:center;justify-content:center;
    color:var(--accent);flex-shrink:0;
  }
  .info-card__icon svg{width:18px;height:18px}
  .info-card__body{flex:1}
  .info-card__lbl{
    font-family:'Geist Mono',monospace;font-size:10px;
    color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;
    margin-bottom:6px;display:block;
  }
  .info-card__val{
    font-size:16px;font-weight:500;letter-spacing:-.01em;
    color:var(--text);
  }
  .info-card__val a{color:inherit;transition:color .15s}
  .info-card__val a:hover{color:var(--accent)}
  .info-card__hint{
    font-size:13px;color:var(--text-soft);margin-top:4px;
  }

  .form-card{
    background:var(--surface);
    border:1px solid var(--border-2);
    border-radius:var(--r-lg);
    padding:32px 32px 28px;
    box-shadow:var(--shadow);
  }
  .form-card h2{
    font-size:24px;font-weight:600;letter-spacing:-.025em;
    margin-bottom:6px;
  }
  .form-card > p{
    font-size:14px;color:var(--text-2);margin-bottom:22px;line-height:1.55;
  }

  /* ── FAQ ──────────────────────────────────── */
  .faq{padding:100px 0;border-top:1px solid var(--border);background:var(--bg-2)}
  .faq__inner{max-width:780px;margin:0 auto}
  .faq__head{text-align:center;margin-bottom:48px}
  .faq__head span.caps{color:var(--accent);margin-bottom:14px;display:inline-block}
  .faq__head h2{
    font-size:clamp(32px,4vw,48px);font-weight:600;letter-spacing:-.03em;line-height:1.1;
    text-wrap:balance;
  }
  .faq__head h2 .soft{color:var(--text-soft)}
  .faq__list{
    border:1px solid var(--border);border-radius:var(--r-lg);
    overflow:hidden;background:var(--surface);
  }
  .faq__item{
    border-bottom:1px solid var(--border);
    transition:background .25s;
  }
  .faq__item:last-child{border-bottom:none}
  .faq__item:hover{background:var(--surface-2)}
  .faq__item summary{
    list-style:none;cursor:pointer;
    padding:22px 28px;
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    font-size:16px;font-weight:500;letter-spacing:-.015em;
  }
  .faq__item summary::-webkit-details-marker{display:none}
  .faq__item summary::after{
    content:"";width:14px;height:14px;flex-shrink:0;
    background:
      linear-gradient(currentColor 0 0) center / 100% 1.5px no-repeat,
      linear-gradient(currentColor 0 0) center / 1.5px 100% no-repeat;
    color:var(--text-soft);
    transition:transform .25s var(--ease);
  }
  .faq__item[open] summary::after{transform:rotate(45deg)}
  .faq__item[open] summary{color:var(--accent)}
  .faq__answer{
    padding:0 28px 24px;
    font-size:14.5px;color:var(--text-2);line-height:1.65;
    text-wrap:pretty;
  }

  /* ── WA STRIP ─────────────────────────────── */
  .wa-strip{
    padding:80px 0;border-top:1px solid var(--border);
    background:linear-gradient(135deg, rgba(37,211,102,.06), transparent 60%), var(--bg);
    position:relative;overflow:hidden;
  }
  .wa-strip__inner{
    max-width:1080px;margin:0 auto;padding:0 32px;
    display:flex;align-items:center;justify-content:space-between;gap:32px;
    flex-wrap:wrap;
  }
  .wa-strip__copy{flex:1;min-width:280px}
  .wa-strip__copy span.caps{color:#22C55E;margin-bottom:12px;display:inline-flex;align-items:center;gap:8px}
  .wa-strip__copy span.caps::before{
    content:"";display:inline-block;width:18px;height:1px;background:#22C55E;
  }
  .wa-strip__copy h2{
    font-size:clamp(28px,3.5vw,40px);font-weight:600;letter-spacing:-.03em;line-height:1.1;
    text-wrap:balance;
  }
  .wa-strip__copy p{
    color:var(--text-2);font-size:15px;margin-top:10px;line-height:1.55;
  }
  .wa-strip__btn{
    display:inline-flex;align-items:center;gap:10px;
    background:#25D366;color:#fff;
    padding:14px 22px;border-radius:10px;
    font-size:14px;font-weight:500;letter-spacing:-.005em;
    transition:transform .25s var(--ease-spring),box-shadow .25s;
    box-shadow:0 8px 20px rgba(37,211,102,.3);
  }
  .wa-strip__btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(37,211,102,.45)}
  .wa-strip__btn svg{width:20px;height:20px}

  @media(max-width:920px){
    .contact-grid__inner{grid-template-columns:1fr;gap:24px}
  }
  @media(max-width:600px){
    .page-hero{padding:110px 0 40px}
    .page-hero h1{font-size:clamp(32px,10vw,52px);letter-spacing:-.03em}
    .page-hero__sub{font-size:15px}
    .contact-grid{padding:40px 0 60px}
  }