:root {
  --obsidian: #0b0a0c;
  --soft-black: #151217;
  --deep-plum: #25131f;
  --clean-white: #f7f5f6;
  --pale-grey: #e7e4e6;
  --luminous-pink: #f04f98;
  --deep-raspberry: #b82868;
  --copper: #c7784f;
  --bronze: #8f5a3c;
  --rose-gold: #d79a86;
  --ink: #1d171c;
  --muted: #6f666c;
  --line: rgba(255, 255, 255, 0.14);
  --line-dark: rgba(20, 15, 19, 0.15);
  --max: 1240px;
  --reading: 760px;
  --radius-sm: 10px;
  --radius: 18px;
  --radius-lg: 34px;
  --shadow: 0 30px 80px rgba(8, 5, 9, 0.16);
  --shadow-dark: 0 28px 90px rgba(0, 0, 0, 0.38);
  --ease: cubic-bezier(.2,.8,.2,1);
  --serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans: 'Inter', Arial, sans-serif;
  --diagram: 'Manrope', 'Inter', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--sans);
  color: var(--ink);
  background: var(--clean-white);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
img, svg, video { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
::selection { background: rgba(240,79,152,.28); color: var(--ink); }

.skip-link {
  position: fixed;
  left: 1rem;
  top: -10rem;
  z-index: 9999;
  padding: .75rem 1rem;
  color: var(--obsidian);
  background: var(--clean-white);
  border-radius: 8px;
  box-shadow: var(--shadow);
}
.skip-link:focus { top: 1rem; }

.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.container-narrow { width: min(calc(100% - 40px), var(--reading)); margin-inline: auto; }
.section { position: relative; padding: clamp(76px, 9vw, 144px) 0; overflow: clip; }
.section-compact { padding: clamp(54px, 6vw, 92px) 0; }
.section-dark { color: var(--clean-white); background: var(--soft-black); }
.section-obsidian { color: var(--clean-white); background: var(--obsidian); }
.section-plum { color: var(--clean-white); background: linear-gradient(145deg, var(--deep-plum), var(--obsidian)); }
.section-light { color: var(--ink); background: var(--clean-white); }
.section-grey { color: var(--ink); background: var(--pale-grey); }
.section-ink { color: var(--clean-white); background: #100d11; }

.section::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .32;
  background-image:
    radial-gradient(circle at 18% 22%, rgba(240,79,152,.08), transparent 28%),
    radial-gradient(circle at 83% 72%, rgba(199,120,79,.08), transparent 30%);
}
.section-light::before, .section-grey::before { opacity: .14; }
.section > .container, .section > .container-narrow { position: relative; z-index: 1; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin: 0 0 1.2rem;
  font-family: var(--diagram);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--deep-raspberry);
}
.section-dark .eyebrow, .section-obsidian .eyebrow, .section-plum .eyebrow, .section-ink .eyebrow { color: #ff89bd; }
.eyebrow::before { content: ''; width: 38px; height: 1px; background: linear-gradient(90deg, var(--luminous-pink), var(--copper)); box-shadow: 0 0 14px rgba(240,79,152,.6); }

h1, h2, h3, h4 { margin: 0 0 .65em; line-height: 1.03; text-wrap: balance; }
h1, h2, .display { font-family: var(--serif); font-weight: 600; letter-spacing: -.025em; }
h1 { font-size: clamp(2.7rem, 5.7vw, 6rem); }
h2 { font-size: clamp(2rem, 4.1vw, 4.1rem); }
h3 { font-size: clamp(1.45rem, 2.2vw, 2rem); }
h4 { font-size: 1.05rem; font-weight: 700; }
p { margin: 0 0 1.15rem; }
.lede { max-width: 830px; font-size: clamp(1.1rem, 1.65vw, 1.42rem); line-height: 1.62; color: inherit; }
.section-dark .lede, .section-obsidian .lede, .section-plum .lede, .section-ink .lede { color: rgba(247,245,246,.82); }
.copy { max-width: var(--reading); }
.copy p { font-size: 1.05rem; }
.muted { color: var(--muted); }
.section-dark .muted, .section-obsidian .muted, .section-plum .muted, .section-ink .muted { color: rgba(247,245,246,.62); }
.balance { text-wrap: balance; }
.copper { color: var(--copper); }
.pink { color: var(--luminous-pink); }
.gradient-text {
  color: transparent;
  background: linear-gradient(110deg, #fff 5%, #ffd3e6 42%, #d79a86 78%, #fff 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

.btn-row { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2rem; }
.btn {
  --btn-bg: transparent;
  --btn-color: var(--ink);
  --btn-border: var(--line-dark);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  min-height: 50px;
  padding: .84rem 1.2rem;
  color: var(--btn-color);
  background: var(--btn-bg);
  border: 1px solid var(--btn-border);
  border-radius: 999px;
  font-size: .92rem;
  font-weight: 650;
  text-decoration: none;
  transition: transform .25s var(--ease), color .25s, background .25s, border-color .25s, box-shadow .25s;
}
.btn::after { content: '↗'; font-size: 1rem; transition: transform .25s var(--ease); }
.btn:hover, .btn:focus-visible { transform: translateY(-2px); }
.btn:hover::after, .btn:focus-visible::after { transform: translate(2px,-2px); }
.btn-primary {
  --btn-color: #fff;
  --btn-bg: linear-gradient(110deg, var(--deep-raspberry), var(--luminous-pink));
  --btn-border: rgba(255,255,255,.12);
  box-shadow: 0 10px 34px rgba(240,79,152,.22), inset 0 1px 0 rgba(255,255,255,.25);
}
.btn-primary:hover { box-shadow: 0 14px 44px rgba(240,79,152,.35), 0 0 0 1px rgba(240,79,152,.22); }
.btn-copper {
  --btn-color: #fff;
  --btn-bg: linear-gradient(110deg, var(--bronze), var(--copper));
  --btn-border: rgba(255,255,255,.12);
  box-shadow: 0 10px 34px rgba(199,120,79,.22), inset 0 1px 0 rgba(255,255,255,.18);
}
.btn-ghost { --btn-color: var(--ink); --btn-border: rgba(21,18,23,.22); }
.section-dark .btn-ghost, .section-obsidian .btn-ghost, .section-plum .btn-ghost, .section-ink .btn-ghost { --btn-color: #fff; --btn-border: rgba(255,255,255,.25); }
.btn-link {
  min-height: auto;
  padding: .2rem 0;
  border: 0;
  border-radius: 0;
  font-weight: 700;
  text-decoration: none;
  color: var(--deep-raspberry);
}
.btn-link::after { content: '→'; }
.section-dark .btn-link, .section-obsidian .btn-link, .section-plum .btn-link, .section-ink .btn-link { color: #ff8aba; }

.site-header {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  right: 0;
  height: 82px;
  color: var(--clean-white);
  background: linear-gradient(to bottom, rgba(11,10,12,.90), rgba(11,10,12,.60));
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(20px) saturate(130%);
  transition: height .25s, background .25s, box-shadow .25s;
}
.site-header.scrolled { height: 70px; background: rgba(11,10,12,.93); box-shadow: 0 12px 45px rgba(0,0,0,.2); }
.nav-wrap { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; }
.brand {
  display: inline-flex;
  align-items: center;
  gap: .85rem;
  min-width: max-content;
  color: #fff;
  text-decoration: none;
}
.brand-mark {
  width: 42px;
  height: 42px;
  object-fit: contain;
  mix-blend-mode: screen;
  filter: contrast(1.04) drop-shadow(0 0 14px rgba(215,154,134,.16));
}
.brand-name { display: grid; line-height: 1; }
.brand-name strong { font-family: var(--serif); font-size: 1.1rem; letter-spacing: .045em; font-weight: 600; }
.brand-name span { margin-top: .35rem; font-family: var(--diagram); font-size: .56rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.52); }
.desktop-nav { display: flex; align-items: center; gap: .38rem; }
.nav-link, .nav-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .72rem .74rem;
  border: 0;
  color: rgba(255,255,255,.78);
  background: transparent;
  border-radius: 10px;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.nav-link:hover, .nav-link:focus-visible, .nav-trigger:hover, .nav-trigger:focus-visible, .nav-link.active { color: #fff; background: rgba(255,255,255,.06); }
.nav-link.active::after { content:''; position:absolute; left:.75rem; right:.75rem; bottom:.35rem; height:1px; background:linear-gradient(90deg,var(--luminous-pink),var(--copper)); box-shadow:0 0 8px var(--luminous-pink); }
.nav-cta { margin-left: .4rem; }
.nav-cta.btn { min-height: 42px; padding: .65rem .9rem; font-size: .8rem; }
.nav-cta.btn::after { display:none; }
.nav-item { position: relative; }
.nav-trigger::after { content: '⌄'; font-size: .9rem; transition: transform .2s; }
.nav-item:hover .nav-trigger::after, .nav-item:focus-within .nav-trigger::after, .nav-item.nav-open .nav-trigger::after { transform: rotate(180deg); }
.mega-menu {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  width: min(820px, 76vw);
  padding: 1rem;
  color: var(--ink);
  background: rgba(247,245,246,.98);
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 18px;
  box-shadow: var(--shadow-dark);
  opacity: 0;
  visibility: hidden;
  transform: translate(-38%, 12px);
  transition: opacity .2s, transform .25s var(--ease), visibility .2s;
}
.nav-item:hover .mega-menu, .nav-item:focus-within .mega-menu, .nav-item.nav-open .mega-menu { opacity: 1; visibility: visible; transform: translate(-38%, 0); }
.mega-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .35rem; }
.mega-link { display:grid; gap:.22rem; padding:.85rem .9rem; border-radius:12px; text-decoration:none; transition:background .2s, transform .2s; }
.mega-link:hover, .mega-link:focus-visible { background:#fff; transform:translateY(-1px); box-shadow:0 8px 24px rgba(21,18,23,.08); }
.mega-link strong { font-family:var(--serif); font-size:1.15rem; color:var(--deep-plum); }
.mega-link span { font-size:.78rem; line-height:1.45; color:var(--muted); }
.mobile-toggle { display:none; width:44px; height:44px; padding:0; border:1px solid rgba(255,255,255,.16); border-radius:50%; background:rgba(255,255,255,.04); color:#fff; cursor:pointer; }
.mobile-toggle span, .mobile-toggle::before, .mobile-toggle::after { content:''; display:block; width:18px; height:1px; margin:5px auto; background:#fff; transition:.3s; }
.mobile-toggle[aria-expanded="true"] span { opacity:0; }
.mobile-toggle[aria-expanded="true"]::before { transform:translateY(6px) rotate(45deg); }
.mobile-toggle[aria-expanded="true"]::after { transform:translateY(-6px) rotate(-45deg); }
.mobile-panel { display:none; }

.hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  align-items: center;
  padding: 146px 0 92px;
  color: var(--clean-white);
  background:
    radial-gradient(circle at 20% 24%, rgba(240,79,152,.13), transparent 27%),
    radial-gradient(circle at 78% 62%, rgba(199,120,79,.13), transparent 26%),
    linear-gradient(145deg, #0b090c 15%, #160d15 56%, #0a090b);
  overflow: hidden;
}
.hero::before {
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.7), transparent 88%);
}
.hero-canvas { position:absolute; inset:0; width:100%; height:100%; opacity:.78; }
.hero-glow { position:absolute; width:480px; height:480px; border-radius:50%; filter:blur(70px); opacity:.12; pointer-events:none; }
.hero-glow.pink { left:-150px; top:20%; background:var(--luminous-pink); }
.hero-glow.copper { right:-160px; bottom:2%; background:var(--copper); }
.hero-inner { position:relative; z-index:2; display:grid; gap:2rem; }
.hero-copy { max-width: 1100px; }
.hero h1 { max-width: 1040px; font-size: clamp(2.65rem, 5.4vw, 5.45rem); }
.hero .lede { max-width: 860px; }
.hero-positioning {
  display:inline-flex;
  max-width:760px;
  margin-top:1rem;
  padding:.95rem 1.1rem;
  border-left:2px solid var(--luminous-pink);
  background:linear-gradient(90deg,rgba(240,79,152,.08),transparent);
  font-family:var(--serif);
  font-size:clamp(1.2rem,2vw,1.75rem);
  line-height:1.25;
  color:rgba(255,255,255,.9);
}
.hero-meta { display:flex; flex-wrap:wrap; gap:.65rem 1.3rem; margin-top:1.2rem; color:rgba(255,255,255,.55); font-family:var(--diagram); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.hero-scroll { position:absolute; left:50%; bottom:20px; z-index:2; transform:translateX(-50%); color:rgba(255,255,255,.46); font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; text-decoration:none; }
.hero-scroll::after { content:''; display:block; width:1px; height:34px; margin:8px auto 0; background:linear-gradient(var(--luminous-pink),transparent); animation:scrollLine 1.8s ease-in-out infinite; }
@keyframes scrollLine { 0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.4}50%{transform:scaleY(1);opacity:1} }

.page-hero { position:relative; padding: 170px 0 105px; color:#fff; background:linear-gradient(150deg,#0b0a0c,#25131f 70%,#121014); overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:-20%; background:conic-gradient(from 185deg at 50% 50%,transparent,rgba(240,79,152,.06),transparent,rgba(199,120,79,.08),transparent); animation:slowSpin 30s linear infinite; }
.page-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px); background-size:50px 50px; mask-image:linear-gradient(#000,transparent); }
.page-hero .container { position:relative; z-index:2; }
.page-hero h1 { max-width:980px; font-size:clamp(2.45rem,4.9vw,4.95rem); }
.page-hero .lede { max-width:880px; }
@keyframes slowSpin { to { transform:rotate(360deg); } }

.grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(2rem,5vw,6rem); align-items:start; }
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; }
.grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.split-center { align-items:center; }
.content-stack > * + * { margin-top:1rem; }

.quote-block { position:relative; max-width:1000px; padding:clamp(1.7rem,3.5vw,3rem); border:1px solid rgba(255,255,255,.13); border-radius:var(--radius-lg); background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.015)); box-shadow:var(--shadow-dark); backdrop-filter:blur(12px); }
.quote-block::before { content:'“'; position:absolute; top:-28px; left:22px; font-family:var(--serif); font-size:7rem; color:rgba(240,79,152,.22); line-height:1; }
.quote-block p { position:relative; margin:0; font-family:var(--serif); font-size:clamp(1.55rem,3.1vw,3rem); line-height:1.15; }

.luminous-frame { position:relative; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-lg); background:rgba(255,255,255,.035); box-shadow:var(--shadow-dark); overflow:hidden; }
.luminous-frame::before { content:''; position:absolute; inset:-1px; padding:1px; border-radius:inherit; background:linear-gradient(135deg,rgba(240,79,152,.7),transparent 30%,transparent 66%,rgba(199,120,79,.7)); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:.7; }

.portrait-card { min-height:550px; display:grid; align-items:end; background:linear-gradient(145deg,rgba(240,79,152,.07),rgba(199,120,79,.07)),#141116; }
.portrait-card img { width:100%; height:100%; object-fit:cover; opacity:.9; }
.portrait-caption { position:absolute; left:1.25rem; right:1.25rem; bottom:1.25rem; padding:1rem; border:1px solid rgba(255,255,255,.13); border-radius:14px; background:rgba(11,10,12,.66); backdrop-filter:blur(12px); }
.portrait-caption strong { display:block; font-family:var(--serif); font-size:1.4rem; }
.portrait-caption span { font-size:.78rem; color:rgba(255,255,255,.62); }

.editorial-photo { min-height: 560px; display:block; background:linear-gradient(145deg,rgba(240,79,152,.06),rgba(199,120,79,.06)),#141116; }
.editorial-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.editorial-photo.compact { min-height: 500px; }

.triad { position:relative; min-height:480px; display:grid; place-items:center; }
.triad::before, .triad::after { content:''; position:absolute; width:min(350px,65%); aspect-ratio:1; border-radius:50%; border:1px solid rgba(240,79,152,.36); box-shadow:0 0 50px rgba(240,79,152,.12),inset 0 0 45px rgba(240,79,152,.06); transform:translateX(-22%); }
.triad::after { border-color:rgba(199,120,79,.4); box-shadow:0 0 50px rgba(199,120,79,.12),inset 0 0 45px rgba(199,120,79,.06); transform:translateX(22%); }
.triad-center { position:relative; z-index:2; width:190px; aspect-ratio:1; display:grid; place-items:center; text-align:center; padding:1rem; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,.025)); border:1px solid rgba(255,255,255,.24); box-shadow:0 0 36px rgba(215,154,134,.15); }
.triad-center strong { font-family:var(--serif); font-size:1.5rem; line-height:1.05; }
.triad-label { position:absolute; z-index:3; padding:.65rem .9rem; border:1px solid rgba(255,255,255,.15); border-radius:999px; background:rgba(11,10,12,.72); font-family:var(--diagram); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.triad-label.business { left:2%; top:18%; color:#ff88ba; }
.triad-label.human { right:3%; top:18%; color:#e4a889; }
.triad-label.technology { left:50%; bottom:8%; transform:translateX(-50%); color:#fff; }

.feature-card, .service-card, .audience-card, .article-card, .case-card, .proof-card {
  position:relative;
  height:100%;
  padding:clamp(1.35rem,2.3vw,2rem);
  border:1px solid var(--line-dark);
  border-radius:var(--radius);
  background:rgba(255,255,255,.55);
  box-shadow:0 10px 34px rgba(21,18,23,.06);
  overflow:hidden;
  transition:transform .3s var(--ease),border-color .3s,box-shadow .3s,background .3s;
}
.section-dark .feature-card, .section-dark .service-card, .section-dark .audience-card, .section-dark .article-card, .section-dark .case-card, .section-dark .proof-card,
.section-obsidian .feature-card, .section-obsidian .service-card, .section-obsidian .audience-card, .section-obsidian .article-card, .section-obsidian .case-card, .section-obsidian .proof-card,
.section-plum .feature-card, .section-plum .service-card, .section-plum .audience-card, .section-plum .article-card, .section-plum .case-card, .section-plum .proof-card,
.section-ink .feature-card, .section-ink .service-card, .section-ink .audience-card, .section-ink .article-card, .section-ink .case-card, .section-ink .proof-card {
  border-color:rgba(255,255,255,.12);
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  box-shadow:0 16px 54px rgba(0,0,0,.18);
}
.feature-card:hover, .service-card:hover, .audience-card:hover, .article-card:hover, .case-card:hover, .proof-card:hover { transform:translateY(-5px); border-color:rgba(240,79,152,.38); box-shadow:0 22px 60px rgba(21,18,23,.12),0 0 30px rgba(240,79,152,.08); }
.section-dark .feature-card:hover, .section-dark .service-card:hover, .section-dark .audience-card:hover, .section-dark .article-card:hover, .section-dark .case-card:hover,
.section-obsidian .feature-card:hover, .section-obsidian .service-card:hover, .section-obsidian .audience-card:hover, .section-obsidian .article-card:hover, .section-obsidian .case-card:hover { background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.02)); }
.card-number { display:inline-grid; place-items:center; width:42px; height:42px; margin-bottom:1.4rem; border-radius:50%; border:1px solid rgba(240,79,152,.35); color:var(--deep-raspberry); background:rgba(240,79,152,.08); font-family:var(--diagram); font-size:.75rem; font-weight:700; box-shadow:0 0 24px rgba(240,79,152,.08); }
.section-dark .card-number, .section-obsidian .card-number, .section-plum .card-number, .section-ink .card-number { color:#ff83b7; }
.card-kicker { margin-bottom:.8rem; font-family:var(--diagram); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--copper); }
.card-copy { color:var(--muted); }
.section-dark .card-copy, .section-obsidian .card-copy, .section-plum .card-copy, .section-ink .card-copy { color:rgba(255,255,255,.66); }
.card-arrow { position:absolute; top:1.4rem; right:1.4rem; font-size:1.2rem; color:var(--copper); transition:transform .25s; }
.service-card:hover .card-arrow, .article-card:hover .card-arrow, .case-card:hover .card-arrow { transform:translate(3px,-3px); }
.service-card { text-decoration:none; }
.service-card h3 { padding-right:2rem; font-family:var(--serif); }

.recognition-list { display:grid; gap:.75rem; margin:2rem 0 0; padding:0; list-style:none; counter-reset:recognition; }
.recognition-list li { position:relative; padding:1rem 1rem 1rem 3.3rem; border:1px solid var(--line-dark); border-radius:13px; background:rgba(255,255,255,.55); }
.recognition-list li::before { counter-increment:recognition; content:counter(recognition,decimal-leading-zero); position:absolute; left:1rem; top:1.05rem; font-family:var(--diagram); font-size:.68rem; font-weight:700; letter-spacing:.08em; color:var(--deep-raspberry); }
.section-dark .recognition-list li, .section-obsidian .recognition-list li, .section-plum .recognition-list li, .section-ink .recognition-list li { border-color:rgba(255,255,255,.1); background:rgba(255,255,255,.03); }
.section-dark .recognition-list li::before, .section-obsidian .recognition-list li::before, .section-plum .recognition-list li::before, .section-ink .recognition-list li::before { color:#ff7fb5; }

.method { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:3rem; }
.method::before { content:''; position:absolute; top:37px; left:9%; right:9%; height:1px; background:linear-gradient(90deg,var(--luminous-pink),var(--rose-gold),var(--copper)); box-shadow:0 0 18px rgba(240,79,152,.4); }
.method-step { position:relative; z-index:1; padding-top:.25rem; text-align:center; }
.method-node { width:74px; height:74px; display:grid; place-items:center; margin:0 auto 1.2rem; border-radius:50%; color:#fff; background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.2),rgba(255,255,255,.035)); border:1px solid rgba(255,255,255,.25); box-shadow:0 0 30px rgba(240,79,152,.16),inset 0 0 20px rgba(255,255,255,.05); }
.method-node svg { width:30px; height:30px; }
.method-step:nth-child(even) .method-node { box-shadow:0 0 30px rgba(199,120,79,.18),inset 0 0 20px rgba(255,255,255,.05); }
.method-step h3 { font-size:1.45rem; }
.method-step p { font-size:.9rem; color:rgba(255,255,255,.66); }

.case-card { display:grid; grid-template-rows:210px auto; padding:0; text-decoration:none; }
.case-visual { position:relative; overflow:hidden; background:#0d0b0e; }
.case-visual img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.case-card:hover .case-visual img { transform:scale(1.03); }
.case-body { padding:1.5rem; }
.case-body h3 { margin-bottom:.55rem; }
.case-tag { position:absolute; top:1rem; left:1rem; z-index:2; padding:.45rem .7rem; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:#fff; background:rgba(11,10,12,.66); backdrop-filter:blur(9px); font-family:var(--diagram); font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }

.authority-strip { display:grid; grid-template-columns:1.25fr repeat(4,minmax(0,.65fr)); gap:1px; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius); overflow:hidden; background:rgba(255,255,255,.1); }
.authority-item { padding:1.3rem; background:#141116; }
.authority-item strong { display:block; font-family:var(--serif); font-size:1.5rem; line-height:1.05; }
.authority-item span { display:block; margin-top:.5rem; color:rgba(255,255,255,.56); font-size:.72rem; line-height:1.35; }
.authority-item:first-child strong { font-size:2rem; }

.dual-route { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.route-card { position:relative; min-height:360px; display:flex; flex-direction:column; justify-content:flex-end; padding:2rem; color:#fff; border-radius:var(--radius-lg); overflow:hidden; text-decoration:none; box-shadow:var(--shadow-dark); }
.route-card::before { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(11,10,12,.94),rgba(11,10,12,.15)); }
.route-card::after { content:''; position:absolute; width:280px; height:280px; border-radius:50%; right:-90px; top:-90px; filter:blur(12px); opacity:.35; }
.route-card.training { background:linear-gradient(135deg,#2b1022,#120d12); }
.route-card.training::after { background:var(--luminous-pink); }
.route-card.speaking { background:linear-gradient(135deg,#23160f,#120d12); }
.route-card.speaking::after { background:var(--copper); }
.route-card > * { position:relative; z-index:1; }
.route-card h3 { font-family:var(--serif); font-size:clamp(2rem,3.3vw,3.5rem); }
.route-card p { max-width:520px; color:rgba(255,255,255,.72); }
.route-card .btn-link { margin-top:.8rem; color:#fff; }

.timeline { position:relative; display:grid; gap:1rem; margin-top:2rem; }
.timeline::before { content:''; position:absolute; left:18px; top:18px; bottom:18px; width:1px; background:linear-gradient(var(--luminous-pink),var(--copper)); }
.timeline-item { position:relative; display:grid; grid-template-columns:38px 1fr; gap:1rem; }
.timeline-dot { position:relative; z-index:1; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--soft-black); border:1px solid rgba(240,79,152,.6); box-shadow:0 0 20px rgba(240,79,152,.16); font-family:var(--diagram); font-size:.65rem; }
.timeline-copy { padding:0 0 1.3rem; }
.timeline-copy h3 { margin-top:.3rem; }

.tag-list { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.3rem; }
.tag { display:inline-flex; align-items:center; padding:.5rem .75rem; border:1px solid var(--line-dark); border-radius:999px; font-size:.74rem; font-weight:600; background:rgba(255,255,255,.42); }
.section-dark .tag, .section-obsidian .tag, .section-plum .tag, .section-ink .tag { border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.03); }

.fit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.fit-card { padding:1.8rem; border-radius:var(--radius); }
.fit-card.good { background:linear-gradient(145deg,rgba(240,79,152,.11),rgba(240,79,152,.02)); border:1px solid rgba(240,79,152,.25); }
.fit-card.not { background:linear-gradient(145deg,rgba(199,120,79,.1),rgba(199,120,79,.02)); border:1px solid rgba(199,120,79,.23); }
.fit-card ul { margin:1rem 0 0; padding-left:1.2rem; }
.fit-card li { margin:.45rem 0; }

.cta-panel { position:relative; padding:clamp(2rem,5vw,4.5rem); color:#fff; border-radius:var(--radius-lg); background:linear-gradient(135deg,#20101b,#0f0c10 60%,#22160f); overflow:hidden; box-shadow:var(--shadow-dark); }
.cta-panel::before { content:''; position:absolute; width:420px; height:420px; left:-180px; bottom:-200px; border-radius:50%; background:var(--luminous-pink); filter:blur(90px); opacity:.18; }
.cta-panel::after { content:''; position:absolute; width:420px; height:420px; right:-180px; top:-200px; border-radius:50%; background:var(--copper); filter:blur(90px); opacity:.18; }
.cta-panel > * { position:relative; z-index:1; }
.cta-panel h2 { max-width:900px; }

.article-meta { display:flex; flex-wrap:wrap; gap:.8rem 1.4rem; margin:1rem 0 2.2rem; color:rgba(255,255,255,.56); font-family:var(--diagram); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.article-body { font-size:1.08rem; }
.article-body h2 { margin-top:2.2rem; font-size:clamp(2rem,4vw,3.5rem); }
.article-body h3 { margin-top:1.8rem; }
.article-body blockquote { margin:2rem 0; padding:1.4rem 1.6rem; border-left:3px solid var(--luminous-pink); background:rgba(240,79,152,.06); font-family:var(--serif); font-size:1.45rem; line-height:1.25; }
.article-body ul { padding-left:1.25rem; }
.article-body li { margin:.55rem 0; }

.form-card { padding:clamp(1.4rem,4vw,3rem); border:1px solid var(--line-dark); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; }
.field { display:grid; gap:.45rem; }
.field.full { grid-column:1 / -1; }
label { font-size:.82rem; font-weight:700; color:var(--ink); }
.field small { color:var(--muted); font-size:.72rem; line-height:1.45; }
input, textarea, select {
  width:100%;
  min-height:52px;
  padding:.8rem .9rem;
  color:var(--ink);
  background:#fbfafb;
  border:1px solid rgba(21,18,23,.18);
  border-radius:10px;
  outline:0;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
textarea { min-height:145px; resize:vertical; }
input:focus, textarea:focus, select:focus { border-color:var(--deep-raspberry); background:#fff; box-shadow:0 0 0 4px rgba(240,79,152,.1); }
.checkbox { display:flex; align-items:flex-start; gap:.7rem; }
.checkbox input { width:18px; min-height:18px; margin-top:.2rem; }
.form-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-top:1.4rem; }
.form-note { color:var(--muted); font-size:.75rem; }
.form-status { display:none; margin-top:1rem; padding:1rem; border-radius:10px; background:rgba(240,79,152,.08); border:1px solid rgba(240,79,152,.18); }
.form-status.show { display:block; }

.legal-body h2 { margin-top:2rem; font-size:2.1rem; }
.legal-body h3 { margin-top:1.5rem; }

.site-footer { position:relative; padding:82px 0 28px; color:#fff; background:#0b090c; overflow:hidden; }
.site-footer::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 10% 10%,rgba(240,79,152,.09),transparent 28%),radial-gradient(circle at 90% 80%,rgba(199,120,79,.09),transparent 30%); }
.footer-grid { position:relative; display:grid; grid-template-columns:1.25fr 1fr 1fr 1fr; gap:2.4rem; }
.footer-brand p { max-width:360px; color:rgba(255,255,255,.62); }
.footer-title { margin:0 0 1rem; font-family:var(--diagram); font-size:.68rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#ff8cbd; }
.footer-links { display:grid; gap:.55rem; }
.footer-links a { color:rgba(255,255,255,.67); text-decoration:none; font-size:.83rem; }
.footer-links a:hover { color:#fff; }
.footer-bottom { position:relative; display:flex; justify-content:space-between; gap:1rem; margin-top:3rem; padding-top:1.3rem; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.42); font-size:.72rem; }
.footer-bottom a { text-decoration:none; }

.cookie-banner { position:fixed; z-index:1200; left:20px; right:20px; bottom:20px; max-width:900px; margin-inline:auto; padding:1rem; color:#fff; background:rgba(21,18,23,.96); border:1px solid rgba(255,255,255,.15); border-radius:16px; box-shadow:var(--shadow-dark); backdrop-filter:blur(16px); display:none; }
.cookie-banner.show { display:grid; grid-template-columns:1fr auto; align-items:center; gap:1rem; }
.cookie-banner p { margin:0; font-size:.8rem; color:rgba(255,255,255,.7); }
.cookie-actions { display:flex; gap:.5rem; }
.cookie-actions button { min-height:38px; padding:.55rem .8rem; border-radius:999px; border:1px solid rgba(255,255,255,.2); color:#fff; background:transparent; cursor:pointer; }
.cookie-actions .accept { border-color:transparent; background:var(--deep-raspberry); }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
.reveal.in-view { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.08s; }
.reveal-delay-2 { transition-delay:.16s; }
.reveal-delay-3 { transition-delay:.24s; }

.anchor-offset { scroll-margin-top:92px; }
.divider { width:100%; height:1px; background:linear-gradient(90deg,transparent,var(--luminous-pink),var(--copper),transparent); opacity:.35; }
.back-to-top { position:fixed; right:20px; bottom:20px; z-index:800; width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.15); border-radius:50%; color:#fff; background:rgba(11,10,12,.86); box-shadow:0 8px 30px rgba(0,0,0,.22); text-decoration:none; opacity:0; visibility:hidden; transform:translateY(10px); transition:.25s; }
.back-to-top.show { opacity:1; visibility:visible; transform:none; }

@media (max-width: 1080px) {
  .desktop-nav { display:none; }
  .mobile-toggle { display:block; }
  .mobile-panel { position:fixed; z-index:999; inset:70px 0 0; display:block; padding:1rem 20px 2rem; color:#fff; background:rgba(11,10,12,.985); overflow:auto; opacity:0; visibility:hidden; transform:translateY(-10px); transition:.25s; }
  .mobile-panel.open { opacity:1; visibility:visible; transform:none; }
  .mobile-panel-inner { display:grid; gap:.35rem; width:min(100%,720px); margin:1rem auto; }
  .mobile-panel a { display:block; padding:.85rem 1rem; border-bottom:1px solid rgba(255,255,255,.09); color:rgba(255,255,255,.85); text-decoration:none; font-family:var(--serif); font-size:1.55rem; line-height:1.1; }
  .mobile-panel .mobile-service { padding-left:1.8rem; font-family:var(--sans); font-size:.9rem; color:rgba(255,255,255,.63); }
  .mobile-panel .mobile-label { margin:1.2rem 1rem .2rem; font-family:var(--diagram); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:#ff8abb; }
  .mobile-panel .btn { margin-top:1rem; display:inline-flex; width:max-content; font-family:var(--sans); font-size:.86rem; border-bottom:0; }
  .authority-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .authority-item:first-child { grid-column:1 / -1; }
  .grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .container, .container-narrow { width:min(calc(100% - 30px),var(--max)); }
  .section { padding:72px 0; }
  h1 { font-size:clamp(2.45rem,11vw,4rem); }
  h2 { font-size:clamp(1.95rem,9vw,3.2rem); }
  .hero { min-height:auto; padding:130px 0 80px; }
  .hero h1 { font-size:clamp(2.35rem,10.8vw,4.2rem); }
  .hero-scroll { display:none; }
  .page-hero { padding:140px 0 82px; }
  .page-hero h1 { font-size:clamp(2.3rem,10.5vw,4rem); }
  .grid-2, .grid-3, .dual-route, .fit-grid { grid-template-columns:1fr; }
  .grid-2 { gap:2.5rem; }
  .method { grid-template-columns:1fr 1fr; }
  .method::before { display:none; }
  .triad { min-height:390px; }
  .portrait-card { min-height:460px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .cookie-banner.show { grid-template-columns:1fr; }
}

@media (max-width: 560px) {
  .site-header { height:70px; }
  .brand-mark { width:38px; height:38px; }
  .brand-name strong { font-size:.96rem; }
  .brand-name span { display:none; }
  .hero { padding-top:116px; }
  .hero-positioning { font-size:1.12rem; }
  .btn-row { display:grid; }
  .btn { width:100%; }
  .grid-4 { grid-template-columns:1fr; }
  .method { grid-template-columns:1fr; text-align:left; }
  .method-step { display:grid; grid-template-columns:62px 1fr; gap:1rem; text-align:left; align-items:start; }
  .method-node { width:58px; height:58px; margin:0; }
  .method-step h3 { margin-top:.1rem; }
  .method-step p { grid-column:2; margin-top:-.5rem; }
  .authority-strip { grid-template-columns:1fr; }
  .authority-item:first-child { grid-column:auto; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { display:grid; }
  .triad { min-height:330px; }
  .triad::before, .triad::after { width:240px; }
  .triad-center { width:135px; }
  .triad-label { font-size:.6rem; }
  .route-card { min-height:320px; }
  .cookie-actions { flex-wrap:wrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
  .hero-canvas { display:none; }
}

@media print {
  .site-header, .site-footer, .cookie-banner, .back-to-top, .btn-row { display:none !important; }
  body { background:#fff; color:#000; }
  .hero, .page-hero, .section-dark, .section-obsidian, .section-plum, .section-ink { color:#000; background:#fff; }
  .section { padding:30px 0; }
}

/* =========================================================
   V5 ONE-PAGE RETROFIT
   ========================================================= */
.hero-v5 .hero-copy { max-width: 1040px; }
.hero-v5 h1 { max-width: 980px; font-size: clamp(2.55rem, 5vw, 5.1rem); }
.hero-v5 .lede { max-width: 790px; }
.hero-v5 .hero-kicker { margin-top: 1.1rem; color: rgba(255,255,255,.72); font-size: clamp(1.02rem,1.4vw,1.2rem); }
.hero-v5 .hero-meta { margin-top: 1.6rem; }

.anchor-section { scroll-margin-top: 78px; }
.section-intro { max-width: 880px; margin-bottom: clamp(2rem,4vw,4rem); }
.section-intro.center { margin-inline: auto; text-align: center; }
.section-intro.center .eyebrow { justify-content: center; }
.section-intro.center .eyebrow::before { display: none; }
.section-intro p:last-child { margin-bottom: 0; }

.pain-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(2rem,5vw,6rem); align-items:start; }
.pain-list { display:grid; gap:.85rem; margin:0; padding:0; list-style:none; }
.pain-list li { position:relative; padding:1.25rem 1.3rem 1.25rem 3.25rem; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(255,255,255,.035); color:rgba(255,255,255,.84); }
.pain-list li::before { content:'↳'; position:absolute; left:1.2rem; top:1.18rem; color:#ff84b7; font-weight:700; }
.diagnosis-block { margin-top:2rem; padding:clamp(1.5rem,3vw,2.4rem); border-left:2px solid var(--luminous-pink); background:linear-gradient(90deg,rgba(240,79,152,.08),transparent); }
.diagnosis-block p { max-width:900px; }
.diagnosis-block .mic-drop { margin:1.5rem 0 0; font-family:var(--serif); font-size:clamp(1.8rem,3vw,3.2rem); line-height:1.05; color:#fff; }

.perspective-photo { min-height:640px; }
.perspective-list { display:grid; gap:.75rem; margin:1.5rem 0; padding:0; list-style:none; }
.perspective-list li { padding:1rem 1.1rem; border-left:2px solid var(--copper); background:rgba(199,120,79,.07); }

.duality-bridge { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(2rem,5vw,6rem); align-items:center; }
.duality-diagram { position:relative; min-height:500px; display:grid; place-items:center; }
.duality-orbit { position:absolute; width:min(390px,75%); aspect-ratio:1; border-radius:50%; }
.duality-orbit.human { transform:translateX(-22%); border:1px solid rgba(240,79,152,.48); background:radial-gradient(circle at 40% 40%,rgba(240,79,152,.18),transparent 66%); box-shadow:0 0 70px rgba(240,79,152,.14),inset 0 0 55px rgba(240,79,152,.07); }
.duality-orbit.system { transform:translateX(22%); border:1px solid rgba(199,120,79,.5); background:radial-gradient(circle at 60% 40%,rgba(199,120,79,.18),transparent 66%); box-shadow:0 0 70px rgba(199,120,79,.14),inset 0 0 55px rgba(199,120,79,.07); }
.duality-center { position:relative; z-index:2; width:190px; aspect-ratio:1; display:grid; place-items:center; padding:1.2rem; text-align:center; border:1px solid rgba(255,255,255,.24); border-radius:50%; background:rgba(11,10,12,.72); box-shadow:0 0 40px rgba(215,154,134,.2); }
.duality-center strong { font-family:var(--serif); font-size:1.55rem; line-height:1.05; }
.duality-label { position:absolute; z-index:3; max-width:220px; padding:.85rem 1rem; border:1px solid rgba(255,255,255,.13); border-radius:14px; background:rgba(11,10,12,.76); backdrop-filter:blur(12px); font-size:.8rem; line-height:1.45; }
.duality-label strong { display:block; margin-bottom:.25rem; font-family:var(--serif); font-size:1.25rem; }
.duality-label.human { left:1%; top:12%; }
.duality-label.system { right:1%; bottom:12%; }

.map-shell { position:relative; padding:clamp(2rem,5vw,4.5rem); border:1px solid rgba(255,255,255,.13); border-radius:var(--radius-lg); background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)); box-shadow:var(--shadow-dark); overflow:hidden; }
.map-shell::before { content:''; position:absolute; inset:-30%; background:conic-gradient(from 150deg,transparent,rgba(240,79,152,.08),transparent 32%,rgba(199,120,79,.08),transparent 68%); animation:slowSpin 34s linear infinite; }
.map-shell > * { position:relative; z-index:1; }
.map-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.map-points { display:grid; gap:.8rem; margin:1.6rem 0 0; padding:0; list-style:none; }
.map-points li { display:grid; grid-template-columns:34px 1fr; gap:.75rem; align-items:start; padding:.9rem 0; border-bottom:1px solid rgba(255,255,255,.09); }
.map-points li:last-child { border-bottom:0; }
.map-points span { display:grid; place-items:center; width:30px; height:30px; border:1px solid rgba(240,79,152,.45); border-radius:50%; color:#ff8cbd; font-family:var(--diagram); font-size:.65rem; }
.map-visual { position:relative; min-height:420px; }
.map-ring { position:absolute; inset:50% auto auto 50%; border-radius:50%; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.13); }
.map-ring.r1 { width:340px; height:340px; border-color:rgba(240,79,152,.35); box-shadow:0 0 44px rgba(240,79,152,.09); }
.map-ring.r2 { width:250px; height:250px; border-color:rgba(199,120,79,.38); box-shadow:0 0 44px rgba(199,120,79,.09); }
.map-ring.r3 { width:155px; height:155px; background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,.025)); }
.map-core { position:absolute; inset:50% auto auto 50%; z-index:3; width:125px; height:125px; display:grid; place-items:center; padding:1rem; text-align:center; transform:translate(-50%,-50%); border-radius:50%; border:1px solid rgba(255,255,255,.25); background:#131014; font-family:var(--serif); font-size:1.3rem; line-height:1.05; }
.map-node { position:absolute; z-index:4; display:grid; place-items:center; width:92px; min-height:48px; padding:.5rem; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(11,10,12,.86); color:rgba(255,255,255,.84); font-family:var(--diagram); font-size:.64rem; font-weight:700; letter-spacing:.06em; text-align:center; text-transform:uppercase; box-shadow:0 0 22px rgba(240,79,152,.08); }
.map-node.n1 { top:6%; left:50%; transform:translateX(-50%); }
.map-node.n2 { right:0; top:31%; }
.map-node.n3 { right:8%; bottom:9%; }
.map-node.n4 { left:8%; bottom:9%; }
.map-node.n5 { left:0; top:31%; }
.route-line { margin-top:1.6rem; font-family:var(--serif); font-size:clamp(1.4rem,2.4vw,2.2rem); line-height:1.15; }

.proof-lead { max-width:900px; }
.case-stack { display:grid; gap:1rem; margin-top:2.5rem; }
.case-study { border:1px solid rgba(21,18,23,.14); border-radius:22px; background:rgba(255,255,255,.64); box-shadow:0 10px 34px rgba(21,18,23,.05); overflow:hidden; }
.case-study[open] { border-color:rgba(184,40,104,.3); box-shadow:0 24px 70px rgba(21,18,23,.09),0 0 32px rgba(240,79,152,.06); }
.case-study summary { position:relative; display:grid; grid-template-columns:52px 1fr auto; gap:1rem; align-items:center; padding:1.35rem 1.5rem; cursor:pointer; list-style:none; }
.case-study summary::-webkit-details-marker { display:none; }
.case-index { display:grid; place-items:center; width:48px; height:48px; border:1px solid rgba(184,40,104,.32); border-radius:50%; color:var(--deep-raspberry); background:rgba(240,79,152,.06); font-family:var(--diagram); font-size:.7rem; font-weight:700; }
.case-summary-copy span { display:block; margin-bottom:.25rem; color:var(--muted); font-family:var(--diagram); font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.case-summary-copy h3 { margin:0; font-family:var(--serif); font-size:clamp(1.45rem,2.5vw,2.25rem); }
.case-toggle { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(21,18,23,.14); border-radius:50%; font-size:1.25rem; transition:transform .25s var(--ease); }
.case-study[open] .case-toggle { transform:rotate(45deg); }
.case-content { display:grid; grid-template-columns:minmax(250px,.68fr) minmax(0,1.32fr); gap:clamp(1.5rem,4vw,4rem); padding:0 1.5rem 1.8rem; }
.case-graphic { min-height:330px; display:grid; place-items:center; padding:1rem; border-radius:18px; background:#100d11; overflow:hidden; }
.case-graphic img { width:100%; height:100%; object-fit:cover; }
.case-copy { padding:.7rem 0; }
.case-copy p { max-width:760px; }
.case-outcome { margin-top:1.3rem; padding:1.2rem 1.25rem; border-left:3px solid var(--luminous-pink); background:rgba(240,79,152,.06); font-family:var(--serif); font-size:clamp(1.25rem,2vw,1.7rem); line-height:1.25; }
.case-quote { margin-top:1.5rem; padding:1.4rem; border-radius:16px; color:#fff; background:linear-gradient(135deg,#21101b,#100d11); }
.case-quote p { margin:0 0 .75rem; font-family:var(--serif); font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.28; }
.case-quote cite { color:rgba(255,255,255,.62); font-style:normal; font-size:.78rem; }

.testimonial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.testimonial-card { position:relative; padding:clamp(1.5rem,3vw,2.2rem); border:1px solid rgba(255,255,255,.11); border-radius:22px; background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.015)); }
.testimonial-card::before { content:'“'; position:absolute; top:.35rem; right:1.2rem; color:rgba(240,79,152,.22); font-family:var(--serif); font-size:5rem; line-height:1; }
.testimonial-card blockquote { position:relative; margin:0 0 1.25rem; font-family:var(--serif); font-size:clamp(1.35rem,2.2vw,1.9rem); line-height:1.25; }
.testimonial-card footer { color:rgba(255,255,255,.6); font-size:.78rem; }

.authority-v5 { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,5vw,5rem); align-items:start; }
.authority-list { display:grid; gap:.7rem; margin:0; padding:0; list-style:none; }
.authority-list li { padding:.9rem 1rem; border:1px solid rgba(255,255,255,.1); border-radius:13px; background:rgba(255,255,255,.025); color:rgba(255,255,255,.76); }

.next-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.next-card { position:relative; min-height:420px; display:flex; flex-direction:column; padding:clamp(1.5rem,3vw,2.2rem); border:1px solid rgba(255,255,255,.11); border-radius:24px; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)); overflow:hidden; }
.next-card::after { content:''; position:absolute; width:230px; height:230px; right:-90px; top:-90px; border-radius:50%; filter:blur(32px); opacity:.16; }
.next-card:nth-child(1)::after { background:var(--luminous-pink); }
.next-card:nth-child(2)::after { background:var(--rose-gold); }
.next-card:nth-child(3)::after { background:var(--copper); }
.next-card > * { position:relative; z-index:1; }
.next-card .card-number { margin-bottom:auto; }
.next-card h3 { font-family:var(--serif); font-size:clamp(1.8rem,2.8vw,2.7rem); }
.next-card .mini-head { margin-bottom:.9rem; color:#ff8bbb; font-family:var(--diagram); font-size:.65rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.next-card p { color:rgba(255,255,255,.68); }

.route-card.with-photo { min-height:520px; background-size:cover; background-position:center; }
.route-card.with-photo::before { background:linear-gradient(to top,rgba(11,10,12,.96) 8%,rgba(11,10,12,.66) 55%,rgba(11,10,12,.16)); }
.route-card.training-photo { background-image:url('../images/eloise-training.png'); background-image:image-set(url('../images/eloise-training.webp') type('image/webp'),url('../images/eloise-training.png') type('image/png')); background-position:center 34%; }
.route-card.speaking-photo { background-image:url('../images/eloise-speaking.png'); }

.about-grid { display:grid; grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr); gap:clamp(2rem,5vw,6rem); align-items:center; }
.about-photo { min-height:680px; }
.about-photo img { object-position:center 38%; }
.about-copy { max-width:720px; }
.about-copy .about-highlight { margin:1.6rem 0; padding:1.1rem 1.25rem; border-left:2px solid var(--copper); background:rgba(199,120,79,.07); }

.duality-effect-v5 { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,5vw,6rem); align-items:center; }
.duality-effect-v5 .luminous-frame { min-height:440px; display:grid; place-items:center; padding:2rem; }
.duality-effect-v5 .luminous-frame img { width:min(520px,100%); }

.final-cta .lede { max-width:820px; }
.final-cta .small-trust { margin-top:1rem; color:rgba(255,255,255,.62); font-size:.82rem; }
.footer-grid-v5 { grid-template-columns:1.35fr .8fr .9fr .7fr; }

@media (max-width:1080px) {
  .pain-grid, .duality-bridge, .map-grid, .authority-v5, .duality-effect-v5 { grid-template-columns:1fr; }
  .map-visual { min-height:390px; }
  .next-grid { grid-template-columns:1fr; }
  .next-card { min-height:auto; }
  .next-card .card-number { margin-bottom:1.4rem; }
  .case-content { grid-template-columns:1fr; }
  .case-graphic { min-height:260px; }
  .about-grid { grid-template-columns:1fr; }
  .about-photo { min-height:600px; }
  .footer-grid-v5 { grid-template-columns:1.2fr 1fr 1fr; }
  .footer-grid-v5 > :last-child { grid-column:2 / 4; }
}

@media (max-width:820px) {
  .perspective-photo, .about-photo { min-height:520px; }
  .duality-diagram { min-height:420px; }
  .duality-label { max-width:170px; font-size:.7rem; }
  .duality-label strong { font-size:1.05rem; }
  .map-shell { padding:1.5rem; }
  .testimonial-grid { grid-template-columns:1fr; }
  .case-study summary { grid-template-columns:46px 1fr auto; padding:1.1rem; }
  .case-index { width:42px; height:42px; }
  .case-content { padding:0 1.1rem 1.2rem; }
  .footer-grid-v5 { grid-template-columns:1fr 1fr; }
  .footer-grid-v5 > :last-child { grid-column:auto; }
}

@media (max-width:560px) {
  .hero-v5 h1 { font-size:clamp(2.25rem,11vw,3.5rem); }
  .pain-list li { padding-left:2.8rem; }
  .duality-diagram { min-height:350px; }
  .duality-orbit { width:235px; }
  .duality-center { width:125px; }
  .duality-center strong { font-size:1.1rem; }
  .duality-label { position:relative; max-width:none; left:auto !important; right:auto !important; top:auto !important; bottom:auto !important; margin:.35rem; }
  .duality-diagram { display:flex; flex-direction:column; justify-content:center; }
  .duality-orbit, .duality-center { position:absolute; }
  .duality-label.human { margin-top:270px; }
  .map-visual { min-height:330px; transform:scale(.86); margin-inline:-25px; }
  .case-study summary { grid-template-columns:1fr auto; }
  .case-index { display:none; }
  .case-summary-copy h3 { font-size:1.45rem; }
  .route-card.with-photo { min-height:430px; }
  .about-photo { min-height:450px; }
  .footer-grid-v5 { grid-template-columns:1fr; }
}


/* =========================================================
   V5.2 CONSOLIDATED REVISIONS
   ========================================================= */
.hero-v5 .hero-identity {
  margin-bottom: 1.55rem;
  color: #ff79b3;
  font-size: clamp(.86rem, 1.15vw, 1.02rem);
  font-weight: 700;
  letter-spacing: .12em;
  text-shadow: 0 0 20px rgba(240,79,152,.3);
}
.hero-v5 .hero-identity::before { width: 46px; }
.hero-v5 .hero-meta {
  gap: .65rem 1.45rem;
  margin-top: 2rem;
  color: rgba(255,255,255,.82);
  font-size: clamp(.72rem, .9vw, .82rem);
  font-weight: 600;
  letter-spacing: .075em;
}
.hero-v5 .hero-meta span { position:relative; }
.hero-v5 .hero-meta span:not(:last-child)::after {
  content:'·'; position:absolute; right:-.9rem; color:var(--rose-gold); opacity:.85;
}

/* Duality Map: full-width introduction, balanced body and outcomes */
.map-header { max-width: 980px; margin-bottom: clamp(2.5rem,5vw,4.5rem); }
.map-header h2 { max-width: 920px; }
.map-body {
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(440px,1.14fr);
  gap:clamp(2.5rem,6vw,6.5rem);
  align-items:center;
}
.map-copy { max-width: 620px; }
.map-copy p { font-size: 1.03rem; }
.map-emphasis {
  margin:1.35rem 0;
  padding:.85rem 1rem;
  border-left:2px solid var(--luminous-pink);
  background:linear-gradient(90deg,rgba(240,79,152,.1),transparent);
  font-weight:700;
}
.map-body .map-visual { min-height: 560px; }
.map-body .map-ring.r1 { width: 460px; height:460px; }
.map-body .map-ring.r2 { width: 340px; height:340px; }
.map-body .map-ring.r3 { width: 205px; height:205px; }
.map-body .map-core { width:165px; height:165px; font-size:1.55rem; }
.map-body .map-node { width:116px; min-height:54px; font-size:.68rem; }
.map-points {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin:clamp(2.5rem,5vw,4.5rem) 0 0;
}
.map-points li {
  min-height:110px;
  padding:1.25rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
.map-points li:last-child { border-bottom:1px solid rgba(255,255,255,.11); }
.map-close {
  max-width: 980px;
  margin-top: clamp(2.5rem,5vw,4.5rem);
  padding-top: clamp(2rem,4vw,3.2rem);
  border-top:1px solid rgba(255,255,255,.12);
}

/* Case-study graphics must always be entirely visible */
.case-graphic { min-height: 420px; padding: 1.35rem; }
.case-graphic img { width:100%; height:100%; object-fit:contain; object-position:center; }

/* Four equally prominent ways to work */
.work-routes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
.work-route-card {
  position:relative;
  min-height:560px;
  display:flex;
  align-items:flex-end;
  padding:clamp(1.7rem,3vw,2.35rem);
  color:#fff;
  border:1px solid rgba(255,255,255,.13);
  border-radius:var(--radius-lg);
  background:#120e12;
  box-shadow:var(--shadow-dark);
  overflow:hidden;
  text-decoration:none;
  isolation:isolate;
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;
}
.work-route-card:hover,
.work-route-card:focus-visible { transform:translateY(-5px); border-color:rgba(240,79,152,.42); box-shadow:0 28px 80px rgba(21,18,23,.2),0 0 36px rgba(240,79,152,.1); }
.work-route-card::before {
  content:''; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(to top,rgba(11,10,12,.99) 4%,rgba(11,10,12,.84) 48%,rgba(11,10,12,.34) 76%,rgba(11,10,12,.16));
}
.work-route-card::after {
  content:''; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(135deg,rgba(240,79,152,.08),transparent 45%,rgba(199,120,79,.08));
}
.route-content { position:relative; z-index:2; max-width:620px; }
.route-content h3 { margin-top:1rem; font-family:var(--serif); font-size:clamp(1.95rem,2.75vw,3rem); line-height:1.02; }
.route-consulting .route-content h3,
.route-fractional .route-content h3 { font-size:clamp(2.25rem,3vw,3.15rem); max-width:12ch; }
.route-content p { color:rgba(255,255,255,.76); }
.route-label {
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  padding:.48rem .7rem;
  border:1px solid rgba(255,255,255,.17);
  border-radius:999px;
  color:#ff9bc6;
  background:rgba(8,7,9,.72);
  box-shadow:0 6px 24px rgba(0,0,0,.24),0 0 16px rgba(240,79,152,.12);
  backdrop-filter:blur(10px);
  font-family:var(--diagram);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.095em;
  text-transform:uppercase;
  line-height:1.35;
  max-width:100%;
}
.route-consulting .route-label,
.route-fractional .route-label { font-size:.69rem; letter-spacing:.075em; }
.route-label::before { content:''; width:30px; height:1px; background:linear-gradient(90deg,var(--luminous-pink),var(--copper)); }
.route-photo { background-size:cover; background-position:center; }
.route-training { background-image:url('../images/eloise-training-card.png'); background-image:image-set(url('../images/eloise-training-card.webp') type('image/webp'),url('../images/eloise-training-card.png') type('image/png')); background-position:center 34%; }
.route-speaking { background-image:url('../images/eloise-speaking.png'); background-position:center 28%; }
.route-consulting { background-image:url('../images/eloise-consulting-card.png'); background-position:center 28%; }
.route-fractional { background-image:url('../images/eloise-fractional-card.png'); background-position:center 24%; }
.route-visual { position:absolute; inset:0; z-index:0; overflow:hidden; }
.route-visual-system::before,
.route-visual-system::after { content:''; position:absolute; border-radius:50%; border:1px solid; }
.route-visual-system::before { width:390px; height:390px; top:-90px; right:-55px; border-color:rgba(240,79,152,.42); box-shadow:0 0 60px rgba(240,79,152,.13),inset 0 0 45px rgba(240,79,152,.05); }
.route-visual-system::after { width:300px; height:300px; top:-8px; right:28px; border-color:rgba(199,120,79,.42); box-shadow:0 0 60px rgba(199,120,79,.12),inset 0 0 45px rgba(199,120,79,.05); }
.route-visual-system span { position:absolute; width:12px; height:12px; border-radius:50%; background:var(--rose-gold); box-shadow:0 0 20px var(--luminous-pink); }
.route-visual-system span:nth-child(1){top:16%;right:22%}.route-visual-system span:nth-child(2){top:37%;right:8%}.route-visual-system span:nth-child(3){top:30%;right:38%}
.route-visual-leadership::before { content:''; position:absolute; width:420px; height:420px; right:-95px; top:-100px; border-radius:50%; background:radial-gradient(circle,rgba(199,120,79,.25),rgba(199,120,79,.02) 58%,transparent 70%); }
.route-visual-leadership span { position:absolute; width:90px; height:90px; border:1px solid rgba(255,255,255,.16); border-radius:50%; background:rgba(11,10,12,.65); box-shadow:0 0 32px rgba(199,120,79,.12); }
.route-visual-leadership span:nth-child(1){top:9%;right:24%;width:128px;height:128px;border-color:rgba(199,120,79,.46)}
.route-visual-leadership span:nth-child(2){top:28%;right:5%}.route-visual-leadership span:nth-child(3){top:43%;right:31%}.route-visual-leadership span:nth-child(4){top:13%;right:49%}

@media (max-width:1080px) {
  .map-body { grid-template-columns:1fr; }
  .map-copy { max-width:760px; }
  .map-body .map-visual { min-height:520px; }
  .work-route-card { min-height:500px; }
}
@media (max-width:820px) {
  .map-points, .work-routes { grid-template-columns:1fr; }
  .map-body .map-visual { min-height:460px; }
  .case-graphic { min-height:340px; }
  .work-route-card { min-height:470px; }
}
@media (max-width:560px) {
  .hero-v5 .hero-identity { font-size:.76rem; letter-spacing:.085em; }
  .hero-v5 .hero-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem 1rem; }
  .hero-v5 .hero-meta span::after { display:none; }
  .map-body .map-visual { min-height:350px; transform:scale(.78); margin:-15px -55px; }
  .map-points li { min-height:auto; }
  .case-graphic { min-height:280px; padding:.75rem; }
  .work-route-card { min-height:440px; }
  .route-content h3 { font-size:2rem; }
  .route-consulting .route-content h3,
  .route-fractional .route-content h3 { font-size:2.2rem; }
  .route-label { font-size:.64rem; letter-spacing:.06em; }
  .route-consulting .route-label,
  .route-fractional .route-label { font-size:.6rem; letter-spacing:.045em; }
}


/* =========================================================
   MERGED WEBSITE V1 , APPROVED A/B SECTION ASSEMBLY
   ========================================================= */
body.home-lean .section { padding: clamp(66px, 7.2vw, 112px) 0; }

/* Website A hero authority strip */
.lean-authority-strip {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px;
  margin-top:clamp(2rem,4vw,3.4rem); border:1px solid rgba(255,255,255,.12);
  border-radius:18px; overflow:hidden; background:rgba(255,255,255,.12);
  box-shadow:0 22px 70px rgba(0,0,0,.2);
}
.lean-authority-strip > div { padding:1.1rem 1.2rem; background:rgba(11,10,12,.78); }
.lean-authority-strip strong { display:block; color:#fff; font-family:var(--serif); font-size:clamp(1.25rem,1.8vw,1.65rem); line-height:1.05; }
.lean-authority-strip span { display:block; margin-top:.45rem; color:rgba(255,255,255,.62); font-size:.7rem; line-height:1.4; }
.hero-v5 > .hero-scroll { display:none; }
.hero-v5 .hero-copy > .eyebrow { color:#ff79b3; font-size:clamp(.86rem,1.15vw,1.02rem); font-weight:700; letter-spacing:.12em; text-shadow:0 0 20px rgba(240,79,152,.3); }

/* Website A 'Why this is different' panel */
.eloise-difference {
  display:grid; grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  gap:clamp(1.5rem,4vw,4rem); align-items:start; margin-top:clamp(2.4rem,5vw,4.8rem);
  padding:clamp(1.5rem,3.5vw,3rem); color:#fff; border:1px solid rgba(255,255,255,.14);
  border-radius:24px; background:linear-gradient(135deg,#25131f,#100d11 72%);
  box-shadow:0 28px 80px rgba(21,18,23,.18); overflow:hidden; position:relative;
}
.eloise-difference::after { content:''; position:absolute; width:320px; height:320px; right:-140px; top:-150px; border-radius:50%; background:var(--luminous-pink); filter:blur(55px); opacity:.14; }
.eloise-difference > * { position:relative; z-index:1; }
.eloise-difference .eyebrow { color:#ff8abb; }
.eloise-difference h3 { margin:0; font-family:var(--serif); font-size:clamp(2rem,3.4vw,3.5rem); line-height:1.04; }
.eloise-difference-copy p { max-width:760px; color:rgba(255,255,255,.75); }
.eloise-difference-copy p:last-child { margin-bottom:0; color:rgba(255,255,255,.9); }

/* Architecture bridge and route links */
.architecture-route-links { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.5rem; }
.architecture-route-links a { display:inline-flex; padding:.7rem 1rem; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:#fff; text-decoration:none; background:rgba(255,255,255,.04); transition:.25s ease; }
.architecture-route-links a:hover,.architecture-route-links a:focus-visible { border-color:var(--luminous-pink); background:rgba(240,79,152,.09); }
.duality-feature .map-shell { overflow:hidden; }
.duality-core-feature { background:radial-gradient(circle at 72% 38%,rgba(199,120,79,.12),transparent 34%),var(--soft-black); }

/* New Duality Core diagram */
.core-visual { position:relative; min-height:560px; display:grid; place-items:center; isolation:isolate; }
.core-visual::before { content:''; position:absolute; width:430px; height:430px; border-radius:50%; background:radial-gradient(circle,rgba(240,79,152,.14),rgba(199,120,79,.06) 42%,transparent 69%); filter:blur(12px); }
.core-ring { position:absolute; border-radius:50%; border:1px solid; }
.core-ring.c1 { width:460px; height:460px; border-color:rgba(240,79,152,.34); box-shadow:0 0 48px rgba(240,79,152,.1),inset 0 0 40px rgba(240,79,152,.04); }
.core-ring.c2 { width:340px; height:340px; border-color:rgba(199,120,79,.38); box-shadow:0 0 46px rgba(199,120,79,.1),inset 0 0 34px rgba(199,120,79,.04); }
.core-ring.c3 { width:214px; height:214px; border-color:rgba(255,255,255,.24); }
.core-center { position:relative; z-index:4; width:182px; height:182px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; color:#fff; background:radial-gradient(circle at 38% 30%,#57223d,#21111d 56%,#100d11); box-shadow:0 0 58px rgba(240,79,152,.22),0 0 92px rgba(199,120,79,.12); }
.core-center span { font-family:var(--diagram); font-size:.66rem; letter-spacing:.13em; text-transform:uppercase; color:#ff9bc6; }
.core-center strong { font-family:var(--serif); font-size:2.15rem; line-height:1; }
.core-center small { max-width:120px; margin-top:.5rem; color:rgba(255,255,255,.64); font-size:.62rem; line-height:1.25; }
.core-node { position:absolute; z-index:5; min-width:112px; padding:.68rem .8rem; border:1px solid rgba(255,255,255,.18); border-radius:999px; text-align:center; color:#fff; background:rgba(15,12,16,.86); box-shadow:0 10px 28px rgba(0,0,0,.26),0 0 18px rgba(240,79,152,.08); font-family:var(--diagram); font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(8px); }
.core-node.cn1{top:7%;left:42%}.core-node.cn2{top:23%;right:3%}.core-node.cn3{bottom:21%;right:6%}.core-node.cn4{bottom:5%;left:42%}.core-node.cn5{bottom:21%;left:3%}.core-node.cn6{top:23%;left:4%}
.core-spoke { position:absolute; z-index:2; width:165px; height:1px; left:50%; top:50%; transform-origin:left center; background:linear-gradient(90deg,rgba(255,255,255,.36),rgba(240,79,152,.08)); }
.core-spoke.s1{transform:rotate(-90deg)}.core-spoke.s2{transform:rotate(-30deg)}.core-spoke.s3{transform:rotate(30deg)}.core-spoke.s4{transform:rotate(90deg)}.core-spoke.s5{transform:rotate(150deg)}.core-spoke.s6{transform:rotate(210deg)}
.core-points li span { color:#efb08f; }

/* Compact testimonials , proof bridge, not a full-screen block */
#testimonials { padding-top:clamp(48px,5vw,74px); padding-bottom:clamp(48px,5vw,74px); }
#testimonials .section-intro { max-width:900px; }
#testimonials .section-intro h2 { font-size:clamp(2rem,3.8vw,3.5rem); }
#testimonials .section-intro .lede { max-width:820px; font-size:clamp(1rem,1.3vw,1.12rem); }
#testimonials .testimonial-grid { gap:.75rem; margin-top:1.45rem; }
#testimonials .testimonial-card { padding:1.15rem 1.25rem; border-radius:17px; }
#testimonials .testimonial-card::before { font-size:3.6rem; }
#testimonials .testimonial-card blockquote { margin-bottom:.75rem; padding-right:1.1rem; font-size:clamp(1.08rem,1.55vw,1.34rem); line-height:1.3; }
#testimonials .testimonial-card footer { font-size:.72rem; }

/* Simplified Website A footer */
.footer-grid-v5 { grid-template-columns:minmax(280px,1.5fr) minmax(180px,.75fr) minmax(180px,.75fr); }
.footer-brand .btn { display:none; }

@media (max-width:1080px) {
  .lean-authority-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .core-visual { min-height:520px; }
}
@media (max-width:820px) {
  .eloise-difference { grid-template-columns:1fr; }
  .footer-grid-v5 { grid-template-columns:1fr 1fr; }
  .core-visual { min-height:470px; transform:scale(.9); margin:-10px -30px; }
}
@media (max-width:560px) {
  .lean-authority-strip { grid-template-columns:1fr; }
  .hero-v5 .hero-copy > .eyebrow { font-size:.76rem; letter-spacing:.085em; }
  .footer-grid-v5 { grid-template-columns:1fr; }
  .core-visual { min-height:360px; transform:scale(.68); margin:-50px -85px; }
  .architecture-route-links { flex-direction:column; }
  .architecture-route-links a { justify-content:center; }
}

/* Website A hero secondary action must remain readable on the dark hero. */
.hero .btn-ghost {
  --btn-color:#fff;
  --btn-border:rgba(255,255,255,.34);
  --btn-bg:rgba(255,255,255,.055);
  color:#fff;
  border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(10px);
}
.hero .btn-ghost:hover,
.hero .btn-ghost:focus-visible { background:rgba(255,255,255,.11); border-color:rgba(255,255,255,.58); }


/* =========================================================
   MERGED WEBSITE V2 , SIMPLIFIED DUALITY ARCHITECTURE
   ========================================================= */
.architecture-compact {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 24%,rgba(240,79,152,.095),transparent 28%),
    radial-gradient(circle at 82% 62%,rgba(199,120,79,.085),transparent 30%),
    var(--soft-black);
}
.architecture-compact::before {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 12%,rgba(255,255,255,.018) 50%,transparent 84%);
}
.architecture-compact .container { position:relative; z-index:1; }
.architecture-compact-intro { max-width:930px; }
.architecture-compact-intro h2 { max-width:900px; margin-bottom:1.35rem; }
.architecture-compact-intro .lede { max-width:850px; }
.architecture-compact-intro p:last-child { color:rgba(255,255,255,.63); }

.duality-system-diagram {
  position:relative;
  width:min(100%,1080px);
  min-height:430px;
  margin:clamp(2.2rem,5vw,4.2rem) auto clamp(2rem,4vw,3.4rem);
  border:1px solid rgba(255,255,255,.11);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  box-shadow:0 28px 90px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.035);
  overflow:hidden;
}
.duality-system-diagram::before {
  content:'';
  position:absolute;
  width:470px;
  height:470px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(240,79,152,.15),rgba(199,120,79,.07) 43%,transparent 70%);
  filter:blur(10px);
}
.duality-system-lines { position:absolute; inset:0; width:100%; height:100%; }
.duality-system-lines ellipse { stroke:rgba(255,255,255,.105); stroke-width:1; }
.duality-system-lines ellipse:first-child { stroke:rgba(240,79,152,.24); }
.duality-system-lines ellipse:nth-child(2) { stroke:rgba(199,120,79,.25); }
.duality-system-lines line { stroke:rgba(255,255,255,.12); stroke-width:1; }
.duality-system-center {
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  width:190px;
  height:190px;
  transform:translate(-50%,-50%);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  border:1px solid rgba(255,255,255,.27);
  border-radius:50%;
  color:#fff;
  background:radial-gradient(circle at 38% 28%,#57223d,#20121d 58%,#0e0b0f);
  box-shadow:0 0 55px rgba(240,79,152,.19),0 0 88px rgba(199,120,79,.11);
}
.duality-system-center span,
.duality-system-center small {
  font-family:var(--diagram);
  text-transform:uppercase;
  letter-spacing:.12em;
}
.duality-system-center span { color:#ff93c0; font-size:.64rem; }
.duality-system-center strong { font-family:var(--serif); font-size:2rem; line-height:1; }
.duality-system-center small { max-width:130px; margin-top:.55rem; color:rgba(255,255,255,.55); font-size:.55rem; line-height:1.35; }
.duality-system-node {
  position:absolute;
  z-index:4;
  min-width:138px;
  padding:.75rem 1rem;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  color:#fff;
  background:rgba(13,10,14,.86);
  box-shadow:0 12px 30px rgba(0,0,0,.25),0 0 20px rgba(240,79,152,.055);
  backdrop-filter:blur(10px);
  font-family:var(--diagram);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
}
.duality-system-node span { margin-right:.42rem; color:#ff80b6; font-size:.58rem; }
.duality-system-node.node-people { left:8%; top:14%; }
.duality-system-node.node-business { right:8%; top:14%; }
.duality-system-node.node-operations { left:6%; bottom:17%; }
.duality-system-node.node-technology { right:6%; bottom:17%; }
.duality-system-node.node-ai { left:50%; bottom:6%; transform:translateX(-50%); border-color:rgba(199,120,79,.34); }
.duality-system-node.node-ai span { color:#e9a17d; }

.duality-options {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  max-width:1080px;
  margin-inline:auto;
}
.duality-option-card {
  position:relative;
  min-height:300px;
  display:flex;
  flex-direction:column;
  padding:clamp(1.5rem,3vw,2.35rem);
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  box-shadow:0 20px 60px rgba(0,0,0,.18);
  overflow:hidden;
}
.duality-option-card::before {
  content:'';
  position:absolute;
  width:260px;
  height:260px;
  right:-100px;
  top:-120px;
  border-radius:50%;
  filter:blur(15px);
  opacity:.18;
}
.duality-option-card.map-option::before { background:var(--luminous-pink); }
.duality-option-card.core-option::before { background:var(--copper); }
.duality-option-card > * { position:relative; z-index:1; }
.duality-option-kicker {
  margin-bottom:1.2rem;
  color:#ff8fbd;
  font-family:var(--diagram);
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.core-option .duality-option-kicker { color:#efad8d; }
.duality-option-card h3 { margin:0 0 .45rem; font-family:var(--serif); font-size:clamp(2rem,3vw,3.05rem); }
.duality-option-tagline { margin-bottom:1rem; color:#fff; font-family:var(--serif); font-size:clamp(1.35rem,2vw,1.9rem); line-height:1.12; }
.duality-option-card > p:not(.duality-option-tagline) { max-width:590px; color:rgba(255,255,255,.68); }
.duality-option-card .btn-link { margin-top:auto; padding-top:1rem; color:#fff; font-weight:700; text-decoration:none; }
.map-option .btn-link { color:#ff82b8; }
.core-option .btn-link { color:#efad8d; }
.duality-option-card .btn-link:hover,
.duality-option-card .btn-link:focus-visible { color:#fff; }

@media (max-width:820px) {
  .duality-system-diagram { min-height:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; padding:1.25rem; }
  .duality-system-lines { display:none; }
  .duality-system-diagram::before { width:360px; height:360px; }
  .duality-system-center { position:relative; left:auto; top:auto; transform:none; grid-column:1/-1; justify-self:center; width:165px; height:165px; margin:.5rem 0 1rem; }
  .duality-system-center strong { font-size:1.75rem; }
  .duality-system-node { position:relative; inset:auto !important; transform:none !important; min-width:0; width:100%; }
  .duality-system-node.node-ai { grid-column:1/-1; width:calc(50% - .375rem); justify-self:center; }
  .duality-options { grid-template-columns:1fr; }
  .duality-option-card { min-height:260px; }
}
@media (max-width:520px) {
  .duality-system-diagram { grid-template-columns:1fr; padding:1rem; border-radius:20px; }
  .duality-system-center,
  .duality-system-node.node-ai { grid-column:auto; width:100%; }
  .duality-system-center { width:150px; height:150px; justify-self:center; }
  .duality-system-node { padding:.72rem .8rem; }
  .duality-option-card { min-height:0; }
}

/* =========================================================
   MERGED WEBSITE V3 , PRE-ARCHITECTURE REFINEMENTS
   ========================================================= */

/* Refined rose-gold hero identity, luminous rather than neon pink */
.hero-v5 .hero-copy > .eyebrow {
  color: transparent;
  background: linear-gradient(102deg, #f3d5c7 0%, #d9a08c 38%, #c77a55 68%, #f1c8b8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: clamp(.82rem, 1.02vw, .98rem);
  font-weight: 650;
  letter-spacing: .105em;
  text-shadow: 0 0 22px rgba(199,120,79,.22);
}
.hero-v5 .hero-copy > .eyebrow::before {
  background: linear-gradient(90deg, rgba(241,200,184,.95), rgba(199,120,79,.85));
  box-shadow: 0 0 18px rgba(199,120,79,.36);
}

/* Centre the problem-card stack against the full Recognition copy block */
#recognition .pain-grid { align-items: center; }
#recognition .pain-list { align-self: center; }

/* Service routes: image first, content second, with no copy over faces */
.work-routes { align-items: stretch; }
.work-route-card {
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 0;
  color: #fff;
  background: linear-gradient(155deg, #20141c 0%, #120e12 72%);
  border: 1px solid rgba(55,34,47,.18);
  box-shadow: 0 24px 64px rgba(21,18,23,.16);
  overflow: hidden;
}
.work-route-card::before,
.work-route-card::after { display: none; }
.work-route-card:hover,
.work-route-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(199,120,79,.48);
  box-shadow: 0 30px 74px rgba(21,18,23,.22), 0 0 28px rgba(199,120,79,.10);
}
.route-image {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 300px;
  overflow: hidden;
  background: #151116;
}
.route-image::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 22%;
  background: linear-gradient(to bottom, transparent, rgba(22,14,19,.34));
  pointer-events: none;
}
.route-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(.92) contrast(1.02);
}
.route-consulting .route-image img { object-position: center 34%; }
.route-fractional .route-image img { object-position: center 27%; }
.route-training .route-image img { object-position: center 38%; }
.route-speaking .route-image img { object-position: center 26%; }
.route-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1;
  flex-direction: column;
  max-width: none;
  padding: clamp(1.6rem, 2.4vw, 2.15rem);
  background:
    radial-gradient(circle at 96% 5%, rgba(199,120,79,.13), transparent 32%),
    linear-gradient(155deg, #24151f 0%, #120e12 76%);
}
.route-content h3,
.route-consulting .route-content h3,
.route-fractional .route-content h3 {
  max-width: 15ch;
  margin: .8rem 0 .72rem;
  font-size: clamp(2rem, 2.7vw, 3rem);
}
.route-content p { color: rgba(255,255,255,.78); }
.route-label,
.route-consulting .route-label,
.route-fractional .route-label {
  align-self: flex-start;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #e5b09c;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .09em;
}
.route-label::before {
  background: linear-gradient(90deg, #e8bba8, #bd704c);
  box-shadow: 0 0 12px rgba(199,120,79,.28);
}
.work-route-card .btn-link {
  margin-top: auto;
  padding-top: 1.15rem;
  color: #f0c5b4;
  font-weight: 700;
  letter-spacing: .005em;
}
.work-route-card .btn-link::after { color: #c7784f; }
.work-route-card:hover .btn-link,
.work-route-card:focus-visible .btn-link { color: #fff; }

/* Compact authority proof: four grouped points, not a CV wall */
#authority { padding-block: clamp(64px, 6.4vw, 96px); }
#authority .authority-v5 {
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: clamp(2.2rem, 4vw, 4.5rem);
  align-items: center;
}
#authority h2 { font-size: clamp(2.35rem, 3.5vw, 3.65rem); }
#authority .authority-list { gap: .72rem; }
#authority .authority-list li {
  padding: 1rem 1.1rem;
  line-height: 1.5;
}

/* Explicit Duality Effect description and a more compact illustration */
#duality-effect .duality-effect-v5 { gap: clamp(2.2rem, 4.5vw, 5rem); }
#duality-effect .luminous-frame { min-height: 360px; }
#duality-effect h2 { font-size: clamp(2.3rem, 3.8vw, 4rem); }

@media (max-width: 820px) {
  #recognition .pain-grid { align-items: start; }
  .route-image { min-height: 280px; }
  #authority .authority-v5 { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .route-image { min-height: 240px; aspect-ratio: 4 / 3; }
  .route-content { padding: 1.4rem; }
  .route-content h3,
  .route-consulting .route-content h3,
  .route-fractional .route-content h3 { font-size: 2rem; }
}

/* Show more of each service photograph while preserving a consistent card system. */
.route-image { aspect-ratio: 4 / 3; min-height: 0; }
.route-consulting .route-image img { object-position: center 28%; }
.route-fractional .route-image img { object-position: center 24%; }
.route-training .route-image img { object-position: center 42%; }
.route-speaking .route-image img { object-position: center 22%; }

/* =========================================================
   MERGED WEBSITE V4 , SERVICE ROUTES AND DUALITY FRAMEWORK
   ========================================================= */

/* Give Why This Is Different its own deliberate bridge section. */
.why-different-section { padding-top: clamp(34px, 4vw, 64px) !important; }
.why-different-section .eloise-difference { margin-top: 0; }

/* Return the four routes to full-image cards, with condensed copy kept clear of faces. */
#other-ways { padding-top: clamp(70px, 7vw, 112px); }
#other-ways .section-intro { max-width: 880px; }
.work-routes { align-items: stretch; }
.work-route-card {
  position: relative;
  min-height: clamp(570px, 47vw, 660px);
  display: flex;
  align-items: stretch;
  padding: 0;
  color: #fff;
  border: 1px solid rgba(199,120,79,.24);
  border-radius: var(--radius-lg);
  background: #120e12;
  box-shadow: 0 26px 72px rgba(21,18,23,.22);
  overflow: hidden;
  isolation: isolate;
}
.work-route-card::before,
.work-route-card::after { display: none; }
.work-route-card:hover,
.work-route-card:focus-visible {
  transform: translateY(-5px);
  border-color: rgba(220,154,122,.52);
  box-shadow: 0 32px 82px rgba(21,18,23,.26), 0 0 32px rgba(199,120,79,.12);
}
.route-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  background: #151116;
  z-index: 0;
}
.route-image::after {
  content: '';
  position: absolute;
  inset: 0;
  height: auto;
  background:
    linear-gradient(to top, rgba(11,8,11,.99) 0%, rgba(16,10,14,.94) 25%, rgba(18,11,16,.76) 45%, rgba(13,10,13,.18) 70%, rgba(10,8,10,.04) 100%),
    linear-gradient(120deg, rgba(31,13,25,.25), transparent 52%, rgba(104,49,24,.12));
  pointer-events: none;
}
.route-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(.92) contrast(1.03);
}
.route-consulting .route-image img { object-position: center 24%; }
.route-fractional .route-image img { object-position: center 18%; }
.route-training .route-image img { object-position: center 43%; }
.route-speaking .route-image img { object-position: center 17%; }
.route-content {
  position: relative;
  z-index: 2;
  min-height: inherit;
  width: 100%;
  max-width: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(1.65rem, 2.7vw, 2.35rem);
  padding-top: 52%;
  background: transparent;
}
.route-content h3,
.route-consulting .route-content h3,
.route-fractional .route-content h3 {
  max-width: 15ch;
  margin: .75rem 0 .72rem;
  font-size: clamp(2rem, 2.8vw, 3.05rem);
  line-height: 1.02;
}
.route-content p {
  max-width: 58ch;
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: clamp(.94rem, 1.2vw, 1.05rem);
  line-height: 1.58;
}
.route-label,
.route-consulting .route-label,
.route-fractional .route-label {
  align-self: flex-start;
  padding: 0;
  border: 0;
  color: #edc0ad;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  font-size: .66rem;
  font-weight: 760;
  letter-spacing: .09em;
  line-height: 1.35;
}
.route-label::before {
  background: linear-gradient(90deg, #f0cab9, #c7784f);
  box-shadow: 0 0 14px rgba(199,120,79,.34);
}
.work-route-card .btn-link {
  margin-top: 1.1rem;
  padding-top: 0;
  color: #f2c7b5;
  font-weight: 730;
}
.work-route-card .btn-link::after { color: #d48a66; }
.work-route-card:hover .btn-link,
.work-route-card:focus-visible .btn-link { color: #fff; }

/* The Duality Architecture is the method. Pairing is visible in the framework itself. */
.architecture-compact-intro { max-width: 960px; }
.architecture-compact-intro h2 { max-width: 920px; }
.duality-framework-visual {
  position: relative;
  width: min(100%, 1080px);
  margin: clamp(2.4rem, 5vw, 4.5rem) auto clamp(2.8rem, 5vw, 4.6rem);
  padding: clamp(1.3rem, 3vw, 2.3rem);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 22%, rgba(240,79,152,.13), transparent 28%),
    radial-gradient(circle at 50% 82%, rgba(199,120,79,.12), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
  box-shadow: 0 30px 95px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.035);
  overflow: hidden;
}
.duality-framework-visual::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(255,255,255,.16) 25%, rgba(199,120,79,.26) 70%, transparent);
  opacity: .7;
}
.duality-framework-core {
  position: relative;
  z-index: 2;
  width: min(100%, 330px);
  margin: 0 auto clamp(1.4rem, 3vw, 2.2rem);
  padding: 1.35rem 1.5rem;
  border: 1px solid rgba(233,177,151,.34);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(145deg, rgba(91,31,63,.82), rgba(31,17,27,.94) 55%, rgba(14,11,15,.98));
  box-shadow: 0 0 42px rgba(240,79,152,.16), 0 0 70px rgba(199,120,79,.10);
  text-align: center;
}
.duality-framework-core span,
.duality-framework-core small {
  display: block;
  font-family: var(--diagram);
  text-transform: uppercase;
  letter-spacing: .12em;
}
.duality-framework-core span { color: #f0b29a; font-size: .63rem; }
.duality-framework-core strong { display: block; margin: .35rem 0; font-family: var(--serif); font-size: clamp(1.7rem, 2.6vw, 2.35rem); line-height: .96; }
.duality-framework-core small { color: rgba(255,255,255,.58); font-size: .56rem; }
.duality-pair-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: .9rem;
}
.duality-pair-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) 110px minmax(0,1fr);
  gap: 1rem;
  align-items: stretch;
}
.duality-pair-node {
  min-height: 118px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.2rem 1.35rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background: rgba(12,10,13,.72);
  box-shadow: 0 16px 38px rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
}
.duality-pair-node.pair-left { text-align: right; border-color: rgba(240,79,152,.22); }
.duality-pair-node.pair-right { border-color: rgba(199,120,79,.26); }
.duality-pair-node span { color: #fff; font-family: var(--serif); font-size: clamp(1.45rem, 2.3vw, 2rem); line-height: 1; }
.duality-pair-node small { margin-top: .55rem; color: rgba(255,255,255,.56); font-size: .74rem; line-height: 1.35; }
.duality-pair-join {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.duality-pair-join::before,
.duality-pair-join::after {
  content: '';
  position: absolute;
  top: 50%;
  width: calc(50% - 21px);
  height: 1px;
}
.duality-pair-join::before { left: 0; background: linear-gradient(90deg, rgba(240,79,152,.6), rgba(240,79,152,.15)); }
.duality-pair-join::after { right: 0; background: linear-gradient(90deg, rgba(199,120,79,.15), rgba(199,120,79,.65)); }
.duality-pair-join b {
  position: relative;
  z-index: 2;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(232,177,151,.35);
  border-radius: 50%;
  color: #edb69f;
  background: #171117;
  box-shadow: 0 0 24px rgba(199,120,79,.13);
  font-family: var(--diagram);
  font-size: .62rem;
  letter-spacing: .08em;
}
.duality-pair-join i { display: none; }
.duality-framework-result {
  position: relative;
  z-index: 2;
  max-width: 780px;
  margin: clamp(1.5rem, 3vw, 2.2rem) auto 0;
  color: #fff;
  font-family: var(--serif);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  line-height: 1.2;
  text-align: center;
}
.duality-applications-intro {
  max-width: 860px;
  margin: 0 auto clamp(1.5rem, 3vw, 2.3rem);
  text-align: center;
}
.duality-applications-intro .eyebrow { justify-content: center; }
.duality-applications-intro h3 { margin: 0 0 .8rem; font-family: var(--serif); font-size: clamp(2rem, 3.6vw, 3.4rem); }
.duality-applications-intro p { max-width: 760px; margin-inline: auto; color: rgba(255,255,255,.66); }
.duality-options-v4 { gap: 1.1rem; }
.duality-options-v4 .duality-option-card { min-height: 0; padding: clamp(1.45rem, 2.7vw, 2.15rem); }
.duality-application-pairs {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: .15rem 0 1.15rem;
}
.duality-application-pairs span {
  padding: .48rem .7rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  color: rgba(255,255,255,.78);
  background: rgba(8,7,9,.46);
  font-family: var(--diagram);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.map-option .duality-application-pairs span { border-color: rgba(240,79,152,.22); }
.core-option .duality-application-pairs span { border-color: rgba(199,120,79,.26); }

@media (max-width: 820px) {
  .work-route-card { min-height: 600px; }
  .route-content { padding-top: 54%; }
  .duality-pair-row { grid-template-columns: minmax(0,1fr) 72px minmax(0,1fr); }
  .duality-pair-node { min-height: 110px; padding: 1rem; }
}
@media (max-width: 560px) {
  .work-route-card { min-height: 590px; }
  .route-content { padding: 1.35rem; padding-top: 58%; }
  .route-content h3,
  .route-consulting .route-content h3,
  .route-fractional .route-content h3 { font-size: 2.05rem; }
  .route-label,
  .route-consulting .route-label,
  .route-fractional .route-label { font-size: .58rem; letter-spacing: .065em; }
  .duality-framework-visual { padding: 1rem; border-radius: 22px; }
  .duality-framework-visual::before { display: none; }
  .duality-pair-grid { gap: .85rem; }
  .duality-pair-row {
    grid-template-columns: 1fr;
    gap: .65rem;
    padding: .8rem;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 18px;
    background: rgba(7,6,8,.24);
  }
  .duality-pair-node,
  .duality-pair-node.pair-left { min-height: 0; text-align: left; }
  .duality-pair-row .duality-pair-join { order: -1; min-height: 34px; }
  .duality-pair-join::before,
  .duality-pair-join::after { top: 50%; width: calc(50% - 22px); }
  .duality-pair-join b { width: 38px; height: 38px; }
  .duality-pair-node.pair-right { margin-bottom: 0; }
}

/* =========================================================
   V4 LOCALISED LUMINOSITY PASS
   Light gathers around interaction, connection and duality.
   No decorative lines cross section copy.
   ========================================================= */

:root {
  --ea-pink-glow: rgba(240,79,152,.58);
  --ea-pink-soft: rgba(240,79,152,.18);
  --ea-copper-glow: rgba(199,120,79,.58);
  --ea-copper-soft: rgba(199,120,79,.18);
}

@keyframes eaHaloBreathe {
  0%,100% { opacity:.46; filter:blur(0); }
  50% { opacity:.78; filter:blur(.15px); }
}
@keyframes eaBorderOrbit {
  to { transform:rotate(360deg); }
}
@keyframes eaNodeBreathe {
  0%,100% { box-shadow:0 0 18px rgba(240,79,152,.12), 0 0 28px rgba(199,120,79,.06); }
  50% { box-shadow:0 0 28px rgba(240,79,152,.28), 0 0 42px rgba(199,120,79,.14); }
}
@keyframes eaCopperNodeBreathe {
  0%,100% { box-shadow:0 0 18px rgba(199,120,79,.14), 0 0 28px rgba(240,79,152,.05); }
  50% { box-shadow:0 0 30px rgba(199,120,79,.31), 0 0 44px rgba(240,79,152,.11); }
}
@keyframes eaConnectorGlow {
  0%,100% { opacity:.42; filter:drop-shadow(0 0 2px rgba(240,79,152,.26)); }
  50% { opacity:1; filter:drop-shadow(0 0 7px rgba(240,79,152,.72)); }
}
@keyframes eaCopperConnectorGlow {
  0%,100% { opacity:.42; filter:drop-shadow(0 0 2px rgba(199,120,79,.28)); }
  50% { opacity:1; filter:drop-shadow(0 0 7px rgba(199,120,79,.75)); }
}
@keyframes eaGraphicBreathe {
  0%,100% { filter:drop-shadow(0 0 5px rgba(240,79,152,.14)) drop-shadow(0 0 7px rgba(199,120,79,.09)); }
  50% { filter:drop-shadow(0 0 11px rgba(240,79,152,.28)) drop-shadow(0 0 14px rgba(199,120,79,.19)); }
}
@keyframes eaCircleBreathe {
  0%,100% { filter:drop-shadow(0 0 8px rgba(240,79,152,.28)) drop-shadow(0 0 10px rgba(199,120,79,.22)); }
  50% { filter:drop-shadow(0 0 17px rgba(240,79,152,.48)) drop-shadow(0 0 20px rgba(199,120,79,.38)); }
}

/* Header and brand: a restrained copper point of light. */
.brand-mark {
  mix-blend-mode:screen;
  filter:contrast(1.04) drop-shadow(0 0 8px rgba(215,154,134,.28)) drop-shadow(0 0 16px rgba(199,120,79,.12));
  transition:filter .3s var(--ease), transform .3s var(--ease);
}
.brand:hover .brand-mark,
.brand:focus-visible .brand-mark {
  filter:drop-shadow(0 0 10px rgba(240,79,152,.32)) drop-shadow(0 0 20px rgba(199,120,79,.34));
  transform:scale(1.025);
}
.nav-link:hover,
.nav-link:focus-visible {
  text-shadow:0 0 12px rgba(240,79,152,.24), 0 0 18px rgba(199,120,79,.12);
}

/* Buttons: light travels around the edge, never through the text. */
.btn {
  isolation:isolate;
  overflow:visible;
}
.btn::before {
  content:'';
  position:absolute;
  z-index:-1;
  inset:-3px;
  border-radius:inherit;
  padding:2px;
  pointer-events:none;
  background:conic-gradient(from 0deg,
    transparent 0 13%, rgba(240,79,152,.9) 22%, transparent 34% 53%,
    rgba(199,120,79,.9) 66%, transparent 78% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.24;
  animation:eaBorderOrbit 9s linear infinite;
  transition:opacity .25s var(--ease), filter .25s var(--ease);
}
.btn-primary::before,
.btn-copper::before { opacity:.58; animation-duration:7s; }
.btn:hover::before,
.btn:focus-visible::before { opacity:.92; filter:drop-shadow(0 0 7px rgba(240,79,152,.45)) drop-shadow(0 0 9px rgba(199,120,79,.35)); }
.btn-primary {
  box-shadow:0 10px 34px rgba(240,79,152,.26), 0 0 22px rgba(240,79,152,.11), inset 0 1px 0 rgba(255,255,255,.25);
}
.btn-copper {
  box-shadow:0 10px 34px rgba(199,120,79,.26), 0 0 22px rgba(199,120,79,.11), inset 0 1px 0 rgba(255,255,255,.18);
}
.btn-link {
  background-image:linear-gradient(90deg,rgba(240,79,152,.88),rgba(199,120,79,.92));
  background-position:0 100%;
  background-repeat:no-repeat;
  background-size:0 1px;
  transition:color .25s var(--ease), text-shadow .25s var(--ease), background-size .3s var(--ease);
}
.btn-link:hover,
.btn-link:focus-visible {
  background-size:100% 1px;
  text-shadow:0 0 10px rgba(240,79,152,.28),0 0 12px rgba(199,120,79,.18);
}

/* Clickable service cards: local edge light and a pointer-following bloom. */
.work-route-card {
  --ea-glow-x:50%;
  --ea-glow-y:50%;
}
.work-route-card::before {
  content:'';
  display:block;
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:radial-gradient(circle 260px at var(--ea-glow-x) var(--ea-glow-y), rgba(240,79,152,.13), rgba(199,120,79,.055) 38%, transparent 72%);
  opacity:0;
  transition:opacity .3s var(--ease);
}
.work-route-card::after {
  content:'';
  display:block;
  position:absolute;
  z-index:4;
  inset:-2px;
  border-radius:inherit;
  padding:2px;
  pointer-events:none;
  background:conic-gradient(from 35deg,
    rgba(240,79,152,.68),transparent 20% 44%,rgba(199,120,79,.72),transparent 68% 88%,rgba(240,79,152,.5));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.15;
  animation:eaBorderOrbit 18s linear infinite;
  transition:opacity .3s var(--ease),filter .3s var(--ease);
}
.work-route-card:hover::before,
.work-route-card:focus-visible::before { opacity:1; }
.work-route-card:hover::after,
.work-route-card:focus-visible::after {
  opacity:.75;
  filter:drop-shadow(0 0 8px rgba(240,79,152,.28)) drop-shadow(0 0 11px rgba(199,120,79,.24));
}
.work-route-card:hover,
.work-route-card:focus-visible {
  border-color:rgba(224,159,130,.56);
  box-shadow:0 32px 82px rgba(21,18,23,.26),0 0 30px rgba(240,79,152,.12),0 0 44px rgba(199,120,79,.09);
}
.work-route-card .route-content { position:relative; z-index:3; }
.route-label {
  box-shadow:0 8px 24px rgba(0,0,0,.28),0 0 14px rgba(240,79,152,.12),0 0 18px rgba(199,120,79,.08);
}
.work-route-card:hover .route-label,
.work-route-card:focus-visible .route-label {
  border-color:rgba(235,185,163,.42);
  box-shadow:0 8px 24px rgba(0,0,0,.3),0 0 18px rgba(240,79,152,.22),0 0 24px rgba(199,120,79,.16);
}

/* The Architecture graphic: energy is concentrated in nodes, circles and connections. */
.duality-framework-visual {
  box-shadow:0 30px 95px rgba(0,0,0,.28),0 0 38px rgba(240,79,152,.07),0 0 54px rgba(199,120,79,.055),inset 0 1px rgba(255,255,255,.035);
}
.duality-framework-core {
  position:relative;
  animation:eaNodeBreathe 5.8s ease-in-out infinite;
}
.duality-framework-core::after {
  content:'';
  position:absolute;
  inset:-9px;
  border:1px solid rgba(240,79,152,.28);
  border-radius:999px;
  box-shadow:0 0 18px rgba(240,79,152,.16),0 0 25px rgba(199,120,79,.1);
  pointer-events:none;
  animation:eaHaloBreathe 4.8s ease-in-out infinite;
}
.duality-pair-node.pair-left {
  box-shadow:0 16px 38px rgba(0,0,0,.2),0 0 22px rgba(240,79,152,.085);
}
.duality-pair-node.pair-right {
  box-shadow:0 16px 38px rgba(0,0,0,.2),0 0 22px rgba(199,120,79,.09);
}
.duality-pair-join::before { animation:eaConnectorGlow 3.8s ease-in-out infinite; }
.duality-pair-join::after { animation:eaCopperConnectorGlow 3.8s ease-in-out infinite .55s; }
.duality-pair-join b {
  animation:eaNodeBreathe 4.5s ease-in-out infinite;
}
.duality-pair-join:nth-of-type(5) b { animation-delay:.45s; }
.duality-pair-join:nth-of-type(8) b { animation-delay:.9s; }
.duality-pair-join b::after {
  content:'';
  position:absolute;
  inset:-7px;
  border:1px solid rgba(232,177,151,.22);
  border-radius:50%;
  box-shadow:0 0 14px rgba(240,79,152,.12),0 0 18px rgba(199,120,79,.12);
  pointer-events:none;
  animation:eaHaloBreathe 4.2s ease-in-out infinite;
}

/* Map and Core application panels: each keeps its own luminous character. */
.duality-option-card {
  transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease);
}
.duality-option-card:hover {
  transform:translateY(-3px);
}
.map-option {
  box-shadow:0 20px 60px rgba(0,0,0,.2),0 0 28px rgba(240,79,152,.08);
}
.core-option {
  box-shadow:0 20px 60px rgba(0,0,0,.2),0 0 28px rgba(199,120,79,.09);
}
.map-option:hover { border-color:rgba(240,79,152,.35); box-shadow:0 24px 66px rgba(0,0,0,.22),0 0 38px rgba(240,79,152,.16); }
.core-option:hover { border-color:rgba(199,120,79,.38); box-shadow:0 24px 66px rgba(0,0,0,.22),0 0 38px rgba(199,120,79,.17); }
.map-option .duality-application-pairs span { box-shadow:0 0 12px rgba(240,79,152,.07); }
.core-option .duality-application-pairs span { box-shadow:0 0 12px rgba(199,120,79,.08); }
.map-option:hover .duality-application-pairs span { box-shadow:0 0 16px rgba(240,79,152,.14); }
.core-option:hover .duality-application-pairs span { box-shadow:0 0 16px rgba(199,120,79,.15); }

/* Circular graphics: stronger pink/copper rings, bright overlap and soft edge sparks. */
#duality-effect .luminous-frame {
  box-shadow:0 28px 90px rgba(0,0,0,.4),0 0 34px rgba(240,79,152,.12),0 0 46px rgba(199,120,79,.09);
}
#duality-effect .luminous-frame::after {
  content:'';
  position:absolute;
  inset:10% 8%;
  border-radius:50%;
  pointer-events:none;
  background:
    radial-gradient(circle at 38% 50%,rgba(240,79,152,.15),transparent 43%),
    radial-gradient(circle at 62% 50%,rgba(199,120,79,.13),transparent 43%),
    radial-gradient(circle at 50% 50%,rgba(255,221,205,.12),transparent 19%);
  filter:blur(18px);
  animation:eaHaloBreathe 5.4s ease-in-out infinite;
}
#duality-effect .luminous-frame img {
  position:relative;
  z-index:1;
  animation:eaCircleBreathe 5.6s ease-in-out infinite;
}

/* Case studies are clickable: illuminate the control and opened graphic, not the whole page. */
.case-study {
  position:relative;
  transition:border-color .28s var(--ease),box-shadow .28s var(--ease),transform .28s var(--ease);
}
.case-study:hover {
  border-color:rgba(184,40,104,.28);
  box-shadow:0 16px 44px rgba(21,18,23,.075),0 0 24px rgba(240,79,152,.055);
}
.case-study[open] {
  border-color:rgba(184,40,104,.38);
  box-shadow:0 24px 70px rgba(21,18,23,.1),0 0 30px rgba(240,79,152,.1),0 0 34px rgba(199,120,79,.055);
}
.case-index,
.case-toggle {
  transition:box-shadow .28s var(--ease),border-color .28s var(--ease),background .28s var(--ease),transform .25s var(--ease);
}
.case-study:hover .case-index,
.case-study[open] .case-index {
  border-color:rgba(240,79,152,.5);
  box-shadow:0 0 15px rgba(240,79,152,.18),0 0 21px rgba(199,120,79,.08);
}
.case-study:hover .case-toggle,
.case-study[open] .case-toggle {
  border-color:rgba(199,120,79,.42);
  background:rgba(199,120,79,.055);
  box-shadow:0 0 14px rgba(240,79,152,.12),0 0 20px rgba(199,120,79,.12);
}
.case-study[open] .case-graphic img { animation:eaGraphicBreathe 5.5s ease-in-out infinite; }

/* Final action areas retain a low ambient halo around the actual call to action. */
.cta-panel .btn-row,
#duality-effect .btn-row {
  position:relative;
  width:max-content;
  max-width:100%;
}
.cta-panel .btn-row::before,
#duality-effect .btn-row::before {
  content:'';
  position:absolute;
  inset:-22px -30px;
  border-radius:999px;
  background:radial-gradient(ellipse,rgba(240,79,152,.13),rgba(199,120,79,.07) 45%,transparent 72%);
  filter:blur(12px);
  pointer-events:none;
  animation:eaHaloBreathe 5s ease-in-out infinite;
}
.cta-panel .btn-row > *,
#duality-effect .btn-row > * { position:relative; z-index:1; }
.back-to-top.show { box-shadow:0 8px 30px rgba(0,0,0,.24),0 0 18px rgba(240,79,152,.15),0 0 24px rgba(199,120,79,.1); }

@media (hover:none) {
  .work-route-card::before { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  .btn::before,
  .work-route-card::after,
  .duality-framework-core,
  .duality-framework-core::after,
  .duality-pair-join::before,
  .duality-pair-join::after,
  .duality-pair-join b,
  .duality-pair-join b::after,
  #duality-effect .luminous-frame::after,
  #duality-effect .luminous-frame img,
  .case-study[open] .case-graphic img,
  .cta-panel .btn-row::before,
  #duality-effect .btn-row::before {
    animation:none !important;
  }
}

/* WordPress editor preview: keep the fixed navigation below the admin toolbar. */
body.admin-bar .site-header { top: 32px; }
body.admin-bar .mobile-panel { top: calc(84px + 32px); }
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
  body.admin-bar .mobile-panel { top: calc(84px + 46px); }
}

/* Revision pack: portrait photographs fill their frame at every breakpoint.
   The previous min-height combined with percentage image height exposed the
   dark frame below portrait images on narrow upright screens. */
.editorial-photo,
.editorial-photo.compact {
  min-height: 0;
  aspect-ratio: 4 / 5;
}
.editorial-photo img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  display: block;
}

/* V5 — final premium header and footer refinement. */
.site-header .brand-mark,
.site-footer .brand-mark {
  mix-blend-mode: normal;
  background: transparent;
  filter: drop-shadow(0 0 7px rgba(236,174,126,.30)) drop-shadow(0 0 16px rgba(199,120,79,.16));
}
.site-header .brand-name strong {
  color: #fff9f4;
  font-size: 1.12rem;
  font-weight: 600;
  letter-spacing: .055em;
  text-shadow: 0 0 16px rgba(255,255,255,.04);
}
.site-header .brand-name span {
  margin-top: .38rem;
  color: #e5a06f;
  font-size: .60rem;
  font-weight: 700;
  letter-spacing: .155em;
  text-shadow: 0 0 12px rgba(199,120,79,.18);
}

/* Persistent action: visible, premium, but subordinate to the solid pink in-page CTA. */
.site-header .nav-cta.btn,
.mobile-panel .btn-primary {
  color: #fff8ef;
  border: 1px solid rgba(225,157,103,.86);
  background: linear-gradient(135deg, rgba(78,32,49,.96), rgba(37,20,28,.98) 52%, rgba(92,48,34,.94));
  box-shadow: 0 8px 24px rgba(0,0,0,.25), 0 0 14px rgba(199,120,79,.18), 0 0 22px rgba(240,79,152,.10);
  text-shadow: 0 0 10px rgba(255,224,198,.12);
}
.site-header .nav-cta.btn:hover,
.site-header .nav-cta.btn:focus-visible,
.mobile-panel .btn-primary:hover,
.mobile-panel .btn-primary:focus-visible {
  color: #fff;
  border-color: #efb17c;
  background: linear-gradient(135deg, rgba(100,39,60,.98), rgba(47,23,34,.99) 50%, rgba(111,56,38,.98));
  box-shadow: 0 10px 30px rgba(0,0,0,.3), 0 0 18px rgba(240,79,152,.22), 0 0 28px rgba(199,120,79,.28);
  transform: translateY(-1px);
}

.site-footer {
  padding-top: 86px;
  background: linear-gradient(145deg,#09080a 0%,#100a0f 48%,#0a080a 100%);
  border-top: 1px solid rgba(213,145,103,.22);
}
.site-footer::after {
  content:'';
  position:absolute;
  left:4%; right:4%; bottom:54px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(199,120,79,.42),rgba(240,79,152,.26),rgba(199,120,79,.42),transparent);
  box-shadow:0 0 14px rgba(240,79,152,.10);
}
.footer-grid-v5 {
  grid-template-columns:minmax(330px,1.55fr) repeat(3,minmax(130px,.62fr));
  gap:clamp(2rem,4vw,4rem);
  align-items:start;
}
.footer-signature {
  gap:1.2rem;
  align-items:center;
}
.site-footer .footer-signature .brand-mark {
  width:72px;
  height:72px;
  flex:0 0 72px;
}
.site-footer .footer-signature .brand-name strong {
  color:#dfa06f;
  font-size:clamp(1.45rem,2vw,2rem);
  font-weight:600;
  letter-spacing:.035em;
  text-shadow:0 0 18px rgba(199,120,79,.13);
}
.site-footer .footer-signature .brand-name span {
  margin-top:.65rem;
  color:#fff7f1;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.22em;
  text-shadow:0 0 12px rgba(255,255,255,.06);
}
.footer-brand p {
  max-width:540px;
  margin-top:1.55rem;
  color:rgba(255,250,246,.78);
  font-size:clamp(.92rem,1.05vw,1.02rem);
  line-height:1.72;
  letter-spacing:.005em;
}
.footer-title {
  color:#dfa06f;
  font-size:.70rem;
  letter-spacing:.16em;
  text-shadow:0 0 12px rgba(199,120,79,.10);
}
.footer-links { gap:.68rem; }
.footer-links a {
  color:rgba(255,250,246,.76);
  font-size:.88rem;
  transition:color .2s,transform .2s,text-shadow .2s;
}
.footer-links a:hover,
.footer-links a:focus-visible {
  color:#fff;
  transform:translateX(2px);
  text-shadow:0 0 12px rgba(240,79,152,.12);
}
.footer-bottom {
  margin-top:3.4rem;
  padding-top:1.5rem;
  border-top:1px solid rgba(213,145,103,.18);
  color:rgba(255,250,246,.52);
}

@media (max-width:1050px) {
  .footer-grid-v5 { grid-template-columns:1.3fr repeat(3,minmax(110px,.6fr)); gap:2rem; }
}
@media (max-width:820px) {
  .site-header .brand-name span { display:block; }
  .footer-grid-v5 { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1 / -1; }
}
@media (max-width:560px) {
  .site-header .brand { gap:.62rem; }
  .site-header .brand-mark { width:38px; height:38px; }
  .site-header .brand-name strong { font-size:.94rem; letter-spacing:.035em; }
  .site-header .brand-name span { font-size:.48rem; letter-spacing:.12em; margin-top:.3rem; }
  .footer-grid-v5 { grid-template-columns:1fr; }
  .footer-brand { grid-column:auto; }
  .site-footer .footer-signature .brand-mark { width:64px; height:64px; flex-basis:64px; }
  .site-footer .footer-signature .brand-name strong { font-size:1.5rem; }
  .site-footer .footer-signature .brand-name span { font-size:.62rem; letter-spacing:.17em; }
}
