/* ============================================================
   PAGE: BOARDROOM & SOUL™ — charisa-boardroom-soul.html
   Only styles unique to this page. Global styles in global.css.
   ============================================================ */

/* ── HERO ────────────────────────────────────────────────── */
.bs-hero {
  min-height: 90vh;
  background: var(--navy);
  display: grid;
  grid-template-columns: 55% 45%;
  position: relative;
  overflow: hidden;
}
.bsh-atm {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 60% 55% at 85% 35%, rgba(45,107,116,.18) 0%, transparent 60%),
    radial-gradient(ellipse 45% 45% at 15% 75%, rgba(125,31,46,.15) 0%, transparent 55%),
    radial-gradient(ellipse 35% 40% at 50% 10%, rgba(201,168,76,.05) 0%, transparent 50%);
}
.bsh-gt {
  position: absolute; inset: 0; pointer-events: none; opacity: .03;
  background-image:
    linear-gradient(rgba(201,168,76,1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,168,76,1) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
}
.bsh-orb-1 { width:560px; height:560px; top:-140px; right:-100px; animation: floatA 14s ease-in-out infinite; }
.bsh-orb-2 { width:320px; height:320px; bottom:-80px; left:-80px;  animation: floatB 11s ease-in-out infinite 2s; }
.bsh-orb-3 { width:200px; height:200px; top:30%; right:18%;        animation: pulseRing 9s ease-in-out infinite; }

.bsh-inner {
  position: relative; z-index: 2; max-width: 820px;
  padding: clamp(100px,14vh,140px) clamp(28px,7vw,10vw) clamp(80px,10vh,110px);
}
.bsh-ey {
  display: inline-flex; align-items: center; gap: 14px;
  font-size: .62rem; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 28px;
  animation: riseIn .9s cubic-bezier(.22,1,.36,1) .15s both;
}
.bsh-ey::before { content: ''; width: 30px; height: 1px; background: var(--gold); flex-shrink: 0; }
.bsh-h1 {
  font-family: var(--serif);
  font-size: clamp(2.8rem, 5.5vw, 5.4rem);
  font-weight: 400; line-height: 1.06; color: #fff; margin-bottom: 32px;
  animation: riseIn 1s cubic-bezier(.22,1,.36,1) .3s both;
}
.bsh-h1 em                     { color: var(--gold); font-style: italic; }
.bsh-intro {
  max-width: 580px; margin-bottom: 20px;
  animation: riseIn .95s cubic-bezier(.22,1,.36,1) .45s both;
}
.bsh-intro p {
  font-size: clamp(.88rem, 1.3vw, 1rem);
  color: rgba(255,255,255,.55); line-height: 1.88; margin-bottom: 16px;
}
.bsh-truth {
  font-family: var(--serif);
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  font-style: italic; color: var(--gold-lt); line-height: 1.5;
  border-left: 3px solid var(--gold); padding-left: 24px;
  margin: 28px 0 36px;
  animation: riseIn .95s cubic-bezier(.22,1,.36,1) .6s both;
}
.bsh-truth sup                 { font-size: .45em; vertical-align: super; font-style: normal; }
.bsh-btns {
  display: flex; flex-wrap: wrap; gap: 12px;
  animation: riseIn .9s cubic-bezier(.22,1,.36,1) .75s both;
}
/* Photo right column */
.bsh-photo-col { position: relative; z-index: 2; overflow: hidden; }
.bsh-photo-col::before {
  content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background:
    linear-gradient(to right, var(--navy) 0%, rgba(13,27,42,.25) 22%, transparent 45%),
    linear-gradient(to top, var(--navy) 0%, transparent 25%);
}


/* ── SECTION: FRAMEWORK INTRO ───────────────────────────── */
.s-fw-intro {
  background: var(--navy);
  padding: clamp(56px,8vw,80px) 0;
  border-top: 1px solid rgba(201,168,76,.1);
}
.fw-intro-inner {
  text-align: center; max-width: 680px;
  margin: 0 auto; padding: 0 clamp(20px,5vw,64px);
}
.fw-intro-inner p {
  font-size: clamp(.9rem, 1.4vw, 1.05rem);
  color: rgba(255,255,255,.45); line-height: 1.9;
}
.fw-intro-inner strong         { color: rgba(255,255,255,.75); font-weight: 500; }
.fw-badges {
  display: flex; justify-content: center; flex-wrap: wrap;
  gap: 10px; margin-top: 32px;
}
.fw-badge {
  display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid rgba(201,168,76,.2);
  color: rgba(201,168,76,.6);
  padding: 8px 20px; font-size: .6rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
}
.fw-badge-dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--gold); opacity: .6; flex-shrink: 0;
}

/* ── PHOTO PLACEHOLDER BLOCK ────────────────────────────── */
.ph-block {
  background: linear-gradient(155deg, var(--navy-md) 0%, var(--navy) 100%);
  border: 1px solid rgba(201,168,76,.12);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 10px; position: relative; overflow: hidden;
}
.ph-block::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 70% 65% at 50% 40%, rgba(201,168,76,.06) 0%, transparent 65%);
}
.ph-block-icon { font-size: 2rem; opacity: .1; position: relative; z-index: 1; }
.ph-block-lbl {
  font-family: var(--serif); font-size: .7rem;
  color: rgba(201,168,76,.18); letter-spacing: .2em;
  text-transform: uppercase; text-align: center;
  padding: 0 24px; line-height: 1.9;
  position: relative; z-index: 1;
}

/* ── SECTION: FRAMEWORK 1 — LEADERSHIP COST PRINCIPLE ───── */
.s-lcp {
  background: var(--cream);
  padding: clamp(80px,11vw,130px) 0;
  position: relative; overflow: hidden;
  border-top: 1px solid var(--rule);
}
.lcp-orb-1 { width:480px; height:480px; top:-100px; right:-100px; animation: floatA 15s ease-in-out infinite; }
.lcp-orb-2 { width:280px; height:280px; bottom:-60px; left:-60px;  animation: floatB 12s ease-in-out infinite 3s; }
.lcp-g {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(48px,8vw,100px); align-items: center;
  position: relative; z-index: 1;
}
.lcp-label { font-size: .58rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--burg); margin-bottom: 8px; }
.lcp-sub   { font-size: .65rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-lt); margin-bottom: 24px; }
.lcp-copy h2 {
  font-family: var(--serif);
  font-size: clamp(1.9rem, 3.5vw, 3rem);
  color: var(--navy); line-height: 1.12;
  font-weight: 400; margin-bottom: clamp(20px,3vw,32px);
}
.lcp-copy h2 em                { color: var(--burg); font-style: italic; }
.lcp-copy p {
  font-size: clamp(.9rem, 1.35vw, 1.02rem);
  color: var(--text-md); line-height: 1.92; margin-bottom: 20px;
}
.lcp-vis                       { position: relative; }
.lcp-card {
  background: var(--navy); padding: clamp(36px,5vw,56px);
  position: relative; overflow: hidden;
}
.lcp-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(to right, var(--burg), rgba(125,31,46,.3));
}
.lcp-card::after {
  content: '"'; position: absolute; top: 16px; right: 28px;
  font-family: var(--serif); font-size: 8rem;
  color: rgba(201,168,76,.06); line-height: 1; pointer-events: none;
}
.lcp-card-ey  { font-size: .6rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: rgba(201,168,76,.5); margin-bottom: 20px; }
.lcp-card-q   { font-family: var(--serif); font-size: clamp(1.15rem,2.2vw,1.6rem); font-style: italic; color: #fff; line-height: 1.48; margin-bottom: 24px; }
.lcp-card-q em { color: var(--gold); font-style: italic; }
.lcp-card-def { display: flex; flex-direction: column; gap: 12px; margin-top: 28px; padding-top: 28px; border-top: 1px solid rgba(201,168,76,.1); }
.lcp-def-item { display: flex; align-items: flex-start; gap: 14px; }
.lcp-def-dot  { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); flex-shrink: 0; margin-top: 6px; opacity: .6; }
.lcp-def-text { font-size: .85rem; color: rgba(255,255,255,.45); line-height: 1.65; }
.lcp-def-text strong           { color: rgba(255,255,255,.7); font-weight: 500; }

/* ── SECTION: FRAMEWORK 2 — ALIGNMENT MODEL ─────────────── */
.s-align {
  background: var(--navy);
  padding: clamp(80px,11vw,130px) 0;
  position: relative; overflow: hidden;
}
.align-orb-1 { width:500px; height:500px; top:-120px; left:-120px; animation: floatA 16s ease-in-out infinite; }
.align-orb-2 { width:300px; height:300px; bottom:-80px; right:-80px; animation: pulseRing 11s ease-in-out infinite 3s; }
.align-orb-3 { width:160px; height:160px; top:40%; right:10%;        animation: floatB 13s ease-in-out infinite 1s; }

.align-sh { text-align: center; margin-bottom: clamp(48px,7vw,80px); position: relative; z-index: 1; }
.align-label     { font-size: .58rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(201,168,76,.5); margin-bottom: 8px; }
.align-sub-label { font-size: .65rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.3); margin-bottom: 24px; }
.align-sh h2 {
  font-family: var(--serif);
  font-size: clamp(2rem, 4vw, 3.5rem); color: #fff; line-height: 1.1; margin-bottom: 16px;
}
.align-sh h2 em                { color: var(--gold); }
.align-sh p { font-size: clamp(.88rem,1.3vw,1rem); color: rgba(255,255,255,.4); max-width: 460px; margin: 0 auto; line-height: 1.82; }

/* Circles row */
.align-circles { display: flex; align-items: start; justify-content: center; gap: 0; margin: clamp(40px,6vw,64px) 0; position: relative; z-index: 1; }
.ac { display: flex; flex-direction: column; align-items: center; text-align: center; }
.ac-ring {
  width: clamp(160px,18vw,220px); height: clamp(160px,18vw,220px);
  border-radius: 50%; border: 1.5px solid rgba(201,168,76,.25);
  background: rgba(201,168,76,.04);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; padding: 20px; position: relative;
  transition: border-color .4s, box-shadow .4s, transform .4s; cursor: default;
}
.ac:nth-child(1) .ac-ring { border-color: rgba(201,168,76,.35); background: rgba(201,168,76,.05); }
.ac:nth-child(3) .ac-ring { border-color: rgba(45,107,116,.35);  background: rgba(45,107,116,.06); }
.ac:nth-child(5) .ac-ring { border-color: rgba(125,31,46,.35);   background: rgba(125,31,46,.06); }
.ac-ring:hover                 { transform: translateY(-5px); }
.ac:nth-child(1) .ac-ring:hover { border-color: var(--gold);   box-shadow: 0 10px 40px rgba(201,168,76,.15); }
.ac:nth-child(3) .ac-ring:hover { border-color: var(--teal-lt); box-shadow: 0 10px 40px rgba(45,107,116,.2); }
.ac:nth-child(5) .ac-ring:hover { border-color: var(--burg-lt); box-shadow: 0 10px 40px rgba(125,31,46,.2); }
.ac-title { font-family: var(--serif); font-size: clamp(1rem,1.8vw,1.4rem); color: #fff; font-weight: 400; line-height: 1.1; }
.ac-role  { font-size: .54rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-top: 4px; }
.ac:nth-child(1) .ac-role { color: rgba(201,168,76,.6); }
.ac:nth-child(3) .ac-role { color: rgba(74,155,166,.7); }
.ac:nth-child(5) .ac-role { color: rgba(166,51,71,.7); }
.ac-desc { font-size: clamp(.75rem,.95vw,.84rem); color: rgba(255,255,255,.35); line-height: 1.55; margin-top: clamp(12px,1.5vw,18px); max-width: clamp(130px,14vw,175px); }
.ac-arr { display: flex; align-items: center; flex-shrink: 0; padding: 0 clamp(8px,1.5vw,22px); font-size: clamp(1.2rem,2.2vw,1.8rem); color: var(--gold); opacity: .4; margin-bottom: clamp(30px,4vw,48px); min-height: stretch;}

/* Quote below circles */
.align-quote-wrap { text-align: center; max-width: 640px; margin: 0 auto clamp(0px,4vw,20px); position: relative; z-index: 1; }
.align-quote { font-family: var(--serif); font-size: clamp(1.2rem,2.3vw,2rem); font-style: italic; color: rgba(255,255,255,.7); line-height: 1.4; }
.align-quote em                { color: var(--gold); }
.align-quote-attr { font-size: .62rem; letter-spacing: .15em; text-transform: uppercase; color: rgba(201,168,76,.3); margin-top: 14px; }

/* ── SECTION: FRAMEWORK 3 — PURPOSE FINDER FORMULA ──────── */
.s-pff {
  background: var(--warm);
  padding: clamp(80px,11vw,130px) 0;
  position: relative; overflow: hidden;
  border-top: 1px solid var(--rule);
}
.pff-orb-1 { width:440px; height:440px; top:-100px;  right:-100px; animation: floatB 14s ease-in-out infinite; }
.pff-orb-2 { width:240px; height:240px; bottom:-60px; left:-40px;  animation: pulseRing 10s ease-in-out infinite 2s; }

.pff-sh { text-align: center; margin-bottom: clamp(48px,7vw,72px); position: relative; z-index: 1; }
.pff-label     { font-size: .58rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--teal); margin-bottom: 8px; }
.pff-sub-label { font-size: .65rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-lt); margin-bottom: 24px; }
.pff-sh h2  { font-family: var(--serif); font-size: clamp(2rem,4vw,3.5rem); color: var(--navy); line-height: 1.1; }
.pff-sh h2 em  { color: var(--teal); font-style: italic; }
.pff-sh p   { font-size: clamp(.9rem,1.35vw,1rem); color: var(--text-md); max-width: 500px; margin: 16px auto 0; line-height: 1.82; }

/* L.I.F.E. 4-card grid */
.pff-g { display: grid; grid-template-columns: repeat(4,1fr); gap: 2px; position: relative; z-index: 1; margin-bottom: clamp(36px,5vw,56px); }
.pff-c {
  background: #fff; padding: clamp(28px,4vw,44px) clamp(20px,3vw,32px);
  position: relative; overflow: hidden;
  transition: transform .3s, box-shadow .3s;
}
.pff-c:hover                   { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(13,27,42,.08); }
.pff-c-top                     { height: 4px; position: absolute; top: 0; left: 0; right: 0; }
.pff-c:nth-child(1) .pff-c-top { background: linear-gradient(to right, var(--navy), var(--navy-md)); }
.pff-c:nth-child(2) .pff-c-top { background: linear-gradient(to right, var(--teal), var(--teal-lt)); }
.pff-c:nth-child(3) .pff-c-top { background: linear-gradient(to right, var(--burg), var(--burg-lt)); }
.pff-c:nth-child(4) .pff-c-top { background: linear-gradient(to right, var(--gold), rgba(201,168,76,.4)); }
.pff-letter {
  font-family: var(--serif); font-size: 5rem; font-weight: 300; line-height: 1; margin-bottom: 12px;
  background: linear-gradient(135deg, currentColor 0%, rgba(255,255,255,0) 100%);
}
.pff-c:nth-child(1) .pff-letter { color: rgba(13,27,42,.08); }
.pff-c:nth-child(2) .pff-letter { color: rgba(45,107,116,.08); }
.pff-c:nth-child(3) .pff-letter { color: rgba(125,31,46,.08); }
.pff-c:nth-child(4) .pff-letter { color: rgba(201,168,76,.12); }
.pff-word { font-size: .6rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 14px; }
.pff-c:nth-child(1) .pff-word  { color: var(--navy); }
.pff-c:nth-child(2) .pff-word  { color: var(--teal); }
.pff-c:nth-child(3) .pff-word  { color: var(--burg); }
.pff-c:nth-child(4) .pff-word  { color: var(--gold-dk); }
.pff-c h4 { font-family: var(--serif); font-size: clamp(1.1rem,1.8vw,1.45rem); color: var(--navy); margin-bottom: 12px; font-weight: 400; line-height: 1.18; }
.pff-c p  { font-size: clamp(.84rem,1.15vw,.92rem); color: var(--text-md); line-height: 1.8; }

/* Intersection statement block */
.pff-intersect { background: var(--navy); padding: clamp(36px,5vw,52px); position: relative; z-index: 1; overflow: hidden; }
.pff-intersect::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(to right, var(--gold), rgba(201,168,76,.2), transparent); }
.pff-intersect-inner   { max-width: 720px; margin: 0 auto; text-align: center; }
.pff-int-ey { font-size: .6rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: rgba(201,168,76,.4); margin-bottom: 16px; }
.pff-int-q  { font-family: var(--serif); font-size: clamp(1rem,1.8vw,1.35rem); color: rgba(255,255,255,.65); line-height: 1.65; }
.pff-int-q em { color: var(--gold); font-style: normal; font-weight: 500; }

/* ── SECTION: ECOSYSTEM ──────────────────────────────────── */
.s-eco {
  background: var(--cream);
  padding: clamp(80px,11vw,130px) 0;
  border-top: 1px solid var(--rule);
  position: relative; overflow: hidden;
}
.eco-orb-1 { width:400px; height:400px; top:-80px; left:-80px;    animation: floatA 15s ease-in-out infinite; }
.eco-orb-2 { width:240px; height:240px; bottom:-60px; right:-60px; animation: pulseRing 10s ease-in-out infinite 4s; }

.eco-sh { text-align: center; margin-bottom: clamp(48px,7vw,76px); position: relative; z-index: 1; }
.eco-sh h2 { font-family: var(--serif); font-size: clamp(2rem,4vw,3.4rem); color: var(--navy); margin-top: 14px; line-height: 1.12; }
.eco-sh h2 em { color: var(--burg); font-style: italic; }
.eco-sh p  { color: var(--text-md); font-size: clamp(.9rem,1.4vw,1rem); max-width: 500px; margin: 16px auto 0; line-height: 1.82; }

/* 3-column ecosystem grid */
.eco-g { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2px; position: relative; z-index: 1; }
.eco-c { position: relative; overflow: hidden; display: flex; flex-direction: column; }
.eco-c-top { height: 4px; }
.eco-c:nth-child(1) .eco-c-top { background: linear-gradient(to right, var(--gold), rgba(201,168,76,.3)); }
.eco-c:nth-child(2) .eco-c-top { background: linear-gradient(to right, var(--burg), rgba(125,31,46,.3)); }
.eco-c:nth-child(3) .eco-c-top { background: linear-gradient(to right, var(--teal), rgba(45,107,116,.3)); }
.eco-c-body {
  background: #fff; padding: clamp(32px,4vw,48px) clamp(24px,3.5vw,40px);
  flex: 1; display: flex; flex-direction: column; transition: box-shadow .3s;
}
.eco-c:hover .eco-c-body       { box-shadow: 0 12px 40px rgba(13,27,42,.07); }
.eco-c-num { font-family: var(--serif); font-size: 5rem; color: rgba(13,27,42,.04); line-height: 1; position: absolute; top: 20px; right: 24px; font-weight: 300; pointer-events: none; }
.eco-c-tag { font-size: .58rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 16px; }
.eco-c:nth-child(1) .eco-c-tag { color: var(--gold-dk); }
.eco-c:nth-child(2) .eco-c-tag { color: var(--burg); }
.eco-c:nth-child(3) .eco-c-tag { color: var(--teal); }
.eco-c h3 { font-family: var(--serif); font-size: clamp(1.3rem,2.2vw,1.8rem); color: var(--navy); margin-bottom: 16px; font-weight: 400; line-height: 1.15; }
.eco-c p  { font-size: clamp(.87rem,1.25vw,.95rem); color: var(--text-md); line-height: 1.82; flex: 1; }
.eco-c-cta { margin-top: 28px; }

/* ── SECTION: CLOSE CTA ──────────────────────────────────── */
.s-cta-bs {
  background: var(--navy);
  padding: clamp(90px,13vw,150px) clamp(20px,5vw,64px);
  text-align: center; position: relative; overflow: hidden;
}
.cta-bs-orb-1 { width:480px; height:480px; top:-100px;  left:-100px;  animation: floatA 16s ease-in-out infinite; }
.cta-bs-orb-2 { width:300px; height:300px; bottom:-80px; right:-80px; animation: floatB 14s ease-in-out infinite 4s; }
.cta-bs-orb-3 { width:180px; height:180px; top:35%; right:12%;        animation: pulseRing 9s ease-in-out infinite; }
.cta-bs-in { max-width: 720px; margin: 0 auto; position: relative; z-index: 1; }
.cta-bs-vl { width: 1px; height: 60px; background: linear-gradient(to bottom, transparent, rgba(201,168,76,.5), transparent); margin: 0 auto 36px; }
.cta-bs-in h2 { font-family: var(--serif); font-size: clamp(2rem,4.5vw,3.8rem); color: #fff; line-height: 1.1; margin-bottom: 18px; }
.cta-bs-in h2 em               { color: var(--gold); font-style: italic; }
.cta-bs-in p { color: rgba(255,255,255,.45); font-size: clamp(.9rem,1.35vw,1.02rem); line-height: 1.85; max-width: 480px; margin: 0 auto 44px; }

/* ── RESPONSIVE: TABLET 960px ───────────────────────────── */
@media (max-width: 960px) {
  .bs-hero         { grid-template-columns: 1fr; }
  .bsh-photo-col   { display: none; }
  .lcp-g           { grid-template-columns: 1fr; }
  .lcp-vis         { order: -1; }
  .align-circles   { gap: 0; }
  .pff-g           { grid-template-columns: 1fr 1fr; }
  .eco-g           { grid-template-columns: 1fr; }
}

/* ── RESPONSIVE: MOBILE 640px ───────────────────────────── */
@media (max-width: 640px) {
  .pff-photo-strip { grid-template-columns: 1fr !important; }
  .bsh-h1          { font-size: 2.4rem; line-height: 1.08; }
  .bsh-truth       { font-size: 1.1rem; }
  .bsh-btns        { flex-direction: column; align-items: stretch; }
  .bsh-btns .bp,
  .bsh-btns .bo-lt { justify-content: center; }
  .fw-badges       { flex-direction: column; align-items: center; gap: 8px; }
  .lcp-copy h2     { font-size: 1.8rem; }
  .lcp-card        { padding: 28px 24px; }
  .align-circles   { flex-direction: column; align-items: center; }
  .ac-arr          { transform: rotate(90deg); padding: 4px 0; margin-bottom: 0; }
  .ac-ring         { width: 180px; height: 180px; }
  .ac-desc         { max-width: 240px; }
  .align-quote     { font-size: 1.3rem; }
  .pff-g           { grid-template-columns: 1fr; }
  .pff-intersect   { padding: 28px 24px; }
  .pff-sh h2       { font-size: 1.85rem; }
  .eco-c-body      { padding: 28px 24px; }
  .eco-sh h2       { font-size: 1.85rem; }
  .cta-bs-in h2    { font-size: 1.9rem; }
  .cta-bs-in p     { font-size: .88rem; }
}

/* ── RESPONSIVE: SMALL MOBILE 380px ─────────────────────── */
@media (max-width: 380px) {
  .bsh-h1       { font-size: 2rem; }
  .ac-ring      { width: 150px; height: 150px; }
  .pff-g        { grid-template-columns: 1fr; }
  .cta-bs-in h2 { font-size: 1.65rem; }
  .align-circles { align-items: center; }
}

/* ── TOUCH DEVICES ───────────────────────────────────────── */
@media (hover: none) {
  .pff-c:hover,
  .eco-c:hover .eco-c-body { transform: none; box-shadow: none; }
  .ac-ring:hover            { transform: none; }
}