/* GenIT font families are fixed: DM Sans + Instrument Serif. */
@import url('/assets/fonts/fonts.css');
:root{--ink:#202d39;--muted:#626e7a;--accent:#5750c6;--cream:#fbfbfa;--line:#e1e4e9;--gradient:linear-gradient(120deg,#f1efff 0%,#f8fafc 48%,#eaf5f4 100%)}
html{scroll-behavior:smooth;scroll-padding-top:104px}body{font-size:16px;line-height:1.7;background:var(--cream)}.wrap{width:min(1240px,calc(100% - 80px))}h1{font-size:clamp(38px,4.5vw,64px);line-height:1.1}h2{font-size:clamp(28px,3vw,42px);line-height:1.2}h3{font-size:23px;line-height:1.35}.lead{font-size:17px;line-height:1.8}.eyebrow{font-size:11px;letter-spacing:.13em;line-height:1.6}.section{padding-block:88px}.btn{font-size:14px;padding:14px 23px;min-height:48px;gap:18px;background:linear-gradient(115deg,#6660d5,#4941b4);box-shadow:0 5px 16px #5750c61a}.btn:hover{background:linear-gradient(115deg,#5750c6,#3f389c);box-shadow:0 9px 24px #5750c62b}.btn:active{transform:translateY(1px)}.text-link{font-size:14px}.btn.light{background:linear-gradient(120deg,#ebf1d6,#d6e5c7)}.btn.secondary{background:transparent;box-shadow:none}.e-home-title h1{font-size:clamp(42px,5.5vw,76px)}.e-home-title p{font-size:16px}.e-homehero{padding-top:56px}.e-panorama{height:430px;border-radius:18px 18px 72px 18px}.e-panorama>img{object-position:center 42%}.e-photo-shade{background:linear-gradient(90deg,#182b46a6,transparent 80%),linear-gradient(0deg,#1c3241bb,transparent 75%)}.e-panorama h2{font-size:clamp(28px,3vw,40px);bottom:24px}.p-photo-credit{position:absolute;right:35px;top:30px;color:#fff;font-size:10px}.e-photo-label{font-size:10px}.e-home-title{gap:50px}.e-capabilities p{font-size:16px}.e-capabilities>span{font-size:10px}.e-expertise-note{background:linear-gradient(140deg,#efedff,#e2e9f7 65%,#dceee9);border:1px solid #dedff1}.e-service-rows>a{padding:28px 14px;transition:background .2s,padding .2s;border-radius:7px}.e-service-rows>a:first-child{padding-top:28px}.e-service-rows>a:hover{background:#f1f1fb;padding-left:23px}.e-service-rows>a>span{color:var(--accent);margin-top:4px}.e-service-rows p{font-size:15px}.e-service-rows h3{font-size:24px}.e-dark{background:radial-gradient(ellipse at 90% 10%,#53518570,transparent 60%),linear-gradient(115deg,#1c2a36,#243d45)}.e-manifesto h2{font-size:clamp(34px,4.6vw,60px)}.e-manifesto-bottom p{font-size:16px}.e-pale{background:var(--gradient)}.e-footer{background:radial-gradient(ellipse at 90% 15%,#48507e5c,transparent 60%),linear-gradient(120deg,#1b2c38,#253c43)}.e-footer-cta h2{font-size:clamp(44px,5.8vw,78px)}.e-footer-grid a{font-size:14px}.e-footer-grid p{font-size:15px}.e-footer-grid h3{font-size:13px}.e-footer-base{font-size:12px}.e-intro{padding-block:60px}.e-section-head>p,.e-principles p,.e-directory-group>div>p,.e-industry-lenses p,.e-scope-list p,.e-engagement p,.e-project-meta p,.e-approach p{font-size:15px}.e-number{color:#7467ad}.e-service-directory .e-directory-nav a{font-size:13px;padding:13px 16px}.e-directory-group h3{font-size:24px}.e-note-banner{background:var(--gradient);border:1px solid #e3e2ec;border-radius:16px}.e-solution-tile{transition:transform .2s,box-shadow .2s;border-radius:14px}.e-solution-tile:hover{transform:translateY(-5px);box-shadow:0 14px 40px #2c315415}.e-solution-map{background:var(--gradient);border:1px solid #e3e5ed}.e-article:hover h3,.e-project:hover h3{color:var(--accent)}.e-project-visual{border-radius:12px}.e-work-grid .e-project:first-child{border-radius:12px;background:linear-gradient(120deg,#e6eee5,#f2f3ef)}.e-editorial-art{border-radius:12px}.e-article p:not(.eyebrow){font-size:15px}.e-about-photo{border-radius:16px;overflow:hidden}.e-about-photo>img{object-position:center 50%}.e-contact-form{border-radius:18px;background:linear-gradient(150deg,#f1effc,#f5f8f9);border:1px solid #e4e1ef}.e-contact h1{font-size:clamp(42px,4.5vw,64px)}.e-contact-form label{font-size:14px}.e-contact-form input,.e-contact-form textarea,.e-contact-form select{font-size:16px;border-radius:8px;background:#ffffffc9}.e-contact-note p{font-size:14px}.p-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.e-service-hero.variant-0{background:linear-gradient(120deg,#f2f0ff,#eff7f8)}.e-service-hero.variant-1{background:linear-gradient(120deg,#eaf4ed,#eff0ff)}.e-service-hero.variant-2{background:radial-gradient(ellipse at 80% 20%,#4f518d70,transparent 65%),linear-gradient(110deg,#1b2d3a,#25434a)}.e-service-hero h1{font-size:clamp(38px,4.5vw,64px)}.e-service-hero-grid{grid-template-columns:1.15fr .85fr;gap:65px}.p-service-photo{position:relative;min-height:350px;height:390px;border-radius:12px 12px 70px 12px;overflow:hidden;box-shadow:0 24px 55px #1c27471a;border:1px solid #ffffff44}.p-service-photo>img{width:100%;height:100%;object-fit:cover}.p-service-photo>span{display:flex;align-items:center;gap:13px;position:absolute;bottom:20px;left:20px;right:20px;background:#fffffff0;backdrop-filter:blur(14px);padding:18px;color:var(--ink);border-radius:9px;font-size:14px}.p-service-photo>span svg{color:var(--accent);flex:none}.e-hero-facts{font-size:11px}
/* Navigation: clear groups, a separate account entry and keyboard-accessible disclosures. */
.p-header{position:sticky;top:0;z-index:50;background:#fbfbfaf5;border-bottom:1px solid #e2e5eb;box-shadow:0 4px 24px #202d3905}.p-header .header{height:82px;gap:26px;position:static}.p-header nav{gap:25px;font-size:14px}.p-header nav>a{padding-block:12px;position:relative}.p-header nav a[aria-current=page]{color:var(--accent);font-weight:600}.p-header nav>a[aria-current=page]:after{content:'';height:2px;background:var(--accent);position:absolute;bottom:5px;left:0;right:0}.p-header-actions{display:flex;gap:20px;align-items:center;margin-left:auto}.p-signin{display:flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap}.p-signin:hover{color:var(--accent)}.p-header .btn.small{font-size:13px;padding:11px 19px;min-height:43px}.p-dropdown>summary{display:flex;align-items:center;gap:5px;cursor:pointer;padding:12px 0;list-style:none}.p-dropdown>summary::-webkit-details-marker{display:none}.p-dropdown>summary>svg{width:14px;height:14px;transition:transform .2s}.p-dropdown[open]>summary>svg{transform:rotate(180deg)}.p-header .navdrop .p-menu{position:absolute;top:81px;left:0;right:0;width:100%;display:grid;grid-template-columns:1fr 2fr;gap:65px;padding:36px max(40px,calc((100vw - 1240px)/2));background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 24px 35px #202d3918;max-height:calc(100dvh - 90px);overflow:auto}.p-menu-intro{padding:22px 28px;background:var(--gradient);border-radius:12px}.p-menu-intro .eyebrow{font-size:10px;margin-bottom:14px}.p-menu-intro h2{font-size:29px;margin:0 0 24px}.p-menu-intro .text-link{font-size:13px}.p-menu-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 30px;align-content:start}.p-header .p-menu-links>a{display:flex;align-items:center;gap:13px;padding:12px!important;border-radius:8px;font-size:14px;transition:background .2s}.p-menu-links>a:hover{background:#f1f1fb}.p-menu-links>a>svg{width:17px;margin-left:auto;color:#8b90a0}.p-line-icon{display:grid;place-items:center;color:var(--accent);height:36px;width:36px;flex:none;background:#f0effb;border-radius:8px}.p-header .mobile-toggle,.p-header .p-mobile-login{display:none}.p-header .brand{flex-shrink:0}.p-explore{margin-top:50px;padding:32px;border:1px solid #ffffff25;border-radius:14px;background:linear-gradient(115deg,#ffffff0d,#ffffff03)}.p-explore h3{font-size:27px;margin-bottom:24px;color:#fff}.p-explore .eyebrow{margin-bottom:8px}.p-choice-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.p-choice-buttons button{font:inherit;font-size:14px;border:1px solid #ffffff40;background:transparent;color:#e5eaed;border-radius:30px;padding:10px 18px;cursor:pointer}.p-choice-buttons button[aria-pressed=true]{color:#243243;background:#eeedff;border-color:#eeedff}.p-choice-result{display:flex;gap:22px;align-items:center;border-top:1px solid #ffffff22;padding-top:26px}.p-choice-result>span{color:#d3cfff}.p-choice-result h4{font-size:19px;letter-spacing:-.02em;color:#fff;margin:0 0 4px}.p-choice-result p{font-size:14px;margin:0;max-width:580px}.p-choice-result>a{color:#e6e4ff;margin-left:auto;flex:none}.p-access{max-width:960px}.p-access>.lead{max-width:670px}.p-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:40px 0}.p-access-grid>a{padding:36px;border:1px solid #dedfeb;border-radius:16px;background:var(--gradient);transition:transform .2s,box-shadow .2s}.p-access-grid>a:hover{transform:translateY(-4px);box-shadow:0 12px 32px #302c6314}.p-access-grid>a>svg{color:var(--accent);width:34px;height:34px;margin-bottom:24px}.p-access-grid h2{font-size:28px}.p-access-grid p{font-size:15px;color:var(--muted)}.p-access-note{padding:30px;border:1px solid #dedfeb;background:var(--gradient);border-radius:14px;margin:30px 0}.p-access-note h2{font-size:26px}.p-access-icon{display:block;margin-bottom:20px;color:var(--accent)}
/* Career pages use the same fixed typefaces and a restrained, readable type scale. */
.career-header{background:#fbfbfaf5}.career-header nav{font-size:14px}.career-header .btn{font-size:13px}.career-banner{font-size:11px}.c-editorial-hero{background:radial-gradient(ellipse at 70% 35%,#eeebff75,transparent 65%)}.c-editorial-hero h1{font-size:clamp(40px,4.8vw,64px)}.c-editorial-hero .lead{font-size:17px}.career-intro h1,.portal-heading h1{font-size:clamp(35px,4vw,54px)}.career-intro .lead{font-size:16px}.job-card h2{font-size:24px}.job-card p{font-size:15px}.job-meta,.job-skills,.job-bottom{font-size:13px}.job-filters label{font-size:13px}.job-filters input,.job-filters select{font-size:15px}.job-filters{background:linear-gradient(150deg,#f1effa,#eff4f4);border-radius:12px}.auth-story{background:linear-gradient(140deg,#e7e3ff,#e2eef4 60%,#e5f0e9);border-radius:14px}.auth-card,.workspace-card{border-radius:12px}.workspace-card h2{font-size:25px}.auth-story h2{font-size:38px}.auth-card label,.workspace-card label{font-size:14px}.auth-card input,.workspace-card input,.workspace-card textarea{font-size:16px}.portal-side a{font-size:14px}.portal-side a[aria-current=page]{border-radius:8px;background:#e9e6fa}.c-values,.c-why-principles{background:var(--gradient)}.career-header #career-nav>a[aria-current=page]{color:var(--accent)}
@media(max-width:1150px){.p-header nav{gap:16px}.p-header .header{gap:20px}.p-header-actions{gap:14px}.p-signin span{display:none}.p-header .btn.small{gap:9px}.p-choice-result{flex-wrap:wrap}.p-choice-result>a{margin-left:44px}.e-service-hero-grid{gap:36px}}
@media(max-width:950px){.wrap{width:calc(100% - 48px)}.p-header .header{height:74px}.p-header .mobile-toggle{display:grid;place-items:center;min-height:44px;min-width:44px;padding:10px}.p-header nav{display:none;position:absolute;top:73px;left:0;right:0;max-height:calc(100dvh - 74px);overflow:auto;background:#fbfbfa;padding:20px 24px;border-bottom:1px solid var(--line);box-shadow:0 24px 25px #202d3914}.p-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.p-header nav>a,.p-dropdown>summary{padding:15px 8px;border-bottom:1px solid var(--line);justify-content:space-between}.p-header .navdrop .p-menu{position:static;display:block;width:auto;padding:14px 4px;box-shadow:none;border:0;max-height:none;overflow:visible}.p-menu-intro{padding:20px;margin-bottom:12px}.p-menu-intro h2{font-size:23px}.p-menu-intro .eyebrow{display:none}.p-menu-intro h2 br{display:none}.p-menu-intro .text-link{font-size:14px}.p-menu-links{gap:2px 12px}.p-header .p-mobile-login{display:flex;justify-content:flex-start;gap:10px}.p-header .p-signin{display:none}.p-dropdown{width:100%}.p-header nav>a[aria-current=page]:after{display:none}.p-service-photo{height:350px;min-height:300px}.e-service-hero-grid{grid-template-columns:1fr 1fr;gap:30px}.e-home-title{gap:30px}.p-photo-credit{right:24px;top:22px}.career-header #career-nav{font-size:15px}}
@media(max-width:650px){html{scroll-padding-top:88px}.wrap{width:calc(100% - 40px)}body{font-size:15px}.section{padding-block:60px}.eyebrow{font-size:10px}.lead{font-size:16px}h1{font-size:40px}h2{font-size:31px}h3{font-size:22px}.e-homehero{padding-top:36px}.e-home-title{grid-template-columns:1fr;gap:25px}.e-home-title h1{font-size:46px;line-height:1.07}.e-home-title p{font-size:15px}.e-panorama{height:370px;border-radius:12px 12px 50px 12px}.e-panorama h2{left:22px;bottom:24px;font-size:28px}.e-photo-label{left:22px;top:25px;font-size:8px;letter-spacing:1px}.p-photo-credit{left:22px;right:auto;top:auto;bottom:13px;font-size:8px}.e-panorama-link{top:55px;right:22px}.e-capabilities p{gap:10px;font-size:12px}.e-capabilities>span{font-size:9px}.e-header .header{gap:12px}.p-header .brand{font-size:27px}.p-header .btn.small{font-size:12px;padding:10px 15px;min-height:40px}.p-header .btn.small>svg{display:none}.p-header-actions{gap:6px}.p-menu-links{grid-template-columns:1fr}.p-header .p-menu-links>a{font-size:14px}.p-menu-intro{padding:18px}.e-intro{padding-block:40px}.e-service-rows>a{padding-inline:0}.e-service-rows h3{font-size:22px}.e-service-rows p{font-size:14px}.e-service-rows>a>span{display:none}.e-manifesto h2{font-size:35px}.e-manifesto-bottom p{font-size:15px}.p-explore{padding:24px 18px;margin-top:35px}.p-explore h3{font-size:25px}.p-choice-buttons{gap:8px}.p-choice-buttons button{font-size:12px;padding:9px 13px}.p-choice-result{gap:16px;align-items:start}.p-choice-result>div{flex:1}.p-choice-result h4{font-size:19px}.p-choice-result p{font-size:14px}.p-choice-result>a{margin-left:0;flex-basis:100%;font-size:13px}.e-service-hero-grid{grid-template-columns:1fr;gap:32px}.e-service-hero h1{font-size:40px}.p-service-photo{height:300px;min-height:0;border-radius:12px 12px 45px 12px}.p-service-photo>span{font-size:13px;padding:14px;bottom:16px;left:16px;right:16px}.e-hero-facts{font-size:9px;gap:14px}.e-footer-cta h2{font-size:48px}.e-footer-grid a{font-size:14px}.e-footer-grid p{font-size:14px}.p-access-grid{grid-template-columns:1fr}.p-access-grid>a{padding:27px}.p-access-note{padding:24px}.e-contact-form{padding:25px 20px}.e-contact-form .check-label{font-size:13px}.e-contact h1{font-size:44px}.c-editorial-hero h1{font-size:43px}.c-editorial-hero .lead{font-size:15px}.career-intro h1{font-size:37px}.career-intro .lead{font-size:15px}.job-card h2{font-size:23px}.job-card p{font-size:14px}.job-filters input,.job-filters select{font-size:16px}.auth-story h2{font-size:32px}.btn{font-size:13px}.e-about-photo>img{object-position:50% 50%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.p-policy{max-width:760px;margin-top:40px}.p-policy section{padding:26px 0;border-top:1px solid var(--line)}.p-policy h2{font-size:25px;margin-bottom:14px}.p-policy p{font-size:16px;color:var(--muted);line-height:1.85}
.p-service-photo{transform:none!important}
