@font-face{font-family:DemoSerif;src:local("Georgia")}
:root{
  --bg:#f7f2e8;
  --bg2:#fffaf1;
  --panel:#ffffff;
  --panel2:#f1eadc;
  --ink:#17243a;
  --muted:#667085;
  --rule:#ded3c3;
  --accent:#1f8a70;
  --accent2:#ff7a59;
  --accent3:#f5c542;
  --danger:#c2412d;
  --nav:#163249;
  --shadow:0 22px 55px rgba(47,38,20,.10);
  --soft-shadow:0 10px 26px rgba(47,38,20,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  min-height:100vh;
  font-family:"Avenir Next","Gill Sans","Trebuchet MS",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 88% 8%,rgba(31,138,112,.16),transparent 30%),
    radial-gradient(circle at 28% 0%,rgba(255,122,89,.11),transparent 28%),
    linear-gradient(135deg,#fbf6ec 0%,#f4ecdf 48%,#f8f3e9 100%);
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.52;
  background-image:
    linear-gradient(rgba(23,36,58,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,36,58,.04) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent);
}
.grain{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.12;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}
.shell-sidebar{
  position:fixed;
  left:22px;
  top:22px;
  bottom:22px;
  width:280px;
  padding:22px;
  background:rgba(255,250,241,.78);
  backdrop-filter:blur(20px);
  border:1px solid rgba(222,211,195,.85);
  border-radius:34px;
  display:flex;
  flex-direction:column;
  gap:24px;
  z-index:10;
  box-shadow:var(--shadow);
}
.brand{display:flex;gap:14px;align-items:center}
.brand-mark{
  width:48px;
  height:48px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--nav),#245876);
  color:#fffaf1;
  display:grid;
  place-items:center;
  font-weight:950;
  box-shadow:0 12px 24px rgba(22,50,73,.22);
}
.brand strong{display:block;font-size:18px;letter-spacing:-.02em}
.brand span,.guardrail span,.mini-label,.eyebrow{
  color:var(--accent);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
}
.nav{display:grid;gap:10px}
.nav-item{
  border:1px solid transparent;
  background:rgba(255,255,255,.58);
  color:#526074;
  padding:14px 16px;
  border-radius:18px;
  text-align:left;
  cursor:pointer;
  transition:.22s ease;
  font-weight:750;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
.nav-item:hover{
  color:var(--nav);
  border-color:rgba(31,138,112,.32);
  background:#fff;
  transform:translateX(4px);
}
.nav-item.active{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--nav),#245876);
  box-shadow:0 12px 24px rgba(22,50,73,.18);
}
.guardrail{
  margin-top:auto;
  padding:18px;
  border:1px solid rgba(31,138,112,.28);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(31,138,112,.08),rgba(255,255,255,.64));
}
.guardrail p{color:#5f6b7a;line-height:1.65;margin-bottom:0}
.app-shell{margin-left:324px;padding:26px 28px 34px;min-height:100vh;position:relative}
.view{display:none;animation:rise .45s cubic-bezier(.2,.8,.2,1) both}
.view.active{display:block}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
h1,h2,h3,p{margin-top:0}
h1{
  font-family:DemoSerif,Georgia,"Times New Roman",serif;
  font-size:clamp(36px,5.3vw,76px);
  line-height:.98;
  letter-spacing:-.055em;
  color:#10243a;
}
h2{font-size:24px;letter-spacing:-.035em;color:#15243a}
h3{letter-spacing:-.02em}
.lead{font-size:18px;line-height:1.78;color:#59687a;max-width:780px}
.hero-panel,.proposal-stage{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:24px;align-items:stretch}
.hero-panel,.diagnosis-card,.client-report,.lead-room,.config-panel,.quote-tool,.factory-feed,.proposal-cover,.sanitized-card,.scenario-map,.demo-page,.value-section,.kb-grid article{
  background:rgba(255,255,255,.74);
  border:1px solid rgba(222,211,195,.9);
  border-radius:34px;
  box-shadow:var(--shadow);
}
.hero-panel{
  padding:44px;
  overflow:hidden;
  background:
    linear-gradient(110deg,rgba(255,255,255,.9),rgba(255,250,241,.76)),
    radial-gradient(circle at 85% 12%,rgba(31,138,112,.16),transparent 28%);
}
.pulse-map{
  position:relative;
  min-height:310px;
  border-radius:30px;
  background:
    radial-gradient(circle at 50% 48%,rgba(31,138,112,.16),transparent 34%),
    linear-gradient(145deg,#fff8ea,#e9f4ee);
  border:1px solid rgba(31,138,112,.20);
  overflow:hidden;
}
.pulse-map:before{
  content:"";
  position:absolute;
  inset:22px;
  border:1px dashed rgba(31,138,112,.25);
  border-radius:28px;
}
.pulse-map span{
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:76px;
  height:76px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(31,138,112,.24);
  display:grid;
  place-items:center;
  color:var(--accent);
  font-weight:900;
  box-shadow:0 14px 30px rgba(31,138,112,.14);
}
.pulse-map i{
  position:absolute;
  left:50%;
  top:50%;
  width:150px;
  height:150px;
  margin:-75px;
  border:2px solid rgba(255,122,89,.36);
  border-radius:42px;
  transform:rotate(12deg);
  animation:pulse 2.9s infinite;
}
@keyframes pulse{50%{transform:rotate(12deg) scale(1.22);opacity:.35}100%{transform:rotate(12deg) scale(1.48);opacity:0}}
.diagnosis-layout,.ops-grid,.kb-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:24px;margin-top:24px}
.diagnosis-card,.client-report,.lead-room,.config-panel,.quote-tool,.factory-feed,.proposal-cover,.sanitized-card,.scenario-map,.demo-page,.value-section,.kb-grid article{padding:28px}
.form-step{border-bottom:1px solid var(--rule);padding-bottom:22px;margin-bottom:22px}
.step-title{display:flex;gap:12px;align-items:center}
.step-title span{
  color:#fff;
  background:var(--accent);
  border-radius:14px;
  padding:7px 10px;
  font-weight:950;
  box-shadow:0 8px 18px rgba(31,138,112,.18);
}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
label{display:grid;gap:8px;color:#566579;font-size:13px;font-weight:720}
input,select,textarea{
  width:100%;
  border:1px solid #d9cdbc;
  background:#fffdfa;
  color:var(--ink);
  border-radius:16px;
  padding:13px 14px;
  font:inherit;
  outline:none;
  box-shadow:0 1px 0 #fff inset;
  transition:.18s ease;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(31,138,112,.62);
  box-shadow:0 0 0 4px rgba(31,138,112,.10);
}
textarea{resize:vertical}
.wide-field{margin-top:14px}
.chip-field{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.chip{
  border:1px solid #d8ccbb;
  background:#fffdfa;
  color:#536277;
  border-radius:999px;
  padding:10px 15px;
  cursor:pointer;
  font-weight:760;
  transition:.18s ease;
}
.chip:hover{transform:translateY(-1px);box-shadow:var(--soft-shadow)}
.chip.selected{border-color:transparent;color:#fff;background:var(--accent)}
.primary-action,.secondary-action,.ghost-action,.small-action{
  border:0;
  border-radius:999px;
  padding:14px 18px;
  font-weight:900;
  cursor:pointer;
  transition:.2s ease;
}
.primary-action{
  width:100%;
  background:linear-gradient(135deg,var(--accent),#17755f);
  color:#fff;
  box-shadow:0 14px 28px rgba(31,138,112,.20);
}
.primary-action:hover,.secondary-action:hover,.small-action:hover{transform:translateY(-2px)}
.secondary-action{background:var(--accent2);color:#fff;box-shadow:0 12px 24px rgba(255,122,89,.18)}
.ghost-action{background:#fff;color:var(--nav);border:1px solid var(--rule);margin-left:8px}
.small-action{
  background:#fff;
  color:var(--accent);
  border:1px solid rgba(31,138,112,.30);
  padding:10px 14px;
}
.roi-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.roi-strip div{
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(31,138,112,.09),rgba(255,255,255,.8));
  border:1px solid rgba(31,138,112,.20);
}
.roi-strip strong{display:block;font-size:28px;color:var(--accent);letter-spacing:-.04em}
.roi-strip span,.recommend-list p,.owner-row,.asset-row span{color:var(--muted)}
.recommend-list{display:grid;gap:12px;margin-bottom:18px}
.recommend-list article{
  padding:16px;
  border:1px solid var(--rule);
  border-radius:22px;
  background:#fffdfa;
  box-shadow:0 8px 18px rgba(47,38,20,.04);
}
.recommend-list article span{color:var(--accent2);font-weight:950}
.section-heading{max-width:940px;margin-bottom:24px}
.ops-grid{grid-template-columns:1.1fr .9fr}
.card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.internal-badge{
  background:#fff1ed;
  color:var(--danger);
  border:1px solid #ffd1c8;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:850;
}
.owner-row{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:22px}
.score-map{
  height:240px;
  display:grid;
  grid-template-columns:repeat(8,1fr);
  gap:10px;
  align-items:end;
  border-top:1px solid var(--rule);
  padding-top:18px;
}
.score-map div{height:200px;display:grid;grid-template-rows:auto 1fr auto;gap:8px;text-align:center;color:var(--muted);font-weight:760}
.score-map b{
  align-self:end;
  border-radius:999px 999px 8px 8px;
  background:linear-gradient(180deg,var(--accent2),var(--accent));
  min-height:24px;
  box-shadow:0 10px 18px rgba(31,138,112,.14);
}
.score-map em{font-style:normal;color:var(--ink);font-weight:850}
.config-list{display:grid;gap:14px}
.quote-row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--rule);padding:14px 0}
.quote-row.danger strong{color:var(--danger)}
.factory-feed{grid-column:span 2}
.asset-row{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--rule)}
.asset-row.locked{opacity:.55}
.proposal-cover{
  min-height:340px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    radial-gradient(circle at 84% 18%,rgba(245,197,66,.28),transparent 30%),
    linear-gradient(135deg,#fffaf1,#eaf6f0);
}
.proposal-cover p{color:var(--muted);line-height:1.7}
.sanitized-card ul{display:grid;gap:12px;color:var(--muted);padding-left:20px}
.scenario-map,.demo-pages,.value-section{margin-top:24px}
.map-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.map-grid button{
  padding:22px;
  border-radius:24px;
  background:#fffdfa;
  border:1px solid var(--rule);
  color:#536277;
  font-weight:800;
}
.map-grid .hot{color:#fff;background:var(--accent);border-color:var(--accent);box-shadow:0 12px 24px rgba(31,138,112,.16)}
.demo-page{display:none;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.demo-page.active{display:grid}
.demo-page p{color:var(--muted);line-height:1.7}
.animated-demo{
  min-height:300px;
  border-radius:30px;
  border:1px solid rgba(31,138,112,.18);
  background:
    linear-gradient(135deg,#fffdfa,#ecf6f0);
  position:relative;
  overflow:hidden;
  padding:24px;
}
.animated-demo:before{
  content:"";
  position:absolute;
  inset:auto -20% -35% 18%;
  height:150px;
  background:rgba(255,122,89,.13);
  border-radius:999px;
  filter:blur(12px);
}
.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;position:relative;z-index:1}
.pipeline span,.approval-demo span,.knowledge-demo div{
  border:1px solid rgba(31,138,112,.25);
  border-radius:18px;
  padding:14px;
  text-align:center;
  color:var(--accent);
  background:rgba(255,255,255,.84);
  font-weight:820;
}
.moving-card{
  position:absolute;
  left:24px;
  top:150px;
  padding:16px;
  border-radius:18px;
  background:var(--accent2);
  color:#fff;
  font-weight:950;
  box-shadow:0 18px 30px rgba(255,122,89,.20);
  animation:moveCard 4s infinite;
}
@keyframes moveCard{0%,100%{transform:translateX(0)}50%{transform:translateX(280px)}}
.approval-demo{display:flex;align-items:center;justify-content:center;gap:10px}
.approval-demo i{width:36px;height:2px;background:var(--accent2);animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.25}}
.knowledge-demo{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}
.knowledge-demo strong{
  grid-column:span 2;
  text-align:center;
  padding:18px;
  border-radius:20px;
  background:linear-gradient(135deg,var(--accent),#17755f);
  color:#fff;
  box-shadow:0 14px 24px rgba(31,138,112,.16);
}
.demo-controls{display:flex;gap:10px;margin-top:14px}
.value-section{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.value-section p{color:var(--muted);line-height:1.7}
.timeline{display:flex;align-items:center;justify-content:space-between;gap:10px}
.timeline span{
  flex:1;
  padding:18px;
  border-radius:22px;
  background:#fffdfa;
  border:1px solid rgba(31,138,112,.20);
  text-align:center;
  color:var(--accent);
  font-weight:880;
}
.kb-grid{grid-template-columns:repeat(2,1fr)}
.kb-grid p{color:var(--muted);line-height:1.7}
.tag-list{display:flex;flex-wrap:wrap;gap:8px}
.tag-list span{
  border:1px solid rgba(31,138,112,.20);
  border-radius:999px;
  padding:8px 10px;
  color:var(--accent);
  background:rgba(31,138,112,.07);
  font-weight:760;
}
.metadata-table{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:12px}
.metadata-table span{color:var(--muted)}
.toast{
  position:fixed;
  right:28px;
  bottom:28px;
  background:var(--nav);
  color:#fff;
  padding:14px 18px;
  border-radius:18px;
  font-weight:900;
  box-shadow:var(--shadow);
  opacity:0;
  transform:translateY(20px);
  transition:.25s;
  z-index:30;
}
.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:980px){
  .shell-sidebar{position:static;width:auto;margin:14px;inset:auto}
  .app-shell{margin-left:0;padding:14px 18px 28px}
  .hero-panel,.diagnosis-layout,.ops-grid,.proposal-stage,.demo-page,.value-section,.kb-grid{grid-template-columns:1fr}
  .factory-feed{grid-column:auto}
  .map-grid{grid-template-columns:1fr 1fr}
  .field-grid{grid-template-columns:1fr}
  .score-map{overflow-x:auto}
  .score-map div{min-width:52px}
  h1{font-size:clamp(34px,11vw,54px)}
}
@media(max-width:640px){
  .hero-panel,.diagnosis-card,.client-report,.lead-room,.config-panel,.quote-tool,.factory-feed,.proposal-cover,.sanitized-card,.scenario-map,.demo-page,.value-section,.kb-grid article{border-radius:26px;padding:22px}
  .map-grid{grid-template-columns:1fr}
  .roi-strip{grid-template-columns:1fr}
  .demo-controls{flex-wrap:wrap}
  .timeline{flex-direction:column}
  .timeline span{width:100%}
}