@font-face{font-family:Montserrat;src:url(montserrat.ttf) format('truetype');font-weight:100 900;font-display:swap}:root{--ink:#2b2c32;--paper:#f7f7f5;--mist:#dbe2e8;--line:#c5cbd0;--card-radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-underline-offset:4px}header{position:sticky;top:0;z-index:10;background:#f7f7f5f5;border-bottom:1px solid var(--line)}nav{max-width:1200px;margin:auto;min-height:90px;display:flex;align-items:center;justify-content:space-between;padding:16px 30px;gap:35px}.brand img{width:108px;display:block;mix-blend-mode:multiply}.links{display:flex;gap:25px;align-items:center;font-size:12px}.links a{text-decoration:none}.links a:hover{text-decoration:underline}.wrap{max-width:1180px;margin:auto;padding:80px 30px}.dark{background:var(--ink);color:#f5f5f5}.mist,.hero{background:var(--mist)}h1,h2,h3,h4,h5,h6,p{margin:0 0 20px}h1,h2,h3,h4{font-size:36px;line-height:1.25;letter-spacing:-.8px;font-weight:500}h5,h6{font-size:20px;line-height:1.4;font-weight:600}p:last-child{margin-bottom:0}.copy:empty{display:none}.bold,strong,b{font-weight:700}.copy p:empty{display:none}.split>.wrap{display:grid;grid-template-columns:340px minmax(0,1fr);gap:75px;align-items:start}.section-copy>.copy+.copy{margin-top:28px}.section-title{position:sticky;top:135px}.section-title h3{font-size:34px}.hero>.wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:85px;align-items:center;padding:90px 30px}.identity .copy:first-child *{font-size:68px;line-height:1.1;letter-spacing:-2px}.identity .copy:first-child{margin-bottom:20px}.identity .copy:nth-child(2) *{font-size:16px;letter-spacing:0;font-weight:600}.intro{position:relative;padding-top:32px;margin-top:35px;max-width:510px;font-size:21px}.intro p{margin-bottom:14px}.portrait{width:min(120%,432px);max-width:none;border-radius:50%;justify-self:center}.stack{display:grid;gap:32px}.item{border-top:1px solid var(--line);padding-top:27px}.dark .item{border-color:#585b64}.item>.copy+.copy{margin-top:13px}.item h3,.item h4,.item h5,.item h6{font-size:21px;letter-spacing:0;line-height:1.4}.cards{display:grid;grid-template-columns:1fr 1fr;gap:40px 55px;margin-top:42px}.services>.wrap>.copy{text-align:center;margin-bottom:40px}.cards .item{background:#ffffff60;padding:30px;border:1px solid var(--line)}.cards .item p{font-size:16px}.choice{position:relative;padding-left:55px}.choice>.copy:first-child{position:absolute;left:0;top:22px}.choice>.copy:first-child *{font-size:28px!important}.btn{display:inline-flex;padding:14px 25px;border:1px solid var(--ink);background:var(--ink);color:white;border-radius:5px;text-decoration:none;font:600 13px Montserrat,Arial;cursor:pointer;margin-top:10px}.dark .btn{background:#fff;color:var(--ink);border-color:#fff}.centered{text-align:center}.centered .wrap{max-width:850px}.dateheading .wrap{padding-bottom:20px}.compact .wrap{padding-top:5px;padding-bottom:55px}.compact p{margin:10px 0}.compact h3{font-size:31px}.classhero>.wrap{display:block}.classhero>.wrap>div{max-width:800px}.classhero .copy:first-child *{font-size:64px;line-height:1.15;letter-spacing:-1px}.classhero .copy:nth-child(2){margin:18px 0 35px}.classhero .copy:nth-child(2) *,.classhero .copy:nth-child(3) *{font-size:19px}.classhero .copy:nth-child(3){border-top:4px solid var(--ink);padding-top:25px;max-width:500px;margin-bottom:25px}.narrow>.wrap{max-width:980px}.narrow h3{margin-bottom:30px}.narrow li{margin-bottom:7px}ul{padding-left:22px}li p{margin-bottom:7px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:55px}.footer-grid h3,.footer-grid h6{font-size:18px}.footer-grid .copy+.copy{margin-top:15px}.footer-grid p{font-size:14px;margin-bottom:6px}.legal{border-top:1px solid #565963;padding-top:28px;margin-top:40px;font-size:11px;line-height:1.8;color:#cbd0d5}.legal *{font-size:11px!important}.footer .wrap{padding-top:55px;padding-bottom:35px}.prototype{font-size:11px;text-align:center;background:#e8ecf0;color:#555d67;padding:9px 20px}.menu{display:none}form{background:#f7f7f5;color:var(--ink);padding:30px;border-radius:var(--card-radius)}form label{display:block;margin:12px 0 6px;font-size:14px;font-weight:500}input:not([type=radio]):not([type=checkbox]),textarea,select{display:block;width:100%;padding:12px;border:1px solid #afb6bc;background:white;font:inherit;font-size:15px;border-radius:3px}textarea{min-height:130px}input[type=radio],input[type=checkbox]{width:16px;height:16px;accent-color:#2b2c32}form div{margin-bottom:10px}form .btn{background:#2b2c32!important;color:white!important}form button[disabled]{opacity:1}form [role=alert]:empty{display:none}.small{font-size:12px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #338acb;outline-offset:4px}@media(max-width:900px){.links{gap:15px;font-size:11px}.split>.wrap{grid-template-columns:260px 1fr;gap:35px}.identity .copy:first-child *{font-size:52px}.hero>.wrap{gap:35px}}@media(max-width:700px){nav{padding:15px 22px;min-height:75px;flex-wrap:wrap}.brand img{width:84px}.menu{display:block;background:transparent;border:1px solid #bbb;padding:8px 13px;font:inherit;font-size:13px}.links{display:none;width:100%;flex-direction:column;align-items:start;font-size:15px;padding:15px 0;gap:17px}.links.open{display:flex}.wrap{padding:50px 22px}.split>.wrap,.hero>.wrap{display:grid;grid-template-columns:1fr;gap:35px}.hero>.wrap{padding:55px 22px}.section-title{position:static}h1,h2,h3,h4,.section-title h3{font-size:29px}.portrait{width:min(100%,312px);max-width:312px}.identity .copy:first-child *{font-size:51px}.intro{font-size:18px}.cards{grid-template-columns:1fr;gap:25px}.cards .item{padding:24px}.services>.wrap>.copy{text-align:left}.classhero .copy:first-child *{font-size:44px}.footer-grid{grid-template-columns:1fr;gap:30px}.choice{padding-left:40px}form{padding:20px}.prototype{font-size:10px}.centered h3{font-size:26px}}
.channel{display:grid;grid-template-columns:64px minmax(0,1fr);gap:24px;align-items:start}.channel>img{width:64px;height:auto;margin-top:28px}.channel .item{padding-top:25px}@media(max-width:700px){.channel{grid-template-columns:42px minmax(0,1fr);gap:18px}.channel>img{width:42px}.channel .item h6{font-size:18px}}

.intro::before{content:"";position:absolute;top:0;left:0;width:54px;height:4px;background:var(--ink)}
#zs-Oua .channel:first-child .item,
#z3ZFgf .stack > .choice:first-child{border-top:0}
@media(min-width:701px){#zz0Lh8 .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}#zz0Lh8 .cards .item{padding:26px}}
#z3ZFgf .choice{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:23px;align-items:baseline;padding-left:0}
#z3ZFgf .choice>.copy{grid-column:2}
#z3ZFgf .choice>.copy:first-child{position:static;grid-column:1;grid-row:1}
#z3ZFgf .choice>.copy:nth-child(2){grid-column:2;grid-row:1;margin-top:0}
#z3ZFgf .choice>.copy:first-child h2,#z3ZFgf .choice>.copy:nth-child(2) h6{margin-bottom:0}
@media(max-width:700px){#z3ZFgf .choice{column-gap:12px}}
.classhero .copy:nth-child(3){position:relative;border-top:0;padding-top:29px}
.classhero .copy:nth-child(3)::before{content:"";position:absolute;top:0;left:0;width:54px;height:4px;background:var(--ink)}
.edition>.wrap>.copy{text-align:left;max-width:800px}
.edition-cards{gap:28px;grid-template-columns:1fr 1fr;margin-top:35px}
.edition-cards .item{background:#35363d;border-color:#5a5c66;padding:36px}
.edition-date{display:flex;align-items:center;justify-content:center;min-height:245px}
.edition-date h3{font-size:38px;line-height:1.3;margin:0;max-width:330px}
.edition-status p{margin-bottom:15px}
.edition-status p:nth-child(2){font-size:22px;letter-spacing:1px}
.edition-status p:last-child{font-size:14px;margin:24px 0 0}
.syllabus-cards{grid-template-columns:1fr 1fr;gap:28px;margin-top:35px}
.syllabus-cards .item{padding:32px;background:#fff}
.syllabus-cards .item h6,.syllabus-cards .item>p:first-child{font-size:20px;font-weight:600;margin-bottom:20px}
.syllabus-cards li{margin-bottom:13px}.syllabus-cards li:last-child{margin-bottom:0}
.syllabus-cards ul{margin-bottom:0}.syllabus-note{margin-top:25px}
@media(max-width:700px){.edition-cards,.syllabus-cards{grid-template-columns:1fr;gap:22px}.edition-cards .item,.syllabus-cards .item{padding:26px}.edition-date{min-height:150px;justify-content:flex-start}.edition-date h3{font-size:30px;max-width:none}}
.class2-syllabus .syllabus-cards .item,.class2-includes{background:#35363d;border:1px solid #5a5c66;padding:32px}
.class2-heading h3:first-child{font-size:22px;margin-bottom:18px}
.class2-includes{margin-top:35px}
.class2-includes>p:first-child{font-size:20px;font-weight:600;margin-bottom:20px}
.class2-includes ul{margin-bottom:0}.class2-includes li{margin-bottom:13px}.class2-includes li:last-child{margin-bottom:0}
@media(max-width:700px){.class2-syllabus .syllabus-cards .item,.class2-includes{padding:26px}}

.topics-card{grid-column:1/-1;background:#ffffff80;border:1px solid var(--line);padding:32px}.topics-card h3{font-size:24px}.topics-card li{margin-bottom:18px}.topics-card li:last-child{margin-bottom:0}.topics-references{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}.topics-references h4{font-size:20px}.topics-references p{max-width:950px}@media(max-width:700px){.topics-card{padding:24px}.topics-card h3{font-size:22px}}
/* Align Classi action numbers with the first title baseline. */
#zF7BPY .choice{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:23px;align-items:baseline;padding-left:0}
#zF7BPY .choice>.copy{grid-column:2}
#zF7BPY .choice>.copy:first-child{position:static;grid-column:1;grid-row:1}
#zF7BPY .choice>.copy:nth-child(2){grid-column:2;grid-row:1;margin-top:0}
#zF7BPY .choice>.copy:first-child h2,#zF7BPY .choice>.copy:nth-child(2) h6{margin-bottom:0}
#zF7BPY .stack>.choice:first-child{border-top:0}
@media(max-width:700px){#zF7BPY .choice{column-gap:12px}}
/* Contact form matches the Classe 2 prerequisite card. */
#zF7BPY form{background:#35363d;color:#f5f5f5;border:1px solid #5a5c66}
#zF7BPY form input:not([type=radio]):not([type=checkbox]),#zF7BPY form textarea,#zF7BPY form select{color:var(--ink)}
#zF7BPY form .btn{background:#f7f7f5!important;color:var(--ink)!important;border-color:#f7f7f5}
/* Tone-on-tone contact fields. */
#zF7BPY form input:not([type=radio]):not([type=checkbox]),#zF7BPY form textarea,#zF7BPY form select{background:#2b2c32;color:#f5f5f5;border-color:#747680;color-scheme:dark}
#zF7BPY form input::placeholder,#zF7BPY form textarea::placeholder{color:#c5c6ce;opacity:1}
#zF7BPY form input[type=radio],#zF7BPY form input[type=checkbox]{color-scheme:dark;accent-color:#dbe2e8}
#zF7BPY form input:autofill{background:#2b2c32;color:#f5f5f5}
#zF7BPY form input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #2b2c32 inset;-webkit-text-fill-color:#f5f5f5;caret-color:#f5f5f5}
/* Calendar: shared brand, readable schedules and edition cards. */
.calendar-hero>.wrap{display:block}
.calendar-hero>.wrap>div{max-width:900px}
.calendar-hero .copy:first-child h1{font-size:64px;line-height:1.16;max-width:850px}
.calendar-hero .copy:nth-child(2) h2{font-size:20px;margin-top:30px}
.calendar-hero .copy:nth-child(3){margin-top:28px}
.calendar-hero .copy:nth-child(3) h2{font-size:23px;margin-bottom:16px}
.calendar-section>.wrap>.copy{max-width:760px;margin-bottom:36px}
.calendar-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:start}
.calendar-card{background:#fff;border:1px solid var(--line);padding:30px}
.calendar-card-1{grid-column:2;grid-row:1/3}
.calendar-card-2{grid-column:1;grid-row:2}
.calendar-card .copy+.copy{margin-top:20px}
.calendar-card h6{font-size:19px}
.calendar-card ul{list-style:none;padding-left:0;margin:0}
.calendar-card li{border-top:1px solid var(--line);padding:14px 0}
.calendar-card li:first-child{border-top:0;padding-top:0}
.calendar-card li:last-child{padding-bottom:0}
.calendar-card li p{margin-bottom:6px}
.calendar-card li p:last-child{margin-bottom:0}
.calendar-card li strong{font-weight:700}
.calendar-card li p+p{font-size:14px;color:#50535b}
.calendar-card p:empty{display:none}
.calendar-card-2 p{font-size:15px}
.calendar-section-heading{max-width:800px}
.calendar-section-heading>.copy+.copy{margin-top:24px}
.calendar-community .cards .item{background:#35363d;border-color:#5a5c66}
.calendar-community ul{padding-left:22px}
.calendar-community li{margin-bottom:16px}
.calendar-archive+.calendar-archive>.wrap{border-top:1px solid var(--line)}
.calendar-actions .choice{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:23px;align-items:baseline;padding-left:0}
.calendar-actions .choice>.copy{grid-column:2}
.calendar-actions .choice>.copy:first-child{position:static;grid-column:1;grid-row:1}
.calendar-actions .choice>.copy:nth-child(2){grid-column:2;grid-row:1;margin-top:0}
.calendar-actions .choice>.copy:first-child h2,.calendar-actions .choice>.copy:nth-child(2) h6{margin-bottom:0}
.calendar-actions .stack>.choice:first-child{border-top:0}
@media(min-width:1001px){.links{gap:20px;font-size:12px}}
@media(min-width:701px) and (max-width:1000px){nav{flex-wrap:wrap;gap:15px}.menu{display:block;background:transparent;border:1px solid #bbb;padding:8px 13px;font:inherit;font-size:13px}.links{display:none;width:100%;flex-direction:column;align-items:start;font-size:15px;padding:15px 0;gap:17px}.links.open{display:flex}}
@media(max-width:700px){.calendar-hero .copy:first-child h1{font-size:40px;overflow-wrap:anywhere}.calendar-hero .copy:nth-child(3) h2{font-size:20px}.calendar-grid{grid-template-columns:1fr;gap:24px}.calendar-card-1,.calendar-card-2{grid-column:auto;grid-row:auto}.calendar-card{padding:24px}.calendar-actions .choice{column-gap:12px}}
@media(min-width:701px){.calendar-grid{grid-template-rows:min-content 1fr}}
.calendar-card-2 ul{margin:20px 0}
#zuEcL7 .wrap>.copy:nth-child(2){margin-bottom:24px}
#zuEcL7 .wrap>.copy:nth-child(2) h4{font-size:24px}
.calendar-edition-heading{font-size:24px;margin:55px 0 24px;padding-top:40px;border-top:1px solid var(--line)}

.calendar-edition-label{font-size:24px;margin:0 0 24px}
/* Post-coaching community follows the approved site visual language. */
.post-hero>.wrap{display:block}
.post-hero>.wrap>div{max-width:1000px}
.post-hero h1{font-size:64px;line-height:1.2;letter-spacing:-1.5px;margin-bottom:0}
.post-hero .copy:nth-child(2){position:relative;padding-top:38px;margin-top:32px}
.post-hero .copy:nth-child(2)::before{content:"";position:absolute;left:0;top:0;width:54px;height:4px;background:var(--ink)}
.post-hero h2{font-size:23px;line-height:1.4;letter-spacing:0}
.post-services .cards{gap:28px;margin-top:36px}
.post-services .cards .item{background:#fff;padding:32px}
.post-services .cards .item h6{font-size:21px;margin-bottom:16px}
.post-statement .wrap{max-width:1000px}
.post-statement h3{margin-bottom:26px}
.post-statement p{line-height:1.85}
.post-enrolment .item{border:1px solid var(--line);background:#fff;padding:30px}
@media(max-width:700px){.post-hero h1{font-size:clamp(28px,8.5vw,40px);letter-spacing:-1px}.post-hero h2{font-size:20px}.post-services .cards .item,.post-enrolment .item{padding:24px}}

/* Keep the community introduction comfortably wide on desktop. */
#zxtgfb .wrap{max-width:1180px}

/* Workshop: original content, approved cards and typography. */
.workshop-hero>.wrap{display:block;padding-bottom:65px}
.workshop-hero h1{font-size:64px;line-height:1.2;letter-spacing:-1.5px}
.workshop-hero h2{font-size:20px;letter-spacing:0;line-height:1.5;margin:0}
.short-rule{width:54px;height:4px;background:var(--ink);margin:30px 0}
.workshop-upcoming h2,.workshop-past>.wrap>h2{font-size:26px;letter-spacing:0}
.work-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
.work-card{background:#fff;border:1px solid var(--line);padding:30px}
.work-card h3{font-size:19px;line-height:1.5;letter-spacing:0;margin-bottom:25px}
.work-card p{margin-bottom:12px}
.work-events .work-card:first-child{background:var(--ink);color:white;border-color:var(--ink)}
.work-note{margin-top:30px;max-width:1000px;font-size:14px}
.work-past-heading{display:grid;grid-template-columns:1fr 230px;align-items:center;gap:40px;margin:35px 0}
.work-past-heading h2{font-size:28px;line-height:1.4}
.work-past-heading p{margin-bottom:8px}
.work-past-heading img{width:100%;mix-blend-mode:multiply}
.work-program ul{margin-bottom:0}
.work-program li{padding:6px 0}
.work-media{margin:35px 0}
.work-media iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:var(--ink)}
.work-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.work-photos img{display:block;width:100%;height:280px;object-fit:cover;border-radius:6px}
.work-details{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.work-details .work-card>p:has(strong){font-size:19px;margin-top:24px}
.work-details .work-card>p:first-child{margin-top:0}
@media(max-width:900px){.work-events{grid-template-columns:1fr}.work-events .work-card{padding:26px}.work-photos img{height:220px}}
@media(max-width:700px){.workshop-hero h1{font-size:clamp(30px,8.5vw,44px)}.workshop-hero h2{font-size:18px}.work-past-heading,.work-details,.work-photos{grid-template-columns:1fr}.work-past-heading img{max-width:200px}.work-card{padding:24px}.work-past-heading h2{font-size:24px}.work-photos img{height:auto}}

.work-details{align-items:stretch}
.work-details .work-syllabus{grid-column:1 / -1;padding:22px 30px}
.work-syllabus ul{margin:0}
.work-details .work-syllabus>p:first-child{margin:0 0 8px}
.work-syllabus li p{margin:0}
@media(max-width:700px){.work-details .work-syllabus{padding:22px 24px}}

/* Newsletter */
.newsletter-hero>.wrap{display:block}
.newsletter-hero h1{font-size:64px;line-height:1.2;letter-spacing:-1.5px;margin-bottom:35px}
.nl-intro{font-size:19px;font-weight:600}
.newsletter-hero .wrap>p{font-size:23px;max-width:550px}
.nl-statement{max-width:900px;margin-bottom:45px;font-size:17px}
.nl-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:start}
.nl-grid h3{font-size:32px;margin-bottom:30px}
.nl-benefits{display:grid;gap:16px}
.nl-benefit{display:grid;grid-template-columns:38px 1fr;gap:18px;background:white;border:1px solid var(--line);padding:24px}
.nl-number{font-size:25px;line-height:1.4}
.nl-benefit p,.nl-benefit h6{font-size:16px;line-height:1.65;margin:0;letter-spacing:0;font-weight:400}
#newsletter-form{background:var(--ink);color:#f5f5f5;border:1px solid #46474f;padding:32px}
#newsletter-form input:not([type=checkbox]){background:#24252b;color:#f5f5f5;border-color:#55565e}
#newsletter-form .nl-names{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#newsletter-form fieldset{margin:24px 0 20px;padding:0;border:0;font-size:13px}
#newsletter-form legend{font-size:16px;font-weight:600;margin-bottom:10px}
#newsletter-form .nl-check{display:flex;gap:10px;align-items:center}
#newsletter-form input[type=checkbox]{accent-color:white}
#newsletter-form p.small{font-size:12px;line-height:1.65}
#newsletter-form button.btn{background:#f7f7f5!important;color:var(--ink)!important;width:100%}
#newsletter-form .nl-demo{margin-top:15px;color:#cbd0d5}
.nl-summary{margin-top:40px;padding:30px;border:1px solid var(--line);background:var(--mist)}
.nl-summary h2,.nl-summary h6{font-size:21px;line-height:1.5;letter-spacing:0}
.nl-summary p{font-size:14px}
@media(max-width:800px){.nl-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:700px){.newsletter-hero h1{font-size:44px}.newsletter-hero .wrap>p{font-size:20px}.nl-benefit{padding:20px;gap:12px}#newsletter-form{padding:24px}#newsletter-form .nl-names{grid-template-columns:1fr;gap:0}.nl-summary{padding:24px}}

/* Newsletter form: light tone-on-tone, matching the guide card. */
#newsletter-form{background:#fff;color:var(--ink);border-color:var(--line)}
#newsletter-form input:not([type=checkbox]){background:var(--paper);color:var(--ink);border-color:var(--line)}
#newsletter-form input[type=checkbox]{accent-color:var(--ink)}
#newsletter-form .nl-demo{color:#565d65}
#newsletter-form button.btn{background:var(--mist)!important;color:var(--ink)!important;border-color:var(--line)}

/* Biography */
.bio-top{display:grid;grid-template-columns:1.35fr 1fr;gap:65px;align-items:start}
.bio-opening h1{font-size:52px;line-height:1.25;margin-bottom:30px}
.bio-lead h6,.bio-lead p{font-size:20px;font-weight:500;line-height:1.5}
.bio-opening p{margin-bottom:18px}
.bio-opening figure{margin:0}
.bio-ny{padding-top:10px}
.bio-ny>div{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.bio-ny img{width:100%;height:330px;object-fit:cover;border-radius:8px}
.bio-ny img+img{margin-top:100px}
.bio-opening figcaption{font-size:12px;text-align:center;margin-top:14px}
.bio-opening figcaption p{font-size:12px}
.bio-gallery{display:grid;grid-template-columns:1fr 1.35fr;gap:50px;align-items:center;margin-top:50px}
.bio-gallery>figure>img{width:100%;border-radius:8px}
.bio-profiles{display:flex;align-items:center;justify-content:center}
.bio-profiles img{width:48%;aspect-ratio:1;border-radius:50%;object-fit:cover}
.bio-profiles img+img{margin-left:-22px;margin-top:60px;border:7px solid var(--mist)}
.bio-journey>.wrap>h3,.bio-journey>.wrap>h2{text-align:center;margin-bottom:55px}
.bio-step{display:grid;grid-template-columns:260px minmax(0,1fr);gap:55px;padding:42px 0;border-top:1px solid #575960}
.bio-step-title h3,.bio-step-title h4,.bio-step-title h2{font-size:28px;line-height:1.4}
.bio-step-copy p{margin-bottom:20px}
.bio-step-copy li{margin-bottom:10px}
.bio-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;align-items:center;margin-top:30px}
.bio-logos img{width:100%;max-height:75px;object-fit:contain}
.bio-services h6{font-size:21px}
.bio-services .cards{gap:28px}
.bio-services .cards .item{background:#fff}
@media(max-width:900px){.bio-top{gap:32px;grid-template-columns:1.25fr 1fr}.bio-ny>div{grid-template-columns:1fr}.bio-ny img{height:280px}.bio-ny img+img{margin-top:0}.bio-step{grid-template-columns:210px 1fr;gap:30px}}
@media(max-width:700px){.bio-top,.bio-gallery,.bio-step{grid-template-columns:1fr;gap:24px}.bio-opening h1{font-size:38px}.bio-ny>div{grid-template-columns:1fr 1fr}.bio-ny img{height:240px}.bio-gallery{margin-top:35px}.bio-logos{grid-template-columns:1fr 1fr}.bio-step{padding:30px 0}.bio-step-title>*{margin-bottom:0}}

.bio-lead h2{font-size:22px;line-height:1.5;letter-spacing:0}

.bio-logos{grid-template-columns:1fr 1fr 1.5fr 1fr}
.bio-logos img[alt="IFTA"]{max-height:100px}
@media(max-width:700px){.bio-logos{grid-template-columns:1fr 1fr}}

/* Align the email with the contact heading across all footers. */
.footer-grid{grid-template-columns:.85fr .75fr 1.4fr 1fr;gap:32px;align-items:baseline}
.footer-email p{white-space:nowrap}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr}}

.legacy-content .wrap{max-width:1000px}.legacy-content img{max-width:100%;height:auto;display:block;margin:30px auto}.legacy-content h1{font-size:clamp(30px,5vw,48px)}.legacy-section:nth-child(odd){background:var(--mist)}.legacy-content p,.legacy-content li{overflow-wrap:anywhere}

/* Contact confirmation uses the shared hero and action styles. */
.received-hero h1{font-weight:700}
.received-hero h2{font-size:20px;line-height:1.4;font-weight:700;letter-spacing:0}
.received-copy{max-width:550px;font-size:23px}
@media(max-width:700px){.received-copy{font-size:20px}}

#newsletter-success{width:min(570px,calc(100% - 36px));max-height:calc(100dvh - 36px);padding:44px;border:1px solid var(--line);border-radius:var(--card-radius);background:var(--mist);color:var(--ink);font-family:Montserrat,Arial,sans-serif;box-shadow:0 24px 90px #0004;text-align:left}
#newsletter-success::backdrop{background:#2b2c32b8;backdrop-filter:blur(3px)}
.nl-popup-mark{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font-size:26px;margin-bottom:26px}
#newsletter-success h2{font-size:27px;font-weight:700;letter-spacing:-.5px;line-height:1.25;margin:0}
#newsletter-success .short-rule{margin:24px 0}
#newsletter-success p{font-size:16px;line-height:1.75}
#newsletter-success .btn{width:100%;justify-content:center;line-height:1.5;margin-top:28px;padding:16px 18px}
.newsletter-modal-open{overflow:hidden}
@media(max-width:600px){#newsletter-success{padding:28px 24px}#newsletter-success h2{font-size:23px}#newsletter-success .btn{font-size:12px}}

/* Shared subtle rounding for boxed panels across the public site. */
.cards .item,.class2-includes,.topics-card,.calendar-card,.post-enrolment .item,.work-card,.nl-benefit,.nl-summary{border-radius:var(--card-radius)}

/* Mobile navigation icon: generous touch target and accessible name. */
.menu{color:var(--ink);border-radius:5px}.menu svg{display:block}
@media(max-width:700px){.menu{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:9px}}

/* Consistent navigation typography on desktop and mobile. */
.links a{text-transform:uppercase;font-weight:400;letter-spacing:.035em}

/* Slightly larger navigation on desktop; mobile keeps its existing size. */
@media(min-width:901px){.links{font-size:13px}}
@media(min-width:701px) and (max-width:900px){.links{font-size:12px}}

/* Desktop navigation size. */
@media(min-width:701px){nav{max-width:1200px}.links{font-size:15px;flex-wrap:wrap;justify-content:flex-end;row-gap:8px}.links a{white-space:nowrap}}

/* Stack the home name on every device. */
.identity h1 strong{display:block}

/* Home name enlarged by 20% at desktop widths. */
@media(min-width:901px){.identity .copy:first-child *{font-size:81.6px}}
@media(min-width:701px) and (max-width:900px){.identity .copy:first-child *{font-size:62.4px}}

/* Lead with the portrait in the mobile home hero. */
@media(max-width:700px){#znohw2>.wrap>.portrait{order:-1}}

/* Gentle one-time entrance of sections as they enter the viewport. */
.scroll-reveal{transition:transform 650ms cubic-bezier(.22,1,.36,1)}
.reveal-pending{transform:translateY(40px)}
@media(prefers-reduced-motion:reduce){.scroll-reveal{transition:none;transform:none}}
@media print{.scroll-reveal{transform:none}}

/* Shared social links and company email. */
.footer-social{display:flex;gap:8px;align-items:center;align-self:start;margin-top:-6px}
.footer-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:inherit;border-radius:5px}
.footer-social svg{display:block;width:22px;height:22px}
.footer-social a:hover{opacity:.75}.footer-social a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.footer-contact-email{display:inline-block;margin-top:8px;overflow-wrap:anywhere}
/* Privacy follows the shared typography and page rhythm. */
.privacy-content .wrap{max-width:1180px}
.privacy-content h1{font-size:clamp(36px,5vw,60px);font-weight:700;line-height:1.15;letter-spacing:-1px;margin:0 0 40px}
.privacy-content #zI0BD0{max-width:850px}
.privacy-content h2{font-size:24px;line-height:1.4;font-weight:600;letter-spacing:0;margin:44px 0 18px}
.privacy-content h3{font-size:20px;line-height:1.5;font-weight:600;letter-spacing:0;margin:28px 0 14px}
.privacy-content p,.privacy-content li{font-size:16px;line-height:1.8;text-align:left}
.privacy-content p{margin:0 0 18px}.privacy-content ul{padding-left:24px;margin:18px 0 28px}
.privacy-content img{max-width:100%;max-height:100px;width:auto;margin:0 0 40px}
@media(max-width:700px){.privacy-content h1{font-size:36px;margin-bottom:30px}.privacy-content h2{font-size:22px;margin-top:32px}.footer-social a{width:44px;height:44px}}

.nl-closing{margin-top:40px;margin-bottom:0}

/* Optional analytics consent: equal prominence for accept and reject. */
.analytics-consent{position:fixed;z-index:10000;bottom:20px;left:20px;right:20px;max-width:860px;margin:auto;background:#fff;color:#202126;border:1px solid #d5d5d5;border-radius:12px;padding:16px 20px;box-shadow:0 8px 40px #0003;display:flex;gap:20px;align-items:center;max-height:85vh;overflow:auto;font-family:inherit}
.analytics-consent[hidden]{display:none}
.analytics-consent h2{font-size:16px;line-height:1.3;letter-spacing:0;margin:0 0 6px;text-transform:none}
.analytics-consent p,.analytics-consent a{font-size:13px;line-height:1.5;margin:0 0 5px}
.analytics-consent a{color:inherit;text-decoration:underline}
.analytics-consent-actions{display:flex;gap:8px;flex-shrink:0}
.analytics-consent-actions button{font-family:inherit;font-size:13px;font-weight:600;padding:10px 16px;min-width:90px;border:1px solid var(--line);border-radius:6px;background:var(--mist);color:var(--ink);cursor:pointer}
.cookie-preferences{font:inherit;font-size:13px;color:inherit;background:none;border:0;padding:12px 0;text-decoration:underline;cursor:pointer}
.analytics-consent button:focus-visible,.cookie-preferences:focus-visible{outline:3px solid #4372c2;outline-offset:3px}
@media(max-width:700px){.analytics-consent{left:12px;right:12px;bottom:12px;padding:16px;display:block}.analytics-consent-actions{margin-top:12px}.analytics-consent-actions button{flex:1}}

.analytics-consent-actions button[data-consent="accepted"]{background:#237a49;border-color:#237a49;color:#fff}
.analytics-consent-actions button[data-consent="accepted"]:hover{background:#1b613a;border-color:#1b613a;color:#fff}

/* Classi: moving silver highlights around the information CTA. */
@property --info-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
.dark .btn.info-glow{position:relative;isolation:isolate;border:0;border-radius:999px;background:#171719;color:#fff;padding:17px 30px;box-shadow:0 0 0 7px #242429;overflow:hidden;max-width:100%;text-align:center;justify-content:center;transition:box-shadow .25s ease,transform .25s ease}
.info-glow::before{content:"";position:absolute;inset:0;z-index:-2;border-radius:inherit;background:conic-gradient(from var(--info-angle),#ffffff12 0deg,#ffffff12 50deg,#aeb6c2 83deg,#fff 91deg,#ffffff12 104deg,#ffffff12 230deg,#aeb6c2 263deg,#fff 271deg,#ffffff12 284deg);animation:info-border-orbit 4s linear infinite}
.info-glow::after{content:"";position:absolute;inset:1.5px;z-index:-1;border-radius:inherit;background:linear-gradient(150deg,#1b1b1e,#101012)}
.info-glow span{position:relative;z-index:1}
.dark .btn.info-glow:hover{transform:translateY(-1px);box-shadow:0 0 0 7px #242429,0 0 20px #ffffff20}
.dark .btn.info-glow:focus-visible{outline:3px solid #fff;outline-offset:10px}
@keyframes info-border-orbit{to{--info-angle:360deg}}
@media(prefers-reduced-motion:reduce){.info-glow::before{animation:none;--info-angle:35deg}.dark .btn.info-glow{transition:none}.dark .btn.info-glow:hover{transform:none}}

/* Shared centering and headline sizing for both enrollment cards. */
.edition-cards .item{container-type:inline-size;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px}
.edition-date h3,.edition-status p:nth-child(2){font-size:clamp(14px,8cqw,38px);line-height:1.3;letter-spacing:normal;margin:0}
.edition-date h3{white-space:nowrap;max-width:none}
.edition-status p{margin:0}
.edition-status .info-glow{margin-top:8px}

/* Align the date with the enrollment headline across the two cards. */
@media(min-width:701px){
.edition-cards{grid-template-rows:auto;row-gap:28px}
.edition-cards .item{display:grid;grid-template-rows:28.8px max-content 58px;align-content:center;justify-items:center;align-items:center}
.edition-date h3{grid-row:2}
.edition-status p:first-child{grid-row:1}
.edition-status p:nth-child(2){grid-row:2}
.edition-status .info-glow{grid-row:3}
}
