/* Visual direction: cyberpunk energy, practical nonprofit purpose.
   Local, code-native scenery; no third-party imagery or runtime resources. */
:root {
  --paper: #0b1119;
  --ink: #f0f3f1;
  --body: #bec8cf;
  --muted: #9daeb8;
  --line: #34424d;
  --lime: #ff873d;
  --sage: #121d27;
  --orange: #ff873d;
  --cyan: #4ecaff;
  --serif: 'Segoe UI', Arial, sans-serif;
  --sans: 'Segoe UI', Arial, sans-serif;
  --mono: 'Cascadia Code', Consolas, 'Courier New', monospace;
  color-scheme: dark;
}
h1, h2, h3 { font-weight: 700; }
em { font-style: normal; }
:focus-visible { outline-color: var(--cyan); }
.site-header { background: #0b1119f5; border-color: var(--line); backdrop-filter: blur(16px); }
.header-inner { min-height: 80px; }
.brand { font-size: 24px; font-weight: 550; letter-spacing: -1px; }
.brand-mark { color: var(--orange); }
.brand-period { color: var(--cyan); }
.main-nav { font: 11px/1.5 var(--mono); gap: 28px; }
.main-nav > a { color: var(--body); }
.main-nav .nav-contact { background: var(--cyan); color: var(--paper); border: 1px solid var(--cyan); border-radius: 0; font-weight: 700; }
.main-nav .nav-contact:hover { background: #8edfff; }
.button { border-radius: 0; min-height: 54px; padding: 16px 22px; }
.button-green { background: var(--cyan); color: var(--paper); }
.button-green:hover { background: #8edfff; transform: none; }
.button-outline { border-color: #657786; background: #101b25; }
.button-outline:hover { background: #1c2d3b; }
.text-link:hover { color: var(--cyan); }
.eyebrow { font: 10px/1.6 var(--mono); font-weight: 600; letter-spacing: 1.8px; color: var(--orange); }
.hero {
  width: 100%; margin: 0; display: block; position: relative; isolation: isolate;
  padding: 88px max(56px, calc((100vw - 1264px) / 2)) 82px;
  min-height: 790px; overflow: hidden; background: #07151d;
}
.hero::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, #08121bf5 0%, #08121bd6 36%, #08121b66 63%, #08121b15 100%), linear-gradient(0deg, #0b1119 0%, transparent 20%, transparent 75%, #0b111960); }
.hero-copy { position: relative; max-width: 850px; }
.hero .eyebrow { font-size: 11px; gap: 12px; }
.small-sun { width: 7px; height: 7px; font-size: 0; background: var(--orange); box-shadow: 0 0 18px #ff873d70; }
.hero h1 { font-family: 'Arial Black', 'Segoe UI', Arial, sans-serif; font-size: clamp(78px, 7.3vw, 110px); font-weight: 900; text-transform: uppercase; letter-spacing: -6px; line-height: .98; margin-top: 28px; }
.hero h1 em { color: var(--orange); text-shadow: 0 0 50px #ff873d18; }
.hero-description { max-width: 490px; margin-top: 30px; font-size: 16px; color: #d0dbe0; }
.hero-actions { gap: 28px; margin-top: 30px; }
.hero-actions .text-link { color: var(--ink); }
.hero-note { font: 10px/1.6 var(--mono); margin-top: 32px; }
.note-line { background: var(--orange); }
.hero-art { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; border: 0; border-radius: 0; background: #07151d; transform: none; overflow: hidden; }
.hero-art img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 60% center; }
.landscape-caption { position: absolute; right: max(56px, calc((100vw - 1264px) / 2)); bottom: 82px; color: #b9d4de; font: 9px/1.8 var(--mono); letter-spacing: 1.5px; border-left: 1px solid var(--cyan); padding-left: 16px; text-transform: uppercase; }
.landscape-caption strong { display: block; color: var(--cyan); font-weight: 500; }
.mission-strip { background: #111d27; border-color: var(--line); }
.strip-inner { min-height: 88px; }
.strip-symbol { color: var(--orange); font: 30px/1 var(--mono); }
.strip-inner p { font-size: 19px; font-weight: 500; letter-spacing: -.4px; }
.strip-end { font: 9px/1.5 var(--mono); color: var(--muted); }
.section-heading h2 { font-size: 45px; letter-spacing: -2px; line-height: 1.1; font-weight: 650; }
.section-heading h2 em { color: var(--muted); }
.possibility-tabs { border: 1px solid var(--line); border-bottom: 0; background: #131e28; gap: 0; }
.possibility-tab { color: var(--body); border-right: 1px solid var(--line); font-size: 12px; padding: 18px 10px; }
.possibility-tab:last-child { border-right: 0; }
.possibility-tab[aria-selected=true] { border-color: var(--cyan); background: #152e3c; color: var(--cyan); }
.possibility-tab:hover { background: #203441; }
.possibility-tab:focus-visible { outline-offset: -5px; }
.use-case { margin-top: 0; border: 1px solid var(--line); border-radius: 0; background: #121d27; }
.tag { font: 9px/1.5 var(--mono); color: var(--cyan); background: none; padding: 0 0 0 10px; border-left: 2px solid var(--cyan); border-radius: 0; }
.use-case h3 { font-size: 32px; font-weight: 650; letter-spacing: -1px; }
.use-case-copy .text-link { color: var(--cyan); }
.workflow { background: #0b141d; border-color: var(--line); border-radius: 0; box-shadow: none; }
.workflow-label { font-family: var(--mono); color: var(--muted); }
.workflow-label > span { color: var(--cyan); }
.step-dot { border-radius: 0; border-color: #607886; color: var(--cyan); font-family: var(--mono); }
.human-step .step-dot { background: var(--cyan); color: var(--paper); border-color: var(--cyan); }
.workflow-step strong { font-size: 13px; }
.workflow-step div > span { font-size: 12px; }
.example-note { font-size: 10px; }
.services-grid { gap: 0; border: 1px solid var(--line); }
.service { background: #101b25; border-top: 0; border-right: 1px solid var(--line); padding: 32px; }
.service:last-child { border-right: 0; }
.service-icon { border-radius: 0; background: none; color: var(--orange); font: 34px/1 var(--mono); }
.service:nth-child(2) .service-icon { background: none; color: var(--cyan); }
.service:nth-child(3) .service-icon { background: none; color: #a7df70; }
.service-top > span:last-child { font-family: var(--mono); }
.service h3 { font-size: 25px; font-weight: 650; margin-top: 28px; }
.service li::before { color: var(--cyan); }
.approach { background: #101d24; border-color: var(--line); }
.process-number { color: var(--orange); border-color: #40515b; font-family: var(--mono); }
.process-grid h3 { font-size: 23px; font-weight: 650; }
.responsibility { background: #172d29; color: var(--ink); border-bottom: 1px solid #38564b; position: relative; overflow: hidden; }
.responsibility::before { content: ''; pointer-events: none; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, transparent 0 60px, #a7df7009 60px 61px); }
.responsibility-inner { position: relative; }
.responsibility .eyebrow { color: #a7df70; }
.responsibility h2 { font-size: 44px; font-weight: 650; }
.responsibility h2 em { color: #a7df70; }
.responsibility-copy > p:not(.eyebrow), .principles p { color: #c2d3cb; }
.responsibility-flower { color: #a7df70; }
.principles article { border-color: #526b5e; }
.principles article > span { color: #a7df70; font-family: var(--mono); }
.contact h2 { font-size: 64px; font-weight: 700; letter-spacing: -3px; line-height: 1.06; }
.contact h2 em { color: var(--orange); }
.status-dot { border-radius: 0; background: var(--orange); }
.footer-top > p { font: 11px/1.7 var(--mono); color: var(--muted); }
.footer-bottom { font: 9px/1.6 var(--mono); }
dialog { background: #121d27; border-color: #657b89; border-top: 3px solid var(--cyan); border-radius: 0; box-shadow: 0 20px 90px #0009; }
dialog::backdrop { background: #030a12dc; backdrop-filter: blur(8px); }
.close-dialog { border-radius: 0; }
.close-dialog:hover { background: #213440; }
dialog h2 { font-size: 38px; font-weight: 650; }
dialog h2 em { color: var(--orange); }
#brief-form input, #brief-form textarea, #brief-form select, #brief-output { color: var(--ink); border-color: #657b89; background: #0c151e; border-radius: 0; }
input::placeholder, textarea::placeholder { color: var(--muted); }
.brief-result h3 { font-size: 27px; font-weight: 650; }
.brief-status { color: var(--cyan); }

@media (max-width: 1150px) {
  .hero { padding-inline: 36px; min-height: 760px; }
  .hero h1 { font-size: 88px; }
  .hero-copy { max-width: 730px; }
  .landscape-caption { right: 36px; }
  .section-heading h2 { font-size: 39px; }
  .service { padding: 26px; }
  .service h3 { font-size: 23px; }
}
@media (max-width: 900px) {
  .main-nav { gap: 18px; font-size: 10px; }
  .hero { padding: 72px 24px; min-height: 740px; }
  .hero h1 { font-size: 82px; letter-spacing: -4.5px; }
  .hero-copy { max-width: 670px; }
  .hero .eyebrow { font-size: 10px; }
  .hero-art img { object-position: 67% center; }
  .landscape-caption { right: 24px; bottom: 40px; }
  .section-heading h2 { font-size: 34px; }
  .strip-inner p { font-size: 17px; }
  .use-case h3 { font-size: 29px; }
  .workflow-step strong { font-size: 11px; }
  .workflow-step div > span { font-size: 11px; }
  .service { padding: 24px 20px; }
  .service h3 { font-size: 22px; }
  .process-grid h3 { font-size: 21px; }
  .responsibility h2 { font-size: 36px; }
  .contact h2 { font-size: 53px; }
}
@media (max-width: 700px) {
  .header-inner { min-height: 75px; }
  .brand { font-size: 23px; }
  .main-nav { font-size: 12px; }
  .menu-icon { border-color: var(--cyan); }
  .menu-icon::after { background: var(--cyan); }
  .hero { padding: 55px 20px 68px; min-height: 720px; }
  .hero h1 { font-size: clamp(50px, 13.2vw, 86px); letter-spacing: -3px; line-height: 1.02; margin-top: 25px; }
  .hero .eyebrow { font-size: 9px; letter-spacing: 1px; }
  .hero-description { font-size: 15px; margin-top: 26px; max-width: 430px; }
  .hero-actions { gap: 12px 20px; margin-top: 26px; }
  .hero-actions .button { padding: 16px 18px; }
  .hero-note { margin-top: 22px; font-size: 9px; }
  .hero-art { max-width: none; width: 100%; justify-self: auto; }
  .hero-art img { object-position: 68% center; opacity: .75; }
  .hero::after { background: linear-gradient(90deg, #08121be8, #08121b96), linear-gradient(0deg, #0b1119, transparent 25%); }
  .landscape-caption { display: none; }
  .strip-inner p { font-size: 16px; }
  .strip-symbol { font-size: 25px; }
  .section-heading h2 { font-size: 34px; letter-spacing: -1.5px; }
  .possibility-tabs { border-radius: 0; }
  .possibility-tab { font-size: 10px; padding: 14px 6px; }
  .possibility-tab:nth-child(even) { border-right: 0; }
  .possibility-tab[aria-selected=true] { background: #152e3c; border-bottom-color: var(--cyan); }
  .use-case { margin-top: 0; padding: 30px 20px; }
  .use-case h3 { font-size: 30px; }
  .workflow-step strong { font-size: 12px; }
  .services-grid { gap: 0; }
  .service { padding: 28px 24px; border-right: 0; border-bottom: 1px solid var(--line); }
  .service:last-child { border-bottom: 0; }
  .service h3 { font-size: 27px; margin-top: 22px; }
  .process-grid h3 { font-size: 24px; }
  .responsibility h2 { font-size: 34px; }
  .contact h2 { font-size: 53px; }
  .footer-top > p { font-size: 11px; }
  .footer-top > .text-link { font-size: 10px; }
  dialog h2 { font-size: 32px; }
}
