@font-face{
  font-family:'Cardinal Fruit';
  src:url('fonts/cardinal-fruit-medium.woff2') format('woff2'),
      url('fonts/cardinal-fruit-medium.woff') format('woff');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
:root{
  --bg:#FAFAF7;
  --ink:#111;
  --text:#30302D;
  --muted:#85847E;
  --rule:#E6E4DA;
  --accent:#5C7A5C;
  --hero-text:#F5F5EE;
  --hero-text-soft:rgba(245,245,238,.72);
  --hero-accent:#B6D4A8;
  --display:'Cardinal Fruit',Georgia,'Times New Roman',serif;
  --sans:'Inter Tight',ui-sans-serif,system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
html{ scroll-behavior:smooth; background:var(--bg); }
body{ background:var(--bg); color:var(--text); font-family:var(--sans); font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; overflow-x:hidden; }
button,a{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:geometricPrecision; }
a{ color:inherit; text-decoration:none; }
.navx{ position:fixed; top:0; left:0; right:0; z-index:100; height:60px; display:flex; align-items:center; color:var(--hero-text); background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.018)); border-bottom:1px solid rgba(255,255,255,.055); -webkit-backdrop-filter:blur(12px) saturate(130%); backdrop-filter:blur(12px) saturate(130%); box-shadow:inset 0 1px 0 rgba(255,255,255,.075),0 8px 24px rgba(0,0,0,.04); transform:translate3d(0,calc(var(--demo-nav-push,0) * -64px),0); opacity:calc(1 - var(--demo-nav-push,0)); transition:backdrop-filter .25s ease,transform .38s cubic-bezier(.22,.61,.36,1),opacity .38s ease; will-change:transform,opacity; }
.is-demo-framed .navx{ pointer-events:none; }
.navx::before{ content:""; position:absolute; left:0; right:0; top:0; height:1px; pointer-events:none; background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),rgba(182,212,168,.13),transparent); opacity:.38; }
.navx-inner{ position:relative; z-index:1; width:100%; max-width:1480px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:32px; }
.navx-brand{ display:inline-flex; color:var(--nav-item-color,var(--hero-text)); font-weight:500; font-size:14px; line-height:1; letter-spacing:.16em; text-transform:uppercase; transform:translateZ(0); transition:color .18s ease; }
.navx-links{ display:flex; align-items:center; gap:36px; justify-self:center; }
.navx-links a{ position:relative; padding:8px 0; font-family:var(--sans); font-size:15px; line-height:1; color:var(--nav-item-color,rgba(245,245,238,.80)); transition:color .18s ease; }
.navx-links a::after,.navx-cta::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .28s cubic-bezier(.2,.7,.2,1); }
.navx-links a:hover{ color:var(--nav-item-hover,var(--hero-text)); }
.navx-links a:hover::after,.navx-cta:hover::after{ transform:scaleX(1); }
.navx-cta{ position:relative; justify-self:end; display:inline-flex; align-items:center; gap:9px; padding:8px 0; color:var(--nav-item-color,var(--hero-text)); font-family:var(--sans); font-size:15px; line-height:1; transition:color .18s ease; }
.arr{ transition:transform .2s ease; }
a:hover .arr{ transform:translateX(3px); }
.herox{ position:relative; height:100vh; height:100svh; overflow:hidden; color:var(--hero-text); background:#0E1411; }
.herox-bg{ position:absolute; inset:0; bottom:0; }
.herox-bg picture{ display:block; width:100%; height:100%; }
.herox-bg img{ width:100%; height:100%; object-fit:cover; transform:translate3d(0,0,0) scale(1.06); transform-origin:center; will-change:transform; }
.herox-tint{ position:absolute; inset:0; background:radial-gradient(ellipse 95% 80% at 50% 50%,rgba(7,10,8,.28) 0%,rgba(7,10,8,.5) 58%,rgba(7,10,8,.74) 100%); }
.herox-grain{ position:absolute; inset:0; opacity:.14; pointer-events:none; background-image:radial-gradient(rgba(255,255,255,.18) .7px,transparent .7px); background-size:3px 3px; mix-blend-mode:overlay; }
.herox-inner{ position:relative; z-index:2; max-width:1500px; height:100%; margin:0 auto; padding:0 48px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; transform:translate3d(0,var(--hero-content-shift,0px),0); opacity:var(--hero-content-opacity,1); will-change:transform,opacity; }
.herox-statement{ max-width:none; margin:0; font-family:var(--display); font-size:clamp(48px,10vw,140px); font-weight:500; letter-spacing:.03em; line-height:.96; text-transform:uppercase; color:#fff; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
.herox-tagline{ margin:1.1em 0 0; font-family:var(--sans); font-size:clamp(16px,1.5vw,22px); font-weight:700; letter-spacing:.34em; text-transform:uppercase; color:rgba(245,245,238,.9); }
.herox-ctas{ display:flex; flex-wrap:wrap; justify-content:center; gap:24px; margin-top:48px; }
.herox-link{ position:relative; min-width:148px; height:48px; padding:0 26px; border:0; border-radius:9px; display:inline-flex; align-items:center; justify-content:center; gap:18px; font-family:var(--sans); font-size:14px; font-weight:600; line-height:1; letter-spacing:-.005em; isolation:isolate; overflow:hidden; transform:translate3d(0,0,0); transition:color .24s ease,background .24s ease,box-shadow .24s ease,transform .22s ease; }
.herox-link.primary{ background:#fff; color:#163024; box-shadow:inset 0 0 0 1.4px #fff; }
.herox-link.primary:hover{ background:transparent; color:#fff; box-shadow:inset 0 0 0 1.4px #fff; transform:translate3d(0,-1px,0); }
.herox-link.green{ background:transparent; color:#fff; box-shadow:inset 0 0 0 1.4px rgba(255,255,255,.6); }
.herox-link.green:hover{ background:#fff; color:#163024; box-shadow:inset 0 0 0 1.4px #fff; transform:translate3d(0,-1px,0); }
.capabilities{ background:var(--bg); padding:168px 0 148px; color:var(--ink); }
.capabilities-inner,.services-inner,.closing-inner{ max-width:1480px; margin:0 auto; padding:0 32px; }
.capabilities-statement{ max-width:1180px; margin:0 0 140px; font-family:var(--display); font-size:clamp(42px,6vw,88px); font-weight:400; line-height:1.14; letter-spacing:-.01em; color:var(--ink); }
.capabilities-statement em{ font-style:normal; color:var(--accent); }
.capabilities-split{ display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr); gap:clamp(40px,6vw,96px); align-items:start; }
.capability-list{ border-top:1px solid var(--rule); }
.capabilities-sticky{ position:sticky; top:120px; align-self:start; }
.capabilities-sticky-inner{ padding-top:48px; padding-left:clamp(0px,4vw,72px); }
.capabilities-sticky-kicker{ margin:0 0 26px; font-family:var(--mono); font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--muted); }
.capabilities-sticky-title{ margin:0; font-family:var(--display); font-size:clamp(34px,3.4vw,56px); font-weight:400; line-height:1.12; letter-spacing:-.015em; color:var(--ink); text-wrap:balance; }
.capabilities-sticky-title em{ font-style:normal; color:var(--accent); }
.capabilities-sticky-copy{ margin:0 0 24px; max-width:420px; color:var(--text); font-size:clamp(15px,1.1vw,17px); line-height:1.75; }
.capabilities-sticky-copy:last-child{ margin-bottom:0; }
.capability-row{ display:grid; grid-template-columns:minmax(200px,.34fr) minmax(0,.66fr); gap:clamp(20px,2.5vw,40px); padding:36px 0; border-bottom:1px solid var(--rule); }
.capability-title{ margin:0; color:var(--ink); font-family:var(--display); font-size:clamp(26px,2.8vw,46px); font-weight:400; letter-spacing:-.005em; line-height:1.1; }
.capability-copy{ max-width:620px; margin:0; color:var(--text); font-size:clamp(16px,1.25vw,20px); line-height:1.75; }
.work-preview{ position:relative; background:var(--bg); color:var(--ink); padding:24px 0 116px; overflow:hidden; --demo-open:0; transition:background-color .35s ease; }
.work-preview-inner{ max-width:1480px; margin:0 auto; padding:0 32px; }
.work-preview-head{ display:grid; grid-template-columns:minmax(0,.56fr) minmax(320px,.44fr); gap:clamp(32px,5vw,74px); align-items:center; margin-bottom:46px; }
.work-preview-label,.section-kicker{ font-family:var(--mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }
.work-preview-label,.section-kicker{ margin-bottom:24px; color:var(--accent); }
.work-preview-title{ margin:0; max-width:680px; font-family:var(--display); font-size:clamp(34px,4.1vw,60px); font-weight:400; line-height:1.08; letter-spacing:-.005em; color:var(--ink); }
.work-preview-copy{ margin:38px 0 0; max-width:520px; font-family:var(--sans); font-size:clamp(16px,1.25vw,19px); line-height:1.55; letter-spacing:-.01em; color:var(--text); }
.work-preview-copy strong{ font-weight:600; color:var(--ink); }
.demo-wrap{ position:relative; width:100vw; margin-left:50%; transform:translate3d(-50%,calc((1 - var(--demo-open,0)) * 46px),0) scaleY(calc(.965 + (var(--demo-open,0) * .035))); transform-origin:center top; padding:42px 0 56px; border-radius:calc(42px - (var(--demo-open,0) * 42px)); will-change:transform,border-radius; backface-visibility:hidden; isolation:isolate; }
.demo-wrap::before{ content:""; position:absolute; inset:0; z-index:0; border-radius:inherit; background:#0b2418; box-shadow:none; transform:scaleX(calc(.82 + (var(--demo-open,0) * .18))); transform-origin:center top; will-change:transform,border-radius; backface-visibility:hidden; pointer-events:none; }
.industry-rail,.demo-tabs,.demo-app{ position:relative; z-index:1; width:min(94vw,1480px); transform:scaleX(calc(.82 + (var(--demo-open,0) * .18))); transform-origin:center top; will-change:transform; }
.demo-app{ transform:scaleX(calc(.82 + (var(--demo-open,0) * .18))) scaleY(calc(.965 + (var(--demo-open,0) * .035))); }
.industry-rail{ --ind-start:0%; --ind-end:0%; --ind-local:0; --ind-trail-start:0%; --ind-trail-end:0%; --ind-trail-opacity:0; position:relative; margin:0 auto 22px; padding:2px 0 18px; border-bottom:0; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
.industry-row{ display:flex; gap:0; align-items:center; pointer-events:auto; }
.industry-row.industry-row-fill{ position:absolute; inset:2px 0 18px; pointer-events:none; clip-path:inset(0 calc(100% - var(--ind-start) - (var(--ind-end) - var(--ind-start)) * var(--ind-local,0)) 0 var(--ind-start)); }
.industry-row.industry-row-trail{ position:absolute; inset:2px 0 18px; pointer-events:none; clip-path:inset(0 calc(100% - var(--ind-trail-end)) 0 var(--ind-trail-start)); opacity:var(--ind-trail-opacity,0); }
.industry-tab{ flex:1 1 0; min-width:0; border:0; background:transparent; padding:0; cursor:pointer; font:inherit; text-align:center; }
.industry-tab span{ display:inline-block; font-family:var(--sans); font-size:clamp(14px,1.2vw,18px); letter-spacing:.02em; text-transform:uppercase; font-weight:700; line-height:1.1; color:rgba(255,255,255,.30); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.industry-row .industry-tab:hover span{ color:rgba(255,255,255,.55); }
.industry-rail.is-paused .industry-row-base .industry-tab.is-active span{ color:#fff; }
.industry-row-fill .industry-tab span,.industry-row-trail .industry-tab span{ color:#ffffff; }
.demo-tabs{ --demo-paper:#f7f7f5; position:relative; margin:0 auto -1px; display:flex; gap:0; align-items:flex-end; padding:0; z-index:6; }
.demo-tab{ position:relative; isolation:isolate; width:168px; min-height:38px; border:0; background:transparent; padding:0 34px 0 22px; color:rgba(255,255,255,.58); cursor:pointer; font:inherit; transform:translateZ(0); backface-visibility:hidden; transition:color .2s ease; }
.demo-tab + .demo-tab{ margin-left:-13px; }
.demo-tab::before,.demo-tab::after{ content:""; position:absolute; inset:0; clip-path:path("M 0 38 L 0 11 Q 0 0 11 0 L 139 0 Q 147 0 151 6 L 166 19 Q 168 21 168 25 L 168 38 Z"); transform:translateZ(0); backface-visibility:hidden; will-change:opacity; transition:background .24s ease,box-shadow .24s ease,opacity .24s ease; }
.demo-tab::before{ z-index:-2; background:rgba(255,255,255,.06); box-shadow:0 -8px 20px rgba(0,0,0,.10); }
.demo-tab::after{ z-index:-1; inset:1px 1px 0 1px; clip-path:path("M 0 37 L 0 10 Q 0 0 10 0 L 137 0 Q 145 0 149 6 L 164 18 Q 166 20 166 24 L 166 37 Z"); background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.05)); -webkit-backdrop-filter:blur(12px) saturate(130%); backdrop-filter:blur(12px) saturate(130%); box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 0 0 1px rgba(255,255,255,.14); }
.demo-tab span{ position:relative; z-index:1; display:flex; align-items:center; min-height:38px; font-family:var(--sans); font-size:14px; letter-spacing:-.005em; font-weight:650; line-height:1; white-space:nowrap; transition:color .24s ease; }
.demo-tab:hover{ color:rgba(255,255,255,.92); transform:translateZ(0); }
.demo-tab:not(.is-active):hover::before{ inset:-4px 0 1px 0; clip-path:path("M 0 42 L 0 15 Q 0 4 11 4 L 139 4 Q 147 4 151 10 L 166 23 Q 168 25 168 29 L 168 42 Z"); }
.demo-tab:not(.is-active):hover::after{ inset:-3px 1px 1px 1px; clip-path:path("M 0 41 L 0 14 Q 0 4 10 4 L 137 4 Q 145 4 149 10 L 164 22 Q 166 24 166 28 L 166 41 Z"); }
.demo-tab:hover::after{ background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.1)); }
.demo-tabs.is-zooming .demo-tab::after{ background:linear-gradient(180deg,#6f8377,#4c6b5d); -webkit-backdrop-filter:none; backdrop-filter:none; }
.demo-tabs.is-zooming .demo-tab:hover::after{ background:linear-gradient(180deg,#809386,#577668); }
.demo-tab:not(.is-active)::before,.demo-tab:not(.is-active)::after{ bottom:1px; }
.demo-tab:nth-child(1){ z-index:3; }
.demo-tab:nth-child(2){ z-index:2; }
.demo-tab:nth-child(3){ z-index:1; }
.demo-tab.is-active{ color:#10251a; transform:translateZ(0); z-index:5; }
.demo-tab.is-active::before{ inset:0; clip-path:path("M 0 38 L 0 11 Q 0 0 11 0 L 139 0 Q 147 0 151 6 L 166 19 Q 168 21 168 25 L 168 38 Z"); background:var(--demo-paper); box-shadow:none; }
.demo-tab.is-active::after{ inset:1px 1px 0 1px; clip-path:path("M 0 37 L 0 10 Q 0 0 10 0 L 137 0 Q 145 0 149 6 L 164 18 Q 166 20 166 24 L 166 37 Z"); background:var(--demo-paper); box-shadow:none; }
.demo-tab.is-active span{ color:#10251a; }
.demo-tabs.is-switching .demo-tab::before,.demo-tabs.is-switching .demo-tab::after{ transition:background .28s ease,box-shadow .28s ease,opacity .28s ease; }
.demo-tabs.is-switching .demo-tab span{ transition:color .28s ease; }
.demo-app{ --demo-paper:#f7f7f5; position:relative; z-index:2; height:min(760px,82vh); min-height:640px; margin:0 auto; overflow:hidden; border:0; border-radius:0 24px 24px 24px; background:var(--demo-paper); box-shadow:none; font-family:var(--sans); }
.work-preview.is-demo-framed .demo-wrap::before{ box-shadow:none; }
.demo-app::before{ content:""; position:absolute; top:0; left:0; right:0; z-index:4; height:8px; background:var(--demo-paper); pointer-events:none; }
.demo-app .demo-body{ contain:paint; backface-visibility:hidden; transform:translateZ(0); }
.content-stack{ position:relative; min-height:100%; width:100%; }
.content-layer{ display:none; width:100%; opacity:0; transform:scale(.994); filter:blur(4px); pointer-events:none; transition:opacity .82s cubic-bezier(.22,.72,.16,1),transform .82s cubic-bezier(.22,.72,.16,1),filter .82s cubic-bezier(.22,.72,.16,1); }
.content-layer.is-entering{ display:block; opacity:0; transform:scale(.994); filter:blur(4px); }
.content-layer.is-active{ display:block; opacity:1; transform:scale(1); filter:blur(0); pointer-events:auto; }
.content-layer.is-exiting{ display:block; position:absolute; inset:0; z-index:2; opacity:0; transform:scale(1.006); filter:blur(5px); pointer-events:none; }
.report-pane .content-layer{ transform-origin:center 80px; }
.pdf-scroll .content-layer,.review-list .content-layer,.chat-messages .content-layer{ transform-origin:center 48px; }
.review-list .content-layer{ flex-direction:column; gap:8px; }
.chat-messages .content-layer{ flex-direction:column; align-items:flex-start; gap:18px; padding-top:30px; }
.review-list .content-stack,.chat-messages .content-stack{ width:100%; min-height:100%; }
.chat-messages .content-stack{ padding-top:18px; }
.review-list .content-layer.is-entering,.review-list .content-layer.is-active,.review-list .content-layer.is-exiting,.chat-messages .content-layer.is-entering,.chat-messages .content-layer.is-active,.chat-messages .content-layer.is-exiting{ display:flex; }
@media (prefers-reduced-motion:reduce){ .content-layer{ transition:none!important; filter:none!important; transform:none!important; } }
.demo-body{ position:relative; height:100%; min-height:0; overflow:hidden; }
.demo-panel{ position:absolute; inset:0; display:flex; height:100%; min-height:0; opacity:0; pointer-events:none; transform:translateY(18px); transition:opacity .35s ease,transform .35s ease; }
.demo-panel.is-active{ opacity:1; pointer-events:auto; transform:translateY(0); }
.report-pane{ position:relative; flex:1 1 0; min-width:0; height:100%; overflow-y:scroll; overscroll-behavior:auto; padding:0 24px 24px; scrollbar-width:thin; box-shadow:inset 0 -18px 18px -22px rgba(0,0,0,.30); }
.report-pane::before{ content:""; position:sticky; top:0; z-index:4; display:block; height:16px; margin:0 -24px 10px; background:var(--demo-paper); pointer-events:none; }
.report-paper{ width:min(820px,100%); min-height:1040px; margin:0 auto 48px; padding:56px 64px; background:#fff; border:1px solid #E5E5E3; box-shadow:0 1px 3px rgba(0,0,0,.06); color:#333; }
.report-meta{ width:min(820px,100%); margin:0 auto 16px; display:flex; justify-content:space-between; gap:20px; color:#A0A0A0; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.report-paper h1{ margin:0 0 30px; color:#1A1A1A; font-size:20px; font-weight:700; letter-spacing:.15em; line-height:1.2; text-transform:uppercase; }
.report-paper h2{ display:inline-block; margin:32px 0 12px; padding-bottom:6px; border-bottom:2px solid #B8C9B8; color:#1A1A1A; font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.report-paper p,.report-paper li{ font-size:14px; line-height:1.68; color:#333; }
.case-table{ width:100%; border-collapse:collapse; margin:14px 0 18px; font-size:13px; color:#333; }
.case-table td{ padding:8px 12px; border:1px solid #E5E5E3; vertical-align:top; }
.case-table td:first-child{ width:34%; color:#6B6B6B; background:#FAFAF8; font-weight:600; }
.dossier-warning{ margin:18px 0; padding:12px 14px; border-left:3px solid #B8C9B8; background:#F7FAF7; color:#4A4A4A; font-size:12px; line-height:1.5; }
.timeline-item{ list-style:none; padding:8px 0; border-bottom:1px dashed #E5E5E3; scroll-margin-top:30px; }
.report-paper ul:has(> .timeline-item){ list-style:none; padding-left:0; }
.ref{ display:inline-flex; margin-left:4px; padding:0 5px; border-radius:2px; background:#EAF0EA; color:#5A7A5A; font-size:10px; font-weight:700; vertical-align:12%; cursor:pointer; }
.report-field{ padding:0 2px; border-radius:2px; transition:background .2s ease,box-shadow .2s ease; }
.report-field.is-focused{ background:#FFF4C2; box-shadow:0 0 0 2px rgba(218,180,60,.25); }
.demo-panel[data-demo-panel="reviews"] .report-field.is-corrected{ background:#EAF0EA; box-shadow:0 0 0 2px rgba(154,184,154,.35); }
.demo-panel[data-demo-panel="reviews"] .report-field.is-escalated{ background:#FBE8D2; box-shadow:0 0 0 2px rgba(193,131,46,.3); }
.field-badge{ display:none; margin-left:4px; padding:1px 6px; background:#EAF0EA; color:#5A7A5A; font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.demo-panel[data-demo-panel="reviews"] .report-field.is-corrected + .field-badge,.demo-panel[data-demo-panel="reviews"] .report-field.is-escalated + .field-badge{ display:inline-block; }
.pdf-pane{ position:relative; z-index:2; flex:0 0 45%; width:45%; min-width:0; height:100%; overflow-y:scroll; overflow-x:hidden; overscroll-behavior:auto; touch-action:pan-y; background:#F7F7F5; border-left:3px solid #E5E5E3; scrollbar-width:thin; box-shadow:inset 0 -18px 18px -22px rgba(0,0,0,.32); }
.pdf-toolbar{ height:48px; position:sticky; top:0; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 14px; background:#fff; border-bottom:1px solid #E5E5E3; color:#1A1A1A; }
.pdf-title{ display:flex; align-items:center; gap:9px; min-width:0; font-size:13px; font-weight:500; }
.file-icon{ width:28px; height:28px; display:grid; place-items:center; background:#F4F7F4; color:#9AB89A; }
.pdf-controls{ display:flex; align-items:center; gap:6px; color:#6B6B6B; font-size:12px; }
.pdf-control{ border:1px solid #E5E5E3; background:#F7F7F5; color:#6B6B6B; padding:4px 7px; cursor:pointer; font:inherit; }
.pdf-toolbar::after{ content:"Scroll document"; position:absolute; left:50%; bottom:-24px; z-index:4; padding:4px 8px; border:1px solid rgba(229,229,227,.92); border-radius:999px; background:rgba(255,255,255,.92); color:#8A8F86; font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; transform:translateX(-50%); pointer-events:none; opacity:0; transition:opacity .18s ease; }
.pdf-pane:hover .pdf-toolbar::after{ opacity:.92; }
.pdf-scroll{ padding:12px 22px 22px; display:grid; justify-items:center; gap:18px; overflow:visible; }
.pdf-page{ position:relative; width:min(94%,620px); aspect-ratio:8.5/11; min-height:720px; padding:52px 56px 58px; background:linear-gradient(90deg,rgba(0,0,0,.018),transparent 6%,transparent 94%,rgba(0,0,0,.012)),repeating-linear-gradient(0deg,rgba(26,26,26,.012) 0,rgba(26,26,26,.012) 1px,transparent 1px,transparent 9px),#fffefb; border:1px solid #D7D7D2; box-shadow:0 1px 2px rgba(0,0,0,.10),0 14px 34px rgba(0,0,0,.12); font-family:Arial,Helvetica,sans-serif; transform-origin:top center; }
.pdf-page::after{ content:"Page " attr(data-pdf-page) " of 5"; position:absolute; right:56px; bottom:26px; color:#777; font-size:9px; }
.pdf-letterhead{ display:flex; justify-content:space-between; gap:12px; padding-bottom:12px; margin-bottom:18px; border-bottom:2px solid #222; }
.pdf-letterhead strong{ font-size:13px; font-weight:700; letter-spacing:.05em; color:#111; text-transform:uppercase; }
.pdf-letterhead span{ font-size:9px; line-height:1.45; color:#666; text-align:right; }
.pdf-doc-title{ margin:8px 0 14px; font-size:14px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#1A1A1A; }
.pdf-meta{ display:grid; grid-template-columns:1fr 1fr; gap:0; margin:0 0 16px; border:1px solid #D9D9D4; border-bottom:0; font-size:9px; color:#333; }
.pdf-meta span{ padding:6px 8px; border-bottom:1px solid #D9D9D4; }
.pdf-meta span:nth-child(odd){ border-right:1px solid #D9D9D4; }
.pdf-block{ margin:12px 0; font-size:10.5px; line-height:1.62; color:#222; }
.pdf-block h4{ margin:0 0 5px; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#1A1A1A; }
.pdf-block p{ margin:0; }
.pdf-evidence{ scroll-margin-top:60px; padding:0 0 2px; border-bottom:2px solid rgba(120,120,120,.18); background:transparent; transition:background .2s ease,box-shadow .2s ease; }
.pdf-evidence p{ background:linear-gradient(transparent 62%,rgba(235,222,140,.34) 62%); }
.pdf-evidence.is-active{ background:#FFF4C2; box-shadow:0 0 0 3px rgba(218,180,60,.3); }
.pdf-table{ width:100%; margin-top:14px; border-collapse:collapse; font-size:9.5px; color:#222; }
.pdf-table td{ padding:7px 8px; border:1px solid #D9D9D4; }
.pdf-signature{ margin-top:18px; padding-top:12px; border-top:1px solid #CFCFC9; font-size:9px; color:#666; }
.review-pane{ flex:0 0 40%; width:40%; min-width:340px; height:100%; min-height:0; display:flex; flex-direction:column; background:#F7F7F5; border-left:3px solid #E5E5E3; overflow:hidden; overscroll-behavior:auto; font-family:'Plus Jakarta Sans',var(--sans); }
.review-head{ flex:0 0 auto; padding:15px 16px 13px; background:#fff; border-bottom:1px solid #E5E5E3; }
.review-title{ display:flex; align-items:center; justify-content:space-between; gap:10px; color:#6B756B; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.filter-row{ display:flex; gap:6px; margin-top:11px; flex-wrap:wrap; }
.filter-chip{ min-height:28px; border:1px solid transparent; border-radius:2px; padding:5px 9px; background:transparent; color:#9EA39A; font:inherit; font-size:10px; font-weight:600; letter-spacing:.08em; cursor:pointer; transition:background .16s ease,border-color .16s ease,color .16s ease; }
.filter-chip:hover{ border-color:#DDE6DD; background:#FAFAF8; color:#6B756B; }
.filter-chip.is-active{ border-color:#C9D6C9; background:#F4F8F4; color:#7C907C; font-weight:700; }
.review-list{ flex:1; min-height:0; overflow-y:scroll; overscroll-behavior:auto; padding:6px 12px 14px; display:flex; flex-direction:column; gap:8px; scrollbar-width:thin; box-shadow:inset 0 -18px 18px -22px rgba(0,0,0,.26); }
.review-card{ border:1px solid #D2DED2; border-radius:2px; background:#F5FAF5; box-shadow:0 12px 28px rgba(24,39,24,.08); padding:16px; cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease,opacity .18s ease; }
.review-card:hover{ border-color:#C0D2C0; }
.review-card[data-severity="major"]{ border-color:#E8DCCD; background:#FDFAF6; box-shadow:0 12px 28px rgba(39,33,24,.08); }
.review-card[data-severity="major"]:hover{ border-color:#D9CBB5; }
.review-card[data-severity="critical"]{ border-color:#E8CDCD; background:#FDF6F6; box-shadow:0 12px 28px rgba(39,24,24,.08); }
.review-card.is-selected{ outline:1.5px solid #8AB88A; outline-offset:0; }
.review-card[data-severity="major"].is-selected{ outline-color:#C09850; }
.review-card.is-accepted,.review-card.is-dismissed{ border-color:#9AB89A; background:#F4F8F4; }
.review-card.is-dismissed{ opacity:.72; }
.review-card-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.review-item-label{ display:inline-flex; align-items:center; gap:7px; color:#7C907C; font-size:10px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; }
.review-spark,.severity-icon{ width:12px; height:12px; flex:0 0 auto; stroke:currentColor; stroke-width:1.8; fill:none; }
.severity-badge{ display:inline-flex; align-items:center; gap:5px; color:#4A6F96; font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.review-card[data-severity="major"] .severity-badge{ color:#9A6531; }
.review-card[data-severity="critical"] .severity-badge{ color:#A24E4E; }
.review-status{ margin-left:6px; color:#9EA39A; }
.review-reason{ margin:0 0 14px; color:#445144; font-size:13px; line-height:1.55; }
.review-options{ display:flex; flex-direction:column; gap:8px; }
.option{ position:relative; width:100%; margin:0; padding:12px 40px 12px 14px; border:1px solid #E6E7E3; border-radius:2px; background:#fff; color:#333; text-align:left; cursor:pointer; font:inherit; font-size:12px; line-height:1.45; transition:background .16s ease,border-color .16s ease; }
.option:hover{ border-color:#CACDC6; background:#FAFAF8; }
.option.is-chosen{ border-color:#9AB89A; background:#F4F8F4; }
.review-card[data-severity="minor"] .option[data-action="accept"]{ border-color:#D2DED2; background:#F8FCF8; }
.review-card[data-severity="minor"] .option[data-action="accept"] .option-label{ color:#6E926E; }
.review-card[data-severity="minor"] .option[data-action="accept"]:hover,.review-card[data-severity="minor"] .option[data-action="accept"].is-chosen{ border-color:#9AB89A; background:#F4F8F4; }
.review-card[data-severity="minor"] .option[data-action="accept"] .option-check{ background:#9AB89A; }
.review-card[data-severity="major"] .option[data-action="accept"]{ border-color:#E8DCCD; background:#FFFCF7; }
.review-card[data-severity="major"] .option[data-action="accept"] .option-label{ color:#9A6531; }
.review-card[data-severity="major"] .option[data-action="accept"]:hover,.review-card[data-severity="major"] .option[data-action="accept"].is-chosen{ border-color:#C09850; background:#FBF1E0; }
.review-card[data-severity="major"] .option[data-action="accept"] .option-check{ background:#C09850; }
.review-card[data-severity="critical"] .option[data-action="accept"]{ border-color:#E8CDCD; background:#FFF8F8; }
.review-card[data-severity="critical"] .option[data-action="accept"] .option-label{ color:#A24E4E; }
.review-card[data-severity="critical"] .option[data-action="accept"]:hover,.review-card[data-severity="critical"] .option[data-action="accept"].is-chosen{ border-color:#C87070; background:#FDF6F6; }
.review-card[data-severity="critical"] .option[data-action="accept"] .option-check{ background:#C87070; }
.option-label{ display:block; margin-bottom:6px; color:#9EA39A; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.option-check{ position:absolute; right:12px; top:50%; width:20px; height:20px; display:none; place-items:center; border-radius:999px; background:#9AB89A; color:#fff; transform:translateY(-50%); }
.option-check svg{ width:12px; height:12px; stroke:currentColor; stroke-width:2.4; fill:none; }
.option.is-chosen .option-check{ display:grid; }
.option-source-row{ display:flex; flex-wrap:wrap; gap:4px 12px; margin-top:9px; padding-top:8px; border-top:1px solid #EAEEEA; }
.option-source{ border:0; padding:0; background:transparent; color:#5E7A9B; font:inherit; font-size:10px; line-height:1.4; cursor:pointer; }
.option-source:hover{ color:#35597E; }
.chat-panel{ position:relative; flex:0 0 40%; width:40%; min-width:320px; z-index:8; display:flex; flex-direction:column; background:#fff; border-left:1px solid #E5E5E3; box-shadow:-12px 0 40px rgba(0,0,0,.12); }
.chat-messages{ flex:1; overflow-y:scroll; overscroll-behavior:auto; padding:36px 18px 22px; display:flex; flex-direction:column; gap:18px; }
.report-pane::-webkit-scrollbar,.pdf-pane::-webkit-scrollbar,.review-list::-webkit-scrollbar,.chat-messages::-webkit-scrollbar{ width:10px; }
.report-pane::-webkit-scrollbar-track,.pdf-pane::-webkit-scrollbar-track,.review-list::-webkit-scrollbar-track,.chat-messages::-webkit-scrollbar-track{ background:rgba(229,229,227,.7); }
.report-pane::-webkit-scrollbar-thumb,.pdf-pane::-webkit-scrollbar-thumb,.review-list::-webkit-scrollbar-thumb,.chat-messages::-webkit-scrollbar-thumb{ background:#b8bcb4; border:2px solid rgba(247,247,245,.95); border-radius:999px; }
.report-pane .content-stack,.report-pane .content-layer,.pdf-scroll,.pdf-scroll .content-stack,.pdf-scroll .content-layer,.pdf-page{ pointer-events:none; }
.report-pane .ref{ pointer-events:auto; }
.msg{ width:100%; max-width:100%; color:#2C4A2C; font-size:12.5px; line-height:1.55; }
.msg p{ margin:0; }
.msg p + p{ margin-top:9px; }
.msg ul,.msg ol{ margin:8px 0 0; padding-left:18px; }
.msg li + li{ margin-top:6px; }
.msg strong{ color:#18351F; font-weight:700; }
.msg code{ font-family:var(--mono,ui-monospace,monospace); font-size:11.5px; padding:1px 5px; border-radius:5px; background:#EEF1EC; color:#2C4A2C; }
.msg .chat-h{ margin:14px 0 6px; color:#18351F; font-family:var(--sans); font-weight:700; line-height:1.25; letter-spacing:-.005em; }
.msg .chat-h:first-child{ margin-top:0; }
.msg h3.chat-h{ font-size:14px; }
.msg h4.chat-h{ font-size:12.5px; }
.msg h5.chat-h{ font-size:11.5px; text-transform:uppercase; letter-spacing:.05em; color:#5A7A5A; }
.msg .chat-table{ width:100%; margin:9px 0 2px; border-collapse:collapse; font-size:11.5px; line-height:1.4; }
.msg .chat-table th,.msg .chat-table td{ padding:5px 8px; text-align:left; border-bottom:1px solid #E5E8E2; vertical-align:top; }
.msg .chat-table th{ color:#5A7A5A; font-weight:700; font-size:10px; text-transform:uppercase; letter-spacing:.05em; border-bottom:1px solid #D3D9CF; }
.msg .chat-table tr:last-child td{ border-bottom:0; }
.msg .chat-table td:last-child,.msg .chat-table th:last-child{ text-align:right; }
.msg.assistant{ padding:2px 2px 6px; background:transparent; border:0; box-shadow:none; }
.msg.user{ align-self:flex-end; width:fit-content; max-width:min(82%,320px); padding:10px 12px; border:1px solid #E5E5E3; border-radius:14px 14px 4px 14px; background:#F7F7F5; color:#1A1A1A; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.chat-input{ flex:0 0 auto; padding:10px 16px 16px; background:#fff; }
.chat-form{ display:flex; align-items:center; border-bottom:1px solid #E5E5E3; }
.chat-form input{ flex:1; border:0; background:transparent; outline:0; padding:8px 4px; color:#1A1A1A; font-size:13px; font-family:inherit; }
.send{ border:0; background:transparent; color:#A0A0A0; cursor:pointer; font-size:16px; }
.source-chip{ display:inline-flex; align-items:center; margin-top:10px; padding:4px 8px; border:0; border-radius:999px; background:#EAF0EA; color:#5A7A5A; font-size:10.5px; font-weight:700; line-height:1.2; cursor:pointer; }
.services-section{ background:#FAFAF7; color:var(--ink); padding:32px 0 104px; }
.services-head{ margin-bottom:76px; }
.services-title{ margin:18px 0 0; max-width:760px; font-family:var(--display); font-size:clamp(38px,5vw,76px); font-weight:400; line-height:1.04; letter-spacing:-.01em; color:var(--ink); }
.build-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(46px,6.5vw,104px) clamp(34px,5.5vw,86px); }
.build-card{ --mx:50%; --my:50%; position:relative; min-height:292px; display:flex; flex-direction:column; align-items:flex-start; padding:0; background:transparent; color:var(--ink); transform-style:preserve-3d; transform:perspective(900px); transition:transform .5s cubic-bezier(.22,.61,.36,1); will-change:transform; }
.build-card::before{ content:""; position:absolute; inset:-18px -20px; z-index:-1; border-radius:18px; opacity:0; pointer-events:none; transition:opacity .45s ease; background:radial-gradient(240px 240px at var(--mx) var(--my),rgba(255,255,255,.95),rgba(255,255,255,.3) 45%,transparent 74%),linear-gradient(150deg,rgba(255,255,255,.38),transparent 58%); box-shadow:0 1px 0 rgba(255,255,255,.65) inset; }
.build-card:hover{ transition:transform .12s cubic-bezier(.22,.61,.36,1); }
.build-card:hover::before{ opacity:1; }
.build-icon{ width:118px; height:118px; margin-bottom:26px; color:#0B3B2A; }
.build-icon svg{ width:100%; height:100%; display:block; stroke:currentColor; stroke-width:1.15; fill:none; vector-effect:non-scaling-stroke; }
.build-icon-nodes circle{ fill:#FAFAF7; stroke:currentColor; }
.build-card h3{ margin:0 0 14px; font-family:var(--display); font-size:clamp(23px,2vw,32px); font-weight:400; letter-spacing:-.005em; line-height:1.12; color:#1A1A1A; white-space:nowrap; }
.build-card p{ margin:0; max-width:420px; color:#2F332F; font-size:clamp(15px,1.05vw,17px); line-height:1.5; }
.build-link{ margin-top:auto; padding-top:24px; color:#1A1A1A; font-size:14px; text-decoration:none; }
.build-link span{ display:inline-block; transition:transform .18s ease; }
.build-card:hover .build-link span{ transform:translateX(4px); }
.closing-section{ background:#FAFAF7; color:#232623; padding:110px 0 64px; }
.closing-inner{ max-width:1480px; margin:0 auto; padding:0 32px; }
.footer-grid{ display:flex; gap:clamp(44px,6vw,104px); align-items:start; }
.footer-meta{ max-width:420px; font-size:16px; line-height:1.55; color:#232623; }
.footer-meta p{ margin:0; }
.footer-meta>a{ display:inline-block; margin-top:18px; color:#155337; }
.footer-rule{ height:1px; margin:22px 0; background:#B9BAB4; }
.footer-region{ display:flex; gap:14px; font-size:15px; letter-spacing:.03em; }
.footer-social{ display:flex; flex-wrap:nowrap; gap:10px; margin-top:24px; }
.footer-pill{ min-width:96px; padding:0 18px; min-height:38px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #AEB0AA; border-radius:999px; color:#232623; font-size:13px; letter-spacing:.02em; text-transform:uppercase; transition:background .18s ease,border-color .18s ease,color .18s ease; }
.footer-pill:hover{ background:#0B3B2A; border-color:#0B3B2A; color:#fff; }
.footer-col h3{ margin:0 0 14px; color:#777B75; font-family:var(--mono); font-size:10px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }
.footer-col a{ display:block; margin:0 0 9px; color:#232623; font-size:16px; line-height:1.18; letter-spacing:-.01em; }
.footer-col a:hover{ color:#155337; }
.reveal{
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity .72s cubic-bezier(.2,.7,.2,1),
    transform .72s cubic-bezier(.2,.7,.2,1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}
.reveal.is-past{
  opacity: 0;
  transform: translateY(-22px);
}
.reveal-down{ transform: translateY(-28px); }
.reveal-down.is-visible{ transform: translateY(0); }
.reveal-down.is-past{ transform: translateY(22px); }
.reveal-left{ transform: translateX(-22px); }
.reveal-left.is-visible{ transform: translateX(0); }
.reveal-left.is-past{ transform: translateX(-22px); }
.reveal-right{ transform: translateX(22px); }
.reveal-right.is-visible{ transform: translateX(0); }
.reveal-right.is-past{ transform: translateX(22px); }
@media (prefers-reduced-motion: reduce){
  .reveal,
  .reveal.is-visible,
  .reveal.is-past{
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}
@media (max-width:900px){
  .capabilities-split{ grid-template-columns:1fr; gap:24px; }
  .capabilities-sticky{ position:static; top:auto; }
}
@media (max-width:760px){
  .navx-links{ display:none; }
  .navx-inner{ grid-template-columns:1fr auto; padding:0 20px; }
  .herox-inner,.capabilities-inner,.work-preview-inner,.services-inner,.closing-inner{ padding-left:20px; padding-right:20px; }
   .capability-row,.work-preview-head{ grid-template-columns:1fr; }
   .capabilities-sticky-inner{ padding-top:24px; }
   .demo-wrap{ width:100%; margin-left:0; transform:none; border-radius:26px; padding:28px 18px 36px; background:#0b2418; }
   .demo-wrap::before{ display:none; }
  .industry-rail,.demo-tabs,.demo-app{ width:100%; transform:none; }
  .industry-rail{ width:100%; gap:0; overflow-x:auto; padding:2px 0 14px; flex-wrap:nowrap; }
  .industry-tab{ flex:1 1 0; min-width:96px; }
  .demo-tabs{ width:100%; overflow-x:auto; padding:0; }
  .demo-tab{ flex:0 0 auto; width:148px; min-height:44px; padding:0 27px 0 18px; }
  .demo-tab::before{ clip-path:path("M 0 44 L 0 11 Q 0 0 11 0 L 120 0 Q 128 0 133 6 L 146 19 Q 148 21 148 25 L 148 44 Z"); }
  .demo-tab::after{ clip-path:path("M 0 43 L 0 10 Q 0 0 10 0 L 118 0 Q 126 0 131 6 L 144 18 Q 146 20 146 24 L 146 43 Z"); }
  .demo-tab + .demo-tab{ margin-left:-9px; }
  .demo-tab span{ min-height:44px; font-size:13px; }
  .demo-app{ width:100%; border-radius:0 20px 20px 20px; height:auto; min-height:860px; }
  .demo-panel{ position:relative; inset:auto; display:none; flex-direction:column; }
  .demo-panel.is-active{ display:flex; }
  .report-pane{ max-height:420px; }
  .pdf-pane,.review-pane,.chat-panel{ width:100%; min-width:0; height:430px; flex:0 0 auto; border-left:0; border-top:3px solid #E5E5E3; }
  .services-head{ display:block; margin-bottom:52px; }
  .build-grid{ grid-template-columns:1fr; gap:48px; }
  .build-card{ min-height:0; }
  .build-icon{ width:92px; height:92px; margin-bottom:20px; }
  .closing-section{ padding:72px 0 44px; }
  .footer-grid{ gap:34px; }
}
