@font-face{font-family:"Premium Display";src:url("premium-display.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Premium Display";src:url("premium-display-italic.ttf") format("truetype");font-style:italic;font-weight:500;font-display:swap}
@font-face{font-family:"Premium Sans";src:url("premium-sans.ttf") format("truetype");font-style:normal;font-weight:400 700;font-display:swap}
:root{color-scheme:light;--paper:#f9f6f0;--ink:#2b221e;--accent:#9e4b2f;--olive:#4f573b;--muted:#70645b;--line:#d8cfc2;--selection:#e6d8c5;--serif:"Premium Display",Georgia,serif;--sans:"Premium Sans",sans-serif;font-family:var(--sans);font-size:16px;line-height:1.65;color:var(--ink);background:var(--paper);scrollbar-color:var(--muted) var(--paper);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;font-size:1.125rem}::selection{background:var(--selection);color:var(--ink)}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.26em;overflow-wrap:anywhere}a:hover{text-decoration-thickness:2px}
a:focus-visible,summary:focus-visible,main:focus-visible,.table-scroll:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
a[aria-current=page]{font-weight:600;text-decoration-thickness:2px}
.skip{position:absolute;top:-100%;left:1rem;background:var(--paper);padding:.75rem;z-index:10}.skip:focus{top:1rem}
.shell,.section-shell{width:min(100% - 96px,1248px);margin-inline:auto}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:22px;border-bottom:1px solid var(--line)}
.wordmark{font:500 30px/1 var(--serif);text-decoration:none;color:var(--ink);letter-spacing:-.035em;min-height:44px;display:flex;align-items:center;white-space:nowrap}
.masthead nav,.languages{display:flex;gap:4px 24px;flex-wrap:wrap;align-items:center}
nav a{min-height:44px;display:inline-flex;align-items:center;padding:6px 0}
.languages{border-bottom:1px solid var(--line);padding-block:8px;font-size:.875rem}
.candidate{margin:24px 0 0;padding:16px 20px;background:var(--selection);font-size:.875rem}.candidate p{margin:0;overflow-wrap:anywhere}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:anywhere}
h1{font-size:clamp(2.75rem,5vw,4.75rem);margin:0 0 24px}h2{font-size:clamp(2rem,3vw,2.75rem);margin:48px 0 20px}h3{font-size:1.8rem;margin:32px 0 16px}
.hero{padding:64px 0 40px;max-width:850px}.hero p{font-size:1.125rem;color:var(--muted);max-width:62ch}
.reading{max-width:72ch;padding-bottom:64px;overflow-wrap:anywhere}.reading>h2:first-child{margin-top:0}.reading p{margin:0 0 20px}.reading blockquote{margin:0 0 32px;padding:20px 0;border-block:1px solid var(--line);color:var(--muted)}.reading blockquote p{margin:0}.reading li{margin-bottom:12px}.reading li a{overflow-wrap:anywhere}
.table-scroll{overflow-x:auto;margin-block:24px}table{width:100%;border-collapse:collapse;text-align:left;font-size:1em}th,td{vertical-align:top;padding:12px 10px;border-bottom:1px solid var(--line);min-width:10rem}th{font-weight:600}code{font-size:1em;overflow-wrap:anywhere}
.directory{list-style:none;padding:0;margin:0;max-width:72ch}.directory li{border-top:1px solid var(--line)}.directory a{display:block;padding:24px 0;font:500 1.8rem var(--serif)}.directory span{display:block;font:1.125rem/1.65 var(--sans);color:var(--muted);margin-top:8px}
.footer{border-top:1px solid var(--line);padding:32px 0 48px;color:var(--muted);font-size:.8125rem}.footer p{margin:0 0 12px}.footer nav{display:flex;flex-wrap:wrap;gap:4px 24px}.footer a{color:var(--muted)}
/* The landing is a full-width editorial surface; long-form notices retain their reading measure. */
.landing>.shell{width:100%}.landing .masthead,.landing .footer{width:min(100% - 96px,1248px);margin-inline:auto}
.landing .masthead{display:grid;grid-template-columns:1fr auto 1fr;border:0;position:relative;z-index:3;padding-block:20px}
.landing .masthead>nav{justify-content:center;font-size:.875rem;gap:32px}.landing .masthead>nav a{color:var(--ink);text-decoration:none}.landing .masthead>nav a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.language-menu{justify-self:end;position:relative;font-size:.875rem}
.language-menu summary{display:flex;gap:10px;align-items:center;cursor:pointer;min-height:44px;padding:6px 2px;list-style:none}.language-menu summary::-webkit-details-marker{display:none}
.language-menu summary::after{content:"";width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:-3px 2px 0 2px}
.language-menu[open] summary::after{transform:rotate(225deg);margin-top:3px}
.language-menu .languages{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;max-width:calc(100vw - 40px);display:grid;gap:0;padding:10px 18px;background:var(--paper);border:1px solid var(--line);z-index:5}
.language-menu .languages a{width:100%;text-decoration:none;color:var(--ink)}.language-menu .languages a:hover,.language-menu .languages a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent)}
.landing-intro{padding:24px 24px 32px;text-align:center}
.landing h1{font-size:clamp(5.5rem,12vw,10.5rem);line-height:.86;letter-spacing:-.04em;margin:0 auto 26px;max-width:100%;overflow-wrap:anywhere}
.landing h1 span,.landing h1 em{display:block}.landing h1 em{font-style:italic;color:var(--accent);font-weight:500;line-height:.9;margin-top:3px}
.landing-lead{font-size:1.125rem;line-height:1.6;max-width:55ch;color:var(--muted);margin:0 auto 24px;text-wrap:pretty}
.landing-action{display:inline-flex;gap:16px;align-items:center;justify-content:center;min-height:52px;padding:13px 30px;background:var(--ink);color:var(--paper);border-radius:100px;text-decoration:none;font-size:.9375rem;font-weight:500;line-height:1.5;text-align:center;max-width:100%;transition:background-color .18s ease-out,transform .18s ease-out}
.landing-action:hover{background:var(--accent);transform:translateY(-2px)}.landing-action:active{transform:translateY(0)}
.link-arrow{display:inline-block;flex:0 0 6px;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.landing-availability{font-size:.75rem;line-height:1.65;color:var(--muted);max-width:64ch;margin:16px auto 0;text-wrap:pretty}
.landing-photo{margin:0;overflow:hidden}.landing-photo img{display:block;width:100%;height:auto;aspect-ratio:2.8/1;object-fit:cover;object-position:center 56%}
.landing-routine{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:80px;padding-block:120px;scroll-margin-top:32px}
.landing-section-title h2{font-size:clamp(2.6rem,4.25vw,4rem);margin:0 0 32px;max-width:13ch}.landing-section-title p{max-width:36ch;color:var(--muted);font-size:1.125rem;margin:0}
.routine-list{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:32px}.routine-row{min-width:0;position:relative;padding-left:42px;padding-right:calc(32% + 24px);min-height:148px}
.routine-row dt{overflow-wrap:anywhere;font:500 1.7rem/1.1 var(--serif);letter-spacing:-.02em;margin-bottom:10px}.routine-number{position:absolute;left:0;top:0;font:500 1rem/1.8 var(--serif);color:var(--accent);letter-spacing:0;font-variant-numeric:tabular-nums}
.routine-row dd{margin:0}.routine-row p{font-size:1.125rem;line-height:1.65;color:var(--muted);margin:0;text-wrap:pretty}
.routine-detail{position:absolute;right:0;top:0;display:block;width:32%;height:100%;object-fit:cover;max-height:190px}.detail-plan{object-position:85% 25%}.detail-record{object-position:75% 95%}.detail-journal{object-position:18% 50%}
.landing-choices{background:var(--olive);color:var(--paper)}.choices-layout{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:80px;padding-block:88px}.landing-choices h2{font-size:clamp(2.75rem,4.2vw,4rem);margin:0;max-width:13ch}.landing-choices p{margin:0 0 24px;max-width:54ch;font-size:1.125rem;line-height:1.7}
.text-link{display:inline-flex;gap:16px;align-items:center;min-height:44px;font-size:.875rem}.landing-choices .text-link{color:var(--paper)}.landing-choices a:focus-visible{outline-color:var(--paper)}
.landing-boundaries{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:80px;padding-block:120px;scroll-margin-top:32px}.landing-boundaries h2{font-size:clamp(2.5rem,3.6vw,3.5rem);margin:0;max-width:14ch}.boundary-copy p{margin:0 0 24px;max-width:65ch;color:var(--muted);font-size:1.125rem}
.landing-support{border-top:1px solid var(--line);padding-block:88px 104px;text-align:center;scroll-margin-top:32px}.landing-support h2{font-size:clamp(2.75rem,4.2vw,4rem);margin:0 auto 24px;max-width:24ch}.landing-support p{max-width:48ch;margin:0 auto 28px;color:var(--muted)}
#choices{scroll-margin-top:32px}.landing .footer{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;padding-block:32px 48px}.landing .footer p{max-width:30ch}.landing .footer nav{justify-content:flex-end;max-width:72%;gap:4px 24px}
@media(min-width:1600px){.landing-intro{padding-block:40px}.landing-photo img{max-height:650px}.landing-routine{padding-block:140px}}
@media(max-width:1000px){.shell,.section-shell,.landing .masthead,.landing .footer{width:calc(100% - 64px)}.landing-routine,.choices-layout,.landing-boundaries{gap:48px;grid-template-columns:minmax(0,4fr) minmax(0,6fr)}.routine-row{padding-left:32px;padding-right:0;min-height:0}.routine-detail{display:none}.routine-list{gap:40px}.landing .masthead>nav{gap:24px}.landing .footer{display:block}.landing .footer nav{justify-content:flex-start;max-width:none}.landing-section-title h2{max-width:15ch}}
@media(max-width:640px){.shell,.section-shell,.landing .masthead,.landing .footer{width:calc(100% - 40px)}.masthead{align-items:flex-start}.masthead nav{gap:4px 18px;font-size:.875rem}.wordmark{font-size:28px}.landing .masthead{display:flex;flex-wrap:wrap;padding-block:16px 0;gap:8px 20px}.landing .masthead>.wordmark{order:1}.landing .masthead>nav{order:3;flex:1 0 100%;justify-content:flex-start;gap:24px;flex-wrap:wrap}.language-menu{order:2;margin-left:auto;max-width:100%}.language-menu .languages{min-width:220px}.landing-intro{padding:36px 20px 32px}.landing h1{font-size:clamp(4.6rem,19.2vw,7.25rem);letter-spacing:-.04em;margin-bottom:24px}.landing h1 em{margin-top:8px}.landing-lead{font-size:1.125rem;max-width:36ch;margin-bottom:24px}.landing-action{min-height:52px;padding-inline:26px}.landing-availability{font-size:.75rem;max-width:42ch;margin-top:18px}.landing-photo img{aspect-ratio:1.25/1;object-position:62% 55%}.landing-routine,.choices-layout,.landing-boundaries{grid-template-columns:minmax(0,1fr);gap:48px}.landing-routine,.landing-boundaries{padding-block:72px}.landing-section-title h2{font-size:2.8rem;max-width:15ch;margin-bottom:24px}.landing-section-title p{max-width:45ch}.routine-list{gap:32px}.routine-row{padding-left:36px}.routine-row dt{font-size:1.75rem}.routine-row p{font-size:1.125rem}.routine-row:not(:last-child){padding-bottom:28px;border-bottom:1px solid var(--line)}.choices-layout{padding-block:64px;gap:28px}.landing-choices h2{max-width:15ch}.landing-choices p{font-size:1.125rem}.landing-boundaries{gap:28px}.landing-boundaries h2{max-width:17ch}.landing-support{padding-block:64px 72px}.landing-support h2{font-size:2.75rem}.landing .footer nav{gap:4px 20px}.hero{padding-block:40px 24px}.reading{padding-bottom:40px}.candidate{margin-top:16px}.reading ul,.reading ol{padding-left:22px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.landing-action:hover{transform:none}}
@media print{.skip,.masthead nav,.languages,.language-menu,.footer nav{display:none}:root{--paper:#fff;--ink:#2b221e;--accent:#2b221e;--muted:#2b221e}.shell,.section-shell,.landing .masthead,.landing .footer{width:100%}.reading{max-width:none}.landing-photo,.routine-detail{display:none}.landing-intro,.landing-routine,.choices-layout,.landing-boundaries,.landing-support{padding-block:24px}.landing-routine,.choices-layout,.landing-boundaries{display:block}.landing-choices{background:none;color:var(--ink)}.landing-choices a{color:inherit}.landing-action{background:none;color:inherit;padding:0}.landing h1{font-size:4rem}.landing-section-title,.routine-row{margin-bottom:24px}.routine-row{padding-right:0}a{color:inherit}}

/* Permit enlarged prose to shrink inside editorial grid tracks. */
.landing p{overflow-wrap:anywhere}.landing-routine>*,.choices-layout>*,.landing-boundaries>*{min-width:0}
