@font-face{font-family:Manrope;src:url("fonts/Manrope-ExtraLight.ttf") format("truetype");font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url("fonts/Manrope-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url("fonts/Manrope-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
:root{
  --blue:#103ca1;--ink:#152137;--yellow:#efc443;--orange:#e88c52;--gray:#c5cac7;
  --blue-pale:#edf2fb;--warm-pale:#fff5d8;--line:#d8dde4;--muted:#536070;
  --copy:clamp(1rem,.96rem + .2vw,1.08rem);
  --heading:clamp(1.6rem,1.15rem + 1.45vw,2.35rem);
  --display:clamp(2.45rem,1.18rem + 4.5vw,5.75rem);
  --gutter:clamp(1.25rem,4.7vw,5rem);--space:clamp(3.25rem,7vw,7rem);
  --pointer-shift:0px;--pointer-shift-opposite:0px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1.5rem}
body{margin:0;background:#fff;color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:var(--copy);font-weight:400;line-height:1.7;-webkit-text-size-adjust:100%}
h1,h2,h3,p,figure,blockquote{margin:0}
h1,h2,h3{font-weight:700;line-height:1.2;letter-spacing:0;overflow-wrap:break-word}
h1{font-size:var(--display);line-height:1.1;color:var(--blue)}
h2,h3{font-size:var(--heading)}
p+p{margin-top:1.2rem}
strong,b{font-weight:700}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}
a{transition:color .22s,background-color .25s}
button,input,textarea,select{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
img{display:block;max-width:100%;height:auto}
svg{display:block}
ul,ol{padding-left:1.4em;margin:1rem 0}
li+li{margin-top:.5rem}
address,cite{font-style:normal}
::selection{background:var(--yellow);color:var(--blue)}
:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.skip{position:fixed;left:1rem;top:-6rem;padding:.75rem 1.25rem;z-index:50;background:var(--yellow);color:var(--blue)}
.skip:focus{top:1rem}
.site-header,main,footer{max-width:1600px;margin-inline:auto}
.site-header{padding:2rem var(--gutter) 0;background:#fff}
.header-top{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-bottom:1.75rem}
.brand{display:flex;align-items:center;gap:1rem;max-width:36rem;text-decoration:none;color:var(--blue);font-family:Helvetica,Arial,sans-serif;font-size:clamp(1.3rem,1.75vw,1.8rem);font-weight:700;line-height:1.12}
.brand:hover,.brand:focus{text-decoration:none}
.brand img,.brand-mark{flex:0 0 66px;width:66px;height:52px;overflow:visible}
.brand small{display:block;margin-top:.45rem;font-size:var(--copy);font-weight:400;letter-spacing:0}
.logo-ring{fill:var(--blue);transform-origin:27px 26px;transition:transform 1.15s cubic-bezier(.2,.8,.2,1)}
.logo-dot{fill:var(--yellow);transition:transform 1.15s cubic-bezier(.2,.8,.2,1)}
.meta-nav{display:flex;justify-content:flex-end;gap:.65rem 1.4rem;flex-wrap:wrap;font-size:var(--copy)}
.meta-nav a{position:relative;text-decoration:none;padding:.25rem 0}
.meta-nav a::after{position:absolute;content:"";height:4px;background:var(--yellow);bottom:0;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.meta-nav a:hover::after,.meta-nav a[aria-current]::after{transform:scaleX(1)}
.meta-nav a[aria-current]{font-weight:700}
.service-nav{display:grid;grid-template-columns:1.2fr 1fr;gap:.6rem}
.service-nav>a{display:flex;align-items:center;gap:.75rem;padding:1rem 1.35rem;text-decoration:none;font-weight:700;line-height:1.45;border-radius:0 0 1.65rem 0;border:1px solid transparent}
.service-nav>a .arrow-icon{margin-left:auto;flex:0 0 1em}
.service-blue{background:var(--blue-pale);color:var(--blue)}
.service-warm{background:var(--warm-pale);color:var(--blue)}
.service-dot{width:.7rem;height:.7rem;flex:0 0 .7rem;background:var(--blue);border-radius:50%;transition:transform .3s}
.service-warm .service-dot{background:var(--orange)}
.service-blue.active,.service-blue:hover{background:var(--blue);color:#fff}
.service-blue.active .service-dot,.service-blue:hover .service-dot{background:var(--yellow)}
.service-warm.active,.service-warm:hover{background:var(--yellow);color:var(--blue)}
.service-nav>a:hover .service-dot{transform:scale(1.25)}
.context-nav{display:flex;flex-wrap:wrap;gap:.4rem 1.75rem;padding:.8rem 0;border-bottom:1px solid var(--line);color:var(--blue)}
.context-nav a{text-decoration:none;padding:.25rem 0}
.context-nav a:hover,.context-nav a[aria-current]{text-decoration:underline;text-decoration-thickness:3px}
.context-nav a[aria-current]{font-weight:700}
.eyebrow{display:block;font-size:var(--copy);font-weight:700;line-height:1.5;letter-spacing:0}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.75rem;min-height:3.2rem;padding:.9rem 1.3rem;background:var(--blue);border:1px solid var(--blue);color:#fff;text-decoration:none;font-weight:700;line-height:1.45;border-radius:0 0 1.2rem 0}
.button:hover{background:var(--yellow);border-color:var(--yellow);color:var(--blue)}
.arrow-icon{position:relative;display:inline-block;width:1em;height:1em;vertical-align:-.08em;flex:0 0 1em;transition:transform .3s}
.arrow-icon::before{content:"";position:absolute;left:.1em;top:.08em;width:.7em;height:.7em;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor}
.arrow-icon::after{content:"";position:absolute;left:.06em;bottom:.11em;height:1.6px;width:1em;background:currentColor;transform:rotate(-45deg);transform-origin:left center}
a:hover>.arrow-icon,a:hover .pathway-link .arrow-icon,button:hover>.arrow-icon{transform:translate(2px,-2px)}
.text-link{display:inline-flex;align-items:center;gap:.7rem;font-weight:700;color:var(--blue);overflow-wrap:anywhere}
.text-link:hover{color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.8rem;margin-top:1.75rem}
.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:3.5vw;padding:var(--space) var(--gutter)}
.hero-title{align-self:center;min-width:0}
.hero h1{margin:1.25rem 0 2rem;font-size:clamp(2.45rem,1rem + 4vw,5rem)}
.hero h1 span{font-weight:200}
.hero-bottom p{max-width:39rem;margin-bottom:1.5rem}
.hero-visual{min-width:0;width:100%;max-width:20rem;align-self:center;justify-self:center}
.portrait{width:100%;max-width:20rem;justify-self:center}
.portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center;border-radius:0 4rem 0 0;transition:border-radius .8s ease,transform .8s ease}
.portrait.is-active img{border-top-right-radius:6.5rem;transform:scale(.985)}
@media(hover:hover) and (pointer:fine){
  .portrait:hover img{border-top-right-radius:6.5rem;transform:scale(.985)}
}
.portrait figcaption{font-size:var(--copy);color:var(--muted);margin-top:.65rem}
.hero-portrait img{aspect-ratio:3/4;object-position:center;filter:none}
.shape-composition{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:6px;margin-top:1.25rem}
.shape-composition>div{aspect-ratio:1;min-width:0;display:flex;position:relative;overflow:hidden;transition:transform .75s cubic-bezier(.2,.7,.2,1)}
.shape-stack{flex-direction:column;justify-content:center;transform:translateX(var(--pointer-shift-opposite))}
.shape-stack i{display:block;height:50%;background:var(--blue);border-radius:0 0 100% 100%/0 0 200% 200%}
.shape-circle{background:var(--orange);border-radius:50%;transform:translateX(var(--pointer-shift))}
.shape-pair i{width:50%;height:100%;background:var(--yellow);border-radius:0 100% 100% 0/0 50% 50% 0}
.shape-mirror i{width:50%;height:100%;background:var(--gray);border-radius:0 100% 100% 0/0 50% 50% 0}
.shape-mirror i+i{transform:rotate(180deg)}
@media(hover:hover) and (pointer:fine){
  .shape-composition:hover .shape-stack{transform:rotate(180deg)}
  .shape-composition:hover .shape-circle{transform:scale(.86)}
  .shape-composition:hover .shape-pair{transform:rotate(-90deg)}
  .shape-composition:hover .shape-mirror{transform:rotate(90deg)}
}
.shape-composition.is-active .shape-stack{transform:rotate(180deg)}
.shape-composition.is-active .shape-circle{transform:scale(.86)}
.shape-composition.is-active .shape-pair{transform:rotate(-90deg)}
.shape-composition.is-active .shape-mirror{transform:rotate(90deg)}
.intro{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin:0 var(--gutter);padding:var(--space) 0;border-top:1px solid var(--line)}
.intro h2{color:var(--blue);margin-bottom:1.5rem}
.intro p{max-width:48rem}
.pathways{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:0 var(--gutter) var(--space)}
.pathway{position:relative;display:flex;flex-direction:column;gap:1.5rem;overflow:hidden;isolation:isolate;padding:clamp(1.6rem,3.2vw,3.4rem);text-decoration:none;border-radius:0 0 5rem 0;min-width:0}
.pathway-blue{background:var(--blue);color:#fff}
.pathway-warm{background:var(--yellow);color:var(--blue)}
.pathway h2{hyphens:auto;max-width:100%}
.pathway p{max-width:32rem}
.pathway-link{display:flex;justify-content:space-between;gap:1rem;padding-top:1.5rem;border-top:1px solid currentColor;margin-top:auto;font-weight:700;z-index:1}
.pathway-shape{position:absolute;width:12rem;height:12rem;right:-8rem;top:3rem;border-radius:50%;background:var(--orange);z-index:-1;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.pathway-blue .pathway-shape{background:#2554ba}
.pathway:hover .pathway-shape{transform:translateX(-1.5rem) rotate(20deg)}
.areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 var(--gutter) var(--space);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.areas>a{display:flex;flex-direction:column;gap:1.5rem;position:relative;isolation:isolate;overflow:hidden;padding:2rem;text-decoration:none;min-height:20rem}
.areas>a+a{border-left:1px solid var(--line)}
.areas>a>span:last-of-type{margin-top:auto;display:flex;justify-content:space-between;gap:.7rem}
.areas h2{color:var(--blue)}
.areas>a::after{content:"";position:absolute;width:9rem;height:9rem;right:-9rem;top:1.9rem;border-radius:50%;background:var(--blue);transition:transform .55s cubic-bezier(.2,.8,.2,1);z-index:-1}
.areas>a:hover::after,.areas>a:focus-visible::after{transform:translateX(-2.6rem)}
.areas>a:hover{background:var(--blue-pale)}
.booking-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--blue-pale);padding:3rem var(--gutter);margin-top:var(--space)}
.booking-cta h2{color:var(--blue);margin-top:1rem}
.booking-cta .button{flex-shrink:0}
.page-head{position:relative;isolation:isolate;overflow:hidden;margin:2rem var(--gutter) 0;padding:clamp(2rem,4.7vw,5rem);background:var(--blue-pale);border-radius:0 0 6rem 0}
.page-head h1{position:relative;z-index:1;margin-top:1.35rem;max-width:64rem;hyphens:auto}
.page-head .lead{max-width:51rem;margin-top:1.8rem}
.lead{font-size:var(--heading);font-weight:200;line-height:1.5}
.head-shape{position:absolute;right:-5rem;top:-5rem;width:17rem;height:17rem;border:1.5rem solid rgba(16,60,161,.07);border-radius:50%;z-index:-1;transform:translateX(var(--pointer-shift-opposite));transition:transform 1.4s}
.head-shape::after{content:"";position:absolute;width:2.5rem;height:2.5rem;left:0;bottom:0;background:var(--yellow);border-radius:50%}
.theme-warm{--line:#e5dbc4}
.theme-warm main{background:#fffcf5}
.theme-warm .page-head{background:var(--yellow)}
.theme-warm .head-shape{border-color:var(--orange)}
.theme-warm .head-shape::after{background:var(--blue)}
.page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:3.5rem;margin:0 var(--gutter);padding:var(--space) 0;border-bottom:1px solid var(--line)}
.side{color:var(--blue)}
.side h2{margin-top:1.3rem}
.side>a{display:block;margin-top:1rem}
.prose{min-width:0}
.prose h2{margin:2.5rem 0 1.3rem;color:var(--blue)}
.prose h2:first-child{margin-top:0}
.prose>p,.prose>ul{max-width:52rem}
.prose a{color:var(--blue);overflow-wrap:anywhere}
.prose a:hover{background:var(--yellow)}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:0 var(--gutter)}
.feature-card{position:relative;overflow:hidden;padding:clamp(1.5rem,3.2vw,3.4rem);background:var(--blue-pale);border-radius:0 0 4rem 0;transition:background .3s}
.feature-card:nth-child(2){background:#e3e8ed}
.feature-card:hover{background:#dce7fb}
.feature-card h2{color:var(--blue);margin:1.5rem 0}
.feature-card .text-link{margin-top:1.5rem}
.check-list{list-style:none;padding:0}
.check-list li{position:relative;padding:.95rem 0 .95rem 2rem;border-bottom:1px solid var(--line);margin:0}
.check-list li::before{content:"";position:absolute;left:0;top:1.4rem;width:.65rem;height:.65rem;border-radius:50%;background:var(--blue)}
.statement-band{position:relative;isolation:isolate;overflow:hidden;background:var(--blue);color:#fff;margin:var(--space) var(--gutter) 0;padding:clamp(2rem,4vw,4rem);border-radius:0 0 6rem 0}
.statement-band h2{margin:1.5rem 0}
.statement-band p{max-width:47rem}
.statement-band .button{background:var(--yellow);border-color:var(--yellow);color:var(--blue)}
.statement-band .button:hover{background:#fff;border-color:#fff}
.statement-band .text-link{color:#fff}
.band-shape{position:absolute;width:20rem;height:20rem;background:#2554ba;border-radius:50%;right:-10rem;top:-5rem;z-index:-1;transition:transform .7s}
.statement-band:hover .band-shape{transform:translateY(2rem)}
.fields-content{margin:0 var(--gutter)}
.field-group{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:3rem;padding:var(--space) 0;border-bottom:1px solid var(--line)}
.field-heading{color:var(--blue)}
.field-heading h2{margin-top:1.3rem;hyphens:auto}
.field-list{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;list-style:none;padding:0;margin:0;counter-reset:fields}
.field-list li{counter-increment:fields;position:relative;padding:1.2rem 1.35rem 1.4rem;background:var(--blue-pale);margin:0;transition:background .25s;border-radius:0 0 1.7rem 0}
.field-list li::before{content:counter(fields,decimal-leading-zero);display:block;font-weight:700;color:var(--blue);margin-bottom:.7rem}
.field-list li:hover{background:var(--yellow)}
.field-group:nth-child(2) .field-list li{background:#e5e9ed}
.field-group:nth-child(2) .field-list li:hover{background:var(--yellow)}
.fields-content>p{margin:2rem 0;color:var(--blue)}
.approach-intro{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:clamp(2rem,5vw,5rem);padding:var(--space) var(--gutter)}
.approach-intro h2{margin:1.4rem 0;color:var(--blue)}
.approach-intro .lead{margin-bottom:1.4rem}
.approach-portrait{max-width:20rem}
.methods-section{padding:var(--space) var(--gutter);background:var(--blue-pale)}
.section-heading{display:grid;grid-template-columns:1fr 2fr;align-items:start;gap:3rem;margin-bottom:2.5rem;color:var(--blue)}
.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.method-card{padding:2rem;background:#fff;border-radius:0 0 3rem 0;border-top:5px solid var(--blue);transition:transform .3s}
.method-card:nth-child(2){border-color:var(--yellow)}
.method-card:nth-child(3){border-color:var(--orange)}
.method-card:nth-child(4){border-color:var(--gray)}
.method-card h3{margin:1.4rem 0;color:var(--blue)}
.method-card:hover{transform:translateY(-4px)}
details{border-top:1px solid currentColor;margin-top:1.5rem}
summary{position:relative;list-style:none;cursor:pointer;font-weight:700;padding:1.2rem 2rem 1.2rem 0}
summary::-webkit-details-marker{display:none}
summary::before,summary::after{content:"";position:absolute;right:.15rem;top:1.9rem;width:1rem;height:2px;background:currentColor;transition:transform .2s}
summary::after{transform:rotate(90deg)}
details[open]>summary::after{transform:rotate(0)}
summary:hover{color:var(--blue)}
.bio-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:clamp(2rem,5vw,5rem);padding:var(--space) var(--gutter)}
.bio-photo{align-self:start}
.bio-layout .prose>h2:first-of-type{margin-top:1.3rem}
.anchor-nav{display:flex;gap:2rem;padding:1.5rem 0;margin:0 var(--gutter);border-bottom:1px solid var(--line);color:var(--blue);font-weight:700}
.references-section,.partners-section{padding:var(--space) var(--gutter)}
.partners-section{background:var(--blue-pale)}
.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.reference-card{position:relative;overflow:hidden;isolation:isolate;padding:2rem;background:var(--blue-pale);border-radius:0 0 3rem 0;transition:transform .3s}
.reference-card:nth-child(4n+2){background:var(--yellow)}
.reference-card:nth-child(4n+3){background:var(--orange)}
.reference-card:nth-child(4n+4){background:#e0e4e2}
.reference-card h3{color:var(--blue);margin-bottom:1.5rem;hyphens:auto}
.reference-card p{overflow-wrap:anywhere}
.reference-card .text-link{margin-top:1.2rem}
.reference-card::after{position:absolute;content:"";right:-4.2rem;bottom:-4.2rem;width:6rem;height:6rem;border-radius:50%;background:var(--blue);z-index:-1;transition:transform .5s}
.reference-card:hover::after,.reference-card:focus-within::after{transform:translate(-.5rem,-.5rem)}
.reference-card:hover{transform:translateY(-3px)}
.reference-card a:hover{text-decoration-thickness:2px}
.partner-grid .reference-card:nth-child(4n+1){background:#fff}
.seminars-section{padding:0 var(--gutter) var(--space)}
.seminar-card{display:grid;grid-template-columns:1fr 2fr;gap:3rem;border-top:1px solid var(--line);padding:2.8rem 0}
.seminar-date{display:flex;flex-direction:column;gap:1.2rem;align-items:flex-start;color:var(--blue)}
.seminar-date time{display:block;font-weight:700;background:var(--yellow);padding:.7rem 1rem;border-radius:0 0 1rem 0}
.seminar-card:nth-of-type(2) .seminar-date time{background:var(--orange)}
.seminar-content h3{color:var(--blue);margin-bottom:1.5rem}
.seminar-fee{border-top:1px solid var(--line);padding-top:1rem}
.module-details{color:var(--blue);border-color:var(--line)}
.module-list{list-style:none;padding:0;margin:0}
.module-list li{padding:1rem 0;border-top:1px solid var(--line);margin:0;display:flex;flex-direction:column;gap:.35rem}
.module-list time{font-weight:700}
.venue-note{border-top:1px solid var(--line);padding-top:1.5rem;color:var(--muted)}
.training-section{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:var(--space) var(--gutter);background:var(--yellow);border-radius:0 0 6rem 0}
.training-intro h2{color:var(--blue);margin:1.4rem 0}
.training-intro .text-link{margin-top:1.5rem}
.training-dates{align-self:start;margin:0;color:var(--blue)}
.training-dates .module-list{--line:rgba(16,60,161,.22)}
.module-number{font-weight:400}
.registration-section{display:grid;grid-template-columns:1fr 2fr;gap:3rem;padding:var(--space) var(--gutter)}
.registration-section h2{color:var(--blue);margin-bottom:1.5rem}
.registration-section .text-link{overflow-wrap:anywhere;min-width:0}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,6rem);padding:var(--space) var(--gutter)}
.contact-details h2{color:var(--blue);margin-bottom:1.4rem}
.contact-details address{margin:1.5rem 0}
.contact-details a{color:var(--blue);overflow-wrap:anywhere}
.partner-note{margin:2.2rem 0;padding:1.7rem;background:var(--blue-pale);border-radius:0 0 2rem 0}
.partner-note p{margin-top:1rem}
.contact-form h2{color:var(--blue);margin:1.2rem 0 1.8rem}
form{display:grid;gap:1.25rem}
label{display:grid;gap:.5rem;font-weight:700}
input,select,textarea{display:block;width:100%;min-width:0;background:#fff;padding:.85rem 1rem;color:var(--ink);border:1px solid #8490a2;border-radius:0;font-weight:400}
textarea{resize:vertical}
input:hover,select:hover,textarea:hover{border-color:var(--blue)}
form .button{justify-self:start}
.form-note{color:var(--muted)}
.motto-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;padding:var(--space) var(--gutter)}
.motto-card{background:var(--blue-pale);padding:clamp(2rem,4vw,4rem);border-radius:0 0 5rem 0}
.motto-card:nth-child(2){background:var(--yellow)}
.motto-card p{font-size:var(--heading);font-weight:200;line-height:1.55;margin:2rem 0;color:var(--blue)}
.motto-card cite{font-weight:700}
footer{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:2.5rem;background:var(--blue);color:#fff;padding:3.5rem var(--gutter)}
footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;min-width:0}
footer a{overflow-wrap:anywhere;text-decoration:none}
footer a:hover{text-decoration:underline}
.footer-name{font-family:Helvetica,Arial,sans-serif;font-size:var(--heading);font-weight:700;line-height:1.12;color:var(--yellow);margin-bottom:.5rem}
.footer-name:hover{text-decoration:none}
footer .eyebrow{color:var(--yellow)}
footer p{margin:0}
footer :focus-visible{outline-color:var(--yellow)}
.print{border:0;background:none;color:inherit;padding:0;text-decoration:underline;text-align:left}
.reveal-item{opacity:0;transform:translateY(18px);transition:opacity .65s var(--reveal-delay,0ms),transform .65s var(--reveal-delay,0ms)}
.reveal-item.is-visible{opacity:1;transform:none}
@media(min-width:1600px){body{background:#fff}}
@media(max-width:1100px){
  .header-top{align-items:flex-start}.meta-nav{max-width:28rem}
  .reference-grid{grid-template-columns:1fr 1fr}
  .hero{gap:2rem}.hero h1{font-size:clamp(2.45rem,5.2vw,4rem)}
  .areas>a{padding:1.5rem}
  .field-group{grid-template-columns:1fr;gap:1.75rem}
  .field-heading{display:grid;grid-template-columns:1fr 2fr;gap:2rem}
  .field-heading h2{margin:0}
  footer{grid-template-columns:1fr 1fr}footer>div:last-child{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:1rem 2rem}
}
@media(max-width:800px){
  .header-top{flex-direction:column;gap:1.15rem;padding-bottom:1.25rem}
  .meta-nav{max-width:none;justify-content:flex-start;gap:.45rem 1.25rem}
  .service-nav{grid-template-columns:1.15fr 1fr}
  .service-nav>a{padding:.85rem 1rem;gap:.65rem;align-items:flex-start}
  .service-nav .service-dot{margin-top:.4rem}
  .service-nav>a .arrow-icon{margin-top:.2rem}
  .hero{grid-template-columns:1fr 1fr;gap:1.5rem}
  .hero h1{font-size:clamp(2.3rem,5.2vw,3.7rem);hyphens:auto}
  .intro,.page-grid,.section-heading,.registration-section{grid-template-columns:1fr;gap:1.5rem}
  .areas{grid-template-columns:1fr}
  .areas>a{min-height:13rem;padding:2rem}
  .areas>a+a{border-left:0;border-top:1px solid var(--line)}
  .areas>a::after{right:-4rem;top:2rem;transform:scale(.7)}
  .areas>a:hover::after{transform:translateX(-.7rem)}
  .pathway{padding:1.8rem;border-bottom-right-radius:3rem}
  .pathway h2{font-size:var(--heading)}
  .approach-intro,.bio-layout{grid-template-columns:1fr 1.3fr;gap:2rem;align-items:start}
  .booking-cta{align-items:flex-start}
  .seminar-card{grid-template-columns:1fr;gap:1.8rem}
  .seminar-date{flex-direction:row;flex-wrap:wrap;gap:.7rem 1.5rem;align-items:center}
  .seminar-date .eyebrow{width:100%}
  .training-section{grid-template-columns:1fr;gap:2.5rem}
  .contact-layout{grid-template-columns:1fr;gap:3rem}
  .contact-details{max-width:40rem}
  .feature-card,.method-card,.reference-card{padding:1.75rem}
}
@media(max-width:700px){
  .hero{grid-template-columns:1fr}
  .hero-visual{width:100%;max-width:20rem;justify-self:center}
}
@media(max-width:600px){
  :root{--display:clamp(2.25rem,8vw,3rem);--heading:clamp(1.55rem,5.7vw,1.9rem)}
  .site-header{padding-top:1.2rem}
  .brand{gap:.7rem;font-size:1.35rem}
  .brand img,.brand-mark{flex-basis:55px;width:55px;height:44px}
  .brand small{margin-top:.35rem}
  .service-nav{grid-template-columns:1fr}
  .service-nav>a{min-height:3.75rem;align-items:center;gap:.75rem}
  .service-nav .service-dot,.service-nav>a .arrow-icon{margin-top:0}
  .context-nav{gap:.4rem 1.1rem}
  .hero{grid-template-columns:1fr;gap:2.5rem;padding-top:2.8rem}
  .hero h1{font-size:clamp(2.2rem,8.8vw,3.3rem);hyphens:none;line-height:1.12}
  .hero-visual{max-width:19rem;width:100%;justify-self:center}
  .hero-portrait img{aspect-ratio:3/4}
  .pathways,.feature-grid,.method-grid,.reference-grid,.motto-grid{grid-template-columns:1fr}
  .pathway{min-height:25rem}
  .pathway-shape{right:-7rem}
  .areas>a::after{right:-6.3rem;transform:none}
  .areas>a:hover::after{transform:translateX(-1rem)}
  .page-head{margin-top:1.4rem;padding:2rem 1.4rem 2.5rem;border-bottom-right-radius:3rem}
  .page-head h1{hyphens:auto}
  .head-shape{width:12rem;height:12rem;border-width:1rem;right:-5rem;top:-5rem}
  .head-shape::after{width:1.5rem;height:1.5rem}
  .lead{font-size:var(--heading);line-height:1.5}
  .field-heading,.field-list{grid-template-columns:1fr;gap:1rem}
  .field-list li{padding:1.25rem}
  .approach-intro,.bio-layout{grid-template-columns:1fr}
  .approach-portrait,.bio-photo{width:100%;max-width:19rem;justify-self:center}
  .booking-cta{flex-direction:column;padding-block:2.5rem}
  .booking-cta .button{max-width:100%}
  .statement-band,.training-section{border-bottom-right-radius:3rem}
  .reference-card{padding:1.75rem}
  .reference-card h3{max-width:100%}
  .anchor-nav{gap:1.5rem}
  .actions{gap:1.25rem}
  .actions .button{max-width:100%}
  .contact-form .button{max-width:100%}
  footer{grid-template-columns:1fr;gap:2.25rem}
  footer>div:last-child{flex-direction:column;gap:.85rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal-item{opacity:1;transform:none}
  .logo-ring,.logo-dot,.shape-composition>div,.head-shape{transform:none!important}
  .portrait img{transform:none!important;border-top-right-radius:4rem!important}
}
.site-header .header-top{align-items:center;flex-direction:row;flex-wrap:wrap;padding-bottom:1.4rem;border-bottom:1px solid var(--line)}
.main-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.4rem;margin-left:auto}
.main-nav a{display:flex;align-items:center;justify-content:center;min-height:2.9rem;padding:.55rem .95rem;text-decoration:none;font-weight:700;color:var(--blue);border-radius:0 0 1rem 0;border:1px solid transparent}
.main-nav a:hover{background:var(--blue-pale)}
.main-nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.4em}
.main-nav .nav-blue{background:var(--blue-pale)}
.main-nav .nav-blue:hover,.main-nav .nav-blue[aria-current="page"]{background:var(--blue);color:#fff}
.main-nav .nav-warm{background:var(--warm-pale)}
.main-nav .nav-warm:hover,.main-nav .nav-warm[aria-current="page"]{background:var(--yellow)}
.main-nav .nav-contact{border-color:var(--blue)}
.section-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.7rem;margin:0 var(--gutter);padding:1.2rem 0;border-bottom:1px solid var(--line);color:var(--blue)}
.section-nav a{display:inline-flex;align-items:center;min-height:2.75rem;font-weight:700;text-decoration:none}
.section-nav a:hover{text-decoration:underline;text-decoration-thickness:2px}
.section-nav+.intro{border-top:0}
.chapter-head{position:relative;isolation:isolate;overflow:hidden;margin:var(--space) var(--gutter) 0;padding:clamp(1.75rem,4vw,3.4rem);background:var(--blue-pale);border-radius:0 0 4rem 0;color:var(--blue)}
.chapter-head h2{margin-top:1rem}
.chapter-head .lead{margin-top:1.4rem;max-width:51rem}
.anchor-target{display:block;height:0}
.areas-pair{grid-template-columns:1fr 1fr;margin-top:var(--space)}
.areas-single{grid-template-columns:1fr}
.areas-single>a{min-height:0;display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:1rem 3rem}
.areas-single>a>span:last-of-type{grid-column:2;justify-content:flex-start;gap:1rem;margin-top:0}
.reference-intro{margin-bottom:2.5rem;max-width:56rem}
.reference-intro .lead{font-size:var(--copy);font-weight:400;line-height:1.7}
.reference-intro .text-link{margin-top:1rem}
.person-path{margin:0 var(--gutter);padding:1.5rem 0;border-top:1px solid var(--line)}
.page-person .partners-section{margin-top:0}
@media(max-width:1100px){
  .main-nav{margin-left:0;justify-content:flex-start}
}
@media(max-width:700px){
  .site-header .header-top{align-items:flex-start;flex-direction:column;gap:1.2rem}
  .main-nav{gap:.35rem;width:100%}
  .main-nav a{padding:.55rem .75rem}
  .section-nav{gap:.3rem 1.1rem;font-size:1rem}
  .areas-pair{grid-template-columns:1fr}
  .areas-single>a{grid-template-columns:1fr;gap:1rem}
  .areas-single>a>span:last-of-type{grid-column:1}
  .chapter-head{padding:2rem 1.4rem;border-bottom-right-radius:3rem}
}
@media print{
  body{background:#fff;font-size:11pt}
  .site-header,footer,.booking-cta,.skip,.shape-composition,.head-shape,.band-shape,.pathway-shape,.print,.section-nav{display:none!important}
  h1{font-size:28pt}h2,h3{font-size:18pt}
  main,.page-head,.page-grid,.fields-content{margin:0}
  .reveal-item{opacity:1;transform:none}
  .page-head,.methods-section,.partners-section,.training-section{background:#fff}
  .reference-grid,.feature-grid,.method-grid{grid-template-columns:1fr 1fr}
  .reference-card,.seminar-card,.method-card{break-inside:avoid}
  details>summary{display:none}details>*,details:not([open])>*{display:block}
  .portrait{max-width:16rem}
}
