@font-face { font-family: 'Circular'; src: url('/fonts/CircularStd-Bold.otf') format('opentype'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Manrope'; src: url('/fonts/Manrope-Medium.ttf') format('truetype'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Manrope'; src: url('/fonts/Manrope-Bold.ttf') format('truetype'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Romie'; src: url('/fonts/RomieTrial-Regular.otf') format('opentype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Romie Trial'; src: url('/fonts/RomieTrial-Regular.otf') format('opentype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Crimson'; src: url('/fonts/CrimsonText-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Crimson'; src: url('/fonts/CrimsonText-Bold.ttf') format('truetype'); font-weight: 700; font-display: swap; }

:root { --peach: #fba277; --cream: #f8eee4; --green: #e1f1c6; --blue: #d4ebf8; --coral: #c97859; --ink: #4f4a49; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; min-height: 100%; background: var(--cream); }
img { display: block; }
.desktop-deck { padding: clamp(24px, 3vw, 56px) 0; }
.keynote-frame { position: relative; width: min(88vw, 1680px); margin: 0 auto clamp(18px, 2vw, 36px); aspect-ratio: 16 / 9; overflow: hidden; }
.keynote-frame:last-child { margin-bottom: 0; }
.keynote-frame > img { width: 100%; height: 100%; object-fit: cover; }
.home-menu { display: flex; align-items: center; gap: clamp(22px, 2.2vw, 44px); font: 700 clamp(14px, 1.2vw, 21px)/1 'Manrope', sans-serif; }
.home-menu a { color: #2f2d2c; text-decoration: none; padding: 8px 0 6px; border-bottom: 1px solid transparent; transition: border-color 180ms ease; }
.home-menu a:hover, .home-menu a:focus-visible { border-color: currentColor; outline: none; }
.language-switch { display: inline-flex; align-items: center; gap: .42em; margin-left: .35em; font-size: .72em; letter-spacing: .08em; }
.language-switch a, .language-switch span { padding: 8px 0 6px; }
.language-switch .is-active { border-bottom: 1px solid currentColor; }
.language-switch .is-disabled { opacity: .38; cursor: default; }
.desktop-menu { position: absolute; z-index: 2; top: 4.2%; right: 4.2%; }
#madre-desktop::before, #mare-desktop::before, .story-desktop::before { content: ''; position: absolute; z-index: 1; inset: 0 35.2% 0 0; background: var(--cream); }
.desktop-story-title { position: absolute; z-index: 2; left: 4.6%; top: 10%; display: flex; flex-direction: column; justify-content: center; gap: 0; width: 56%; height: 25%; margin: 0; background: transparent; color: var(--coral); font: 400 clamp(42px, 5.2vw, 92px)/.88 'Romie Trial', serif; letter-spacing: 0; }
.desktop-story-title span { display: block; white-space: nowrap; }
.desktop-story-art { position: absolute; z-index: 1; left: 64.8%; top: 0; width: 35.2% !important; height: 100% !important; object-fit: cover !important; object-position: left center; box-shadow: -2vw 0 0 var(--cream); }
.desktop-story-copy { position: absolute; z-index: 2; left: 0; top: 35%; width: 64.8%; height: 65%; padding: 2.2% 6% 3% 4.6%; background: transparent; color: var(--coral); font: 400 clamp(13px, 1.35vw, 25px)/1.28 'Crimson', serif; }
.desktop-story-copy p { margin: 0 0 .78em; }
.desktop-story-copy strong { font-weight: 700; }
.desktop-email { position: absolute; left: 52%; top: 62%; width: 28%; height: 12%; }
.desktop-why-ca { background: var(--green); color: var(--coral); }
.desktop-why-ca h2 { position: absolute; left: 5.5%; top: 10%; width: 36%; margin: 0; font: 400 clamp(44px, 5.8vw, 104px)/.9 'Romie Trial', serif; }
.desktop-why-ca h2 span { display: block; }
.desktop-why-ca .desktop-ca-copy { position: absolute; left: 5.5%; top: 41%; width: 35%; font: 400 clamp(13px, 1.25vw, 23px)/1.32 'Crimson', serif; }
.desktop-ca-copy p { margin: 0 0 1.05em; }
.desktop-ca-uteros { position: absolute; left: 45%; top: 19%; width: 48%; display: grid; grid-template-columns: repeat(4, 1fr); gap: 4% 2%; }
.desktop-ca-uteros img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.desktop-ca-uteros img:nth-child(5) { grid-column: 1 / 2; }
.desktop-ca-symbol { position: absolute; right: 5%; bottom: 6%; width: 8% !important; height: auto !important; object-fit: contain !important; }
.en-page .desktop-why-ca h2 { font-size: clamp(40px, 4.65vw, 84px); }
.en-page .desktop-why-ca .desktop-ca-copy { top: 44%; }
.desktop-founder-ca { background: var(--blue); color: var(--coral); }
.desktop-founder-ca .desktop-founder-panel { position: absolute; inset: 0 35.2% 0 0; padding: 8% 5.5% 4%; }
.desktop-founder-ca h2 { margin: 0 0 8%; font: 400 clamp(43px, 5.1vw, 92px)/.91 'Romie Trial', serif; }
.desktop-founder-ca h2 span { display: block; }
.desktop-founder-ca .desktop-founder-label { margin: 0 0 4%; font: 500 clamp(12px, 1.1vw, 20px)/1 'Manrope', sans-serif; letter-spacing: .2em; }
.desktop-founder-ca .desktop-ca-copy { width: 62%; font: 400 clamp(13px, 1.28vw, 23px)/1.34 'Crimson', serif; }
.desktop-founder-ca > img { position: absolute; right: 0; top: 0; width: 35.2%; height: 100%; object-fit: cover; }
.desktop-contact-ca .ca-contact-claim { position: absolute; z-index: 2; left: 52%; bottom: 2%; width: 42%; min-height: 19%; padding: 2% 0; background: var(--cream); color: var(--ink); font: 500 clamp(16px, 2.05vw, 37px)/1.25 'Manrope', sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.mobile-deck { display: none; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Desktop translations follow the Spanish Keynote slides as their layout master. */
@media (min-width: 801px) {
  #mare-desktop .desktop-story-title,
  .story-desktop .desktop-story-title { line-height: .96; }

  .desktop-why-ca h2 { left: 5.2%; top: 10.5%; line-height: .96; }
  .desktop-why-ca .desktop-ca-copy { left: 5.2%; top: 42%; }
  .desktop-ca-uteros img { transform: scale(1.72); transform-origin: center; }
  .en-page .desktop-why-ca h2 { line-height: .98; }
  .en-page .desktop-why-ca .desktop-ca-copy { top: 44%; }

  .desktop-founder-ca .desktop-founder-panel { inset: 0 35.2% 0 0; padding: 0; }
  .desktop-founder-ca h2 { position: absolute; left: 7.1%; top: 10.5%; width: 86%; margin: 0; line-height: .99; }
  .desktop-founder-ca .desktop-founder-label { position: absolute; left: 7.1%; top: 48.5%; margin: 0; }
  .desktop-founder-ca .desktop-ca-copy { position: absolute; left: 7.1%; top: 55%; width: 58%; }
}

@media (max-width: 800px) {
  .desktop-deck { display: none; }
  .mobile-deck { display: block; width: 100%; margin: 0; color: var(--coral); }
  .mobile-poster { background: var(--cream); }
  .mobile-poster { position: relative; }
  .mobile-poster img { display: block; width: 100%; height: auto; }
  .mobile-language-switch { position: absolute; z-index: 2; top: 18px; right: 18px; color: #2f2d2c; font: 700 12px/1 'Manrope', sans-serif; }
  .mobile-story { background: var(--cream); padding: 56px 24px 0; }
  .mobile-story h2, .mobile-why h2, .mobile-founder h2 { margin: 0; font: 400 clamp(46px, 13vw, 62px)/.92 'Romie', serif; letter-spacing: -.025em; }
  .mobile-story h2 { display: flex; flex-direction: column; gap: 0; width: calc(100% + 16px); margin-left: -8px; font-family: 'Romie Trial', serif; font-size: clamp(42px, 10.8vw, 54px); line-height: .9; letter-spacing: 0; }
  .mobile-story h2 span { display: block; white-space: nowrap; }
  .en-page .mobile-story h2 { font-size: clamp(35px, 9.4vw, 47px); }
  .mobile-story-copy, .mobile-why-copy, .mobile-founder-copy { font: 400 16px/1.42 'Crimson', serif; }
  .mobile-story-copy { margin: 26px 0 45px; }
  .mobile-story-copy p, .mobile-why-copy p, .mobile-founder-copy p { margin: 0 0 1.05em; }
  .mobile-art { width: calc(100% + 48px); max-width: none; margin-left: -24px; }
  .mobile-why { position: relative; overflow: hidden; background: var(--green); padding: 62px 24px 20px; }
  .mobile-why-copy { margin: 42px 0 35px; }
  .mobile-why h2 span { display: block; }
  .mobile-why h2 span + span { padding-left: .4em; }
  .mobile-uteros { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(8, 1fr); column-gap: 0; row-gap: 16px; }
  .mobile-uteros img { width: 100%; aspect-ratio: 1; object-fit: contain; grid-column: span 2; }
  .mobile-uteros img:nth-child(5) { grid-column: 2 / span 2; }
  .mobile-7u { display: block; width: 80px; margin: 44px auto 0; }
  .mobile-founder { background: var(--blue); }
  .mobile-founder-copy { padding: 58px 24px 44px; }
  .mobile-founder h2 { margin-bottom: 42px; }
  .mobile-founder h2 { font-size: clamp(33px, 8.7vw, 46px); }
  .mobile-founder h2 span { display: block; white-space: nowrap; }
  .mobile-label { font-family: 'Manrope', sans-serif; font-size: 12px; letter-spacing: .18em; }
  .mobile-founder > img { width: 100%; height: auto; filter: none; }
  .mobile-contact { position: relative; background: var(--cream); }
  .mobile-contact img { width: 100%; height: auto; }
  .mobile-contact .ca-contact-claim { position: absolute; z-index: 2; left: 52%; bottom: 2%; width: 44%; min-height: 19%; padding: 2% 0; background: var(--cream); color: var(--ink); font: 500 clamp(9px, 2.15vw, 14px)/1.25 'Manrope', sans-serif; letter-spacing: .12em; text-transform: uppercase; }
  .mobile-contact a { position: absolute; left: 52%; top: 62%; width: 28%; height: 12%; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
