:root {
  --navy: #13294B;
  --navy-2: #0B1D37;
  --navy-3: #071527;
  --brand-blue: #1D57A5;
  --blue: #3F6DE4;
  --lime: #93DA49;
  --green: #78B547;
  --product-green: #2D8F49;
  --ink: #1F2D3D;
  --text: #333333;
  --muted: #5F6B7A;
  --line: #D7DBE7;
  --surface: #F8FAFD;
  --surface-2: #F0F3F7;
  --white: #FFFFFF;
  --warm: #F5F3ED;
  --readable-muted: #596678;
  --readable-green: #247A3E;
  --readable-accent: #3F7D2B;
  --readable-on-dark: #C5D1DF;
  --control-border: #7A8796;
  --focus-ring: #3F6DE4;
  --visited-link: #5B3A92;
  --flow-arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9m-4-4 4 4-4 4' fill='none' stroke='%232F6599' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --flow-arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3v9m-4-4 4 4 4-4' fill='none' stroke='%232F6599' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --shadow-sm: 0 12px 28px rgba(19, 41, 75, .08);
  --shadow-lg: 0 32px 80px rgba(5, 22, 47, .22);
  --shell: min(1460px, calc(100% - 64px));
  --radius: 18px;
  --transition: 260ms cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--navy-3); }
body { margin: 0; color: var(--text); background: var(--white); font-family: "Montserrat", Arial, sans-serif; font-size: 16px; line-height: 1.55; overflow-x: hidden; }
body.dialog-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, h4, blockquote { margin: 0; }
h1, h2, h3, h4 { color: var(--navy); line-height: 1.08; letter-spacing: -.035em; }
button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.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; }
.skip-link { position: fixed; z-index: 2000; top: 8px; left: 8px; transform: translateY(-140%); padding: 11px 16px; background: var(--white); color: var(--navy); border: 2px solid var(--lime); font-weight: 700; }
.skip-link:focus { transform: translateY(0); }
.section-shell { width: var(--shell); margin-inline: auto; }

/* Header */
.site-header { position: sticky; z-index: 1000; top: 0; height: 76px; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(19,41,75,.1); backdrop-filter: blur(16px); }
.header-shell { width: min(1540px, calc(100% - 48px)); height: 100%; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.brand { display: flex; flex: 0 0 auto; align-items: center; height: 54px; }
.brand img { width: 181px; height: auto; }
.primary-nav { display: flex; align-items: center; gap: clamp(17px, 1.6vw, 30px); color: #344054; font-size: 13px; font-weight: 600; }
.primary-nav > a:not([class]), .nav-group > button { position: relative; padding: 27px 0 25px; border: 0; background: transparent; cursor: pointer; }
.primary-nav > a:not([class])::after, .nav-group > button::after { content: ""; position: absolute; right: 0; bottom: 18px; left: 0; height: 2px; background: var(--lime); transform: scaleX(0); transform-origin: left; transition: transform var(--transition); }
.primary-nav > a:hover::after, .nav-group:hover > button::after { transform: scaleX(1); }
.nav-group { position: relative; }
.nav-group > button { display: flex; gap: 6px; align-items: center; font-weight: 600; }
.nav-group > button span { color: var(--brand-blue); transition: transform var(--transition); }
.nav-group:hover > button span, .nav-group:focus-within > button span { transform: rotate(180deg); }
.nav-submenu { position: absolute; top: calc(100% - 12px); left: -22px; width: 218px; display: grid; padding: 12px; background: var(--white); border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow-sm); opacity: 0; pointer-events: none; transform: translateY(-5px); transition: opacity var(--transition), transform var(--transition); }
.nav-group:hover .nav-submenu, .nav-group:focus-within .nav-submenu { opacity: 1; pointer-events: auto; transform: translateY(0); }
.nav-submenu a { padding: 10px 12px; border-radius: 6px; }
.nav-submenu a:hover { background: var(--surface); color: var(--brand-blue); }
.nav-secondary, .nav-primary { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; border-radius: 7px; font-size: 14px; font-weight: 700; cursor: pointer; }
.nav-secondary { color: var(--brand-blue); background: var(--white); border: 1px solid var(--control-border); border-color: var(--control-border); }
.site-header .nav-secondary { min-width: 150px; max-width: 168px; padding-inline: 14px; line-height: 1.15; text-align: center; text-wrap: balance; }
.nav-primary { color: var(--white); background: var(--navy); border: 1px solid var(--navy); }
.nav-secondary:hover { border-color: var(--brand-blue); background: var(--surface); }
.nav-primary:hover { color: var(--navy); background: var(--lime); border-color: var(--lime); }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--line); background: var(--white); border-radius: 7px; }
.menu-toggle > span:not(.sr-only) { display: block; width: 100%; height: 2px; margin: 5px 0; background: var(--navy); transition: var(--transition); }

/* Hero */
.hero { position: relative; min-height: calc(100vh - 76px); height: min(910px, calc(100vh - 76px)); display: flex; align-items: stretch; overflow: hidden; background: var(--navy-3); }
.hero-media, .hero-media img, .hero-overlay, .hero-topography { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-media img { object-fit: cover; object-position: center; animation: hero-breathe 18s ease-in-out infinite alternate; }
.hero-overlay { background: linear-gradient(90deg, rgba(3,14,28,.35) 0%, rgba(3,14,28,.1) 42%, rgba(5,19,37,.34) 64%, rgba(5,19,37,.78) 100%), linear-gradient(180deg, rgba(5,16,31,.05) 40%, rgba(5,16,31,.65) 100%); }
.hero-topography { opacity: .12; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='840' height='420' viewBox='0 0 840 420'%3E%3Cg fill='none' stroke='%2393DA49' stroke-width='1'%3E%3Cpath d='M-30 325C80 250 155 366 272 288s213-45 318 2 182 8 286-58'/%3E%3Cpath d='M-60 356c131-83 221 34 338-43s206-54 316-4 193 10 299-60'/%3E%3Cpath d='M-80 390c151-92 244 25 366-52s201-63 315-10 201 12 306-65'/%3E%3C/g%3E%3C/svg%3E"); background-position: bottom right; background-repeat: no-repeat; background-size: 70vw auto; }
.hero-shell { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); align-items: end; gap: 8vw; padding: clamp(105px, 16vh, 180px) 0 clamp(95px, 13vh, 132px); }
.hero-copy { max-width: 780px; align-self: center; padding: 32px 0 28px; text-shadow: 0 3px 24px rgba(0,0,0,.45); }
.hero h1 { max-width: 760px; color: var(--white); font-size: clamp(46px, 5.45vw, 86px); font-weight: 700; line-height: .98; letter-spacing: -.055em; text-wrap: balance; }
.hero-copy > p { max-width: 700px; margin-top: 30px; color: #EEF4F8; font-size: clamp(18px, 1.45vw, 23px); line-height: 1.55; text-wrap: balance; }
.hero-copy > p::before { content: ""; display: block; width: 82px; height: 4px; margin-bottom: 24px; background: var(--lime); }
.hero-mobile-adoption { display: none; }
.hero-statement > span { color: var(--lime); font-size: 14px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.hero-statement > strong { display: block; margin-top: 12px; color: var(--white); font-size: clamp(25px, 2.2vw, 36px); line-height: 1.12; letter-spacing: -.035em; }
.hero-statement-copy { margin-top: 12px; color: #D7E1EC; font-size: 14px; line-height: 1.5; }
.hero-statement > div { display: flex; align-items: center; gap: 14px; margin-top: 25px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.2); }
.hero-statement > div i { width: 10px; height: 10px; flex: 0 0 auto; background: var(--lime); border-radius: 50%; box-shadow: 0 0 0 8px rgba(147,218,73,.13); }
.hero-statement > div > p { color: #D7E1EC; font-size: 16px; font-weight: 500; }
.hero-statement b { padding: 0 5px; color: var(--lime); }
.hero-scroll { position: absolute; z-index: 5; bottom: 25px; left: 50%; display: grid; justify-items: center; color: rgba(255,255,255,.82); font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; transform: translateX(-50%); }
.hero-scroll i { width: 1px; height: 30px; margin-top: 8px; overflow: hidden; background: rgba(255,255,255,.3); }
.hero-scroll i::after { content: ""; display: block; width: 100%; height: 12px; background: var(--lime); animation: scroll-cue 2s ease-in-out infinite; }
@keyframes hero-breathe { from { transform: scale(1); } to { transform: scale(1.025); } }
@keyframes scroll-cue { 0% { transform: translateY(-14px); } 60%,100% { transform: translateY(34px); } }

/* Shared section language */
.section-textured { position: relative; background: var(--surface); }
.section-textured::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .52; background-image: linear-gradient(rgba(19,41,75,.028) 1px, transparent 1px), linear-gradient(90deg, rgba(19,41,75,.028) 1px, transparent 1px); background-size: 46px 46px; mask-image: linear-gradient(to bottom, black, transparent 62%); }
.section-topographic { position: relative; isolation: isolate; }
.section-topographic::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .12; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='960' height='520' viewBox='0 0 960 520'%3E%3Cg fill='none' stroke='%2313294B' stroke-width='1'%3E%3Cpath d='M-20 102c131-91 202 24 325-45s191 38 318-33 212 35 353-48'/%3E%3Cpath d='M-30 137c148-99 217 17 341-51s193 37 321-31 211 36 357-53'/%3E%3Cpath d='M-50 176c166-110 236 9 366-57s194 31 327-32 214 32 365-60'/%3E%3Cpath d='M-70 222c181-123 255-2 393-67s197 25 334-34 219 27 376-67'/%3E%3C/g%3E%3C/svg%3E"); background-size: min(960px, 100vw) auto; background-position: top right; background-repeat: repeat-y; }
.section-heading { display: grid; grid-template-columns: minmax(220px, .58fr) minmax(0, 1.42fr); gap: clamp(40px, 8vw, 132px); align-items: start; }
.heading-wide h2 { max-width: 950px; font-size: clamp(40px, 4.8vw, 72px); font-weight: 700; }
.heading-wide > div:last-child > p { max-width: 790px; margin-top: 24px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.section-label { display: flex; align-items: center; gap: 15px; min-width: 200px; color: var(--navy); }
.section-label span { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(19,41,75,.24); border-radius: 50%; font-size: 12px; font-weight: 700; }
.section-label p { font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.section-label.light { color: var(--white); }
.section-label.light span { border-color: rgba(255,255,255,.36); }
.difference-kicker { display: flex; flex-direction: column; align-items: flex-start; }
.difference-ambient { width: 230px; height: 124px; margin-top: 28px; opacity: .46; pointer-events: none; transform: translateX(-4px); }
.difference-ambient svg { display: block; width: 100%; height: 100%; overflow: visible; }
.difference-ambient [data-ambient-contour] { fill: none; stroke: rgba(29,87,165,.18); stroke-width: .8; stroke-linecap: round; transform-box: view-box; transform-origin: center; animation: difference-breathe 14s ease-in-out infinite; }
.difference-ambient .contour-b { stroke: rgba(112,173,56,.15); animation-delay: -4.7s; animation-duration: 17s; }
.difference-ambient .contour-c { stroke: rgba(29,87,165,.1); animation-delay: -8.6s; animation-duration: 20s; }
.difference-ambient [data-ambient-particle] { fill: #3F78B7; opacity: .46; transform-box: fill-box; transform-origin: center; filter: drop-shadow(0 0 3px rgba(29,87,165,.16)); animation: difference-drift 12s ease-in-out infinite; }
.difference-ambient .particle-b { fill: #70AD38; animation-delay: -4.1s; animation-duration: 15s; }.difference-ambient .particle-c { animation-delay: -8.1s; animation-duration: 18s; }
.difference-ambient .ambient-focus { fill: rgba(255,255,255,.62); stroke: rgba(112,173,56,.22); stroke-width: .7; opacity: .3; transform-box: fill-box; transform-origin: center; animation: difference-breathe 16s ease-in-out infinite reverse; }
.difference-ambient [data-ambient-interaction] { stroke: rgba(29,87,165,.22); stroke-width: .7; stroke-linecap: round; stroke-dasharray: 2 7; vector-effect: non-scaling-stroke; opacity: 0; pointer-events: none; }
.difference-ambient.is-scripted [data-ambient-contour], .difference-ambient.is-scripted [data-ambient-particle], .difference-ambient.is-scripted .ambient-focus { animation: none; transform: none; }
@keyframes difference-breathe { 0%,100% { opacity: .3; transform: translate3d(0,1.5px,0) scale(.99); } 50% { opacity: .58; transform: translate3d(0,-1px,0) scale(1.01); } }
@keyframes difference-drift { 0%,100% { opacity: .3; transform: translate3d(-2px,1px,0) scale(.92); } 48% { opacity: .62; transform: translate3d(2.5px,-2px,0) scale(1.05); } }
.chapter-label { display: inline-block; color: var(--brand-blue); font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }

/* 01 integrated decision story */
.difference { padding: clamp(105px, 11vw, 172px) 0 clamp(110px, 12vw, 184px); overflow: hidden; }
.difference::after { content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none; opacity: .16; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='960' height='540' viewBox='0 0 960 540'%3E%3Cg fill='none' stroke='%2313294B' stroke-opacity='.28' stroke-width='1'%3E%3Cpath d='M-74 108C80 19 220 143 365 68s240 43 372-20 224 37 341-32'/%3E%3Cpath d='M-96 151C74 51 224 177 376 99s247 44 385-20 231 39 354-38'/%3E%3Cpath d='M-118 200C67 86 230 218 389 135s254 48 398-18 239 39 368-44'/%3E%3Cpath d='M470 242c-122 5-210 69-195 143 15 75 124 122 260 101 137-21 214-97 171-165-42-68-151-84-236-79Z'/%3E%3Cpath d='M480 274c-91 4-159 51-148 105 11 55 93 89 194 73 101-15 158-70 127-120-31-49-111-61-173-58Z'/%3E%3Cpath d='M490 306c-60 2-107 33-100 68 7 36 62 58 130 48 69-10 109-45 88-78-21-33-75-41-118-38Z'/%3E%3Cpath d='M-45 455c125-72 213 27 331-41s201-31 306 10 193 7 312-65'/%3E%3C/g%3E%3C/svg%3E"); background-size: 920px 518px; background-position: right -110px top 30px; background-repeat: repeat-y; mask-image: linear-gradient(to bottom,black 0%,rgba(0,0,0,.88) 62%,transparent 96%); }
.difference .section-shell { position: relative; z-index: 1; }
.integrated-story { display: grid; grid-template-columns: minmax(310px, .7fr) minmax(620px, 1.3fr); gap: clamp(42px, 6vw, 92px); align-items: center; margin-top: clamp(74px, 8vw, 124px); }
.integrated-copy h3 { max-width: 510px; margin-top: 13px; font-size: clamp(32px, 3.5vw, 52px); }
.integrated-copy > p { max-width: 530px; margin-top: 22px; color: var(--muted); font-size: 17px; line-height: 1.72; }
.system-controls { display: grid; gap: 6px; margin-top: 34px; }
.system-control { min-height: 48px; display: flex; align-items: center; gap: 14px; padding: 10px 14px; border: 0; border-left: 3px solid transparent; color: #596678; background: transparent; text-align: left; font-size: 14px; font-weight: 600; cursor: pointer; transition: var(--transition); }
.system-control span { color: #98A2B3; font-size: 12px; }
.system-control:hover { color: var(--navy); background: rgba(255,255,255,.72); }
.system-control.is-active { color: var(--navy); background: var(--white); border-left-color: var(--lime); box-shadow: var(--shadow-sm); }
.system-control.is-active span { color: var(--brand-blue); }
.integrated-visual { overflow: hidden; background: var(--white); border: 1px solid #CBD3E0; border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.visual-titlebar { height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; color: #334155; background: #F4F6F8; border-bottom: 1px solid #D7DEE8; font-size: 12px; font-weight: 600; }
.visual-titlebar > div { display: flex; align-items: center; gap: 10px; }
.visual-titlebar img { width: 29px; height: 29px; object-fit: contain; }
.active-together { display: flex; align-items: center; gap: 8px; color: var(--product-green); }
.active-together i { width: 8px; height: 8px; background: var(--lime); border: 2px solid var(--product-green); border-radius: 50%; box-shadow: 0 0 0 5px rgba(147,218,73,.16); }
.model-grid { display: grid; grid-template-columns: minmax(0, 1.26fr) minmax(260px, .74fr); min-height: 462px; }
.pit-model { position: relative; display: grid; place-items: center; padding: 36px 28px 52px; background: linear-gradient(155deg, #FAFBFC 0%, #EFF3F7 100%); border-right: 1px solid #D7DEE8; }
.pit-model svg { width: 100%; overflow: visible; }
.bench { fill: url(#benchRock); stroke: #8D9BAF; stroke-width: 1; transition: fill var(--transition), opacity var(--transition); }
.bench-5 { fill: #C9D3E0; }.bench-4 { fill: #B7C3D2; }.bench-3 { fill: #AAB8C9; }.bench-2 { fill: #96A7BA; }.bench-1 { fill: #8799AE; }
.haul-road { fill: none; stroke: var(--white); stroke-width: 5; stroke-dasharray: 12 7; opacity: .88; }
.period-cells rect { fill: var(--blue); opacity: .84; stroke: var(--white); }
.period-cells rect:nth-child(2n) { fill: var(--lime); }
.geometry-measures { fill: none; stroke: #D67B32; stroke-width: 2; opacity: 0; transition: opacity var(--transition); }
.integrated-visual[data-system-visual="geometry"] .geometry-measures { opacity: 1; }
.integrated-visual[data-system-visual="destinations"] .period-cells rect { fill: #2D8F49; }
.integrated-visual[data-system-visual="quality"] .period-cells rect:nth-child(3n) { fill: #C08C2C; }
.integrated-visual[data-system-visual="capacity"] .period-cells rect { opacity: .58; }
.pit-legend { position: absolute; right: 24px; bottom: 19px; left: 24px; display: flex; justify-content: center; gap: 18px; color: #667085; font-size: 10px; }
.pit-legend span { display: flex; align-items: center; gap: 6px; }
.pit-legend i { width: 9px; height: 9px; border-radius: 2px; }
.pit-legend .p1 { background: #3F6DE4; }.pit-legend .p2 { background: #5A91E8; }.pit-legend .p3 { background: #93DA49; }.pit-legend .p4 { background: #78B547; }
.model-detail { position: relative; padding: 34px 28px; background: var(--white); }
.system-pane { display: none; animation: pane-in .35s ease both; }
.system-pane.is-active { display: block; }
.system-pane > span { color: var(--product-green); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.system-pane > strong { display: block; margin-top: 11px; color: var(--navy); font-size: 22px; line-height: 1.18; letter-spacing: -.025em; }
.system-pane > p { margin-top: 14px; color: #667085; font-family: "Roboto", sans-serif; font-size: 16px; line-height: 1.55; }
@keyframes pane-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
.mini-bars { height: 142px; display: flex; align-items: end; gap: 9px; margin-top: 34px; padding: 16px 15px 0; border-left: 1px solid #C6CFDB; border-bottom: 1px solid #C6CFDB; background: repeating-linear-gradient(to top, transparent 0 35px, #EEF1F5 35px 36px); }
.mini-bars i { width: 16%; height: var(--h); background: linear-gradient(to top, var(--brand-blue), #6C99D5); border-radius: 2px 2px 0 0; animation: bar-rise .55s ease both; }
.mini-bars i:nth-child(3) { background: linear-gradient(to top, var(--product-green), var(--lime)); }
@keyframes bar-rise { from { height: 0; } }
.flow-map { position: relative; height: 160px; margin-top: 28px; }
.flow-map::before { content: "BLOCKS"; position: absolute; top: 60px; left: 0; display: grid; place-items: center; width: 64px; height: 42px; color: var(--navy); background: #EEF3FA; border: 1px solid #9DB3CE; border-radius: 6px; font-size: 9px; font-weight: 700; }
.flow-map i, .flow-map b, .flow-map em, .flow-map span { position: absolute; right: 0; width: 75px; height: 30px; border-radius: 5px; }
.flow-map i { top: 5px; background: #DDF3CF; border: 1px solid #8BC85B; }.flow-map b { top: 50px; background: #DCE8F8; border: 1px solid #7AA1D3; }.flow-map em { top: 95px; background: #F4E7CB; border: 1px solid #D6A95D; }.flow-map span { top: 140px; background: #E7E9ED; border: 1px solid #A7AFBA; }
.flow-map i::before, .flow-map b::before, .flow-map em::before, .flow-map span::before { content: ""; position: absolute; top: 14px; right: 75px; width: 105px; height: 1px; background: currentColor; transform-origin: right; }
.flow-map i::before { transform: rotate(-19deg); }.flow-map b::before { transform: rotate(-6deg); }.flow-map em::before { transform: rotate(7deg); }.flow-map span::before { transform: rotate(21deg); }
.capacity-lines { position: relative; height: 150px; margin-top: 32px; border-left: 1px solid #C6CFDB; border-bottom: 1px solid #C6CFDB; }
.capacity-lines::before { content: "CAPACITY"; position: absolute; top: 35px; right: 0; left: 0; border-top: 2px dashed #E78B3D; color: #B96018; font-size: 8px; font-weight: 700; text-align: right; }
.capacity-lines i { position: absolute; bottom: 0; width: 16%; background: #7BA1D2; }
.capacity-lines i:nth-child(1) { left: 8%; height: 54%; }.capacity-lines i:nth-child(2) { left: 36%; height: 78%; }.capacity-lines i:nth-child(3) { left: 64%; height: 68%; }.capacity-lines b { position: absolute; right: 0; bottom: 26px; left: 0; height: 58px; border-top: 3px solid var(--product-green); transform: skewY(-6deg); }
.quality-band { position: relative; height: 150px; margin-top: 32px; background: linear-gradient(to bottom, transparent 0 25%, rgba(147,218,73,.16) 25% 67%, transparent 67%); border-left: 1px solid #C6CFDB; border-bottom: 1px solid #C6CFDB; }
.quality-band::before, .quality-band::after { content: ""; position: absolute; right: 0; left: 0; border-top: 1px dashed var(--green); }
.quality-band::before { top: 25%; }.quality-band::after { top: 67%; }
.quality-band i { position: absolute; top: 48%; right: 4%; left: 4%; height: 3px; background: var(--brand-blue); transform: rotate(-3deg); }
.quality-band b, .quality-band span { position: absolute; width: 9px; height: 9px; background: var(--white); border: 2px solid var(--brand-blue); border-radius: 50%; }
.quality-band b { top: 59%; left: 30%; }.quality-band span { top: 38%; right: 25%; }
.geometry-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 32px; }
.geometry-list span { padding: 12px 8px; color: var(--navy); background: #F4F7FA; border-left: 3px solid #D67B32; font-size: 11px; font-weight: 600; }
.model-footer { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #D7DEE8; background: #FAFBFC; }
.model-footer span { padding: 15px 10px; color: #667085; border-right: 1px solid #E4E7EC; text-align: center; font-size: 10px; font-weight: 600; }
.model-footer span:last-child { border: 0; }
.quantified-context { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 18px; background: #EEF3F8; border-top: 1px solid #D7DEE8; }.quantified-context > span { color: #657488; font-size: 8px; font-weight: 700; text-transform: uppercase; }.quantified-context > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }.quantified-context b { padding: 5px 8px; color: #315176; background: var(--white); border: 1px solid #C8D5E4; border-radius: 12px; font-size: 7px; font-weight: 600; }

/* Scenario cloud */
.landscape-story { margin-top: clamp(64px, 7vw, 104px); }
.landscape-head { display: grid; grid-template-columns: 1fr; gap: 0; align-items: end; }
.landscape-head h3 { margin-top: 12px; font-size: clamp(36px, 4vw, 58px); }
.landscape-head h3 > span { display: block; white-space: nowrap; }
.landscape-head > p { max-width: 650px; color: var(--muted); font-size: 17px; line-height: 1.72; }
.landscape-panel { position: relative; display: grid; grid-template-columns: 250px minmax(0, 1fr); margin-top: 48px; overflow: hidden; background: var(--navy); border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.metric-switch { display: flex; flex-direction: column; gap: 5px; padding: 35px 24px; color: var(--white); background: linear-gradient(180deg, #17345E 0%, var(--navy-2) 100%); border-right: 1px solid rgba(255,255,255,.13); }
.metric-switch-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
.metric-switch-head span { color: #B6C4D7; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.metric-switch-head b { flex: 0 0 auto; color: var(--lime); font-size: 12px; letter-spacing: .06em; }
.metric-tabs { display: flex; flex-direction: column; gap: 5px; }
.metric-tabs button { min-height: 46px; padding: 0 13px; color: #CED7E4; background: transparent; border: 1px solid transparent; border-radius: 6px; text-align: left; font-size: 14px; cursor: pointer; transition: var(--transition); }
.metric-tabs button:hover { background: rgba(255,255,255,.06); }
.metric-tabs button.is-active { color: var(--white); background: rgba(147,218,73,.12); border-color: rgba(147,218,73,.4); }
.metric-tabs button.is-active::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 9px; background: var(--lime); border-radius: 50%; }
.metric-playback { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; gap: 7px; margin-top: 12px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.13); }
.metric-playback button { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 0 10px; color: #D7E1EC; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.2); border-radius: 22px; font: inherit; cursor: pointer; transition: var(--transition); }
.metric-playback button:hover, .metric-playback button:focus-visible { color: var(--white); background: rgba(255,255,255,.09); border-color: var(--lime); outline: 3px solid var(--focus-ring); }
.metric-pause { justify-content: center; }
.metric-pause [data-metric-pause-icon] { font-size: 12px; line-height: 1; }
.metric-pause [data-metric-pause-label] { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.metric-switch[data-metric-state="running"] .metric-pause { color: var(--lime); border-color: rgba(147,218,73,.42); }
.metric-switch[data-metric-state="paused"] .metric-pause { color: var(--white); background: rgba(147,218,73,.12); border-color: rgba(147,218,73,.48); }
.scenario-chart { position: relative; min-height: 520px; padding: 30px 35px 49px 58px; background: radial-gradient(circle at 65% 45%, rgba(63,109,228,.12), transparent 40%), var(--navy); }
.scenario-chart svg { width: 100%; height: 430px; overflow: visible; }
.chart-grid line { stroke: rgba(215,219,231,.15); stroke-width: 1; }
.chart-grid text { fill: #AFC0D2; font-size: 12px; font-family: "Roboto", sans-serif; }
.chart-points circle { fill: #7BA7D8; opacity: .45; transition: cx .7s ease, cy .7s ease, opacity .3s ease; }
.chart-points circle:hover { opacity: 1; }
.chart-shortlist circle { fill: var(--lime); stroke: var(--white); stroke-width: 2; filter: drop-shadow(0 0 7px rgba(147,218,73,.7)); transition: cx .7s ease, cy .7s ease; }
.chart-shortlist text { fill: var(--white); font-family: "Montserrat", sans-serif; font-size: 12px; font-weight: 700; }
.chart-y { position: absolute; top: 50%; left: 17px; color: #D5DFEA; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transform: translateY(-50%) rotate(-90deg); }
.chart-x { position: absolute; right: 0; bottom: 19px; left: 0; color: #D5DFEA; text-align: center; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.chart-legend { position: absolute; top: 25px; right: 28px; display: flex; gap: 20px; color: #A9B8CB; font-size: 12px; }
.chart-legend span { display: flex; align-items: center; gap: 7px; }
.chart-legend i { width: 8px; height: 8px; background: #7BA7D8; border-radius: 50%; }
.chart-legend span:nth-child(2) i { background: var(--lime); border: 1px solid var(--white); box-shadow: 0 0 7px rgba(147,218,73,.65); }
.chart-callout { position: absolute; top: 76px; right: 34px; display: grid; min-width: 162px; padding: 14px 16px; color: var(--white); background: rgba(8,26,51,.91); border: 1px solid rgba(147,218,73,.5); border-radius: 7px; box-shadow: 0 12px 35px rgba(0,0,0,.25); }
.chart-callout small { color: var(--lime); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.chart-callout strong { margin-top: 4px; font-size: 19px; }
.diagnostic-ribbon { display: grid; grid-template-columns: .9fr 1.6fr .55fr; gap: 30px; align-items: center; padding: 30px 32px; color: var(--white); background: linear-gradient(100deg, #153864, var(--brand-blue)); border-top: 1px solid rgba(255,255,255,.12); }
.diagnostic-ribbon h4 { max-width: 340px; margin-top: 7px; color: var(--white); font-size: 18px; line-height: 1.25; }
.diagnostic-ribbon .chapter-label { color: var(--lime); }
.diagnostic-ribbon ol { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.diagnostic-ribbon li { position: relative; color: #D7E3EF; font-size: 12px; line-height: 1.35; }
  .diagnostic-ribbon li:not(:last-child)::after { content: "→"; position: absolute; top: 6px; right: -8px; color: var(--lime); }
.diagnostic-ribbon li span { display: grid; place-items: center; width: 24px; height: 24px; margin-bottom: 7px; color: var(--navy); background: var(--lime); border-radius: 50%; font-size: 12px; font-weight: 700; }
.diagnostic-ribbon > p { color: #C5D2E0; font-size: 13px; line-height: 1.45; }
.technical-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 22px; color: var(--brand-blue); font-size: 14px; font-weight: 700; }
.technical-link span { color: var(--green); transition: transform var(--transition); }
.technical-link:hover span { transform: translateX(4px); }
.technical-link:visited,
.contextual-references a:visited,
.offer-comparison-notes a:visited { color: var(--visited-link); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .integration-orbit { opacity: var(--orbit-opacity) !important; animation: none !important; transform: none !important; }
  .difference-ambient [data-ambient-contour], .difference-ambient [data-ambient-particle], .difference-ambient .ambient-focus { animation: none !important; transform: none !important; }
}

/* 02 product onboarding */
.product { position: relative; padding: clamp(110px, 12vw, 182px) 0; overflow: hidden; color: var(--white); background: var(--navy-3); }
.product-backdrop { position: absolute; inset: 0; opacity: .33; background: radial-gradient(circle at 15% 25%, rgba(63,109,228,.35), transparent 33%), radial-gradient(circle at 84% 78%, rgba(147,218,73,.16), transparent 28%), linear-gradient(115deg, transparent 0 48%, rgba(255,255,255,.035) 48% 49%, transparent 49%); }
.product-backdrop::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(215,219,231,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(215,219,231,.06) 1px, transparent 1px); background-size: 48px 48px; mask-image: radial-gradient(circle at center, black, transparent 77%); }
.product .section-shell { position: relative; z-index: 2; }
.product-heading { align-items: end; }
.product-heading h2 { max-width: 820px; color: var(--white); font-size: clamp(42px, 4.8vw, 72px); }
.onboarding-step { display: none; animation: onboarding-copy-in .45s ease both; }
.onboarding-step.is-active { display: block; }
.onboarding-step > span { color: var(--lime); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.stage-soon { display: inline-block; margin-left: 7px; padding: 2px 6px; color: var(--navy); background: var(--lime); border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: .08em; line-height: 1.2; vertical-align: middle; }
.pushback-beta-trigger { position: relative; cursor: pointer; }
.onboarding-step[data-onboarding-copy="4"] { position: relative; }
.pushback-beta-region-trigger { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; display: block; padding: 0; background: transparent; border: 0; border-radius: inherit; cursor: pointer; }
.pushback-beta-region-trigger:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: -5px; }
.product-story-visual-trigger { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; display: block; padding: 0; background: transparent; border: 0; border-radius: inherit; cursor: pointer; }
.product-story-visual-trigger:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: -5px; }
.context-tooltip { position: fixed; z-index: 4000; max-width: min(320px,calc(100vw - 24px)); padding: 9px 11px; color: var(--white); background: #102B4D; border: 1px solid rgba(147,218,73,.78); border-radius: 6px; box-shadow: 0 8px 24px rgba(0,0,0,.28); font-family: "Montserrat",sans-serif; font-size: 12px; font-weight: 500; line-height: 1.4; pointer-events: none; }
.context-tooltip[hidden] { display: none; }
.decision-landscape-note { position: absolute; z-index: 2; right: 18px; bottom: 10px; margin: 0; color: #A9B8CB; font-size: 11px; line-height: 1.35; text-align: right; white-space: nowrap; }
.pushback-guided-link { position: relative; color: inherit; text-decoration: underline; text-decoration-color: rgba(147,218,73,.7); text-underline-offset: 3px; }
.pushback-guided-link:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; border-radius: 2px; }
.offer-detail-row > td { padding: 0; background: rgba(234,241,247,.52); }
.offer-detail-row details { padding: 14px 18px 16px; }
.offer-detail-row summary { color: var(--navy); cursor: pointer; font-weight: 700; }
.offer-detail-row details p { max-width: 980px; margin: 10px 0 0; color: var(--readable-muted); font-size: 14px; line-height: 1.55; }
[data-offer-state="planned"] { color: #225A97; font-weight: 700; }
.onboarding-step h3 { max-width: 420px; margin-top: 16px; color: var(--white); font-size: clamp(32px, 3.3vw, 48px); }
.onboarding-step p { max-width: 410px; margin-top: 22px; color: #BECDDC; font-size: 16px; line-height: 1.7; }
@keyframes onboarding-copy-in { from { opacity: 0; transform: translateX(-12px); } to { opacity: 1; transform: translateX(0); } }
.onboarding-controls > button:hover { border-color: var(--lime); color: var(--lime); }
.onboarding-dots button i { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; overflow: hidden; background: rgba(255,255,255,.2); }
.onboarding-dots button i::after { content: ""; display: block; width: 0; height: 100%; background: var(--lime); }
.onboarding-dots button.is-active { color: var(--white); }
.onboarding-dots button.is-active i::after { width: 100%; animation: tour-progress 7s linear both; }
.onboarding.is-paused .onboarding-dots button.is-active i::after { animation-play-state: paused; }
@keyframes tour-progress { from { width: 0; } to { width: 100%; } }
.product-window { --product-green: var(--readable-green); min-width: 0; overflow: hidden; color: var(--text); background: var(--white); border: 1px solid rgba(255,255,255,.24); border-radius: 15px; box-shadow: 0 40px 100px rgba(0,0,0,.42); }
.app-bar { min-height: 50px; display: grid; grid-template-columns: 190px 1fr 75px; align-items: center; padding: 0 16px; color: var(--white); background: #17763B; font-size: 10px; }
.app-bar > div:first-child { display: flex; align-items: center; gap: 9px; }
.app-bar img { width: 25px; height: 25px; object-fit: contain; filter: brightness(0) invert(1); }
.app-bar nav { display: flex; align-items: stretch; height: 50px; }
.app-bar nav span { display: flex; align-items: center; padding: 0 15px; color: rgba(255,255,255,.88); border-bottom: 3px solid transparent; }
.app-bar nav span.is-active { color: var(--white); background: rgba(255,255,255,.08); border-bottom-color: var(--lime); }
.window-actions { display: flex; justify-content: flex-end; gap: 10px; }
.window-actions i { width: 8px; height: 8px; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; }
.product-screen.is-active { display: block; opacity: 1; transform: translateX(0); animation: product-screen-in .55s ease both; }
@keyframes product-screen-in { from { opacity: 0; transform: translateX(25px); } to { opacity: 1; transform: translateX(0); } }
.wizard-title { display: flex; align-items: center; justify-content: space-between; }
.wizard-title small { color: var(--product-green); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.wizard-title h4 { margin-top: 2px; color: #202B38; font-size: 19px; letter-spacing: -.015em; }
.wizard-title > span { color: #667085; font-size: 9px; }
.wizard-steps { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 18px; border-bottom: 1px solid #D7DEE8; }
.wizard-steps span { position: relative; padding: 8px 5px 11px; color: #8491A2; text-align: center; font-size: 9px; font-weight: 600; }
.wizard-steps span::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: transparent; }
.wizard-steps span.done { color: var(--product-green); }.wizard-steps span.done::after { background: #A7D68D; }
.wizard-steps span.active { color: #202B38; }.wizard-steps span.active::after { background: var(--product-green); }
.setup-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 22px; margin-top: 22px; }
.setup-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 20px; background: var(--white); border: 1px solid #DDE2E8; border-radius: 5px; }
.setup-form label, .run-footer label, .poc-dialog label { display: grid; gap: 5px; color: #495668; font-size: 9px; font-weight: 600; }
.setup-form select, .setup-form input, .run-footer select, .poc-dialog input, .poc-dialog select, .poc-dialog textarea { width: 100%; min-height: 34px; padding: 0 9px; color: #253244; background: var(--white); border: 1px solid var(--control-border); border-color: var(--control-border); border-radius: 3px; font-size: 10px; }
.setup-form fieldset { grid-column: 1 / -1; margin: 0; padding: 0; border: 0; }
.setup-form legend { margin-bottom: 6px; color: #495668; font-size: 9px; font-weight: 600; }
.choice-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.choice-row button { min-height: 32px; padding: 4px; color: #586677; background: #F7F8FA; border: 1px solid #C7D0DA; border-radius: 3px; font-size: 8px; cursor: default; }
.choice-row button.active { color: #1B6333; background: #EEF8EA; border-color: #7BC144; }
.range-row { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.setup-preview { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 22px; background: linear-gradient(150deg, #F8FBF6, #EEF5EA); border: 1px solid #C7DCBA; border-radius: 5px; text-align: center; }
.setup-preview > span { color: #4A5A4C; font-size: 9px; font-weight: 700; text-transform: uppercase; }.setup-preview > strong { color: var(--product-green); font-size: 54px; line-height: 1; }
.value-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; margin-top: 13px; }
.value-pills i { min-width: 29px; padding: 4px; color: var(--product-green); background: var(--white); border: 1px solid #B8D8AA; border-radius: 12px; font-size: 8px; font-style: normal; }
.setup-preview p { margin-top: 14px; color: #667085; font-size: 9px; }
.setup-preview button { margin-top: 17px; padding: 9px 14px; color: var(--white); background: var(--product-green); border: 0; border-radius: 3px; font-size: 9px; font-weight: 600; }
.review-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 20px; }
.review-summary div { display: grid; gap: 2px; padding: 10px 13px; background: var(--white); border: 1px solid #DDE2E8; border-radius: 4px; }
.review-summary span { color: #7A8797; font-size: 8px; }.review-summary strong { color: #253244; font-size: 11px; }
.review-table { margin-top: 13px; overflow: hidden; background: var(--white); border: 1px solid #DDE2E8; border-radius: 4px; }
.table-row { display: grid; grid-template-columns: 1.2fr .45fr 1fr; align-items: center; min-height: 39px; border-bottom: 1px solid #E6E9ED; font-size: 9px; }
.table-row:last-child { border: 0; }.table-row > * { padding: 0 13px; }.table-head { min-height: 34px; color: #566476; background: #EEF1F4; font-weight: 700; }
.table-row b { color: var(--product-green); }.table-row.selected { background: #EEF4FF; box-shadow: inset 3px 0 #8EB3FF; }
.run-footer { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 15px; margin-top: 16px; padding: 14px; background: var(--white); border: 1px solid #DDE2E8; border-radius: 4px; }
.run-footer button { height: 36px; display: flex; align-items: center; gap: 8px; padding: 0 24px; color: var(--white); background: var(--product-green); border: 0; border-radius: 3px; font-size: 10px; font-weight: 700; }
.run-footer button i { width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 8px solid var(--white); }
.product-screen[data-product-screen="2"] { padding: 0; background: var(--white); }
.dashboard-toolbar { min-height: 58px; display: flex; align-items: center; gap: 18px; padding: 0 20px; background: #FAFBFC; border-bottom: 1px solid #DDE2E8; }
.dashboard-toolbar > div:first-child { display: grid; margin-right: auto; }.dashboard-toolbar small { color: var(--product-green); font-size: 8px; font-weight: 700; text-transform: uppercase; }.dashboard-toolbar strong { color: #253244; font-size: 12px; }
.tree-tabs { display: flex; align-self: stretch; }.tree-tabs button { min-width: 70px; padding: 0 10px; color: #647185; background: transparent; border: 0; border-bottom: 3px solid transparent; font-size: 8px; }.tree-tabs button.active { color: #235C35; background: #EEF8EA; border-bottom-color: #7BC144; }
.filter-button { height: 31px; display: flex; align-items: center; gap: 6px; padding: 0 10px; color: #4A586B; background: var(--white); border: 1px solid #C5CED9; border-radius: 3px; font-size: 8px; }.filter-button i { width: 9px; height: 9px; border: 2px solid currentColor; border-radius: 50%; }.filter-button.active { color: #1B6333; background: #EEF8EA; border-color: #7BC144; }
.dashboard-table { border-bottom: 1px solid #DDE2E8; }
.dash-row { display: grid; grid-template-columns: 1fr 1.55fr .6fr .55fr; align-items: center; min-height: 33px; padding: 0 18px; color: #475467; border-bottom: 1px solid #ECEFF2; font-size: 8px; }
.dash-row > * { padding: 0 7px; }.dash-head { min-height: 29px; color: #526174; background: #F1F3F6; font-weight: 700; }.dash-row b { color: #1F2D3D; }.dash-row em { color: var(--product-green); font-style: normal; }.dash-row.selected { background: #EEF4FF; box-shadow: inset 3px 0 #8EB3FF; }.dash-row.muted { color: #98A2B3; }.dash-row.muted em { color: #8B96A4; }
.dashboard-chart-area { padding: 11px 18px 18px; }
.dash-chart-toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 7px; }
.dash-chart-toolbar > div { display: flex; margin-right: auto; }.dash-chart-toolbar button { min-height: 27px; padding: 0 10px; color: #667085; background: var(--white); border: 1px solid #CBD3DD; font-size: 8px; }.dash-chart-toolbar button:first-child { border-radius: 3px 0 0 3px; }.dash-chart-toolbar button:last-child { border-radius: 0 3px 3px 0; }.dash-chart-toolbar button.active { color: #1B6333; background: #EEF8EA; border-color: #7BC144; }
.dash-chart-toolbar label { display: flex; align-items: center; gap: 6px; color: #667085; font-size: 8px; }.dash-chart-toolbar select { min-height: 26px; padding: 0 7px; border: 1px solid #C5CED9; font-size: 8px; }
.dashboard-chart { width: 100%; height: 235px; }.dash-grid path { fill: none; stroke: #DDE3E9; stroke-width: 1; }.trend-fill { fill: rgba(19,41,75,.07); }.trend-line { fill: none; stroke: var(--navy); stroke-width: 3; }.trend-points circle { fill: var(--white); stroke: var(--product-green); stroke-width: 3; }
.product-screen[data-product-screen="3"] { padding: 0; }
.ai-layout { height: 100%; display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, .38fr); }
.ai-dashboard { min-width: 0; padding-bottom: 15px; background: var(--white); }
.dashboard-toolbar.compact { min-height: 56px; }.ai-mini-table { margin: 16px 18px 8px; border: 1px solid #DDE2E8; }.ai-mini-table div { display: flex; justify-content: space-between; padding: 9px 11px; border-bottom: 1px solid #E8ECF0; font-size: 8px; }.ai-mini-table div:last-child { border: 0; }.ai-mini-table .selected { background: #EEF4FF; box-shadow: inset 3px 0 #8EB3FF; }.ai-mini-table b { color: var(--product-green); }
.ai-mini-chart { width: calc(100% - 36px); height: 300px; margin: 0 18px; }.ai-mini-chart g path { fill: none; stroke: #E0E5EA; }.ai-panel { display: flex; flex-direction: column; background: #F7F9FB; border-left: 1px solid #DDE2E8; }
.ai-panel header { min-height: 58px; display: flex; align-items: center; gap: 9px; padding: 0 13px; background: var(--white); border-bottom: 1px solid #DDE2E8; }.ai-panel header img { width: 28px; height: 28px; object-fit: contain; }.ai-panel header div { display: grid; }.ai-panel header strong { color: #213044; font-size: 10px; }.ai-panel header span { color: #7B8795; font-size: 7px; }.ai-panel header > i { width: 7px; height: 7px; margin-left: auto; background: var(--lime); border: 1px solid var(--product-green); border-radius: 50%; }
.ai-messages { flex: 1; padding: 17px 13px; overflow: hidden; }.ai-messages p { font-family: "Roboto", sans-serif; font-size: 9px; line-height: 1.45; }.user-message { margin-left: 17px; padding: 10px; color: #274134; background: #EAF7E7; border-radius: 8px 8px 2px 8px; }.assistant-message { margin-top: 14px; margin-right: 12px; padding: 11px; background: var(--white); border: 1px solid #E0E5EA; border-radius: 2px 8px 8px 8px; }.assistant-message > span { color: var(--product-green); font-size: 7px; font-weight: 700; text-transform: uppercase; }.assistant-message p { margin-top: 5px; color: #425166; }.assistant-message small { display: block; margin-top: 7px; color: #7F8B99; font-size: 7px; }
.ai-input { min-height: 45px; display: flex; align-items: center; gap: 8px; margin: 0 11px 11px; padding: 6px 7px 6px 10px; color: #8A96A5; background: var(--white); border: 1px solid #C9D2DD; border-radius: 5px; font-size: 8px; }.ai-input span { flex: 1; }.ai-input button { width: 27px; height: 27px; color: var(--white); background: var(--product-green); border: 0; border-radius: 3px; }

.compact-heading { align-items: end; }

/* 04 software editions */
.adoption { padding: clamp(105px, 11vw, 165px) 0; background: var(--warm); }
.edition-choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 50px; }
.edition-choice-card { min-width: 0; position: relative; display: flex; flex-direction: column; padding: 29px 27px 26px; background: var(--white); border: 1px solid #D5DAE1; border-top: 3px solid #7CB657; box-shadow: 0 16px 38px rgba(19,41,75,.08); }
.edition-release-banner { position: absolute; z-index: 1; top: 0; right: 0; left: 0; height: 24px; display: flex; align-items: center; justify-content: center; color: var(--navy); background: var(--lime); font-size: 11px; font-weight: 900; letter-spacing: .16em; line-height: 1; text-transform: uppercase; }
.edition-choice-card [data-edition-name] { color: var(--readable-green); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.edition-choice-card h3 { min-height: 61px; margin-top: 8px; color: var(--navy); font-size: 26px; line-height: 1.16; }
.edition-choice-card > p { min-height: 70px; margin-top: 12px; color: var(--readable-muted); font-size: 15px; line-height: 1.55; }
.edition-choice-card > p > span { display: block; }
.edition-scope-highlight { display: inline-block; padding: 1px 7px; color: var(--readable-green); background: #EAF4EA; border: 1px solid #BFD7C1; border-radius: 999px; font-size: .78em; font-weight: 800; letter-spacing: .06em; line-height: 1.35; text-transform: uppercase; vertical-align: baseline; }
.edition-capability-list { display: grid; grid-template-rows: repeat(6,minmax(54px,1fr)); margin: 18px 0 18px; padding: 0; list-style: none; border-top: 1px solid #DDE3E9; }
.edition-capability-list li { display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid #DDE3E9; }
.edition-capability-status { width: 22px; height: 22px; display: grid; place-items: center; color: var(--white); background: var(--readable-green); border: 1px solid var(--readable-green); border-radius: 50%; font-family: "Roboto", sans-serif; font-size: 12px; font-weight: 800; line-height: 1; }
.edition-capability-copy { min-width: 0; display: block; }
.edition-capability-copy strong { display: block; color: var(--navy); font-size: 13px; line-height: 1.3; }
.edition-capability-copy small { display: block; margin-top: 2px; color: var(--readable-muted); font-size: 12px; line-height: 1.35; }
.edition-choice-card:not([data-edition-featured]) .edition-capability-copy small { color: var(--readable-muted); }
.edition-capability-list li[data-edition-availability="unavailable"] .edition-capability-copy strong { color: var(--readable-muted); font-weight: 600; }
.edition-capability-list li[data-edition-availability="unavailable"] .edition-capability-status { color: var(--readable-muted); background: transparent; border-color: #AEB8C3; }
.edition-capability-status.support-level { background: transparent; border: 0; color: var(--readable-green); }
.edition-capability-status.support-level svg { width: 22px; height: 22px; overflow: visible; }
.edition-capability-status.support-level .support-bar { fill: none; stroke: currentColor; stroke-width: 1.4; }
.edition-capability-status.support-level .support-bar.is-active { fill: currentColor; stroke: currentColor; }
.edition-choice-card .route-button { width: 100%; height: 50px; min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: auto; padding: 0 14px; color: var(--white); background: var(--brand-blue); border: 1px solid var(--brand-blue); border-radius: 5px; font-size: 14px; font-weight: 800; line-height: 1.3; white-space: nowrap; text-align: center; text-decoration: none; cursor: pointer; transition: background var(--transition), border-color var(--transition), transform var(--transition); }
.edition-choice-card .route-button { height: 46px; min-height: 46px; }
.edition-choice-card > p { min-height: 72px; }
.edition-choice-card[data-edition-card="ai"] > p { line-height: 1.45; }
.edition-choice-card .route-button:hover { color: var(--white); background: #154682; border-color: #154682; transform: translateY(-1px); }.edition-choice-card .route-button:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.edition-choice-card[data-edition-card="free"] .route-button { color: var(--brand-blue); background: transparent; border-color: var(--brand-blue); }
.edition-choice-card[data-edition-card="free"] .route-button:hover { color: var(--brand-blue); background: rgba(29,87,165,.08); border-color: var(--brand-blue); }
.edition-choice-card[data-edition-featured] { color: var(--white); background: var(--navy); border-color: var(--navy); border-top-color: var(--lime); box-shadow: 0 20px 46px rgba(5,24,48,.18); }
.edition-choice-card[data-edition-featured] [data-edition-name] { color: var(--lime); }.edition-choice-card[data-edition-featured] h3 { color: var(--white); }.edition-choice-card[data-edition-featured] > p, .edition-choice-card[data-edition-featured] .edition-capability-copy small { color: var(--readable-on-dark); }.edition-choice-card[data-edition-featured] .edition-capability-list, .edition-choice-card[data-edition-featured] .edition-capability-list li { border-color: rgba(255,255,255,.17); }.edition-choice-card[data-edition-featured] .edition-capability-copy strong { color: var(--white); }.edition-choice-card[data-edition-featured] .edition-capability-status { color: var(--navy); background: var(--lime); border-color: var(--lime); }.edition-choice-card[data-edition-featured] .edition-capability-status.support-level { color: var(--lime); background: transparent; border: 0; }.edition-choice-card[data-edition-featured] .route-button { color: var(--lime); background: transparent; border-color: var(--lime); }.edition-choice-card[data-edition-featured] .route-button:hover { color: var(--white); background: rgba(147,218,73,.12); border-color: var(--lime); }
.edition-detail-link { min-height: 44px; display: inline-flex; align-items: center; gap: 7px; margin-top: 8px; color: var(--brand-blue); font-size: 14px; font-weight: 800; }.edition-detail-link span { color: var(--readable-accent); }.edition-detail-link:hover { color: #154682; }.edition-detail-link:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.edition-comparison-bridge { min-height: 62px; display: flex; align-items: center; margin-top: 22px; padding-top: 18px; border-top: 1px solid #CFD6DE; }.edition-comparison-bridge p { width: 100%; color: var(--readable-muted); font-size: 14px; line-height: 1.5; white-space: nowrap; }.edition-package-link { min-height: 44px; display: inline-flex; align-items: center; gap: 6px; padding: 0; color: var(--brand-blue); background: transparent; border: 0; font: inherit; font-weight: 800; vertical-align: middle; }.edition-package-link span { color: var(--readable-accent); }.edition-package-link:hover { color: #154682; }.edition-package-link:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.edition-comparison-bridge a { min-height: 44px; font-size: 14px; }

/* Detailed edition inventory retained on compare-editions.html */
.offer-comparison-shell { margin-top: 52px; overflow: hidden; background: var(--white); border: 1px solid #D5DAE1; box-shadow: 0 18px 48px rgba(19,41,75,.08); }
.offer-comparison { width: 100%; table-layout: fixed; border-collapse: collapse; color: var(--ink); background: var(--white); }
.offer-feature-column { width: 24%; }.offer-plan-column { width: 19%; }
.offer-comparison th, .offer-comparison td { border-right: 1px solid #E0E4E9; border-bottom: 1px solid #E0E4E9; text-align: left; }.offer-comparison tr > :last-child { border-right: 0; }
.offer-comparison thead th { position: relative; height: 230px; padding: 25px 22px; vertical-align: top; background: #F3F5F7; }.offer-comparison-axis { color: var(--readable-muted); font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }.offer-comparison thead [data-offer-name] { display: block; color: var(--product-green-dark); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.offer-comparison thead h3 { margin-top: 12px; color: var(--navy); font-size: 24px; line-height: 1.08; }.offer-comparison thead p { max-width: 220px; margin-top: 12px; color: var(--readable-muted); font-size: 14px; line-height: 1.45; }.offer-comparison thead .offer-release-banner { height: 24px; display: flex; align-items: center; justify-content: center; margin: -25px -22px 16px; color: var(--navy); background: var(--lime); font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.offer-comparison th[data-offer="ai"] { color: var(--white); background: var(--navy); border-right-color: var(--navy); border-bottom-color: rgba(255,255,255,.12); }.offer-comparison th[data-offer="ai"] h3 { color: var(--white); }.offer-comparison th[data-offer="ai"] p { color: #C5D1DE; }
.offer-group-row th { padding: 10px 18px; color: #405169; background: #E9EDF2; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.offer-comparison tbody tr[data-offer-feature] > th { padding: 15px 18px; color: #263A54; background: #FAFAF8; font-size: 14px; font-weight: 700; line-height: 1.4; }.offer-comparison tbody tr[data-offer-feature] > th strong, .offer-comparison tbody tr[data-offer-feature] > th small { display: block; }.offer-comparison tbody tr[data-offer-feature] > th small { margin-top: 3px; color: var(--readable-muted); font-size: 12px; font-weight: 500; line-height: 1.35; }.offer-comparison tbody td { position: relative; padding: 15px 12px 15px 30px; color: #536174; background: var(--white); font-size: 14px; font-weight: 600; line-height: 1.4; vertical-align: middle; }.offer-comparison tbody td:nth-child(5) { background: rgba(29,87,165,.035); }.offer-comparison tbody td::before { content: ""; position: absolute; top: 50%; left: 13px; width: 7px; height: 7px; border-radius: 50%; transform: translateY(-50%); }
.offer-comparison td[data-offer-state="included"]::before, .offer-comparison td[data-offer-state="single-step"]::before { background: var(--product-green); box-shadow: 0 0 0 3px rgba(103,169,58,.12); }.offer-comparison td[data-offer-state="limited"]::before, .offer-comparison td[data-offer-state="stepwise"]::before { background: #B77F17; box-shadow: 0 0 0 3px rgba(183,127,23,.12); }.offer-comparison td[data-offer-state="unavailable"] { color: var(--readable-muted); }.offer-comparison td[data-offer-state="unavailable"]::before { background: var(--control-border); }.offer-comparison td[data-offer-state="commercial"]::before { background: var(--brand-blue); box-shadow: 0 0 0 3px rgba(29,87,165,.11); }
.offer-comparison tfoot th, .offer-comparison tfoot td { padding: 17px 14px; background: #F4F6F8; vertical-align: middle; }.offer-comparison tfoot th { color: #405169; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.offer-comparison tfoot td:last-child { background: #EAF1F8; }
.offer-comparison .route-button { width: 100%; min-height: 44px; display: grid; place-items: center; padding: 9px 10px; color: var(--white); background: var(--brand-blue); border: 1px solid var(--brand-blue); border-radius: 4px; font: inherit; font-size: 14px; font-weight: 800; line-height: 1.3; text-align: center; text-decoration: none; cursor: pointer; transition: background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition); }.offer-comparison .route-button:hover { color: var(--white); background: #154682; border-color: #154682; transform: translateY(-1px); }.offer-comparison .route-button:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }.offer-comparison [data-offer-action="ai"] .route-button { color: var(--navy); background: var(--lime); border-color: var(--lime); }.offer-comparison [data-offer-action="ai"] .route-button:hover { color: var(--navy); background: #A6EC60; border-color: #A6EC60; }
.offer-comparison-notes { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 20px; align-items: start; margin-top: 18px; }.offer-comparison-notes p { max-width: 820px; color: var(--readable-muted); font-size: 14px; line-height: 1.55; }.offer-comparison-notes a { color: var(--brand-blue); font-size: 14px; font-weight: 700; white-space: nowrap; }.offer-comparison-notes a span { color: var(--readable-accent); }
.edition-detail-page { background: var(--warm); }.edition-detail-site-header .header-shell { grid-template-columns: auto 1fr auto; }.edition-detail-site-header .nav-secondary { grid-column: 3; justify-self: end; }.edition-detail { min-height: calc(100vh - 76px); padding-top: clamp(120px,12vw,175px); }.edition-detail-heading { display: block; }.edition-detail-heading h1 { max-width: 980px; margin-top: 0; font-size: clamp(42px,5vw,70px); }.edition-detail-actions { display: grid; gap: 8px; justify-items: end; }

/* 05 testimonials */
.stories { padding: clamp(96px, 10vw, 150px) 0; overflow: hidden; }
.story-heading { display: grid; grid-template-columns: minmax(220px, .58fr) minmax(0, 1.42fr); gap: clamp(40px, 8vw, 132px); align-items: end; }
.story-heading h2 { max-width: 940px; font-size: clamp(40px, 4.8vw, 72px); }
.testimonial-carousel { margin-top: 0; }
.testimonial-viewport { overflow: hidden; background: var(--white); border: 1px solid #D3DBE5; border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.testimonial-track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; transition: transform .6s cubic-bezier(.25,.75,.25,1); }
.testimonial-slide { height: 260px; min-height: 260px; display: grid; grid-template-columns: minmax(210px, .42fr) minmax(0, 1.58fr); gap: clamp(24px, 5vw, 70px); align-items: center; padding: 22px 30px; overflow: hidden; background: linear-gradient(112deg, #F4F7F9 0 27%, var(--white) 27%); }
.testimonial-person { align-self: center; display: grid; justify-items: start; }
.testimonial-person img { width: 78px; height: 78px; object-fit: cover; border: 4px solid var(--green); border-radius: 50%; box-shadow: 0 10px 20px rgba(19,41,75,.14); }
.testimonial-person > div { display: grid; margin-top: 12px; }.testimonial-person strong { color: var(--navy); font-size: 15px; }.testimonial-person span { max-width: 250px; margin-top: 3px; color: #647183; font-size: 13px; line-height: 1.35; }.testimonial-person small { max-width: 250px; margin-top: 4px; color: var(--readable-muted); font-size: 12px; line-height: 1.3; }
.testimonial-quote { position: relative; min-width: 0; max-height: 216px; padding-left: 42px; }
.testimonial-slide blockquote { max-height: 216px; padding: 10px 20px 10px 0; overflow-x: hidden; overflow-y: auto; color: #26364A; font-size: clamp(15px,1.2vw,18px); font-weight: 500; line-height: 1.5; letter-spacing: -.02em; scrollbar-color: var(--green) #E9EDF2; scrollbar-width: thin; }
  .testimonial-quote::before { content: "“"; position: absolute; top: -18px; left: 0; color: var(--lime); font-family: Georgia, serif; font-size: 94px; line-height: 1; pointer-events: none; }
.testimonial-controls { display: grid; grid-template-columns: auto auto minmax(0,1fr) auto; gap: 12px 28px; align-items: center; margin-top: 24px; }
.testimonial-controls > button { justify-self: start; min-height: 44px; padding: 0; color: var(--brand-blue); background: transparent; border: 0; font-size: 14px; font-weight: 700; cursor: pointer; }.testimonial-controls > button:last-child { justify-self: end; }.testimonial-controls > button span { color: var(--green); padding: 0 7px; transition: transform var(--transition); }.testimonial-controls > div { display: grid; grid-template-columns: auto auto; column-gap: 7px; align-items: baseline; color: #657488; font-size: 12px; }.testimonial-controls > div strong { color: var(--navy); font-size: 17px; }.testimonial-progress { grid-column: 1 / -1; width: 86px; height: 2px; margin-top: 6px; overflow: hidden; background: #DDE2E8; }.testimonial-progress i { display: block; width: 10%; height: 100%; background: var(--green); transition: width .5s ease; }
.share-story { display: block; width: max-content; margin: 25px auto 0; color: #677385; font-size: 14px; font-weight: 600; }.share-story span { color: var(--green); }

/* 06 questions */
.questions { position: relative; padding: clamp(110px, 12vw, 175px) 0; overflow: hidden; color: var(--white); background: var(--navy); }
.questions::before { content: "?"; position: absolute; top: -160px; left: -30px; color: rgba(255,255,255,.035); font-size: 760px; font-weight: 800; line-height: 1; }
.questions::after { content: ""; position: absolute; inset: 0; opacity: .23; background: radial-gradient(circle at 85% 15%, rgba(147,218,73,.28), transparent 24%), linear-gradient(123deg, transparent 0 65%, rgba(255,255,255,.035) 65% 66%, transparent 66%); }
.question-shell { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(260px, .5fr) minmax(600px, 1.5fr); gap: clamp(65px, 10vw, 155px); align-items: start; }
.question-shell header { position: sticky; top: 116px; }
.faq-list { border-top: 1px solid rgba(255,255,255,.18); }
.faq-list details { border-bottom: 1px solid rgba(255,255,255,.18); }
.faq-list summary { position: relative; min-height: 94px; display: grid; grid-template-columns: 1fr 28px; gap: 20px; align-items: center; color: var(--white); list-style: none; font-size: clamp(15px, 1.35vw, 20px); font-weight: 600; cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary > span { color: var(--lime); font-size: 9px; font-weight: 700; }.faq-list summary i { position: relative; width: 22px; height: 22px; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; }.faq-list summary i::before, .faq-list summary i::after { content: ""; position: absolute; top: 10px; left: 5px; width: 10px; height: 1px; background: var(--lime); transition: transform var(--transition); }.faq-list summary i::after { transform: rotate(90deg); }.faq-list details[open] summary i::after { transform: rotate(0); }
.faq-list details p { max-width: 780px; padding: 0 48px 30px 0; color: #BAC8D7; font-family: "Roboto", sans-serif; font-size: 16px; line-height: 1.75; animation: faq-in .35s ease both; }
@keyframes faq-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }

/* 06 implementation stages and service options */
.ecosystem { padding: clamp(90px, 9vw, 132px) 0; overflow: hidden; background: #F7F9FB; }
.implementation-roadmap { margin-top: 48px; }
.implementation-path { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); column-gap: 16px; row-gap: 30px; margin: 0; padding: 0; list-style: none; }
.implementation-stage { position: relative; min-width: 0; display: grid; }
.product-flow-node:not(:last-child)::after, .traditional-flow-node:not(:last-child)::after { content: ""; position: absolute; z-index: 4; width: 34px; height: 12px; background: var(--lime); border: 0; border-radius: 0; box-shadow: none; clip-path: polygon(0 42%,72% 42%,72% 0,100% 50%,72% 100%,72% 58%,0 58%); }
.traditional-flow-node:not(:last-child)::after { background: #9AAABD; }
.implementation-stage > article { position: relative; z-index: 1; min-width: 0; height: 100%; display: flex; flex-direction: column; padding: 23px 21px 21px; background: var(--white); border: 1px solid #D2DCE6; border-top: 3px solid #7CB657; box-shadow: 0 13px 28px rgba(12,38,67,.07); }
.implementation-stage [data-step-label] { color: var(--readable-green); font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; }
.implementation-stage h3 { min-height: 2.4em; max-width: 182px; margin-top: 7px; color: var(--navy); font-size: 20px; line-height: 1.2; letter-spacing: -.025em; text-wrap: balance; }
[data-step-summary] { margin-top: 12px; color: var(--readable-muted); font-size: 15px; line-height: 1.5; }
[data-step-summary] strong { color: #2A5B3A; font-weight: 800; }
.service-stage-option { min-height: 0; display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 8px; align-items: center; margin-top: auto; padding: 16px 0 0; color: #33465C; background: transparent; border: 0; border-radius: 0; cursor: pointer; }
.service-stage-option:has(input:checked) { color: #1B6031; background: transparent; border-color: transparent; box-shadow: none; }
.service-stage-option:focus-within { outline: none; }
.service-stage-option input { width: 16px; height: 16px; margin: 0; accent-color: #2D8F49; outline: none; box-shadow: none; }
.service-stage-option input:focus, .service-stage-option input:focus-visible { outline: none; box-shadow: none; }
.service-stage-option span { display: grid; gap: 0; }.service-stage-option b { font-size: 14px; line-height: 1.3; }.service-stage-option small { color: var(--readable-muted); font-size: 12px; line-height: 1.4; }
.service-stage-option .sr-only + small { font-size: 14px; line-height: 1.2; color: inherit; }
.service-stage-action { width: 100%; min-height: 48px; display: grid; place-items: center; margin-top: auto; padding: 8px 13px; color: var(--white); background: var(--brand-blue); border: 1px solid var(--brand-blue); border-radius: 5px; font-family: inherit; font-size: 14px; font-weight: 800; line-height: 1.3; text-align: center; cursor: pointer; }
.service-stage-action:hover { background: #154682; border-color: #154682; }.service-stage-action:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.implementation-stage-featured { grid-column: 1 / -1; margin-top: 4px; }
.implementation-stage-featured > article { display: grid; grid-template-columns: minmax(190px,.38fr) minmax(280px,.8fr) minmax(280px,.55fr); grid-template-areas: "label summary custom" "title summary custom"; gap: 5px 32px; align-items: center; padding: 26px 30px; color: var(--white); background: linear-gradient(115deg, #0C2B52, #123D70); border-color: #214D7D; border-top-color: var(--lime); box-shadow: 0 18px 36px rgba(5,26,52,.16); }
.implementation-stage-featured [data-step-label] { grid-area: label; color: var(--lime); }.implementation-stage-featured h3 { grid-area: title; margin-top: 0; color: var(--white); font-size: 27px; }.implementation-stage-featured [data-step-summary] { grid-area: summary; margin-top: 0; color: #D6E1EC; }
.service-stage-option-inverse { margin-top: 0; color: #E5EDF5; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.28); }.service-stage-option-inverse small { color: #C7D5E2; }.service-stage-option-inverse:has(input:checked) { color: var(--white); background: rgba(147,218,73,.14); border-color: var(--lime); box-shadow: inset 3px 0 var(--lime); }
.service-stage-action-primary { min-height: 54px; margin-top: 0; color: #0B2C4F; background: var(--lime); border-color: var(--lime); }.service-stage-action-primary:hover { color: #061D36; background: #A7EB62; border-color: #A7EB62; }
.implementation-request-summary { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; margin-top: 32px; padding: 0 16px; box-sizing: border-box; }
.implementation-request-summary .service-stage-action-primary { width: min(100%, 360px); min-height: 52px; color: #fff; background: #102d52; border-color: #102d52; white-space: nowrap; }
.implementation-request-summary .service-stage-action-primary:hover { color: #fff; background: #173f6b; border-color: #8ee33d; }
.implementation-request-summary .implementation-partnership-link { margin: 0; padding: 0; color: #174f87; background: transparent; border: 0; font-family: "Montserrat", Arial, sans-serif; font-size: 14px; font-weight: 700; line-height: 1.4; letter-spacing: normal; text-align: center; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; cursor: pointer; }
.implementation-request-summary .implementation-partnership-link:hover { color: #0b2c4f; }
.implementation-request-summary .implementation-partnership-link:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 4px; border-radius: 2px; }

.implementation-stage > article { cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.implementation-stage > article:hover { border-color: #B8CADE; }
.implementation-stage > article:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.implementation-stage > article.is-selected { border-color: var(--lime); box-shadow: 0 13px 28px rgba(12,38,67,.12), inset 0 0 0 1px rgba(147,218,73,.18); }
.implementation-stage > article.is-selected [data-step-label] { color: #26763D; }
.implementation-stage > article.is-selected .service-stage-option { color: #1B6031; }
.implementation-stage > article.is-selected .service-stage-option small { color: #1B6031; }
.service-stage-plus { position: absolute; top: 50%; right: -16px; z-index: 5; width: 24px; height: 24px; display: grid; place-items: center; color: #35679F; background: var(--white); border: 1px solid #B8CADE; border-radius: 50%; box-shadow: 0 4px 12px rgba(12,38,67,.12); font-size: 18px; font-weight: 800; line-height: 1; transform: translateY(-50%); }
/* Footer */
.site-footer { color: #A2C650; background: #13294B; border-top: 1px solid rgba(162,198,80,.28); }
.footer-shell { width: var(--shell); min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; margin-inline: auto; }
.footer-brand-social, .footer-social, .footer-column { display: flex; align-items: center; }
.footer-brand-social { flex: 0 0 auto; gap: 15px; }
.footer-brand { display: flex; align-items: center; }
.footer-brand img { width: auto; height: 38px; display: block; }
.footer-social { gap: 7px; }
.footer-social a { width: 36px; height: 36px; display: grid; place-items: center; color: rgba(255,255,255,.86); border: 1px solid rgba(255,255,255,.26); border-radius: 50%; line-height: 1; }
.footer-social svg { width: 18px; height: 18px; display: block; fill: currentColor; }
.footer-social a:hover, .footer-social a:focus-visible { color: #13294B; background: #A2C650; border-color: #A2C650; }
.footer-legal { min-width: 0; flex: 1 1 auto; display: grid; justify-items: center; gap: 2px; margin: 0; color: rgba(255,255,255,.66); font-size: 12px; line-height: 1.35; text-align: center; }
.footer-legal span { display: block; white-space: nowrap; }
.footer-column { flex: 0 0 auto; gap: 18px; }
.footer-column a { color: rgba(255,255,255,.82); font-size: 14px; opacity: 1; white-space: nowrap; }
.footer-column a:hover, .footer-column a:focus-visible { color: #A2C650; }

@media (min-width: 1181px) {
  .footer-shell { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 20px; }
  .footer-brand-social { grid-column: 1; justify-self: start; }
  .footer-legal { grid-column: 2; justify-self: center; width: max-content; max-width: 100%; text-align: center; }
  .footer-column { grid-column: 3; justify-self: end; }
}

@media (min-width: 721px) and (max-width: 1180px) {
  .footer-shell { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; }
  .footer-brand-social { grid-column: 1; justify-self: start; }
  .footer-column { grid-column: 2; justify-self: end; }
  .footer-legal { grid-column: 1 / -1; grid-row: 2; justify-self: center; width: max-content; max-width: 100%; text-align: center; }
}

/* Dialogs */
.site-dialog { width: min(760px, calc(100% - 32px)); max-height: calc(100vh - 40px); padding: 0; color: var(--text); background: transparent; border: 0; border-radius: 14px; }
.site-dialog::backdrop { background: rgba(4,15,29,.78); backdrop-filter: blur(8px); }
.dialog-card { position: relative; max-height: calc(100vh - 40px); padding: 42px; overflow-y: auto; background: var(--white); border-top: 5px solid var(--lime); border-radius: 12px; box-shadow: var(--shadow-lg); }.dialog-close { position: absolute; top: 10px; right: 12px; width: 44px; height: 44px; color: #657182; background: #F0F3F6; border: 0; border-radius: 50%; font-size: 22px; cursor: pointer; }.dialog-card > img { width: 42px; height: 42px; object-fit: contain; }.dialog-card > span { display: block; margin-top: 18px; color: var(--brand-blue); font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }.dialog-card h2 { margin-top: 8px; font-size: clamp(30px, 4vw, 44px); }.dialog-card > p { max-width: 610px; margin-top: 14px; color: #667385; font-size: 16px; line-height: 1.65; }
.intent-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 28px; }.intent-grid button { min-height: 54px; padding: 10px 13px; color: #324155; background: #F5F7F9; border: 1px solid #D4DCE5; border-radius: 5px; text-align: left; font-size: 11px; font-weight: 600; cursor: pointer; }.intent-grid button:hover, .intent-grid button.is-selected { color: #1B6333; background: #EEF8EA; border-color: var(--green); }.intent-next { display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; align-items: center; margin-top: 18px; padding: 14px; background: var(--navy); border-radius: 5px; }.intent-next span { color: #9DB0C5; font-size: 8px; }.intent-next strong { color: var(--white); font-size: 11px; }.intent-next a { grid-row: 1 / 3; grid-column: 2; padding: 10px 13px; color: var(--navy); background: var(--lime); border-radius: 4px; font-size: 9px; font-weight: 700; }
.compact-dialog { max-width: 610px; }.dialog-cta { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; margin-top: 23px; padding: 0 20px; color: var(--white); background: var(--navy); border-radius: 4px; font-size: 14px; font-weight: 700; }.dialog-link { display: block; width: max-content; margin-top: 17px; color: var(--brand-blue); font-size: 14px; font-weight: 600; }
.poc-dialog { max-width: 650px; }.poc-dialog label { margin-top: 15px; font-size: 14px; }.poc-dialog input, .poc-dialog select, .poc-dialog textarea { min-height: 44px; font-size: 14px; }.poc-dialog textarea { min-height: 85px; padding-top: 8px; resize: vertical; }.poc-dialog small { display: block; margin-top: 10px; color: var(--readable-muted); font-size: 12px; }
.local-download-preview { width: min(430px, calc(100% - 32px)); max-height: calc(100vh - 32px); margin: 15vh auto auto; overflow: visible; background: #FEFEFE; border: 1px solid #888; border-radius: 8px; }
.local-download-preview::backdrop { background: rgba(0,0,0,.5); backdrop-filter: none; }
.local-download-preview .download-preview-card { position: relative; display: grid; gap: 12px; max-height: calc(100vh - 34px); padding: 25px; overflow-y: auto; }
.local-download-preview .download-preview-close { top: 4px; right: 6px; width: 44px; height: 44px; padding: 0; color: var(--readable-muted); background: transparent; border-radius: 0; font-size: 28px; font-weight: 700; line-height: 1; }
.local-download-preview .download-preview-close:hover { color: #000; }
.local-download-preview h2 { padding-right: 34px; color: #5A7A1E; font-size: 1.4em; font-weight: 400; letter-spacing: 0; line-height: 1.25; }
.local-download-preview .download-preview-card > p:not(.download-preview-status) { color: #4B5563; font-size: 16px; line-height: 1.5; }
.local-download-preview input[type="text"], .local-download-preview input[type="email"], .local-download-preview input[type="tel"] { width: 100%; min-width: 0; padding: 6px 20px; color: #273444; background: #FFF; border: 1px solid var(--control-border); border-color: var(--control-border); border-radius: 3px; line-height: 30px; }
.local-download-preview .download-preview-consent { display: grid; grid-template-columns: 16px 1fr; gap: 9px; align-items: start; color: #777; font-size: 14px; font-style: italic; line-height: 1.45; }
.local-download-preview .download-preview-consent input { margin-top: 4px; }
.local-download-preview .download-preview-submit { width: 100%; min-height: 44px; padding: 8px 14px; color: #FFF; background: var(--readable-green); border: 0; border-radius: 3px; font-weight: 600; cursor: pointer; }
.local-download-preview .download-preview-submit:hover { opacity: .75; }
.local-download-preview .download-preview-status { padding: 9px 11px; color: #51606E; background: #F2F5F0; border-left: 3px solid var(--readable-green); font-size: 13px; line-height: 1.45; }

/* Responsive */
@media (max-width: 1240px) {
  :root { --shell: min(1180px, calc(100% - 48px)); }
  .primary-nav { gap: 16px; }.primary-nav > a:not([class]):nth-of-type(4), .primary-nav > a:not([class]):nth-of-type(5) { display: none; }
  .integrated-story { grid-template-columns: .65fr 1.35fr; gap: 38px; }.model-grid { grid-template-columns: 1fr 270px; }.model-detail { padding: 28px 21px; }
  .onboarding { grid-template-columns: 300px minmax(620px, 1fr); gap: 35px; }.product-screens { height: 570px; }
}

@media (max-width: 1020px) {
  .primary-nav > .nav-secondary, .primary-nav > .nav-primary { width: 100%; min-width: 0; max-width: none; }
  :root { --shell: min(940px, calc(100% - 40px)); }
  .site-header { height: 68px; }.header-shell { width: calc(100% - 32px); }.brand { height: 48px; }.brand img { width: 158px; }.menu-toggle { display: block; }
  .primary-nav { position: fixed; top: 68px; right: 0; left: 0; display: none; max-height: calc(100vh - 68px); padding: 20px; overflow-y: auto; background: var(--white); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-lg); }.primary-nav.is-open { display: grid; }.primary-nav > a:not([class]), .nav-group > button { padding: 10px 0; }.primary-nav > a:not([class]):nth-of-type(4), .primary-nav > a:not([class]):nth-of-type(5) { display: block; }.nav-group > button { width: 100%; justify-content: space-between; }.nav-submenu { position: static; width: auto; display: none; padding: 3px 0 3px 18px; border: 0; box-shadow: none; opacity: 1; transform: none; }.nav-group.is-open .nav-submenu { display: grid; pointer-events: auto; }.nav-secondary, .nav-primary { width: 100%; }
  .hero { min-height: 760px; height: calc(100vh - 68px); }.hero-shell { grid-template-columns: 1fr; align-content: center; gap: 30px; padding-top: 100px; }.hero-copy { align-self: end; }.hero h1 { font-size: clamp(48px, 8.2vw, 74px); }.hero-statement { width: min(100%, 470px); margin: 0 0 0 auto; }.hero-overlay { background: linear-gradient(90deg, rgba(3,14,28,.62), rgba(3,14,28,.12) 55%, rgba(5,19,37,.67)); }
  .section-heading, .story-heading { grid-template-columns: 1fr; gap: 30px; }.heading-wide h2, .story-heading h2 { max-width: 850px; }
  .integrated-story { grid-template-columns: 1fr; }.integrated-copy { display: grid; grid-template-columns: .75fr 1.25fr; gap: 0 35px; }.integrated-copy .chapter-label, .integrated-copy h3, .integrated-copy > p { grid-column: 1; }.system-controls { grid-column: 2; grid-row: 1 / 5; margin-top: 0; }.model-grid { min-height: 420px; }
  .landscape-panel { grid-template-columns: 210px 1fr; }.diagnostic-ribbon { grid-template-columns: 1fr; }.diagnostic-ribbon ol { margin-top: 4px; }
  .onboarding { grid-template-columns: 1fr; }.onboarding-copy { min-height: 280px; }.onboarding-step p { max-width: 680px; }.product-window { width: 100%; }.product-screens { height: 610px; }
  .offer-comparison thead th { padding: 22px 16px; }.offer-comparison thead h3 { font-size: 22px; }.offer-comparison tbody tr[data-offer-feature] > th { padding: 14px; }.offer-comparison tbody td { padding-right: 10px; padding-left: 30px; }.offer-comparison tbody td::before { left: 13px; }
  .edition-choice-grid { grid-template-columns: 1fr; }.edition-choice-card h3, .edition-choice-card > p { min-height: 0; }.edition-capability-list { grid-template-rows: none; }
  .question-shell { grid-template-columns: 1fr; gap: 55px; }.question-shell header { position: static; }.question-shell h2 { max-width: 650px; }
  .implementation-path { grid-template-columns: repeat(2,minmax(0,1fr)); }.implementation-stage:nth-child(2)::after { top: auto; right: auto; bottom: -29px; left: 50%; transform: translateX(-50%); }.implementation-stage-featured > article { grid-template-columns: minmax(180px,.4fr) minmax(250px,.8fr) minmax(250px,.55fr); gap: 5px 24px; }
}

@media (max-width: 720px) {
  :root { --shell: calc(100% - 28px); --radius: 12px; }
  .hero { min-height: 720px; height: auto; }.hero-media img { object-position: 45% center; }.hero-shell { min-height: 720px; padding: 90px 0 70px; }.hero h1 { font-size: clamp(42px, 12vw, 62px); }.hero-copy > p { font-size: 16px; }.hero-statement { padding: 22px; }.hero-statement > strong { font-size: 25px; }.hero-scroll { display: none; }
  .difference, .product, .adoption, .stories, .questions { padding: 86px 0; }.ecosystem { padding: 86px 0; }.section-label span { width: 42px; height: 42px; }.heading-wide h2, .story-heading h2, .product-heading h2 { font-size: clamp(35px, 10vw, 49px); }.heading-wide > div:last-child > p { font-size: 16px; }.section-heading, .story-heading { gap: 23px; }
  .integrated-story { margin-top: 65px; }.integrated-copy { display: block; }.integrated-copy h3, .landscape-head h3 { font-size: 35px; }.integrated-copy > p, .landscape-head > p { font-size: 16px; }.system-controls { margin-top: 28px; }.model-grid { grid-template-columns: 1fr; }.pit-model { min-height: 330px; border-right: 0; border-bottom: 1px solid #D7DEE8; }.model-detail { min-height: 265px; }.model-footer { grid-template-columns: 1fr 1fr; }.model-footer span:nth-child(2) { border-right: 0; }.model-footer span:nth-child(-n+2) { border-bottom: 1px solid #E4E7EC; }
  .landscape-story { margin-top: 64px; }.landscape-head { grid-template-columns: 1fr; gap: 20px; }.landscape-head h3 > span { white-space: normal; }.landscape-panel { grid-template-columns: 1fr; }.metric-switch { padding: 20px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }.metric-tabs { display: grid; grid-template-columns: 1fr 1fr; }.metric-tabs button { min-height: 39px; }.scenario-chart { min-height: 390px; padding: 34px 18px 43px 36px; }.scenario-chart svg { height: 315px; }.chart-callout { top: 60px; right: 18px; min-width: 135px; }.diagnostic-ribbon { padding: 24px 20px; }.diagnostic-ribbon ol { grid-template-columns: 1fr 1fr; gap: 14px; }.diagnostic-ribbon li:not(:last-child)::after { display: none; }
  .onboarding { margin-top: 58px; }.onboarding-copy { min-height: 335px; }.onboarding-step h3 { font-size: 34px; }.onboarding-controls { flex-wrap: wrap; }.onboarding-dots { order: -1; flex-basis: 100%; }.onboarding-dots button span { display: none; }.product-window { border-radius: 8px; }.app-bar { grid-template-columns: 1fr auto; }.app-bar nav { display: none; }.product-screens { height: 610px; }.product-screen { padding: 20px 15px; }.setup-layout { grid-template-columns: 1fr; }.setup-preview { display: none; }.setup-form { grid-template-columns: 1fr; }.setup-form label, .range-row, .setup-form fieldset { grid-column: 1; }.choice-row { grid-template-columns: 1fr 1fr; }.review-summary { grid-template-columns: 1fr 1fr 1fr; }.table-row { grid-template-columns: 1fr .4fr .8fr; }.run-footer { grid-template-columns: 1fr; }.run-footer button { justify-content: center; }.tree-tabs { display: none; }.dashboard-toolbar { padding: 0 12px; }.dashboard-table .dash-row { grid-template-columns: 1fr .7fr .55fr; padding: 0 7px; }.dashboard-table .dash-row > :nth-child(2) { display: none; }.dash-chart-toolbar { flex-wrap: wrap; }.dash-chart-toolbar > div { width: 100%; }.dashboard-chart { height: 250px; }.ai-layout { grid-template-columns: 1fr; }.ai-dashboard { display: none; }.ai-panel { border: 0; }.ai-messages p { font-size: 11px; }
  .offer-comparison-shell { overflow: hidden; border-right: 0; border-left: 0; }
  .edition-choice-grid { grid-template-columns: 1fr; }.edition-choice-card > p { min-height: 0; }.edition-comparison-bridge { align-items: flex-start; }.edition-comparison-bridge p { white-space: normal; }.edition-detail-link { white-space: normal; }.edition-detail-site-header .header-shell { grid-template-columns: 1fr auto; }.edition-detail-site-header .nav-secondary { grid-column: 2; }.edition-detail-heading h1 { font-size: clamp(38px,10vw,54px); }.edition-detail-actions { justify-items: start; }
  .offer-comparison, .offer-comparison thead, .offer-comparison tbody, .offer-comparison tfoot { display: block; }.offer-comparison colgroup { display: none; }
  .offer-comparison thead tr { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }.offer-comparison-axis { position: absolute; width: 1px; height: 1px; padding: 0 !important; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }.offer-comparison thead th { height: auto; min-height: 210px; padding: 17px 8px; }.offer-comparison thead [data-offer-name] { font-size: 10px; }.offer-comparison thead h3 { font-size: 15px; }.offer-comparison thead p { font-size: 12px; line-height: 1.4; }.offer-comparison thead .offer-release-banner { margin: -17px -8px 12px; }
  .offer-group-row, .offer-group-row th { display: block; width: 100%; }.offer-group-row th { padding: 10px 12px; }
  .offer-comparison tbody tr[data-offer-feature] { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }.offer-comparison tbody tr[data-offer-feature] > th { grid-column: 1 / -1; min-height: 0; padding: 11px 12px; border-right: 0; font-size: 14px; }.offer-comparison tbody td { min-height: 68px; padding: 25px 5px 10px; border-right: 1px solid #E0E4E9; font-size: 12px; line-height: 1.3; text-align: center; }.offer-comparison tbody td::before { top: 11px; left: 50%; transform: translateX(-50%); }.offer-comparison tbody td:last-child { border-right: 0; }
  .offer-comparison tfoot tr { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }.offer-comparison tfoot th { grid-column: 1 / -1; padding: 10px 12px; border-right: 0; }.offer-comparison tfoot td { padding: 10px 7px; }.offer-comparison .route-button { min-height: 54px; padding: 8px 5px; font-size: 14px; }
  .offer-comparison-notes { grid-template-columns: 1fr; gap: 11px; }.offer-comparison-notes p { font-size: 14px; }.offer-comparison-notes a { white-space: normal; }
  .testimonial-slide { height: 285px; min-height: 285px; grid-template-columns: 96px minmax(0,1fr); gap: 14px; align-content: center; padding: 18px; background: linear-gradient(90deg, #F4F7F9 0 34%, var(--white) 34%); }.testimonial-person { display: grid; grid-template-columns: 1fr; gap: 0; align-items: start; }.testimonial-person img { width: 64px; height: 64px; border-width: 3px; }.testimonial-person > div { margin-top: 9px; }.testimonial-person strong { font-size: 13px; }.testimonial-person span, .testimonial-person small { font-size: 11px; }.testimonial-quote { max-height: 249px; padding-left: 31px; }.testimonial-slide blockquote { max-height: 249px; padding: 8px 6px 8px 0; font-size: 14px; }.testimonial-quote::before { font-size: 62px; }.testimonial-controls { grid-template-columns: auto minmax(0,1fr) auto; }.testimonial-controls > button { font-size: 0; }.testimonial-controls > button span { font-size: 20px; }.testimonial-position { justify-self: center; }.testimonial-utilities { grid-column: 1 / -1; grid-row: 2; }
  .faq-list summary { grid-template-columns: 28px 1fr 25px; gap: 10px; min-height: 83px; font-size: 14px; }.faq-list details p { padding: 0 15px 26px 38px; font-size: 16px; }
  .implementation-roadmap { margin-top: 38px; }.implementation-path { grid-template-columns: 1fr; }.implementation-stage-featured > article { display: flex; flex-direction: column; align-items: stretch; padding: 24px 21px; }.implementation-stage-featured h3 { margin-top: 7px; font-size: 24px; }.implementation-stage-featured [data-step-summary] { margin-top: 12px; }.service-stage-action-primary { width: 100%; }.dialog-card { padding: 0 20px; }
  .footer-shell { flex-wrap: wrap; gap: 12px 20px; }.footer-brand-social { flex: 1 1 auto; }.footer-legal { flex-basis: 100%; justify-items: center; text-align: center; }.footer-legal span { white-space: normal; }
  .dialog-card { padding: 34px 23px 25px; }.intent-grid { grid-template-columns: 1fr; }.intent-next { grid-template-columns: 1fr; }.intent-next a { grid-row: auto; grid-column: auto; margin-top: 8px; }.poc-dialog label { font-size: 14px; }
}

@media (max-width: 430px) {
  .brand img { width: 145px; }.hero h1 { font-size: 42px; }.hero-statement > span { font-size: 12px; }.hero-statement p { font-size: 14px; }
  .metric-tabs { grid-template-columns: 1fr; }.chart-legend { display: none; }.chart-callout { display: none; }
  .setup-form { padding: 13px; }.range-row { grid-template-columns: 1fr 1fr 1fr; gap: 5px; }.review-summary { grid-template-columns: 1fr; }.review-summary div:nth-child(2) { display: none; }.table-row { grid-template-columns: 1fr .4fr; }.table-row > :nth-child(3) { display: none; }
  .footer-shell { min-height: 0; align-items: flex-start; gap: 13px; padding: 18px 0 20px; }.footer-brand-social { width: 100%; flex-wrap: wrap; gap: 11px 14px; }.footer-brand img { height: 34px; }.footer-social a { width: 34px; height: 34px; }.footer-column { order: 2; gap: 16px; }.footer-legal { order: 3; font-size: 12px; justify-items: center; text-align: center; }
}

.will-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.will-reveal.is-revealed { opacity: 1; transform: translateY(0); }

/* ========================================================================== */
/* V4 evidence-led homepage                                                   */
/* ========================================================================== */

.hero-media img { object-position: center center; }
.hero-overlay { background: linear-gradient(90deg, rgba(3,14,28,.86) 0%, rgba(3,14,28,.62) 35%, rgba(3,14,28,.14) 66%, rgba(3,14,28,.42) 100%), linear-gradient(180deg, rgba(4,14,27,.08) 48%, rgba(4,14,27,.72) 100%); }
.hero-statement { align-self: end; max-width: 430px; margin-left: auto; padding: 30px 30px 27px; color: var(--white); background: rgba(7,25,47,.84); border: 1px solid rgba(147,218,73,.45); border-radius: 12px; box-shadow: 0 22px 70px rgba(0,0,0,.25); backdrop-filter: blur(12px); }
.hero-statement > strong { font-size: clamp(24px, 2vw, 32px); }
.hero-statement > div { margin-top: 20px; }

.strategy-lab { margin-top: clamp(72px, 8vw, 118px); overflow: hidden; background: var(--white); border: 1px solid #CBD4DF; border-radius: 20px; box-shadow: 0 30px 80px rgba(10,33,59,.15); }
.strategy-lab-head { display: grid; grid-template-columns: minmax(360px,.8fr) minmax(360px,1.2fr); gap: 8vw; align-items: end; padding: 42px 46px 34px; border-bottom: 1px solid #DCE2E9; }
.strategy-lab-head h3 { max-width: 590px; margin-top: 10px; font-size: clamp(30px,3.2vw,48px); }
.strategy-lab-head > p { max-width: 650px; color: #667385; font-size: 15px; line-height: 1.68; }
.strategy-lab-grid { display: grid; grid-template-columns: minmax(280px,1fr) minmax(240px,.72fr) minmax(270px,.95fr); min-height: 560px; }
.input-board, .outcome-board { padding: 27px; background: #F8FAFC; }
.input-board { border-right: 1px solid #DCE2E9; }
.outcome-board { border-left: 1px solid #DCE2E9; }
.board-heading { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 14px; color: #23344A; border-bottom: 1px solid #D7DEE7; }
.board-heading span { font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.board-heading small { color: #7E8A98; font-size: 9px; }
.input-family-list { display: grid; gap: 7px; margin-top: 17px; }
.input-family-list button { min-height: 65px; display: grid; grid-template-columns: 8px 1fr; gap: 12px; align-items: center; padding: 10px 12px; color: #3D4B5E; background: var(--white); border: 1px solid #D9E0E7; border-radius: 7px; text-align: left; cursor: pointer; transition: var(--transition); }
.input-family-list button > i { width: 8px; height: 8px; background: #AAB5C1; border-radius: 50%; }
.input-family-list button span { display: grid; gap: 3px; }
.input-family-list button b { color: #26374C; font-size: 11px; }
.input-family-list button small { color: #7A8796; font-size: 8px; line-height: 1.35; }
.input-family-list button:hover { border-color: #9BB0C6; transform: translateX(2px); }
.input-family-list button.is-active { background: #EFF8EA; border-color: #77B54B; box-shadow: inset 3px 0 #77B54B; }
.input-family-list button.is-active > i { background: var(--lime); border: 1px solid #37834F; box-shadow: 0 0 0 5px rgba(147,218,73,.18); }
.active-hypothesis { display: grid; gap: 4px; margin-top: 17px; padding: 14px 15px; color: var(--white); background: var(--navy); border-radius: 6px; }
.active-hypothesis small { color: var(--lime); font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.active-hypothesis strong { font-size: 12px; }
.active-hypothesis span { color: #BBC9D8; font-size: 9px; }
.strategy-engine { position: relative; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at center, #183F70 0 18%, #102C52 42%, #0B1D37 72%); }
.strategy-engine::before, .strategy-engine::after { content: ""; position: absolute; top: 50%; width: 45%; height: 1px; background: linear-gradient(90deg, transparent, rgba(147,218,73,.75)); }
.strategy-engine::before { left: 0; }.strategy-engine::after { right: 0; transform: rotate(180deg); }
.engine-orbit { position: absolute; border: 1px solid rgba(130,174,226,.26); border-radius: 50%; animation: engine-spin 22s linear infinite; }
.orbit-one { width: 330px; height: 330px; }.orbit-two { width: 430px; height: 430px; animation-direction: reverse; animation-duration: 31s; }
.engine-orbit::before, .engine-orbit::after { content: ""; position: absolute; width: 7px; height: 7px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 10px rgba(147,218,73,.8); }
.engine-orbit::before { top: 13%; left: 13%; }.engine-orbit::after { right: 7%; bottom: 25%; background: #6E9BE5; }
@keyframes engine-spin { to { transform: rotate(360deg); } }
.engine-core { position: relative; z-index: 2; width: 210px; min-height: 210px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 22px; color: var(--white); background: rgba(7,23,44,.95); border: 1px solid rgba(147,218,73,.55); border-radius: 50%; box-shadow: 0 0 0 12px rgba(147,218,73,.05), 0 0 55px rgba(63,109,228,.3); text-align: center; }
.engine-core img { width: 42px; height: 42px; object-fit: contain; }
.engine-core span { margin-top: 8px; color: var(--lime); font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.engine-core strong { max-width: 170px; margin-top: 5px; font-size: 15px; line-height: 1.25; }
.engine-core small { max-width: 160px; margin-top: 8px; color: #AFC0D2; font-size: 8px; line-height: 1.4; }
.engine-status { position: absolute; z-index: 3; right: 15px; bottom: 18px; left: 15px; display: flex; justify-content: center; align-items: center; gap: 7px; color: #C9D5E2; font-size: 8px; }
.engine-status i { width: 7px; height: 7px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 0 5px rgba(147,218,73,.12); }
.outcome-card { margin-top: 12px; padding: 16px; background: var(--white); border: 1px solid #D7DEE7; border-radius: 7px; transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease; }
.outcome-card.is-updated { animation: outcome-update .55s ease; }
@keyframes outcome-update { 50% { transform: translateX(4px); border-color: var(--green); box-shadow: 0 9px 25px rgba(35,83,53,.13); } }
.outcome-card.value-leader { border-left: 4px solid var(--lime); }
.outcome-card > div:first-child { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.outcome-card > div span { color: #657386; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.outcome-card > div em { color: #2D7B43; font-size: 8px; font-style: normal; }
.outcome-card > strong { display: inline-block; margin-top: 8px; color: var(--navy); font-size: 23px; letter-spacing: -.04em; }
.outcome-card > small { margin-left: 5px; color: #7A8796; font-size: 8px; }
.outcome-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0 0; }
.outcome-card dl div { display: flex; justify-content: space-between; gap: 5px; padding-top: 8px; border-top: 1px solid #E4E8ED; }
.outcome-card dt, .outcome-card dd { margin: 0; font-size: 8px; }.outcome-card dt { color: #7A8795; }.outcome-card dd { color: #26384D; font-weight: 700; }
.strategy-lab-foot { min-height: 68px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 11px; padding: 15px 26px; color: #D7E1EC; background: #17345E; font-size: 10px; }
.strategy-lab-foot strong { color: var(--lime); text-transform: uppercase; }.strategy-lab-foot span { color: #77B54B; }.strategy-lab-foot b { font-weight: 600; }
.capability-note { padding: 14px 28px; color: #687587; background: #EEF2F6; font-size: 9px; line-height: 1.55; text-align: center; }

.executive-landscape { grid-template-columns: 295px minmax(0,1fr); }
.executive-landscape .metric-switch { align-content: start; padding: 30px 20px; }
.executive-landscape .metric-tabs button { min-height: 42px; font-size: 14px; }
.metric-explainer { margin-top: 14px; padding: 15px 13px; background: rgba(255,255,255,.055); border-left: 2px solid var(--lime); }
.metric-explainer small { color: var(--lime); font-size: 12px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
.metric-explainer p { min-height: 4.5em; display: -webkit-box; margin-top: 6px; overflow: hidden; color: #C5D2DF; font-size: 13px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.executive-landscape .scenario-chart { min-height: 0; align-self: start; padding: 12px 35px 38px 62px; }
.executive-landscape .scenario-chart svg { display: block; width: 100%; height: auto; aspect-ratio: 1040 / 490; }
.executive-landscape .chart-head { min-height: 58px; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 20px; margin-bottom: 4px; }
.executive-landscape .chart-y { top: calc(50% + 18px); left: 13px; }.executive-landscape .chart-y sub { font-size: .7em; }
.executive-landscape .chart-legend { position: static; align-items: center; flex-wrap: wrap; max-width: 490px; justify-content: flex-end; }
.executive-landscape .chart-callout { position: static; flex: 0 0 auto; min-width: 170px; padding: 8px 12px; }
.executive-landscape .chart-x { bottom: 12px; }

.product-heading > div:last-child > p { max-width: 720px; margin-top: 20px; color: #B8C7D8; font-size: 15px; line-height: 1.65; }
.onboarding-dots button.is-active i::after { animation-duration: 8.4s; }
.product-window { border-radius: 11px; }
.app-bar { min-height: 44px; grid-template-columns: 160px 1fr 70px; background: #17763B; }
.app-bar nav { height: 44px; }
.app-bar nav span { padding: 0 12px; font-size: 8px; }
.app-bar nav span.is-active { background: #0F5F31; border-bottom-color: var(--lime); }
.product-screen { position: absolute; inset: 0; display: none; padding: 25px 27px; overflow: hidden; opacity: 0; transform: translateX(25px); }
.launcher-ribbon { height: 45px; display: flex; align-items: stretch; margin: -25px -27px 0; padding-left: 14px; background: #F3F4F4; border-bottom: 1px solid #D7DEE4; }
.launcher-ribbon button { min-width: 86px; color: #596576; background: transparent; border: 0; border-bottom: 3px solid transparent; font-size: 8px; font-weight: 700; }
.launcher-ribbon button.active { color: #195C31; background: #EAF4E8; border-bottom-color: #7BC144; }
.launcher-body { height: calc(100% - 20px); display: grid; grid-template-columns: 215px 1fr; gap: 20px; padding-top: 22px; }
.project-command { padding: 17px; background: #F4F6F7; border-right: 1px solid #D7DEE4; }
.project-command > span { color: #576475; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.project-command > button { width: 100%; min-height: 120px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; margin-top: 15px; color: #1E7440; background: var(--white); border: 1px solid #B8C7BF; border-radius: 4px; }
.project-command > button i { font-size: 30px; font-style: normal; font-weight: 300; }.project-command > button strong { font-size: 11px; }.project-command > button small { color: #7E8995; font-size: 7px; }
.recent-project { display: grid; gap: 4px; margin-top: 25px; padding: 11px; background: var(--white); border-left: 3px solid #7BC144; }.recent-project small { color: #7A8794; font-size: 7px; }.recent-project b { color: #344255; font-size: 8px; word-break: break-all; }
.project-progress { padding: 13px 17px; background: var(--white); border: 1px solid #DDE2E7; }
.project-progress-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 13px; border-bottom: 1px solid #E0E5EA; }.project-progress-head span { color: #28384C; font-size: 13px; font-weight: 700; }.project-progress-head strong { color: #1E7440; font-size: 8px; }
.project-progress ol { margin: 17px 0; padding: 0; list-style: none; }.project-progress li { display: grid; grid-template-columns: 24px 1fr; gap: 10px; align-items: center; min-height: 48px; position: relative; color: #4B596B; font-size: 9px; }.project-progress li:not(:last-child)::after { content: ""; position: absolute; top: 34px; bottom: -14px; left: 11px; width: 1px; background: #ABD08F; }.project-progress li i { width: 24px; height: 24px; display: grid; place-items: center; color: #1E7440; background: #EAF6E5; border: 1px solid #7BC144; border-radius: 50%; font-style: normal; }.project-progress li span { display: grid; }.project-progress li small { color: #8A96A4; font-size: 7px; }
.scenario-tools { margin-top: 17px; padding-top: 17px; border-top: 1px solid #E0E5EA; }.scenario-tools > span { color: #596676; font-size: 8px; font-weight: 700; text-transform: uppercase; }.scenario-tools > div { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin-top: 10px; }.scenario-tools button { min-height: 35px; color: #2E6B43; background: #F1F7EF; border: 1px solid #BDD2B4; border-radius: 3px; font-size: 7px; }
.faithful-form .setup-form { grid-template-columns: 1fr; background: #FAFAFA; }
.faithful-form .setup-form label, .faithful-form .setup-form fieldset, .faithful-form .range-row { grid-column: auto; }
.field-line { min-height: 34px; display: flex; align-items: center; justify-content: space-between; padding: 0 9px; color: #253244; background: var(--white); border-bottom: 1px solid #8A96A4; font-size: 9px; }.field-line b { color: #1E7440; }
.form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.faithful-form .choice-row { grid-template-columns: repeat(3,1fr); }
.setup-preview > p { margin-top: 4px; }.setup-preview > small { margin-top: 14px; color: #687587; font-size: 8px; }
.product-screen[data-product-screen="2"] { padding: 20px 22px; background: #FAFAFA; }
.execution-layout { height: 100%; display: grid; grid-template-columns: minmax(0,1fr) 205px; gap: 17px; }
.execution-current { min-width: 0; }
.execution-layout .review-summary { margin-top: 16px; }.execution-layout .review-table { margin-top: 10px; }
.execution-layout .run-footer { grid-template-columns: 1fr .55fr auto; gap: 10px; padding: 11px; }.execution-layout .run-footer input { min-height: 34px; padding: 0 8px; border: 1px solid #BFC9D5; font-size: 9px; }
.parallel-service { align-self: stretch; padding: 19px 16px; background: #F1F6FB; border: 1px dashed #6D91B8; border-radius: 6px; }
.parallel-service > span { color: #1D57A5; font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.parallel-service h4 { margin-top: 8px; color: #1D3556; font-size: 17px; }.service-queue { display: grid; gap: 8px; margin-top: 24px; }.service-queue p { display: flex; align-items: center; gap: 8px; padding: 10px; background: var(--white); border: 1px solid #D5E0EA; border-radius: 4px; }.service-queue i { width: 8px; height: 8px; background: #7BC144; border-radius: 50%; }.service-queue p:nth-child(2) i { background: #3F6DE4; animation: service-pulse 1.2s ease infinite alternate; }.service-queue p:nth-child(3) i { background: #A6B2BF; }.service-queue b { color: #405167; font-size: 8px; }.parallel-service > small { display: block; margin-top: 20px; color: #718093; font-size: 7px; line-height: 1.5; }
@keyframes service-pulse { to { box-shadow: 0 0 0 6px rgba(63,109,228,.15); } }
.product-screen[data-product-screen="3"] { padding: 0; }.product-screen[data-product-screen="3"] .ai-layout { grid-template-columns: minmax(0,1fr) 300px; }
.product-screen[data-product-screen="3"] .ai-mini-chart { height: 245px; }.product-screen[data-product-screen="3"] .dash-chart-toolbar { margin: 8px 18px; }
.reference-loop { margin: 5px 18px 0; padding: 9px 12px; color: #526174; background: #EEF8EA; border-left: 3px solid #7BC144; font-size: 8px; }.reference-loop b { color: #1E7440; }.reference-loop span { padding: 0 7px; color: #1E7440; }
.product-screen[data-product-screen="4"], .product-screen[data-product-screen="5"] { padding: 24px; background: #F8FAFB; }
.pb-handoff { height: 100%; display: grid; grid-template-columns: 1fr 26px 1fr 26px 1fr; align-items: center; }
.pb-handoff > b { color: #7BC144; text-align: center; }
.pb-handoff article { min-height: 440px; display: flex; flex-direction: column; align-items: center; padding: 25px 18px; background: var(--white); border: 1px solid #D6DEE6; border-radius: 6px; text-align: center; }.pb-handoff article.external-tool { background: #F1F4F7; border-style: dashed; border-color: #8FA0B2; }
.pb-handoff article > span { color: #2D7943; font-size: 8px; font-weight: 800; text-transform: uppercase; }.pb-handoff article h4 { margin-top: auto; color: #27394E; font-size: 16px; }.pb-handoff article p { margin-top: 9px; color: #6D7A8A; font-size: 8px; line-height: 1.5; }
.pb-pit, .pb-design { position: relative; width: 160px; height: 170px; margin-top: 40px; }.pb-pit i { position: absolute; right: 50%; bottom: calc(var(--n) * 22px); left: 50%; height: 30px; background: #C7D1DC; border: 1px solid #8EA0B4; transform: translateX(-50%); }.pb-pit i:nth-child(1) { --n:0; width: 150px; }.pb-pit i:nth-child(2) { --n:1; width: 120px; }.pb-pit i:nth-child(3) { --n:2; width: 90px; }.pb-pit i:nth-child(4) { --n:3; width: 58px; background: #8EC45E; }
.pb-design i { position: absolute; right: 50%; left: 50%; border: 3px solid #3F6DE4; border-radius: 50%; transform: translateX(-50%) rotateX(64deg); }.pb-design i:nth-child(1) { bottom: 0; width: 155px; height: 120px; }.pb-design i:nth-child(2) { bottom: 26px; width: 112px; height: 88px; }.pb-design i:nth-child(3) { bottom: 50px; width: 70px; height: 55px; border-color: #7BC144; }
.surface-list { width: 180px; display: grid; gap: 12px; margin-top: 50px; }.surface-list i { padding: 15px 10px; color: #245F38; background: #EEF8EA; border: 1px solid #B8D8A7; border-left: 4px solid #7BC144; font-size: 9px; font-style: normal; text-align: left; }
.stats-layout { height: 100%; background: var(--white); border: 1px solid #D6DEE6; }.stats-toolbar { min-height: 62px; display: flex; align-items: center; gap: 15px; padding: 0 18px; background: #FBFCFD; border-bottom: 1px solid #DDE3E9; }.stats-toolbar > div { display: grid; margin-right: auto; }.stats-toolbar small { color: #2D7943; font-size: 8px; font-weight: 700; }.stats-toolbar strong { color: #293A4E; font-size: 13px; }.stats-toolbar label { color: #667385; font-size: 8px; }.stats-toolbar select { min-height: 29px; margin-left: 5px; border: 1px solid #C7D0DA; font-size: 8px; }
.stats-body { display: grid; grid-template-columns: 1fr 195px; gap: 20px; padding: 20px; }.stats-chart { width: 100%; height: 470px; }.stats-grid path { fill: none; stroke: #DDE3E9; }.stats-band { fill: rgba(63,109,228,.15); }.stats-average { fill: none; stroke: #2D7943; stroke-width: 3; }.stats-p50 { fill: none; stroke: #3F6DE4; stroke-width: 2; stroke-dasharray: 8 5; }.stats-points circle { fill: var(--white); stroke: #2D7943; stroke-width: 3; }
.stats-body aside { padding: 18px; background: #F7F9FB; border: 1px solid #DDE3E9; }.stats-body aside h4 { color: #2C3D51; font-size: 14px; }.stats-body aside p { display: flex; align-items: center; gap: 8px; margin-top: 15px; color: #556477; font-size: 8px; }.stats-body aside i { width: 23px; height: 3px; background: #2D7943; }.stats-body aside i.band { height: 10px; background: rgba(63,109,228,.25); }.stats-body aside i.median { background: #3F6DE4; }.stats-body aside i.range { background: #A8B3BF; }.stats-body aside small { display: block; margin-top: 27px; color: #758293; font-size: 7px; line-height: 1.55; }

.testimonial-carousel.is-auto-playing .testimonial-progress i { animation: testimonial-auto 6s linear both; }
@keyframes testimonial-auto { from { transform: scaleX(0); transform-origin: left; } to { transform: scaleX(1); transform-origin: left; } }

@media (max-width: 1240px) {
  .strategy-lab-grid { grid-template-columns: minmax(270px,1fr) minmax(215px,.68fr) minmax(260px,.92fr); }
  .strategy-engine .orbit-two { width: 360px; height: 360px; }
  .onboarding { grid-template-columns: 300px minmax(700px,1fr); gap: 30px; }
}

@media (max-width: 1020px) {
  .strategy-lab-head { grid-template-columns: 1fr; gap: 20px; }
  .strategy-lab-grid { grid-template-columns: 1fr 1fr; }
  .strategy-engine { grid-column: 1 / -1; grid-row: 2; min-height: 390px; border-top: 1px solid #DCE2E9; border-bottom: 1px solid #DCE2E9; }
  .outcome-board { border-left: 0; }.input-board { border-right: 1px solid #DCE2E9; }
  .executive-landscape { grid-template-columns: 250px 1fr; }
  .onboarding { grid-template-columns: 1fr; }.onboarding-copy { min-height: 315px; }
  .workflow-legend small { width: 100%; margin-left: 0; }
}

@media (max-width: 720px) {
  .hero-media img { object-position: 58% center; }
  .hero-overlay { background: linear-gradient(90deg,rgba(3,14,28,.9),rgba(3,14,28,.45)),linear-gradient(180deg,transparent 40%,rgba(3,14,28,.74)); }
  .strategy-lab { border-radius: 12px; }.strategy-lab-head { padding: 28px 22px 24px; }.strategy-lab-head > p { font-size: 13px; }
  .strategy-lab-grid { grid-template-columns: 1fr; }.input-board { border-right: 0; }.strategy-engine { grid-column: 1; grid-row: auto; min-height: 370px; }.outcome-board { border-top: 1px solid #DCE2E9; }.strategy-lab-foot { justify-content: flex-start; padding: 17px 20px; }.capability-note { padding: 14px 18px; text-align: left; }
  .executive-landscape { grid-template-columns: 1fr; }.executive-landscape .metric-tabs { display: grid; grid-template-columns: 1fr 1fr; }.executive-landscape .scenario-chart { padding: 12px 16px 38px 38px; }.executive-landscape .chart-head { gap: 12px; }
  .onboarding-copy { min-height: 390px; }.onboarding-dots button span { display: none; }
  .product-window { overflow-x: auto; }.product-screens { min-width: 760px; height: 650px; }.app-bar { min-width: 760px; }.app-bar nav { display: flex; }
  .workflow-boundaries { grid-template-columns: 1fr; }.workflow-boundaries div { grid-template-columns: 1fr; gap: 5px; }
  .differentiator-band { grid-template-columns: 1fr; }.differentiator-band ul { grid-template-columns: 1fr 1fr; }
  .faq-list summary { grid-template-columns: 1fr 25px; }.faq-list details p { padding-left: 0; }
}

@media (max-width: 430px) {
  .executive-landscape .metric-tabs { grid-template-columns: 1fr; }
  .differentiator-band ul { grid-template-columns: 1fr; }
}

/* ========================================================================== */
/* V5 product-faithful homepage                                                */
/* ========================================================================== */

/* Readable headings */
.hero h1 { font-size: clamp(44px, 4.8vw, 78px); }
.heading-wide h2, .story-heading h2 { font-size: clamp(38px, 4vw, 60px); }
.product-heading h2 { max-width: 900px; font-size: clamp(38px, 4vw, 60px); }
.question-shell h2 { margin-top: 34px; color: var(--white); font-size: clamp(38px, 4vw, 58px); }

/* Header fidelity */
.primary-nav { --nav-item-spacing: clamp(34px,3.1vw,44px); --nav-layout-gap: clamp(10px,1vw,16px); gap: var(--nav-layout-gap); font-size: 14px; }
.primary-nav > a:not([class]) { margin-inline-end: calc(var(--nav-item-spacing) - var(--nav-layout-gap)); }
.nav-group { display: flex; align-items: center; margin-inline-end: calc(var(--nav-item-spacing) - var(--nav-layout-gap) - 44px); }
.nav-group > a, .nav-group > span { position: relative; display: flex; align-items: center; padding: 27px 0 25px; white-space: nowrap; }
.nav-group > a::after, .nav-group > span::after { content: ""; position: absolute; right: 0; bottom: 18px; left: 0; height: 2px; background: var(--lime); transform: scaleX(0); transform-origin: left; transition: transform var(--transition); }
.nav-group:hover > a::after, .nav-group:focus-within > a::after, .nav-group:hover > span::after, .nav-group:focus-within > span::after { transform: scaleX(1); }
.nav-expander { width: 44px; min-width: 44px; height: 44px; display: grid; place-items: center; padding: 0 !important; border: 0; background: transparent; cursor: pointer; }
.nav-expander::after { display: none !important; }
.nav-expander span { display: block; color: var(--brand-blue); transition: transform var(--transition); }
.nav-group:hover .nav-expander span, .nav-group:focus-within .nav-expander span, .nav-group.is-open .nav-expander span { transform: rotate(180deg); }
.nav-group.is-open .nav-submenu { opacity: 1; pointer-events: auto; transform: translateY(0); }
.primary-nav > .nav-secondary, .primary-nav > .nav-primary { width: 236px; min-width: 236px; max-width: 236px; height: 44px; min-height: 44px; padding-inline: 14px; white-space: nowrap; text-align: center; text-wrap: nowrap; }
.primary-nav > .nav-secondary { color: var(--white); background: var(--brand-blue); border-color: var(--brand-blue); }
.primary-nav > .nav-primary { color: var(--brand-blue); background: var(--white); border-color: var(--control-border); }
.primary-nav > .nav-secondary:hover { color: var(--brand-blue); background: var(--surface); border-color: var(--brand-blue); }
.primary-nav > .nav-primary:hover { color: var(--white); background: var(--navy); border-color: var(--navy); }
.primary-nav > a.account-button { width: 44px; min-width: 44px; height: 44px; display: grid; place-items: center; padding: 0; color: inherit; border: 0; border-radius: 7px; background: transparent; }
.account-button svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.account-button:hover, .account-button:focus-visible { background: var(--surface); }

/* Integrated project map */
.integrated-search { margin-top: clamp(70px, 8vw, 112px); overflow: hidden; background: var(--white); border: 1px solid #CAD4DF; border-radius: 20px; box-shadow: 0 34px 90px rgba(9,31,58,.16); }
.integrated-search-head { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: end; padding: 38px 44px 32px; border-bottom: 1px solid #D9E0E7; }
.integrated-search-head h3 { max-width: 790px; margin-top: 10px; font-size: clamp(31px, 3.4vw, 49px); }
.integration-map { position: relative; min-height: 0; isolation: isolate; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(3,158px) auto; grid-template-areas: "resource economics environment" "geometry core processing" "strategy core production" "output output output"; justify-content: stretch; gap: 30px; padding: 30px; overflow: hidden; color: var(--white); background: radial-gradient(circle at 50% 51%,rgba(29,87,165,.42),transparent 25%),linear-gradient(145deg,#07172B,#102B4E 55%,#081B32); }
.integration-map[data-factor-view="compact"] { grid-template-rows: repeat(3,104px) auto; row-gap: 22px; }
.integration-map::before { content: ""; position: absolute; z-index: 0; inset: 0; opacity: .25; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size: 38px 38px; mask-image: radial-gradient(circle at center, black, transparent 79%); }
.integration-field { position: absolute; z-index: 6; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.integration-particle-interaction { stroke-width: 1; stroke-linecap: round; vector-effect: non-scaling-stroke; mix-blend-mode: screen; }
.integration-particle { stroke: rgba(255,255,255,.5); stroke-width: .55; vector-effect: non-scaling-stroke; mix-blend-mode: screen; filter: drop-shadow(0 0 5px rgba(100,181,246,.52)); }
.integration-domain { position: relative; z-index: auto; inset: auto; width: 100%; height: 158px; min-height: 158px; padding: 17px 18px; background: transparent; border: 0; border-radius: 11px; box-shadow: none; backdrop-filter: none; transform: none; }
.integration-map[data-factor-view="compact"] .integration-domain { height: 104px; min-height: 104px; overflow: hidden; }
.integration-domain::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(145deg,rgba(7,25,47,.18),rgba(10,32,58,.06)); border: 1px solid rgba(124,166,213,.34); border-radius: 11px; box-shadow: 0 14px 36px rgba(0,0,0,.12); pointer-events: none; }
.domain-resource { grid-area: resource; }.domain-economics { grid-area: economics; }.domain-environment { grid-area: environment; }.domain-geometry { grid-area: geometry; }.domain-strategy { grid-area: strategy; }.domain-processing { grid-area: processing; }.domain-production { grid-area: production; }
.integration-domain > strong, .integration-domain > div { position: relative; z-index: 7; }
.integration-domain > strong { display: block; color: #F4F8FC; font-size: 12px; letter-spacing: -.01em; text-shadow: 0 2px 8px #07172B; }
.integration-domain > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.integration-domain span { padding: 5px 8px; color: #D5E1ED; background: rgba(5,20,39,.58); border: 1px solid rgba(190,216,239,.18); border-radius: 14px; box-shadow: 0 2px 8px rgba(0,0,0,.16); font-size: 8.5px; line-height: 1.2; }
.integration-domain [data-integration-factor][hidden] { display: none; }
.integration-domain-toggle { position: absolute; z-index: 8; right: 4px; bottom: 2px; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; color: #C5D9EB; background: transparent; border: 0; border-radius: 50%; cursor: pointer; }
.integration-domain-toggle[hidden] { display: none; }
.integration-domain-toggle::before { content: ""; position: absolute; width: 26px; height: 26px; background: rgba(5,20,39,.72); border: 1px solid rgba(190,216,239,.32); border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,.2); transition: background var(--transition),border-color var(--transition); }
.integration-domain-toggle::after { content: ""; position: relative; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform var(--transition); }
.integration-domain-toggle[aria-expanded="true"]::after { transform: translateY(2px) rotate(225deg); }
.integration-domain-toggle:hover::before { background: rgba(29,87,165,.72); border-color: rgba(147,218,73,.7); }
.integration-domain-toggle:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: -3px; }
.integration-core { position: relative; z-index: auto; grid-area: core; align-self: center; justify-self: center; width: 240px; height: 240px; padding: 0; text-align: center; background: transparent; border: 0; border-radius: 50%; box-shadow: none; transform: none; }
.integration-core::before { content: ""; position: absolute; z-index: 5; inset: 0; background: radial-gradient(circle at 35% 25%,#265FAD,#0D2A4A 62%); border: 1px solid rgba(147,218,73,.72); border-radius: 50%; box-shadow: 0 0 0 14px rgba(29,87,165,.14),0 0 75px rgba(57,133,232,.4); pointer-events: none; }
.algorithm-brain { position: absolute; z-index: 7; top: 13px; left: 50%; width: 84px; height: 69px; overflow: visible; transform: translateX(-50%); transform-origin: 50% 60%; animation: brain-breathe 3.2s ease-in-out infinite; }
.algorithm-brain path { fill: none; stroke-linecap: round; stroke-linejoin: round; }.brain-outline { stroke: rgba(255,255,255,.9); stroke-width: 3; }.brain-signal { stroke: #93DA49; stroke-width: 2.2; stroke-dasharray: 9 7; animation: brain-signal 2.2s linear infinite; }.signal-b, .signal-e { animation-delay: -.55s; }.signal-c, .signal-f { animation-delay: -1.1s; }.signal-d { animation-delay: -1.65s; }.brain-node { fill: #64B5F6; stroke: rgba(255,255,255,.82); stroke-width: 1; transform-box: fill-box; transform-origin: center; animation: brain-node 1.8s ease-in-out infinite; }.node-b, .node-e { animation-delay: -.3s; }.node-c, .node-f { animation-delay: -.6s; }.node-d, .node-g { animation-delay: -.9s; }.node-h { animation-delay: -1.2s; }
@keyframes brain-signal { to { stroke-dashoffset: -32; } }
@keyframes brain-node { 50% { fill: #93DA49; opacity: .48; transform: scale(1.7); } }
@keyframes brain-breathe { 50% { filter: drop-shadow(0 0 10px rgba(147,218,73,.58)); transform: translateX(-50%) scale(1.06); } }
.integration-core > strong { position: absolute; z-index: 7; top: 50%; left: 50%; color: var(--white); font-size: 25px; line-height: 1; white-space: nowrap; transform: translate(-50%,-50%); }
.integration-core > small { position: absolute; z-index: 7; top: calc(50% + 22px); left: 50%; color: #D7E5F2; font-size: 17px; font-weight: 700; line-height: 1.2; white-space: nowrap; transform: translateX(-50%); }
.integration-core > span { position: absolute; z-index: 7; top: calc(50% + 46px); left: 50%; color: var(--lime); font-size: 12px; font-weight: 800; letter-spacing: .1em; line-height: 1.15; text-align: center; text-transform: uppercase; white-space: nowrap; transform: translateX(-50%); }
.integration-core > span { top: calc(50% + 54px); }
.integration-core > span > span { display: block; }
.integration-orbit { --orbit-opacity: .5; position: absolute; z-index: 2; opacity: 0; border: 1px solid rgba(110,173,238,.4); border-radius: 50%; mix-blend-mode: screen; pointer-events: none; transform-origin: 50% 50%; will-change: transform,opacity; animation: integration-orbit-inflow 20s linear infinite; }
@keyframes integration-orbit-inflow { 0% { opacity: 0; transform: scale(1.08); } 14%,72% { opacity: var(--orbit-opacity); } 100% { opacity: 0; transform: scale(.68); } }
.orbit-a { inset: -22px; --orbit-opacity: .72; animation-delay: -2s; }.orbit-b { inset: -50px; --orbit-opacity: .66; animation-delay: -4s; }.orbit-c { inset: -84px; --orbit-opacity: .6; animation-delay: -6s; }.orbit-d { inset: -125px; --orbit-opacity: .54; animation-delay: -8s; }.orbit-e { inset: -174px; --orbit-opacity: .48; animation-delay: -10s; }.orbit-f { inset: -232px; --orbit-opacity: .42; animation-delay: -12s; }.orbit-g { inset: -300px; --orbit-opacity: .36; animation-delay: -14s; }.orbit-h { inset: -380px; --orbit-opacity: .3; animation-delay: -16s; }.orbit-i { inset: -474px; --orbit-opacity: .25; animation-delay: -18s; }.orbit-j { inset: -584px; --orbit-opacity: .2; animation-delay: -20s; }
.integration-output-result { --output-link: 116px; position: relative; z-index: 9; width: 100%; min-height: 0; display: block; margin: 0 0 14px; padding: 2px 18px 14px; color: #173653; background: transparent; border: 0; border-radius: 0; box-shadow: none; text-align: center; }
.integration-output-result::before { content: ""; position: absolute; left: 50%; bottom: 100%; width: 72px; height: var(--output-link); background: linear-gradient(to bottom,rgba(100,181,246,.08),rgba(100,181,246,.42) 52%,rgba(147,218,73,.72)); clip-path: polygon(44% 0,56% 0,100% 100%,0 100%); filter: drop-shadow(0 0 12px rgba(100,181,246,.52)); transform: translateX(-50%); transform-origin: center bottom; pointer-events: none; animation: integration-output-beam 2.8s ease-in-out infinite; }
.integration-output-result::after { content: ""; position: absolute; left: 50%; bottom: calc(100% + var(--output-link) - 20px); width: 28px; height: 18px; background: var(--lime); clip-path: polygon(0 0,100% 0,50% 100%); filter: drop-shadow(0 0 11px rgba(147,218,73,.92)); transform: translateX(-50%); pointer-events: none; animation: integration-output-packet 2.2s cubic-bezier(.2,.7,.2,1) infinite; }
@keyframes integration-output-beam { 0%,100% { opacity: .55; transform: translateX(-50%) scaleX(.7); } 50% { opacity: 1; transform: translateX(-50%) scaleX(1.08); } }
@keyframes integration-output-packet { 0% { opacity: 0; transform: translate(-50%,0) scale(.7); } 18%,78% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%,calc(var(--output-link) - 24px)) scale(1.18); } }
.integration-output-result strong { display: grid; gap: 2px; font-size: 20px; line-height: 1.3; letter-spacing: -.01em; }
.integration-output-result strong > span { display: block; white-space: nowrap; }
.integration-output { position: relative; z-index: 8; grid-area: output; justify-self: stretch; width: 100%; padding: 16px; color: var(--navy); background: linear-gradient(135deg,rgba(248,251,254,.98),rgba(234,243,252,.98) 58%,rgba(237,248,232,.98)); border: 1px solid rgba(147,218,73,.56); border-radius: 14px; box-shadow: 0 22px 52px rgba(0,0,0,.26); transform: none; }
.integration-output-results { display: grid; gap: 7px; }
.integration-output-analysis .integration-output-results { grid-template-columns: repeat(5,minmax(0,1fr)); }
.integration-output-results [data-integration-output] { min-width: 0; min-height: 96px; display: grid; grid-template-rows: 56px auto; grid-template-columns: 1fr; align-items: center; gap: 7px; padding: 9px 9px 10px; color: #263A50; background: rgba(255,255,255,.94); border: 1px solid #CAD7E3; border-radius: 7px; box-shadow: inset 0 2px rgba(29,87,165,.08); font-size: 8.5px; font-weight: 700; line-height: 1.2; text-align: center; }
.integration-output-analysis { padding: 0; background: transparent; border: 0; }
.integration-output-results [data-output-kind="analysis"] { min-height: 96px; grid-template-rows: 56px auto; color: #174C3A; background: linear-gradient(145deg,#F8FBFE,#EDF8E9); border: 1px solid #A9CDA9; box-shadow: inset 0 3px #7BC144; opacity: 1; transform: translateY(0); transition: opacity .38s ease,transform .38s ease,box-shadow .38s ease; }
.integration-output-results [data-output-kind="analysis"] > span { align-self: end; font-size: 11px; }
.integration-output-results [data-output-kind="analysis"] [data-analysis-chart] { width: 100%; height: 56px; overflow: visible; }
[data-analysis-chart] path, [data-analysis-chart] line { fill: none; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
[data-analysis-chart] [data-chart-axis] { stroke: #9CB0C2; stroke-width: 1; }
[data-analysis-chart] [data-chart-accent] { stroke: #2D7542; stroke-width: 1.7; stroke-dasharray: 160; stroke-dashoffset: 0; transition: stroke-dashoffset .6s ease; }
[data-analysis-chart] [data-chart-marks] { opacity: 1; transform: scaleY(1); transform-box: fill-box; transform-origin: center bottom; transition: opacity .42s ease,transform .55s cubic-bezier(.2,.75,.2,1); }
[data-chart-kind="risk-distribution"] [data-chart-marks] rect { fill: #64B5F6; }.integration-output [data-chart-kind="risk-distribution"] [data-chart-marks] rect:nth-child(4), .integration-output [data-chart-kind="risk-distribution"] [data-chart-marks] rect:nth-child(5) { fill: #7BC144; }
[data-chart-kind="tradeoff-scatter"] [data-chart-marks] circle { fill: #64B5F6; stroke: #FFFFFF; stroke-width: 1; }.integration-output [data-chart-kind="tradeoff-scatter"] [data-chart-marks] circle:nth-child(5), .integration-output [data-chart-kind="tradeoff-scatter"] [data-chart-marks] circle:nth-child(7), .integration-output [data-chart-kind="tradeoff-scatter"] [data-chart-marks] circle:nth-child(8) { fill: #7BC144; }
[data-chart-kind="sensitivity-tornado"] [data-chart-marks] rect { fill: #64B5F6; }.integration-output [data-chart-kind="sensitivity-tornado"] [data-chart-marks] rect:nth-child(even) { fill: #7BC144; }
[data-chart-kind="capacity-bottleneck"] [data-chart-marks] rect { fill: #64B5F6; }.integration-output [data-chart-kind="capacity-bottleneck"] [data-chart-marks] rect:nth-child(2), .integration-output [data-chart-kind="capacity-bottleneck"] [data-chart-marks] rect:nth-child(4) { fill: #7BC144; }
[data-chart-kind="capacity-bottleneck"] [data-chart-threshold] { stroke: #D56C4B; stroke-width: 1.4; stroke-dasharray: 3 3; }.integration-output [data-chart-kind="capacity-bottleneck"] [data-chart-alert] { fill: #D56C4B; stroke: #FFFFFF; stroke-width: 1; }
[data-chart-kind="robustness-range"] [data-chart-ranges] path { stroke: #64B5F6; stroke-width: 1.2; stroke-dasharray: 160; stroke-dashoffset: 0; transition: stroke-dashoffset .6s ease; }.integration-output [data-chart-kind="robustness-range"] [data-chart-ranges] rect { fill: rgba(123,193,68,.28); stroke: #2D7542; stroke-width: 1; }.integration-output [data-chart-kind="robustness-range"] [data-chart-ranges] circle { fill: #2D7542; }
.integration-output [data-analysis-visible="false"] { opacity: .25; transform: translateY(6px); box-shadow: inset 0 3px rgba(123,193,68,.28); }
.integration-output [data-analysis-visible="false"] [data-chart-marks] { opacity: .08; transform: scaleY(.06); }
.integration-output [data-analysis-visible="false"] [data-chart-accent], .integration-output [data-analysis-visible="false"] [data-chart-ranges] path { stroke-dashoffset: 160; }
.integration-output [data-analysis-visible="true"] { opacity: 1; transform: translateY(0); box-shadow: inset 0 3px #7BC144,0 5px 14px rgba(45,117,66,.08); }
.integration-output [data-analysis-visible="true"] [data-chart-marks] { opacity: 1; transform: scaleY(1); }
.integration-output[data-analysis-state="resetting"] [data-analysis-visible="false"] { transition: none; }
.integration-output[data-analysis-state="revealing"] [data-analysis-visible="true"], .integration-output[data-analysis-state="holding"] [data-analysis-visible="true"], .integration-output[data-analysis-state="paused"] [data-analysis-panel], .integration-output[data-analysis-state="static"] [data-analysis-panel] { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .integration-output [data-analysis-panel], .integration-output [data-chart-marks], .integration-output [data-chart-accent], .integration-output [data-chart-ranges] path { transition: none !important; opacity: 1 !important; transform: none !important; stroke-dashoffset: 0 !important; }
}

/* Executive landscape */
.metric-tabs button { min-height: 44px; }

/* Product carousel */
.onboarding { --product-tour-height: 500px; display: grid; grid-template-columns: minmax(340px,.5fr) minmax(720px,1.5fr); column-gap: clamp(28px,3vw,48px); row-gap: 14px; align-items: stretch; margin-top: clamp(48px,5vw,72px); }
.onboarding-copy { position: relative; height: var(--product-tour-height); min-height: var(--product-tour-height); display: grid; grid-template-rows: minmax(0,1fr) auto; padding-bottom: 0; }
.onboarding-step { grid-area: 1 / 1; display: block; visibility: hidden; pointer-events: none; overflow: hidden; }
.onboarding-step.is-active { visibility: visible; pointer-events: auto; }
.onboarding-step h3 { display: block; max-width: 460px; overflow: visible; font-size: clamp(29px, 2.8vw, 42px); }
.onboarding-step p { display: block; max-width: 460px; overflow: visible; font-size: 16px; }
.onboarding-step .stage-04-description span { display: block; }
.onboarding-controls { grid-area: 2 / 1; position: static; display: grid; grid-template-columns: 44px minmax(0,1fr) 44px 44px; gap: 11px; align-items: center; margin-top: 28px; }
.onboarding-controls > button:not(.onboarding-pause) { width: 44px; height: 44px; flex: 0 0 auto; color: var(--white); background: transparent; border: 1px solid rgba(255,255,255,.27); border-radius: 50%; cursor: pointer; }
.onboarding-controls > button span { font-size: 17px; }
.onboarding-dots { flex: 1; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 6px; }
.onboarding-dots button { position: relative; height: 44px; min-width: 0; padding: 0; color: #879BB1; background: transparent; border: 0; text-align: left; font-size: 12px; font-weight: 700; cursor: pointer; }
.onboarding-dots button i { top: 18px; bottom: auto; height: 3px; border-radius: 2px; }
.onboarding-dots button.is-active i::after { width: 0; animation: none; }
.onboarding.is-running .onboarding-dots button.is-active i::after { animation: tour-progress 8.4s linear both; }
.onboarding.is-paused .onboarding-dots button.is-active i::after { width: 100%; }
.onboarding-pause { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; padding: 0; color: #AFC0D1; background: transparent; border: 0; font-size: 12px; text-transform: uppercase; cursor: pointer; }
.product-screens { position: relative; height: var(--product-tour-height); background: #FAFAFA; }
.product-experience-note { min-height: 32px; display: flex; align-items: center; padding: 7px 16px; color: var(--readable-muted); background: #EEF3F6; border-bottom: 1px solid #D7DEE6; font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.product-window .mock-control { cursor: default; pointer-events: none; user-select: none; }
.product-screen[data-product-screen="0"], .product-screen[data-product-screen="1"], .product-screen[data-product-screen="2"], .product-screen[data-product-screen="3"], .product-screen[data-product-screen="4"] { padding: 0; background: #EDF2F6; }
.product-flow { grid-column: 1 / -1; padding: clamp(22px,3vw,32px); background: linear-gradient(125deg,rgba(16,43,77,.96),rgba(26,65,108,.92)); border: 1px solid rgba(255,255,255,.16); border-radius: 14px; box-shadow: 0 24px 55px rgba(0,0,0,.2); }
.product-flow-heading { display: grid; grid-template-columns: minmax(210px,.34fr) minmax(0,1fr); gap: clamp(22px,4vw,58px); align-items: center; }
.product-flow-heading > span { color: var(--lime); font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; }
.product-flow-heading p { max-width: 720px; margin: 0; color: #C5D6E5; font-size: 14px; line-height: 1.55; }
.product-flow-track { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.product-flow-node { position: relative; min-width: 0; height: 142px; min-height: 142px; display: grid; grid-template-columns: 1fr; align-items: start; padding: 11px; color: #AFC2D4; background: rgba(255,255,255,.055); border: 2px solid rgba(255,255,255,.12); border-radius: 8px; }
.product-flow-node:nth-child(3) { grid-column: 3 / span 3; padding: 11px 9px 3px; }
.product-flow-node:nth-child(4) { grid-column: 6; }
.product-flow-node:nth-child(5) { grid-column: 7; }
.product-flow-node:not(:last-child)::after { top: 50%; right: -18px; transform: translateY(-50%); }
.product-flow-node > div { display: grid; grid-template-rows: 35px 79px; row-gap: 5px; }
.product-flow-node strong { display: block; min-width: 0; color: var(--white); font-size: 14px; line-height: 1.25; }
.product-flow-node p { margin: 0; color: #C5D6E5; font-size: 14px; line-height: 1.4; text-align: left; }
.product-flow-node:not(:nth-child(3)) strong { height: 35px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; text-align: left; }
.product-flow-node:nth-child(2) strong span, .product-flow-node:nth-child(2) p span { display: block; }
.product-flow-node:nth-child(5) strong { display: block; position: relative; padding: 0 42px 0 0; overflow: visible; text-align: left; -webkit-line-clamp: unset; }
.product-flow-node:nth-child(5) .stage-soon { position: absolute; top: 0; right: 0; margin-left: 0; }
.product-flow-node:not(:nth-child(3)) p { height: 79px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.product-flow-node:nth-child(4) p, .product-flow-node:nth-child(5) p { overflow: visible; display: block; -webkit-line-clamp: unset; }
.product-flow-node:nth-child(4) p span, .product-flow-node:nth-child(5) p span { display: block; }
.product-flow-node:nth-child(3) > .workflow-stage-cycle { height: 100%; min-height: 0; display: grid; grid-template-rows: auto auto minmax(0,1fr); gap: 3px; overflow: hidden; }
.product-flow-node:nth-child(3) .workflow-stage-cycle-heading { min-width: 0; width: 100%; display: block; text-align: center; }
.product-flow-node:nth-child(3) .workflow-stage-cycle-heading > strong { overflow: visible; color: var(--white); line-height: 18px; text-align: center; white-space: nowrap; }
.product-flow-node:nth-child(3) .workflow-stage-cycle-subtitle { width: 100%; justify-self: stretch; margin: 0; overflow: visible; color: #C9D8E7; font-size: 14px; line-height: 18px; text-align: center; white-space: nowrap; }
.stage03-cycle { min-height: 0; display: grid; grid-template-columns: minmax(0,1fr) 26px minmax(0,1fr) 26px minmax(0,1fr); grid-template-rows: minmax(58px,1fr) 25px; gap: 2px 5px; align-items: stretch; }
.stage03-module { position: relative; min-width: 0; display: grid; align-items: center; padding: 5px 7px; overflow: hidden; color: var(--white); background: rgba(6,28,54,.74); border: 1px solid rgba(77,153,221,.48); border-radius: 7px; box-shadow: inset 0 0 18px rgba(58,134,205,.08),0 3px 8px rgba(0,0,0,.16); }
.stage03-module > span { position: relative; z-index: 1; min-width: 0; display: grid; gap: 4px; text-align: center; }
.stage03-module strong, .stage03-module small { overflow: visible; font-size: clamp(12px,.92vw,14px); line-height: 1.05; text-align: center; }
.stage03-module strong { height: auto; color: var(--white); font-weight: 700; white-space: nowrap; }
.stage03-module small { display: grid; color: #C9D8E7; font-weight: 500; white-space: normal; }
.stage03-module small span { display: block; white-space: nowrap; }
.stage03-module-icon { position: absolute; top: 50%; right: -4px; width: 64px; height: 64px; opacity: .12; fill: none; stroke: var(--lime); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; transform: translateY(-50%); pointer-events: none; }
.stage03-module-icon g { fill: var(--lime); stroke: none; }
.stage03-arrow { width: 26px; height: 12px; align-self: center; fill: var(--lime); }
.stage03-return { grid-column: 1 / -1; min-width: 0; display: grid; align-items: center; }
.stage03-return > * { grid-area: 1 / 1; }
.stage03-return svg { width: 100%; height: 25px; overflow: visible; }
.stage03-return-line { fill: none; stroke: var(--lime); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.stage03-return-head { fill: var(--lime); stroke: none; }
.stage03-return span { z-index: 1; justify-self: center; padding: 0 7px; color: var(--lime); background: #153A63; font-size: 9px; font-weight: 800; line-height: 1.2; letter-spacing: .1em; white-space: nowrap; }
.product-flow-node.is-active { color: var(--white); background: linear-gradient(125deg,rgba(29,87,165,.8),rgba(45,117,66,.45)); border: 2px solid var(--lime); box-shadow: 0 0 0 3px rgba(147,218,73,.08),0 12px 24px rgba(0,0,0,.18); }
.traditional-flow { width: 100%; margin-top: 10px; padding: clamp(22px,3vw,32px); background: linear-gradient(135deg,#F7F9FB,#EDF2F6); border: 1px solid #CED9E3; border-radius: 14px; box-shadow: 0 18px 42px rgba(7,28,52,.18); }
.traditional-flow-heading { display: grid; grid-template-columns: minmax(210px,.34fr) minmax(0,1fr); gap: clamp(22px,4vw,58px); align-items: center; }
.traditional-flow-heading > span { color: #9A5A16; font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; }
.traditional-flow-heading p { max-width: 720px; margin: 0; color: var(--readable-muted); font-size: 14px; line-height: 1.55; }
.traditional-flow-track { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.traditional-flow-node { position: relative; min-width: 0; height: 142px; min-height: 142px; display: grid; grid-template-columns: 1fr; align-items: start; padding: 11px; background: rgba(255,255,255,.94); border: 1px solid #CBD6E0; border-radius: 8px; box-shadow: 0 6px 14px rgba(24,52,83,.06); }
.traditional-flow-node:not(:last-child)::after { top: 50%; right: -18px; transform: translateY(-50%); }
.traditional-flow-node > div { display: grid; grid-template-rows: 35px 79px; row-gap: 5px; }
.traditional-flow-node strong { display: block; color: #26384D; font-size: 14px; line-height: 1.25; text-align: left; }
.traditional-flow-node p { margin: 0; color: var(--readable-muted); font-size: 14px; line-height: 1.4; text-align: left; }
.traditional-flow-node strong { height: 35px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.traditional-flow-node p { height: 79px; overflow: hidden; }
.traditional-flow-node p span { display: block; }
.product-case-link { margin: 10px 0 0; padding-top: 8px; border-top: 1px solid rgba(197,214,229,.22); text-align: left; }
.product-case-link a { min-height: 36px; display: flex; align-items: center; gap: 8px; color: #C5D6E5; font-size: 13px; font-weight: 700; line-height: 1.4; text-decoration: underline; text-decoration-color: rgba(197,214,229,.48); text-underline-offset: 4px; }
.product-case-link a svg { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.product-case-link a:hover { color: var(--white); text-decoration-color: var(--lime); }
.product-case-link a:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; border-radius: 2px; }

/* Stage 1 */
.project-setup-screen { height: 100%; display: grid; grid-template-columns: 180px minmax(0,1fr); background: #F5F7F9; }
.project-setup-nav { display: flex; flex-direction: column; gap: 6px; padding: 18px 13px; color: #D8E3EE; background: #183653; }
.project-setup-nav > span { margin: 0 8px 10px; color: #83A1BC; font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.project-setup-nav .mock-control { min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 0 10px; color: #C5D4E2; background: transparent; border: 1px solid transparent; border-radius: 5px; text-align: left; font-size: 8px; }
.project-setup-nav .mock-control i { width: 21px; height: 21px; display: grid; place-items: center; color: #8DA5BA; background: rgba(255,255,255,.08); border-radius: 50%; font-size: 7px; font-style: normal; }
.project-setup-nav .mock-control.done i { color: #193B27; background: var(--lime); }
.project-setup-nav .mock-control.active { color: var(--white); background: rgba(255,255,255,.1); border-color: rgba(147,218,73,.38); }
.project-setup-nav > small { margin: auto 8px 0; color: #829AAF; font-size: 7px; overflow-wrap: anywhere; }
.project-setup-workspace { min-width: 0; padding: 18px 22px; }
.project-setup-workspace > header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid #D9E0E7; }
.project-setup-workspace header small { color: var(--product-green); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.project-setup-workspace header h4 { margin-top: 3px; color: #233347; font-size: 20px; }
.project-setup-workspace header > span { padding: 7px 10px; color: #246A39; background: #E9F5E4; border: 1px solid #B8D8AA; border-radius: 14px; font-size: 8px; font-weight: 700; }
.setup-sequence { display: grid; gap: 6px; margin-top: 14px; }
.setup-sequence article { min-height: 64px; display: grid; grid-template-columns: 38px 1fr auto; gap: 12px; align-items: center; padding: 8px 12px; background: var(--white); border: 1px solid #D9E0E7; border-radius: 6px; }
.setup-sequence article > i { width: 34px; height: 34px; display: grid; place-items: center; color: #3B6F4B; background: #EAF5E6; border-radius: 50%; font-size: 8px; font-style: normal; font-weight: 800; }
.setup-sequence article > div { display: grid; }.setup-sequence article span { color: #738092; font-size: 7px; text-transform: uppercase; }.setup-sequence article strong { color: #26374B; font-size: 11px; }.setup-sequence article small { margin-top: 3px; color: #778495; font-size: 7px; }
.setup-sequence article > b { padding: 5px 8px; color: #2B7440; background: #EDF7E9; border-radius: 10px; font-size: 7px; }
.setup-sequence article.selected { background: #F5F9FF; border-color: #8CB0DF; box-shadow: inset 4px 0 #1D57A5; }.setup-sequence article.selected > i { color: var(--white); background: #1D57A5; }.setup-sequence article.selected > b { color: var(--white); background: #1D57A5; }
.model-complexity { display: grid; grid-template-columns: 160px 1fr; gap: 12px; align-items: center; margin-top: 12px; padding: 10px 12px; background: #E9EEF3; border-left: 3px solid #7BC144; }
.model-complexity > div { display: grid; }.model-complexity span { color: #728094; font-size: 7px; text-transform: uppercase; }.model-complexity strong { color: #293B50; font-size: 10px; }.model-complexity ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }.model-complexity li { padding: 5px 7px; color: #556477; background: var(--white); border: 1px solid #D3DBE4; border-radius: 3px; font-size: 7px; }

/* Stage 2 */
.first-campaign-screen { height: 100%; display: grid; grid-template-columns: 1.05fr .9fr 1fr; gap: 13px; }
.first-campaign-screen > section { min-width: 0; overflow: hidden; background: var(--white); border: 1px solid #D5DDE6; border-radius: 6px; box-shadow: 0 8px 20px rgba(28,50,76,.06); }
.first-campaign-screen section > header { min-height: 70px; display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 2px 8px; padding: 12px 14px; background: #FAFBFC; border-bottom: 1px solid #DDE3E9; }
.first-campaign-screen header small { color: var(--product-green); font-size: 7px; font-weight: 800; text-transform: uppercase; }.first-campaign-screen header strong { color: #26374A; font-size: 11px; }.first-campaign-screen header span { grid-row: 1 / 3; grid-column: 2; align-self: center; color: #788596; font-size: 7px; }
.campaign-setup { padding-bottom: 14px; }.campaign-setup label { display: grid; gap: 4px; margin: 14px 14px 0; color: #667487; font-size: 7px; font-weight: 700; }.campaign-setup label div { min-height: 34px; display: flex; align-items: center; padding: 0 9px; color: #2D3D50; background: #F8F9FA; border: 1px solid #C8D1DB; border-radius: 3px; font-size: 8px; }
.campaign-range { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; margin: 20px 14px 0; }.campaign-range span { width: 30px; height: 30px; display: grid; place-items: center; color: #245F38; background: #EAF6E6; border-radius: 50%; font-size: 8px; font-weight: 700; }.campaign-range i { position: relative; height: 4px; background: #C7D1DB; border-radius: 2px; }.campaign-range i::before, .campaign-range i::after { content: ""; position: absolute; top: -4px; width: 12px; height: 12px; background: var(--product-green); border: 2px solid var(--white); border-radius: 50%; box-shadow: 0 0 0 1px #86B999; }.campaign-range i::before { left: 0; }.campaign-range i::after { right: 0; }
.campaign-setup footer { display: grid; grid-template-columns: auto 1fr; gap: 3px 9px; align-items: center; margin: 28px 14px 0; padding: 13px; background: #EEF5EA; }.campaign-setup footer b { grid-row: 1 / 3; color: var(--product-green); font-size: 32px; }.campaign-setup footer span { color: #657367; font-size: 7px; }.campaign-setup footer .mock-control { align-self: end; display: grid; place-items: center; padding: 8px 12px; color: var(--white); background: var(--product-green); border: 0; border-radius: 3px; font-size: 8px; font-weight: 700; }
.queue-progress { height: 4px; margin: 15px; overflow: hidden; background: #E2E7EC; border-radius: 2px; }.queue-progress i { display: block; width: 57%; height: 100%; background: var(--product-green); }
.campaign-queue ol { display: grid; gap: 0; margin: 0; padding: 0 14px; list-style: none; }.campaign-queue li { min-height: 55px; display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 3px 8px; padding: 8px 9px; border-bottom: 1px solid #E7EBEF; }.campaign-queue li span { color: #2E3E52; font-size: 9px; font-weight: 700; }.campaign-queue li b { color: #7B8795; font-size: 7px; font-weight: 600; }.campaign-queue li time { grid-row: 1 / 3; grid-column: 2; align-self: center; color: #8A96A3; font-size: 7px; }.campaign-queue li.complete b { color: #317747; }.campaign-queue li.running { background: #F1F6FF; box-shadow: inset 3px 0 #3F6DE4; }.campaign-queue li.running b { color: #1D57A5; }
.campaign-results { padding-bottom: 12px; }.result-bars { display: grid; gap: 19px; padding: 25px 14px 16px; }.result-bars div { display: grid; grid-template-columns: 42px 1fr 35px; gap: 8px; align-items: center; color: #617083; font-size: 7px; }.result-bars i { height: 10px; background: linear-gradient(90deg,#1D57A5 var(--bar),#E4E9EE var(--bar)); border-radius: 2px; }.result-bars b { color: #26384C; font-size: 8px; text-align: right; }.result-bars .leader { color: #236637; }.result-bars .leader i { background: linear-gradient(90deg,#7BC144 var(--bar),#E4E9EE var(--bar)); }.result-bars .leader b { color: #236637; }
.campaign-results footer { display: flex; align-items: center; gap: 8px; margin: 12px 14px 0; padding: 10px; color: #687688; background: #F4F6F8; font-size: 7px; }.campaign-results footer i { width: 7px; height: 7px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 0 4px rgba(147,218,73,.15); }

/* Stage 3 */
.decision-cycle-screen { position: relative; height: 100%; overflow: hidden; background: radial-gradient(circle at center,rgba(29,87,165,.16),transparent 30%),linear-gradient(145deg,#EDF2F6,#FBFCFD); }
.decision-cycle-screen > svg { position: absolute; inset: 0; width: 100%; height: 100%; }.decision-cycle-screen > svg > path { fill: none; stroke: #1D57A5; stroke-width: 3; stroke-dasharray: 8 8; marker-end: url(#cycle-arrow); animation: cycle-dash 5s linear infinite; }.decision-cycle-screen marker path { fill: #1D57A5; }
@keyframes cycle-dash { to { stroke-dashoffset: -80; } }
.cycle-view { position: absolute; z-index: 2; width: 29%; min-height: 245px; padding: 18px; background: rgba(255,255,255,.96); border: 1px solid #CDD7E2; border-radius: 8px; box-shadow: 0 18px 38px rgba(26,48,74,.12); }.cycle-results { top: 55px; left: 35px; }.cycle-choice { top: 55px; right: 35px; }.cycle-batch { bottom: 35px; left: 50%; transform: translateX(-50%); }
.cycle-view > span { color: var(--product-green); font-size: 7px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.cycle-view > strong { display: block; margin-top: 5px; color: #293B50; font-size: 14px; }.cycle-view > small { display: block; margin-top: 13px; color: #788596; font-size: 7px; line-height: 1.5; }
.cycle-table { margin-top: 15px; border: 1px solid #DCE3E9; }.cycle-table p { display: grid; grid-template-columns: 8px 1fr auto; gap: 7px; align-items: center; min-height: 37px; padding: 0 9px; border-bottom: 1px solid #E5E9ED; font-size: 7px; }.cycle-table p:last-child { border: 0; }.cycle-table i { width: 6px; height: 6px; background: #A4B0BC; border-radius: 50%; }.cycle-table b { color: #34465B; }.cycle-table em { color: #657386; font-style: normal; }.cycle-table p.selected { background: #EDF6E9; }.cycle-table p.selected i { background: var(--lime); }.cycle-table p.selected em { color: #2D7542; font-weight: 700; }
.cycle-choice p { margin-top: 15px; color: #647284; font-size: 8px; line-height: 1.55; }.reference-change { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 16px; }.reference-change s, .reference-change b { padding: 9px; border-radius: 3px; font-size: 8px; text-align: center; }.reference-change s { color: #8994A1; background: #F0F2F4; }.reference-change b { color: #245F38; background: #EAF6E6; border: 1px solid #ABD19A; }
.cycle-batch dl { display: grid; gap: 8px; margin: 15px 0 0; }.cycle-batch dl div { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 6px; border-bottom: 1px solid #E0E5EA; font-size: 8px; }.cycle-batch dt { color: #718092; }.cycle-batch dd { margin: 0; color: #2E4054; font-weight: 700; }.cycle-batch .mock-control { width: 100%; min-height: 34px; display: grid; place-items: center; margin-top: 14px; color: var(--white); background: var(--product-green); border: 0; border-radius: 3px; font-size: 8px; font-weight: 700; }
.cycle-center { position: absolute; z-index: 3; top: 47%; left: 50%; width: 112px; height: 112px; display: grid; place-items: center; align-content: center; padding: 10px; color: var(--white); background: var(--navy); border: 2px solid var(--lime); border-radius: 50%; box-shadow: 0 0 0 10px rgba(29,87,165,.12); transform: translate(-50%,-50%); }.cycle-center img { width: 25px; height: 25px; filter: brightness(0) invert(1); }.cycle-center span { color: #AFC1D2; font-size: 6px; }.cycle-center b { color: var(--lime); font-size: 9px; }

/* Stage 4 */
.viewer-screen { height: 100%; display: flex; flex-direction: column; background: #111D2B; }
.viewer-screen > header { min-height: 67px; display: grid; grid-template-columns: 1fr auto auto; gap: 18px; align-items: center; padding: 0 18px; color: var(--white); background: #F9FAFB; border-bottom: 1px solid #D7DEE6; }.viewer-screen header > div { display: grid; }.viewer-screen header small { color: var(--product-green); font-size: 7px; font-weight: 800; }.viewer-screen header strong { color: #27384C; font-size: 11px; }.viewer-screen header nav { display: flex; align-self: stretch; }.viewer-screen header .mock-control { display: flex; align-items: center; padding: 0 11px; color: #697688; background: transparent; border: 0; border-bottom: 3px solid transparent; font-size: 7px; }.viewer-screen header .mock-control.active { color: #214F31; background: #EEF6EA; border-bottom-color: var(--lime); }.viewer-screen header > span { color: #647184; font-size: 8px; }
.viewer-main { flex: 1; min-height: 0; display: grid; grid-template-columns: 1.2fr .8fr; }
.viewer-pit { position: relative; overflow: hidden; background: radial-gradient(ellipse at 50% 65%,#344D5F,#122437 50%,#081522 78%); perspective: 700px; }.pit-grid { position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(rgba(95,148,193,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(95,148,193,.35) 1px,transparent 1px); background-size: 38px 38px; transform: rotateX(62deg) scale(1.5); transform-origin: center bottom; }
.pit-bench { position: absolute; right: 50%; left: 50%; border: 5px solid; border-radius: 50%; transform: translateX(-50%) rotateX(65deg); box-shadow: 0 0 25px currentColor; }.bench-1 { bottom: 45px; width: 78%; height: 50%; color: #2E6EA9; }.bench-2 { bottom: 88px; width: 61%; height: 39%; color: #3F98C8; }.bench-3 { bottom: 126px; width: 43%; height: 29%; color: #78B547; }.bench-4 { bottom: 160px; width: 25%; height: 18%; color: #D2A642; }
.pit-legend { position: absolute; bottom: 22px; left: 22px; display: flex; gap: 11px; padding: 8px 10px; background: rgba(5,17,29,.74); border-radius: 4px; }.pit-legend span { display: flex; align-items: center; gap: 5px; color: #C5D1DC; font-size: 6px; }.pit-legend i { width: 7px; height: 7px; background: #2E6EA9; border-radius: 50%; }.pit-legend span:nth-child(2) i { background: #3F98C8; }.pit-legend span:nth-child(3) i { background: #78B547; }.pit-legend span:nth-child(4) i { background: #D2A642; }.viewer-pit > small { position: absolute; top: 18px; left: 20px; color: #B5C5D4; font-size: 7px; font-weight: 700; text-transform: uppercase; }
.viewer-charts { display: grid; grid-template-rows: 1.1fr .9fr auto; gap: 10px; padding: 15px; background: #EFF3F6; }.viewer-charts article { min-height: 0; padding: 12px; background: var(--white); border: 1px solid #D6DEE6; border-radius: 4px; }.viewer-charts article > span { color: #758293; font-size: 7px; }.viewer-charts article > strong { display: block; margin-top: 2px; color: #25374B; font-size: 15px; }.viewer-charts svg { width: 100%; height: 100px; margin-top: 5px; }.viewer-charts svg .grid { fill: none; stroke: #DFE5EB; }.viewer-charts svg .line { fill: none; stroke: var(--product-green); stroke-width: 3; }
.mini-columns { height: 95px; display: flex; align-items: end; gap: 7px; margin-top: 12px; }.mini-columns i { flex: 1; height: var(--h); background: linear-gradient(#3F6DE4,#1D57A5); border-radius: 2px 2px 0 0; }.viewer-kpis { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }.viewer-kpis div { display: grid; gap: 2px; }.viewer-kpis span { color: #7A8795; font-size: 6px; }.viewer-kpis b { color: #285F3A; font-size: 9px; }

/* Stage 5 */
.engineering-return-screen { height: 100%; display: grid; grid-template-rows: 1fr auto; gap: 10px; }
.engineering-return-screen .pb-handoff { height: auto; min-height: 340px; background: var(--white); border: 1px solid #D6DEE6; }
.engineering-return-screen .pb-handoff article { min-height: 340px; padding: 18px 14px 14px; }.engineering-return-screen .pb-handoff article > span { font-size: 7px; }.engineering-return-screen .pb-handoff h4 { margin-top: 10px; font-size: 12px; }.engineering-return-screen .pb-handoff p { max-width: 210px; margin-top: 6px; font-size: 7px; }.engineering-return-screen .pb-pit, .engineering-return-screen .pb-design { height: 115px; margin-top: 12px; transform: scale(.72); transform-origin: center bottom; }.engineering-return-screen .surface-list { margin-top: 18px; transform: scale(.82); transform-origin: center top; }
.risk-return-strip { min-height: 132px; display: grid; grid-template-columns: 240px 1fr 170px; gap: 14px; align-items: center; padding: 12px 16px; color: var(--white); background: linear-gradient(105deg,#102C50,#1B4A7C); border-left: 4px solid var(--lime); }.risk-return-strip > div { display: grid; gap: 5px; }.risk-return-strip span { color: var(--lime); font-size: 7px; font-weight: 800; text-transform: uppercase; }.risk-return-strip strong { color: var(--white); font-size: 11px; line-height: 1.4; }.risk-return-strip svg { width: 100%; height: 88px; }.risk-grid { fill: none; stroke: rgba(255,255,255,.14); }.risk-band { fill: rgba(147,218,73,.17); }.risk-line { fill: none; stroke: var(--lime); stroke-width: 3; }.risk-return-strip ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.risk-return-strip li { display: flex; align-items: center; gap: 7px; color: #C1D1E1; font-size: 7px; }.risk-return-strip li i { width: 7px; height: 7px; background: var(--lime); border-radius: 50%; }

.contextual-references { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 12px; margin: 22px 0 0; padding: 0; list-style: none; }
.contextual-references li { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 13px 18px; background: rgba(255,255,255,.94); border: 1px solid #D4DEE8; border-left: 3px solid var(--brand-blue); box-shadow: 0 8px 20px rgba(19,41,75,.045); }
.contextual-references li > span { color: #60728A; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contextual-references a { min-height: 44px; display: inline-flex; align-items: center; color: var(--brand-blue); border-bottom: 1px solid transparent; font-size: 14px; font-weight: 800; line-height: 1.45; }
.contextual-references a:hover { border-bottom-color: #A7BAD1; }
.contextual-references a:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.contextual-references a b { flex: 0 0 auto; margin-left: 7px; color: var(--readable-green); }
.integrated-search > .contextual-references { margin: 0; padding: 16px 20px 20px; background: #F4F7FA; }

/* Entry point and services */
.adoption .compact-heading { align-items: center; }

/* Expert request form */
.site-dialog { width: min(1040px, calc(100% - 32px)); max-height: calc(100vh - 32px); padding: 0; color: var(--text); background: transparent; border: 0; border-radius: 14px; }
.site-dialog::backdrop { background: rgba(4,15,29,.78); backdrop-filter: blur(8px); }
.dialog-card { position: relative; max-height: calc(100vh - 32px); display: grid; grid-template-rows: auto minmax(0,1fr) auto; gap: 0; padding: 0 38px; overflow: hidden; background: var(--white); border-top: 5px solid var(--lime); border-radius: 12px; box-shadow: var(--shadow-lg); }
.expert-dialog-header { position: relative; padding: 31px 0 18px; }
.expert-request-body { min-height: 0; overflow-y: auto; padding: 0 2px 22px 0; }
.expert-dialog-footer { padding: 14px 0 24px; background: var(--white); border-top: 1px solid #E2E8EF; }
.dialog-close { position: absolute; top: 10px; right: 12px; width: 44px; height: 44px; color: #657182; background: #F0F3F6; border: 0; border-radius: 50%; font-size: 22px; cursor: pointer; }
.expert-dialog-header > img { width: 42px; height: 42px; object-fit: contain; }
.expert-dialog-header > span { display: block; margin-top: 18px; color: var(--brand-blue); font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.dialog-card h2 { margin-top: 8px; font-size: clamp(30px, 4vw, 44px); }
#expert-dialog-title:focus { outline: none; }
.expert-dialog-intro { max-width: 780px; margin-top: 12px; color: #667385; font-size: 16px; line-height: 1.65; }
.expert-request-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 28px; align-items: start; }
.expert-request-column { min-width: 0; }
.expert-request-column-main, .expert-request-column-side { display: grid; gap: 0; align-content: start; }
.expert-contact-head { display: grid; gap: 4px; }
.expert-contact-head h3 { margin: 0; color: #33465C; font-size: 18px; }
.expert-contact-head p { margin: 0; color: #667385; font-size: 13px; line-height: 1.45; }
.expert-options { margin: 24px 0 0; padding: 0; border: 0; }
.expert-options legend { margin-bottom: 3px; color: #475669; font-size: 14px; font-weight: 800; }
.expert-options-support { margin: 7px 0 14px !important; color: #667385 !important; font-size: 14px !important; line-height: 1.5 !important; }
.expert-option-row { min-height: 0; display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 10px; align-items: start; padding: 11px 0; color: #33465C; background: transparent; border: 0; border-bottom: 1px solid #E2E8EF; cursor: pointer; }
.expert-options .expert-option-row:last-of-type { border-bottom: 0; }
.expert-option-row:has(input:checked) { color: #1B6031; }
.expert-option-row input { width: 15px; height: 15px; margin: 2px 0 0; accent-color: #2D8F49; }
.expert-option-row span { display: block; font-size: 14px; line-height: 1.45; }
.expert-message { grid-column: 1 / -1; display: grid; gap: 6px; margin-top: 0; color: #475669; font-size: 14px; font-weight: 700; }
.expert-message textarea { width: 100%; min-height: 180px; padding: 11px 12px; color: #293A4E; background: var(--white); border: 1px solid var(--control-border); border-color: var(--control-border); border-radius: 4px; font-size: 14px; line-height: 1.55; resize: vertical; }
.expert-contact { display: grid; grid-template-columns: minmax(200px,.84fr) minmax(250px,1.16fr); gap: 10px; margin-top: 18px; }
.expert-field { min-width: 0; }
.expert-contact label { display: grid; gap: 5px; color: #475669; font-size: 14px; font-weight: 700; }
.expert-label-with-info > label { display: block; }
.expert-contact input, .expert-contact select { width: 100%; min-height: 44px; padding: 0 11px; color: #293A4E; background: var(--white); border: 1px solid var(--control-border); border-color: var(--control-border); border-radius: 4px; font: inherit; font-size: 14px; }
.expert-label-with-info { display: flex; align-items: center; gap: 7px; }
.expert-field-info { width: 24px; height: 24px; display: inline-grid; place-items: center; flex: 0 0 auto; padding: 0; color: var(--brand-blue); background: #EEF4FA; border: 1px solid #9CB7D7; border-radius: 50%; font-size: 12px; font-weight: 800; cursor: help; }
@media (max-width: 860px) { .expert-request-layout { grid-template-columns: 1fr; } .expert-contact { grid-template-columns: 1fr; } }
.expert-full-trial-conditions { margin-top: 18px; padding: 12px 14px; color: #33465C; background: #F6F8FA; border: 1px solid #D4DDE7; border-radius: 4px; font-size: 13px; line-height: 1.55; }
.expert-full-trial-conditions[hidden] { display: none; }
.expert-full-trial-conditions summary { min-height: 44px; display: flex; align-items: center; color: #33465C; font-weight: 800; cursor: pointer; }
.expert-full-trial-conditions p { margin: 6px 0 2px; }
.expert-full-trial-conditions a, .expert-consent a { color: var(--brand-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.expert-consent { display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 10px; align-items: start; margin-top: 18px; padding: 11px 0; color: #33465C; font-size: 14px; line-height: 1.45; border-top: 1px solid #E2E8EF; }
.expert-consent input { width: 15px; height: 15px; margin: 2px 0 0; accent-color: #2D8F49; }
.expert-captcha { display: grid; gap: 5px; margin-top: 15px; padding: 12px 14px; color: #566474; background: #F6F8FA; border: 1px dashed #C8D2DC; border-radius: 4px; font-size: 13px; line-height: 1.45; }
.expert-captcha strong { color: #33465C; font-size: 13px; }
.expert-submit-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 18px; }
.expert-submit-row .dialog-cta { margin-top: 0; border: 0; cursor: pointer; }
.expert-submit-row .dialog-cta[disabled] { opacity: .72; cursor: progress; }
.expert-submit-row .expert-success-close { min-height: 44px; padding: 0 18px; color: #33465C; background: #F5F7F9; border: 1px solid #D4DCE5; }
.expert-submit-row .expert-success-close[hidden] { display: none; }
.expert-submit-row small { color: var(--readable-muted); font-size: 12px; }
.expert-form-status { margin-top: 13px !important; padding: 10px 12px; color: #245F38 !important; background: #EDF7E9; border: 1px solid #B6D7A7; border-radius: 4px; font-size: 12px !important; }
.expert-form-status[data-status-tone="pending"] { color: #5B5A1E !important; background: #FFF6D8; border-color: #E0CC7E; }
.expert-form-status[data-status-tone="error"] { color: #8F2F2F !important; background: #FAECEC; border-color: #E3B0B0; }
.expert-form-status a { min-height: 44px; display: inline-flex; align-items: center; margin-left: 4px; color: #174D75; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.expert-form-status[hidden] { display: none; }
@media (min-width: 1021px) {
  .onboarding { align-items: stretch; }
  .onboarding-copy { display: grid; grid-template-rows: minmax(0,1fr) auto; }
  .onboarding-step { grid-area: 1 / 1; display: block; visibility: hidden; pointer-events: none; }
  .onboarding-step.is-active { visibility: visible; pointer-events: auto; }
  .onboarding-controls { grid-area: 2 / 1; }
  .product-window { height: var(--product-tour-height); align-self: stretch; display: flex; min-height: 0; }
  .product-screens { flex: 1 1 auto; height: 100%; min-height: 0; }
}

@media (max-width: 1240px) {
  .primary-nav > a:not([class]):nth-of-type(4), .primary-nav > a:not([class]):nth-of-type(5) { display: flex; }
  .onboarding { grid-template-columns: 290px minmax(690px,1fr); column-gap: 28px; }
}

@media (min-width: 1181px) {
  .integration-map:not([data-factor-view="compact"]) { grid-template-rows: repeat(3,158px) auto; grid-template-areas: "resource economics environment" "geometry core processing" "strategy . production" "output output output"; }
  .integration-map:not([data-factor-view="compact"]) .integration-output-result { --output-link: 214px; }
}

@media (max-width: 1180px) {
  .integration-map { grid-template-columns: 1fr 1fr; grid-template-rows: none; grid-template-areas: none; justify-items: center; gap: 28px; padding: 28px; }
  .integration-map[data-factor-view="compact"] { grid-template-rows: none; }
  .integration-field { display: block; opacity: .78; }
  .integration-domain, .integration-core, .integration-output { grid-area: auto; position: relative; inset: auto; transform: none; }
  .integration-domain { z-index: auto; width: min(100%,340px); height: 158px; min-height: 158px; }
  .domain-production { grid-column: 1 / -1; width: min(100%,340px); justify-self: center; }
  .integration-core, .integration-output { grid-column: 1 / -1; }
  .integration-core { margin: 54px auto 78px; }
  .integration-output-result { --output-link: 72px; }
  .integration-output { width: 100%; margin-inline: 0; }
  .orbit-h, .orbit-i, .orbit-j { display: none; }
  .traditional-flow-track { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .product-flow-track { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .product-flow-node:nth-child(3), .product-flow-node:nth-child(4), .product-flow-node:nth-child(5) { grid-column: auto; }
}

@media (min-width: 721px) and (max-width: 1180px) {
  .product-flow-node:nth-child(3) { grid-column: 1 / -1; }
  .stage03-cycle { column-gap: 4px; }
  .stage03-module { padding-inline: 6px; }
  .product-flow-node:nth-child(4)::after, .traditional-flow-node:nth-child(4)::after { display: none; }
}

@media (min-width: 1021px) and (max-width: 1100px) {
  .onboarding { grid-template-columns: 250px minmax(0,1fr); column-gap: 24px; }
}

@media (max-width: 1020px) {
  .traditional-flow-node p span { display: inline; }
  .primary-nav > a:not([class]), .nav-group > a, .nav-group > span { padding: 10px 0; }
  .primary-nav > a:not([class]), .nav-group { margin-inline-end: 0; }
  .nav-group { display: grid; grid-template-columns: 1fr auto; }.nav-expander { width: 44px; height: 44px; padding: 0 !important; }.nav-group .nav-submenu { grid-column: 1 / -1; }.nav-group:hover .nav-submenu { display: none; }.nav-group.is-open .nav-submenu { display: grid; }
  .onboarding { --product-tour-height: 440px; grid-template-columns: 1fr; }.onboarding-copy { height: auto; min-height: 330px; }.onboarding-step p { max-width: 720px; }.onboarding-controls { max-width: 460px; }.product-window, .product-screens { height: var(--product-tour-height); }
}

@media (max-width: 1100px) {
  .onboarding-step .stage-02-description span { white-space: normal; }
}

@media (max-width: 720px) {
  .hero h1 { font-size: clamp(38px,10.5vw,52px); }.heading-wide h2, .story-heading h2, .product-heading h2, .question-shell h2 { font-size: clamp(32px,8.6vw,43px); }
  .integration-field { opacity: .68; }
  .integrated-search { border-radius: 12px; }.integrated-search-head { grid-template-columns: 1fr; padding: 27px 21px 24px; }.integration-map { grid-template-columns: 1fr; gap: 20px; padding: 20px; }.integration-domain, .domain-production, .integration-core, .integration-output { grid-column: 1; width: auto; }.integration-core { width: 205px; height: 205px; margin: 58px auto 76px; }.integration-core > strong { font-size: 22px; }.integration-output-result { --output-link: 65px; padding-inline: 0; }.integration-output-analysis .integration-output-results { grid-template-columns: repeat(2,minmax(0,1fr)); }.orbit-e, .orbit-f, .orbit-g, .orbit-h, .orbit-i, .orbit-j { display: none; }
  .integration-output-result strong > span { white-space: normal; }
  .executive-landscape .metric-tabs { grid-template-columns: 1fr; }
  .onboarding { --product-tour-height: 420px; }.onboarding-copy { min-height: 400px; }.onboarding-controls { grid-template-columns: 44px minmax(0,1fr) 44px 44px; }.onboarding-dots { order: 0; flex-basis: auto; }.product-window { overflow-x: auto; }.product-screens, .app-bar { min-width: 820px; }.product-screens { height: var(--product-tour-height); }
  .product-flow { padding: 20px 14px; }.product-flow-heading { grid-template-columns: 1fr; gap: 7px; align-items: start; }.product-flow-track { grid-template-columns: 1fr; gap: 16px; margin-top: 17px; }.product-flow-node { height: auto; min-height: 0; grid-template-columns: 1fr; justify-items: stretch; padding: 12px; text-align: left; }.product-flow-node > div { grid-template-rows: auto auto; }.product-flow-node:nth-child(4) p span, .product-flow-node:nth-child(5) p span, .onboarding-step .stage-02-description span, .onboarding-step .stage-04-description span { display: inline; }.product-flow-node:not(:last-child)::after { display: block; width: 12px; height: 24px; top: auto; right: auto; bottom: -22px; left: 50%; background: var(--lime); clip-path: polygon(42% 0,58% 0,58% 72%,100% 72%,50% 100%,0 72%,42% 72%); transform: translateX(-50%); }
  .traditional-flow { padding: 20px 14px; }.traditional-flow-heading { grid-template-columns: 1fr; gap: 7px; align-items: start; }.traditional-flow-track { grid-template-columns: 1fr; gap: 16px; margin-top: 17px; }.traditional-flow-node { height: auto; min-height: 0; grid-template-columns: 1fr; padding: 12px; }.traditional-flow-node > div { grid-template-rows: auto auto; }.traditional-flow-node:not(:last-child)::after { display: block; width: 12px; height: 24px; top: auto; right: auto; bottom: -22px; left: 50%; background: #9AAABD; clip-path: polygon(42% 0,58% 0,58% 72%,100% 72%,50% 100%,0 72%,42% 72%); transform: translateX(-50%); }
  .product-case-link { text-align: left; }
  .hero-mobile-adoption { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; width: max-content; max-width: 100%; margin-top: 24px; padding: 0 18px; color: var(--navy); background: var(--lime); border-radius: 5px; font-size: 14px; font-weight: 800; white-space: nowrap; text-shadow: none; }
  .site-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 16px); }
  .dialog-card { max-height: calc(100dvh - 16px); padding: 0 20px; }
  .expert-dialog-header { padding: 24px 52px 15px 0; }
  .expert-dialog-header > img { width: 36px; height: 36px; }
  .expert-dialog-header > span { margin-top: 12px; }
  .expert-dialog-header h2 { font-size: clamp(26px,8vw,34px); }
  .expert-dialog-intro { font-size: 14px; line-height: 1.5; }
  .expert-request-body { padding-right: 0; padding-bottom: 18px; }
  .expert-request-layout { grid-template-columns: 1fr; gap: 24px; }
  .expert-contact { grid-template-columns: 1fr; }
  .expert-field-info { width: 44px; height: 44px; margin: -10px 0; }
  .expert-dialog-footer { padding: 12px 0 16px; }
  .expert-submit-row { align-items: stretch; flex-direction: column; margin-top: 0; }
  .expert-submit-row .dialog-cta, .expert-submit-row .expert-success-close { width: 100%; min-height: 44px; }
}

@media (min-width: 1101px) {
  .onboarding-step .stage-02-description span { display: block; white-space: nowrap; }
  .onboarding-step .stage-03-description span { display: block; white-space: nowrap; }
  .hero-shell { grid-template-columns: minmax(0,1fr) minmax(460px,500px); column-gap: clamp(44px,5vw,74px); }
  .hero-statement { width: 100%; max-width: 500px; padding: 26px 28px 23px; transform: translateY(clamp(52px,8vh,82px)); }
  .hero-statement > span, .hero-statement > strong, .hero-statement > div > p { white-space: nowrap; }
  .hero-statement > div { flex-wrap: nowrap; }
  .hero-statement > div > p { font-size: 16px; line-height: 1.5; }
}

@media (min-width: 1280px) {
  .hero-shell { grid-template-columns: minmax(0,1fr) minmax(520px,580px); }
  .hero-statement { max-width: 580px; }
}

/* ========================================================================== */
/* V5 practitioner evidence                                                   */
/* ========================================================================== */

.practitioner-evidence { margin-top: clamp(36px,5vw,62px); }

.testimonial-controls > .testimonial-utilities { min-width: 0; display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 8px 18px; margin: 0; }
.testimonial-utilities > button, .testimonial-utilities > a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 4px 3px; color: var(--readable-muted); background: transparent; border: 0; border-bottom: 1px solid #B9C5D2; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.testimonial-utilities > button:hover, .testimonial-utilities > a:hover { color: var(--brand-blue); border-bottom-color: var(--green); }
.testimonial-utilities > button:focus-visible, .testimonial-utilities > a:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.testimonial-utilities > button[disabled] { color: #9AA5B1; cursor: default; opacity: .62; }
.testimonial-utilities .share-story { width: auto; margin: 0; }
.testimonial-carousel.is-expanded .testimonial-viewport { overflow: visible; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.testimonial-carousel.is-expanded .testimonial-track { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; transform: none !important; transition: none; }
.testimonial-carousel.is-expanded .testimonial-slide { height: auto; min-height: 0; grid-template-columns: 116px minmax(0,1fr); gap: 24px; align-items: start; padding: 28px; overflow: visible; background: rgba(255,255,255,.94); border: 1px solid #D3DCE6; border-radius: 10px; box-shadow: 0 12px 28px rgba(19,41,75,.06); }
.testimonial-carousel.is-expanded .testimonial-person { align-self: start; }
.testimonial-carousel.is-expanded .testimonial-person img { width: 78px; height: 78px; border-width: 4px; }
.testimonial-carousel.is-expanded .testimonial-person > div { margin-top: 14px; }
.testimonial-carousel.is-expanded .testimonial-person strong { font-size: 14px; }
  .testimonial-carousel.is-expanded .testimonial-person span { font-size: 13px; }
.testimonial-carousel.is-expanded .testimonial-quote { max-height: none; padding-left: 34px; }
.testimonial-carousel.is-expanded .testimonial-slide blockquote { max-height: none; padding: 7px 6px 7px 0; overflow-y: visible; font-size: 13px; line-height: 1.58; }
.testimonial-carousel.is-expanded .testimonial-quote::before { top: -12px; font-size: 64px; }
.testimonial-carousel.is-expanded .testimonial-controls { grid-template-columns: 1fr; }
.testimonial-carousel.is-expanded .testimonial-controls > [data-testimonial-prev], .testimonial-carousel.is-expanded .testimonial-controls > [data-testimonial-next], .testimonial-carousel.is-expanded .testimonial-position { display: none; }
.testimonial-carousel.is-expanded .testimonial-utilities { grid-column: 1; grid-row: 1; }

@media (max-width: 1020px) {
  .testimonial-carousel.is-expanded .testimonial-track { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .contextual-references { grid-template-columns: 1fr; }
  .testimonial-controls > .testimonial-utilities { flex-wrap: wrap; gap: 6px 12px; }
  .testimonial-carousel.is-expanded .testimonial-slide { grid-template-columns: 1fr; gap: 18px; padding: 25px 22px; }
  .testimonial-carousel.is-expanded .testimonial-person { grid-template-columns: 72px 1fr; gap: 14px; align-items: center; }
  .testimonial-carousel.is-expanded .testimonial-person img { width: 68px; height: 68px; }
  .testimonial-carousel.is-expanded .testimonial-person > div { margin-top: 0; }
}
.product-story-visual{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:420px;margin:0;border-radius:18px;overflow:hidden;background:#0b2342}.product-story-visual img{display:block;width:100%;height:100%;object-fit:contain}
@media (max-width:760px){.product-story-visual{min-height:280px}}

/* Simplified edition decision matrix */
.edition-detail-page .offer-comparison-shell { overflow-x: auto; border-radius: 8px; scrollbar-gutter: stable; }
.edition-detail-page .offer-comparison { min-width: 960px; table-layout: fixed; }
.edition-detail-page .offer-feature-column { width: 28%; }
.edition-detail-page .offer-plan-column { width: 18%; }
.edition-detail-page .offer-comparison thead th { height: 190px; padding: 23px 18px; }
.edition-detail-page .offer-comparison thead h3 { font-size: 21px; }
.edition-detail-page .offer-comparison thead p { font-size: 13px; }
.edition-detail-page .offer-comparison thead .offer-model { display: inline-flex; width: auto; margin-top: 14px; padding: 4px 8px; color: var(--product-green-dark); background: #EAF6E6; border: 1px solid #BFDDB3; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .08em; line-height: 1; }
.edition-detail-page .offer-comparison thead th[data-offer="ai"] .offer-model { color: var(--navy); background: var(--lime); border-color: var(--lime); }
.edition-detail-page .offer-comparison tbody tr[data-offer-feature] > th { padding: 14px 18px; }
.edition-detail-page .offer-comparison tbody tr[data-offer-feature] > th small { white-space: nowrap; }
.edition-detail-page .offer-comparison tbody td { padding: 14px 10px; text-align: center; }
.edition-detail-page .offer-comparison tbody td::before { content: none; }
.availability-symbol { width: 28px; height: 28px; display: inline-grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; }
.availability-symbol svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.availability-included { color: #2D7943; background: #EDF7EA; }
.availability-unavailable { color: #687587; background: #F2F4F6; }
.availability-planned { display: inline-flex; align-items: center; justify-content: center; padding: 5px 9px; color: #225A97; background: #EAF1F8; border: 1px solid #AFC8E3; border-radius: 999px; font-size: 11px; font-weight: 800; }
.capability-title-with-link { display: flex; align-items: center; gap: 7px; }
.capability-title-with-link a { width: 22px; height: 22px; display: inline-grid; place-items: center; flex: 0 0 auto; color: var(--brand-blue); border: 1px solid #9CB7D7; border-radius: 50%; font-size: 12px; font-weight: 800; text-decoration: none; }
.capability-title-with-link a:hover { color: var(--white); background: var(--brand-blue); }
.edition-roadmap { display: grid; grid-template-columns: auto minmax(190px,1fr) minmax(220px,1.4fr) auto; gap: 14px 22px; align-items: center; margin-top: 18px; padding: 13px 16px; background: #EEF2F6; border: 1px solid #D5DAE1; border-radius: 6px; color: #536174; font-size: 13px; }
.edition-roadmap > strong { color: var(--navy); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.edition-roadmap > a { color: var(--brand-blue); font-weight: 800; text-decoration: underline; text-decoration-color: rgba(29,87,165,.35); text-underline-offset: 3px; }
.edition-roadmap > b { padding: 4px 8px; color: #225A97; background: #DFEAF5; border-radius: 999px; font-size: 11px; text-transform: uppercase; }
.edition-detail-page .offer-comparison-notes { grid-template-columns: minmax(0,1fr) auto; }

@media (max-width: 720px) {
  .edition-detail-page .offer-comparison-shell { overflow-x: auto; border-right: 1px solid #D5DAE1; border-left: 1px solid #D5DAE1; }
  .edition-detail-page .offer-comparison, .edition-detail-page .offer-comparison thead, .edition-detail-page .offer-comparison tbody { display: table; }
  .edition-detail-page .offer-comparison colgroup { display: table-column-group; }
  .edition-detail-page .offer-comparison thead { display: table-header-group; }
  .edition-detail-page .offer-comparison tbody { display: table-row-group; }
  .edition-detail-page .offer-comparison tr, .edition-detail-page .offer-comparison thead tr, .edition-detail-page .offer-comparison tbody tr[data-offer-feature] { display: table-row; }
  .edition-detail-page .offer-comparison th, .edition-detail-page .offer-comparison td, .edition-detail-page .offer-group-row th { display: table-cell; }
  .edition-detail-page .offer-comparison-axis { position: sticky; z-index: 4; left: 0; width: auto; height: auto; padding: 17px 14px !important; overflow: visible; clip-path: none; white-space: normal; }
  .edition-detail-page .offer-comparison thead th { min-height: 0; padding: 17px 12px; }
  .edition-detail-page .offer-comparison tbody tr[data-offer-feature] > th { position: sticky; z-index: 2; left: 0; min-height: 0; padding: 13px 14px; border-right: 1px solid #E0E4E9; }
  .edition-detail-page .offer-comparison tbody td { min-height: 0; padding: 13px 9px; font-size: 12px; }
  .edition-detail-page .offer-comparison tbody tr[data-offer-feature] > th small { white-space: normal; }
  .edition-detail-page .offer-group-row th { position: sticky; z-index: 3; left: 0; width: auto; }
  .edition-roadmap { grid-template-columns: 1fr auto; gap: 7px 12px; }
  .edition-roadmap > span { grid-column: 1 / -1; }
  .edition-detail-page .offer-comparison-notes { grid-template-columns: 1fr; }
}
