.elementor-1628 .elementor-element.elementor-element-11e3c71{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS */:root {
  --sage: #d0dfd0;
  --sage-deep: #9fb79f;
  --ink: #0b0b0a;
  --paper: #fff;
  --soft: #f6f6f2;
  --stone: #66635f;
  --muted: #6e6b65;
  --line: #ddd9d0;
  --red: #bb4b43;
  --display: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, dl, dd { margin-top: 0; }
a:focus-visible { outline: 3px solid var(--red); outline-offset: 5px; }

.award-page { min-height: 100vh; }
.invitation-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
  min-height: 650px;
  border-bottom: 1px solid var(--line);
}
.hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(64px, 9vw, 126px) clamp(28px, 7vw, 110px);
}
.eyebrow, .card-label {
  margin-bottom: 22px;
  color: #435343;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.eyebrow::before {
  display: inline-block;
  width: 42px;
  height: 3px;
  margin: 0 13px 3px 0;
  background: var(--red);
  content: "";
}
h1 {
  max-width: 780px;
  margin-bottom: 30px;
  color: var(--stone);
  font-family: var(--display);
  font-size: clamp(64px, 8vw, 116px);
  font-weight: 400;
  letter-spacing: -.065em;
  line-height: .88;
}
h1 span { display: block; color: var(--ink); font-style: italic; }
.lede {
  max-width: 650px;
  margin-bottom: 34px;
  color: #46443f;
  font-family: var(--display);
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.35;
}
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 22px;
  padding: 0 24px;
  border: 1px solid var(--ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: transform 180ms ease, background 180ms ease;
}
.button:hover { transform: translateY(-2px); background: var(--red); color: white; }
.button-primary { background: white; color: white; }
.text-link {
  padding-bottom: 4px;
  border-bottom: 1px solid var(--ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.selection-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: clamp(36px, 6vw, 82px);
  background: var(--sage);
}
.selection-card::after {
  position: absolute;
  right: -110px;
  bottom: -130px;
  width: 380px;
  height: 380px;
  border: 1px solid rgba(11,11,10,.17);
  border-radius: 50%;
  content: "";
}
.selection-number {
  color: rgba(11,11,10,.13);
  font-family: var(--display);
  font-size: clamp(150px, 19vw, 280px);
  letter-spacing: -.09em;
  line-height: .68;
}
.selection-card > div:last-child { position: relative; z-index: 1; }
.selection-card h2 {
  margin-bottom: 32px;
  color: var(--stone);
  font-family: var(--display);
  font-size: clamp(44px, 5vw, 70px);
  font-weight: 400;
  letter-spacing: -.05em;
  line-height: 1;
}
.selection-card dl { margin-bottom: 0; border-top: 1px solid rgba(11,11,10,.25); }
.selection-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(11,11,10,.18);
}
.selection-card dt { color: #4f584f; font-size: 12px; text-transform: uppercase; }
.selection-card dd { margin: 0; font-size: 14px; font-weight: 700; }
.recognition-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(22px, 5vw, 74px);
  min-height: 96px;
  padding: 20px;
  background: var(--soft);
}
.recognition-strip p { margin: 0; color: var(--muted); font-size: 12px; text-transform: uppercase; }
.recognition-strip strong { margin-right: 7px; color: var(--ink); font-family: var(--display); font-size: 25px; font-weight: 400; }
.recognition-strip > span { color: var(--red); }

.editorial-section {
  width: min(calc(100% - 40px), 1240px);
  margin: 0 auto;
  padding: clamp(76px, 10vw, 138px) 0;
}
.section-intro {
  display: grid;
  grid-template-columns: minmax(180px, .45fr) minmax(360px, 1fr);
  gap: clamp(30px, 8vw, 110px);
  align-items: start;
  margin-bottom: clamp(54px, 8vw, 90px);
}
.section-intro .eyebrow { margin-top: 15px; }
.section-intro h2,
.timeline-heading h2,
.accept-copy h2,
.share-section h2,
.confirmation-cta h2 {
  margin-bottom: 0;
  color: var(--stone);
  font-family: var(--display);
  font-size: clamp(48px, 6vw, 82px);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .98;
}
.benefit-list { border-top: 1px solid var(--line); }
.benefit-row {
  display: grid;
  grid-template-columns: 90px minmax(260px, .7fr) minmax(320px, 1fr);
  gap: 30px;
  align-items: baseline;
  padding: 29px 0;
  border-bottom: 1px solid var(--line);
}
.benefit-row > span {
  color: var(--red);
  font-family: var(--display);
  font-size: 22px;
}
.benefit-row h3 {
  margin-bottom: 0;
  font-family: var(--display);
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 400;
}
.benefit-row p { max-width: 580px; margin-bottom: 0; color: var(--muted); }

.timeline-section {
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(420px, 1.22fr);
  gap: clamp(60px, 10vw, 150px);
  padding: clamp(76px, 10vw, 132px) max(20px, calc((100vw - 1240px) / 2));
  background: var(--ink);
  color: white;
}
.eyebrow-light { color: var(--sage); }
.timeline-heading h2 { margin-bottom: 28px; color: white; }
.timeline-heading > p:last-child { max-width: 500px; color: #bdbab2; }
.timeline-list { margin: 0; padding: 0; list-style: none; }
.timeline-list li {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 20px;
  padding: 28px 0;
  border-top: 1px solid rgba(255,255,255,.22);
}
.timeline-list li:last-child { border-bottom: 1px solid rgba(255,255,255,.22); }
.timeline-list > li > span {
  color: var(--sage);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.timeline-list h3 { margin-bottom: 7px; font-family: var(--display); font-size: 27px; font-weight: 400; }
.timeline-list p { margin-bottom: 0; color: #aaa79f; }

.accept-section {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(360px, .72fr);
  gap: clamp(50px, 10vw, 145px);
  padding: clamp(76px, 10vw, 136px) max(20px, calc((100vw - 1240px) / 2));
  background: var(--soft);
}
.accept-copy h2 { max-width: 720px; margin-bottom: 28px; }
.accept-copy > p:not(.eyebrow) {
  max-width: 600px;
  color: var(--muted);
  font-family: var(--display);
  font-size: 22px;
}
details { max-width: 600px; margin-top: 38px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
summary { padding: 18px 0; cursor: pointer; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
details p { padding-bottom: 18px; color: var(--muted); }
.accept-card {
  align-self: start;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid var(--line);
  background: white;
  box-shadow: 18px 18px 0 var(--sage);
}
.fee-row { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; border-top: 1px solid var(--line); }
.fee-row span { color: var(--muted); }
.fee-row strong { font-family: var(--display); font-size: 24px; font-weight: 400; }
.fine-print { margin: 22px 0; color: var(--muted); font-size: 12px; }
.button-full { width: 100%; }
.secure-note { margin: 16px 0 0; color: var(--muted); font-size: 10px; letter-spacing: .05em; text-align: center; text-transform: uppercase; }

/* Placement confirmed */
.confirmation-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(380px, .88fr);
  min-height: 720px;
  background: var(--sage);
}
.confirmation-copy {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: clamp(70px, 9vw, 130px) clamp(28px, 7vw, 110px);
}
.confirmation-copy h1 { position: relative; z-index: 1; max-width: 850px; }
.confirmation-copy .lede { position: relative; z-index: 1; margin-bottom: 0; }
.confirmation-mark {
  position: absolute;
  top: 7%;
  right: 6%;
  width: clamp(140px, 16vw, 240px);
  aspect-ratio: 1;
  border: 1px solid rgba(11,11,10,.25);
  border-radius: 50%;
}
.confirmation-mark span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-family: var(--display);
  font-size: clamp(56px, 7vw, 100px);
  font-weight: 400;
}
.confirmation-mark i {
  position: absolute;
  inset: 11px;
  border: 1px dashed rgba(11,11,10,.3);
  border-radius: 50%;
}
.receipt-card { align-self: center; margin: 50px clamp(24px, 5vw, 82px); padding: clamp(32px, 5vw, 56px); background: white; box-shadow: 16px 16px 0 rgba(11,11,10,.12); }
.status-row { display: flex; align-items: center; gap: 12px; margin-bottom: 32px; font-family: var(--display); font-size: 38px; }
.status-dot { width: 12px; height: 12px; border-radius: 50%; background: #6c936c; box-shadow: 0 0 0 5px #e6efe6; }
.receipt-card dl { margin-bottom: 24px; border-top: 1px solid var(--line); }
.receipt-card dl div { display: grid; grid-template-columns: .75fr 1.25fr; gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.receipt-card dt { color: var(--muted); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.receipt-card dd { margin: 0; font-size: 13px; font-weight: 700; text-align: right; }
.receipt-note { margin-bottom: 0; color: var(--muted); font-size: 12px; }
.confirmed-banner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 104px;
  padding: 20px max(20px, calc((100vw - 1240px) / 2));
  background: var(--ink);
  color: white;
}
.confirmed-banner p, .confirmed-banner span { margin: 0; color: #aaa79f; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.confirmed-banner strong { color: var(--sage); font-family: var(--display); font-size: 35px; font-weight: 400; letter-spacing: .04em; }
.confirmed-banner span { justify-self: end; }
.section-lede { grid-column: 2; max-width: 620px; margin: 22px 0 0; color: var(--muted); font-family: var(--display); font-size: 20px; }
.next-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0; padding: 1px; background: var(--line); list-style: none; }
.next-list li { min-height: 320px; padding: 30px; background: white; }
.step-number { display: block; margin-bottom: 60px; color: var(--red); font-family: var(--display); font-size: 28px; }
.step-label { margin-bottom: 13px; color: #667966; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.next-list h3 { margin-bottom: 15px; font-family: var(--display); font-size: 28px; font-weight: 400; line-height: 1.1; }
.next-list li > p:last-child { margin-bottom: 0; color: var(--muted); font-size: 14px; }
.share-section {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(360px, 1fr);
  gap: clamp(50px, 9vw, 130px);
  padding: clamp(80px, 10vw, 140px) max(20px, calc((100vw - 1240px) / 2));
  background: var(--ink);
  color: white;
}
.share-section h2 { color: white; }
.kit-items { border-top: 1px solid rgba(255,255,255,.25); }
.kit-items p { margin: 0; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.25); font-family: var(--display); font-size: clamp(23px, 2.5vw, 34px); }
.kit-items span { display: inline-block; width: 50px; color: var(--sage); font-family: var(--sans); font-size: 10px; }
.share-note { grid-column: 2; margin: -30px 0 0; color: #aaa79f; font-size: 13px; }
.confirmation-cta { padding: clamp(90px, 12vw, 160px) 20px; text-align: center; }
.confirmation-cta h2 { max-width: 850px; margin: 0 auto 25px; }
.confirmation-cta > p:not(.eyebrow) { margin-bottom: 28px; color: var(--muted); font-family: var(--display); font-size: 20px; }

@media (max-width: 820px) {
  .invitation-hero { grid-template-columns: 1fr; }
  .selection-card { min-height: 520px; }
  .benefit-row { grid-template-columns: 55px 1fr; }
  .benefit-row p { grid-column: 2; }
  .timeline-section,
  .accept-section,
  .confirmation-hero,
  .share-section { grid-template-columns: 1fr; }
  .receipt-card { margin: 36px 20px 60px; }
  .confirmation-mark { top: 4%; right: -4%; opacity: .55; }
  .share-note { grid-column: 1; margin-top: 0; }
}
@media (max-width: 560px) {
  .hero-copy { padding: 64px 20px; }
  h1 { font-size: clamp(56px, 20vw, 84px); }
  .recognition-strip { align-items: flex-start; flex-direction: column; gap: 8px; }
  .recognition-strip > span { display: none; }
  .section-intro { grid-template-columns: 1fr; gap: 10px; }
  .section-intro .eyebrow { margin-top: 0; }
  .section-intro h2 { font-size: 50px; }
  .benefit-row { grid-template-columns: 42px 1fr; gap: 12px; }
  .timeline-list li { grid-template-columns: 64px 1fr; }
  .accept-card { box-shadow: 9px 9px 0 var(--sage); }
  .confirmation-copy { padding: 80px 20px; }
  .receipt-card dl div { grid-template-columns: 1fr; gap: 4px; }
  .receipt-card dd { text-align: left; }
  .confirmed-banner { grid-template-columns: 1fr; gap: 8px; text-align: center; }
  .confirmed-banner span { justify-self: center; }
  .section-lede { grid-column: 1; }
  .next-list { grid-template-columns: 1fr; }
  .next-list li { min-height: auto; }
  .step-number { margin-bottom: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button { transition: none; }
}/* End custom CSS */