:root{--navy:#062c52;--blue:#126bb5;--sky:#69b8e8;--paper:#f7fafc;--sun:#f2c94c;--text:#233b50;--muted:#526779;--line:#cbd9e4;--error:#a22637;--sans:'Archivo',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-padding-top:110px;scroll-padding-bottom:120px}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button,a,label{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{cursor:pointer;color:inherit;border:0;background:none}
button:disabled{cursor:default}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
p{line-height:1.6}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-90px;z-index:100;padding:14px 20px;background:var(--sun);color:var(--navy);font-size:14px;font-weight:600}
.skip-link:focus{top:12px}
.site-header{background:var(--navy);color:#fff;border-bottom:4px solid var(--sky)}
.header-inner{width:min(1112px,calc(100% - 80px));height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:auto}
.brand{display:flex;align-items:center;gap:17px}
.brand strong{font-size:42px;font-weight:900;letter-spacing:-.075em;line-height:.9}
.brand>span{font-size:11px;font-weight:600;line-height:1.25;border-left:1px solid #7fabc9;padding-left:16px}
.header-purpose{color:#cce7f8;font-size:13px;font-weight:500;line-height:1.4}
.page-shell{width:min(1112px,calc(100% - 80px));margin:25px auto 0}
.mode-notice{display:flex;align-items:center;gap:11px;background:#e9f2f8;border:1px solid #d0e2ef;border-radius:8px;padding:11px 14px;color:var(--navy);min-height:48px}
.mode-icon{display:flex;flex-shrink:0;color:var(--blue)}
.mode-icon svg{width:19px;height:19px}
.mode-notice>div{display:flex;align-items:baseline;gap:5px 14px;flex-wrap:wrap}
.mode-notice strong{font-size:12px;line-height:1.5;font-weight:600}
.mode-notice>div>span{font-size:12px;line-height:1.5;color:var(--muted)}
.mode-notice.is-open{background:#eef5fa;border-color:#d0e2ef}
.mode-notice.is-unavailable{background:#fff5e5;border-color:#e7d8ba}
.mode-notice.is-unavailable .mode-icon{color:#7a5d1d}
.form-controls{margin:0;padding:0;border:0;min-width:0}
.form-progress{position:sticky;top:0;z-index:10;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 0 17px;border-bottom:1px solid var(--line)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:38px;list-style:none;margin:0;padding:0}
.steps li{position:relative}
.steps li:not(:last-child)::after{content:'';position:absolute;width:20px;height:1px;background:#c5d6e2;top:50%;right:-29px}
.step-control{display:flex;align-items:center;gap:9px;padding:3px 0;min-height:40px;color:var(--muted);font-size:13px;font-weight:500;text-align:left;white-space:nowrap}
.step-control:disabled{color:#6a7f8f}
.step-number{height:28px;width:28px;border:1px solid #b2c8d8;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:12px;font-weight:600;line-height:1}
.is-current .step-control{color:var(--navy);font-weight:700}
.is-current .step-number{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 0 0 4px #e2eef6}
.is-complete .step-number{background:var(--sky);color:var(--navy);border-color:var(--sky)}
.step-control:not(:disabled):hover>span:last-child{text-decoration:underline;text-underline-offset:4px}
.step-count{font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.form-step{padding-top:29px;min-width:0}
.form-step.is-entering{animation:step-enter 160ms ease-out both}
@keyframes step-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.step-heading{margin-bottom:24px}
h1{color:var(--navy);font-size:36px;font-weight:700;line-height:1.15;letter-spacing:-.05em;text-wrap:balance;scroll-margin-top:112px}
.step-heading p{font-size:14px;color:var(--muted);margin-top:11px;line-height:1.6;max-width:59em;text-wrap:pretty}
.commission-fieldset{margin:0;padding:0;border:0;min-width:0}
.commission-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.commission-choice{position:relative;display:block;min-width:0;cursor:pointer;scroll-margin-block:110px 125px}
.commission-choice>input{position:absolute;right:17px;top:18px;width:20px;height:20px;margin:0;opacity:0;z-index:1;cursor:pointer;scroll-margin-block:110px 125px}
.commission-card{height:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:start;gap:12px;border:1px solid var(--line);border-radius:11px;min-height:115px;padding:17px 15px;background:#fff;color:var(--navy)}
.commission-choice:hover .commission-card{border-color:#6e9dbf;background:#fafdff}
.commission-choice:has(input:checked) .commission-card{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:#eff7fd}
.commission-choice:has(input:focus-visible) .commission-card{outline:3px solid var(--blue);outline-offset:3px}
.commission-choice:has(input:disabled){cursor:wait}
.commission-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;color:var(--icon-color);background:var(--icon-background);flex-shrink:0}
.commission-icon svg{width:25px;height:25px}
.tone-blue{--icon-color:#126bb5;--icon-background:#eaf3fc}
.tone-teal{--icon-color:#086e7a;--icon-background:#e7f4f5}
.tone-indigo{--icon-color:#3456a6;--icon-background:#eef1fa}
.tone-ochre{--icon-color:#8a6200;--icon-background:#fff5d5}
.commission-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.commission-choice-name{font-size:15px;line-height:1.45;font-weight:600;overflow-wrap:break-word}
.commission-selected{font-size:12px;line-height:1.4;color:var(--blue);font-weight:600;visibility:hidden}
.commission-choice:has(input:checked) .commission-selected{visibility:visible}
.choice-mark{border:1.5px solid #afc3d3;border-radius:50%;width:18px;height:18px;display:grid;place-items:center;margin-top:1px;background:#fff;flex-shrink:0}
.choice-mark svg{width:13px;height:13px;opacity:0;transform:scale(.75);transition:opacity 140ms ease,transform 140ms ease}
.commission-choice:has(input:checked) .choice-mark{background:var(--blue);border-color:var(--blue);color:#fff}
.commission-choice:has(input:checked) .choice-mark svg{opacity:1;transform:scale(1)}
.commission-choice:has(input[type=checkbox]) .choice-mark{border-radius:4px}
.commission-fieldset[aria-invalid=true] .commission-options{outline:2px solid var(--error);outline-offset:5px;border-radius:8px}
.selection-status{font-size:12px;color:var(--muted);margin-top:16px;line-height:1.6;min-height:20px}
.commission-error{margin-top:14px}
.personal-step{max-width:780px;margin-inline:auto}
.selected-context{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#eaf2f8;padding:14px 18px;border-radius:8px;margin-bottom:27px;border-left:3px solid var(--sky)}
.selected-context-copy{min-width:0;display:flex;gap:5px;flex-direction:column}
.context-label{font-size:12px;color:var(--muted)}
.selected-context strong{font-size:13px;font-weight:600;line-height:1.5;color:var(--navy);overflow-wrap:break-word}
.fields-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:23px 25px}
.field{min-width:0}
.field label{display:flex;align-items:baseline;gap:8px;margin-bottom:9px;font-size:16px;font-weight:600;color:var(--navy)}
.field-status{font-size:12px;color:var(--muted);font-weight:400}
.field input{width:100%;min-width:0;display:block;min-height:53px;border:1px solid #a8c0d2;border-radius:7px;background:#fff;color:var(--text);font-size:16px;line-height:1.4;padding:13px 14px;scroll-margin-block:115px 135px}
.field input:hover{border-color:#5a8bb2}
.field input:focus-visible{outline:3px solid #82bde5;outline-offset:2px;border-color:var(--blue)}
.field input::placeholder{font-size:14px;color:#647e91}
.field input[aria-invalid=true]{border-color:var(--error);background:#fff9fa}
.field input:disabled{background:#f1f5f8}
.field-note,.field-error{font-size:12px;line-height:1.6;margin-top:7px;color:var(--muted)}
.field-error{color:var(--error)}
.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--blue);padding:8px 2px;min-height:44px;font-size:13px;font-weight:600;line-height:1.4;flex-shrink:0}
.text-button:hover{text-decoration:underline;text-underline-offset:4px}
.button-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.button-icon svg{width:19px;height:19px}
.text-button .button-icon svg{width:15px;height:15px}
.example-tools{display:flex;align-items:center;gap:17px;flex-wrap:wrap;border-top:1px dashed #b9cddc;padding-top:16px;margin-top:28px}
.example-tools>span{font-size:12px;color:var(--muted);line-height:1.5}
.review-step{max-width:950px;margin-inline:auto}
.review-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:start}
.review-block{border:1px solid var(--line);border-radius:10px;background:#fff;padding:20px 23px;min-width:0}
.review-block-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.review-block h2{font-size:16px;font-weight:600;color:var(--navy);line-height:1.4}
.review-commission-list{display:flex;flex-direction:column;gap:17px;padding-top:22px}
.review-commission-item{display:flex;gap:14px;align-items:center}
.review-commission-item strong{font-size:16px;line-height:1.45;color:var(--navy);font-weight:600;overflow-wrap:break-word}
.review-commission .commission-icon{width:46px;height:46px}
.summary-list{margin:0}
.summary-row{display:grid;grid-template-columns:87px minmax(0,1fr);gap:14px;padding-top:15px;font-size:14px;line-height:1.5}
.summary-row dt{color:var(--muted)}
.summary-row dd{margin:0;color:var(--navy);font-weight:500;overflow-wrap:anywhere}
.consent-block{margin-top:26px;padding:20px 0 0;border-top:1px solid var(--line)}
.consent-label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;max-width:62em}
.consent-label input{accent-color:var(--blue);height:20px;width:20px;flex-shrink:0;margin:1px 0 0;scroll-margin-block:110px 125px}
.consent-label span{font-size:13px;line-height:1.6}
.consent-label:has(input[aria-invalid=true]) span{color:var(--error)}
.privacy-contact-note{margin:13px 0 0 32px;font-size:12px;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}
.privacy-contact-note span{color:var(--navy)}
.preview-confirm-note{display:flex;align-items:flex-start;gap:11px;border-left:3px solid var(--sky);padding:13px 15px;margin-top:24px;background:#eaf3f9;border-radius:0 6px 6px 0}
.preview-confirm-note>.button-icon{margin-top:1px;color:var(--blue)}
.preview-confirm-note p{font-size:13px;line-height:1.6;color:var(--text);max-width:59em}
.form-feedback{border-left:3px solid var(--error);padding:13px 15px;background:#fff0f2;color:#882035;font-size:13px;line-height:1.6;margin-top:20px;border-radius:0 6px 6px 0;scroll-margin-block:110px 130px}
.action-dock{position:sticky;bottom:0;z-index:20;background:rgba(247,250,252,.98);padding:15px 0 max(15px,env(safe-area-inset-bottom));margin-top:26px;border-top:1px solid #bcd0df}
.action-dock-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.action-context{display:flex;flex-direction:column;gap:5px}
.action-context>span{font-size:12px;color:var(--muted);line-height:1.4}
.action-context strong{font-size:13px;line-height:1.4;color:var(--navy);font-weight:600}
.form-actions{display:flex;align-items:center;gap:26px}
.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:51px;padding:14px 21px;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:7px;font-size:14px;font-weight:600;line-height:1.4;text-align:left}
.primary-button:hover:not(:disabled){background:#104d7d;border-color:#104d7d}
.primary-button:active:not(:disabled){transform:translateY(1px)}
.primary-button:disabled{background:#56728a;border-color:#56728a;cursor:wait}
.primary-button.is-final{background:var(--sun);border-color:var(--sun);color:var(--navy)}
.primary-button.is-final:hover:not(:disabled){background:#ffda66;border-color:#ffda66}
.primary-button.is-final:disabled{opacity:.7}
.back-button{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:8px 0;color:var(--navy);font-size:13px;font-weight:500}
.back-button:hover{text-decoration:underline;text-underline-offset:4px}
.submission-note{font-size:12px;color:var(--muted);line-height:1.6;text-align:center;margin-top:4px}
.page-footer{width:min(1112px,calc(100% - 80px));display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px auto 27px;padding-top:17px;border-top:1px solid var(--line);font-size:12px;line-height:1.5;color:var(--muted)}
.result-panel{max-width:730px;margin:37px auto 0;border:1px solid var(--line);border-radius:13px;background:#fff;padding:32px 36px}
.result-symbol{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#e5f2fb;color:var(--blue);border-radius:13px;margin-bottom:24px}
.result-symbol svg{width:28px;height:28px}
.result-status{font-size:12px;color:var(--muted);font-weight:500;margin-bottom:10px}
.result-panel h1{font-size:35px}
.result-description{font-size:14px;color:var(--muted);line-height:1.7;margin-top:16px;max-width:45em}
.result-summary{border-top:1px solid var(--line);margin-top:25px}
.result-summary .summary-row{padding:13px 0;border-bottom:1px solid #e1eaf1}
.receipt{margin-top:22px;background:#edf5fa;border-radius:8px;padding:18px 20px;overflow-wrap:anywhere}
.receipt>span{font-size:12px;line-height:1.5;color:var(--muted)}
.receipt>strong{font-size:14px;line-height:1.6;color:var(--navy);display:block;margin-top:6px;font-weight:600}
.receipt>p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:4px}
.result-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:26px}
.secondary-button{border:1px solid #a8c1d4;border-radius:7px;min-height:51px;padding:14px 19px;color:var(--navy);font-size:13px;font-weight:500}
.secondary-button:hover{background:#edf5fa}
.unavailable-panel{max-width:660px;margin:45px auto;padding:32px;background:#fff;border:1px solid var(--line);border-radius:12px}
.unavailable-icon{display:inline-flex;margin-bottom:20px;color:#8a6200}
.unavailable-icon svg{width:36px;height:36px}
.unavailable-panel h1{font-size:32px}
.unavailable-panel p{font-size:14px;line-height:1.7;color:var(--muted);margin-top:17px}
.unavailable-panel .primary-button{margin-top:25px}
.service-message{padding:20px;background:#fff4d2;color:var(--navy);font-size:14px;line-height:1.6;margin-top:22px}
@media(max-width:1100px){
  .header-inner,.page-shell,.page-footer{width:calc(100% - 48px)}
  .commission-card{grid-template-columns:38px minmax(0,1fr) 17px;gap:10px;padding:16px 12px;min-height:122px}
  .commission-icon{width:38px;height:38px;border-radius:9px}
  .commission-icon svg{width:23px;height:23px}
  .commission-choice-name{font-size:14px}
  .commission-choice>input{right:13px;top:17px}
}
@media(max-width:900px){
  .commission-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .commission-card{min-height:108px;grid-template-columns:42px minmax(0,1fr) 18px;gap:13px;padding:17px 15px}
  .commission-icon{width:42px;height:42px}
  .commission-choice-name{font-size:14px}
  .commission-choice>input{right:16px;top:18px}
  .review-grid{grid-template-columns:1fr 1fr;gap:15px}
  .review-block{padding:17px}
}
@media(max-width:600px){
  html{scroll-padding-top:95px;scroll-padding-bottom:115px}
  .header-inner,.page-shell,.page-footer{width:calc(100% - 36px)}
  .header-inner{height:66px;gap:20px}
  .brand{gap:12px}
  .brand strong{font-size:35px}
  .brand>span{font-size:9px;padding-left:11px}
  .header-purpose{font-size:10px;max-width:10em;text-align:right;line-height:1.5}
  .page-shell{margin-top:16px}
  .mode-notice{align-items:flex-start;padding:10px 12px;gap:8px}
  .mode-icon{margin-top:1px}
  .mode-icon svg{width:17px;height:17px}
  .mode-notice>div{display:block}
  .mode-notice strong{display:block;font-size:12px}
  .mode-notice>div>span{display:block;font-size:12px;margin-top:3px}
  .form-progress{padding:16px 0 12px;display:block}
  .steps{gap:12px;grid-template-columns:1.1fr 1fr .88fr}
  .steps li:not(:last-child)::after{display:none}
  .step-control{gap:7px;font-size:12px;min-height:35px}
  .step-number{height:25px;width:25px;font-size:12px}
  .is-current .step-number{box-shadow:0 0 0 3px #e2eef6}
  .step-count{font-size:12px;text-align:right;margin-top:7px}
  .form-step{padding-top:23px}
  .step-heading{margin-bottom:20px}
  h1{font-size:29px;line-height:1.16;letter-spacing:-.045em;scroll-margin-top:110px}
  .step-heading p{font-size:13px;line-height:1.65;margin-top:10px}
  .commission-options{grid-template-columns:1fr;gap:9px}
  .commission-card{grid-template-columns:39px minmax(0,1fr) 18px;gap:12px;padding:14px 13px;min-height:84px;border-radius:9px;align-items:center}
  .commission-icon{width:39px;height:39px;border-radius:9px}
  .commission-icon svg{width:23px;height:23px}
  .commission-choice-name{font-size:14px;line-height:1.4}
  .commission-copy{gap:3px}
  .commission-selected{font-size:12px;line-height:1.3}
  .commission-choice>input{right:14px;top:calc(50% - 10px)}
  .choice-mark{margin-top:0}
  .selection-status{font-size:12px;margin-top:15px}
  .selected-context{padding:12px 13px;gap:15px;margin-bottom:23px}
  .selected-context strong{font-size:14px}
  .context-label{font-size:12px}
  .selected-context .text-button{font-size:13px;gap:5px}
  .fields-grid{gap:21px 15px}
  .field label{font-size:16px;gap:6px}
  .field-status{font-size:12px}
  .field input{font-size:16px;min-height:52px;padding:13px 11px}
  .field input::placeholder{font-size:13px}
  .field:nth-child(4),.field:nth-child(5),.field:nth-child(6){grid-column:1/-1}
  .field:nth-child(3){max-width:145px}
  .field-note,.field-error{font-size:12px}
  .example-tools{gap:8px;margin-top:23px;padding-top:12px}
  .example-tools>span{font-size:12px}
  .text-button{font-size:13px}
  .review-grid{grid-template-columns:1fr;gap:16px}
  .review-block{padding:17px 18px}
  .review-block h2{font-size:16px}
  .review-commission-item strong{font-size:15px}
  .review-commission-list{padding-top:17px}
  .summary-row{font-size:14px;grid-template-columns:79px minmax(0,1fr);gap:13px;padding-top:13px}
  .preview-confirm-note{padding:13px 12px;gap:9px}
  .preview-confirm-note p,.consent-label span{font-size:12px}
  .privacy-contact-note{font-size:12px}
  .form-feedback{font-size:12px;padding:12px 14px}
  .action-dock{padding:12px 0 max(12px,env(safe-area-inset-bottom));margin-top:23px}
  .action-dock-inner{gap:12px;align-items:center}
  .action-context{gap:3px}
  .action-context>span{font-size:12px}
  .action-context strong{font-size:12px;max-width:11em;line-height:1.45}
  .form-actions{gap:15px;flex-shrink:0}
  .primary-button{font-size:13px;padding:13px 15px;gap:14px;min-height:49px}
  .primary-button .button-icon svg{width:18px;height:18px}
  .back-button{font-size:12px;gap:6px;min-height:45px}
  .back-button .button-icon svg{width:16px;height:16px}
  .action-dock.has-back .action-context{display:none}
  .action-dock.has-back .action-dock-inner,.action-dock.has-back .form-actions{width:100%}
  .action-dock.has-back .form-actions{justify-content:space-between}
  .submission-note{font-size:12px;text-align:left;line-height:1.6}
  .page-footer{font-size:12px;align-items:flex-start;gap:23px;margin-top:19px;padding-top:15px;line-height:1.6}
  .page-footer>span:first-child{max-width:24em}
  .page-footer>span:last-child{white-space:nowrap}
  .result-panel{padding:25px 21px;margin-top:25px}
  .result-panel h1{font-size:29px}
  .result-description{font-size:13px}
  .result-status{font-size:12px}
  .result-symbol{margin-bottom:21px}
  .result-actions{gap:12px}
  .secondary-button{font-size:12px;padding:13px 15px;min-height:49px}
  .receipt{padding:15px}
  .receipt>strong{font-size:12px}
  .receipt>span,.receipt>p{font-size:12px}
  .unavailable-panel{padding:25px 21px;margin-top:25px}
  .unavailable-panel h1{font-size:28px}
}
@media(max-width:360px){
  .header-inner,.page-shell,.page-footer{width:calc(100% - 28px)}
  .brand strong{font-size:32px}
  .header-purpose{font-size:9px}
  .step-control{font-size:12px;gap:5px}
  .step-number{height:23px;width:23px}
  .commission-card{grid-template-columns:36px minmax(0,1fr) 17px;gap:10px;padding:13px 11px}
  .commission-icon{height:36px;width:36px}
  .commission-choice-name{font-size:14px}
  .field:nth-child(1),.field:nth-child(2){grid-column:1/-1}
  .field:nth-child(3){max-width:none;grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .form-step.is-entering{animation:none}
  .choice-mark svg{transition:none}
  .primary-button:active:not(:disabled){transform:none}
}
