/* ============================================================
   PRODUCTS — "Meet Your AI Operators"
   Scenes: data-stream canvas hero with parallax product cards ·
   interactive operator console (click tabs, live micro-UIs) ·
   Core/Advanced plan toggle · hover-expanding Living Systems
   triptych · executive persona cards · final CTA.
   Scoped .pd-* (loaded only on products.html)
   ============================================================ */

.pd {
  --serif: "Fraunces", Georgia, serif;
  --mint: #7fe0ab;
  --violet: #6a5cff;
}
.pd .container { width: min(1280px, 92%); }

/* primitives */
.pd-rise { opacity: 0; transform: translateY(34px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.pd-rise.in { opacity: 1; transform: none; }
.pd-rise.d1 { transition-delay: .12s; } .pd-rise.d2 { transition-delay: .24s; } .pd-rise.d3 { transition-delay: .36s; }
.pd-words span { display: inline-block; opacity: 0; transform: translateY(44px) rotate(2deg); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.pd-words.in span { opacity: 1; transform: none; }
.pd-eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--green); }
.pd-eyebrow::before { content: ""; width: 36px; height: 2px; background: currentColor; }

/* ============================================================
   1 · HERO — data streams + parallax product cards
   ============================================================ */
.pd-hero {
  position: relative; min-height: 100vh; display: flex; align-items: center;
  background: radial-gradient(130% 130% at 25% 0%, #1c1956 0%, var(--indigo-deep) 55%, #0a0920 100%);
  color: #fff; overflow: hidden; padding: 170px 0 130px;
}
#pd-streams { position: absolute; inset: 0; width: 100%; height: 100%; }
.pd-hero .container { position: relative; z-index: 3; }
.pd-hero h1 { font-family: var(--serif); font-weight: 500; letter-spacing: -.02em; font-size: clamp(40px, 6.6vw, 96px); line-height: 1.02; margin: 26px 0 28px; max-width: 13ch; }
.pd-hero h1 em { font-style: italic; color: transparent; background: linear-gradient(100deg, var(--mint), var(--blue)); -webkit-background-clip: text; background-clip: text; }
.pd-hero .lead { font-size: clamp(16px, 1.8vw, 21px); color: rgba(255,255,255,.78); max-width: 560px; line-height: 1.7; }
.pd-hero .traits { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }
.pd-hero .traits span {
  font-family: var(--serif); font-style: italic; font-size: 15.5px; color: var(--mint);
  display: inline-flex; align-items: center; gap: 10px;
}
.pd-hero .traits span::before { content: "✦"; font-size: 10px; opacity: .7; }
.pd-hero .hero-actions { margin-top: 42px; }
.pd-magnet { will-change: transform; }

/* floating clickable product cards (mouse parallax) */
.pd-orbit { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.pd-float {
  position: absolute; pointer-events: auto; cursor: pointer;
  width: 178px; border-radius: 16px; padding: 16px;
  background: linear-gradient(150deg, rgba(255,255,255,.1), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 24px 60px rgba(0,0,0,.4);
  transition: border-color .3s, box-shadow .3s;
  will-change: transform; animation: pdBob 7s ease-in-out infinite;
}
.pd-float:hover { border-color: var(--mint); box-shadow: 0 24px 70px rgba(127,224,171,.18); }
@keyframes pdBob { 0%,100% { margin-top: 0; } 50% { margin-top: -14px; } }
.pd-float .nm { display: flex; align-items: center; justify-content: space-between; font-weight: 800; font-size: 14px; margin-bottom: 11px; }
.pd-float .nm i { font-style: normal; font-size: 9.5px; letter-spacing: .1em; padding: 3px 8px; border-radius: 99px; background: rgba(127,224,171,.16); color: var(--mint); font-weight: 800; }
.pd-float .ui { display: grid; gap: 6px; }
.pd-float .ln { height: 7px; border-radius: 4px; background: rgba(255,255,255,.14); position: relative; overflow: hidden; }
.pd-float .ln::after { content: ""; position: absolute; inset: 0; width: var(--w, 60%); border-radius: 4px; background: linear-gradient(90deg, var(--green), var(--blue)); }
.pd-float .bars { display: flex; gap: 5px; align-items: flex-end; height: 34px; margin-top: 3px; }
.pd-float .bars i { flex: 1; border-radius: 3px 3px 1px 1px; background: linear-gradient(180deg, var(--blue), var(--indigo)); height: var(--h, 50%); }
.pd-float .bars i:nth-child(even) { background: linear-gradient(180deg, var(--mint), var(--green-dark)); }
.pd-float.f1 { right: 16%; top: 16%; }
.pd-float.f2 { right: 4%;  top: 40%; animation-delay: 1.2s; }
.pd-float.f3 { right: 25%; top: 58%; animation-delay: 2.2s; }
.pd-float.f4 { right: 8%;  bottom: 7%; animation-delay: 3s; }

.pd-scrollcue {
  position: absolute; bottom: 26px; left: 50%; transform: translateX(-50%); z-index: 3;
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: rgba(255,255,255,.5);
  display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.pd-scrollcue .bar { width: 1px; height: 50px; background: linear-gradient(rgba(255,255,255,.4), transparent); position: relative; overflow: hidden; }
.pd-scrollcue .bar::after { content:""; position:absolute; top:-18px; left:0; width:1px; height:18px; background: var(--mint); animation: pdCue 2s ease-in-out infinite; }
@keyframes pdCue { 0% { top:-18px; } 100% { top:50px; } }

/* ============================================================
   2 · OPERATOR CONSOLE — clickable product switcher
   ============================================================ */
.pd-console { background: #fff; padding: clamp(90px, 12vw, 160px) 0; }
.pd-console .head { text-align: center; max-width: 760px; margin: 0 auto clamp(40px, 5vw, 64px); }
.pd-console .head h2 { font-family: var(--serif); font-weight: 500; font-size: clamp(30px, 4vw, 54px); line-height: 1.08; margin: 18px 0 14px; }
.pd-console .head h2 em { font-style: italic; color: var(--indigo); }
.pd-console .head p { color: var(--gray); font-size: clamp(15px, 1.4vw, 18px); }

.pd-tabs { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 40px; }
.pd-tab {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 13px 24px; border-radius: 999px; border: 1.5px solid var(--line);
  background: #fff; font-size: 15px; font-weight: 800; color: var(--gray); cursor: pointer;
  transition: all .35s var(--ease);
}
.pd-tab .ic { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; color: #fff; background: var(--gray-light); transition: background .35s; }
.pd-tab:hover { border-color: var(--indigo); color: var(--indigo); transform: translateY(-2px); }
.pd-tab.active { background: var(--indigo); border-color: var(--indigo); color: #fff; box-shadow: 0 14px 30px rgba(51,46,135,.3); }
.pd-tab.active .ic, .pd-tab:hover .ic { background: linear-gradient(135deg, var(--green), var(--blue)); }

.pd-stage { position: relative; }
.pd-panel {
  display: none; grid-template-columns: 1fr 1fr; gap: clamp(34px, 5vw, 80px); align-items: center;
  background: var(--bg-soft); border: 1px solid var(--line); border-radius: 26px;
  padding: clamp(30px, 4vw, 60px); min-height: 480px;
}
.pd-panel.active { display: grid; animation: pdPanelIn .6s var(--ease); }
@keyframes pdPanelIn { from { opacity: 0; transform: translateY(26px) scale(.985); } }
.pd-panel .role { font-family: var(--serif); font-style: italic; font-size: clamp(16px, 1.7vw, 22px); color: var(--green); margin-bottom: 10px; }
.pd-panel h3 { font-family: var(--serif); font-weight: 500; font-size: clamp(32px, 4vw, 58px); line-height: 1; margin-bottom: 16px; }
.pd-panel h3 sup { font-size: .35em; font-weight: 700; }
.pd-panel .pitch { font-weight: 800; color: var(--ink); font-size: clamp(15.5px, 1.4vw, 18px); margin-bottom: 10px; }
.pd-panel .txt { color: var(--gray); font-size: clamp(14.5px, 1.3vw, 16.5px); line-height: 1.75; max-width: 50ch; }
.pd-feats { display: flex; flex-wrap: wrap; gap: 9px; margin: 22px 0 4px; }
.pd-feats span {
  font-size: 12.5px; font-weight: 700; padding: 8px 15px; border-radius: 999px;
  background: #fff; border: 1px solid var(--line); color: var(--ink);
  transition: all .3s var(--ease);
}
.pd-feats span:hover { border-color: var(--green); color: var(--green-dark); transform: translateY(-2px); }
.pd-panel .pfor { font-size: 13px; color: var(--gray-light); margin-top: 14px; }
.pd-panel .pfor b { color: var(--gray); }
.pd-panel .actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 26px; }

/* micro-UI device frame */
.pd-device {
  position: relative; border-radius: 20px; overflow: hidden; background: #fff;
  border: 1px solid var(--line); box-shadow: var(--shadow-lg); min-height: 360px;
  display: flex; flex-direction: column;
}
.pd-device .dbar { display: flex; align-items: center; gap: 6px; padding: 12px 16px; border-bottom: 1px solid var(--line); background: #fbfbfd; }
.pd-device .dbar i { width: 10px; height: 10px; border-radius: 50%; background: #e5e7ee; }
.pd-device .dbar i:nth-child(1) { background: #ff5f57; } .pd-device .dbar i:nth-child(2) { background: #febc2e; } .pd-device .dbar i:nth-child(3) { background: #28c840; }
.pd-device .dbar span { margin-left: 8px; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; color: var(--gray-light); text-transform: uppercase; }
.pd-device .dbody { flex: 1; padding: 22px; position: relative; }

/* cMOS dashboard */
.mos-kpis { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 16px; }
.mos-kpi { border: 1px solid var(--line); border-radius: 12px; padding: 12px; }
.mos-kpi .v { font-weight: 800; font-size: 19px; color: var(--ink); }
.mos-kpi .v b { color: var(--green); }
.mos-kpi .l { font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gray-light); }
.mos-chart { display: flex; align-items: flex-end; gap: 8px; height: 120px; border: 1px solid var(--line); border-radius: 12px; padding: 14px; }
.mos-chart i { flex: 1; border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg, var(--blue), var(--indigo)); height: var(--h); transform: scaleY(0); transform-origin: bottom; }
.mos-chart i:nth-child(even) { background: linear-gradient(180deg, var(--green), #0e7e54); }
.pd-panel.active .mos-chart i { animation: pdGrow .9s var(--ease) forwards; }
.pd-panel.active .mos-chart i:nth-child(2) { animation-delay: .1s; } .pd-panel.active .mos-chart i:nth-child(3) { animation-delay: .2s; }
.pd-panel.active .mos-chart i:nth-child(4) { animation-delay: .3s; } .pd-panel.active .mos-chart i:nth-child(5) { animation-delay: .4s; }
.pd-panel.active .mos-chart i:nth-child(6) { animation-delay: .5s; } .pd-panel.active .mos-chart i:nth-child(7) { animation-delay: .6s; }
@keyframes pdGrow { to { transform: scaleY(1); } }
.mos-toast {
  position: absolute; right: 16px; top: 64px;
  background: var(--ink); color: #fff; font-size: 12px; font-weight: 700;
  padding: 9px 14px; border-radius: 10px; display: flex; align-items: center; gap: 8px;
  opacity: 0; transform: translateY(10px);
}
.mos-toast .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mint); }
.pd-panel.active .mos-toast { animation: pdToast .5s var(--ease) 1s forwards; }
@keyframes pdToast { to { opacity: 1; transform: none; } }

/* iCTS learning path */
.cts-path { display: grid; gap: 14px; }
.cts-step { display: flex; align-items: center; gap: 14px; border: 1px solid var(--line); border-radius: 14px; padding: 13px 16px; opacity: 0; transform: translateX(-14px); }
.pd-panel.active .cts-step { animation: pdSlide .5s var(--ease) forwards; }
.pd-panel.active .cts-step:nth-child(2) { animation-delay: .15s; }
.pd-panel.active .cts-step:nth-child(3) { animation-delay: .3s; }
.pd-panel.active .cts-step:nth-child(4) { animation-delay: .45s; }
@keyframes pdSlide { to { opacity: 1; transform: none; } }
.cts-step .ck { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; background: rgba(0,161,75,.12); color: var(--green); }
.cts-step.pending .ck { background: var(--bg-soft); color: var(--gray-light); }
.cts-step b { font-size: 13.5px; }
.cts-step .pr { margin-left: auto; width: 90px; height: 6px; border-radius: 4px; background: var(--bg-soft); overflow: hidden; }
.cts-step .pr i { display: block; height: 100%; width: var(--p); border-radius: 4px; background: linear-gradient(90deg, var(--green), var(--blue)); }
.cts-badge {
  margin-top: 16px; display: inline-flex; align-items: center; gap: 9px;
  background: rgba(0,161,75,.1); border: 1px solid rgba(0,161,75,.3); color: var(--green-dark);
  font-size: 12.5px; font-weight: 800; padding: 9px 16px; border-radius: 999px;
  opacity: 0;
}
.pd-panel.active .cts-badge { animation: pdToast .5s var(--ease) .9s forwards; }

/* iAccounts ledger */
.acc-row { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); padding: 12px 4px; opacity: 0; transform: translateX(-14px); font-size: 13.5px; }
.pd-panel.active .acc-row { animation: pdSlide .5s var(--ease) forwards; }
.pd-panel.active .acc-row:nth-child(2) { animation-delay: .12s; }
.pd-panel.active .acc-row:nth-child(3) { animation-delay: .24s; }
.pd-panel.active .acc-row:nth-child(4) { animation-delay: .36s; }
.acc-row .doc { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: rgba(51,46,135,.08); color: var(--indigo); flex: 0 0 auto; }
.acc-row b { color: var(--ink); }
.acc-row .amt { margin-left: auto; font-weight: 800; }
.acc-row .st { font-size: 10.5px; font-weight: 800; letter-spacing: .06em; padding: 4px 10px; border-radius: 99px; }
.acc-row .st.paid { background: rgba(0,161,75,.12); color: var(--green-dark); }
.acc-row .st.due { background: rgba(254,188,46,.16); color: #9a6b00; }
.acc-total { display: flex; justify-content: space-between; align-items: center; padding: 16px 4px 2px; }
.acc-total .l { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gray-light); }
.acc-total .v { font-family: var(--serif); font-size: 26px; color: var(--ink); }
.acc-total .v b { color: var(--green); }

/* iLCM compliance calendar */
.lcm-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 7px; }
.lcm-cal i {
  aspect-ratio: 1; border-radius: 8px; background: var(--bg-soft); border: 1px solid var(--line);
  display: grid; place-items: center; font-size: 10.5px; font-weight: 700; color: var(--gray-light); font-style: normal;
}
.lcm-cal i.mark { background: rgba(0,161,75,.12); border-color: rgba(0,161,75,.4); color: var(--green-dark); }
.lcm-cal i.alert { background: rgba(255,95,87,.1); border-color: rgba(255,95,87,.45); color: #c0392b; position: relative; }
.lcm-cal i.alert::after { content: ""; position: absolute; top: 5px; right: 5px; width: 6px; height: 6px; border-radius: 50%; background: #ff5f57; animation: blink 1.4s infinite; }
.lcm-toast {
  margin-top: 16px; display: flex; align-items: center; gap: 10px;
  border: 1px solid var(--line); border-left: 4px solid var(--green); border-radius: 12px;
  padding: 12px 16px; font-size: 13px; font-weight: 700; color: var(--ink);
  opacity: 0; box-shadow: var(--shadow);
}
.pd-panel.active .lcm-toast { animation: pdToast .5s var(--ease) .8s forwards; }
.lcm-toast svg { color: var(--green); flex: 0 0 auto; }

/* ============================================================
   3 · PLAN TOGGLE — Core vs Advanced
   ============================================================ */
.pd-plans { background: var(--indigo-deep); color: #fff; padding: clamp(90px, 12vw, 160px) 0; position: relative; overflow: hidden; }
.pd-plans::after { content:""; position:absolute; width:560px; height:560px; border-radius:50%; background: radial-gradient(circle, rgba(27,157,217,.28), transparent 70%); right:-180px; top:-200px; }
.pd-plans .pd-eyebrow { color: var(--mint); }
.pd-plans h2 { font-family: var(--serif); font-weight: 500; font-size: clamp(30px, 4vw, 54px); margin: 18px 0 14px; max-width: 18ch; }
.pd-plans h2 em { font-style: italic; color: transparent; background: linear-gradient(100deg, var(--mint), var(--blue)); -webkit-background-clip: text; background-clip: text; }
.pd-plans .sub { color: rgba(255,255,255,.7); max-width: 560px; font-size: clamp(15px, 1.4vw, 18px); line-height: 1.7; }

.pd-switch { display: inline-flex; align-items: center; gap: 16px; margin: 36px 0 44px; position: relative; z-index: 1; }
.pd-switch .lab { font-weight: 800; font-size: 15px; color: rgba(255,255,255,.5); transition: color .3s; cursor: pointer; }
.pd-switch .lab.on { color: #fff; }
.pd-switch .track {
  width: 64px; height: 34px; border-radius: 99px; cursor: pointer; position: relative;
  background: linear-gradient(90deg, var(--green), var(--blue));
}
.pd-switch .knob {
  position: absolute; top: 4px; left: 4px; width: 26px; height: 26px; border-radius: 50%;
  background: #fff; box-shadow: 0 3px 8px rgba(0,0,0,.35);
  transition: transform .4s var(--ease);
}
.pd-plans.adv .pd-switch .knob { transform: translateX(30px); }

.pd-plan-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; position: relative; z-index: 1; }
.pd-plan {
  border-radius: 20px; padding: 28px 24px; min-height: 300px; display: flex; flex-direction: column;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.13);
  transition: transform .45s var(--ease), border-color .45s, background .45s;
}
.pd-plan:hover { transform: translateY(-8px); border-color: rgba(127,224,171,.45); background: rgba(255,255,255,.08); }
.pd-plan .pn { font-weight: 800; font-size: 19px; display: flex; align-items: baseline; gap: 6px; }
.pd-plan .pn sup { font-size: 9px; }
.pd-plan .tier {
  margin: 14px 0 10px; font-family: var(--serif); font-style: italic; font-size: 21px;
  color: var(--mint); position: relative; min-height: 28px;
}
.pd-plan .tier .face { display: block; }
.pd-plan .body { position: relative; flex: 1; }
.pd-plan .body p { font-size: 13.5px; line-height: 1.65; color: rgba(255,255,255,.72); }
.pd-plan .body .ideal { margin-top: 12px; font-size: 12px; color: rgba(255,255,255,.45); }
.pd-plan .face { transition: opacity .45s var(--ease), transform .45s var(--ease); }
.pd-plan .face.advanced { position: absolute; inset: 0; opacity: 0; transform: translateY(12px); pointer-events: none; }
.pd-plans.adv .pd-plan .face.core { opacity: 0; transform: translateY(-12px); pointer-events: none; }
.pd-plans.adv .pd-plan .face.advanced { opacity: 1; transform: none; pointer-events: auto; }
.pd-plan .tier .face.advanced { inset: auto 0 auto 0; }
.pd-plan .go { margin-top: 18px; display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 800; color: var(--mint); }
.pd-plan .go svg { transition: transform .3s var(--ease); }
.pd-plan .go:hover svg { transform: translateX(5px); }
.pd-plans .note { margin-top: 26px; font-size: 13px; color: rgba(255,255,255,.45); position: relative; z-index: 1; }

/* ============================================================
   4 · LIVING SYSTEMS TRIPTYCH — hover expand
   ============================================================ */
.pd-trip { background: #fff; padding: clamp(90px, 12vw, 150px) 0; }
.pd-trip .head { max-width: 720px; margin-bottom: 50px; }
.pd-trip h2 { font-family: var(--serif); font-weight: 500; font-size: clamp(28px, 3.8vw, 52px); margin: 18px 0 12px; }
.pd-trip h2 em { font-style: italic; color: var(--indigo); }
.pd-trip .head p { color: var(--gray); font-size: clamp(15px, 1.4vw, 18px); }
.pd-trio { display: flex; gap: 14px; min-height: 380px; }
.pd-tri {
  position: relative; border-radius: 22px; overflow: hidden; cursor: pointer;
  flex: 1; display: flex; flex-direction: column; justify-content: flex-end;
  padding: 34px 30px; color: #fff; transition: flex 0.65s var(--ease);
}
.pd-tri.t1 { background: linear-gradient(160deg, var(--indigo), var(--blue)); }
.pd-tri.t2 { background: linear-gradient(160deg, #0e7e54, var(--green)); }
.pd-tri.t3 { background: linear-gradient(160deg, #46399f, var(--violet)); }
.pd-tri:hover { flex: 2.1; }
.pd-tri .pattern { position: absolute; inset: 0; opacity: .14; background-image: radial-gradient(rgba(255,255,255,.9) 1.3px, transparent 1.3px); background-size: 22px 22px; }
.pd-tri .big {
  position: absolute; top: 22px; left: 26px; font-family: var(--serif); font-style: italic;
  font-size: clamp(40px, 5vw, 72px); opacity: .25; line-height: 1;
}
.pd-tri h3 { font-family: var(--serif); font-weight: 500; font-size: clamp(22px, 2.4vw, 34px); margin-bottom: 10px; position: relative; }
.pd-tri p { font-size: 14.5px; color: rgba(255,255,255,.85); position: relative; max-width: 40ch; opacity: 0; transform: translateY(12px); transition: opacity .5s var(--ease) .15s, transform .5s var(--ease) .15s; }
.pd-tri:hover p { opacity: 1; transform: none; }
.pd-trip .closer { margin-top: 40px; font-family: var(--serif); font-style: italic; font-size: clamp(19px, 2.2vw, 28px); color: var(--ink); text-align: center; }
.pd-trip .closer b { color: var(--green); font-weight: 500; }

/* ============================================================
   5 · EXECUTIVE PERSONAS
   ============================================================ */
.pd-team { background: var(--bg-soft); padding: clamp(90px, 12vw, 150px) 0; }
.pd-team .head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; flex-wrap: wrap; margin-bottom: 50px; }
.pd-team h2 { font-family: var(--serif); font-weight: 500; font-size: clamp(28px, 3.8vw, 52px); line-height: 1.08; max-width: 17ch; }
.pd-team h2 em { font-style: italic; color: var(--green); }
.pd-team .note { color: var(--gray); max-width: 360px; font-size: 15.5px; line-height: 1.7; }
.pd-team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pd-exec {
  position: relative; background: #fff; border: 1px solid var(--line); border-radius: 20px;
  padding: 30px 26px; overflow: hidden; transition: transform .45s var(--ease), box-shadow .45s var(--ease);
  display: flex; flex-direction: column; min-height: 300px; will-change: transform;
}
.pd-exec:hover { box-shadow: var(--shadow-lg); }
.pd-exec .av {
  width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; color: #fff; margin-bottom: 20px;
}
.pd-exec.e1 .av { background: linear-gradient(135deg, var(--indigo), var(--blue)); }
.pd-exec.e2 .av { background: linear-gradient(135deg, var(--green), var(--blue)); }
.pd-exec.e3 .av { background: linear-gradient(135deg, #b8860b, var(--green)); }
.pd-exec.e4 .av { background: linear-gradient(135deg, var(--violet), var(--blue)); }
.pd-exec h4 { font-size: 19px; font-weight: 800; }
.pd-exec .who { font-family: var(--serif); font-style: italic; font-size: 14.5px; color: var(--gray); margin: 4px 0 16px; }
.pd-exec ul { display: grid; gap: 8px; margin-top: auto; }
.pd-exec li { font-size: 13.5px; font-weight: 600; color: var(--gray); display: flex; gap: 9px; align-items: center; }
.pd-exec li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: linear-gradient(135deg, var(--green), var(--blue)); flex: 0 0 auto; }

/* ============================================================
   6 · FINAL CTA
   ============================================================ */
.pd-final {
  position: relative; text-align: center; color: #fff; overflow: hidden;
  background: radial-gradient(120% 130% at 50% 20%, #1c1956, var(--indigo-deep) 58%, #0a0920);
  padding: clamp(110px, 15vw, 190px) 0;
}
#pd-streams2 { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .5; }
.pd-final .container { position: relative; z-index: 2; }
.pd-final h2 { font-family: var(--serif); font-weight: 500; font-size: clamp(32px, 5.2vw, 80px); line-height: 1.05; max-width: 17ch; margin: 0 auto 24px; }
.pd-final h2 em { font-style: italic; color: transparent; background: linear-gradient(100deg, var(--mint), var(--blue)); -webkit-background-clip: text; background-clip: text; }
.pd-final p { color: rgba(255,255,255,.72); max-width: 600px; margin: 0 auto 46px; font-size: clamp(15px, 1.6vw, 19px); line-height: 1.7; }
.pd-final .hero-actions { justify-content: center; }

/* ============================================================
   RESPONSIVE + MOTION
   ============================================================ */
@media (max-width: 1080px) {
  .pd-orbit { display: none; }
  .pd-panel { grid-template-columns: 1fr; min-height: 0; }
  .pd-plan-grid, .pd-team-grid { grid-template-columns: 1fr 1fr; }
  .pd-trio { flex-direction: column; min-height: 0; }
  .pd-tri { min-height: 150px; }
  .pd-tri p { opacity: 1; transform: none; }
}
@media (max-width: 600px) {
  .pd-plan-grid, .pd-team-grid { grid-template-columns: 1fr; }
  .pd-hero { min-height: 0; padding: 150px 0 90px; }
  .pd-tabs { gap: 8px; }
  .pd-tab { padding: 11px 16px; font-size: 13.5px; }
  .mos-kpis { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .pd-float, .pd-scrollcue .bar::after, .lcm-cal i.alert::after { animation: none !important; }
  .pd-rise, .pd-words span { opacity: 1 !important; transform: none !important; }
  .mos-chart i { transform: scaleY(1) !important; animation: none !important; }
  .cts-step, .acc-row, .mos-toast, .cts-badge, .lcm-toast { opacity: 1 !important; transform: none !important; animation: none !important; }
}
