:root{--ivory:#f8f6f0;--forest:#244735;--sage:#8da58e;--sand:#d9c7a2;--ink:#242824;--muted:#526057;--line:#d7ddd2;--wash:#e8ede4;color:var(--ink);background:var(--ivory);font:16px/1.55 system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0}a{color:inherit}img,svg{display:block;max-width:100%}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;color:var(--forest);line-height:1.07}h1{font-size:clamp(3.4rem,7vw,7rem);letter-spacing:-.07em}h1 em{font-weight:400}h2{font-size:clamp(2.45rem,5vw,4.65rem);letter-spacing:-.06em}h3{font-size:2rem;letter-spacing:-.035em}.wrap{width:min(1180px,calc(100% - 72px));margin-inline:auto}.skip{position:absolute;left:1rem;top:-5rem;background:white;padding:.7rem;z-index:2}.skip:focus{top:1rem}:focus-visible{outline:3px solid #a57937;outline-offset:4px}.top{border-bottom:1px solid var(--line)}.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font:1.32rem/1 Georgia,serif;color:var(--forest);white-space:nowrap}.brand small{display:block;font:700 .58rem/1.5 system-ui;letter-spacing:.23em;margin-top:.2rem}.nav nav{display:flex;gap:clamp(1rem,3vw,2.6rem);font-size:.9rem}.nav nav a{text-decoration:none}.nav nav a:hover,.footer a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;padding:.8rem 1.2rem;min-height:46px;border-radius:5px;color:var(--ivory);background:var(--forest);font-weight:650;text-decoration:none;font-size:.92rem}.button:hover{background:#183727}.button.compact{min-height:40px;padding:.5rem .85rem}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center;padding-block:clamp(3.25rem,8vw,7rem)}.kicker{color:var(--forest);text-transform:uppercase;font-size:.74rem;letter-spacing:.16em;font-weight:750;margin-bottom:1.1rem}.dot{display:inline-block;width:.57rem;height:.57rem;background:var(--sage);border-radius:50%;margin-right:.3rem}.intro{max-width:34rem;margin-top:1.5rem;font-size:1.12rem;color:var(--muted)}.actions{margin-top:1.8rem;display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.4rem}.text-link{font-size:.9rem;color:var(--forest);font-weight:700;text-underline-offset:4px}.art{background:var(--forest);border-radius:48% 48% 8px 8px;padding:1.2rem 1rem .9rem;box-shadow:0 0 0 1px var(--forest);min-width:0}.art svg{width:100%}.art-caption{display:flex;justify-content:space-between;gap:.4rem;color:#e0dcc8;border-top:1px solid #6d8774;padding:.75rem .3rem 0;font-size:.58rem;letter-spacing:.13em}.section{padding-block:clamp(3.4rem,8vw,6rem)}.section-lead{margin-top:.8rem;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:1.8rem}.card{border:1px solid var(--line);border-top:3px solid var(--sage);background:#fcfbf7;padding:clamp(1.25rem,3vw,2.4rem);border-radius:7px;display:flex;flex-direction:column;align-items:flex-start}.card>p:not(.kicker){margin-top:.65rem;color:var(--muted)}.card ul{list-style:none;padding:0;margin:1.3rem 0}.card li+li{margin-top:.3rem}.card li::before{content:"✓";margin-right:.6rem;color:var(--forest);font-weight:700}.price{width:100%;margin-top:auto;border-top:1px solid var(--line);padding:.8rem 0 1rem}.price strong{font:2.2rem Georgia,serif;color:var(--forest)}.price span,.note{color:var(--muted);font-size:.87rem}.note{margin-top:1rem}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.8rem,6vw,6rem)}.split h2+p{margin-top:1rem}.approach{background:var(--wash)}.steps{list-style:none;margin:0;padding:0}.steps li{display:grid;grid-template-columns:2rem 1fr;gap:1rem;border-top:1px solid #c4cec0;padding:1rem 0}.steps li>span{font-size:.78rem;color:var(--forest);font-weight:700}.steps h3{font-size:1.55rem}.steps p,.questions p{margin-top:.45rem;color:var(--muted)}.questions details{border-top:1px solid var(--line);padding:1rem 0}.questions details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:650;color:var(--forest)}.contact{background:var(--forest);color:var(--ivory)}.contact h2,.contact .kicker{color:var(--ivory)}.contact .button{margin-top:1rem}.light{background:var(--ivory);color:var(--forest)}.light:hover{background:var(--sand)}.footer{padding-block:1.3rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem}.quotes blockquote{margin:0;padding:1.5rem;border:1px solid var(--line);border-radius:5px;background:#fcfbf7}.quotes p{font:1.28rem/1.45 Georgia,serif;color:var(--forest)}.quotes cite{display:block;margin-top:.85rem;font-size:.83rem;color:var(--muted);font-style:normal}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.hero,.split{grid-template-columns:1fr}.hero{gap:2rem}.art{width:min(100%,420px);margin-inline:auto}.nav{flex-wrap:wrap;min-height:0;padding-block:.7rem;gap:.65rem}.nav nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:.6rem}.cards,.quotes{grid-template-columns:1fr}}

.quotes{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.quote{margin:0;padding:1.35rem 1.5rem;border:1px solid var(--line);border-radius:7px;background:#fcfbf7}
.quote.featured{grid-column:1/-1;background:var(--wash);border-left:3px solid var(--sage);padding:clamp(1.4rem,4vw,2.6rem)}
.quotes .quote blockquote{margin:0;padding:0;border:0;background:transparent}
.quotes .featured p{font-size:clamp(1.45rem,3vw,2.4rem);max-width:34ch}
.results{margin-top:2.1rem}
.results h3{font-size:1.55rem}
#faq{border-top:1px solid var(--line)}
@media(max-width:760px){
  .nav nav{flex-wrap:wrap;gap:.5rem 1rem}
  .quotes{grid-template-columns:1fr}
}

.quote img{width:100%;height:auto;border-radius:5px}
.quote.featured{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:1rem 1.5rem}
@media(max-width:760px){.quote.featured{grid-template-columns:1fr}}


.results h4{margin:1.25rem 0 .65rem;color:var(--forest);font-size:.95rem}
.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.result-chats{grid-template-columns:repeat(2,minmax(0,1fr))}
.result{margin:0;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:6px;background:#fcfbf7}
.result figcaption{display:grid;gap:.22rem;margin-bottom:.75rem;color:var(--muted);font-size:.8rem}
.result figcaption strong{font-size:.98rem;color:var(--forest)}
.result img{width:auto;max-width:100%;height:auto;border-radius:4px}
.result .assessment-page{width:100%;height:auto}
.result-chats img{width:100%}
.teacher-note{margin-top:.7rem;font:1.1rem/1.4 Georgia,serif;color:var(--forest)}
.teacher-note span,.secondary-mark{display:block;margin-top:.25rem;font:.8rem/1.4 system-ui,sans-serif;color:var(--muted)}
.secondary-mark{margin-top:.6rem}
@media(max-width:880px){.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.result-grid{grid-template-columns:1fr}}

.lesson-summary{padding-block:.15rem}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border:1px solid var(--line);border-radius:7px;background:#fcfbf7}
.facts div{padding:1rem 1.3rem}
.facts div+div{border-left:1px solid var(--line)}
.facts dt{color:var(--muted);font-size:.78rem}
.facts dd{margin:.25rem 0 0;color:var(--forest);font:1.2rem/1.2 Georgia,serif}
.result figcaption .school{color:var(--muted)}
@media(max-width:580px){.facts{grid-template-columns:1fr}.facts div+div{border-left:0;border-top:1px solid var(--line)}}
