:root{--paper: #efe6d4;--paper-2: #f7f1e4;--ink: #1c1712;--ink-soft: #4a433a;--rule: #d7c8ab;--thread: #9c3a28;--thread-dark: #6e281c;--sage: #3d4a3c;--elev: #fffaf1;--shadow: rgba(28, 23, 18, .08);--hero-amber: #ee9324;--hero-amber-deep: #d05614;--hero-magenta: #d43d96;--hero-magenta-dust: #a82a76;--hero-studio: #2e1422;--font-serif: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-sans: "Figtree", "Segoe UI", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:1.55;background:repeating-linear-gradient(90deg,transparent 0,transparent 31px,rgba(156,58,40,.05) 31px,rgba(156,58,40,.05) 32px),repeating-linear-gradient(0deg,transparent 0,transparent 31px,rgba(61,74,60,.05) 31px,rgba(61,74,60,.05) 32px),var(--paper);min-height:100%}#root{min-height:100vh}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,.brand{font-family:var(--font-serif);font-optical-sizing:auto;font-weight:600;letter-spacing:-.02em;line-height:1.15}h1{font-size:clamp(2.4rem,5vw,4.4rem);margin:0 0 .4em}h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:0 0 .5em}h3{font-size:1.2rem;margin:0 0 .4em}p{margin:0 0 1em;color:var(--ink-soft)}.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:transparent}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}.brand{text-decoration:none;font-size:1.15rem;display:flex;flex-direction:column;line-height:1.1}.brand small{font-family:var(--font-sans);font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--thread)}nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}nav a,nav button.linkish{text-decoration:none;font-size:.92rem;font-weight:500;color:var(--ink-soft);background:none;border:0;padding:0;cursor:pointer;font-family:inherit}nav a:hover,nav button.linkish:hover{color:var(--ink)}nav a.btn{color:var(--paper-2)}nav a.btn:hover{color:var(--paper-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid var(--ink);background:var(--ink);color:var(--paper-2);font-family:inherit;font-weight:600;font-size:.95rem;padding:.75rem 1.15rem;cursor:pointer;border-radius:2px}.btn:hover{background:var(--thread-dark);border-color:var(--thread-dark)}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--paper-2)}.btn.wide{width:100%}.hero-band{position:relative;isolation:isolate;overflow:hidden;margin-top:-68px;padding-top:68px;background:repeating-linear-gradient(90deg,transparent 0,transparent 31px,rgba(208,86,20,.075) 31px,rgba(208,86,20,.075) 32px),repeating-linear-gradient(0deg,transparent 0,transparent 31px,rgba(168,42,118,.07) 31px,rgba(168,42,118,.07) 32px),radial-gradient(ellipse 80% 78% at 96% 22%,color-mix(in srgb,var(--hero-magenta) 70%,transparent) 0%,color-mix(in srgb,var(--hero-magenta-dust) 38%,transparent) 40%,transparent 70%),radial-gradient(ellipse 88% 74% at 4% 90%,color-mix(in srgb,var(--hero-amber) 72%,transparent) 0%,color-mix(in srgb,var(--hero-amber-deep) 34%,transparent) 42%,transparent 72%),radial-gradient(ellipse 62% 54% at 26% 40%,color-mix(in srgb,#f0ae5c 62%,transparent) 0%,transparent 64%),radial-gradient(ellipse 44% 50% at 0% 0%,color-mix(in srgb,var(--hero-studio) 10%,transparent) 0%,transparent 58%),linear-gradient(118deg,#f0b86e,#ea9c4a 28%,#e89478 52%,#e078ae 78%,#d66aa6);border-bottom:1px solid color-mix(in srgb,var(--hero-magenta-dust) 40%,var(--rule))}.hero-band:after{content:"";position:absolute;inset:auto 0 0;height:88px;background:linear-gradient(180deg,transparent,var(--paper));pointer-events:none;z-index:0}.hero-band .wrap{position:relative;z-index:1}.hero{padding:72px 0 64px;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:end}.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--thread);margin-bottom:14px}.hero p.lead{font-size:1.15rem;max-width:38em}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:28px 0 0;background:transparent;border:none}.stat{background:transparent;padding:16px 18px 16px 0}.stat+.stat{padding-left:18px}.stat:not(:last-child){border-right:1px solid color-mix(in srgb,var(--rule) 72%,transparent)}.stat b{display:block;font-family:var(--font-serif);font-size:1.7rem;font-weight:600}.stat span{color:var(--ink-soft);font-size:.85rem}.price-nowrap{white-space:nowrap}.portrait-card{background:var(--elev);border:1px solid var(--rule);padding:12px 12px 18px;box-shadow:12px 16px 0 var(--shadow)}.hero .portrait-card{background:none;border:0;padding:0;box-shadow:none}.portrait-frame{position:relative;aspect-ratio:4 / 5;background:var(--sage);overflow:hidden;max-width:100%}.hero .portrait-card .portrait-frame{overflow:hidden}.portrait-frame img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:saturate(.92) contrast(1.04)}.portrait-hero img{object-position:58% 12%}.portrait-teacher{aspect-ratio:3 / 4}.portrait-teacher img{object-position:center 20%}.portrait-apply img{object-position:center 14%}.portrait-card figcaption{margin-top:12px;padding:0 6px}.hero .portrait-card figcaption{padding:0}.portrait-card strong{display:block;font-family:var(--font-serif);font-size:1.35rem}.portrait-fallback{position:absolute;inset:0;z-index:0;display:grid;place-items:center;background:var(--sage);color:var(--paper);font-family:var(--font-serif);font-size:4rem}.portrait-frame:has(img) .portrait-fallback{display:none}section{padding:64px 0}section.alt{background:color-mix(in srgb,var(--paper-2) 80%,white);border-block:1px solid var(--rule)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--elev);border:1px solid var(--rule);padding:22px}.card.locked .lock{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--thread);font-weight:600}.module-code{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);font-weight:600}.pipeline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{border:1px solid var(--ink);padding:8px 12px;font-size:.88rem;background:var(--elev)}.chip.clo{background:var(--ink);color:var(--paper)}.arrow{color:var(--ink-soft)}.person{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);column-gap:56px;row-gap:28px;align-items:start}.person>*{min-width:0}.person .portrait-card{padding:8px;width:100%;max-width:320px;overflow:hidden;position:relative;z-index:0}.list{margin:0;padding-left:1.1em;color:var(--ink-soft)}.list li{margin:.4em 0}form{display:grid;gap:12px}label{display:grid;gap:6px;font-size:.88rem;font-weight:600}input,textarea{font:inherit;padding:.7rem .8rem;border:1px solid var(--rule);background:var(--elev);color:var(--ink)}textarea{min-height:110px;resize:vertical}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--ink-soft);font-size:.9rem}.check input{margin-top:4px}.error{color:var(--thread-dark);font-size:.92rem}.ok{color:var(--sage)}.narrow{width:min(480px,100%);margin:48px auto;background:var(--elev);border:1px solid var(--rule);padding:32px}.apply-page{padding:48px 0 72px}.apply-page .narrow{width:auto;margin:0}.apply-page .portrait-card{align-self:start}.program-mod{border:1px solid var(--rule);background:var(--elev);margin:0 0 14px}.program-mod summary{cursor:pointer;padding:16px 18px;list-style:none;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:baseline}.program-mod summary::-webkit-details-marker{display:none}.lesson{padding:0 18px 16px;border-top:1px dashed var(--rule)}.lesson h3{margin-top:14px}.muted{color:var(--ink-soft);font-size:.92rem}.legal{color:var(--ink-soft);font-size:.95rem}.legal h1{font-size:2rem}.site-footer{border-top:1px solid var(--rule);padding:28px 0 40px;font-size:.82rem;color:var(--ink-soft)}.footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.footer-links{display:flex;gap:16px}.footer-links a{color:var(--ink-soft)}.cta-band{background:var(--ink);color:var(--paper);padding:56px 0}.cta-band h2,.cta-band h3{color:var(--paper)}.cta-band p{color:color-mix(in srgb,var(--paper) 78%,#8a8070)}.cta-band .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}.cta-band form label{color:var(--paper)}.cta-band form{margin-top:24px}.cta-band .portrait-card{align-self:start}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}.price-grid .card b{display:block;font-family:var(--font-serif);font-size:clamp(1.7rem,2.8vw,2.4rem);font-weight:600;line-height:1.15;letter-spacing:-.03em;color:var(--ink);margin:0 0 .45em}.price-card b{color:var(--thread-dark);font-size:clamp(2.2rem,4vw,3.1rem)}.price-grid .card p{margin:0}.reviews{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}.review-card{display:flex;flex-direction:column;gap:16px}.review-card blockquote{margin:0}.review-card blockquote:before{content:"«";display:block;font-family:var(--font-serif);font-size:2.4rem;line-height:.7;color:var(--thread);margin-bottom:10px}.review-card blockquote p{margin:0;font-family:var(--font-serif);font-size:1.05rem;line-height:1.45;color:var(--ink)}.review-card footer{margin-top:auto;display:flex;flex-direction:column;gap:2px;padding-top:4px;border-top:1px solid var(--rule)}.review-card cite{font-style:normal;font-weight:600;font-family:var(--font-serif);font-size:1.1rem}.faq-band{background:var(--ink);color:var(--paper);padding:72px 0 80px}.faq-band .eyebrow{color:color-mix(in srgb,var(--paper) 72%,var(--thread))}.faq-band h2{color:var(--paper);margin-bottom:1.35em}.faq-list{display:grid;gap:14px;max-width:760px}.faq-card{background:#fff;color:var(--ink);border-radius:22px;padding:20px 18px 18px 24px;box-shadow:0 10px 28px #0000002e}.faq-card h3{margin:0;font-size:inherit;font-weight:inherit;font-family:inherit;letter-spacing:0;line-height:inherit}.faq-head{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.faq-head:focus-visible{outline:2px solid var(--thread);outline-offset:4px;border-radius:8px}.faq-q{font-family:var(--font-serif);font-weight:600;font-size:1.18rem;line-height:1.3;letter-spacing:-.02em}.faq-x{flex-shrink:0;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--ink);color:var(--ink);display:grid;place-items:center;background:#fff;transition:transform .2s ease,background .2s ease,color .2s ease}.faq-head:hover .faq-x{background:var(--ink);color:#fff}.faq-card:not(.is-open) .faq-x{transform:rotate(45deg)}.faq-a{padding:10px 52px 4px 0}.faq-a p{margin:0;color:#6a635c;font-size:.95rem;line-height:1.55}.faq-a a{color:var(--thread-dark);text-underline-offset:2px}.faq-band+.cta-band{border-top:1px solid color-mix(in srgb,var(--paper) 14%,transparent)}@media(prefers-reduced-motion:reduce){.faq-x{transition:none}}.notice{background:color-mix(in srgb,var(--sage) 12%,var(--paper));border:1px solid color-mix(in srgb,var(--sage) 35%,var(--rule));padding:14px 16px;font-size:.95rem}@media(max-width:860px){.hero,.person,.grid-2,.grid-3,.stats,.price-grid,.reviews{grid-template-columns:1fr}.stat:not(:last-child){border-right:none;border-bottom:1px solid color-mix(in srgb,var(--rule) 72%,transparent)}.stat,.stat+.stat{padding-left:0;padding-right:0}nav .hide-sm{display:none}.hero{padding-top:36px}.cta-band .portrait-card,.apply-page .portrait-card{max-width:420px;width:100%;margin-inline:auto}}
