/* Phone layout only. The approved desktop stylesheet remains unchanged. */
@media (max-width: 760px) {
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body { font-size: 17px; line-height: 1.65; }
  body .wrap, body .header-inner { width: calc(100% - 40px); }
  body .editorial-grid, body .section-head, body .mechanism-grid,
  body .contact-grid, body .science-pair, body .document-grid,
  body .stage-grid, body .thesis-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  body .editorial-grid > *, body .mechanism-grid > *, body .profile > * { min-width: 0; }
  body h1, body h2, body h3 { line-height: 1.14 !important; letter-spacing: -.025em !important; overflow-wrap: break-word; }
  body h1, body .investor-team h2.team-section-title { font-size: clamp(36px, 10vw, 46px) !important; }
  body.page-home .home-hero.hero-original h1 { width: 100%; max-width: 100%; overflow-wrap: normal; }
  body h2 { font-size: clamp(30px, 8.5vw, 38px) !important; }
  body h3 { font-size: clamp(25px, 7vw, 29px); }
  body .serif-subhead { font-size: 24px; line-height: 1.4; }
  body .image-side-copy { grid-column: 1; }
  body .prose p, body .intro-copy, body .intro-copy p { font-size: 17px; line-height: 1.65; }
  body .prose p + p { margin-top: 1.15em; }
  body .eyebrow { line-height: 1.6; letter-spacing: .14em; }
  body .scroll-heading .heading-word, body .profile-name-fill .heading-word {
    color: inherit !important; background: none !important; opacity: 1 !important;
  }
  body .reading-ready, body .mechanism.flow-ready > * { opacity: 1; translate: none; }
  body .mechanism.flow-ready .mechanism-process > span[aria-hidden] { clip-path: none; }
  body .interactive-button { max-width: 100%; min-height: 48px; }
  body .button-content { min-width: 0; }
  body .button-label { white-space: normal; overflow-wrap: break-word; }
  body .menu-toggle { width: auto; min-width: 44px; flex: none; }
  body .header-inner, body.page-home .header-inner { gap: 12px; min-height: 80px; }
  body .brand img, body.page-home .brand img { width: 44px !important; height: 44px !important; }
  body .brand > span, body.page-home .brand > span { font-size: 18px; letter-spacing: .12em; }
  body .brand small, body.page-home .brand small { font-size: 8px; }
  body .site-header nav { top: 100%; }
  body .site-header nav.open { display: flex; flex-direction: column; }
  body .site-header nav > a { min-height: 48px; }

  /* Reserve an actual picture area below the copy, including long phone text. */
  body .section-with-landscape:not(.technical-partners-section),
  body .opening-with-landscape, body .community-story, body .contact-intro {
    --phone-scene-height: clamp(250px, 74vw, 350px);
    min-height: 0 !important;
    padding-top: 48px;
    padding-bottom: calc(var(--phone-scene-height) + 24px) !important;
  }
  body .section-with-landscape > .reference-landscape,
  body .section-with-landscape > .region-landscape,
  body .section-with-landscape > .section-landscape,
  body .approach-overview > .approach-overview-scene,
  body .opening-with-landscape > .opportunity-scene,
  body .community-story > .community-scene,
  body .contact-intro > .contact-video-backdrop {
    position: absolute; inset: auto 0 0; width: 100%;
    height: var(--phone-scene-height); max-width: none; overflow: hidden;
  }
  body .section-with-landscape .reference-landscape .landscape-film,
  body .section-with-landscape .reference-landscape .landscape-film-poster,
  body .section-with-landscape .region-landscape .landscape-film,
  body #canadian-shield.region-detail-scenic .region-landscape .landscape-film,
  body .approach-overview .approach-overview-scene .landscape-film,
  body .contact-intro .contact-video-backdrop video {
    inset: 0; width: 100%; height: 100%; max-width: none;
    object-fit: cover; object-position: center; transform: none;
  }
  :is(body.page-team, body .page-team) .photo-page-landscape .landscape-film { object-position: 50% 48%; }
  body #canadian-shield.region-detail-scenic .region-landscape .landscape-film { object-position: 35% bottom; }
  body.page-investors main > .photo-page-intro .photo-page-landscape .landscape-film { width: 100%; left: 0; }
  body .photo-page-landscape::after, body .reference-landscape::after,
  body .approach-knowledge .section-landscape::after,
  body .region-detail-scenic .region-landscape::after,
  body #canadian-shield .region-landscape::after,
  body #nunavut .region-landscape::after,
  body .approach-overview-scene::after, body .contact-video-backdrop::after {
    background: linear-gradient(180deg, var(--paper), #f3f0e744 20%, transparent 38%, transparent 78%, var(--paper));
  }
  body #canadian-shield .region-heading::before { display: none; }
  body .region-heading, body .approach-overview-copy { width: 100%; max-width: none; padding-bottom: 0; }
  body .region-navigation { display: flex; flex-direction: column; align-items: flex-start; gap: 0; padding-block: 20px; }
  body .region-navigation a { padding-block: 12px; font-size: 15px; }

  /* Keep SVG illustrations clipped to their viewBox, with readable native labels. */
  body .metrics-with-art { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  body .metrics-with-art > div { grid-column: 1; text-align: center; }
  body .metrics-with-art .metric-art,
  body #manitoba .metrics-with-art .metric-art {
    display: block; width: min(100%, 300px); height: 140px;
    max-width: 100%; margin: 0 auto 12px; padding: 0; overflow: hidden;
  }
  body .metrics-with-art strong { font-size: 40px; line-height: 1.15; white-space: normal; }
  body .metrics-with-art span { font-size: 16px; line-height: 1.5; max-width: 28ch; margin: 8px auto 0; }
  body .metric-source { display: block; font-size: 13px; margin-top: 12px; }
  body .formation-detail-diagram { width: 100%; margin: 28px 0 0; }
  body .formation-detail-diagram svg, body .profile-portrait-transparent { overflow: hidden; }
  body .science-preview, body .mechanism-panel { min-width: 0; padding: 24px 20px; }
  body .mechanism-source { width: 100%; font-size: 16px; }
  body .mechanism-process { font-size: 16px; }
  body .science-preview h3 { min-height: 0; }
  body .stage-grid li { min-width: 0; }
  body .stage-grid h3 { min-height: 0; }
  body .stage-grid p { font-size: 17px; }

  /* Profiles and partner groups follow one reading column on phones. */
  :is(body.page-team, body .page-team) .profile-with-portrait { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-top: 32px; }
  :is(body.page-team, body .page-team) .profile-with-portrait .profile-heading { grid-column: 1; grid-row: 1; padding: 0; }
  :is(body.page-team, body .page-team) .profile-with-portrait .profile-portrait { grid-column: 1; grid-row: 2; width: 160px; max-width: 100%; justify-self: start; }
  :is(body.page-team, body .page-team) .profile-with-portrait > .prose { grid-column: 1; grid-row: 3; padding: 0 0 32px; }
  :is(body.page-team, body .page-team) .profile-with-portrait h3 { font-size: 29px; }
  body .selected-research { max-width: 100%; }
  body .technical-partners-section { display: flex; flex-direction: column; min-height: 0; padding: 48px 0 0; }
  body .technical-partners-section > .wrap { order: 1; }
  body .technical-partners-section .editorial-grid > div:first-child { padding-bottom: 0; }
  body .technical-partners-section .partner-descriptions { margin-top: 12px; }
  body .technical-partners-section .partner-description { transform: none; }
  body .technical-partners-section .partners-mine-scene { position: relative; inset: auto; order: 2; z-index: 0; height: 240px; }
  body .technical-partners-section .partners-mine-scene img {
    top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;
    mask-image: linear-gradient(180deg, transparent, #000 30%, #000 68%, transparent);
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 30%, #000 68%, transparent);
  }
  body .partner-logo { max-width: 100%; height: auto; }
  body .document { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body .document-cover { width: 100%; max-width: 380px; min-height: 360px; margin-inline: auto; }
  body .document-cover h3 { font-size: 42px; line-height: 1.08 !important; }
  body .document-description .actions { align-items: stretch; }
  body .contact-types, body .form-row { grid-template-columns: minmax(0, 1fr); }
  body .contact-form-wrap { padding: 26px 20px; }
  body .contact-bedrock { width: 100%; margin: 20px 0 0; }
  body .contact-hero-copy { width: 100%; max-width: none; }
  body input, body select, body textarea { font-size: 16px; }
  body .footer-top { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  body .footer-top nav { justify-self: stretch; gap: 8px 24px; }
  body .footer-bottom { flex-direction: column; gap: 16px; }
}

@media (max-width: 760px) {
  /* The white identity begins below the paper fade, on the dark mountain surface. */
  body .site-footer {
    --footer-fade-height: 150px;
    padding-top: calc(var(--footer-fade-height) + 24px);
  }
  body:not(.page-exploration) .site-footer::after {
    background: linear-gradient(180deg, transparent, #051b2f55 110px, #051b2fb8 150px, #031527ba);
  }
  body.page-exploration .site-footer { padding-top: 90px; }
  body .site-footer .footer-brand { color: #f3f0e7; }
  body .site-footer .footer-top p:not(.footer-line) { color: #d7e0df; }
}
