@font-face{font-family:Advercase;src:url('fonts/Advercase-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Crimson Text';src:url('fonts/CrimsonText-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Crimson Text';src:url('fonts/CrimsonText-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{--ink:#3e0000;--paper:#fff;--line:#3e000030;--muted:#704848;--heading:clamp(2.4rem,4.4vw,4.8rem);font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}h1,h2,h3,p,figure{margin:0}a{color:inherit}img{max-width:100%}p,li{font-family:'Crimson Text',Georgia,serif;font-size:1.25rem;line-height:1.5}p+p{margin-top:1rem}h1,h2,h3,.serif,.level{font-family:Advercase,Georgia,serif;font-weight:400;font-synthesis:none;letter-spacing:.015em;line-height:1.08}h1{font-size:clamp(2.6rem,5.3vw,6.1rem)}h1 span{display:block}h2{font-size:var(--heading)}h3{font-size:clamp(2rem,3.2vw,3.5rem)}em{font-style:normal;font-weight:400}
.header{margin:0 4.5%;padding:32px 0;display:flex;justify-content:space-between;align-items:center;gap:30px}.wordmark{text-decoration:none;font-size:.875rem;letter-spacing:.07em;text-transform:uppercase}.masthead span{display:block;font-size:.75rem;letter-spacing:.08em;margin-top:5px}.header nav{display:flex;gap:26px;flex-wrap:wrap;font-size:.875rem}.header nav a{text-decoration:none}.header nav a:hover{text-decoration:underline;text-underline-offset:6px}
.section{padding:70px 4.5% 75px}.eyebrow{display:flex;justify-content:space-between;gap:30px;text-transform:uppercase;letter-spacing:.12em;font-size:.8125rem}.spread{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center;margin-top:65px;margin-bottom:55px}.spread>*{min-width:0}.spread-copy>p,.hero-copy>p,.about-copy>p{max-width:470px}.spread-copy h2,.about-copy h2{margin-bottom:35px}.portrait,.manifesto-photo{margin:0;width:100%;min-width:0}.portrait img,.manifesto-photo img{display:block;width:100%;height:auto;filter:grayscale(1)}
.hero{padding-top:25px}.hero .spread{margin-top:45px}.hero-finish{font-size:clamp(2rem,3.1vw,3.4rem);margin-top:22px}.intro{margin-top:30px;font-size:1.4rem}.body-width{margin-top:18px}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:13px 24px;min-height:48px;font:inherit;font-size:.9375rem;text-decoration:none}.button:hover{background:#601919}.text-link{font-size:.9375rem;text-underline-offset:7px;text-decoration-thickness:1px;display:inline-block;padding:10px 0}.section-foot{display:flex;justify-content:space-between;gap:25px;font-size:.8125rem;border-top:1px solid var(--line);padding-top:18px}.section-foot a{text-underline-offset:5px}
.about-copy{grid-column:1;grid-row:1}.about-photo{grid-column:2;grid-row:1}.large-copy,.pull-quote{font-size:1.45rem;line-height:1.4}.pull-quote{margin:22px 0}.rule{width:65px;border-top:1px solid var(--line);margin:30px 0}.brand-strip{padding:28px 0 40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.brand-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7%;align-items:center;margin-top:35px;isolation:isolate;position:relative}.brand-logos img{width:100%;height:55px;object-fit:contain;filter:grayscale(1)}.approach{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center;padding-top:70px}.approach p{max-width:510px}
.manifesto-body{max-width:470px}.closing-line{font-size:clamp(1.8rem,2.6vw,2.8rem);margin-top:25px}.services-heading>div>p{margin-top:30px;font-size:1.4rem}.service-row{display:grid;grid-template-columns:55px 1fr 1.1fr;gap:4%;padding:45px 0;border-top:1px solid var(--line);align-items:start}.number{font-size:.875rem;padding-top:10px}.service-row p{max-width:490px}.service-row .text-link{margin-top:18px}
.course-heading .spread-copy>div{max-width:470px}.course-heading .spread-copy>div>p:first-child{font-size:1.45rem}.muted{color:var(--muted);font-size:1.125rem}.curriculum{max-width:1050px;margin:45px auto 0}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{display:grid;grid-template-columns:90px 1fr 30px;gap:25px;align-items:center;padding:24px 0;list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.level{font-size:2.8rem}summary>span:nth-child(2){font-family:'Crimson Text',Georgia,serif;font-size:1.45rem}summary small{display:block;font-family:Arial,sans-serif;font-size:.8125rem;color:var(--muted);margin-top:4px}.plus{font-size:1.8rem}details[open] .plus{transform:rotate(45deg)}.lesson-body{padding:0 35px 30px 115px;display:grid;grid-template-columns:1fr 1fr;gap:35px}.lesson-body ol{margin:0;padding-left:22px}.course-bottom{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center;margin-top:65px;padding-top:35px}.course-bottom p{max-width:490px}.status{display:inline-block;font-size:.875rem;margin-top:22px;border-bottom:1px solid var(--ink);padding-bottom:6px}
.booking-panel{margin-top:35px;border-top:1px solid var(--line);padding-top:25px;max-width:470px}.booking-panel label{display:block;font-size:.875rem;margin-bottom:12px}select{width:100%;font:inherit;font-size:1rem;padding:14px 12px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:0}#booking-unavailable{margin-top:28px}#booking-unavailable .serif{font-size:2rem}#booking-unavailable p+p{font-size:1.125rem;color:var(--muted)}#booking-link{margin-top:25px}footer{margin:0 4.5%;padding:28px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;font-size:.8125rem}.skip{position:absolute;top:-100px;left:10px;padding:12px;background:#fff;z-index:10}.skip:focus{top:10px}:focus-visible{outline:2px solid var(--ink);outline-offset:5px}[hidden]{display:none!important}
@media(min-width:1800px){.section{padding-left:max(4.5%,calc((100vw - 1640px)/2));padding-right:max(4.5%,calc((100vw - 1640px)/2))}}
@media(max-width:950px){.header{align-items:start;gap:22px}.header nav{gap:14px}.spread,.approach,.course-bottom{gap:5%}.section{padding-top:45px;padding-bottom:50px}.service-row{grid-template-columns:30px 1fr 1.1fr;gap:3%}.lesson-body{grid-template-columns:1fr;gap:18px}}
@media(max-width:650px){:root{--heading:clamp(2.3rem,8vw,3rem)}.header{margin:0 6%;padding:25px 0;flex-direction:column;gap:20px}.header nav{gap:12px 22px}.section{padding:35px 6% 45px}.eyebrow{font-size:.75rem;gap:16px}.eyebrow>span:last-child{text-align:right}.spread{grid-template-columns:1fr;gap:32px;margin-top:35px;margin-bottom:30px}h1{font-size:clamp(2.6rem,9.8vw,3.7rem)}h3{font-size:2.1rem}.hero-finish{font-size:2rem}.about-copy,.about-photo{grid-column:auto;grid-row:auto}.spread-copy h2,.about-copy h2{margin-bottom:24px}.portrait,.manifesto-photo{width:100%;max-width:500px;justify-self:center}.brand-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.brand-logos img{height:42px}.approach,.course-bottom{grid-template-columns:1fr;gap:26px;padding-top:35px}.service-row{grid-template-columns:28px 1fr;gap:15px;padding:30px 0}.service-row>div{grid-column:2}.service-row h3 br{display:none}summary{grid-template-columns:50px 1fr 22px;gap:15px}.level{font-size:2.2rem}summary>span:nth-child(2){font-size:1.25rem}.lesson-body{padding:0 0 25px 65px}.course-bottom{margin-top:30px}.section-foot{flex-direction:column;gap:10px}footer{margin:0 6%;flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* The closing invitation uses typography so every portrait appears only once. */
.booking-grid.spread{display:block;max-width:1000px;margin-left:auto;margin-right:auto}
.booking-grid>.spread-copy{display:grid;grid-template-columns:1fr 1fr;gap:25px 8%;align-items:start}
.booking-grid h2{grid-column:1;grid-row:1}
.booking-grid>.spread-copy>p{grid-column:1;grid-row:2}
.booking-grid .booking-panel{grid-column:2;grid-row:1/3;margin-top:0}
@media(max-width:650px){.booking-grid>.spread-copy{display:block}.booking-grid .booking-panel{margin-top:32px}}

/* About Anna: personal story in the portrait spread, professional detail below. */
.about-copy{max-width:510px}
.about-copy h2{margin-bottom:32px}
.about-copy .large-copy{font-size:clamp(1.3rem,1.7vw,1.55rem);line-height:1.5}
.anna-perspective{margin:32px 0;padding:0 0 0 22px;border-left:1px solid var(--line)}
.anna-perspective p{font-size:clamp(1.35rem,1.9vw,1.7rem);line-height:1.4}
.anna-perspective p+p{margin-top:15px}
.anna-perspective em{font-weight:600;font-style:normal}
.about-copy>p:last-child{max-width:405px}
.anna-experience{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:start;padding:45px 0 55px;border-top:1px solid var(--line)}
.anna-experience .eyebrow{margin-bottom:24px}
.anna-experience h3{font-size:clamp(2rem,3vw,3.2rem);line-height:1.15}
.experience-copy{max-width:510px}
.about .brand-strip{border-top:0;padding-top:8px}
@media(max-width:650px){.anna-perspective{margin:26px 0;padding-left:18px}.anna-experience{grid-template-columns:1fr;gap:28px;padding:32px 0 38px}.anna-experience h3 br{display:none}.anna-experience h3{max-width:330px}.about-copy h2{margin-bottom:25px}}

/* One consistent size for all body copy; display lines remain heading treatments. */
p:not(.serif),.lesson-body li,.about-copy .large-copy,.anna-perspective p,.services-heading>div>p,.course-heading .spread-copy>div>p:first-child,#booking-unavailable p+p{font-size:1.25rem;line-height:1.5}

.booking-panel>.serif{font-size:2rem;margin-bottom:15px}#show-calendar{margin-top:24px}.booking-direct{margin-top:18px}.booking-direct a{text-underline-offset:5px}#booking-calendar{margin-top:35px;scroll-margin-top:25px}#calendly-embed{width:100%;min-width:0;height:780px}#calendar-status{font-size:1.25rem;margin-bottom:20px}@media(max-width:650px){#calendly-embed{height:900px}}

/* Align the two booking headings at the top of their columns. */
.booking-grid .booking-panel{border-top:0;padding-top:0;margin-top:0}
.booking-title{font-size:2rem;font-weight:400;line-height:1.08;letter-spacing:.015em;margin:0 0 20px}
@media(max-width:650px){.booking-grid .booking-panel{margin-top:32px}}

/* Keep the introduction together, independent of the booking column height. */
.booking-intro{grid-column:1;grid-row:1}
.booking-grid .booking-intro h2{margin-bottom:18px}
.booking-intro>p{max-width:470px;margin-top:0}
.booking-grid .booking-panel{grid-row:1}

/* Keep the opening statement and its continuation close together. */
.hero-copy .hero-finish{margin-top:8px}

.module-buy{grid-column:1 / -1;justify-self:start}

/* Audit: readable headings and reliable touch targets without hiding overflow. */
.header nav a{display:inline-flex;align-items:center;min-height:44px}
.service-row>*{min-width:0}
.booking-panel .booking-note{font-family:Arial,Helvetica,sans-serif;font-size:.8125rem;line-height:1.6;color:var(--muted);margin-top:16px}
#booking-calendar[aria-busy="true"] #calendar-status{padding:18px 22px;border-left:2px solid var(--ink);background:#faf7f7}
@media(max-width:650px){.header nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:2px 20px}.header nav a{padding:8px 0}.eyebrow{flex-direction:column;gap:7px}.eyebrow>span:last-child{text-align:left}.service-row h3,.anna-experience h3{overflow-wrap:break-word}.brand-logos{gap:30px 20px}}

/* Contact information and policy pages retain the editorial type and spacing. */
.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:12px}
.contact-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:5px;overflow-wrap:anywhere;max-width:100%}


footer{flex-wrap:wrap;align-items:flex-start}footer>div{min-width:0}.footer-tagline{font-family:Arial,Helvetica,sans-serif!important;font-size:.8125rem!important;margin-top:12px}.footer-legal{display:flex;flex-direction:column;gap:12px}.footer-legal>a{display:flex;align-items:center;min-height:44px;text-underline-offset:5px}
.legal-page{max-width:850px;margin:45px auto 90px;padding:0 35px}.legal-page>h1{font-size:var(--heading);margin:28px 0 55px}.legal-page section{margin-top:38px}.legal-page h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:18px}.legal-page a{overflow-wrap:anywhere;text-underline-offset:4px}.legal-page li+li{margin-top:12px}.legal-page blockquote{margin:24px 0;border-left:2px solid var(--ink);padding:12px 22px;background:#faf7f7}
@media(max-width:650px){.legal-page{margin:30px auto 60px;padding:0 6%}.legal-page>h1{margin-bottom:38px}footer{gap:30px}}
.legal-page>p.eyebrow{font-family:Arial,Helvetica,sans-serif;font-size:.8125rem;line-height:1.5}
