/* Keep the video wider than the centered content that follows it. */
:root {
  --landing-content-width: 1120px;
  --section-content-width: 1000px;
  --landing-gutter: clamp(16px, 3vw, 40px);
}
.product-demo,
main > section:not(.hero),
.site-footer {
  width: calc(100% - 2 * var(--landing-gutter));
  max-width: var(--landing-content-width);
  margin-left: auto;
  margin-right: auto;
}
main > section:not(.hero):not(.product-demo),
.site-footer { max-width: var(--section-content-width); }
.product-demo { padding-left: 0; padding-right: 0; }
/* The workflow frames have a 10px outer rim drawn with box-shadow.
   Reserve that space so the rim also stays within the video edges. */
main > .workflow-section { padding-left: 10px; padding-right: 10px; }
main > .solution-section { padding-left: 0; padding-right: 0; }
main > .section,
main > .closing-section,
.site-footer { padding-left: 10px; padding-right: 10px; }

/* Quiet chapter boundaries, following the product frame's horizontal edges. */
#notes,
#pricing {
  border-top: 1px solid #e2e5dd;
}
#flashcards {
  background: linear-gradient(
    to bottom,
    #fff 0%,
    #f2f6ee 13%,
    #f2f6ee 87%,
    #fff 100%
  );
}

/* Shared chapter hierarchy: label, then top-aligned copy and illustration. */
.workflow-step > .section-chapter {
  color: #111;
  margin: 0 0 30px;
  padding: 0;
  font-weight: 600;
}
.workflow-section { row-gap: 0; }
.workflow-section > .section-chapter { grid-column: 1 / -1; }
.workflow-step .solution-copy,
.workflow-step .workflow-copy { padding-top: 0; padding-bottom: 0; }
.solution-layout { align-items: start; }
/* Match the visible 10px outer frame, not just its underlying box. */
.workflow-section > .workflow-stage { margin-top: 10px; }
@media (max-width: 760px) {
  .workflow-step > .section-chapter { margin-bottom: 24px; }
  .workflow-section > .workflow-stage { margin-top: 40px; }
  .workflow-step .solution-copy { padding-left: 0; padding-right: 0; }
}

#how-it-works .section-chapter { font-size: 13px; }

.workflow-step > .section-chapter { font-size: 13px; letter-spacing: .3px; text-transform: none; }

#how-it-works .section-chapter { font-size: 16px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; }

#how-it-works .section-chapter{color:#111;margin:0 0 30px;padding:0}
#how-it-works.scroll-explore{padding-top:0;padding-bottom:0;margin-top:112px;margin-bottom:105px}
.scroll-explore .explore-sticky{position:sticky;top:100px}
.scroll-explore .map-connections path{transition:none}
.scroll-light{fill:#d1e8ff;filter:drop-shadow(0 0 4px #398ff1);pointer-events:none}
.scroll-light-red{fill:#ffd6ca;filter:drop-shadow(0 0 4px #cb5c42)}
@media(max-width:760px){#how-it-works .section-chapter{margin-bottom:24px}}

/* Organize mirrors Explore: notebook left, explanation right. */
#notes{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);column-gap:48px}
#notes>.section-chapter{font-size:16px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:30px}
.organize-notebook{min-width:0;padding:22px;border:1px solid #e1e2df;border-radius:18px;background:#fff;box-shadow:0 14px 35px #25372d08;color:#252a23}
.organize-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:19px;font:11px var(--sans)}
.organize-toolbar button,.notebook-title{border:1px solid #dedfdb;border-radius:8px;background:white;padding:10px 12px;white-space:nowrap}
.notebook-title{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;font-weight:500}
.notes-overview{width:100%;border-collapse:collapse;font:12px/1.65 var(--sans);margin-bottom:20px}
.notes-overview th,.notes-overview td{border:1px solid #dedfdb;padding:13px;vertical-align:top;text-align:left}
.notes-overview th{width:30%;background:#f5f5f4;font-weight:600}
.organized-topics>details{padding:12px 5px}.organized-topics>details>summary{font:600 19px/1.4 var(--sans);cursor:pointer}.organized-topics p{font:12px/1.75 var(--sans);margin:12px 0;color:#454b41}
.note-questions{margin-top:15px;padding-top:12px;border-top:1px solid #e6e6e3}.note-questions>span{font:600 8px var(--sans);letter-spacing:1px;color:#92968c}.note-questions details{margin-top:10px}.note-questions summary{font:11px/1.6 var(--sans);color:#5f685a;cursor:pointer}.note-questions summary::marker{color:#219648}
.notes-source{display:inline-block;font:9px/1.5 var(--sans);color:#798471;margin-top:18px;text-decoration:none}
#notes .organize-copy h2 em{color:#206e44}.organize-benefits{margin-top:30px}.organize-benefits p{font:13px/1.8 var(--sans);color:#4f584a;margin-bottom:18px}.organize-benefits strong{color:#252d22}
#notes-export-dialog{width:min(560px,calc(100vw - 32px));max-height:85vh;overflow:auto;border:1px solid #e0e2db;border-radius:18px;padding:25px;color:#252b22;box-shadow:0 25px 80px #0003;margin:auto}
#notes-export-dialog::backdrop{background:#26302655}#notes-export-dialog h3{font:600 22px var(--sans);margin-bottom:8px}#notes-export-dialog p{font:13px/1.6 var(--sans);color:#626b5c}#notes-export-dialog fieldset{border:0;padding:0;margin:20px 0}#notes-export-dialog legend{font:600 10px var(--sans);letter-spacing:1px;color:#88917f;margin-bottom:10px}
.export-formats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.export-formats label{position:relative;cursor:pointer}.export-formats input{position:absolute;opacity:0}.export-formats label>span{display:block;height:100%;border:1px solid #d9ddd4;border-radius:10px;padding:14px;font:12px/1.5 var(--sans);color:#626b5c}.export-formats strong{display:block;font-size:14px;color:#252b22;margin-bottom:5px}.export-formats input:checked+span{border-color:#237047;box-shadow:0 0 0 1px #237047;background:#f2f8f3}.export-formats input:focus-visible+span{outline:3px solid #8aafc2;outline-offset:3px}
#notes-export-dialog .export-example-note{font-size:11px}.export-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.export-actions button{border:1px solid #d9ddd4;background:white;border-radius:8px;padding:11px 15px;font:12px var(--sans)}.export-actions #sample-notes{background:#226c45;color:white;border-color:#226c45}
@media(max-width:1000px){#notes{column-gap:25px}.organize-notebook{padding:15px}.organize-toolbar{flex-wrap:wrap}.notebook-title{flex-basis:100%}}
@media(max-width:760px){#notes{grid-template-columns:1fr}.organize-copy{grid-row:2}.organize-notebook{grid-row:3;margin-top:25px}.notes-overview th,.notes-overview td{padding:10px}.export-formats{grid-template-columns:1fr}}

#notes-export-dialog .export-formats{width:100%;max-width:none;margin-top:0;grid-template-columns:repeat(2,minmax(0,1fr))}
#notes-export-dialog fieldset{min-width:0}
#notes-export-dialog .export-actions button{background:#226c45;color:#fff;border-color:#226c45}
@media(max-width:480px){#notes-export-dialog .export-formats{grid-template-columns:1fr}}
/* Full-page divider without widening the section's content. */
#notes{position:relative;border-top:0}
#notes::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;height:1px;background:#e2e5dd;pointer-events:none}

/* Reserve a disclosure gutter so each body aligns with its title. */
.organized-topics details>summary{position:relative;list-style:none;padding-left:25px}
.organized-topics details>summary::-webkit-details-marker{display:none}
.organized-topics details>summary::before{content:'';position:absolute;left:3px;top:.48em;width:6px;height:6px;border-right:1.5px solid #92988e;border-bottom:1.5px solid #92988e;transform:rotate(-45deg);transition:transform .15s}
.organized-topics details[open]>summary::before{transform:rotate(45deg)}
.organized-topics details>p,.organized-topics details>.note-questions{margin-left:25px}
.note-questions details>summary::before{border-color:#219648;top:.45em;width:5px;height:5px}
@media(prefers-reduced-motion:reduce){.organized-topics details>summary::before{transition:none}}

.explore-tabs{display:inline-flex;gap:4px;padding:5px;background:#eeefeb;border:1px solid #e5e7e0;border-radius:12px;margin-bottom:15px;box-shadow:inset 0 1px 2px #233b2708}
.explore-tabs button{border:1px solid transparent;border-radius:8px;background:transparent;color:#697161;padding:9px 19px;font:500 12px var(--sans)}
.explore-tabs button[aria-selected=true]{color:#243025;background:#fff;border-color:#e2e5dd;box-shadow:0 2px 4px #0000000d}
.explore-panels{display:grid}.explore-panels>div,.explore-panels>article{grid-area:1/1;min-width:0}
.explore-panel{min-height:450px;border:1px solid #dededb;border-radius:18px;padding:25px;background:white;color:#273024}
.detail-answer{display:flex;flex-direction:column}.detail-context{display:flex;align-items:center;gap:9px;font:10px/1.5 var(--sans);color:#71786b}
#detail-badge{font:600 8px monospace;letter-spacing:.6px;background:#2878ed;color:#fff;border-radius:4px;padding:5px 7px;white-space:nowrap}#detail-badge[data-kind=root]{background:#137e3c}#detail-badge[data-kind=athens]{background:#ad4535}
.detail-answer h3{font:400 28px/1.2 Georgia,serif;margin:18px 0 23px}.answer-modes{display:flex;gap:20px;border-bottom:1px solid #e2e5dd;margin-bottom:18px}.answer-modes button{border:0;border-bottom:2px solid transparent;padding:0 0 10px;background:none;font:13px var(--sans);color:#87917f}.answer-modes button[aria-pressed=true]{color:#263022;border-bottom-color:#263022}.detail-answer>p{font:14px/1.8 var(--sans)}
.source-chip{align-self:flex-start;border:1px solid #e5b69c;background:#fcf5ef;color:#a35931;border-radius:7px;padding:9px 12px;font:11px var(--sans);margin-top:20px}
.detail-next{margin-top:auto;padding-top:25px}.detail-next>span,.source-related>span,.example-paper>span{font:600 8px var(--sans);letter-spacing:1px;color:#88917e}.detail-next button{display:block;margin-top:10px;width:100%;text-align:left;padding:10px 13px;background:white;border:1px solid #e0e4da;border-radius:8px;color:#52614b;font:12px var(--sans)}
.source-view{display:grid;grid-template-columns:1.35fr 1fr;gap:15px;background:#f4f3ef;padding:15px}.example-paper{border:1px solid #e1e0d9;border-radius:12px;padding:20px;background:#fdfcf8}.example-paper h3{font:24px/1.2 Georgia,serif;margin:15px 0}.example-paper p{font:15px/1.7 Georgia,serif;margin:13px 0}.example-paper mark{background:transparent;color:inherit}.example-paper mark.active-passage{background:#efd5c5}.example-paper small{display:block;margin-top:22px;font:9px/1.5 var(--sans);color:#89907f}.source-related button{display:block;width:100%;text-align:left;background:white;border:1px solid #dedfd9;border-radius:11px;padding:15px;margin-top:13px;color:#283125;font:17px/1.3 Georgia,serif}.source-related small{display:table;font:600 7px monospace;color:white;background:#2878ed;border-radius:4px;padding:4px 6px;margin-bottom:10px}.source-related [data-source-question=root] small{background:#137e3c}.source-related [data-source-question=athens] small{background:#ad4535}
@media(max-width:760px){.source-view{grid-template-columns:1fr}.explore-panel{padding:18px;min-height:480px}.detail-answer h3{font-size:25px}.detail-context{flex-wrap:wrap}.explore-tabs{display:flex}.explore-tabs button{flex:1}.source-related button{font-size:15px}}
@media(min-width:1001px){.explore-panels{height:480px}.explore-panels>.compact-canvas,.explore-panels>.explore-panel{height:480px;min-height:0;overflow:auto}}

/* One sliding surface follows hover and settles on the selected view. */
.explore-tabs{position:relative;isolation:isolate;display:flex;width:max-content;max-width:100%;margin-left:auto;gap:2px;padding:4px;border-radius:11px;background:#eeefeb}
.explore-tabs::before{content:'';position:absolute;z-index:-1;top:4px;bottom:4px;left:0;width:var(--tab-pill-width,80px);transform:translateX(var(--tab-pill-x,4px));background:#fff;border:1px solid #e1e4db;border-radius:8px;box-shadow:0 2px 5px #20332312;transition:transform .24s cubic-bezier(.22,.8,.25,1),width .24s ease;pointer-events:none}
.explore-tabs button{position:relative;min-width:79px;padding:9px 17px;transition:color .18s;border-color:transparent}
.explore-tabs button[aria-selected=true]{background:transparent;border-color:transparent;box-shadow:none;color:#243025}
.explore-tabs button:hover{color:#243025}
@media(prefers-reduced-motion:reduce){.explore-tabs::before,.explore-tabs button{transition:none}}

/* First principles: map left, chapter and explanation right. */
#principles{position:relative;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);column-gap:38px;align-items:start;padding-top:80px;padding-bottom:80px}
#principles::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;height:1px;background:#e2e5dd}
#principles>.section-chapter{grid-column:2;grid-row:1;font-size:16px;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:30px}
.principles-demo{grid-column:1;grid-row:2;min-width:0}
.principles-copy{grid-column:2;grid-row:2}
.principles-copy h2 em{color:#206e44}
.principles-tabs{margin-top:-55px;margin-left:0;margin-right:auto}
.principles-surface{border:1px solid #dededb;border-radius:18px;background-color:#fafaf7;background-image:radial-gradient(#d9ddd2 1px,transparent 1px);background-size:16px 16px;padding:17px;min-height:435px;color:#273024}
.principles-map-heading{font:12px var(--sans)}.principles-map-heading span{font-weight:400;color:#677060}.principles-map-heading small{display:block;font-size:10px;color:#87907f;margin-top:6px}
.principles-network{position:relative;display:grid;grid-template-columns:40% 44%;justify-content:space-between;align-items:center;height:350px;margin-top:14px}
.principles-network svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.principles-network path{fill:none;stroke-width:1.6}
.principle-root,.principle-node{position:relative;background:#fff;border:1px solid #88a5df;border-radius:11px;padding:12px;text-align:left;box-shadow:0 2px 3px #20332309}
.principle-root small,.principle-node small{display:block;font:8px monospace;letter-spacing:.8px;color:#527ecc}
.principle-root h3,.principle-node strong{display:block;font:18px/1.2 Georgia,serif;margin:7px 0;color:#273024}
.principle-root span,.principle-node span{display:block;font:9px var(--sans);color:#91958c}
.principle-children{display:grid;gap:13px}.principle-node{width:100%;cursor:pointer;transition:transform .2s,box-shadow .2s}.principle-node:hover{transform:translateY(-2px);box-shadow:0 6px 12px #20332312}
.principle-node.encountered{border-color:#c88048}.principle-node.encountered small{color:#9172b4}.principle-node small b{color:#b87038;font-weight:400}
.principle-node.demonstrated{border-color:#7eb592}.principle-node.demonstrated small{color:#409467}.principle-node.unseen{border-color:#d98080}.principle-node.unseen small{color:#bd5353}
.principles-caption{font:10px/1.6 var(--sans);color:#7a8272;margin:14px 3px 0}
.principle-detail{background:#fff;border:1px solid #e1e3dc;border-radius:12px;min-height:400px;padding:22px}
.principle-kicker{font:600 8px var(--sans);letter-spacing:1px;color:#899181}
.principle-detail h3{font:28px/1.2 Georgia,serif;margin:17px 0 12px}.principle-detail p{font:12px/1.8 var(--sans);color:#5e6757}.principle-detail .principle-state{color:#9172b4;font-weight:500}
.principle-evidence,.principle-next{border-top:1px solid #e5e7df;padding-top:18px;margin-top:22px}
.principle-gap{display:block;width:100%;text-align:left;background:#fcf7f1;border:1px solid #e8b993;border-radius:10px;padding:16px;margin:22px 0;color:#9c5d2c}.principle-gap strong{display:block;font:19px Georgia,serif;margin-bottom:9px}.principle-gap span{font:12px/1.6 var(--sans)}
.principle-progress p{display:flex;justify-content:space-between;margin:9px 0 3px;font-size:10px}.principle-progress i{display:block;height:4px;background:linear-gradient(to right,var(--state-color) 25%,#eee 25%);border-radius:4px}
@media(max-width:760px){#principles{grid-template-columns:1fr;padding-top:55px;padding-bottom:55px}#principles>.section-chapter{grid-column:1;grid-row:1}.principles-copy{grid-column:1;grid-row:2}.principles-demo{grid-column:1;grid-row:3}.principles-tabs{margin-top:0}.principles-surface{padding:12px}.principle-root,.principle-node{padding:9px}.principle-root h3,.principle-node strong{font-size:16px}.principle-node small{font-size:7px;letter-spacing:0}.principles-network{grid-template-columns:41% 46%}.principle-detail{padding:17px}}
@media(prefers-reduced-motion:reduce){.principle-node{transition:none}}

/* A 2.3-second clock with a visible track on every tab. */
.explore-tabs [role=tab]::after{content:'';position:absolute;left:15px;right:15px;bottom:4px;height:2px;border-radius:2px;background:#527c5d;transform:scaleX(var(--tab-progress,0));transform-origin:left;pointer-events:none}
.explore-tabs .tab-timer-toggle{min-width:25px;padding:5px;font-size:10px;color:#7b8475;border-left:1px solid #dfe3d9;border-radius:0 6px 6px 0}
@media(prefers-reduced-motion:reduce){.tab-timer-toggle{display:none}}

@media(min-width:761px){#notes .organize-copy h2{font-size:clamp(24px,2.6vw,33px);white-space:nowrap;letter-spacing:-1px}}

/* Remember and practice, in the same tactile chapter system. */
#practice{position:relative;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);align-items:start;gap:0 38px;padding-top:80px;padding-bottom:80px}
#practice::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;height:1px;background:#e2e5dd}
#practice>.section-chapter{font-size:16px;letter-spacing:2.5px;text-transform:uppercase}
#practice h2 em{color:#206e44}.practice-demo{min-width:0}.practice-tabs button[role=tab]{min-width:0;padding:9px 12px}
.practice-shell{border:1px solid #dededb;border-radius:18px;overflow:hidden;background:#f5f5f1;box-shadow:0 12px 30px #20332308}
.practice-session{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:white;border-bottom:1px solid #e1e4db;font:11px var(--sans)}
.practice-session strong,.practice-session span{display:block}.practice-session span{color:#7b8373;font-size:10px;margin-top:5px}.practice-session-step{text-align:right}.practice-session-step i{display:block;background:linear-gradient(to right,#447653 50%,#e8ebe3 50%);height:3px;width:70px;margin-top:7px;border-radius:3px}
.practice-body{padding:18px;min-height:425px}.practice-paper{background:#fff;border:1px solid #e0e3da;border-radius:13px;padding:21px;min-height:387px;color:#293226}
.practice-paper h3{font:24px/1.25 Georgia,serif;margin:16px 0 20px}.practice-kicker,.practice-face small{display:block;font:600 8px var(--sans);letter-spacing:1px;color:#4b7856}.practice-topic{display:inline-block;background:#f0f2ec;border-radius:5px;padding:5px 8px;margin-top:10px;font:10px var(--sans);color:#737d69}
.practice-paper label{display:block;font:10px var(--sans);color:#7b8274;margin-bottom:9px}.practice-paper textarea{display:block;width:100%;height:130px;resize:none;background:#f7f8f4;border:1px solid #dfe4d7;border-radius:9px;padding:13px;font:13px/1.8 var(--sans);color:#454e3e}
.practice-action{display:block;margin:20px 0 0 auto;padding:11px 15px;background:linear-gradient(#387a51,#245e3b);border:1px solid #225434;box-shadow:inset 0 1px #ffffff30,0 2px 3px #20332312;border-radius:8px;color:white;font:11px var(--sans)}
.practice-flip{display:block;position:relative;width:100%;height:274px;perspective:1000px;border:0;background:none;padding:0;text-align:left;cursor:pointer}
.practice-flip-inner{display:block;position:absolute;inset:0;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.practice-flip[aria-pressed=true] .practice-flip-inner{transform:rotateY(180deg)}
.practice-face{position:absolute;inset:0;display:flex;flex-direction:column;padding:23px;border:1px solid #e0e3da;border-radius:13px;background:#fff;box-shadow:0 5px 10px #20332308;backface-visibility:hidden}
.practice-face strong{font:26px/1.25 Georgia,serif;margin-top:25px;color:#243523}.practice-face>span:not(.practice-card-hint){font:13px/1.7 var(--sans);margin-top:15px;color:#56614d}.practice-face .practice-card-hint{margin-top:auto;font:9px var(--sans);color:#86907b}.practice-back{transform:rotateY(180deg)}.practice-back strong{font-size:20px;margin-top:17px}
.practice-ratings{border:0;padding:0;margin:18px 0 0;min-width:0}.practice-ratings legend{font:10px var(--sans);color:#75816a;margin-bottom:8px}.practice-ratings>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.practice-ratings button{background:linear-gradient(#fff,#f4f5f1);border:1px solid #dce1d5;border-radius:8px;padding:9px 4px;font:11px var(--sans);color:#3f5137;box-shadow:0 2px 2px #20332307}.practice-ratings button small{display:block;margin-top:4px;color:#858e7b;font-size:9px}.practice-ratings:disabled{opacity:.45}.practice-ratings button[aria-pressed=true]{background:#e5f0e5;border-color:#548260}
.practice-note{font:9px/1.6 var(--sans);color:#7f8874;margin:12px 2px 0}
.practice-paper blockquote{margin:0 0 17px;background:#f5f6f1;border-radius:8px;padding:12px;font:12px/1.6 var(--sans);color:#727c66}
.practice-feedback-box{padding:16px;background:#fcf5e9;border-radius:10px;font:12px/1.6 var(--sans);color:#6c644f}.practice-feedback-box>strong{font-size:15px;color:#6b512c}.practice-feedback-box p{margin:10px 0}.practice-feedback-box small{font-size:10px;font-weight:600}.practice-feedback-box ul{padding-left:17px;margin:8px 0 13px}.practice-feedback-box details{border-top:1px solid #e8dfcd;padding-top:10px}.practice-feedback-box summary{cursor:pointer}.practice-gap-link{display:inline-block;margin-top:15px;font-weight:600;color:#256b43}
.practice-choices{display:grid;gap:9px}.practice-choices button{display:flex;align-items:center;gap:11px;text-align:left;padding:11px;border:1px solid #dfe4d7;background:#fafbf8;border-radius:9px;font:12px/1.5 var(--sans);color:#404d36}.practice-choices b{display:grid;place-items:center;flex-shrink:0;width:23px;height:23px;background:#eaece5;border-radius:50%;font-size:10px}.practice-choices button[aria-pressed=true]{border-color:#628669;background:#edf3e9}.practice-quiz-result{font:11px/1.6 var(--sans);color:#7b826f;margin-top:18px}.practice-quiz-result[data-correct=true]{color:#276c42}.practice-quiz-result[data-correct=false]{color:#a2533d}
@media(max-width:760px){#practice{grid-template-columns:1fr;row-gap:25px;padding-top:55px;padding-bottom:55px}.practice-tabs{max-width:100%}.practice-tabs button[role=tab]{padding:9px 8px;font-size:11px}.practice-body{padding:12px}.practice-paper{padding:16px}.practice-face{padding:18px}.practice-face strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){.practice-flip-inner{transition:none}}

.explore-tabs [role=tab]::before{content:"";position:absolute;left:15px;right:15px;bottom:4px;height:2px;border-radius:2px;background:#dce2d6;pointer-events:none}

/* Credits flow from a single hub into the available packs. */
#pricing{display:block;text-align:center;padding-top:80px;padding-bottom:65px}
#pricing .pricing-heading h2{font-size:clamp(40px,5vw,60px)}#pricing .pricing-heading h2 em{color:#256e45}
#pricing .pricing-eyebrow{font:600 10px var(--sans);letter-spacing:2px;color:#68765c;margin:0 0 20px}
#pricing .pricing-heading>p:last-child{font:14px/1.8 var(--sans);margin-top:20px}
.pricing-energy{margin:35px auto 0;max-width:860px}
.pricing-hub{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;gap:13px;width:180px;margin:auto;border:1px solid #384738;border-radius:16px;padding:17px;background:linear-gradient(#303b2f,#152518);color:#e6edde;box-shadow:inset 0 1px #ffffff25,0 8px 20px #18331e20;text-align:left;font:12px/1.6 var(--sans)}
.pricing-hub svg{width:25px;height:32px}.pricing-hub strong{font-weight:500;color:white}
.pricing-wires{display:block;width:100%;height:110px;overflow:visible}
.pricing-wire{fill:none;stroke:#d9e1d3;stroke-width:1.4}
.pricing-pulse{fill:none;stroke:#8ab661;stroke-width:2.3;stroke-linecap:round;stroke-dasharray:8 110;stroke-dashoffset:12;opacity:0;filter:drop-shadow(0 0 3px #a9cf79);animation:credit-flow 3.8s linear infinite;animation-delay:var(--pulse-delay);animation-play-state:paused}
.energy-visible .pricing-pulse{animation-play-state:running}
.pricing-pack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pricing-pack{position:relative;min-width:0;padding:22px 10px;background:linear-gradient(#fff,#f3f5ef);border:1px solid #dce3d5;border-radius:15px;box-shadow:inset 0 1px #fff,0 4px 7px #1e3b2110;color:#263c29;transition:transform .2s,box-shadow .2s,border-color .2s}
.pricing-pack::before{content:'';position:absolute;top:-4px;left:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:#adc299;border:2px solid #f7faf3}
.pricing-pack small{font:600 8px var(--sans);letter-spacing:1.5px;color:#7a886e}.pricing-pack strong{display:block;font:44px/1.3 Georgia,serif;margin:10px 0}.pricing-pack span{font:9px var(--sans);color:#819076}
.pricing-pack:hover{transform:translateY(-4px);box-shadow:0 9px 18px #203b2114}.pricing-pack[aria-pressed=true]{border-color:#6e9560;background:linear-gradient(#fcfff8,#eaf1e2);box-shadow:0 5px 15px #365d2715}
.pricing-pack-detail{font:12px/1.6 var(--sans);color:#647859;margin:24px 0 0;min-height:40px}
.pricing-bottom>p{font:12px/1.8 var(--sans);color:#76836b;margin:5px 0 22px}.pricing-bottom .button{font-size:12px;padding:13px 23px}.pricing-bottom>small{display:block;font:10px var(--sans);color:#84917a;margin-top:12px}
#pricing .pricing-note{margin:28px auto 0;font-size:10px;max-width:620px}
@keyframes credit-flow{0%{stroke-dashoffset:12;opacity:0}8%{opacity:1}62%{stroke-dashoffset:-100;opacity:1}72%,100%{stroke-dashoffset:-110;opacity:0}}
@media(max-width:760px){.pricing-pack-grid{gap:7px}.pricing-pack{padding:16px 5px;border-radius:10px}.pricing-pack strong{font-size:29px}.pricing-pack small{font-size:6px;letter-spacing:.5px}.pricing-pack span{font-size:8px}.pricing-wires{height:80px}.pricing-hub{width:160px}}
@media(prefers-reduced-motion:reduce){.pricing-pulse{animation:none}.pricing-pack{transition:none}}

.pricing-hub{width:max-content;max-width:100%;padding:12px 19px;gap:10px}.pricing-hub>span{white-space:nowrap}.pricing-hub img{display:block;width:42px;height:42px;object-fit:contain}

/* Section dividers always extend beyond the content column to both page edges. */
#principles,#notes,#practice,#pricing{position:relative;border-top:0}
#principles::before,#notes::before,#practice::before,#pricing::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;height:1px;background:#e2e5dd;pointer-events:none}

/* Bring each chapter label closer to its divider. */
#principles,#notes,#practice,#pricing{padding-top:36px}
@media(max-width:760px){#principles,#notes,#practice,#pricing{padding-top:28px}}

/* Inset brand capsule with the native Arbor leaf. */
.site-nav,.site-nav.is-compact{padding-left:7px;padding-top:6px;padding-bottom:6px}
.site-nav .brand{background:#fff;color:#203b2a;border-radius:999px;padding:7px 17px 7px 12px;gap:8px;flex-shrink:0;box-shadow:0 1px 2px #0002}
.site-nav .brand img{display:block;width:24px;height:28px;object-fit:contain}
@media(max-width:760px){.site-nav .brand{padding:5px 14px 5px 10px}.site-nav .brand img{width:22px;height:26px}}

/* Matching white capsules at either end of the wider navigation. */
.site-nav{max-width:840px;padding-right:7px;gap:20px}
.site-nav.is-compact{max-width:720px;padding-right:7px}
.site-nav .nav-links{margin-left:auto}
.site-nav .nav-download{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:#203b2a;border:0;border-radius:999px;padding:11px 18px;white-space:nowrap;font:600 13px var(--sans);box-shadow:0 1px 2px #0002;flex-shrink:0;margin-left:0}
.site-nav .nav-download .apple-icon{width:16px;height:18px}
.site-nav .nav-download span{font-size:inherit}
@media(max-width:760px){.site-nav,.site-nav.is-compact{max-width:580px;gap:8px}.site-nav .nav-download{margin-left:auto;padding:10px 13px;font-size:11px}}
@media(max-width:430px){.site-nav,.site-nav.is-compact{max-width:100%;gap:5px}.site-nav .brand{padding-left:8px;padding-right:11px;font-size:18px}.site-nav .nav-download{padding:10px;font-size:10px;gap:5px}}

/* A painted pause between understanding and organizing. */
.garden-interlude{position:relative;isolation:isolate;display:grid;place-items:center;width:100%;height:clamp(310px,40vw,540px);overflow:hidden;margin:0 0 26px;background:#204c36}
.garden-interlude img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 49%;z-index:-2}
.garden-interlude::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#10271940,#132b3159,#10271940)}
.garden-interlude::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,#fff 0%,#ffffff00 13%,#ffffff00 84%,#fff 100%)}
.garden-interlude p{position:relative;z-index:1;text-align:center;padding:25px;font:italic 400 clamp(30px,4.6vw,66px)/1.14 var(--serif);letter-spacing:-1.3px;color:#fffbed;text-shadow:0 2px 16px #172d3070;margin:0}
@media(max-width:760px){.garden-interlude{height:320px}.garden-interlude p{font-size:clamp(27px,6vw,42px);letter-spacing:-.6px;padding:18px}.garden-interlude img{object-position:48% 50%}}

.site-nav .brand img{width:30px;height:30px;object-fit:contain}

/* The garden interlude itself separates Mind Map from Organize. */
.garden-interlude + #notes::before{display:none}

/* An open garden closes the page, with useful links above the landscape. */
.site-footer.garden-footer{position:relative;isolation:isolate;display:block;width:100%;max-width:none;margin:0;padding:60px 0 0;border-top:1px solid #e2e5dd;overflow:hidden;background:#f8f9f4;color:#213a29}
.footer-landscape{position:absolute;z-index:-2;left:0;bottom:0;width:100%;height:100%;object-fit:cover;object-position:center bottom}
.garden-footer::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#fafbf7 0%,#fafbf7f5 20%,#fafbf7bb 46%,#fafbf700 72%)}
.site-footer.garden-footer .footer-content{display:grid;grid-template-columns:1.7fr .8fr 1fr;gap:65px;width:calc(100% - 2 * var(--landing-gutter));max-width:1000px;margin:auto}
.footer-brand{display:inline-flex;align-items:center;gap:9px;color:#263d2c;font:600 21px var(--sans)}.footer-brand img{display:block}
.footer-intro h2{font:400 28px/1.2 var(--serif);letter-spacing:-.5px;margin:19px 0 14px}.footer-intro h2 em{color:#2c7049}
.footer-intro p{font:12px/1.8 var(--sans);color:#687662;margin:0 0 20px}
.garden-footer .footer-intro .button{display:inline-flex;gap:7px;align-items:center;padding:11px 16px;font:600 11px var(--sans);color:white}
.footer-intro .apple-icon{width:14px;height:16px}.footer-intro small{display:block;font:9px var(--sans);color:#7c8774;margin-top:10px}
.garden-footer .footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding-top:11px}
.footer-links h3{font:600 12px var(--sans);color:#243a2a;margin:0 0 8px}
.site-footer.garden-footer .footer-links a{font:12px/1.5 var(--sans);color:#52644b;text-decoration:none}.garden-footer .footer-links a:hover{color:#1d603c;text-decoration:underline;text-underline-offset:4px}
.site-footer.garden-footer .footer-signoff{display:flex;justify-content:space-between;width:calc(100% - 2 * var(--landing-gutter));max-width:1000px;margin:35px auto 0;font:10px var(--sans);color:#586c53}
.site-footer.garden-footer .footer-signoff a{font:10px var(--sans);color:#385e3d}
.site-footer.garden-footer .footer-wordmark{display:block;text-align:center;font:400 clamp(130px,26vw,390px)/.86 var(--serif);letter-spacing:-.065em;color:#fffff3eb;text-shadow:0 2px 35px #284c3320;padding:45px 20px 0;margin:0;user-select:none}
@media(max-width:760px){.site-footer.garden-footer{padding-top:35px}.site-footer.garden-footer .footer-content{grid-template-columns:1fr 1fr;gap:25px}.footer-intro{grid-column:1/-1}.footer-intro h2{font-size:27px}.footer-landscape{height:70%;object-position:55% bottom}.garden-footer::before{background:linear-gradient(#fafbf7 0%,#fafbf7f5 45%,#fafbf780 75%,transparent)}.site-footer.garden-footer .footer-wordmark{padding-top:50px;font-size:32vw}.site-footer.garden-footer .footer-signoff{margin-top:30px}.site-footer.garden-footer .footer-links{gap:12px}}
.site-footer.garden-footer .footer-brand{font:600 21px var(--sans);color:#263d2c}

/* One shared discharge, then four branches with increasing energy. */
.pricing-pulse{animation:none;stroke:#94b774;stroke-width:2.5;stroke-dasharray:12 110}
.pricing-trunk{stroke:#d3efad;stroke-width:3;filter:drop-shadow(0 0 4px #91b95a)}
.pricing-branch[data-energy="1"]{stroke:#a8d377;stroke-width:3;filter:drop-shadow(0 0 4px #9ccc60)}
.pricing-branch[data-energy="2"]{stroke:#bcdf79;stroke-width:3.8;filter:drop-shadow(0 0 5px #a9d460)}
.pricing-branch[data-energy="3"]{stroke:#e4f8ad;stroke-width:4.5;filter:drop-shadow(0 0 3px #77a339) drop-shadow(0 0 7px #b4de59)}
@property --credit-beam-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
.pricing-pack[data-pack="100"]::after{content:'';position:absolute;inset:-1px;padding:2px;border-radius:inherit;background:conic-gradient(from var(--credit-beam-angle),transparent 0deg,transparent 265deg,#a5c65a 315deg,#efffb1 345deg,transparent 360deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;animation:credit-border 2.4s linear infinite;animation-play-state:paused}
.energy-visible .pricing-pack[data-pack="100"]::after{animation-play-state:running}
@keyframes credit-border{to{--credit-beam-angle:360deg}}
@media(prefers-reduced-motion:reduce){.pricing-pack[data-pack="100"]::after{display:none}.pricing-pulse{opacity:0!important}}

/* Each branch carries the same light; travel durations are synchronized. */
.pricing-branch[data-energy]{stroke:#a8d377;stroke-width:3;filter:drop-shadow(0 0 4px #9ccc60)}

.faq-page-header{display:flex;align-items:center;justify-content:space-between;max-width:1000px;width:calc(100% - 2 * var(--landing-gutter));margin:28px auto}
.faq-page-header>a:last-child{font:12px var(--sans);color:#426a49;text-decoration:none}
.faq-page #questions{padding-top:65px;padding-bottom:85px}
.faq-page h1{font:400 clamp(36px,4vw,52px)/1.12 var(--serif);letter-spacing:-1.5px;color:#243c2c;margin:0}
.faq-page h1 em{color:#287146}

.legal-content{max-width:760px;width:calc(100% - 2 * var(--landing-gutter));margin:65px auto 90px;color:#344632}
.legal-content h1{margin-bottom:15px}
.legal-content h2{font:400 28px/1.25 var(--serif);letter-spacing:-.5px;margin:34px 0 12px;color:#243c2c}
.legal-content p,.legal-content li{font:15px/1.85 var(--sans);margin:14px 0}
.legal-content ul{padding-left:22px}.legal-content a{color:#267048;text-underline-offset:3px}
.legal-content .date,.legal-content>small{font:12px var(--sans);color:#7b8774}
@media(max-width:760px){.legal-content{margin-top:40px}.legal-content p,.legal-content li{font-size:14px}}

/* Each follow-up continues beneath its parent question. */
.note-follow-ups { margin: 12px 0 4px 25px; padding-left: 12px; border-left: 1px solid #dce6da; }
.note-follow-ups > span { font: 600 8px var(--sans); letter-spacing: 1px; color: #7e8e79; }
@media (max-width: 430px) { .note-follow-ups { margin-left: 15px; padding-left: 7px; } }

/* Nested note outlines mirror the learner’s own question-and-answer notes. */
.organized-topics .note-answer { margin: 12px 0 12px 25px; padding-left: 18px; color: #454b41; font: 12px/1.75 var(--sans); }
.organized-topics .note-answer li { padding-left: 3px; }
.note-follow-ups { margin: 10px 0 6px 25px; padding-left: 0; border-left: 0; }
.note-follow-ups details { margin-top: 12px; }
@media (max-width: 430px) { .note-follow-ups { margin-left: 18px; } }

/* Green identifies the original canvas source; deeper notes use black ink. */
.organized-topics .note-answer,
.organized-topics .note-questions summary { color: #20231f; }
.organized-topics .note-questions details > summary::before { border-color: #20231f; }
.organized-topics .note-questions > details:first-of-type > summary { color: #267048; }
.organized-topics .note-questions > details:first-of-type > summary::before { border-color: #219648; }

/* The nested learning notes sit above their separate canvas source. */
.organized-topics details > .note-outline { margin: 12px 0 16px 25px; }
.note-outline details { margin-top: 12px; }
.organized-topics .note-outline summary { font: 12px/1.6 var(--sans); color: #20231f; cursor: pointer; }
.organized-topics .note-outline details > summary::before { border-color: #20231f; }

/* Keep chapter endings close to the next full-width divider. */
#notes, #principles, #practice { padding-bottom: 36px; }
#how-it-works.scroll-explore { margin-bottom: 36px; }
@media (max-width: 760px) {
  #notes, #principles, #practice { padding-bottom: 28px; }
  #how-it-works.scroll-explore { margin-bottom: 28px; }
}

/* One bar on arrival, two edge-aligned capsules after scrolling. */
.nav-brand-group, .nav-action-group { display: contents; }
.nav-wrap { padding-inline: var(--landing-gutter); }
.site-nav.is-compact {
  max-width: var(--landing-content-width);
  width: 100%;
  scale: 1;
  padding: 0;
  gap: 16px;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  pointer-events: none;
}
.site-nav { transition: max-width .5s cubic-bezier(.22,1,.36,1), scale .5s, padding .35s, background .3s, box-shadow .3s; }
.site-nav.is-compact .nav-brand-group,
.site-nav.is-compact .nav-action-group {
  display: flex;
  align-items: center;
  padding: 6px;
  border: 1px solid #333735;
  border-radius: 999px;
  background: linear-gradient(180deg, #303331, #1c1e1d 42%, #111312);
  box-shadow: inset 0 1px 1px #ffffff38, 0 9px 20px -10px #18332b66;
  pointer-events: auto;
}
.site-nav.is-compact .nav-action-group { margin-left: auto; gap: 20px; }
.site-nav.is-compact .nav-links { margin-left: 8px; }
@media (max-width: 760px) {
  .site-nav.is-compact { gap: 8px; }
  .site-nav.is-compact .nav-action-group { gap: 6px; }
  .site-nav.is-compact .nav-links { display: none; }
  .site-nav.is-compact .nav-brand-group,
  .site-nav.is-compact .nav-action-group { padding: 5px; }
}
@media (prefers-reduced-motion: reduce) { .site-nav { transition: none; } }

/* Preserve the joined bar’s visual scale while anchoring each outer edge. */
.site-nav.is-compact .nav-brand-group { scale: .9; transform-origin: top left; }
.site-nav.is-compact .nav-action-group { scale: .9; transform-origin: top right; }
@media (max-width: 760px) {
  .site-nav.is-compact .nav-brand-group,
  .site-nav.is-compact .nav-action-group { scale: .95; }
}

/* A clean, eased separation without a stretched connecting shape. */
.site-nav { transition: max-width .65s cubic-bezier(.22,1,.36,1), scale .65s cubic-bezier(.22,1,.36,1), padding .45s, box-shadow .2s; }
@media (prefers-reduced-motion: reduce) { .site-nav { transition: none; } }

/* Match the download capsule when hovering or focusing a navigation link. */
.site-nav .nav-links a:hover,
.site-nav .nav-links a:focus-visible {
  background: #fff;
  color: #203b2a;
  border-color: #fff;
  box-shadow: 0 1px 2px #0002;
}
.mobile-menu a:hover,
.mobile-menu a:focus-visible {
  background: #fff;
  color: #203b2a;
}

/* Bring the final navigation link closer to the download action. */
@media (min-width: 761px) {
  .site-nav { column-gap: 8px; }
  .site-nav.is-compact .nav-action-group { gap: 8px; }
}

.hero-description { max-width: 620px; }
.pricing-credit-explainer { max-width: 540px; margin: 24px auto 0; font: 12px/1.7 var(--sans); color: #647859; }
.pricing-credit-explainer + .pricing-pack-detail { margin-top: 10px; }

/* The painted interlude explains the connected learning workflow. */
.garden-interlude { height:660px; }
.garden-motion { position:absolute; inset:0; z-index:-2; pointer-events:none; }
.garden-motion canvas { display:block; width:100%; height:100%; }
.garden-interlude::before { background:linear-gradient(90deg,#10271936,#112b286b,#10271936); }
.garden-interlude::after { z-index:2; }
.garden-story { position:relative; z-index:3; width:min(850px,100%); padding:65px 24px 55px; text-align:center; color:#fffbed; }
.garden-kicker { font:500 11px/1.5 system-ui; letter-spacing:2.3px; text-transform:uppercase; color:#f5f3d8; text-shadow:0 1px 8px #173529; }
.garden-story h2 { font:400 clamp(34px,4.3vw,60px)/1.1 var(--serif); letter-spacing:-1.4px; color:#fffbed; margin:22px 0 32px; text-shadow:0 3px 24px #0b281d80; }
.garden-story h2 em { font-weight:400; }
.garden-choices { display:flex; justify-content:center; gap:14px; }
.garden-choices button { display:flex; align-items:center; gap:9px; border:1px solid #fffa; border-radius:30px; padding:12px 18px; background:#163d3269; backdrop-filter:blur(12px); color:#fffbed; font:500 13px/1.3 system-ui; cursor:pointer; transition:background .25s,color .25s,transform .25s,box-shadow .25s; }
.garden-choices button span { color:#e5d79b; font-size:20px; line-height:12px; }
.garden-choices button:hover,.garden-choices button[aria-expanded=true] { background:#fffbed; color:#234b35; box-shadow:0 4px 24px #122e3030; transform:translateY(-2px); }
.garden-choices button[aria-expanded=true] span { color:#537543; }
.garden-choices button:focus-visible { outline:2px solid white; outline-offset:5px; }
.garden-detail { width:min(475px,100%); min-height:190px; margin:22px auto 0; padding:22px 28px; background:#fffdf2f0; border:1px solid #fff; border-radius:18px; box-shadow:0 10px 40px #102d2940; backdrop-filter:blur(14px); color:#233e30; }
.garden-detail-label { font:400 23px/1.2 var(--serif); }
.garden-interlude .garden-detail p { padding:0; margin:9px 0 13px; color:#43534a; font:400 14px/1.6 system-ui; letter-spacing:0; text-shadow:none; }
.garden-detail a { color:#216540; font:600 12px/1.4 system-ui; text-decoration:none; }
.garden-detail a:hover { text-decoration:underline; }
.garden-hint { display:block; margin-top:17px; font:11px/1.4 system-ui; color:#fffbedc9; }
@media(max-width:760px) {
 .garden-interlude { height:690px; }
 .garden-story { padding:65px 19px; }
 .garden-story h2 { font-size:clamp(31px,6.6vw,46px); letter-spacing:-.8px; }
 .garden-kicker { font-size:9px; letter-spacing:1.5px; }
 .garden-choices { gap:7px; flex-wrap:wrap; }
 .garden-choices button { padding:10px 12px; font-size:11px; gap:5px; }
 .garden-detail { padding:22px; min-height:190px; }
}
@media(prefers-reduced-motion:reduce) { .garden-choices button { transition:none; transform:none; } }
