
  /* ===== Contact page (inherits NeoSphere design tokens) ===== */
  #top-content { display:block; }

  /* Page hero */
  .page-hero{
    position:relative;
    padding: calc(var(--site-header-height,72px) + 80px) 0 64px;
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
    color:#fff;
    overflow:hidden;
  }
  .page-hero::before{
    content:''; position:absolute; top:0; left:0; right:0; height:3px;
    background: linear-gradient(90deg, transparent 0%, var(--gold) 50%, transparent 100%);
  }
  .page-hero::after{
    content:''; position:absolute; top:0; right:0; width:45%; height:100%;
    background: radial-gradient(circle at 75% 25%, rgba(232,163,61,0.10) 0%, transparent 60%);
    pointer-events:none;
  }
  .breadcrumb{
    display:flex; align-items:center; gap:10px;
    font-size:12px; letter-spacing:.06em; color:rgba(255,255,255,.6);
    margin-bottom:32px;
  }
  .breadcrumb a{ color:rgba(255,255,255,.75); transition:color .2s var(--ease); }
  .breadcrumb a:hover{ color:var(--gold); }
  .breadcrumb .sep{ color:rgba(255,255,255,.35); }
  .page-hero .section-eyebrow{ color:#fff; }
  .page-hero .section-eyebrow .num{ color:var(--gold); }
  .page-hero-inner{ max-width:820px; }
  .page-hero-title{
    font-size:40px; font-weight:700; line-height:1.5; letter-spacing:.01em;
    margin-bottom:24px; color:#fff; text-wrap:balance;
  }
  .page-hero-lead{
    font-size:16px; line-height:2; color:rgba(255,255,255,.78); max-width:680px;
  }

  /* Contact body layout */
  .contact-block{ background:var(--bg-soft); }
  .contact-grid{
    display:grid; grid-template-columns: 0.85fr 1.15fr; gap:56px; align-items:start;
  }

  /* Aside cards */
  .contact-note-card, .contact-info-card, .contact-form-wrap{
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  }
  .contact-note-card{ padding:36px 34px; margin-bottom:24px; }
  .contact-note-title{
    font-size:18px; font-weight:700; color:var(--text); margin-bottom:14px; letter-spacing:.01em;
  }
  .contact-note-lead{
    font-size:14px; line-height:1.9; color:var(--text-sub); margin-bottom:24px;
  }
  .contact-privacy{
    background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius);
    padding:22px 22px 20px;
  }
  .contact-privacy-head{
    font-size:13px; font-weight:600; color:var(--navy); letter-spacing:.04em;
    margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--line);
  }
  .contact-privacy-list{ list-style:none; counter-reset:cp; margin:0 0 16px; padding:0; }
  .contact-privacy-list li{
    position:relative; counter-increment:cp; padding-left:34px; margin-bottom:12px;
    font-size:13px; line-height:1.85; color:var(--text-sub);
  }
  .contact-privacy-list li::before{
    content:counter(cp); position:absolute; left:0; top:1px;
    width:22px; height:22px; border-radius:50%;
    background:var(--navy); color:#fff;
    font:600 11px/22px 'Inter',sans-serif; text-align:center;
  }
  .contact-privacy-foot{ font-size:13px; line-height:1.8; color:var(--text); font-weight:500; margin:0; }

  .contact-info-card{ padding:30px 34px; }
  .contact-info-item{ padding:16px 0; border-bottom:1px solid var(--line); }
  .contact-info-item:first-child{ padding-top:0; }
  .contact-info-item:last-child{ padding-bottom:0; border-bottom:0; }
  .contact-info-label{
    font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
    color:var(--navy); margin-bottom:8px;
  }
  .contact-info-value{ font-size:13px; line-height:1.8; color:var(--text-sub); }
  .contact-inline-link{
    display:inline-flex; align-items:center; gap:8px;
    font-size:13px; font-weight:600; color:var(--navy);
  }
  .contact-inline-link .arrow{ transition:transform .25s var(--ease); }
  .contact-inline-link:hover{ color:var(--gold); }
  .contact-inline-link:hover .arrow{ transform:translateX(4px); }

  /* Form */
  .contact-form-wrap{ padding:44px 44px 40px; }
  .form-required-note{
    font-size:12px; color:var(--text-sub); margin-bottom:28px;
    padding-bottom:20px; border-bottom:1px solid var(--line);
  }
  .req-mark{ color:var(--gold); font-weight:700; margin-left:2px; }
  .form-field{ margin-bottom:22px; }
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .form-label{
    display:block; font-size:13px; font-weight:600; color:var(--text);
    letter-spacing:.02em; margin-bottom:9px;
  }
  .form-input{
    width:100%; box-sizing:border-box;
    padding:13px 16px; font-size:15px; font-family:inherit; color:var(--text);
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
    transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
  }
  .form-input::placeholder{ color:#9AA3B2; }
  .form-input:focus{
    outline:none; border-color:var(--navy);
    box-shadow:0 0 0 3px rgba(0,46,93,.10);
  }
  .form-textarea{ resize:vertical; min-height:150px; line-height:1.8; }
  .form-input.is-invalid{ border-color:#C0392B; box-shadow:0 0 0 3px rgba(192,57,43,.10); }

  .form-consent{
    display:flex; align-items:flex-start; gap:12px;
    font-size:13px; line-height:1.7; color:var(--text-sub);
    margin:6px 0 30px; cursor:pointer;
  }
  .form-consent-check{
    flex-shrink:0; width:18px; height:18px; margin-top:1px; accent-color:var(--navy); cursor:pointer;
  }
  .form-actions{ display:flex; }
  .form-submit{ padding:14px 34px; font-size:15px; }
  .form-status{
    margin:18px 0 0; padding:14px 18px; border-radius:var(--radius);
    font-size:14px; line-height:1.7;
  }
  .form-status.is-success{ background:rgba(0,46,93,.06); color:var(--navy); border:1px solid rgba(0,46,93,.15); }
  .form-status.is-error{ background:rgba(192,57,43,.06); color:#C0392B; border:1px solid rgba(192,57,43,.2); }

  /* Responsive */
  @media (max-width:1024px){
    .contact-grid{ grid-template-columns:1fr; gap:32px; }
    .page-hero-title{ font-size:32px; }
  }
  @media (max-width:640px){
    .page-hero{ padding: calc(var(--site-header-height,64px) + 48px) 0 44px; }
    .page-hero-title{ font-size:26px; }
    .page-hero-lead{ font-size:15px; }
    .contact-note-card{ padding:28px 22px; }
    .contact-info-card{ padding:24px 22px; }
    .contact-form-wrap{ padding:30px 22px 28px; }
    .form-row{ grid-template-columns:1fr; gap:0; }
    .form-submit{ width:100%; justify-content:center; }
  }
