[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b58a4a;outline-offset:4px}.preview-banner{background:#e9e1d2;text-align:center;padding:10px 20px;font-size:12px}.country-page{max-width:1320px;margin:auto;padding:30px 5vw 80px}.breadcrumbs{font-size:12px;color:var(--slate)}.country-intro{padding:32px 0}.country-intro h1{font-size:clamp(38px,4.5vw,64px)}.country-intro>p:last-child{font-size:19px;color:var(--slate)}.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:35px;align-items:start}.country-page h2{font-size:30px;line-height:1.2}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.service-option{text-align:left;border:1px solid var(--line);background:white;color:var(--ink);padding:25px;display:flex;flex-direction:column;gap:12px}.service-option[aria-pressed=true]{border:2px solid var(--navy);background:#eef2f5}.service-option small{letter-spacing:1.5px;color:#89652f;font-weight:700;font-size:10px}.service-option h3{font-size:26px;margin:0}.service-option p{font-size:14px;color:var(--slate);margin:0;flex:1}.service-option strong{font-size:13px}.service-option>span{font-weight:700;font-size:13px;margin-top:5px}.order-panel{margin-top:28px;background:white;padding:30px;border:1px solid var(--line);scroll-margin-top:110px}fieldset{border:0;padding:0;margin:24px 0}legend{font-weight:700;margin-bottom:12px}.type-options{display:flex;flex-wrap:wrap;gap:14px}.field{display:grid;gap:8px;font-weight:600;margin:22px 0}.field input,.field textarea,.field select{min-width:0;width:100%;padding:12px;border:1px solid #aab4bc;background:white;border-radius:0;color:var(--ink)}input[type=radio],input[type=checkbox]{accent-color:var(--navy)}.hint{font-size:13px;color:var(--slate)}.logo-upload{margin:18px 0 24px;padding:20px;background:var(--ivory);border-left:3px solid var(--bronze)}.logo-upload>strong{display:block;margin-bottom:5px}.logo-upload>.hint{margin:5px 0 14px}.logo-drop{position:relative;display:flex;align-items:center;gap:14px;padding:14px;border:1px dashed #82909a;background:white;cursor:pointer}.logo-drop:hover,.logo-drop:focus-within{border-color:var(--bronze);outline:2px solid #b58a4a33}.logo-drop input{position:absolute;opacity:0;width:1px;height:1px}.logo-upload-action{flex:0 0 auto;background:var(--navy);color:white;padding:9px 13px;font-weight:700;font-size:13px}.logo-file-name{overflow-wrap:anywhere}#logo-file-name{font-size:13px;color:var(--slate)}.order-summary{position:sticky;top:115px;background:var(--navy);color:white;padding:27px}.order-summary h2{font-size:29px}.order-summary dl{margin:22px 0 0}.summary-item{padding:0 0 16px;margin:0 0 16px;border-bottom:1px solid #ffffff26}.summary-item:last-child{margin-bottom:0}.order-summary dt{color:#bccad5;font-size:12px;margin:0 0 5px}.order-summary dd{margin:0;font-weight:600;overflow-wrap:anywhere}.order-summary .hint{color:#ced6dd}.total{border-top:1px solid #ffffff40;padding-top:20px;margin-top:25px;display:grid;gap:10px}.total strong{font:23px var(--serif)}button:disabled{opacity:.65;cursor:not-allowed;transform:none}.order-summary button{width:100%;font-size:13px}.summary-signoff{font:italic 19px/1.5 var(--serif);color:#dfc393;margin-bottom:0}.faq{margin-top:50px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:600}.faq p{color:var(--slate);font-size:14px}#review-details{display:grid;grid-template-columns:120px 1fr;gap:12px}#review-details dd{margin:0;overflow-wrap:anywhere}#form-error{color:#a32d2d}.country-page section{scroll-margin-top:110px}@media(max-width:950px){.order-layout{grid-template-columns:1fr}.order-summary{position:static;grid-row:auto}.order-summary dl{display:block}.summary-item{padding-bottom:18px;margin-bottom:18px}.summary-signoff{display:none}}@media(max-width:600px){.logo-drop{align-items:stretch;flex-direction:column}.logo-upload-action{text-align:center}.service-options{grid-template-columns:1fr}.order-panel{padding:22px}.site-header>a:last-child{font-size:12px}.brand-name{font-size:17px}.brand-tag{font-size:6px}.country-intro{padding:22px 0}#review-details{grid-template-columns:1fr}.country-page{padding-inline:20px}}
.nice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px;margin:18px 0}
.class-tile{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px;border:1px solid #c2cbd1;background:white;cursor:pointer;font-size:14px}
.class-tile input{position:static;opacity:1;width:18px;height:18px;margin:0;flex:0 0 18px;cursor:pointer}
.class-tile span{white-space:nowrap}
.class-tile:has(input:checked){border-color:var(--navy);background:#edf2f6}
.class-tile input:checked+span{font-weight:700}
.class-tile:hover{border-color:var(--bronze)}
.class-help{padding:20px;background:var(--ivory);border-left:3px solid var(--bronze);margin-top:20px}
.class-help h3{font-size:23px;margin:0 0 10px}
.class-help p{font-size:14px;color:var(--slate);margin:0 0 16px}
.class-help label{display:flex;gap:10px;align-items:flex-start;font-weight:600;font-size:14px;cursor:pointer}
.class-help input{width:18px;height:18px;flex:0 0 18px;margin:3px 0 0}

.class-guide-trigger{width:100%;margin:14px 0 2px;padding:16px 18px;border:1px solid var(--line);background:var(--ivory);color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left}.class-guide-trigger:hover{border-color:var(--bronze)}.class-guide-trigger span{color:#89652f;font-size:13px;font-weight:700;white-space:nowrap}
.class-guide{width:min(920px,calc(100% - 32px));max-width:none;padding:0;border:0;background:white;color:var(--ink);box-shadow:0 24px 80px #071a2b66}.class-guide::backdrop{background:#071a2bbf}.class-guide-shell{height:min(820px,88vh);display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto}.class-guide header{padding:25px 28px 18px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.class-guide header h2{margin:4px 0 0}.class-guide-close{border:0;background:transparent;color:var(--ink);font-size:38px;line-height:1;padding:0 5px}.class-guide-intro{margin:0;padding:16px 28px 8px;color:var(--slate)}.class-guide-search{display:grid;gap:7px;padding:10px 28px 18px;font-weight:700}.class-guide-search input{width:100%;padding:13px;border:1px solid #aab4bc}.class-guide-list{overflow:auto;border-top:1px solid var(--line)}.class-guide-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:17px 28px;border-bottom:1px solid var(--line)}.class-guide-item>input{width:19px;height:19px;margin-top:3px}.class-guide-item h3{font:700 17px/1.3 var(--sans);margin:0 0 5px}.class-guide-item p{margin:0;color:var(--slate);font-size:14px}.class-guide-item details{margin-top:7px}.class-guide-item summary{color:#89652f;font-size:13px;font-weight:700;cursor:pointer}.class-guide-item details p{margin-top:7px}.class-guide footer{margin:0;padding:16px 28px;background:white;color:var(--ink);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.class-guide footer .button{margin:0;width:auto}.class-guide-empty{padding:35px 28px;color:var(--slate);text-align:center}
@media(max-width:600px){.class-guide-trigger{align-items:flex-start;flex-direction:column;gap:6px}.class-guide-trigger span{white-space:normal}.class-guide{width:100%;max-height:none}.class-guide-shell{height:100dvh}.class-guide header,.class-guide-intro,.class-guide-search,.class-guide-item{padding-left:20px;padding-right:20px}.class-guide header h2{font-size:25px}.class-guide footer{padding:14px 20px;align-items:stretch;flex-direction:column}.class-guide footer .button{width:100%}}

.checkout-steps{list-style:none;margin:0 0 30px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);background:white;border:1px solid var(--line)}.checkout-steps li{position:relative;display:flex;align-items:center;gap:12px;padding:16px 20px;color:#7e8a94}.checkout-steps li:not(:last-child){border-right:1px solid var(--line)}.checkout-steps li>span{width:34px;height:34px;border:1px solid #aab4bc;border-radius:50%;display:grid;place-items:center;font-weight:700}.checkout-steps li div{display:grid;gap:2px}.checkout-steps li small{font-size:9px;letter-spacing:1.4px}.checkout-steps li strong{font-size:14px}.checkout-steps li.is-available{cursor:pointer}.checkout-steps li.is-available:hover{background:#f2eadc;color:var(--navy)}.checkout-steps li.is-available:focus-visible{outline:3px solid var(--bronze);outline-offset:-3px}.checkout-steps li.is-active{background:var(--navy);color:white}.checkout-steps li.is-active>span{border-color:var(--bronze);background:var(--bronze);color:var(--navy)}
.section-intro{color:var(--slate);margin-top:-8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.form-grid .field{margin:10px 0}.field-wide{grid-column:1/-1}.contact-fields{border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.same-holder{display:flex;align-items:flex-start;gap:10px;margin:18px 0 12px;font-weight:600;cursor:pointer}.same-holder input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0}.privacy-note{padding:14px 16px;border-left:3px solid var(--bronze);background:var(--ivory);color:var(--slate);font-size:13px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:24px}.form-actions .button{margin:0}.form-actions .button-outline{background:white;color:var(--navy);border:1px solid var(--navy)}#final-review-details{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px 18px;margin:25px 0}#final-review-details dt{color:var(--slate);font-size:13px}#final-review-details dd{margin:0;font-weight:600;overflow-wrap:anywhere}
@media(max-width:600px){.checkout-steps{margin-inline:-4px}.checkout-steps li{padding:12px 8px;gap:7px}.checkout-steps li>span{width:28px;height:28px}.checkout-steps li small{display:none}.checkout-steps li strong{font-size:11px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.form-actions{align-items:stretch;flex-direction:column-reverse}.form-actions .button{width:100%}#final-review-details{grid-template-columns:1fr;gap:4px}#final-review-details dd{margin-bottom:10px}}


/* Confirmación visual al avanzar entre etapas */
.step-transition-notice{
 position:fixed;
 top:1.25rem;
 left:50%;
 z-index:1000;
 max-width:calc(100vw - 2rem);
 padding:.9rem 1.25rem;
 border:1px solid rgba(255,255,255,.18);
 border-radius:999px;
 background:#102f49;
 color:#fff;
 font-weight:700;
 box-shadow:0 14px 40px rgba(10,36,56,.24);
 opacity:0;
 pointer-events:none;
 transform:translate(-50%,-18px);
 transition:opacity .2s ease,transform .3s ease;
}
.step-transition-notice.is-visible{
 opacity:1;
 transform:translate(-50%,0);
}
.step-leaving{
 animation:checkoutStepLeave .18s ease both;
 pointer-events:none;
}
.step-entering{
 animation:checkoutStepEnter .5s cubic-bezier(.22,.8,.25,1) both;
}
@keyframes checkoutStepLeave{
 from{opacity:1;transform:translateY(0)}
 to{opacity:0;transform:translateY(-12px)}
}
@keyframes checkoutStepEnter{
 from{opacity:0;transform:translateX(28px)}
 to{opacity:1;transform:translateX(0)}
}
@media (max-width:640px){
 .step-transition-notice{
  top:.75rem;
  width:calc(100vw - 1.5rem);
  border-radius:.35rem;
  text-align:center;
  font-size:.92rem;
 }
}
@media (prefers-reduced-motion:reduce){
 .step-transition-notice,.step-leaving,.step-entering{
  animation:none;
  transition:none;
 }
}


/* Paso 3: revisión y pago */
.payment-step{background:transparent;border:0;padding:0}
.payment-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--line);padding:30px}
.payment-heading h2{margin:5px 0 14px}
.payment-heading .section-intro{margin:0}
.secure-badge{flex:0 0 auto;padding:9px 12px;border:1px solid #b9c6cf;color:var(--navy);font-size:11px;font-weight:800;letter-spacing:1px}
.checkout-complete-note{display:flex;gap:14px;align-items:center;margin:14px 0;padding:16px 18px;background:#edf5ef;border-left:4px solid #39734a;color:#173f26}
.checkout-complete-note>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#39734a;color:#fff;font-weight:800}
.checkout-complete-note strong{display:block}
.checkout-complete-note p{margin:3px 0 0;font-size:13px;color:#41624b}
.final-review-card,.payment-card{background:#fff;border:1px solid var(--line);padding:26px;margin-top:14px}
.final-review-card>header,.payment-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.final-review-card h3,.payment-card h3{margin:4px 0 0;font:26px/1.2 var(--serif)}
.review-edit-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.review-edit-actions button{border:0;border-bottom:1px solid currentColor;padding:3px 0;background:transparent;color:var(--navy);font-size:12px;font-weight:700}
.payment-card>p{color:var(--slate);font-size:14px;line-height:1.6}
.stripe-wordmark{color:#635bff;font-size:22px;font-weight:800;letter-spacing:-1px}
.payment-breakdown{margin-top:22px;border-top:1px solid var(--line)}
.payment-breakdown>div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}
.payment-breakdown span{color:var(--slate)}
.payment-total-row{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:22px 0 18px;font-weight:700}
.payment-total-row strong{font:30px var(--serif);color:var(--navy)}
.terms-check{display:flex;align-items:flex-start;gap:10px;padding:16px;background:var(--ivory);font-size:13px;line-height:1.5;cursor:pointer}
.terms-check input{width:18px;height:18px;flex:0 0 18px;margin:1px 0 0}
.accepted-payments{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0 13px}
.accepted-payments span{padding:6px 8px;border:1px solid #ccd3d8;background:#fff;color:#44515b;font-size:9px;font-weight:800}
.payment-button{width:100%;margin:0}
.payment-preview-note{text-align:center;margin:10px 0 0!important;font-size:11px!important}
.checkout-assurances{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.checkout-assurances>div{display:grid;gap:5px;padding:14px;background:#fff;border:1px solid var(--line)}
.checkout-assurances strong{font-size:12px}
.checkout-assurances span{font-size:11px;color:var(--slate)}
.payment-step>.form-actions{justify-content:flex-start}
@media(max-width:700px){
 .payment-heading,.final-review-card>header,.payment-card-header{flex-direction:column}
 .secure-badge{align-self:flex-start}
 .review-edit-actions{justify-content:flex-start}
 .checkout-assurances{grid-template-columns:1fr}
 .payment-breakdown>div,.payment-total-row{align-items:flex-start}
 .payment-heading,.final-review-card,.payment-card{padding:22px}
}

/* Confirmation preview */
.confirmation-demo-button{margin-top:16px;width:100%;background:var(--navy);color:#fff}
.confirmation-screen{max-width:1100px;margin:0 auto;outline:none}
.confirmation-demo-label{background:#e9e1d2;padding:12px 18px;text-align:center;font-size:13px}
.confirmation-hero{text-align:center;padding:44px 20px}
.confirmation-check{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 24px;border:1px solid var(--bronze);border-radius:50%;color:var(--bronze);font-size:32px}
.confirmation-hero h1{font:clamp(32px,4vw,52px)/1.15 var(--serif);color:var(--navy);margin:18px 0}
.confirmation-hero h1 em{color:var(--bronze)}
.confirmation-hero>p:not(.eyebrow){max-width:610px;margin:20px auto;color:var(--slate);line-height:1.7}
.confirmation-reference{display:inline-grid;gap:8px;border-top:1px solid var(--line);padding:20px 35px 0;margin-top:14px}
.confirmation-reference span{font-size:12px;color:var(--slate)}
.confirmation-reference strong{letter-spacing:2px}
.confirmation-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px}
.confirmation-receipt{background:white;border:1px solid var(--line);padding:32px}
.confirmation-support{background:var(--navy);color:#fff;padding:32px}
.confirmation-support h2{color:#fff}
.confirmation-support>p:not(.eyebrow){color:#ced6dd;line-height:1.7}
#confirmation-details>div{padding:16px 0;border-bottom:1px solid var(--line)}
#confirmation-details dt{font-size:12px;color:var(--slate);margin-bottom:6px}
#confirmation-details dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.confirmation-next{display:flex;gap:16px;padding:20px 0;border-top:1px solid #ffffff30}
.confirmation-next>span{color:#dfc393;font:22px var(--serif)}
.confirmation-next h3{font-size:17px;margin:0 0 8px}
.confirmation-next p{font-size:14px;line-height:1.6;color:#ced6dd;margin:0}
#confirmation-email{display:block;margin-top:8px;font-size:14px;overflow-wrap:anywhere}
.confirmation-footnote{max-width:750px;margin:24px auto;color:var(--slate);font-size:12px;text-align:center;line-height:1.6}
.confirmation-actions{display:flex;justify-content:center;align-items:center;gap:24px;padding:10px 0 30px}
.confirmation-actions a{color:var(--navy)}
@media(max-width:700px){
 .confirmation-columns{grid-template-columns:1fr}
 .confirmation-receipt,.confirmation-support{padding:24px}
 .confirmation-hero{padding:28px 0}
 .confirmation-actions{flex-direction:column}
 .confirmation-receipt .payment-total-row{flex-wrap:wrap}
}

/* Optional independent class selections */
.separate-class-toggle{display:block;border:0;border-bottom:1px solid currentColor;background:none;color:var(--navy);padding:6px 0;margin:10px 0 22px;font-size:13px;text-align:left}
.separate-class-panel{background:var(--ivory);border:1px solid var(--line);padding:18px;margin-bottom:26px}
.separate-class-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;margin:10px 0 16px}
.separate-class-heading h3{font:23px var(--serif);margin:0}
.separate-class-heading strong{color:var(--navy);white-space:nowrap;font-size:15px}
.separate-class-help{display:flex;gap:10px;align-items:flex-start;font-size:13px;margin-top:18px}
.separate-class-help input{flex-shrink:0;width:18px;height:18px}
@media(max-width:600px){.separate-class-panel{padding:12px}.separate-class-panel .nice-grid{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}}

