:root {
    --navy: #002b79;
    --blue: #0045a9;
    --blue-2: #0074db;
    --cyan: #18d4ef;
    --teal: #10b7ad;
    --lime: #d7e51e;
    --ink: #08307c;
    --text: #0b2d68;
    --muted: #51668f;
    --line: #cfd9ea;
    --white: #ffffff;
    --paper: #f5f9ff;
    --shadow: 0 28px 70px rgba(0,38,109,.20);
    --ease: cubic-bezier(.2,.9,.2,1);
}

* {
    box-sizing: border-box;
}

html,
body {
    height: 100%;
    margin: 0;
}

body {
    font-family: Arial,Helvetica,sans-serif;
    background: radial-gradient(circle at 15% 10%,#0a6bdd 0,#012a72 35%,#001e56 100%);
    color: #fff;
    overflow: hidden;
}

.deck-shell {
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px;
}

.deck-toolbar {
    width: min(96vw,1440px);
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
    pointer-events: auto;
}

.toolbar-btn {
    border: 1px solid rgba(255,255,255,.35);
    background: rgba(255,255,255,.14);
    color: #fff;
    border-radius: 999px;
    font-weight: 800;
    height: 40px;
    min-width: 44px;
    padding: 0 14px;
    cursor: pointer;
    backdrop-filter: blur(12px);
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    transition: transform .25s ease,background .25s ease;
}

.toolbar-btn:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,.23);
}

.toolbar-btn.secondary {
    font-size: 13px;
}

.deck-status {
    min-width: 74px;
    text-align: center;
    font-weight: 900;
    letter-spacing: .08em;
    background: rgba(255,255,255,.16);
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.25);
}

.deck-viewport {
    width: min(96vw,1440px);
    aspect-ratio: 16/9;
    max-height: 82vh;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 34px 90px rgba(0,0,0,.38);
    background: #001f5d;
    position: relative;
}

.slides-track {
    height: 100%;
    display: flex;
    will-change: transform;
    transition: transform .82s var(--ease);
}

.slide {
    position: relative;
    flex: 0 0 100%;
    height: 100%;
    padding: 54px 64px;
    overflow: hidden;
    isolation: isolate;
}

.slide-dark {
    background: radial-gradient(circle at 70% 70%,rgba(25,210,212,.55) 0,rgba(0,116,219,.20) 22%,transparent 40%),linear-gradient(135deg,#002569 0%,#00358e 40%,#0062d1 100%);
}

.slide-light {
    background: linear-gradient(135deg,#ffffff 0%,#edf6ff 100%);
    color: var(--text);
}

.slide-photo {
    background: radial-gradient(circle at 82% 72%,rgba(28,212,190,.54) 0,rgba(0,116,219,.22) 28%,transparent 48%),linear-gradient(135deg,#00307e 0%,#004aa4 50%,#0074db 100%);
}

.brand {
    position: absolute;
    left: 42px;
    bottom: 32px;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 12px;
}

.brand img {
    display: block;
    width: 138px;
    max-height: 58px;
    object-fit: contain;
    filter: drop-shadow(0 8px 16px rgba(0,0,0,.18));
}

.brand-light img {
    width: 130px;
    filter: drop-shadow(0 8px 18px rgba(0,0,0,.24));
}

.brand-dark {
    bottom: 28px;
}

.slide-light .brand img {
    width: 112px;
    max-height: 52px;
}

.slide-number {
    position: absolute;
    right: 42px;
    bottom: 28px;
    z-index: 10;
    color: var(--ink);
    font-size: 17px;
    font-weight: 900;
}

.light-bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 14% 12%,rgba(19,159,226,.11),transparent 25%),radial-gradient(circle at 92% 78%,rgba(215,229,30,.12),transparent 25%);
    z-index: -2;
}

.slide-light:after {
    content: "";
    position: absolute;
    right: -80px;
    top: -120px;
    width: 330px;
    height: 330px;
    border: 2px solid rgba(0,65,159,.16);
    border-radius: 48px;
    transform: rotate(36deg);
    z-index: -1;
}

.glow {
    position: absolute;
    border-radius: 999px;
    filter: blur(16px);
    opacity: .75;
    z-index: -3;
    animation: glowMove 8s ease-in-out infinite alternate;
}

.glow-one {
    width: 420px;
    height: 420px;
    right: 240px;
    bottom: 60px;
    background: radial-gradient(circle,#17d7c9 0,transparent 68%);
}

.glow-two {
    width: 330px;
    height: 330px;
    right: -60px;
    top: -70px;
    background: radial-gradient(circle,#0090ff 0,transparent 65%);
    animation-delay: -3s;
}

.orb {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.26);
    z-index: -1;
    animation: float 6s ease-in-out infinite;
}

.orb-a {
    width: 110px;
    height: 110px;
    left: 40%;
    top: 12%;
}

.orb-b {
    width: 54px;
    height: 54px;
    right: 11%;
    bottom: 12%;
    animation-delay: -1.8s;
}

.line-corner {
    position: absolute;
    width: 170px;
    height: 170px;
    border: 2px solid rgba(255,255,255,.76);
    z-index: -1;
}

.line-a {
    right: 80px;
    top: 70px;
    border-left: 0;
    border-bottom: 0;
    border-radius: 0 32px 0 0;
}

.line-b {
    left: 54%;
    bottom: 58px;
    border-right: 0;
    border-top: 0;
    border-radius: 0 0 0 32px;
    opacity: .3;
}

.twinkle {
    position: absolute;
    color: #fff;
    font-size: 36px;
    line-height: 1;
    text-shadow: 0 0 20px rgba(255,255,255,.75);
    animation: twinkle 2.2s ease-in-out infinite;
    z-index: -1;
}

.t1 {
    right: 16%;
    top: 14%;
}

.t2 {
    right: 7%;
    top: 8%;
    font-size: 22px;
    animation-delay: .4s;
}

.t3 {
    left: 72%;
    bottom: 17%;
    font-size: 30px;
    animation-delay: .9s;
}

.cap-watermark {
    position: absolute;
    right: 42px;
    top: 130px;
    width: 310px;
    opacity: .20;
    z-index: -2;
    animation: float 7.5s ease-in-out infinite;
}

.cap-watermark svg {
    width: 100%;
    height: auto;
    fill: none;
    stroke: #fff;
    stroke-width: 10;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.slide-light .cap-watermark {
    opacity: .07;
}

.slide-light .cap-watermark svg {
    stroke: #0057c8;
}

.slide-title {
    font-size: 42px;
    letter-spacing: -.035em;
    line-height: 1.05;
    margin: 0 0 38px;
    color: var(--ink);
    font-weight: 900;
}

.slide-title span {
    color: var(--cyan);
    font-size: .72em;
    vertical-align: middle;
    margin-left: 8px;
}

.eyebrow {
    font-size: 15px;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 900;
    color: #e6f6ff;
    margin: 0 0 20px;
}

.cover-grid {
    position: relative;
    z-index: 2;
    height: 100%;
    display: grid;
    grid-template-columns: 1.07fr .93fr;
    gap: 48px;
    align-items: center;
}

.cover-copy h1 {
    font-size: 64px;
    line-height: .95;
    margin: 0 0 24px;
    letter-spacing: -.06em;
    font-weight: 900;
}

.cover-copy h1 span {
    color: var(--lime);
}

.subtitle {
    font-size: 25px;
    line-height: 1.32;
    color: #eaf5ff;
    max-width: 810px;
    margin: 0;
}

.meta-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 38px;
    max-width: 730px;
}

.meta-row div {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 22px;
    padding: 18px 20px;
    backdrop-filter: blur(14px);
}

.meta-row b,
.meta-row span {
    display: block;
}

.meta-row b {
    color: var(--lime);
    font-size: 15px;
    text-transform: uppercase;
}

.meta-row span {
    margin-top: 6px;
    color: #fff;
    font-weight: 700;
}

.cover-visual {
    height: 540px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 42px;
    background: linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.05));
    box-shadow: 0 34px 90px rgba(0,0,0,.24);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.cover-visual:before {
    content: "";
    position: absolute;
    inset: 28px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 32px;
}

.cover-visual img {
    max-width: 66%;
    max-height: 80%;
    object-fit: contain;
    filter: drop-shadow(0 20px 34px rgba(0,0,0,.2));
    animation: float 6s ease-in-out infinite;
}

.floating-badge {
    position: absolute;
    left: 34px;
    top: 34px;
    background: var(--lime);
    color: #032a72;
    border-radius: 999px;
    padding: 12px 18px;
    font-weight: 900;
    box-shadow: 0 18px 32px rgba(0,0,0,.22);
    animation: pulse 2.8s ease-in-out infinite;
}

.professor-layout {
    position: relative;
    z-index: 2;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr .92fr;
    gap: 40px;
    align-items: center;
}

.professor-copy {
    max-width: 680px;
}

.section-number {
    display: block;
    font-size: 104px;
    line-height: .85;
    color: var(--lime);
    font-weight: 900;
    letter-spacing: -.07em;
    margin-bottom: 16px;
    text-shadow: 0 5px 0 rgba(0,43,121,.2);
}

.professor-copy h2 {
    font-size: 76px;
    line-height: .98;
    margin: 0 0 18px;
    letter-spacing: -.06em;
    font-weight: 900;
}

.professor-note {
    margin-top: 34px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 26px;
    padding: 22px 24px;
    color: #e9f6ff;
    font-size: 18px;
    line-height: 1.5;
    backdrop-filter: blur(14px);
}

.professor-photo-wrap {
    position: relative;
    height: 610px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.photo-shape {
    position: relative;
    width: 460px;
    height: 560px;
    border-radius: 44% 56% 42% 58%/55% 38% 62% 45%;
    padding: 10px;
    background: linear-gradient(135deg,var(--lime),var(--cyan),var(--blue-2));
    box-shadow: 0 40px 90px rgba(0,0,0,.35);
    animation: shapeMorph 7s ease-in-out infinite;
    overflow: hidden;
}

.photo-shape:after {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: inherit;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.46);
    pointer-events: none;
}

.photo-shape img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    filter: contrast(1.06) saturate(1.08) brightness(1.04);
}

.ring {
    position: absolute;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.42);
    animation: spin 14s linear infinite;
}

.ring-one {
    width: 540px;
    height: 540px;
}

.ring-two {
    width: 420px;
    height: 420px;
    border-style: dashed;
    animation-duration: 18s;
    animation-direction: reverse;
}

.two-column {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 34px;
    align-items: stretch;
}

.hero-card {
    border-radius: 34px;
    padding: 44px;
    box-shadow: var(--shadow);
    position: relative;
    overflow: hidden;
}

.blue-card {
    background: linear-gradient(145deg,#00338e 0%,#0069d1 100%);
    color: #fff;
}

.hero-card:after {
    content: "";
    position: absolute;
    right: -44px;
    bottom: -44px;
    width: 160px;
    height: 160px;
    border: 2px solid rgba(255,255,255,.22);
    border-radius: 50%;
    animation: spin 18s linear infinite;
}

.hero-card h3 {
    font-size: 34px;
    margin: 0 0 18px;
    color: var(--lime);
    letter-spacing: -.03em;
}

.hero-card p {
    font-size: 25px;
    line-height: 1.42;
    margin: 0;
}

.stacked-steps,
.method-list,
.next-steps {
    display: grid;
    gap: 18px;
}

.stacked-steps div,
.method-list div,
.next-steps div {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 20px;
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 24px;
    padding: 22px 24px;
    box-shadow: 0 18px 44px rgba(0,48,140,.08);
    transition: transform .3s ease, box-shadow .3s ease;
}

.stacked-steps div:hover,
.method-list div:hover,
.next-steps div:hover {
    transform: translateY(-5px);
    box-shadow: 0 28px 62px rgba(0,48,140,.16);
}

.stacked-steps b,
.next-steps b {
    color: var(--lime);
    font-size: 34px;
    text-shadow: 0 1px 0 #15386f;
}

.method-list b {
    font-size: 20px;
    color: var(--blue);
}

.stacked-steps span,
.method-list span,
.next-steps span {
    font-size: 20px;
    font-weight: 800;
    color: #1c3d7d;
    line-height: 1.25;
}

.text-and-cards {
    display: grid;
    grid-template-columns: 1fr 1.08fr;
    gap: 34px;
    align-items: stretch;
}

.copy-block {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 30px;
    padding: 34px;
    box-shadow: var(--shadow);
}

.copy-block p {
    font-size: 23px;
    line-height: 1.46;
    color: #263f78;
    margin: 0 0 28px;
}

.image-chip-row {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 12px;
}

.image-chip-row img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(0,42,120,.12);
    transition: transform .35s ease;
}

.image-chip-row img:hover {
    transform: scale(1.06) rotate(-1deg);
}

.theory-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.theory-grid div {
    background: linear-gradient(145deg,#00338e,#006bd4);
    color: #fff;
    border-radius: 24px;
    padding: 26px;
    box-shadow: 0 20px 46px rgba(0,48,140,.18);
    transition: transform .3s ease;
}

.theory-grid div:hover {
    transform: translateY(-4px) scale(1.01);
}

.theory-grid b {
    display: block;
    color: var(--lime);
    font-size: 25px;
    margin-bottom: 12px;
}

.theory-grid span {
    font-size: 17px;
    line-height: 1.42;
}

.method-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: stretch;
}

.method-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 30px;
    padding: 30px;
    box-shadow: var(--shadow);
    position: relative;
    overflow: hidden;
}

.method-card h3 {
    font-size: 30px;
    color: var(--ink);
    margin: 0 0 15px;
}

.method-card p {
    font-size: 20px;
    color: #314b80;
    line-height: 1.45;
    margin: 0 0 22px;
}

.scale {
    display: flex;
    gap: 10px;
    margin-bottom: 18px;
}

.scale span {
    flex: 1;
    text-align: center;
    background: #edf6ff;
    color: var(--ink);
    font-weight: 900;
    border-radius: 999px;
    padding: 10px;
}

.method-card img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    border-radius: 24px;
    filter: saturate(1.08);
    transition: transform .4s ease;
}

.method-card:hover img {
    transform: scale(1.035);
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

.form-grid div {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 26px;
    padding: 28px;
    box-shadow: 0 18px 44px rgba(0,48,140,.08);
    position: relative;
    overflow: hidden;
}

.form-grid div:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 9px;
    background: linear-gradient(var(--blue),var(--teal),var(--lime));
}

.form-grid h3 {
    font-size: 24px;
    color: var(--ink);
    margin: 0 0 12px;
}

.form-grid p {
    font-size: 18px;
    line-height: 1.45;
    color: #314b80;
    margin: 0;
}

.scale-wide {
    position: absolute;
    left: 64px;
    right: 64px;
    bottom: 66px;
    background: linear-gradient(90deg,#00378e,#006fd9);
    color: #fff;
    border-radius: 999px;
    padding: 15px 26px;
    text-align: center;
    font-size: 21px;
    font-weight: 900;
    box-shadow: var(--shadow);
}

.section-slide {
    display: flex;
    align-items: center;
}

.section-copy {
    max-width: 760px;
    position: relative;
    z-index: 3;
}

.section-copy h2 {
    font-size: 88px;
    line-height: .9;
    letter-spacing: -.07em;
    margin: 0 0 20px;
    color: #fff;
}

.section-copy p {
    font-size: 26px;
    line-height: 1.4;
    color: #eaf6ff;
}

.result-layout {
    display: grid;
    grid-template-columns: 1fr 1.04fr;
    gap: 30px;
    align-items: stretch;
}

.result-card {
    background: linear-gradient(145deg,#00338e,#0067d0);
    color: #fff;
    border-radius: 34px;
    padding: 36px;
    box-shadow: var(--shadow);
}

.result-card h3 {
    font-size: 36px;
    margin: 0 0 24px;
    color: var(--lime);
}

.result-card li {
    font-size: 22px;
    line-height: 1.42;
    margin: 14px 0;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 18px;
}

.metric-grid div {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 26px;
    padding: 24px;
    box-shadow: 0 18px 44px rgba(0,48,140,.09);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.metric-grid div:after {
    content: "";
    position: absolute;
    inset: auto -20px -46px auto;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: rgba(22,189,184,.1);
}

.metric-grid span {
    font-size: 56px;
    font-weight: 900;
    color: var(--lime);
    line-height: 1;
    text-shadow: 0 1px 0 #245;
    animation: pulse 3.1s ease-in-out infinite;
}

.metric-grid b {
    font-size: 22px;
    margin-top: 12px;
}

.metric-grid small {
    font-size: 15px;
    color: #4b6090;
    margin-top: 8px;
}

.case-layout {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 28px;
    align-items: stretch;
}

.case-summary {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 30px;
    padding: 34px;
    box-shadow: var(--shadow);
}

.case-tag {
    display: inline-block;
    border-radius: 999px;
    padding: 10px 16px;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
    font-size: 13px;
    margin: 0 0 24px;
}

.case-tag.positive {
    background: rgba(215,229,30,.2);
    color: #637000;
}

.case-tag.caution {
    background: rgba(0,57,143,.1);
    color: #00398f;
}

.case-summary h3 {
    font-size: 30px;
    line-height: 1.25;
    margin: 0 0 20px;
    color: var(--text);
}

.case-summary p {
    font-size: 18px;
    line-height: 1.5;
    color: #304779;
}

.case-table {
    display: grid;
    gap: 14px;
}

.case-table div {
    background: linear-gradient(135deg,#00378e,#006ad6);
    border-radius: 20px;
    color: #fff;
    padding: 20px 24px;
    box-shadow: 0 14px 38px rgba(0,48,140,.18);
    transition: transform .3s ease;
}

.case-table div:hover {
    transform: translateX(8px);
}

.case-table b {
    display: block;
    color: var(--lime);
    font-size: 19px;
    margin-bottom: 5px;
}

.case-table span {
    display: block;
    font-weight: 700;
    margin-bottom: 8px;
}

.case-table small {
    font-size: 15px;
    color: #eaf4ff;
}

.mini-bars {
    display: grid;
    gap: 18px;
    margin-top: 4px;
}

.mini-bars div {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 18px 20px;
    box-shadow: 0 15px 38px rgba(0,48,140,.08);
}

.mini-bars b {
    display: block;
    color: var(--text);
    margin-bottom: 8px;
}

.bar {
    display: block;
    height: 12px;
    border-radius: 999px;
    background: #dce7f5;
    overflow: hidden;
}

.bar i {
    display: block;
    height: 100%;
    background: linear-gradient(90deg,var(--blue),var(--teal),var(--lime));
    animation: barIn 1.2s var(--ease) both;
}

.mini-bars em {
    display: block;
    font-style: normal;
    font-size: 14px;
    margin-top: 7px;
    color: #526796;
}

.split-visual {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 30px;
    align-items: center;
}

.blue-panel {
    min-height: 380px;
    border-radius: 34px;
    background: linear-gradient(135deg,#00328b,#006fdd);
    color: #fff;
    padding: 44px;
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.blue-panel:after {
    content: "✦";
    position: absolute;
    right: 28px;
    top: 18px;
    color: var(--lime);
    font-size: 40px;
    animation: twinkle 2s ease-in-out infinite;
}

.blue-panel h3 {
    font-size: 34px;
    margin: 0 0 18px;
    color: var(--lime);
}

.blue-panel p {
    font-size: 23px;
    line-height: 1.4;
    margin: 0;
}

.comparison {
    display: grid;
    grid-template-columns: 1fr 50px 1fr;
    gap: 16px;
    align-items: center;
}

.comparison div:not(.arrow) {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 24px;
    padding: 24px;
    box-shadow: 0 18px 44px rgba(0,48,140,.08);
}

.comparison span {
    display: block;
    font-size: 15px;
    color: #516590;
    font-weight: 800;
    text-transform: uppercase;
}

.comparison b {
    display: block;
    font-size: 28px;
    color: var(--text);
    margin: 10px 0;
}

.comparison i {
    font-style: normal;
    color: #4b6090;
}

.arrow {
    font-size: 38px;
    font-weight: 900;
    text-align: center;
    color: var(--blue);
}

.analysis-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 22px;
    height: 68%;
    align-items: stretch;
}

.analysis-grid div {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 28px;
    padding: 30px;
    box-shadow: var(--shadow);
    transition: transform .3s ease;
}

.analysis-grid div:hover {
    transform: translateY(-5px);
}

.analysis-grid h3 {
    font-size: 25px;
    color: var(--blue);
    margin: 0 0 18px;
}

.analysis-grid p {
    font-size: 18px;
    line-height: 1.5;
    color: #304779;
    margin: 0;
}

.lessons-layout {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 32px;
    align-items: center;
}

.lesson-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 18px;
}

.lesson-list li {
    display: grid;
    grid-template-columns: 68px 1fr;
    gap: 18px;
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 24px;
    padding: 22px 24px;
    box-shadow: 0 18px 44px rgba(0,48,140,.08);
    font-size: 21px;
    line-height: 1.35;
    color: #203a72;
    font-weight: 700;
}

.lesson-list span {
    font-size: 28px;
    font-weight: 900;
    color: var(--lime);
    text-shadow: 0 1px 0 #245;
}

.portrait-panel {
    height: 480px;
    border-radius: 34px;
    overflow: hidden;
    background: linear-gradient(135deg,#00388f,#006ad2);
    box-shadow: var(--shadow);
    padding: 24px;
}

.portrait-panel img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    animation: float 6s ease-in-out infinite;
}

.next-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 34px;
    align-items: center;
}

.image-frame {
    height: 420px;
    border-radius: 30px;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 20px;
}

.image-frame img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.photo-header {
    position: relative;
    z-index: 2;
}

.photo-header h2 {
    font-size: 40px;
    line-height: 1.05;
    margin: 0 0 10px;
    letter-spacing: -.04em;
    color: #fff;
    max-width: 920px;
}

.photo-header p {
    font-size: 19px;
    color: #e8f5ff;
    margin: 0 0 24px;
}

.mosaic-gallery {
    position: relative;
    z-index: 2;
    height: 610px;
    display: grid;
    grid-template-columns: repeat(6,1fr);
    grid-auto-rows: 1fr;
    gap: 10px;
}

.gallery-item {
    margin: 0;
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.25);
    box-shadow: 0 16px 34px rgba(0,0,0,.22);
    transform: translateY(18px) scale(.95);
    opacity: 0;
}

.slide.active .gallery-item {
    animation: galleryIn .72s var(--ease) both;
    animation-delay: calc(var(--i) * .045s);
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(1.04) contrast(1.03);
    transition: transform .55s var(--ease), filter .55s var(--ease);
}

.gallery-item:hover img {
    transform: scale(1.12);
    filter: saturate(1.2) contrast(1.07);
}

.timeline-title {
    font-size: 58px;
    line-height: 1;
    margin: 0 0 38px;
    letter-spacing: -.06em;
    color: #fff;
}

.timeline-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 18px;
}

.timeline-grid div {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.23);
    border-radius: 26px;
    padding: 26px;
    backdrop-filter: blur(14px);
    box-shadow: 0 24px 54px rgba(0,0,0,.16);
}

.timeline-grid span {
    display: block;
    font-size: 42px;
    font-weight: 900;
    color: var(--lime);
    line-height: 1;
    margin-bottom: 12px;
}

.timeline-grid b {
    display: block;
    font-size: 22px;
    color: #fff;
    margin-bottom: 10px;
}

.timeline-grid p {
    margin: 0;
    color: #e8f4ff;
    line-height: 1.45;
}

.photo-strip {
    position: absolute;
    left: 64px;
    right: 64px;
    bottom: 92px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 18px;
}

.photo-strip img {
    width: 100%;
    height: 145px;
    object-fit: cover;
    border-radius: 24px;
    border: 2px solid rgba(255,255,255,.24);
    box-shadow: 0 18px 44px rgba(0,0,0,.24);
    transition: transform .35s ease;
}

.photo-strip img:hover {
    transform: translateY(-8px) scale(1.02);
}

.final-slide {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: 34px;
    align-items: center;
}

.final-heading {
    position: relative;
    z-index: 2;
}

.final-heading h2 {
    font-size: 70px;
    line-height: .9;
    margin: 0 0 20px;
    color: var(--lime);
    letter-spacing: -.06em;
}

.final-heading p {
    font-size: 28px;
    font-weight: 900;
    margin: 0;
    color: #fff;
}

.participants-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 12px;
}

.participant-card {
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 20px;
    padding: 18px 16px;
    backdrop-filter: blur(14px);
    box-shadow: 0 16px 34px rgba(0,0,0,.16);
    min-height: 94px;
}

.participant-card strong {
    display: block;
    font-size: 17px;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 10px;
}

.participant-card span {
    display: inline-block;
    color: #061e5a;
    background: var(--lime);
    font-weight: 900;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 13px;
}

.progress {
    height: 6px;
    width: min(96vw,1440px);
    margin: 0 auto;
    background: rgba(255,255,255,.17);
    border-radius: 999px;
    overflow: hidden;
}

.progress span {
    display: block;
    height: 100%;
    width: 0;
    background: linear-gradient(90deg,var(--lime),var(--cyan));
    border-radius: 999px;
    transition: width .45s var(--ease);
}

.dots {
    display: flex;
    justify-content: center;
    gap: 7px;
    flex-wrap: wrap;
    max-width: min(96vw,1440px);
    margin: 0 auto;
}

.dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    border: 0;
    background: rgba(255,255,255,.38);
    cursor: pointer;
    padding: 0;
    transition: width .25s ease, background .25s ease, transform .25s ease;
}

.dot:hover {
    transform: translateY(-2px);
}

.dot.active {
    width: 28px;
    background: var(--lime);
}

.slide.active .reveal {
    animation: revealUp .82s var(--ease) both;
    animation-delay: calc(var(--i,0) * .05s);
}

.slide.active .delay-1 {
    animation-delay: .12s;
}

.slide.active .delay-2 {
    animation-delay: .24s;
}

.slide.active .delay-3 {
    animation-delay: .36s;
}

.slide.active .delay-4 {
    animation-delay: .48s;
}

@keyframes revealUp{
    0% {
        opacity: 0;
        transform: translateY(28px) scale(.985);
        filter: blur(5px);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

@keyframes glowMove{
    0% {
        transform: translate(-22px,10px) scale(.95);
    }

    100% {
        transform: translate(26px,-18px) scale(1.08);
    }
}

@keyframes float{
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-16px);
    }
}

@keyframes twinkle{
    0%,
    100% {
        opacity: .38;
        transform: scale(.86) rotate(0);
    }

    50% {
        opacity: 1;
        transform: scale(1.18) rotate(20deg);
    }
}

@keyframes pulse{
    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.045);
    }
}

@keyframes spin{
    to {
        transform: rotate(360deg);
    }
}

@keyframes shapeMorph{
    0%,
    100% {
        border-radius: 44% 56% 42% 58%/55% 38% 62% 45%;
        transform: translateY(0);
    }

    50% {
        border-radius: 58% 42% 60% 40%/40% 58% 42% 60%;
        transform: translateY(-10px);
    }
}

@keyframes galleryIn{
    0% {
        opacity: 0;
        transform: translateY(24px) scale(.9) rotate(-1deg);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1) rotate(0);
    }
}

@keyframes barIn{
    0% {
        width: 0;
    }

    100% {
        width: var(--w,inherit);
    }
}

@media (max-width:900px){
    body {
        overflow: auto;
    }

    .deck-shell {
        height: auto;
        min-height: 100vh;
        padding: 10px;
        gap: 8px;
    }

    .deck-viewport {
        width: 100%;
        aspect-ratio: 16/9;
    }

    .slide {
        padding: 22px 26px;
    }

    .brand {
        left: 22px;
        bottom: 14px;
    }

    .brand img,
    .brand-light img,
    .slide-light .brand img {
        width: 72px;
        max-height: 42px;
    }

    .slide-title {
        font-size: 22px;
        margin-bottom: 14px;
    }

    .cover-grid,
    .professor-layout,
    .two-column,
    .text-and-cards,
    .method-grid,
    .result-layout,
    .case-layout,
    .split-visual,
    .lessons-layout,
    .next-grid,
    .final-slide {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .cover-copy h1 {
        font-size: 30px;
    }

    .subtitle,
    .hero-card p,
    .blue-panel p {
        font-size: 12px;
    }

    .eyebrow {
        font-size: 9px;
    }

    .meta-row,
    .theory-grid,
    .form-grid,
    .metric-grid,
    .participants-grid {
        grid-template-columns: 1fr 1fr;
    }

    .cover-visual,
    .professor-photo-wrap,
    .portrait-panel,
    .image-frame {
        display: none;
    }

    .hero-card,
    .blue-panel,
    .copy-block,
    .method-card,
    .case-summary,
    .analysis-grid div {
        padding: 14px;
        border-radius: 16px;
    }

    .form-grid div {
        padding: 12px;
    }

    .form-grid h3,
    .case-summary h3,
    .analysis-grid h3 {
        font-size: 13px;
    }

    .form-grid p,
    .case-summary p,
    .analysis-grid p,
    .method-card p,
    .theory-grid span {
        font-size: 10px;
    }

    .scale-wide {
        bottom: 34px;
        left: 26px;
        right: 26px;
        font-size: 10px;
        padding: 8px;
    }

    .section-copy h2 {
        font-size: 38px;
    }

    .section-number {
        font-size: 48px;
    }

    .analysis-grid,
    .timeline-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .lesson-list li {
        font-size: 12px;
        padding: 9px;
        grid-template-columns: 34px 1fr;
    }

    .lesson-list span {
        font-size: 18px;
    }

    .mosaic-gallery {
        height: 70%;
        grid-template-columns: repeat(6,1fr);
        gap: 5px;
    }

    .photo-header h2 {
        font-size: 18px;
    }

    .photo-header p {
        font-size: 10px;
        margin-bottom: 8px;
    }

    .gallery-item {
        border-radius: 8px;
    }

    .timeline-title {
        font-size: 24px;
    }

    .photo-strip {
        display: none;
    }

    .final-heading h2 {
        font-size: 34px;
    }

    .final-heading p {
        font-size: 15px;
    }

    .participant-card {
        min-height: auto;
        padding: 8px;
    }

    .participant-card strong {
        font-size: 10px;
    }

    .participant-card span {
        font-size: 8px;
        padding: 4px 6px;
    }

    .toolbar-btn.secondary {
        display: none;
    }

    .slide-number {
        right: 20px;
        bottom: 12px;
        font-size: 10px;
    }

    .cap-watermark {
        display: none;
    }
}

@media (prefers-reduced-motion:reduce){
    .slides-track,
    .reveal,
    .progress span,
    .toolbar-btn,
    .gallery-item,
    .glow,
    .orb,
    .twinkle,
    .cap-watermark,
    .cover-visual img,
    .portrait-panel img {
        transition: none!important;
        animation: none!important;
    }

    .reveal,
    .gallery-item {
        opacity: 1;
        transform: none;
        filter: none;
    }
}

/* Revisão conferida imagem a imagem: 01.png a 11.png */
.paper-slide {
    background: #fff;
    color: #0b0b0b;
    padding: 0;
    font-family: 'Poppins','Montserrat','Segoe UI',Arial,sans-serif;
    --orange: #ef7600;
    --gray: #606060;
    --light: #f4f4f4;
    --linegray: #dedede;
    --blueLine: #139fe2;
}

.paper-slide:after {
    display: none;
}

.paper-slide p,
.paper-slide li {
    font-weight: 400;
}

.paper-bg-accent {
    position: absolute;
    left: 0;
    right: 0;
    top: 45.8%;
    height: 29%;
    background: #f0f0f0;
}

.paper-header {
    position: absolute;
    left: 7.2%;
    top: 7.2%;
    z-index: 4;
}

.paper-header h2 {
    margin: 0;
    color: var(--orange);
    font-size: 34px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.02em;
    text-transform: uppercase;
}

.paper-header span {
    display: block;
    width: 130px;
    height: 4px;
    background: #e7e7e7;
    margin-top: 18px;
}

.paper-header.case-title h2 {
    font-size: 34px;
    text-transform: none;
}

.paper-slide .orange {
    color: #f07322;
}

.objective-text {
    position: absolute;
    left: 7.2%;
    top: 25%;
    width: 86%;
    font-size: 32px;
    line-height: 1.12;
    color: #606060;
    letter-spacing: -.02em;
}

.strategy-band {
    position: absolute;
    left: 0;
    right: 0;
    top: 45.8%;
    height: 29%;
    display: grid;
    grid-template-columns: 26% 22% 1fr;
    align-items: center;
}

.target-icon {
    justify-self: end;
    width: 130px;
    height: 130px;
    margin-right: 32px;
}

.target-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #ffbd7b;
    stroke-width: 7;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: .8;
}

.strategy-band h3 {
    color: #ff8b2a;
    font-size: 34px;
    margin: 0;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-color: #ff8b2a;
    text-decoration-style: wavy;
    text-underline-offset: 4px;
}

.strategy-band ul {
    margin: 0 0 0 12%;
    padding: 0;
    list-style: none;
    color: #626262;
    font-size: 24px;
    line-height: 1.18;
}

.strategy-band li::before {
    content: '✓';
    display: inline-block;
    margin-right: 18px;
    color: #5e5e5e;
    font-weight: 800;
}

.theory-paper {
    display: grid;
    grid-template-columns: 56% 44%;
    align-items: center;
}

.theory-column-shade {
    position: absolute;
    left: 17.5%;
    top: 0;
    bottom: 7%;
    width: 22%;
    background: rgba(0,0,0,.045);
}

.theory-cards {
    position: absolute;
    left: 5.7%;
    top: 4%;
    width: 46.5%;
    display: grid;
    gap: 26px;
}

.book-card {
    display: grid;
    grid-template-columns: 112px 1fr;
    gap: 34px;
    align-items: center;
    min-height: 132px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 3px 16px rgba(0,0,0,.16);
    padding: 16px 22px;
}

.book-card img {
    width: 82px;
    height: 116px;
    object-fit: cover;
}

.book-card h3 {
    font-size: 22px;
    line-height: 1.05;
    margin: 0 0 6px;
    color: #5b5b5b;
    font-weight: 900;
}

.book-card:first-child h3 {
    font-size: 25px;
    color: #000;
}

.book-card p {
    font-size: 19px;
    line-height: 1.12;
    margin: 0;
    color: #5b5b5b;
}

.book-card:first-child p {
    font-size: 20px;
    color: #000;
}

.theory-text {
    position: absolute;
    right: 6%;
    top: 25%;
    width: 36%;
    height: 52%;
}

.theory-text .paper-header {
    position: relative;
    left: auto;
    top: auto;
    margin-bottom: 80px;
}

.theory-text .paper-header h2 {
    font-size: 34px;
}

.theory-text p {
    font-size: 21px;
    line-height: 2.05;
    color: #5d5d5d;
    margin: 0;
}

.method-left {
    position: absolute;
    left: 7.8%;
    top: 20%;
    width: 35%;
    font-size: 22px;
    color: #666;
    line-height: 1.22;
}

.text-group {
    margin-bottom: 42px;
}

.method-left h3 {
    font-size: 22px;
    margin: 0 0 10px;
    color: #575757;
    font-weight: 900;
}

.method-left p {
    margin: 0 0 16px;
}

.visit-label {
    margin-top: 32px!important;
}

.method-illustration {
    position: absolute;
    right: 11.7%;
    top: 2.8%;
    width: 31.5%;
    height: auto;
}

.instrument-card {
    position: absolute;
    right: 5%;
    bottom: 7.8%;
    width: 39%;
    height: 41%;
    background: #efeeee;
    border-radius: 24px;
    padding: 20px 58px;
    color: #606060;
}

.instrument-card h4 {
    font-size: 15px;
    color: #f07322;
    text-align: center;
    margin: 0 0 12px;
    font-weight: 900;
}

.instrument-card h3 {
    font-size: 17px;
    line-height: 1.15;
    margin: 0 0 10px;
    color: #5a5a5a;
    font-weight: 900;
}

.instrument-card p {
    font-size: 18px;
    line-height: 1.15;
    margin: 0 0 8px;
}

.instrument-card .scale-title {
    margin-top: 28px;
}

.form-columns {
    position: absolute;
    left: 2.7%;
    right: 2.7%;
    top: 18%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
}

.form-columns h3 {
    font-size: 22px;
    line-height: 1.2;
    margin: 0 0 22px;
    color: #000;
    font-weight: 900;
}

.form-columns p {
    font-size: 22px;
    line-height: 1.05;
    margin: 0 0 24px;
    color: #111;
}

.form-columns h3:nth-of-type(2) {
    margin-top: 42px;
}

.checkbox-row {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 6.2%;
    display: flex;
    justify-content: center;
    gap: 34px;
    font-size: 32px;
    line-height: 1;
    color: #000;
}

.results-paper .paper-header {
    left: 7.1%;
    top: 5.8%;
}

.observed-card {
    position: absolute;
    left: 5.7%;
    top: 25.3%;
    width: 19%;
    height: 41.7%;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 3px 20px rgba(0,0,0,.08);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.observed-card h3 {
    font-size: 22px;
    line-height: 1.05;
    margin: 0;
    color: #5d5d5d;
    font-weight: 900;
    align-self: flex-start;
    padding-left: 12%;
}

.magnifier-icon {
    width: 94px;
    height: 94px;
    align-self: flex-end;
    margin-right: 8%;
    margin-top: 10px;
    fill: none;
    stroke: #888;
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.result-text-card {
    position: absolute;
    left: 24%;
    right: 3%;
    top: 25.3%;
    height: 66%;
    background: #f7f7f7;
    border-radius: 22px;
    padding: 76px 72px;
    color: #606060;
}

.result-text-card p {
    font-size: 27px;
    line-height: 1.15;
    margin: 0 0 58px;
}

.result-text-card img {
    position: absolute;
    right: 5%;
    bottom: 7%;
    width: 190px;
    height: auto;
}

.case-paper .case-kicker {
    position: absolute;
    left: 6%;
    top: 18%;
    font-size: 30px;
    margin: 0;
    font-weight: 900;
    color: #000;
}

.case-paper .case-person {
    position: absolute;
    left: 13%;
    top: 26%;
    font-size: 31px;
    margin: 0;
    font-weight: 900;
    color: #000;
}

.case-left {
    position: absolute;
    left: 6%;
    top: 47%;
    width: 36%;
    z-index: 3;
    color: #000;
}

.case-left h3,
.case-right h3 {
    font-size: 29px;
    line-height: 1.05;
    margin: 0;
    font-weight: 900;
}

.case-left p,
.case-right p {
    font-size: 27px;
    line-height: 1.05;
    margin: 4px 0 0;
    color: #000;
}

.case-left ul,
.case-right ul {
    font-size: 26px;
    line-height: 1.08;
    margin: 0;
    padding-left: 66px;
    color: #000;
}

.case-right {
    position: absolute;
    left: 58%;
    width: 39%;
    z-index: 3;
    color: #000;
}

.case-right.top {
    top: 23.5%;
}

.case-right.mid {
    top: 48.5%;
}

.case-right.bottom {
    top: 74%;
}

.case-lines {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

.case-lines line {
    stroke-width: .35;
    vector-effect: non-scaling-stroke;
}

.case-lines .gray-line {
    stroke: #bdbdbd;
}

.case-lines .blue-line {
    stroke: #139fe2;
}

.slide.active .case-lines line {
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    animation: drawLine 1s ease forwards;
    animation-delay: .55s;
}

.slide.active .case-lines .blue-line {
    animation-delay: .85s;
}

.bulb-note {
    position: absolute;
    left: 2%;
    bottom: 4%;
    width: 42%;
    display: grid;
    grid-template-columns: 110px 1fr;
    align-items: center;
    gap: 26px;
    z-index: 3;
}

.bulb-note svg,
.support-note svg {
    width: 110px;
    height: 110px;
    fill: none;
    stroke: #707070;
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.bulb-note p {
    font-size: 25px;
    line-height: 1.08;
    margin: 0;
    color: #f07322;
    text-align: center;
}

.case-idoso3 .case-left {
    left: 2%;
    top: 47%;
    width: 34%;
}

.case-idoso3 .case-person {
    left: 12%;
    top: 21%;
}

.case-idoso3 .case-right {
    left: 52%;
    width: 45%;
}

.case-idoso3 .case-right.top {
    top: 20%;
}

.case-idoso3 .case-right.mid {
    top: 48%;
}

.support-note {
    position: absolute;
    left: 19%;
    bottom: 7%;
    right: 8%;
    display: grid;
    grid-template-columns: 118px 1fr 2px 1fr;
    align-items: center;
    gap: 28px;
    z-index: 3;
}

.support-note p {
    font-size: 26px;
    line-height: 1.12;
    margin: 0;
    text-align: center;
    color: #666;
}

.support-note span {
    color: #f07322;
    font-weight: 900;
}

.support-note i {
    height: 110px;
    background: #0073b7;
    display: block;
}

.support-note .orange-side {
    color: #f07322;
    font-size: 25px;
}

.case-idoso6 .case-person {
    left: 12%;
    top: 20%;
}

.case-idoso6 .case-left {
    left: 2%;
    top: 43%;
    width: 42%;
}

.case-idoso6 .case-right {
    left: 58%;
    width: 40%;
}

.case-idoso6 .case-right.mid {
    top: 39%;
}

.support-note.compact {
    left: 38%;
    right: 11%;
    bottom: 9%;
    grid-template-columns: 118px 1fr;
    gap: 22px;
}

.support-note.compact p {
    font-size: 27px;
    line-height: 1.15;
}

.case-idoso8 .case-kicker {
    left: 3%;
    top: 13%;
}

.case-idoso8 .case-person {
    left: 12%;
    top: 23%;
}

.case-idoso8 .case-left {
    left: 2%;
    top: 38%;
    width: 36%;
}

.case-idoso8 .case-right {
    left: 55%;
    width: 52%;
    overflow: hidden;
}

.case-idoso8 .case-right.top {
    top: 20%;
}

.case-idoso8 .case-right.mid {
    top: 41%;
}

.case-idoso8 .case-right.bottom {
    top: 73%;
}

.case-idoso8 .case-right h3 {
    font-size: 25px;
    line-height: 1.12;
}

.case-idoso8 .case-right ul {
    padding-left: 0;
    margin-top: 4px;
    list-style-position: inside;
}

.positive-note {
    left: 5%;
    right: 35%;
    bottom: 4%;
    grid-template-columns: 112px 1fr;
    gap: 24px;
}

.positive-note p {
    font-size: 25px;
}

.analysis-paper .paper-header {
    left: 7.6%;
    top: 4.2%;
}

.analysis-cards {
    position: absolute;
    left: 1.2%;
    right: 1.2%;
    top: 25.5%;
    height: 62%;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
}

.analysis-cards article {
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 4px 20px rgba(0,0,0,.08);
    padding: 46px 44px;
}

.analysis-cards h3 {
    font-size: 29px;
    line-height: 1.05;
    color: #ff8b2a;
    margin: 0 0 36px;
    font-weight: 900;
}

.analysis-cards ul {
    margin: 0;
    padding-left: 22px;
}

.analysis-cards li {
    font-size: 20px;
    line-height: 1.08;
    color: #5f5f5f;
    margin: 0 0 48px;
    text-transform: uppercase;
}

.analysis-cards li::marker {
    color: #ef7600;
}

.lessons-paper .paper-header {
    left: 8%;
    top: 3.5%;
}

.lessons-paper .paper-header h2 {
    font-size: 33px;
}

.lesson-paper-list {
    position: absolute;
    left: 8%;
    right: 6%;
    top: 27%;
    display: grid;
    gap: 74px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lesson-paper-list li {
    font-size: 31px;
    line-height: 1.15;
    color: #5f5f5f;
    font-weight: 900;
}

.lesson-paper-list span {
    color: #f07322;
    font-weight: 900;
}

.slide.active .book-card,
.slide.active .observed-card,
.slide.active .result-text-card,
.slide.active .analysis-cards article {
    animation: softPop .75s var(--ease) both;
}

.slide.active .book-card:nth-child(2) {
    animation-delay: .18s;
}

.slide.active .book-card:nth-child(3) {
    animation-delay: .26s;
}

.slide.active .book-card:nth-child(4) {
    animation-delay: .34s;
}

.slide.active .analysis-cards article:nth-child(2) {
    animation-delay: .18s;
}

.slide.active .analysis-cards article:nth-child(3) {
    animation-delay: .28s;
}

.target-icon,
.method-illustration,
.result-text-card img,
.bulb-note svg,
.support-note svg {
    animation: float 6s ease-in-out infinite;
}

@keyframes drawLine{
    to {
        stroke-dashoffset: 0;
    }
}

@keyframes softPop{
    0% {
        opacity: 0;
        transform: translateY(16px) scale(.98);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

@media (max-width:900px){
    .paper-slide {
        font-size: 10px;
    }

    .paper-header {
        left: 5%;
        top: 5%;
    }

    .paper-header h2,
    .paper-header.case-title h2 {
        font-size: 16px;
    }

    .paper-header span {
        width: 70px;
        height: 2px;
        margin-top: 8px;
    }

    .objective-text {
        font-size: 13px;
        top: 23%;
        left: 5%;
        width: 90%;
    }

    .strategy-band {
        grid-template-columns: 23% 25% 1fr;
    }

    .target-icon {
        width: 48px;
        height: 48px;
        margin-right: 8px;
    }

    .strategy-band h3 {
        font-size: 15px;
    }

    .strategy-band ul {
        font-size: 10px;
        margin-left: 4%;
    }

    .theory-cards {
        left: 4%;
        top: 7%;
        width: 50%;
        gap: 5px;
    }

    .book-card {
        grid-template-columns: 36px 1fr;
        gap: 10px;
        min-height: 50px;
        padding: 5px 8px;
    }

    .book-card img {
        width: 30px;
        height: 42px;
    }

    .book-card h3,
    .book-card:first-child h3 {
        font-size: 8px;
    }

    .book-card p,
    .book-card:first-child p {
        font-size: 7px;
    }

    .theory-text {
        right: 4%;
        top: 24%;
        width: 38%;
    }

    .theory-text .paper-header {
        margin-bottom: 22px;
    }

    .theory-text .paper-header h2 {
        font-size: 13px;
    }

    .theory-text p {
        font-size: 7.8px;
        line-height: 1.7;
    }

    .method-left {
        left: 5%;
        top: 19%;
        font-size: 9px;
    }

    .method-left h3 {
        font-size: 9px;
    }

    .text-group {
        margin-bottom: 14px;
    }

    .visit-label {
        margin-top: 10px!important;
    }

    .method-illustration {
        width: 32%;
        right: 8%;
        top: 4%;
    }

    .instrument-card {
        right: 4%;
        bottom: 8%;
        width: 42%;
        height: 42%;
        padding: 8px 18px;
        border-radius: 12px;
    }

    .instrument-card h4 {
        font-size: 7px;
    }

    .instrument-card h3 {
        font-size: 7px;
    }

    .instrument-card p {
        font-size: 7px;
    }

    .instrument-card .scale-title {
        margin-top: 8px;
    }

    .form-columns {
        top: 18%;
        gap: 24px;
    }

    .form-columns h3 {
        font-size: 8px;
        margin-bottom: 8px;
    }

    .form-columns p {
        font-size: 8px;
        margin-bottom: 10px;
    }

    .form-columns h3:nth-of-type(2) {
        margin-top: 12px;
    }

    .checkbox-row {
        font-size: 11px;
        gap: 12px;
    }

    .observed-card h3 {
        font-size: 12px;
    }

    .magnifier-icon {
        width: 36px;
        height: 36px;
    }

    .result-text-card {
        padding: 22px 24px;
    }

    .result-text-card p {
        font-size: 10px;
        margin-bottom: 18px;
    }

    .result-text-card img {
        width: 70px;
    }

    .case-paper .case-kicker {
        font-size: 10px;
    }

    .case-paper .case-person {
        font-size: 13px;
    }

    .case-left h3,
    .case-right h3 {
        font-size: 10px;
    }

    .case-left p,
    .case-right p {
        font-size: 9px;
    }

    .case-left ul,
    .case-right ul {
        font-size: 9px;
        padding-left: 22px;
    }

    .bulb-note {
        grid-template-columns: 42px 1fr;
        gap: 8px;
    }

    .bulb-note svg,
    .support-note svg {
        width: 42px;
        height: 42px;
    }

    .bulb-note p,
    .support-note p,
    .support-note.compact p,
    .positive-note p {
        font-size: 9px;
    }

    .support-note {
        grid-template-columns: 45px 1fr 1px 1fr;
        gap: 8px;
    }

    .support-note i {
        height: 45px;
    }

    .support-note .orange-side {
        font-size: 8px;
    }

    .analysis-cards article {
        padding: 16px 12px;
        border-radius: 10px;
    }

    .analysis-cards h3 {
        font-size: 11px;
        margin-bottom: 12px;
    }

    .analysis-cards li {
        font-size: 7.5px;
        margin-bottom: 16px;
    }

    .lesson-paper-list {
        gap: 26px;
    }

    .lesson-paper-list li {
        font-size: 12px;
    }
}

/* Correção solicitada: página 07 / Dados gerais observados — texto mais nítido e legível */
.results-paper .observed-card,
.results-paper .result-text-card {
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
    transform: translateZ(0);
    backface-visibility: hidden;
}

.results-paper .observed-card {
    left: 5.2%;
    top: 24.2%;
    width: 21.5%;
    height: 45%;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(0,0,0,.10);
}

.results-paper .observed-card h3 {
    font-size: 36px;
    line-height: 1.02;
    color: #303030;
    letter-spacing: -.02em;
    font-weight: 900;
    padding-left: 10%;
}

.results-paper .magnifier-icon {
    width: 110px;
    height: 110px;
    stroke: #666;
    stroke-width: 5.4;
}

.results-paper .result-text-card {
    left: 28.8%;
    right: 3.5%;
    top: 24.2%;
    height: 67%;
    padding: 70px 72px;
    background: #ffffff;
    color: #242424;
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

.results-paper .result-text-card p {
    font-size: 31px;
    line-height: 1.18;
    margin: 0 0 46px;
    color: #242424;
    font-weight: 700;
}

.results-paper .result-text-card img {
    width: 205px;
}

@media (max-width:900px){
    .results-paper .observed-card h3 {
        font-size: 13px;
        line-height: 1.04;
    }

    .results-paper .magnifier-icon {
        width: 40px;
        height: 40px;
    }

    .results-paper .result-text-card {
        padding: 24px 24px;
    }

    .results-paper .result-text-card p {
        font-size: 11.2px;
        margin-bottom: 15px;
        line-height: 1.18;
    }
}
