/* Astra v1 — scoped digital refinements, derived from the local AFINARA design system. */
.hero-narrative-sentence { max-width: 37rem; }
.hero-narrative-sentence p { margin: 0; }
.hero-narrative-sentence .hero-focus-line { margin-top: .55rem; font-size: .86em; line-height: 1.55; }
.hero-scene:not(.hero-mounted) .hero-narrative-sentence, .hero-scene:not(.hero-mounted) .hero-line { visibility: hidden; }
@media (min-width: 768px) {
  .recognition-surface-object:not(.is-expanded) { min-height: clamp(290px, 34vh, 370px); }
  .surface-compact-trigger { flex: 1; justify-content: center; padding-top: 2.75rem; padding-bottom: 2.75rem; }
}
.s03-statement-btn { position: absolute; inset: 0; height: 100%; }
.s03-permanent-model { max-width: 46rem; margin-top: 1rem; font: 400 .94rem/1.6 var(--font-sans); color: #5A514A; }
.s03-permanent-model p { margin: 0 0 .6rem; }
.s03-responsibility { max-width: 39rem; }
.s03-pause { display: inline-flex; align-items: center; min-height: 44px; padding: .4rem 0; background: transparent; border: 0; color: #665E55; font: 400 .8rem/1.4 var(--font-sans); text-decoration: underline; text-underline-offset: .25rem; cursor: pointer; }
.s03-pause:disabled { cursor: default; text-decoration: none; }
.s03-pause:focus-visible { outline: 2px solid #5A514A; outline-offset: 4px; }
.s04-gateway-viewport { min-height: auto; padding-block: clamp(4rem, 8vh, 6rem); }
.gateway-display-editorial { margin-bottom: 2rem; }
.gateway-proof { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 3.5rem; margin-bottom: 1.8rem; width: 100%; }
.gateway-proof h3 { font: 400 clamp(1.5rem, 2vw, 1.85rem)/1.25 var(--font-display); letter-spacing: -.015em; margin: 0 0 .65rem; }
.gateway-proof p, .gateway-lead { font: 300 1rem/1.65 var(--font-sans); color: #5A514A; margin: 0; max-width: 49rem; }
.gateway-lead { margin-bottom: 2rem; max-width: 49rem; }
.gateway-attribution { font: 400 .77rem/1.6 var(--font-sans); color: #665E55; margin: 1.4rem 0 1rem; max-width: 48rem; }
.gateway-text-cta { min-height: 44px; }
.site-wordmark, .diag-wordmark, .s04-exp-wordmark { font-weight: 400; }
.diag-layer, .s04-experience-layer { top: var(--dialog-top,0); bottom: auto; height: var(--dialog-height,100dvh); overscroll-behavior: contain; scroll-padding-top: 100px; }
.diag-layer [data-dialog-heading]:focus,
.diag-layer [data-dialog-heading]:focus-visible,
.afinara-focus-layer [data-dialog-heading]:focus,
.afinara-focus-layer [data-dialog-heading]:focus-visible,
.focus-opening-statement:focus,
.focus-opening-statement:focus-visible,
[data-dialog-heading]:focus,
[data-dialog-heading]:focus-visible {
  outline: none;
}
.focus-header-brand-btn, .diag-brand-btn, .s04-exp-brand-btn {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}
.focus-header-brand-btn:focus-visible, .diag-brand-btn:focus-visible, .s04-exp-brand-btn:focus-visible {
  outline: 2px solid #2F2925;
  outline-offset: 3px;
}
.focus-close-btn:focus-visible, .focus-action-link:focus-visible {
  outline: 2px solid #2F2925;
  outline-offset: 3px;
}
.diag-readout-headline, .diag-constraint-title, .diag-relevance-title, .diag-share-title { font-weight: 400; }
.diag-readout-header { margin-bottom: 1.6rem; }
.diag-first-look-card { padding-block: 1.25rem; margin-bottom: 1.5rem; }
.diag-editorial-section { margin-bottom: 1.8rem; }
.diag-readout-actions { margin-block: 1.25rem 2.25rem; }
.diag-layer button, .diag-layer a, .s04-experience-layer button { min-height: 44px; }
.diag-layer a { display: inline-flex; align-items: center; }
.diag-layer input, .diag-layer textarea, .funnel-text-input, .funnel-textarea { scroll-margin-block: 110px 100px; font-size: 16px; }
.diag-body-container { padding-bottom: max(3rem, env(safe-area-inset-bottom)); }
.diag-card-heading, .diag-eyebrow, .diag-label, .diag-step-counter, .s04-index-label { font-weight: 500; }
.ask-ai-disclosure { font: 400 .8rem/1.6 var(--font-sans); color: #665E55; max-width: 25rem; margin: -.6rem 0 1.5rem; }
.funnel-send-error { font: 400 .9rem/1.6 var(--font-sans); color: #5A514A; }
.funnel-nav-back, .funnel-reset-link, .ask-afinara-secondary-action, .ask-afinara-handover-btn, .ask-afinara-submit-btn, .closing-direct-link { min-height: 44px; }
.ask-afinara-error-block > a { display: flex; align-items: center; margin-top: .5rem; }
@media (max-width: 767px) {
  .hero-narrative-sentence { max-width: 29rem; }
  .hero-narrative-sentence .hero-focus-line { max-width: 31ch; font-size: .88em; margin-top: .65rem; }
  .s03-involvement-scene { padding-block: 4rem; }
  .s03-permanent-model { font-size: .85rem; margin-top: 1.5rem; }
  .gateway-proof { grid-template-columns: 1fr; gap: 1.4rem; }
  .gateway-lead, .gateway-proof p { font-size: .95rem; }
  .diag-header-inner { padding-block: .5rem; }
  .diag-readout-headline { font-size: clamp(1.85rem, 7vw, 2.4rem); line-height: 1.18; }
  .diag-next-steps-list { gap: .8rem; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .hero-scene { min-height: 100svh; }
  .hero-composition-layer { padding-top: 85px; padding-bottom: 2rem; }
  .hero-display-title { font-size: clamp(2.6rem, 7vw, 3.8rem); }
  .hero-typographic-anchor { display: grid; grid-template-columns: 1.15fr 1fr; align-items: end; gap: 2rem; }
  .hero-narrative-sentence { font-size: .9rem; }
  .s03-aperture-mask { min-height: 230px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .hero-line, .hero-narrative-sentence { transform: none !important; }
}
.diag-first-look-card { background: transparent; border: 0; border-top: 1px solid #E4E0D1; border-radius: 0; padding: 1rem 0; margin-bottom: .8rem; }
.diag-immediate-next { font: 300 1rem/1.6 var(--font-sans); color: #5A514A; }
.diag-immediate-next p { margin: .6rem 0 1rem; }
a.funnel-submit-btn { text-decoration: none; }
.funnel-question-title:focus, .funnel-confirmed-lead:focus, .ask-afinara-response-body:focus, .ask-afinara-error-block:focus { outline: none; }
.brand-anchor-btn { font-weight: 400; }
.s04-exp-quiet-label, .s04-exp-territory-label, .s04-exp-detail-category { font-weight: 500; color: #665E55; }
@media (max-height: 500px) and (orientation: landscape) {
  .hero-scene { padding-top: 80px; padding-bottom: 30px; }
  .hero-composition-layer { padding-top: 0; padding-bottom: 0; }
  .hero-typographic-anchor { max-width: none; }
}
.diag-intro-title, .diag-question-title { font-weight: 400; }
.s03-wordmark-anchor, .diag-meta-info, .diag-readout-eyebrow, .diag-card-heading, .diag-step-counter, .diag-eyebrow, .diag-textarea-footer, .s04-exp-close-btn, .funnel-eyebrow, .funnel-step-indicator, .ask-afinara-label { color: #665E55; }
@media (max-width: 767px) {
  .diag-actions-row { flex-direction: column; align-items: flex-start; gap: .5rem; }
  .diag-actions-row .diag-btn-primary { flex-shrink: 0; white-space: nowrap; }
}

/* Astra v2 — subtractive editorial pass. */
.hero-narrative-sentence .hero-focus-line { font-size: .8em; letter-spacing: .025em; margin-top: .85rem; }
.s03-controls { display: flex; align-items: center; flex-wrap: wrap; column-gap: 1.5rem; }
.s03-next { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .4rem 0; border: 0; background: transparent; color: #665E55; font: 400 .8rem/1.4 var(--font-sans); cursor: pointer; }
.s03-next:focus-visible { outline: 2px solid #5A514A; outline-offset: 4px; }
.diag-reasoning-heading { font: 400 1.5rem/1.3 var(--font-display); margin: 0 0 1.8rem; padding-top: 1.5rem; border-top: 1px solid #E4E0D1; color: #5A514A; }
@media (max-width: 767px) {
  .hero-narrative-sentence .hero-focus-line { max-width: none; font-size: .8em; }
}

@media (max-height: 500px) and (orientation: landscape) {
  .hero-narrative-sentence .hero-focus-line { font-size: 13px; }
  .s03-involvement-scene { padding-block: 1rem; min-height: calc(100svh - 4.5rem); }
  .s03-aperture-mask { min-height: 160px; }
  .s03-permanent-model { margin-top: .5rem; max-width: none; }
}

.diag-readout-header { margin-bottom: 1rem; }
.diag-first-look-card .diag-card-heading, .diag-immediate-next .diag-card-heading { margin-bottom: .6rem; }
.diag-readout-actions { padding-top: 1rem; margin-top: .75rem; }

@media (max-width: 767px) {
  .diag-body-container:has(.diag-readout-view) { padding-top: 2rem; }
}
