@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#203e3c;--teal:#176c69;--dark:#174f4d;--paper:#faf8f2;--sand:#eee7da;--muted:#536662;--line:#d6ddd6;--light:#e7efea}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:17px;line-height:1.7}a{color:inherit;text-underline-offset:5px}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}:focus-visible{outline:3px solid #b16b21;outline-offset:5px}.skip{position:absolute;left:15px;top:-100px;background:white;padding:10px;z-index:100}.skip:focus{top:5px}.wrap{width:min(1180px,calc(100% - 80px));margin:auto}.topbar{padding:22px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:15px;text-decoration:none}.brand img{width:72px;height:72px;object-fit:contain}.brand strong{display:block;font-size:20px;line-height:1.25;letter-spacing:.01em;font-weight:500}.brand small{display:block;font-size:11px;letter-spacing:.17em;text-transform:uppercase;margin-top:5px}.top-note{font-size:12px;letter-spacing:.08em;color:var(--muted)}.nav-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}nav{display:flex;justify-content:space-between;gap:16px;padding:14px 0}nav a{font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap;position:relative}nav a[aria-current=page]{color:var(--teal)}nav a[aria-current=page]:after{content:'';height:2px;background:var(--teal);position:absolute;bottom:-15px;left:0;right:0}.menu-toggle{display:none;border:1px solid var(--teal);padding:8px 14px;background:transparent;color:var(--ink)}.hero{display:grid;grid-template-columns:1.2fr .85fr;gap:65px;align-items:center;padding-top:66px;padding-bottom:65px}.hero h1{font-size:clamp(58px,6vw,84px);line-height:1.02;letter-spacing:-.04em;margin:25px 0}.hero h1 em{color:var(--teal);font-weight:400}.hero-copy>p:not(.eyebrow){max-width:530px}.hero-image{position:relative;margin:0;padding:0 20px 20px 0}.hero-image:after{content:'';position:absolute;inset:25px 0 0 25px;background:var(--sand);z-index:-1;border-radius:150px 10px 10px 10px}.hero-image img{height:480px;width:100%;object-fit:cover;object-position:50% 45%;border-radius:160px 160px 4px 4px}.hero-image figcaption{position:absolute;left:-25px;bottom:44px;background:var(--dark);color:#fff;padding:17px 23px;font-size:12px;letter-spacing:.05em}.eyebrow,.number{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--teal);line-height:1.6}.eyebrow{margin:0 0 18px}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400}h1{font-size:clamp(44px,5.7vw,76px);line-height:1.08;letter-spacing:-.025em;margin:18px 0 24px}h2{font-size:clamp(32px,3.5vw,47px);line-height:1.15;letter-spacing:-.02em;margin:0 0 24px}h3{font-size:29px;line-height:1.2;margin:16px 0}.lead,.large{font-size:21px;line-height:1.6}.lead{color:#435c56;max-width:760px}p{margin:0 0 20px}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid var(--teal);background:var(--teal);color:white;text-decoration:none;padding:13px 20px;font-size:13px;font-weight:600;line-height:1.5;min-height:48px;border-radius:2px}.button:hover{background:var(--dark);border-color:var(--dark)}.text-link{display:inline-block;font-size:14px;font-weight:600;color:var(--teal);text-decoration:none;border-bottom:1px solid #a7b7ad;padding:4px 0}.text-link:hover{border-color:var(--teal)}.experience{background:var(--light);padding:21px 0;font-size:12px;letter-spacing:.035em}.experience .wrap{display:flex;gap:20px;justify-content:space-between;align-items:center}.experience span{color:var(--teal)}.section{padding-top:80px;padding-bottom:80px}.section-heading{max-width:720px;margin-bottom:40px}.section-heading p:last-child{max-width:620px}.path-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.path{display:block;padding:34px 32px 32px 0;text-decoration:none;border-bottom:1px solid var(--line)}.path:nth-child(even){padding-left:38px;border-left:1px solid var(--line)}.path:nth-child(odd){padding-right:38px}.path p{font-size:16px;max-width:460px;color:var(--muted)}.path:hover h3{color:var(--teal)}.tint{background:var(--light)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.schedule-summary article{padding:0 0 22px;border-bottom:1px solid var(--line);margin-bottom:24px}.schedule-summary span{font-size:11px;font-weight:600;color:var(--teal);letter-spacing:.09em}.schedule-summary h3{margin:12px 0 4px}.schedule-summary p{margin:0}.schedule-summary small,.fine{font-size:13px;color:var(--muted);line-height:1.65}.cta{background:var(--dark);color:white;padding:48px 55px;display:flex;justify-content:space-between;align-items:center;gap:45px;margin-bottom:80px}.cta h2{font-size:36px;margin-bottom:14px}.cta .eyebrow{color:#c6dfd7}.cta p{max-width:630px;margin-bottom:0}.cta .eyebrow{margin-bottom:15px}.button.light{background:var(--paper);color:var(--dark);border-color:var(--paper);flex-shrink:0}.intro{padding-top:65px;padding-bottom:52px}.intro .lead{margin-bottom:0}.top-line{border-top:1px solid var(--line)}.steps{margin:0;padding-left:30px;counter-reset:step}.steps li{padding:0 0 20px 10px}.steps li::marker{color:var(--teal)}.steps h3{font-size:26px;margin:0 0 8px}.steps p{font-size:15px;color:var(--muted);margin:0}.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:80px}.narrow{max-width:800px}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:36px 0 24px}.pricing article{border:1px solid var(--line);padding:30px 25px;display:flex;flex-direction:column;background:#fffdfa}.pricing article .button{margin-top:auto}.pricing article>p:not(.price):not(.eyebrow){font-size:15px}.pricing h3{font-size:28px}.pricing .featured{background:var(--light);border-color:var(--teal)}.pricing .price{font-family:Georgia,serif;font-size:48px;line-height:1.15;margin:15px 0 10px}.price span{font-family:Arial,sans-serif;font-size:15px}.price-detail{font-weight:600;color:var(--teal)}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 60px}.topic-grid p{font-size:16px}.course-row{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding:35px 0;border-top:1px solid var(--line)}.course-row h3{font-size:33px}.course-info{background:var(--light);padding:25px 30px;font-size:15px}.course-info strong{font-size:18px}.course-info .button{font-size:12px}.notice{background:var(--light);border-left:3px solid var(--teal);padding:23px 28px;margin-bottom:40px}.notice p{margin-bottom:0}.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.learning-grid h2{font-size:29px;margin-top:22px}.learning-grid p{font-size:15px}.badge{display:block;color:var(--teal);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}.course-art{height:220px;display:flex;flex-direction:column;justify-content:center;padding:30px;background:var(--light);font:42px/1.05 Georgia,serif}.course-art em{font-size:33px}.course-art.dark{background:var(--dark);color:white}.course-art.sand{background:var(--sand)}.stack-links{display:flex;flex-direction:column;align-items:flex-start;gap:18px;justify-content:center}.talks article{display:flex;gap:35px;border-top:1px solid #bfcfc5;padding:30px 0}.talks article>span{font-size:12px;margin-top:20px;color:var(--teal)}.talks h3{margin-top:10px;max-width:820px}.talks p{max-width:840px;margin-bottom:0}.book-row{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.book-row figure{margin:0;background:var(--sand);padding:30px;display:flex;justify-content:center}.book-row img{max-height:480px;object-fit:contain}.book-secondary{border-top:1px solid var(--line);margin-top:30px;padding-top:10px}.book-row.reverse{grid-template-columns:1.15fr .85fr}.book-row.reverse figure{order:2}.about-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start}.about-photo{border-radius:140px 140px 0 0}.prose p{margin-bottom:25px}.prose h2{font-size:40px}.signature{font-family:Georgia,serif;color:var(--teal);font-style:italic;font-size:23px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}.contact-direct{margin-top:45px}.contact-direct>a{overflow-wrap:anywhere;font-size:15px;color:var(--teal)}.contact-direct p:last-child{margin-top:20px}form{background:var(--light);padding:35px}form h2{font-size:32px}label{display:block;font-size:14px;font-weight:600;margin:18px 0 6px}input,select,textarea{display:block;background:#fffdfa;color:var(--ink);border:1px solid #9eafa5;border-radius:2px;padding:12px;width:100%;min-width:0;font-size:16px}textarea{resize:vertical}form .fine{margin-top:15px}.secondary{background:transparent;color:var(--teal)}#email-fallback{margin-top:28px}#copy-status{display:block;font-size:13px;margin-top:10px}footer{border-top:1px solid var(--line);padding:45px 0 24px}footer .foot-top{display:flex;justify-content:space-between;gap:30px}footer strong{font-family:Georgia,serif;font-size:23px;font-weight:400}footer p{font-size:13px;color:var(--muted);margin-top:8px}footer .foot-links{display:flex;gap:25px;align-items:flex-start;font-size:13px}.copyright{font-size:11px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px;color:var(--muted)}[hidden]{display:none!important}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}nav{gap:11px}nav a{font-size:10px}.hero{gap:35px}.hero h1{font-size:68px}.split{gap:45px}.pricing{gap:14px}.pricing article{padding:24px 18px}.book-row{gap:45px}.contact-layout{gap:40px}}
@media(max-width:760px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.topbar{padding:15px 0}.brand{gap:10px}.brand img{width:50px;height:50px}.brand strong{font-size:16px}.brand small{font-size:8px}.top-note{display:none}.menu-toggle{display:block;font-size:12px}.nav-wrap{border-top:0}nav{display:none;flex-direction:column;padding:8px 0 22px;gap:0}nav.open{display:flex}nav a{font-size:14px;padding:10px 0;white-space:normal}nav a[aria-current=page]:after{display:none}.hero{grid-template-columns:1fr;gap:35px;padding-top:40px;padding-bottom:35px}.hero h1{font-size:62px}.hero .lead{font-size:19px}.hero-image{width:min(400px,100%);margin:auto;padding-left:10px}.hero-image img{height:420px}.hero-image figcaption{left:0;font-size:11px}.experience .wrap{flex-wrap:wrap;gap:8px 20px;justify-content:center;text-align:center}.experience span{display:none}.experience{font-size:11px}.section{padding:48px 0}.section-heading{margin-bottom:25px}.path-grid,.split,.two-cards,.pricing,.topic-grid,.learning-grid,.book-row,.book-row.reverse,.about-layout,.contact-layout,.course-row{grid-template-columns:1fr;gap:30px}.path:nth-child(n){padding:25px 0;border-left:0}.path p{max-width:none}.cta{padding:30px 25px;flex-direction:column;align-items:flex-start;gap:25px;margin-bottom:45px}.cta h2{font-size:32px}.intro{padding-top:42px;padding-bottom:35px}.intro h1{font-size:50px}.intro .lead{font-size:19px}.steps{padding-left:25px}.pricing article{padding:28px}.pricing .price{font-size:45px}.pricing h3{margin-top:0}.course-row{padding:30px 0}.course-row h3{font-size:29px}.course-info{padding:25px}.learning-grid{gap:40px}.course-art{height:200px}.book-row.reverse figure{order:0}.book-row figure{padding:25px}.book-row img{max-height:400px}.about-photo{width:85%;max-width:360px;margin:auto}.prose h2{font-size:34px}.talks article{gap:20px}.talks h3{font-size:28px}form{padding:25px 20px}footer .foot-top{flex-direction:column}footer .foot-links{flex-wrap:wrap;gap:12px 25px}.lead,.large{font-size:19px}.actions{gap:18px}.button{max-width:100%;text-align:center}.contact-direct{margin-top:25px}h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}