@import url('https://fonts.googleapis.com/css2?family=Hedvig+Letters+Serif:opsz@12..24&family=Lato:ital,wght@1,300&family=Poppins:wght@200&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

   :root {
      --ink:        #0f0e0d;
      --ink2:       #1a1816;
      --ink3:       #252220;
      --ink4:       #302c28;
      --warm-900:   #1c1814;
      --warm-800:   #2e2820;
      --warm-700:   #3e3630;
      --warm-600:   #5a5048;
      --warm-500:   #7a6e64;
      --warm-400:   #a09488;
      --warm-300:   #c4b8ac;
      --warm-200:   #ddd4c8;
      --warm-100:   #ede8e2;
      --warm-50:    #f5f1ec;
      --paper:      #faf7f3;
      --paper2:     #f2ede6;
      --paper3:     #ebe4db;
      --violet:     #7c5cbf;
      --violet-mid: #9b7fd4;
      --violet-lite: #c4b0e8;
      --violet-pale: #ede8f8;
      --violet-dim:  rgba(124,92,191,0.12);
      --white:      #ffffff;
      --text-body:  #3d3630;
      --text-mid:   #6a5e54;
      --text-dim:   #9a8e84;
      --border-w:   rgba(60,50,40,0.1);
      --border-wm:  rgba(60,50,40,0.18);
      --border-v:   rgba(124,92,191,0.18);
      --mono:       'DM Mono', monospace;
    }
 
    html { scroll-behavior: smooth; }
 
    body {
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
 
    /* ══════════════════════════════════════════
       S1 — HERO
       Warm paper background, large editorial
       Fraunces type, floating thought-bubble
       nodes, light violet thread lines
    ══════════════════════════════════════════ */
    .s1 {
      background: #010b16;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      position: relative;
      overflow: hidden;
    }
 
    /* Very subtle warm grain */
    .s1::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
      z-index: 0;
      pointer-events: none;
    }
 
    /* Soft violet glow top-right */
    .s1-glow {
      position: absolute;
      width: 700px; height: 700px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(124,92,191,0.08) 0%, transparent 65%);
      top: -200px; right: -200px;
      z-index: 0;
      pointer-events: none;
      animation: glowDrift 14s ease-in-out infinite alternate;
    }
 
    @keyframes glowDrift {
      0%   { transform: translate(0,0) scale(1); }
      100% { transform: translate(-40px,60px) scale(1.1); }
    }
 
    /* Floating node lines — SVG background illustration */
    .s1-nodes {
      position: absolute;
      top: 0; right: 0;
      width: 55%;
      height: 100%;
      z-index: 0;
      opacity: 0.6;
    }
 
    /* Top bar */
    .s1-topbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 2rem 8vw;
      position: relative;
      z-index: 2;
      border-bottom: 0.5px solid var(--border-w);
    }
 
    .s1-breadcrumb {
      font-family: var(--mono);
      font-size: 0.56rem;
      font-weight: 300;
      letter-spacing: 0.12em;
      color: var(--text-dim);
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }
 
    .s1-breadcrumb .active { color: var(--violet); }
    .s1-breadcrumb .sep    { color: var(--warm-300); }
 
    .s1-tag {
      font-family: var(--mono);
      font-size: 0.54rem;
      font-weight: 400;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--violet);
      background: var(--violet-pale);
      padding: 4px 12px;
      border-radius: 100px;
    }
 
    /* Main hero content */
    .s1-body {
      flex: 1;
      display: grid;
      grid-template-columns: 1.1fr 1fr;
      gap: 0;
      padding: 5rem 8vw 4rem;
      position: relative;
      z-index: 1;
      align-items: center;
    }
 
    .s1-left {}
 
    .s1-overline {
      font-family: var(--mono);
      font-size: 0.58rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--violet);
      margin-bottom: 1.8rem;
      display: flex;
      align-items: center;
      gap: 10px;
    }
 
    .s1-overline::before {
      content: '';
      display: block;
      width: 20px; height: 1px;
      background: var(--violet-mid);
    }
 
    .s1-title {
      font-family: 'Fraunces', serif;
      font-weight: 300;
      font-size: clamp(3.2rem, 6.5vw, 7rem);
      line-height: 0.96;
      letter-spacing: -0.02em;
      color: #C86E1A;
      margin-bottom: 2.5rem;
    }
 
    .s1-title .line-ai {
      font-style: italic;
      color: var(--violet);
      display: block;
    }
 
    .s1-title .line-advisory {
      color: var(--warm-400);
      font-size: 55%;
      display: block;
      font-style: normal;
      letter-spacing: 0.06em;
      font-weight: 300;
      margin-top: 0.3rem;
    }
 
    .s1-lead {
      font-size: 1rem;
      font-weight: 300;
      line-height: 1.85;
      color: var(--text-mid);
      max-width: 480px;
      margin-bottom: 3rem;
      letter-spacing: 1.5px;
    }
 
    .s1-lead strong {
      font-weight: 500;
      color: var(--text-body);
    }
 
    .s1-actions {
      display: flex;
      align-items: center;
      gap: 1.5rem;
      flex-wrap: wrap;
    }
 
    .btn-ai {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 0.7rem;
      text-transform: uppercase;
      font-weight: 500;
      letter-spacing: 0.04em;
      color: var(--white);
      background: var(--violet);
      padding: 0.9rem 1.8rem;
      text-decoration: none;
      border-radius: 2px;
      transition: background 0.2s, transform 0.15s;
    }
 
    .btn-ai:hover { background: var(--violet-mid); transform: translateY(-1px); }
 
    .btn-ai-outline {
      display: inline-flex;
      align-items: center;
      text-transform: uppercase;
      gap: 8px;
      font-size: .7rem;
      font-weight: 400;
      color: var(--text-mid);
      text-decoration: none;
      border-bottom: 1px solid #C86E1A;
      padding-bottom: 2px;
      transition: color 0.2s, border-color 0.2s;
    }
 
    .btn-ai-outline:hover { color: #ebe4db; border-color: #C86E1A; }
 
    /* Right — illustrated thought nodes */
    .s1-right {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 2rem 0 2rem 4vw;
    }
 
    .s1-illustration {
      position: relative;
      width: 100%;
      max-width: 480px;
      height: 420px;
    }
 
    /* Node cards floating */
    .s1-node {
      position: absolute;
      background: #ddd4c8;
      border: 0.5px solid var(--border-wm);
      padding: 1rem 1.2rem;
      box-shadow: 0 4px 24px rgba(60,50,40,0.06), 0 1px 4px rgba(60,50,40,0.04);
      transition: transform 0.3s, box-shadow 0.3s;
      max-width: 200px;
      border-radius: 25px;
    }
 
    .s1-node:hover {
      transform: translateY(-3px);
      box-shadow: 0 8px 32px rgba(60,50,40,0.1), 0 2px 8px rgba(60,50,40,0.06);
    }
 
    .s1-node-label {
      font-family: var(--mono);
      font-size: 0.7rem;
      font-weight: 400;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--violet);
      margin-bottom: 0.4rem;
    }
 
    .s1-node-title {
      font-family: 'Fraunces', serif;
      font-weight: 400;
      font-size: 0.88rem;
      color: var(--ink);
      line-height: 1.3;
    }
 
    .s1-node-body {
      font-size: 0.65rem;
      font-weight: 300;
      color: var(--text-dim);
      margin-top: 0.3rem;
      line-height: 1.5;
    }
 
    /* Violet dot */
    .s1-node-dot {
      width: 6px; height: 6px;
      border-radius: 50%;
      background: var(--violet-mid);
      margin-bottom: 0.6rem;
    }
 
    /* Connecting SVG lines */
    .s1-threads {
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: -1;
    }
 
    /* Bottom strip — four sub-services */
    .s1-services-strip {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      border-top: 0.5px solid var(--border-w);
      position: relative;
      z-index: 2;
      background: #ddd4c8;
    }
 
    .s1-service-tile {
      padding: 2rem 3vw;
      border-right: 2px solid #C86E1A;
      display: flex;
      align-items: center;
      justify-content: space-between;
      text-decoration: none;
      transition: background 0.2s;
      gap: 1rem;
    }
 
    .s1-service-tile:last-child { border-right: none; }
    .s1-service-tile:hover { background: var(--paper2); }
 
 
    .s1-tile-num {
      font-family: var(--mono);
      font-size: 0.6rem;
      font-weight: 300;
      color: var(--text-dim);
      letter-spacing: 0.1em;
      margin-bottom: 0.4rem;
    }
 
    .s1-tile-name {
       font-family: 'Cormorant Garamond', serif;
      font-weight: 500;
      font-size: 1rem;
      color: var(--ink);
      line-height: 1.2;
    }
 
    .s1-tile-arrow {
      color: var(--violet-mid);
      font-size: 1rem;
      flex-shrink: 0;
      opacity: 0;
      transform: translateX(-4px);
      transition: opacity 0.2s, transform 0.2s;
    }
 
    .s1-service-tile:hover .s1-tile-arrow {
      opacity: 1;
      transform: translateX(0);
    }
 
    /* ══════════════════════════════════════════
       S2 — THE AI INFLECTION POINT
       Background: warm paper2
       Layout: editorial magazine — oversized
       pull quote centre flanked by columns
    ══════════════════════════════════════════ */
    .s2 {
      background: var(--paper2);
      padding: 8rem 8vw;
      border-top: 0.5px solid var(--border-w);
      position: relative;
      overflow: hidden;
    }
 
    /* Large Fraunces watermark */
    .s2::before {
      content: 'AI';
      position: absolute;
      bottom: -0.1em;
      right: -0.05em;
      font-family: 'Fraunces', serif;
      font-weight: 600;
      font-size: clamp(14rem, 28vw, 32rem);
      line-height: 1;
      color: rgba(124,92,191,0.04);
      pointer-events: none;
      user-select: none;
      z-index: 0;
    }
 
    .s2-inner {
      display: grid;
      grid-template-columns: 1fr 1.6fr 1fr;
      gap: 4vw;
      position: relative;
      z-index: 1;
      align-items: start;
    }
 
    .s2-left-col {}
 
    .s2-eyebrow {
      font-family: var(--mono);
      font-size: 0.56rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--violet);
      margin-bottom: 1.5rem;
      display: flex;
      align-items: center;
      gap: 8px;
    }
 
    .s2-eyebrow::before {
      content: '';
      display: block;
      width: 16px; height: 1px;
      background: var(--violet-mid);
    }
 
    .s2-col-title {
       font-family: 'Cormorant Garamond', serif;
      font-weight: 100;
      font-size: clamp(1.3rem, 2vw, 1.8rem);
      line-height: 1.2;
      color: #C86E1A;
      margin-bottom: 1rem;
    }
 
    .s2-col-body {
      font-size: 0.82rem;
      font-weight: 300;
      line-height: 1.95;
      color:#fff;
      letter-spacing: 1.5px;
    }
 
    /* Stats list */
    .s2-stats {
      display: flex;
      flex-direction: column;
      gap: 0;
      margin-top: 2rem;
    }
 
    .s2-stat {
      padding: 1rem 0;
      border-bottom: 0.5px solid var(--border-w);
    }
 
    .s2-stat:last-child { border-bottom: none; }
 
    .s2-stat-num {
       font-family: 'Cormorant Garamond', serif;
      font-weight: 300;
      font-size: 2rem;
      line-height: 1;
      color: #C86E1A;
      margin-bottom: 0.25rem;
    }
 
    .s2-stat-num span { color: var(--violet); }
 
    .s2-stat-label {
      font-size: 0.7rem;
      font-weight: 300;
      color: #ffffff;
      line-height: 1.55;
      letter-spacing: 1.5px;
    }
 
    /* Centre — large pull quote */
    .s2-centre {
      padding: 2rem 3vw;
      border-left: 0.5px solid var(--border-w);
      border-right: 0.5px solid var(--border-w);
    }
 
    .s2-quote-large {
       font-family: 'Cormorant Garamond', serif;
      font-style: italic;
      font-weight: 300;
      font-size: clamp(1.4rem, 2.4vw, 2.2rem);
      line-height: 1.45;
      color: #C86E1A;
      margin-bottom: 2rem;
      position: relative;
    }
 
    .s2-quote-large::before {
      content: '\201C';
      position: absolute;
      top: -0.5em;
      left: -0.3em;
      font-size: 4em;
      color: var(--violet-lite);
      font-style: normal;
      line-height: 1;
    }
 
    .s2-quote-rule {
      width: 40px; height: 1.5px;
      background: var(--violet-mid);
      margin-bottom: 1.2rem;
    }
 
    .s2-quote-source {
      font-family: var(--mono);
      font-size: 0.56rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }
 
    /* What makes AI advisory different */
    .s2-differences {
      margin-top: 3rem;
      display: flex;
      flex-direction: column;
      gap: 0;
    }
 
    .s2-diff {
      padding: 1.2rem 0;
      border-bottom: 0.5px solid var(--border-w);
      display: flex;
      align-items: flex-start;
      gap: 1rem;
    }
 
    .s2-diff:last-child { border-bottom: none; }
 
    .s2-diff-dot {
      width: 6px; height: 6px;
      border-radius: 50%;
      background: var(--violet-mid);
      flex-shrink: 0;
      margin-top: 0.5rem;
    }
 
    .s2-diff-text {
      font-size: 0.78rem;
      font-weight: 100;
      color: snow;
      line-height: 1.65;
      letter-spacing: 1.2px;
    }
 
    .s2-diff-text strong { font-weight: 500; color: var(--text-body); }
 
    /* Right col — what AI advisory is not */
    .s2-right-col {}
 
    .s2-contrast {
      display: flex;
      flex-direction: column;
      gap: 0;
    }
 
    .s2-contrast-item {
      padding: 1.4rem 0;
      border-bottom: 0.5px solid var(--border-w);
    }
 
    .s2-contrast-item:last-child { border-bottom: none; }
 
    .s2-contrast-not {
      font-family: 'Cormorant Garamond', serif;
      font-size: 0.62rem;
      font-weight: 400;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: snow;
      margin-bottom: 0.4rem;
      text-decoration: line-through;
      text-decoration-color: rgba(200,60,60,0.4);
    }
 
    .s2-contrast-is {
      font-size: 1.2rem;
      font-weight: 400;
      color: #C86E1A;
      line-height: 1.4;
       font-family: 'Cormorant Garamond', serif;
       letter-spacing: 1.2px;
    }
 
    .s2-contrast-body {
      font-size: 0.72rem;
      font-weight: 300;
      letter-spacing: 1.5px;
      color: snow;
      line-height: 1.65;
      margin-top: 0.3rem;
    }
 
    /* ══════════════════════════════════════════
       S3 — FOUR SUB-SERVICES
       Background: white
       Layout: tall cards with warm top band
       and generous open space feel
    ══════════════════════════════════════════ */
    .s3 {
      background: snow !important;
      padding: 8rem 8vw;
      border-top: 0.5px solid var(--border-w);
    }
 
    .s3-header {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5vw;
      margin-bottom: 5rem;
      padding-bottom: 3rem;
      border-bottom: 0.5px solid var(--border-wm);
      align-items: end;
    }
 
    .s3-eyebrow {
       font-family: 'Cormorant Garamond', serif;
      font-size: 0.56rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--violet);
      margin-bottom: 1rem;
    }
 
    .s3-title {
       font-family: 'Cormorant Garamond', serif;
      font-weight: 300;
      font-size: clamp(1.8rem, 3.5vw, 3.5rem);
      line-height: 1.05;
      color: #040365 !important;
      text-transform: capitalize;
    }
 
    .s3-title em { font-style: italic; color: var(--violet); }
 
    .s3-header-right {
      font-size: 0.88rem;
      font-weight: 300;
      line-height: 1.9;
      color: #040365 !important;
    }
 
    /* 2×2 sub-service cards */
    .s3-cards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2px;
      background: var(--border-w);
    }
 
    .s3-card {
      background: #010b16;
      padding: 3.5rem 3rem;
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      min-height: 480px;
      transition: background 0.3s;
    }
 
    .s3-card:hover { background: #000; }
 
    /* Warm top band — each unique */
    .s3-card-band {
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 3px;
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.5s ease;
    }
 
    .s3-card:hover .s3-card-band { 
      transform: scaleX(1); 
    }
 
    .band-gov     { background: linear-gradient(90deg, var(--violet), var(--violet-mid)); }
    .band-sec     { background: linear-gradient(90deg, #c45a3a, #e8904a); }
    .band-bias    { background: linear-gradient(90deg, var(--warm-600), var(--warm-400)); }
    .band-trans   { background: linear-gradient(90deg, #3a7a6a, #5aaa90); }
 
    /* Large background number */
    .s3-card-bg {
      position: absolute;
      bottom: -0.15em;
      right: -0.05em;
      font-family: 'Fraunces', serif;
      font-weight: 600;
      font-size: 12rem;
      line-height: 1;
      color: #303030;
      pointer-events: none;
      user-select: none;
      transition: color 0.3s;
    }
 
    .s3-card:hover .s3-card-bg { color: #C86E1A; }
 
    .s3-card-num {
      font-family: var(--mono);
      font-size: 0.56rem;
      font-weight: 400;
      letter-spacing: 0.16em;
      color: var(--violet);
      margin-bottom: 2.5rem;
    }
 
    .s3-card-icon {
      width: 52px; height: 52px;
      border: 0.5px solid var(--border-wm);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 2rem;
      transition: border-color 0.3s, background 0.3s;
      border-radius: 2px;
    }
 
    .s3-card:hover .s3-card-icon {
      border-color: var(--violet-lite);
      background: #000 !important;
    }
 
    .s3-card-icon svg {
      width: 22px; height: 22px;
      stroke: var(--warm-500);
      fill: none;
      stroke-width: 1.5;
      transition: stroke 0.3s;
    }
 
    .s3-card:hover .s3-card-icon svg { stroke: var(--violet); }
 
    .s3-card-title {
       font-family: 'Cormorant Garamond', serif;
      font-weight: 300;
      font-size: clamp(1.5rem, 2.2vw, 2rem);
      line-height: 1.15;
      color: #C86E1A;
      margin-bottom: 1.2rem;
      letter-spacing: 1.2px;
    }
 
    .s3-card-body {
      font-size: 0.82rem;
      font-weight: 300;
      line-height: 1.9;
      color: snow;
      letter-spacing: 1.5px;
      flex: 1;
      margin-bottom: 2.5rem;
    }
 
    .s3-card-features {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
      margin-bottom: 2.5rem;
    }
 
    .s3-feature {
      font-size: .8rem;
      font-weight: 300;
      color: #a8a9a8;
      display: flex;
      align-items: flex-start;
      gap: 8px;
      line-height: 1.5;
      font-family: 'Cormorant Garamond', serif;
      letter-spacing: 1.5px;
    }
 
    .s3-feature::before {
      content: '';
      display: block;
      width: 10px; height: 1px;
      background: var(--violet-lite);
      flex-shrink: 0;
      margin-top: 0.6em;
    }
 
    .s3-card-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 0.8rem;
      letter-spacing: 1.2px;
      font-weight: 500;
      color: var(--violet);
      text-decoration: none;
      align-self: flex-start;
      border-bottom: 1px solid var(--border-v);
      padding-bottom: 2px;
      transition: color 0.2s, border-color 0.2s;
    }
 
    .s3-card-link:hover { color: var(--violet-mid); border-color: var(--violet-mid); }
 
    .s3-link-arrow { display: inline-block; transition: transform 0.2s; }
    .s3-card-link:hover .s3-link-arrow { transform: translateX(4px); }
 
    /* ══════════════════════════════════════════
       S4 — WHY AI ADVISORY NOW
       Background: ink dark — dramatic contrast
       Layout: full-bleed editorial with
       large Fraunces italic left + right list
    ══════════════════════════════════════════ */
    .s4 {
      background: var(--ink);
      padding: 8rem 8vw;
      border-top: 0.5px solid rgba(255,255,255,0.05);
      display: grid;
      grid-template-columns: 1.1fr 1fr;
      gap: 6vw;
      position: relative;
      overflow: hidden;
    }
 
    /* Violet orb on dark */
    .s4::before {
      content: '';
      position: absolute;
      width: 600px; height: 600px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(124,92,191,0.1) 0%, transparent 65%);
      bottom: -200px; left: -200px;
      z-index: 0;
      pointer-events: none;
    }
 
    .s4-left { position: relative; z-index: 1; }
    .s4-right { position: relative; z-index: 1; }
 
    .s4-eyebrow {
      font-family: var(--mono);
      font-size: 0.56rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--violet-mid);
      margin-bottom: 2rem;
      display: flex;
      align-items: center;
      gap: 8px;
    }
 
    .s4-eyebrow::before {
      content: '';
      display: block;
      width: 16px; height: 1px;
      background: var(--violet);
    }
 
    .s4-big-title {
      font-family: 'Cormorant Garamond', serif;
      font-weight: 300;
      font-size: clamp(2.5rem, 5vw, 5.5rem);
      line-height: 1.0;
      letter-spacing: -0.05em;
      color: var(--warm-100);
      margin-bottom: 2rem;
    }
 
    .s4-big-title em {
      font-style: italic;
      color: var(--violet-lite);
    }
 
    .s4-body {
      font-size: 0.88rem;
      font-weight: 300;
      line-height: 1.9;
      color: rgba(220,210,200,0.55);
      margin-bottom: 2.5rem;
    }
 
    .s4-highlight {
      background: rgba(124,92,191,0.12);
      border: 0.5px solid rgba(124,92,191,0.2);
      padding: 1.5rem 1.8rem;
    }
 
    .s4-highlight-text { 
      font-family: 'Cormorant Garamond', serif;
      font-style: italic;
      font-weight: 300;
      font-size: 1.05rem;
      line-height: 1.65;
      color: #C86E1A;
      letter-spacing: 1.5px;
    }
 
    /* Right — reality check list */
    .s4-right-label {
      font-family: var(--mono);
      font-size: 0.52rem;
      font-weight: 400;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: #C86E1A;
      margin-bottom: 2rem;
      padding-bottom: 1rem;
      border-bottom: 0.5px solid rgba(255,255,255,0.06);
    }
 
    .s4-realities {
      display: flex;
      flex-direction: column;
      gap: 0;
    }
 
    .s4-reality {
      padding: 1.6rem 0;
      border-bottom: 0.5px solid rgba(255,255,255,0.05);
      display: flex;
      align-items: flex-start;
      gap: 1.2rem;
    }
 
    .s4-reality:last-child { border-bottom: none; }
 
    .s4-reality-num {
      font-family: 'Fraunces', serif;
      font-weight: 300;
      font-size: 2rem;
      line-height: 1;
      color: rgba(255,255,255,0.07);
      flex-shrink: 0;
      min-width: 2rem;
    }
 
    .s4-reality-title {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--warm-100);
      margin-bottom: 0.65rem;
      line-height: 1.3;
      letter-spacing: 1.2px;
    }
 
    .s4-reality-body {
      font-size: 0.8rem;
      font-weight: 300;
      line-height: 1.75;
      letter-spacing: 1.2px;
      color: rgba(200,190,180,0.5);
    }
 
    /* ══════════════════════════════════════════
       S5 — OUR APPROACH
       Background: paper — warm light
       Layout: horizontal process with
       warm connectors and human language
    ══════════════════════════════════════════ */
    .s5 {
      background: var(--paper);
      padding: 8rem 8vw;
      border-top: 0.5px solid var(--border-w);
    }
 
    .s5-header {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      margin-bottom: 5rem;
      padding-bottom: 2rem;
      border-bottom: 0.5px solid var(--border-wm);
    }
 
    .s5-eyebrow {
      font-family: var(--mono);
      font-size: 0.56rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--violet);
      margin-bottom: 1rem;
    }
 
    .s5-title {
      font-family: 'Fraunces', serif;
      font-weight: 300;
      font-size: clamp(1.8rem, 3.2vw, 3.2rem);
      line-height: 1.1;
      color: var(--ink);
    }
 
    .s5-title em { font-style: italic; color: var(--violet); }
 
    .s5-num {
      font-family: 'Fraunces', serif;
      font-weight: 300;
      font-size: 6rem;
      color: rgba(60,50,40,0.05);
      line-height: 1;
    }
 
    /* Principle cards */
    .s5-principles {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      position: relative;
    }
 
    /* Connecting line */
    .s5-principles::before {
      content: '';
      position: absolute;
      top: 28px;
      left: 28px;
      right: 28px;
      height: 1px;
      background: linear-gradient(90deg, var(--violet-pale), var(--border-w), var(--violet-pale));
      z-index: 0;
    }
 
    .s5-principle {
      padding: 0 2.5rem 0 0;
      position: relative;
      z-index: 1;
    }
 
    .s5-principle:last-child { padding-right: 0; }
 
    .s5-p-orb {
      width: 56px; height: 56px;
      background: var(--white);
      border: 0.5px solid var(--border-wm);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 2rem;
      transition: border-color 0.3s, background 0.3s, transform 0.3s;
    }
 
    .s5-principle:hover .s5-p-orb {
      border-color: var(--violet-lite);
      background: var(--violet-pale);
      transform: scale(1.08);
    }
 
    .s5-p-orb svg {
      width: 20px; height: 20px;
      stroke: var(--warm-500);
      fill: none;
      stroke-width: 1.5;
      transition: stroke 0.3s;
    }
 
    .s5-principle:hover .s5-p-orb svg { stroke: var(--violet); }
 
    .s5-p-num {
      font-family: var(--mono);
      font-size: 0.52rem;
      font-weight: 300;
      color: var(--text-dim);
      letter-spacing: 0.1em;
      margin-bottom: 0.5rem;
    }
 
    .s5-p-title {
      font-family: 'Fraunces', serif;
      font-weight: 300;
      font-size: 1.05rem;
      color: var(--ink);
      margin-bottom: 0.7rem;
      line-height: 1.3;
    }
 
    .s5-p-body {
      font-size: 0.76rem;
      font-weight: 300;
      line-height: 1.85;
      color: var(--text-mid);
    }
 
 
    /* ══════════════════════════════════════════
       S6 — CTA
       Background: paper2 / white split
       Form right, left warm invitation
    ══════════════════════════════════════════ */
    .s8 {
      display: grid;
      grid-template-columns: 1fr 1.3fr;
      border-top: 0.5px solid var(--border-w);
      background: #ffffff !important;
    }
 
    .s8-left {
      background: var(--paper2);
      padding: 8rem 4vw 8rem 8vw;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      border-right: 0.5px solid var(--border-w);
    }
 
    .s8-l-eyebrow {
      font-family: var(--mono);
      font-size: 0.56rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--violet);
      margin-bottom: 1.4rem;
    }
 
    .s8-l-title {
      font-family: 'Fraunces', serif;
      font-weight: 300;
      font-size: clamp(1.8rem, 3.2vw, 3rem);
      line-height: 1.1;
      color: var(--ink);
      margin-bottom: 1.2rem;
    }
 
    .s8-l-title em { font-style: italic; color: var(--violet); }
 
    .s8-l-body {
      font-size: 0.88rem;
      font-weight: 300;
      line-height: 1.9;
      color: #000;
      letter-spacing: 1.2px;
      margin-bottom: 3rem;
    }
 
    .s8-checklist {
      display: flex;
      flex-direction: column;
      gap: 0;
    }
 
    .s8-check {
      display: flex;
      align-items: flex-start;
      gap: 1rem;
      padding: 1rem 0;
      border-bottom: 0.5px solid var(--border-w);
    }
 
    .s8-check:last-child { border-bottom: none; }
 
    .s8-check-orb {
      width: 22px; height: 22px;
      border: 0.5px solid var(--border-v);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      background: var(--violet-pale);
    }
 
    .s8-check-orb svg {
      width: 9px; height: 9px;
      stroke: var(--violet);
      fill: none;
      stroke-width: 2;
    }
 
    .s8-check-text {
      font-size: 0.76rem;
      font-weight: 300;
      color: #000;
      line-height: 1.65;
    }
 
    /* Nav strip */
    .s8-nav-strip {
      padding-top: 2.5rem;
      border-top: 0.5px solid var(--border-w);
    }
 
    .s8-nav-label {
      font-family: var(--mono);
      font-size: 0.5rem;
      font-weight: 300;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--text-dim);
      margin-bottom: 1rem;
    }
 
    .s8-nav {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      list-style: none;
    }
 
    .s8-nav li a {
      display: inline-block;
      font-size: 0.65rem;
      font-weight: 400;
      color: #000;
      border: 0.5px solid var(--border-wm);
      padding: 4px 12px;
      text-decoration: none;
      border-radius: 100px;
      transition: background 0.15s, color 0.15s, border-color 0.15s;
    }
 
    .s8-nav li a:hover,
    .s8-nav li.active a {
      background: var(--violet);
      color: var(--white);
      border-color: var(--violet);
    }
 
    /* Right form */
    .s8-right {
      background: var(--white);
      padding: 8rem 8vw 8rem 5vw;
    }
 
    .s8-r-eyebrow {
      font-family: var(--mono);
      font-size: 0.56rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--violet);
      margin-bottom: 1.2rem;
    }
 
    .s8-r-title {
      font-family: 'Fraunces', serif;
      font-weight: 300;
      font-size: clamp(1.6rem, 2.5vw, 2.4rem);
      line-height: 1.1;
      color: var(--ink);
      margin-bottom: 1rem;
    }
 
    .s8-r-title em { font-style: italic; color: var(--violet); }
 
    .s8-r-lead {
      font-size: 0.88rem;
      font-weight: 300;
      line-height: 1.9;
      color: #000;
      margin-bottom: 2.5rem;
    }
 
    .s8-form  { display: flex; flex-direction: column; gap: 1rem; }
    .s8-row   { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
    .s8-field { display: flex; flex-direction: column; gap: 0.4rem; }
 
    .s8-label {
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--text-dim);
    }
 
    .s8-input {
      font-family: 'DM Sans', sans-serif;
      font-size: 0.9rem;
      font-weight: 300;
      color: var(--ink);
      background: var(--paper);
      border: 0.5px solid var(--border-wm);
      padding: 0.8rem 1rem;
      outline: none;
      transition: border-color 0.2s, background 0.2s;
      -webkit-appearance: none;
      border-radius: 2px;
    }
 
    .s8-input:focus {
      border-color: var(--violet);
      background: var(--white);
    }
 
    .s8-input::placeholder { color: var(--warm-400); }
    textarea.s8-input { resize: vertical; min-height: 100px; }
 
    .s8-submit {
      align-self: flex-start;
      font-family: 'DM Sans', sans-serif;
      font-size: 0.78rem;
      font-weight: 500;
      color: var(--white);
      background: var(--violet);
      border: none;
      padding: 0.9rem 2rem;
      cursor: pointer;
      border-radius: 2px;
      transition: background 0.2s, transform 0.15s;
    }
 
    .s8-submit:hover {
      background: var(--violet-mid);
      transform: translateY(-1px);
    }
 
    /* ══════════════════════════════════════════
       RESPONSIVE
    ══════════════════════════════════════════ */
    @media (max-width: 1000px) {
      .s1-body { grid-template-columns: 1fr; }
      .s1-right { display: none; }
      .s1-services-strip { grid-template-columns: 1fr 1fr; }
      .s1-service-tile:nth-child(2) { border-right: none; }
      .s1-service-tile:nth-child(n+3) { border-top: 0.5px solid var(--border-w); }
      .s2-inner { grid-template-columns: 1fr; gap: 3rem; }
      .s2-centre { border-left: none; border-right: none; border-top: 0.5px solid var(--border-w); border-bottom: 0.5px solid var(--border-w); padding: 3rem 0; }
      .s3-header { grid-template-columns: 1fr; gap: 1.5rem; }
      .s3-cards { grid-template-columns: 1fr; }
      .s4 { grid-template-columns: 1fr; gap: 3rem; }
      .s5-header { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
      .s5-principles { grid-template-columns: 1fr 1fr; }
      .s5-principles::before { display: none; }
      .s6-header { grid-template-columns: 1fr; gap: 1.5rem; }
      .s6-top { grid-template-columns: 1fr 1fr; }
      .s6-bottom { margin-left: 0; margin-right: 0; grid-template-columns: 1fr 1fr; }
      .s7-pillars { grid-template-columns: 1fr; }
      .s7-pillar { border-right: none; border-bottom: 0.5px solid var(--border-wm); }
      .s7-pillar:last-child { border-bottom: none; }
      .s8 { grid-template-columns: 1fr; }
      .s8-left { padding: 5rem 8vw; border-right: none; border-bottom: 0.5px solid var(--border-w); }
      .s8-right { padding: 5rem 8vw; }
    }
 
    @media (max-width: 600px) {
      .s1-services-strip { grid-template-columns: 1fr; }
      .s1-service-tile { border-right: none; border-bottom: 0.5px solid var(--border-w); }
      .s5-principles { grid-template-columns: 1fr; }
      .s6-top { grid-template-columns: 1fr; }
      .s6-bottom { grid-template-columns: 1fr; }
      .s8-row { grid-template-columns: 1fr; }
    }