:root{
  --guest-black:var(--plbac-black,#070707);
  --guest-black-soft:var(--plbac-black-soft,#10100f);
  --guest-ivory:var(--plbac-ivory,#f1eee7);
  --guest-ivory-muted:var(--plbac-ivory-muted,#c7c1b7);
  --guest-orange:var(--plbac-orange,#f06a12);
  --guest-line:var(--plbac-line,rgba(241,238,231,.16));
  --guest-serif:var(--plbac-serif,"Cormorant Garamond",Georgia,serif);
  --guest-sans:var(--plbac-sans,Manrope,Arial,sans-serif);
  --guest-mono:var(--plbac-mono,"Space Mono",ui-monospace,monospace);
  --guest-shell:var(--plbac-shell,min(100% - 2.5rem,92rem));
  --guest-header:var(--plbac-header,5rem);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
.portal-shell{min-height:100vh;background:var(--guest-black);color:var(--guest-ivory);font-family:var(--guest-sans)}
.portal-shell--theme{padding:0}
.plbac-guest-fallback{margin:0;background:var(--guest-black);color:var(--guest-ivory);font-family:Arial,sans-serif}
.plbac-guest-fallback .portal-shell{padding:20px}
.brand{width:var(--guest-shell);margin:0 auto 24px;padding-top:20px;font:700 12px/1.2 var(--guest-sans);letter-spacing:.1em;text-transform:uppercase}
.portal-wrap{width:var(--guest-shell);margin-inline:auto;padding-top:calc(var(--guest-header) + 6rem);padding-bottom:6rem}
.portal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin:0 0 2.5rem}
.portal-head__identity{min-width:0}
.portal-head__title{display:flex;align-items:flex-start;gap:clamp(1rem,1.8vw,1.7rem);min-width:0}
.portal-project-mark{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:flex-start;width:clamp(4.5rem,5.6vw,5.75rem);height:clamp(4rem,5vw,5.15rem);margin:clamp(.35rem,.9vw,.55rem) 0 0;line-height:0;overflow:visible}
.portal-project-mark__image{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:left top}
.portal-head h1{margin:0 0 .16em;font:400 clamp(3.8rem,9vw,8rem)/.86 var(--guest-serif);letter-spacing:-.025em;text-transform:uppercase}
.portal-head p:last-child{margin:0;color:var(--guest-ivory-muted)}
.eyebrow{margin:0 0 .95rem;font:400 .7rem/1.5 var(--guest-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--guest-orange)}
.state-pill{border:1px solid var(--guest-line);padding:.62rem .9rem;font:400 .66rem/1.2 var(--guest-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.portal-card{max-width:none;margin:0 0 1.2rem;padding:clamp(1.4rem,4vw,3.2rem);border:1px solid var(--guest-line);background:rgba(241,238,231,.025)}
.portal-card h1,.portal-card h2,.portal-card h3{font-family:var(--guest-serif);font-weight:400}
.portal-card h1{font-size:clamp(3rem,8vw,6rem);line-height:.92;margin:.15em 0 .35em}
.portal-card h2{font-size:clamp(2.2rem,5vw,4.4rem);line-height:.95;margin:.15em 0 .7em}
.portal-card h3{font-size:1.7rem}
.portal-card p,.scene-intro p{max-width:58rem}
.field{display:block;margin:1.7rem 0}
.field>span{display:block;margin-bottom:.55rem;font:650 .76rem/1.35 var(--guest-sans);letter-spacing:.025em}
.field>small{display:block;max-width:50rem;margin:-.15rem 0 .7rem;color:var(--guest-ivory-muted);font:400 .72rem/1.55 var(--guest-mono)}
.field input,.field textarea,.field select{width:100%;border:0;border-bottom:1px solid rgba(241,238,231,.34);border-radius:0;background:transparent;color:var(--guest-ivory);padding:.78rem 0;font:400 1rem/1.5 var(--guest-sans);outline:0}
.field textarea{min-height:9rem;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--guest-orange);box-shadow:0 1px 0 var(--guest-orange)}
.field b{color:var(--guest-orange)}
.consent{display:flex;align-items:flex-start;gap:.8rem;padding:1.2rem 0;border-top:1px solid var(--guest-line);font-size:.78rem;line-height:1.55}
.consent input{margin-top:.25rem;accent-color:var(--guest-orange)}
.muted{color:var(--guest-ivory-muted)}
.message{margin:0 0 1.2rem;padding:1rem 1.1rem;border:1px solid var(--guest-line);font:400 .78rem/1.55 var(--guest-mono)}
.message.ok{border-color:rgba(240,106,18,.58);background:rgba(240,106,18,.08)}
.message.error{border-color:#b85446;background:rgba(184,84,70,.08)}
.scene-thanks{max-width:64rem;padding:clamp(2rem,5vw,5rem) 0}
.scene-thanks h1{margin:0 0 clamp(2.5rem,6vw,5.5rem);color:var(--guest-ivory);font:400 clamp(5rem,13vw,12rem)/.76 var(--guest-serif);letter-spacing:-.045em}
.scene-thanks h2{margin:0 0 1.15rem;color:var(--guest-ivory);font:400 clamp(2.15rem,5vw,4.5rem)/.98 var(--guest-serif);letter-spacing:-.018em}
.scene-thanks p{max-width:42rem;margin:0;color:var(--guest-ivory-muted);font:400 clamp(1.05rem,1.7vw,1.3rem)/1.65 var(--guest-sans)}
.status{padding:1rem;border-left:3px solid var(--guest-orange);background:rgba(241,238,231,.04)}
dl{display:grid;grid-template-columns:minmax(120px,210px) 1fr;gap:.75rem 1rem}dt{font-weight:700}dd{margin:0;color:var(--guest-ivory-muted)}
.contract-text{max-height:none;overflow:visible;padding:clamp(1.5rem,3.2vw,3rem);background:var(--guest-ivory);color:var(--guest-black);white-space:normal}
.contract-document{max-width:58rem;margin:1.7rem auto 1.25rem;border:1px solid rgba(7,7,7,.12);box-shadow:0 1rem 2.4rem rgba(0,0,0,.14)}
.contract-document__logo{display:flex;align-items:center;min-height:2.5rem;margin:0 0 2.35rem}
.contract-document__logo-image{display:block;width:auto;max-width:7.5rem;max-height:3.8rem;object-fit:contain}
.contract-document__logo--text{font:700 .72rem/1 var(--guest-sans);letter-spacing:.16em;text-transform:uppercase}
.portal-shell .portal-card .contract-document__header{margin:0 0 2.2rem;padding:0 0 1.45rem;border-bottom:1px solid rgba(7,7,7,.18)}
.portal-shell .portal-card .contract-document h1{max-width:44rem;margin:0;color:var(--guest-black);font:500 clamp(1.65rem,2.5vw,2.15rem)/1.14 var(--guest-serif);letter-spacing:-.018em;text-transform:none}
.portal-shell .portal-card .contract-document__subtitle{margin:.65rem 0 0;color:#5d5851;font:650 .76rem/1.45 var(--guest-sans);letter-spacing:.055em;text-transform:uppercase}
.portal-shell .portal-card .contract-document h2{margin:2.15rem 0 .7rem;padding:0;color:var(--guest-black)!important;font:700 1.02rem/1.35 var(--guest-sans);letter-spacing:.015em;text-decoration:none!important;text-transform:none}
.portal-shell .portal-card .contract-document h3{margin:1.35rem 0 .45rem;color:var(--guest-black);font:700 .98rem/1.4 var(--guest-sans)}
.portal-shell .portal-card .contract-document p{max-width:50rem;margin:0 0 .95rem;color:#26221f;font:400 1rem/1.68 var(--guest-sans)}
.contract-acceptance{max-width:58rem;margin:1.4rem auto 0;padding:clamp(1.2rem,2.5vw,2rem);border:1px solid var(--guest-line);background:rgba(241,238,231,.025)}
.formalize-intro{margin:0 0 1rem;color:var(--guest-ivory-muted)}
.formalize-identity{display:flex;flex-wrap:wrap;gap:.45rem .8rem;align-items:baseline;margin:0 0 1.1rem;font:400 .76rem/1.5 var(--guest-mono);color:var(--guest-ivory-muted)}
.formalize-identity strong{color:var(--guest-ivory);font:650 1rem/1.4 var(--guest-sans)}
.download-list{display:grid;gap:.7rem}.download{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--guest-line);color:inherit;text-decoration:none}.download:hover{border-color:var(--guest-orange);color:var(--guest-orange)}
.steps{display:flex;gap:.5rem;overflow:auto;margin:0 0 1.2rem;padding:0 0 .5rem;font:400 .66rem/1.3 var(--guest-mono);text-transform:uppercase}.steps span{white-space:nowrap;border-top:1px solid var(--guest-line);padding:.6rem .7rem 0 0}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}


/* Portal contractual · contraste y controles nativos.
   El tema permite personalizar globalmente H2; el portal privado fija su propio
   contraste para impedir tinta naranja sobre el marcador naranja. */
.portal-shell{
  --plbac-h2-ink:var(--guest-ivory);
  --plbac-h2-marker:var(--guest-orange);
  color-scheme:dark;
}
.portal-shell .portal-card>h2{
  color:var(--guest-ivory)!important;
  text-decoration-color:var(--guest-orange)!important;
  text-decoration-thickness:.34em;
  text-underline-offset:-.24em;
  text-decoration-skip-ink:none;
}
.portal-shell .portal-card .field>span{color:var(--guest-ivory)}

/* Selects: no depender de la paleta clara del control nativo de Windows. */
.portal-shell .field select{
  -webkit-appearance:none;
  appearance:none;
  color-scheme:dark;
  cursor:pointer;
  padding-right:2.4rem;
  background-color:transparent;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23f06a12' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .25rem center;
  background-size:.8rem auto;
}
.portal-shell .field select option{
  background:var(--guest-black-soft);
  color:var(--guest-ivory);
}
.portal-shell .field select option:checked{
  background:var(--guest-orange);
  color:var(--guest-black);
}
.portal-shell .field select:disabled{opacity:.55;cursor:not-allowed}
.portal-shell .field input[type=date]{color-scheme:dark}
.portal-shell .field input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.72;cursor:pointer}

/* Botones del portal: elimina el botón blanco nativo y recupera el lenguaje PLBAC. */
.portal-shell .portal-card form button[type=submit]{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:15rem;
  margin-top:1.5rem;
  padding:.82rem 1rem;
  border:1px solid var(--guest-orange);
  border-radius:0;
  background:transparent;
  color:var(--guest-orange);
  font:700 .76rem/1.2 var(--guest-sans);
  letter-spacing:.055em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background-color .22s ease,color .22s ease,transform .22s ease;
}
.portal-shell .portal-card form button[type=submit]:hover,
.portal-shell .portal-card form button[type=submit]:focus-visible{
  background:var(--guest-orange);
  color:var(--guest-black);
  transform:translateY(-1px);
}
.portal-shell .portal-card form button[type=submit]:disabled{
  opacity:.45;
  cursor:not-allowed;
  transform:none;
}

/* Chrome puede repintar campos autocompletados con fondos claros. */
.portal-shell .field input:-webkit-autofill,
.portal-shell .field input:-webkit-autofill:hover,
.portal-shell .field input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--guest-ivory);
  -webkit-box-shadow:0 0 0 1000px var(--guest-black-soft) inset;
  caret-color:var(--guest-ivory);
}

/* Entrada pública integrada en el tema PLBAC. */
.guest-registration-page{background:var(--guest-black);color:var(--guest-ivory)}
.guest-registration-hero{min-height:min(78svh,52rem);display:grid;align-items:end;padding-top:calc(var(--guest-header) + 5rem);padding-bottom:clamp(4rem,8vw,7rem);border-bottom:1px solid var(--guest-line);background:radial-gradient(circle at 78% 28%,rgba(240,106,18,.18),transparent 28%),var(--guest-black)}
.guest-registration-hero__inner{width:var(--guest-shell);margin-inline:auto}
.guest-registration-hero h1{max-width:75rem;margin:.22em 0 0;font:400 clamp(4.2rem,10.7vw,10rem)/.79 var(--guest-serif);letter-spacing:-.035em;text-transform:uppercase;text-wrap:balance}
.guest-registration-hero h1 span{display:block}
.guest-registration-hero .accent-rule{display:block;width:3.2rem;height:2px;margin:1.8rem 0;background:var(--guest-orange)}
.guest-registration-hero__lead{max-width:45rem;margin:0;color:var(--guest-ivory-muted);font:400 clamp(1rem,1.7vw,1.25rem)/1.65 var(--guest-mono)}
.guest-registration-stage{--plbac-h2-ink:var(--guest-black);--plbac-h2-marker:var(--guest-orange);background:var(--guest-ivory);color:var(--guest-black);padding:clamp(4rem,8vw,8rem) 0}
.guest-registration-grid{display:grid;gap:4rem;width:var(--guest-shell);margin-inline:auto}
.guest-registration-copy{max-width:42rem}.guest-registration-copy h2,.guest-registration-formbox h2{font:400 clamp(3rem,6vw,5.3rem)/.92 var(--guest-serif);letter-spacing:-.02em;margin:.15em 0 .7em}.guest-registration-copy p,.guest-registration-formbox p{font-family:var(--guest-mono);font-size:.82rem;line-height:1.75}.guest-registration-stage .eyebrow{color:var(--guest-orange)}
.guest-scene-sequence{list-style:none;margin:2.8rem 0 0;padding:0;border-top:1px solid rgba(7,7,7,.25)}.guest-scene-sequence li{display:grid;grid-template-columns:3rem 7rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(7,7,7,.18);align-items:baseline}.guest-scene-sequence span{font:400 .66rem/1 var(--guest-mono);color:var(--guest-orange)}.guest-scene-sequence strong{font:650 .75rem/1.3 var(--guest-sans);text-transform:uppercase;letter-spacing:.05em}.guest-scene-sequence small{font:400 .72rem/1.5 var(--guest-mono);color:#5d5952}
.guest-registration-formbox{padding:clamp(1.5rem,4vw,3rem);border:1px solid rgba(7,7,7,.34);align-self:start;scroll-margin-top:calc(var(--guest-header) + 2rem)}.guest-registration-formbox .muted{color:#68635b}.guest-registration-field>span{color:var(--guest-black)}.guest-registration-field input{color:var(--guest-black);border-color:rgba(7,7,7,.34)}.guest-registration-field input:focus{border-color:var(--guest-orange);box-shadow:0 1px 0 var(--guest-orange)}.guest-registration-formbox .consent{border-color:rgba(7,7,7,.2);font-family:var(--guest-mono)}.guest-registration-formbox a{color:inherit}.plbac-guest-submit{cursor:pointer;background:transparent}.guest-registration-formbox .message{color:var(--guest-black);border-color:rgba(7,7,7,.25)}
.guest-registration-note{padding:clamp(4rem,8vw,7rem) 0;background:var(--guest-black)}.guest-registration-note__inner{width:var(--guest-shell);margin-inline:auto;max-width:70rem}.guest-registration-note__inner>p:not(.eyebrow){font:400 clamp(1.5rem,3vw,2.5rem)/1.35 var(--guest-serif);max-width:60rem;margin:1.1rem 0;color:var(--guest-ivory)}


.guest-registration-thanks{padding:clamp(5rem,9vw,9rem) 0;background:var(--guest-black);color:var(--guest-ivory);border-top:1px solid var(--guest-line)}
.guest-registration-thanks__inner{width:var(--guest-shell);margin-inline:auto}
.guest-registration-thanks__inner .eyebrow{margin-bottom:clamp(1.2rem,2vw,2rem);font-family:var(--guest-mono);color:var(--guest-orange)}
.guest-registration-thanks__inner h2{max-width:12ch;margin:0;color:var(--guest-ivory);font:400 clamp(4rem,8vw,8rem)/.9 var(--guest-serif);letter-spacing:-.035em;text-wrap:balance}
.guest-registration-thanks--success{min-height:calc(100svh - var(--guest-header));display:grid;align-items:center}
.guest-registration-thanks__copy{max-width:44rem;margin-top:clamp(2rem,4vw,3.5rem);padding-top:clamp(1.4rem,2.5vw,2rem);border-top:1px solid var(--guest-line)}
.guest-registration-thanks__copy p{margin:.35rem 0;color:var(--guest-ivory);font:400 clamp(.9rem,1.15vw,1.05rem)/1.7 var(--guest-mono)}
.guest-registration-thanks__copy .muted{color:var(--guest-ivory-muted)}

/* Formulario privado de escena. */
.scene-intro{display:grid;gap:2rem;margin-bottom:2rem;padding:clamp(1.4rem,3vw,2.5rem) 0;border-top:1px solid var(--guest-line);border-bottom:1px solid var(--guest-line)}.scene-intro h2{font:400 clamp(2.7rem,5vw,4.8rem)/.92 var(--guest-serif);margin:.18em 0 .6em}.scene-intro p{font-family:var(--guest-mono);font-size:.78rem;color:var(--guest-ivory-muted)}.scene-progress-summary{align-self:end}.scene-progress-summary strong{display:block;font:400 clamp(3rem,6vw,5rem)/.9 var(--guest-serif);color:var(--guest-orange)}.scene-progress-summary span{font:400 .66rem/1.4 var(--guest-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--guest-ivory-muted)}
.scene-stepper{--scene-progress:14.285%;margin-bottom:1.2rem}.scene-stepper__bar{height:2px;background:linear-gradient(90deg,var(--guest-orange) var(--scene-progress),rgba(241,238,231,.16) var(--scene-progress));transition:background .2s ease}.scene-stepper__meta{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;font:400 .62rem/1.3 var(--guest-mono);letter-spacing:.08em;color:var(--guest-ivory-muted)}
.scene-step-nav{display:none;gap:.35rem;overflow:auto;padding:.4rem 0 1rem}.plbac-scene-js .scene-step-nav{display:flex}.scene-step-nav button{flex:1 0 auto;border:0;border-top:1px solid var(--guest-line);background:transparent;color:var(--guest-ivory-muted);padding:.65rem .7rem;text-align:left;font:600 .66rem/1.25 var(--guest-sans);text-transform:uppercase;cursor:pointer}.scene-step-nav button span{display:block;margin-bottom:.3rem;font-family:var(--guest-mono);font-weight:400;color:var(--guest-orange)}.scene-step-nav button.is-active{border-top-color:var(--guest-orange);color:var(--guest-ivory)}
.scene-form.is-enhanced .scene-section[hidden]{display:none!important}.scene-section{min-height:34rem}.scene-section .eyebrow{margin-bottom:.6rem}.scene-step-intro{max-width:48rem!important;margin:0 0 2rem;color:var(--guest-ivory-muted);font:400 .78rem/1.65 var(--guest-mono)}.scene-field{margin:2rem 0}.scene-field>span{font-size:.86rem;line-height:1.4}.scene-field textarea{min-height:10rem}.scene-submit-note{margin:3rem 0 0;padding:1.6rem 0;border-top:1px solid var(--guest-line)}.scene-submit-note h3{margin:0 0 .6rem}.scene-step-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:2.8rem;padding-top:1.2rem;border-top:1px solid var(--guest-line)}.scene-nav-button,.scene-save-button{border:0;background:transparent;color:var(--guest-ivory-muted);font:600 .68rem/1.2 var(--guest-sans);letter-spacing:.045em;text-transform:uppercase;cursor:pointer;padding:.8rem 0}.scene-nav-button:hover,.scene-save-button:hover{color:var(--guest-orange)}.scene-next-button,.scene-submit-button{margin:0 0 0 auto;cursor:pointer;background:transparent}.plbac-scene-js .scene-next-button{display:inline-flex}.scene-next-button{display:none}.summary-section{margin:2.2rem 0 .7rem;padding-top:1rem;border-top:1px solid var(--guest-line);font-size:1.6rem}.answer{padding:1rem 0;border-top:1px solid var(--guest-line)}.answer strong{font-size:.8rem}.answer p{margin:.45rem 0 0;color:var(--guest-ivory-muted)}

/* Fallback del botón editorial cuando no está cargado el tema. */
.plbac-guest-fallback .cta-link{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;min-width:15rem;padding:.82rem 1rem;border:1px solid currentColor;color:var(--guest-orange);font:700 .76rem/1.2 var(--guest-sans);text-transform:uppercase;text-decoration:none}.plbac-guest-fallback .cta-link__label,.plbac-guest-fallback .cta-link__arrow{position:relative;z-index:1}

@media (min-width:48rem){
  .guest-registration-grid{grid-template-columns:minmax(0,1.05fr) minmax(22rem,.8fr);align-items:start}
  .scene-intro{grid-template-columns:minmax(0,1fr) 16rem;align-items:end}
}
@media (max-width:47.99rem){
  .portal-wrap{padding-top:calc(var(--guest-header) + 4.5rem);padding-bottom:4rem}.portal-head{display:block}.portal-head__title{gap:.9rem}.portal-project-mark{width:3.8rem;height:3.8rem;margin:.28rem 0 0}.portal-scene-actions{display:grid;grid-template-columns:1fr}.portal-action{width:100%}.state-pill{display:inline-block;margin-top:1rem}.portal-card{padding:1.3rem}.guest-registration-hero{min-height:72svh;padding-bottom:3.5rem}.guest-registration-hero h1{font-size:clamp(3.9rem,18vw,6.4rem)}.guest-registration-grid{gap:3rem}.guest-scene-sequence li{grid-template-columns:2.4rem 1fr}.guest-scene-sequence small{grid-column:2}.guest-registration-formbox{padding:1.25rem}.scene-step-actions{display:grid;grid-template-columns:1fr 1fr}.scene-next-button,.scene-submit-button{grid-column:1/-1;margin:0;width:100%}.scene-nav-button,.scene-save-button{text-align:left}.scene-section{min-height:0}.field textarea{min-height:11rem}dl{grid-template-columns:1fr}.download{display:block}.download small{display:block;margin-top:.35rem}}
@media (prefers-reduced-motion:reduce){.scene-stepper__bar{transition:none!important}}

/* Persona invitada por PLBAC: formulario breve de escena. */
.direct-invite-page{background:var(--guest-black);color:var(--guest-ivory)}
.direct-invite-access{min-height:72svh;display:grid;align-items:center;padding:calc(var(--guest-header) + 4rem) 0 5rem;background:radial-gradient(circle at 74% 30%,rgba(240,106,18,.14),transparent 31%),var(--guest-black)}
.direct-invite-access__inner{width:var(--guest-shell);margin-inline:auto;max-width:66rem}
.direct-invite-access h1{margin:.18em 0 .35em;font:400 clamp(4rem,10vw,8.5rem)/.84 var(--guest-serif);letter-spacing:-.035em;text-transform:uppercase}
.direct-invite-access p{max-width:48rem;color:var(--guest-ivory-muted)}
.direct-invite-hero{min-height:min(68svh,46rem);display:grid;align-items:end;padding-top:calc(var(--guest-header) + 4rem);padding-bottom:clamp(3.5rem,7vw,6.5rem);border-bottom:1px solid var(--guest-line);background:radial-gradient(circle at 76% 28%,rgba(240,106,18,.15),transparent 30%),var(--guest-black)}
.direct-invite-hero__inner{width:var(--guest-shell);margin-inline:auto}
.direct-invite-hero h1{max-width:78rem;margin:.2em 0 .25em;font:400 clamp(4.2rem,10vw,9rem)/.8 var(--guest-serif);letter-spacing:-.035em;text-transform:uppercase;text-wrap:balance}
.direct-invite-hero h1 span{display:block}
.direct-invite-hero__lead{max-width:50rem;margin:1.5rem 0 0;color:var(--guest-ivory-muted);font:400 clamp(.95rem,1.45vw,1.15rem)/1.65 var(--guest-mono)}
.direct-invite-stage{--plbac-h2-ink:var(--guest-black);--plbac-h2-marker:var(--guest-orange);background:var(--guest-ivory);color:var(--guest-black);padding:clamp(4rem,8vw,8rem) 0}
.direct-invite-grid{display:grid;gap:clamp(3rem,7vw,7rem);width:var(--guest-shell);margin-inline:auto;align-items:start}
.direct-invite-copy{max-width:39rem;position:sticky;top:calc(var(--guest-header) + 2rem)}
.direct-invite-copy .eyebrow,.direct-invite-formbox .eyebrow{color:var(--guest-orange)}
.direct-invite-copy h2,.direct-invite-formbox h2{margin:.15em 0 .55em;font:400 clamp(3rem,5.6vw,5.1rem)/.92 var(--guest-serif);letter-spacing:-.025em}
.direct-invite-copy>p:not(.eyebrow),.direct-invite-formbox>p{font:400 .78rem/1.75 var(--guest-mono)}
.direct-invite-sequence{list-style:none;margin:2.8rem 0 0;padding:0;border-top:1px solid rgba(7,7,7,.22)}
.direct-invite-sequence li{display:grid;grid-template-columns:2.5rem 6.8rem 1fr;gap:.8rem;padding:1rem 0;border-bottom:1px solid rgba(7,7,7,.16);align-items:baseline}
.direct-invite-sequence span{font:400 .64rem/1 var(--guest-mono);color:var(--guest-orange)}
.direct-invite-sequence strong{font:650 .72rem/1.3 var(--guest-sans);text-transform:uppercase;letter-spacing:.05em}
.direct-invite-sequence small{font:400 .7rem/1.5 var(--guest-mono);color:#615d56}
.direct-invite-formbox{padding:clamp(1.3rem,3.5vw,2.8rem);border:1px solid rgba(7,7,7,.3);background:rgba(255,255,255,.12)}
.direct-invite-note{margin:0 0 2.2rem!important;color:#625e57}
.direct-invite-field{margin:0;padding:1.65rem 0;border-top:1px solid rgba(7,7,7,.18)}
.direct-invite-field:first-of-type{border-top:0;padding-top:.4rem}
.direct-invite-field>span{color:var(--guest-black);font-size:.86rem;line-height:1.45}
.direct-invite-field>small{color:#68635b;margin:.1rem 0 .7rem}
.direct-invite-field textarea{min-height:8rem;color:var(--guest-black);border-color:rgba(7,7,7,.32);font-size:1rem;line-height:1.6}
.direct-invite-field textarea:focus{border-color:var(--guest-orange);box-shadow:0 1px 0 var(--guest-orange)}
.direct-invite-consent{margin-top:1.3rem;border-color:rgba(7,7,7,.2);font-family:var(--guest-mono);color:#4d4943}
.direct-invite-consent a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}
.direct-invite-submit{margin-top:1.4rem;cursor:pointer;background:transparent}
.direct-invite-formbox .message{color:var(--guest-black);border-color:rgba(7,7,7,.25)}
.direct-invite-after{padding:clamp(4rem,7vw,6.5rem) 0;background:var(--guest-black);border-top:1px solid var(--guest-line)}
.direct-invite-after__inner{width:var(--guest-shell);margin-inline:auto;max-width:72rem}
.direct-invite-after__inner>p:not(.eyebrow){max-width:64rem;margin:1rem 0 0;font:400 clamp(1.65rem,3.4vw,2.8rem)/1.28 var(--guest-serif)}

@media (min-width:58rem){
  .direct-invite-grid{grid-template-columns:minmax(0,.82fr) minmax(28rem,1.18fr)}
}
@media (max-width:57.99rem){
  .direct-invite-copy{position:static}.direct-invite-hero{min-height:60svh}.direct-invite-hero h1{font-size:clamp(3.7rem,17vw,6.3rem)}.direct-invite-sequence li{grid-template-columns:2.2rem 1fr}.direct-invite-sequence small{grid-column:2}.direct-invite-formbox{padding:1.2rem}.direct-invite-field textarea{min-height:10rem}
}

/* 1.3.7 · Select editorial propio.
   El desplegable nativo de Windows/Chromium conserva un azul de selección que
   no puede controlarse de forma consistente con CSS. Con JS disponible se
   mantiene el select real para envío/validación y se presenta este control. */
.portal-shell .field select.plbac-select-enhanced{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:.001!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.portal-shell .plbac-select{
  position:relative;
  width:100%;
  font-family:var(--guest-sans);
}
.portal-shell .plbac-select__trigger{
  position:relative;
  display:block;
  width:100%;
  min-height:3.2rem;
  padding:.78rem 2.6rem .78rem 0;
  border:0;
  border-bottom:1px solid rgba(241,238,231,.34);
  border-radius:0;
  background:transparent;
  color:var(--guest-ivory);
  font:400 1rem/1.5 var(--guest-sans);
  text-align:left;
  cursor:pointer;
  outline:0;
}
.portal-shell .plbac-select__trigger::after{
  content:"";
  position:absolute;
  right:.25rem;
  top:50%;
  width:.58rem;
  height:.58rem;
  border-right:1.5px solid var(--guest-orange);
  border-bottom:1.5px solid var(--guest-orange);
  transform:translateY(-65%) rotate(45deg);
  transition:transform .18s ease;
}
.portal-shell .plbac-select.is-open .plbac-select__trigger{
  border-color:var(--guest-orange);
  box-shadow:0 1px 0 var(--guest-orange);
}
.portal-shell .plbac-select.is-open .plbac-select__trigger::after{
  transform:translateY(-35%) rotate(225deg);
}
.portal-shell .plbac-select__trigger:focus-visible{
  border-color:var(--guest-orange);
  box-shadow:0 1px 0 var(--guest-orange);
}
.portal-shell .plbac-select__trigger:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.portal-shell .plbac-select__list{
  position:absolute;
  z-index:1000;
  top:calc(100% + 1px);
  left:0;
  right:0;
  display:none;
  max-height:18rem;
  overflow:auto;
  border:1px solid rgba(241,238,231,.28);
  border-top:1px solid var(--guest-orange);
  background:var(--guest-black-soft);
  box-shadow:0 1.1rem 2.6rem rgba(0,0,0,.38);
}
.portal-shell .plbac-select.is-open .plbac-select__list{display:block}
.portal-shell .plbac-select__option{
  display:block;
  width:100%;
  margin:0;
  padding:.82rem 1rem;
  border:0;
  border-bottom:1px solid rgba(241,238,231,.09);
  border-radius:0;
  background:var(--guest-black-soft);
  color:var(--guest-ivory);
  font:400 1rem/1.35 var(--guest-sans);
  text-align:left;
  cursor:pointer;
  outline:0;
}
.portal-shell .plbac-select__option:last-child{border-bottom:0}
.portal-shell .plbac-select__option:hover,
.portal-shell .plbac-select__option:focus-visible{
  background:rgba(240,106,18,.13);
  color:var(--guest-ivory);
}
.portal-shell .plbac-select__option.is-selected{
  background:var(--guest-orange);
  color:var(--guest-black);
}
.portal-shell .plbac-select__option.is-selected:hover,
.portal-shell .plbac-select__option.is-selected:focus-visible{
  background:var(--guest-orange);
  color:var(--guest-black);
}
.portal-shell .plbac-select__option:disabled{
  opacity:.38;
  cursor:not-allowed;
}

/* 1.3.9 · Persona invitada: las tres fases de la escena siempre son visibles.
   No dependen de JavaScript ni de un acordeón; cada bloque es un tramo real del formulario. */
.direct-invite-phase-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:1.8rem 0 1rem;padding:0}
.direct-invite-phase-index a{display:grid;grid-template-columns:2.3rem 1fr;gap:.55rem;align-items:baseline;padding:.8rem .15rem;border-top:1px solid rgba(7,7,7,.24);color:var(--guest-black);text-decoration:none}
.direct-invite-phase-index a:hover,.direct-invite-phase-index a:focus-visible{border-top-color:var(--guest-orange);outline:0}
.direct-invite-phase-index span{font:400 .64rem/1 var(--guest-mono);color:var(--guest-orange)}
.direct-invite-phase-index strong{font:650 .7rem/1.25 var(--guest-sans);text-transform:uppercase;letter-spacing:.05em}
.direct-invite-phases{display:block!important;visibility:visible!important;opacity:1!important}
.direct-invite-phase{display:block!important;visibility:visible!important;opacity:1!important;margin:0;padding:2rem 0 2.35rem;border-top:1px solid rgba(7,7,7,.22);scroll-margin-top:calc(var(--guest-header) + 1.5rem)}
.direct-invite-phase:first-child{border-top:0;padding-top:.7rem}
.direct-invite-phase__head{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:1rem;align-items:start;margin:0 0 1.25rem}
.direct-invite-phase__number{padding-top:.25rem;font:400 .68rem/1 var(--guest-mono);color:var(--guest-orange)}
.direct-invite-phase__head h3{margin:0;color:var(--guest-black);font:600 clamp(1.15rem,1.7vw,1.45rem)/1.25 var(--guest-sans);letter-spacing:-.01em}
.direct-invite-phase__head h3 b{color:var(--guest-orange);font-weight:400}
.direct-invite-phase__head p{max-width:46rem;margin:.55rem 0 0;color:#68635b;font:400 .72rem/1.6 var(--guest-mono)}
.direct-invite-phase .direct-invite-field{display:block!important;visibility:visible!important;opacity:1!important;margin:0;padding:0;border:0}
.direct-invite-phase .direct-invite-field textarea{display:block!important;width:100%;min-height:9.5rem;background:transparent;color:var(--guest-black);border:0;border-bottom:1px solid rgba(7,7,7,.34);border-radius:0;padding:.8rem 0 1rem;resize:vertical;box-shadow:none}
.direct-invite-phase .direct-invite-field textarea:focus{outline:0;border-bottom-color:var(--guest-orange);box-shadow:0 1px 0 var(--guest-orange)}
@media (max-width:760px){.direct-invite-phase-index{grid-template-columns:1fr}.direct-invite-phase-index a{grid-template-columns:2.2rem 1fr;padding:.65rem 0}.direct-invite-phase__head{grid-template-columns:2.2rem 1fr}.direct-invite-phase{padding:1.55rem 0 1.9rem}}


/* 1.4.0 · El recorrido contractual completo permanece visible.
   Los pasos aún no disponibles se muestran como pendientes, en lugar de
   desaparecer y dar la impresión de que el portal termina en «Tus datos». */
.portal-step-card{scroll-margin-top:calc(var(--guest-header) + 2rem)}
.portal-step-card--locked{
  position:relative;
  min-height:12rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-color:rgba(241,238,231,.10);
  background:rgba(241,238,231,.012);
}
.portal-step-card--locked>h2{opacity:.48}
.portal-step-card--locked>.muted{max-width:46rem;opacity:.78}
.portal-step-state{
  margin:0 0 .55rem!important;
  color:var(--guest-orange);
  font:400 .64rem/1.4 var(--guest-mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}

/* 1.4.1 · La escena forma parte del mismo recorrido privado que el contrato. */
.portal-scene-card{scroll-margin-top:calc(var(--guest-header) + 2rem)}
.portal-scene-intro{max-width:52rem}
.portal-scene-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1.8rem 0 1rem}
.portal-scene-index span{display:flex;gap:.65rem;align-items:baseline;border-top:1px solid var(--guest-line);padding:.75rem 0 0;font:650 .7rem/1.25 var(--guest-sans);letter-spacing:.045em;text-transform:uppercase}
.portal-scene-index b{color:var(--guest-orange);font:400 .64rem/1 var(--guest-mono)}
.portal-scene-phase{padding:1.8rem 0 2rem;border-top:1px solid var(--guest-line)}
.portal-scene-phase:first-of-type{margin-top:.5rem}
.portal-scene-phase__head{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:1rem;align-items:start}
.portal-scene-phase__head>span{padding-top:.2rem;color:var(--guest-orange);font:400 .68rem/1 var(--guest-mono)}
.portal-scene-phase__head h3{margin:0;color:var(--guest-ivory);font:500 clamp(1.2rem,2vw,1.65rem)/1.2 var(--guest-sans);letter-spacing:-.015em}
.portal-scene-phase__head p{max-width:52rem;margin:.55rem 0 0;color:var(--guest-ivory-muted);font:400 .72rem/1.6 var(--guest-mono)}
.portal-scene-field{margin:.85rem 0 0 4rem}
.portal-scene-field textarea{min-height:8.5rem}
.portal-scene-consent{margin-top:1rem}
.portal-scene-value{max-width:62rem;margin:.9rem 0 0 4rem;color:var(--guest-ivory);font:400 1rem/1.65 var(--guest-sans);white-space:normal}
.portal-scene-card--readonly .portal-scene-phase{padding-bottom:1.4rem}
.portal-scene-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.portal-action{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.8rem 1rem;border:1px solid var(--guest-orange);color:var(--guest-orange);font:700 .76rem/1.2 var(--guest-sans);letter-spacing:.02em;text-transform:uppercase;text-decoration:none}
.portal-action--primary{background:var(--guest-orange);color:var(--guest-black)}
.portal-action:focus-visible{outline:2px solid var(--guest-ivory);outline-offset:3px}
@media (max-width:760px){
  .portal-scene-index{grid-template-columns:1fr;gap:.45rem}
  .portal-scene-phase__head{grid-template-columns:2.2rem minmax(0,1fr);gap:.7rem}
  .portal-scene-field,.portal-scene-value{margin-left:0}
  .portal-scene-phase{padding:1.4rem 0 1.6rem}
}

/* 1.4.5 · Contrato documental compacto y flujo por secciones. */
@media (max-width:47.99rem){
  .contract-document{margin-inline:-.45rem;padding:1.25rem;box-shadow:none}
  .contract-document__logo{margin-bottom:1.7rem}
  .contract-document__logo-image{max-width:6rem;max-height:3.2rem}
  .portal-shell .portal-card .contract-document h1{font-size:clamp(1.45rem,7vw,1.9rem)}
  .portal-shell .portal-card .contract-document h2{margin-top:1.8rem}
  .portal-shell .portal-card .contract-document p{font-size:.96rem;line-height:1.62}
  .contract-acceptance{padding:1.15rem}
}

/* Fase 3 · legibilidad móvil y recorrido reducido. */
@media (max-width:760px){
  .scene-step-nav{display:none!important}
  .scene-stepper__meta{font-size:.88rem;line-height:1.45;letter-spacing:.04em}
  .scene-step-intro{font-size:1rem;line-height:1.65}
  .scene-field>span,.scene-field>span>span{font-size:1.05rem;line-height:1.45}
  .scene-field>small{font-size:.95rem;line-height:1.65;margin-top:.45rem}
  .scene-field textarea{font-size:1rem;line-height:1.65;min-height:12rem}
  .scene-nav-button,.scene-save-button{font-size:.9rem;min-height:44px}
  .scene-next-button,.scene-submit-button{min-height:44px}
  .direct-invite-copy>p:not(.eyebrow),.direct-invite-formbox>p{font-size:1rem;line-height:1.7}
  .direct-invite-sequence span{font-size:.8rem}.direct-invite-sequence strong{font-size:.95rem}.direct-invite-sequence small{font-size:.94rem;line-height:1.6}
  .direct-invite-phase-index{display:none}
  .direct-invite-phase__number{font-size:.82rem}
  .direct-invite-phase__head h3{font-size:1.28rem;line-height:1.35}
  .direct-invite-phase__head p{font-size:1rem;line-height:1.65}
  .direct-invite-consent{font-size:.95rem;line-height:1.6}
  .direct-invite-submit{min-height:44px}
  .portal-shell .field>span{font-size:1rem;line-height:1.45}
  .portal-shell .field>small{font-size:.94rem;line-height:1.6}
  .portal-shell .field input,.portal-shell .field textarea,.portal-shell .field select{font-size:1rem;line-height:1.55}
  .portal-scene-phase__head h3{font-size:1.2rem;line-height:1.35}
  .portal-scene-phase__head p{font-size:.96rem;line-height:1.65}
  .portal-scene-field textarea{font-size:1rem;line-height:1.65;min-height:11rem}
}

/* Los copys editables pueden contener saltos de línea intencionados. */
.tte-copy-preserve,.direct-invite-phase__head h3,.direct-invite-phase__head p,.scene-step-intro,.scene-field small,.portal-scene-phase__head h3,.portal-scene-phase__head p{white-space:pre-line}


/* 1.6.5 · un único lenguaje para las dos vías de entrada. */
.scene-portal--unified .scene-intro{display:block;margin-bottom:1.2rem}
.scene-form--unified{display:grid;gap:1.2rem}
.scene-adult-card{min-height:0!important}
.scene-adult-confirm{margin:0!important;padding:1rem 0!important;border-top:0!important}
.scene-adult-confirm strong{font:650 .9rem/1.35 var(--guest-sans);color:var(--guest-ivory)}
.scene-adult-confirm small{display:inline-block;margin-top:.3rem;font:400 .76rem/1.55 var(--guest-mono);color:var(--guest-ivory-muted)}
.scene-unified-card{min-height:0!important}
.scene-unified-card>h2{margin-bottom:1.2rem}
.scene-unified-card .scene-field{padding:1.5rem 0;margin:0;border-top:1px solid var(--guest-line)}
.scene-unified-card .scene-field>span{display:block;font:600 1rem/1.4 var(--guest-sans)}
.scene-unified-card .scene-field>small{display:block;max-width:62rem;margin:.5rem 0 1rem;font:400 .88rem/1.65 var(--guest-mono);color:var(--guest-ivory-muted)}
.scene-unified-card .scene-field textarea{min-height:9rem}
.scene-step-actions--unified{justify-content:space-between}
.scene-step-actions--unified .scene-submit-button{margin-left:auto}
.direct-invite-adult{margin:0 0 1.5rem!important;padding:1rem 0!important;border-top:1px solid var(--guest-line);border-bottom:1px solid var(--guest-line)}
.direct-invite-adult strong{font-size:1rem}.direct-invite-adult small{font:400 .82rem/1.55 var(--guest-mono);color:var(--guest-ivory-muted)}
@media (max-width:760px){
  .scene-unified-card .scene-field>span{font-size:1.05rem}
  .scene-unified-card .scene-field>small{font-size:.98rem;line-height:1.65}
  .scene-unified-card .scene-field textarea{font-size:1rem;line-height:1.65;min-height:11rem}
  .scene-step-actions--unified{display:grid;grid-template-columns:1fr;gap:.75rem}
  .scene-step-actions--unified .scene-save-button,.scene-step-actions--unified .scene-submit-button{width:100%;margin:0;min-height:48px}
  .scene-adult-confirm strong,.direct-invite-adult strong{font-size:1rem}
  .scene-adult-confirm small,.direct-invite-adult small{font-size:.95rem;line-height:1.6}
}

.guest-scene-sequence--shared li{grid-template-columns:3rem 1fr}
.guest-scene-sequence--shared strong{font-family:var(--guest-sans);font-size:.78rem;line-height:1.45}
.direct-invite-sequence--shared li{grid-template-columns:2.5rem 1fr}
.direct-invite-sequence--shared strong{font-size:.78rem;line-height:1.45}
@media (max-width:760px){.guest-scene-sequence--shared li,.direct-invite-sequence--shared li{grid-template-columns:2.4rem 1fr}}

/* Guardado automático de borradores */
.plbac-autosave-status {
  margin: 14px 0 10px;
  font-size: .9rem;
  line-height: 1.45;
  opacity: .72;
}
.plbac-autosave-status[data-state="saving"],
.plbac-autosave-status[data-state="pending"] {
  opacity: .9;
}
.plbac-autosave-status[data-state="error"] {
  opacity: 1;
  font-weight: 600;
}

/* 1.7.26 · Lectura contextual del acuerdo desde la autorización esencial. */
.consent-agreement-link{
  display:inline;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  font:inherit;
  line-height:inherit;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
  cursor:pointer;
}
.consent-agreement-link:hover,.consent-agreement-link:focus-visible{color:var(--guest-orange)}
.consent-agreement-link:focus-visible{outline:1px solid var(--guest-orange);outline-offset:3px}
html.agreement-modal-open,body.agreement-modal-open{overflow:hidden}
.agreement-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:clamp(.75rem,2vw,1.5rem)}
.agreement-modal[hidden]{display:none!important}
.agreement-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(4px)}
.agreement-modal__dialog{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(72rem,100%);max-height:min(92svh,64rem);border:1px solid var(--guest-line);background:var(--guest-black-soft);color:var(--guest-ivory);box-shadow:0 2rem 6rem rgba(0,0,0,.55);outline:none}
.agreement-modal__header{position:relative;padding:1.25rem clamp(1.25rem,3vw,2.4rem);border-bottom:1px solid var(--guest-line)}
.agreement-modal__header .eyebrow{margin:0 0 .45rem}
.agreement-modal__header h2{max-width:calc(100% - 4rem);margin:0;color:var(--guest-ivory);font:400 clamp(1.7rem,3vw,2.6rem)/1 var(--guest-serif);letter-spacing:-.02em;text-decoration:none!important}
.agreement-modal__close{position:absolute;top:1.15rem;right:1.15rem;display:grid;place-items:center;width:2.6rem;height:2.6rem;padding:0;border:1px solid var(--guest-line);border-radius:0;background:transparent;color:var(--guest-ivory);font:400 1.5rem/1 var(--guest-sans);cursor:pointer}
.agreement-modal__close:hover,.agreement-modal__close:focus-visible{border-color:var(--guest-orange);color:var(--guest-orange)}
.agreement-modal__body{min-height:0;overflow:auto;padding:clamp(.75rem,2vw,1.5rem)}
.agreement-modal__body .contract-document{margin:0 auto;box-shadow:none}
.agreement-modal__body .contract-document__header{margin:0 0 2.2rem;padding:0 0 1.45rem;border-bottom:1px solid rgba(7,7,7,.18)}
.agreement-modal__body .contract-document h1{max-width:44rem;margin:0;color:var(--guest-black);font:500 clamp(1.65rem,2.5vw,2.15rem)/1.14 var(--guest-serif);letter-spacing:-.018em;text-transform:none}
.agreement-modal__body .contract-document__subtitle{margin:.65rem 0 0;color:#5d5851;font:650 .76rem/1.45 var(--guest-sans);letter-spacing:.055em;text-transform:uppercase}
.agreement-modal__body .contract-document h2{margin:2.15rem 0 .7rem;padding:0;color:var(--guest-black)!important;font:700 1.02rem/1.35 var(--guest-sans);letter-spacing:.015em;text-decoration:none!important;text-transform:none}
.agreement-modal__body .contract-document h3{margin:1.35rem 0 .45rem;color:var(--guest-black);font:700 .98rem/1.4 var(--guest-sans)}
.agreement-modal__body .contract-document p{max-width:50rem;margin:0 0 .95rem;color:#26221f;font:400 1rem/1.68 var(--guest-sans)}
.agreement-modal__footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem clamp(1.25rem,3vw,2.4rem);border-top:1px solid var(--guest-line);background:var(--guest-black-soft)}
.agreement-modal__footer button{min-width:9rem;padding:.8rem 1rem;border:1px solid var(--guest-line);border-radius:0;background:transparent;color:var(--guest-ivory);font:700 .72rem/1.2 var(--guest-sans);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.agreement-modal__footer .agreement-modal__accept{border-color:var(--guest-orange);background:var(--guest-orange);color:var(--guest-black)}
.agreement-modal__footer button:hover,.agreement-modal__footer button:focus-visible{border-color:var(--guest-orange);outline:none}
@media (max-width:47.99rem){
  .agreement-modal{padding:0}
  .agreement-modal__dialog{width:100%;height:100svh;max-height:none;border:0}
  .agreement-modal__header{padding:1rem 4rem 1rem 1rem}
  .agreement-modal__header h2{max-width:none;font-size:clamp(1.6rem,7vw,2.2rem)}
  .agreement-modal__close{top:.75rem;right:.75rem}
  .agreement-modal__body{padding:.75rem}
  .agreement-modal__body .contract-document{margin:0;padding:1.25rem}
  .agreement-modal__footer{padding:.85rem 1rem;display:grid;grid-template-columns:1fr 1fr}
  .agreement-modal__footer button{width:100%;min-width:0;min-height:44px}
}
