@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#0e2428;--paper:#f5f7f5;--green:#cdf36a;--muted:#506165}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #639113;outline-offset:6px}header{max-width:1440px;margin:auto;padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:21px;font-weight:700;line-height:1.4}.brand span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:1.2px;font-weight:500;margin-top:4px}nav{display:flex;gap:30px;align-items:center;font-size:14px}.nav-contact{border:1px solid #bcc6c3;border-radius:50px;padding:10px 20px}.hero{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:1.15fr 1fr;min-height:670px;padding:28px 5% 70px;gap:7%}.hero-copy{padding-top:54px;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin:0 0 25px}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:'Manrope',sans-serif;line-height:1.1;font-weight:500;letter-spacing:-2.5px}h1{font-size:clamp(44px,4.65vw,69px);margin-bottom:26px}em{font-family:Georgia,serif;font-weight:400}h1 em{color:#51743b}.intro{font-size:18px;max-width:465px;color:var(--muted);margin-bottom:32px}.button{background:var(--ink);color:white;padding:17px 23px;border-radius:4px;font-size:15px;display:flex;gap:32px;align-items:center}.button:hover{background:#25464a}.hero-foot{display:flex;justify-content:space-between;width:100%;font-size:12px;gap:15px;margin-top:auto;padding-top:54px;color:var(--muted)}.portrait{margin:0;position:relative;overflow:hidden;border-radius:5px;background:#8e9698;min-height:570px}.portrait img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 30%}.portrait figcaption{position:absolute;bottom:0;left:0;width:100%;padding:50px 28px 26px;background:linear-gradient(transparent,rgba(0,0,0,.65));color:white}.portrait figcaption span{display:block;font-size:22px}.portrait small{font-size:13px;opacity:.9}.section{padding:90px max(5%,calc((100vw - 1296px)/2))}.expertise{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1.1fr;gap:9%}.section-heading h2,h2{font-size:clamp(36px,3.6vw,52px);margin-bottom:26px}.section-heading>p:last-child{max-width:310px;color:#b9c9c8}.expertise .eyebrow{color:var(--green)}.services article{display:flex;gap:28px;padding:26px 0;border-top:1px solid #3e5457}.services article:first-child{padding-top:0;border:0}.services article:last-child{padding-bottom:0}.number{font-size:12px;color:var(--green);padding-top:4px}h3{font-size:24px;letter-spacing:-.7px;margin-bottom:10px}.services p{color:#b9c9c8;margin:0;max-width:430px}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.speaking{margin:0;height:710px;overflow:hidden;border-radius:4px}.speaking img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}.about-copy>p:not(.eyebrow){color:var(--muted)}.education{border-top:1px solid #ccd5cf;margin-top:30px;padding-top:26px}.education h3{font-size:18px;letter-spacing:-.4px;margin-bottom:20px}.education>div{display:grid;grid-template-columns:1fr 1.35fr;gap:16px;font-size:14px;padding:12px 0;border-bottom:1px solid #e0e5e0}.education span{font-weight:600}.education p{margin:0;color:var(--muted)}.testimonials{background:#e7ede7}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:42px 0}.quotes figure{margin:0;border-top:1px solid #adbcae;padding-top:28px}.quotes blockquote{font-family:Georgia,serif;font-size:29px;line-height:1.4;margin:0 0 30px}.quotes figcaption{font-weight:700;font-size:15px}.quotes figcaption span{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:5px}.text-link{font-size:14px;border-bottom:1px solid;padding-bottom:5px}.contact{background:var(--green)}.contact h2{font-size:clamp(58px,7vw,100px);margin-bottom:40px}.contact-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #9bb850;padding-top:30px}.contact-bottom p{margin:0}.contact-bottom a{display:block;font-size:clamp(16px,2vw,25px);overflow-wrap:anywhere}.contact-bottom a+a{font-size:18px;margin-top:10px}footer{padding:25px 5%;display:flex;justify-content:space-between;gap:20px;font-size:12px}a:hover{text-decoration:underline}.button:hover{text-decoration:none}.skip{position:absolute;left:20px;top:-70px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}@media(max-width:900px){header{align-items:flex-start}nav{gap:18px}nav a:not(.nav-contact){display:none}.hero{gap:5%;min-height:590px}.hero-copy{padding-top:20px}.portrait{min-height:520px}.hero-foot{flex-direction:column}.section{padding:70px 5%}.expertise{gap:6%}.about{gap:6%}.speaking{height:650px}.quotes{gap:36px}}@media(max-width:640px){header{padding:22px 6%}.brand{font-size:18px}.brand span{font-size:10px}.nav-contact{font-size:12px;padding:9px 14px;white-space:nowrap}.hero{display:flex;flex-direction:column;padding:18px 6% 45px;gap:30px}.hero-copy{padding-top:15px}h1{font-size:48px;letter-spacing:-2.7px}.intro{font-size:17px}.hero-foot{flex-direction:row;font-size:11px;padding-top:25px}.portrait{min-height:520px}.section{padding:58px 6%}.expertise,.about{grid-template-columns:1fr;gap:32px}.section-heading h2,h2{font-size:40px}.section-heading>p:last-child{max-width:100%}.speaking{height:490px}.about-copy{padding-top:5px}.quotes{grid-template-columns:1fr;gap:35px}.quotes blockquote{font-size:27px}.contact-bottom{flex-direction:column}.contact h2{font-size:63px}.contact-bottom a{font-size:20px}footer{flex-wrap:wrap;padding:22px 6%;font-size:12px}footer span{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.about-statement{background:#dee7dc;padding:55px 35px;min-height:540px;display:flex;flex-direction:column;justify-content:center}.about-statement>p:last-child{font-family:Manrope,sans-serif;font-size:clamp(33px,3.5vw,49px);line-height:1.2;letter-spacing:-2px;margin:0}.about-statement em{display:block;margin-top:24px;color:#51743b}@media(max-width:640px){.about-statement{min-height:360px;padding:35px}.about-statement>p:last-child{font-size:39px}}

.quotes{grid-template-columns:1fr;max-width:840px}.quotes blockquote{font-size:clamp(28px,3.3vw,44px)}

.portrait img{object-position:50% 0%}

.quotes{grid-template-columns:1fr 1fr;max-width:none}.quotes blockquote{font-size:29px}.recommendation-detail{font-size:14px;color:var(--muted);margin:22px 0 0}@media(max-width:640px){.quotes{grid-template-columns:1fr}}

/* Cohesive blue-green surfaces and soft section transitions. */
:root{--ink:#15343e;--paper:#f0f5f6;--green:#bedbd2;--muted:#526a71}
body{background:var(--paper)}
.hero{background:transparent}
h1 em,.about-statement em{color:#477d83}
.expertise{background:linear-gradient(180deg,#294e59 0%,#214752 25%,#214752 72%,#355a64 100%)}
.expertise .eyebrow,.number{color:#c2e0da}
.services article{border-color:#587780}
.services p,.expertise .section-heading>p:last-child{color:#d3e1e5}
.about{background:linear-gradient(180deg,#dce8eb 0%,#edf3f4 28%,#edf3f4 78%,#e4eef0 100%)}
.about-statement{background:linear-gradient(145deg,#d4e4e8,#e4eeee);border-radius:10px}
.education{border-color:#becfd3}.education>div{border-color:#d0dfe2}
.testimonials{background:linear-gradient(180deg,#e4eef0 0%,#dce9ec 55%,#d4e5e6 100%)}
.quotes figure{border-color:#adc8cd}
.contact{background:linear-gradient(180deg,#d4e5e6 0%,#c4dedd 48%,#bad6d4 100%)}
.contact-bottom{border-color:#97b9ba}
footer{background:#bad6d4}
.button{background:#214b58;border-radius:7px}.button:hover{background:#306271}
.nav-contact{border-color:#b3cbd0}
.expertise{background:linear-gradient(180deg,#f0f5f6 0%,#d8e7eb 35%,#d2e3e8 65%,#dce8eb 100%);color:var(--ink)}
.expertise .eyebrow,.number{color:#386975}
.services article{border-color:#b4cdd3}
.services p,.expertise .section-heading>p:last-child{color:var(--muted)}
:root{--muted:#455e66}
:root{--muted:#344f58}

/* Frosted glass surfaces with readable solid fallbacks. */
body{background:radial-gradient(ellipse at 85% 5%,#c9e1eb 0,transparent 38%),radial-gradient(ellipse at 5% 38%,#d6e9e3 0,transparent 42%),#eff5f7}
header{position:relative;margin:18px auto 0;width:90%;padding:19px 26px;border-radius:22px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.92);box-shadow:0 8px 32px rgba(34,73,87,.07)}
.hero{padding-top:40px}
.expertise,.about,.testimonials,.contact{background:transparent}
.section{position:relative}
.services{padding:30px;border-radius:26px;background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.9);box-shadow:0 16px 45px rgba(34,73,87,.06)}
.services article{border-color:rgba(80,117,131,.2)}
.about-statement{background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(207,228,235,.52));border:1px solid rgba(255,255,255,.85);border-radius:28px;box-shadow:0 16px 45px rgba(34,73,87,.06)}
.portrait{border-radius:26px;border:1px solid rgba(255,255,255,.8);box-shadow:0 22px 55px rgba(24,58,76,.13)}
.portrait figcaption{left:16px;bottom:16px;width:calc(100% - 32px);padding:17px 20px;border-radius:17px;background:rgba(20,48,62,.78);border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 20px rgba(0,0,0,.06)}
.quotes{gap:24px}
.quotes figure{padding:32px;border:1px solid rgba(255,255,255,.9);border-radius:24px;background:rgba(255,255,255,.7);box-shadow:0 12px 36px rgba(34,73,87,.06)}
.contact{margin:24px 5% 40px;padding:64px 5%;border-radius:32px;background:linear-gradient(120deg,rgba(255,255,255,.77),rgba(194,222,226,.65));border:1px solid rgba(255,255,255,.9);box-shadow:0 16px 45px rgba(34,73,87,.07)}
footer{background:transparent}.nav-contact{background:rgba(255,255,255,.6);border-color:rgba(97,135,148,.22)}
.button{border-radius:14px;background:linear-gradient(140deg,#356578,#214b58);border:1px solid rgba(255,255,255,.25);box-shadow:0 7px 18px rgba(29,73,91,.17)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){header,.services,.about-statement,.quotes figure,.contact{backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%)}.portrait figcaption{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgba(20,48,62,.65)}}
@media(max-width:640px){header{width:88%;padding:15px 17px;border-radius:18px}.services{padding:23px}.quotes figure{padding:26px}.contact{margin:10px 6% 25px;padding:42px 7%;border-radius:25px}.portrait figcaption span{font-size:20px}.section{padding-top:48px;padding-bottom:48px}}
@media(prefers-reduced-transparency:reduce){header,.services,.quotes figure{background:#f5f9fa}.about-statement,.contact{background:#e1edf0}.portrait figcaption{background:#203e4b}header,.services,.about-statement,.quotes figure,.contact,.portrait figcaption{backdrop-filter:none;-webkit-backdrop-filter:none}}

.scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .9s cubic-bezier(.22,1,.36,1)}
.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}
.quotes figure.scroll-reveal:nth-child(2){transition-delay:100ms}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.button,.nav-contact{transition:transform .25s ease,box-shadow .25s ease}.button:hover,.nav-contact:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(29,73,91,.16)}}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none!important}}
@media print{.scroll-reveal{opacity:1;transform:none}}

/* Visible refraction needs contrasting colour behind the glass. */
body{background:#d4e7ef;isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 10% 20%,rgba(45,157,198,.6),transparent 42%),radial-gradient(ellipse at 88% 52%,rgba(74,177,157,.58),transparent 40%),radial-gradient(ellipse at 35% 95%,rgba(98,146,207,.5),transparent 45%),linear-gradient(135deg,#e4f0f5,#c8e1e9)}
header,.services,.about-statement,.quotes figure,.contact{background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,.19));border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(255,255,255,.3),0 18px 45px rgba(27,79,101,.14);backdrop-filter:blur(28px) saturate(155%);-webkit-backdrop-filter:blur(28px) saturate(155%)}
header{position:sticky;top:12px;z-index:20}
.scroll-reveal{opacity:0;transform:translate3d(0,48px,0) scale(.975);transition:opacity 1s ease,transform 1.15s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.scroll-reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none!important}}
@media(prefers-reduced-transparency:reduce){header,.services,.about-statement,.quotes figure,.contact{background:#eaf3f6;backdrop-filter:none;-webkit-backdrop-filter:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){header,.services,.about-statement,.quotes figure,.contact{background:rgba(245,250,252,.9)}}
