#harpia {
  --harpia-forest: #0b2117;
  --harpia-white: #f7fbf7;
  --harpia-muted: #d8e9da;
  --harpia-accent: #b1d4b6;
  --harpia-rule: #b7d4bf57;
  color: var(--harpia-white);
  background: var(--harpia-forest);
}

.harpia-header {
  --nav-text: var(--harpia-muted);
  --nav-accent: var(--harpia-white);
  --nav-focus: var(--harpia-accent);
  --nav-outline: #a5cbb78c;
  --nav-hover: #b3d7c126;
  --nav-active: linear-gradient(145deg, #b7d4bf40, #b7d4bf1a);
  --nav-active-hover: linear-gradient(145deg, #b7d4bf5c, #b7d4bf2b);
  --nav-inset: #d4ebda38;
  --header-surface: rgb(11 32 24 / var(--header-opacity, .68));
  --header-edge: var(--harpia-rule);
  background: var(--header-surface);
  border-color: var(--header-edge);
}
.harpia-cta {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  padding: .5rem 0;
  border: 0;
  background: transparent;
  color: var(--harpia-white);
  font-size: .78rem;
  font-weight: 600;
  white-space: nowrap;
}
.harpia-cta span { color: var(--harpia-accent); font-size: 1rem; }
.harpia-cta:hover { color: var(--harpia-accent); }
.harpia-cta:focus-visible { outline-color: var(--harpia-accent); }

.harpia-hero .sequence-pin { background: var(--harpia-forest); }
.harpia-hero :is(.sequence-canvas, .sequence-poster) { filter: none; }
.harpia-hero .sequence-shade {
  background:
    linear-gradient(90deg, #06150edb 0%, #071b1280 27%, transparent 55%),
    linear-gradient(270deg, #06150e98 0%, transparent 44%),
    linear-gradient(180deg, #06160e9e 0%, transparent 30%, #071b1226 46%, #04120be8 100%);
}

.harpia-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  gap: clamp(.55rem, 1.65vh, 1.2rem);
  padding: clamp(5.8rem, 14vh, 8rem) 5% clamp(.9rem, 3vh, 1.8rem);
  pointer-events: none;
}
.harpia-masthead, .harpia-sequence-footer {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: var(--harpia-muted);
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .115em;
  text-transform: uppercase;
}
.harpia-masthead { justify-content: space-between; }
.harpia-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .36rem .68rem;
  border: 1px solid var(--harpia-rule);
  border-radius: 2rem;
  background: #0a2117c4;
}
.harpia-badge::before {
  content: "";
  width: .35rem;
  height: .35rem;
  flex: none;
  border-radius: 50%;
  background: var(--harpia-accent);
  box-shadow: 0 0 10px #93d0a181;
}
.harpia-edition { text-align: right; }
.harpia-edition span { margin-inline: .3rem; color: var(--harpia-accent); }
.harpia-message {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(13rem, 27ch);
  align-items: end;
  align-self: end;
  gap: .85rem 2.25rem;
}
.harpia-kicker {
  display: block;
  margin-bottom: .6rem;
  color: var(--harpia-accent);
  font-size: .63rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.harpia-message h2 {
  margin: 0;
  color: var(--harpia-white);
  font-size: clamp(1.85rem, 3.75vw, 3.65rem);
  font-weight: 450;
  line-height: 1.08;
  letter-spacing: -.05em;
  text-shadow: 0 2px 18px #06170c;
}
.harpia-aside { justify-self: end; text-align: right; }
.harpia-aside p {
  max-width: 32ch;
  margin: 0 0 .32rem;
  color: var(--harpia-muted);
  font-size: clamp(.78rem, 1.18vw, .96rem);
  line-height: 1.55;
  text-shadow: 0 2px 12px #04120b;
}
.harpia-cta { border-bottom: 1px solid var(--harpia-rule); }
.scene:not(.is-turning) .harpia-cta { pointer-events: auto; }
.harpia-hero .harpia-title {
  position: static;
  transform: none;
  width: auto;
  margin: 0;
  color: var(--harpia-white);
  background-image: linear-gradient(166deg, #fff 24%, #f3f9f1 59%, #bcd6c2 100%);
  filter: drop-shadow(0 8px 18px #06150e94);
  font-size: min(28vw, 43svh);
  letter-spacing: -.077em;
  line-height: .82;
}
.harpia-sequence-footer {
  justify-content: space-between;
  min-height: 1.5rem;
  padding-top: .5rem;
  border-top: 1px solid var(--harpia-rule);
}
.harpia-sequence-footer .scroll-line,
.harpia-sequence-footer .journey-track > span { background: var(--harpia-accent); }
.harpia-sequence-footer .journey-track { background: var(--harpia-rule); }
.harpia-sequence-footer .sequence-status { color: var(--harpia-muted); }
.harpia-hero.no-canvas .sequence-status, .harpia-hero.no-canvas .scroll-cue { display: none; }

.harpia-capabilities {
  background:
    radial-gradient(ellipse at 52% 12%, #28573d50, transparent 72%),
    linear-gradient(180deg, #0b2117, #0a1a13);
}
.harpia-capabilities .a-eyebrow,
.harpia-capabilities .a-eyebrow > span,
.harpia-capabilities .capabilities-heading h2 > span {
  color: var(--harpia-accent);
}
.harpia-capabilities .capabilities-heading-aside > p {
  max-width: 34ch;
  color: var(--harpia-muted);
  font-size: .78rem;
  font-weight: 400;
  line-height: 1.6;
}
.harpia-capabilities .marquee-motion {
  border-bottom-color: var(--harpia-rule);
  color: var(--harpia-accent);
  font-size: .68rem;
}
.harpia-capabilities .marquee-motion:hover,
.harpia-capabilities .marquee-motion:focus-visible {
  border-bottom-color: var(--harpia-accent);
  color: var(--harpia-white);
  outline-color: var(--harpia-accent);
}
.harpia-capabilities.is-ready.is-playing .marquee-track {
  animation-play-state: running;
}
.harpia-capabilities .capability-wordmark {
  width: clamp(284px, 24vw, 340px);
  min-width: 0;
  min-height: 85px;
  border-color: #d5e8db;
  background: linear-gradient(128deg, #fff 25%, #eaf5ed);
  box-shadow: inset 0 1px 0 #fff, 0 6px 22px #04130b24;
}
.harpia-capabilities .capability-mark {
  color: #2e684c;
  border-color: #c8e1d1;
  background: linear-gradient(140deg, #deeee3, #f4fbf6);
}
.harpia-capabilities .capability-name {
  color: #173b2b;
  font-weight: 600;
}
.harpia-capabilities .capability-number { color: #427359; }
.harpia-capabilities .capability-description {
  color: #3e5b4c;
  font-size: .7rem;
  font-weight: 400;
  line-height: 1.45;
}

.harpia-challenge { background: var(--harpia-forest); }
.harpia-challenge .challenge-photo {
  object-position: 38% center;
  transform: none;
  filter: saturate(.84) brightness(.88);
}
.harpia-challenge .challenge-shade {
  background:
    linear-gradient(180deg, #0a1a13b8, transparent 20%, transparent 66%, #0b2117dc),
    linear-gradient(90deg, #0b211726, #0b211749 30%, #0b2117cb 52%, #0b2117f5 80%, #0b2117);
}
.harpia-challenge::after {
  background: linear-gradient(0deg, var(--harpia-forest), transparent);
}
.harpia-challenge .story-eyebrow {
  color: var(--harpia-accent);
  font-size: .64rem;
  font-weight: 600;
}
.harpia-challenge .challenge-copy h2,
.harpia-challenge .challenge-caption > p { color: var(--harpia-white); }
.harpia-challenge .challenge-copy h2 > span { color: var(--harpia-accent); }
.harpia-challenge .challenge-intro {
  color: var(--harpia-muted);
  font-size: clamp(.85rem, 1.12vw, 1rem);
  font-weight: 400;
  line-height: 1.7;
}
.harpia-challenge .challenge-list > li,
.harpia-challenge .challenge-list > li:last-child { border-color: var(--harpia-rule); }
.harpia-challenge .challenge-list > li:hover {
  border-top-color: var(--harpia-accent);
  background: #1c4c345c;
}
.harpia-challenge .challenge-list p {
  color: var(--harpia-white);
  font-size: clamp(.83rem, 1.04vw, .97rem);
  font-weight: 400;
}
.harpia-challenge .challenge-number { color: var(--harpia-accent); font-size: .58rem; }
.harpia-challenge .challenge-next {
  padding: 0 0 8px;
  border: 0;
  border-bottom: 1px solid var(--harpia-rule);
  color: var(--harpia-white);
  background: transparent;
  font-size: .75rem;
  text-align: left;
}
.harpia-challenge .challenge-next:is(:hover, :focus-visible) {
  border-bottom-color: var(--harpia-accent);
  outline-color: var(--harpia-accent);
}
.harpia-challenge .challenge-caption { text-shadow: 0 2px 14px #07160d; }
.harpia-challenge .challenge-caption-note { color: var(--harpia-muted); font-size: .72rem; }
.harpia-challenge .story-rule { background: linear-gradient(90deg, var(--harpia-accent), transparent); }
.harpia-challenge .data-projection {
  border-color: var(--harpia-rule);
  color: var(--harpia-muted);
  background: linear-gradient(140deg, #34553c6b, #0a211752);
}
.harpia-challenge .projection-label { color: var(--harpia-white); font-size: .4rem; }
.harpia-challenge .projection-grid { stroke: #d6f3dd3b; }
.harpia-challenge .projection-trace { stroke: var(--harpia-white); }
.harpia-challenge .projection-trace-secondary { stroke: var(--harpia-accent); }
.harpia-challenge .projection-forecasts circle,
.harpia-challenge .projection-legend i { fill: var(--harpia-white); }
.harpia-challenge .projection-legend i { background: var(--harpia-white); }
.harpia-challenge .projection-legend > span:last-child i { background: var(--harpia-accent); }
.harpia-challenge .projection-system { border-color: var(--harpia-rule); }
.harpia-challenge .projection-system > i { background: var(--harpia-accent); }

.harpia-vision {
  --harpia-vision-copy-width: 35%;
  --harpia-vision-copy-shade: rgb(11 33 23 / 60%);
  padding-inline: 0;
  background: var(--harpia-forest);
}
.harpia-vision::before {
  background: linear-gradient(180deg, var(--harpia-forest), transparent 8%, transparent 94%, var(--harpia-forest));
}
.harpia-vision .vision-photo {
  object-position: 11% center;
  filter: saturate(.93) brightness(.96);
}
.harpia-vision .vision-shade {
  background: linear-gradient(90deg, var(--harpia-vision-copy-shade) var(--harpia-vision-copy-width), transparent 48%);
}
.harpia-vision .vision-frame { max-width: none; }
.harpia-vision .vision-content {
  width: var(--harpia-vision-copy-width);
  justify-content: center;
  gap: clamp(2rem, 5svh, 4rem);
  padding-block: clamp(6.5rem, 14svh, 10rem) clamp(3rem, 8svh, 6rem);
  padding-inline: clamp(1.25rem, 6vw, 8rem) 4vw;
}
.harpia-vision-label {
  margin: 0 0 1.2rem;
  color: var(--harpia-accent);
  font-size: .65rem;
  font-weight: 600;
}
.harpia-vision .vision-content h2 {
  color: var(--harpia-white);
  font-size: clamp(2.25rem, 4.4vw, 6rem);
  text-shadow: 0 5px 28px #05150da0;
}
.harpia-vision .vision-line:nth-child(n+2) {
  padding-inline-start: 0;
  text-align: start;
}
.harpia-vision .vision-line:nth-child(3) > span {
  background-image: linear-gradient(125deg, #fff 15%, #eef6ee 64%, #b8d8bf);
}
.harpia-vision .vision-support {
  width: 100%;
  min-width: 0;
  margin-top: 0;
  padding-top: 0;
  text-shadow: 0 2px 18px #06180f;
}
.harpia-vision .vision-support .story-rule {
  background: linear-gradient(90deg, var(--harpia-accent), transparent);
}
.harpia-vision .vision-support > p { color: var(--harpia-muted); }
.harpia-vision .vision-lead { color: var(--harpia-white); }

@media (max-width: 800px) {
  .harpia-challenge .challenge-photo { object-position: 36% center; }
  .harpia-challenge .challenge-shade {
    background: linear-gradient(180deg, #0a1a1340, #0b211763 21%, #0b2117de 37%, #0b2117f8 64%, #0b2117);
  }
  .harpia-challenge .challenge-copy { padding-inline: clamp(.25rem, 2vw, 1rem); }
}
@media (max-width: 800px), (max-aspect-ratio: 5/4) {
  .harpia-vision { --harpia-vision-photo-height: clamp(15rem, 68vw, 34rem); }
  .harpia-vision::before { content: none; }
  .harpia-vision .vision-photo,
  .harpia-vision .vision-shade {
    height: var(--harpia-vision-photo-height);
  }
  .harpia-vision .vision-photo {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    object-position: 52% center;
  }
  .harpia-vision .vision-shade {
    background: linear-gradient(180deg, #0b211745, transparent 32%, transparent 76%, var(--harpia-forest));
  }
  .harpia-vision .vision-frame {
    min-height: 0;
    /* Keep the copy over the forest at the far left of the photograph. */
    background:
      linear-gradient(var(--harpia-forest), transparent 1.75rem),
      linear-gradient(var(--harpia-vision-copy-shade), var(--harpia-vision-copy-shade)),
      url("../assets/harpia-benefit.webp") left 62% / 350% auto no-repeat;
  }
  .harpia-vision .vision-content {
    width: 100%;
    gap: 1.5rem;
    padding: 1.75rem clamp(1.25rem, 6vw, 4rem) 3rem;
  }
  .harpia-vision .vision-content h2 { font-size: clamp(2.25rem, 6.2vw, 4.5rem); }
}
.harpia-core-benefits {
  --benefits-navy: var(--harpia-forest);
  --benefits-ink: #153426;
  --benefits-muted: #465d50;
  --benefits-blue: #27714b;
}

.harpia-core-benefits .benefits-intro { color: var(--harpia-white); }
.harpia-core-benefits .benefits-media::after {
  background:
    linear-gradient(180deg, #0b2117 0%, #0b2117bb 15%, #0b211732 43%, #0b21170a 62%, #0b2117e8 100%),
    radial-gradient(ellipse at 16% 24%, #0b2117a6 0%, transparent 68%);
}

.harpia-core-benefits .benefits-film-heading h2 { text-shadow: 0 8px 38px #0b211780; }
.harpia-core-benefits .benefits-intro .benefits-kicker,
.harpia-core-benefits .benefits-film-edition span { color: var(--harpia-accent); }
.harpia-core-benefits .benefits-film-edition,
.harpia-core-benefits .benefits-motion { color: var(--harpia-muted); }
.harpia-core-benefits .benefits-film-footer {
  color: var(--harpia-muted);
  border-color: var(--harpia-rule);
  text-shadow: 0 2px 10px var(--harpia-forest);
}
.harpia-core-benefits .benefits-motion:hover,
.harpia-core-benefits .benefits-jump { color: var(--harpia-white); }
.harpia-core-benefits .benefits-jump { text-decoration-color: var(--harpia-accent); }
.harpia-core-benefits .benefits-jump:hover { text-decoration-color: currentColor; }

.harpia-core-benefits .benefits-editorial { background: linear-gradient(170deg, #e4efe7, #f4f8f4 56%, #fff); }
.harpia-core-benefits .benefits-sheet {
  border-color: #dce9e0;
  box-shadow: 0 22px 72px #0b211710;
}
.harpia-core-benefits .benefits-sheet-heading .benefits-kicker::after { background: #85ac91; }
.harpia-core-benefits .benefit-number { color: #c4d7cb; }
.harpia-core-benefits .benefits-grid li:hover .benefit-number { color: var(--benefits-blue); }
.harpia-core-benefits .benefits-grid h4 { border-color: #dce9e0; }
.harpia-core-benefits .benefit-lead { color: #24583b; }

.harpia-bento {
  --bento-ink: #173b2b;
  --bento-muted: #435e50;
  --bento-green: #2a694b;
  --bento-border: #cfe0d5;
  color-scheme: light;
  color: var(--bento-ink);
  background: radial-gradient(ellipse at 100% 85%, #ecf5ee, transparent 55%), #fff;
  padding: clamp(48px, 6vw, 90px) 5% clamp(68px, 8vw, 115px);
  scroll-margin-top: 96px;
}

.harpia-bento .bento-intro h2 { color: var(--bento-ink); }
.harpia-bento .bento-intro h2 > span { color: var(--bento-green); }
.harpia-bento .bento-intro-main > p {
  max-width: 37ch;
  color: var(--bento-muted);
  font-size: 14px;
  font-weight: 400;
}
.harpia-bento .bento-benefits li { color: var(--bento-muted); font-size: 12px; font-weight: 450; }
.harpia-bento .bento-benefits li::before {
  content: "";
  flex: 0 0 6px;
  height: 6px;
  margin-inline: 4px;
  border-radius: 50%;
  background: var(--bento-green);
  box-shadow: 0 0 0 4px #e7f2ea;
}
.harpia-bento .bento-label {
  color: var(--bento-green);
  background: #edf6ef;
  border-color: var(--bento-border);
  font-size: 9px;
  font-weight: 650;
}
.harpia-bento .bento-platform-mark,
.harpia-bento .bento-card {
  background: linear-gradient(145deg, #fff, #f0f7f2);
  border-color: var(--bento-border);
  box-shadow: inset 0 1px #fff, 0 14px 40px #1235230a;
}
.harpia-bento .bento-platform-mark > span,
.harpia-bento .bento-platform-mark i { color: var(--bento-muted); }
.harpia-bento .bento-platform-mark > div { color: var(--bento-green); }
.harpia-bento .bento-card::before { background: radial-gradient(ellipse at 100% 0, #b7d9c43b, transparent 72%); }
.harpia-bento .bento-card:hover { border-color: #8bb59d; }
.harpia-bento .bento-card h3 { color: var(--bento-ink); font-weight: 520; }
.harpia-bento .bento-card p { color: var(--bento-muted); font-size: 13px; font-weight: 400; line-height: 1.6; }
.harpia-bento .bento-mini h3 { font-size: 15px; }
.harpia-bento .card-eyebrow { color: var(--bento-green); font-size: 9px; font-weight: 650; }
.harpia-bento .bento-icon {
  color: var(--bento-green);
  border-color: var(--bento-border);
  background: linear-gradient(145deg, #e7f3eb, #f8fcf9);
}
.harpia-bento .bento-models {
  background: radial-gradient(ellipse at 95% 68%, #c0ddc9a1, transparent 66%), linear-gradient(145deg, #fff, #f0f7f2);
}
.harpia-bento .bento-cta {
  min-height: 44px;
  color: #fff;
  border-color: #285d45;
  background: linear-gradient(120deg, #387857, #25573f);
  font-size: 12px;
  font-weight: 600;
}
.harpia-bento .bento-cta:hover { background: #1f4f37; }
.harpia-bento .bento-cta:focus-visible { outline: 2px solid var(--bento-green); outline-offset: 4px; }
.harpia-bento .model-stack,
.harpia-bento .capacity-slots,
.harpia-bento .planning-visual,
.harpia-bento .dashboard-visual { filter: hue-rotate(-77deg) saturate(.55); }
.harpia-bento .bento-ai {
  background: radial-gradient(ellipse at 100% 0, #59967380, transparent 80%), linear-gradient(120deg, #286347, #153e2c);
  border-color: #598e70;
  box-shadow: inset 0 1px #e8f7ec42, 0 14px 40px #12352316;
}
.harpia-bento .bento-ai::before { content: none; }
.harpia-bento .bento-ai h3 { color: #fff; }
.harpia-bento .bento-ai p, .harpia-bento .bento-ai .card-eyebrow { color: #ecf8ef; }
.harpia-bento .predictive-visual svg { filter: drop-shadow(0 0 8px #c9f8d550); }
.harpia-bento .bento-global {
  padding-bottom: 150px;
  background: radial-gradient(ellipse at 55% 100%, #d0e5d6, transparent 64%), linear-gradient(145deg, #fff, #edf5ef);
}
.harpia-device-visual {
  position: absolute;
  width: min(90%, 200px);
  height: 136px;
  inset: auto 0 16px;
  margin-inline: auto;
}

.harpia-contact {
  --contact-accent: #c1dfc9;
  background: radial-gradient(ellipse at 15% 58%, #28573d, transparent 65%), linear-gradient(145deg, #102b1f, #0b2117);
}
.harpia-contact .contact-eyebrow::before { background: var(--contact-accent); }
.harpia-contact .contact-intro { color: var(--harpia-muted); }
.harpia-contact .contact-panel {
  --contact-ink: #163b2a;
  --contact-muted: #426051;
  --contact-accent: #2b694a;
  background:
    linear-gradient(148deg, #fff 16%, #f0f7f2 68%, #dfede3) padding-box,
    linear-gradient(150deg, #fff, #b4d1be 60%, #8fb69c) border-box;
  box-shadow: 0 26px 66px #06171059;
}
.harpia-contact .contact-info {
  --contact-ink: #f4faf5;
  --contact-accent: #c1dfc9;
  background:
    radial-gradient(ellipse at 110% 114%, #4a8b64, transparent 64%) padding-box,
    linear-gradient(150deg, #28543c, #163826 66%, #122e20) padding-box,
    linear-gradient(150deg, #8fb9a1, #3d7158, #79a78a) border-box;
}
.harpia-contact .contact-detail { border-color: #c4e0cd40; }
.harpia-contact .contact-icon {
  color: #f0faf3;
  border-color: #b6d8bf67;
  background: linear-gradient(145deg, #e5f6ea30, #88b69c16);
}
.harpia-contact .contact-field :is(input, textarea) { border-color: #789b85; }
.harpia-contact .contact-field :is(input, textarea)::placeholder { color: #4f6b5c; }
.harpia-contact .contact-field :is(input, textarea):focus-visible { outline-color: var(--contact-accent); }
.harpia-contact .contact-submit {
  color: #123c28;
  border-color: #7ca68b;
  background:
    linear-gradient(180deg, #ffffffed, #ffffff52 47%, transparent 70%),
    linear-gradient(115deg, #f4fbf6, #cce8d5 55%, #9bc6a9);
  box-shadow: inset 0 1px #fff, 0 7px 20px #25553b26;
}
.harpia-contact .contact-submit > span { border-color: #7ca68b85; }
.harpia-contact .contact-submit:hover { box-shadow: inset 0 1px #fff, 0 9px 24px #25553b3d; }

.harpia-footer {
  background: #fff;
  color: var(--harpia-forest);
  border-color: #d7e5dc;
}
.harpia-footer :is(.logo, .footer-tagline, .footer-social > span, .footer-bottom) { color: var(--harpia-forest); }
.harpia-footer .footer-bottom { border-color: #d7e5dc; }
.harpia-footer .footer-nav a { text-decoration-color: #83a990; }
.harpia-footer a:hover { color: #286747; }
.harpia-footer a:focus-visible { outline-color: #286747; }

@media (max-width: 540px) {
  .harpia-bento .bento-models { display: block; padding-bottom: 150px; }
  .harpia-bento .bento-model-copy { max-width: none; }
  .harpia-bento .model-stack {
    top: auto;
    bottom: -40px;
    right: 4%;
    width: min(60%, 230px);
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .harpia-challenge .data-projection { animation: none; }
  .harpia-challenge .challenge-list > li:hover,
  .harpia-bento .bento-card:hover { transform: none; }
}

@media (max-aspect-ratio: 17/20) {
  .harpia-hero .sequence-poster { object-position: 55% center; }
}
@media (max-width: 760px) {
  .harpia-overlay { padding: 5.7rem 5.5% 1rem; }
  .harpia-hero .sequence-shade {
    background:
      linear-gradient(90deg, #081c1270, transparent 80%),
      linear-gradient(180deg, #06150fa1, transparent 30%, transparent 42%, #07190db3 63%, #05130cec 100%);
  }
  .harpia-edition { display: none; }
  .harpia-message { grid-template-columns: 1fr; }
  .harpia-aside { justify-self: start; text-align: left; }
  .harpia-aside p { max-width: 45ch; }
  .harpia-hero .harpia-title { font-size: min(27.8vw, 38svh); }
  .harpia-sequence-footer { font-size: .52rem; }
  .harpia-sequence-footer .scroll-cue, .harpia-sequence-footer .journey-mark { gap: .45rem; }
  .harpia-sequence-footer .journey-track { width: 2rem; }
  .harpia-capabilities .capabilities-heading-aside { gap: .85rem; }
  .harpia-capabilities .capability-wordmark {
    width: min(310px, 100vw - 40px);
    min-height: 77px;
  }
}
@media (max-height: 570px) {
  .harpia-overlay { gap: .42rem; padding-top: 5.15rem; }
  .harpia-masthead, .harpia-kicker { display: none; }
  .harpia-overlay { grid-template-rows: minmax(0, 1fr) auto auto; }
  .harpia-message h2 { font-size: clamp(1.4rem, 5.2vh, 2.5rem); }
  .harpia-aside p { line-height: 1.34; }
  .harpia-hero .harpia-title { font-size: min(26vw, 36svh); }
}
