.foundations-story { margin:48px auto 0; scroll-margin-top:24px; }
.foundations-heading { text-align:center; max-width:650px; margin:0 auto 26px; }
.foundations-heading .foundations-kicker { margin:0 0 10px; color:#d9b677; font:600 13px/1.6 var(--sans); letter-spacing:1px; text-transform:uppercase; }
.foundations-heading h2 { margin:0 0 12px; color:#f1d49d; font:400 clamp(30px,4vw,42px)/1.3 var(--serif); letter-spacing:-.8px; scroll-margin-top:28px; }
.foundations-heading>p:last-child { color:#e2cda9; margin:0; font:400 17px/1.7 var(--sans); }
.foundations-paper { padding:8px 34px; border:1px solid #d7b778; border-radius:18px; background:radial-gradient(ellipse at 100% 0,#fffcf4,transparent 55%),linear-gradient(110deg,#faf5e9,#f3ead6); box-shadow:inset 0 0 0 5px #fffbef,inset 0 0 0 6px #c8ab7955,0 10px 24px #10080225; color:#4b3626; }
.foundation { padding:30px 0; }
.foundation+.foundation { border-top:1px solid #b99b6a66; }
.foundation-intro { display:grid; grid-template-columns:minmax(170px,.75fr) minmax(0,1.7fr); align-items:center; gap:28px; }
.foundation-intro-reverse { grid-template-columns:minmax(0,1.7fr) minmax(170px,.75fr); }
.foundation-intro-reverse>.foundation-art { grid-column:2; grid-row:1; }
.foundation-intro-reverse>.foundation-copy { grid-column:1; grid-row:1; }
.foundation .foundation-art { display:block; width:100%; max-width:250px; height:auto; margin:auto; object-fit:contain; }
.foundation .foundation-label { margin:0 0 8px; color:#795531; font:600 13px/1.6 var(--sans); }
.foundation h3 { margin:0 0 14px; color:#4e3521; font:400 clamp(27px,3.3vw,34px)/1.3 var(--serif); letter-spacing:-.55px; text-wrap:balance; }
.foundation p { margin:0 0 15px; font:400 16px/1.75 var(--sans); color:#584431; }
.foundation p:last-child { margin-bottom:0; }
.foundation strong { font-weight:600; color:#44301f; }
.foundation a { color:#65421f; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.foundation a:hover { color:#292f22; }
.foundation a:focus-visible { outline:3px solid #87582f; outline-offset:5px; border-radius:2px; }
.flow-conditions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-top:22px; }
.flow-condition { display:flex; flex-direction:column; padding:18px 15px; border:1px solid #c8ad7f80; border-radius:11px; background:#fffdf5a8; }
.flow-condition h4 { margin:0 0 10px; color:#50391f; font:600 20px/1.4 var(--serif); text-wrap:balance; }
.flow-condition>p { font-size:15px; line-height:1.65; margin-bottom:16px; }
.flow-answer { margin-top:auto; border-top:1px solid #acb39770; padding-top:13px; }
.flow-answer strong { color:#38584d; font:600 16px/1.5 var(--sans); display:block; margin-bottom:6px; }
.flow-answer span { display:block; color:#584431; font:400 15px/1.65 var(--sans); }
.foundation .foundation-source { margin:18px 0 0; color:#725b40; font:400 14px/1.7 var(--sans); }
.habit-steps { list-style:none; display:flex; flex-wrap:wrap; gap:7px; padding:0; margin:20px 0 0; }
.habit-steps li { display:flex; align-items:center; gap:7px; color:#38584d; font:600 14px/1.6 var(--sans); }
.habit-steps li:not(:last-child)::after { content:'→'; color:#9c7f51; margin-right:2px; }
.foundation-authors { list-style:none; padding:0; margin:20px 0; }
.foundation-authors li { display:grid; grid-template-columns:125px minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px solid #bfa47744; font:400 15px/1.65 var(--sans); color:#584431; }
.foundation-authors li:first-child { border-top:1px solid #bfa47744; }
.foundation-authors a { font-weight:600; align-self:start; }
.foundation .foundation-quote { margin:18px 0; padding:14px 18px; border-left:3px solid #8e61a8; border-radius:0 9px 9px 0; background:#e9dfef80; }
.foundation-quote p[lang] { margin:0 0 5px; color:#593666; font:400 clamp(24px,3vw,30px)/1.4 var(--serif); }
.foundation-quote cite { display:block; font:400 14px/1.6 var(--sans); }
.foundation-quote cite a { color:#684577; }
.foundation .foundation-closing { margin:22px auto 0; padding:19px 5px 0; border-top:1px solid #b99b6a55; color:#405b4c; font:400 clamp(24px,3vw,30px)/1.45 var(--serif); text-align:center; text-wrap:balance; }
@media(max-width:760px){
 .foundations-paper { padding-inline:24px; }
 .foundation-intro { gap:21px; grid-template-columns:160px minmax(0,1fr); }
 .foundation-intro-reverse { grid-template-columns:minmax(0,1fr) 160px; }
 .flow-conditions { gap:10px; }
 .flow-condition { padding:15px 12px; }
 .foundation-authors li { grid-template-columns:1fr; gap:3px; }
}
@media(max-width:600px){
 .foundations-story { margin-top:34px; }
 .foundations-heading { margin-bottom:22px; }
 .foundations-heading>p:last-child { font-size:16px; }
 .foundations-paper { padding:2px 20px; border-radius:15px; box-shadow:inset 0 0 0 4px #fffbef,inset 0 0 0 5px #c8ab7955,0 8px 20px #10080225; }
 .foundation { padding:25px 0; }
 .foundation-intro,.foundation-intro-reverse { display:flex; flex-direction:column; gap:17px; align-items:stretch; }
 .foundation .foundation-art { width:170px; max-width:100%; }
 .foundation h3 { font-size:28px; text-wrap:pretty; }
 .foundation .foundation-label { font-size:13px; }
 .foundation p { font-size:16px; line-height:1.7; }
 .flow-conditions { grid-template-columns:1fr; gap:12px; margin-top:20px; }
 .flow-condition { padding:16px; }
 .flow-condition h4 { font-size:21px; }
 .flow-condition>p { font-size:15px; margin-bottom:12px; }
 .flow-answer { padding-top:12px; }
 .foundation .foundation-source { font-size:14px; }
 .foundation-authors li { font-size:15px; }
 .foundation-quote p[lang] { font-size:26px; }
 .foundation .foundation-closing { font-size:26px; }
}

/* A clear next step after the action / feedback principle. */
.foundation-invitation{max-width:700px;margin:28px auto 4px;padding-top:26px;border-top:1px solid #b99b6a55;text-align:center;scroll-margin-top:28px}
.foundation .foundation-invitation-goal{max-width:650px;margin:0 auto 17px;color:#4e3521;font:400 clamp(24px,3vw,30px)/1.5 var(--serif);text-wrap:balance}
.foundation .foundation-invitation-more{margin:0 0 18px;color:#65472e;font:600 18px/1.6 var(--sans)}
.foundation-invitation .foundation-call{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;width:100%;max-width:520px;margin-inline:auto;min-height:68px;padding:18px 24px;font:600 20px/1.45 var(--sans);text-wrap:balance}
.foundation-call:focus-visible{outline:3px solid #87582f;outline-offset:5px}
.foundation .foundation-call-note{margin:14px 0 0;color:#725b40;font:400 14px/1.6 var(--sans)}
@media(max-width:600px){
 .foundation-invitation{margin-top:24px;padding-top:22px}
 .foundation .foundation-invitation-goal{font-size:24px;line-height:1.5;text-wrap:pretty}
 .foundation-invitation .foundation-call{min-height:76px;padding:17px 14px;font-size:18px}
}
