/* Preserve the established editorial brand. User-triggered card motion only. */
body.introduction-page{height:auto;min-height:100dvh;overflow:auto}
.introduction-shell{max-width:1100px;margin:auto}
.introduction-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px;padding:12px 32px;background:var(--paper);border-bottom:1.5px solid var(--ink)}
.intro-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.introduction-header nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:700}
.introduction-header nav a{color:var(--ink);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;gap:8px}
.introduction-header nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:7px}
.introduction-header nav a:hover,.example-link:hover{color:var(--red)}
.intro-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;padding:48px 32px 44px}
.intro-hero h1{max-width:14em;font:700 clamp(30px,3.7vw,42px)/1.3 Georgia,'Songti SC',serif;letter-spacing:-.025em;margin:0;text-wrap:balance}
.intro-hero-copy>p{font-size:15px;line-height:1.8;color:var(--muted);margin:18px 0 22px;max-width:32em}
.example-link{display:inline-flex;gap:18px;align-items:center;min-height:44px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);font-size:13px;font-weight:700}
.intro-art{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.intro-features{padding:0 32px 64px}
.intro-features h2,.example-heading h2{font:700 26px/1.4 Georgia,'Songti SC',serif;margin:0}
.section-explanation,.example-heading p{margin:8px 0 24px;font-size:13px;line-height:1.7;color:var(--muted)}
.flip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.flip-card{display:block;width:100%;padding:0;text-align:left;background:transparent;border:0;border-radius:10px;perspective:1200px;min-width:0;transition:none}
.flip-card:active{transform:none!important}
.flip-inner{position:relative;display:grid;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.75,.25,1)}
.flip-card[aria-pressed=true] .flip-inner{transform:rotateY(180deg)}
.card-face{grid-area:1/1;display:flex;flex-direction:column;gap:22px;min-height:240px;padding:24px 28px;background:var(--surface);border:1px solid var(--line);border-radius:10px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow-wrap:anywhere}
.flip-card:nth-child(2) .card-face,.flip-card:nth-child(3) .card-face{background:var(--secondary)}
.card-face[aria-hidden=true]{visibility:hidden}
.card-front{transform:rotateY(0deg)}.card-back{transform:rotateY(180deg);border-color:var(--ink)}
.card-number{font:700 20px/1 Georgia,serif;color:var(--red)}
.card-copy{font-size:18px;font-weight:600;line-height:1.65;max-width:27em}
.flip-hint{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:8px;font-size:12px;color:var(--muted)}
.flip-hint>span{font-size:20px;color:var(--red)}
.back-label{font-size:13px;font-weight:700;color:var(--red)}.back-copy{font-size:16px;line-height:1.8}
.intro-example{scroll-margin-top:90px;padding:42px 32px 50px;border-top:1.5px solid var(--ink)}
.question-example{padding:25px 28px;background:var(--secondary);border-radius:10px;margin:28px 0 32px}
.question-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.question-heading h3,.answer-example>h3{font-size:16px;font-weight:700;margin:0}
#copy-example{min-height:44px;padding:0 12px;border:1px solid var(--ink);border-radius:22px;background:transparent;font-size:12px;font-weight:700;flex:none}
#copy-example:hover{background:var(--paper)}
#example-question{margin:14px 0 0;font-size:15px;line-height:1.9;max-width:62em;overflow-wrap:anywhere}
.copy-status{min-height:0;margin:0;color:var(--red);font-size:12px}.copy-status:not(:empty){margin-top:12px}
.answer-example{max-width:780px}
.answer-block{display:grid;grid-template-columns:148px minmax(0,1fr);gap:24px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.answer-block h4{margin:0;font-size:15px;font-weight:700;color:var(--ink)}
.answer-block p,.answer-block ol{margin:0;font-size:15px;line-height:1.85;overflow-wrap:anywhere}.answer-block ol{padding-left:20px}.answer-block li+li{margin-top:7px}
.intro-footer{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:30px 32px 48px;border-top:1px solid var(--line)}
.intro-footer p{max-width:40em;margin:0;font-size:12px;line-height:1.7;color:var(--muted)}
.start-analysis{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;flex:none;min-height:48px;padding:12px 20px;border-radius:24px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:700;text-decoration:none}
.start-analysis:hover{background:#35312d}.no-script-note{font-size:13px;line-height:1.7;color:var(--muted)}
@media(max-width:767px){.introduction-header{padding:8px 20px;min-height:64px;gap:12px}.introduction-header nav{gap:16px;font-size:12px}.intro-hero{grid-template-columns:1fr;gap:24px;padding:30px 22px 36px}.intro-hero h1{font-size:32px;max-width:12em}.intro-hero-copy>p{font-size:14px;margin:14px 0 16px}.intro-art{max-height:260px;object-position:center}.intro-features{padding:0 22px 40px}.flip-grid{grid-template-columns:1fr;gap:14px}.card-face{min-height:220px;padding:22px 24px;gap:18px}.card-copy{font-size:18px}.intro-example{padding:30px 22px 36px;scroll-margin-top:78px}.intro-features h2,.example-heading h2{font-size:24px}.question-example{padding:18px 20px}.answer-block{grid-template-columns:1fr;gap:10px;margin-top:22px;padding-top:20px}.answer-block p,.answer-block ol,#example-question{font-size:14px}.intro-footer{flex-direction:column;align-items:flex-start;gap:20px;padding:24px 22px 36px}}
@media(max-width:370px){.introduction-header{padding-inline:16px}.intro-brand .brand strong{font-size:13px}.intro-brand .brand>span{font-size:10px}.intro-brand{gap:7px}.introduction-header nav{gap:10px;font-size:11px}.return-link span{display:none}.intro-hero h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){.flip-inner{transition:none!important;transform:none!important}.card-face{transform:none!important;backface-visibility:visible}.card-back{display:none}.flip-card[aria-pressed=true] .card-front{display:none}.flip-card[aria-pressed=true] .card-back{display:flex}}
