:root {
  --ivory: #fbf7ef;
  --cream: #f2eadc;
  --burgundy: #7a1f3d;
  --burgundy-dark: #54142a;
  --gold: #c6a15b;
  --gold-soft: #ead8ae;
  --ink: #1e1a1b;
  --muted: #6f686b;
  --white: #ffffff;
  --line: #ded3c5;
  --success: #286b4c;
  --danger: #a23636;
  --shadow: 0 18px 55px rgba(73, 44, 47, 0.12);
  --radius: 22px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--ivory);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
.container { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.site-header {
  position: sticky; top: 0; z-index: 20;
  background: rgba(251,247,239,.94); backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(122,31,61,.10);
}
.nav-wrap { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; gap: 12px; align-items: center; }
.brand-mark {
  width: 42px; height: 42px; display: grid; place-items: center;
  border-radius: 50%; background: var(--burgundy); color: var(--gold-soft);
  font: 700 22px Georgia, serif; box-shadow: 0 8px 24px rgba(122,31,61,.2);
}
.brand strong { display:block; letter-spacing:.06em; }
.brand small { display:block; color:var(--muted); margin-top:-2px; }
.main-nav { display:flex; align-items:center; gap:22px; font-size:.96rem; }
.main-nav a { padding: 8px 2px; }
.main-nav a.active { color: var(--burgundy); font-weight:700; }
.menu-toggle { display:none; border:0; background:transparent; font-size:1.6rem; }
.btn {
  border: 1px solid var(--burgundy); border-radius: 999px;
  background: var(--burgundy); color: var(--white); padding: 13px 22px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-weight:700; cursor:pointer; transition:.2s ease;
}
.btn:hover { transform: translateY(-1px); background: var(--burgundy-dark); }
.btn-outline { color: var(--burgundy); background: transparent; }
.btn-outline:hover { color:var(--white); }
.btn-gold { background:var(--gold); border-color:var(--gold); color:#2d2415; }
.btn-small { padding:9px 16px; font-size:.9rem; }
.hero {
  position:relative; overflow:hidden; padding:88px 0 72px;
  background:
   radial-gradient(circle at 85% 20%, rgba(198,161,91,.24), transparent 30%),
   radial-gradient(circle at 15% 75%, rgba(122,31,61,.10), transparent 30%),
   linear-gradient(180deg, #fffaf2 0%, var(--ivory) 100%);
}
.hero-grid { display:grid; grid-template-columns: 1.15fr .85fr; gap:56px; align-items:center; }
.eyebrow { text-transform:uppercase; letter-spacing:.18em; color:var(--burgundy); font-size:.78rem; font-weight:800; }
h1,h2,h3 { font-family: Georgia, "Times New Roman", serif; line-height:1.12; margin-top:0; }
h1 { font-size: clamp(2.7rem, 6vw, 5.3rem); letter-spacing:-.035em; margin-bottom:22px; }
h2 { font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing:-.025em; margin-bottom:18px; }
h3 { font-size:1.45rem; }
.lead { font-size:1.18rem; color:#4d4749; max-width:720px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.hero-note { margin-top:18px; color:var(--muted); font-size:.92rem; }
.hero-panel {
  background: rgba(255,255,255,.82); border:1px solid rgba(198,161,91,.42);
  border-radius: 30px; padding:30px; box-shadow:var(--shadow);
}
.hero-panel .stat { display:flex; justify-content:space-between; align-items:center; padding:18px 0; border-bottom:1px solid var(--line); }
.hero-panel .stat:last-child { border-bottom:0; }
.hero-panel strong { font-family:Georgia,serif; font-size:2rem; color:var(--burgundy); }
.section { padding:78px 0; }
.section.alt { background:#fffdf8; }
.section-heading { max-width:760px; margin-bottom:34px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.card {
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:28px; box-shadow:0 12px 34px rgba(61,43,43,.06);
}
.card.highlight { border-color:var(--gold); box-shadow:var(--shadow); }
.card .tag { display:inline-flex; border-radius:999px; padding:6px 11px; background:var(--cream); color:var(--burgundy); font-size:.76rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.card p { color:var(--muted); }
.icon-circle { width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--cream);font-size:1.3rem;margin-bottom:18px; }
.course-card { display:flex; flex-direction:column; min-height:100%; }
.course-card .course-meta { display:flex; flex-wrap:wrap; gap:10px; color:var(--muted); font-size:.88rem; margin:10px 0 20px; }
.course-card .btn { margin-top:auto; }
.price { font-family:Georgia,serif; font-size:2.6rem; color:var(--burgundy); margin:8px 0; }
.price small { font-family:inherit; font-size:1rem; color:var(--muted); }
.checklist { list-style:none; padding:0; margin:22px 0; }
.checklist li { position:relative; padding-left:26px; margin:10px 0; }
.checklist li::before { content:"✓"; position:absolute; left:0; color:var(--burgundy); font-weight:900; }
.live-session { display:grid; grid-template-columns:105px 1fr auto; gap:22px; align-items:center; padding:22px; border:1px solid var(--line); border-radius:18px; background:white; margin-bottom:15px; }
.date-box { background:var(--burgundy); color:white; border-radius:16px; text-align:center; padding:12px 10px; }
.date-box strong { display:block; font:700 1.9rem Georgia,serif; }
.date-box span { text-transform:uppercase; letter-spacing:.1em; font-size:.75rem; }
.form-shell { max-width:650px; margin:58px auto; }
.form-card { background:white; padding:34px; border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow); }
label { display:block; font-weight:700; margin:15px 0 7px; }
input, select, textarea {
  width:100%; border:1px solid #cfc4b7; border-radius:12px; padding:12px 14px; background:#fffdf9;
}
textarea { min-height:130px; resize:vertical; }
.form-actions { display:flex; gap:12px; align-items:center; margin-top:22px; flex-wrap:wrap; }
.alert { margin:18px auto; padding:14px 18px; border-radius:12px; border:1px solid; }
.alert.success { background:#edf8f1; color:var(--success); border-color:#b9ddc7; }
.alert.error { background:#fff0f0; color:var(--danger); border-color:#ebbbbb; }
.dashboard-wrap { display:grid; grid-template-columns:260px 1fr; gap:28px; padding:52px 0 80px; }
.sidebar { background:var(--ink); color:white; border-radius:22px; padding:22px; height:max-content; position:sticky; top:100px; }
.sidebar a { display:block; padding:10px 12px; border-radius:9px; color:#e8e2e3; margin:4px 0; }
.sidebar a:hover,.sidebar a.active { background:var(--burgundy); color:white; }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:28px; }
.metric { background:white; border:1px solid var(--line); border-radius:18px; padding:20px; }
.metric strong { display:block; font:700 2rem Georgia,serif; color:var(--burgundy); }
.table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:18px; background:white; }
table { width:100%; border-collapse:collapse; }
th,td { padding:14px 16px; text-align:left; border-bottom:1px solid #eee5da; }
th { background:#faf3e8; font-size:.84rem; letter-spacing:.04em; text-transform:uppercase; }
.progress { background:#eee7df; height:9px; border-radius:99px; overflow:hidden; }
.progress span { display:block; height:100%; background:var(--burgundy); }
.badge { display:inline-flex; padding:5px 9px; border-radius:999px; background:#f2e7eb; color:var(--burgundy); font-size:.78rem; font-weight:800; }
.badge.green { background:#e8f5ec; color:#246442; }
.muted { color:var(--muted); }
.empty { border:1px dashed #cdbfaf; border-radius:18px; padding:30px; text-align:center; color:var(--muted); background:#fffdf8; }
.site-footer { background:#1b1718; color:#f3eceb; padding:55px 0 20px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:36px; }
.site-footer p,.site-footer a { color:#cfc5c6; }
.footer-bottom { border-top:1px solid #3f3739; margin-top:34px; padding-top:18px; color:#a99fa1; font-size:.88rem; }
.admin-note { background:#fff4d9; border:1px solid #e5c472; padding:14px 16px; border-radius:12px; }
.certificate { max-width:1000px; margin:45px auto; padding:18px; background:white; border:1px solid var(--gold); }
.certificate-inner { min-height:650px; border:8px double var(--gold); padding:70px 55px; text-align:center; display:flex; flex-direction:column; justify-content:center; }
.certificate h1 { color:var(--burgundy); }
@media print {
  .site-header,.site-footer,.print-hide { display:none !important; }
  body { background:white; }
  .certificate { margin:0; border:0; }
}
@media (max-width: 950px) {
  .menu-toggle { display:block; }
  .main-nav { display:none; position:absolute; left:16px; right:16px; top:72px; background:white; border:1px solid var(--line); box-shadow:var(--shadow); border-radius:18px; padding:16px; flex-direction:column; align-items:stretch; }
  .main-nav.open { display:flex; }
  .hero-grid,.grid-3,.grid-2,.dashboard-wrap,.footer-grid { grid-template-columns:1fr; }
  .metric-grid { grid-template-columns:repeat(2,1fr); }
  .sidebar { position:static; }
}
@media (max-width: 640px) {
  .hero { padding:62px 0 50px; }
  .section { padding:58px 0; }
  .live-session { grid-template-columns:80px 1fr; }
  .live-session .btn { grid-column:1 / -1; }
  .metric-grid { grid-template-columns:1fr; }
}

/* Password visibility and account recovery */
.password-field {
  position: relative;
  display: flex;
  align-items: stretch;
}
.password-field input {
  padding-right: 78px;
}
.password-toggle {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  border: 0;
  border-radius: 999px;
  background: var(--cream);
  color: var(--burgundy);
  padding: 7px 12px;
  font-weight: 800;
  cursor: pointer;
}
.password-toggle:hover,
.password-toggle:focus-visible {
  background: var(--gold-soft);
  outline: 2px solid var(--burgundy);
  outline-offset: 1px;
}
.inline-links {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
  font-size: .94rem;
}
.inline-links a {
  color: var(--burgundy);
  font-weight: 750;
}
.form-help {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: .9rem;
}
.compact-form {
  display: flex;
  gap: 8px;
  align-items: center;
}
.compact-form select {
  min-width: 120px;
}
@media (max-width: 640px) {
  .compact-form { flex-direction: column; align-items: stretch; }
}

/* Password reset correction v2 */
.account-shell { max-width: 760px; }
.account-section { padding-top: 8px; }
.account-section + .account-section { margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--line); }
.account-section h2 { font-size: clamp(1.7rem, 4vw, 2.45rem); margin-bottom: 8px; }
.reset-option { background: #fffaf0; border: 1px solid var(--line); border-radius: 18px; padding: 24px; }
.alert a { font-weight: 800; text-decoration: underline; }

/* Training expansion: journals, certificates, live registration, admin tools */
.dashboard-actions { display:flex; gap:12px; flex-wrap:wrap; margin:22px 0 30px; }
.journal-prompt-card { display:flex; flex-direction:column; align-items:flex-start; }
.journal-prompt-card .btn { margin-top:auto; }
.reflection-card { margin-top:18px; background:#fffaf0; border-color:#e4cf9b; }
.action-card { margin-top:18px; background:#fff6f7; border-color:#e7c7cf; }
.lesson-content { font-size:1.04rem; line-height:1.75; }
.live-access { margin-top:12px; padding:14px; border-radius:14px; background:#eef8f1; border:1px solid #b9dec5; }
.certificate-number { margin-top:18px; font-weight:800; letter-spacing:.08em; color:var(--burgundy); }
.journal-print-cover { min-height:420px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:7px double var(--gold); padding:50px; margin-bottom:36px; }
.journal-print-entry { break-inside:avoid; padding:28px 0; border-bottom:1px solid var(--line); }
.journal-text { white-space:normal; line-height:1.8; }
.metric-grid-six { grid-template-columns:repeat(3,1fr); }
.compact-form { display:flex; align-items:center; gap:8px; }
.compact-form select { min-width:125px; }
@media (max-width:950px){ .metric-grid-six{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .metric-grid-six{grid-template-columns:1fr;} .compact-form{align-items:stretch;flex-direction:column;} }
@media print {
  .print-journal .site-header,.print-journal .site-footer,.print-journal .print-hide { display:none!important; }
  .journal-print-cover { min-height:90vh; page-break-after:always; }
  .journal-print-entry { page-break-inside:avoid; }
}


/* THE F.I.L.M. ORIGINAL CURRICULUM & ASSESSMENTS V1 */
.narrow-container{max-width:920px}
.assessment-layout{grid-template-columns:285px minmax(0,1fr)}
.lesson-main{min-width:0}
.lesson-sidebar strong{display:block;margin:0 0 16px}
.lesson-sidebar .course-exam-link{margin-top:18px;border-top:1px solid rgba(255,255,255,.18);padding-top:18px}
.lesson-status-strip{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin:0 0 24px}
.lesson-block{margin-bottom:20px;position:relative}
.lesson-block h2,.assessment-card h2,.reflection-card h2,.action-card h2,.pathway-card h2{font-size:clamp(1.7rem,3vw,2.35rem)}
.lesson-block .prose{font-size:1.04rem;line-height:1.8;color:#3f393b}
.section-number{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--cream);color:var(--burgundy);font-weight:800;margin-bottom:12px}
.check-list{list-style:none;padding:0;margin:15px 0}
.check-list li{position:relative;padding-left:28px;margin:10px 0}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--burgundy);font-weight:900}
.term-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
.term-grid>div{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fffdf8}
.term-grid dt{font-weight:800;color:var(--burgundy)}
.term-grid dd{margin:5px 0 0;color:var(--muted)}
.summary-card{background:#fffaf0}
.reflection-card,.action-card,.assessment-card,.pathway-card{margin:20px 0}
.reflection-card{background:#fffaf0}
.action-card{background:#fff4f5}
.assessment-card{border:2px solid rgba(122,31,61,.2)}
.requirement-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.requirement-list{padding-left:22px}
.requirement-list li{margin:11px 0}
.quiz-form{margin-top:22px}
.quiz-question{border:1px solid var(--line);border-radius:18px;padding:20px;margin:0 0 20px;background:#fffdf9}
.quiz-question legend{width:100%;font-weight:800;font-size:1.05rem;padding:0 4px 12px}
.quiz-question legend span{display:block;color:var(--burgundy);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}
.answer-option{display:flex;gap:11px;align-items:flex-start;border:1px solid #e1d7ca;border-radius:13px;padding:12px 14px;margin:9px 0;background:white;cursor:pointer;font-weight:500}
.answer-option:hover{border-color:var(--gold);background:#fffaf0}
.answer-option input{width:auto;margin:4px 0 0;accent-color:var(--burgundy)}
.answer-option span{flex:1}
.assessment-result{display:flex;align-items:center;gap:18px;border-radius:18px;padding:18px 22px;margin:22px 0}
.assessment-result strong{font:700 2.4rem Georgia,serif}
.assessment-result.passed{background:#edf8f1;border:1px solid #b9ddc7;color:var(--success)}
.assessment-result.not-passed{background:#fff4e7;border:1px solid #e6c28c;color:#86510d}
.feedback-list{display:grid;gap:12px;margin:18px 0 28px}
.feedback-item{border-left:5px solid;padding:16px 18px;background:white;border-radius:0 14px 14px 0}
.feedback-item.correct{border-color:var(--success);background:#f3faf6}
.feedback-item.incorrect{border-color:var(--danger);background:#fff5f5}
.feedback-item h3{font-family:inherit;font-size:1rem;margin-bottom:8px}
.mini-requirements{list-style:none;padding:0}
.mini-requirements li{margin:7px 0}
.course-progress-card{margin-bottom:15px}
.learning-chart{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin:22px 0;box-shadow:0 12px 34px rgba(61,43,43,.06)}
.learning-chart figcaption{display:flex;flex-direction:column;margin-bottom:20px}
.learning-chart figcaption strong{font:700 1.65rem Georgia,serif}
.learning-chart figcaption span{color:var(--muted)}
.chart-note{font-size:.88rem;color:var(--muted);margin:18px 0 0}
.bar-chart{display:grid;gap:13px}
.bar-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(160px,3fr) 85px;gap:12px;align-items:center}
.bar-label{font-weight:700}
.bar-track{height:18px;background:#eee7df;border-radius:99px;overflow:hidden}
.bar-track span{display:block;height:100%;background:linear-gradient(90deg,var(--burgundy),var(--gold));border-radius:99px}
.process-chart{display:flex;align-items:stretch;gap:8px;overflow-x:auto;padding-bottom:6px}
.process-step{min-width:135px;flex:1;border:1px solid var(--line);border-radius:16px;padding:15px;background:#fffaf0;text-align:center}
.process-step span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--burgundy);color:white;margin:0 auto 8px;font-weight:800}
.process-step strong{font-size:.92rem}
.process-arrow{display:grid;place-items:center;color:var(--gold);font-size:1.5rem}
.pie-chart-wrap{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:center}
.pie-chart{width:220px;aspect-ratio:1;border-radius:50%;margin:auto;box-shadow:inset 0 0 0 35px white,0 10px 25px rgba(61,43,43,.1)}
.pie-legend{display:grid;gap:10px}
.pie-legend div{display:flex;align-items:center;gap:9px}
.pie-legend div>span{width:16px;height:16px;border-radius:4px;flex:0 0 auto}
.line-chart{position:relative}
.line-chart svg{display:block;width:100%;height:290px;background:linear-gradient(#fff,#fffaf3);border-radius:14px}
.chart-axis{stroke:#cfc4b7;stroke-width:.6}
.chart-line{fill:none;stroke:var(--burgundy);stroke-width:2.3;vector-effect:non-scaling-stroke}
.chart-point{fill:var(--gold);stroke:var(--burgundy);stroke-width:.8;vector-effect:non-scaling-stroke}
.line-chart-labels{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px;margin-top:8px;text-align:center;font-size:.78rem}
.line-chart-labels strong,.line-chart-labels span{display:block}
.line-chart-labels span{color:var(--muted)}
.chart-table table{min-width:650px}
.exam-card{border:2px solid var(--gold);background:#fffaf0}
.metric-grid-six{grid-template-columns:repeat(3,1fr)}
@media(max-width:950px){
  .assessment-layout{grid-template-columns:1fr}
  .term-grid{grid-template-columns:1fr}
  .pie-chart-wrap{grid-template-columns:1fr}
  .lesson-sidebar{position:static}
}
@media(max-width:640px){
  .bar-row{grid-template-columns:1fr}
  .bar-track{height:16px}
  .process-chart{flex-direction:column}
  .process-arrow{transform:rotate(90deg)}
  .metric-grid-six{grid-template-columns:1fr}
  .learning-chart{padding:18px}
}



/* THE F.I.L.M. PAPER DOLL COMPLETE YEAR V1 */
.paper-doll-hero{
  padding:82px 0 68px;
  background:
    radial-gradient(circle at 84% 18%,rgba(197,154,67,.22),transparent 30%),
    linear-gradient(135deg,#fffaf2 0%,#f9efe8 55%,#fff 100%);
  border-bottom:1px solid var(--line)
}
.paper-doll-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);
  gap:44px;
  align-items:center
}
.paper-doll-hero h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.93;margin-bottom:22px}
.paper-doll-kicker{font-size:1.25rem;max-width:780px;color:var(--muted)}
.paper-doll-framework-line{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}
.paper-doll-framework-line strong{
  display:inline-flex;padding:10px 14px;border-radius:999px;
  background:#fff;border:1px solid #d9c6bb;font-size:.9rem
}
.be-free-line{font-size:clamp(1.55rem,3vw,2.5rem);color:var(--burgundy);margin:20px 0 0}
.paper-doll-crown-card{
  background:#1f191b;color:#fff;border-radius:28px;padding:34px;
  box-shadow:0 24px 60px rgba(31,25,27,.2);
  border:1px solid rgba(197,154,67,.45)
}
.paper-doll-crown{display:block;font-size:4.2rem;color:var(--gold);line-height:1}
.paper-doll-crown-card h3{color:#fff;font-size:1.65rem}
.paper-doll-crown-card p{color:#e9dddd}
.paper-doll-growth-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px
}
.paper-doll-growth-grid article{
  padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff
}
.paper-doll-growth-grid article>span{
  display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  background:var(--burgundy);color:#fff;font-weight:800;margin-bottom:14px
}
.paper-doll-growth-grid h3{font-size:1.2rem;margin-bottom:8px}
.paper-doll-purpose{background:#fff}
.paper-doll-safety{margin-top:20px}
.paper-doll-program-list{display:grid;gap:28px;margin-top:30px}
.paper-doll-program{
  background:#fff;border:1px solid var(--line);border-radius:24px;
  box-shadow:0 14px 34px rgba(61,43,43,.07);overflow:hidden
}
.paper-doll-program-head{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:24px;padding:28px
}
.paper-doll-program-head h2{margin:8px 0 10px}
.paper-doll-program details{border-top:1px solid var(--line)}
.paper-doll-program summary{
  cursor:pointer;padding:18px 28px;font-weight:800;color:var(--burgundy);
  background:#fffaf4
}
.paper-doll-year-table{border-radius:0;border:0;margin:0}
.paper-doll-year-table table{min-width:1450px}
.paper-doll-year-table th{position:sticky;top:0;background:#241d1f;color:#fff}
.paper-doll-year-table td{vertical-align:top;min-width:180px}
.bullying-corner{background:#f7eee7}
.comic-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0
}
.comic-panel{
  position:relative;background:#fff;border:3px solid #261f21;
  border-radius:18px;padding:20px;box-shadow:7px 7px 0 rgba(143,29,76,.15)
}
.comic-panel h3{font-family:inherit;font-size:1.1rem;text-transform:uppercase;letter-spacing:.06em}
.comic-number{
  position:absolute;right:13px;top:12px;display:grid;place-items:center;
  width:30px;height:30px;border-radius:50%;background:var(--gold);
  font-weight:900;color:#241d1f
}
.comic-scene{
  min-height:120px;border:2px solid #d9c6bb;border-radius:14px;
  background:linear-gradient(#fff9e8,#f0e2d2);padding:14px;
  display:flex;align-items:center;justify-content:center;gap:10px;
  position:relative;margin:14px 0
}
.comic-person{font-size:2.6rem}
.speech,.thought{
  max-width:190px;background:#fff;border:2px solid #251f20;border-radius:18px;
  padding:9px 11px;font-weight:700;font-size:.87rem
}
.thought{border-style:dashed}
.paper-doll-school-packages{background:#fff}
.paper-doll-package-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0
}
.paper-doll-expectations{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0
}
.paper-doll-expectations article{
  border:1px solid var(--line);border-radius:20px;padding:24px;background:#fffaf4
}
.paper-doll-expectations li{margin-bottom:9px}
.paper-doll-feedback-shell{max-width:980px}
.paper-doll-feedback-form>label{display:block;margin-top:20px}
.paper-doll-feedback-form textarea{width:100%}
.checkbox-line{display:flex!important;gap:10px;align-items:flex-start}
.checkbox-line input{width:auto;margin-top:4px}
.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.paper-doll-filter{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.paper-doll-filter a{
  display:inline-flex;padding:8px 13px;border:1px solid var(--line);
  border-radius:999px;background:#fff
}
.paper-doll-filter a.active{background:var(--burgundy);color:#fff;border-color:var(--burgundy)}
.paper-doll-feedback-admin-list{display:grid;gap:16px}
.paper-doll-feedback-record{padding:0;overflow:hidden}
.paper-doll-feedback-record summary{
  cursor:pointer;display:flex;justify-content:space-between;gap:18px;
  padding:20px 22px;background:#fffaf4;align-items:center
}
.paper-doll-feedback-meta{
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px;
  padding:20px 22px;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.paper-doll-feedback-meta p{margin:0}
.paper-doll-feedback-text{padding:22px}
.paper-doll-feedback-text h3{font-family:inherit;font-size:1rem;margin-top:18px}
.paper-doll-feedback-record form{padding:0 22px 22px}
@media(max-width:1050px){
  .paper-doll-growth-grid{grid-template-columns:repeat(2,1fr)}
  .comic-strip{grid-template-columns:repeat(2,1fr)}
  .paper-doll-package-grid,.paper-doll-expectations{grid-template-columns:1fr}
}
@media(max-width:760px){
  .paper-doll-hero{padding:55px 0 45px}
  .paper-doll-hero-grid{grid-template-columns:1fr}
  .paper-doll-growth-grid,.comic-strip{grid-template-columns:1fr}
  .paper-doll-program-head{flex-direction:column}
  .paper-doll-feedback-meta{grid-template-columns:1fr}
  .paper-doll-feedback-record summary{align-items:flex-start}
}

