/* Newsletter and footer revision. Load after typography.css/refinements.css. */
.lista--invitation {
  min-height: 0;
  isolation: isolate;
  padding: clamp(80px, 9vw, 138px) var(--gutter);
  background: radial-gradient(ellipse at 16% 36%, rgba(86, 25, 20, .13), transparent 52%), #0a0909;
  border-top: 1px solid rgba(219, 203, 184, .07);
  border-bottom: 1px solid rgba(219, 203, 184, .08);
}
.lista--invitation::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url('assets/img/grain.webp') repeat;
  background-size: 256px;
  opacity: .065;
}
.lista--invitation .lista__inner {
  max-width: 1240px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
  gap: clamp(40px, 5.4vw, 78px);
  align-items: center;
  pointer-events: auto;
}
.lista--invitation .lista__intro { pointer-events: auto !important; }
.lista--invitation .lista__title {
  font-size: clamp(46px, 5.1vw, 74px);
  line-height: 1.05;
  letter-spacing: .018em;
  text-transform: uppercase;
  text-shadow: 0 2px 1px #000;
  color: #e7dfd2;
}
.lista--invitation .lista__title .rise { display: block; }
.lista--invitation .lista__title .rise:last-child { color: #b33a32; font-size: 1.22em; }
.lista__place {
  margin: 24px 0 0;
  color: #d1c3b1;
  font: 700 15px/1.4 var(--ui);
  text-transform: uppercase;
  letter-spacing: .2em;
}
.lista__place span { margin-inline: 9px; color: #91413a; }
.lista--invitation .lista__lead {
  margin: 18px 0 0;
  max-width: 43ch;
  color: #a99f94;
  font-size: 15px;
  line-height: 1.75;
}
.lista__benefits { display: grid; gap: 25px; margin: 36px 0 0; padding: 0; list-style: none; }
.lista__benefits li { display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 14px; align-items: start; }
.lista__benefit-mark { color: #b44035; font: 400 26px/1 var(--ui); }
.lista__benefits h3 { margin: 0; font: 700 13px/1.4 var(--ui); letter-spacing: .06em; text-transform: uppercase; color: #ded5c7; }
.lista__benefits p { margin: 5px 0 0; max-width: 40ch; color: #998e81; font-size: 13px; line-height: 1.55; }
.book--invitation {
  position: relative;
  min-width: 0;
  padding: clamp(26px, 3vw, 42px);
  background: linear-gradient(140deg, rgba(38, 32, 29, .75), rgba(17, 15, 14, .94)), #161311;
  border: 1px solid #494035;
  border-radius: 2px;
  box-shadow: inset 0 0 0 5px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(238, 210, 172, .08), 0 18px 48px rgba(0, 0, 0, .45);
}
.book--invitation::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(184, 161, 131, .12);
  border-radius: 1px;
  pointer-events: none;
}
.form--invitation { gap: 21px; }
.book__intro { margin-bottom: 5px; text-align: center; }
.book__title {
  margin: 0;
  font: 400 clamp(40px, 4vw, 60px)/1.02 var(--display);
  color: #e4d9c9;
  letter-spacing: .035em;
  text-transform: uppercase;
  text-shadow: 0 2px 0 #000;
}
.book__title span { display: block; }
.book__intro p { margin: 14px 0 0; color: #a99c8b; font-size: 13px; line-height: 1.6; }
.form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; }
.form--invitation .field { min-width: 0; gap: 8px; align-content: start; }
.form--invitation .field label {
  color: #cfc1ae;
  font-stretch: 100%;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .065em;
}
.form--invitation .field label > span:not(.opt) { color: #bd6b58; }
.form--invitation .field .opt { display: inline; margin: 0 0 0 4px; font-size: 10px; color: #a09384; }
.form--invitation .field input {
  height: 48px;
  padding: 0 12px;
  border: 1px solid #504438;
  background: rgba(7, 6, 5, .7);
  color: #ece2d3;
  font: 400 14px/1.3 var(--ui);
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, .65);
}
.form--invitation .field input::placeholder { color: #8e8171; opacity: 1; }
.form--invitation .field input:focus { border-color: #af5142; box-shadow: 0 0 0 2px rgba(175, 81, 66, .22); }
.form--invitation .field input[aria-invalid="true"] { border-color: #ff5a64; }
.form--invitation .check { grid-template-columns: 18px 1fr; gap: 11px; color: #a79b89; font-size: 11px; line-height: 1.65; }
.form--invitation .check input { width: 18px; height: 18px; border-color: #70604c; }
.form--invitation .check input:checked { background: #8f3028; border-color: #b85445; }
.form--invitation .privacy-link { color: #d9ccba; }
.form--invitation .btn {
  justify-content: center;
  gap: 20px;
  min-height: 58px;
  padding: 14px 20px;
  clip-path: none;
  border: 1px solid #a3543f;
  border-radius: 1px;
  background: linear-gradient(180deg, #9d3f2e, #72261f);
  box-shadow: inset 0 1px 0 rgba(248, 179, 134, .2), inset 0 0 0 4px rgba(29, 5, 2, .22), 0 3px 0 #29130e;
  color: #f0d9ba;
  font: 800 14px/1.3 var(--ui);
  text-transform: uppercase;
  letter-spacing: .12em;
  text-shadow: 0 2px 1px rgba(0, 0, 0, .65);
}
.form--invitation .btn::before { display: none; }
.form--invitation .btn:hover > span { color: #fff0d9; }
.form--invitation .btn:focus-visible { outline-offset: 5px; }
.book__button-arrow { font-size: 22px; line-height: 1; }
.form--invitation .preview-note { margin-top: -4px; color: #a99b87; font-size: 10px; line-height: 1.6; text-align: center; }
.form--invitation .field__err, .form--invitation .form__err { font-size: 12px; line-height: 1.5; }

.foot--group {
  max-width: none;
  margin: 0;
  padding: 44px var(--gutter) calc(26px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(210, 194, 171, .16);
  background: #080707;
}
.foot__main, .foot__bottom { width: 100%; max-width: 1240px; margin-inline: auto; }
.foot__main { display: grid; grid-template-columns: 1fr auto 1fr; gap: 36px; align-items: center; }
.foot__brand { display: block; width: fit-content; }
.foot--group .foot__logo { width: 184px; max-width: 100%; height: auto; }
.foot__social { display: flex; align-items: center; justify-content: center; gap: 12px; }
.foot__social a { display: grid; place-items: center; width: 42px; height: 42px; color: #c7baaa; border: 1px solid #483b31; border-radius: 50%; text-decoration: none; transition: color .2s, border-color .2s; }
.foot__links { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 26px; }
.foot__links a, .foot__links .privacy-link { color: #c7baaa; font: 600 11px/1.5 var(--ui); text-decoration: none; text-transform: uppercase; letter-spacing: .1em; }
.foot__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; padding-top: 22px; border-top: 1px solid rgba(210, 194, 171, .09); }
.foot--group .foot__copy, .foot__legal { margin: 0; color: #857a6e; font: 400 11px/1.6 var(--ui); }
@media (hover: hover) {
  .form--invitation .btn:hover { background: linear-gradient(180deg, #ad4b37, #863127); }
  .foot__social a:hover { color: #f0dfc8; border-color: #a15743; }
  .foot__links a:hover, .foot__links .privacy-link:hover { color: #f0dfc8; }
}
@media (max-width: 1023px) {
  .lista--invitation .lista__inner { grid-template-columns: minmax(0, 1fr); max-width: 660px; gap: 46px; }
  .lista--invitation .lista__title { font-size: clamp(46px, 8vw, 72px); }
  .lista--invitation .lista__lead { max-width: 50ch; }
  .lista__benefits { gap: 21px; }
}
@media (max-width: 767px) {
  .lista--invitation { padding-block: 74px 90px; }
  .lista--invitation .lista__title { font-size: clamp(40px, 8.8vw, 62px); }
  .lista__place { margin-top: 19px; font-size: 13px; }
  .lista--invitation .lista__lead { font-size: 14px; }
  .book--invitation { padding: 30px 24px; }
  .book__title { font-size: clamp(40px, 9.7vw, 58px); }
  .form__fields { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .form--invitation .field label { font-size: 11px; }
  .form--invitation .field input { height: 50px; font-size: 16px; }
  .form--invitation .check { font-size: 12px; }
  .form--invitation .preview-note { font-size: 11px; }
  .foot--group { padding-top: 38px; padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
  .foot__main { grid-template-columns: 1fr auto; gap: 28px 20px; }
  .foot--group .foot__logo { width: 154px; }
  .foot__links { grid-column: 1 / -1; justify-content: center; gap: 32px; }
  .foot__bottom { flex-direction: column; gap: 6px; margin-top: 25px; text-align: center; }
}
@media (max-width: 360px) {
  .book--invitation { padding-inline: 20px; }
  .foot__main { grid-template-columns: 1fr; justify-items: center; gap: 24px; }
  .foot__links { grid-column: auto; }
}

/* Match the user's three visual references: charcoal, crimson and numbered rows. */
.lista--invitation{background:radial-gradient(ellipse at 18% 40%,rgba(90,6,12,.18),transparent 65%),#0b0809}
.lista__kicker{margin:0 0 24px;color:#ed656d;font-size:10px;font-weight:700;letter-spacing:.16em}
.lista__place{margin:0 0 26px;font-size:18px;color:#ece5df;letter-spacing:.16em}
.lista--invitation .lista__title{font-size:clamp(54px,5.7vw,82px);line-height:1;letter-spacing:.005em;color:#eee8e2}
.lista--invitation .lista__title .rise:last-child{font-size:1.12em;color:#cf0d20}
.lista--invitation .lista__lead{color:#bdb3b0;line-height:1.8;font-size:15px;margin-top:28px}
.lista__lead strong{font-weight:700;color:#cec4bf}
.lista__benefits{gap:0;margin-top:45px;border-bottom:1px solid #3b2a2d}
.lista__benefits li{border-top:1px solid #3b2a2d;padding:21px 0;align-items:center;gap:17px}
.lista__benefit-mark{color:#df414d;font:400 17px/1 Georgia,serif}
.lista__benefits h3{font-size:15px;text-transform:none;letter-spacing:0;color:#e6ded7}
.lista__benefits p{color:#bfb2ad;font-size:13px;line-height:1.6}
.book--invitation{background:linear-gradient(130deg,rgba(40,13,18,.2),rgba(12,9,10,.82)),#0b090a;border:1px solid #35282b;box-shadow:none;border-radius:0;padding:clamp(24px,2.8vw,40px)}
.book--invitation::before{display:none}
.book__intro{text-align:left;margin-bottom:9px}
.book__kicker{display:flex;justify-content:space-between;align-items:center;margin:0 0 24px!important;text-transform:uppercase;letter-spacing:.14em;font-size:9px!important;color:#c4afac!important}
.book__kicker span{width:6px;height:6px;border-radius:50%;background:#f22239;box-shadow:0 0 13px #e3162e}
.book__title{font-size:clamp(56px,5.7vw,78px);line-height:.98;letter-spacing:.005em;color:#eee8e2}
.book__intro p{color:#bdb3b0;font-size:13px}
.form--invitation .field label{color:#bfb2ae;letter-spacing:.12em}
.form--invitation .field .opt{font-size:9px;color:#bfb2ae;letter-spacing:.08em;text-transform:uppercase}
.form--invitation .field label>span:not(.opt){color:#ec4452}
.form--invitation .field input{height:51px;background:rgba(3,3,3,.25);border-color:#4a373b;box-shadow:none;color:#eee8e2}
.form--invitation .field input::placeholder{color:#95878a;font-size:13px}
.form--invitation .field input:focus{border-color:#d82638;box-shadow:0 0 0 2px #6d122333}
.form--invitation .check{color:#c0b2ae;font-size:11px;margin-top:10px}
.form--invitation .btn{min-height:62px;background:linear-gradient(170deg,#50151d 0%,#280c11 27%,#59101d 55%,#2c0a11 77%,#741925 100%);border:1px solid #92505b;border-radius:3px;color:#f5e9de;box-shadow:inset 0 0 0 5px #08060633,inset 0 1px 0 #cda49940;font-family:Georgia,serif;letter-spacing:.06em;font-size:14px}
.form--invitation .btn::after{content:"";position:absolute;inset:12px;border-inline:1px solid #b17e7255;pointer-events:none}
.form--invitation .btn:hover{background:linear-gradient(170deg,#6b1a25,#2f0b12 40%,#7d1b2e)}
.form__required{font-size:10px;color:#a79694;margin:-10px 0 -6px}
.form--invitation .preview-note{text-align:left;font-size:10px;color:#a99a97}
.foot__social a{border-radius:0;border-color:#594448;color:#e6ded7}
.foot__tagline{text-transform:uppercase;font-size:11px;letter-spacing:.09em;text-align:right;margin:0 0 10px;color:#d7ceca}
.foot__links{gap:20px}
.foot__links a,.foot__links .privacy-link{text-transform:none;letter-spacing:.05em;color:#d7ceca}
.foot--group .foot__copy,.foot__legal{color:#b3a7a3;letter-spacing:.07em;font-size:10px}
@media(max-width:1023px){.lista--invitation .lista__title{font-size:clamp(58px,10vw,83px)}.lista__place{margin:0 0 23px}.book__title{font-size:clamp(56px,9vw,78px)}}
@media(max-width:767px){.lista--invitation .lista__title{font-size:clamp(48px,11.5vw,80px)}.lista__place{font-size:16px}.book--invitation{padding:28px 22px}.book__title{font-size:clamp(48px,12vw,64px)}.lista__benefits h3{font-size:14px}.foot__contact{grid-column:1/-1}.foot__tagline{text-align:center;margin-bottom:15px}.foot__links{justify-content:center}.form--invitation .field input{font-size:16px}}
