.deep-main { max-width: 860px; margin: 0 auto; padding: 1rem clamp(1rem, 4vw, 2rem) 4rem; }
.deep-main h1 { font-size: clamp(2rem, 7vw, 3.5rem); line-height: 1.12; margin: .75rem 0 1.5rem; }
.deep-main h2 { font-size: clamp(1.4rem, 4vw, 2rem); line-height: 1.3; }
.deep-main h3 { line-height: 1.4; }
.deep-main p, .deep-main li { line-height: 1.8; }
.deep-main a { color: var(--purple-dark, #352877); text-underline-offset: .2em; }
.deep-main .primary-button { color: white; }
.deep-hero { padding: 2.5rem 0 1.5rem; }
.deep-lead { font-size: 1.2rem; }
.deep-map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin: 1rem 0 2rem; }
.deep-map a { border: 1px solid var(--border, #ddd8ed); border-radius: 12px; padding: .9rem; font-weight: 700; text-decoration: none; }
.deep-card { background: var(--paper, #fffdf7); border: 1px solid var(--border, #ddd8ed); border-radius: 22px; padding: clamp(1rem, 4vw, 2rem); margin: 1.5rem 0; scroll-margin-top: 1rem; }
.deep-math { background: var(--purple-light, #efecf8); border-radius: 10px; padding: 1rem; line-height: 1.9; overflow-wrap: anywhere; font-family: Georgia, serif; font-size: 1.1rem; }
.deep-figure { display: block; width: 100%; max-width: 570px; height: auto; margin: 1rem auto; }
.deep-lab, .deep-challenge { border-inline-start: 3px solid var(--purple, #655395); padding-inline-start: 1rem; margin: 2rem 0; }
.deep-lab label { display: block; font-weight: 700; margin: 1rem 0 .5rem; }
.deep-lab input[type=range] { width: 100%; min-height: 44px; accent-color: var(--purple, #655395); }
.deep-lab input[type=number] { max-width: 100%; width: 10rem; padding: .6rem; font: inherit; border: 1px solid var(--border, #ddd8ed); border-radius: 8px; }
.deep-main details { border-top: 1px solid var(--border, #ddd8ed); padding: .6rem 0; }
.deep-main summary { cursor: pointer; padding: .5rem 0; font-weight: 700; min-height: 44px; }
.deep-main :focus-visible { outline: 3px solid var(--purple, #655395); outline-offset: 4px; }
@media (max-width: 520px) { .deep-map { grid-template-columns: 1fr; } }
@media print { .site-header, .site-footer, .deep-map { display: none; } .deep-card { break-inside: avoid; } }

@media (min-width: 768px) { .deep-lead > span { display: block; } }
