:root {
      --bg:#f3f8ff; --fg:#162033; --muted:#5f6d83; --card:rgba(255,255,255,.86); --line:rgba(125,146,178,.22); --max:980px;
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family: "Instrument Sans", "Segoe UI", Helvetica, Arial, sans-serif;
      background:
        radial-gradient(1100px 620px at -12% -6%, rgba(59,130,246,.14) 0%, transparent 64%),
        radial-gradient(920px 520px at 112% 10%, rgba(6,182,212,.12) 0%, transparent 60%),
        radial-gradient(960px 560px at 50% 118%, rgba(99,102,241,.08) 0%, transparent 66%),
        #f6f9ff;
      background-repeat:no-repeat;
      color:var(--fg);
      display:flex;
      align-items:flex-start;
      justify-content:center;
      overflow-x:hidden;
    }
    .skip-link{
      position:fixed;
      top:10px;
      left:10px;
      z-index:1000;
      padding:10px 14px;
      border-radius:8px;
      background:#111827;
      color:#fff;
      font-weight:700;
      text-decoration:none;
      transform:translateY(-160%);
      transition:transform .15s ease;
    }
    .skip-link:focus{transform:translateY(0)}
    .wrap{width:min(var(--max), calc(100% - 36px)); margin:20px auto 32px; padding-bottom:14px}
    .site-nav{
      display:flex;
      justify-content:flex-end;
      gap:clamp(16px, 3vw, 26px);
      margin:0 0 14px;
      padding:4px 2px 8px;
      flex-wrap:wrap;
      border-bottom:1px solid rgba(125,146,178,.16);
    }
    .site-nav a{
      position:relative;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:38px;
      padding:8px 1px;
      text-decoration:none;
      color:#52637c;
      font-weight:650;
      line-height:1.2;
      transition:color .18s ease;
    }
    .site-nav a::after{
      content:"";
      position:absolute;
      right:0;
      bottom:2px;
      left:0;
      height:2px;
      border-radius:999px;
      background:linear-gradient(90deg, #2563eb, #06b6d4);
      transform:scaleX(0);
      transform-origin:center;
      transition:transform .18s ease;
    }
    .site-nav a:hover,
    .site-nav a:focus-visible{
      color:#1d4ed8;
    }
    .site-nav a:hover::after,
    .site-nav a:focus-visible::after,
    .site-nav a[aria-current="page"]::after{
      transform:scaleX(1);
    }
    .site-nav a[aria-current="page"]{
      color:#1d4ed8;
      font-weight:800;
    }
    .site-nav a:focus-visible{
      outline:2px solid rgba(37,99,235,.38);
      outline-offset:4px;
      border-radius:2px;
    }
    .card{
      width:100%;
      background:var(--card);
      border:1px solid var(--line);
      border-radius:18px;
      padding:36px 32px;
      box-shadow:0 24px 70px rgba(15,23,42,.08);
    }
    .hero-header{
      display:grid;
      grid-template-columns:minmax(0, 1fr) auto;
      align-items:center;
      gap:20px;
    }
    .hero-header .hero-brand{grid-column:1; grid-row:1; min-width:0}
    .hero-header .site-nav{
      grid-column:2;
      grid-row:1;
      align-self:start;
      gap:clamp(12px, 1.6vw, 18px);
      margin:0;
      padding:0;
      border-bottom:0;
    }
    .hero-header .site-nav a{
      min-height:34px;
      padding:6px 1px;
      font-size:15px;
    }
    .brand-lockup{display:inline-flex; align-items:center; gap:12px; margin-bottom:10px}
    .hero-brand{text-decoration:none}
    .brand-lockup.hero-brand{gap:20px; align-items:center; margin-bottom:0}
    .brand{
      position:relative;
      width:62px;
      height:62px;
      border-radius:10px;
      border:1px solid rgba(59,130,246,.14);
      background:linear-gradient(135deg, rgba(239,246,255,.98) 0%, rgba(255,255,255,.95) 100%);
      box-shadow:0 16px 34px rgba(15,23,42,.06);
      overflow:hidden;
    }
    .brand::before,.brand::after{content:""; position:absolute; border-radius:999px}
    .brand::before{
      inset:14px 14px auto 14px;
      height:10px;
      background:linear-gradient(90deg, #2563eb 0%, #06b6d4 52%, #6366f1 100%);
    }
    .brand::after{
      width:18px;
      height:18px;
      right:12px;
      bottom:12px;
      background:linear-gradient(135deg, rgba(124,58,237,.20) 0%, rgba(20,184,166,.26) 100%);
      border:1px solid rgba(124,58,237,.10);
    }
    .brand-name{
      color:#1d4ed8;
      font-size:14px;
      font-weight:800;
      letter-spacing:.16em;
      text-transform:uppercase;
      line-height:1;
      white-space:nowrap;
    }
    .hero-brand .brand{width:82px; height:82px; border-radius:14px}
    .hero-brand .brand::before{inset:19px 18px auto 18px; height:12px}
    .hero-brand .brand::after{width:23px; height:23px; right:15px; bottom:15px}
    .hero-brand .brand-name{
      font-size:clamp(30px,4.4vw,44px);
      letter-spacing:-.05em;
      text-transform:none;
      color:#111827;
      font-weight:700;
    }
    h1{
      margin:18px 0 12px;
      font-size:clamp(24px,3.6vw,32px);
      line-height:1.1;
      letter-spacing:-0.03em;
      font-weight:700;
    }
    .lead{
      color:var(--muted);
      font-size:clamp(17px,2.2vw,20px);
      line-height:1.7;
      margin:18px 0 24px;
      width:100%;
    }
    .text-link{
      color:#1d4ed8;
      font-weight:700;
      text-decoration:underline;
      text-underline-offset:3px;
    }
    form{
      margin-top:4px;
      padding-top:22px;
      border-top:1px solid rgba(125,146,178,.16);
    }
    label{display:block; font-size:14px; color:#374151; margin:14px 0 6px; font-weight:600}
    input,textarea{
      width:100%;
      padding:13px 14px;
      border-radius:10px;
      border:1px solid rgba(148,163,184,.24);
      background:rgba(255,255,255,.92);
      color:var(--fg);
      outline:none;
      font:inherit;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
    }
    input:focus,textarea:focus{border-color:rgba(59,130,246,.42); box-shadow:0 0 0 4px rgba(59,130,246,.10)}
    textarea{min-height:160px; resize:vertical}
    .row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
    .actions{margin-top:16px; display:flex; gap:10px; align-items:center; flex-wrap:wrap}
    .form-note{margin:10px 0 0; color:var(--muted); font-size:15px; line-height:1.6}
    .privacy-note{margin:10px 0 0; color:#52637c; font-size:14px; line-height:1.6}
    .privacy-note a{color:#1d4ed8; font-weight:700; text-decoration:underline; text-underline-offset:2px}
    .hiddenhp{position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden}
    .submit-btn{
      appearance:none;
      border:1px solid rgba(59,130,246,.18);
      background:linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
      color:#1d4ed8;
      padding:0 18px;
      min-height:54px;
      border-radius:8px;
      font-weight:700;
      cursor:pointer;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
    }
    .submit-btn:disabled{cursor:not-allowed; opacity:.55; box-shadow:none; filter:saturate(.6)}
    .footer-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      margin:18px 0 14px;
    }
    .footer-links{
      display:flex;
      justify-content:flex-end;
      gap:clamp(12px, 1.6vw, 18px);
      flex-wrap:wrap;
      margin:0;
    }
    .footer-links a{
      position:relative;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:34px;
      padding:6px 1px;
      text-decoration:none;
      color:#52637c;
      font-weight:650;
      font-size:15px;
      transition:color .18s ease;
    }
    .footer-links a::after{
      content:"";
      position:absolute;
      right:0;
      bottom:0;
      left:0;
      height:2px;
      border-radius:999px;
      background:linear-gradient(90deg, #2563eb, #06b6d4);
      transform:scaleX(0);
      transform-origin:center;
      transition:transform .18s ease;
    }
    .footer-links a:hover,
    .footer-links a:focus-visible{
      color:#1d4ed8;
    }
    .footer-links a:hover::after,
    .footer-links a:focus-visible::after{
      transform:scaleX(1);
    }
    .footer-links a:focus-visible{
      outline:2px solid rgba(37,99,235,.38);
      outline-offset:3px;
      border-radius:2px;
    }
    .footer{font-size:12px; color:#52637c; text-align:left}
    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
      *,*::before,*::after{animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important}
    }
    @media (max-width: 900px){
      .hero-header{display:flex; flex-direction:column; align-items:stretch; gap:0}
      .hero-header .site-nav{
        order:2;
        align-self:stretch;
        width:100%;
        margin:14px 0 0;
        padding:8px 2px 0;
        border-top:1px solid rgba(125,146,178,.16);
      }
      .hero-header .hero-brand{order:1; align-self:flex-start}
    }
    @media (max-width: 640px){
      .wrap{width:min(var(--max), calc(100% - 24px)); margin:10px auto 24px; padding-bottom:14px}
      .card{padding:24px 20px}
      .brand-lockup{gap:10px}
      .brand-name{font-size:12px; letter-spacing:.14em}
      .hero-brand{gap:14px}
      .hero-brand .brand{width:74px; height:74px; border-radius:12px}
      .hero-brand .brand::before{inset:18px 16px auto 16px; height:11px}
      .hero-brand .brand::after{width:21px; height:21px; right:14px; bottom:14px}
      .hero-brand .brand-name{
        font-size:clamp(22px,7vw,32px);
        line-height:1.02;
        white-space:normal;
      }
      h1{font-size:27px}
      .lead{font-size:17px; line-height:1.65}
      .footer-row{flex-direction:column; align-items:stretch; gap:10px}
      .footer{order:2; text-align:center}
      .footer-links{justify-content:center}
      .hero-header .site-nav{justify-content:center; gap:6px 10px; padding-bottom:10px}
      .hero-header .site-nav a{min-height:44px; padding:10px 1px; font-size:16px}
      .footer-links a{min-height:44px; padding:10px 1px; font-size:16px}
      .row{grid-template-columns:1fr}
      .actions{flex-direction:column; align-items:stretch}
      .submit-btn{width:100%; min-height:48px}
      .cf-turnstile{max-width:100%}
    }
    @media (max-width: 380px){
      .site-nav{
        display:grid;
        grid-template-columns:repeat(2, max-content);
        justify-content:center;
      }
    }