.contact-hero{ padding: 80px 0 56px; background: linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%);}
  .contact-hero h1{ font-size: clamp(48px, 6vw, 80px); max-width: 16ch;}
  .contact-hero h1 .it{ color: var(--brass); font-style: italic; font-weight: 400;}
  .contact-hero .lead{ max-width: 60ch;}

  .contact-main{ padding: 56px 0 96px;}
  .contact-main .grid{ grid-template-columns: 1.4fr 1fr; gap: 56px; align-items: start;}
  @media (max-width: 960px){ .contact-main .grid{ grid-template-columns: 1fr;} }

  .form-card{
    background: var(--surface); padding: 40px; border-radius: var(--r-lg);
    border: 1px solid var(--hairline); box-shadow: var(--shadow-1);
  }
  .form-card h2{ margin: 0 0 8px;}
  .form-card .row2{ display:grid; grid-template-columns: 1fr 1fr; gap: 14px;}
  @media (max-width: 600px){ .form-card .row2{ grid-template-columns: 1fr;} }
  .form-card .topic-row{ display:flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px;}
  .topic-row label{
    padding: 8px 14px; border-radius: var(--r-pill); font-size: 13px; font-weight: 500;
    background: var(--cream-2); color: var(--ink); border: 1.5px solid transparent;
    cursor: pointer; transition: all .2s ease; line-height: 1;
  }
  .topic-row input{ display: none;}
  .topic-row input:checked + label{ background: var(--ink); color: var(--cream); border-color: var(--ink);}

  .channel{
    background: var(--surface); padding: 22px; border-radius: var(--r-lg);
    border: 1px solid var(--hairline); margin-bottom: 12px;
    transition: all .2s ease; display: block;
  }
  .channel:hover{ border-color: var(--ink); transform: translateY(-2px);}
  .channel .top{ display: flex; gap: 14px; align-items: start;}
  .channel .ico{
    width: 44px; height: 44px; border-radius: var(--r-md);
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  }
  .channel.c1 .ico{ background: var(--brass-soft); color: var(--brass-dk);}
  .channel.c2 .ico{ background: var(--moss-soft); color: var(--moss);}
  .channel.c3 .ico{ background: var(--plum-soft); color: var(--plum);}
  .channel.c4 .ico{ background: var(--butter-soft); color: #7A5A0F;}
  .channel h4{ margin: 0; font-size: 16px;}
  .channel small{ color: var(--slate); font-size: 13px;}
  .channel .v{ display: block; margin-top: 6px; font-weight: 600; color: var(--ink); font-size: 16px; line-height: 1.3;}
  .channel .hr{ font-size: 12px; color: var(--slate); margin-top: 8px; display: flex; align-items: center; gap: 6px;}
  .channel .hr .dot{ width: 8px; height: 8px; border-radius: 50%; background: var(--good);}

  .map{
    aspect-ratio: 16/9; border-radius: var(--r-lg); overflow: hidden;
    background: linear-gradient(135deg, var(--moss-soft), var(--cream-2));
    margin-top: 22px; position: relative;
    border: 1px solid var(--hairline);
  }
  .map svg{ width: 100%; height: 100%;}
  .map .pin{
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -100%);
    background: var(--brass); color: #fff; padding: 8px 14px; border-radius: var(--r-pill);
    font-size: 13px; font-weight: 600; box-shadow: var(--shadow-2);
    display: flex; align-items: center; gap: 8px; line-height: 1;
  }
  .map .pin::after{ content:""; position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%); width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 8px solid var(--brass);}

  .hours{ padding: 18px 22px; background: var(--cream-2); border-radius: var(--r-md); margin-top: 14px;}
  .hours h5{ margin: 0 0 10px; text-transform: none; letter-spacing: 0; font-family: var(--ff-display); font-size: 16px; font-weight: 600;}
  .hours .row{ display: flex; justify-content: space-between; padding: 4px 0; font-size: 14px;}
  .hours .row span:last-child{ color: var(--slate);}

  .quick-faq{ background: var(--cream-2); padding: 64px 0;}
  .quick-faq .grid{ grid-template-columns: 1fr 2fr; gap: 56px; align-items: start;}
  @media (max-width: 800px){ .quick-faq .grid{ grid-template-columns: 1fr;} }
