:root { --navy:#23297a; --navy2:#151a52; --copper:#c89b6d; --ink:#1d2233; --mute:#5b6275; --line:#e2e5ee; --tint:#f1f2f8; }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { margin:0; font-family:"Inter","Segoe UI",Arial,sans-serif; color:var(--ink); background:#fff; font-size:16px; line-height:1.65; }
  img { max-width:100%; display:block; }
  a { color:var(--navy); }
  .wrap { max-width:1180px; margin:0 auto; padding:0 24px; }
  .eyebrow { font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--copper); }
  h1,h2,h3 { color:var(--navy2); line-height:1.2; margin:0; }
  .btn { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:6px; font-weight:600; font-size:14px; text-decoration:none; border:1.5px solid var(--navy); background:var(--navy); color:#fff; }

  .topbar { background:var(--navy2); color:#c9cde4; font-size:13px; }
  .topbar .wrap { display:flex; justify-content:flex-end; gap:22px; padding-top:7px; padding-bottom:7px; }
  nav.main { position:sticky; top:0; z-index:10; background:#fff; border-bottom:1px solid var(--line); }
  nav.main .wrap { display:flex; align-items:center; justify-content:space-between; height:92px; }
  nav.main img { height:60px; }
  nav.main ul { list-style:none; display:flex; gap:30px; margin:0; padding:0; font-size:15px; font-weight:500; }
  nav.main ul a { text-decoration:none; color:var(--ink); }

  .hero { background:linear-gradient(180deg,#f7f8fb 0%,#fff 100%); padding:56px 0 36px; border-bottom:1px solid var(--line); }
  .crumb { font-size:13px; color:var(--mute); margin-bottom:22px; }
  .crumb a { color:var(--mute); text-decoration:none; }
  .hero h1 { font-size:44px; font-weight:700; letter-spacing:-.02em; margin:10px 0 12px; }
  .hero p { margin:0; color:var(--mute); max-width:760px; font-size:17px; }
  .hero .upd { margin-top:16px; font-size:13.5px; color:var(--mute); }

  .doc { display:grid; grid-template-columns:260px 1fr; gap:64px; padding:56px 0 40px; align-items:start; }
  .toc { position:sticky; top:120px; font-size:14px; }
  .toc b { display:block; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--copper); margin-bottom:12px; }
  .toc ol { list-style:none; margin:0; padding:0; counter-reset:t; border-left:2px solid var(--line); }
  .toc li { counter-increment:t; }
  .toc a { display:block; padding:6px 0 6px 16px; margin-left:-2px; border-left:2px solid transparent; text-decoration:none; color:var(--mute); }
  .toc a::before { content:counter(t) ". "; color:var(--copper); font-weight:600; }
  .toc a:hover { color:var(--navy); border-left-color:var(--copper); }

  article { max-width:780px; }
  article section { padding:0 0 36px; margin-bottom:36px; border-bottom:1px solid var(--line); scroll-margin-top:120px; }
  article section:last-child { border-bottom:0; }
  article h2 { font-size:24px; margin-bottom:14px; }
  article h2 span { color:var(--copper); margin-right:8px; }
  article h3 { font-size:17px; margin:22px 0 8px; }
  article p { margin:0 0 14px; }
  article ul { margin:0 0 14px; padding-left:20px; }
  article li { margin-bottom:6px; }
  .card { background:#f7f8fb; border:1px solid var(--line); border-radius:12px; padding:20px 22px; margin:0 0 14px; }
  .card p:last-child { margin-bottom:0; }
  table { width:100%; border-collapse:collapse; font-size:14.5px; margin:4px 0 16px; }
  th { text-align:left; background:var(--navy2); color:#fff; font-weight:600; padding:10px 14px; }
  th:first-child { border-radius:8px 0 0 0; } th:last-child { border-radius:0 8px 0 0; }
  td { padding:11px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
  td:first-child { font-weight:600; color:var(--navy2); width:30%; }
  .tbd { background:#fff3cd; border-radius:3px; padding:0 3px; }

  footer { background:#0f1440; color:#aab0d0; padding:48px 0 28px; margin-top:40px; font-size:14px; }
  footer .grid { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px; }
  footer h4 { color:#fff; margin:0 0 12px; font-size:14px; }
  footer a { color:#aab0d0; text-decoration:none; display:block; margin-bottom:6px; }
  footer a.li { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; margin:16px 0 0; border-radius:8px; background:#0a66c2; color:#fff; transition:background .2s; }
  footer a.li:hover { background:#004182; }
  footer .copy { border-top:1px solid rgba(255,255,255,.1); margin-top:36px; padding-top:20px; display:flex; justify-content:space-between; font-size:13px; }
  footer .copy a { display:inline; margin:0; }
  .note { position:fixed; right:16px; bottom:16px; background:#fff8e6; border:1px solid #f0d9a0; color:#6b5210; font-size:12px; padding:8px 12px; border-radius:8px; z-index:20; }

  @media (max-width: 980px) {
    nav.main ul { display:none; }
    .doc { grid-template-columns:1fr; gap:32px; }
    .toc { position:static; }
    footer .grid { grid-template-columns:1fr 1fr; }
  }
  @media (max-width: 600px) {
    .wrap { padding:0 16px; }
    .hero h1 { font-size:32px; }
    nav.main img { height:46px; }
    table, thead, tbody, tr, th, td { display:block; }
    thead { display:none; }
    tr { border:1px solid var(--line); border-radius:10px; margin-bottom:10px; padding:4px 0; }
    td { border:0; padding:6px 14px; }
    td:first-child { width:auto; }
    footer .grid { grid-template-columns:1fr; }
    footer .copy { flex-direction:column; gap:6px; }
  }

  nav.main ul a.on { color:var(--navy); border-bottom:2px solid var(--copper); padding-bottom:4px; }
  /* shared content pages */
  section.s { padding:80px 0; }
  section.s.tint { background:#f7f8fb; }
  .head { max-width:720px; margin-bottom:40px; }
  .head h2, h2.t { font-size:32px; font-weight:700; letter-spacing:-.01em; margin-top:10px; }
  .head p { color:var(--mute); margin:14px 0 0; }
  .hero.img { position:relative; padding:0; color:#fff; background:#0f1440; border:0; }
  .hero.img .bg { position:absolute; inset:0; background-size:cover; background-position:center; }
  .hero.img .bg::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,20,64,.92) 0%,rgba(15,20,64,.72) 45%,rgba(15,20,64,.25) 100%); }
  .hero.img .wrap { position:relative; padding-top:72px; padding-bottom:80px; }
  .hero.img .crumb, .hero.img .crumb a { color:#aab0d0; }
  .hero.img h1 { color:#fff; max-width:760px; }
  .hero.img p { color:#d4d8ec; }
  .two { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
  .two p { margin:0 0 16px; }
  .two figure { margin:0; }
  .two figure img { border-radius:14px; width:100%; }
  .figs { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:28px; }
  .figs div { background:var(--tint); border-radius:10px; padding:16px 16px 14px; }
  .figs b { display:block; font-size:24px; font-weight:700; color:var(--navy); line-height:1.1; white-space:nowrap; }
  .figs i { display:block; width:26px; height:3px; background:var(--copper); margin:10px 0 8px; }
  .figs span { font-size:13px; color:var(--mute); }
  .cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .cards.c2 { grid-template-columns:1fr 1fr; }
  .cards.c4 { grid-template-columns:repeat(4,1fr); }
  .cards.c5 { grid-template-columns:repeat(5,1fr); }
  .cd { background:#fff; border:1px solid var(--line); border-radius:12px; padding:26px; }
  .cd h3 { font-size:18px; font-weight:600; margin-bottom:8px; }
  .cd p { margin:0; font-size:14.5px; color:var(--mute); line-height:1.6; }
  .cd .k { font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--copper); margin-bottom:10px; }
  .cd.navy { background:var(--navy2); border-color:var(--navy2); }
  .cd.navy h3 { color:#fff; font-size:21px; line-height:1.35; font-weight:600; }
  .team { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .person { background:#fff; border:1px solid var(--line); border-radius:12px; padding:28px; text-align:center; }
  .person img, .person .ini { width:132px; height:132px; border-radius:50%; object-fit:cover; margin:0 auto 18px; }
  .person .ini { display:grid; place-items:center; background:var(--tint); color:var(--navy); font-size:40px; font-weight:700; border:3px solid #fff; box-shadow:0 0 0 1px var(--line); }
  .person h3 { font-size:18px; }
  .person .role { color:var(--copper); font-weight:600; font-size:14px; margin:4px 0 10px; }
  .person p { margin:0; color:var(--mute); font-size:14.5px; }
  .tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
  .tags span { background:var(--tint); color:var(--navy); border-radius:99px; padding:4px 11px; font-size:12.5px; font-weight:500; }
  .cap { display:grid; grid-template-columns:260px 1fr; gap:40px; padding:36px 0; border-top:1px solid var(--line); }
  .cap:last-child { border-bottom:1px solid var(--line); }
  .cap .n { font-size:13px; font-weight:700; color:var(--copper); letter-spacing:.1em; }
  .cap h3 { font-size:22px; margin-top:6px; }
  .cap p { margin:0 0 6px; color:var(--mute); }
  .cap h4 { margin:14px 0 0; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--navy2); }
  .bandbar { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; margin-top:8px; }
  .bandbar div { background:linear-gradient(180deg,#23297a,#151a52); color:#fff; border-radius:8px; padding:14px 8px; text-align:center; font-weight:700; font-size:18px; }
  .bandbar div small { display:block; font-weight:500; font-size:11.5px; color:#c9cde4; margin-top:2px; }
  .steps { display:grid; grid-template-columns:repeat(6,1fr); gap:0; counter-reset:s; border-top:1px solid var(--line); }
  .step { padding:24px 20px 0 0; counter-increment:s; position:relative; }
  .step::before { content:"0" counter(s); display:block; font-size:14px; font-weight:700; color:var(--copper); margin-bottom:8px; }
  .step::after { content:""; position:absolute; top:-4px; left:0; width:8px; height:8px; border-radius:50%; background:var(--navy); }
  .step h3 { font-size:16px; font-weight:600; margin-bottom:6px; }
  .step p { margin:0; font-size:14px; color:var(--mute); }
  .band-cta { background:var(--navy2); color:#fff; border-radius:18px; padding:48px 56px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
  .band-cta h2 { color:#fff; font-size:28px; }
  .band-cta p { color:#c9cde4; margin:8px 0 0; }
  .band-cta .btn { background:var(--copper); border-color:var(--copper); color:var(--navy2); padding:13px 22px; font-size:15px; flex:none; }
  /* contact */
  .ct { display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; align-items:start; }
  .info { display:grid; gap:18px; }
  .info .cd dl { margin:14px 0 0; display:grid; gap:12px; font-size:15px; }
  .info .cd dt { font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--mute); }
  .info .cd dd { margin:2px 0 0; font-weight:500; }
  .map { position:relative; height:240px; border-radius:12px; overflow:hidden; border:1px solid var(--line);
         background:linear-gradient(0deg,rgba(255,255,255,.55),rgba(255,255,255,.55)),
                    repeating-linear-gradient(35deg,#e3e6ef 0 2px,transparent 2px 46px), repeating-linear-gradient(-55deg,#e9ecf3 0 2px,transparent 2px 38px), #f3f4f8;
         display:grid; place-items:center; text-align:center; }
  .map .pin { width:44px; height:44px; margin:0 auto 10px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:var(--copper); box-shadow:0 6px 14px rgba(0,0,0,.18); }
  .map .pin::after { content:""; display:block; width:16px; height:16px; border-radius:50%; background:#fff; margin:14px; }
  .map b { display:block; color:var(--navy2); }
  .map small { color:var(--mute); }
  .map .btn { margin-top:14px; }
  .fbox { background:#fff; border:1px solid var(--line); border-radius:14px; padding:32px; }
  .fbox h2 { font-size:24px; margin-bottom:6px; }
  .fbox > p { margin:0 0 20px; color:var(--mute); font-size:15px; }
  .fbox form { display:grid; gap:12px; }
  .fbox .row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .fbox label.f { display:grid; gap:5px; font-size:13px; font-weight:600; }
  .fbox label.f i { font-style:normal; color:#c0392b; }
  .fbox input[type=text], .fbox input[type=email], .fbox select, .fbox textarea { width:100%; padding:11px 13px; border-radius:8px; border:1px solid #cfd3e0; background:#fff; color:var(--ink); font:inherit; font-size:15px; font-weight:400; }
  .fbox textarea { resize:vertical; min-height:120px; }
  .fbox .bad { border-color:#c0392b !important; }
  .fbox .chk { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--mute); }
  .fbox .chk input { margin-top:3px; accent-color:var(--navy); }
  .fbox .pn { margin:0; font-size:12.5px; color:var(--mute); }
  .fbox .err { display:none; font-size:13px; color:#c0392b; }
  .fbox button { padding:13px 22px; border-radius:6px; border:0; background:var(--navy); color:#fff; font:inherit; font-weight:600; font-size:15px; cursor:pointer; }
  .fbox .ok { display:none; text-align:center; padding:40px 0; }
  .fbox .ok b { display:block; font-size:20px; color:var(--navy2); margin-bottom:8px; }
  .rep .flag { font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--copper); }
  .rep h3 { margin:8px 0 10px; }
  .rep p { line-height:1.7; }
  .legal-row { display:flex; flex-wrap:wrap; gap:10px 28px; font-size:14.5px; }
  @media (max-width: 980px) {
    .two, .ct { grid-template-columns:1fr; gap:36px; }
    .cards, .cards.c4, .cards.c5, .team { grid-template-columns:1fr 1fr; }
    .cap { grid-template-columns:1fr; gap:10px; }
    .steps { grid-template-columns:repeat(3,1fr); gap:0 16px; }
    .band-cta { flex-direction:column; align-items:flex-start; padding:36px 28px; }
  }
  @media (max-width: 600px) {
    section.s { padding:56px 0; }
    .head h2, h2.t { font-size:26px; }
    .cards, .cards.c2, .cards.c4, .cards.c5, .team, .fbox .row { grid-template-columns:1fr; }
    .figs { grid-template-columns:1fr 1fr; }
    .bandbar { grid-template-columns:repeat(4,1fr); }
    .steps { grid-template-columns:1fr; }
    .fbox { padding:22px; }
  }

  /* product page */
  .phero { padding:56px 0 48px; background:linear-gradient(180deg,#f7f8fb 0%,#fff 100%); border-bottom:1px solid var(--line); }
  .phero .grid { display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
  .phero h1 { font-size:50px; font-weight:700; letter-spacing:-.02em; margin:12px 0 14px; }
  .phero .sub { font-size:20px; color:var(--copper); font-weight:600; margin:0 0 18px; }
  .phero .lead { font-size:17.5px; color:#3a4157; margin:0 0 26px; }
  .phero .photo { background:linear-gradient(180deg,#e9ecf3 0%,#ffffff 100%); padding:28px; border-radius:14px; aspect-ratio:1/1; }
  .phero .photo img { width:100%; height:100%; object-fit:contain; }
  .phero .ctas { display:flex; gap:12px; flex-wrap:wrap; }
  .btn.ghost { background:#fff; color:var(--navy); }
  .phero .figs { grid-template-columns:repeat(6,1fr); margin-top:44px; }
  .models { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  .model { background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
  .model .top { padding:20px 22px; border-bottom:1px solid var(--line); }
  .model .top em { font-style:normal; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--copper); }
  .model .top b { display:block; font-size:22px; color:var(--navy2); margin-top:4px; }
  .model .top span { display:block; font-size:13.5px; color:var(--mute); }
  .model .top .big { font-size:32px; font-weight:700; color:var(--navy); line-height:1; margin-top:14px; }
  .model .top .big small { font-size:15px; color:var(--mute); font-weight:500; }
  .model dl { margin:0; padding:8px 22px 6px; font-size:14px; flex:1; }
  .model dl div { display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px dashed var(--line); }
  .model dl div:last-child { border-bottom:0; }
  .model dt { color:var(--mute); } .model dd { margin:0; font-weight:600; text-align:right; }
  .model a.req { display:block; margin:0 22px 20px; text-align:center; padding:10px; border-radius:6px; border:1.5px solid var(--navy); color:var(--navy); font-weight:600; font-size:14px; text-decoration:none; }
  .model a.req:hover { background:var(--tint); }
  .model a.req { margin-bottom:8px; }
  .model a.req2 { display:block; margin:0 22px 18px; text-align:center; font-size:13.5px; font-weight:600; color:var(--mute); text-decoration:none; }
  .model a.req2:hover { color:var(--navy); }
  .cmp { width:100%; border-collapse:collapse; font-size:14px; background:#fff; border:1px solid var(--line); }
  .cmp th { background:var(--navy2); color:#fff; text-align:left; padding:11px 14px; font-weight:600; white-space:nowrap; }
  .cmp th small { display:block; font-weight:400; color:#c9cde4; font-size:12px; }
  .cmp td { padding:10px 14px; border-top:1px solid var(--line); font-weight:600; }
  .cmp td:first-child { color:var(--mute); font-weight:400; white-space:nowrap; }
  .cmp tr:nth-child(even) td { background:#f7f8fb; }
  .cmpwrap { overflow-x:auto; border-radius:12px; }
  .note2 { font-size:13px; color:var(--mute); margin-top:12px; }
  .meas { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .meas figure { margin:0; background:#fff; border:1px solid var(--line); border-radius:12px; padding:18px; text-align:center; }
  .meas img { max-height:300px; margin:0 auto; }
  .meas figcaption { font-size:13.5px; color:var(--mute); margin-top:10px; }
  @media (max-width: 980px) { .phero .grid { grid-template-columns:1fr; } .models { grid-template-columns:1fr 1fr; } .phero .figs { grid-template-columns:repeat(3,1fr); } }
  @media (max-width: 600px) { .phero h1 { font-size:34px; } .models, .meas { grid-template-columns:1fr; } .phero .figs { grid-template-columns:1fr 1fr; } }

nav.main .mnav { display:none; -webkit-appearance:none; appearance:none; flex:none; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:44px; height:44px; margin-left:4px; padding:0; border:0; border-radius:8px; background:transparent; color:#1d2233; cursor:pointer; -webkit-tap-highlight-color:transparent; }
  nav.main .mnav span { display:block; flex:none; width:24px; min-width:24px; height:2px; border-radius:2px; background:#1d2233; transition:transform .2s, opacity .2s; }
  nav.main.open .mnav span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  nav.main.open .mnav span:nth-child(2) { opacity:0; }
  nav.main.open .mnav span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  nav.main ul li.mcta { display:none; }
  @media (max-width: 980px) {
    nav.main .wrap { gap:12px; }
    nav.main .btn { margin-left:auto; }
    nav.main .mnav { display:flex; }
    nav.main.open ul { display:flex; flex-direction:column; gap:0; position:absolute; left:0; right:0; top:100%; padding:6px 16px 18px; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 14px 28px rgba(15,20,64,.14); }
    nav.main.open ul li a { display:block; padding:14px 6px; border-bottom:1px solid var(--line); font-size:17px; }
    nav.main.open ul li a.on { border-bottom:1px solid var(--line); padding-bottom:14px; color:var(--navy); font-weight:700; }
  }
  @media (max-width: 600px) {
    nav.main .btn { display:none; }
    nav.main .mnav { margin-left:auto; }
    nav.main.open ul li.mcta { display:block; padding-top:14px; }
    nav.main.open ul li.mcta a { border:0; padding:13px 18px; border-radius:6px; background:var(--navy); color:#fff; text-align:center; font-weight:600; font-size:16px; }
  }

.rfi { position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:16px; background:rgba(15,20,64,.62); backdrop-filter:blur(3px); }
  .rfi.open { display:flex; }
  .rfi .box { position:relative; width:100%; max-width:600px; max-height:calc(100vh - 32px); overflow:auto; background:#fff; border-radius:14px; box-shadow:0 30px 80px rgba(0,0,0,.35); font-family:"Inter","Segoe UI",Arial,sans-serif; color:#1d2233; }
  .rfi .hd { padding:24px 28px 16px; border-bottom:1px solid #e2e5ee; }
  .rfi .hd small { font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#c89b6d; }
  .rfi .hd b { display:block; color:#151a52; font-size:20px; line-height:1.25; margin-top:4px; }
  .rfi .hd p { margin:6px 0 0; font-size:14px; color:#5b6275; }
  .rfi .x { position:absolute; top:12px; right:14px; width:34px; height:34px; border:0; background:none; font-size:26px; line-height:1; color:#5b6275; cursor:pointer; border-radius:6px; }
  .rfi .x:hover { background:#f1f2f8; }
  .rfi form { display:grid !important; gap:12px; margin:0; padding:20px 28px 26px; }
  .rfi .row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .rfi label.f { display:grid; gap:5px; font-size:13px; font-weight:600; color:#1d2233; }
  .rfi label.f i { font-style:normal; color:#c0392b; }
  .rfi input[type=text], .rfi input[type=email], .rfi select, .rfi textarea { width:100%; padding:11px 13px; border-radius:8px; border:1px solid #cfd3e0; background:#fff; color:#1d2233; font:inherit; font-size:15px; font-weight:400; }
  .rfi textarea { resize:vertical; min-height:96px; }
  .rfi input:focus, .rfi select:focus, .rfi textarea:focus { outline:2px solid rgba(35,41,122,.25); border-color:#23297a; }
  .rfi .bad { border-color:#c0392b !important; }
  .rfi .chk { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:#5b6275; line-height:1.45; font-weight:400; }
  .rfi .chk input { flex:none; width:16px !important; height:16px; margin:2px 0 0; padding:0; accent-color:#23297a; }
  .rfi p.pn { margin:0; font-size:12.5px; color:#5b6275; line-height:1.5; }
  .rfi p.pn a { color:#23297a; }
  .rfi .err { display:none; font-size:13px; color:#c0392b; }
  .rfi button.go { margin-top:4px; padding:13px 22px; border-radius:6px; border:0; background:#23297a; color:#fff; font:inherit; font-weight:600; font-size:15px; cursor:pointer; }
  .rfi button.go:hover { background:#151a52; }
  .rfi .ok { display:none; padding:40px 28px 34px; text-align:center; }
  .rfi .ok b { display:block; color:#151a52; font-size:20px; margin-bottom:8px; }
  .rfi .ok p { margin:0 0 20px; color:#5b6275; font-size:14.5px; }
  .rfi .ok button { padding:11px 20px; border-radius:6px; border:1.5px solid #23297a; background:#fff; color:#23297a; font:inherit; font-weight:600; cursor:pointer; }
  .rfi.done form, .rfi.done .hd { display:none !important; } .rfi.done .ok { display:block; }
  @media (max-width:600px) { .rfi .row { grid-template-columns:1fr; } .rfi .hd, .rfi form { padding-left:20px; padding-right:20px; } }

.gate { position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:16px; background:rgba(15,20,64,.62); backdrop-filter:blur(3px); }
  .gate.open { display:flex; }
  .gate .box { position:relative; width:100%; max-width:560px; max-height:calc(100vh - 32px); overflow:auto; background:#fff; border-radius:14px; box-shadow:0 30px 80px rgba(0,0,0,.35); font-family:"Inter","Segoe UI",Arial,sans-serif; color:#1d2233; }
  .gate .hd { display:flex; gap:16px; align-items:center; padding:24px 28px 18px; border-bottom:1px solid #e2e5ee; }
  .gate .hd .pdf { flex:none; width:44px; height:52px; border-radius:6px; background:#c89b6d; display:grid; place-items:center; font-size:12px; font-weight:700; color:#151a52; }
  .gate .hd b { display:block; color:#151a52; font-size:18px; line-height:1.25; }
  .gate .hd small { color:#5b6275; font-size:13px; }
  .gate .x { position:absolute; top:12px; right:14px; width:34px; height:34px; border:0; background:none; font-size:26px; line-height:1; color:#5b6275; cursor:pointer; border-radius:6px; }
  .gate .x:hover { background:#f1f2f8; }
  .gate form { display:grid !important; margin:0; gap:12px; padding:20px 28px 26px; }
  .gate p.in { margin:0 0 4px; font-size:14px; color:#5b6275; }
  .gate .row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .gate label.f { display:grid; gap:5px; font-size:13px; font-weight:600; color:#1d2233; }
  .gate label.f i { font-style:normal; color:#c0392b; }
  .gate input[type=text], .gate input[type=email], .gate select { width:100%; padding:11px 13px; border-radius:8px; border:1px solid #cfd3e0; background:#fff; color:#1d2233; font:inherit; font-size:15px; font-weight:400; }
  .gate input:focus, .gate select:focus { outline:2px solid rgba(35,41,122,.25); border-color:#23297a; }
  .gate .bad { border-color:#c0392b !important; }
  .gate .chk { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:#5b6275; line-height:1.45; }
  .gate .chk input { flex:none; width:16px !important; height:16px; margin:2px 0 0; padding:0; accent-color:#23297a; }
  .gate .chk a { color:#23297a; }
  .gate p.pn { margin:0; font-size:12.5px; color:#5b6275; line-height:1.5; }
  .gate p.pn a { color:#23297a; }
  .gate .err { display:none; font-size:13px; color:#c0392b; }
  .gate button.go { margin-top:4px; padding:13px 22px; border-radius:6px; border:0; background:#23297a; color:#fff; font:inherit; font-weight:600; font-size:15px; cursor:pointer; }
  .gate button.go:hover { background:#151a52; }
  .gate .ok { display:none; padding:34px 28px 30px; text-align:center; }
  .gate .ok b { display:block; color:#151a52; font-size:19px; margin-bottom:8px; }
  .gate .ok p { margin:0 0 18px; color:#5b6275; font-size:14.5px; }
  .gate .ok a, .gate .ok button.lnk { color:#23297a; font-weight:600; background:none; border:0; padding:0; font:inherit; font-size:15px; cursor:pointer; }
  .gate .ok strong { color:#151a52; word-break:break-all; }
  .gate.done form { display:none; } .gate.done .ok { display:block; }
  @media (max-width:600px) { .gate .row { grid-template-columns:1fr; } .gate .hd, .gate form { padding-left:20px; padding-right:20px; } }
