@font-face {
  font-family: Inter;
  src: url("fonts/inter-ro.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}
@font-face {
  font-family: "League Spartan";
  src: url("fonts/league-spartan-ro.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}
:root {
  color-scheme: light;
  --navy: #071033;
  --navy-end: #0a1a4d;
  --blue: #2251ff;
  --link: #1a42ca;
  --text: #2f3851;
  --muted: #45516a;
  --wash: #f4f6fa;
  --tint: #edf1ff;
  --edge: #d7ddea;
  --shadow: 0 18px 52px -28px rgb(7 16 51 / .28), 0 2px 7px rgb(7 16 51 / .04);
  --body: Inter, system-ui, sans-serif;
  --display: "League Spartan", Inter, system-ui, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 95px; }
body { margin: 0; color: var(--text); background: #fff; font: 400 1rem/1.6 var(--body); }
img { display: block; max-width: 100%; }
a { color: var(--link); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid #3762ef; outline-offset: 4px; }
[hidden] { display: none !important; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3, legend { color: var(--navy); font-family: var(--display); line-height: 1.08; }
h1, h2 { text-wrap: balance; font-weight: 700; letter-spacing: -.045em; }
h1 em, h2 em { color: var(--blue); font-style: normal; }
h2 { font-size: clamp(2.15rem, 3.6vw, 3.45rem); }
h3 { letter-spacing: -.025em; font-size: clamp(1.35rem, 2.1vw, 1.72rem); }
.page-shell { width: min(1216px, calc(100% - clamp(34px, 8vw, 132px))); margin-inline: auto; }
.skip { position: fixed; left: 12px; top: -90px; z-index: 20; padding: 10px 15px; color: var(--navy); background: white; border-radius: 8px; }
.skip:focus { top: 10px; }
.masthead { position: sticky; top: 0; z-index: 5; color: white; background: var(--navy); box-shadow: 0 1px 0 #0a1a4d; }
.mast, .mast nav, .brand, .hero-actions, .specimen-top, .hero-figure figcaption { display: flex; align-items: center; }
.mast { min-height: 74px; justify-content: space-between; gap: 20px; }
.mast a, .foot a, .button, .route { text-decoration: none; }
.brand { color: white; gap: 13px; min-width: 0; }
.brand-logo { width: 73px; height: auto; }
.brand-text { border-left: 1px solid #67718d; padding-left: 14px; font: 670 1.35rem/.96 var(--display); letter-spacing: -.035em; }
.brand-caption { display: block; color: #c6cee4; font: 500 .62rem/1.4 var(--body); letter-spacing: .015em; margin-top: 3px; }
.mast nav { gap: clamp(15px, 1.8vw, 30px); }
.mast nav a { color: #e3e7f6; font-size: .89rem; font-weight: 520; }
.mast nav a:hover { color: white; text-decoration: underline; }
.nav-start, .nav-portal { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 43px; padding: 7px 15px; border-radius: 99px; }
.nav-portal { border: 1px solid #626d8f; }
.mast .nav-start { background: var(--blue); color: #fff; font-weight: 650; }
.mast :focus-visible, .handoff :focus-visible { outline-color: #9bb4ff; }
.cover {
  border-bottom: 1px solid #e1e6f0;
  background-color: var(--wash);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' fill='none'%3E%3Cpath d='M-10 111C240 33 430 154 725 91S1135 84 1450 26' stroke='%232251ff' stroke-opacity='.12' stroke-width='2.5'/%3E%3Cpath d='M-10 128C260 51 439 179 742 107S1148 112 1450 58' stroke='%23071033' stroke-opacity='.07' stroke-width='1.4'/%3E%3C/svg%3E"),
    radial-gradient(circle at 80% 38%, #e6edff 0, transparent 40%),
    radial-gradient(circle, rgb(34 81 255 / .07) .7px, transparent 1px);
  background-size: 100% auto, auto, 19px 19px;
  background-position: center 47%, center, center;
  background-repeat: no-repeat, no-repeat, repeat;
}
.hero { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.94fr); gap: clamp(28px, 5.3vw, 82px); align-items: center; padding-block: clamp(45px, 5.3vw, 78px); }
.kicker, .eyebrow { color: #1e388f; font-size: .77rem; font-weight: 650; }
.kicker { display: inline-flex; align-items: center; gap: 8px; padding: 5px 11px; border: 1px solid #c8d4ff; background: rgb(34 81 255 / .055); border-radius: 100px; }
.rule { display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; color: var(--blue); }
.rule::after { content: "✧"; font: 700 17px/1 system-ui, sans-serif; }
.hero h1 { margin: 25px 0 14px; font-size: clamp(3.1rem, 4.7vw, 4.65rem); line-height: .99; }
.hero h1 em { display: block; }
.lead { max-width: 35em; color: #454d60; font-size: clamp(1rem, 1.26vw, 1.14rem); }
.hero-actions { align-items: stretch; gap: 12px; flex-wrap: wrap; margin: 23px 0 18px; }
.route, .button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 46px; border-radius: 100px; font: 650 .94rem/1.28 var(--body); }
.route { justify-content: space-between; padding: 11px 16px 11px 22px; border: 1.5px solid transparent; }
.route strong, .route small { display: block; }
.route strong { font-size: .97rem; font-weight: 680; }
.route small { margin-top: 3px; font-size: .72rem; font-weight: 450; }
.route > span:last-child { flex-shrink: 0; display: grid; place-content: center; width: 26px; height: 26px; border-radius: 50%; }
.route-primary, .button { background: linear-gradient(125deg,var(--navy),var(--navy-end)); color: #fff; box-shadow: 0 7px 18px -10px #07103388; }
.route-primary > span:last-child { background: #27345c; }
.route-primary small { color: #dde4fb; }
.route-primary:hover, .button:hover { background: #15285f; }
.route-secondary { background: #fff; border-color: #cbd1df; color: var(--navy); }
.route-secondary > span:last-child { background: var(--tint); color: var(--link); }
.route-secondary:hover, .situation-choices label:hover { border-color: var(--blue); }
.route-secondary small { color: var(--muted); }
.hero-service { max-width: 46em; padding-left: 13px; border-left: 3px solid #9eb5ff; font-size: .82rem; line-height: 1.54; color: #414b63; }
.hero-service p { text-wrap: pretty; }
.hero-service strong { color: var(--navy); }
.hero-service a { display: inline-block; font-weight: 640; padding-block: 4px; white-space: nowrap; }
.sep { margin-inline: 3px; color: #818da7; }
.hero-figure { min-width: 0; overflow: hidden; border-radius: 26px; border: 1px solid #dce2ef; background: #fff; box-shadow: 0 23px 60px -22px rgb(7 16 51 / .3), 0 2px 5px rgb(7 16 51 / .06); }
.specimen-top, .hero-figure figcaption { justify-content: space-between; gap: 10px; }
.specimen-top { background: var(--navy); color: #fff; padding: 12px 18px; font-size: .82rem; font-weight: 650; }
.specimen-top > span:last-child { border-radius: 100px; padding: 3px 9px; color: #e3e9ff; background: #233366; font-size: .65rem; }
.specimen { width: 100%; height: auto; }
.hero-figure figcaption { padding: 10px 17px; border-top: 1px solid #dfe5f2; color: var(--muted); font-size: .70rem; }
.hero-figure figcaption i { display: inline-block; width: 7px; height: 7px; background: var(--blue); border-radius: 50%; margin-right: 5px; }
.situation-layout, .guide { display: grid; grid-template-columns: minmax(0,.84fr) minmax(0,1.16fr); gap: clamp(34px,7vw,112px); align-items: start; padding-block: clamp(46px,6vw,86px); }
.situation-intro h2, .intro h2 { margin: 15px 0 13px; }
.situation-intro > p:not(.kicker), .intro > p:not(.kicker) { max-width: 41ch; color: var(--muted); }
.situation-card, .process-grid li, .authority-note, .faq details { border: 1px solid #dfe4ed; border-radius: 22px; background: white; }
.situation-card { min-width: 0; padding: clamp(20px,2.5vw,34px); box-shadow: var(--shadow); }
.situation-choices { border: 0; padding: 0; margin: 0 0 18px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; min-width: 0; }
.situation-choices legend { margin-bottom: 16px; padding: 0; font-size: 1.55rem; font-weight: 650; }
.situation-choices label { display: flex; align-items: center; gap: 9px; min-height: 54px; padding: 11px 12px; cursor: pointer; color: var(--navy); border: 1px solid var(--edge); border-radius: 12px; font-size: .87rem; font-weight: 550; line-height: 1.4; }
.situation-choices input { width: 16px; height: 16px; flex: 0 0 16px; margin: 0; accent-color: var(--blue); }
.situation-choices label:has(:checked) { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); background: var(--tint); }
.button { border: 0; padding: 11px 21px; cursor: pointer; }
.situation-form .button { background: var(--blue); }
.situation-form .button:hover { background: #173dcc; }
.situation-results:not([hidden]) { margin-top: 20px; }
.situation-form[hidden] + .situation-results { margin: 0; }
.situation-result { border-top: 1px solid var(--edge); padding-top: 16px; margin-bottom: 17px; }
.situation-result p, .process-grid p, .authority-note > p { margin-top: 9px; color: var(--muted); }
.process-section { background: #eef1f5; padding-block: clamp(48px,5.8vw,80px); }
.process-section h2 { margin: 15px 0 24px; }
.process-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.process-grid li { padding: clamp(19px, 2vw, 27px); box-shadow: 0 5px 20px -14px rgb(7 16 51 / .30); }
.process-grid li > span { display: inline-block; padding: 5px 10px; border-radius: 100px; background: var(--tint); color: var(--link); font: 650 .67rem/1.4 var(--body); letter-spacing: .045em; }
.process-grid h3 { margin: 16px 0 8px; }
.authority-note { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: start; gap: clamp(15px,4vw,55px); padding: clamp(22px,2.8vw,37px); margin-top: 22px; border-color: #ccd8ff; background: #f6f8ff; }
.authority-note h3 { margin-top: 8px; }
.authority-note > p { margin: 0; }
.authority-note a { font-size: .86rem; }
.faq details { padding: 0 18px; border-radius: 15px; }
.faq details + details { margin-top: 8px; }
.faq details[open] { padding-bottom: 17px; border-color: #ccd8ff; }
.faq summary { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; list-style: none; color: var(--navy); cursor: pointer; padding: 15px 0; font-size: .98rem; font-weight: 640; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--blue); }
.faq details[open] summary::after { content: "−"; }
.faq p { color: var(--muted); }
.faq a { display: inline-block; margin-top: 9px; font-size: .86rem; }
.foot {
  position: relative;
  isolation: isolate;
  color: #edf1ff;
  background: radial-gradient(ellipse at 95% 2%, #182f74 0%, transparent 42%), linear-gradient(110deg, #081334, #071033 68%);
  border-top: 3px solid var(--blue);
}
.foot::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 0 auto auto;
  width: min(56%, 690px);
  height: 190px;
  pointer-events: none;
  background: repeating-radial-gradient(ellipse at 94% -88%, transparent 0 36px, rgb(125 158 255 / .14) 37px, transparent 38px 76px);
  mask-image: linear-gradient(230deg, #000 0%, transparent 80%);
}
.foot a { color: #e9eeff; }
.foot a:hover { color: #fff; text-decoration: underline; text-underline-offset: .24em; }
.foot :focus-visible { outline-color: #a9c2ff; outline-offset: 3px; }
.foot .handoff { border-bottom: 1px solid #334367; }
.handoff-inner { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 32px; padding: clamp(30px,4.1vw,53px) 0; }
.handoff .kicker { color: #cbd7ff; background: #152650; border-color: #425581; }
.handoff .rule { color: #a1bbff; }
.handoff h2 { max-width: 25ch; color: #fff; margin: 14px 0 7px; font-size: clamp(2.05rem,3.3vw,3.1rem); }
.handoff p:not(.kicker) { max-width: 59ch; color: #ced8ee; }
.handoff-actions { display: grid; justify-items: center; gap: 2px; }
.foot .button-light { background: #fff; color: var(--navy); padding-inline: 23px; box-shadow: 0 8px 20px #03071936; }
.foot .button-light:hover { background: #edf2ff; color: var(--navy); text-decoration: none; }
.handoff-actions a:last-child { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding-inline: 8px; color: #dce5ff; font-size: .84rem; }
.foot-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,.72fr) minmax(0,.93fr) minmax(0,1fr); gap: clamp(16px,3vw,46px); padding-block: clamp(30px,3.3vw,47px); }
.foot-identity { align-self: start; }
.foot-lockup { display: flex; align-items: center; gap: 12px; color: #fff; }
.foot-lockup img { width: 68px; height: auto; }
.foot-lockup span { padding-left: 12px; border-left: 1px solid #58688c; font: 700 1.43rem/1.05 var(--display); letter-spacing: -.04em; }
.foot-identity p { max-width: 33ch; margin-top: 15px; color: #c6d1e9; font-size: .9rem; line-height: 1.55; }
.foot-affiliation { display: inline-block; margin-top: 7px; color: #a6baff; font-size: .76rem; font-weight: 520; }
.foot-column { min-width: 0; }
.foot-column h2 { margin: 0 0 8px; color: #fff; font: 650 1.13rem/1.26 var(--display); letter-spacing: -.015em; }
.foot-column ul { list-style: none; padding: 0; margin: 0; }
.foot-column li a, .foot-tel { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding-block: 4px; color: #cfdaf2; font-size: .85rem; line-height: 1.35; }
.foot-column li a span { font-size: .79em; color: #a9bdff; }
.foot-cabinet address { font-style: normal; font-size: .85rem; line-height: 1.5; color: #cfdaf2; }
.foot-cabinet address > strong, .foot-cabinet address > span { display: block; }
.foot-cabinet address > strong { font-weight: 600; color: #eaf0ff; }
.foot-tel { font-variant-numeric: tabular-nums; }
.foot-tel svg { width: 15px; height: 15px; color: #a9bdff; }
.foot-base { border-top: 1px solid #334367; display: flex; align-items: center; gap: clamp(14px,2.1vw,28px); padding-block: 10px 13px; }
.foot-base p, .foot-base a { font-size: .76rem; }
.foot-base p { color: #bfcbe6; flex: 1; }
.foot-base nav { display: flex; gap: 17px; flex-wrap: wrap; }
.foot-base a { display: inline-flex; align-items: center; min-height: 40px; }
.foot-top { gap: 8px; }
.foot-top span { display: grid; place-content: center; width: 28px; height: 28px; border: 1px solid #66789f; border-radius: 100px; }
.wordmark { display: inline-block; padding-block: 24px; font-weight: 650; }
.legal-main { max-width: 76ch; padding: 14px 0 60px; }
.legal-main h1 { font-size: clamp(2.65rem,5vw,4rem); margin-top: 15px; }
.legal-main h2 { font-size: 2rem; margin-top: 34px; }
.legal-main p, .legal-main address, .legal-main nav { margin: 13px 0; }
.legal-main address { font-style: normal; }
.legal-main a { overflow-wrap: anywhere; }
@media (max-width: 930px) {
  .mast .nav-start { display:none; }
  .hero { gap: 24px; grid-template-columns: minmax(0,1.18fr) minmax(0,.82fr); }
  .situation-layout, .guide { gap: 35px; }
  .route { gap: 7px; padding: 10px 13px; }
}
@media (max-width: 730px) {
  html { scroll-padding-top: 78px; }
  .mast { min-height: 63px; gap: 10px; }
  .mast nav a:not(.nav-portal):not(.nav-editorial) { display: none; }
  .mast nav { gap: 10px; }
  .mast .nav-editorial { display: inline-flex; align-items: center; min-height: 44px; }
  .mast .nav-portal { min-height: 40px; padding: 7px 11px; border-color: #5e6a89; }
  .brand { gap: 9px; }
  .brand-logo { width: 56px; }
  .brand-text { font-size: 1.15rem; padding-left: 9px; }
  .brand-caption { font-size: .56rem; }
  .hero, .situation-layout, .guide, .handoff-inner, .process-grid, .authority-note { grid-template-columns: minmax(0,1fr); }
  .hero { padding-block: 23px 24px; gap: 23px; }
  .hero h1 { font-size: clamp(2.5rem,9.4vw,3.5rem); margin: 18px 0 12px; }
  .hero .kicker { font-size: .71rem; padding: 4px 9px; }
  .hero-actions { margin: 17px 0 14px; gap: 8px; }
  .route { min-height: 54px; padding: 9px 12px; }
  .route strong { font-size: .86rem; }
  .route small { font-size: .66rem; }
  .route > span:last-child { width: 21px; height: 21px; font-size: .85rem; }
  .specimen { max-height: 298px; object-fit: contain; background: #f4f6fa; }
  .hero-figure { border-radius: 20px; }
  .situation-layout, .guide { padding-block: 43px; gap: 22px; }
  .situation-intro > p:not(.kicker), .intro > p:not(.kicker) { max-width: none; }
  .situation-card, .authority-note { padding: 20px; }
  .handoff-actions { justify-self: start; }
  .foot-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding-block: 28px; }
  .foot-identity, .foot-cabinet { grid-column: 1 / -1; }
  .foot-identity p { max-width: 44ch; margin-top: 10px; }
  .foot-column li a, .foot-tel, .foot-base a { min-height: 44px; }
  .foot-cabinet { padding-top: 16px; border-top: 1px solid #334367; }
  .foot-cabinet address { display: flex; flex-wrap: wrap; align-items: center; column-gap: 14px; }
  .foot-base { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 0 10px; padding: 8px 0 14px; }
  .foot-base p { grid-column: 1 / -1; padding-top: 5px; }
  .foot-base nav { gap: 11px; }
  .handoff-inner { gap: 17px; }
  .handoff-actions { display: flex; flex-wrap: wrap; justify-content: start; gap: 4px 10px; }
}
@media (max-width: 480px) {
  .situation-choices { grid-template-columns: 1fr; }
  .foot-cabinet address { display: block; }
  .foot-column h2 { margin-bottom: 4px; }
  .foot-base nav { gap: 8px; }
  .foot-top { gap: 4px; }
  .foot-top span { width: 24px; height: 24px; }
  .hero-actions { display:grid; grid-template-columns:1fr; }
  .route { padding-inline: 20px 16px; min-height: 46px; }
  .route > span:first-child { display: block; }
  .route small { margin-top: 2px; }
  .lead { line-height: 1.48; }
}
@media (max-width: 370px) {
  .hero-service { font-size: .77rem; }
  .hero-actions { margin-block: 13px 10px; }
  .brand-logo { width: 41px; }
  .mast, .mast nav, .brand { gap: 6px; }
  .brand-text { padding-left: 6px; }
  .mast .nav-portal { padding-inline: 7px; gap: 4px; }
  .mast nav a { font-size: .8rem; }
}
@media print {
  @page { margin: 16mm; }
  body { font-size: 11pt; background: white; color: black; }
  .masthead, .hero-actions, .situation-form, .situation-portal, .skip, .handoff, .foot { display: none; }
  .cover, .process-section, .situation-card { background: white; border: 0; box-shadow:none; }
  .hero, .guide, .situation-layout { display: block; }
  .page-shell { width:100%; }
  .hero-figure { width: 45%; box-shadow:none; break-inside: avoid; }
}

.mast .nav-portal { white-space: nowrap; }
.nav-portal .account-brand { margin-left: -.38em; }
@media (max-width: 500px) {
  .brand-text { white-space: nowrap; }
  .mast .nav-portal .account-brand { display: none; }
  .mast .brand-logo { width: 46px; }
  .mast nav { gap: 8px; }
}
@media (max-width: 350px) {
  .mast .brand-logo { width: 37px; }
  .mast .brand-text { font-size: 1.02rem; }
  .mast .nav-portal { padding-inline: 6px; }
}

.mast .whatsapp-support {
  position: fixed;
  inset-inline-end: max(12px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #08794d;
  box-shadow: 0 3px 14px rgb(7 16 51 / .24);
}
.mast .whatsapp-support:hover { background: #05613e; }
.mast .whatsapp-support:focus-visible { outline: 3px solid #548aff; outline-offset: 2px; }
@media (min-width: 731px) and (max-width: 1350px) {
  .foot-base { padding-inline-end: 44px; }
}
@media (max-width: 730px) {
  .mast .whatsapp-support {
    position: static;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    box-shadow: none;
  }
  .mast nav { margin-inline-start: auto; }
}
@media (max-width: 440px) {
  .mast { width: calc(100% - 16px); gap: 5px; }
  .mast .brand { gap: 5px; }
  .mast .brand-logo { width: 34px; }
  .mast .brand-text { font-size: 1rem; padding-inline-start: 5px; }
  .mast nav { gap: 5px; }
  .mast .nav-portal { padding-inline: 7px; }
}
@media (max-width: 350px) {
  .mast .brand-logo { width: 27px; }
  .mast .brand-text { font-size: .95rem; }
  .mast .nav-portal { padding-inline: 5px; }
}
