:root {
  --ink: #071829;
  --navy: #0b2237;
  --blue: #123b52;
  --cyan: #0b7692;
  --orange: #ff8746;
  --orange-strong: #ed6d28;
  --orange-soft: #fff0e7;
  --paper: #f3f7f9;
  --white: #fff;
  --muted: #586b7e;
  --line: #d8e2e8;
  --green: #5ed6a1;
  --shadow: 0 24px 70px rgba(7, 24, 41, .13);
  --radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}
body::selection { background: #ffb689; color: var(--ink); }
a { color: inherit; }
img { max-width: 100%; }
button, input, select, textarea { font: inherit; }
.shell { width: min(1180px, 90%); margin-inline: auto; }
.skip { position: fixed; left: 1rem; top: -5rem; z-index: 100; background: #fff; padding: .7rem 1rem; border-radius: 999px; }
.skip:focus { top: 1rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.topbar { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .94); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(216, 226, 232, .85); box-shadow: 0 10px 40px rgba(7, 24, 41, .05); }
.nav-wrap { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: flex; align-items: center; }
.brand img { display: block; width: 112px; height: auto; }
.topbar nav { display: flex; align-items: center; gap: 1.55rem; }
.topbar nav a { position: relative; text-decoration: none; font-size: .86rem; font-weight: 750; transition: color .2s ease, transform .2s ease; }
.topbar nav a:hover { color: #b44912; transform: translateY(-1px); }
.nav-cta { background: var(--ink); color: #fff !important; padding: .72rem 1.05rem; border-radius: 999px; }
.menu-toggle { display: none; background: none; border: 0; padding: .5rem; }
.menu-toggle span:not(.sr-only) { display: block; width: 25px; height: 2px; background: var(--ink); margin: 5px; }

.hero { position: relative; overflow: hidden; color: #fff; padding: 6.7rem 0 0; background: radial-gradient(circle at 80% 16%, rgba(11, 118, 146, .38), transparent 29%), radial-gradient(circle at 18% 5%, rgba(255, 135, 70, .18), transparent 28%), linear-gradient(145deg, #04111e, #09243a 62%, #0a3c4b); }
.hero-aurora { position: absolute; inset: 0; opacity: .3; background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, #000 20%, transparent 90%); }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; gap: 5rem; align-items: center; padding-bottom: 5rem; }
.eyebrow, .kicker, .mini-kicker { margin: 0 0 1rem; color: #b54b16; font-size: .72rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: .55rem; color: #ffb98f; }
.eyebrow span { width: 27px; height: 1px; background: var(--orange); }
.kicker.light { color: #ffb98f; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 790px; margin-bottom: 1.5rem; font-size: clamp(3.35rem, 5.85vw, 5.75rem); line-height: .96; letter-spacing: -.058em; }
h1 em { color: #ffb080; font-style: normal; }
h2 { margin-bottom: 1.3rem; font-size: clamp(2.25rem, 4vw, 3.75rem); line-height: 1.06; letter-spacing: -.045em; }
h3 { font-size: 1.35rem; line-height: 1.25; }
.hero-slogan { max-width: 690px; color: #f6f8fb; font-size: 1.16rem; line-height: 1.55; }
.hero-slogan strong { color: #ffb080; }
.hero-lead { max-width: 690px; color: #b8c8d7; font-size: 1.02rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin: 2rem 0; }
.button { position: relative; isolation: isolate; overflow: hidden; display: inline-flex; min-height: 49px; align-items: center; justify-content: center; padding: .74rem 1.25rem; border: 0; border-radius: 999px; text-decoration: none; font-weight: 800; cursor: pointer; transition: transform .2s, filter .2s; }
.button:hover { transform: translateY(-2px); filter: brightness(1.04); }
.button.primary { color: var(--ink); background: linear-gradient(135deg, var(--orange), #ffb27a); box-shadow: 0 14px 34px rgba(237, 109, 40, .27); }
.button.ghost { color: #fff; border: 1px solid #597287; background: rgba(255, 255, 255, .025); }
.button.secondary { color: #fff; background: var(--ink); }
.trust { display: flex; flex-wrap: wrap; gap: 1.2rem; margin: 2rem 0 0; padding: 0; list-style: none; color: #aec0d0; font-size: .84rem; }
.trust li::before { content: "✓"; margin-right: .45rem; color: var(--green); }

.platform-panel { padding: 1.25rem; border: 1px solid rgba(255, 255, 255, .16); border-radius: 28px; background: linear-gradient(150deg, rgba(20, 59, 80, .92), rgba(4, 18, 31, .96)); box-shadow: 0 32px 90px rgba(0, 0, 0, .35); backdrop-filter: blur(16px); }
.panel-top, .panel-bottom { display: flex; align-items: center; justify-content: space-between; gap: .45rem; color: #92a9bb; font-size: .65rem; letter-spacing: .11em; }
.online { color: var(--green); }
.online i { display: inline-block; width: 7px; height: 7px; margin-right: .3rem; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(94, 214, 161, .12); }
.platform-flow { margin: 1.6rem 0; }
.flow-card { display: grid; grid-template-columns: 38px 1fr auto; gap: .8rem; align-items: center; padding: .9rem; border: 1px solid #36546a; border-radius: 16px; background: rgba(18, 49, 68, .7); }
.flow-card.active { border-color: rgba(255, 135, 70, .58); background: linear-gradient(110deg, rgba(255, 135, 70, .12), rgba(18, 49, 68, .75)); }
.flow-card > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; color: #ffb080; background: rgba(255, 135, 70, .12); font-size: .68rem; font-weight: 900; }
.flow-card small, .flow-card strong { display: block; }
.flow-card small { color: #829eb1; font-size: .65rem; text-transform: uppercase; letter-spacing: .1em; }
.flow-card strong { color: #eef5f8; font-size: .92rem; }
.flow-card b { color: var(--green); }
.flow-line { position: relative; width: 2px; height: 24px; margin-left: 27px; background: #355367; }
.flow-line i { position: absolute; bottom: -1px; left: -2px; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }
.engine-tags { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.5rem 0; }
.engine-tags span { padding: .35rem .65rem; border: 1px solid #37586d; border-radius: 999px; color: #abc0cf; font-size: .67rem; }
.panel-bottom { justify-content: center; letter-spacing: .05em; }
.panel-bottom b { color: var(--orange); }
.capability-strip { overflow: hidden; padding: .92rem 0; border-top: 1px solid #28475c; background: rgba(3, 16, 29, .7); color: #849bad; font-size: .68rem; letter-spacing: .16em; white-space: nowrap; }
.capability-strip div { width: max-content; animation: ticker 34s linear infinite; }
.capability-strip i { margin: 0 1.6rem; color: var(--orange); }
@keyframes ticker { to { transform: translateX(-50%); } }

.promise { border-bottom: 1px solid var(--line); background: #fff; }
.promise-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.promise-grid p { position: relative; margin: 0; padding: 1.5rem 1.8rem 1.5rem 2.2rem; color: #405467; font-size: .87rem; font-weight: 750; }
.promise-grid p::before { content: ""; position: absolute; left: .9rem; top: 50%; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); transform: translateY(-50%); }
.promise-grid p + p { border-left: 1px solid var(--line); }

.section { padding: 7rem 0; }
.section-head { display: grid; grid-template-columns: 1.15fr .85fr; gap: 5rem; align-items: center; margin-bottom: 3rem; }
.section-head > p { max-width: 540px; color: var(--muted); font-size: 1.04rem; }
.solution-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.solution-card { display: flex; min-height: 440px; flex-direction: column; padding: 2rem; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(160deg, #fff, #f8fbfd); box-shadow: 0 12px 45px rgba(7, 24, 41, .055); transition: transform .25s, box-shadow .25s, border-color .25s; }
.solution-card:hover { transform: translateY(-7px); border-color: rgba(255, 135, 70, .55); box-shadow: var(--shadow); }
.solution-card.featured { border-color: var(--navy); color: #fff; background: linear-gradient(150deg, #0d3248, #071829); }
.card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; }
.service-no { color: var(--orange-strong); font-size: .74rem; font-weight: 900; }
.icon { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 14px; color: #aa4613; background: var(--orange-soft); font-size: 1.25rem; }
.featured .icon { color: #ffb080; background: rgba(255, 255, 255, .08); }
.solution-card p { color: var(--muted); }
.solution-card.featured p { color: #b6c7d6; }
.solution-card ul { flex: 1; margin: 1.1rem 0 1.7rem; padding: 0; list-style: none; color: #506477; font-size: .89rem; }
.solution-card.featured ul { color: #bac9d6; }
.solution-card li { margin: .42rem 0; }
.solution-card li::before { content: "—"; margin-right: .5rem; color: var(--orange); }
.solution-card > a { display: flex; align-items: center; justify-content: space-between; color: #a54212; font-weight: 850; text-decoration: none; }
.solution-card.featured > a { color: #ffb080; }
.legacy-band { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 1.2rem; padding: 2rem; border-radius: var(--radius); background: linear-gradient(135deg, #e7f4f7, #fff0e7); }
.legacy-band h3 { margin-bottom: .4rem; font-size: 1.55rem; }
.legacy-band p { margin: 0; color: var(--muted); }
.mini-kicker { display: block; margin-bottom: .5rem; }

.recipes-section { color: #fff; background: var(--ink); }
.recipes-section .section-head > p { color: #aec0d0; }
.recipe-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.recipe-card { display: flex; min-height: 360px; flex-direction: column; padding: 2rem; border: 1px solid #2b4559; border-radius: var(--radius); background: linear-gradient(150deg, #0e2a40, #0a1d30); }
.recipe-card.accent { border-color: rgba(255, 135, 70, .65); background: linear-gradient(150deg, #173b50, #0b1e31); }
.recipe-status { color: #91a9ba; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.recipe-status i { display: inline-block; width: 7px; height: 7px; margin-right: .4rem; border-radius: 50%; background: var(--green); }
.recipe-card h3 { margin: 2rem 0 1rem; font-size: 1.75rem; }
.recipe-card p { color: #afc0cf; }
.recipe-path { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: auto 0 1.7rem; color: #8fa8b9; font-size: .72rem; }
.recipe-path span { padding: .35rem .55rem; border: 1px solid #365267; border-radius: 999px; }
.recipe-path b { color: var(--orange); }
.recipe-card > a { color: #ffad7a; font-weight: 850; text-decoration: none; }
.recipe-note { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; margin-top: 1rem; padding: 1.1rem 1.3rem; border: 1px solid #2b4559; border-radius: 16px; color: #9fb3c3; font-size: .84rem; }
.recipe-note strong { color: #fff; }
.recipe-note a { color: #ffad7a; font-weight: 800; text-decoration: none; }

.process-section { background: #fff; }
.process-layout { display: grid; grid-template-columns: .88fr 1.12fr; gap: 7rem; }
.process-copy { position: sticky; top: 135px; align-self: start; }
.process-copy > p:not(.kicker) { max-width: 480px; color: var(--muted); }
.text-link { color: #a64212; font-weight: 850; text-decoration: none; }
.process-steps { margin: 0; padding: 0; list-style: none; }
.process-steps li { display: grid; grid-template-columns: 60px 1fr; gap: 1.2rem; padding: 1.8rem 0; border-top: 1px solid var(--line); }
.process-steps li:last-child { border-bottom: 1px solid var(--line); }
.process-steps li > span { color: var(--orange-strong); font-size: .74rem; font-weight: 900; }
.process-steps h3 { margin-bottom: .35rem; font-size: 1.55rem; }
.process-steps p { margin: 0; color: var(--muted); }

.governance-section { color: #fff; background: radial-gradient(circle at 14% 30%, rgba(255, 135, 70, .13), transparent 26%), linear-gradient(135deg, #102e43, #071829); }
.governance-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 6rem; align-items: start; }
.governance-copy > p:not(.kicker) { max-width: 490px; color: #b1c2d0; }
.governance-copy .button { margin-top: 1rem; color: var(--ink); background: #fff; }
.governance-list { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.governance-list article { min-height: 190px; padding: 1.5rem; border: 1px solid #355065; border-radius: 18px; background: rgba(255, 255, 255, .035); }
.governance-list article > span { color: #ffad7a; font-size: .7rem; font-weight: 900; }
.governance-list h3 { margin: 1rem 0 .45rem; }
.governance-list p { margin: 0; color: #aec0cf; font-size: .88rem; }

.model-section { background: #edf4f6; }
.model-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.model-card { padding: 2rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 12px 38px rgba(7, 24, 41, .055); transition: transform .25s; }
.model-card:hover { transform: translateY(-5px); }
.model-card > span { display: block; margin-bottom: 2rem; color: #ae4b17; font-size: .74rem; font-weight: 900; }
.model-card p { min-height: 82px; color: var(--muted); }
.model-card strong { font-size: .9rem; }
.model-card.highlight { border-color: #f1b58f; background: #fff2e9; }

.story { background: #fff; }
.story-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 6rem; align-items: center; }
.story-grid > div:last-child p { color: var(--muted); font-size: 1.03rem; }
.story-mark { padding: 1rem 0 1rem 2rem; border-left: 4px solid var(--orange); }
.story-mark strong { display: block; color: var(--ink); font-size: 6rem; line-height: 1; letter-spacing: -.07em; }
.story-mark span { color: var(--muted); font-weight: 750; }

.diagnostic { padding: 7rem 0; color: #fff; background: radial-gradient(circle at 18% 10%, rgba(255, 135, 70, .13), transparent 26%), linear-gradient(135deg, #12344c, #071829); }
.diagnostic-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 5rem; align-items: start; }
.diagnostic-copy { position: sticky; top: 130px; }
.diagnostic-copy > p:not(.kicker) { color: #b8c8d6; }
.privacy-note { display: flex; flex-direction: column; margin-top: 2rem; padding: 1rem; border-left: 3px solid var(--green); background: rgba(255, 255, 255, .045); color: #b8c8d6; font-size: .82rem; }
.privacy-note strong { color: #fff; }
.wizard-card { overflow: hidden; scroll-margin-top: 100px; border: 1px solid rgba(255, 255, 255, .25); border-radius: var(--radius); background: #fff; color: var(--ink); box-shadow: 0 28px 80px rgba(0, 0, 0, .35); }
.progress { height: 5px; background: #e7ebf0; }
.progress span { display: block; width: 33.33%; height: 100%; background: var(--orange); transition: width .3s; }
.form-step { display: none; padding: 2.2rem; }
.form-step.active { display: block; }
.step-label { color: #9a4a20; font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.form-step h3 { margin: 1rem 0 1.5rem; font-size: 1.7rem; }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.choice-grid label { cursor: pointer; }
.choice-grid input { position: absolute; opacity: 0; }
.choice-grid label span { display: block; min-height: 90px; padding: 1rem; border: 1px solid #d9e0e9; border-radius: 16px; transition: border .2s, background .2s, box-shadow .2s; }
.choice-grid input:focus-visible + span { outline: 3px solid rgba(255, 135, 70, .32); }
.choice-grid input:checked + span { border-color: var(--orange); background: #fff5ef; box-shadow: 0 0 0 2px rgba(237, 125, 56, .13); }
.choice-grid b, .choice-grid small { display: block; }
.choice-grid small { margin-top: .2rem; color: var(--muted); font-size: .76rem; }
.scenario-intro { margin: -.8rem 0 1.4rem; color: var(--muted); }
.field { display: block; margin-bottom: 1rem; }
.field > span { display: block; margin-bottom: .4rem; font-size: .88rem; font-weight: 750; }
.field input, .field select, .field textarea { width: 100%; padding: .9rem 1rem; border: 1px solid #bdc8d5; border-radius: 14px; background: #fff; color: var(--ink); }
.field textarea { resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus, .assistant-form input:focus { outline: 3px solid rgba(237, 125, 56, .19); border-color: var(--orange); }
.two-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.form-actions { display: flex; align-items: center; justify-content: space-between; margin-top: 1rem; }
.form-actions .button { min-width: 190px; }
.back { padding: .7rem; border: 0; background: none; color: var(--muted); text-decoration: underline; cursor: pointer; }
.field-error { min-height: 1.5rem; margin: .5rem 0; color: #a42d20; font-size: .82rem; }
.consent { display: flex; gap: .6rem; align-items: flex-start; color: var(--muted); font-size: .82rem; }
.consent input { margin-top: .3rem; }
.turnstile-box { min-height: 70px; margin: 1rem 0; }
.honey { position: absolute; left: -9999px; }
.form-result { display: none; padding: 3rem; text-align: center; }
.form-result.active { display: block; }
.form-result .kicker { color: #a44313; }
.result-icon { display: grid; width: 58px; height: 58px; margin: 0 auto 1rem; place-items: center; border-radius: 50%; background: #e5f8ef; color: #237452; font-size: 1.5rem; }
.form-result p:not(.kicker) { color: var(--muted); }
.result-next { display: flex; flex-direction: column; gap: .25rem; margin: 1.2rem 0; padding: 1rem; border-left: 3px solid var(--orange); background: #f1f4f8; text-align: left; }
.result-next span { color: var(--muted); font-size: .86rem; }

.assistant-launch { position: fixed; right: 1.3rem; bottom: 1.3rem; z-index: 70; display: flex; align-items: center; gap: .55rem; padding: .85rem 1.1rem; border: 0; border-radius: 999px; background: linear-gradient(135deg, var(--orange), #ffb27a); color: var(--ink); box-shadow: 0 18px 45px rgba(237, 109, 40, .36); font-weight: 850; cursor: pointer; }
.assistant-dot { width: 9px; height: 9px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(255, 255, 255, .25); }
.assistant-panel { position: fixed; right: 1.3rem; bottom: 5.2rem; z-index: 71; display: none; grid-template-rows: auto 1fr auto auto auto; width: min(390px, calc(100vw - 2rem)); height: min(610px, calc(100vh - 7rem)); overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; color: var(--ink); box-shadow: 0 25px 80px rgba(0, 0, 0, .3); }
.assistant-panel.open { display: grid; }
.assistant-head { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.1rem; background: var(--ink); color: #fff; }
.assistant-head strong, .assistant-head small { display: block; }
.assistant-head small { color: #adbed2; font-size: .72rem; font-weight: 400; }
.assistant-head button { border: 0; background: transparent; color: #fff; font-size: 1.7rem; cursor: pointer; }
.assistant-messages { overflow: auto; padding: 1rem; background: #f4f6fa; }
.assistant-msg { width: fit-content; max-width: 88%; margin-bottom: .65rem; padding: .7rem .85rem; border-radius: .65rem; font-size: .88rem; line-height: 1.5; }
.assistant-msg.bot { border: 1px solid var(--line); background: #fff; }
.assistant-msg.user { margin-left: auto; background: #193653; color: #fff; }
.assistant-suggestions { display: flex; gap: .4rem; overflow-x: auto; padding: .65rem .8rem; border-top: 1px solid var(--line); }
.assistant-suggestions button { padding: .42rem .65rem; border: 1px solid #d3dce6; border-radius: 999px; background: #fff; color: #37475a; font-size: .72rem; white-space: nowrap; cursor: pointer; }
.assistant-form { display: grid; grid-template-columns: 1fr 42px; gap: .45rem; padding: .7rem .8rem; border-top: 1px solid var(--line); }
.assistant-form input { min-width: 0; padding: .65rem; border: 1px solid #bcc8d5; border-radius: .4rem; }
.assistant-form button { border: 0; border-radius: .4rem; background: var(--orange); font-size: 1.15rem; font-weight: 900; cursor: pointer; }
.assistant-disclaimer { margin: 0; padding: 0 .8rem .65rem; color: #6b7788; font-size: .65rem; }

footer { padding: 4rem 0 1.5rem; background: #04101c; color: #aebbc9; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 2rem; }
.footer-brand img { filter: none; }
footer h3 { color: #fff; font-size: .85rem; }
footer a { display: block; margin: .5rem 0; text-decoration: none; font-size: .82rem; }
.footer-grid p { max-width: 285px; font-size: .85rem; }
.footer-bottom { display: flex; justify-content: space-between; margin-top: 2.5rem; padding-top: 1.2rem; border-top: 1px solid #29384b; font-size: .72rem; }

/* Páginas individuais de soluções */
.solution-hero { position: relative; overflow: hidden; padding: 5.4rem 0 4.8rem; color: #fff; background: radial-gradient(circle at 82% 12%, rgba(11,118,146,.34), transparent 29%), linear-gradient(145deg,#04111e,#09243a 65%,#0a3c4b); }
.solution-hero::after { content:""; position:absolute; inset:0; opacity:.24; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:64px 64px; pointer-events:none; }
.solution-hero .shell { position:relative; z-index:1; }
.breadcrumb { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:2rem; color:#9fb5c5; font-size:.76rem; }
.breadcrumb a { text-decoration:none; }
.breadcrumb b { color:var(--orange); }
.solution-hero-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:5rem; align-items:center; }
.solution-hero h1 { font-size:clamp(3rem,5.5vw,5.2rem); }
.solution-hero .hero-lead { font-size:1.08rem; }
.solution-summary { padding:1.5rem; border:1px solid rgba(255,255,255,.16); border-radius:22px; background:rgba(7,24,41,.64); backdrop-filter:blur(14px); }
.solution-summary small { display:block; margin-bottom:1rem; color:#ffb080; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.solution-summary ul { margin:0; padding:0; list-style:none; }
.solution-summary li { padding:.72rem 0; border-top:1px solid #29465a; color:#d4e0e8; }
.solution-summary li::before { content:"✓"; margin-right:.55rem; color:var(--green); }
.outcome-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.outcome-card { padding:1.7rem; border:1px solid var(--line); border-radius:20px; background:#fff; }
.outcome-card span { display:block; margin-bottom:1rem; color:var(--orange-strong); font-size:.72rem; font-weight:900; }
.outcome-card p { margin:0; color:var(--muted); }
.detail-split { display:grid; grid-template-columns:.82fr 1.18fr; gap:6rem; align-items:start; }
.detail-copy { position:sticky; top:125px; }
.detail-copy p { color:var(--muted); }
.use-case-list { display:grid; gap:.8rem; }
.use-case { padding:1.45rem; border:1px solid var(--line); border-radius:18px; background:#fff; }
.use-case h3 { margin-bottom:.45rem; }
.use-case p { margin:0; color:var(--muted); font-size:.9rem; }
.recipe-detail-section { background:var(--ink); color:#fff; }
.recipe-detail-section .section-head>p { color:#adbfcd; }
.recipe-detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.recipe-detail { min-height:300px; padding:1.8rem; border:1px solid #2d4a5e; border-radius:20px; background:linear-gradient(150deg,#0e2a40,#091c2d); scroll-margin-top:110px; }
.recipe-detail .tag { color:#ffad7a; font-size:.7rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.recipe-detail h3 { margin:1.3rem 0 .8rem; font-size:1.55rem; }
.recipe-detail p { color:#afc1cf; }
.recipe-detail ul { padding-left:1.1rem; color:#cfdae2; font-size:.88rem; }
.delivery-band { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; overflow:hidden; border:1px solid var(--line); border-radius:20px; background:var(--line); }
.delivery-band article { padding:1.4rem; background:#fff; }
.delivery-band span { color:var(--orange-strong); font-size:.7rem; font-weight:900; }
.delivery-band h3 { margin:.7rem 0 .4rem; font-size:1.05rem; }
.delivery-band p { margin:0; color:var(--muted); font-size:.82rem; }
.solution-cta { padding:4rem 0; color:#fff; background:linear-gradient(135deg,#123b52,#071829); }
.solution-cta-grid { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.solution-cta h2 { max-width:720px; margin-bottom:.5rem; font-size:clamp(2rem,4vw,3.2rem); }
.solution-cta p { margin:0; color:#b5c6d3; }
.solution-footer-note { max-width:320px; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s, transform .65s; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 1020px) {
  .topbar nav { gap: 1rem; }
  .topbar nav a { font-size: .81rem; }
  .solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recipe-grid { grid-template-columns: 1fr 1fr; }
  .recipe-card:last-child { grid-column: 1 / -1; min-height: 300px; }
}

@media (max-width: 900px) {
  .topbar nav { position: absolute; top: 82px; left: 0; right: 0; display: none; flex-direction: column; align-items: flex-start; padding: 1.3rem 5%; border-bottom: 1px solid var(--line); background: #fff; }
  .topbar nav.open { display: flex; }
  .menu-toggle { display: block; }
  .hero-grid, .section-head, .process-layout, .governance-grid, .story-grid, .diagnostic-grid, .solution-hero-grid, .detail-split { grid-template-columns: 1fr; gap: 3rem; }
  .hero { padding-top: 4.8rem; }
  .platform-panel { max-width: 650px; }
  .section { padding: 5.5rem 0; }
  .process-copy, .diagnostic-copy { position: static; }
  .detail-copy { position:static; }
  .outcome-grid,.recipe-detail-grid { grid-template-columns:1fr 1fr; }
  .delivery-band { grid-template-columns:1fr 1fr; }
  .model-grid { grid-template-columns: 1fr; }
  .model-card p { min-height: 0; }
  .story-mark strong { font-size: 4.5rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  .shell { width: min(92%, 1180px); }
  h1 { font-size: clamp(3rem, 14vw, 4.2rem); }
  h2 { font-size: clamp(2.1rem, 10vw, 3rem); }
  .hero-grid { padding-bottom: 4rem; }
  .hero-actions .button { width: 100%; }
  .promise-grid { grid-template-columns: 1fr; padding: .6rem 0; }
  .promise-grid p { padding: .7rem 1rem .7rem 1.8rem; }
  .promise-grid p + p { border-left: 0; }
  .promise-grid p::before { left: .4rem; }
  .solution-grid, .recipe-grid, .governance-list, .choice-grid, .two-fields, .outcome-grid, .recipe-detail-grid, .delivery-band { grid-template-columns: 1fr; }
  .solution-card { min-height: 0; }
  .recipe-card, .recipe-card:last-child { grid-column: auto; min-height: 340px; }
  .recipe-note { grid-template-columns: 1fr; }
  .legacy-band { display: block; }
  .legacy-band .button { width: 100%; margin-top: 1.2rem; }
  .form-step { padding: 1.35rem; }
  .form-actions { gap: .8rem; }
  .form-actions .button { min-width: 0; flex: 1; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { display: block; }
  .footer-bottom span { display: block; margin: .3rem 0; }
  .assistant-launch { width: 52px; height: 52px; justify-content: center; padding: 0; }
  .assistant-launch span:last-child { display: none; }
  .assistant-panel { right: 1rem; bottom: 4.8rem; }
  .solution-cta-grid { display:block; }
  .solution-cta .button { width:100%; margin-top:1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .capability-strip div { animation: none; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .button { transition: none; }
}
