/* Approved Forge brand palette: deep steel blue, Forge Orange, and pale blue-gray. */
:root {
  --forge-orange: #ff9c5d;
  --deep-steel-blue: #24445c;
  --deep-steel-panel: #24445c;
  --ice-white: #f5f8fa;
  --pale-blue-gray: #dce6ec;
  --surface: #ffffff;
  --muted-blue: #4b6070;
  --blue-line: #b9cbd7;
  --on-dark-muted: #dce6ec;
  --dark-line: #647f91;
  --ink: var(--deep-steel-blue);
  --navy: var(--deep-steel-blue);
  --navy-deep: var(--deep-steel-panel);
  --paper: var(--ice-white);
  --orange: var(--forge-orange);
  --orange-dark: #24445c;
  --muted: var(--muted-blue);
  --line: var(--blue-line);
  --white: var(--surface);
}

/* Forge Orange is the primary accent, with dark text on orange fills. */
.header { border-bottom-color: var(--blue-line); }
.button-orange { background: var(--forge-orange); color: var(--deep-steel-panel); }
.button-orange:hover { background: #ffb17f; }
.button-dark { background: var(--deep-steel-blue); color: var(--ice-white); }
.button-dark:hover { background: #1d394e; }
.text-link { border-color: #718b9c; }
.menu-toggle { border-color: var(--blue-line); }
nav { box-shadow: none; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--orange-dark); outline-offset: 5px; }
dialog :focus-visible { outline-color: var(--forge-orange); }

/* A light opening and deep steel blue card preserve the established hero layout. */
.hero { background: var(--ice-white); color: var(--deep-steel-blue); }
.hero .eyebrow, .hero-description, .hero-note, .hero .delivery-promise>span { color: var(--muted-blue); }
.hero h1 em { color: var(--deep-steel-blue); }
.hero .delivery-promise em { color: var(--orange-dark); }
.hero .text-link.light { color: var(--deep-steel-blue); border-color: #718b9c; }
.hero .text-link.light:hover { color: var(--orange-dark); }
.mini-check { color: var(--orange-dark); }
.hero-foot { color: var(--muted-blue); border-color: var(--blue-line); }
.hero-foot>span { color: var(--muted-blue); }
.hero-foot i { border-color: #718b9c; }
.orbit { border-color: var(--blue-line); }
.engagement-sheet { background: var(--deep-steel-blue); color: var(--ice-white); box-shadow: 14px 17px 0 #c6d6e0; border-top: 3px solid var(--forge-orange); }
.engagement-sheet h2.engagement-price { color: var(--forge-orange); }
.sheet-meta, .sheet-kicker, .engagement-price>span, .price-description, .sheet-line p { color: var(--on-dark-muted); }
.sheet-tab { color: var(--forge-orange); border-color: #819bac; }
.sheet-line { border-color: var(--dark-line); }
.step-icon { color: var(--forge-orange); border-color: #819bac; }
.sheet-bottom { background: #1d394e; color: var(--ice-white); }
.folder-icon, .folder-icon:before { border-color: var(--forge-orange); }
.art-caption { color: var(--muted-blue); }
.mobile-offer { background: var(--deep-steel-blue); padding: 16px 19px; border: 0; border-left: 3px solid var(--forge-orange); }
.mobile-offer p { color: var(--forge-orange); }
.mobile-offer p span, .mobile-offer>span { color: var(--on-dark-muted); }

/* Pale blue-gray section surfaces balance the deep steel blue panels. */
.founder { background: var(--pale-blue-gray); }
.founder-label { border-color: #b9cbd7; }
.founder-photo { border-color: #b9cbd7; box-shadow: 9px 9px 0 #c6d6e0; }
.founder-grid>div:last-child>p:not(.eyebrow) { color: var(--muted); }
.architecture-flow { background: var(--pale-blue-gray); border-color: var(--blue-line); }
.architecture-index, .target-tags span { color: var(--muted-blue); }
.flow-arrow { color: var(--orange-dark); }
.code-chips span { background: var(--surface); border-color: var(--blue-line); }
.target-tags span { border-color: var(--blue-line); }
.walkthrough { background: var(--pale-blue-gray); }
.video-overlay { background: rgba(36,68,92,.96); }
.play { border-color: var(--forge-orange); color: var(--forge-orange); }
.foundation-section { background: var(--pale-blue-gray); border-color: var(--blue-line); }
.scope-panel>.eyebrow, .scope-numbers>div>span, .scope-panel>p:not(.eyebrow), .scope-rule p { color: var(--muted-blue); }
.scope-numbers, .scope-numbers>div+div { border-color: #b9cbd7; }
.scope-numbers strong { color: var(--deep-steel-blue); }
.scope-rule { border-color: var(--forge-orange); }
.workflow-example { background: var(--surface); border-color: var(--blue-line); border-top-color: var(--forge-orange); }
.example-label, .example-steps li, .example-note { border-color: var(--blue-line); }
.example-label span:last-child, .workflow-parent, .example-note { color: var(--muted-blue); }
.example-steps li>span, .deliverable-number, .process li>span, .commercial-terms>article>span { color: var(--orange-dark); }
.deliverables-section .ownership { background: var(--pale-blue-gray); }
.ownership-mark { border-color: #718b9c; color: var(--orange-dark); }
.approach { background: var(--pale-blue-gray); }
.approach .process li { border-color: #b9cbd7; }
.process p { color: var(--muted-blue); }

/* The Agent diagram shares the page palette; supplied artwork stays original. */
.agent-diagram { background: var(--pale-blue-gray); border-color: var(--blue-line); }
.system-icon { color: var(--forge-orange); border-color: var(--dark-line); }
.platform-node div>span { color: var(--on-dark-muted); }
.agent-connection, .boundary-label, .agent-node div>span { color: var(--muted-blue); }
.customer-boundary { border-color: #819bac; }
.agent-node { background: var(--surface); border-color: #b9cbd7; }
.agent-indicator { background: var(--forge-orange); box-shadow: 0 0 0 5px #ffecde; }
.connector-stem, .resource-nodes>span:before { background: #819bac; }
.resource-nodes { border-color: #819bac; }
.resource-nodes>span { background: var(--surface); border-color: #b9cbd7; }
.infographic-figure { background: var(--pale-blue-gray); border-color: var(--blue-line); }
.infographic-preview { box-shadow: 0 4px 18px #24445c12; }
.infographic-preview:hover .infographic-caption { background: #1d394e; }

.expansion-section { background: var(--deep-steel-panel); }
.expansion-section h2 em, .expansion-section .service-number, .expansion-section .service-card li:before { color: var(--forge-orange); }
.expansion-section .section-heading>p, .expansion-section .eyebrow, .expansion-section .service-card>p, .expansion-section .card-bottom>span { color: var(--on-dark-muted); }
.expansion-section .service-grid, .expansion-section .service-card+.service-card, .expansion-section .card-bottom { border-color: var(--dark-line); }
.expansion-section .pill { background: #1d394e; color: var(--forge-orange); }
.expansion-section .service-card ul { color: #f5f8fa; }
.pricing-section { background: var(--pale-blue-gray); }
.pricing-offer { background: var(--surface); border-color: var(--blue-line); border-top-color: var(--forge-orange); }
.pricing-amount>span, .pricing-offer ul { color: var(--muted-blue); }
.commercial-terms>article { border-color: #b9cbd7; }
summary span { color: var(--orange-dark); }
.contact { background: var(--forge-orange); }
.contact p:not(.eyebrow) { color: var(--deep-steel-blue); }
.contact .text-link:hover { color: var(--deep-steel-panel); }
.contact .text-link { border-color: var(--deep-steel-blue); }
dialog { border-color: #819bac; }
dialog::backdrop { background: rgba(21,39,53,.85); }
.architecture-toolbar { border-color: var(--dark-line); }
.architecture-controls button, .architecture-controls a { border-color: #819bac; }
.architecture-controls .architecture-close { border-color: transparent; }
.architecture-controls button:hover, .architecture-controls a:hover { background: #1d394e; }
.architecture-viewer { background: var(--pale-blue-gray); }
@media(max-width:640px) {
  .engagement-sheet { box-shadow: 9px 12px 0 #c6d6e0; }
}

/* Keep the three palette families consistent in interactive states. */
.hero .text-link.light:hover, .text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.expansion-section a:focus-visible { outline-color: var(--forge-orange); }

/* Section labels: readable at desktop and phone sizes. */
.section-heading .eyebrow,
.founder-grid > div > .eyebrow,
.approach-grid > div > .eyebrow,
.faq > div > .eyebrow {
  font-size: 14px;
  letter-spacing: 1.4px;
  line-height: 1.5;
}
@media(max-width:640px) {
  .section-heading .eyebrow,
  .founder-grid > div > .eyebrow,
  .approach-grid > div > .eyebrow,
  .faq > div > .eyebrow {
    font-size: 12px;
    letter-spacing: 1px;
  }
}

/* Consulting hero: retain the existing grid, card, accents, and responsive layout. */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('assets/fonts/manrope-latin-variable.woff2') format('woff2');
}
.hero {
  font-family: 'Manrope', var(--sans);
  background: #faf7f2;
}
.hero-subheadline {
  margin-top: 20px;
  font-size: clamp(23px, 2.2vw, 31px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -.7px;
  text-decoration: underline;
  text-decoration-color: var(--forge-orange);
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}
.hero .hero-note { font-size: 12px; line-height: 1.8; }
.delivery-stages { margin: 0; }
.delivery-stages .sheet-line { align-items: flex-start; }
.delivery-stages .sheet-line h3 { font-size: 14px; }
.delivery-stages .sheet-line p { font-size: 12px; }
.delivery-stages .step-icon { position: relative; }
.delivery-stages .sheet-line:not(:last-child) .step-icon::after {
  content: '↓';
  position: absolute;
  top: 35px;
  font-size: 12px;
  line-height: 1;
}
@media(max-width:900px) and (min-width:641px) {
  .delivery-stages .sheet-line h3 { font-size: 13px; }
  .delivery-stages .sheet-line p { font-size: 11px; }
}
@media(max-width:640px) {
  .hero-subheadline { font-size: 25px; }
  .hero .hero-note { font-size: 11px; }
}
