@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,500&display=swap');:root{--dark:#202b29;--dark2:#304038;--paper:#f2eadb;--white:#fffaf0;--ink:#26312d;--muted:#647168;--line:#c9c5b6;--gold:#e9b77f;--rust:#a95739}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.62 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}.wrap{max-width:1180px;margin:auto;padding-inline:5%}header{background:var(--dark);color:var(--white)}header .wrap{min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font:500 2rem Fraunces,serif;letter-spacing:-.06em}.brand b{color:var(--gold);font-weight:400}nav{display:flex;gap:26px;align-items:center}nav a{font-size:.9rem;color:#d8ded2}.badge{color:var(--gold);font-size:.73rem;border:1px solid #748177;padding:7px 10px;text-transform:uppercase;letter-spacing:.13em}.notice{background:var(--gold);color:#24302b;text-align:center;padding:10px 5%;font-size:.88rem;font-weight:700}.hero{background:var(--dark);color:var(--white);padding:68px 0 105px}.hero-grid{display:grid;grid-template-columns:1fr 265px;gap:9%;align-items:center}.eyebrow,.label{font-size:.76rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700}.eyebrow{color:var(--gold)}h1,h2,h3,p{margin-top:0}.hero h1{font:400 clamp(4.2rem,8vw,7.4rem)/1 Fraunces,serif;letter-spacing:-.065em;margin:20px 0}.hero h1 em{color:var(--gold);font-weight:400}.hero .lead{font:400 clamp(1.3rem,2vw,1.65rem)/1.42 Fraunces,serif;max-width:680px}.hero .sub{color:#c6d0c3;max-width:600px}.day-card{border:1px solid #8a9a8c;padding:24px;text-align:center;background:#293830;transform:rotate(2deg);box-shadow:10px 10px 0 #17221e}.day-card span{display:block;color:var(--gold);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.day-card strong{display:block;font:400 8rem/1 Fraunces,serif;margin:18px 0;letter-spacing:-.1em}.day-card small{display:block;border-top:1px solid #718074;padding-top:14px}.btn{display:inline-block;background:var(--gold);color:var(--ink);padding:13px 20px;border-radius:2px;font-weight:700}.btn:hover{text-decoration:none;background:#ffd09b}.textlink{display:inline-block;border-bottom:1px solid var(--rust);font-weight:700;padding-bottom:3px}.hero .textlink{border-color:var(--gold);margin-left:20px}.section{padding-block:76px}.card{background:var(--white);border:1px solid var(--line);box-shadow:8px 8px 0 #e1d8c7}.front{margin-top:-40px;position:relative;padding:34px 42px}.front-head,.split-head{display:flex;justify-content:space-between;gap:20px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:17px}.front h2,.section h2{font:400 clamp(2.45rem,4.8vw,4.2rem)/1.1 Fraunces,serif;letter-spacing:-.045em;margin:12px 0 25px}.front h2{max-width:800px}.date{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--rust);font-weight:700}.front-copy{font:400 1.2rem/1.65 Fraunces,serif;max-width:850px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.micro{border-top:1px solid var(--line);padding-top:18px}.micro .label{color:var(--rust)}.micro p{font:400 1.15rem/1.4 Fraunces,serif;margin:10px 0}.cream{background:#e6ddcc;border-block:1px solid var(--line)}.proverb{font:400 clamp(1.8rem,3.3vw,3rem)/1.3 Fraunces,serif;max-width:890px;margin:20px 0}.metric{background:var(--white);border:1px solid var(--line);padding:22px}.metric .value{font:400 2.4rem/1.1 Fraunces,serif;margin:12px 0}.metric .caption{font-size:.85rem;color:var(--muted);margin:0}.change{display:grid;grid-template-columns:.7fr 1.3fr;gap:8%;align-items:start}.quote{font:400 clamp(1.6rem,2.8vw,2.4rem)/1.35 Fraunces,serif}.change .card{padding:30px}.change .card p{color:var(--muted)}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.timeline article{border-top:1px solid var(--line);padding-top:17px}.timeline h3{font:400 1.55rem Fraunces,serif;margin:8px 0}.timeline p{color:var(--muted)}.narrow{max-width:810px}.article{background:var(--white);border:1px solid var(--line);padding:48px 6%;margin:50px auto 85px}.article h1{font:400 clamp(3.5rem,7vw,6rem)/1 Fraunces,serif;letter-spacing:-.06em;margin:18px 0}.article .deck{font:400 1.38rem/1.5 Fraunces,serif;color:#48564d}.article h2{font:400 2rem/1.2 Fraunces,serif;margin:45px 0 12px}.article p{font-size:1.08rem}.article .editorial{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.statline{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:14px 0}.statline strong{font:400 1.35rem Fraunces,serif}.note{font-size:.88rem;color:var(--muted)}footer{background:#17221e;color:#c7d0c4;padding:30px 0}.foot{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.87rem}.foot .brand{color:var(--white);font-size:1.55rem}@media(max-width:800px){.hero-grid,.change{grid-template-columns:1fr}.day-card{max-width:250px}.grid4{grid-template-columns:repeat(2,1fr)}.grid3,.timeline{grid-template-columns:1fr 1fr}}@media(max-width:580px){header .wrap{padding-inline:6%}nav{gap:12px}nav a:nth-child(2),nav a:nth-child(3){display:none}.hero{padding:55px 0 85px}.wrap{padding-inline:6%}.hero h1{font-size:4.4rem}.hero .textlink{margin-left:0;margin-top:18px}.front{padding:25px;margin-top:-28px}.front-head{display:block}.section{padding-block:60px}.grid3,.grid4,.timeline{grid-template-columns:1fr}.article{padding:30px 6%;margin-top:20px}.foot{align-items:flex-start;flex-direction:column}}.entry-nav{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:24px;margin-top:42px;font-weight:700}.archive-list{display:grid;gap:15px;margin:30px 0 75px}.archive-list a{display:block;background:var(--white);border:1px solid var(--line);padding:25px}.archive-list a:hover{background:#fff2dd;text-decoration:none}.archive-list h2{font:400 1.9rem Fraunces,serif;margin:8px 0}.archive-list p{margin:0;color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.feature-card{background:var(--white);border:1px solid var(--line);padding:27px}.feature-card h3{font:400 1.65rem Fraunces,serif;margin:9px 0}.feature-card p{color:var(--muted)}.section-lead{font:400 1.3rem/1.55 Fraunces,serif;max-width:820px}.quiet-banner{background:#e9b77f;padding:18px 24px;font-weight:700}.numbers .value{font:400 2.35rem Fraunces,serif}.explain-list{display:grid;gap:20px;counter-reset:step}.explain-list article{border-top:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:50px 1fr;gap:15px}.explain-list article:before{counter-increment:step;content:counter(step,decimal-leading-zero);color:var(--rust);font:400 1.5rem Fraunces,serif}.explain-list h3{font:400 1.6rem Fraunces,serif;margin:0 0 7px}.explain-list p{margin:0;color:var(--muted)}@media(max-width:700px){.two-col{grid-template-columns:1fr}.explain-list article{grid-template-columns:35px 1fr}}
.circles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:35px}.friends-hero{padding-bottom:75px}.friends-hero h1{font-size:clamp(3.4rem,7vw,6.5rem)}.roadmap{list-style:none;padding:0;margin:35px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 36px}.roadmap li{display:grid;grid-template-columns:1fr;gap:4px;border-top:1px solid var(--line);padding:17px 0 20px}.roadmap li:before{content:"○  Proposed";font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);font-weight:700}.roadmap li.done:before{content:"✓  In progress";color:#425c46}.roadmap strong{font:400 1.55rem Fraunces,serif}.roadmap span{color:var(--muted)}@media(max-width:800px){.circles{grid-template-columns:1fr}}@media(max-width:580px){header .wrap{display:block;padding-block:13px}nav{flex-wrap:wrap;gap:5px 16px;margin-top:5px}nav a:nth-child(2),nav a:nth-child(3){display:inline}.hero{padding:35px 0 60px}.hero h1{font-size:3.6rem;margin:12px 0}.hero .lead{font-size:1.35rem}.hero .sub{margin-bottom:18px}.day-card{padding:12px;max-width:none;transform:none;box-shadow:none;text-align:left}.day-card strong{font-size:3rem;display:inline-block;margin:0 12px 0 0}.day-card span,.day-card small{display:inline;border:0}.front{margin-top:-18px}.roadmap{grid-template-columns:1fr}.friends-hero h1{font-size:3.5rem}}

/* Phone layout is the same site and routes as desktop. */
@media(max-width:580px){
  html{scroll-padding-bottom:88px}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom));overflow-x:hidden}
  header{position:relative;z-index:10}
  header .wrap{padding-block:10px;min-height:56px}
  header .brand{font-size:1.75rem}
  header nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;padding:5px 3px max(5px,env(safe-area-inset-bottom));background:#202b29;border-top:1px solid #6c7a70;box-shadow:0 -4px 15px #17221e29}
  header nav a{display:flex!important;justify-content:center;align-items:center;min-height:52px;padding:4px 1px;color:#eef1e8;font-size:.73rem;font-weight:600;text-align:center;line-height:1.15;border-radius:3px}
  header nav a[aria-current="page"]{color:#202b29;background:#e9b77f}
  header nav a:focus-visible,.btn:focus-visible,.textlink:focus-visible,.archive-list a:focus-visible{outline:3px solid #e9b77f;outline-offset:2px}
  .notice{font-size:.76rem;line-height:1.3;padding:7px 6%}
  .hero{padding:24px 0 30px}
  .hero-grid{gap:18px}
  .eyebrow,.label{font-size:.75rem;letter-spacing:.12em}
  .hero h1{font-size:clamp(3rem,14vw,4rem);line-height:1.02;margin:8px 0 12px}
  .hero .lead{font-size:1.25rem;line-height:1.32;margin-bottom:13px}
  .hero .sub{display:none}
  .hero .btn{display:inline-block;padding:11px 15px;font-size:.92rem}
  .hero .textlink{display:block;width:max-content;margin-top:11px;font-size:.88rem}
  .day-card{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;min-height:52px;padding:9px 13px}
  .day-card span{font-size:.72rem}
  .day-card strong{font-size:2rem;line-height:1;margin:0}
  .day-card small{font-size:.8rem;padding:0}
  .hero+.cream .section{padding-block:20px}
  .hero+.cream .proverb{font-size:1.4rem;line-height:1.23;margin:8px 0}
  .hero+.cream .note{margin:0}
  .front{margin-top:0;padding:25px 6%;border-left:0;border-right:0;box-shadow:none}
  .front h2,.section h2{font-size:clamp(2rem,10vw,2.9rem);margin:12px 0 18px}
  .front-copy{font-size:1.08rem;line-height:1.5}
  .front .grid3{display:grid;grid-template-columns:1fr;gap:5px;margin-top:25px!important}
  .micro{padding-top:12px}
  .micro p{font-size:1.08rem;margin:5px 0}
  .section{padding-block:38px}
  .split-head{display:block}
  .split-head .textlink{margin:4px 0 10px}
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}
  .metric{padding:14px;min-width:0}
  .metric .value{font-size:1.85rem;margin:5px 0}
  .metric .caption{font-size:.78rem;line-height:1.25}
  .change{gap:16px}
  .change .card{padding:20px;box-shadow:none}
  .timeline{gap:10px}
  .timeline article{padding:12px 0}
  .article{border-left:0;border-right:0;margin-bottom:25px;padding:26px 6%}
  .article h1{font-size:clamp(2.7rem,13vw,3.8rem)}
  .article .deck{font-size:1.25rem}
  .article p{font-size:1rem;line-height:1.65}
  .article h2{font-size:1.7rem;margin-top:30px}
  .entry-nav{flex-wrap:wrap}
  .archive-list a{padding:18px}
  .archive-list h2{font-size:1.55rem}
  .friends-hero h1{font-size:clamp(2.9rem,12vw,3.7rem)!important}
  .circles{margin-top:22px}
  .feature-card{padding:21px}
  .feature-card h3{font-size:1.5rem}
  .statline{align-items:baseline}
  .statline strong{text-align:right;font-size:1.15rem}
  .quiet-banner{font-size:.9rem;padding:12px 6%}
  .foot{padding-bottom:8px}
}

.journal-switch{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 30px}.journal-switch a{display:inline-block;border:1px solid var(--line);padding:9px 15px;background:var(--white);font-weight:700}.journal-switch a[aria-current]{background:var(--dark);color:var(--white);border-color:var(--dark)}@media(max-width:580px){.journal-switch{gap:7px}.journal-switch a{font-size:.9rem;padding:8px 11px}}

/* Dashboard definitions and editorial examples. */
.definition{font-size:.87rem;color:var(--muted);border-top:1px solid var(--line);padding-top:9px;margin-top:14px}.definition summary{cursor:pointer;list-style:none;font-weight:700;color:var(--rust);min-height:28px}.definition summary::-webkit-details-marker{display:none}.definition summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.definition p{margin:6px 0 0}.metric .small-value{font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.25;overflow-wrap:anywhere}.change-example{margin-top:26px;padding:27px;max-width:790px}.change-example p:not(.quote){color:var(--muted)}@media(max-width:580px){.change-example{padding:20px;box-shadow:none}}
