/* Aligents visual signature: graphite #25282A, hunter green #244D3C, warm ivory #F6F1E7 */
:root {
  --graphite: #25282a;
  --green: #244d3c;
  --ivory: #f6f1e7;
  --paper: #fbf8f1;
  --ink-muted: #4a514d;
  --ivory-muted: #d3cfc4;
  --accent-light: #b8d4c2;
  --line: #d9d2c1;
  --line-dark: #4a4f4c;
  --path-dash: 3 9;
  --space-section: clamp(72px, 9vw, 120px);
}

html { scroll-behavior: auto; }
body { background: var(--ivory); color: var(--graphite); }
em { color: var(--green); }

/* Interaction states */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 3px solid var(--green);
  outline-offset: 3px;
}

.sim-section a:focus-visible, .sim-section button:focus-visible,
.industry-section a:focus-visible, .industry-section button:focus-visible,
.preflight-section .preflight-intro a:focus-visible,
.contact-section a:focus-visible, .contact-section button:focus-visible,
.site-footer a:focus-visible, .site-footer button:focus-visible,
.hero a:focus-visible, .hero button:focus-visible {
  outline-color: var(--ivory);
}

.button {
  background: var(--green);
  color: var(--ivory);
  border: 2px solid var(--green);
  box-shadow: none;
  font-weight: 700;
}
.button:hover { background: var(--graphite); border-color: var(--graphite); transform: translateY(-1px); box-shadow: none; }
.button:active { transform: translateY(0); }
.button-secondary { background: transparent; color: var(--green); }
.button-secondary:hover { background: var(--green); border-color: var(--green); color: var(--ivory); }

.sim-section .button, .industry-section .button, .contact-section .button, .hero .button {
  background: var(--ivory); color: var(--graphite); border-color: var(--ivory);
}
.sim-section .button:hover, .industry-section .button:hover, .contact-section .button:hover, .hero .button:hover {
  background: #fff; border-color: #fff; color: var(--graphite);
}

.text-link { color: var(--green); font-weight: 600; text-underline-offset: 4px; }
.text-link:hover { text-decoration: underline; }

/* Section rhythm: ivory and graphite alternate, hunter green closes */
.principles-strip, .flight-journey { background: var(--ivory); }
.industry-section { background: var(--graphite); }
.industry-section .eyebrow, .sim-section .eyebrow { color: var(--accent-light); }
.contact-section { background: var(--green); }
.site-footer { background: var(--graphite); color: var(--ivory-muted); }
.site-header { background: rgb(246 241 231 / 94%); }

.eyebrow { color: var(--green); font-weight: 700; }

/* Simulator (graphite) */
.sim-section {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-section);
  background: var(--graphite);
  color: var(--ivory);
}
.sim-section::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.35;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 600' fill='none'%3E%3Cpath d='M-20 520 C 260 420 420 120 760 190 S 1120 80 1240 40' stroke='%23B8D4C2' stroke-width='1.5' stroke-dasharray='3 9' stroke-linecap='round'/%3E%3C/svg%3E") center / cover no-repeat;
}
.sim-layout { position: relative; display: grid; gap: clamp(36px, 5vw, 64px); }
.sim-intro h2 { color: var(--ivory); margin-bottom: 20px; }
.sim-intro h2 em { color: var(--accent-light); }
.sim-intro > p:not(.eyebrow) { max-width: 62ch; color: var(--ivory-muted); font-size: 1.05rem; }
.sim-intro .sim-disclosure { margin-top: 16px; padding-left: 14px; border-left: 3px solid var(--accent-light); color: var(--ivory); font-size: 0.95rem; }
.sim-intro .sim-legend { margin-top: 16px; color: var(--ivory); font-size: 0.95rem; }
.sim-intro .sim-legend strong, .sim-intro .sim-disclosure strong { color: #fff; }
.sim-intro .sim-disclosure em, .sim-intro .sim-legend em { color: var(--accent-light); font-style: normal; font-weight: 600; }

.sim-panel { display: grid; gap: 32px; min-width: 0; }
.sim-controls { display: grid; gap: 22px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.sim-label { margin: 0 0 10px; color: var(--accent-light); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.sim-options { display: flex; flex-wrap: wrap; gap: 10px; }
.sim-choice, .sim-toggle button {
  min-height: 48px;
  padding: 10px 18px;
  border: 2px solid var(--line-dark);
  border-radius: 4px;
  background: transparent;
  color: var(--ivory);
  font: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.sim-choice:hover, .sim-toggle button:hover { border-color: var(--accent-light); }
.sim-choice[aria-pressed="true"], .sim-toggle button[aria-pressed="true"] {
  background: var(--ivory);
  border-color: var(--ivory);
  color: var(--graphite);
}

.sim-stage { display: grid; gap: 20px; padding-top: 28px; border-top: 1px dashed var(--line-dark); min-width: 0; }
.sim-stage-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.sim-challenge-summary { margin: 0; max-width: 56ch; color: var(--ivory); font-size: 1.05rem; }
.sim-toggle { display: flex; flex-wrap: wrap; gap: 8px; }
.sim-badge { display: inline-flex; width: fit-content; max-width: 100%; align-items: center; gap: 8px; margin: 0; padding: 6px 14px; border: 1px dashed var(--accent-light); border-radius: 4px; color: var(--accent-light); font-size: 0.85rem; font-weight: 600; }

.sim-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; position: relative; }
.sim-steps li { min-width: 0; }
.sim-step {
  display: grid;
  align-content: start;
  gap: 6px;
  width: 100%;
  height: 100%;
  min-height: 132px;
  padding: 16px;
  border: 2px solid var(--line-dark);
  border-radius: 14px;
  background: transparent;
  color: var(--ivory);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease;
}
.sim-step:hover { border-color: var(--accent-light); }
.sim-step[aria-pressed="true"] { background: #2f3433; border-color: var(--accent-light); }
.sim-step-number { color: var(--accent-light); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.12em; }
.sim-step strong { font-size: 1rem; line-height: 1.3; overflow-wrap: anywhere; }
.sim-step small { color: var(--ivory-muted); font-size: 0.8rem; }
.sim-steps[data-mode="current"] .sim-step { border-style: dashed; }

.sim-detail { padding: 22px 24px; border-radius: 14px; background: var(--ivory); color: var(--graphite); }
.sim-detail-kind { margin: 0 0 6px; color: var(--green); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.sim-detail h3 { margin: 0 0 8px; color: var(--graphite); font-size: 1.4rem; letter-spacing: -0.02em; }
.sim-detail p { margin-block: 0; }
.sim-detail #sim-detail-text { max-width: 70ch; color: #2f3432; font-size: 1.05rem; }

.sim-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; }
.sim-cta p { flex: 1 1 320px; max-width: 60ch; margin: 0; color: var(--ivory-muted); }

/* Industries: graphite */
.industry-section { color: var(--ivory); }

/* Services: ivory with accordion cards */
.services { background: transparent; }
.services .section-heading > p, .services-intro > p { color: var(--ink-muted); }
.service-card { padding-block: 28px; border-top: 1px dashed #8a9188; }
.service-card:last-of-type { border-bottom: 1px dashed #8a9188; }
.service-heading { margin: 0; font-size: inherit; letter-spacing: normal; }
.service-toggle {
  display: grid;
  grid-template-columns: minmax(110px, 160px) 1fr 44px;
  align-items: center;
  gap: 16px;
  width: 100%;
  min-height: 56px;
  padding: 6px 0;
  border: 0;
  background: transparent;
  color: var(--graphite);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.service-toggle:hover .service-name { color: var(--green); }
.service-toggle .service-index { color: var(--green); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em; }
.service-name { font-family: var(--serif); font-size: clamp(1.5rem, 2.6vw, 2.1rem); letter-spacing: -0.03em; line-height: 1.15; }
.service-chevron { position: relative; width: 40px; height: 40px; border: 2px solid var(--green); border-radius: 50%; }
.service-chevron::before, .service-chevron::after { content: ''; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; background: var(--green); transform: translate(-50%, -50%); transition: transform 180ms ease; }
.service-chevron::after { transform: translate(-50%, -50%) rotate(90deg); }
.service-toggle[aria-expanded="true"] .service-chevron::after { transform: translate(-50%, -50%) rotate(0deg); }
.service-summary { max-width: 70ch; margin: 8px 0 0 calc(min(160px, 100%) + 16px); color: var(--ink-muted); }
.service-panel { margin: 18px 0 0 calc(min(160px, 100%) + 16px); padding: 22px 24px; border-left: 3px solid var(--green); background: var(--paper); }
.service-panel dl { display: grid; gap: 18px; margin: 0; }
.service-panel dt { margin-bottom: 4px; color: var(--green); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.service-panel dd { margin: 0; color: var(--graphite); }
.service-panel ul { margin: 0; padding-left: 20px; }
.service-cta { margin: 20px 0 0 calc(min(160px, 100%) + 16px); }

/* Preflight: graphite intro, ivory assessment card */
.preflight-section { position: relative; background: var(--graphite); color: var(--ivory); }
.preflight-intro h2 { color: var(--ivory); }
.preflight-intro h2 em { color: var(--accent-light); }
.preflight-intro .eyebrow { color: var(--accent-light); }
.preflight-intro > p:not(.eyebrow), .assessment-promises { color: var(--ivory-muted); }
.assessment-promises li::before { color: var(--accent-light); }
.assessment-card { border: 0; border-radius: 18px; background: var(--ivory); color: var(--graphite); box-shadow: none; }
.assessment-privacy-note { color: var(--ink-muted); }

/* Flight briefing */
.assessment-results { color: var(--graphite); }
.assessment-results .eyebrow { color: var(--green); }
.briefing-label { margin: 0 0 6px; color: var(--green); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.briefing-primary { margin-top: 24px; padding: 22px 24px; border-radius: 14px; background: var(--green); color: var(--ivory); }
.briefing-primary .briefing-label { color: var(--accent-light); }
.briefing-primary h4 { margin: 0 0 8px; color: var(--ivory); font-family: var(--serif); font-size: clamp(1.4rem, 3vw, 1.9rem); letter-spacing: -0.03em; line-height: 1.2; }
.assessment-results .briefing-primary h4 { color: var(--ivory); }
.briefing-primary p { margin: 0 0 8px; color: var(--ivory); }
.briefing-primary .briefing-basis { margin: 0; color: var(--accent-light); font-size: 0.9rem; }
.briefing-gaps { margin-top: 18px; padding: 14px 18px; border-left: 3px dashed var(--graphite); background: #ece5d5; }
.briefing-gaps .briefing-label { color: var(--graphite); }
.briefing-gaps ul { margin: 0; padding-left: 20px; color: var(--graphite); font-size: 0.95rem; }
.assessment-results h4 { color: var(--graphite); }
.results-opportunities, .results-workflow, .results-chart-wrap { border-top: 1px dashed #8a9188; }
.results-opportunities ol { position: relative; margin-top: 18px; padding-left: 0; list-style: none; }
.results-opportunities ol::before { content: ''; position: absolute; left: 15px; top: 16px; bottom: 16px; border-left: 2px dotted var(--green); }
.results-opportunities li { position: relative; padding: 0 0 0 48px; color: var(--graphite); font-size: 1rem; }
.results-opportunities li::marker { content: none; }
.results-opportunities li::before { content: attr(data-waypoint); position: absolute; left: 0; top: -2px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--green); color: var(--ivory); font-size: 0.85rem; font-weight: 700; }
.results-opportunities li p { color: var(--ink-muted); font-size: 0.95rem; }
.waypoint-tag { display: block; margin-bottom: 2px; color: var(--green); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.results-workflow { padding: 20px 22px; border: 0; border-left: 3px solid var(--green); border-radius: 0; background: var(--paper); }
.priority-method, .chart-assumption, .results-disclaimer, .human-review-note { color: var(--ink-muted); }
.results-actions { gap: 12px 16px; }
.results-actions .booking-handoff { display: contents; }
.results-secondary { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-top: 10px; }
.results-secondary .text-link { margin: 0; color: var(--green); font-size: 0.9rem; }
.assessment-reset { color: var(--ink-muted); }

/* Contact and footer */
.contact-section, .contact-section h2, .contact-section p { color: var(--ivory); }
.contact-section h2 em, .contact-section .eyebrow { color: var(--accent-light); }
.site-footer a, .site-footer p { color: var(--ivory-muted); }
.site-footer .brand strong { color: var(--ivory); }
.footer-bottom a, .footer-main .text-link { display: inline-flex; align-items: center; min-height: 44px; padding-inline: 6px; }
.principles-strip a { color: var(--green); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.principles-strip a:hover { color: var(--graphite); }

@media (max-width: 900px) {
  .sim-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .sim-steps { grid-template-columns: 1fr; }
  .sim-step { min-height: 0; }
  .sim-detail { padding: 18px; }
  .service-toggle { grid-template-columns: 1fr 44px; }
  .service-toggle .service-index { grid-column: 1 / -1; }
  .service-summary, .service-panel, .service-cta { margin-left: 0; }
  .results-actions .button, .sim-cta .button { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .sim-choice, .sim-step, .button, .service-chevron::after { transition: none; }
  .button:hover { transform: none; }
}

.about-visual .about-headshot{display:block;width:100%;max-width:340px;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:4px;margin:1rem auto}
.about-visual p{position:static;margin:.5rem 0 0;text-align:center}
.about .about-visual p{position:static !important;margin:.5rem 0 0 !important;text-align:center;font-size:1.4rem !important}.about-visual{min-height:0}

.about .about-visual{background:#25282A;border-color:#25282A;color:#F6F1E7;padding:1.5rem}
.about .about-visual .eyebrow{color:#d9c9a3;letter-spacing:.14em}
.about-frame{position:relative;margin:1rem auto 0;max-width:340px;padding-top:2.5rem}
.about-visual .about-headshot{position:relative;border:3px solid #F6F1E7;border-radius:4px;margin:0 auto}
.about-data{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1.25rem 0 0;padding-top:1rem;border-top:1px dashed rgba(246,241,231,.4);text-align:center}
.about-data dt{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#d9c9a3}
.about-data dd{margin:.2rem 0 0;font-size:.9rem;color:#F6F1E7}
.about .about-visual p{color:#F6F1E7 !important}
.about-frame{padding-top:1rem}

.about .about-visual{height:auto;min-height:0;overflow:visible}.about-visual .about-headshot{aspect-ratio:4/5;max-height:none}
.about .about-visual{max-height:none !important;height:auto !important}

/* Radar backdrop for the business check */
.preflight-section { isolation: isolate; overflow: hidden; }
.preflight-section::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("assets/aligents-radar-background.png") 50% 50% / cover no-repeat; background-image: image-set(url("assets/aligents-radar-background.avif") type("image/avif"), url("assets/aligents-radar-background.webp") type("image/webp"), url("assets/aligents-radar-background.png") type("image/png")); transform: scaleX(-1); opacity: .55; pointer-events: none; }
.preflight-section::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(37,40,42,.55), rgba(37,40,42,0) 60%); pointer-events: none; }
@media (max-width: 800px) { .preflight-section::before { background-position: 30% 20%; opacity: .4; } }
.industry-panel .industry-copy { max-width: 62ch; }
.service-note .service-cta { margin: 0; }
