.g-topic-page,.g-sleep-planner{--topic-accent:#76508c;max-width:1320px;margin:0 auto;padding:24px 30px 48px;color:var(--g-ink);font-family:var(--font-body)}
.g-topic-page *,.g-sleep-planner *{box-sizing:border-box;min-width:0}
.g-topic-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.g-topic-page p,.g-sleep-planner p,.g-topic-page li{font-size:17px;line-height:1.65;margin:0 0 16px;max-width:74ch}
.g-topic-page h1,.g-sleep-planner h1{font-family:var(--font-display);font-weight:400;font-size:clamp(32px,3.7vw,48px);line-height:1.12;letter-spacing:-.025em;margin:8px 0 20px}
.g-topic-page h2,.g-sleep-planner h2{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,2.7vw,36px);line-height:1.2;margin:0 0 20px}
.g-topic-page h3,.g-sleep-planner h3{font-size:22px;font-weight:500;line-height:1.35;margin:0 0 12px}
.g-topic-page a,.g-sleep-planner a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.g-topic-page a:hover,.g-sleep-planner a:hover{text-decoration-thickness:2px}
.g-topic-page a:focus-visible,.g-sleep-planner :focus-visible{outline:3px solid var(--g-ink);outline-offset:4px}
.g-topic-crumbs{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;font-size:14px;line-height:1.5;margin:0 0 24px}
.g-topic-crumbs a{display:inline-flex;align-items:center;min-height:44px}
.g-topic-intro{padding-bottom:32px;border-bottom:1px solid var(--g-line)}
.g-topic-intro--photo{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.g-topic-page .g-topic-label{font-size:15px;font-weight:600;color:var(--topic-accent);margin:0 0 12px}
.g-topic-page .g-topic-lead,.g-sleep-heading>p{font-size:19px;line-height:1.6;max-width:64ch}
.g-topic-photo{margin:0}
.g-topic-photo img{display:block;width:100%;height:auto}
.g-topic-photo figcaption{font-size:13px;line-height:1.5;color:var(--g-muted);padding-top:8px}
.g-topic-link{display:inline-flex;align-items:center;min-height:44px;font-size:16px;font-weight:600}
.g-topic-answer{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2fr);gap:40px;padding:32px 0 0}
.g-topic-answer h3{margin-top:28px}
.g-topic-answer h3:first-child{margin-top:0}
.g-topic-reading,.g-topic-shopping,.g-topic-traditions,.g-topic-sources,.g-sleep-reading{margin-top:40px}
.g-topic-stories{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}
.g-topic-story{padding:20px 0 0;border-top:2px solid var(--g-line)}
.g-topic-story h3{font-family:var(--font-display);font-size:26px;line-height:1.25}
.g-topic-story p{color:var(--g-muted)}
.g-topic-tool{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;margin-top:40px;padding:28px;background:var(--g-neutral);border-top:3px solid var(--topic-accent)}
.g-topic-tool>div+div{align-self:center}
.g-topic-tool .g-topic-tool-note{align-self:center;color:var(--g-muted)}
.g-topic-action,.g-sleep-actions button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:12px 20px;border:1px solid var(--g-ink);background:var(--g-ink);color:var(--g-paper);font:600 16px/1.5 var(--font-body);text-decoration:none!important;cursor:pointer}
.g-topic-action:hover,.g-sleep-actions button:hover{background:var(--g-brand-hover);color:var(--g-paper)}
.g-topic-comparisons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:24px}
.g-topic-comparisons article{border-top:1px solid var(--g-line);padding-top:20px}
.g-topic-related{display:flex;gap:12px 24px;flex-wrap:wrap;border-top:1px solid var(--g-line);padding-top:20px;margin-top:40px}
.g-topic-related a{display:inline-flex;align-items:center;min-height:44px;font-size:16px}
.g-topic-tradition .g-topic-intro{max-width:900px;border-bottom:3px solid var(--topic-accent)}
.g-topic-tradition .g-topic-answer{grid-template-columns:minmax(200px,1fr) minmax(0,2fr)}
.g-topic-sources{padding:24px;border:1px solid var(--g-line)}
.g-topic-sources p{max-width:85ch}
.g-topic-questions{padding-left:24px;margin:0}
.g-topic-questions li{padding-left:8px;margin-bottom:24px}
.g-sleep-heading{max-width:860px;margin-bottom:32px}
.g-sleep-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.g-sleep-inputs{padding:28px;background:var(--g-neutral);border-top:3px solid var(--topic-accent)}
.g-sleep-inputs label{display:block;font-size:17px;font-weight:600;line-height:1.5;margin:20px 0 8px}
.g-sleep-inputs input{display:block;width:100%;max-width:360px;min-height:48px;border:1px solid var(--g-control);background:var(--g-paper);border-radius:0;font:18px/1.5 var(--font-body);color:var(--g-ink);padding:10px 12px}
.g-sleep-inputs input[aria-invalid=true]{border:2px solid var(--g-error)}
.g-sleep-planner .g-sleep-note{font-size:14px;line-height:1.6;margin-top:12px}
.g-sleep-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}
.g-sleep-actions button[type=reset]{background:var(--g-paper);color:var(--g-ink)}
.g-sleep-actions button:disabled{opacity:.6;cursor:not-allowed}
.g-sleep-planner .g-sleep-result{padding:20px;background:var(--g-paper);border:1px solid var(--g-line);margin:0}
.g-sleep-result.is-error{color:var(--g-error);border-color:var(--g-error)}
.g-sleep-context{padding-top:28px}
.g-sleep-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.g-sleep-next>div{border-top:1px solid var(--g-line);padding-top:20px}
.g-sleep-next a{display:flex;align-items:center;min-height:44px;font-size:16px;margin-top:8px}
@media(max-width:760px){.g-topic-page,.g-sleep-planner{padding:16px 20px 40px}.g-topic-intro--photo,.g-topic-answer,.g-topic-tradition .g-topic-answer,.g-topic-tool,.g-sleep-layout,.g-sleep-next{grid-template-columns:1fr;gap:24px}.g-topic-intro--photo{align-items:start}.g-topic-intro h1{max-width:22ch}.g-topic-tool,.g-sleep-inputs,.g-topic-sources{padding:20px}.g-topic-answer h2{margin-bottom:0}.g-sleep-context{padding-top:0}.g-topic-reading,.g-topic-shopping,.g-topic-traditions,.g-topic-sources,.g-sleep-reading{margin-top:32px}}
@media(max-width:359px){.g-topic-page,.g-sleep-planner{padding-left:18px;padding-right:18px}.g-topic-tool,.g-sleep-inputs,.g-topic-sources{padding:16px}.g-sleep-actions{display:grid}.g-topic-action{width:100%}}
