/* Life pages use the shared design tokens; all selectors stay within this section. */
.life-page .life-main { padding-top:28px;padding-bottom:48px; }
.life-page .life-eyebrow { margin:0 0 12px;font-size:.7rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:var(--color-brand-text); }
.life-page .life-hero { position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);align-items:center;gap:28px;padding:clamp(28px,5vw,64px);border-radius:26px;background:var(--navy-900);color:#fff;overflow:hidden; }
.life-page .life-hero::before { content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-120px;top:-200px;pointer-events:none; }
.life-page .life-hero .life-eyebrow { color:#f1b49d; }
.life-page .life-hero h1 { position:relative;margin:0;color:#fff;font-family:var(--font-serif);font-size:clamp(2.5rem,4.8vw,4.25rem);line-height:1.08;letter-spacing:-.035em; }
.life-page .life-hero h1>span { color:#f1b49d; }
.life-page .life-hero-description { max-width:520px;margin:22px 0 25px;font-size:.97rem;line-height:1.85;color:rgba(255,255,255,.8); }
.life-page .life-hero-actions { display:flex;gap:20px;align-items:center;flex-wrap:wrap; }
.life-page .life-button { display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:12px 18px;border:1px solid transparent;border-radius:10px;background:var(--action-navy);color:var(--text-on-navy);font:inherit;font-size:.82rem;font-weight:650;text-decoration:none;cursor:pointer; }
.life-page .life-hero .life-button { background:#fff1e7;color:var(--navy-900); }
.life-page .life-button:hover { filter:brightness(1.07); }
.life-page .life-hero-link { display:inline-flex;align-items:center;gap:9px;min-height:44px;color:#fff;font-size:.8rem;text-decoration:none; }
.life-page .life-hero-link:hover { text-decoration:underline; }
.life-page .life-hero-tags { display:flex;gap:16px;flex-wrap:wrap;margin-top:30px;font-size:.68rem;color:rgba(255,255,255,.78); }
.life-page .life-hero-tags span { display:flex;align-items:center;gap:7px; }
.life-page .life-hero-tags span::before { content:"";width:5px;height:5px;border-radius:50%;background:#f1b49d; }
.life-page .life-pocket { position:relative;min-height:310px;display:flex;align-items:center;justify-content:center;perspective:800px; }
.life-page .life-pocket-orbit { position:absolute;width:285px;height:285px;border:1px dashed rgba(255,255,255,.22);border-radius:50%;transform:rotate(-15deg); }
.life-page .life-pocket-sheet { display:flex;flex-direction:column;width:250px;min-height:265px;gap:14px;padding:25px 24px;border:1px solid rgba(255,255,255,.25);border-radius:16px;background:#fff6ec;color:var(--navy-900);box-shadow:14px 15px 0 rgba(255,255,255,.09),0 25px 50px rgba(0,0,0,.18);transform:rotate(-7deg);transition:transform .3s ease; }
.life-page .life-pocket:hover .life-pocket-sheet { transform:rotate(-3deg) translateY(-5px); }
.life-page .life-pocket-label { font-size:.57rem;font-weight:800;letter-spacing:.15em;color:#7d493b; }
.life-page .life-pocket-sheet>.icon { width:38px;height:38px;color:#a9472d; }
.life-page .life-pocket-sheet strong { font-family:var(--font-serif);font-size:1.7rem;line-height:1.1; }
.life-page .life-pocket-sheet>span:last-of-type { font-size:.63rem; }
.life-page .life-pocket-lines { display:grid;gap:8px;margin-top:4px; }
.life-page .life-pocket-lines i { display:block;height:3px;width:100%;border-radius:3px;background:#cfd3cf; }
.life-page .life-pocket-lines i:nth-child(2) { width:80%; }.life-page .life-pocket-lines i:last-child { width:55%; }
.life-page .life-pocket-stamp { position:absolute;bottom:23px;right:0;display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:10px;background:#a9472d;color:#fff;font-size:.67rem;font-weight:650;transform:rotate(5deg);box-shadow:0 8px 25px rgba(0,0,0,.2); }
.life-page .life-pocket-pin { position:absolute;left:0;top:24px;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:var(--navy-800);color:#fff; }
.life-page .life-tool-strip { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 50px;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-card); }
.life-page .life-tool-strip>a { display:flex;align-items:center;gap:13px;padding:20px;min-width:0;text-decoration:none;color:var(--text-heading); }
.life-page .life-tool-strip>a+a { border-left:1px solid var(--border-default); }
.life-page .life-tool-strip>a>.icon:first-child { flex-shrink:0;width:21px;height:21px;color:var(--color-brand-text); }
.life-page .life-tool-strip>a>.icon:last-child { margin-left:auto;flex-shrink:0;width:16px;height:16px; }
.life-page .life-tool-strip strong,.life-page .life-tool-strip small { display:block; }
.life-page .life-tool-strip strong { font-size:.8rem; }.life-page .life-tool-strip small { margin-top:5px;font-size:.7rem;line-height:1.5;color:var(--text-secondary); }
.life-page .life-tool-strip>a:hover { background:var(--surface-subtle); }
.life-page .life-section-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px; }
.life-page .life-section-heading h2 { margin:0;font-family:var(--font-serif);font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.15;color:var(--text-heading);letter-spacing:-.025em; }
.life-page .life-link { display:inline-flex;align-items:center;gap:9px;min-height:44px;color:var(--color-link);font-size:.77rem;font-weight:650;text-decoration:none; }
.life-page .life-link:hover { text-decoration:underline; }
.life-page .life-link .icon { width:16px;height:16px;flex-shrink:0; }
.life-page .life-filters { display:grid;grid-template-columns:minmax(170px,.8fr) minmax(0,1.6fr) auto;align-items:end;gap:16px;padding:20px;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-card); }
.life-page .life-filters-moving { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); }
.life-page .life-filters label { display:grid;gap:8px;min-width:0;font-size:.73rem;font-weight:650;color:var(--text-secondary); }
.life-page .life-filters input,.life-page .life-filters select { width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--surface-page);color:var(--text-primary);font:inherit;font-size:.8rem; }
.life-page .life-reset { min-height:46px;padding:10px 14px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-card);color:var(--color-link);font:inherit;font-size:.75rem;font-weight:650;cursor:pointer; }
.life-page .life-reset:disabled { color:var(--text-muted);cursor:default; }
.life-page .life-city-context { display:flex;justify-content:space-between;align-items:center;gap:24px;margin:18px 0;padding:17px 20px;border:1px solid var(--border-default);border-left:3px solid var(--color-brand);border-radius:10px;background:var(--surface-warm); }
.life-page .life-city-context p { margin:0;font-size:.8rem;line-height:1.6; }.life-page .life-city-context small { display:block;margin-top:4px;color:var(--text-secondary);font-size:.71rem; }
.life-page .life-city-context .life-link { flex-shrink:0; }
.life-page .life-meta { margin:17px 0;color:var(--text-muted);font-size:.73rem;line-height:1.7; }
.life-page .life-topic-nav { display:flex;flex-wrap:wrap;gap:8px;margin:24px 0; }
.life-page .life-topic-nav a { display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 13px;border:1px solid var(--border-default);border-radius:9px;background:var(--surface-card);color:var(--text-heading);font-size:.73rem;text-decoration:none; }
.life-page .life-topic-nav a:hover { border-color:var(--color-link);color:var(--color-link); }
.life-page .life-topic-nav .icon { width:16px;height:16px;color:var(--color-brand-text); }
.life-page .life-topic-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.life-page .life-topic { padding:26px;border:1px solid var(--border-default);border-radius:18px;background:var(--surface-card);min-width:0;scroll-margin-top:100px; }
.life-page .life-topic-heading { display:flex;justify-content:space-between;align-items:center;margin-bottom:19px; }
.life-page .life-topic-icon { display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:var(--color-brand-soft);color:var(--color-brand-text); }
.life-page .life-topic-icon .icon { width:21px;height:21px; }.life-page .life-topic-number { color:var(--text-muted);font-size:.72rem;letter-spacing:.06em; }
.life-page .life-topic h2 { margin:0 0 12px;font-family:var(--font-serif);font-size:1.55rem;line-height:1.25;color:var(--text-heading); }
.life-page .life-topic-summary { margin:0 0 17px;color:var(--text-secondary);font-size:.84rem;line-height:1.8; }
.life-page .life-advice,.life-page .life-questions { margin:0;padding-left:19px;font-size:.8rem;line-height:1.85; }
.life-page .life-advice li+li,.life-page .life-questions li+li { margin-top:9px; }
.life-page .life-advice li::marker { color:var(--color-brand-text); }
.life-page .life-question-box { margin:18px 0 0;padding:12px 14px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-subtle); }
.life-page .life-question-box summary { min-height:28px;cursor:pointer;font-size:.77rem;font-weight:650;color:var(--text-heading); }
.life-page .life-question-box[open] summary { margin-bottom:12px; }
.life-page .life-topic-links { display:flex;gap:6px 18px;flex-wrap:wrap;margin-top:16px; }
.life-page .life-topic-sources { display:flex;gap:6px 14px;flex-wrap:wrap;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--border-default);font-size:.68rem;line-height:1.7;color:var(--text-muted); }
.life-page .life-topic-sources a { color:var(--color-link);text-underline-offset:3px; }
.life-page .life-empty { padding:32px;border:1px dashed var(--border-input);border-radius:14px;text-align:center; }
.life-page .life-empty h3 { color:var(--text-heading); }.life-page .life-empty p { color:var(--text-secondary); }
.life-page .life-load-notice,.life-page .life-notice { padding:16px 18px;margin:18px 0;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-warm);font-size:.79rem;line-height:1.75;color:var(--text-secondary); }
.life-page .life-load-notice p { margin:0 0 12px; }
.life-page .life-route { margin:20px 0 30px;padding:22px;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-card); }
.life-page .life-route>p { margin:0;color:var(--text-secondary);font-size:.8rem;line-height:1.8; }
.life-page .life-route h3 { margin:0 0 15px;font-size:1rem;color:var(--text-heading); }
.life-page .life-route ol { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;gap:12px;margin:0;padding:0; }
.life-page .life-route li { min-width:0;padding:14px 15px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-subtle);font-size:.76rem;line-height:1.65; }
.life-page .life-route li:first-child { border-top:3px solid var(--color-brand); }.life-page .life-route li:last-child { border-style:dashed; }
.life-page .life-route li small { display:block;margin-bottom:7px;color:var(--text-muted);font-size:.67rem; }
.life-page .life-route li strong { display:block;margin-bottom:5px;color:var(--text-heading); }
.life-page .life-route a { color:var(--color-link);text-underline-offset:3px; }.life-page .life-route .life-meta { margin:15px 0 0; }
.life-page .life-moving-layout { display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:start; }
.life-page .life-stage-nav { position:sticky;top:100px;display:grid;gap:4px;padding:21px;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-card); }
.life-page .life-stage-nav>a { display:flex;align-items:center;gap:12px;min-height:46px;color:var(--text-secondary);font-size:.75rem;line-height:1.55;text-decoration:none; }
.life-page .life-stage-nav>a:hover { color:var(--color-link); }.life-page .life-stage-nav>a span { font-size:.66rem;color:var(--color-brand-text);font-weight:750; }
.life-page .life-stage-nav .life-stage-tool { margin-top:14px;padding-top:12px;border-top:1px solid var(--border-default);color:var(--color-link);font-weight:650; }
.life-page .life-moving-layout>div>.life-notice { margin-top:0; }
.life-page .life-stage { margin-bottom:14px;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-card);scroll-margin-top:100px; }
.life-page .life-stage>summary { display:flex;align-items:center;gap:16px;min-height:90px;padding:21px 24px;cursor:pointer;list-style:none; }
.life-page .life-stage>summary::-webkit-details-marker { display:none; }
.life-page .life-stage-number { flex-shrink:0;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--color-brand-soft);color:var(--color-brand-text);font-size:.72rem;font-weight:750; }
.life-page .life-stage>summary small { display:block;margin-bottom:5px;color:var(--text-muted);font-size:.62rem;letter-spacing:.09em; }
.life-page .life-stage>summary strong { font-family:var(--font-serif);font-size:1.35rem;line-height:1.2;color:var(--text-heading); }
.life-page .life-stage>summary>.icon { margin-left:auto;flex-shrink:0;width:19px;height:19px;color:var(--text-secondary);transition:transform .2s; }
.life-page .life-stage[open]>summary>.icon { transform:rotate(180deg); }
.life-page .life-stage[open]>summary { border-bottom:1px solid var(--border-default); }
.life-page .life-stage-body { padding:22px 24px; }.life-page .life-stage-body>p { margin:0 0 17px;color:var(--text-secondary);font-size:.82rem;line-height:1.8; }
.life-page .life-stage-tasks { list-style:none;padding:0;margin:0;display:grid;gap:13px; }
.life-page .life-stage-tasks li { display:flex;align-items:flex-start;gap:11px;font-size:.81rem;line-height:1.85; }
.life-page .life-stage-tasks .icon { margin-top:5px;flex-shrink:0;width:15px;height:15px;color:var(--success); }
.life-page .life-source-section { margin-top:55px; }
.life-page .life-muted { max-width:820px;color:var(--text-secondary);font-size:.8rem;line-height:1.85; }
.life-page .life-source-disclosure { padding:20px;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-warm); }
.life-page .life-source-disclosure>summary { min-height:28px;color:var(--text-heading);font-weight:650;font-size:.84rem;cursor:pointer; }
.life-page .life-source-disclosure[open]>summary { margin-bottom:22px; }
.life-page .life-source-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.life-page .life-source { padding:19px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-card);scroll-margin-top:100px;min-width:0; }
.life-page .life-source h3 { font-size:.83rem;line-height:1.6;margin:10px 0;color:var(--text-heading); }
.life-page .life-source h3 a { color:inherit;text-decoration:none; }.life-page .life-source h3 a:hover { color:var(--color-link);text-decoration:underline; }
.life-page .life-source p { margin:0;font-size:.73rem;line-height:1.8;color:var(--text-secondary); }
.life-page .life-source .life-source-date { margin-top:12px;font-size:.66rem; }.life-page .life-source-city { font-size:.61rem;letter-spacing:.09em;text-transform:uppercase;color:var(--color-brand-text);font-weight:750; }
.life-page .life-closing { display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:45px;padding:32px;border:1px solid var(--border-default);border-radius:18px;background:var(--surface-card); }
.life-page .life-closing h2 { margin:0;max-width:640px;color:var(--text-heading);font-family:var(--font-serif);font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.25; }
.life-page .life-closing p:last-child { margin:12px 0 0;max-width:650px;color:var(--text-secondary);font-size:.81rem;line-height:1.8; }.life-page .life-closing .life-button { flex-shrink:0; }
.life-page .life-disclaimer { margin:22px 0 0;color:var(--text-muted);font-size:.72rem;line-height:1.8; }
.life-page .life-main a:focus-visible,.life-page .life-main button:focus-visible,.life-page .life-main summary:focus-visible,.life-page .life-main input:focus-visible,.life-page .life-main select:focus-visible,.life-page .life-main h2:focus { outline:2px solid var(--color-focus);outline-offset:4px; }
.life-page .life-hero a:focus-visible { outline-color:#fff; }
.life-page .life-explore { scroll-margin-top:95px; }
.life-page [hidden] { display:none!important; }
@media(max-width:1000px) {
  .life-page .life-hero { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:10px; }
  .life-page .life-pocket-sheet { width:220px; }.life-page .life-pocket-stamp { right:-10px;font-size:.6rem; }
  .life-page .life-tool-strip>a { padding:18px 14px;gap:9px; }.life-page .life-tool-strip>a>.icon:last-child { display:none; }
  .life-page .life-source-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .life-page .life-moving-layout { grid-template-columns:195px minmax(0,1fr);gap:20px; }.life-page .life-stage-nav { padding:16px; }
}
@media(max-width:700px) {
  .life-page .life-main { padding-top:16px; }.life-page .life-hero { grid-template-columns:1fr;padding:28px 24px;border-radius:18px; }
  .life-page .life-hero h1 { font-size:clamp(2.5rem,8.5vw,3.6rem); }.life-page .life-hero-description { margin:18px 0 22px;font-size:.85rem; }
  .life-page .life-pocket { min-height:205px;max-width:300px;width:100%;margin:12px auto 0; }.life-page .life-pocket-orbit { width:190px;height:190px; }
  .life-page .life-pocket-sheet { min-height:180px;padding:16px;gap:8px; }.life-page .life-pocket-sheet strong { font-size:1.3rem; }.life-page .life-pocket-sheet>.icon { width:28px;height:28px; }.life-page .life-pocket-lines { display:none; }.life-page .life-pocket-stamp { bottom:8px;right:0; }
  .life-page .life-pocket-pin { left:0;top:18px;width:36px;height:36px; }.life-page .life-hero-tags { margin-top:23px;gap:10px 15px; }
  .life-page .life-tool-strip { grid-template-columns:1fr;margin-bottom:34px; }.life-page .life-tool-strip>a+a { border-left:0;border-top:1px solid var(--border-default); }.life-page .life-tool-strip>a>.icon:last-child { display:block; }
  .life-page .life-section-heading { align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:20px; }
  .life-page .life-filters,.life-page .life-filters-moving { grid-template-columns:1fr;padding:17px;gap:13px; }.life-page .life-reset { justify-self:start; }
  .life-page .life-city-context { flex-direction:column;align-items:flex-start;gap:5px;padding:16px; }.life-page .life-topic-nav { gap:7px; }.life-page .life-topic-nav a { font-size:.7rem;padding:8px 11px; }
  .life-page .life-topic-grid { grid-template-columns:1fr;gap:16px; }.life-page .life-topic { padding:22px; }.life-page .life-topic h2 { font-size:1.45rem; }
  .life-page .life-route { padding:18px; }.life-page .life-route ol { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }.life-page .life-route li { padding:13px; }
  .life-page .life-moving-layout { grid-template-columns:1fr;gap:20px; }.life-page .life-stage-nav { position:static;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 13px; }.life-page .life-stage-nav>.life-eyebrow,.life-page .life-stage-tool { grid-column:1/-1; }
  .life-page .life-stage>summary { gap:12px;padding:18px; }.life-page .life-stage>summary strong { font-size:1.2rem; }.life-page .life-stage-body { padding:20px; }
  .life-page .life-source-section { margin-top:35px; }.life-page .life-source-grid { grid-template-columns:1fr; }.life-page .life-source-disclosure { padding:17px; }
  .life-page .life-closing { padding:24px;flex-direction:column;align-items:flex-start;gap:20px; }
}
@media(prefers-reduced-motion:reduce) { .life-page .life-pocket-sheet,.life-page .life-stage>summary>.icon { transition:none; }.life-page .life-pocket:hover .life-pocket-sheet { transform:rotate(-7deg); } }
@media print {
  .life-page .life-hero { display:block;background:none;color:#000;padding:0;border-radius:0; }.life-page .life-hero h1,.life-page .life-hero h1>span,.life-page .life-hero-description,.life-page .life-hero .life-eyebrow { color:#000; }
  .life-page .life-pocket,.life-page .life-hero-actions,.life-page .life-hero-tags,.life-page .life-filters,.life-page .life-topic-nav,.life-page .life-stage-nav,.life-page .life-closing,.life-page .life-load-notice,.life-page #life-status,.life-page .life-tool-strip { display:none!important; }
  .life-page .life-topic-grid,.life-page .life-moving-layout,.life-page .life-source-grid { display:block; }.life-page .life-topic[hidden] { display:block!important; }.life-page .life-topic,.life-page .life-source,.life-page .life-stage { margin-bottom:18px;box-shadow:none;break-inside:avoid; }
  .life-page details>.life-stage-body,.life-page details>.life-questions,.life-page details>.life-source-grid { display:block!important;content-visibility:visible; }.life-page .life-source-section { margin-top:25px; }
}

.life-page .life-citation-scope { display:block;max-width:430px;line-height:1.8; }

.life-page .life-source:focus { outline:2px solid var(--color-focus);outline-offset:4px; }
