@font-face{font-family:Source Sans;src:url('assets/fonts/SourceSans3-Regular.otf') format('opentype');font-weight:400;font-display:swap}@font-face{font-family:Source Sans;src:url('assets/fonts/SourceSans3-Semibold.otf') format('opentype');font-weight:600 800;font-display:swap}@font-face{font-family:Source Serif;src:url('assets/fonts/SourceSerif4-Regular.otf') format('opentype');font-weight:400;font-display:swap}@font-face{font-family:Source Serif;src:url('assets/fonts/SourceSerif4-Semibold.otf') format('opentype');font-weight:600 800;font-display:swap}
:root{--paper:#f6f8fa;--ink:#102846;--body:#3f536a;--muted:#586b80;--blue:#2166ac;--sky:#a7d8ff;--line:#d2dce5;--navy:#102b4a;--serif:'Source Serif',Georgia,serif;--sans:'Source Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.6 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{line-height:1.12;font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button,a,input{touch-action:manipulation}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #357bb9;outline-offset:5px}button:disabled{cursor:default}em{font-family:var(--serif);font-weight:400}.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}.section-space{padding-block:90px}.section-top{display:flex;justify-content:space-between;gap:24px;margin-bottom:42px}.eyebrow{font-size:13px;font-weight:600;line-height:1.5;letter-spacing:.11em;text-transform:uppercase}.eyebrow>span{margin-right:22px;color:var(--blue)}.section-note{font:italic 17px var(--serif);color:var(--muted)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip-link{position:absolute;top:8px;left:8px;transform:translateY(-150%);z-index:20;background:var(--navy);padding:12px 22px;color:white}.skip-link:focus{transform:none}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:110px;gap:24px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;font-size:29px;font-weight:600;letter-spacing:-1px;white-space:nowrap;line-height:1}.brand-light{font-weight:400}.brand-symbol{width:44px;height:44px;overflow:hidden;position:relative}.brand-symbol img{position:absolute;width:84px;max-width:none;height:84px;left:-20px;top:-20px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:16px}.site-header nav>a{padding-block:13px;border-bottom:1px solid transparent}.site-header nav>a:hover{color:var(--blue);border-color:var(--blue)}.site-header nav .nav-contact{background:var(--navy);color:#fff;padding:11px 24px;border-radius:2px}.menu-toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:1.03fr 1fr;column-gap:12px;padding-top:64px}.hero-copy{position:relative;z-index:1;padding-top:9px}.hero .eyebrow{color:var(--muted);font-size:12px}.hero h1{font-size:clamp(70px,6.6vw,105px);letter-spacing:-.057em;line-height:1.01;margin-top:27px}.hero h1 em{color:var(--blue);font-size:.9em;letter-spacing:-.052em;white-space:nowrap}.hero-intro{font-size:19px;line-height:1.65;max-width:430px;margin-top:29px;color:var(--body)}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:53px;padding:15px 27px;border:1px solid transparent;font-size:16px;line-height:1.3;font-weight:600;border-radius:2px;transition:background .2s}.button-dark{background:var(--navy);color:#fff}.button-dark:hover{background:#205588}.button-light{background:#fff;color:var(--navy)}.button-light:hover{background:#d4e9fb}.text-link{display:inline-block;font-size:16px;font-weight:600;border-bottom:1px solid #8096ae;padding:5px 0;line-height:1.5}.text-link:hover{color:var(--blue);border-color:var(--blue)}.hero-art{height:620px;position:relative;min-width:0}.art-coordinate{position:absolute;top:3px;right:4px;font-size:11px;letter-spacing:.15em;color:#6b8095}.orb-wrap{position:absolute;inset:0 -28px}.living-orb{width:100%;height:100%;object-fit:contain}.globe-view{touch-action:pan-y;user-select:none;-webkit-user-select:none}.globe-ready .globe-view{cursor:grab}.globe-ready .globe-view.is-dragging{cursor:grabbing}.globe-view:focus-visible{outline-offset:-20px;border-radius:50%}#globe-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.globe-controls{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:3}.motion-toggle{display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid #d1dce6;background:#f6f8fae6;border-radius:2px;font-size:12px;color:var(--muted);min-height:38px;white-space:nowrap}.motion-toggle:hover{background:#e6eef6}.hero-bottom{grid-column:1/-1;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:14px;color:var(--muted);padding:22px 0 28px}.hero-bottom>span:last-child{font-style:italic;font-family:var(--serif)}.lens-section{background:var(--navy);color:#fff}.lens-section .section-note{color:#b0c7df}.lens-section .eyebrow>span{color:var(--sky)}.lens-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:start}.lens-intro h2{font-size:clamp(38px,4.2vw,64px);letter-spacing:-.045em}.lens-intro h2 em{color:var(--sky)}.lens-intro .lead{font-size:24px;line-height:1.4;color:#fff;margin-bottom:15px}.lens-intro p{color:#c4d5e6;font-size:18px;line-height:1.75}.lens-intro .text-link{color:var(--sky);margin-top:20px;border-color:#6489af}.product-figure{margin-top:45px}.product-figure>img{width:100%;max-height:710px;object-fit:contain;object-position:top;background:#f4f1e9;border-radius:3px}.product-figure figcaption{color:#b1c7de;font-size:13px;margin-top:13px}.site-footer{padding-block:45px;font-size:15px}.site-footer>p{margin-block:20px 8px;color:var(--muted)}
@media(min-width:1550px){.hero{padding-top:75px}.hero-art{height:685px}}
@media(max-width:1100px){.wrap{width:calc(100% - 70px)}.site-header nav{gap:20px;font-size:15px}.hero h1{font-size:clamp(62px,7.3vw,85px)}.hero-art{height:560px}.hero-intro{font-size:18px}.hero-actions{gap:18px}.button{padding-inline:21px}.hero .eyebrow{font-size:11px}.lens-intro{gap:6%}}
@media(max-width:800px){.wrap{width:calc(100% - 42px)}.site-header{min-height:87px;flex-wrap:wrap;gap:0}.brand{font-size:26px}.brand-symbol{width:38px;height:38px}.brand-symbol img{width:74px;height:74px;left:-18px;top:-18px}.site-header nav{width:100%;padding-bottom:20px;flex-wrap:wrap;gap:8px 22px}.has-menu .menu-toggle{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:7px 10px;background:transparent;font-size:14px;min-height:40px}.has-menu nav{display:none}.has-menu nav.is-open{display:flex}.hero{grid-template-columns:1fr;padding-top:36px}.hero-copy{max-width:600px}.hero h1{font-size:clamp(60px,12vw,90px);margin-top:22px}.hero-intro{max-width:440px;margin-top:23px}.hero-art{height:480px;margin-top:18px}.art-coordinate{top:10px;font-size:10px}.orb-wrap{inset:0 -10px}.globe-controls{bottom:12px}.hero-bottom{font-size:13px;padding-block:18px;display:block}.hero-bottom>span:last-child{display:block;margin-top:5px}.section-space{padding-block:58px}.section-note{display:none}.section-top{margin-bottom:30px}.lens-intro{grid-template-columns:1fr;gap:24px}.lens-intro h2{font-size:clamp(38px,7.2vw,57px)}.lens-intro .lead{font-size:23px}.product-figure{margin-top:30px}.product-figure figcaption{font-size:12px}.site-footer{padding-block:34px}}
@media(max-width:390px){.hero h1{font-size:58px}.hero-actions{align-items:flex-start;gap:17px;flex-direction:column}.hero-art{height:430px}.hero .eyebrow{font-size:10px}.eyebrow{font-size:12px}.hero-intro{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* NovusLens product tour */
.lens-tour{margin-top:48px}.tour-tabs{display:flex;gap:30px;border-bottom:1px solid #56708c}.tour-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:15px 0;color:#b8cde3;font-size:17px}.tour-tabs button[aria-selected=true]{border-color:var(--sky);color:#fff}.tour-tabs button:hover{color:white}.tour-tabs button:focus-visible,.lens-section a:focus-visible{outline-color:#a7d8ff}.tour-caption{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;padding:29px 0 24px;align-items:start;min-height:133px}.tour-caption h3{font-size:27px;line-height:1.25;letter-spacing:-.025em}.tour-caption p{font-size:17px;line-height:1.65;color:#c4d5e6}.tour-panel .product-figure{margin-top:0}.screenshot-link{display:block;background:#f4f1e9;border-radius:3px;overflow:hidden;cursor:zoom-in}.screenshot-link img{width:100%;height:auto;display:block}.lens-principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:46px}.lens-principles>div{padding-right:35px}.lens-principles>div+div{padding-left:35px;border-left:1px solid #506985}.small-label{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.lens-principles .small-label{color:var(--sky)}.lens-principles h3{font-size:27px;letter-spacing:-.02em;margin:12px 0}.lens-principles p{color:#c4d5e6;font-size:17px;line-height:1.6}.lens-foundation{display:grid;grid-template-columns:1.4fr 1fr;gap:10%;border-top:1px solid #506985;padding-top:29px;margin-top:34px;color:#b6cbe1;font-size:16px}.lens-foundation strong{font-weight:600;color:#fff}.lens-foundation p:last-child{font-size:15px}
/* Services and experience */
.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:start}.section-heading h2,.about-grid h2,.contact-grid h2{font-size:clamp(40px,4.4vw,65px);letter-spacing:-.045em;line-height:1.12}.section-heading h2 em,.about-grid h2 em,.contact-grid h2 em{color:var(--blue)}.section-heading>p,.section-heading>div>p{font-size:20px;color:var(--body);line-height:1.65}.service-columns{display:grid;grid-template-columns:repeat(3,1fr);margin-top:52px;border-top:1px solid var(--line)}.service-columns article{padding:30px 35px 0 0}.service-columns article+article{border-left:1px solid var(--line);padding-left:35px}.service-number{font:20px var(--serif);color:var(--blue)}.service-columns h3{font-size:29px;letter-spacing:-.025em;line-height:1.18;min-height:75px;margin:24px 0 18px}.service-columns p{font-size:17px;line-height:1.65;color:var(--body)}.service-columns ul{list-style:none;margin:25px 0 0;padding:0;font-size:16px;line-height:1.5}.service-columns li{position:relative;padding-left:15px;margin-block:9px}.service-columns li:before{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:var(--blue);top:10px;left:0}.practitioner-note{display:grid;grid-template-columns:1fr 2.35fr;gap:35px;margin-top:54px;padding-top:25px;border-top:1px solid var(--line)}.practitioner-note .small-label{color:var(--blue);padding-top:5px}.practitioner-note p{font-size:21px;line-height:1.55;max-width:720px}.experience-section{background:#e8eff5;padding-block:65px}.experience-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:12%}.experience-grid .eyebrow{color:var(--blue);margin-bottom:24px}.experience-grid h2{font-size:40px;letter-spacing:-.04em;margin-bottom:23px}.experience-grid>div>p:last-child{color:var(--body);font-size:18px}.experience-list>div{padding:20px 0;border-top:1px solid #bdcddb;display:grid;grid-template-columns:100px 1fr;gap:25px}.experience-list>div:last-child{border-bottom:1px solid #bdcddb}.experience-list span{font-size:14px;color:var(--blue);padding-top:3px}.experience-list h3{font-size:23px;line-height:1.3;letter-spacing:-.015em}
/* Editorial archive */
.insights-section .section-top{align-items:center}.insights-section .section-heading .author-credit{font-size:15px;line-height:1.55;padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.author-credit strong{color:var(--ink);font-weight:600}.featured-articles{display:grid;grid-template-columns:1fr 1fr;gap:6%;margin-top:45px}.featured-article{border-top:2px solid var(--blue);padding-top:20px;display:flex;flex-direction:column;align-items:flex-start}.article-meta{display:flex;align-items:baseline;justify-content:space-between;gap:20px;color:var(--muted);font-size:14px;line-height:1.5;width:100%}.article-meta>span{color:var(--blue);font-weight:600}.featured-article h3{font:30px/1.3 var(--serif);letter-spacing:-.035em;margin:24px 0 17px}.featured-article h3 a:hover,.series-article h4 a:hover{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.featured-article>p{color:var(--body);font-size:18px;line-height:1.6;margin-bottom:20px}.featured-article .text-link{margin-top:auto}.series-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center;border-top:1px solid var(--line);padding-top:46px;margin-top:55px;margin-bottom:32px}.series-intro .eyebrow{color:var(--blue);font-size:12px}.series-intro h3{font:31px/1.3 var(--serif);letter-spacing:-.035em;margin-top:10px}.series-intro>p{font-size:17px;color:var(--body)}.series-article{display:grid;grid-template-columns:50px 1fr 95px;column-gap:22px;align-items:center;border-top:1px solid var(--line);padding-block:25px}.series-article:last-child{border-bottom:1px solid var(--line)}.series-number{align-self:start;color:var(--blue);font:24px var(--serif);padding-top:4px}.series-article h4{font-size:26px;letter-spacing:-.025em;margin-top:5px}.series-article p{font-size:17px;color:var(--body);margin-top:10px;max-width:850px}.series-article>.text-link{justify-self:end;align-self:center;font-size:15px}
/* About, contact, legal */
.about-section{background:#e8eff5}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:12%}.about-grid h2{font-size:70px;line-height:1.1}.about-grid blockquote{margin:45px 0 0;border-top:1px solid #bdcddb;padding-top:24px;max-width:440px}.about-grid blockquote>p{font:21px/1.55 var(--serif);letter-spacing:-.02em}.about-grid blockquote footer{display:flex;flex-direction:column;font-size:15px;margin-top:23px}.about-grid blockquote footer span{color:var(--body)}.about-story p{font-size:18px;line-height:1.7;color:var(--body)}.about-story p+p{margin-top:23px}.about-story .lead{font-size:22px;color:var(--ink);line-height:1.55}.contact-section .eyebrow{margin-bottom:40px}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.contact-grid h2{font-size:75px}.contact-grid>div>p{font-size:21px;line-height:1.6;max-width:570px;margin-top:26px;color:var(--body)}.contact-actions{display:flex;align-items:flex-start;flex-direction:column}.contact-actions .button{padding:18px 34px;font-size:18px;margin-bottom:24px}.contact-actions>span{font-size:15px;color:var(--muted)}.contact-email{font:clamp(20px,2.1vw,29px)/1.5 var(--serif);border-bottom:1px solid #94a9bc;margin-top:5px;letter-spacing:-.03em}.contact-grid .contact-actions>p{font-size:16px;max-width:340px;margin-top:21px}.site-footer{padding-block:40px 24px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1fr 1fr auto;gap:28px;align-items:center}.footer-top>p{font:20px/1.35 var(--serif);letter-spacing:-.025em;color:var(--muted)}.footer-social{display:flex;gap:24px;font-size:15px}.footer-social a:hover,.footer-bottom a:hover{color:var(--blue);text-decoration:underline}.footer-bottom{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:15px 25px;justify-content:space-between;color:var(--muted);font-size:14px}.footer-bottom address{font-style:normal}.privacy-note{font-size:13px;color:var(--muted);margin-top:15px}.privacy-note summary{cursor:pointer;width:fit-content;padding-block:7px}.privacy-note p{max-width:900px;font-size:15px;line-height:1.65;margin:10px 0 15px}.privacy-note p a{text-decoration:underline}
@media(max-width:1100px){.hero h1 em{font-size:.86em}.service-columns article{padding-right:23px}.service-columns article+article{padding-left:23px}.service-columns h3{font-size:25px}.experience-grid{gap:6%}.experience-list>div{grid-template-columns:83px 1fr;gap:15px}.about-grid{gap:8%}.about-grid h2{font-size:62px}.section-heading{gap:7%}.contact-grid h2{font-size:66px}.tour-caption{min-height:146px}.footer-top{grid-template-columns:1fr 1fr}.footer-social{grid-column:1/-1}}
@media(max-width:800px){.section-heading{grid-template-columns:1fr;gap:24px}.section-heading>p,.section-heading>div>p{font-size:18px}.tour-tabs{gap:22px;overflow-x:auto}.tour-tabs button{font-size:15px;line-height:1.3;max-width:160px;min-width:95px;flex:1;padding-block:14px}.lens-tour{margin-top:32px}.tour-caption{grid-template-columns:1fr;gap:13px;min-height:0;padding-block:23px}.tour-caption h3{font-size:26px}.tour-caption p{font-size:17px}.lens-principles{margin-top:35px;grid-template-columns:1fr}.lens-principles>div{padding:22px 0}.lens-principles>div+div{padding:22px 0;border-left:0;border-top:1px solid #506985}.lens-principles h3{font-size:26px;margin-top:10px}.lens-foundation{grid-template-columns:1fr;gap:20px;margin-top:10px;padding-top:25px}.service-columns{grid-template-columns:1fr;margin-top:35px}.service-columns article{padding:26px 0 30px}.service-columns article+article{padding:26px 0 30px;border-left:0;border-top:1px solid var(--line)}.service-columns h3{font-size:29px;min-height:0;margin:16px 0}.service-columns h3 br{display:none}.service-columns li{margin-block:7px}.practitioner-note{grid-template-columns:1fr;gap:16px;margin-top:5px}.practitioner-note p{font-size:20px}.experience-section{padding-block:45px}.experience-grid{grid-template-columns:1fr;gap:30px}.experience-grid h2{font-size:36px}.experience-list>div{grid-template-columns:85px 1fr;gap:20px}.experience-list h3{font-size:21px}.insights-section .section-top{align-items:flex-start;flex-direction:column;gap:12px}.featured-articles{grid-template-columns:1fr;gap:38px;margin-top:32px}.featured-article h3{font-size:28px}.featured-article>p{font-size:17px}.article-meta{font-size:13px}.series-intro{grid-template-columns:1fr;gap:18px;margin-top:38px;padding-top:32px;margin-bottom:25px}.series-intro h3{font-size:30px}.series-article{grid-template-columns:29px 1fr;column-gap:15px;padding-block:22px}.series-article>.text-link{grid-column:2;justify-self:start;margin-top:12px}.series-article h4{font-size:25px}.series-article p{font-size:16px}.series-number{font-size:22px}.about-grid{grid-template-columns:1fr;gap:32px}.about-grid h2{font-size:60px}.about-grid blockquote{margin-top:28px;max-width:100%}.about-grid blockquote>p{font-size:21px}.about-story .lead{font-size:21px}.about-story p{font-size:17px}.contact-grid{grid-template-columns:1fr;gap:33px}.contact-grid h2{font-size:66px}.contact-section .eyebrow{margin-bottom:27px}.contact-grid>div>p{font-size:19px;margin-top:23px}.contact-email{font-size:25px}.contact-actions .button{font-size:17px}.footer-top{grid-template-columns:1fr;gap:24px}.footer-social{gap:25px}.footer-bottom{margin-top:28px;display:block;font-size:14px}.footer-bottom>*+*{display:block;margin-top:10px}.privacy-note{margin-top:10px}}
@media(max-width:390px){.contact-email{font-size:22px}.tour-tabs{gap:15px}.tour-tabs button{min-width:82px;font-size:14px}.experience-list>div{grid-template-columns:1fr;gap:7px}.contact-grid h2{font-size:59px}}
@media(max-width:390px){.hero-copy{min-width:0}.hero h1{font-size:clamp(46px,15vw,58px)}.about-grid h2{font-size:clamp(46px,15vw,60px)}}

/* Concept descriptions share the globe's projected label positions. */
.globe-labels{position:absolute;inset:0;pointer-events:none;z-index:1}
.globe-concept{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;touch-action:pan-y;display:flex;align-items:center;justify-content:center;padding:3px 6px;border:1px solid transparent;border-radius:4px;background:transparent;font-family:Arial,Helvetica,sans-serif;white-space:pre;text-align:center;cursor:help;text-shadow:0 0 3px var(--paper),0 0 3px var(--paper),1px 1px 2px var(--paper),-1px -1px 2px var(--paper);transition:background-color .15s,border-color .15s}
.globe-concept:hover,.globe-concept[aria-expanded="true"]{background:#f6f8faf2;border-color:#9cbddc;color:var(--blue)!important;opacity:1!important}
.globe-concept:focus-visible{outline:2px solid var(--blue);outline-offset:2px;background:var(--paper);opacity:1!important}
.is-dragging .globe-concept{cursor:grabbing}
.globe-concept-pane{position:absolute;z-index:4;width:310px;max-width:calc(100% - 16px);padding:19px 21px 20px;background:#fff;border:1px solid #c7d9e9;border-top:3px solid var(--blue);border-radius:5px;box-shadow:0 12px 35px #102b4a24;cursor:auto;user-select:text;-webkit-user-select:text;touch-action:pan-y;animation:concept-appear .16s ease-out}
.globe-concept-pane .concept-kicker{padding-right:22px;font:600 10px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:9px}
.globe-concept-pane h2{padding-right:17px;font:400 23px/1.16 var(--serif);letter-spacing:-.025em;color:var(--ink);margin-bottom:10px}
.globe-concept-pane .concept-description{font:400 16px/1.5 var(--sans);color:var(--body)}
.globe-concept-pane .concept-article{display:inline-block;margin-top:13px;color:#173f35;font:600 13px/1.4 var(--sans);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.globe-concept-pane .concept-article:hover{color:var(--ink)}
.globe-concept-pane .concept-article:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:1px}
.concept-close{position:absolute;top:5px;right:5px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:3px;background:transparent;font:24px/1 var(--sans);color:var(--muted)}
.concept-close:hover{background:#eaf2f9;color:var(--ink)}
@keyframes concept-appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.globe-concept-pane{animation:none}.globe-concept{transition:none}}
@media(max-width:390px){.globe-concept-pane{padding:16px 18px}.globe-concept-pane h2{font-size:21px}.globe-concept-pane .concept-description{font-size:15px}}

/* Two interwoven families; text and anchor shape also communicate membership. */
.globe-controls{display:flex;flex-direction:column;align-items:center;gap:11px}
.globe-legend{display:flex;align-items:center;gap:22px;white-space:nowrap;font:600 12px/1.4 var(--sans);color:#173f35}
.globe-legend>span{display:inline-flex;align-items:center;gap:8px}
.globe-legend .family-ai{color:#a94f24}
.family-mark{width:7px;height:7px;background:currentColor;border-radius:50%}
.family-ai .family-mark{border-radius:0;transform:rotate(45deg)}
.globe-concept[data-family="organisation"]{--family-colour:#173f35;--family-border:#a6bcb1}
.globe-concept[data-family="ai"]{--family-colour:#a94f24;--family-border:#d1b49a}
.globe-concept:hover,.globe-concept[aria-expanded="true"]{border-color:var(--family-border);color:var(--family-colour)!important}
.globe-concept:focus-visible{outline-color:var(--family-colour)}
.globe-concept-pane{border-top-color:#173f35}
.globe-concept-pane .concept-kicker{color:#173f35}
.globe-concept-pane[data-family="ai"]{border-color:#e5d5c3;border-top-color:#a94f24}
.globe-concept-pane[data-family="ai"] .concept-kicker{color:#a94f24}
.globe-concept-pane[data-family="ai"] .concept-article{color:#a94f24}
.globe-concept-pane[data-family="ai"] .concept-close:hover{background:#fbf1e8}

.globe-view:focus-visible{outline-color:#527866}
.globe-concept-pane[data-family="organisation"]{border-color:#c6d6cc;border-top-color:#173f35}
.globe-concept-pane[data-family="organisation"] .concept-close:hover{background:#edf3ee}

/* The legend names themselves toggle each family. */
.globe-filters{display:flex;align-items:center;justify-content:center;gap:22px}
.family-toggle{--switch-colour:#173f35;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:32px;padding:5px 2px;border:0;border-radius:2px;background:transparent;color:var(--switch-colour);font:600 12px/1.4 var(--sans);white-space:nowrap;cursor:pointer}
.family-toggle.family-ai{--switch-colour:#a94f24}
.family-toggle:hover>span{text-decoration:underline;text-underline-offset:3px}
.family-toggle:focus-visible{outline:2px solid var(--switch-colour);outline-offset:3px}
.family-toggle[aria-checked="false"]{color:#87939e}
.family-toggle[aria-checked="false"]>span{text-decoration:line-through;text-decoration-thickness:1px}

/* Inner pages: case studies and learning hub. */
.page-intro{padding-bottom:40px}
.page-intro .eyebrow,.case-header .eyebrow{color:var(--blue);margin-bottom:24px}
.page-intro h1{font-size:clamp(44px,5vw,76px);letter-spacing:-.045em;line-height:1.08}
.page-intro h1 em{color:var(--blue)}
.page-intro .section-heading p+p{margin-top:16px}
.experience-grid .text-link{margin-top:24px}
.experience-list h3 a:hover,.case-card h2 a:hover{color:var(--blue)}
.case-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 6%;padding-top:0}
.case-card{border-top:1px solid var(--line);padding-block:34px 40px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.case-card .small-label{color:var(--blue)}
.case-card h2{font-size:30px;letter-spacing:-.025em;line-height:1.2}
.case-card p{color:var(--body);flex:1}
.case-header{max-width:1000px;margin-inline:auto;padding-bottom:50px}
.case-header .eyebrow a{border-bottom:1px solid currentColor}
.case-header h1{font-size:clamp(38px,4.4vw,62px);letter-spacing:-.04em;line-height:1.12;margin-bottom:28px}
.case-header .lead{font:italic 24px/1.5 var(--serif);color:var(--body)}
.case-author{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:15px;color:var(--muted)}
.case-author img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.case-body{max-width:1000px;margin-inline:auto;padding-bottom:40px}
.case-section{display:grid;grid-template-columns:220px 1fr;gap:5%;border-top:1px solid var(--line);padding-block:44px}
.case-section h2{font-size:28px;letter-spacing:-.02em}
.case-section h2 span{display:block;font:600 13px/1.5 var(--sans);letter-spacing:.11em;color:var(--blue);margin-bottom:10px}
.case-section-body{color:var(--body)}
.case-section-body>p+p,.case-section-body>p+ul{margin-top:18px}
.case-technologies{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none}
.case-technologies li{border:1px solid var(--line);background:#fff;padding:6px 14px;font-size:15px;border-radius:2px;color:var(--ink)}
.case-outcomes{list-style:none;padding:0;margin:0;display:grid;gap:26px}
.case-outcomes li{border-left:3px solid var(--blue);padding-left:22px}
.case-outcomes h3{font-size:22px;letter-spacing:-.015em;margin-bottom:6px;color:var(--ink)}
.case-back{padding-top:10px}
.resource-list{display:grid;gap:0;padding-bottom:40px}
.resource-card{display:grid;grid-template-columns:1fr 1.4fr;gap:8%;border-top:1px solid var(--line);padding-block:50px}
.resource-heading .small-label{display:block;color:var(--blue);margin-bottom:12px}
.resource-heading h2{font-size:clamp(30px,3vw,42px);letter-spacing:-.035em}
.resource-subtitle{margin-top:14px;font:italic 20px/1.45 var(--serif);color:var(--muted)}
.resource-body{color:var(--body);display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.resource-access{font-weight:600;color:var(--ink)}
@media(max-width:800px){.case-list{grid-template-columns:1fr}
.case-section{grid-template-columns:1fr;gap:16px;padding-block:32px}
.resource-card{grid-template-columns:1fr;gap:22px;padding-block:36px}
.case-header .lead{font-size:20px}}
.client-logos{padding-block:60px 20px;text-align:center}
.client-logos h2{color:var(--muted);margin-bottom:34px}
.client-logos ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:36px 64px}
.client-logos img{display:block;height:56px;width:auto;max-width:170px;object-fit:contain}
@media(max-width:800px){.client-logos ul{gap:28px 40px}
.client-logos img{height:42px;max-width:130px}}
.brand-wordmark{display:block;height:.92em;width:auto;overflow:visible}
.brand-ink{fill:var(--navy)}
.brand-ring{fill:none;stroke:var(--navy)}
.brand-accent{fill:#3f7a5f}
.brand-pivot{fill:var(--paper)}
.brand-gap{fill:none;stroke:var(--paper)}
