/*
Theme Name: SAFCON Premium
Theme URI: https://safcongroup.co.za
Author: SAFCON Group
Description: Premium corporate WordPress theme for SAFCON Group - People | Systems | Solutions.
Version: 1.6.2
Text Domain: safcon-premium
*/

:root {
  --safcon-ink: #171717;
  --safcon-charcoal: #262626;
  --safcon-steel: #656565;
  --safcon-silver: #d8d8d4;
  --safcon-cream: #f6f2e9;
  --safcon-paper: #fcfbf8;
  --safcon-gold: #d2bea0;
  --safcon-gold-deep: #8f7758;
  --safcon-gold-pale: #ede2d1;
  --safcon-white: #ffffff;
  --safcon-border: rgba(23,23,23,.12);
  --safcon-shadow: 0 22px 60px rgba(0,0,0,.10);
  --safcon-radius: 20px;
  --safcon-max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--safcon-paper);
  color: var(--safcon-ink);
  font-family: "Montserrat", Arial, sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p a:not(.btn) { text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .16em; }
button, input, select, textarea { font: inherit; }

.container { width: min(calc(100% - 40px), var(--safcon-max)); margin-inline: auto; }
.section { padding: 96px 0; }
.section--compact { padding: 64px 0; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  text-transform: uppercase; letter-spacing: .16em; font-size: .75rem; font-weight: 700;
  color: var(--safcon-gold-deep);
}
.eyebrow::before { content: ""; width: 34px; height: 1px; background: var(--safcon-gold); }
.display {
  margin: 12px 0 20px; max-width: 900px;
  font-size: clamp(2.45rem, 5vw, 5.4rem); line-height: .98; letter-spacing: -.045em; font-weight: 700;
}
.section-title { margin: 12px 0 18px; font-size: clamp(2rem, 3vw, 3.5rem); line-height: 1.06; letter-spacing: -.035em; }
.lead { font-size: clamp(1.05rem, 1.4vw, 1.25rem); color: #4e4e4e; max-width: 780px; }
.muted { color: #686868; }

.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 16px; top: 16px; z-index: 9999; background: #fff; padding: 12px 16px; }

.site-header {
  position: sticky; top: 0; z-index: 90;
  background: rgba(252,251,248,.93); backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(23,23,23,.08);
}
.header-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: flex; align-items: center; gap: 16px; min-width: 230px; }
.brand img { width: 170px; height: auto; display: block; }
.brand-copy { display: none; }
.nav-toggle { display: none; border: 1px solid var(--safcon-border); background: #fff; border-radius: 12px; width: 46px; height: 46px; }
.primary-nav { display: flex; align-items: center; gap: 6px; }
.primary-nav > a, .nav-item > button {
  border: 0; background: transparent; padding: 13px 12px; border-radius: 10px; font-size: .9rem; font-weight: 650; cursor: pointer;
}
.primary-nav > a:hover, .nav-item > button:hover { background: #f0ece3; }
.nav-item { position: relative; }
.mega-menu {
  position: absolute; top: calc(100% + 16px); right: -180px; width: min(900px, 90vw);
  padding: 28px; background: #fff; border: 1px solid var(--safcon-border); border-radius: 22px;
  box-shadow: var(--safcon-shadow); opacity: 0; visibility: hidden; transform: translateY(10px); transition: .2s ease;
}
.nav-item:hover .mega-menu, .nav-item:focus-within .mega-menu, .nav-item.is-open .mega-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.mega-grid { display: grid; grid-template-columns: 1.05fr 1fr 1fr; gap: 26px; }
.mega-feature { padding: 24px; background: var(--safcon-ink); color: #fff; border-radius: 18px; }
.mega-feature strong { display: block; font-size: 1.35rem; line-height: 1.2; margin-bottom: 10px; }
.mega-feature p { color: #d5d5d5; font-size: .9rem; }
.mega-heading { margin: 0 0 10px; font-size: .77rem; text-transform: uppercase; letter-spacing: .12em; color: var(--safcon-gold-deep); font-weight:800; }
.mega-col a { display: block; padding: 6px 0; font-size: .9rem; color: #333; }
.mega-col a:hover { color: var(--safcon-gold-deep); transform: translateX(2px); }
.header-cta { display: flex; gap: 10px; align-items: center; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 48px; padding: 0 18px; border-radius: 12px; border: 1px solid transparent;
  font-size: .9rem; font-weight: 700; transition: .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn--gold { background: var(--safcon-gold); color: #111; box-shadow: 0 8px 24px rgba(185,160,106,.22); }
.btn--dark { background: var(--safcon-ink); color: #fff; }
.btn--ghost { border-color: rgba(255,255,255,.30); color: #fff; }
.btn--line { border-color: var(--safcon-border); background: #fff; }

.hero {
  position: relative; overflow: hidden; min-height: 750px; display: grid; align-items: center;
  background:
    radial-gradient(circle at 80% 20%, rgba(185,160,106,.22), transparent 34%),
    radial-gradient(circle at 10% 90%, rgba(185,160,106,.12), transparent 30%),
    linear-gradient(135deg, #111 0%, #1b1b1b 55%, #26231d 100%);
  color: #fff;
}
.hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .18;
  background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to left, black, transparent 70%);
}
.hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: center; padding: 90px 0; }
.hero .eyebrow { color: #d7c59e; }
.hero .lead { color: #d6d6d6; max-width: 720px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 34px; }
.hero-proof { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 46px; }
.proof-item { padding-left: 16px; border-left: 1px solid rgba(255,255,255,.24); }
.proof-item strong { display: block; font-size: 1.35rem; }
.proof-item span { display: block; color: #bcbcbc; font-size: .8rem; margin-top: 2px; }
.hero-panel {
  position: relative; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(18px); border-radius: 28px; padding: 30px; box-shadow: 0 28px 80px rgba(0,0,0,.34);
}
.hero-panel::before { content: ""; position: absolute; width: 180px; height: 180px; border: 1px solid rgba(185,160,106,.4); border-radius: 50%; top: -40px; right: -45px; }
.hero-panel img { width: 245px; display: block; margin: 0 auto 22px; border-radius: 16px; }
.hero-panel-title { margin: 0 0 8px; font-size: 1.45rem; line-height:1.2; }
.hero-panel p { color: #d4d4d4; font-size: .93rem; }
.hero-panel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
.hero-chip { padding: 12px 14px; border-radius: 12px; background: rgba(255,255,255,.07); font-size: .8rem; border: 1px solid rgba(255,255,255,.09); }

.pathway-strip { margin-top: -34px; position: relative; z-index: 5; }
.pathway-grid { display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border-radius: 20px; box-shadow: var(--safcon-shadow); border: 1px solid var(--safcon-border); overflow: hidden; }
.pathway { padding: 28px 24px; border-right: 1px solid var(--safcon-border); transition: .2s; }
.pathway:last-child { border-right: 0; }
.pathway:hover { background: var(--safcon-cream); transform: translateY(-3px); }
.pathway small { display: block; color: var(--safcon-gold-deep); font-weight: 700; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 6px; }
.pathway strong { font-size: 1rem; }

.intro-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
.intro-statement { position: sticky; top: 130px; }
.intro-copy { display: grid; gap: 18px; }
.info-panel { padding: 30px; border-radius: var(--safcon-radius); background: #fff; border: 1px solid var(--safcon-border); }
.info-panel h3 { margin-top: 0; }

.solutions-wrap { background: #171717; color: #fff; }
.solutions-wrap .section-title { max-width: 760px; }
.solutions-wrap .lead { color: #c8c8c8; }
.solution-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0 34px; }
.solution-tab { border: 1px solid rgba(255,255,255,.17); background: transparent; color: #fff; padding: 11px 15px; border-radius: 999px; cursor: pointer; }
.solution-tab.is-active { background: var(--safcon-gold); color: #111; border-color: var(--safcon-gold); }
.solution-panel { display: none; grid-template-columns: .85fr 1.15fr; gap: 24px; }
.solution-panel.is-active { display: grid; }
.solution-summary, .solution-links { border: 1px solid rgba(255,255,255,.12); border-radius: 22px; background: rgba(255,255,255,.045); padding: 30px; }
.solution-summary h3 { font-size: 1.9rem; margin-top: 0; }
.solution-summary p { color: #c8c8c8; }
.solution-links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.solution-card { min-height: 132px; padding: 20px; border: 1px solid rgba(255,255,255,.10); border-radius: 16px; background: rgba(255,255,255,.04); transition: .2s; }
.solution-card:hover { border-color: var(--safcon-gold); transform: translateY(-3px); }
.solution-card strong { display: block; margin-bottom: 7px; }
.solution-card span { color: #bcbcbc; font-size: .82rem; }

.capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 40px; }
.capability-card { padding: 28px; background: #fff; border-radius: 18px; border: 1px solid var(--safcon-border); min-height: 260px; position: relative; overflow: hidden; }
.capability-card::before { content: ""; position: absolute; width: 86px; height: 4px; background: var(--safcon-gold); top: 0; left: 28px; }
.capability-card h3 { margin: 14px 0 10px; font-size: 1.25rem; }
.capability-card p { color: #5e5e5e; font-size: .9rem; }
.capability-card a { display: inline-flex; margin-top: 10px; font-weight: 700; color: var(--safcon-gold-deep); }

.system-band { background: linear-gradient(135deg, #eee7d8, #f8f5ee 55%, #e9e4d9); border-block: 1px solid rgba(23,23,23,.08); }
.system-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; align-items: center; }
.system-map { position: relative; min-height: 430px; border-radius: 26px; background: #171717; padding: 32px; overflow: hidden; box-shadow: var(--safcon-shadow); }
.system-map::after { content: ""; position: absolute; inset: 24px; border: 1px solid rgba(185,160,106,.25); border-radius: 50%; transform: scale(1.05,.72); }
.system-core { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 150px; height: 150px; border-radius: 50%; display: grid; place-items: center; text-align: center; color: #111; background: var(--safcon-gold); font-weight: 800; z-index: 2; }
.system-node { position: absolute; z-index: 3; color: #fff; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.07); border-radius: 999px; padding: 10px 14px; font-size: .78rem; }
.node-1{top:36px;left:38px}.node-2{top:42px;right:36px}.node-3{top:185px;left:20px}.node-4{top:185px;right:18px}.node-5{bottom:46px;left:52px}.node-6{bottom:50px;right:46px}

.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 40px; }
.process-step { padding: 26px; border-top: 1px solid var(--safcon-border); }
.process-step span { display: block; font-size: 2.3rem; color: var(--safcon-gold); font-weight: 300; }
.process-step h3 { margin: 6px 0 9px; }
.process-step p { color: #666; font-size: .9rem; }

.ecosystem { background: #fff; }
.ecosystem-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 38px; }
.eco-card { padding: 34px; border: 1px solid var(--safcon-border); border-radius: 24px; position: relative; overflow: hidden; min-height: 330px; }
.eco-card--academy { background: #1b1b1b; color: #fff; }
.eco-card--store { background: var(--safcon-cream); }
.eco-card .kicker { font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; color: var(--safcon-gold-deep); font-weight: 700; }
.eco-card--academy .kicker { color: #d7c59e; }
.eco-card h3 { font-size: 2rem; margin: 12px 0; line-height: 1.1; }
.eco-card p { max-width: 560px; }
.eco-card--academy p { color: #cfcfcf; }

.industries { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.industry { padding: 10px 14px; border: 1px solid var(--safcon-border); border-radius: 999px; background: #fff; font-size: .82rem; }

.cta-band { padding: 76px 0; background: linear-gradient(120deg, #151515, #24211b); color: #fff; }
.cta-grid { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; }
.cta-grid h2 { font-size: clamp(2rem, 3.4vw, 3.8rem); margin: 0 0 10px; line-height: 1.02; }
.cta-grid p { color: #ccc; max-width: 760px; }

.content-shell { display: grid; grid-template-columns: 260px 1fr; gap: 52px; padding: 76px 0 100px; }
.content-nav { position: sticky; top: 120px; align-self: start; border: 1px solid var(--safcon-border); background: #fff; border-radius: 16px; padding: 18px; }
.content-nav strong { display: block; margin-bottom: 10px; }
.content-nav a { display: block; padding: 8px 0; color: #5d5d5d; font-size: .88rem; }
.entry-content h1 { font-size: clamp(2.4rem, 4vw, 4.4rem); line-height: 1.02; letter-spacing: -.04em; }
.entry-content h2 { margin-top: 52px; font-size: clamp(1.7rem, 2.5vw, 2.65rem); line-height: 1.1; }
.entry-content h3 { margin-top: 34px; }
.entry-content p, .entry-content li { color: #4f4f4f; }
.entry-content p a:not(.btn), .entry-content li a:not(.btn) { text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .16em; }
.entry-content table { width: 100%; border-collapse: collapse; background: #fff; }
.entry-content th, .entry-content td { border: 1px solid var(--safcon-border); padding: 14px; text-align: left; }
.entry-content blockquote { margin: 36px 0; padding: 24px 28px; border-left: 4px solid var(--safcon-gold); background: var(--safcon-cream); }

.site-footer { background: #111; color: #fff; padding: 70px 0 24px; }
.footer-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr .8fr; gap: 34px; }
.footer-brand img { width: 185px; border-radius: 12px; background: #fff; }
.footer-brand p { color: #aaa; max-width: 380px; font-size: .9rem; }
.footer-heading { color: #e6d7b7; font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; font-weight:800; margin:0 0 10px; }
.footer-col a { display: block; color: #c8c8c8; padding: 5px 0; font-size: .88rem; }
.footer-bottom { margin-top: 54px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.10); display: flex; justify-content: space-between; gap: 20px; color: #888; font-size: .76rem; }
.footer-bottom a { color:#d2d2d2; text-decoration:underline; text-underline-offset:.18em; }
.site-footer .muted { color:#bdbdbd; }
.footer-bottom a:hover { color:#e2d6bc; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1180px) {
  .header-cta { display: none; }
  .hero-inner, .system-grid, .intro-grid { grid-template-columns: 1fr; }
  .intro-statement { position: static; }
  .hero-panel { max-width: 680px; }
  .capability-grid { grid-template-columns: repeat(2,1fr); }
  .process-grid { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 980px) {
  .nav-toggle { display: grid; place-items: center; }
  .primary-nav { position: fixed; inset: 88px 0 auto 0; background: #fff; display: none; flex-direction: column; align-items: stretch; padding: 18px 20px 28px; border-bottom: 1px solid var(--safcon-border); max-height: calc(100vh - 88px); overflow: auto; }
  .primary-nav.is-open { display: flex; }
  .primary-nav > a, .nav-item > button { width: 100%; text-align: left; }
  .mega-menu { position: static; width: auto; opacity: 1; visibility: visible; transform: none; display: none; box-shadow: none; border-radius: 14px; margin-top: 8px; }
  .nav-item.is-open .mega-menu { display: block; }
  .mega-grid { grid-template-columns: 1fr; }
  .header-cta { margin-left: auto; }
  .header-cta .btn--gold { display: none; }
  .hero { min-height: auto; }
  .hero-inner { padding: 76px 0 100px; gap: 42px; }
  .pathway-grid { grid-template-columns: 1fr 1fr; }
  .pathway:nth-child(2) { border-right: 0; }
  .pathway:nth-child(-n+2) { border-bottom: 1px solid var(--safcon-border); }
  .solution-panel { grid-template-columns: 1fr; }
  .ecosystem-grid { grid-template-columns: 1fr; }
  .content-shell { grid-template-columns: 1fr; }
  .content-nav { position: static; }
  .cta-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .container { width: min(calc(100% - 28px), var(--safcon-max)); }
  .section { padding: 72px 0; }
  .brand img { width: 135px; }
  .header-inner { min-height: 76px; }
  .primary-nav { inset: 76px 0 auto 0; max-height: calc(100vh - 76px); }
  .display { font-size: clamp(2.35rem, 13vw, 4rem); }
  .hero-panel-grid, .solution-links, .capability-grid, .process-grid, .pathway-grid, .footer-grid { grid-template-columns: 1fr; }
  .pathway { border-right: 0; border-bottom: 1px solid var(--safcon-border); }
  .pathway:last-child { border-bottom: 0; }
  .system-map { min-height: 520px; }
  .system-core { width: 128px; height: 128px; }
  .node-1{top:36px;left:20px}.node-2{top:92px;right:18px}.node-3{top:194px;left:15px}.node-4{top:265px;right:14px}.node-5{bottom:98px;left:24px}.node-6{bottom:34px;right:24px}
  .footer-bottom { flex-direction: column; }
}

/* SAFCON detailed service + self-service components */
.safcon-page-hero { padding: 12px 0 28px; border-bottom: 1px solid var(--safcon-border); margin-bottom: 42px; }
.safcon-page-lead { font-size: clamp(1.15rem, 1.8vw, 1.48rem); line-height: 1.65; max-width: 930px; color: #353535 !important; margin: 16px 0 0; }
.safcon-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.safcon-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; align-items: start; margin: 42px 0; }
.safcon-note { background: var(--safcon-cream); border: 1px solid #dfd2b7; border-radius: 18px; padding: 26px; }
.safcon-note h2, .safcon-note h3 { margin-top: 0; }
.safcon-checklist { list-style: none; padding: 0; margin: 18px 0; display: grid; gap: 10px; }
.safcon-checklist li { position: relative; padding-left: 28px; color: #474747; }
.safcon-checklist li::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--safcon-gold); position: absolute; left: 4px; top: .64em; box-shadow: 0 0 0 4px rgba(185,160,106,.13); }
.safcon-process-list { display: grid; gap: 0; margin: 24px 0 36px; border-top: 1px solid var(--safcon-border); }
.safcon-process-item { display: grid; grid-template-columns: 62px 1fr; gap: 20px; align-items: start; padding: 20px 0; border-bottom: 1px solid var(--safcon-border); }
.safcon-process-item span { color: var(--safcon-gold-deep); font-weight: 800; letter-spacing: .08em; }
.safcon-process-item p { margin: 0; color: #444; }
.safcon-related-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; margin: 22px 0 40px; }
.safcon-related-card { display: flex; min-height: 130px; flex-direction: column; justify-content: space-between; gap: 18px; padding: 22px; border: 1px solid var(--safcon-border); border-radius: 16px; background: #fff; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.safcon-related-card:hover { transform: translateY(-3px); border-color: var(--safcon-gold); box-shadow: 0 18px 40px rgba(30,30,30,.07); }
.safcon-related-card span { font-size: .8rem; color: var(--safcon-gold-deep); font-weight: 700; }
.safcon-four-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin: 24px 0 42px; }
.safcon-four-grid > * { display: block; border: 1px solid var(--safcon-border); border-radius: 16px; background: #fff; padding: 22px; }
.safcon-four-grid strong { display: block; font-size: 1rem; margin-bottom: 8px; }
.safcon-four-grid p { margin-bottom: 0; font-size: .88rem; }
.safcon-solution-directory { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.safcon-directory-card { display: block; padding: 26px; border: 1px solid var(--safcon-border); border-radius: 18px; background: #fff; transition: .22s ease; }
.safcon-directory-card:hover { transform: translateY(-4px); border-color: var(--safcon-gold); box-shadow: 0 20px 45px rgba(30,30,30,.08); }
.safcon-directory-card > span { display: block; text-transform: uppercase; color: var(--safcon-gold-deep); font-size: .68rem; letter-spacing: .12em; font-weight: 800; margin-bottom: 9px; }
.safcon-directory-card strong { display: block; font-size: 1.18rem; margin-bottom: 8px; color: #171717; }
.safcon-directory-card p { color: #606060; font-size: .9rem; }
.safcon-directory-card b { color: var(--safcon-gold-deep); font-size: .8rem; }
.safcon-topic-grid { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0; }
.safcon-topic-grid span { padding: 10px 14px; border-radius: 999px; border: 1px solid var(--safcon-border); background: #fff; font-size: .82rem; }
.safcon-muted { color: #747474 !important; font-size: .9rem; }
.safcon-contact-grid { display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: 44px; align-items: start; }
.safcon-contact-form{min-width:0;width:100%}
.safcon-contact-form>.safcon-intake-form{width:100%;max-width:none}
.safcon-form-section { margin: 64px 0 10px; padding: 32px; border-radius: 22px; background: linear-gradient(135deg,#f3eee2,#fbfaf7); border: 1px solid #dfd2b7; }
.safcon-intake-form { padding: 28px; border-radius: 18px; border: 1px solid var(--safcon-border); background: #fff; box-shadow: 0 18px 45px rgba(30,30,30,.06); }
.safcon-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.safcon-field { display: grid; gap: 7px; margin-bottom: 16px; font-size: .8rem; font-weight: 700; color: #373737; }
.safcon-field > span > span { color: var(--safcon-gold-deep); }
.safcon-field small { color: #777; font-weight: 500; }
.safcon-field input, .safcon-field select, .safcon-field textarea { width: 100%; border: 1px solid #d7d2c8; border-radius: 10px; padding: 12px 13px; font: inherit; font-weight: 500; color: #222; background: #fff; }
.safcon-field input:focus, .safcon-field select:focus, .safcon-field textarea:focus { outline: 2px solid rgba(185,160,106,.32); border-color: var(--safcon-gold); }
.safcon-intake-form fieldset { border: 1px solid var(--safcon-border); border-radius: 14px; padding: 18px; margin: 10px 0 22px; }
.safcon-intake-form legend { padding: 0 8px; font-weight: 800; color: #222; }
.safcon-consent { display: flex; align-items: flex-start; gap: 10px; font-size: .78rem; color: #555; margin: 14px 0 20px; }
.safcon-consent input { margin-top: 3px; }
.safcon-form-small { font-size: .72rem !important; color: #777 !important; margin-bottom: 0; }
.safcon-hp { position: absolute !important; left: -99999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.safcon-form-notice { padding: 14px 16px; border-radius: 10px; margin-bottom: 16px; font-size: .88rem; }
.safcon-form-success { background: #eef7ef; border: 1px solid #b9dabc; color: #2f5b33; }
.safcon-form-error { background: #fff0ef; border: 1px solid #e1b5b1; color: #7a302b; }
.resource-search { display: flex; gap: 10px; max-width: 720px; margin: 28px 0; }
.resource-search input[type="search"] { flex: 1; min-width: 0; border: 1px solid var(--safcon-border); border-radius: 999px; padding: 13px 17px; }
.resource-category-row { display: flex; gap: 8px; flex-wrap: wrap; margin: 26px 0 34px; }
.resource-category-row a { padding: 8px 12px; border-radius: 999px; border: 1px solid var(--safcon-border); background:#fff; font-size:.78rem; }
.resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.resource-card { border:1px solid var(--safcon-border); border-radius:18px; background:#fff; overflow:hidden; }
.resource-card .resource-card-body { padding:22px; }
.resource-card .resource-meta { font-size:.7rem; color:var(--safcon-gold-deep); text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.resource-card h2 { font-size:1.15rem; margin:10px 0; }
.resource-card p { font-size:.86rem; color:#666; }

@media (max-width: 900px) {
  .safcon-detail-grid, .safcon-contact-grid { grid-template-columns: 1fr; }
  .safcon-four-grid { grid-template-columns: repeat(2,1fr); }
  .resource-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .safcon-form-grid, .safcon-related-grid, .safcon-solution-directory, .safcon-four-grid, .resource-grid { grid-template-columns: 1fr; }
  .safcon-form-section, .safcon-intake-form { padding: 20px; }
  .resource-search { flex-direction: column; }
}
.safcon-faq { display:grid; gap:10px; margin:22px 0 40px; }
.safcon-faq details { border:1px solid var(--safcon-border); border-radius:14px; background:#fff; overflow:hidden; }
.safcon-faq summary { cursor:pointer; padding:18px 20px; font-weight:800; color:#222; list-style:none; position:relative; padding-right:52px; }
.safcon-faq summary::-webkit-details-marker { display:none; }
.safcon-faq summary::after { content:"+"; position:absolute; right:20px; top:50%; transform:translateY(-50%); color:var(--safcon-gold-deep); font-size:1.3rem; }
.safcon-faq details[open] summary::after { content:"–"; }
.safcon-faq details p { margin:0; padding:0 20px 20px; color:#5d5d5d; }
.finder-band { background: linear-gradient(135deg,#f6f1e7,#fff 55%,#efeadf); border-block:1px solid var(--safcon-border); }
.finder-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:42px; align-items:start; }
.solution-finder { background:#171717; color:#fff; border-radius:24px; padding:28px; min-height:365px; box-shadow:var(--safcon-shadow); }
.finder-question { display:grid; gap:10px; }
.finder-question > strong { font-size:1.1rem; margin-bottom:8px; }
.finder-question button { width:100%; text-align:left; padding:15px 16px; border-radius:12px; border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.05); color:#fff; cursor:pointer; transition:.2s; }
.finder-question button:hover { border-color:var(--safcon-gold); background:rgba(185,160,106,.12); transform:translateX(3px); }
.finder-result { display:none; }
.finder-result.is-active { display:block; }
.finder-result > span { color:#d7c59e; text-transform:uppercase; letter-spacing:.12em; font-size:.68rem; font-weight:800; }
.finder-result h3 { font-size:2rem; margin:10px 0 12px; }
.finder-result p { color:#c9c9c9; max-width:520px; }
.finder-reset { margin-top:24px; border:0; background:transparent; color:#d7c59e; cursor:pointer; text-decoration:underline; }
@media (max-width: 900px) { .finder-grid { grid-template-columns:1fr; } }

/* v1.2 engagement + outcomes */
.engagement-band { background: #fff; }
.engagement-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:34px; }
.engagement-card { min-height:310px; display:flex; flex-direction:column; padding:26px; border:1px solid var(--safcon-border); border-radius:20px; background:linear-gradient(180deg,#fff,#fbfaf7); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.engagement-card:hover { transform:translateY(-5px); border-color:var(--safcon-gold); box-shadow:0 24px 55px rgba(30,30,30,.08); }
.engagement-card > span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--safcon-cream); border:1px solid #dfd2b7; color:var(--safcon-gold-deep); font-size:.72rem; font-weight:800; letter-spacing:.08em; margin-bottom:24px; }
.engagement-card h3 { font-size:1.08rem; margin:0 0 12px; }
.engagement-card p { color:#666; font-size:.88rem; flex:1; }
.engagement-card a { color:var(--safcon-gold-deep); font-weight:800; font-size:.8rem; }
.engagement-links { display:grid; gap:8px; }
.engagement-links a { text-decoration:underline; text-underline-offset:.18em; }
.outcomes-band { background:linear-gradient(135deg,#151515,#222); color:#fff; position:relative; overflow:hidden; }
.outcomes-band::after { content:""; position:absolute; width:460px; height:460px; border:1px solid rgba(226,214,188,.18); border-radius:50%; right:-180px; top:-110px; box-shadow:0 0 0 80px rgba(226,214,188,.025),0 0 0 160px rgba(226,214,188,.018); }
.outcomes-grid { position:relative; z-index:2; display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:start; }
.outcomes-band .eyebrow { color:#d7c59e; }
.outcomes-band .section-title { color:#fff; }
.outcomes-band .lead { color:#cfcfcf; }
.outcomes-list { border-top:1px solid rgba(255,255,255,.14); }
.outcome-row { display:grid; grid-template-columns:210px 1fr; gap:24px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.outcome-row strong { color:#f4ead4; }
.outcome-row span { color:#c5c5c5; font-size:.9rem; line-height:1.65; }
@media (max-width: 1000px) { .engagement-grid { grid-template-columns:repeat(2,1fr); } .outcomes-grid { grid-template-columns:1fr; gap:28px; } }
@media (max-width: 620px) { .engagement-grid { grid-template-columns:1fr; } .engagement-card { min-height:auto; } .outcome-row { grid-template-columns:1fr; gap:8px; } }


/* SAFCON network navigation - keeps Corporate, Store and Academy visibly connected */
.site-network-bar {
  background: #111;
  color: rgba(255,255,255,.78);
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-size: .7rem;
  letter-spacing: .04em;
}
.site-network-inner { min-height: 34px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.network-label { font-size:.62rem; letter-spacing:.18em; font-weight:800; color:var(--safcon-gold-pale); }
.network-links { display:flex; align-items:center; gap:6px; }
.network-links a { display:inline-flex; align-items:center; gap:4px; padding:6px 10px; border-radius:999px; transition:.2s ease; }
.network-links a:hover, .network-links a:focus-visible { color:#fff; background:rgba(255,255,255,.07); }
.network-links .is-current { color:#fff; background:rgba(185,160,106,.17); }
.nav-platform-link { display:none !important; }
.resource-read { color:var(--safcon-gold-deep); font-size:.78rem; font-weight:800; }
.resource-read:hover { text-decoration:underline; }

@media (max-width: 900px) {
  .site-network-inner { overflow-x:auto; scrollbar-width:none; }
  .site-network-inner::-webkit-scrollbar { display:none; }
  .network-label { display:none; }
  .network-links { min-width:max-content; margin-inline:auto; }
  .nav-platform-link { display:block !important; border-top:1px solid var(--safcon-border); margin-top:4px; padding-top:14px !important; color:var(--safcon-gold-deep) !important; }
}
@media (max-width: 620px) {
  .site-network-bar { font-size:.64rem; }
  .network-links a { padding:5px 8px; }
}


/* v1.5 solution selector + accessibility refinements */
:focus-visible { outline: 3px solid rgba(146,119,67,.45); outline-offset: 3px; }
.safcon-selector { margin: 28px 0 50px; border: 1px solid var(--safcon-border); border-radius: 24px; background: #fff; padding: 32px; box-shadow: 0 20px 55px rgba(25,25,25,.07); }
.selector-progress { display:flex; align-items:center; gap:10px; margin-bottom:30px; }
.selector-progress span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--safcon-border); color:#777; font-size:.78rem; font-weight:800; }
.selector-progress span.is-active { color:#111; background:var(--safcon-gold); border-color:var(--safcon-gold); box-shadow:0 0 0 5px rgba(185,160,106,.12); }
.selector-step, .selector-result { display:none; }
.selector-step.is-active, .selector-result.is-active { display:block; }
.selector-step h2, .selector-result h2 { margin:10px 0 22px; font-size:clamp(1.7rem,2.6vw,2.65rem); line-height:1.1; }
.selector-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.selector-options button { min-height:74px; text-align:left; padding:16px 18px; border:1px solid var(--safcon-border); border-radius:14px; background:var(--safcon-paper); color:#222; font-weight:700; cursor:pointer; transition:.2s ease; }
.selector-options button:hover { transform:translateY(-2px); border-color:var(--safcon-gold); background:var(--safcon-cream); }
.selector-back, .selector-reset { border:0; background:transparent; color:var(--safcon-gold-deep); font-weight:800; cursor:pointer; margin-top:20px; padding:8px 0; }
.selector-result-body article { display:none; }
.selector-result-body article.is-active { display:block; }
.selector-links { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:22px 0; }
.selector-links a { padding:16px; border:1px solid var(--safcon-border); border-radius:13px; background:var(--safcon-paper); font-weight:750; }
.selector-links a:hover { border-color:var(--safcon-gold); }
.selector-result-actions { display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-top:24px; }
@media (max-width:720px) { .selector-options, .selector-links { grid-template-columns:1fr; } .safcon-selector{padding:22px;} }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } .reveal { opacity:1; transform:none; } }

/* === SAFCON v1.6 premium corporate redesign === */
:root{--wow-ink:#111214;--wow-graphite:#1b1d20;--wow-slate:#4f5358;--wow-silver:#cfd2d5;--wow-pearl:#f6f6f3;--wow-white:#fff;--wow-champagne:#d2bea0;--wow-champagne-deep:#8f7758;--wow-line:rgba(17,18,20,.11);--wow-shadow:0 28px 80px rgba(18,20,24,.12)}
body{font-family:"Manrope",sans-serif;background:var(--wow-pearl);color:var(--wow-ink)}
h1,h2,h3,.display{font-family:"Manrope",sans-serif}
.site-network-bar{background:#111214;color:#d7dadd;border-bottom:1px solid rgba(255,255,255,.08)}
.site-network-inner{min-height:38px}.network-label{color:#d8c79f}.network-links .is-current{background:rgba(200,181,138,.14)}
.site-header{background:rgba(246,246,243,.9);backdrop-filter:blur(20px);border-bottom:1px solid var(--wow-line)}.header-inner{min-height:118px}.brand{display:flex;align-items:center}.brand img{width:118px;height:auto;max-height:106px;object-fit:contain;border-radius:0!important;background:transparent!important}
.primary-nav>a,.nav-item>button{font-size:.82rem;letter-spacing:.01em;font-weight:700}.primary-nav>a:hover,.nav-item>button:hover{background:#ecece7}.mega-menu{border:1px solid var(--wow-line);box-shadow:0 30px 90px rgba(20,22,25,.16);border-radius:18px}.mega-menu-wide{right:-300px;width:min(1180px,94vw)}.mega-grid-wide{grid-template-columns:1.15fr repeat(4,1fr);gap:22px}.mega-feature{background:linear-gradient(145deg,#111214,#25282d)}.mega-heading{color:var(--wow-champagne-deep)}
.btn--gold{background:var(--wow-ink);color:#fff;box-shadow:none}.btn--gold:hover{background:#2a2d31}.btn--line{background:transparent;border-color:#c9c9c3}.site-footer{background:#0f1012}.footer-heading{color:#ddcfac}
.wow-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f9f9f7 0%,#eeeeea 48%,#dcdedc 100%);padding:118px 0 92px;border-bottom:1px solid var(--wow-line)}
.wow-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(17,18,20,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(17,18,20,.045) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent 0,black 32%,black 100%)}
.wow-orbit{position:absolute;border:1px solid rgba(138,116,74,.18);border-radius:50%;pointer-events:none}.wow-orbit-a{width:620px;height:620px;right:-140px;top:-210px;box-shadow:0 0 0 90px rgba(200,181,138,.035),0 0 0 180px rgba(200,181,138,.02)}.wow-orbit-b{width:260px;height:260px;right:18%;bottom:-140px}
.wow-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:88px;align-items:center}.wow-kicker{display:inline-flex;align-items:center;gap:10px;font-size:.68rem;letter-spacing:.18em;font-weight:800;color:var(--wow-champagne-deep);text-transform:uppercase}.wow-kicker:before{content:"";width:38px;height:1px;background:currentColor}
.wow-hero h1{font-size:clamp(3.9rem,7vw,7.7rem);line-height:.9;letter-spacing:-.065em;margin:22px 0 28px;max-width:860px;font-weight:700}.wow-hero h1 em{font-family:"DM Serif Display",serif;font-weight:400;color:var(--wow-champagne-deep)}.wow-lead{font-size:clamp(1.05rem,1.55vw,1.28rem);line-height:1.7;color:#44484d;max-width:760px}
.wow-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:34px}.wow-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 21px;border-radius:999px;font-size:.83rem;font-weight:800;transition:.2s ease}.wow-btn-dark{background:#111214;color:#fff}.wow-btn-dark:hover{transform:translateY(-2px);background:#2a2d31}.wow-btn-ghost{border:1px solid #bfc1bd;background:rgba(255,255,255,.45)}.wow-btn-light{background:#fff;color:#111214}.wow-text-link{font-size:.86rem;font-weight:800;text-decoration:underline;text-underline-offset:.2em}
.wow-service-line{display:flex;gap:10px;flex-wrap:wrap;margin-top:42px}.wow-service-line span{padding:8px 12px;border-radius:999px;border:1px solid rgba(17,18,20,.13);background:rgba(255,255,255,.4);font-size:.68rem;font-weight:800;letter-spacing:.04em;color:#3d4146}
.wow-command{position:relative;min-height:590px;border-radius:38px;background:linear-gradient(145deg,#17191d,#25282e);box-shadow:0 42px 100px rgba(20,22,25,.28);overflow:hidden;border:1px solid rgba(255,255,255,.08)}.wow-command:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 22%,rgba(200,181,138,.24),transparent 28%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,42px 42px,42px 42px}
.wow-command-mark{position:absolute;z-index:2;left:50%;top:46%;transform:translate(-50%,-50%);width:180px;height:180px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(225,216,196,.45);box-shadow:0 0 0 42px rgba(200,181,138,.05),0 0 0 84px rgba(200,181,138,.025)}.wow-command-mark span{font-family:"DM Serif Display",serif;font-size:4.4rem;color:#eadfc5}.wow-command-mark i,.wow-command-mark b{position:absolute;inset:14px;border:1px solid rgba(255,255,255,.08);border-radius:50%}.wow-command-mark b{inset:36px}
.wow-stack{position:absolute;z-index:3;display:grid;gap:3px;padding:13px 15px;border-radius:14px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(8px);color:#fff;min-width:190px}.wow-stack small{color:#c8b58a;font-weight:800;font-size:.62rem;letter-spacing:.12em}.wow-stack strong{font-size:.83rem}.wow-stack span{font-size:.68rem;color:#b8bcc2}
.wow-stack-1{top:38px;left:34px}.wow-stack-2{top:68px;right:26px}.wow-stack-3{top:252px;right:20px}.wow-stack-4{bottom:54px;right:42px}.wow-stack-5{bottom:70px;left:30px}
.wow-intro{padding:100px 0;background:#fff;border-bottom:1px solid var(--wow-line)}.wow-intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:110px;align-items:start}
.wow-intro h2,.wow-section-head h2,.wow-digital h2,.wow-feature h2,.wow-engage h2,.wow-final h2{font-size:clamp(2.5rem,4.4vw,5rem);line-height:1;letter-spacing:-.055em;margin:16px 0 0}.wow-intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding-top:18px}.wow-intro-copy p{font-size:1rem;line-height:1.8;color:#54585d;margin:0}
.wow-capabilities{padding:110px 0;background:#f5f5f1}.wow-section-head{max-width:850px;margin-bottom:52px}.wow-section-head p{font-size:1.05rem;color:#5b5f64;max-width:680px}.wow-capability-list{border-top:1px solid #bbbdbb}
.wow-cap-row{display:grid;grid-template-columns:72px .9fr 1.35fr;gap:30px;padding:34px 0;border-bottom:1px solid #c8cac7;align-items:start;transition:.2s ease}.wow-cap-row:hover{padding-left:14px;background:rgba(255,255,255,.55)}.wow-cap-row-feature{background:linear-gradient(90deg,rgba(200,181,138,.08),transparent)}.wow-cap-no{font-size:.7rem;font-weight:800;color:#8a744a;letter-spacing:.12em}.wow-cap-title span{font-size:.68rem;font-weight:800;color:#8a744a;text-transform:uppercase;letter-spacing:.12em}.wow-cap-title h3{font-size:1.5rem;line-height:1.2;margin:7px 0 0;letter-spacing:-.025em}.wow-cap-links{display:flex;flex-wrap:wrap;gap:8px 10px}.wow-cap-links a{padding:8px 11px;border-radius:999px;border:1px solid #caccc8;background:#fff;font-size:.73rem;font-weight:700;transition:.18s ease}.wow-cap-links a:hover{background:#111214;color:#fff;border-color:#111214}
.wow-digital{padding:110px 0;background:#111214;color:#fff}.wow-digital-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:76px;align-items:center}.wow-kicker-light{color:#d9c9a4}.wow-digital-copy p{color:#b9bdc2;max-width:680px;font-size:1.02rem;line-height:1.75}
.wow-system-visual{background:linear-gradient(145deg,#1e2126,#0f1012);border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:28px;box-shadow:0 40px 90px rgba(0,0,0,.32)}.wow-system-top{display:flex;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.09)}.wow-system-top span{font-size:1.15rem;font-weight:800}.wow-system-top small{font-size:.58rem;letter-spacing:.16em;color:#c8b58a}.wow-system-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:24px 0}.wow-system-grid span{min-height:82px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.075);font-size:.72rem;font-weight:800;color:#d8dbe0}.wow-system-status{display:flex;align-items:center;gap:8px;font-size:.72rem;color:#aeb2b7;border-top:1px solid rgba(255,255,255,.09);padding-top:18px}.wow-system-status i{width:8px;height:8px;border-radius:50%;background:#b8d49b;box-shadow:0 0 0 5px rgba(184,212,155,.1)}
.wow-business{padding:110px 0;background:#fff}.wow-section-head-split{max-width:none;display:grid;grid-template-columns:1fr .75fr;gap:70px;align-items:end}.wow-section-head-split p{margin:0 0 8px;line-height:1.8}.wow-business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d3d5d1;border:1px solid #d3d5d1}.wow-business-grid a{background:#fafaf8;min-height:190px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;transition:.2s ease}.wow-business-grid a:hover{background:#111214;color:#fff}.wow-business-grid span{font-size:.66rem;font-weight:800;letter-spacing:.12em;color:#8a744a;text-transform:uppercase}.wow-business-grid strong{font-size:1.05rem;line-height:1.35}
.wow-feature-pair{padding:0 0 110px;background:#fff}.wow-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wow-feature{min-height:410px;padding:44px;border-radius:26px;display:flex;flex-direction:column;justify-content:flex-end}.wow-feature-light{background:linear-gradient(145deg,#e8e9e7,#f7f7f4)}.wow-feature-champagne{background:linear-gradient(145deg,#d9ceb5,#efe8da)}.wow-feature p{max-width:560px;color:#53575c}.wow-feature a{margin-top:16px;font-weight:800;text-decoration:underline;text-underline-offset:.2em}
.wow-ecosystem{padding:110px 0;background:#f1f1ed}.wow-ecosystem-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wow-eco{min-height:320px;padding:34px;border-radius:24px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--wow-line)}.wow-eco-store{background:#fff}.wow-eco-academy{background:#17191d;color:#fff}.wow-eco small{font-size:.64rem;letter-spacing:.14em;font-weight:800;color:#8a744a}.wow-eco-academy small{color:#d7c59e}.wow-eco strong{font-size:clamp(1.6rem,2.6vw,2.8rem);line-height:1.05;letter-spacing:-.04em;max-width:560px}.wow-eco span{font-size:.8rem;font-weight:800;text-decoration:underline;text-underline-offset:.2em}
.wow-engage{padding:110px 0;background:#fff}.wow-engage-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.wow-engage-list{border-top:1px solid #c8cac7}.wow-engage-list a{display:grid;grid-template-columns:50px 1fr auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid #c8cac7;transition:.2s}.wow-engage-list a:hover{padding-left:10px}.wow-engage-list span{font-size:.68rem;font-weight:800;color:#8a744a}.wow-engage-list strong{font-size:1rem}.wow-engage-list em{font-size:.78rem;color:#777c81;font-style:normal}
.wow-final{padding:100px 0;background:linear-gradient(135deg,#111214,#24272c);color:#fff}.wow-final-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end}.wow-final-actions{display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.content-shell{max-width:1240px;margin-inline:auto}.entry-content h1{font-size:clamp(2.8rem,5vw,5.2rem);font-weight:700}.safcon-page-hero{border-color:var(--wow-line)}.safcon-note,.safcon-form-section{background:#f1f1ed;border-color:#d6d4ca}
@media (max-width:1050px){.wow-hero-grid,.wow-intro-grid,.wow-digital-grid,.wow-engage-grid,.wow-final-grid{grid-template-columns:1fr}.wow-command{min-height:520px}.wow-section-head-split{grid-template-columns:1fr}.wow-business-grid{grid-template-columns:1fr 1fr}}

@media (max-width:760px){.wow-hero{padding:78px 0 66px}.wow-hero h1{font-size:clamp(3rem,15vw,5rem)}.wow-command{min-height:640px;border-radius:24px}.wow-stack{min-width:160px}.wow-stack-1{top:28px;left:18px}.wow-stack-2{top:120px;right:18px}.wow-stack-3{top:320px;right:18px}.wow-stack-4{bottom:48px;right:18px}.wow-stack-5{bottom:152px;left:18px}.wow-intro-copy,.wow-feature-grid,.wow-ecosystem-grid,.wow-business-grid{grid-template-columns:1fr}.wow-cap-row{grid-template-columns:48px 1fr;gap:18px}.wow-cap-links{grid-column:2}.wow-system-grid{grid-template-columns:1fr 1fr}.wow-engage-list a{grid-template-columns:40px 1fr}.wow-engage-list em{grid-column:2}.wow-final-actions{justify-content:flex-start}}

/* Corporate internal page system */
.corp-page-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8f8f6 0%,#e9e9e5 58%,#d7d9d7 100%);padding:86px 0 72px;border-bottom:1px solid var(--wow-line)}
.corp-page-hero:after{content:"";position:absolute;right:-120px;top:-210px;width:520px;height:520px;border:1px solid rgba(138,116,74,.2);border-radius:50%;box-shadow:0 0 0 70px rgba(200,181,138,.035),0 0 0 140px rgba(200,181,138,.018)}
.corp-page-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.corp-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.69rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#676b70}
.corp-breadcrumb a{color:var(--wow-champagne-deep)}
.corp-page-hero h1{max-width:960px;margin:18px 0 0;font-size:clamp(3rem,6vw,6.5rem);line-height:.92;letter-spacing:-.06em}
.corp-page-mark{width:108px;height:108px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(17,18,20,.18);box-shadow:0 0 0 18px rgba(255,255,255,.25)}
.corp-page-mark span{font-family:"DM Serif Display",serif;font-size:4.4rem;color:var(--wow-champagne-deep)}
.corp-page-nav{position:sticky;top:120px;z-index:40;background:rgba(246,246,243,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--wow-line)}
.corp-page-nav-inner{min-height:54px;display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none}
.corp-page-nav-inner::-webkit-scrollbar{display:none}
.corp-page-nav a{white-space:nowrap;padding:8px 11px;border-radius:999px;font-size:.69rem;font-weight:800;color:#55595e}
.corp-page-nav a:hover{background:#e7e7e1;color:#111214}
.corp-page-nav .corp-page-cta{margin-left:auto;background:#111214;color:#fff;padding-inline:15px}
.corp-entry{padding-top:78px;padding-bottom:110px}
.corp-entry .entry-content{max-width:1060px;margin:0 auto}
.corp-entry .entry-content>h1{display:none}
.corp-entry .safcon-page-hero{padding:0 0 42px;margin:0 0 60px;border-bottom:1px solid #cfd1cd}
.corp-entry .safcon-page-hero .eyebrow{font-size:.66rem;letter-spacing:.17em;color:var(--wow-champagne-deep)}
.corp-entry .safcon-page-lead{font-size:clamp(1.25rem,2.2vw,1.8rem);line-height:1.55;color:#2f3337!important;max-width:900px}
.corp-entry h2{font-size:clamp(2rem,3.4vw,3.4rem);line-height:1.04;letter-spacing:-.045em;margin-top:72px}
.corp-entry h3{font-size:1.12rem;letter-spacing:-.015em}
.corp-entry p,.corp-entry li{font-size:.96rem;line-height:1.8;color:#555a60}
.corp-entry .safcon-detail-grid{gap:54px;margin:64px 0}
.corp-entry .safcon-note{background:linear-gradient(145deg,#ededE8,#f8f8f5);border:1px solid #d3d4cf;border-radius:18px;padding:30px}
.corp-entry .safcon-checklist{gap:0;border-top:1px solid #d0d2cf}
.corp-entry .safcon-checklist li{padding:14px 10px 14px 34px;border-bottom:1px solid #d0d2cf}
.corp-entry .safcon-checklist li::before{width:7px;height:7px;background:#8a744a;box-shadow:none;top:1.35rem}
.corp-entry .safcon-four-grid{gap:1px;background:#d5d6d2;border:1px solid #d5d6d2}
.corp-entry .safcon-four-grid>*{border:0;border-radius:0;background:#fff;padding:28px}
.corp-entry .safcon-related-grid{gap:1px;background:#d5d6d2;border:1px solid #d5d6d2}
.corp-entry .safcon-related-card{border:0;border-radius:0;box-shadow:none;background:#fff;padding:24px}
.corp-entry .safcon-related-card:hover{transform:none;background:#111214;color:#fff}
.corp-entry .safcon-process-list{border-color:#cfd1cd}
.corp-entry .safcon-process-item{padding:20px 0;border-color:#cfd1cd}
.corp-entry .safcon-form-section{margin-top:84px;padding:44px;border-radius:24px;background:linear-gradient(145deg,#e8e9e6,#f7f7f4);border:1px solid #d1d3cf}
.corp-entry .safcon-intake-form{border:0;border-radius:18px;box-shadow:0 24px 65px rgba(20,22,25,.08)}
.corp-entry .safcon-field input,.corp-entry .safcon-field select,.corp-entry .safcon-field textarea{border-radius:10px;background:#fbfbf9;border-color:#cfd1cd}
.resource-grid{gap:1px!important;background:#d5d6d2;border:1px solid #d5d6d2}
.resource-card{border:0!important;border-radius:0!important;background:#fff!important}
.resource-card:hover{background:#f0f0eb!important}
.resource-category-row a{border-radius:999px!important;border-color:#c8cac7!important}
@media(max-width:980px){.corp-page-nav{top:114px}.corp-page-hero-grid{grid-template-columns:1fr}.corp-page-mark{display:none}.corp-page-nav .corp-page-cta{margin-left:0}.corp-entry{padding-top:56px}.corp-entry .safcon-detail-grid{gap:28px}}
@media(max-width:620px){.corp-page-hero{padding:58px 0 50px}.corp-page-hero h1{font-size:clamp(2.8rem,15vw,4.8rem)}.corp-page-nav{top:110px}.corp-page-nav-inner{gap:3px}.corp-entry{padding-top:40px;padding-bottom:80px}.corp-entry .safcon-form-section{padding:24px}.corp-entry .safcon-four-grid,.corp-entry .safcon-related-grid{background:transparent;border:0;gap:12px}.corp-entry .safcon-four-grid>*,.corp-entry .safcon-related-card{border:1px solid #d5d6d2;border-radius:14px}}

/* v1.6.1 champagne brand correction */
:root{
  --safcon-gold:#d2bea0;
  --safcon-gold-deep:#8f7758;
  --safcon-gold-pale:#ede2d1;
  --wow-champagne:#d2bea0;
  --wow-champagne-deep:#8f7758;
}
.network-label,.wow-kicker,.wow-cap-no,.wow-cap-title span,.wow-business-grid span,
.wow-eco small,.corp-breadcrumb a,.corp-entry .safcon-page-hero .eyebrow,
.safcon-process-item span,.safcon-related-card span,.resource-meta,
.selector-back,.selector-reset,.resource-read,.finder-result>span,.finder-reset{
  color:#8f7758!important;
}
.wow-kicker-light,.eco-card--academy .kicker,.outcomes-band .eyebrow,.hero .eyebrow{
  color:#e0cfb7!important;
}
.eyebrow::before,.capability-card::before,.solution-tab.is-active,
.selector-progress span.is-active,.safcon-checklist li::before{
  background:#d2bea0!important;
}
.solution-tab.is-active,.selector-progress span.is-active{
  border-color:#d2bea0!important;
}
.wow-feature-champagne{
  background:linear-gradient(145deg,#ddd1be,#f0e8dc)!important;
}
.wow-command-mark span{color:#eadfce!important}
.wow-stack small,.wow-system-top small{color:#d2bea0!important}
.mega-heading{color:#8f7758!important}
.mega-col a:hover{color:#8f7758!important}
.finder-question button:hover{border-color:#d2bea0!important;background:rgba(210,190,160,.10)!important}
.selector-options button:hover,.selector-links a:hover,.engagement-card:hover,.safcon-directory-card:hover,.safcon-related-card:hover{
  border-color:#d2bea0!important;
}
.safcon-field input:focus,.safcon-field select:focus,.safcon-field textarea:focus{
  outline-color:rgba(210,190,160,.32)!important;
  border-color:#d2bea0!important;
}

/* v1.6.2 scale, command-map and footer refinements */
body{font-size:15.5px}

.wow-hero{padding:96px 0 78px}
.wow-hero-grid{gap:64px}
.wow-hero h1{
  font-size:clamp(3.15rem,5.4vw,5.8rem);
  line-height:.94;
  letter-spacing:-.055em;
  max-width:760px;
}
.wow-lead{font-size:clamp(.98rem,1.25vw,1.12rem);line-height:1.68;max-width:700px}
.wow-service-line{margin-top:32px}
.wow-service-line span{font-size:.64rem;padding:7px 10px}

.wow-intro,.wow-capabilities,.wow-digital,.wow-business,.wow-ecosystem,.wow-engage{padding:88px 0}
.wow-feature-pair{padding:0 0 88px}
.wow-final{padding:84px 0}

.wow-intro h2,.wow-section-head h2,.wow-digital h2,.wow-final h2{
  font-size:clamp(2.15rem,3.45vw,3.75rem);
  line-height:1.04;
  letter-spacing:-.047em;
}
.wow-feature h2{
  font-size:clamp(2rem,3vw,3.2rem);
  line-height:1.05;
  letter-spacing:-.045em;
}
.wow-engage h2{
  font-size:clamp(2.15rem,3.2vw,3.55rem);
  line-height:1.03;
  letter-spacing:-.045em;
  max-width:520px;
}
.wow-intro-copy p,.wow-section-head p,.wow-digital-copy p{font-size:.96rem}
.wow-section-head{max-width:760px;margin-bottom:44px}

.wow-feature{min-height:350px;padding:36px}
.wow-feature p{font-size:.94rem;line-height:1.7}
.wow-business-grid a{min-height:168px;padding:24px}
.wow-business-grid strong{font-size:.98rem}
.wow-eco{min-height:285px;padding:30px}
.wow-eco strong{font-size:clamp(1.45rem,2.25vw,2.35rem)}

.wow-engage-grid{grid-template-columns:.72fr 1.28fr;gap:72px}
.wow-engage-list a{grid-template-columns:44px 1fr auto;gap:18px;padding:21px 0}
.wow-engage-list strong{font-size:.95rem}
.wow-engage-list em{font-size:.73rem}

/* Rebuild the hero command visual as a stable grid instead of absolute-positioned cards */
.wow-command{
  min-height:0;
  padding:30px;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-areas:
    "one two"
    "mark mark"
    "three four"
    "five five";
  gap:14px;
  align-items:stretch;
}
.wow-command:after{z-index:0;pointer-events:none}
.wow-command-mark{
  position:relative;
  left:auto;top:auto;transform:none;
  grid-area:mark;
  justify-self:center;
  width:148px;height:148px;
  margin:10px 0;
  z-index:2;
}
.wow-command-mark span{font-size:3.7rem}
.wow-stack{
  position:relative;
  top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  z-index:2;
  min-width:0;
  width:auto;
  padding:14px 15px;
}
.wow-stack-1{grid-area:one}
.wow-stack-2{grid-area:two}
.wow-stack-3{grid-area:three}
.wow-stack-4{grid-area:four}
.wow-stack-5{grid-area:five;justify-self:center;width:calc(50% - 7px)}
.wow-stack strong{font-size:.79rem}
.wow-stack span{font-size:.65rem;line-height:1.45}

/* Correct footer brand treatment: transparent stacked logo directly on black */
.footer-brand img{
  width:195px!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.footer-brand p{margin-top:18px;font-size:.84rem;line-height:1.65;max-width:360px}

@media(max-width:1050px){
  .wow-engage-grid{grid-template-columns:1fr;gap:42px}
  .wow-engage h2{max-width:720px}
}
@media(max-width:760px){
  body{font-size:15px}
  .wow-hero{padding:68px 0 58px}
  .wow-hero h1{font-size:clamp(2.75rem,12vw,4.4rem)}
  .wow-intro,.wow-capabilities,.wow-digital,.wow-business,.wow-ecosystem,.wow-engage{padding:68px 0}
  .wow-feature-pair{padding-bottom:68px}
  .wow-command{
    grid-template-columns:1fr;
    grid-template-areas:"one" "two" "mark" "three" "four" "five";
    padding:20px;
  }
  .wow-stack-5{width:auto;justify-self:stretch}
  .wow-command-mark{width:132px;height:132px;margin:8px 0}
  .wow-command-mark span{font-size:3.25rem}
  .wow-feature{min-height:300px;padding:28px}
  .wow-engage-list a{grid-template-columns:36px 1fr}
  .wow-engage-list em{grid-column:2}
}