:root {
  --midnight: #122B5A;
  --cobalt: #2350D8;
  --luminous: #8FC8FF;
  --mist: #F4F8FF;
  --signal: #D92345;
  --navy: var(--midnight);
  --paper: var(--mist);
  --body: color-mix(in srgb, var(--midnight) 82%, var(--mist));
  --muted: color-mix(in srgb, var(--midnight) 68%, var(--mist));
  --label: color-mix(in srgb, var(--midnight) 75%, var(--luminous));
  --line: color-mix(in srgb, var(--luminous) 65%, var(--mist));
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Arial, Helvetica, sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--navy);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.4}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}button{color:inherit}img,svg{display:block;max-width:100%}h1,h2,h3,p,blockquote,dl,dd{margin:0}h1,h2,h3,blockquote{font-family:var(--serif);font-weight:400}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--signal);outline-offset:5px}::selection{background:color-mix(in srgb, var(--luminous) 35%, var(--mist));color:var(--navy)}.container{width:85.6%;max-width:1280px;margin-inline:auto}.skip-link{position:fixed;z-index:20;top:-100px;left:20px;padding:12px;background:var(--mist)}.skip-link:focus{top:12px}.eyebrow{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.29em;text-transform:uppercase;color:var(--label);line-height:1.6}.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:48px;padding:13px 25px;font-size:14px;font-weight:600;border:1px solid transparent;border-radius:0;transition:background .2s,box-shadow .2s}.button-decision{color:var(--mist);background:var(--signal)}.button-decision:hover{background:var(--signal);box-shadow:0 4px 16px color-mix(in srgb, var(--signal) 16%, transparent)}.button-outline{border-color:var(--line);background:var(--mist);color:var(--midnight)}.button-outline:hover{background:color-mix(in srgb, var(--luminous) 20%, var(--mist))}.text-link{position:relative;display:inline-flex;align-items:center;gap:9px;border:0;padding:0;background:none;color:var(--signal);font:inherit;font-size:14px;line-height:1.5;text-decoration:none}.text-link::after{content:"";position:absolute;inset-inline:0;bottom:-3px;height:1px;background:currentColor;opacity:0;pointer-events:none}.text-link:is(:hover,:focus-visible)::after{opacity:1}.text-link span{font-size:20px;line-height:1}
.hero-shell,.hero,.vision,.contact-main{background-color:var(--mist);background-size:362% 2389%;background-position:30.8% 0}.hero-shell{position:relative;z-index:5}.site-header{display:flex;align-items:center;gap:22px;position:relative;height:100px}.brand{margin-right:auto;flex-shrink:0}.logo{width:211px}.main-navigation{display:flex;align-items:center;gap:27px;font-size:12px;font-weight:600}.main-navigation a{padding:12px 0}.main-navigation a:hover{color:var(--signal)}.header-cta{font-size:12px;min-height:40px;padding:11px 17px}.search-toggle{border:0;border-inline-start:1px solid var(--line);background:none;padding:6px 14px;color:var(--midnight)}.search-toggle svg{height:18px;width:18px;fill:none;stroke:currentColor;stroke-width:1.2}.menu-toggle{display:none}.site-search{position:absolute;top:88px;right:0;background:var(--paper);padding:24px;box-shadow:0 8px 30px color-mix(in srgb, var(--midnight) 18%, transparent);border:1px solid var(--line);width:min(450px,100%)}.site-search label{display:block;margin-bottom:9px;font-size:14px}.site-search>div{display:flex;gap:8px}.site-search input{width:100%;min-width:0;border:1px solid var(--line);padding:10px;background:var(--mist)}.site-search .button{padding:10px 14px}.search-message{font-size:14px;margin-top:8px}.hero{position:relative;overflow:hidden;min-height:514px}.hero-art{position:absolute;right:0;top:-22px;width:63.3%;height:100%;aspect-ratio:auto;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 58%,16% 58%,16% 18%,0 18%);pointer-events:none}.hero-content{position:relative;padding-top:33px;padding-bottom:64px;z-index:1}.hero .eyebrow{margin-bottom:18px}.hero h1{font-size:clamp(42px,4.2vw,64px);line-height:1.03;letter-spacing:-.042em;margin-bottom:22px}.hero-description{font-size:17px;line-height:1.45;max-width:550px;color:var(--body)}.hero-actions{display:flex;gap:16px;margin-top:28px}.section{padding-block:31px;border-bottom:1px solid var(--line);background:linear-gradient(110deg,var(--mist),var(--mist))}.section-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:21px}.section-topline .eyebrow:last-child{font-size:11px;letter-spacing:.22em}.foundation-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-block:0 5px}.foundation-grid article{text-align:center;border-left:1px solid var(--line);padding:0 16px}.foundation-grid article:first-child{border:0}.foundation-grid h3{font-size:32px;letter-spacing:-.03em;margin:10px 0 3px}.foundation-grid p{font-size:18px;color:var(--body);line-height:1.35}.pillar-icon{width:74px;height:74px;position:relative;margin:0 auto}
.approach{padding-block:34px 39px}.approach-layout{display:grid;grid-template-columns:33% 1fr;gap:3.5%}.approach-intro .eyebrow{margin-bottom:20px}.approach-intro h2{font-size:43px;line-height:1.02;letter-spacing:-.025em;margin-bottom:14px}.approach-intro>p:not(.eyebrow){font-size:18px;line-height:1.4;color:var(--body);max-width:360px}.approach-intro .text-link{margin-top:17px}.approach-steps{padding:0;list-style:none;margin:15px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}.approach-steps li{position:relative}.approach-steps li:not(:last-child):after{content:'→';position:absolute;right:-19px;top:62px;font-size:30px;color:var(--luminous);font-weight:300}.step-number{display:block;font-size:11px;letter-spacing:.12em;color:var(--label);margin-bottom:16px}.step-icon{width:86px;max-width:70%;margin:auto}.approach-steps h3{font-size:21px;letter-spacing:-.03em;margin-top:9px;white-space:nowrap}.approach-steps p{font-size:16px;line-height:1.35;color:var(--body);margin-top:7px}.vision{position:relative;overflow:hidden;min-height:355px;padding-block:29px}.vision-left,.vision-right{position:absolute;top:0;bottom:0;height:100%;aspect-ratio:auto}.vision-left{left:0;width:26.36%}.vision-right{right:0;width:40.49%;mask-image:linear-gradient(to right,transparent,#000 12%)}.vision-copy{position:relative;margin-left:24.6%;width:46%;z-index:1}.vision-copy .eyebrow{margin-bottom:12px}.vision blockquote{font-size:36px;line-height:1.08;letter-spacing:-.023em}.red-rule{width:38px;height:1px;background:var(--signal);margin:14px 0}.vision-copy>p:last-child{color:var(--body);font-size:16px;line-height:1.35;max-width:365px}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:26px}.service-grid article{position:relative;display:flex;flex-direction:column;scroll-margin-top:25px}.service-grid article:not(:last-child):after{content:'';position:absolute;right:-13px;top:calc((100vw * .856 - 104px) / 5 * .555 + 15px);bottom:0;width:1px;background:var(--line)}.service-image{width:100%;margin-bottom:11px}.service-grid h3{font-size:20px;line-height:1.15;letter-spacing:-.024em;margin-bottom:7px;white-space:nowrap}.service-grid p{font-size:16px;line-height:1.35;color:var(--body);padding-right:5px;max-width:190px;margin-bottom:15px}.service-grid .text-link{margin-top:auto;align-self:start}.proof{padding-block:26px 30px;background:linear-gradient(110deg,var(--mist),var(--mist))}.proof-grid{display:grid;grid-template-columns:1fr 1.4fr 1.03fr 1.63fr}.proof-grid div{border-left:1px solid var(--line);padding-inline:19%;white-space:nowrap}.proof-grid div:first-child{border:0;padding-left:0}.proof-grid dt{font-family:var(--serif);font-size:46px;line-height:1}.proof-grid dd{color:var(--body);font-size:14px;margin-top:4px}.insights{padding-block:23px 34px}.insights .section-topline{margin-bottom:18px}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.insight-grid article{display:grid;grid-template-columns:33% 1fr;gap:21px;padding-right:20px;position:relative}.insight-grid article:not(:last-child):after{position:absolute;content:'';width:1px;right:0;top:0;bottom:0;background:var(--line)}.insight-image{width:100%;align-self:start}.insight-grid h3{font-size:19px;line-height:1.12;margin-bottom:7px}.insight-grid h3 button{background:none;border:0;padding:0;font:inherit;text-align:left}.insight-grid h3 button:hover{color:var(--signal)}.insight-grid p{font-size:15px;line-height:1.3;color:var(--body);margin-bottom:9px}.insight-grid time{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.25em;font-weight:600}.site-footer{padding-block:32px 26px;color:var(--mist);background:var(--midnight);background-size:100% 100%,200% auto;background-position:0 0,0 0}.footer-main{display:grid;grid-template-columns:28% 34% 1fr;gap:20px;align-items:center;padding-bottom:21px;border-bottom:1px solid color-mix(in srgb, var(--luminous) 35%, transparent)}.footer-logo{width:220px;max-width:100%}.brand-tagline{display:block;font-size:10px;line-height:1.5;letter-spacing:.3em;text-transform:uppercase;padding-left:55px;position:relative;margin-top:17px}.brand-tagline:before{content:'';position:absolute;width:39px;height:1px;background:var(--signal);top:7px;left:0}.brand-tagline:after{content:'';position:absolute;width:39px;height:1px;background:color-mix(in srgb, var(--luminous) 45%, transparent);top:24px;left:0}.footer-main nav{display:flex;justify-content:center;gap:22px;font-size:12px}.footer-main a:hover,.footer-bottom button:hover{color:var(--mist)}.newsletter label{font-size:14px;display:block;margin-bottom:8px}.newsletter-row{display:flex;gap:13px;align-items:center;justify-content:space-between}.newsletter-row>span{font-size:12px;white-space:nowrap}.newsletter-input{display:flex;min-width:0;flex:1}.newsletter-input input{background:color-mix(in srgb, var(--mist) 3%, transparent);border:1px solid color-mix(in srgb, var(--luminous) 55%, transparent);color:var(--mist);padding:8px 11px;font-size:12px;width:100%;min-width:0;border-radius:0}.newsletter-input input::placeholder{color:color-mix(in srgb, var(--mist) 75%, transparent)}.newsletter-input button{border:0;background:var(--signal);color:var(--mist);padding:6px 13px;font-size:20px}.newsletter-status{font-size:12px;max-width:360px;margin-top:7px;color:var(--mist)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:19px;font-size:12px}.footer-bottom>div{display:flex;gap:25px}.footer-bottom button{background:none;padding:0;border:0;color:inherit;font:inherit}dialog{width:min(620px,calc(100% - 32px));border:1px solid var(--line);background:var(--paper);color:var(--navy);padding:42px;max-height:85vh;overflow:auto}dialog::backdrop{background:color-mix(in srgb, var(--midnight) 65%, transparent);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:32px;line-height:1;padding:5px}.dialog-close:hover{color:var(--signal)}dialog .eyebrow{margin-bottom:12px}dialog h2{font-size:36px;line-height:1.08;margin-bottom:20px}#dialog-content{font-size:16px;color:var(--body);line-height:1.6}#dialog-content p+p{margin-top:15px}.dialog-cta{margin-top:25px}[hidden]{display:none!important}
.contact-header{background:var(--mist);border-bottom:1px solid var(--line)}.contact-main{padding-block:65px 75px;min-height:70vh}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%}.contact-copy .eyebrow{margin-bottom:22px}.contact-copy h1{font-size:clamp(42px,4.3vw,62px);line-height:1.04;letter-spacing:-.035em;margin-bottom:23px}.contact-copy>p:not(.eyebrow){color:var(--body);max-width:460px;line-height:1.5;font-size:18px}.contact-copy .text-link{margin-top:28px}.enquiry-form{background:var(--mist);border:1px solid var(--line);padding:30px}.enquiry-form h2{font-size:29px;margin-bottom:8px}.enquiry-form>p{font-size:14px;color:var(--body);margin-bottom:23px}.form-field{margin-bottom:18px}.form-field label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid var(--line);background:var(--mist);border-radius:0;color:var(--navy);padding:11px 12px}.form-field textarea{resize:vertical;min-height:120px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline-color:var(--cobalt)}.form-status{font-size:14px;line-height:1.5;color:var(--body);margin-top:15px}
@media(min-width:1500px){.hero-art{width:950px}.service-grid article:not(:last-child):after{top:143px}}
@media(max-width:1150px){.site-header{height:82px;gap:15px}.logo{width:172px}.main-navigation{gap:20px}.header-cta{font-size:11px;padding-inline:13px}.hero{min-height:450px}.hero h1{font-size:48px}.hero-description{font-size:16px}.hero-content{padding-top:25px;padding-bottom:50px}.foundation-grid h3{font-size:28px}.foundation-grid p{font-size:16px}.approach-intro h2{font-size:36px}.approach-intro>p:not(.eyebrow){font-size:16px}.approach-steps h3{font-size:18px}.approach-steps p{font-size:14px}.step-icon{width:72px}.vision{min-height:290px}.vision blockquote{font-size:30px}.vision-copy>p:last-child{font-size:14px}.service-grid{gap:23px}.service-grid h3{font-size:16px}.service-grid p{font-size:14px}.proof-grid dt{font-size:40px}.proof-grid dd{font-size:12px}.insight-grid{gap:21px}.insight-grid article{gap:17px;padding-right:14px}.insight-grid h3{font-size:17px}.insight-grid p{font-size:13px}.footer-main{grid-template-columns:26% 33% 1fr;gap:14px}.footer-logo{width:180px}.footer-main nav{gap:17px;font-size:11px}.newsletter-row{gap:8px}.newsletter-row>span{font-size:11px}.newsletter-input input{font-size:11px;padding-inline:8px}.eyebrow{font-size:10px}.section-topline .eyebrow:last-child{font-size:9px}.button{font-size:13px;padding-inline:21px;min-height:44px}.header-cta{min-height:37px;padding:9px 13px;font-size:11px}}
@media(max-width:850px){.container{width:88%}.site-header{gap:13px}.logo{width:155px}.main-navigation{gap:14px;font-size:11px}.header-cta{display:none}.search-toggle{margin-left:3px}.hero-art{width:67%;opacity:.75}.hero h1{font-size:44px}.hero-description{max-width:420px}.hero{min-height:425px}.foundation-grid h3{font-size:25px}.foundation-grid p{font-size:14px}.pillar-icon{width:62px;height:62px}.approach-layout{grid-template-columns:1fr;gap:28px}.approach-intro{max-width:540px}.approach-intro>p:not(.eyebrow){max-width:510px}.approach-intro h2 br{display:none}.approach-steps{margin:0}.approach-steps h3{font-size:21px}.approach-steps p{font-size:16px}.approach-steps li:not(:last-child):after{right:-16px}.vision{min-height:310px}.vision-copy{margin-left:23%;width:63%}.vision-right{opacity:.55}.service-grid{grid-template-columns:repeat(3,1fr);row-gap:27px}.service-grid article:not(:last-child):after{top:130px}.service-grid h3{font-size:19px;white-space:normal}.service-grid p{font-size:16px;max-width:none}.proof-grid{grid-template-columns:repeat(4,1fr)}.proof-grid div{white-space:normal;padding-inline:16px}.proof-grid dt{font-size:36px}.proof-grid dd{font-size:13px}.insight-grid{grid-template-columns:1fr;gap:22px}.insight-grid article{grid-template-columns:110px 1fr;gap:23px;padding-bottom:22px;border-bottom:1px solid var(--line)}.insight-grid article:last-child{border-bottom:0;padding-bottom:0}.insight-grid article:after{display:none}.insight-grid h3{font-size:22px}.insight-grid h3 br{display:none}.insight-grid p{font-size:16px}.insight-grid time{font-size:11px}.footer-main{grid-template-columns:1fr 1fr;gap:28px}.footer-main nav{justify-content:start;gap:19px;font-size:12px;flex-wrap:wrap}.newsletter{grid-column:1/-1;max-width:460px}.newsletter-row>span{font-size:13px}.newsletter-input input{font-size:14px}.contact-layout{gap:6%}.enquiry-form{padding:22px}}
@media(max-width:600px){html{scroll-padding-top:18px}.container{width:88%}.site-header{height:80px;gap:16px}.logo{width:160px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:8px 3px;width:30px;height:36px;border:0;background:none}.menu-toggle span{height:1px;width:24px;background:var(--navy)}.search-toggle{border-left:0;margin:0;padding:6px 0}.main-navigation{display:none;position:absolute;left:-6.8%;right:-6.8%;top:80px;z-index:10;background:var(--mist);padding:20px 6%;border-bottom:1px solid var(--line);font-size:16px;box-shadow:0 8px 20px color-mix(in srgb, var(--midnight) 8%, transparent)}.main-navigation.is-open{display:flex;align-items:stretch;flex-direction:column;gap:4px}.main-navigation a{padding:10px}.site-search{top:80px;padding:20px;width:100%}.hero{min-height:655px}.hero-content{padding-top:18px;padding-bottom:290px}.hero h1{font-size:clamp(35px,9.8vw,57px);line-height:1.05;letter-spacing:-.045em;margin-bottom:20px}.hero .eyebrow{font-size:9px;letter-spacing:.22em;margin-bottom:18px}.hero-description{font-size:16px;max-width:400px;line-height:1.5}.desktop-break{display:none}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:23px}.button{font-size:12px;padding:12px 15px;min-height:44px}.hero-art{top:auto;bottom:0;right:-1%;width:103%;height:290px;opacity:1;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%,0 58%,18% 58%);mask-image:linear-gradient(to bottom,transparent,#000 9%)}.section{padding-block:27px}.section-topline{margin-bottom:24px;align-items:flex-start;gap:15px}.section-topline .eyebrow:last-child{font-size:8px;text-align:right;max-width:170px;letter-spacing:.16em}.eyebrow{font-size:10px;letter-spacing:.23em}.foundation-grid{grid-template-columns:1fr 1fr;gap:28px 0}.foundation-grid article{padding:0 8px}.foundation-grid article:nth-child(3){border-left:0}.foundation-grid h3{font-size:27px}.foundation-grid p{font-size:14px}.pillar-icon{width:62px;height:62px}.approach{padding-block:30px}.approach-intro .eyebrow{margin-bottom:17px}.approach-intro h2{font-size:36px;max-width:320px}.approach-intro>p:not(.eyebrow){font-size:16px}.approach-layout{gap:28px}.approach-steps{grid-template-columns:1fr 1fr;gap:26px 15px}.approach-steps h3{font-size:21px}.approach-steps li:nth-child(2):after{display:none}.approach-steps li:not(:last-child):after{right:-20px;top:53px;font-size:25px}.step-number{font-size:11px;margin-bottom:12px}.step-icon{width:72px}.approach-steps p{font-size:15px}.vision{padding-block:30px 205px;min-height:520px}.vision-copy{margin:0;width:100%}.vision blockquote{font-size:31px;max-width:450px}.vision-copy>p:last-child{font-size:15px;max-width:95%}.vision-left{height:220px;top:auto;width:55%;mask-image:linear-gradient(to bottom,transparent,#000 15%)}.vision-right{height:250px;top:auto;width:72%;opacity:.6;mask-image:linear-gradient(to bottom,transparent,#000 25%)}.service-grid{grid-template-columns:1fr 1fr;gap:26px 19px}.service-grid article:not(:last-child):after{display:none}.service-grid article:last-child{grid-column:1/-1;max-width:calc(50% - 10px)}.service-grid h3{font-size:20px;line-height:1.1}.service-grid p{font-size:15px}.service-grid .text-link{font-size:14px}.service-image{margin-bottom:12px}.proof-grid{grid-template-columns:1fr 1fr;gap:24px 0}.proof-grid div{padding:0 16px}.proof-grid div:nth-child(3){border:0;padding-left:0}.proof-grid dt{font-size:41px}.proof-grid dd{font-size:13px}.proof .section-topline>p{display:none}.insights .section-topline{align-items:center}.insights .text-link{font-size:12px;gap:5px}.insight-grid article{grid-template-columns:96px 1fr;gap:17px}.insight-grid h3{font-size:20px}.insight-grid p{font-size:14px}.insight-grid time{font-size:10px;letter-spacing:.18em}.site-footer{padding-block:30px 23px}.footer-main{grid-template-columns:1fr;gap:27px}.footer-logo{width:205px}.brand-tagline{font-size:9px;margin-top:15px}.footer-main nav{gap:23px;font-size:13px}.newsletter{grid-column:auto;max-width:100%}.newsletter label{font-size:15px}.newsletter-row{flex-wrap:wrap;gap:12px}.newsletter-row>span{font-size:13px}.newsletter-input{flex-basis:200px}.footer-bottom{flex-direction:column;gap:16px;font-size:11px}.footer-bottom>div{gap:26px}dialog{padding:33px 25px}dialog h2{font-size:31px}.dialog-close{right:9px;top:7px}.contact-main{padding-block:30px 40px}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-copy h1{font-size:44px}.contact-copy>p:not(.eyebrow){font-size:16px}.contact-copy .text-link{margin-top:18px}.enquiry-form{padding:24px}.enquiry-form .button{font-size:14px}}
.hero-shell,.hero,.vision,.contact-main{background-size:360px 360px;background-position:0 0}
.hero-art{clip-path:none;mask-image:linear-gradient(to right,transparent 19%,#000 27%)}
.vision-left{mask-image:linear-gradient(to right,#000 90%,transparent)}
.site-footer{background-size:auto,360px 360px}
.service-grid h3{white-space:normal}
@media(max-width:600px){.hero-art{clip-path:none;mask-image:linear-gradient(to right,transparent 19%,#000 27%)}.vision-left{mask-image:linear-gradient(to bottom,transparent,#000 18%)}.vision-right{mask-image:linear-gradient(to bottom,transparent,#000 25%)}}
@media(max-width:600px){.foundation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foundation-grid article{min-width:0}.foundation-grid h3{font-size:clamp(20px,6.7vw,27px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* Image slots: replace the contents with an img after supplying your assets. */
.person-section {
  padding-block: 48px 56px;
  background: var(--mist);
}
.person-topline { margin-bottom: 30px; }
.person-layout {
  display: grid;
  grid-template-columns: minmax(0, 31%) minmax(0, 1fr);
  column-gap: 8%;
  align-items: start;
}
.person-photo { width: 100%; aspect-ratio: 2 / 3; }
.supplied-photo { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; }
.supplied-illustration { display: block; width: 100%; height: auto; aspect-ratio: 148 / 81; object-fit: cover; }
.person-copy { min-width: 0; }
.person-copy h2 {
  max-width: 24ch;
  font-size: clamp(32px, 3vw, 44px);
  line-height: 1.12;
  letter-spacing: -.025em;
  margin-bottom: 24px;
}
.person-body { color: var(--body); font-size: 17px; line-height: 1.6; }
.person-body p + p { margin-top: 18px; }
.person-note { color: var(--muted); font-size: 13px; line-height: 1.5; margin-top: 23px; }
.person-links { display: flex; flex-wrap: wrap; gap: 14px 32px; margin-top: 22px; }
.person-links .text-link { font-size: 15px; }
.profile-main { padding-block: 48px 56px; background: var(--mist); }
.profile-main .person-copy h1 { font-size: clamp(32px, 3vw, 44px); line-height: 1.12; letter-spacing: -.025em; margin-bottom: 24px; }
.profile-main .person-copy > .eyebrow { margin-bottom: 15px; }
@media (max-width: 850px) {
  .person-layout { grid-template-columns: minmax(0, 32%) minmax(0, 1fr); column-gap: 6%; }
  .person-body { font-size: 16px; line-height: 1.55; }
}
@media (max-width: 600px) {
  .person-section, .profile-main { padding-block: 30px 34px; }
  .person-topline { flex-direction: column; gap: 9px; margin-bottom: 24px; }
  .person-topline .eyebrow:last-child { max-width: none; text-align: left; font-size: 9px; }
  .person-layout { grid-template-columns: minmax(0, 1fr); gap: 27px; }
  .person-photo { max-width: 300px; }
  .person-copy h2, .profile-main .person-copy h1 { font-size: 32px; margin-bottom: 20px; }
  .person-note { font-size: 13px; margin-top: 20px; }
  .person-links { gap: 15px 24px; }
}

.image-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: var(--w) / var(--h);
  background: color-mix(in srgb, var(--luminous) 12%, var(--mist));
  border: 1px dashed var(--luminous);
  color: var(--body);
  font: 12px/1.4 var(--sans);
  text-align: center;
  overflow: hidden;
}
.image-placeholder > span { padding: 8px; }
.image-placeholder > img { width: 100%; height: 100%; object-fit: cover; }
.logo.image-placeholder > img, .footer-logo.image-placeholder > img { object-fit: contain; }
.hero-art.image-placeholder { width: 38%; right: 3%; top: 2%; height: 93%; mask-image: none; clip-path: none; opacity: 1; }
.vision-left.image-placeholder, .vision-right.image-placeholder { top: 8%; height: 84%; bottom: auto; mask-image: none; opacity: 1; }
.vision-left.image-placeholder { left: 3%; width: 22%; }
.vision-right.image-placeholder { right: 3%; width: 25%; }
.pillar-icon.image-placeholder { border-radius: 0; }
.supplied-icon { object-fit: contain; background: transparent; border: 0; aspect-ratio: 1; }
.step-icon.supplied-icon { height: auto; }
.pillar-icon.image-placeholder::before, .pillar-icon.image-placeholder::after { content: none; }
.footer-logo.image-placeholder { background: color-mix(in srgb, var(--midnight) 90%, var(--luminous)); border-color: var(--luminous); color: var(--mist); }
@media (max-width: 600px) {
  .hero-art.image-placeholder { top: auto; bottom: 20px; right: 6%; width: 88%; height: 245px; }
  .vision-left.image-placeholder, .vision-right.image-placeholder { top: auto; bottom: 20px; height: 170px; width: 43%; }
  .vision-left.image-placeholder { left: 6%; }
  .vision-right.image-placeholder { right: 6%; }
}


/* Original red placements restored; the other brand colours remain unchanged. */
/* Longer record labels wrap beneath their figures without changing the band. */
.proof-grid > div { min-width: 0; white-space: normal; }
.proof-grid dd { line-height: 1.4; overflow-wrap: break-word; }
.proof-grid dt { white-space: nowrap; }
@media (max-width: 600px) {
  .proof-grid > div:last-child dt { font-size: clamp(24px, 7vw, 41px); }
}

/* Use the supplied logo files; the white file includes transparent margins. */
.logo { height: auto; }
.logo-crop {
  display: block;
  position: relative;
  aspect-ratio: 152 / 41;
  overflow: hidden;
}
.logo-crop > img {
  position: absolute;
  width: calc(300 / 152 * 100%);
  max-width: none;
  height: auto;
  left: calc(-74 / 152 * 100%);
  top: calc(-29 / 41 * 100%);
}

.button-decision:is(:hover, :focus-visible, :active) {
  background: var(--signal);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--signal) 16%, transparent);
}
.button-decision:focus-visible { outline-color: var(--signal); }
.button-cobalt { color: var(--mist); background: var(--cobalt); }
.button-cobalt:is(:hover, :focus-visible) { background: var(--midnight); }
.button-outline:is(:hover, :focus-visible) { border-color: var(--cobalt); color: var(--cobalt); }
.main-navigation a[aria-current="page"], .main-navigation a:focus-visible { color: var(--cobalt); }
.main-navigation a[aria-current="page"]:hover { color: var(--signal); }
.footer-main nav a:is(:hover, :focus-visible), .footer-bottom :is(button, a):is(:hover, :focus-visible) { color: var(--luminous); }
.search-toggle:is(:hover, :focus-visible), .menu-toggle[aria-expanded="true"] { color: var(--cobalt); }
.menu-toggle[aria-expanded="true"] span { background: var(--cobalt); }
.newsletter-input button:is(:hover, :focus-visible) { color: var(--mist); background: var(--signal); }
.eyebrow::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 1px;
  margin-right: 9px;
  vertical-align: middle;
  background: var(--luminous);
}
.hero {
  background-image: radial-gradient(ellipse at 80% 35%, color-mix(in srgb, var(--luminous) 22%, transparent), transparent 65%);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.vision {
  background-image: linear-gradient(125deg, var(--mist), color-mix(in srgb, var(--luminous) 18%, var(--mist)));
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.vision-landscape { background-image: none; }
.vision-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}
@media (max-width: 600px) {
  .vision-landscape { min-height: 0; padding-block: 36px; }
}

/* A dedicated newsletter invitation, sharing the footer's signup styling. */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.newsletter-band {
  background: var(--midnight);
  color: var(--mist);
  padding-block: 54px;
  border-bottom: 1px solid color-mix(in srgb, var(--luminous) 25%, transparent);
}
.newsletter-band-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  align-items: center;
  gap: 7%;
}
.newsletter-band-copy h2 {
  font-size: clamp(30px, 2.8vw, 40px);
  line-height: 1.15;
  letter-spacing: -.025em;
  margin-bottom: 18px;
}
.newsletter-band-copy > p {
  font-size: 17px;
  line-height: 1.55;
  color: color-mix(in srgb, var(--mist) 88%, var(--luminous));
}
.newsletter-band-copy .newsletter-incentive { margin-top: 18px; font-size: 16px; }
.newsletter-incentive strong { color: var(--mist); font-weight: 600; }
.newsletter-band-form { grid-column: auto; max-width: none; min-width: 0; }
.newsletter-band-form .newsletter-input input { font-size: 16px; padding: 13px 15px; min-height: 49px; }
.newsletter-band-form .newsletter-input button { font-size: 14px; font-weight: 600; padding: 13px 20px; }
.newsletter-frequency { margin-top: 13px; font-size: 13px; line-height: 1.5; color: color-mix(in srgb, var(--mist) 76%, var(--midnight)); }
.newsletter-band-form .newsletter-status { max-width: none; font-size: 13px; }
.footer-main { grid-template-columns: minmax(0, 1fr) auto; border-bottom: 0; }
.footer-main nav { justify-content: flex-end; }
.footer-legal {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr) minmax(0, 1fr);
  gap: 36px;
  padding-block: 27px;
  border-bottom: 1px solid color-mix(in srgb, var(--luminous) 35%, transparent);
  font-size: 14px;
  line-height: 1.6;
  color: color-mix(in srgb, var(--mist) 88%, var(--midnight));
}
.footer-company { font-style: normal; }
.footer-company strong { color: var(--mist); font-weight: 600; }
.footer-registration p + p { margin-top: 9px; }
.footer-contact h2 { font: 600 14px/1.6 var(--sans); color: var(--mist); margin-bottom: 4px; }
.footer-contact a { display: block; width: fit-content; overflow-wrap: anywhere; }
.footer-contact a:is(:hover, :focus-visible) { color: var(--luminous); text-decoration: underline; text-underline-offset: 4px; }

/* Destination pages extend the approved homepage and About composition. */
.site-header { gap: 16px; }
.site-header .logo { width: 180px; }
.main-navigation { gap: 18px; }
.main-navigation a { position: relative; white-space: nowrap; }
.main-navigation a[aria-current="page"]::after {
  content: ''; position: absolute; width: 5px; height: 5px;
  border-radius: 50%; background: var(--signal); left: calc(50% - 2.5px); bottom: 3px;
}
.page-hero {
  padding-block: 54px 60px;
  background: radial-gradient(ellipse at 85% 30%, color-mix(in srgb, var(--luminous) 24%, transparent), transparent 65%), var(--mist);
  border-bottom: 1px solid var(--line);
}
.page-hero-layout { display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(0, .84fr); gap: 8%; align-items: center; }
.page-hero-copy { min-width: 0; }
.page-hero-text .page-hero-layout { grid-template-columns: minmax(0, 1fr); }
.page-hero-text .page-hero-copy { max-width: 900px; }
.page-hero-copy > .eyebrow { margin-bottom: 24px; }
.page-hero h1, .insights-intro h1 {
  font-size: clamp(38px, 4.3vw, 62px); line-height: 1.04; letter-spacing: -.035em; margin-bottom: 26px;
}
.page-hero-image { width: 100%; min-width: 0; }
.about-hero .page-hero-layout { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.about-hero .page-hero-image { aspect-ratio: 1; }
.about-hero .page-hero-image.about-founder-portrait {
  max-width: 400px;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  justify-self: center;
}
.about-hero .page-hero-copy { max-width: 650px; }
.prose { max-width: 780px; color: var(--body); font-size: 17px; line-height: 1.65; }
.prose h1, .prose h2, .prose h3 { color: var(--midnight); }
.prose h2, .editorial-section > .container > h2 { font-size: clamp(30px, 3.1vw, 43px); letter-spacing: -.025em; line-height: 1.12; margin-bottom: 22px; }
.prose h3 { font-size: 27px; line-height: 1.2; margin-block: 24px 14px; }
.prose p + p { margin-top: 18px; }
.prose p > em:only-child { color: var(--muted); font-size: 15px; }
.prose strong { color: var(--midnight); font-weight: 600; }
.prose .content-actions, .prose > .text-link { margin-top: 23px; }
.prose blockquote { font-size: 32px; line-height: 1.2; margin-block: 24px; }
.editorial-section { padding-block: 45px 51px; }
.editorial-section .section-topline { margin-bottom: 25px; }
.editorial-split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 8%; align-items: start; }
.editorial-split > * { min-width: 0; }
.editorial-split figure { margin: 0; }
.editorial-split figcaption { margin-top: 17px; padding-left: 24px; border-left: 1px solid var(--signal); font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); line-height: 1.7; }
.journey-layout { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
.record-band { background: linear-gradient(115deg, color-mix(in srgb, var(--luminous) 14%, var(--mist)), var(--mist)); padding-block: 32px 38px; }
.record-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.record-grid > div { padding-inline: 24px; }
.record-grid dt { font-size: 46px; }
.record-grid dd { font-size: 14px; margin-top: 10px; }
.appointments-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr); gap: 8%; align-items: start; }
.appointments-list { padding: 0 0 0 24px; list-style: none; border-left: 1px solid var(--line); }
.appointments-list li { position: relative; padding: 0 0 21px 0; font-size: 16px; }
.appointments-list li:last-child { padding-bottom: 0; }
.appointments-list li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--signal); position: absolute; left: -27.5px; top: 10px; }
.capacity-note { padding: 31px; border: 1px solid var(--line); background: color-mix(in srgb, var(--luminous) 8%, var(--mist)); }
.capacity-note h3 { font-size: 26px; line-height: 1.2; margin-bottom: 15px; }
.capacity-note p { font-size: 15px; color: var(--body); line-height: 1.6; }
.editorial-list { padding-left: 20px; margin-block: 20px; }
.editorial-list li { padding-left: 6px; margin-bottom: 12px; }
.editorial-list li::marker { color: var(--cobalt); }
.previously { background: color-mix(in srgb, var(--luminous) 6%, var(--mist)); }
.publications p { padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.publications p:last-child { border: 0; }
.philosophy-section { background: linear-gradient(115deg, var(--mist), color-mix(in srgb, var(--luminous) 12%, var(--mist))); }
.service-detail { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; }
.content-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 30px; margin-top: 22px; }
.content-placeholder { color: var(--muted); border: 1px dashed var(--luminous); padding: 18px 22px; font-size: 14px; line-height: 1.5; }
.testimonial-placeholder { min-height: 170px; display: flex; align-items: center; justify-content: center; text-align: center; }
.talk-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; }
.talk-card { padding: 29px; border: 1px solid var(--line); background: color-mix(in srgb, var(--luminous) 5%, var(--mist)); }
.talk-card h3 { font-size: 30px; line-height: 1.15; margin-bottom: 15px; letter-spacing: -.02em; }
.talk-card p { color: var(--body); font-size: 16px; line-height: 1.6; }
.talk-card p + p { margin-top: 15px; }
.talk-card p > em:only-child { color: var(--cobalt); }
.section-tail { margin-top: 26px; max-width: 780px; font-size: 17px; color: var(--body); }
.research-timeline { margin-top: 25px; }
.research-timeline > div { display: grid; grid-template-columns: 75px minmax(0, 1fr); gap: 22px; padding-block: 18px; border-bottom: 1px solid var(--line); }
.research-timeline dt { color: var(--midnight); }
.research-timeline dd { min-width: 0; }
.home-insights-layout { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); gap: 5%; }
.home-insights-layout > * { min-width: 0; }
.launch-articles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-bottom: 27px; }
.launch-articles article { min-width: 0; }
.launch-articles .image-placeholder { margin-bottom: 19px; }
.launch-articles .eyebrow { font-size: 9px; letter-spacing: .17em; margin-bottom: 10px; }
.launch-articles h3 { font-size: 25px; margin-bottom: 10px; line-height: 1.12; }
.launch-articles p:not(.eyebrow) { font-size: 14px; line-height: 1.5; }
.home-media { padding-left: 24px; border-left: 1px solid var(--line); }
.home-media > h3 { font-size: 27px; margin-bottom: 8px; }
.media-list { max-width: 920px; }
.media-list > h3 { font-size: 27px; margin-block: 28px 12px; }
.media-list > h3:first-child { margin-top: 0; }
.media-item { padding-block: 13px; border-bottom: 1px solid var(--line); font-size: 14px; line-height: 1.5; }
.media-item > * { display: block; }
.media-item strong { color: var(--midnight); }
.media-item small { color: var(--muted); margin-top: 3px; font-size: 11px; }
.media-item .media-title {
  display: inline-flex;
  max-width: 100%;
  align-items: baseline;
  margin-block: 4px 1px;
  font-size: 14px;
  line-height: 1.5;
}
.media-title > span { flex-shrink: 0; }
.pending-link { color: var(--muted); font-size: 11px; margin-top: 3px; }
.home-media > .text-link { margin-top: 20px; }
.muted { color: var(--muted); }
.insights-intro { max-width: none; }
.insights-intro > p { max-width: 670px; margin-bottom: 35px; }
.insights-intro .launch-articles { margin-top: 35px; }
.hero-edge-copy { position: absolute; right: 4%; top: 22px; font-size: 9px; letter-spacing: .22em; text-transform: uppercase; color: var(--label); line-height: 1.8; pointer-events: none; }
.hero-future { position: absolute; right: 4%; bottom: 16px; font-size: 9px; }
.approach-topline { text-align: right; margin-bottom: 15px; }
.approach-topline .eyebrow { font-size: 10px; }
.quote-attribution { font: 600 9px/1.6 var(--sans)!important; letter-spacing: .14em; margin-top: 16px; }
.contact-copy h1 { font-size: clamp(38px, 4vw, 58px); line-height: 1.08; }
.contact-details { font-style: normal; font-size: 15px; color: var(--body); line-height: 1.7; margin-top: 25px; }
.enquiry-form p a { color: var(--cobalt); text-decoration: underline; text-underline-offset: 3px; }
.contact-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.enquiry-form .contact-privacy { font-size: 12px; color: var(--muted); margin-bottom: 18px; }
.enquiry-form .form-status { margin-bottom: 0; }
.form-status[data-state="success"] { color: var(--midnight); }
.form-status[data-state="error"] { color: var(--signal); }
.enquiry-form .button:disabled { opacity: .7; }
.contact-result { margin-top: 48px; }
.contact-result h1 { font-size: clamp(36px, 4vw, 58px); line-height: 1.1; margin-bottom: 20px; }
@media (max-width: 1150px) {
  .site-header .logo { width: 160px; }
  .main-navigation { gap: 13px; font-size: 11px; }
  .site-header { gap: 12px; }
  .record-grid dt { font-size: 40px; }
  .record-grid > div { padding-inline: 19px; }
  .home-insights-layout { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 4%; }
}
@media (max-width: 1000px) {
  .site-header { height: 80px; }
  .site-header .logo { width: 170px; }
  .menu-toggle { display: flex; flex-direction: column; justify-content: center; gap: 5px; padding: 8px 3px; width: 30px; height: 36px; border: 0; background: none; }
  .menu-toggle span { height: 1px; width: 24px; background: var(--navy); }
  .main-navigation { display: none; position: absolute; left: 0; right: 0; top: 80px; z-index: 10; background: var(--mist); padding: 20px; border: 1px solid var(--line); font-size: 16px; box-shadow: 0 8px 20px color-mix(in srgb, var(--midnight) 8%, transparent); }
  .main-navigation.is-open { display: flex; align-items: stretch; flex-direction: column; gap: 4px; }
  .main-navigation a { padding: 10px; }
  .main-navigation a[aria-current="page"]::after { left: -3px; bottom: 20px; }
  .site-search { top: 80px; }
}
@media (max-width: 850px) {
  .page-hero { padding-block: 35px 42px; }
  .page-hero-layout, .about-hero .page-hero-layout { gap: 5%; }
  .page-hero h1 { font-size: 39px; }
  .prose { font-size: 16px; }
  .editorial-split { gap: 5%; }
  .appointments-layout { gap: 5%; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
  .capacity-note { padding: 23px; }
  .home-insights-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .home-media { padding: 0; border-left: 0; }
  .home-media .media-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 25px; }
  .hero-edge-copy { display: none; }
}
@media (max-width: 600px) {
  .page-hero-layout, .about-hero .page-hero-layout, .editorial-split, .appointments-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .page-hero h1, .insights-intro h1 { font-size: clamp(33px, 9vw, 44px); }
  .page-hero-copy > .eyebrow { margin-bottom: 18px; }
  .page-hero-image { aspect-ratio: 4 / 3; max-width: 440px; }
  .about-hero .page-hero-image { aspect-ratio: 4 / 3; }
  .journey-layout figure { max-width: 300px; }
  .editorial-section { padding-block: 30px 35px; }
  .editorial-section .section-topline { margin-bottom: 23px; }
  .record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .record-grid > div { padding-inline: 16px; }
  .record-grid > div:last-child dt { font-size: 41px; }
  .record-grid dd { font-size: 13px; }
  .talk-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .talk-card { padding: 23px; }
  .talk-card h3 { font-size: 27px; }
  .launch-articles { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .launch-articles .image-placeholder { max-width: 420px; }
  .home-media .media-list { grid-template-columns: minmax(0, 1fr); }
  .research-timeline > div { grid-template-columns: 53px minmax(0, 1fr); gap: 15px; }
  .hero-future { right: 6%; bottom: 3px; }
  .approach-topline { text-align: left; }
  .content-actions { gap: 18px; }
}
@media (max-width: 850px) {
  .newsletter-band-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .newsletter-band-copy { max-width: 660px; }
  .newsletter-band-form { width: 100%; max-width: 480px; }
  .footer-legal { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 24px; }
  .footer-contact { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .newsletter-band { padding-block: 35px; }
  .newsletter-band-copy > p { font-size: 16px; }
  .newsletter-band-form .newsletter-input input { padding-inline: 11px; }
  .newsletter-band-form .newsletter-input button { padding-inline: 14px; }
  .footer-main { grid-template-columns: minmax(0, 1fr); }
  .footer-main nav { justify-content: flex-start; }
  .footer-legal { grid-template-columns: minmax(0, 1fr); gap: 22px; padding-block: 24px; }
  .footer-contact { grid-column: auto; }
}


.form-privacy-link { border: 0; background: transparent; padding: 0; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* Readable, directly linked privacy notice. */
.privacy-content { max-width: 900px; }
.privacy-content > section { margin-top: 40px; scroll-margin-top: 30px; }
.privacy-content a { color: var(--cobalt); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.privacy-content code { font-size: .95em; overflow-wrap: anywhere; }
.privacy-contents { padding: 24px 28px; border: 1px solid var(--line); background: color-mix(in srgb, var(--luminous) 6%, var(--mist)); }
.privacy-contents ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 30px; margin: 14px 0 0; padding-left: 20px; }
.privacy-updated { color: var(--muted); font-size: 14px; }
.privacy-rights-note { border-left: 2px solid var(--luminous); padding: 4px 0 4px 22px; margin-block: 24px; }
.privacy-rights-note h3 { margin-top: 0; }
@media (max-width: 600px) {
  .privacy-contents { padding: 21px; }
  .privacy-contents ul { grid-template-columns: minmax(0, 1fr); }
}

/* Contact details and newsletter announcement. */
.contact-email-card { align-self: start; }
.contact-email-card h2 { margin-bottom: 18px; }
.contact-email-card > p { margin-bottom: 20px; }
.contact-email-card .button { margin-bottom: 22px; }
.contact-email-card .contact-email-hint { font-size: 14px; margin-bottom: 8px; }
.contact-email-card .contact-phone-label { margin-top: 28px; margin-bottom: 8px; }
.contact-email-card .contact-privacy { margin-top: 28px; margin-bottom: 0; }
.newsletter-coming-soon .eyebrow { color: var(--luminous); margin-bottom: 14px; }
.newsletter-coming-soon > p:not(.eyebrow) { color: var(--mist); font-size: 17px; line-height: 1.55; }
@media (max-width: 600px) { .contact-email-card .button { white-space: normal; } }

/* Academy participant testimonials. */
.academy-testimonials-heading {
  font-size: clamp(30px, 3.1vw, 43px);
  letter-spacing: -.025em;
  line-height: 1.12;
  margin-bottom: 28px;
}
.academy-testimonials {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.testimonial-card {
  margin: 0;
  min-width: 0;
  padding: 32px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--luminous) 5%, var(--mist));
}
.testimonial-person {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 26px;
}
.testimonial-person > div { min-width: 0; }
.testimonial-portrait {
  width: 96px;
  height: 96px;
  flex: 0 0 96px;
  border-radius: 50%;
  object-fit: contain;
}
.testimonial-name {
  font-family: var(--serif);
  color: var(--midnight);
  font-size: 25px;
  line-height: 1.15;
}
.testimonial-bank { margin-top: 8px; color: var(--body); font-size: 14px; }
.testimonial-quote { font-family: var(--sans); color: var(--body); font-size: 17px; line-height: 1.65; }
@media (max-width: 850px) {
  .academy-testimonials { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 600px) {
  .testimonial-card { padding: 24px; }
  .testimonial-person { gap: 16px; margin-bottom: 22px; }
  .testimonial-portrait { width: 76px; height: 76px; flex-basis: 76px; }
  .testimonial-name { font-size: 22px; }
  .testimonial-quote { font-size: 16px; }
}

/* One continuous homepage image beneath the header and hero text. */
.homepage-header {
  position: absolute;
  inset-inline: 0;
  top: 0;
  background: transparent;
}
.homepage-hero {
  --home-header-height: 100px;
  --home-copy-top: 33px;
  isolation: isolate;
  background: var(--mist);
  min-height: clamp(614px, 46.875vw, 900px);
}
.homepage-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  z-index: 0;
}
.homepage-hero .hero-content {
  padding-top: calc(var(--home-header-height) + var(--home-copy-top));
  z-index: 2;
}
.homepage-hero .hero-edge-copy, .homepage-hero .hero-future { z-index: 2; }
.homepage-hero .hero-edge-copy { top: calc(var(--home-header-height) + 22px); }
@media (max-width: 1150px) {
  .homepage-hero {
    --home-header-height: 82px;
    --home-copy-top: 25px;
    min-height: clamp(532px, 46.875vw, 614px);
  }
}
@media (max-width: 1000px) {
  .homepage-hero { --home-header-height: 80px; min-height: 530px; }
}
@media (max-width: 850px) {
  .homepage-hero { min-height: 505px; }
}
@media (max-width: 600px) {
  .homepage-hero { --home-copy-top: 18px; min-height: 735px; }
  .homepage-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(to bottom, color-mix(in srgb, var(--mist) 88%, transparent), color-mix(in srgb, var(--mist) 80%, transparent) 58%, transparent 82%);
  }
}

.about-speaking-photo { width: 100%; height: auto; aspect-ratio: 5 / 3; object-fit: contain; }

.editorial-split.editorial-text-only { grid-template-columns: minmax(0, 1fr); }

.page-hero-image.speaking-hero-photo { height: auto; aspect-ratio: 4 / 5; object-fit: contain; }

.page-hero-image.digital-hero-image { height: auto; aspect-ratio: 4 / 5; object-fit: contain; }
