.reset-page {
  --reset-ink: #1f2937;
  --reset-muted: #687386;
  --reset-warm: #f4a261;
  --reset-warm-soft: #fff0df;
  --reset-sage: #8fb9a8;
  --reset-paper: rgba(255, 252, 247, .9);
  --reset-line: rgba(31, 41, 55, .12);
  background:
    radial-gradient(circle at 12% 8%, rgba(244, 162, 97, .22), transparent 24rem),
    radial-gradient(circle at 88% 20%, rgba(143, 185, 168, .2), transparent 30rem),
    linear-gradient(160deg, #fffaf5 0%, #f7faf7 52%, #f4f7fb 100%);
}

.reset-page .ambient-one { background: #ffd6ad; opacity: .34; }
.reset-page .ambient-two { background: #cde8dc; opacity: .34; }
.reset-topbar { align-items: center; }
.reset-topbar .brand { font-size: 1.15rem; }
.reset-nav { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; justify-content: flex-end; }
.reset-nav a { color: var(--reset-ink); text-decoration: none; font-weight: 800; padding: .65rem .8rem; border-radius: 999px; }
.reset-nav a:hover, .reset-nav a[aria-current="page"] { background: rgba(255,255,255,.66); }
.reset-nav .reset-nav-cta { background: var(--reset-ink); color: white; }
.reset-nav .reset-nav-cta:hover { background: #111827; }

.reset-main { width: min(100% - 2rem, 76rem); padding-top: 1rem; }
.reset-breadcrumbs { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; color: var(--reset-muted); font-size: .82rem; font-weight: 700; margin-bottom: clamp(2rem, 5vw, 4rem); }
.reset-breadcrumbs a { color: inherit; text-underline-offset: .2em; }

.reset-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(17rem, .55fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: end; margin-bottom: clamp(2rem, 5vw, 4rem); }
.reset-hero-copy h1 { max-width: 10ch; font-size: clamp(3.2rem, 7.6vw, 6.7rem); }
.reset-standfirst { max-width: 45rem; font-size: clamp(1.08rem, 2vw, 1.32rem); line-height: 1.65; color: var(--reset-ink); margin: 1.3rem 0 .7rem; }
.reset-note { max-width: 43rem; color: var(--reset-muted); line-height: 1.7; margin: 0; }
.reset-hero-card { background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(255,240,223,.82)); border: 1px solid rgba(255,255,255,.9); box-shadow: var(--shadow); border-radius: 1.7rem; padding: 1.4rem; transform: rotate(1.2deg); }
.reset-hero-card .reset-kicker { display: block; font-size: .76rem; text-transform: uppercase; letter-spacing: .13em; font-weight: 900; color: #a55321; margin-bottom: 2.5rem; }
.reset-hero-card strong { display: block; font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1; letter-spacing: -.05em; }
.reset-hero-card p { color: var(--reset-muted); line-height: 1.55; margin-bottom: 0; }

.reset-control-panel { margin-bottom: 1rem; }
.reset-control-heading { display: grid; grid-template-columns: 1fr minmax(16rem, .38fr); gap: 1.5rem; align-items: end; }
.reset-control-heading h2 { margin: 0; font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: -.045em; }
.reset-control-heading p:not(.eyebrow) { color: var(--reset-muted); margin-bottom: 0; }
.duration-picker { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .75rem; margin-top: 1.35rem; }
.duration-option { border: 1px solid var(--reset-line); background: rgba(255,255,255,.7); color: var(--reset-ink); border-radius: 1.25rem; padding: 1rem 1.05rem; text-align: left; display: grid; gap: .25rem; min-height: 5rem; transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease; }
.duration-option strong { font-size: 1rem; }
.duration-option span { color: var(--reset-muted); font-size: .85rem; }
.duration-option:hover { transform: translateY(-2px); }
.duration-option[aria-pressed="true"] { background: var(--reset-warm-soft); border-color: color-mix(in srgb, var(--reset-warm) 60%, var(--reset-line)); box-shadow: inset 0 0 0 1px rgba(244,162,97,.15); }
.reset-progress { min-width: 0; }
.reset-progress-copy { display: flex; justify-content: space-between; gap: .75rem; font-size: .85rem; color: var(--reset-muted); margin-bottom: .5rem; }
.reset-progress-copy strong { color: var(--reset-ink); }
.reset-progress-track { height: .55rem; border-radius: 999px; background: rgba(31,41,55,.08); overflow: hidden; }
.reset-progress-track span { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--reset-warm), #e9c46a); transition: width .2s ease; }

.reset-workspace { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(18rem, .55fr); gap: 1rem; align-items: start; }
.reset-checklist-column { min-width: 0; background: var(--reset-paper); border: 1px solid rgba(255,255,255,.86); box-shadow: var(--shadow); border-radius: 2rem; padding: clamp(1.25rem, 3.5vw, 2.25rem); }
.reset-version[hidden] { display: none; }
.reset-version-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.reset-version-heading h2 { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1; letter-spacing: -.05em; margin: 0; max-width: 13ch; }
.reset-version-intro { max-width: 42rem; color: var(--reset-muted); line-height: 1.65; margin: 1rem 0 1.6rem; }
.time-badge { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-width: 4.4rem; min-height: 4.4rem; border-radius: 50%; background: var(--reset-ink); color: white; font-weight: 900; font-size: .82rem; transform: rotate(4deg); }
.reset-steps, .reset-compact-steps { margin: 0; padding: 0; list-style: none; display: grid; gap: .7rem; }
.reset-step { position: relative; display: grid; grid-template-columns: auto 3.5rem minmax(0,1fr); gap: .85rem; align-items: start; border: 1px solid var(--reset-line); border-radius: 1.2rem; padding: 1rem; background: rgba(255,255,255,.72); cursor: pointer; transition: border-color .16s ease, transform .16s ease, background .16s ease; }
.reset-step:hover { transform: translateY(-1px); border-color: rgba(244,162,97,.55); }
.reset-step input { position: absolute; opacity: 0; pointer-events: none; }
.step-check { width: 1.45rem; height: 1.45rem; border-radius: .45rem; border: 2px solid rgba(31,41,55,.24); display: grid; place-items: center; margin-top: .05rem; transition: background .15s ease, border-color .15s ease; }
.step-check::after { content: ""; width: .55rem; height: .3rem; border-left: 2px solid white; border-bottom: 2px solid white; transform: rotate(-45deg) translate(.05rem,-.05rem); opacity: 0; }
.reset-step input:focus-visible + .step-check { outline: 3px solid rgba(37,99,235,.38); outline-offset: 3px; }
.reset-step input:checked + .step-check { background: var(--reset-sage); border-color: var(--reset-sage); }
.reset-step input:checked + .step-check::after { opacity: 1; }
.reset-step:has(input:checked) { background: rgba(239, 248, 243, .84); border-color: rgba(104, 158, 134, .32); }
.reset-step:has(input:checked) .step-copy strong { text-decoration: line-through; text-decoration-thickness: .08em; text-decoration-color: rgba(31,41,55,.3); }
.step-time { font-size: .75rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; color: #a55321; padding-top: .22rem; }
.step-copy { display: grid; gap: .3rem; min-width: 0; }
.step-copy strong { font-size: 1.04rem; }
.step-copy span { color: var(--reset-muted); line-height: 1.55; }
.reset-steps-long .reset-step { grid-template-columns: auto 4rem minmax(0,1fr); }

.reset-phase { border-top: 1px solid var(--reset-line); padding: 1.25rem 0; }
.reset-phase:last-child { padding-bottom: 0; }
.phase-heading { display: flex; gap: .85rem; align-items: center; margin-bottom: .8rem; }
.phase-heading > span { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--reset-warm-soft); color: #9a4c20; font-size: .76rem; font-weight: 900; }
.phase-heading div { display: grid; }
.phase-heading strong { font-size: 1.12rem; }
.phase-heading small { color: var(--reset-muted); font-weight: 700; margin-top: .1rem; }
.reset-phase > p { margin: -.2rem 0 .75rem 3.1rem; color: var(--reset-muted); line-height: 1.5; }
.reset-compact-steps { margin-left: 3.1rem; }
.reset-compact-step { position: relative; display: flex; gap: .7rem; align-items: flex-start; padding: .6rem 0; color: var(--reset-ink); cursor: pointer; }
.reset-compact-step input { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; margin-top: .12rem; accent-color: var(--reset-sage); }
.reset-compact-step:has(input:checked) span { color: var(--reset-muted); text-decoration: line-through; text-decoration-color: rgba(31,41,55,.28); }

.reset-actions { display: flex; gap: .6rem; flex-wrap: wrap; margin-top: 1.25rem; padding-top: 1.1rem; border-top: 1px solid var(--reset-line); }
.reset-side-column { display: grid; gap: 1rem; }
.reset-sentence-card, .reset-reminder-card { border-radius: 1.6rem; padding: 1.3rem; border: 1px solid rgba(255,255,255,.88); box-shadow: 0 16px 42px rgba(31,41,55,.08); }
.reset-sentence-card { background: rgba(255,255,255,.78); }
.reset-reminder-card { background: linear-gradient(145deg, #1f2937, #344151); color: white; }
.reset-sentence-card h2, .reset-reminder-card h2 { margin: 0 0 .65rem; font-size: clamp(1.55rem, 3vw, 2rem); letter-spacing: -.04em; }
.reset-sentence-card p, .reset-reminder-card p { line-height: 1.55; }
.reset-sentence-card p:not(.eyebrow) { color: var(--reset-muted); }
.reset-sentence-card label { display: block; font-size: .86rem; font-weight: 850; margin: 1rem 0 .4rem; }
.reset-sentence-card textarea { width: 100%; resize: vertical; border: 1px solid var(--reset-line); border-radius: .95rem; padding: .85rem; color: var(--reset-ink); background: rgba(255,255,255,.88); line-height: 1.5; }
.reset-reminder-card > span { display: block; font-size: 2rem; margin-bottom: 2rem; color: #f4a261; }
.reset-reminder-card .eyebrow { color: #f4c8a5; }
.reset-reminder-card p { color: rgba(255,255,255,.72); }
.reset-text-link { display: inline-flex; gap: .45rem; align-items: center; color: white; font-weight: 850; text-decoration: none; margin-top: .35rem; }
.reset-text-link:hover { text-decoration: underline; text-underline-offset: .22em; }

.reflection-panel { margin-top: 1rem; }
.reflection-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.15rem; }
.reflection-heading h2 { margin: 0; font-size: clamp(1.9rem, 4vw, 3rem); letter-spacing: -.045em; max-width: 18ch; }
.reflection-heading > p { max-width: 20rem; color: var(--reset-muted); line-height: 1.5; }
.reflection-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .8rem; }
.reflection-grid article { min-height: 14rem; display: flex; flex-direction: column; border: 1px solid var(--reset-line); border-radius: 1.25rem; padding: 1.15rem; background: rgba(255,255,255,.7); }
.reflection-grid article > span { font-size: .76rem; font-weight: 900; letter-spacing: .1em; color: #a55321; }
.reflection-grid h3 { font-size: clamp(1.2rem, 2.5vw, 1.65rem); letter-spacing: -.035em; line-height: 1.12; margin: auto 0 .65rem; }
.reflection-grid p { color: var(--reset-muted); line-height: 1.5; margin: 0; }

.ordinary-reset { display: grid; grid-template-columns: minmax(16rem,.55fr) minmax(0,1fr) minmax(0,1fr); gap: 1.2rem; align-items: start; padding: clamp(3rem, 8vw, 6rem) clamp(.3rem, 2vw, 1rem); }
.ordinary-reset h2 { font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.045em; margin: 0; }
.ordinary-reset > p { color: var(--reset-muted); line-height: 1.75; margin-top: 1.8rem; }

.reset-related { margin-bottom: 1rem; }
.reset-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .8rem; }
.reset-related-grid a { min-height: 10rem; display: flex; flex-direction: column; color: var(--reset-ink); text-decoration: none; border: 1px solid var(--reset-line); border-radius: 1.2rem; padding: 1.1rem; background: rgba(255,255,255,.7); transition: transform .16s ease, border-color .16s ease; }
.reset-related-grid a:hover { transform: translateY(-2px); border-color: rgba(244,162,97,.5); }
.reset-related-grid span { text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; font-weight: 900; color: #a55321; }
.reset-related-grid strong { margin-top: auto; font-size: 1.12rem; }
.reset-related-grid small { margin-top: .35rem; color: var(--reset-muted); line-height: 1.45; font-size: .84rem; }

@media (max-width: 900px) {
  .reset-hero, .reset-workspace { grid-template-columns: 1fr; }
  .reset-hero-card { max-width: 29rem; transform: none; }
  .reset-control-heading { grid-template-columns: 1fr; }
  .reset-progress { max-width: 28rem; }
  .reset-side-column { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ordinary-reset { grid-template-columns: 1fr 1fr; }
  .ordinary-reset > div { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .reset-topbar { align-items: flex-start; }
  .reset-topbar .brand { width: 100%; }
  .reset-nav { width: 100%; justify-content: flex-start; }
  .reset-nav a { padding: .55rem .6rem; }
  .reset-main { width: min(100% - 1.2rem, 76rem); }
  .reset-hero-copy h1 { font-size: clamp(3rem, 15vw, 4.8rem); }
  .duration-picker, .reflection-grid, .reset-related-grid, .reset-side-column { grid-template-columns: 1fr; }
  .duration-option { min-height: 0; }
  .reset-checklist-column { border-radius: 1.5rem; padding: 1.05rem; }
  .reset-version-heading h2 { max-width: none; }
  .time-badge { min-width: 3.7rem; min-height: 3.7rem; }
  .reset-step, .reset-steps-long .reset-step { grid-template-columns: auto 1fr; }
  .step-time { grid-column: 2; padding-top: 0; }
  .step-copy { grid-column: 2; }
  .reset-phase > p, .reset-compact-steps { margin-left: 0; }
  .reflection-heading { align-items: flex-start; flex-direction: column; }
  .reflection-grid article { min-height: 11rem; }
  .ordinary-reset { grid-template-columns: 1fr; padding-block: 3rem; }
  .ordinary-reset > div { grid-column: auto; }
  .ordinary-reset > p { margin-top: 0; }
}

@media print {
  body.reset-page { background: white !important; color: #111827; }
  .ambient, .reset-topbar, .reset-breadcrumbs, .reset-hero-card, .reset-control-panel, .reset-side-column, .reset-actions, .reflection-panel, .ordinary-reset, .reset-related, footer { display: none !important; }
  .reset-main { width: 100%; padding: 0; }
  .reset-hero { display: block; margin: 0 0 1rem; }
  .reset-hero-copy .eyebrow { color: #444; }
  .reset-hero-copy h1 { font-size: 2.3rem; max-width: none; margin-bottom: .5rem; }
  .reset-standfirst { font-size: 1rem; margin: 0; }
  .reset-note { display: none; }
  .reset-workspace { display: block; }
  .reset-checklist-column { box-shadow: none; border: 0; padding: 0; background: white; }
  .reset-version[hidden] { display: none !important; }
  .reset-version-heading h2 { font-size: 1.8rem; }
  .time-badge { background: white; color: #111827; border: 1px solid #111827; }
  .reset-step, .reset-phase { break-inside: avoid; background: white; }
  .reset-step { border-color: #cbd5e1; }
  .reset-step:has(input:checked) { background: #f8fafc; }
  .step-copy span, .reset-version-intro, .reset-phase > p { color: #475569; }
}
