:root {
      --blue:var(--color-accent);
      --blue-strong:var(--color-accent-strong);
      --blue-soft:#edf5ff;
      --blue-faint:#f7fbff;
      --ink:var(--color-text);
      --ink-soft:#34445d;
      --muted:var(--color-text-muted);
      --muted-light:#8b97a8;
      --line:var(--color-line);
      --line-strong:#d5deea;
      --surface:#fff;
      --surface-soft:#f7f9fc;
      --danger:#b94343;
      --success:#23764f;
      --max:1180px;
      --shadow-sm:0 10px 28px rgba(31,53,88,.06);
      --shadow-md:0 18px 48px rgba(31,53,88,.10);
    }

    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body {
      margin:0;
      color:var(--ink);
      background:#fff;
      font-family:var(--font-sans);
      font-size:16px;
      line-height:var(--leading-ui);
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }
    img { display:block; max-width:100%; }
    a { color:inherit; text-decoration:none; }
    button,input,select,textarea { font:inherit; }
    button { cursor:pointer; }
    :focus-visible {
      outline:3px solid rgba(23,105,224,.2);
      outline-offset:3px;
    }
    .container {
      width:min(var(--max),calc(100% - 40px));
      margin-inline:auto;
    }

    /* Header */
    .site-header {
      position:sticky;
      top:0;
      z-index:50;
      border-bottom:1px solid rgba(227,233,241,.92);
      background:rgba(255,255,255,.94);
      backdrop-filter:blur(18px);
    }
    .header-inner {
      min-height:74px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:26px;
    }
    .logo img { width:174px; }
    .main-nav {
      display:flex;
      align-items:center;
      gap:28px;
      color:#526176;
      font-size:14px;
      font-weight:700;
    }
    .main-nav a {
      position:relative;
      padding:26px 0;
      transition:color .18s ease;
    }
    .main-nav a::after {
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:19px;
      height:2px;
      border-radius:999px;
      background:var(--blue);
      transform:scaleX(0);
      transition:transform .18s ease;
    }
    .main-nav a:hover,
    .main-nav a[aria-current="page"] { color:var(--blue); }
    .main-nav a:hover::after,
    .main-nav a[aria-current="page"]::after { transform:scaleX(1); }
    .icon-button {
      width:43px;
      height:43px;
      display:grid;
      place-items:center;
      border:1px solid var(--line);
      border-radius:50%;
      background:#fff;
      color:var(--ink);
      transition:transform .18s ease,border-color .18s ease,color .18s ease;
    }
    .icon-button:hover {
      transform:translateY(-1px);
      color:var(--blue);
      border-color:#bfd0e5;
    }

    /* Hero */
    .page-hero {
      padding:38px 0 52px;
      border-bottom:1px solid var(--line);
      background:
        radial-gradient(circle at 17% -10%,rgba(23,105,224,.09),transparent 31%),
        linear-gradient(180deg,#fff,#fbfdff);
    }
    .breadcrumb {
      display:flex;
      align-items:center;
      gap:8px;
      margin-bottom:27px;
      color:var(--muted);
      font-size:var(--text-meta);
    }
    .breadcrumb a:hover { color:var(--blue); }
    .breadcrumb svg { width:12px; opacity:.72; }
    .hero-content {
      max-width:790px;
    }
    h1 {
      margin:0;
      font-size:clamp(44px,5.8vw,64px);
      line-height:1.02;
      letter-spacing:-.052em;
    }
    .hero-copy {
      max-width:740px;
      margin:18px 0 0;
      color:var(--muted);
      font-size:var(--text-lead-desktop);
      line-height:1.6;
    }

    /* Main */
    .page-main {
      padding:58px 0 0;
    }
    .form-layout {
      display:grid;
      grid-template-columns:minmax(0,760px) minmax(240px,310px);
      justify-content:center;
      align-items:start;
      gap:42px;
    }
    .form-card {
      padding:32px;
      border:1px solid var(--line);
      border-radius:24px;
      background:#fff;
      box-shadow:var(--shadow-sm);
    }
    .form-card-head {
      margin-bottom:27px;
    }
    .form-card-head h2 {
      margin:0;
      font-size:clamp(28px,3.5vw,36px);
      line-height:1.12;
      letter-spacing:-.038em;
    }
    .form-card-head p {
      margin:9px 0 0;
      color:var(--muted);
      font-size:var(--text-card);
    }

    .form-grid {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:20px;
    }
    .field {
      min-width:0;
    }
    .field.full {
      grid-column:1/-1;
    }
    .field-head {
      margin-bottom:8px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }
    label {
      color:var(--ink-soft);
      font-size:var(--text-meta);
      font-weight:800;
    }
    .optional {
      color:var(--muted);
      font-size:var(--text-label);
      font-weight:650;
    }
    .field-help {
      margin:7px 0 0;
      color:var(--muted);
      font-size:13px;
      line-height:1.5;
    }
    .field-control {
      width:100%;
      min-height:50px;
      padding:0 14px;
      border:1px solid var(--line-strong);
      border-radius:13px;
      background:#fff;
      color:var(--ink);
      outline:none;
      transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
    }
    textarea.field-control {
      min-height:132px;
      padding:13px 14px;
      resize:vertical;
      line-height:1.55;
    }
    .field-control::placeholder {
      color:#9da8b6;
    }
    select.field-control {
      padding-right:38px;
      cursor:pointer;
    }
    .field-control:hover {
      border-color:#c7d3e1;
    }
    .field-control:focus {
      border-color:#91b4e7;
      box-shadow:0 0 0 3px rgba(23,105,224,.08);
    }
    .field.invalid .field-control {
      border-color:#d99c9c;
      box-shadow:0 0 0 3px rgba(185,67,67,.06);
    }
    .field-error {
      display:none;
      margin:7px 0 0;
      color:var(--danger);
      font-size:13px;
    }
    .field.invalid .field-error {
      display:block;
    }
    .counter {
      margin-top:6px;
      text-align:right;
      color:var(--muted);
      font-size:var(--text-label);
    }

    .form-footer {
      margin-top:27px;
      padding-top:22px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:22px;
      border-top:1px solid var(--line);
    }
    .privacy-note {
      max-width:460px;
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.55;
    }
    .submit-button {
      min-width:158px;
      min-height:49px;
      padding:0 20px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      border:0;
      border-radius:999px;
      background:linear-gradient(180deg,var(--blue),var(--blue-strong));
      color:#fff;
      font-size:14px;
      font-weight:850;
      box-shadow:0 10px 24px rgba(23,105,224,.18);
      transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
    }
    .submit-button:hover {
      transform:translateY(-1px);
      box-shadow:0 13px 28px rgba(23,105,224,.23);
    }
    .submit-button:disabled {
      cursor:wait;
      opacity:.72;
      transform:none;
    }

    /* Side note */
    .side-note {
      padding:24px;
      border:1px solid #dfe7f1;
      border-radius:20px;
      background:#fbfcfe;
    }
    .side-note-icon {
      width:38px;
      height:38px;
      margin-bottom:14px;
      display:grid;
      place-items:center;
      border-radius:12px;
      background:var(--blue-soft);
      color:var(--blue);
    }
    .side-note h2 {
      margin:0;
      font-size:18px;
      line-height:1.3;
      letter-spacing:-.02em;
    }
    .side-note p {
      margin:9px 0 0;
      color:var(--muted);
      font-size:15px;
      line-height:var(--leading-ui);
    }
    .side-list {
      margin:18px 0 0;
      padding:0;
      list-style:none;
    }
    .side-list li {
      position:relative;
      padding:10px 0 10px 22px;
      border-top:1px solid #e8edf3;
      color:#5f6e82;
      font-size:15px;
      line-height:var(--leading-ui);
    }
    .side-list li::before {
      content:"";
      position:absolute;
      left:1px;
      top:17px;
      width:7px;
      height:7px;
      border-radius:50%;
      background:#8fb4e8;
    }
    .side-list a,
    .privacy-note a {
      color:var(--blue-strong);
      font-weight:750;
      text-decoration:underline;
      text-decoration-thickness:1px;
      text-underline-offset:3px;
    }

    /* Success */
    .success-state {
      display:none;
      padding:56px 34px 48px;
      text-align:center;
    }
    .success-icon {
      width:68px;
      height:68px;
      margin:0 auto 19px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:#eaf7f0;
      color:var(--success);
      box-shadow:inset 0 0 0 1px #d5ecdf;
    }
    .success-state h2 {
      margin:0;
      font-size:clamp(30px,4vw,40px);
      line-height:1.1;
      letter-spacing:-.04em;
    }
    .success-state p {
      max-width:570px;
      margin:12px auto 0;
      color:var(--muted);
      font-size:var(--text-card);
    }
    .success-actions {
      margin-top:25px;
      display:flex;
      justify-content:center;
      flex-wrap:wrap;
      gap:10px;
    }
    .secondary-button {
      min-height:44px;
      padding:0 17px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border:1px solid var(--line-strong);
      border-radius:999px;
      background:#fff;
      color:#5d6c80;
      font-size:13px;
      font-weight:800;
    }
    .secondary-button:hover {
      border-color:#bfd0e5;
      color:var(--blue);
    }
    .primary-link {
      min-height:44px;
      padding:0 17px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:999px;
      background:var(--blue);
      color:#fff;
      font-size:13px;
      font-weight:850;
    }

    /* Footer */
    .site-footer {
      margin-top:72px;
      padding:38px 0 20px;
      background:#16263f;
      color:#d5dfec;
    }
    .footer-grid {
      display:grid;
      grid-template-columns:1.35fr repeat(3,.75fr);
      gap:34px;
    }
    .footer-brand img {
      width:174px;
      filter:brightness(0) invert(1);
      opacity:.94;
    }
    .footer-brand p {
      max-width:340px;
      color:#9fb0c5;
      font-size:14px;
    }
    .footer-col h3 {
      margin:0 0 13px;
      color:#fff;
      font-size:14px;
    }
    .footer-col a {
      display:block;
      margin:8px 0;
      color:#aebcd0;
      font-size:13px;
    }
    .footer-col a:hover { color:#fff; }
    .footer-bottom {
      margin-top:31px;
      padding-top:18px;
      border-top:1px solid rgba(255,255,255,.09);
      color:#8395ac;
      font-size:12px;
    }
    .preview-note {
      position:fixed;
      z-index:60;
      left:14px;
      bottom:14px;
      padding:7px 11px;
      border:1px solid var(--line);
      border-radius:999px;
      background:rgba(255,255,255,.94);
      box-shadow:var(--shadow-sm);
      color:var(--muted);
      font-size:var(--text-label);
    }

    @media(max-width:960px) {
      .main-nav { display:none; }
      .form-layout {
        grid-template-columns:1fr;
        gap:24px;
      }
      .side-note {
        max-width:none;
      }
      .footer-grid {
        grid-template-columns:1.3fr repeat(2,1fr);
      }
      .footer-col:last-child {
        grid-column:2/-1;
      }
    }

    @media(max-width:720px) {
      .container {
        width:min(var(--max),calc(100% - 36px));
      }
      .header-inner {
        min-height:68px;
      }
      .logo img {
        width:150px;
      }
      .page-hero {
        padding:27px 0 39px;
      }
      h1 {
        font-size:clamp(39px,11vw,52px);
      }
      .hero-copy {
        font-size:var(--text-lead-mobile);
      }
      .page-main {
        padding-top:40px;
      }
      .form-card {
        padding:24px 20px;
        border-radius:20px;
      }
      .form-grid {
        grid-template-columns:1fr;
      }
      .field.full {
        grid-column:auto;
      }
      .form-footer {
        align-items:stretch;
        flex-direction:column;
      }
      .submit-button {
        width:100%;
      }
      .side-note {
        padding:21px;
      }
      .success-state {
        padding:45px 12px 38px;
      }
      .footer-grid {
        grid-template-columns:1fr 1fr;
      }
      .footer-brand {
        grid-column:1/-1;
      }
      .footer-col:last-child {
        grid-column:auto;
      }
      .preview-note {
        display:none;
      }
    }

    @media(max-width:460px) {
      .footer-grid {
        grid-template-columns:1fr;
      }
      .footer-brand {
        grid-column:auto;
      }
    }
