:root{--navy:#082b4c;--blue:#0782c8;--cyan:#2dafe0;--teal:#00b3ad;--white:#fafcfc;--tint:#edf5f8;--muted:#66757f;--line:#dceaf0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--navy);background:var(--white);font-size:16px;line-height:1.75}h1,h2,h3,p{margin:0}h1,h2,.problem-panel h3,.fit-note h3,.big-questions,.pullquote{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.06}h1{font-size:clamp(3rem,4.7vw,5.3rem);letter-spacing:-.025em}h2{font-size:clamp(2.3rem,3.4vw,3.65rem);letter-spacing:-.02em}h3{font-size:1.2rem;line-height:1.4}p{margin:1rem 0;color:#455e70}em{font-style:normal;color:var(--blue)}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block;object-fit:cover}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.section{padding:90px 0;scroll-margin-top:40px}.section-head{margin-bottom:30px;max-width:850px}.section-head p{max-width:660px}.eyebrow{display:block;font-size:.78rem;font-weight:800;letter-spacing:.12em;color:var(--blue);margin-bottom:15px;text-transform:uppercase}.button{display:inline-flex;justify-content:center;align-items:center;padding:14px 25px;border:1px solid var(--navy);background:var(--navy);color:white;border-radius:30px;font-size:.88rem;font-weight:700;line-height:1.5;transition:background .25s,transform .25s,box-shadow .25s;min-height:48px}.button:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-3px);box-shadow:0 6px 20px #0782c822}.button.light{background:white;color:var(--navy);border-color:white}.button.light:hover{background:var(--tint)}.button.outline{background:transparent;color:var(--navy)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:100}.skip:focus{top:12px}header{position:sticky;top:0;background:#fafcfcf5;backdrop-filter:blur(14px);z-index:50;border-bottom:1px solid #e5eff3}.nav{display:flex;justify-content:space-between;align-items:center;min-height:93px;gap:30px}.brand strong{font-family:'DM Serif Display',Georgia,serif;font-size:1.7rem;line-height:1.1;display:block;font-weight:400}.brand span{display:block;font-size:.65rem;letter-spacing:.05em;text-transform:uppercase;margin-top:4px}nav{display:flex;align-items:center;gap:25px}nav>a{font-size:.8rem;font-weight:700;white-space:nowrap}nav>a:hover{color:var(--blue)}nav .button{font-size:.76rem;padding:11px 20px}.menu{display:none}.hero{background:linear-gradient(115deg,#fafcfc 35%,#eaf6fa);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:30px;min-height:655px;align-items:center}.hero-copy{padding:55px 0;position:relative;z-index:2}.hero-copy .lead{font-size:1.08rem;line-height:1.7;max-width:520px;font-weight:600;margin-top:25px}.hero-copy p{max-width:505px}.hero-copy .button{margin-top:18px}.hero-note{display:block;font-size:.79rem;color:var(--muted);margin-top:15px}.hero-visual{position:relative;align-self:stretch;min-height:600px;display:flex;align-items:flex-end}.portrait-frame{height:610px;width:100%;overflow:hidden;border-radius:180px 0 0 90px;position:relative;z-index:1}.portrait-frame img{width:100%;height:100%;object-position:center 30%}.floating-label{position:absolute;z-index:3;right:-10px;top:72px;padding:21px 27px;background:#ffffffec;border:1px solid #c9e6ee;border-radius:10px;box-shadow:0 8px 28px #082b4c15;font-weight:700;line-height:1.45;font-size:1.12rem;animation:float 6s ease-in-out infinite}.floating-label span{display:block}.floating-label i{display:block;width:58px;height:2px;background:var(--teal);margin-top:12px}.framework{position:absolute;right:-20px;top:230px;background:#fffdf3e0;background:#ffffffdc;backdrop-filter:blur(8px);border:1px solid white;border-radius:12px;padding:17px 22px;z-index:3;box-shadow:0 10px 30px #082b4c12}.framework span{display:block;font-size:.82rem;margin:10px 0}.framework span:before{content:'';display:inline-block;width:10px;height:10px;border:2px solid var(--teal);border-radius:50%;margin-right:13px}.ripple{position:absolute;border:1px solid #2dafe064;border-radius:50%;width:370px;height:370px;top:70px;left:-65px;z-index:2;pointer-events:none;box-shadow:0 0 0 8px #2dafe00a,0 0 0 16px #2dafe027,0 0 0 24px #2dafe009,0 0 0 32px #2dafe026,0 0 0 40px #2dafe009;animation:ripple 12s ease-in-out infinite}.ripple-two{top:auto;bottom:35px;left:auto;right:-100px;width:240px;height:240px;opacity:.5;animation-delay:-6s}.specialties{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;background:#f5fbfd}.specialties .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.specialties span{font-size:.79rem;font-weight:700}.specialties i{width:4px;height:4px;background:var(--teal);border-radius:50%}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.problem-panel{background:linear-gradient(135deg,#edf7fb,#f2fbfa);padding:35px 40px;border-radius:8px}.checks{list-style:none;padding:0;margin:0}.checks li{position:relative;padding-left:29px;margin:14px 0;color:#455e70;font-size:.94rem}.checks li:before{content:'✓';position:absolute;left:0;top:3px;width:18px;height:18px;border:1.5px solid var(--teal);color:var(--teal);border-radius:50%;font-size:.7rem;line-height:15px;text-align:center;font-weight:800}.small-label{display:block;font-size:.87rem;margin:20px 0 10px;color:var(--muted)}.problem-panel h3{font-size:2.5rem}.problem-panel h3 em{color:var(--teal)}.image-frame{position:relative;border-radius:0 70px 0 70px;overflow:hidden;min-height:350px}.image-frame img{width:100%;height:400px}.image-caption{position:absolute;bottom:22px;left:22px;background:#ffffffee;padding:10px 18px;border-radius:3px;font-size:.83rem;font-weight:700}.process-list>div{display:grid;grid-template-columns:44px 110px 1fr;gap:12px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.step{background:linear-gradient(120deg,var(--cyan),var(--teal));width:40px;height:40px;display:grid;place-items:center;color:white;border-radius:50%;font-family:Georgia,serif;font-size:1.3rem}.process-list h3{font-size:1rem}.process-list p{font-size:.8rem;margin:0}.diagnostic-tags{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px;justify-content:center}.diagnostic-tags span,.experience-tags span{border:1px solid var(--line);padding:7px 12px;font-size:.78rem;border-radius:3px;color:#496579}.tint{background:var(--tint)}.fit-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px}.fit-note{background:#fafcfc;padding:35px;border-left:2px solid var(--teal)}.fit-note h3{font-size:2.1rem}.fit-note p{font-size:.94rem}.fit-note .button{margin-top:20px}details{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}summary{cursor:pointer;font-size:.85rem;font-weight:700;min-height:35px}.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.number{font-family:'DM Serif Display',Georgia,serif;font-size:2.7rem;color:var(--cyan);line-height:1.2;display:block;margin-bottom:16px}.process-card{border-right:1px solid var(--line);padding-right:22px}.process-card:last-child{border:0}.process-card h3{margin-bottom:9px}.process-card strong{font-size:.89rem;line-height:1.6;display:block}.process-card p{font-size:.88rem}.service-card{background:#fafcfc;border:1px solid #cee5ef;padding:28px 23px;border-radius:10px;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-7px);box-shadow:0 14px 35px #082b4c0e}.service-card h3{font-size:1.07rem}.service-card p{font-size:.88rem}.service-card>a{font-size:.81rem;font-weight:800;color:var(--blue);margin-top:auto;padding-top:20px}.service-card details{margin-bottom:18px}.noise{display:flex;flex-wrap:wrap;gap:15px;padding:35px;background:#edf5f8;transform:rotate(-2deg)}.noise span{font-size:1.15rem;color:#7b92a3}.noise span:nth-child(3n){font-size:1.65rem;color:#356382}.pullquote{font-size:1.8rem;margin-top:30px;color:var(--blue)}.experience-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.about-photo{position:relative;padding:0 15px 30px 0}.about-photo img{width:100%;aspect-ratio:1.1;object-position:center 40%;border-radius:60px 0 60px 0}.experience-stamp{position:absolute;right:0;bottom:0;background:var(--navy);color:white;display:flex;align-items:center;gap:18px;padding:20px 25px;border-radius:8px}.experience-stamp strong{font-family:Georgia,serif;font-size:3rem;line-height:1}.experience-stamp span{font-size:.8rem;line-height:1.5}.dark{background:var(--navy);color:white}.dark p{color:#c5d7e3}.dark .eyebrow{color:#62d4e3}.dark em{color:#55c9d8}.philosophy-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:700px;border-top:1px solid #ffffff26;padding-top:25px}.big-questions{font-size:2.3rem;max-width:900px;margin-top:50px}.big-questions p{color:white}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.work-card{border:1px solid var(--line);padding:30px;border-radius:6px}.work-card h3{font-size:1.25rem}.work-card dl{font-size:.87rem}.work-card dt{font-weight:800;margin-top:16px}.work-card dd{margin-left:0;color:var(--muted)}.pending{display:inline-block;border:1px solid var(--line);font-size:.76rem;padding:5px 10px;margin-top:12px;color:var(--muted)}.proof-note{max-width:650px}.topic-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.topic-list span{border-bottom:1px solid #ffffff25;padding:10px 0;font-size:.95rem}.dark .pullquote{color:#6fd7db}.gradient{background:linear-gradient(110deg,#082b4c,#0782a9 65%,#00aaa8);color:white;padding:65px 0}.gradient .eyebrow{color:#c2ebf5}.gradient h2{font-size:2.8rem}.gradient p{color:#e4f5fa}.cta-band{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}.cta-band>div:last-child{border-left:1px solid #ffffff35;padding-left:40px}.booking-intro{max-width:720px}.booking-shell{border:1px solid var(--line);background:white;border-radius:12px;padding:15px;margin-top:35px;min-height:320px}.booking-fallback{font-size:.87rem}.booking-fallback a{color:var(--blue);text-decoration:underline}.consultation-end{text-align:center;margin-top:35px}.rippletrend-row{display:flex;align-items:center;gap:60px;justify-content:space-between}.rippletrend-row>div{max-width:750px}.rippletrend-row .button{flex-shrink:0}footer{background:#062542;color:white;padding:55px 0 35px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-top nav{flex-wrap:wrap;gap:20px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff18;margin-top:35px;padding-top:20px}.footer-bottom p{font-size:.76rem;color:#a3bfd0}.intro{animation:rise 1s both}.hero-copy .intro:nth-child(2){animation-delay:.12s}.hero-copy .intro:nth-child(3){animation-delay:.24s}.hero-copy .intro:nth-child(4){animation-delay:.36s}.hero-copy .intro:nth-child(5){animation-delay:.48s}.hero-visual.intro{animation-delay:.2s}.js-motion .reveal{opacity:0;transform:translateY(35px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.65,.25,1);transition-delay:var(--delay,0ms)}.js-motion .reveal.visible{opacity:1;transform:none}@keyframes rise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes ripple{0%,100%{transform:scale(.98);opacity:.5}50%{transform:scale(1.08);opacity:.9}}@media(min-width:1400px){.hero-grid{min-height:720px}.portrait-frame{height:680px}}@media(max-width:1100px){.wrap{width:calc(100% - 56px)}nav{gap:15px}nav>a{font-size:.72rem}.brand strong{font-size:1.5rem}.hero-grid{gap:20px}.hero h1{font-size:3.8rem}.hero-visual{min-height:570px}.portrait-frame{height:540px}.framework{right:-10px}.floating-label{right:0}.four-col{gap:17px}.service-card{padding:23px 17px}.two-col{gap:40px}}@media(max-width:850px){.wrap{width:calc(100% - 40px)}.nav{min-height:80px}.menu{display:block;border:1px solid var(--line);padding:9px 14px;background:white;color:var(--navy);border-radius:5px}.nav nav{display:none;position:absolute;top:80px;left:0;width:100%;background:var(--white);padding:25px;box-shadow:0 10px 20px #082b4c10;flex-direction:column;align-items:stretch;gap:15px}.nav nav.open{display:flex}.nav nav>a{font-size:1rem}.hero-grid{grid-template-columns:1fr 1fr;gap:15px;min-height:560px}.hero h1{font-size:3rem}.hero-copy{padding:40px 0}.desktop{display:none}.hero-copy .lead{font-size:.94rem}.hero-copy p{font-size:.9rem}.hero-visual{min-height:500px}.portrait-frame{height:480px;border-radius:100px 0 0 50px}.floating-label{padding:14px;top:50px;font-size:.9rem}.framework{display:none}.ripple{width:230px;height:230px;left:-10px}.specialties .wrap{justify-content:center}.specialties i{display:none}.two-col,.fit-grid{gap:35px}.four-col{grid-template-columns:1fr 1fr;gap:28px}.process-card:nth-child(2){border:0}.three-col{grid-template-columns:1fr}.work-card dl{display:grid;grid-template-columns:110px 1fr;gap:10px}.work-card dt,.work-card dd{margin:0}.footer-top{align-items:flex-start;flex-direction:column}.topic-list{grid-template-columns:1fr}.cta-band{gap:30px}.image-frame img{height:350px}.process-list>div{grid-template-columns:40px 1fr}.process-list p{grid-column:2}.rippletrend-row{gap:25px}.rippletrend-row .button{white-space:nowrap}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.section{padding:58px 0}.brand strong{font-size:1.4rem}.brand span{font-size:.57rem}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:40px 0 30px}.hero h1{font-size:clamp(2.65rem,11vw,3.4rem);max-width:450px}.hero-copy .lead{font-size:1rem;max-width:450px}.hero-copy p{font-size:.95rem}.hero-note{font-size:.74rem}.hero-visual{min-height:440px;margin-left:35px}.portrait-frame{height:430px;border-radius:140px 0 0 65px}.floating-label{top:40px;right:4px}.ripple{top:55px;left:-35px}.specialties{padding:18px 0}.specialties .wrap{gap:9px 18px}.specialties span{font-size:.72rem}.two-col,.fit-grid,.cta-band{grid-template-columns:1fr;gap:30px}.problem-panel{padding:25px}.problem-panel h3{font-size:2.2rem}.image-frame{min-height:0}.image-frame img{height:300px}.process-list>div{grid-template-columns:42px 100px 1fr;gap:8px}.process-list p{grid-column:auto}.process-list h3{font-size:.95rem}.process-list p{font-size:.75rem}.diagnostic-tags{justify-content:flex-start;gap:8px}.diagnostic-tags span{font-size:.74rem}.four-col{grid-template-columns:1fr;gap:25px}.process-card{border-right:0;border-bottom:1px solid var(--line);padding:0 0 25px}.process-card:nth-child(2){border-bottom:1px solid var(--line)}.process-card .number{float:left;margin-right:20px}.process-card p{margin-left:70px}.service-card{padding:25px}.service-card h3{font-size:1.2rem}.service-card p{font-size:.95rem}.service-card>a{font-size:.88rem}.services{gap:16px}.fit-note{padding:28px}.philosophy-grid{gap:20px}.big-questions{font-size:1.9rem}.topic-list{grid-template-columns:1fr 1fr;gap:10px 20px}.topic-list span{font-size:.85rem}.cta-band>div:last-child{padding-left:0;border-left:0}.gradient h2{font-size:2.35rem}.gradient{padding:50px 0}.rippletrend-row{flex-direction:column;align-items:flex-start}.footer-bottom{align-items:flex-start;flex-direction:column;gap:5px}.footer-bottom p{margin:4px 0}.footer-top nav{gap:16px 20px}.booking-shell{padding:0}.consultation-end{font-size:.95rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
nav>a,nav .button,.specialties span,.hero-note,.framework span,.diagnostic-tags span,.experience-tags span,.service-card>a,.pending,.booking-fallback,.image-caption{font-size:.875rem}.process-list p{font-size:.875rem}.footer-bottom p{font-size:.8rem}@media(max-width:1100px) and (min-width:851px){.nav{gap:15px}.nav nav{gap:13px}.nav .brand{min-width:170px}.nav nav .button{padding:10px 13px}}@media(max-width:600px){.process-list>div{grid-template-columns:42px 1fr}.process-list p{grid-column:2;font-size:.875rem}.specialties span{font-size:.875rem}.hero-note{font-size:.875rem}}
.word-mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}.word{display:inline-block;opacity:0;transform:translateY(110%);transition:transform .9s cubic-bezier(.22,.61,.36,1),opacity .7s;transition-delay:var(--word-delay,0ms)}.words-visible .word{transform:translateY(0);opacity:1}.image-reveal img{clip-path:inset(0 100% 0 0);transform:scale(1.06);transition:clip-path 1.25s cubic-bezier(.22,.61,.36,1),transform 1.6s ease}.image-visible img{clip-path:inset(0 0 0 0);transform:scale(1)}.experience-stamp strong{font-variant-numeric:tabular-nums;min-width:3ch}.js-motion .reveal{transition-duration:1s;transform:translateY(45px)}.js-motion .reveal.visible{transform:none}.service-card{transition:transform .45s,box-shadow .45s}.service-card:hover{transform:translateY(-7px)}@media(prefers-reduced-motion:reduce){.word{opacity:1;transform:none}.image-reveal img{clip-path:none;transform:none}}

.about-photo img{height:auto;aspect-ratio:4/5;object-position:center 30%}
/* Keep animated ripples above the hero background and behind the portrait. */
.hero-visual{isolation:isolate}.hero-visual .ripple{z-index:0}.hero-visual .portrait-frame{z-index:1}.hero-visual .floating-label,.hero-visual .framework{z-index:3}

.institution-strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0 36px}.institution-label{text-align:center;font-size:.875rem;font-weight:600;color:var(--muted);margin:0 0 25px}.institution-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:22px 30px}.institution-logo{width:145px;height:85px;display:flex;align-items:center;justify-content:center}.institution-logo img{width:auto;height:auto;max-width:145px;max-height:78px;object-fit:contain}@media(max-width:600px){.institution-strip{padding:25px 0}.institution-logos{gap:20px}.institution-logo{width:calc((100% - 40px)/3);height:65px}.institution-logo img{max-width:100%;max-height:60px}.institution-label{max-width:290px;margin:0 auto 22px}}

/* Seamless, single-row institution strip. */
.institution-strip{padding:22px 0 26px;overflow:hidden}.institution-label{margin-bottom:18px}.institution-marquee{overflow:hidden;width:100%;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}.institution-track{display:flex;width:max-content;animation:institution-scroll 65s linear infinite;will-change:transform}.institution-track .institution-logos{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:36px;flex-shrink:0;padding-right:36px}.institution-track .institution-logo{width:145px;height:72px;flex:0 0 145px}.institution-track .institution-logo img{max-width:145px;max-height:65px;width:auto;height:auto}.institution-marquee:hover .institution-track{animation-play-state:paused}@keyframes institution-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(max-width:600px){.institution-strip{padding:20px 0}.institution-track .institution-logos{gap:30px;padding-right:30px}.institution-track .institution-logo{width:130px;height:65px;flex-basis:130px}.institution-track .institution-logo img{max-width:130px;max-height:60px}.institution-label{max-width:none;font-size:.875rem}}@media(prefers-reduced-motion:reduce){.institution-track{animation:none;transform:none}.institution-marquee{overflow-x:auto;mask-image:none}.institution-track>.institution-logos[aria-hidden]{display:none}}

.footer-affiliations{display:flex;align-items:center;justify-content:flex-end;gap:30px;margin-top:32px}.footer-affiliations img{object-fit:contain;width:auto;height:auto}.footer-affiliations .bcbp-logo{width:82px;height:82px}.footer-affiliations .bni-logo{width:132px;height:auto;border-radius:5px}.footer-bottom{margin-top:26px}@media(max-width:850px){.footer-affiliations{justify-content:flex-start}}@media(max-width:600px){.footer-affiliations{gap:25px;margin-top:28px}.footer-affiliations .bcbp-logo{width:72px;height:72px}.footer-affiliations .bni-logo{width:120px}}

/* Supplied horizontal brand lockup */
header .nav-brand{display:flex;align-items:center;flex-shrink:0;min-width:0;width:245px}header .nav-brand img{display:block;width:100%;height:auto} @media(max-width:1100px){header .nav-brand{width:220px}} @media(max-width:600px){header .nav-brand{width:210px;max-width:calc(100% - 80px)}}

.hero-secondary{margin:12px 0 0 12px}.hero-note{max-width:440px}.scope-note{margin-top:28px;max-width:760px;color:var(--muted)}.bio-perspective{padding:40px;background:#edf6f5;border-radius:24px;align-self:center}.anchor-alias{display:block;scroll-margin-top:110px}.service-card p{overflow-wrap:anywhere}.nav nav .button{max-width:190px;text-align:center;line-height:1.4;padding:12px 16px}.four-col>*{min-width:0}@media(max-width:600px){.hero-secondary{margin:12px 0}.bio-perspective{padding:26px}.nav nav .button{max-width:none}}

/* Allow the longer booking label to stay inside its navigation button. */
header .nav nav .button{white-space:normal;flex-shrink:0;width:190px;max-width:190px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:normal;line-height:1.4;padding:12px 16px} @media(max-width:850px){header .nav nav .button{width:100%;max-width:none}}
