  :root{
    --ink:#10152f;
    --ink-2:#1a2247;
    --navy:#1c2a63;
    --blue:#2f6fb0;
    --cyan:#3fbde8;
    --paper:#f6f4ef;
    --paper-line:#e2ded3;
    --mist:#aab0c9;
    --mist-dim:#7d84a3;
    --stone:#565c74;
    --cream-text:#eef0fa;
    --shadow: 0 20px 50px -25px rgba(16,21,47,.35);
    --maxw: 1180px;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --paper:#0d1128;
      --paper-line:#232a4d;
      --stone:#b7bcd6;
      --ink:#05070f;
      --ink-2:#0f1430;
    }
  }
  :root[data-theme="dark"]{
    --paper:#0d1128;
    --paper-line:#232a4d;
    --stone:#b7bcd6;
    --ink:#05070f;
    --ink-2:#0f1430;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--navy);
    font-family:'Open Sans', ui-sans-serif, system-ui, sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
  }

  h1,h2,h3{
    font-family:'Raleway', ui-sans-serif, system-ui, sans-serif;
    text-wrap:balance;
    margin:0;
    color:inherit;
  }
  p{margin:0;}
  a{color:inherit;}
  .eyebrow{
    font-family:'Open Sans', sans-serif;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.95rem;
    font-weight:700;
    color:var(--cyan);
  }
  img{max-width:100%; display:block;}

  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 6vw;}
  @media (min-width:1300px){ .wrap{padding:0 40px;} }

  /* ---------- NAV ---------- */
  .nav{
    position:sticky; top:0; z-index:50;
    background:color-mix(in srgb, var(--paper) 88%, transparent);
    backdrop-filter:blur(14px) saturate(140%);
    border-bottom:1px solid var(--paper-line);
  }
  .nav-inner{
    max-width:var(--maxw); margin:0 auto; padding:16px 6vw;
    display:flex; align-items:center; justify-content:space-between; gap:24px;
  }
  @media (min-width:1300px){ .nav-inner{padding:16px 40px;} }
  .nav-logo{display:flex; align-items:center; gap:10px;}
  .nav-logo img{height:34px; width:auto;}
  .nav-links{display:flex; gap:26px; align-items:center;}
  .nav-links a{
    font-size:.82rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
    text-decoration:none; color:var(--navy); opacity:.75;
    transition:opacity .2s ease;
  }
  :root[data-theme="dark"] .nav-links a, @media (prefers-color-scheme:dark){ }
  .nav-links a:hover{opacity:1;}
  .nav-cta{
    padding:10px 20px; border-radius:999px;
    background:linear-gradient(120deg, var(--navy), var(--blue) 60%, var(--cyan));
    color:#fff !important; opacity:1 !important;
    box-shadow:0 8px 20px -8px rgba(47,111,176,.6);
  }
  @media (max-width:760px){
    .nav-links{gap:14px;}
    .nav-links a:not(.nav-cta){display:none;}
    .nav-cta{padding:9px 16px; font-size:.76rem;}
  }

  /* ---------- PULSE SPINE ---------- */
  .spine{
    position:absolute; left:50%; top:0; width:2px; height:100%;
    transform:translateX(-50%);
    pointer-events:none;
    z-index:0;
    opacity:.35;
  }
  .spine svg{display:block; width:100%; height:100%;}

  section{position:relative;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    padding:76px 0 90px;
    overflow:hidden;
  }
  .hero-grid{
    position:relative; z-index:2;
    display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;
  }
  @media (max-width:900px){ .hero-grid{grid-template-columns:1fr; gap:40px;} }
  .epigraph{
    margin:0 0 34px; padding-left:20px;
    border-style:solid; border-width:0 0 0 3px; border-color:transparent;
    border-image:linear-gradient(180deg, var(--navy), var(--cyan)) 1;
    max-width:42ch;
  }
  .epigraph p{
    font-family:'Raleway', sans-serif; font-weight:300; font-style:normal;
    font-size:1.2rem; line-height:1.45; color:var(--navy); margin:0 0 8px;
  }
  .epigraph p strong{font-weight:600;}
  .epigraph cite{
    display:block; font-style:normal; font-size:.72rem; font-weight:700;
    text-transform:uppercase; letter-spacing:.14em; color:var(--stone);
  }
  .hero h1{
    font-size:clamp(2.5rem, 4.6vw, 3.9rem);
    font-weight:300;
    line-height:1.04;
    letter-spacing:-.01em;
    color:var(--navy);
  }
  .hero h1 em{
    font-style:normal;
    font-weight:600;
    background:linear-gradient(100deg, var(--navy), var(--blue) 55%, var(--cyan));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero p.lede{
    margin-top:24px; font-size:1.08rem; line-height:1.7; color:var(--stone); max-width:46ch;
  }
  .hero-ctas{display:flex; gap:14px; margin-top:36px; flex-wrap:wrap;}
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    padding:14px 26px; border-radius:999px; font-weight:600; font-size:.92rem;
    text-decoration:none; cursor:pointer; border:1px solid transparent;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{
    background:linear-gradient(120deg, var(--navy), var(--blue) 60%, var(--cyan));
    color:#fff;
    box-shadow:0 14px 30px -12px rgba(47,111,176,.55);
  }
  .btn-ghost{
    border-color:var(--paper-line); color:var(--navy);
  }
  .btn-ghost.on-ink{color:var(--cream-text); border-color:rgba(255,255,255,.25);}

  .hero-figure{
    position:relative;
  }
  .hero-photo{
    position:relative;
    border-radius:38% 62% 61% 39% / 46% 40% 60% 54%;
    overflow:hidden;
    box-shadow:var(--shadow);
    aspect-ratio:4/4.6;
  }
  .hero-photo img{
    width:100%; height:100%; object-fit:cover;
  }
  .hero-photo::after{
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(200deg, rgba(28,42,99,.25), rgba(63,189,232,0) 55%);
  }
  .hero-badge{
    position:absolute; bottom:-26px; left:-26px;
    background:var(--ink);
    color:var(--cream-text);
    padding:18px 22px; border-radius:20px;
    box-shadow:var(--shadow);
    display:flex; gap:14px; align-items:center;
    max-width:250px;
  }
  .hero-badge .pulse-dot{
    width:38px; height:38px; border-radius:50%; flex:none;
    background:radial-gradient(circle at 30% 30%, var(--cyan), var(--blue) 70%);
    display:flex; align-items:center; justify-content:center;
  }
  .hero-badge strong{display:block; font-size:1.05rem; font-family:'Raleway',sans-serif;}
  .hero-badge span{font-size:.78rem; color:var(--mist);}
  @media (max-width:900px){ .hero-badge{left:0;} }

  /* ---------- SECTION SHELLS ---------- */
  .section{padding:110px 0;}
  .section.tight{padding:88px 0;}
  .section-on-ink{ background:var(--ink); color:var(--cream-text); }
  .section-on-ink .eyebrow{color:var(--cyan);}
  .section-on-ink .stone-text{color:var(--mist);}
  .stone-text{color:var(--stone);}

  .section-head{
    max-width:640px; margin-bottom:56px;
  }
  .section-head h1,
  .section-head h2{
    margin-top:14px;
    font-size:clamp(1.9rem, 3vw, 2.6rem);
    font-weight:300;
    line-height:1.15;
  }
  .section-head h1 b,
  .section-head h2 b{font-weight:600;}

  /* ---------- SERVICES / PARTNERING ---------- */
  .service-layout{
    display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;
  }
  @media (max-width:900px){ .service-layout{grid-template-columns:1fr;} }
  .service-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column;}
  .service-list li{
    display:grid; grid-template-columns:auto 1fr; gap:18px;
    padding:22px 0; border-top:1px solid var(--paper-line);
  }
  .service-list li:last-child{border-bottom:1px solid var(--paper-line);}
  .service-num{
    font-family:'Raleway',sans-serif; font-weight:600; font-size:.85rem;
    color:var(--cyan); padding-top:3px;
  }
  .service-list h3{font-size:1.08rem; font-weight:600; margin-bottom:6px;}
  .service-list p{font-size:.95rem; line-height:1.6; color:var(--stone);}

  .approach-card{
    background:#fff; border:1px solid var(--paper-line); border-radius:24px;
    padding:36px; box-shadow:var(--shadow);
  }
  :root[data-theme="dark"] .approach-card, @media (prefers-color-scheme:dark){ }
  .approach-row{display:flex; gap:16px; padding:18px 0;}
  .approach-row + .approach-row{border-top:1px dashed var(--paper-line);}
  .approach-row .mark{
    width:34px; height:34px; border-radius:10px; flex:none;
    background:linear-gradient(135deg, var(--navy), var(--cyan));
    display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Raleway',sans-serif; font-weight:700; font-size:.85rem;
  }
  .approach-row h4{font-family:'Raleway',sans-serif; font-weight:600; font-size:1rem; margin-bottom:4px;}
  .approach-row p{font-size:.92rem; color:var(--stone); line-height:1.6;}

  /* ---------- PROCESS TIMELINE ---------- */
  .process-rail{position:relative;}
  .process-pulse{position:absolute; top:0; left:0; width:100%; height:74px; z-index:0; display:block;}
  .process-steps{
    list-style:none; margin:0; padding:60px 0 0;
    display:grid; grid-template-columns:repeat(7,1fr); gap:16px;
    position:relative; z-index:1;
  }
  .process-steps li{display:flex; flex-direction:column; align-items:flex-start; gap:12px;}
  .pnum{
    width:38px; height:38px; border-radius:50%; flex:none;
    background:linear-gradient(135deg, var(--navy), var(--cyan)); color:#fff;
    font-family:'Raleway',sans-serif; font-weight:700; font-size:.95rem;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 18px -8px rgba(47,111,176,.55);
  }
  .process-steps h4{font-family:'Raleway',sans-serif; font-weight:600; font-size:.92rem; margin-bottom:4px;}
  .process-steps p{font-size:.82rem; line-height:1.5; color:var(--stone);}
  @media (max-width:1150px){
    .process-pulse{display:none;}
    .process-steps{padding-top:0; grid-template-columns:repeat(4,1fr); gap:32px 20px;}
  }
  @media (max-width:640px){
    .process-steps{grid-template-columns:1fr; gap:22px;}
    .process-steps li{flex-direction:row; align-items:flex-start;}
  }

  /* ---------- PROGRAMS (leadership / difficult situations) ---------- */
  .programs-grid{display:grid; grid-template-columns:1fr 1fr; gap:36px;}
  @media (max-width:900px){ .programs-grid{grid-template-columns:1fr;} }
  .program-card{
    background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.14);
    border-radius:24px; padding:36px;
  }
  .program-card h3{font-family:'Raleway',sans-serif; font-weight:600; font-size:1.25rem; margin-bottom:12px;}
  .program-card > p{margin-bottom:26px; font-size:.96rem; line-height:1.6;}
  .program-options{display:flex; flex-direction:column; gap:14px;}
  .option{padding:16px 18px; border-radius:14px; background:rgba(255,255,255,.05); border:1px dashed rgba(255,255,255,.18);}
  .option .tag{font-size:.66rem; text-transform:uppercase; letter-spacing:.14em; color:var(--cyan); font-weight:700;}
  .option h4{font-family:'Raleway',sans-serif; font-weight:600; font-size:.95rem; margin:6px 0 4px;}
  .option p{font-size:.85rem; color:var(--mist); line-height:1.5;}
  .program-steps{display:flex; flex-direction:column;}
  .pstep{display:flex; gap:14px; padding:14px 0;}
  .pstep + .pstep{border-top:1px dashed rgba(255,255,255,.16);}
  .pstep-num{
    width:30px; height:30px; border-radius:50%; flex:none;
    background:linear-gradient(135deg, var(--blue), var(--cyan));
    display:flex; align-items:center; justify-content:center;
    color:#0d1128; font-weight:700; font-size:.85rem; font-family:'Raleway',sans-serif;
  }
  .pstep h4{font-family:'Raleway',sans-serif; font-weight:600; font-size:.95rem; margin-bottom:2px;}
  .pstep p{font-size:.85rem; color:var(--mist); line-height:1.5;}

  /* ---------- WORKSHOP TOPICS ---------- */
  .topics{margin-top:80px;}
  .topics-head{max-width:640px; margin-bottom:32px;}
  .topics-head h3{margin-top:12px; font-size:clamp(1.4rem, 2.2vw, 1.8rem); font-weight:300; line-height:1.25;}
  .topic-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
  @media (max-width:760px){ .topic-grid{grid-template-columns:1fr;} }
  .topic-card{background:#fff; border:1px solid var(--paper-line); border-radius:22px; padding:30px;}
  .topic-card h4{font-family:'Raleway',sans-serif; font-weight:600; font-size:1.2rem; margin:0 0 8px;}
  .topic-intro{font-size:.92rem; line-height:1.6; color:var(--stone); margin-bottom:18px;}
  .topic-list{list-style:none; margin:0; padding:0;}
  .topic-list li{position:relative; padding:10px 0 10px 20px; border-top:1px dashed var(--paper-line); font-size:.95rem; line-height:1.45; color:var(--navy);}
  .topic-list li::before{content:""; position:absolute; left:2px; top:1.05em; width:7px; height:7px; border-radius:50%; background:var(--cyan);}
  .topic-note{display:block; margin-top:3px; font-size:.8rem; color:var(--stone);}
  .topics-foot{display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; margin-top:28px; padding:28px 30px; border:1px dashed var(--paper-line); border-radius:22px;}
  @media (max-width:900px){ .topics-foot{grid-template-columns:1fr;} }
  .tt{display:flex; gap:16px; align-items:flex-start;}
  .tt-mark{width:34px; height:34px; border-radius:10px; flex:none; background:linear-gradient(135deg, var(--navy), var(--cyan)); display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Raleway',sans-serif; font-weight:700; font-size:.78rem;}
  .tt h4{font-family:'Raleway',sans-serif; font-weight:600; font-size:1rem; margin:0 0 4px;}
  .tt p{font-size:.92rem; line-height:1.6; color:var(--stone);}
  .topics-cta{display:flex; flex-direction:column; align-items:flex-start; gap:14px;}
  .topics-cta p{font-size:.95rem; line-height:1.6; color:var(--stone);}

  /* ---------- PERSONAL BRANDING (on ink) ---------- */
  .brand-layout{
    display:grid; grid-template-columns:.95fr 1.05fr; gap:64px; align-items:center;
  }
  @media (max-width:900px){ .brand-layout{grid-template-columns:1fr; gap:40px;} }
  .brand-photo{
    border-radius:28px; overflow:hidden; position:relative; aspect-ratio:4/3.1;
    box-shadow:0 30px 60px -30px rgba(0,0,0,.6);
  }
  .brand-photo img{width:100%; height:100%; object-fit:cover;}
  .checklist{list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; gap:16px;}
  .checklist li{display:flex; gap:14px; align-items:flex-start; font-size:.98rem; line-height:1.6; color:var(--cream-text);}
  .checklist svg{flex:none; margin-top:3px;}

  /* ---------- IS THIS FOR YOU ---------- */
  .fit-layout{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
  @media (max-width:900px){ .fit-layout{grid-template-columns:1fr;} }
  .fit-questions{display:flex; flex-direction:column; gap:0;}
  .fit-questions p{
    padding:20px 0 20px 34px; position:relative; font-size:1.02rem; line-height:1.6; color:var(--navy);
    border-top:1px solid var(--paper-line);
  }
  .fit-questions p:last-child{border-bottom:1px solid var(--paper-line);}
  .fit-questions p::before{
    content:"?"; position:absolute; left:0; top:18px;
    width:22px; height:22px; border-radius:50%; font-size:.72rem; font-weight:700;
    display:flex; align-items:center; justify-content:center;
    background:color-mix(in srgb, var(--blue) 16%, transparent); color:var(--blue);
  }
  .fit-card{
    background:linear-gradient(165deg, var(--navy), var(--ink-2));
    border-radius:28px; padding:44px; color:var(--cream-text);
    box-shadow:var(--shadow);
    height:fit-content;
  }
  .fit-card .eyebrow{color:var(--cyan); margin-bottom:16px; display:block;}
  .fit-card h3{font-size:1.5rem; font-weight:300; margin-bottom:26px;}
  .fit-card ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px;}
  .fit-card li{display:flex; gap:12px; font-size:.98rem; line-height:1.5;}
  .fit-card li::before{content:"→"; color:var(--cyan); font-weight:700;}

  /* ---------- ABOUT ---------- */
  .about-layout{
    display:grid; grid-template-columns:.62fr 1.38fr; gap:60px; align-items:start;
  }
  @media (max-width:900px){ .about-layout{grid-template-columns:1fr;} }
  .about-portrait{
    position:relative; border-radius:24px; overflow:hidden;
    background:linear-gradient(165deg, var(--navy), var(--blue));
    aspect-ratio:3/4;
    box-shadow:var(--shadow);
  }
  .about-portrait img{width:100%; height:100%; object-fit:cover; object-position:top;}
  .about-name{
    position:absolute; left:0; right:0; bottom:0; padding:22px;
    background:linear-gradient(0deg, rgba(16,21,47,.88), transparent);
    color:#fff;
  }
  .about-name strong{font-family:'Raleway',sans-serif; font-size:1.15rem; display:block;}
  .about-name span{font-size:.8rem; color:var(--mist);}

  .stat-row{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:32px 0 36px;}
  @media (max-width:640px){ .stat-row{grid-template-columns:1fr;} }
  .stat-tile{
    border:1px solid var(--paper-line); border-radius:18px; padding:22px 20px;
    background:#fff;
  }
  .stat-tile .num{
    font-family:'Raleway',sans-serif; font-weight:600; font-size:1.9rem; color:var(--navy);
    background:linear-gradient(100deg, var(--navy), var(--blue));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .stat-tile .lbl{font-size:.84rem; color:var(--stone); margin-top:4px; line-height:1.4;}

  .about-body p{font-size:1.02rem; line-height:1.75; color:var(--stone); margin-bottom:16px;}
  .about-body p:last-of-type{margin-bottom:0;}

  .credentials{display:flex; gap:22px; align-items:center; margin-top:34px; flex-wrap:wrap;}
  .credentials img{height:64px; width:auto;}
  .credentials-text{font-size:.82rem; color:var(--stone); line-height:1.5; flex-basis:100%;}
  .credentials-text b{display:block; color:var(--navy); font-family:'Raleway',sans-serif; font-weight:600; font-size:.85rem; margin-bottom:2px;}

  .badge-hogan{
    width:112px; height:64px; border-radius:7px; overflow:hidden; flex:none;
    background:#fff; box-shadow:0 2px 8px rgba(16,21,47,.14); border:1px solid var(--paper-line);
    display:flex; flex-direction:column;
  }
  .bh-top{flex:1; display:flex; align-items:center; gap:6px; padding:0 9px;}
  .bh-icon{width:20px; height:20px; border-radius:4px; background:#d81e2c; display:flex; align-items:center; justify-content:center; flex:none;}
  .bh-icon svg{width:13px; height:13px;}
  .bh-word{font-family:'Raleway',sans-serif; font-weight:800; font-size:.92rem; color:#181818; letter-spacing:.01em;}
  .bh-bottom{border-top:1px solid #e3e3e3; text-align:center; font-size:.48rem; letter-spacing:.15em; color:#8d8d8d; padding:4px 0; font-weight:700;}
  .badge-lcp{width:64px; height:64px; flex:none; border-radius:50%; box-shadow:0 2px 8px rgba(16,21,47,.14);}

  /* ---------- CONTACT / COLLABORATE ---------- */
  .contact-layout{
    display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center;
  }
  @media (max-width:900px){ .contact-layout{grid-template-columns:1fr; gap:40px;} }
  .contact-card{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.14);
    border-radius:26px; padding:36px;
    display:flex; flex-direction:column; gap:22px;
  }
  .contact-row{display:flex; gap:16px; align-items:center;}
  .contact-row .icn{
    width:42px; height:42px; border-radius:12px; flex:none;
    background:linear-gradient(135deg, var(--navy), var(--cyan));
    display:flex; align-items:center; justify-content:center;
  }
  .contact-row a{text-decoration:none; font-size:1.02rem; font-weight:600; color:var(--cream-text);}
  .contact-row span.label{display:block; font-size:.74rem; text-transform:uppercase; letter-spacing:.1em; color:var(--mist-dim); margin-bottom:3px;}

  /* ---------- FOOTER ---------- */
  footer{
    padding:34px 0; border-top:1px solid var(--paper-line);
    display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
  }
  footer, .section-on-ink + footer{}
  footer .flogo{display:flex; align-items:center; gap:10px;}
  footer .flogo img{height:24px;}
  footer small{color:var(--stone); font-size:.78rem;}
  .on-ink-footer{border-top:1px solid rgba(255,255,255,.12); background:var(--ink); color:var(--mist);}
  .on-ink-footer small{color:var(--mist);}

  ::selection{background:var(--cyan); color:#08101f;}
  a:focus-visible, button:focus-visible{outline:2px solid var(--cyan); outline-offset:3px; border-radius:4px;}

  /* ---------- TWO-PAGE ADDITIONS ---------- */
  .section.compact{padding:64px 0;}
  .nav-links a.is-current{opacity:1; border-bottom:2px solid var(--cyan); padding-bottom:4px;}
  .audience-note{
    display:flex; gap:10px; flex-wrap:wrap; align-items:center;
    margin-bottom:44px; padding:14px 20px; border-radius:16px;
    background:color-mix(in srgb, var(--cyan) 10%, transparent);
    border:1px solid color-mix(in srgb, var(--cyan) 32%, transparent);
    font-size:.95rem; line-height:1.5; color:var(--navy);
  }
  .audience-note a{font-weight:700; color:var(--blue);}
  .inst-band{
    display:grid; grid-template-columns:1fr auto; gap:36px; align-items:center;
    padding:36px 40px; border:1px dashed var(--paper-line); border-radius:24px;
  }
  @media (max-width:760px){ .inst-band{grid-template-columns:1fr; padding:28px;} }
  .inst-band h3{margin:12px 0 10px; font-size:clamp(1.3rem,2.2vw,1.7rem); font-weight:300; line-height:1.25;}
  .inst-band p{font-size:.98rem; line-height:1.65; color:var(--stone); max-width:56ch;}

