/* Dirección 02: papel cálido, hojas al margen y pasos al pie. */
.registration:not(.private-registration) {
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(0, 1fr);
  gap:48px 80px;
  padding:80px 0 48px;
  color:var(--ink);
}
.registration:not(.private-registration)::before {
  inset:0 -5.55556%;
  background:var(--paper);
  border:0;
}
.registration:not(.private-registration)::after {
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  right:-5.55556%;
  width:30%;
  height:280px;
  opacity:.22;
  background:url('./registration-foliage.webp') right top / contain no-repeat;
  pointer-events:none;
}
.registration:not(.private-registration) .registration-invitation {grid-column:1;max-width:100%;align-self:center;}
/* Two columns: the invitation stays in view beside the long form instead of floating mid-column. */
@media(min-width:900px) {.registration:not(.private-registration) .registration-invitation {align-self:start;position:sticky;top:104px;}}
.registration:not(.private-registration) .eyebrow {color:var(--ochre);margin:0 0 22px;font-weight:600;}
.registration:not(.private-registration) h2 {font-size:clamp(56px,5.8vw,78px);line-height:1.04;letter-spacing:-.045em;}
.registration:not(.private-registration) .registration-price {margin:0 0 12px;color:var(--ink);line-height:1;}
.registration:not(.private-registration) .registration-price span {display:block;font:400 24px/1.4 Newsreader,Georgia,serif;}
.registration:not(.private-registration) .registration-price strong {display:block;font:400 80px/1.12 Bodoni,Didot,serif;letter-spacing:-.04em;}
.registration:not(.private-registration) .registration-location {margin:0;font-size:18px;}
.registration:not(.private-registration) .registration-age {margin:6px 0 0;font-size:15px;color:#72553b;}
.registration:not(.private-registration) .registration-action {align-self:start;min-width:0;border-left:1px solid var(--line);padding-left:40px;}
.registration:not(.private-registration) .registration-action .registration-button {margin-top:26px;}
.registration:not(.private-registration) .registration-action .registration-button {
  display:flex;justify-content:center;align-items:center;gap:18px;
  width:100%;min-height:60px;padding:12px 18px;
  background:var(--ink);color:var(--paper);
  text-decoration:none;font:400 25px/1.2 Newsreader,Georgia,serif;
  border:1px solid var(--ink);
}
.registration:not(.private-registration) .registration-button svg {width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.3;flex:none;}
.registration:not(.private-registration) .registration-button[href]:hover {background:#643d26;}
.registration:not(.private-registration) .registration-button[aria-disabled=true] {cursor:default;}
.registration:not(.private-registration) .registration-action .cta-note {margin:10px 0 0;text-align:center;font-size:14px;line-height:1.4;color:#72553b;}
.registration:not(.private-registration) .registration-disclaimer {grid-column:1 / -1;margin:-16px 0 0;font-size:14px;line-height:1.5;color:#72553b;}
@media(max-width:899px) {
  .registration:not(.private-registration) {grid-template-columns:1fr;gap:28px;padding:48px 0 32px;}
  .registration:not(.private-registration)::after {width:39%;height:320px;right:-5.55556%;}
  .registration:not(.private-registration) .registration-invitation {max-width:100%;}
  .registration:not(.private-registration) h2 {font-size:clamp(46px,7.8vw,68px);}
  .registration:not(.private-registration) .registration-price {max-width:100%;margin-top:20px;}
  .registration:not(.private-registration) .registration-price strong {font-size:84px;}
  .registration:not(.private-registration) .registration-action {max-width:450px;border-left:0;padding-left:0;}
  .registration:not(.private-registration) .registration-disclaimer {border-top:0;padding:0;}
}
@media(max-width:700px) {
  .registration:not(.private-registration)::before {inset:0 -20px;}
  .registration:not(.private-registration)::after {right:-20px;width:210px;height:310px;background-size:360px auto;background-position:right -150px top;}
  .registration:not(.private-registration) .registration-invitation {max-width:100%;}
  .registration:not(.private-registration) .eyebrow {font-size:11px;letter-spacing:.1em;}
  .registration:not(.private-registration) h2 {font-size:clamp(43px,10.8vw,60px);}
  .registration:not(.private-registration) .registration-price span {font-size:23px;}
  .registration:not(.private-registration) .registration-price strong {font-size:80px;}
  .registration:not(.private-registration) .registration-location {font-size:17px;}
  .registration:not(.private-registration) .registration-action {max-width:none;}
}
@media(max-width:360px) {
  .registration:not(.private-registration)::before {left:-16px;right:-16px;}
  .registration:not(.private-registration)::after {right:-16px;width:180px;height:250px;background-size:330px auto;}
  .registration:not(.private-registration) .registration-invitation {max-width:100%;}
  .registration:not(.private-registration) h2 {font-size:42px;}
}
