:root{--ink:#102f43;--green:#173c35;--sage:#616f50;--cream:#f8f7f1;--muted:#59665f;--line:#d9ded3;--pale:#edf0e7;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 var(--sans)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.025em}h1{font-size:clamp(70px,7.4vw,112px);color:var(--green)}h2{font-size:clamp(43px,4.1vw,64px)}h3{font-size:20px;line-height:1.3;font-weight:500}em{font-style:italic;color:var(--sage)}p+p{margin-top:20px}.section-shell{width:min(1240px,calc(100% - 100px));margin-inline:auto}.section-space{padding-block:110px}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--sage);margin-bottom:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--green);color:white;padding:15px 24px;border:1px solid var(--green);border-radius:3px;font-size:13px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#29564a;transform:translateY(-2px)}.button span{font-size:21px;font-weight:400}.button.small{padding:11px 19px;gap:24px}.text-link{background:none;border:0;padding:0 0 5px;display:inline-flex;align-items:center;gap:20px;font-size:13px;font-weight:600;border-bottom:1px solid currentColor}.text-link span{font-size:20px}.text-link:hover{color:var(--sage)}:focus-visible{outline:3px solid #a76c35;outline-offset:5px}.header{background:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.nav-shell{width:min(1320px,calc(100% - 70px));margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:111px;gap:20px}.brand{display:block;width:104px;padding:8px 0}.brand img{width:100%;height:auto;mix-blend-mode:multiply}.header nav{display:flex;gap:34px;align-items:center;font-size:12px;font-weight:500}.header nav>a:not(.button):hover{color:var(--sage)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-block:65px 85px;align-items:center}.hero .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:24px}.line{height:1px;width:30px;background:var(--sage)}.intro{max-width:430px;font-size:16px;line-height:1.8;color:var(--muted);margin-top:28px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:30px;flex-wrap:wrap}.hero-note{font-size:11px;letter-spacing:.015em;color:var(--muted);margin-top:24px}.hero-visual{position:relative;padding:27px 22px 25px 0;align-self:stretch;display:flex;align-items:center}.hero-image{height:510px;width:100%;object-fit:cover;object-position:60% center;border-radius:150px 4px 4px 4px}.image-caption{position:absolute;top:0;left:24px;display:flex;gap:8px;align-items:center;font-size:10px;letter-spacing:.07em;text-transform:uppercase}.dot{width:6px;height:6px;border-radius:50%;background:var(--sage)}.hero-statement{position:absolute;bottom:9px;right:0;background:var(--green);color:var(--cream);padding:27px 38px;display:flex;gap:26px;align-items:center;box-shadow:0 8px 24px #173c350d}.hero-statement p{font:28px/1.2 var(--serif)}.hero-statement em{color:#c8d3ac}.small-star{color:#c8d3ac;font-size:46px}.vertical-note{position:absolute;right:-13px;top:40px;writing-mode:vertical-rl;text-transform:uppercase;font-size:9px;letter-spacing:.17em;color:var(--sage)}.promise-band{background:var(--green);color:#f1f0e7}.promise-inner{display:flex;justify-content:space-between;align-items:center;padding-block:25px;font:21px/1.4 var(--serif);gap:25px}.separator{color:#b9c597;font-family:var(--sans);font-size:24px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:70px}.approach-copy>p{font-size:14px;color:var(--muted)}.approach-copy .lead{font-size:21px;line-height:1.5;color:var(--ink)}.approach-points{margin-top:32px}.approach-points>div{position:relative;padding:22px 0 22px 43px;border-top:1px solid var(--line)}.approach-points span{position:absolute;left:0;top:22px;color:var(--sage);font-size:11px}.approach-points h3{font-size:16px}.approach-points p{font-size:13px;color:var(--muted);margin-top:7px}.programs{background:var(--pale)}.heading-row{display:flex;justify-content:space-between;gap:40px;align-items:flex-end}.heading-row>p{font-size:14px;color:var(--muted);max-width:360px;margin-bottom:5px}.filters{display:flex;gap:8px;margin-block:40px 27px;flex-wrap:wrap}.filter{border:1px solid #cdd5c7;background:transparent;border-radius:50px;padding:9px 18px;font-size:12px;color:var(--green)}.filter.active,.filter:hover{background:var(--green);border-color:var(--green);color:white}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.course{background:var(--cream);padding:27px;min-height:228px;display:flex;flex-direction:column;border:1px solid #e0e5d9;border-radius:3px;transition:transform .2s,box-shadow .2s}.course:hover{transform:translateY(-4px);box-shadow:0 10px 24px #173c3508}.course-category{font-size:10px;letter-spacing:.13em;color:var(--sage);text-transform:uppercase;font-weight:600}.course h3{font:28px/1.12 var(--serif);margin:20px 0 15px;max-width:280px}.course p{font-size:12px;color:var(--muted);line-height:1.65;margin-bottom:20px}.course button{margin-top:auto;align-self:flex-start;color:var(--green);font-size:11px;gap:18px}.program-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:32px}.program-bottom p{font-size:11px;color:var(--muted)}.format-list{margin-top:45px}.format-list article{display:grid;grid-template-columns:75px 1fr 1.4fr 48px;gap:28px;align-items:center;border-top:1px solid var(--line);padding:30px 0}.format-list article:last-child{border-bottom:1px solid var(--line)}.format-num{font-size:12px;color:var(--sage)}.format-list h3{font:30px/1.1 var(--serif)}.format-list p{font-size:13px;color:var(--muted);max-width:400px}.round-link{border:1px solid #bdc7b8;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:22px}.round-link:hover{background:var(--green);color:white}.impact{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--cream)}.impact>img{height:100%;min-height:510px;width:100%;object-fit:cover}.impact-copy{padding:76px max(40px,calc((100vw - 1240px)/2));padding-left:65px}.impact-copy .eyebrow{color:#c7d3b2}.impact-copy h2{font-size:clamp(42px,4vw,62px)}.impact-copy h2 em{color:#bdcaa7}.impact-copy>p:not(.eyebrow){font-size:14px;color:#d0d9cf;margin-top:25px;max-width:385px}.light{margin-top:28px;color:var(--cream)}.experience{display:flex;gap:17px;align-items:center}.experience strong{font:72px/1 var(--serif);color:var(--sage)}.experience p{font-size:12px;color:var(--muted);line-height:1.5}.team-intro{max-width:590px;color:var(--muted);font-size:14px;margin-block:30px 40px}.trainer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.portrait{height:280px;border-radius:4px;overflow:hidden;background:#dce3d7;margin-bottom:23px}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.trainer-role{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--sage);min-height:30px}.trainer h3{font:29px/1.08 var(--serif);margin-top:6px;min-height:63px}.trainer>p:not(.trainer-role){font-size:12px;line-height:1.7;color:var(--muted);min-height:64px;margin-top:7px}.trainer .text-link{margin-top:20px;font-size:11px}.portrait-type{padding:25px;background:#dce3d7;display:flex;flex-direction:column;justify-content:space-between;color:var(--green)}.portrait-type span{font:80px/1 var(--serif);opacity:.6}.portrait-type p{font:29px/1.05 var(--serif)}.portrait-type.second{background:#dce4e4;color:var(--ink)}.faq-section{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;padding-bottom:110px}.faqs details{border-top:1px solid var(--line)}.faqs details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:22px 0;font-size:14px;font-weight:500}summary::-webkit-details-marker{display:none}summary span{font-size:22px;font-weight:400;color:var(--sage)}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;color:var(--muted);padding:0 30px 22px 0}.contact{background:#e9eddf}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact h2{font-size:clamp(48px,4.5vw,70px)}.contact-grid>div>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:375px;margin-top:30px}.contact-email{display:inline-flex;align-items:center;gap:20px;margin-top:26px;padding-bottom:5px;border-bottom:1px solid var(--sage);font-size:14px}.contact-email span{font-size:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:11px;font-weight:600;margin-bottom:20px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #aab5a0;background:transparent;border-radius:0;padding:10px 0;color:var(--ink);font-size:13px;resize:vertical}input::placeholder,textarea::placeholder{color:#71806f}textarea{min-height:90px}select{padding-right:20px}form .button{width:100%;justify-content:space-between;margin-top:5px}.form-note{font-size:10px;line-height:1.6;color:var(--muted);margin-top:12px}#email-fallback{margin-top:20px;padding:18px;background:#ffffff70;font-size:12px}#email-fallback button{margin-top:12px}#email-fallback textarea{font-size:11px}.footer{padding-top:45px}.footer-brand{display:flex;align-items:center;gap:28px}.footer-brand img{width:115px;height:auto;mix-blend-mode:multiply}.footer-brand p{font:24px/1.15 var(--serif);color:var(--sage)}.footer-links{display:flex;gap:30px;justify-content:flex-end;margin-top:-55px;margin-bottom:62px;font-size:12px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:23px 0;font-size:10px;color:var(--muted)}dialog{width:min(620px,calc(100% - 36px));max-height:85vh;border:0;border-radius:5px;padding:48px;background:var(--cream);color:var(--ink);box-shadow:0 20px 100px #0004}dialog::backdrop{background:#102f43a6;backdrop-filter:blur(3px)}dialog h2{font-size:43px;margin-bottom:24px}#dialog-body{font-size:14px;color:var(--muted);margin-bottom:30px}#dialog-body ul{padding-left:20px;margin-top:15px}#dialog-body li{padding:5px 0}.dialog-close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:28px;color:var(--ink)}body.modal-open{overflow:hidden}.sr-only,.skip{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{clip:auto;width:auto;height:auto;padding:12px;top:5px;left:5px;z-index:100;background:white}
@media(min-width:1600px){.hero{padding-block:90px 110px}.hero-image{height:570px}}@media(max-width:1100px){.section-shell{width:calc(100% - 64px)}.header nav{gap:22px}.hero{gap:30px}.hero-actions{gap:20px}.hero-image{height:480px}.hero-statement{padding:22px 27px}.hero-statement p{font-size:25px}.hero-statement .small-star{display:none}.impact-copy{padding:55px 35px}.portrait{height:240px}.trainer-grid{gap:18px}.trainer h3{font-size:26px}.contact-grid{gap:45px}.course{padding:22px}.hero .intro{font-size:14px}.section-space{padding-block:85px}}@media(max-width:800px){.section-shell{width:calc(100% - 40px)}.nav-shell{width:calc(100% - 40px);min-height:88px}.brand{width:81px}.menu-toggle{display:flex;align-items:center;gap:12px;border:0;background:transparent;font-size:12px;color:var(--green)}.menu-toggle span{font-size:22px}.header nav{display:none;position:absolute;left:0;right:0;top:88px;background:var(--cream);padding:25px;box-shadow:0 15px 20px #173c3510;align-items:stretch;font-size:14px}.header nav.open{display:flex;flex-direction:column;gap:23px}.hero{grid-template-columns:1fr;padding-top:45px;gap:40px}.hero h1{font-size:85px}.hero h1 br:last-of-type{display:none}.hero h1 em:after{content:' '}.hero .intro{max-width:520px;font-size:16px}.hero-visual{min-height:420px;margin-left:28px}.hero-image{height:420px;border-top-left-radius:100px}.hero-statement{bottom:0;right:0;padding:25px 35px}.hero-statement p{font-size:28px}.hero-statement .small-star{display:block}.promise-inner{gap:12px;font-size:17px;padding-block:20px}.separator{font-size:17px}.approach{grid-template-columns:1fr;gap:35px}.heading-row{align-items:flex-start;flex-direction:column;gap:25px}.heading-row>p{max-width:450px}.course-grid{grid-template-columns:repeat(2,1fr)}.format-list article{grid-template-columns:40px 1fr 40px;gap:16px}.format-list h3{font-size:28px}.format-list p{grid-column:2;grid-row:2;max-width:100%}.format-list .round-link{grid-column:3;grid-row:1 / 3}.format-num{align-self:start;padding-top:7px}.impact-copy{padding:50px 30px}.impact{grid-template-columns:1fr}.impact>img{min-height:0;height:350px}.impact-copy h2{font-size:54px}.trainer-grid{grid-template-columns:repeat(2,1fr);gap:40px 22px}.portrait{height:340px}.trainer h3{min-height:0}.trainer-role{min-height:0}.trainer>p:not(.trainer-role){min-height:43px}.team .heading-row{flex-direction:row;align-items:center}.experience strong{font-size:57px}.experience p{font-size:10px}.faq-section{grid-template-columns:1fr;gap:30px;padding-bottom:80px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-grid>div>p:not(.eyebrow){max-width:550px}.footer-links{margin:30px 0;justify-content:flex-start}.footer-bottom{flex-wrap:wrap;gap:12px}.footer-bottom span:nth-child(2){display:none}.footer-bottom a{margin-left:auto}}@media(max-width:480px){.section-space{padding-block:65px}h2{font-size:45px}.hero h1{font-size:72px}.hero h1 br:last-of-type{display:block}.hero h1 em:after{content:none}.hero-actions{align-items:flex-start;flex-direction:column}.hero-actions .button{width:100%;justify-content:space-between}.hero-visual{margin-left:0;min-height:350px;padding-right:12px}.hero-image{height:350px;border-top-left-radius:95px}.hero-statement{padding:22px 25px;gap:20px}.hero-statement p{font-size:25px}.hero-statement .small-star{font-size:34px}.vertical-note{right:-8px}.promise-inner{flex-direction:column;padding-block:22px;gap:8px}.promise-inner .separator{display:none}.course-grid{grid-template-columns:1fr}.course{min-height:220px}.course h3{font-size:31px;max-width:100%}.program-bottom{align-items:flex-start;flex-direction:column}.program-bottom p{font-size:11px}.filters{gap:7px;margin-top:28px}.filter{padding:8px 13px;font-size:11px}.team .heading-row{flex-direction:column;align-items:flex-start}.portrait{height:210px}.trainer-grid{gap:35px 18px}.trainer h3{font-size:25px;min-height:54px}.trainer-role{font-size:8px;min-height:27px}.trainer>p:not(.trainer-role){font-size:11px;min-height:76px}.portrait-type{padding:18px}.portrait-type p{font-size:23px}.portrait-type span{font-size:60px}.form-row{grid-template-columns:1fr;gap:0}.contact-email{font-size:13px;gap:12px}.footer-brand p{font-size:23px}.footer-links{gap:22px;font-size:11px}dialog{padding:38px 25px}dialog h2{font-size:35px}.impact-copy h2{font-size:46px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

[hidden]{display:none!important}

/* Consistent, centered portrait framing at every screen size. */
.trainer-grid .portrait{height:auto;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.trainer-grid .portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.trainer-grid .portrait img[src$="tim-harms.jpg"]{object-position:50% 45%}
.hero-image{object-position:50% 50%}

/* Teamwork photo fills the section image panel. */
.impact>img{height:auto;min-height:0;aspect-ratio:1;object-fit:cover;object-position:center;background:var(--cream)}
.impact-copy{align-self:center}

/* Give the original logo a stronger presence without distorting it. */
:root{--header-height:164px}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
.nav-shell{min-height:var(--header-height)}
.brand{width:176px;flex-shrink:0}
.footer-brand img{width:168px;flex-shrink:0}
@media(max-width:1000px){
 :root{--header-height:128px}
 .nav-shell{width:calc(100% - 40px);min-height:var(--header-height)}
 .brand{width:134px}
 .menu-toggle{display:flex;align-items:center;gap:12px;border:0;background:transparent;font-size:12px;color:var(--green)}
 .menu-toggle span{font-size:22px}
 .header nav{display:none;position:absolute;left:0;right:0;top:var(--header-height);background:var(--cream);padding:25px;box-shadow:0 15px 20px #173c3510;align-items:stretch;font-size:14px}
 .header nav.open{display:flex;flex-direction:column;gap:23px}
 .footer-brand img{width:144px}
}
