/* Shared palette. See DESIGN_CONSISTENCY.md before future visual changes. */
:root{--warm-paper:#f8f4ef;--warm-white:#fffcf7;--warm-sage:#e8ede5;--warm-lavender:#eee8f4;--warm-ink:#35413d;--warm-muted:#59655d;--warm-accent:#68618b;--warm-border:#ccd3c8}
body.rebuild,body.case-library{--paper:var(--warm-paper);--ink:var(--warm-ink);--teal:#526e61;--lime:#ded5ef;--line:var(--warm-border);--accent:var(--warm-accent);background:var(--warm-paper);color:var(--warm-ink)}
body .topbar{background:#f8f4eff5!important;border-color:var(--warm-border)!important;color:var(--warm-ink)!important}
body .topbar .brand,body .topbar .brand small,body .topbar nav a,body .mobile-nav summary{color:var(--warm-ink)!important}
body .topbar .nav-cta{background:var(--warm-accent)!important;color:#fff!important;border-radius:24px!important}
body .mobile-links{background:var(--warm-white);border-color:var(--warm-border)}
body .route-nav a[aria-current=page]{color:var(--warm-accent)!important}
body.rebuild .button.primary,body.case-library .primary{background:var(--warm-accent);border-color:var(--warm-accent);color:white;border-radius:28px}
body.rebuild .button.primary:hover,body.case-library .primary:hover{background:#51486f;color:white}
body.rebuild .button.secondary{color:var(--warm-ink);border-color:#85978a;border-radius:28px}
body.rebuild :is(.tech-section,.process-section,.preparation-section,.apply-chapter),body.case-library .library-hero{background:var(--warm-lavender);color:var(--warm-ink)}
body.rebuild :is(.industry-section,.light-chapter){background:var(--warm-sage);color:var(--warm-ink)}
body.rebuild :is(.tech-section,.process-section,.preparation-section,.compact-hero,.apply-chapter) :is(h1,h2,h3,h4,strong),body.case-library .library-hero :is(h1,h2,h3,strong){color:var(--warm-ink)}
body.rebuild :is(.tech-section,.process-section,.preparation-section,.compact-hero,.apply-chapter) :is(p,small),body.case-library .library-hero :is(.lead,.library-hero-foot,.visual-key){color:var(--warm-muted)}
body.rebuild :is(.tech-section,.process-section,.preparation-section,.compact-hero,.apply-chapter) .kicker,body.case-library .library-hero .eyebrow{color:var(--warm-accent)}
body.rebuild :is(.tech-grid article,.prep-lane,.prep-ai,.prep-flow li,.day-cards article,.apply-card,.task-sheet,.studio-output),body.case-library .work-chip{background:var(--warm-white);border-color:var(--warm-border);color:var(--warm-ink);box-shadow:0 8px 28px #35413d08}
body.rebuild .prep-after{background:#f8f5fc;border-color:#a99bbd}
body.rebuild .prep-after .prep-flow li,body.rebuild .prep-before .prep-human{background:#ece7f3;border-color:#c6bbd3}
body.rebuild :is(.prep-label>span,.prep-trigger,.prep-trigger span,.prep-symbol,.prep-outcome,.prep-scenes article>span,.tech-grid article>span,.process-grid article>span,.process-grid strong,.cost-bar .kicker){color:var(--warm-accent)}
body.rebuild .prep-ready{background:#e3eadd;color:var(--warm-ink);border-color:var(--warm-border)}
body.rebuild .prep-ready>span{background:var(--warm-accent);color:#fff}
body.rebuild :is(.tech-route,.tech-route a,.cost-bar p,.process-grid p,.hero-assurance,.capacity-note,.availability-box strong,.availability-box p){color:var(--warm-muted)}
body.rebuild :is(.tech-route,.cost-bar,.process-grid article,.prep-scenes article,.footer-bottom){border-color:var(--warm-border)}
body.rebuild .tech-route i,body.rebuild .prep-scenes b{color:var(--warm-accent)}
body.rebuild #industry-detail,body.rebuild .case-card--link{background:var(--warm-white)}
body.rebuild .industry-buttons button[aria-pressed=true]{background:#526e61;border-color:#526e61;color:white}
body.rebuild .compact-hero{background:var(--warm-paper);color:var(--warm-ink)}
body.rebuild :is(.compact-hero h1 em,.compact-hero h1 span,.library-core small,.capacity-note>span){color:var(--warm-accent)}
body.rebuild :is(.agent-hub,.build-studio,.human-finish,.studio-prompt,.availability-box){background:#eee8f4;color:var(--warm-ink);border-color:#bdb1ce}
body.rebuild :is(.studio-top,.studio-foot,.studio-prompt,.task-sheet,.human-finish,.output-chips,.offer-facts,.chapter-facts){color:var(--warm-muted)}
body.rebuild .site-footer,body.rebuild footer,body.case-library footer{background:#e4e9e0;color:var(--warm-ink)}
body :is(.footer-links a,.footer-bottom small,.footer-bottom button){color:var(--warm-ink);border-color:#9aa993}
body.case-library :is(.library-core small,.library-core>span,.library-hero h1>span,.library-hero-foot strong,.work-chip i,.work-chip b,.visual-key>span:last-child){color:var(--warm-accent)}
body.case-library .library-hero .secondary{color:var(--warm-ink);border-color:#8a9b8d}
body.case-library .library-hero:before{background:radial-gradient(ellipse at 85% 40%,#c7b9df55,transparent 60%)}
body :is([data-motion-control],.library-hero-foot button){color:var(--warm-ink);border-color:#879683;background:#faf7f1}
body.rebuild :is(.text-link,.tool-pills span,.studio-top span,.studio-connector,.prototype-label,.output-chips span,.studio-prompt>span,.output-icon,.hub-orbit,.task-sheet span){color:#625879}
body.rebuild .tool-pills span{background:#eee8f4;border-color:#c5b9d4}
body.rebuild .compact-site .hero-actions .button{color:white}
body.rebuild .final-cta{background:var(--warm-sage);color:var(--warm-ink)}
body.rebuild .final-cta :is(h2,h3,p,label){color:var(--warm-ink)}
body.rebuild .final-cta .eyebrow{color:var(--warm-accent)}
body.rebuild .hero-actions .button.primary{color:white}
body.rebuild .workflow-studio{background:linear-gradient(140deg,#e8ede5,#e0e6dc);border-color:#bcc8b8;box-shadow:0 18px 48px #35413d12}
body.rebuild :is(.agent-hub>span,.human-finish>span,.human-finish b,.agent-hub small,.studio-top>span,.studio-foot>span){color:#625879}
body .mobile-nav[open] .mobile-links{background:var(--warm-white);border-color:var(--warm-border)}
body.rebuild .preparation-section :is(.section-head>p,.prep-start,.prep-flow small,.prep-ready p,.prep-note,.prep-scenes p){color:var(--warm-muted)}
body.rebuild .preparation-section .prep-ready strong{color:var(--warm-ink)}
/* Clear before/after transition and equal AI cards. */
.prep-between{display:flex;align-items:center;justify-content:center;min-height:46px;color:var(--warm-accent)}
.prep-between span{width:44px;height:44px;border:1px solid #b3a4ca;border-radius:50%;display:grid;place-items:center;background:var(--warm-white);font-size:26px;line-height:1}
.prep-comparison{grid-template-columns:1fr;gap:16px}
body.rebuild .tech-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}
body.rebuild .tech-grid article{display:grid;grid-template-rows:22px 76px 1fr;gap:14px;padding:26px 22px;border:1px solid var(--warm-border);border-radius:12px;min-width:0}
body.rebuild .tech-grid article>span{margin:0;line-height:1.5}
body.rebuild .tech-grid article h3{font-size:23px;line-height:1.55;margin:0;align-self:center;overflow-wrap:anywhere}
body.rebuild .tech-grid article p{font-size:13px;line-height:1.95;margin:0}
body.rebuild .camp-site #camp-title{font-size:clamp(32px,3.6vw,51px)}
body.camp-site #camp-title{font-size:clamp(30px,3.4vw,48px);line-height:1.6}
body.camp-site .camp-teach{color:var(--warm-ink)}
@media(max-width:1100px){body.rebuild .tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){body.rebuild .tech-grid{grid-template-columns:1fr}body.rebuild .tech-grid article{grid-template-rows:auto auto auto;gap:10px;padding:22px}body.rebuild .tech-grid article h3{font-size:23px}body.camp-site #camp-title{font-size:clamp(25px,6.7vw,34px)}}
/* Side-by-side comparison: keep both states in one view. */
.prep-comparison{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:18px;align-items:stretch}
.prep-between{align-self:center;min-height:0}.prep-between span{transform:rotate(-90deg)}
body.rebuild .prep-lane{display:block;padding:24px;min-width:0}
body.rebuild .prep-label h3{font-size:21px;margin-bottom:18px!important;line-height:1.5}
body.rebuild .prep-label>span{margin-bottom:7px}
body.rebuild .prep-flow{display:flex;flex-direction:column;gap:16px}
body.rebuild .prep-flow li{flex:none;min-height:60px;padding:10px 12px 10px 42px}
body.rebuild .prep-flow li+li:before{content:'↓';top:-19px;left:18px;line-height:18px}
body.rebuild .prep-symbol{top:14px;left:12px}
body.rebuild .prep-flow strong{font-size:14px}.prep-flow small{font-size:11px}
body.rebuild .prep-ai{padding:12px}
body.rebuild .prep-ready{margin-top:14px;padding:12px 0 0;background:transparent;border-radius:0}
body.rebuild .prep-ready strong{font-size:14px}
body.rebuild .prep-outcome{font-size:12px;margin:16px 0 0!important}
body.rebuild .preparation-section .section{padding-top:48px;padding-bottom:48px}
body.rebuild .preparation-section .section-head{margin-bottom:24px}
body.rebuild .preparation-section .section-head h2{font-size:clamp(26px,2.7vw,36px);line-height:1.45;margin-bottom:12px}
@media(max-width:760px){
.prep-comparison{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:6px}
.prep-between span{width:24px;height:24px;font-size:18px}
body.rebuild .prep-lane{padding:12px 8px;border-radius:10px}
body.rebuild .prep-label h3{font-size:14px;min-height:63px;margin-bottom:12px!important}
body.rebuild .prep-label>span{font-size:10px}
body.rebuild .prep-flow li{padding:9px 6px;min-height:71px}
body.rebuild .prep-symbol{display:none}
body.rebuild .prep-flow strong{font-size:11px;line-height:1.65}
body.rebuild .prep-flow small{font-size:9px;line-height:1.6}
body.rebuild .prep-ai{padding:7px 5px}
body.rebuild .prep-trigger,body.rebuild .prep-start{font-size:10px;line-height:1.6}
body.rebuild .prep-trigger span{font-size:9px}
body.rebuild .prep-ready{display:block;padding-top:10px;margin-top:12px}
body.rebuild .prep-ready>span{display:inline-block;font-size:10px;margin-bottom:6px}
body.rebuild .prep-ready strong{font-size:11px;line-height:1.65;display:block}
body.rebuild .prep-ready p,body.rebuild .prep-outcome{font-size:10px;line-height:1.7}
body.rebuild .preparation-section .section{width:94%;padding-top:32px}
body.rebuild .preparation-section .section-head h2{font-size:24px}
}
