/* v2.0.5 — New Icon typography system
   Font binaries are intentionally not bundled. If licensed webfont files are
   available, place them in assets/fonts using one of the filenames below.
   The local() sources also allow already-installed desktop fonts to render. */
@font-face{
  font-family:"New Icon";
  src:local("New Icon"),local("New Icon Regular"),
      url("fonts/NewIcon-Regular.woff2") format("woff2"),
      url("fonts/new-icon-regular.woff2") format("woff2"),
      url("fonts/NewIcon-Regular.otf") format("opentype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"New Icon";
  src:local("New Icon Italic"),
      url("fonts/NewIcon-Italic.woff2") format("woff2"),
      url("fonts/new-icon-italic.woff2") format("woff2"),
      url("fonts/NewIcon-Italic.otf") format("opentype");
  font-style:italic;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"New Icon Script";
  src:local("New Icon Script"),
      url("fonts/NewIcon-Script.woff2") format("woff2"),
      url("fonts/new-icon-script.woff2") format("woff2"),
      url("fonts/NewIcon-Script.otf") format("opentype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"Citadel Script";
  src:local("Citadel Script"),local("Citadel Script Pro"),local("Citadel Script Pro Regular"),
      url("fonts/Citadel-Script.woff2") format("woff2"),
      url("fonts/citadel-script.woff2") format("woff2"),
      url("fonts/Citadel-Script.otf") format("opentype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

:root{
  --font-new-icon:"New Icon","Cormorant Garamond",Georgia,serif;
  --font-new-icon-script:"New Icon Script","Citadel Script","Pinyon Script",cursive;
  --font-citadel:"Citadel Script","New Icon Script","Pinyon Script",cursive;
}

/* One coherent family system across the whole invitation. */
body.typography-v2,
body.typography-v2.font-oldmoney,
body.typography-v2.font-editorial,
body.typography-v2.font-classic,
body.typography-v2.font-romantic{
  --v2-serif:var(--font-new-icon);
  --v2-script:var(--font-new-icon-script);
  --serif:var(--font-new-icon);
  --display:var(--font-new-icon);
  --sans:var(--font-new-icon);
  --script:var(--font-new-icon-script);
  font-family:var(--font-new-icon);
  font-kerning:normal;
  font-optical-sizing:auto;
  letter-spacing:.002em;
}

body.typography-v2 button,
body.typography-v2 input,
body.typography-v2 select,
body.typography-v2 textarea,
body.typography-v2 .eyebrow,
body.typography-v2 .v2-overline,
body.typography-v2 .hero-date,
body.typography-v2 .hero-place,
body.typography-v2 .family-date-line,
body.typography-v2 .family-venue-line,
body.typography-v2 .family-invitee-note,
body.typography-v2 .event-card h3,
body.typography-v2 .event-card small,
body.typography-v2 .children-note,
body.typography-v2 .venue-address,
body.typography-v2 .booking-coming,
body.typography-v2 .rsvp-heading>p,
body.typography-v2 .faq-list,
body.typography-v2 .footer-top{
  font-family:var(--font-new-icon)!important;
}

/* Use one single cursive for every real script word/heading.
   Citadel is reserved for tiny ornamental ampersands only so cursive copy never mixes. */
body.typography-v2 .script-heading,
body.typography-v2 .signature-script,
body.typography-v2 .fine-script,
body.typography-v2 .entry-guest,
body.typography-v2 .entry-couple,
body.typography-v2 .mixed-title,
body.typography-v2 .event-script,
body.typography-v2 .editorial-letter-title,
body.typography-v2 .letter-story-section-heading h2,
body.typography-v2 .letter-story-drawer h2,
body.typography-v2 .welcome-copy h2,
body.typography-v2 .perfect-day-inner h2,
body.typography-v2 .rsvp-heading h2,
body.typography-v2 .faq-heading h2,
body.typography-v2 .rsvp-signoff strong,
body.typography-v2 .v2-hero-heading h1,
body.typography-v2 .v2-countdown h2,
body.typography-v2 .v2-venue-copy h3,
body.typography-v2 .v2-stay-card h2{
  font-family:var(--font-new-icon-script)!important;
  font-style:normal!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* Romantic title sizing, following the visual rhythm of Version 2. */
body.typography-v2 .mixed-title,
body.typography-v2 .letter-story-section-heading h2,
body.typography-v2 .perfect-day-inner h2,
body.typography-v2 .rsvp-heading h2,
body.typography-v2 .faq-heading h2{
  line-height:.95;
  text-wrap:balance;
}
body.typography-v2 .letter-story-section-heading h2{font-size:clamp(3.15rem,7vw,5.5rem)}
body.typography-v2 .mixed-title{font-size:clamp(3.5rem,7.5vw,6.2rem)}
body.typography-v2 .perfect-day-inner h2{font-size:clamp(3.5rem,7vw,6rem)}
body.typography-v2 .rsvp-heading h2{font-size:clamp(3.9rem,8vw,6.5rem)}
body.typography-v2 .faq-heading h2{font-size:clamp(3.5rem,7vw,5.8rem)}

/* Guest names now use the same cursive as every other scripted title. */
body.typography-v2 .entry-guest{
  line-height:.92!important;
  letter-spacing:0!important;
}
body.typography-v2 .entry-guest>span{font-family:inherit}

/* Decorative ampersands may use Citadel without creating a second cursive voice for words. */
body.typography-v2 .entry-guest.is-double i,
body.typography-v2 .family-couple-names i,
body.typography-v2 .arabic-name-separator,
body.typography-v2 .couple-ampersand{
  font-family:var(--font-citadel)!important;
  font-style:normal!important;
  font-weight:400!important;
}

/* Formal invitation: New Icon regular for names/body; script only where it is intentionally romantic. */
body.typography-v2 .formal-parent-block strong,
body.typography-v2 .family-couple-names,
body.typography-v2 .formal-request-copy,
body.typography-v2 .blessing-translation,
body.typography-v2 .v2-venue h2,
body.typography-v2 .venue-modal-inner h2,
body.typography-v2 .rsvp-success h3{
  font-family:var(--font-new-icon)!important;
}

/* Preserve Arabic in a legible Arabic-capable fallback instead of forcing Latin display fonts. */
body.typography-v2 [dir="rtl"],
body.typography-v2 [lang="ar"]{
  font-family:Georgia,"Times New Roman",serif!important;
}

@media(max-width:759px){
  body.typography-v2 .letter-story-section-heading h2{font-size:clamp(2.8rem,14vw,4.4rem)}
  body.typography-v2 .mixed-title{font-size:clamp(3.1rem,15vw,4.8rem)}
  body.typography-v2 .perfect-day-inner h2{font-size:clamp(3rem,14vw,4.6rem)}
  body.typography-v2 .rsvp-heading h2{font-size:clamp(3.4rem,16vw,5rem)}
  body.typography-v2 .faq-heading h2{font-size:clamp(3.1rem,14vw,4.7rem)}
}
