@charset "UTF-8";
@font-face{font-family:"Lingsentra Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/lingsentra-sans.80282505ec9b.r1.php') format('woff2')}
html body{font-family:"Lingsentra Sans",Inter,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif}
.hero-index b{white-space:nowrap}
@media(min-width:901px){html .service-entry[open] summary{left:0;right:auto;width:34%;grid-template-columns:70px 1fr;gap:20px}html .service-entry[open] summary .toggle{position:absolute;top:26px;left:calc(294.1176% - 26px);width:26px}}
:root{--ink:#080f19;--navy:#060c16;--paper:#f6f8fc;--white:#fff;--ice:#83d4fa;--blue:#137bba;--muted:#607084;--line:#d9e0e9;--dark-line:#2e3d4d;--gutter:clamp(24px,4.8vw,76px);--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}img{display:block;width:100%;height:auto}button{color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.27;letter-spacing:-.045em}p{color:var(--muted)}::selection{background:var(--ice);color:var(--ink)}:focus-visible{outline:3px solid #188acc;outline-offset:6px}button:focus-visible{outline-color:var(--ice)}[hidden]{display:none!important}.container{width:100%;max-width:1600px;margin:auto;padding-left:var(--gutter);padding-right:var(--gutter)}.section{padding-top:110px;padding-bottom:110px}.section-small{padding-top:68px;padding-bottom:68px}.dark{background:var(--navy);color:var(--paper)}.dark p{color:#9aa9ba}.accent{color:var(--ice)}.muted{color:var(--muted)}.micro{font-size:11px;letter-spacing:.13em;text-transform:uppercase}.arrow{display:inline-block;line-height:1;font-size:23px;font-weight:300;transition:transform .3s var(--ease)}a:hover .arrow,button:hover .arrow{transform:translate(3px,-2px)}.link{display:inline-flex;align-items:center;gap:25px;font-size:15px;padding:8px 0;border-bottom:1px solid currentColor}.btn{display:inline-flex;gap:26px;align-items:center;justify-content:center;min-height:54px;padding:13px 28px;border:1px solid #9cabb9;background:transparent;color:inherit;letter-spacing:.02em;font-size:14px;line-height:1.6;transition:background .25s,color .25s,border-color .25s}.btn:hover{background:#dceffc;color:var(--ink);border-color:#dceffc}.btn-white{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn-ice{background:var(--ice);color:var(--ink);border-color:var(--ice)}.btn-dark{background:var(--navy);color:var(--paper);border-color:var(--navy)}.btn-group{display:flex;align-items:center;flex-wrap:wrap;gap:36px;margin-top:36px}.skip-link{position:fixed;z-index:1000;left:20px;top:-80px;background:var(--ice);color:var(--ink);padding:8px 20px}.skip-link:focus{top:10px}
.site-header{height:88px;position:absolute;top:0;left:0;width:100%;z-index:50;background:var(--navy);color:var(--paper);border-bottom:1px solid rgba(255,255,255,.08)}.home .site-header{background:transparent}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand-icon{width:48px;height:48px;object-fit:contain}.wordmark{font-size:18px;letter-spacing:.22em;font-weight:500;line-height:1.3}.brand-cn{font-size:12px;letter-spacing:.16em;margin-left:5px}.main-nav{display:flex;align-items:center;gap:42px}.main-nav a{font-size:14px;position:relative;padding:30px 0;white-space:nowrap}.main-nav a:after{content:"";height:1px;background:var(--ice);position:absolute;bottom:17px;left:0;width:0;transition:width .25s}.main-nav a:hover:after,.main-nav a[aria-current=page]:after{width:100%}.main-nav a[aria-current=page]{color:var(--ice)}.header-cta{min-height:42px;padding:7px 21px;font-size:13px;gap:24px}.menu-toggle{display:none;background:none;border:1px solid #738093;width:44px;height:42px;padding:10px}.menu-toggle span{display:block;height:1px;background:var(--paper);margin:6px 0}.mobile-menu{position:fixed;top:88px;bottom:0;left:0;right:0;background:var(--navy);padding:28px var(--gutter);overflow:auto}.mobile-menu a{display:block;font-size:25px;padding:15px 0;border-bottom:1px solid var(--dark-line)}.mobile-menu .micro{margin-top:30px;color:var(--ice)}.page-main{padding-top:88px}
.home-hero{position:relative;isolation:isolate;height:calc(100svh - 250px);min-height:690px;max-height:940px;display:flex;align-items:center;background:var(--navy);color:var(--paper);overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-1;height:100%;width:100%;object-fit:cover;object-position:center}.hero-content{padding-top:34px;padding-bottom:70px}.hero-content h1{font-size:clamp(66px,5.8vw,96px);font-weight:600;letter-spacing:-.06em;line-height:1.22;max-width:820px}.hero-content h1 span{color:var(--ice)}.hero-content p{color:#d8e1eb;margin-top:26px;max-width:610px;font-size:18px;line-height:1.9;letter-spacing:.02em}.hero-content .btn-group{margin-top:32px}.hero-index{background:#0a1521;color:#e2ebf4}.hero-index-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-top:23px;padding-bottom:23px;border-top:1px solid #637786}.hero-index a{display:flex;align-items:center;gap:28px;padding-left:38px;border-left:1px solid #546676;line-height:1.6}.hero-index a:first-child{padding-left:0;border:0}.hero-index b{font-size:28px;font-weight:300;letter-spacing:-.02em}.hero-index small{display:block;font-size:10px;letter-spacing:.12em;color:#a7bbcc}.hero-index span{font-size:14px}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:48px}.section-intro h2{font-size:clamp(32px,3.2vw,50px)}.section-intro p{max-width:400px}.home-capabilities .section-intro h2{font-size:clamp(32px,3.5vw,56px);line-height:1.4}.home-capabilities .accent{color:#2591c7}.capability-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;border-top:1px solid var(--line)}.capability-group{padding-top:28px}.capability-group .index{font-size:12px;color:var(--blue);display:flex;justify-content:space-between}.capability-group h3{font-size:27px;margin-top:35px;margin-bottom:17px}.capability-group p{font-size:14px;min-height:76px}.capability-group .links{display:flex;flex-direction:column;margin-top:20px}.capability-group .links a{border-bottom:1px solid var(--line);padding:10px 0;display:flex;justify-content:space-between}.capability-group .links a:hover{color:var(--blue)}
.home-directions{padding-top:85px;padding-bottom:85px}.direction-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.direction-tile{position:relative;min-height:330px;overflow:hidden;background:#152535}.direction-tile:nth-child(3),.direction-tile:nth-child(4){min-height:240px}.direction-tile img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.direction-tile:after{position:absolute;inset:25% 0 0;content:"";background:linear-gradient(transparent,rgba(2,12,24,.9));pointer-events:none}.direction-tile:hover img{transform:scale(1.045)}.direction-tile>a{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;position:relative;z-index:2;height:100%;min-height:inherit;padding:30px;color:#fff}.direction-tile .tile-number{font-size:42px;line-height:1.2;font-weight:300}.direction-tile h3{font-size:27px;margin-top:8px}.direction-tile p{color:#d2e0ed;font-size:13px;margin-top:12px;max-width:520px}.direction-tile .arrow{font-size:34px;flex-shrink:0}.directions-note{font-size:12px;margin-top:22px;color:#8da1b5}.process{background:#edf2f7}.process-inner{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:35px}.process h2{font-size:28px;margin-top:12px}.process-step>span{font-size:30px;font-weight:300;color:#9aabbc;line-height:1.1}.process-step h3{font-size:19px;margin:14px 0 10px}.process-step p{font-size:13px}.cta-band{padding:62px 0;background:var(--navy);color:var(--paper);position:relative;overflow:hidden}.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative}.cta-band h2{font-size:clamp(28px,3vw,48px)}.cta-band p{margin-top:14px;color:#a3b6c6}.cta-band .btn{min-width:185px}.home-about{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.home-about .about-image{aspect-ratio:1.4;object-fit:cover}.home-about h2{font-size:42px;margin-bottom:24px}.home-about p{margin-bottom:24px}
.page-heading{padding-top:65px;padding-bottom:54px}.page-heading h1{font-size:clamp(42px,4.6vw,72px);line-height:1.28;max-width:1000px}.page-heading h1 .accent{color:#369ed0}.dark .page-heading h1 .accent{color:var(--ice)}.split-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.split-heading p{font-size:16px;max-width:560px}.split-heading .heading-copy p+p{margin-top:15px}.page-heading>.lead{margin-top:23px;font-size:18px;max-width:850px}.service-directory{padding-bottom:75px}.service-entry{border-top:1px solid var(--line)}.service-entry:last-child{border-bottom:1px solid var(--line)}.service-entry summary{list-style:none;display:grid;grid-template-columns:100px 1fr 26px;gap:24px;align-items:center;padding:22px 0;cursor:pointer}.service-entry summary::-webkit-details-marker{display:none}.service-entry summary .num{color:#8d9aaa;font-size:30px;font-weight:300;line-height:1}.service-entry summary h2{font-size:26px;letter-spacing:-.025em}.service-entry summary .toggle{font-size:27px;font-weight:300;line-height:1}.service-entry[open] summary .toggle{font-size:0}.service-entry[open] summary .toggle:before{content:"−";font-size:27px}.service-entry[open] summary .num{color:#53b8e9}.service-entry[open] summary{padding-bottom:20px}.service-content{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:0 54px 30px 124px}.service-content p{font-size:14px;max-width:520px}.service-content ul{padding-left:17px;margin:17px 0;font-size:14px}.service-content li::marker{color:#58b7e2}.service-content .link{font-size:13px;gap:22px}.service-image{height:220px;object-fit:cover}.service-content .image-wrap{position:relative}.image-caption{font-size:10px;letter-spacing:.14em;color:#8a9aaa;margin-top:8px}.service-brief{margin-top:55px;display:grid;grid-template-columns:1fr 2fr;gap:80px}.service-brief h2{font-size:29px}.service-brief p{max-width:900px}.business-scope{border-top:1px solid var(--line);padding-top:35px;margin-top:38px}.business-scope summary{font-size:15px;cursor:pointer}.business-scope p{font-size:13px;line-height:2;margin-top:20px;max-width:1100px}.filter-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:32px}.filter-bar button{background:transparent;border:1px solid #3c4a59;color:#cdd9e4;padding:10px 24px;font-size:13px;min-height:42px}.filter-bar button[aria-pressed=true]{background:#a2ddfa;border-color:#a2ddfa;color:var(--ink)}.filter-bar button:hover{border-color:var(--ice)}.filter-count{font-size:12px;color:#93a6b8;margin-left:auto}.solutions-list{padding-bottom:75px}.solutions-list .direction-grid{row-gap:20px}.solutions-list .direction-tile{min-height:340px}.solutions-list .direction-tile:nth-child(n+3){min-height:260px}.solutions-list .direction-tile:nth-child(3) img{object-position:bottom}.solutions-list .direction-tile:nth-child(4) img{object-position:top}.about-heading{padding-top:55px;padding-bottom:45px}.about-panorama{height:310px;width:100%;object-fit:cover;object-position:center 55%}.concept-caption{text-align:right;font-size:10px;padding:7px var(--gutter);color:#8795a6;letter-spacing:.06em}.team-section{padding-top:28px;padding-bottom:55px}.team-section>h2{font-size:25px;margin-bottom:28px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px}.team-member{border-right:1px solid var(--line);padding-right:55px}.team-member:last-child{border:0;padding:0}.team-role{font-size:60px;line-height:1.1;font-weight:300;letter-spacing:-.06em;padding-bottom:12px;border-bottom:1px solid #8d9bab}.team-name{font-size:18px;margin-top:15px}.team-name small{font-size:12px;color:var(--muted);margin-left:17px}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;border-top:1px solid var(--line);padding-top:38px}.values h3{font-size:21px;margin:14px 0}.values p{font-size:14px}.values .micro{color:var(--blue)}
.contact-main{padding-top:155px;padding-bottom:65px;background:var(--navy);color:var(--paper);position:relative;overflow:hidden}.contact-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;position:relative}.contact-copy h1{font-size:clamp(34px,4.3vw,67px);line-height:1.38}.contact-copy .email{display:inline-block;font-size:clamp(19px,2.6vw,41px);font-weight:300;letter-spacing:-.045em;line-height:1.5;margin-top:35px;border-bottom:1px solid #8a99aa;padding-bottom:6px}.contact-copy>p{font-size:14px;margin-top:25px;max-width:510px;color:#9aabba}.inquiry-form{border-left:1px solid #2d3b49;padding-left:50px}.form-row{display:grid;grid-template-columns:105px 1fr;gap:18px;margin-bottom:17px;align-items:start}.form-row label{font-size:13px;padding-top:10px}.optional{color:#8c9bad;font-size:11px}.field{border:1px solid #536476;background:#0a1421;color:var(--paper);width:100%;border-radius:0;min-height:45px;padding:10px 14px;line-height:1.6;font-size:13px}.field::placeholder{color:#8292a4}.field:focus{border-color:var(--ice);outline:1px solid var(--ice)}textarea.field{resize:vertical;min-height:128px}select.field{color-scheme:dark}.form-action{margin-left:123px}.form-action .btn{width:100%}.form-note{font-size:11px;color:#95a6b6;margin-top:13px;line-height:1.8}.contact-intents{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--line);padding:30px var(--gutter)}.contact-intents a{padding:20px 35px;font-size:28px;display:flex;justify-content:space-between;border-right:1px solid var(--line)}.contact-intents a:first-child{padding-left:0}.contact-intents a:last-child{border:0;padding-right:0}.mail-preview{border:1px solid #617a8f;margin-top:30px;padding:24px;background:#101d2c;position:relative}.mail-preview h2{font-size:21px;margin-bottom:10px}.mail-preview .close-preview{position:absolute;right:12px;top:9px;background:none;border:0;color:#b9d0df;font-size:26px;padding:4px 10px}.mail-preview #mail-subject{color:#e3eef7;margin:18px 0 10px;font-size:14px}.mail-preview pre{white-space:pre-wrap;word-break:break-word;max-height:300px;overflow:auto;font:13px/1.8 inherit;color:#bccddd;padding:15px;background:#07111d}.mail-preview .btn-group{gap:15px;margin-top:20px}.mail-preview .btn{font-size:12px;min-height:44px;padding:10px 15px}.mail-preview .form-note{padding-right:20px}
.breadcrumb{padding-top:28px;font-size:12px;color:#7d8c9f;display:flex;gap:14px;flex-wrap:wrap}.breadcrumb a:hover{color:var(--blue)}.detail-hero{padding-top:45px;padding-bottom:60px;display:grid;grid-template-columns:1.25fr 1fr;gap:70px;align-items:center}.detail-hero h1{font-size:clamp(34px,4vw,62px);margin:15px 0 24px}.detail-hero .english{color:var(--blue);font-size:12px;letter-spacing:.15em;text-transform:uppercase}.detail-hero .detail-tagline{font-size:23px;margin-bottom:20px}.detail-hero p{font-size:15px}.detail-image{height:350px;object-fit:cover}.detail-body{display:grid;grid-template-columns:.85fr 1.7fr;gap:80px;padding-top:60px;padding-bottom:70px;border-top:1px solid var(--line)}.detail-body h2{font-size:30px}.detail-body p+p{margin-top:22px}.deliverables{display:grid;grid-template-columns:repeat(2,1fr);gap:0 30px;margin-top:35px}.deliverables li{list-style:none;border-top:1px solid var(--line);padding:16px 0;display:flex;gap:18px;font-size:14px}.deliverables li span{color:#4f9fca;font-size:12px;letter-spacing:.08em}.deliverables{padding:0}.question-band{background:#eaf1f8;padding:42px;display:grid;grid-template-columns:1fr 2fr;gap:50px}.question-band h2{font-size:23px}.question-band p{font-size:16px;color:#40586c}.related-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:25px}.related-links a{border:1px solid #bccbd9;padding:9px 16px;font-size:13px}.related-links a:hover{border-color:var(--blue);color:var(--blue)}.prose{max-width:900px;margin:auto;padding-top:65px;padding-bottom:85px}.prose h1{font-size:44px;margin-bottom:25px}.prose h2{font-size:23px;margin:35px 0 15px}.prose ul{color:var(--muted);padding-left:23px}.prose p+p{margin-top:18px}.prose a{border-bottom:1px solid var(--blue)}
.site-footer{background:var(--paper);color:var(--ink);padding-top:58px;padding-bottom:25px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:70px;padding-bottom:45px}.footer-wordmark{font-size:clamp(26px,3vw,47px);line-height:1.2;letter-spacing:.1em;font-weight:400}.footer-brand-cn{font-size:17px;letter-spacing:.65em;margin:14px 0 20px}.footer-top p{font-size:12px;max-width:380px}.footer-nav h2{font-size:12px;color:#8191a1;letter-spacing:.15em;margin:0 0 17px}.footer-nav a{display:block;font-size:13px;margin-top:8px}.footer-nav a:hover{color:var(--blue)}.footer-email{font-size:18px!important}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:22px;font-size:10px;color:#7d8b9b;letter-spacing:.03em}.footer-bottom a{margin-left:20px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:100;background:var(--ice);color:var(--ink);padding:13px 25px;max-width:calc(100% - 40px);box-shadow:0 8px 40px #0003;font-size:14px;text-align:center}.no-script{padding:12px 20px;background:#e4eff8;color:#28455a;font-size:13px;text-align:center}
@media(min-width:1700px){.home-hero{min-height:780px}.hero-content h1{font-size:104px}}@media(max-width:1200px){.brand-cn{display:none}.main-nav{gap:25px}.wordmark{font-size:16px}.header-cta{padding:8px 15px}.hero-content h1{font-size:75px}.hero-content p{max-width:530px;font-size:16px}.split-heading{gap:45px}.service-content{padding-left:100px;gap:30px}.contact-grid{gap:35px}.contact-copy h1{font-size:49px}.inquiry-form{padding-left:30px}.form-row{grid-template-columns:80px 1fr;gap:10px}.form-action{margin-left:90px}.process-inner{gap:22px}.team-grid{gap:35px}.team-member{padding-right:30px}.home-about{gap:55px}.footer-top{gap:40px}}
@media(max-width:900px){.main-nav{gap:22px}.brand-icon{width:40px;height:40px}.wordmark{font-size:13px;letter-spacing:.16em}.header-cta{display:none}.main-nav a{font-size:13px}.home-hero{min-height:650px}.hero-content h1{font-size:64px}.hero-content p{max-width:480px}.hero-art{object-position:60% center}.section{padding-top:75px;padding-bottom:75px}.section-intro{gap:30px}.section-intro p{max-width:320px}.capability-groups{gap:25px}.capability-group h3{font-size:23px}.process-inner{grid-template-columns:repeat(4,1fr)}.process-heading{grid-column:1/-1;display:flex;gap:35px;align-items:center}.process-heading h2{font-size:26px;margin:0}.split-heading{grid-template-columns:1fr 1fr;gap:35px}.page-heading h1{font-size:46px}.split-heading p{font-size:14px}.service-content{padding-left:0}.service-entry summary{grid-template-columns:70px 1fr 26px}.service-entry summary h2{font-size:23px}.contact-grid{grid-template-columns:1fr;gap:55px}.contact-copy h1{font-size:55px}.contact-copy .email{font-size:35px}.contact-main{padding-top:140px}.inquiry-form{padding-left:0;border:0;max-width:650px}.contact-copy>p{max-width:650px}.form-row{grid-template-columns:105px 1fr;gap:20px}.form-action{margin-left:125px}.contact-intents a{font-size:23px;padding-left:25px;padding-right:25px}.team-role{font-size:46px}.team-name small{display:block;margin-left:0;font-size:11px;margin-top:5px}.values{grid-template-columns:repeat(2,1fr)}.home-about h2{font-size:33px}.detail-hero{gap:35px}.detail-image{height:300px}.detail-body{gap:45px;grid-template-columns:.7fr 1.5fr}.footer-top{grid-template-columns:1.4fr 1fr;gap:40px}.footer-nav.company-links{display:block}.footer-wordmark{font-size:31px}}
@media(max-width:640px){:root{--gutter:23px}.site-header{height:76px}.brand-icon{width:43px;height:43px}.wordmark{font-size:14px;letter-spacing:.17em}.main-nav{display:none}.menu-toggle{display:block}.mobile-menu{top:76px}.page-main{padding-top:76px}.home-hero{height:auto;min-height:715px;align-items:flex-start}.hero-content{padding-top:152px;padding-bottom:240px}.hero-content h1{font-size:clamp(42px,10.5vw,64px);line-height:1.28;letter-spacing:-.04em}.hero-content p{font-size:14px;line-height:1.9;max-width:335px;margin-top:24px}.hero-content p br{display:none}.hero-content .btn-group{gap:22px;margin-top:28px;align-items:flex-start;flex-direction:column}.hero-content .btn{min-height:48px;font-size:13px;padding:12px 22px}.hero-content .link{font-size:13px;border-bottom:0}.hero-art{height:480px;top:auto;bottom:0;object-position:70% center;object-fit:cover;mask-image:linear-gradient(transparent,#000 40%)}.hero-index-inner{padding-top:20px;padding-bottom:20px;gap:10px}.hero-index a{padding-left:12px;gap:10px;align-items:flex-start}.hero-index b{font-size:18px}.hero-index small{font-size:8px;letter-spacing:.02em;line-height:1.5;margin-bottom:5px;min-height:24px}.hero-index span{font-size:11px}.section{padding-top:65px;padding-bottom:65px}.section-small{padding-top:45px;padding-bottom:45px}.section-intro{display:block;margin-bottom:33px}.section-intro h2{font-size:32px}.section-intro p{margin-top:20px;max-width:none;font-size:13px}.section-intro .link{margin-top:20px;font-size:13px}.home-capabilities .section-intro h2{font-size:30px}.capability-groups{grid-template-columns:1fr;gap:35px}.capability-group h3{margin-top:19px;font-size:25px}.capability-group p{min-height:0;font-size:13px}.capability-group .links{margin-top:14px}.capability-group .links a{font-size:13px}.direction-grid{grid-template-columns:1fr;gap:18px}.direction-tile{min-height:300px}.direction-tile:nth-child(3),.direction-tile:nth-child(4){min-height:270px}.direction-tile>a{padding:24px}.direction-tile h3{font-size:23px}.direction-tile .tile-number{font-size:34px}.direction-tile p{font-size:12px}.home-directions{padding-top:60px;padding-bottom:60px}.process-inner{grid-template-columns:repeat(2,1fr);gap:35px 28px}.process-heading{display:block}.process-heading h2{margin-top:12px}.process-step p{font-size:12px}.home-about{grid-template-columns:1fr;gap:30px}.home-about h2{font-size:31px;margin-bottom:20px}.home-about p{font-size:13px}.cta-band{padding:43px 0}.cta-band .container{display:block}.cta-band h2{font-size:30px}.cta-band p{font-size:13px}.cta-band .btn{margin-top:27px;min-height:48px}.page-heading{padding-top:45px;padding-bottom:38px}.page-heading h1{font-size:37px}.split-heading{grid-template-columns:1fr;gap:25px}.split-heading p{font-size:14px}.page-heading>.lead{font-size:15px}.service-entry summary{grid-template-columns:45px 1fr 22px;gap:13px;padding:20px 0}.service-entry summary .num{font-size:23px}.service-entry summary h2{font-size:18px;letter-spacing:-.03em}.service-content{grid-template-columns:1fr;gap:25px;padding:0 0 28px 0}.service-content p{font-size:13px}.service-content ul{font-size:13px}.service-image{height:185px}.service-content .image-wrap{display:none}.service-brief{grid-template-columns:1fr;gap:25px}.service-brief h2{font-size:26px}.service-brief p{font-size:13px}.filter-bar{gap:8px;margin-top:26px}.filter-bar button{font-size:11px;padding:8px 13px;min-height:37px}.filter-count{margin-left:0;width:100%;margin-top:8px}.solutions-list .direction-tile{min-height:300px}.about-panorama{height:220px}.about-heading{padding-top:44px}.team-grid{grid-template-columns:1fr;gap:30px}.team-member{border-right:0;padding-right:0}.team-role{font-size:52px;padding-bottom:10px}.team-name{font-size:18px;margin-top:11px;display:flex;gap:20px;align-items:center}.team-name small{margin:0}.team-section{padding-top:30px;padding-bottom:48px}.team-section>h2{margin-bottom:32px}.values{gap:32px 25px}.values h3{font-size:18px}.values p{font-size:12px}.contact-main{padding-top:127px;padding-bottom:45px}.contact-grid{gap:45px}.contact-copy h1{font-size:36px;line-height:1.4}.contact-copy .email{font-size:26px;letter-spacing:-.045em;margin-top:27px}.contact-copy>p{font-size:13px;margin-top:20px}.contact-copy .btn-group{gap:12px;margin-top:25px}.contact-copy .btn{padding:11px 18px;font-size:12px;min-height:46px}.form-row{grid-template-columns:1fr;gap:7px;margin-bottom:18px}.form-row label{padding:0;font-size:12px}.field{min-height:45px;font-size:13px}.form-action{margin-left:0}.form-action .btn{min-height:49px}.contact-intents{grid-template-columns:1fr;padding-top:18px;padding-bottom:18px}.contact-intents a{font-size:23px;border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.contact-intents a:last-child{border-bottom:0}.mail-preview{padding:22px 16px}.mail-preview h2{font-size:19px;padding-right:20px}.mail-preview .btn-group{display:flex;flex-direction:column;align-items:stretch}.mail-preview .btn{width:100%}.breadcrumb{font-size:10px;gap:9px;padding-top:23px}.detail-hero{grid-template-columns:1fr;gap:30px;padding-top:35px;padding-bottom:40px}.detail-hero h1{font-size:35px;margin:15px 0 20px}.detail-hero .detail-tagline{font-size:20px}.detail-hero p{font-size:13px}.detail-image{height:230px}.detail-body{grid-template-columns:1fr;gap:24px;padding-top:40px;padding-bottom:45px}.detail-body h2{font-size:26px}.detail-body p{font-size:14px}.deliverables{grid-template-columns:1fr;margin-top:25px}.deliverables li{font-size:13px}.question-band{padding:28px;grid-template-columns:1fr;gap:20px}.question-band h2{font-size:22px}.question-band p{font-size:14px}.prose{padding-top:45px;padding-bottom:65px}.prose h1{font-size:32px}.prose p,.prose li{font-size:13px}.footer-top{grid-template-columns:1fr;gap:35px;padding-bottom:35px}.footer-wordmark{font-size:31px}.footer-brand-cn{font-size:14px;margin-top:13px;margin-bottom:16px}.site-footer{padding-top:43px}.footer-bottom{flex-direction:column;gap:12px;font-size:10px}.footer-bottom a{margin-left:0;margin-right:20px}.footer-email{font-size:19px!important}.footer-nav h2{margin-bottom:12px}.toast{bottom:20px;font-size:12px;width:max-content}.btn-group{gap:20px}.concept-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media(prefers-reduced-motion:no-preference){.hero-content{animation:hero-in 1s var(--ease) both}.hero-art{animation:art-in 1.5s var(--ease) both}[data-reveal].is-visible{animation:reveal .7s var(--ease) both}@keyframes hero-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes art-in{from{opacity:.3;transform:scale(1.035)}to{opacity:1;transform:none}}@keyframes reveal{from{opacity:.55;transform:translateY(14px)}to{opacity:1;transform:none}}}

.inquiry-form fieldset{border:0;padding:0;margin:0;min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.detail-body .directions-note{color:#526a80}.dark .directions-note{color:#a0b3c5}
@media(min-width:901px){.page-heading{padding-top:44px;padding-bottom:40px}.page-heading h1{font-size:clamp(48px,4.2vw,66px)}.service-directory{padding-bottom:40px}.service-entry{position:relative}.service-entry summary{padding-top:15px;padding-bottom:15px}.service-entry[open]{min-height:250px}.service-entry[open] summary{position:absolute;inset:0 0 auto;width:100%;padding-top:26px;align-items:start}.service-entry[open] summary h2{max-width:330px}.service-entry[open] .service-content{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:34px;margin-left:34%;padding:25px 55px 25px 30px;min-height:250px;border-left:1px solid var(--line)}.service-entry[open] summary .toggle{grid-column:3}.service-content p{font-size:14px}.service-image{height:196px}}

/* Shared control language: precise lines, square geometry, restrained ice blue. */
:root {
  --control-height: 52px;
  --control-target: 44px;
  --control-border: #617386;
  --control-error: #f0a6a6;
  --control-focus: #83d4fa;
  --control-time: 180ms;
}

.btn, .field, .filter-bar button, .menu-toggle, .close-preview,
.related-links a, summary, .main-nav a, .mobile-menu a {
  border-radius: 0;
  transition: color var(--control-time), background-color var(--control-time),
    border-color var(--control-time), box-shadow var(--control-time),
    opacity var(--control-time);
}

.arrow {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  vertical-align: middle;
  overflow: visible;
}
.direction-tile .arrow { width: 32px; height: 32px; flex-basis: 32px; }
.contact-intents .arrow { width: 28px; height: 28px; flex-basis: 28px; }
a:hover .arrow-horizontal { transform: translateX(4px); }
.site-header { position: fixed; transition: background-color 200ms, border-color 200ms; }
.site-header.scrolled, .home .site-header.scrolled { background: #060c16f5; border-bottom-color: #2d4054; backdrop-filter: blur(16px); }
.hero-index a, .brand { min-height: 44px; }
.footer-wordmark { display: inline-flex; align-items: center; min-height: 44px; }
.team-name { font-weight: 500; letter-spacing: 0; line-height: 1.8; }
.team-name small { font-weight: 400; }
.team-bio { margin-top: 18px; font-size: 14px; line-height: 1.95; max-width: 32em; }
@media(max-width:640px) {
  .team-bio { margin-top: 14px; font-size: 14px; }
  .team-grid { gap: 36px; }
}

.btn {
  min-height: var(--control-height);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  gap: 25px;
  border-width: 1px;
  user-select: none;
}
.btn-white { border-color: #f6f8fc; }
.btn-ice { border-color: var(--ice); }
.btn-dark { border-color: var(--navy); }
.btn:active, .filter-bar button:active, .menu-toggle:active {
  box-shadow: inset 0 0 0 999px #829eae24;
}
.btn:disabled, .btn[aria-disabled="true"], .field:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.btn.is-busy, .btn[aria-busy="true"] { opacity: .8; cursor: progress; }
.btn.is-busy .arrow { opacity: .45; }
.btn.is-busy::before {
  content: "";
  flex: 0 0 13px;
  width: 13px;
  height: 13px;
  border: 1px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: control-spin .8s linear infinite;
}

:where(a,button,input,select,textarea,summary):focus-visible {
  outline: 2px solid #2689be;
  outline-offset: 4px;
}
.dark :where(a,button,input,select,textarea,summary):focus-visible,
.contact-main :where(a,button,input,select,textarea,summary):focus-visible,
.site-header :where(a,button):focus-visible,
.cta-band a:focus-visible { outline-color: var(--control-focus); }
.direction-tile:focus-within { box-shadow: inset 0 0 0 3px var(--ice); }
.direction-tile>a:focus-visible {
  outline: 3px solid var(--ice);
  outline-offset: -5px;
}

.header-cta { min-height: 44px; font-size: 13px; gap: 24px; }
.header-cta .arrow { width: 19px; height: 19px; flex-basis: 19px; }
.menu-toggle { width: 44px; height: 44px; position: relative; }
.menu-toggle span {
  width: 21px;
  margin: 0;
  position: absolute;
  left: 10px;
  top: 17px;
  transition: transform var(--control-time), top var(--control-time);
}
.menu-toggle span + span { top: 24px; }
.menu-toggle[aria-expanded="true"] span { top: 21px; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] span + span { top: 21px; transform: rotate(-45deg); }
.mobile-menu a { min-height: 64px; }
.mobile-menu a[aria-current="page"] { color: var(--ice); border-color: var(--ice); }
.mobile-menu a[aria-current="page"]::after { content: " /"; font-size: 17px; margin-left: 13px; }

.filter-bar { gap: 10px; }
.filter-bar button {
  min-height: 44px;
  padding: 10px 23px;
  font-weight: 500;
  border-color: #405265;
}
.filter-bar button[aria-pressed="true"] { background: var(--ice); border-color: var(--ice); }
.filter-bar button:focus-visible { outline-color: var(--ice); }
.filter-count { color: #9cabbc; letter-spacing: .03em; }

.service-entry summary { min-height: 74px; grid-template-columns: 100px 1fr 44px; }
.service-entry summary .toggle {
  position: relative;
  display: block;
  width: 44px;
  height: 44px;
  font-size: 0 !important;
  line-height: 0;
  background:
    linear-gradient(var(--ink),var(--ink)) center / 14px 1px no-repeat,
    linear-gradient(var(--ink),var(--ink)) center / 1px 14px no-repeat;
  border: 1px solid transparent;
}
.service-entry summary .toggle::before { content: none !important; }
.service-entry[open] summary .toggle {
  background-size: 14px 1px, 1px 0;
  border-color: var(--line);
}
.service-entry[open] summary h2 { color: #106e9e; }
.business-scope summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 60px;
  gap: 25px;
}
.business-scope summary::-webkit-details-marker { display: none; }
.business-scope summary::after {
  content: "";
  display: block;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  background:
    linear-gradient(var(--ink),var(--ink)) center / 14px 1px no-repeat,
    linear-gradient(var(--ink),var(--ink)) center / 1px 14px no-repeat;
  border: 1px solid var(--line);
}
.business-scope[open] summary::after { background-size: 14px 1px, 1px 0; }
.related-links a { display: inline-flex; align-items: center; min-height: 44px; }
.link { min-height: 44px; font-weight: 500; }

.field {
  min-height: 48px;
  padding: 12px 15px;
  border-color: #53677a;
  background-color: #0a1421;
  color: #e8f0f8;
  line-height: 1.6;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
.field::placeholder { color: #98a6b6; opacity: 1; }
.form-row label:has(+ .field[required])::after { content: " *"; color: #87bcd8; }
.field:-webkit-autofill {
  -webkit-text-fill-color: #e8f0f8;
  box-shadow: 0 0 0 1000px #0a1421 inset;
  caret-color: #e8f0f8;
}
.field:focus {
  border-color: var(--ice);
  outline: none;
  box-shadow: 0 0 0 1px var(--ice);
}
select.field {
  padding-right: 42px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' stroke='%23c6d5e4' stroke-width='1.25'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 15px;
}
textarea.field { min-height: 132px; }
.field[aria-invalid="true"] { border-color: var(--control-error); }
.field[aria-invalid="true"]:focus { box-shadow: 0 0 0 1px var(--control-error); }
.field:-webkit-autofill:focus {
  box-shadow: 0 0 0 1000px #0a1421 inset, 0 0 0 1px var(--ice);
}
.field[aria-invalid="true"]:-webkit-autofill:focus {
  box-shadow: 0 0 0 1000px #0a1421 inset, 0 0 0 1px var(--control-error);
}
.field-error {
  grid-column: 2;
  color: var(--control-error);
  font-size: 11px;
  line-height: 1.7;
  margin-top: -9px;
}
.form-status {
  border-left: 2px solid #639fbd;
  background: #142333;
  color: #c7d8e7;
  padding: 12px 15px;
  margin: 0 0 20px 123px;
  font-size: 12px;
  line-height: 1.8;
}
.form-status[data-state="error"] { border-color: var(--control-error); color: #f4bdbd; }
.form-status[data-state="success"] { border-color: var(--ice); color: #b8e2f6; }
.form-note a { text-decoration: underline; text-underline-offset: 3px; }
.mail-preview { padding: 30px; border-color: #526d85; border-top: 2px solid var(--ice); scroll-margin-top: 30px; }
.mail-preview h2 { padding-right: 35px; line-height: 1.5; }
.mail-preview h2:focus { outline: 0; }
.mail-preview .close-preview {
  top: 10px;
  right: 10px;
  width: 44px;
  height: 44px;
  font-size: 27px;
  line-height: 1;
  border: 1px solid transparent;
}
.mail-preview pre { font-family: inherit; font-size: 13px; line-height: 1.9; border: 1px solid #2e4358; }
.mail-preview .btn { min-height: 46px; font-size: 13px; }
.mail-preview .btn .arrow { width: 18px; height: 18px; flex-basis: 18px; }
.toast { border: 1px solid #a3e0fd; padding: 15px 23px; box-shadow: 0 9px 35px #0004; line-height: 1.7; }
.toast.is-visible { animation: none; transform: translateX(-50%); }
.toast p { color: inherit; font-size: 13px; }
.toast-copy-field { margin-top: 15px; min-width: min(440px,70vw); background: #edf7fc; color: var(--ink); border-color: #367fa5; font-size: 14px; }
.toast-dismiss { min-height: 44px; margin-top: 12px; border-color: #4784a5; }
.toast[data-state="error"] { background: #d5eaf5; border-color: #d5eaf5; }
.footer-nav a { display: flex; align-items: center; min-height: 44px; margin-top: 0; width: fit-content; }
.footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; }

@media(hover:hover) {
  .btn-white:hover:not(:disabled) { background: #c5eafa; border-color: #c5eafa; }
  .btn-ice:hover:not(:disabled) { background: #b9e8fd; border-color: #b9e8fd; }
  .btn-dark:hover:not(:disabled) { background: #163d55; color: #fff; border-color: #163d55; }
  .btn:not(.btn-white):not(.btn-ice):not(.btn-dark):hover:not(:disabled) { background: #b9e8fd; border-color: #b9e8fd; color: #08121c; }
  .field:hover:not(:focus):not(:disabled) { border-color: #8aadc4; }
  .filter-bar button:hover { border-color: #9bd9f5; color: #fff; }
  .filter-bar button[aria-pressed="true"]:hover { color: var(--ink); background: #b9e8fd; }
  .service-entry summary:hover h2, .business-scope summary:hover { color: #1279ad; }
  .service-entry summary:hover .toggle { border-color: #9ecde1; background-color: #e8f2f8; }
  .menu-toggle:hover, .close-preview:hover { border-color: var(--ice); background: #8bd4f515; }
  .mobile-menu a:hover { color: var(--ice); }
}
@media(min-width:901px) {
  html .service-entry[open] summary .toggle { left: calc(294.1176% - 44px); top: 20px; width: 44px; }
}
@media(max-width:1200px) { .form-status { margin-left: 90px; } }
@media(max-width:900px) { .form-status { margin-left: 125px; } }
@media(max-width:640px) {
  .btn { min-height: 48px; font-size: 13px; }
  .filter-bar button { min-height: 44px; padding: 10px 13px; font-size: 12px; }
  .filter-bar { gap: 8px; }
  .service-entry summary { grid-template-columns: 38px 1fr 44px; gap: 10px; min-height: 74px; }
  .service-entry summary h2 { font-size: 17px; line-height: 1.6; }
  .service-entry summary .num { font-size: 23px; }
  .field { font-size: 16px; line-height: 1.6; min-height: 49px; padding: 11px 13px; }
  .field-error { grid-column: 1; font-size: 12px; margin-top: -2px; }
  .form-status { margin-left: 0; font-size: 12px; }
  .mail-preview { padding: 23px 17px; }
  .mail-preview .close-preview { top: 6px; right: 6px; }
  .mail-preview h2 { font-size: 18px; }
  .contact-copy .btn { min-height: 48px; font-size: 13px; }
  .contact-copy .email { min-height: 44px; }
  .related-links { gap: 10px; }
  .related-links a { min-height: 44px; font-size: 12px; padding: 10px 13px; }
  .footer-nav a { min-height: 44px; }
  .footer-bottom { gap: 4px; }
  .footer-bottom a { margin-right: 20px; }
  .toast { padding: 13px 18px; max-width: calc(100% - 32px); }
  .toast-copy-field { min-width: 0; width: 100%; font-size: 16px; }
}
@keyframes control-spin { to { transform: rotate(360deg); } }
@media(prefers-reduced-motion:reduce) {
  .btn.is-busy::before { animation: none; }
}

/* The expanded site uses the same ink, paper, ice, type and square geometry. */
.header-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:1px solid transparent;border-radius:0;background:transparent;color:inherit;cursor:pointer;flex:0 0 44px;transition:background .2s,border-color .2s}
.icon-button svg{display:block;width:23px;height:23px}
.icon-button:hover{border-color:#678097;background:#7bbddc12}
.main-nav{gap:32px}.main-nav a{font-size:13px}
.header-inner{gap:22px}.header-cta{padding-left:18px;padding-right:18px;gap:22px}
.back-top-control{position:fixed;right:28px;bottom:25px;z-index:35;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--paper);color:var(--ink);border:1px solid #9cb6ca;border-radius:0;box-shadow:0 5px 20px #060c1610;cursor:pointer}
.back-top-control svg{width:21px;height:21px}.back-top-control:hover{background:#d9effb}

/* Native modal, local search and keyboard navigation. */
html:has(.site-search-dialog[open]){overflow:hidden}
.site-search-dialog{color:var(--ink);background:var(--paper);width:min(800px,calc(100% - 48px));max-width:none;max-height:82svh;margin:8svh auto 0;padding:0;border:1px solid #b8c8d8;box-shadow:0 28px 100px #0005;border-radius:0;overflow:hidden}
.site-search-dialog[open]{display:flex;flex-direction:column}
.site-search-dialog::backdrop{background:#020a16b8;backdrop-filter:blur(6px)}
.search-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:30px 32px 24px}
.search-dialog-head h2{font-size:28px;letter-spacing:-.025em;margin-top:8px}
.search-dialog-head .icon-button{margin-top:-10px;margin-right:-10px}
.search-input-wrap{display:flex;align-items:center;gap:16px;margin:0 32px;border-bottom:1px solid #758c9f;background:#fff;padding:6px 14px}
.search-input-wrap>svg{width:24px;height:24px;flex:0 0 24px;color:#42667e}
#site-search-input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:400 17px/1.6 "Lingsentra Sans",sans-serif;height:52px;padding:9px 0;border-radius:0}
.search-input-wrap:focus-within{border-color:#1686bd;box-shadow:0 1px 0 #1686bd}
#site-search-input::placeholder{color:#738496;font-size:15px}
.search-status{padding:15px 32px 9px;font-size:12px;color:#61778a;flex-shrink:0;min-height:42px}
.search-results{overflow:auto;overscroll-behavior:contain;padding:0 32px;min-height:120px}
.search-result{display:grid;grid-template-columns:88px minmax(0,1fr);gap:3px 18px;padding:18px 2px;border-bottom:1px solid var(--line);min-height:87px;transition:background .2s}
.search-result-type{grid-column:1;grid-row:1/3;color:#137fab;font-size:11px;padding-top:3px}
.search-result-title{grid-column:2;font-size:16px;font-weight:500;line-height:1.6}
.search-result-description{grid-column:2;font-size:12px;color:#65788b;line-height:1.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.search-result:hover{background:#e9f1f8}.search-result:focus-visible{outline-offset:-2px}
.search-empty{font-size:14px;color:#526c82;padding:20px 0}
.search-dialog-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 32px;border-top:1px solid var(--line);font-size:10px;color:#718499;flex-shrink:0}
kbd{font:inherit;border:1px solid #c4d1df;padding:2px 5px;display:inline-block;line-height:1.4;margin:0 3px}

/* Shared editorial sections. */
.enrich-hero .heading-copy .link{margin-top:22px;font-size:14px}
.enrich-heading{margin-bottom:45px}.enrich-heading h2{font-size:clamp(31px,3vw,45px);line-height:1.4}
.enrich-heading .micro{display:block;margin-bottom:14px}
.enrich-heading p{font-size:14px;line-height:2;max-width:440px}
.enrich-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}
.enrich-column{border-top:1px solid #aebdcd;padding-top:25px;min-width:0}
.enrich-column .micro{color:#2c92bf}.enrich-column h3{font-size:24px;margin:18px 0 17px;line-height:1.5;letter-spacing:-.025em}
.enrich-column p{font-size:14px;line-height:2}
.enrich-column h4{font-size:12px;font-weight:500;margin:25px 0 8px;color:#324c60}
.enrich-column .enrich-open-list li{font-size:12px;padding:9px 0;border-color:#dce4ec}
.enrich-suitable{margin-top:17px;color:#3f6c85!important;font-size:12px!important}
.enrich-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:80px;align-items:start}
.enrich-split h2{font-size:36px;line-height:1.5;letter-spacing:-.035em}
.enrich-split>div>.micro{display:block;margin-bottom:16px}
.enrich-split p{font-size:15px;line-height:2}
.enrich-positioning{font-size:16px!important;line-height:2.1!important}
.enrich-note{font-size:12px!important;line-height:1.95!important;margin-top:20px;color:#708597}
.enrich-note a{text-decoration:underline;text-underline-offset:4px}
.dark .enrich-note{color:#a5bbcc}.dark .micro{color:#8bcbea}
.enrich-open-list,.enrich-numbered-list{list-style:none;padding:0;margin:0}
.enrich-open-list li{border-top:1px solid var(--line);padding:16px 0;font-size:14px;color:#4e667b;line-height:1.95}
.enrich-numbered-list{counter-reset:output}
.enrich-numbered-list li{counter-increment:output;border-top:1px solid #425264;padding:20px 0;display:flex;gap:30px;line-height:1.9;font-size:16px;color:#dae6f0}
.enrich-numbered-list li:before{content:"0" counter(output);font-size:12px;letter-spacing:.08em;color:var(--ice);padding-top:4px;flex:0 0 25px}
.enrich-subheading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin:65px 0 30px}
.enrich-subheading h2{font-size:29px;letter-spacing:-.03em}.enrich-subheading p{font-size:13px}
.enrich-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;padding:0;list-style:none;margin:0}
.enrich-flow-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.enrich-flow>li{border-top:1px solid #c1ceda;padding-top:23px;min-width:0}
.enrich-step-number{font-size:34px;line-height:1.2;font-weight:300;color:#3d9ec9;display:block;margin-bottom:20px}
.enrich-flow h3{font-size:22px;margin-bottom:14px;line-height:1.5}.enrich-flow p{font-size:13px;line-height:1.95}
.enrich-step-output{margin-top:22px;color:#4e6a81!important;font-size:12px!important}
.enrich-step-output span{display:block;font-size:11px;font-weight:500;margin-bottom:4px;color:#2d556f}
.enrich-path{background:#edf2f7}.dark .enrich-flow>li{border-color:#384f63}
.dark .enrich-step-number{color:var(--ice)}
.enrich-preparation{display:grid;grid-template-columns:.9fr 1.5fr;gap:80px;border-top:1px solid var(--line);padding-top:50px;margin-top:60px}
.enrich-preparation h2{font-size:30px;line-height:1.5;margin-top:14px}.enrich-preparation .link{margin-top:20px;font-size:13px}
.enrich-related-questions{background:#edf2f7}
.enrich-disclosure{border-top:1px solid #bdcbd8}.enrich-disclosure:last-child{border-bottom:1px solid #bdcbd8}
.enrich-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:25px;list-style:none;padding:18px 0;min-height:68px;font-size:15px;line-height:1.8;cursor:pointer}
.enrich-disclosure summary::-webkit-details-marker{display:none}.enrich-disclosure>p{font-size:14px;line-height:2;margin-bottom:24px;max-width:900px}
.enrich-disclosure summary>span,.leadership-details summary>span,.faq-toggle{font-size:0;display:block;width:44px;height:44px;flex:0 0 44px;border:1px solid transparent;background:linear-gradient(currentColor,currentColor) center/14px 1px no-repeat,linear-gradient(currentColor,currentColor) center/1px 14px no-repeat}
.enrich-disclosure[open] summary>span,.leadership-details[open] summary>span,.faq-item[open] .faq-toggle{background-size:14px 1px,1px 0}
.detail-sections-nav{display:flex;gap:30px;overflow:auto;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0;margin:0 0 35px;scrollbar-width:thin}
.detail-sections-nav a{display:flex;align-items:center;min-height:44px;font-size:13px;color:#3b6e8b}
.detail-sections-nav a:hover{color:#0589ce}

/* Capability map and comparison matrix. */
.capability-map-heading .micro{display:block;margin-bottom:15px}
.capability-map-heading h2{font-size:42px;line-height:1.45}.capability-map-heading p{font-size:14px;line-height:2}
.capability-map-list{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.capability-map-row{display:grid;grid-template-columns:54px minmax(230px,1fr) minmax(0,1.3fr) 120px;gap:30px;align-items:center;border-top:1px solid var(--line);padding:27px 0}
.capability-map-number{font-size:16px;font-weight:300;color:#4697bc}
.capability-map-name h3{font-size:22px;line-height:1.6;letter-spacing:-.025em}.capability-map-name>span{font-size:11px;color:#768ca0;display:block;margin-top:5px}
.capability-map-question{font-size:13px;line-height:1.95;max-width:400px}.capability-map-link{font-size:12px;gap:22px;justify-self:end}
.capability-map-directions{display:grid;grid-template-columns:200px minmax(0,1fr);gap:30px;margin-top:36px;align-items:start}
.capability-map-directions>span{padding-top:10px;font-size:10px}
.capability-map-directions nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 35px}
.capability-map-directions a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;font-size:12px;border-bottom:1px solid var(--line)}
.capability-map-directions .arrow{width:18px;height:18px;flex-basis:18px}
.home-start-inner{display:flex;align-items:center;justify-content:space-between;gap:70px}
.home-start-inner h2{font-size:36px;line-height:1.5;margin-top:16px}.home-start-inner p{font-size:14px;margin-top:18px;line-height:2;max-width:650px}
.home-start-note{font-size:11px!important;color:#8ea9be!important}.home-start-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;flex-shrink:0}
.home-start-actions .link{font-size:12px}.home-start-actions .btn{min-width:240px}
.service-matrix-section{background:#edf2f7}
.service-matrix-heading h2{font-size:40px;line-height:1.45}.service-matrix-heading p{font-size:14px;line-height:2}
.service-matrix-combinations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}
.service-matrix-combination{border-top:1px solid #bdcbd8;padding-top:24px}
.service-matrix-combination>.micro{color:#4389ac;font-size:10px}.service-matrix-combination h3{font-size:24px;margin:18px 0;line-height:1.5}
.service-matrix-combination>p{font-size:14px;line-height:2}.service-matrix-links{display:flex;flex-direction:column;margin-top:22px}
.service-matrix-links a{display:flex;align-items:center;gap:20px;justify-content:space-between;min-height:44px;font-size:12px;border-top:1px solid #d4dfe8}
.service-matrix-links .arrow{width:18px;height:18px;flex-basis:18px}
.service-matrix-table-heading{margin-top:70px;margin-bottom:24px}.service-matrix-table-heading h2{font-size:29px;margin-bottom:16px}.service-matrix-table-heading p{font-size:12px}
.service-matrix-scroll{max-width:100%;min-width:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#99b1c5 #dce6ee;border-top:1px solid #7d9bb1}
.service-matrix-table{width:100%;min-width:980px;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.9}
.service-matrix-table caption{text-align:left;font-size:11px;color:#728a9f;padding:14px 0;caption-side:bottom}
.service-matrix-table th,.service-matrix-table td{padding:23px 22px;vertical-align:top;border-bottom:1px solid #c9d6e1;min-width:150px;font-weight:400}
.service-matrix-table thead th{background:#e0eaf2;font-size:12px;color:#46657e;padding-top:16px;padding-bottom:16px;white-space:nowrap}
.service-matrix-table tbody th{font-weight:500;width:20%;color:#142e42}.service-matrix-table td{color:#516a80;width:27%}
.service-matrix-table td:last-child{width:26%}.service-matrix-table ul{padding-left:15px;margin:0}.service-matrix-table a:hover{text-decoration:underline}
.service-matrix-note{font-size:12px;margin:20px 0;color:#6d8397}.service-matrix-section>.container>.link{font-size:13px}

/* A substantive leadership section with expandable responsibilities. */
.leadership-section{padding-top:65px;padding-bottom:65px}.leadership-section .enrich-heading{margin-bottom:44px}
.leadership-list{border-bottom:1px solid var(--line)}
.leadership-profile{display:grid;grid-template-columns:270px minmax(0,1fr);gap:48px;padding:34px 0;border-top:1px solid var(--line)}
.leadership-identity{border-right:1px solid var(--line);padding-right:36px}
.leadership-role{font-size:66px;line-height:1.1;font-weight:300;letter-spacing:-.05em;margin-bottom:16px}
.leadership-identity h3{font-size:24px;line-height:1.5;letter-spacing:0}.leadership-title{font-size:12px;margin-top:6px;color:#60788e}
.leadership-focus{font-size:13px;margin-top:16px;color:#1e92c5}
.leadership-copy{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:17px 38px;align-content:start;padding-top:6px}
.leadership-copy>p{grid-column:1;font-size:14px;line-height:2.05;color:#5f7488;margin:0;max-width:650px}
.leadership-details{grid-column:2;grid-row:1/span 2;align-self:start;min-width:0}
.leadership-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:52px;border:1px solid #a8b9c9;padding:3px 5px 3px 17px;font-size:12px;cursor:pointer}
.leadership-details summary::-webkit-details-marker{display:none}.leadership-details summary:hover{border-color:#4793bd;background:#e8f2f9}
.leadership-details[open]{grid-column:1/-1;grid-row:auto;margin-top:7px}.leadership-details[open] summary{max-width:250px;margin-left:auto}
.leadership-details>div{margin-top:22px;padding:26px 0 0;border-top:1px solid var(--line)}
.leadership-responsibilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;counter-reset:responsibility;padding:0;margin:0}
.leadership-responsibilities li{counter-increment:responsibility}.leadership-responsibilities li:before{content:"0" counter(responsibility);font-size:11px;color:#3096c4;display:block;margin-bottom:10px}
.leadership-responsibilities h5{font-size:15px;font-weight:500;line-height:1.8;margin:0 0 9px}.leadership-responsibilities p{font-size:12px;line-height:1.95}
.leadership-collaboration{padding-top:23px;margin-top:25px;border-top:1px solid var(--line);display:grid;grid-template-columns:120px 1fr;gap:25px}
.leadership-collaboration h4{font-size:12px;font-weight:500;margin:0;padding-top:2px}.leadership-collaboration p{font-size:13px;line-height:1.95}
.leadership-collaboration-heading h2{font-size:42px;line-height:1.45}.leadership-collaboration-heading p{font-size:14px;line-height:2}
.leadership-collaboration-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.leadership-collaboration-stage{border-top:1px solid #40586d;padding-top:25px}.leadership-collaboration-stage>.micro{font-size:10px;color:#8bcbea}
.leadership-collaboration-stage h3{font-size:25px;margin:18px 0 14px}.leadership-collaboration-intro{font-size:13px;line-height:1.95}
.leadership-collaboration-stage ul{padding:0;margin:27px 0 0;list-style:none}.leadership-collaboration-stage li{padding:14px 0;border-top:1px solid #273c4f}
.leadership-collaboration-stage h4{font-size:13px;font-weight:500;margin:0 0 7px;color:#d8e7f4}.leadership-collaboration-stage li p{font-size:12px;line-height:1.95;color:#90a8bc}

/* The project brief is intentionally a local, visitor-controlled workflow. */
.brief-intro{display:grid;grid-template-columns:1fr 1.3fr;gap:90px;align-items:end;margin-bottom:44px}
.brief-intro h2{font-size:44px;line-height:1.45;margin-top:16px}.brief-intro>div>p{font-size:15px;line-height:2}
.brief-workspace{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:70px}
.brief-form{min-width:0}.brief-form>fieldset{border:0;padding:0;margin:0;min-width:0}
.brief-progress{display:flex;justify-content:space-between;gap:25px;padding:19px 0;border-top:1px solid #486277;border-bottom:1px solid #2e4457;margin-bottom:29px}
.brief-progress .micro{font-size:10px;letter-spacing:.1em;color:#8ea7bb}.brief-progress [data-brief-step-label]{font-size:12px;color:var(--ice)}
.brief-step{min-height:410px}.brief-step h3{font-size:27px;line-height:1.5;margin-bottom:13px;letter-spacing:-.025em}
.brief-step-description{font-size:13px;color:#9db2c4!important;line-height:1.95;margin-bottom:27px}
.brief-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.brief-field{margin-top:20px;min-width:0}.brief-fields-grid>.brief-field{margin-top:0}
.brief-field>label{display:block;font-size:12px;margin-bottom:9px;color:#d5e3ef}.brief-field>label>span{font-size:10px;color:#8ab5cf;margin-left:8px}
.brief-field .field{font-size:14px}.brief-field textarea.field{min-height:152px}.brief-field-short{max-width:450px}
.brief-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:30px;flex-wrap:wrap}
.brief-actions .btn{min-width:150px}.brief-actions .btn-ice{min-width:220px}
.brief-aside{border-left:1px solid #334d63;padding-left:40px;padding-top:18px}
.brief-aside .micro{color:#7fa9c4;font-size:10px}.brief-aside h3{font-size:30px;line-height:1.5;margin:20px 0 26px}
.brief-aside ol{padding-left:21px;margin:0 0 24px}.brief-aside li{padding:10px 0 10px 3px;font-size:13px;line-height:1.95;color:#adbed0}
.brief-aside>p{font-size:12px;line-height:1.95;color:#8da7bd}.brief-aside>.link{font-size:12px;margin-top:20px;color:#c1dded}
.brief-materials{border:0;padding:0;margin:27px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;min-width:0}
.brief-materials legend{font-size:12px;color:#c5d8e8;margin-bottom:12px;padding:0}
.brief-materials label{display:flex;align-items:center;gap:12px;min-height:56px;font-size:12px;line-height:1.8;border-bottom:1px solid #2f465a;cursor:pointer;padding:10px 0}
.brief-materials input{appearance:none;-webkit-appearance:none;position:relative;flex:0 0 20px;width:20px;height:20px;border:1px solid #6c8da5;border-radius:0;cursor:pointer;background:#0d1927;margin:0}
.brief-materials input:checked{background:var(--ice);border-color:var(--ice);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-8' fill='none' stroke='%23091420' stroke-width='1.5'/%3E%3C/svg%3E")}
.brief-materials label:has(input:checked){color:var(--ice)}
.brief-status{font-size:12px;line-height:1.9;color:#aad5ed;padding:12px 15px;background:#142a3c;border-left:2px solid var(--ice);margin-top:15px}
.brief-status:empty{display:none}.brief-form:has([aria-invalid="true"]) .brief-status{color:#f2b3b3;border-color:var(--control-error)}
.brief-result{border:1px solid #557e99;border-top:2px solid var(--ice);padding:34px;margin-top:44px;scroll-margin-top:25px}
.brief-result h3{font-size:29px;line-height:1.5;margin:14px 0 18px}.brief-result h3:focus{outline:0}
.brief-result>p{font-size:13px;line-height:1.95}.brief-result pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:#0b1725;border:1px solid #2a435a;padding:26px;color:#c1d3e3;font:13px/2 "Lingsentra Sans",sans-serif;max-height:520px;overflow:auto;margin:24px 0}
.brief-result-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.brief-result-actions .btn{font-size:12px;min-height:48px;padding-left:20px;padding-right:20px}.brief-result-actions .link{font-size:12px}

/* Searchable FAQ, with useful plain HTML when JavaScript is unavailable. */
.faq-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;border-top:1px solid var(--line);padding-top:30px}
.faq-search{max-width:530px}.faq-search label{display:block;font-size:12px;color:#526f85;margin-bottom:11px}
.faq-search .field{background:#fff;color:var(--ink);border-color:#a6bacb;font-size:16px;height:52px}
.faq-search .field::placeholder{color:#7a8da0}.faq-search .field:focus{border-color:#328dbd;box-shadow:0 0 0 1px #328dbd}
.faq-filters{display:flex;gap:9px;flex-wrap:wrap}.faq-filters button{border:1px solid #b2c5d3;min-height:44px;font-size:12px;padding:10px 18px;background:transparent;color:#345971;border-radius:0;cursor:pointer}
.faq-filters button[aria-pressed=true]{background:#0b1a28;border-color:#0b1a28;color:#eff7fc}.faq-filters button:hover{border-color:#348cba}
.faq-count{font-size:11px;color:#7a91a5;line-height:1.9;margin:23px 0}
.faq-list{border-bottom:1px solid var(--line)}.faq-item{border-top:1px solid var(--line)}
.faq-item summary{display:grid;grid-template-columns:140px minmax(0,1fr) 44px;gap:30px;align-items:center;padding:21px 0;min-height:88px;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}.faq-category{font-size:11px;color:#557d99}.faq-item h2{font-size:20px;line-height:1.6;letter-spacing:-.02em}
.faq-item summary:hover h2{color:#197cad}.faq-item[open] h2{color:#177ba8}.faq-item[open] .faq-toggle{border-color:#b7d2e2}
.faq-answer{padding:0 70px 28px 170px}.faq-answer p{font-size:14px;line-height:2.05;max-width:960px}
.faq-empty{font-size:15px;color:#536f86;background:#e9f0f6;padding:28px;border:1px solid #cfdfeb;margin-top:18px}
.enrich-faq-note{display:flex;align-items:center;justify-content:space-between;gap:50px;margin-top:34px}.enrich-faq-note p{font-size:12px;line-height:2;max-width:700px}.enrich-faq-note .link{flex-shrink:0;font-size:13px}

@media(max-width:1200px){
  .main-nav{gap:22px}.header-actions{gap:11px}.wordmark{font-size:15px}.header-cta{font-size:12px;gap:18px;padding-left:14px;padding-right:14px}
  .enrich-grid,.service-matrix-combinations{gap:30px}.enrich-split,.enrich-preparation{gap:50px}
  .leadership-profile{grid-template-columns:220px minmax(0,1fr);gap:35px}.leadership-copy{grid-template-columns:minmax(0,1fr) 190px;gap:18px 28px}
  .leadership-details summary{font-size:11px;padding-left:12px}.leadership-role{font-size:60px}
  .brief-workspace{gap:40px}.brief-intro{gap:50px}.brief-aside{padding-left:30px}
  .faq-toolbar{grid-template-columns:1fr;gap:25px}.faq-search{max-width:650px}
}
@media(max-width:1100px){
  .main-nav{display:none}.menu-toggle{display:block}.mobile-menu{top:88px}.header-actions{gap:18px}
  .leadership-copy{display:block}.leadership-copy>p+p{margin-top:16px}.leadership-details{margin-top:23px}.leadership-details summary{max-width:240px}.leadership-details[open] summary{margin-left:0}
  .capability-map-row{grid-template-columns:40px minmax(200px,1fr) minmax(0,1.2fr) 105px;gap:20px}
}
@media(max-width:900px){
  .enrich-grid,.service-matrix-combinations{gap:25px}.enrich-column h3{font-size:21px}.enrich-column p{font-size:13px}
  .enrich-split,.enrich-preparation{grid-template-columns:.8fr 1.3fr;gap:35px}.enrich-split h2{font-size:29px}
  .enrich-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.enrich-flow-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.enrich-flow h3{font-size:20px}
  .capability-map-row{grid-template-columns:35px minmax(0,1fr) 115px;gap:18px}.capability-map-question{grid-column:2;grid-row:2;margin-top:-10px}.capability-map-link{grid-column:3;grid-row:1/3}.capability-map-name h3{font-size:21px}
  .capability-map-directions{grid-template-columns:1fr;gap:15px}.home-start-inner{gap:35px}.home-start-inner h2{font-size:30px}.home-start-actions .btn{min-width:200px}
  .leadership-profile{grid-template-columns:190px minmax(0,1fr);gap:30px}.leadership-identity{padding-right:25px}.leadership-role{font-size:56px}
  .leadership-responsibilities{grid-template-columns:1fr;gap:22px}.leadership-responsibilities li{border-top:1px solid var(--line);padding-top:15px}
  .leadership-collaboration-stages{gap:28px}.leadership-collaboration-stage h3{font-size:22px}
  .brief-intro{grid-template-columns:1fr 1fr;gap:35px}.brief-intro h2{font-size:35px}
  .brief-workspace{grid-template-columns:1fr;gap:45px}.brief-step{min-height:360px}.brief-aside{border-left:0;border-top:1px solid #37556e;padding:30px 0 0}
  .brief-aside ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-left:17px}.brief-aside h3{font-size:26px}.brief-aside>p{max-width:650px}
  .faq-item summary{grid-template-columns:110px minmax(0,1fr) 44px;gap:25px}.faq-item h2{font-size:18px}.faq-answer{padding-left:135px}
}
@media(max-width:640px){
  .header-actions{gap:8px}.header-inner{gap:12px}.brand{gap:8px}.wordmark{font-size:12px;letter-spacing:.12em}.mobile-menu{top:76px}.icon-button{width:44px;height:44px}
  .back-top-control{right:17px;bottom:18px}.home .hero-content .link{gap:22px}
  .site-search-dialog{width:calc(100% - 24px);max-height:88svh;margin-top:5svh}.search-dialog-head{padding:23px 20px 20px}.search-dialog-head h2{font-size:23px}.search-dialog-head .micro{font-size:9px}
  .search-input-wrap{margin:0 20px;gap:12px;padding-left:10px;padding-right:8px}#site-search-input{font-size:16px;height:52px}#site-search-input::placeholder{font-size:12px}
  .search-status{padding:13px 20px 8px;font-size:11px}.search-results{padding:0 20px;min-height:140px}.search-result{grid-template-columns:54px minmax(0,1fr);gap:4px 12px;padding:16px 0}.search-result-type{font-size:9px;padding-top:4px}.search-result-title{font-size:14px}.search-result-description{font-size:11px}
  .search-dialog-footer{padding:13px 20px;font-size:9px;gap:12px}.search-dialog-footer>span:last-child{display:none}
  .enrich-hero .heading-copy .link{margin-top:16px;font-size:13px}.enrich-heading h2,.capability-map-heading h2,.service-matrix-heading h2{font-size:30px;line-height:1.5}
  .enrich-heading{margin-bottom:32px}.enrich-heading p,.capability-map-heading p,.service-matrix-heading p{font-size:13px;line-height:2}
  .enrich-grid,.service-matrix-combinations{grid-template-columns:1fr;gap:34px}.enrich-column{padding-top:22px}.enrich-column h3{font-size:24px;margin:14px 0}.enrich-column p{font-size:14px}.enrich-column h4{font-size:12px}
  .enrich-split,.enrich-preparation{grid-template-columns:1fr;gap:25px}.enrich-split h2{font-size:29px}.enrich-split p,.enrich-positioning{font-size:14px!important;line-height:2.05!important}
  .enrich-subheading{display:block;margin-top:40px;margin-bottom:27px}.enrich-subheading h2{font-size:25px}.enrich-subheading p{font-size:12px;margin-top:13px}
  .enrich-flow,.enrich-flow-three{grid-template-columns:1fr;gap:31px}.enrich-flow>li{display:grid;grid-template-columns:43px minmax(0,1fr);gap:19px;padding-top:22px}.enrich-step-number{font-size:29px;margin-bottom:0}.enrich-flow h3{font-size:21px}.enrich-flow p{font-size:13px}
  .enrich-numbered-list li{font-size:14px;gap:17px;padding:18px 0}.enrich-preparation{padding-top:37px;margin-top:39px}.enrich-preparation h2{font-size:26px}.enrich-open-list li{font-size:13px;padding:14px 0}
  .enrich-disclosure summary{font-size:14px;gap:15px}.enrich-disclosure>p{font-size:13px;line-height:2}.detail-sections-nav{gap:24px;margin-bottom:25px}.detail-sections-nav a{font-size:12px}
  .capability-map-row{grid-template-columns:25px minmax(0,1fr);gap:9px 15px;padding:24px 0}.capability-map-number{font-size:14px;align-self:start;padding-top:6px}.capability-map-name h3{font-size:20px}.capability-map-name>span{font-size:10px}
  .capability-map-question{grid-column:2;grid-row:auto;margin-top:6px;font-size:12px}.capability-map-link{grid-column:2;grid-row:auto;justify-self:start;margin-top:4px;font-size:12px}.capability-map-directions nav{grid-template-columns:1fr;gap:8px}.capability-map-directions a{font-size:12px}
  .home-start-inner{display:block}.home-start-inner h2{font-size:28px;line-height:1.5}.home-start-inner p{font-size:13px}.home-start-actions{margin-top:27px}.home-start-actions .btn{min-width:230px}
  .service-matrix-combination h3{font-size:24px}.service-matrix-combination>p{font-size:14px}.service-matrix-table-heading{margin-top:44px}.service-matrix-table-heading h2{font-size:25px}.service-matrix-table-heading p{font-size:12px;line-height:2}.service-matrix-note{font-size:11px}
  .service-matrix-table{min-width:900px;font-size:12px}.service-matrix-table th,.service-matrix-table td{padding:18px 16px}.service-matrix-scroll:focus-visible{outline-offset:2px}
  .leadership-section{padding-top:48px;padding-bottom:48px}.leadership-profile{grid-template-columns:1fr;gap:25px;padding:30px 0}
  .leadership-identity{display:grid;grid-template-columns:90px minmax(0,1fr);gap:2px 19px;border:0;padding-right:0}.leadership-role{grid-column:1;grid-row:1/4;font-size:48px;margin:0;align-self:start;padding-top:3px}
  .leadership-identity h3{grid-column:2;font-size:23px}.leadership-title{grid-column:2;margin-top:3px;font-size:11px}.leadership-focus{grid-column:2;margin-top:8px;font-size:12px}
  .leadership-copy{padding-top:0}.leadership-copy>p{font-size:14px;line-height:2.1}.leadership-copy>p+p{margin-top:18px}.leadership-details{margin-top:23px}.leadership-details summary,.leadership-details[open] summary{max-width:none;width:100%;font-size:12px}
  .leadership-responsibilities h5{font-size:15px}.leadership-responsibilities p{font-size:13px}.leadership-collaboration{grid-template-columns:1fr;gap:12px;padding-top:22px}.leadership-collaboration p{font-size:13px}
  .leadership-collaboration-heading h2{font-size:30px}.leadership-collaboration-stages{grid-template-columns:1fr;gap:30px}.leadership-collaboration-stage{padding-top:23px}.leadership-collaboration-stage h3{font-size:25px}.leadership-collaboration-stage li p{font-size:13px}
  .brief-intro{grid-template-columns:1fr;gap:25px;margin-bottom:33px}.brief-intro h2{font-size:32px;line-height:1.5}.brief-intro>div>p{font-size:14px}.brief-intro .enrich-note{font-size:11px!important}
  .brief-progress{display:block;padding:16px 0;margin-bottom:25px}.brief-progress .micro{font-size:9px}.brief-progress [data-brief-step-label]{display:block;margin-top:6px;font-size:12px}
  .brief-step{min-height:0}.brief-step h3{font-size:24px}.brief-step-description{font-size:12px;margin-bottom:24px}.brief-fields-grid{grid-template-columns:1fr;gap:22px}.brief-field{margin-top:22px}.brief-field .field{font-size:16px;min-height:50px}.brief-field>label{font-size:12px}.brief-field>label>span{font-size:9px}
  .brief-actions{gap:12px;justify-content:space-between;margin-top:28px}.brief-actions .btn{min-width:0;padding-left:17px;padding-right:17px;font-size:12px}.brief-actions .btn-ice{flex:1;min-width:0}.brief-actions .arrow{width:18px;height:18px;flex-basis:18px}
  .brief-aside ol{display:block;gap:0;padding-left:20px}.brief-aside h3{font-size:27px}.brief-aside li{font-size:13px}.brief-materials{grid-template-columns:1fr;gap:0}.brief-materials label{font-size:13px;min-height:57px}
  .brief-status{font-size:12px;padding:11px 13px}.brief-result{padding:24px 17px;margin-top:34px}.brief-result h3{font-size:25px}.brief-result>p{font-size:12px}.brief-result pre{padding:18px 14px;font-size:12px;line-height:2;max-height:460px}.brief-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.brief-result-actions .btn{padding-left:12px;padding-right:12px;font-size:12px}.brief-result-actions #brief-email{grid-column:1/-1}.brief-result-actions .link{grid-column:1/-1;font-size:12px}
  .faq-toolbar{gap:23px;padding-top:22px}.faq-filters{gap:8px}.faq-filters button{padding:10px 13px;font-size:11px;min-height:44px}.faq-search .field{font-size:16px}.faq-search label{font-size:11px}
  .faq-item summary{grid-template-columns:minmax(0,1fr) 44px;gap:6px 15px;padding:21px 0}.faq-category{grid-column:1;font-size:10px}.faq-item h2{grid-column:1;font-size:16px;line-height:1.8}.faq-toggle{grid-column:2;grid-row:1/3}.faq-answer{padding:0 0 25px}.faq-answer p{font-size:13px;line-height:2.1}.enrich-faq-note{display:block;margin-top:27px}.enrich-faq-note p{font-size:11px}.enrich-faq-note .link{margin-top:18px;font-size:12px}.faq-empty{font-size:13px;padding:23px}
}
@media(prefers-reduced-motion:reduce){.icon-button,.search-result{transition:none}}

.main-nav a[aria-current="true"]{color:var(--ice)}
.mobile-menu a[aria-current="true"]{color:var(--ice);border-color:var(--ice)}
.home-hero .hero-art{z-index:0;pointer-events:none}
.home-hero .hero-content{position:relative;z-index:1}

/* Enterprise foundation. Loaded after the original controls and enrichment. */
:root {
  --ink: #07101b;
  --navy: #07101b;
  --paper: #fff;
  --white: #fff;
  --blue: #0c6aa6;
  --muted: #5d6978;
  --line: #d9dfe7;
  --dark-line: #33404e;
  --header-height: 84px;
  --control-height: 52px;
  --control-focus: #0c6aa6;
  --control-error: #eeada7;
  --gutter: clamp(24px, 4.2vw, 72px);
}

html { scroll-padding-top: 156px; }
body { background: #fff; color: var(--ink); font-size: 17px; line-height: 1.85; }
p { color: var(--muted); }
h1, h2, h3 { letter-spacing: -.035em; font-weight: 500; }
main :is(h1, h2, h3, section[id], article[id], details[id]),
#brief-builder, #brief-result { scroll-margin-top: 160px; }
.container { max-width: 1600px; }
.section { padding-top: 96px; padding-bottom: 96px; }
.section-small { padding-top: 64px; padding-bottom: 64px; }
.micro { font-size: 12px; line-height: 1.6; letter-spacing: .1em; }
.accent { color: var(--blue); }
.dark .accent, .contact-main .accent, .cta-band .accent { color: var(--ice); }
.dark p { color: #b3bfcc; }
.dark .micro { color: #a9cce3; }
.page-main { padding-top: var(--header-height); }
.page-heading { padding-top: 68px; padding-bottom: 60px; }
.page-heading h1 { font-size: clamp(44px, 4.1vw, 62px); line-height: 1.3; }
.page-heading h1 .accent { color: var(--blue); }
.dark .page-heading h1 .accent { color: var(--ice); }
.split-heading { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 72px; }
.split-heading p, .page-heading > .lead { font-size: 17px; line-height: 1.9; }
.page-heading > .lead { margin-top: 26px; }
.section-intro { margin-bottom: 48px; }
.section-intro h2 { font-size: clamp(34px, 3.1vw, 48px); line-height: 1.4; }
.section-intro p { font-size: 16px; line-height: 1.9; }

/* One white global masthead, including on the homepage and after scrolling. */
.site-header, .home .site-header, .site-header.scrolled, .home .site-header.scrolled {
  height: var(--header-height);
  position: fixed;
  z-index: 50;
  background: #fff;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  backdrop-filter: none;
  transition: none;
}
.header-inner { gap: 26px; }
.brand { gap: 10px; color: var(--ink); min-width: 0; flex-shrink: 0; }
.brand-icon { width: 46px; height: 46px; }
.wordmark { color: var(--ink); font-size: 17px; line-height: 1.2; letter-spacing: .12em; }
.brand-cn { display: inline; color: #4e5966; font-size: 12px; letter-spacing: .1em; margin-left: 3px; }
.main-nav { display: flex; align-items: stretch; gap: 20px; height: 100%; }
.nav-item { display: flex; align-items: center; position: relative; min-width: 0; }
.main-nav .nav-overview {
  display: inline-flex;
  align-items: center;
  height: 84px;
  min-height: 44px;
  padding: 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.5;
  font-weight: 400;
  white-space: nowrap;
}
.main-nav .nav-overview::after {
  height: 2px;
  bottom: 0;
  background: var(--blue);
}
.main-nav .nav-overview[aria-current="page"],
.main-nav .nav-overview[aria-current="true"],
.main-nav .nav-overview:hover { color: var(--blue); }
.main-nav .nav-overview[aria-current="true"]::after,
.main-nav .nav-overview[aria-current="page"]::after,
.nav-item:has(.mega-toggle[aria-expanded="true"]) .nav-overview::after { width: 100%; }
.mega-toggle {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #5c6774;
  padding: 0;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.mega-toggle svg { width: 14px; height: 14px; transition: transform 180ms; }
.mega-toggle[aria-expanded="true"] { color: var(--blue); }
.mega-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.header-actions { gap: 12px; }
.header-actions .header-cta {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
  min-height: 44px;
  padding: 10px 18px;
  font-size: 14px;
  gap: 22px;
  white-space: nowrap;
}
.site-header .header-actions .btn.header-cta:hover:not(:disabled) { background: #17344d; border-color: #17344d; color: #fff; }
.site-header .search-trigger { color: var(--ink); }
.icon-button { border-color: transparent; }
.icon-button:hover { background: #f1f4f6; border-color: #acbac7; }
.menu-toggle { display: none; border-color: #b5bec8; background: #fff; }
.menu-toggle span { background: var(--ink); }
.site-header :where(a,button):focus-visible { outline-color: var(--blue); }
.skip-link { background: var(--ink); color: #fff; min-height: 44px; }

/* Broad, editorial navigation panels. Never inherit top-level link geometry. */
.mega-panel {
  position: absolute;
  inset: 84px 0 auto;
  background: #fff;
  color: var(--ink);
  border-bottom: 1px solid #b9c4cf;
  box-shadow: 0 12px 20px #07101b06;
  max-height: calc(100svh - 84px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.mega-inner {
  display: grid;
  grid-template-columns: minmax(220px,.8fr) minmax(0,2.2fr);
  gap: 65px;
  position: relative;
  padding-top: 44px;
  padding-bottom: 46px;
}
.mega-intro h2 { font-size: 31px; line-height: 1.45; margin: 10px 0 16px; }
.mega-intro > p { font-size: 15px; line-height: 1.95; max-width: 330px; }
.mega-intro .link { margin-top: 19px; font-size: 14px; color: var(--blue); }
.mega-intro .micro { color: var(--blue); }
.mega-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px 32px; align-content: start; }
.mega-panel .mega-link {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) 20px;
  gap: 10px 16px;
  min-width: 0;
  min-height: 132px;
  padding: 20px 0;
  color: var(--ink);
  border-top: 1px solid var(--line);
  white-space: normal;
  line-height: 1.8;
}
.mega-panel .mega-link::after { content: none; }
.mega-link strong { grid-column: 1; font-size: 17px; font-weight: 500; line-height: 1.6; }
.mega-link span { grid-column: 1; font-size: 13px; color: var(--muted); line-height: 1.85; }
.mega-link .arrow, .mega-link > svg { grid-column: 2; grid-row: 1; width: 20px; height: 20px; margin-top: 4px; }
.mega-panel .mega-link:hover { color: var(--blue); border-top-color: var(--blue); }
.mega-close { position: absolute; right: var(--gutter); top: 10px; color: var(--ink); width: 44px; height: 44px; padding: 10px; border: 1px solid transparent; background: #fff; }
.mega-close svg { width: 22px; height: 22px; }
.mega-close:hover { border-color: #acbac7; }
.mobile-menu { top: 84px; color: var(--ink); background: #fff; padding-top: 24px; }
.mobile-menu a { color: var(--ink); border-color: var(--line); font-size: 25px; min-height: 66px; }
.mobile-menu .micro { color: var(--blue); }
.mobile-menu a[aria-current="page"], .mobile-menu a[aria-current="true"], .mobile-menu a:hover { color: var(--blue); border-color: var(--line); }

/* Square controls: sufficient targets and predictable contrast. */
.btn { font-size: 15px; letter-spacing: 0; min-height: 52px; border-color: #8c9aa8; }
.btn-dark { background: var(--ink); color: #fff; border-color: var(--ink); }
.btn-white { background: #fff; color: var(--ink); border-color: #fff; }
.btn-ice { background: var(--ice); border-color: var(--ice); color: var(--ink); }
.link { font-size: 16px; min-height: 44px; gap: 26px; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.dark :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
.contact-main :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline-color: var(--ice); }
.field { font-size: 16px; min-height: 52px; line-height: 1.65; }
.field:focus { border-color: var(--ice); box-shadow: 0 0 0 1px var(--ice); }
.back-top-control { background: #fff; border-color: #9daab7; color: var(--ink); box-shadow: none; }
.back-top-control:hover { background: #eef3f7; }
.toast { background: #e7f2fa; border-color: #9abfd7; box-shadow: 0 4px 16px #07101b12; }
.toast p { color: var(--ink); }

/* Native details stay in normal flow at every width. This replaces the old
   absolute 34% desktop summary and its percentage-positioned toggle. */
.service-directory { padding-bottom: 60px; }
html .service-entry, html .service-entry[open] { position: relative; min-height: 0; }
html .service-entry summary, html .service-entry[open] summary {
  position: static;
  inset: auto;
  width: auto;
  display: grid;
  grid-template-columns: 76px minmax(0,1fr) 44px;
  align-items: center;
  gap: 24px;
  padding: 24px 0;
  min-height: 98px;
}
html .service-entry summary h2 { max-width: none; font-size: 29px; line-height: 1.5; }
html .service-entry summary .num { font-size: 25px; color: #6d7d8d; }
html .service-entry[open] summary h2, html .service-entry[open] summary .num { color: var(--blue); }
html .service-entry summary .toggle, html .service-entry[open] summary .toggle {
  position: static;
  inset: auto;
  grid-column: 3;
  width: 44px;
  height: 44px;
  align-self: center;
  border-color: var(--line);
}
html .service-entry[open] .service-content, html .service-entry .service-content {
  position: static;
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(0,1fr);
  gap: 64px;
  min-height: 0;
  margin: 0;
  padding: 6px 68px 40px 100px;
  border-left: 0;
}
.service-content p, .service-content ul { font-size: 16px; line-height: 1.9; max-width: 640px; }
.service-content ul { margin-top: 20px; margin-bottom: 20px; }
.service-content .link { font-size: 15px; }
.service-image { height: 240px; }
.image-caption { font-size: 11px; color: #69798a; letter-spacing: .08em; }
.service-brief { margin-top: 18px; gap: 72px; }
.service-brief h2 { font-size: 36px; line-height: 1.45; }
.service-brief p { font-size: 17px; }
.business-scope { margin-top: 46px; padding-top: 20px; }
.business-scope summary { font-size: 16px; }
.business-scope p { font-size: 15px; line-height: 2; }

/* Shared internal page rhythm and readable technical descriptions. */
.breadcrumb { font-size: 13px; color: #647180; padding-top: 28px; }
.breadcrumb a { min-height: 30px; display: inline-flex; align-items: center; }
.detail-hero { gap: 72px; padding-top: 40px; padding-bottom: 64px; }
.detail-hero h1 { font-size: clamp(42px,4vw,60px); line-height: 1.3; margin: 18px 0 26px; }
.detail-hero .english { color: var(--blue); font-size: 12px; }
.detail-hero p { font-size: 17px; line-height: 1.9; }
.detail-hero .detail-tagline { font-size: 23px; line-height: 1.7; color: #35475a; }
.detail-image { height: 370px; }
.detail-body { gap: 80px; padding-top: 64px; padding-bottom: 64px; }
.detail-body h2 { font-size: 36px; line-height: 1.45; }
.detail-body p { font-size: 17px; line-height: 1.95; }
.deliverables li { font-size: 16px; padding: 18px 0; }
.deliverables li span { color: var(--blue); }
.detail-body .directions-note { font-size: 13px; color: #647180; }
.question-band { background: #f1f5f8; padding: 40px 44px; }
.question-band h2 { font-size: 26px; line-height: 1.5; }
.question-band p { color: #415569; font-size: 17px; line-height: 1.9; }
.related-links a { font-size: 14px; border-color: #aebac6; }
.process { background: #f4f6f8; }
.process h2 { font-size: 31px; line-height: 1.45; }
.process-step > span { color: #62768a; }
.process-step h3 { font-size: 22px; }
.process-step p { font-size: 15px; line-height: 1.9; }
.cta-band { padding: 68px 0; }
.cta-band h2 { font-size: clamp(32px,3.4vw,50px); line-height: 1.45; }
.cta-band p { font-size: 17px; color: #bbc7d3; }
.cta-band .btn { border-color: #9cb0c3; }
.prose { max-width: 1000px; padding-top: 72px; padding-bottom: 96px; }
.prose h1 { font-size: 50px; line-height: 1.4; }
.prose h2 { font-size: 28px; line-height: 1.5; margin: 40px 0 18px; }
.prose p, .prose li { font-size: 17px; line-height: 2; }

/* Sticky page navigation. Actual link destinations remain useful without JS. */
.section-nav, .detail-sections-nav, [data-page-nav] {
  position: sticky;
  top: var(--header-height);
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 28px;
  overflow-x: auto;
  scrollbar-width: thin;
  background: #fff;
  color: var(--ink);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding-top: 6px;
  padding-bottom: 6px;
  margin-bottom: 0;
  white-space: nowrap;
}
.section-nav a, .detail-sections-nav a, [data-page-nav] a {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  min-height: 48px;
  padding: 5px 0;
  font-size: 14px;
  line-height: 1.6;
  color: #526171;
  border-bottom: 2px solid transparent;
}
.section-nav a:hover, .detail-sections-nav a:hover, [data-page-nav] a:hover,
.section-nav a[aria-current="location"], .detail-sections-nav a[aria-current="location"],
[data-page-nav] a[aria-current="location"] { color: var(--blue); border-bottom-color: var(--blue); }
.reading-progress, [data-reading-progress] {
  position: absolute;
  inset: auto 0 -1px;
  height: 2px;
  background: var(--blue);
  transform: scaleX(var(--reading-progress,0));
  transform-origin: left;
  pointer-events: none;
}

/* The enriched content uses open columns and fine rules, with readable text. */
.enrich-heading h2, .capability-map-heading h2, .service-matrix-heading h2,
.leadership-collaboration-heading h2 { font-size: clamp(34px,3vw,46px); line-height: 1.45; }
.enrich-heading p, .capability-map-heading p, .service-matrix-heading p,
.leadership-collaboration-heading p { font-size: 16px; line-height: 1.95; }
.enrich-grid, .service-matrix-combinations { gap: 42px; }
.enrich-column { border-top-color: #aebac6; padding-top: 28px; }
.enrich-column h3, .service-matrix-combination h3 { font-size: 27px; line-height: 1.5; }
.enrich-column p, .service-matrix-combination > p { font-size: 16px; line-height: 1.95; }
.enrich-column .micro { color: var(--blue); }
.enrich-column h4 { font-size: 14px; }
.enrich-column .enrich-open-list li { font-size: 15px; }
.enrich-split { gap: 80px; }
.enrich-split h2 { font-size: 40px; line-height: 1.45; }
.enrich-split p { font-size: 17px; line-height: 1.95; }
.enrich-open-list li { font-size: 16px; line-height: 1.95; color: var(--muted); }
.enrich-numbered-list li { font-size: 18px; }
.enrich-subheading h2 { font-size: 33px; line-height: 1.45; }
.enrich-subheading p { font-size: 15px; }
.enrich-flow h3 { font-size: 24px; line-height: 1.5; }
.enrich-flow p { font-size: 16px; line-height: 1.95; }
.enrich-step-number { color: var(--blue); font-size: 38px; }
.enrich-path, .enrich-related-questions { background: #f4f6f8; }
.enrich-preparation h2 { font-size: 34px; }
.enrich-preparation .link { font-size: 15px; }
.enrich-disclosure summary { font-size: 17px; min-height: 76px; }
.enrich-disclosure > p { font-size: 16px; line-height: 1.95; }
.service-matrix-section { background: #f5f7f9; }
.service-matrix-links a { font-size: 14px; min-height: 48px; }
.service-matrix-table-heading h2 { font-size: 33px; }
.service-matrix-table-heading p, .service-matrix-note { font-size: 14px; }
.service-matrix-table { font-size: 15px; line-height: 1.9; }
.service-matrix-table thead th { font-size: 14px; background: #eaf0f5; color: #364d62; }
.service-matrix-table tbody th { color: var(--ink); }
.service-matrix-table td { color: var(--muted); }
.service-matrix-table caption { font-size: 12px; color: var(--muted); }

/* Leadership: useful role descriptions with consistent open-row composition. */
.leadership-section { padding-top: 80px; padding-bottom: 80px; }
.leadership-profile { grid-template-columns: 250px minmax(0,1fr); gap: 52px; padding: 42px 0; }
.leadership-role { font-size: 68px; }
.leadership-identity h3 { font-size: 27px; }
.leadership-title { font-size: 14px; color: var(--muted); }
.leadership-focus { color: var(--blue); font-size: 15px; }
.leadership-copy { grid-template-columns: minmax(0,1fr) 232px; gap: 20px 38px; }
.leadership-copy > p { font-size: 16px; line-height: 2; color: var(--muted); }
.leadership-details summary { font-size: 13px; min-height: 52px; padding-left: 16px; border-color: #a7b4c1; }
.leadership-details summary:hover { background: #f1f5f8; border-color: var(--blue); }
.leadership-responsibilities h5 { font-size: 17px; line-height: 1.7; }
.leadership-responsibilities p { font-size: 15px; line-height: 1.95; }
.leadership-collaboration h4 { font-size: 14px; }
.leadership-collaboration p { font-size: 15px; line-height: 1.95; }
.leadership-collaboration-stage h3 { font-size: 28px; }
.leadership-collaboration-intro, .leadership-collaboration-stage li p { font-size: 15px; line-height: 1.95; }
.leadership-collaboration-stage h4 { font-size: 16px; }
.about-heading { padding-top: 68px; }
.about-panorama { height: 380px; }
.concept-caption { color: #697888; font-size: 11px; }
.values h3 { font-size: 24px; line-height: 1.5; }
.values p { font-size: 16px; line-height: 1.95; }

/* Contact, local brief builder and FAQ share legible form dimensions. */
.contact-main { padding-top: 156px; padding-bottom: 84px; }
.contact-grid { grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: 72px; }
.contact-copy h1 { font-size: clamp(40px,4vw,60px); line-height: 1.4; }
.contact-copy > p { font-size: 16px; line-height: 1.95; color: #b2c0ce; }
.contact-copy .email { font-size: clamp(25px,2.7vw,39px); letter-spacing: -.025em; }
.inquiry-form { padding-left: 42px; }
.form-row { grid-template-columns: 100px minmax(0,1fr); gap: 18px; margin-bottom: 22px; }
.form-row label { font-size: 14px; line-height: 1.75; }
.form-action { margin-left: 118px; }
.form-note { font-size: 13px; line-height: 1.9; }
.optional { font-size: 12px; }
.field-error { font-size: 13px; margin-top: -10px; }
.form-status { margin-left: 118px; font-size: 14px; }
.mail-preview { scroll-margin-top: 160px; }
.mail-preview h2 { font-size: 25px; }
.mail-preview pre { font-size: 15px; line-height: 1.9; }
.mail-preview .btn { font-size: 14px; }
.contact-intents a { font-size: 28px; min-height: 78px; }
.brief-intro h2 { font-size: 46px; line-height: 1.4; }
.brief-intro > div > p { font-size: 17px; line-height: 1.95; }
.brief-step h3 { font-size: 29px; }
.brief-step-description { font-size: 15px; }
.brief-field > label { font-size: 15px; }
.brief-field > label > span { font-size: 12px; }
.brief-field .field { font-size: 16px; }
.brief-progress [data-brief-step-label] { font-size: 14px; }
.brief-materials label { font-size: 15px; min-height: 62px; }
.brief-materials legend { font-size: 15px; }
.brief-aside h3 { font-size: 32px; }
.brief-aside li, .brief-aside > p { font-size: 15px; line-height: 1.95; }
.brief-aside > .link { font-size: 14px; }
.brief-status { font-size: 14px; }
.brief-result { scroll-margin-top: 160px; }
.brief-result > p, .brief-result pre { font-size: 15px; }
.brief-result-actions .btn, .brief-result-actions .link { font-size: 14px; }
.faq-search label { font-size: 15px; color: var(--muted); }
.faq-search .field { border-color: #96a5b3; }
.faq-search .field:focus { border-color: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
.faq-filters button { font-size: 14px; min-height: 46px; border-color: #9eacb9; color: #3d5063; }
.faq-filters button[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.faq-count { font-size: 13px; color: var(--muted); margin-top: 27px; }
.faq-item summary { grid-template-columns: 145px minmax(0,1fr) 44px; padding: 25px 0; min-height: 100px; }
.faq-category { font-size: 13px; color: #5d7185; }
.faq-item h2 { font-size: 23px; line-height: 1.6; }
.faq-item[open] h2, .faq-item summary:hover h2 { color: var(--blue); }
.faq-answer { padding-left: 175px; padding-bottom: 32px; }
.faq-answer p { font-size: 17px; line-height: 1.95; }
.enrich-faq-note p { font-size: 14px; }
.enrich-faq-note .link { font-size: 15px; }

/* A clear, quiet footer, with no decorative surface effects. */
.site-footer { background: #fff; color: var(--ink); padding-top: 64px; padding-bottom: 24px; border-top: 1px solid var(--line); }
.footer-top { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr); gap: 72px; padding-bottom: 48px; }
.footer-wordmark { font-size: clamp(28px,3vw,44px); letter-spacing: .08em; font-weight: 500; }
.footer-brand-cn { font-size: 16px; letter-spacing: .5em; margin-top: 12px; }
.footer-top p { font-size: 14px; line-height: 1.9; }
.footer-nav h2 { color: #5b6b7b; font-size: 12px; letter-spacing: .08em; margin-bottom: 20px; }
.footer-nav a { min-height: 44px; font-size: 15px; line-height: 1.6; }
.footer-nav a:hover { color: var(--blue); }
.footer-bottom { color: #657383; font-size: 12px; padding-top: 18px; }
.footer-bottom a { min-height: 44px; }
.footer-bottom a:hover { color: var(--blue); }

@media (max-width: 1440px) {
  .main-nav { gap: 13px; }
  .header-inner { gap: 20px; }
  .wordmark { font-size: 16px; }
  .brand-cn { display: none; }
  .header-actions { gap: 8px; }
  .header-actions .header-cta { padding-left: 14px; padding-right: 14px; gap: 16px; }
  .mega-inner { gap: 44px; }
  .mega-links { column-gap: 26px; }
  .leadership-profile { grid-template-columns: 225px minmax(0,1fr); gap: 38px; }
  .leadership-copy { grid-template-columns: minmax(0,1fr) 216px; gap: 20px 30px; }
  .contact-grid { gap: 45px; }
  .inquiry-form { padding-left: 30px; }
}

@media (max-width: 1180px) {
  .main-nav { display: none; }
  .menu-toggle { display: block; }
  .header-actions { gap: 14px; }
  .header-actions .header-cta { display: inline-flex; }
  .mega-panel { display: none; }
  .wordmark { font-size: 18px; }
  .split-heading { gap: 45px; }
  .enrich-split, .enrich-preparation { gap: 52px; }
  .leadership-copy { grid-template-columns: 1fr; }
  .leadership-details, .leadership-details[open] { grid-column: 1; grid-row: auto; margin-top: 8px; }
  .leadership-details summary, .leadership-details[open] summary { width: fit-content; min-width: 232px; margin-left: 0; }
  .leadership-responsibilities { grid-template-columns: 1fr; gap: 22px; }
  .leadership-responsibilities li { border-top: 1px solid var(--line); padding-top: 18px; }
  .brief-intro { gap: 48px; }
  .brief-workspace { gap: 42px; }
  .enrich-grid, .service-matrix-combinations { gap: 30px; }
  .footer-top { gap: 42px; }
}

@media (max-width: 900px) {
  .section { padding-top: 76px; padding-bottom: 76px; }
  .section-small { padding-top: 52px; padding-bottom: 52px; }
  .page-heading { padding-top: 52px; padding-bottom: 45px; }
  .page-heading h1 { font-size: 46px; }
  .split-heading { grid-template-columns: 1fr; gap: 26px; }
  .split-heading p { max-width: 720px; }
  .section-intro { align-items: start; gap: 30px; }
  .section-intro p { max-width: 350px; }
  .enrich-split, .enrich-preparation { grid-template-columns: 1fr; gap: 28px; }
  .enrich-split h2 { font-size: 36px; }
  .enrich-grid, .service-matrix-combinations { grid-template-columns: 1fr; gap: 34px; }
  .enrich-column p { max-width: 720px; }
  .enrich-flow { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px; }
  .enrich-flow-three { grid-template-columns: 1fr; }
  .enrich-flow-three > li { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 18px; }
  .enrich-flow-three .enrich-step-number { margin-bottom: 0; }
  .enrich-subheading { display: block; }
  .enrich-subheading p { margin-top: 12px; }
  html .service-entry summary, html .service-entry[open] summary { grid-template-columns: 58px minmax(0,1fr) 44px; gap: 18px; }
  html .service-entry summary h2 { font-size: 25px; }
  html .service-entry[open] .service-content, html .service-entry .service-content { padding: 0 0 34px 76px; gap: 32px; }
  .service-image { height: 210px; }
  .service-brief { grid-template-columns: 1fr; gap: 24px; }
  .detail-hero { gap: 34px; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); }
  .detail-hero h1 { font-size: 44px; }
  .detail-image { height: 300px; }
  .detail-body { gap: 40px; }
  .detail-body h2 { font-size: 31px; }
  .question-band { gap: 30px; padding: 32px; }
  .leadership-profile { grid-template-columns: 205px minmax(0,1fr); gap: 30px; }
  .leadership-identity { padding-right: 24px; }
  .leadership-role { font-size: 60px; }
  .leadership-collaboration-stages { grid-template-columns: 1fr; gap: 34px; }
  .leadership-collaboration-stage ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
  .about-panorama { height: 300px; }
  .values { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-grid { grid-template-columns: 1fr; gap: 54px; }
  .contact-copy h1 { font-size: 50px; }
  .contact-copy .email { font-size: 34px; }
  .contact-copy > p { max-width: 680px; }
  .inquiry-form { border-left: 0; padding-left: 0; max-width: 720px; }
  .form-row { grid-template-columns: 110px minmax(0,1fr); }
  .form-action, .form-status { margin-left: 128px; }
  .brief-intro { grid-template-columns: 1fr; gap: 25px; }
  .brief-intro h2 { font-size: 42px; }
  .brief-workspace { grid-template-columns: 1fr; gap: 48px; }
  .brief-aside { padding-left: 0; padding-top: 28px; border-left: 0; border-top: 1px solid #334d63; }
  .brief-aside h3 { font-size: 28px; }
  .brief-step { min-height: 0; }
  .faq-item summary { grid-template-columns: 110px minmax(0,1fr) 44px; gap: 20px; }
  .faq-item h2 { font-size: 21px; }
  .faq-answer { padding-left: 130px; padding-right: 30px; }
  .enrich-faq-note { display: block; }
  .enrich-faq-note .link { margin-top: 20px; }
  .footer-top { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 40px; }
  .footer-top > :last-child { grid-column: 1 / -1; }
  .footer-top > :last-child a { display: inline-flex; margin-right: 28px; }
  .footer-bottom { flex-wrap: wrap; gap: 10px 25px; }
}

@media (max-width: 640px) {
  :root { --gutter: 23px; }
  html { scroll-padding-top: 150px; }
  body { font-size: 16px; }
  .site-header, .home .site-header { height: 84px; }
  .header-inner { gap: 12px; }
  .brand { gap: 8px; }
  .brand-icon { width: 42px; height: 42px; }
  .wordmark { font-size: 13px; letter-spacing: .1em; }
  .brand-cn { display: none; }
  .header-actions { gap: 7px; }
  .header-actions .header-cta { display: none; }
  .mobile-menu { top: 84px; }
  .mobile-menu a { font-size: 23px; }
  .section { padding-top: 60px; padding-bottom: 60px; }
  .section-small { padding-top: 44px; padding-bottom: 44px; }
  .page-main { padding-top: 84px; }
  .page-heading { padding-top: 40px; padding-bottom: 36px; }
  .page-heading h1 { font-size: clamp(34px,9vw,43px); line-height: 1.4; }
  .split-heading { gap: 24px; }
  .split-heading p, .page-heading > .lead { font-size: 16px; line-height: 1.9; }
  .section-intro { display: block; margin-bottom: 34px; }
  .section-intro h2, .enrich-heading h2, .capability-map-heading h2,
  .service-matrix-heading h2, .leadership-collaboration-heading h2 { font-size: 32px; line-height: 1.45; }
  .section-intro p { max-width: none; margin-top: 20px; font-size: 16px; }
  .micro { font-size: 11px; }
  .btn { min-height: 50px; font-size: 14px; padding: 12px 22px; }
  .link { font-size: 15px; }
  .btn-group { gap: 20px; margin-top: 28px; }
  html .service-entry summary, html .service-entry[open] summary {
    grid-template-columns: 30px minmax(0,1fr) 44px;
    gap: 12px;
    padding: 20px 0;
    min-height: 90px;
  }
  html .service-entry summary h2 { font-size: 20px; line-height: 1.55; }
  html .service-entry summary .num { font-size: 20px; }
  html .service-entry[open] .service-content, html .service-entry .service-content { grid-template-columns: 1fr; gap: 24px; padding: 0 0 30px 42px; }
  .service-content p, .service-content ul { font-size: 15px; line-height: 1.95; }
  .service-content .image-wrap { display: none; }
  .service-content .link { font-size: 14px; }
  .service-brief h2 { font-size: 30px; }
  .service-brief p { font-size: 16px; }
  .business-scope summary { font-size: 16px; gap: 18px; }
  .business-scope p { font-size: 14px; line-height: 2; }
  .breadcrumb { font-size: 12px; gap: 10px; padding-top: 20px; }
  .detail-hero { grid-template-columns: 1fr; gap: 30px; padding-top: 28px; padding-bottom: 40px; }
  .detail-hero h1 { font-size: 36px; line-height: 1.4; margin: 14px 0 22px; }
  .detail-hero p { font-size: 16px; }
  .detail-hero .detail-tagline { font-size: 21px; }
  .detail-hero .english { font-size: 11px; letter-spacing: .09em; }
  .detail-image { height: 230px; }
  .detail-body { grid-template-columns: 1fr; gap: 25px; padding-top: 40px; padding-bottom: 44px; }
  .detail-body h2 { font-size: 29px; }
  .detail-body p { font-size: 16px; }
  .deliverables { grid-template-columns: 1fr; }
  .deliverables li { font-size: 15px; }
  .question-band { grid-template-columns: 1fr; gap: 20px; padding: 26px; }
  .question-band h2 { font-size: 24px; }
  .question-band p { font-size: 16px; }
  .section-nav, .detail-sections-nav, [data-page-nav] { top: 84px; gap: 22px; padding-top: 3px; padding-bottom: 3px; }
  .section-nav a, .detail-sections-nav a, [data-page-nav] a { font-size: 13px; min-height: 48px; }
  .process h2 { font-size: 28px; }
  .process-inner { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 24px; }
  .process-step h3 { font-size: 20px; }
  .process-step p { font-size: 15px; }
  .cta-band { padding: 50px 0; }
  .cta-band h2 { font-size: 32px; }
  .cta-band p { font-size: 16px; }
  .enrich-split h2 { font-size: 32px; }
  .enrich-split p, .enrich-column p { font-size: 16px; }
  .enrich-column h3, .service-matrix-combination h3 { font-size: 25px; }
  .enrich-subheading { margin-top: 44px; }
  .enrich-subheading h2 { font-size: 29px; }
  .enrich-open-list li { font-size: 15px; }
  .enrich-numbered-list li { font-size: 16px; gap: 20px; }
  .enrich-flow { grid-template-columns: 1fr; gap: 30px; }
  .enrich-flow h3 { font-size: 23px; }
  .enrich-flow p { font-size: 16px; }
  .enrich-preparation { padding-top: 34px; margin-top: 40px; }
  .enrich-preparation h2 { font-size: 30px; }
  .enrich-disclosure summary { font-size: 16px; gap: 16px; }
  .enrich-disclosure > p { font-size: 16px; }
  .service-matrix-table-heading { margin-top: 48px; }
  .service-matrix-table-heading h2 { font-size: 28px; }
  .service-matrix-table { font-size: 14px; min-width: 900px; }
  .service-matrix-table th, .service-matrix-table td { padding: 18px; }
  .leadership-section { padding-top: 58px; padding-bottom: 58px; }
  .leadership-profile { grid-template-columns: 1fr; gap: 25px; padding: 32px 0; }
  .leadership-identity { border-right: 0; padding-right: 0; display: grid; grid-template-columns: 104px minmax(0,1fr); gap: 0 18px; }
  .leadership-role { grid-column: 1; grid-row: 1 / 4; font-size: 53px; margin-bottom: 0; }
  .leadership-identity h3 { grid-column: 2; font-size: 25px; }
  .leadership-title { grid-column: 2; font-size: 12px; }
  .leadership-focus { grid-column: 2; font-size: 14px; margin-top: 10px; }
  .leadership-copy { padding-top: 0; gap: 18px; }
  .leadership-copy > p { font-size: 16px; line-height: 1.95; }
  .leadership-details summary { min-width: 232px; font-size: 13px; }
  .leadership-responsibilities p { font-size: 15px; }
  .leadership-collaboration { grid-template-columns: 1fr; gap: 14px; }
  .leadership-collaboration p { font-size: 15px; }
  .leadership-collaboration-stage h3 { font-size: 25px; }
  .leadership-collaboration-stage ul { grid-template-columns: 1fr; gap: 0; }
  .leadership-collaboration-intro, .leadership-collaboration-stage li p { font-size: 15px; }
  .about-heading { padding-top: 40px; }
  .about-panorama { height: 230px; }
  .concept-caption { font-size: 10px; }
  .values { gap: 30px 24px; }
  .values h3 { font-size: 21px; }
  .values p { font-size: 15px; }
  .contact-main { padding-top: 130px; padding-bottom: 54px; }
  .contact-copy h1 { font-size: 37px; }
  .contact-copy .email { font-size: clamp(23px,6.6vw,28px); }
  .contact-copy > p { font-size: 16px; }
  .contact-copy .btn { font-size: 14px; }
  .form-row { grid-template-columns: 1fr; gap: 8px; margin-bottom: 21px; }
  .form-row label { padding-top: 0; font-size: 14px; }
  .form-action, .form-status { margin-left: 0; }
  .field { font-size: 16px; min-height: 52px; }
  .form-note { font-size: 13px; }
  .field-error { grid-column: 1; margin-top: -1px; font-size: 13px; }
  .mail-preview { padding: 24px 18px; }
  .mail-preview h2 { font-size: 22px; }
  .mail-preview pre { font-size: 14px; }
  .contact-intents a { font-size: 25px; padding-top: 23px; padding-bottom: 23px; }
  .brief-intro h2 { font-size: 34px; }
  .brief-intro > div > p { font-size: 16px; }
  .brief-progress { gap: 18px; flex-wrap: wrap; }
  .brief-progress .micro { font-size: 10px; }
  .brief-progress [data-brief-step-label] { font-size: 13px; }
  .brief-step h3 { font-size: 26px; }
  .brief-step-description { font-size: 15px; }
  .brief-fields-grid { grid-template-columns: 1fr; gap: 20px; }
  .brief-field > label { font-size: 14px; }
  .brief-materials { grid-template-columns: 1fr; }
  .brief-materials label { font-size: 15px; }
  .brief-actions { justify-content: stretch; gap: 12px; }
  .brief-actions .btn { flex: 1; min-width: 0; }
  .brief-actions .btn-ice { min-width: 0; }
  .brief-result { padding: 26px 18px; }
  .brief-result h3 { font-size: 27px; }
  .brief-result pre { padding: 18px; font-size: 14px; }
  .brief-result-actions { gap: 12px; }
  .brief-result-actions .btn { flex: 1 1 140px; padding-left: 14px; padding-right: 14px; }
  .brief-result-actions .link { flex-basis: 100%; }
  .faq-toolbar { padding-top: 24px; gap: 24px; }
  .faq-filters { gap: 8px; }
  .faq-filters button { padding: 10px 12px; font-size: 13px; }
  .faq-item summary { grid-template-columns: minmax(0,1fr) 44px; gap: 8px 16px; padding: 22px 0; }
  .faq-category { grid-column: 1; grid-row: 1; font-size: 12px; }
  .faq-item h2 { grid-column: 1; grid-row: 2; font-size: 20px; }
  .faq-toggle { grid-column: 2; grid-row: 1 / 3; }
  .faq-answer { padding: 0 0 26px; }
  .faq-answer p { font-size: 16px; line-height: 1.95; }
  .enrich-faq-note p { font-size: 14px; }
  .prose { padding-top: 44px; padding-bottom: 65px; }
  .prose h1 { font-size: 36px; }
  .prose h2 { font-size: 25px; }
  .prose p, .prose li { font-size: 16px; line-height: 1.95; }
  .site-footer { padding-top: 46px; }
  .footer-top { grid-template-columns: 1fr; gap: 35px; padding-bottom: 35px; }
  .footer-top > :last-child { grid-column: auto; }
  .footer-top > :last-child a { display: flex; margin-right: 0; }
  .footer-wordmark { font-size: 31px; }
  .footer-brand-cn { font-size: 15px; }
  .footer-top p { font-size: 14px; }
  .footer-nav a { font-size: 15px; }
  .footer-nav h2 { margin-bottom: 12px; }
  .footer-bottom { font-size: 11px; gap: 6px; }
  .footer-bottom > span:last-child { display: flex; flex-wrap: wrap; gap: 0 20px; }
  .footer-bottom a { margin: 0; }
  .back-top-control { right: 18px; bottom: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .mega-toggle svg { transition: none; }
}

@media (forced-colors: active) {
  .mega-toggle, .menu-toggle, .icon-button, .btn { border: 1px solid ButtonText; }
  .main-nav .nav-overview[aria-current]::after { background: LinkText; }
  .reading-progress, [data-reading-progress] { background: Highlight; }
}

/* The enterprise editorial system: open layouts, ruled links, silver-blue art. */
html{scroll-padding-top:0}
.wordmark{font-size:20px;letter-spacing:.06em;font-weight:600}
.brand-cn{font-size:15px;color:var(--ink)}
.main-nav .nav-overview{font-size:16px}
@media(max-width:1440px){.wordmark{font-size:17px}.main-nav .nav-overview{font-size:15px}}
@media(max-width:1180px){.wordmark{font-size:18px}}
@media(max-width:640px){.wordmark{font-size:14px;letter-spacing:.08em}}
.ent-section{padding:100px 0;background:#fff}
.ent-section h2{font-size:clamp(34px,3.4vw,52px);line-height:1.35;letter-spacing:-.045em;font-weight:500}
.ent-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:56px;margin-bottom:48px}
.ent-section-intro{font-size:17px;line-height:1.9;max-width:660px;margin-top:23px}
.ent-section-head>.ent-link{flex-shrink:0;margin-bottom:5px}
.ent-arrow{display:block;flex:0 0 24px;width:24px;height:24px;transition:transform .18s}
.ent-link{display:inline-flex;align-items:center;gap:20px;color:var(--blue);font-size:16px;font-weight:500;line-height:1.6;min-height:44px;text-decoration:none}
a:hover .ent-arrow{transform:translateX(4px)}
.ent-button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:56px;padding:15px 26px;background:var(--ink);color:#fff;font-size:16px;font-weight:500;line-height:1.5;border:1px solid transparent}
.ent-button:hover{background:#154567}
.ent-link:focus-visible,.ent-button:focus-visible,.ent-capability-tabs>a:focus-visible,.ent-insight-card:focus-visible,.ent-team-row:focus-visible,.ent-solution-feature:focus-visible,.ent-solution-row:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.ent-category{display:block;font-size:14px;font-weight:400;line-height:1.7;color:var(--blue)}
.ent-hero{position:relative;isolation:isolate;margin-top:84px;min-height:600px;height:calc(100svh - 320px);max-height:780px;display:flex;align-items:center;overflow:hidden;background:#07101b;color:#fff}
.ent-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;pointer-events:none}
.ent-hero>.container{position:relative;z-index:1;width:100%}
.ent-hero-copy{max-width:850px;padding:74px 0 90px}
.ent-hero h1{font-size:clamp(44px,4.6vw,78px);font-weight:500;line-height:1.35;letter-spacing:-.045em;margin:0}
.ent-hero h1 span{color:#9bdcfa}
.ent-hero p{font-size:18px;line-height:1.9;color:#c2d0dc;max-width:600px;margin:28px 0 34px}
.ent-actions{display:flex;gap:36px;align-items:center}
.ent-hero .ent-button{background:#fff;color:var(--ink)}
.ent-hero .ent-button:hover{background:#dff3ff}
.ent-hero .ent-link{color:#fff;border-bottom:1px solid #b7c8d6;padding-bottom:8px}
.ent-hero-rail{background:#fff;border-bottom:1px solid var(--line)}
.ent-hero-rail nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.ent-hero-rail a{display:flex;gap:24px;align-items:center;padding:30px 36px;min-height:185px;border-right:1px solid var(--line)}
.ent-hero-rail a:first-child{padding-left:0}.ent-hero-rail a:last-child{border-right:0;padding-right:0}
.ent-hero-rail .ent-arrow{margin-left:auto;color:var(--blue)}
.ent-rail-number{font-size:16px;color:#7d8d9c;font-weight:400}
.ent-rail-copy strong{display:block;font-size:25px;font-weight:500;line-height:1.5}
.ent-rail-copy small{display:block;font-size:14px;color:var(--muted);margin-top:12px}
.ent-capabilities .ent-section-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:60px;width:100%;align-items:start}
.ent-capabilities .ent-section-intro{margin-top:5px;max-width:470px}
.ent-capability-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px}
.ent-capability-tabs{display:flex;flex-direction:column;align-items:stretch}
.ent-capability-tabs>a{display:flex;gap:18px;align-items:center;padding:23px 20px;border-bottom:1px solid var(--line);font-size:18px;font-weight:500;min-height:88px}
.ent-tab-number{font-size:13px;font-weight:400;color:#718194}
.ent-capability-tabs .ent-arrow{width:20px;height:20px;flex-basis:20px;margin-left:auto}
.ent-capability-tabs>a[aria-selected=true]{background:var(--blue);color:#fff;border-color:var(--blue)}
.ent-capability-tabs>a[aria-selected=true] .ent-tab-number{color:#c9e8fc}
.ent-capability-panel{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;min-width:0}
.ent-capability-panel+.ent-capability-panel{margin-top:50px}
.ent-capability-panel[hidden]{display:none}
.ent-capability-layout:has([role=tablist]) .ent-capability-panel{margin-top:0}
.detail-sections-nav>.container{display:flex;align-items:center;gap:28px;overflow-x:auto;width:100%}
.ent-capability-image{min-height:475px;overflow:hidden;background:#e9eff4}
.ent-capability-image img{width:100%;height:100%;object-fit:cover}
.ent-capability-copy h3{font-size:32px;font-weight:500;line-height:1.45;margin-bottom:20px}
.ent-capability-summary{font-size:16px;line-height:1.9}
.ent-service-links{margin:25px 0 18px}
.ent-service-link{display:flex;gap:20px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0}
.ent-service-link h4{font-size:18px;font-weight:500;line-height:1.6;letter-spacing:-.02em}
.ent-service-link p{font-size:14px;line-height:1.85;margin-top:5px}
.ent-service-link .ent-arrow{color:var(--blue)}
.ent-solutions{border-top:1px solid var(--line)}
.ent-solutions-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px}
.ent-solution-feature-image{height:300px;overflow:hidden;background:#e9eff4}
.ent-solution-feature-image img{width:100%;height:100%;object-fit:cover}
.ent-solution-feature-copy{padding-top:22px}
.ent-solution-feature h3{font-size:29px;line-height:1.5;font-weight:500;margin:10px 0 12px}
.ent-solution-feature p{font-size:16px;line-height:1.9;margin-bottom:15px}
.ent-solution-row{display:grid;grid-template-columns:32px minmax(0,1fr) 24px;gap:22px;align-items:start;border-top:1px solid var(--line);padding:33px 0}
.ent-solution-row:last-child{border-bottom:1px solid var(--line)}
.ent-solution-number{font-size:24px;font-weight:400;color:#93a0ad;line-height:1.5}
.ent-solution-row h3{font-size:23px;line-height:1.5;font-weight:500;margin-bottom:10px}
.ent-solution-row p{font-size:15px;line-height:1.9}
.ent-solution-row .ent-arrow{color:var(--blue);margin-top:7px}
.ent-delivery{background:#07101b;color:#fff;position:relative}
.ent-delivery .ent-section-head{align-items:flex-end}
.ent-delivery .ent-section-head>.ent-section-intro{max-width:400px;font-size:18px;color:#b9c9d8;margin-bottom:5px}
.ent-delivery-grid{list-style:none;padding:0;margin:60px 0 32px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #586470}
.ent-delivery-step{padding:28px 32px 0;border-right:1px solid #46525f;margin-top:30px}
.ent-delivery-step:first-child{padding-left:0}.ent-delivery-step:last-child{border-right:0;padding-right:0}
.ent-step-number{font-size:19px;line-height:1.4;color:#7dcdf5;display:block}
.ent-delivery-step h3{font-size:27px;line-height:1.5;margin:22px 0 20px;font-weight:500}
.ent-delivery-step ul{list-style:none;padding:0;color:#b9c9d8;font-size:17px;line-height:2}
.ent-delivery .ent-link{color:#fff;border-bottom:1px solid #758b9c;padding-bottom:10px}
.ent-delivery-action{margin-top:40px}
.ent-insights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.ent-insight-card{display:block}
.ent-insight-image{height:235px;overflow:hidden;background:#e9eff4}
.ent-insight-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ent-insight-card:nth-child(3) img{object-position:right center}
.ent-insight-card:hover img{transform:scale(1.025)}
.ent-insight-copy{padding-top:23px}
.ent-insight-card h3{font-size:25px;font-weight:500;line-height:1.5;margin:12px 0 14px}
.ent-insight-card p{font-size:16px;line-height:1.9;margin-bottom:18px}
.ent-company{border-top:1px solid var(--line)}
.ent-company-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:100px;align-items:start}
.ent-company-copy p{font-size:17px;line-height:1.9;max-width:540px;margin:28px 0 25px}
.ent-team-row{display:grid;grid-template-columns:52px minmax(0,1fr) 24px;gap:22px;padding:24px 0;border-top:1px solid var(--line);align-items:start}
.ent-team-row:last-child{border-bottom:1px solid var(--line)}
.ent-team-role{font-size:16px;color:var(--blue);padding-top:3px}
.ent-team-row h3{display:inline;font-size:23px;font-weight:500;line-height:1.5}
.ent-team-title{font-size:14px;color:var(--muted);margin-left:20px}
.ent-team-row p{font-size:14px;line-height:1.85;margin-top:8px}
.ent-team-row .ent-arrow{color:var(--blue);margin-top:5px}
.ent-contact{background:#07101b;color:#fff;padding:75px 0 80px}
.ent-contact h2{font-size:clamp(34px,3.5vw,54px)}
.ent-contact p{font-size:18px;margin:22px 0 30px;color:#bacbd9}
.ent-contact-actions{display:flex;gap:56px;align-items:center}
.ent-contact .ent-button{background:#0c6aa6;color:#fff}
.ent-contact .ent-button:hover{background:#1786c3}
.ent-contact-email{font-size:clamp(24px,3.5vw,48px);letter-spacing:-.03em;line-height:1.4;border-left:1px solid #6e8293;padding-left:56px}
.ent-insights-hero{padding:72px 0 62px;border-bottom:1px solid var(--line)}
.ent-insights-hero h1{font-size:clamp(42px,5vw,70px);line-height:1.3;margin:18px 0 26px}
.ent-insights-hero p{font-size:19px;max-width:820px;line-height:1.9}
.ent-insights-hero .ent-editorial-note{font-size:14px;margin-top:22px}
.ent-insights-index{padding-top:65px}
.ent-working-checklist{background:#f3f6f9;border-top:1px solid var(--line)}
.ent-checklist-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.ent-checklist-grid>li{border-top:1px solid #bcc9d5;padding-top:28px}
.ent-checklist-grid .ent-step-number{color:var(--blue)}
.ent-checklist-grid h3{font-size:24px;line-height:1.5;margin:19px 0 15px}
.ent-checklist-grid p{font-size:16px;line-height:1.9}
.ent-checklist-action{margin-top:42px}
.ent-article-header{padding:48px 0 64px;background:#fff}
.ent-article-breadcrumb{display:flex;gap:14px;color:var(--muted);font-size:14px;margin-bottom:42px}
.ent-article-breadcrumb a:hover{color:var(--blue)}
.ent-article-header h1{max-width:1100px;font-size:clamp(42px,4.2vw,64px);line-height:1.4;margin:20px 0 30px}
.ent-article-intro{font-size:20px;line-height:1.95;max-width:1000px}
.ent-article-nav{background:#fff}
.ent-article-nav ol{display:flex;gap:28px;list-style:none;padding:0;margin:0;align-items:stretch}
.ent-article-nav li{flex:1;min-width:0}
.ent-article-nav a{font-size:14px;line-height:1.6;gap:12px;height:100%;padding:16px 0;white-space:normal}
.ent-article-nav a span{color:#8c9aaa;font-size:12px}
.ent-article-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.8fr);gap:100px;padding-top:68px;padding-bottom:90px}
.ent-article-aside{position:relative}
.ent-article-takeaway{position:sticky;top:180px;border-top:2px solid var(--blue);padding-top:23px}
.ent-article-takeaway h2{font-size:23px;line-height:1.5;margin:12px 0 18px}
.ent-article-takeaway p{font-size:15px;line-height:1.9}
.ent-article-section{padding-bottom:55px;border-bottom:1px solid var(--line);margin-bottom:50px}
.ent-article-section-number{color:var(--blue);font-size:15px}
.ent-article-section h2{font-size:32px;line-height:1.5;margin:16px 0 25px}
.ent-article-section p{font-size:18px;line-height:2;margin-bottom:22px;color:#344658}
.ent-article-section ul{padding:22px 25px 22px 48px;background:#f3f6f9;color:#3f5466;font-size:16px;line-height:2;margin-top:25px}
.ent-article-related>h2{font-size:29px;margin-bottom:25px}
.ent-related-service{display:flex;gap:40px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:25px 0}
.ent-related-service h3{font-size:22px;line-height:1.5;margin-bottom:9px}
.ent-related-service p{font-size:15px;line-height:1.9}
.ent-related-service .ent-arrow{color:var(--blue)}
.ent-article-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;border-top:1px solid var(--line);margin-top:40px;padding-top:30px}
.ent-article-pagination a{display:grid;grid-template-columns:1fr 24px;gap:12px;align-items:center}
.ent-article-pagination a>span{grid-column:1/-1;color:var(--muted);font-size:13px}
.ent-article-pagination strong{font-size:18px;font-weight:500;line-height:1.7}
.ent-article-pagination .ent-arrow{color:var(--blue)}
.ent-article-next:only-child{grid-column:2}
.ent-article-end{display:flex;gap:30px;justify-content:space-between;margin-top:45px}
@media(min-width:1700px){.ent-hero-copy{max-width:950px}.ent-hero p{font-size:20px;max-width:640px}}
@media(max-width:1280px){.ent-section{padding:80px 0}.ent-capability-layout{grid-template-columns:190px minmax(0,1fr);gap:25px}.ent-capability-panel{gap:28px}.ent-capability-copy h3{font-size:28px}.ent-capability-tabs>a{padding:22px 16px;font-size:17px;gap:12px}.ent-capability-image{min-height:490px}.ent-solutions-layout{gap:40px}.ent-solution-row{gap:16px;padding:26px 0}.ent-solution-row h3{font-size:21px}.ent-delivery-step{padding-left:25px;padding-right:25px}.ent-company-layout{gap:60px}.ent-team-title{display:block;margin:5px 0 0}.ent-insight-card h3{font-size:23px}.ent-insight-image{height:210px}.ent-article-layout{gap:60px}.ent-article-nav ol{gap:22px}.ent-article-nav a{font-size:13px}}
@media(max-width:1000px){.ent-hero{height:auto;min-height:620px}.ent-hero h1{font-size:54px}.ent-hero p{max-width:520px;font-size:17px}.ent-capabilities .ent-section-heading{grid-template-columns:1fr;gap:0}.ent-capabilities .ent-section-intro{margin-top:22px;max-width:650px}.ent-capability-layout{grid-template-columns:165px minmax(0,1fr)}.ent-capability-panel{grid-template-columns:1fr}.ent-capability-image{min-height:0;height:260px}.ent-capability-copy h3{font-size:30px}.ent-solutions-layout{grid-template-columns:1fr 1fr;gap:30px}.ent-solution-feature-image{height:270px}.ent-solution-feature h3{font-size:26px}.ent-solution-row{grid-template-columns:22px minmax(0,1fr) 20px;gap:12px;padding:24px 0}.ent-solution-row h3{font-size:20px}.ent-solution-row p{font-size:14px}.ent-solution-row .ent-arrow{width:20px;height:20px;flex-basis:20px}.ent-solution-number{font-size:18px}.ent-delivery .ent-section-head{display:block}.ent-delivery .ent-section-head>.ent-section-intro{max-width:650px;margin-top:25px}.ent-delivery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ent-delivery-step{border-right:0;padding:0!important}.ent-insights-grid{gap:25px}.ent-insight-image{height:180px}.ent-insight-card h3{font-size:21px}.ent-insight-card p{font-size:15px}.ent-company-layout{grid-template-columns:1fr 1fr;gap:45px}.ent-contact-actions{gap:32px}.ent-contact-email{padding-left:32px;font-size:32px}.ent-article-layout{grid-template-columns:1fr;gap:40px}.ent-article-takeaway{position:static;max-width:800px}.ent-article-takeaway p{font-size:16px}.ent-article-nav ol{min-width:790px}.ent-article-nav>.container{overflow:auto}.ent-checklist-grid{gap:25px}}
@media(max-width:760px){.ent-section{padding:65px 0}.ent-section h2{font-size:34px;line-height:1.45}.ent-section-head{display:block;margin-bottom:32px}.ent-section-head>.ent-link{margin-top:20px}.ent-section-intro{font-size:16px;margin-top:20px}.ent-hero{height:auto;min-height:670px;align-items:flex-start}.ent-hero-art{object-position:63% center;opacity:.5}.ent-hero-copy{padding:70px 0 130px}.ent-hero h1{font-size:clamp(32px,7vw,52px);line-height:1.5}.ent-hero p{font-size:16px;max-width:540px;margin:26px 0 28px}.ent-actions{align-items:flex-start;gap:20px;flex-direction:column}.ent-button{font-size:15px;min-height:52px;padding:13px 22px;gap:30px}.ent-link{font-size:15px;gap:15px}.ent-hero-rail nav{display:block}.ent-hero-rail a{padding:20px 0;min-height:94px;border-right:0;border-bottom:1px solid var(--line)}.ent-hero-rail a:last-child{border-bottom:0}.ent-rail-copy strong{font-size:20px}.ent-rail-copy small{font-size:13px}.ent-capability-layout{display:block}.ent-capability-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:28px}.ent-capability-tabs>a{font-size:15px;min-height:68px;padding:12px 9px;justify-content:center;gap:8px;text-align:center;line-height:1.5;border-top:1px solid var(--line)}.ent-capability-tabs .ent-arrow,.ent-tab-number{display:none}.ent-capability-panel{gap:28px}.ent-capability-image{height:260px}.ent-capability-copy h3{font-size:28px}.ent-capability-summary{font-size:16px}.ent-service-link{padding:20px 0}.ent-service-link h4{font-size:19px}.ent-service-link p{font-size:14px}.ent-solutions-layout{grid-template-columns:1fr;gap:35px}.ent-solution-feature-image{height:240px}.ent-solution-feature h3{font-size:26px}.ent-solution-row{grid-template-columns:27px minmax(0,1fr) 24px;gap:15px;padding:25px 0}.ent-solution-row h3{font-size:22px}.ent-solution-row p{font-size:15px}.ent-solution-number{font-size:21px}.ent-delivery-grid{margin-top:36px;gap:28px 20px}.ent-delivery-step h3{font-size:23px;margin:14px 0 14px}.ent-delivery-step ul{font-size:15px;line-height:2}.ent-delivery-step{margin-top:18px}.ent-delivery-action{margin-top:32px}.ent-delivery .ent-section-head>.ent-section-intro{font-size:16px}.ent-insights-grid{grid-template-columns:1fr;gap:40px}.ent-insight-image{height:240px}.ent-insight-card h3{font-size:25px}.ent-insight-card p{font-size:16px}.ent-company-layout{grid-template-columns:1fr;gap:35px}.ent-company-copy p{font-size:16px;margin-top:24px}.ent-team-row{grid-template-columns:45px minmax(0,1fr) 24px;gap:18px}.ent-team-row h3{font-size:24px}.ent-team-title{display:inline;margin-left:16px}.ent-team-row p{font-size:14px}.ent-contact{padding:60px 0}.ent-contact h2{font-size:34px}.ent-contact p{font-size:16px}.ent-contact-actions{display:block}.ent-contact-email{display:block;border-left:0;padding:25px 0 0;font-size:clamp(24px,7vw,38px);overflow-wrap:anywhere}.ent-insights-hero{padding:48px 0 42px}.ent-insights-hero h1{font-size:46px}.ent-insights-hero p{font-size:17px}.ent-insights-hero .ent-editorial-note{font-size:13px}.ent-insights-index{padding-top:40px}.ent-checklist-grid{grid-template-columns:1fr;gap:32px}.ent-checklist-grid h3{font-size:24px;margin-top:14px}.ent-checklist-grid .ent-step-number{font-size:18px}.ent-article-header{padding:28px 0 40px}.ent-article-breadcrumb{margin-bottom:28px;font-size:13px}.ent-article-header h1{font-size:36px;margin:17px 0 23px;line-height:1.5}.ent-article-intro{font-size:17px;line-height:1.95}.ent-article-nav a{font-size:13px;padding:15px 0}.ent-article-layout{padding-top:40px;padding-bottom:60px;gap:38px}.ent-article-takeaway h2{font-size:23px}.ent-article-section h2{font-size:28px;margin:14px 0 23px}.ent-article-section p{font-size:17px;line-height:1.95}.ent-article-section ul{font-size:15px;padding:19px 20px 19px 40px}.ent-article-section{padding-bottom:35px;margin-bottom:35px}.ent-article-pagination{grid-template-columns:1fr;gap:28px}.ent-article-next:only-child{grid-column:auto}.ent-article-end{flex-direction:column;gap:17px}.ent-related-service h3{font-size:21px}.ent-related-service p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.ent-arrow,.ent-insight-image img{transition:none}}
@media(max-width:760px){.ent-hero-copy>p br{display:none}}
