:root{--wine:#660000;--wine2:#8c1010;--yellow:#ffd84d;--cream:#fffaf0;--paper:#fffdf8;--ink:#251d1d;--muted:#6f6262;--line:#eadfce;--soft:#f7efe3;--shadow:0 18px 50px rgba(80,0,0,.13)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:#efe8df}button,a{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{background:linear-gradient(180deg,#520000,#6a0000 55%,#3e0000);color:white;padding:26px 18px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;box-shadow:8px 0 30px rgba(66,0,0,.18);z-index:5}.brand-mark{font:800 31px/1 Playfair Display,serif;letter-spacing:.08em;color:var(--yellow)}.sidebar-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.15em;opacity:.65;margin-top:8px}.slide-nav{display:grid;gap:8px;margin-top:38px}.nav-btn{border:0;background:transparent;color:#f9e9e9;text-align:left;padding:13px 12px;border-radius:12px;cursor:pointer;transition:.25s;display:flex;gap:12px;align-items:center}.nav-btn span{color:var(--yellow);font-size:11px;font-weight:800;letter-spacing:.1em}.nav-btn:hover,.nav-btn.active{background:rgba(255,216,77,.12);transform:translateX(3px)}.nav-btn.active{color:white;box-shadow:inset 3px 0 0 var(--yellow)}.sidebar-footer{margin-top:auto}.progress-label{display:flex;justify-content:space-between;font-size:12px;opacity:.9}.progress-track{height:5px;background:rgba(255,255,255,.13);border-radius:10px;margin-top:8px;overflow:hidden}.progress-bar{height:100%;background:var(--yellow);width:16.6%;transition:.4s}.workspace{min-width:0;display:grid;grid-template-rows:auto 1fr auto;min-height:100vh}.journal-header{height:100px;background:white;border-bottom:5px solid var(--yellow);display:flex;align-items:center;padding:12px 30px;overflow:hidden}.journal-header img{height:72px;max-width:100%;object-fit:contain;object-position:left center}.stage{padding:24px 30px 10px;position:relative;overflow:hidden}.slide{display:none;animation:slideIn .42s ease}.slide.active{display:block}@keyframes slideIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.eyebrow,.mini-label{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--wine)}h1,h2,h3{font-family:Playfair Display,serif;margin:0}h1{font-size:clamp(32px,4vw,57px);line-height:1.04;color:var(--wine);max-width:900px}h2{font-size:clamp(30px,3.3vw,48px);color:var(--wine)}h3{font-size:27px;color:var(--wine)}p{line-height:1.65}.lead{font-size:18px;color:#554949;max-width:820px}.authors{font-size:13px;line-height:1.6;color:var(--muted);max-width:800px}.hero-grid{min-height:560px;display:grid;grid-template-columns:1.15fr .85fr;gap:35px;align-items:center}.hero-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}.primary-action,.secondary-action{padding:13px 18px;border-radius:11px;text-decoration:none;font-weight:800}.primary-action{border:0;background:var(--wine);color:white;cursor:pointer;box-shadow:0 10px 20px rgba(102,0,0,.18)}.secondary-action{border:1px solid #d7c8b1;color:var(--wine);background:white}.hero-visual{height:430px;position:relative;background:radial-gradient(circle at center,#fff8cc 0,#fffaf0 42%,transparent 70%);border-radius:50%}.patient-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%);width:155px;height:280px}.head{width:92px;height:92px;border-radius:50%;background:var(--wine);margin:auto;box-shadow:inset 0 -10px 0 rgba(255,255,255,.08)}.torso{width:150px;height:180px;background:linear-gradient(var(--wine2),var(--wine));border-radius:70px 70px 35px 35px;margin:-2px auto 0}.orbit{position:absolute;inset:55px;border:1.5px dashed rgba(102,0,0,.24);border-radius:50%;animation:spin 18s linear infinite}.orbit-b{inset:90px;animation-direction:reverse;animation-duration:13s}@keyframes spin{to{transform:rotate(360deg)}}.floating-tag{position:absolute;background:white;border:1px solid var(--line);padding:9px 12px;border-radius:999px;font-weight:700;color:var(--wine);box-shadow:var(--shadow)}.tag-a{left:8%;top:17%}.tag-b{right:8%;top:28%}.tag-c{left:18%;bottom:14%}.pulse{position:absolute;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 8px rgba(255,216,77,.15);animation:pulse 1.9s infinite}.p1{width:18px;height:18px;left:68px;top:42px}.p2{width:14px;height:14px;left:95px;top:132px;animation-delay:.4s}.p3{width:14px;height:14px;left:42px;top:190px;animation-delay:.8s}@keyframes pulse{50%{transform:scale(1.5);box-shadow:0 0 0 16px rgba(255,216,77,0)}}.concept-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:-10px}.concept-strip div{background:white;border-top:4px solid var(--yellow);padding:16px 18px;border-radius:14px;box-shadow:0 8px 25px rgba(80,0,0,.06)}.concept-strip strong{display:block;color:var(--wine);font-size:18px}.concept-strip span{font-size:13px;color:var(--muted)}.slide-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:28px}.slide-heading>p{max-width:520px;margin:0;color:var(--muted)}.journey-layout{display:grid;grid-template-columns:1fr 390px;gap:26px;align-items:stretch}.journey-track{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-content:center}.journey-node{min-height:125px;border:1px solid var(--line);background:white;border-radius:18px;padding:17px;cursor:pointer;text-align:left;position:relative;transition:.25s;box-shadow:0 8px 25px rgba(70,0,0,.05)}.journey-node:hover,.journey-node.active{transform:translateY(-5px);border-color:var(--yellow);box-shadow:0 14px 30px rgba(102,0,0,.12)}.journey-node.active{background:#fff9db}.journey-node span{display:block;color:var(--wine);font-weight:800;font-size:12px;margin-bottom:8px}.journey-node b{font-size:15px}.journey-card{background:linear-gradient(160deg,#5b0000,#7b0a0a);color:white;border-radius:24px;padding:28px;box-shadow:var(--shadow)}.journey-card h3{color:var(--yellow);font-size:30px}.journey-card p{color:#faeeee}.journey-badge{display:inline-block;padding:7px 11px;border-radius:999px;background:var(--yellow);color:var(--wine);font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}.state-panel{display:grid;gap:12px;margin-top:22px}.state-panel>div{display:grid;grid-template-columns:100px 1fr;gap:8px;align-items:center;font-size:12px}.meter{height:8px;background:rgba(255,255,255,.17);border-radius:10px;overflow:hidden}.meter i{display:block;height:100%;background:var(--yellow);width:50%;transition:.4s}.cycle-layout{display:grid;grid-template-columns:1fr .8fr;gap:40px;align-items:center;min-height:480px}.cycle-ring{width:470px;height:470px;border-radius:50%;border:2px dashed rgba(102,0,0,.25);position:relative;margin:auto;background:radial-gradient(circle,#fff7c2 0 25%,#fffdf8 26% 59%,transparent 60%)}.cycle-ring>button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(var(--a)) translateY(-195px) rotate(calc(-1*var(--a)));width:132px;min-height:63px;border:1px solid var(--line);border-radius:14px;background:white;color:var(--wine);font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(80,0,0,.08)}.cycle-ring>button:hover,.cycle-ring>button.active{background:var(--wine);color:white;border-color:var(--wine)}.cycle-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}.cycle-center span{font:800 32px/1 Playfair Display;color:var(--wine)}.cycle-center button{display:block;margin:14px auto 0;border:0;background:var(--yellow);color:var(--wine);font-weight:900;border-radius:999px;padding:10px 17px;cursor:pointer}.cycle-ring.broken{border-style:solid;border-color:#7ea96c;background:radial-gradient(circle,#e8f4dd 0 25%,#fff 26% 59%,transparent 60%)}.cycle-ring.broken>button{border-color:#b9d1ab}.cycle-detail{background:white;border-radius:22px;padding:30px;border:1px solid var(--line);box-shadow:var(--shadow)}.intervention-box{margin-top:20px;padding:18px;border-radius:15px;background:#fff7cf;border-left:5px solid var(--yellow)}.intervention-box strong{display:block;color:var(--wine);margin-bottom:7px}.assessment-room{display:grid;grid-template-columns:.7fr 1.3fr;gap:26px;min-height:500px}.desk{background:linear-gradient(180deg,#7c3f24,#5b2a19);border-radius:24px;padding:24px;display:grid;gap:14px;align-content:center;box-shadow:var(--shadow);position:relative;overflow:hidden}.desk:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);transform:skewX(-20deg)}.drawer{position:relative;text-align:left;border:1px solid rgba(255,255,255,.16);background:#8a4c2e;color:white;padding:18px;border-radius:12px;cursor:pointer;box-shadow:inset 0 -5px 0 rgba(0,0,0,.12);transition:.25s}.drawer:hover,.drawer.active{transform:translateX(8px);background:#a45b35}.drawer span{color:var(--yellow);font-weight:900;margin-right:12px}.drawer b{display:block;font-size:18px;margin:3px 0 5px}.drawer small{opacity:.75}.clipboard{position:relative;background:var(--paper);border:1px solid #dfd0bd;border-radius:22px;padding:40px 34px 28px;box-shadow:var(--shadow)}.clip-top{position:absolute;top:-10px;left:50%;transform:translateX(-50%);width:130px;height:28px;background:var(--wine);border-radius:8px}.session-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.session-card{border:1px solid var(--line);background:white;border-radius:14px;padding:14px;cursor:pointer;color:var(--wine)}.session-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.session-card.active{background:#fff6c7;border-color:var(--yellow)}.session-note{margin-top:14px;border-left:4px solid var(--wine);padding:13px 15px;background:#f8f1e7;border-radius:0 12px 12px 0;color:#5e5151}.intimacy-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;min-height:500px}.couple-scene{height:390px;position:relative;border-radius:25px;background:radial-gradient(circle at center,#fff4b4,#fdf7ee 55%,#f3e8db);overflow:hidden;display:flex;justify-content:space-between;align-items:flex-end;padding:45px 90px}.person{width:130px;height:260px;position:relative;transition:.5s}.p-head{width:76px;height:76px;border-radius:50%;background:var(--wine);margin:auto}.p-body{height:180px;background:linear-gradient(#7d0d0d,#5c0000);border-radius:60px 60px 25px 25px;margin-top:3px}.left-person{transform:translateX(-24px)}.right-person{transform:translateX(24px)}.couple-scene.connected .left-person,.couple-scene.connected .right-person{transform:translateX(0)}.bridge{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);display:flex;gap:7px}.bridge span{width:16px;height:16px;border-radius:50%;background:#d3c2b3;transition:.35s}.bridge span.on{background:var(--yellow);box-shadow:0 0 0 8px rgba(255,216,77,.18)}.connection-label{position:absolute;top:35px;left:50%;transform:translateX(-50%);background:white;border:1px solid var(--line);padding:8px 14px;border-radius:999px;color:var(--wine);font-weight:800}.steps-panel{display:grid;gap:15px}.step-buttons{display:grid;gap:9px}.step-buttons button{border:1px solid var(--line);background:white;text-align:left;padding:13px 15px;border-radius:12px;cursor:pointer;color:#4b3d3d;font-weight:700}.step-buttons button.active{background:var(--wine);color:white;border-color:var(--wine)}.myth-card{background:#fff6c7;border:1px solid #f2d961;border-radius:17px;padding:17px}.myth-card span{font-size:10px;font-weight:900;color:var(--wine);letter-spacing:.1em}.myth-card strong{display:block;margin:8px 0 12px}.myth-card button{border:0;background:var(--yellow);color:var(--wine);padding:9px 12px;border-radius:10px;font-weight:900;cursor:pointer}.support-layout{display:grid;grid-template-columns:1fr .9fr;gap:30px;align-items:center}.team-wheel{height:500px;position:relative;border-radius:50%;background:radial-gradient(circle,#fff4b8 0 23%,#fffdf9 24% 55%,#f5eadf 56%);border:1px solid var(--line)}.patient-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--wine);color:white;font:800 23px/1.1 Playfair Display;box-shadow:0 0 0 10px rgba(255,216,77,.35)}.team-wheel button{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:1px solid var(--line);background:white;color:var(--wine);font-weight:800;border-radius:999px;padding:12px 15px;cursor:pointer;box-shadow:0 8px 18px rgba(80,0,0,.09)}.team-wheel button:hover,.team-wheel button.active{background:var(--yellow);border-color:var(--yellow)}.support-card{background:white;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.four-themes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.four-themes button{border:0;background:#f7efe5;color:var(--wine);padding:13px;border-radius:12px;font-weight:800}.closing-note{margin-top:16px;color:var(--muted);font-size:13px}.controls{display:flex;justify-content:space-between;align-items:center;padding:12px 30px 20px}.controls>button{border:1px solid #d8c9b6;background:white;color:var(--wine);padding:10px 15px;border-radius:10px;font-weight:800;cursor:pointer}.controls>button:disabled{opacity:.4;cursor:not-allowed}.dots{display:flex;gap:7px}.dots button{width:9px;height:9px;border-radius:50%;border:0;background:#cbb9aa;cursor:pointer;padding:0}.dots button.active{background:var(--wine);transform:scale(1.3)}
@media(max-width:1000px){.app-shell{grid-template-columns:90px 1fr}.brand-mark{font-size:20px}.sidebar-kicker,.nav-btn:not(.active){font-size:0}.nav-btn{justify-content:center}.nav-btn span{font-size:11px}.sidebar-footer{display:none}.hero-grid,.journey-layout,.cycle-layout,.assessment-room,.intimacy-layout,.support-layout{grid-template-columns:1fr}.hero-visual{height:300px}.journey-track{grid-template-columns:repeat(2,1fr)}.cycle-ring{width:390px;height:390px}.cycle-ring>button{transform:translate(-50%,-50%) rotate(var(--a)) translateY(-160px) rotate(calc(-1*var(--a)));width:115px}.team-wheel{max-width:520px;width:100%;margin:auto}.journal-header{height:85px}.journal-header img{height:62px}}
@media(max-width:700px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding:14px}.slide-nav{display:flex;overflow:auto;margin-top:14px}.nav-btn{min-width:max-content;font-size:12px!important}.sidebar-footer{display:none}.stage{padding:18px}.journal-header{padding:8px 16px}.slide-heading{display:block}.slide-heading>p{margin-top:10px}.concept-strip{grid-template-columns:1fr}.journey-track{grid-template-columns:1fr}.cycle-ring{transform:scale(.82);margin:-30px auto}.session-grid{grid-template-columns:1fr}.couple-scene{padding:35px}.controls{padding:10px 18px 18px}.four-themes{grid-template-columns:1fr}}

/* --- Updated slide 04: What Remains? --- */
.reframe-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start;min-height:520px}
.reframe-summary{background:linear-gradient(165deg,#5e0000,#7c0b0b);color:white;border-radius:24px;padding:28px;box-shadow:var(--shadow);position:sticky;top:20px}
.reframe-summary h3{color:var(--yellow);font-size:30px;margin-bottom:12px}
.reframe-summary p{color:#f8ecec}
.reframe-progress-wrap{margin:22px 0 16px}
.reframe-progress-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;opacity:.95;margin-bottom:8px}
.soft-track{background:rgba(255,255,255,.18)}
.reframe-insight{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:16px 18px;line-height:1.55;min-height:132px}
.reframe-insight strong{display:block;color:var(--yellow);margin-bottom:7px}
.reframe-insight span{display:block;color:#fff4f4}
.reset-inline{margin-top:16px;display:inline-flex}
.reframe-board{display:grid;gap:18px}
.card-pool{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.reframe-card{background:white;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 10px 25px rgba(80,0,0,.06);transition:.25s}
.reframe-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(80,0,0,.1)}
.reframe-card strong{display:block;color:var(--wine);font-size:18px;margin-bottom:8px}
.reframe-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.reframe-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.reframe-actions button{border:1px solid var(--line);background:#fffaf2;border-radius:12px;padding:11px 12px;cursor:pointer;font-weight:800;color:var(--wine);transition:.2s}
.reframe-actions button:hover{background:var(--yellow);border-color:var(--yellow)}
.reframe-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.reframe-column{border-radius:22px;padding:18px;border:1px solid var(--line);background:var(--paper);min-height:290px;box-shadow:0 12px 30px rgba(70,0,0,.05)}
.loss-column{background:linear-gradient(180deg,#fff7ec,#fffdf8)}
.remain-column{background:linear-gradient(180deg,#fffde7,#fffdf8)}
.column-head span{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--wine);margin-bottom:4px}
.column-head h4{margin:4px 0 6px;font-size:21px;color:var(--wine)}
.column-head p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.45}
.sorted-list{display:grid;gap:12px;align-content:start}
.reframe-card.sorted{padding:16px 16px 14px}
.reframe-card.sorted strong{font-size:17px}
.reframe-card.sorted.loss{border-color:#d7b99f;background:#fffaf4}
.reframe-card.sorted.remain{border-color:#eed55f;background:#fffbe1}
.reframe-card.shake{animation:shake .28s linear 1}
@keyframes shake{0%{transform:translateX(0)}25%{transform:translateX(-6px)}50%{transform:translateX(6px)}75%{transform:translateX(-4px)}100%{transform:translateX(0)}}

/* --- Updated slide 06: rotating support wheel --- */
.team-wheel{overflow:hidden}
.wheel-rotor{position:absolute;inset:0;animation:spinWheel 26s linear infinite}
.wheel-rotor>*{animation:counterSpin 26s linear infinite}
.team-wheel:hover .wheel-rotor,.team-wheel:hover .wheel-rotor>*{animation-play-state:paused}
@keyframes spinWheel{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes counterSpin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(-360deg)}}
.patient-dot{z-index:2}
.team-wheel button{z-index:3}

@media(max-width:1000px){
  .reframe-layout{grid-template-columns:1fr}
  .reframe-summary{position:relative;top:auto}
}
@media(max-width:700px){
  .card-pool,.reframe-columns,.reframe-actions{grid-template-columns:1fr}
  .reframe-summary h3{font-size:24px}
}

/* --- support wheel fit fix --- */
.support-layout{grid-template-columns:minmax(560px,1.12fr) minmax(320px,.88fr);gap:34px}
.team-wheel{height:560px;max-width:560px;width:100%;margin:auto;overflow:visible}
.wheel-rotor{inset:18px}
.team-wheel button{max-width:150px;white-space:normal;text-align:center;line-height:1.15;padding:12px 16px}
.patient-dot{width:142px;height:142px;font-size:22px}
@media(max-width:1150px){.support-layout{grid-template-columns:1fr}.team-wheel{height:520px;max-width:520px}.wheel-rotor{inset:22px}}
@media(max-width:700px){.team-wheel{height:420px;max-width:420px}.wheel-rotor{inset:28px}.team-wheel button{max-width:112px;padding:9px 10px;font-size:12px}.patient-dot{width:118px;height:118px;font-size:18px}}
