@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@400;600;800&display=swap');
:root{--ink:#25205F;--dark:#191030;--accent:#675CFF;--lila:#B59CFF;--pale:#F1EDFF;--paper:#FCFBFF;--line:#CFBFFF}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.75 Mulish,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.brand{white-space:nowrap;hyphens:none;display:inline-block}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:white;padding:12px}.skip:focus{top:12px}.header{background:var(--paper);border-bottom:1px solid var(--line)}.head{display:flex;justify-content:space-between;align-items:center;min-height:106px;gap:30px}.wordmark{text-decoration:none;font-size:2.35rem;font-weight:850;letter-spacing:-.08em;line-height:1.1}.wordmark small{display:block;letter-spacing:.1em;font-size:.66rem;font-weight:600;margin-top:9px}.nav{display:flex;align-items:center;gap:29px}.nav a{text-decoration:none;font-size:.9rem;font-weight:700}.nav a[aria-current=page]:not(.button){text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px}.nav a:hover{color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:15px 25px;background:var(--ink);color:white;text-decoration:none;font-size:.94rem;font-weight:750;border:1px solid transparent;border-radius:3px;min-height:52px}.button:after{content:'↗';font-size:1.3rem}.button:hover{background:var(--dark);color:white}.nav .button{padding:11px 20px;min-height:45px}.textlink{font-weight:750;text-decoration:none;border-bottom:1px solid currentColor;display:inline-block;padding-bottom:5px}.textlink:after{content:' ↗';padding-left:15px}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:34px}.eyebrow{font-size:.78rem;letter-spacing:.15em;font-weight:800;line-height:1.6;margin:0 0 28px;text-transform:uppercase}h1,h2,h3{font-weight:750;line-height:1.08;letter-spacing:-.045em;margin:0;text-wrap:balance}h1{font-size:clamp(3.4rem,6.7vw,6.3rem);max-width:850px}h2{font-size:clamp(2.4rem,4vw,4rem);max-width:720px}h3{font-size:1.65rem}p{margin:0 0 19px}p:last-child{margin-bottom:0}.hero{padding:84px 0 72px;background:var(--pale)}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end}.hero-copy{padding-bottom:5px;max-width:485px}.hero-copy p:first-child{font-weight:700;font-size:1.2rem}.hero h1{margin-bottom:10px}.hero-foot{margin-top:65px;padding-top:23px;border-top:1px solid var(--line);display:flex;gap:24px;justify-content:space-between;font-size:.83rem;font-weight:650}.section{padding:108px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px}.prose{max-width:640px}.prose .textlink{margin-top:20px}.dark{background:var(--dark);color:var(--paper)}.dark .eyebrow{color:var(--line)}.dark .button{background:var(--lila);color:var(--dark)}.lila{background:var(--lila)}.pale{background:var(--pale)}.audience{margin-top:58px;border-top:1px solid var(--line)}.audience a{display:flex;align-items:center;gap:30px;padding:23px 0;text-decoration:none;border-bottom:1px solid var(--line);transition:padding .2s,background .2s}.audience a:hover{padding-inline:16px;background:var(--pale)}.audience .num{font-size:.84rem}.audience .name{font-size:clamp(1.3rem,2.7vw,2rem);font-weight:650;letter-spacing:-.025em}.audience .arrow{margin-left:auto;font-size:1.7rem}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:64px;border-top:1px solid #25205f55;padding-top:30px}.step-number{font-size:.88rem;margin-bottom:35px}.steps h3{margin-bottom:12px}.portrait{aspect-ratio:4/5;background:var(--pale);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;text-align:center;padding:35px}.portrait p{font-size:.9rem}.portrait strong{font-size:1.2rem;display:block;margin-bottom:9px}.about-top{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;align-items:start}.about-top h2{margin-bottom:34px}.tags{display:flex;flex-wrap:wrap;gap:0 30px;margin-top:45px;max-width:1000px}.tags span{font-size:1.25rem;padding:15px 0;border-bottom:1px solid var(--line)}.closing{text-align:center}.closing h2{margin:auto;max-width:850px}.closing .prose{margin:30px auto}.closing .actions{justify-content:center}.motto{margin-top:70px!important;color:var(--line);font-size:1.05rem}.footer{padding:52px 0 28px;background:var(--dark);color:var(--paper);border-top:1px solid #cfbfff40}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;font-size:.91rem}.footer a{display:block;width:fit-content;text-decoration:none}.footer a:hover{text-decoration:underline}.footer .wordmark{font-size:2.7rem;margin-bottom:20px}.footer-bottom{margin-top:45px;padding-top:22px;border-top:1px solid #cfbfff40;font-size:.78rem;color:var(--line)}.page-hero{padding:90px 0;background:var(--pale)}.page-hero h1{max-width:950px}.page-hero .prose{margin-top:34px}.anchor-nav{display:flex;gap:25px;flex-wrap:wrap;padding-top:34px;margin-top:45px;border-top:1px solid var(--line)}.anchor-nav a{font-size:.9rem;font-weight:750}.topic{padding:76px 0;border-bottom:1px solid var(--line)}.topic h2{font-size:clamp(2.2rem,3.3vw,3.4rem)}.questions{list-style:none;padding:0;margin:28px 0 0}.questions li{padding:12px 0;border-bottom:1px solid var(--line);font-weight:650}.contact-details{padding:38px;background:var(--pale);margin-top:30px}.contact-details a{overflow-wrap:anywhere}.contact-details h3{margin-bottom:23px}.menu-toggle{display:none;border:1px solid var(--ink);background:transparent;border-radius:3px;padding:9px 15px;cursor:pointer}.note{font-size:.9rem}.single{max-width:820px}.single h2{margin-bottom:28px}body.menu-open .nav{display:flex}
@media(min-width:1400px){.hero{padding-top:100px;padding-bottom:80px}.hero-grid{gap:100px}}@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.nav{gap:17px}.nav a{font-size:.83rem}.split,.hero-grid,.about-top{gap:45px}.head{gap:15px}.wordmark{font-size:2rem}}@media(max-width:780px){.wrap{width:calc(100% - 40px)}.head{min-height:85px;flex-wrap:wrap}.wordmark{font-size:2rem;margin-block:15px}.wordmark small{font-size:.61rem}.menu-ready .menu-toggle{display:block}.nav{display:flex;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:20px}.menu-ready .nav{display:none}.nav a{font-size:1rem;padding:12px 0}.nav .button{margin-top:12px}.hero{padding:55px 0 30px}.hero-grid,.split,.about-top{grid-template-columns:1fr;gap:34px}h1{font-size:clamp(3rem,10.7vw,4.7rem);letter-spacing:-.05em}.hero-copy{max-width:100%}.hero-foot{margin-top:38px;flex-direction:column;gap:5px}.eyebrow{margin-bottom:23px}.section{padding:65px 0}.steps{gap:25px;grid-template-columns:1fr;margin-top:38px}.steps article{display:grid;grid-template-columns:40px 1fr;column-gap:18px}.step-number{grid-row:span 2;margin:0}.steps p{grid-column:2}.steps h3{font-size:1.5rem}.portrait{aspect-ratio:5/3;max-width:100%;order:2}.footer-grid{grid-template-columns:1fr;gap:30px}.footer .wordmark{margin-top:0}.page-hero{padding:55px 0}.topic{padding:55px 0}.contact-details{padding:25px}.actions{gap:20px}.motto{margin-top:45px!important}.audience a{gap:18px;padding:20px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Official m-ind brand assets and typography from the supplied brand guide. */
.dark .textlink:after{background-image:url('/assets/arrow-icon-purple-dark.png')}
h1,h2,h3,.button,.nav a,.eyebrow,.textlink{font-weight:800}.hero-copy p:first-child,.audience .name,.questions li,.hero-foot{font-weight:600}.logo-link{display:block;flex:none;line-height:0;letter-spacing:normal}.logo-link img{display:block;width:116px;height:auto}.logo-dark{position:relative;display:block!important;width:160px!important;height:100px;overflow:hidden;line-height:0;flex:none}.logo-dark img{position:absolute;width:348px;height:348px;max-width:none;left:-94px;top:-126px}.brand-lead{display:flex;align-items:center;gap:20px;margin-bottom:34px}.brand-lead img{flex:none;width:64px;height:64px}.brand-lead .eyebrow{margin:0}.button{gap:22px}.button:after{content:'';display:block;flex:none;width:30px;height:30px;background:url('/assets/arrow-icon-purple-dark.png') center/contain no-repeat}.dark .button:after{background-image:url('/assets/arrow-icon-main-dark.png')}.textlink:after{content:'';display:inline-block;width:25px;height:25px;padding:0;margin-left:12px;vertical-align:middle;background:url('/assets/arrow-icon-main-dark.png') center/contain no-repeat}.audience .arrow{width:42px;height:42px;flex:none}.footer .logo-dark{margin-bottom:20px}@media(max-width:780px){.logo-link img{width:98px}.brand-lead{gap:15px;margin-bottom:28px}.brand-lead img{width:48px;height:48px}.brand-lead .eyebrow{font-size:.73rem}.audience .arrow{width:36px;height:36px}}
/* Keep image cropping inside its own window, clear of the frame on every side. */
.photo-frame{margin:0;min-width:0;max-width:100%;padding:8px;border:1px solid var(--line);border-radius:4px;background:var(--pale);box-shadow:0 18px 45px rgba(25,16,48,.10)}
.photo-window{position:relative;overflow:hidden;border-radius:2px}
.photo-window img{display:block;width:100%;max-width:100%;height:auto;margin:0}
.dark .photo-frame{background:rgba(181,156,255,.12);box-shadow:0 18px 42px rgba(0,0,0,.18)}
.thomas-photo{align-self:start}
.thomas-photo .photo-window{aspect-ratio:457/474}
.thomas-photo img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:right center}
.outside-home-photo{width:min(100%,460px);margin-bottom:34px}
.outside-page-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:center}
.outside-page-photo .photo-window{aspect-ratio:4/5}
.outside-page-photo img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:46% 42%}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(36px,4.5vw,88px);align-items:center}
.page-hero-grid>div{min-width:0}
.tactics-photo{width:min(100%,420px);justify-self:end;background:var(--paper)}
.situation{padding:24px 28px;background:var(--pale);border-left:3px solid var(--lila);margin:0 0 28px}.situation .eyebrow{font-size:.72rem;margin-bottom:13px}.pale .situation{background:var(--paper)}.situation p:last-child{font-weight:600}.hero-copy{max-width:485px}
@media(max-width:780px){.situation{padding:20px}.photo-frame{padding:7px}.thomas-photo{max-width:537px}.outside-home-photo{width:min(88%,460px);margin-bottom:28px}.outside-page-grid{grid-template-columns:1fr;gap:38px}.outside-page-photo{width:min(82%,420px)}.page-hero-grid{grid-template-columns:1fr;gap:34px}.tactics-photo{width:min(100%,340px);justify-self:center}}

/* WhatsApp contact links in the existing m-ind palette. */
.whatsapp-link,.footer a.whatsapp-link{display:inline-flex;align-items:center;gap:.5rem;max-width:100%}
.whatsapp-icon{width:1.375rem;height:1.375rem;flex:0 0 auto;color:var(--ink)}
.whatsapp-link>span{min-width:0}
.textlink.whatsapp-link:after{display:none}
.dark .whatsapp-icon,.footer .whatsapp-icon{color:var(--lila)}

/* Contact form and direct contact details. */
.session-pricing{padding:48px 0;border-block:1px solid var(--line)}
.session-pricing h2{font-size:clamp(1.5rem,2.4vw,2rem)}
.session-pricing .eyebrow{margin-bottom:14px}
.contact-price{margin-top:24px;font-size:1rem;line-height:1.65}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:clamp(40px,6vw,100px);align-items:start}
.contact-layout h2{font-size:clamp(2.2rem,3.4vw,3.4rem);max-width:650px}
.contact-form{margin-top:34px}
.form-required-note,.field-help,.form-privacy-note,.contact-aside-note{font-size:.9rem;line-height:1.65}
.form-required-note{margin:0 0 24px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;min-width:0;margin:0;padding:0;border:0}
.form-field{display:flex;flex-direction:column;gap:9px;min-width:0}
.form-field-wide{grid-column:1/-1}
.form-field[hidden],.form-feedback[hidden],.form-honeypot{display:none}
.form-field label{font-size:.95rem;font-weight:800;line-height:1.55}
.field-optional{font-size:.875rem;font-weight:400}
.field-help{margin:0;font-weight:400}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);font:inherit;font-size:1rem;line-height:1.5;padding:13px 14px;min-height:52px}
.form-field select{cursor:pointer;padding-right:30px}
.form-field textarea{min-height:180px;resize:vertical}
.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:var(--lila)}
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-color:var(--accent)}
.form-submit-row{display:flex;align-items:center;margin-top:28px}
.form-submit-row .button{cursor:pointer}
.form-submit-row .button:disabled{cursor:wait;opacity:.72}
.form-privacy-note{margin:19px 0 0;max-width:610px}
.form-feedback{margin-top:24px;padding:20px 22px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:3px;background:var(--pale);line-height:1.65}
.form-feedback[data-state="error"]{border-color:var(--ink);background:var(--paper)}
.form-feedback:focus{outline:3px solid var(--accent);outline-offset:4px}
.contact-sidebar .contact-details{margin-top:0;padding:34px;border:1px solid var(--line);border-radius:3px}
.contact-sidebar .eyebrow{margin-bottom:23px}
.contact-sidebar h3{margin-bottom:10px}
.contact-direct{display:grid;gap:24px;margin-top:30px}
.contact-label{display:block;font-size:.875rem;font-weight:800;margin-bottom:3px}
.contact-direct a{font-size:1rem}
.contact-direct .whatsapp-link{font-weight:750}
.contact-city{font-style:normal;margin-top:30px;border-top:1px solid var(--line);padding-top:22px}
.contact-aside-note{margin:22px 0 0;max-width:390px}
@media(max-width:960px){.contact-layout{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);gap:35px}.form-grid{grid-template-columns:1fr}.contact-sidebar .contact-details{padding:25px}}
@media(max-width:780px){.contact-layout{grid-template-columns:1fr;gap:45px}.contact-form{margin-top:28px}.form-grid{gap:22px}.form-submit-row .button{width:100%}.contact-aside-note{max-width:none}}
