@font-face{font-family:Plex;src:url('/assets/fonts/plex-regular.ttf')}@font-face{font-family:Plex;src:url('/assets/fonts/plex-semibold.ttf');font-weight:600}@font-face{font-family:Caslon;src:url('/assets/fonts/caslon-display.ttf')}
:root{color-scheme:dark;--bg:#101e31;--ink:#f7f8fb;--muted:#bdcbd9;--blue:#c4e2f5;--line:#ffffff26}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Plex,'PingFang TC','Microsoft JhengHei',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:absolute;top:-100px;left:20px;background:var(--ink);color:var(--bg);padding:12px;z-index:5}.skip:focus{top:10px}.site-header,main,.footer-inner{max-width:1280px;margin:auto;padding-inline:56px}.site-header{display:flex;align-items:center;gap:32px;height:114px}.brand img{display:block;width:110px;height:56px}nav{display:flex;gap:36px;margin-left:auto}nav a{min-height:44px;display:flex;align-items:center;font-size:15px;color:var(--muted)}nav a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}h1,h2,p,figure{margin:0}h1{font-family:Caslon,Georgia,serif;font-weight:400;font-size:clamp(46px,6.3vw,82px);line-height:1.08;letter-spacing:-.025em}h2{font-weight:400}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.15em;color:var(--blue);text-transform:uppercase;margin-bottom:24px}.lead{font-size:17px;line-height:1.7;color:var(--muted);max-width:480px;margin-top:25px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;padding:32px 0 64px}.hero-image{position:relative;height:460px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 70%}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px;font-size:13px;background:linear-gradient(transparent,#071523d9)}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:32px}.button,.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;min-height:48px}.button{background:var(--blue);color:#101e31;padding:15px 21px}.button:hover{background:#deeffb;text-decoration:none}.text-link>span[aria-hidden],.button>span[aria-hidden]{font-size:20px}.outcomes{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:30px 0;border-block:1px solid var(--line)}.outcomes h2{max-width:210px;font-size:23px;line-height:1.3}.outcomes>div{display:flex;gap:40px;flex-wrap:wrap}.outcomes p{font-size:18px}.outcomes p:before{content:'↗';color:var(--blue);margin-right:12px}.approach{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding:55px 0 65px}.approach h2{font-family:Caslon,Georgia,serif;font-size:34px;line-height:1.15}.approach ol{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;list-style:none;padding:0;margin:0}.approach li{display:flex;flex-direction:column;gap:9px}.approach b{font-size:11px;font-weight:400;color:var(--blue)}.approach strong{font-weight:400;font-size:19px}.approach li>span{font-size:13px;line-height:1.55;color:var(--muted)}.page-intro{padding:45px 0 40px}.page-intro h1{font-size:clamp(42px,5vw,64px)}.page-intro .lead{max-width:none;margin-top:16px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.service-grid article{padding:25px 0 30px;border-top:1px solid var(--line)}.service-grid svg{width:35px;height:35px;color:var(--blue);margin-bottom:15px}.service-grid h2{font-size:26px;margin-bottom:13px}.service-grid article>p{font-size:15px;line-height:1.65;color:var(--muted);max-width:430px}.service-grid .service-output{font-size:12px;margin-top:18px;color:var(--blue)}.next-step{padding:32px 0 45px;display:flex;align-items:center;justify-content:space-between;gap:25px}.next-step h2{font-family:Caslon,Georgia,serif;font-size:34px}.next-step p{font-size:14px;line-height:1.6;color:var(--muted);margin-top:10px}
@media(max-width:900px){.site-header,main,.footer-inner{padding-inline:28px}.hero{gap:28px}.hero-image{height:400px}h1{font-size:60px}.outcomes>div{gap:20px}.outcomes p{font-size:16px}.approach{gap:30px;grid-template-columns:1fr 2fr}.contact-layout{gap:40px}.service-grid{gap:0 35px}}
@media(max-width:600px){.site-header,main,.footer-inner{padding-inline:22px}.site-header{height:auto;min-height:136px;display:grid;grid-template-columns:1fr auto;gap:16px;padding-block:20px}.brand img{width:88px;height:45px}nav{grid-row:2;grid-column:1/-1;justify-content:space-between;gap:16px;margin:0}nav a{font-size:15px;min-height:40px}.language{grid-column:2;grid-row:1}.hero{grid-template-columns:1fr;gap:30px;padding-top:26px;padding-bottom:32px}h1{font-size:clamp(43px,10.7vw,61px)}.eyebrow{margin-bottom:18px}.lead{font-size:16px;margin-top:20px}.hero-image{height:210px}.hero-image img{object-position:50% 73%}.hero-image figcaption{padding:16px}.actions{gap:24px;margin-top:25px}.outcomes{display:block;padding:26px 0}.outcomes h2{max-width:none;font-size:23px;margin-bottom:20px}.outcomes>div{display:grid;gap:12px}.outcomes p{font-size:16px}.approach{grid-template-columns:1fr;gap:25px;padding:32px 0 40px}.approach h2{font-size:31px}.approach ol{grid-template-columns:1fr;gap:20px}.approach li{display:grid;grid-template-columns:24px 90px 1fr;align-items:baseline;gap:10px}.approach strong{font-size:16px}.approach li>span{font-size:13px}.page-intro{padding:25px 0 30px}.page-intro h1{font-size:42px}.service-grid{grid-template-columns:1fr}.service-grid article{padding:25px 0}.service-grid h2{font-size:25px}.next-step{align-items:start;flex-direction:column;padding:20px 0 40px}.next-step h2{font-size:30px}.contact-layout{grid-template-columns:1fr;gap:40px;padding:25px 0 45px;min-height:0}.contact-person{justify-self:start;max-width:none;padding-top:28px;border-top:1px solid var(--line);width:100%}.contact-person img{width:100px;height:100px;float:left;margin:0 20px 10px 0}.contact-person .contact-prompt{clear:both;padding-top:12px;margin-top:0}.contact-person h2{padding-top:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{nav,.language,.actions,.button,footer{display:none}body{background:white;color:black}.lead,.service-grid article>p{color:#333}.hero-image{height:250px}.contact-layout{min-height:0}}
/* Shared service navigation and practice pages. Native details works without JS. */
.services-dropdown{position:relative}.services-dropdown summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:44px;font-size:15px;color:var(--muted)}.services-dropdown summary::-webkit-details-marker{display:none}.services-dropdown summary:hover,.services-dropdown[open] summary{color:var(--ink)}.services-dropdown .current-section{color:var(--ink);text-decoration:underline;text-underline-offset:8px}.services-dropdown[open] summary svg{transform:rotate(180deg)}.services-menu{position:absolute;top:calc(100% + 10px);left:-24px;width:310px;background:#16283e;border:1px solid #405168;box-shadow:0 20px 50px #0005;padding:10px;z-index:10}.services-menu a{padding:12px 14px;line-height:1.4;min-height:48px;font-size:14px}.services-menu a:hover,.services-menu a:focus-visible{background:#ffffff0d;text-decoration:none}.services-menu a:first-child{border-bottom:1px solid var(--line);margin-bottom:5px;color:var(--blue)}.service-grid .text-link{margin-top:16px;color:var(--blue);font-size:13px}.breadcrumb{margin:0;padding-top:25px;display:flex;align-items:center;justify-content:flex-start;gap:12px;font-size:12px;line-height:1.5;color:var(--muted);flex-wrap:wrap}.breadcrumb a{min-height:24px;font-size:12px}.service-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;align-items:center;padding:55px 0 65px}.service-hero h1{font-size:clamp(44px,5.2vw,70px);max-width:700px}.service-promise{font-family:Caslon,Georgia,serif;font-size:30px;line-height:1.2;color:var(--blue);margin-top:24px;max-width:520px}.service-hero .lead{font-size:16px;max-width:540px}.service-hero .button{margin-top:28px}.service-map{border:1px solid var(--line);padding:30px;background:linear-gradient(140deg,#1d354e88,#101e31);position:relative}.map-symbol{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;color:var(--blue)}.map-symbol svg{width:56px;height:56px}.map-symbol>span{font-family:Caslon,Georgia,serif;font-size:60px;line-height:1;color:#ffffff2e}.service-map figcaption{font-size:13px;color:var(--muted);line-height:1.6;padding-bottom:24px;border-bottom:1px solid var(--line)}.service-map ol{list-style:none;margin:0;padding:0}.service-map li{display:flex;gap:20px;align-items:center;padding-top:25px;font-size:18px}.map-number{display:flex;align-items:center;justify-content:center;border:1px solid #c4e2f555;width:30px;height:30px;font-size:10px;color:var(--blue);flex-shrink:0}.service-fit{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:35px 0;border-block:1px solid var(--line)}.service-fit .eyebrow{margin:6px 0 0;line-height:1.7}.service-fit ul{list-style:none;display:grid;gap:16px;margin:0;padding:0}.service-fit li{position:relative;padding-left:25px;font-size:16px;line-height:1.6}.service-fit li:before{content:'↗';position:absolute;left:0;color:var(--blue)}.practice-section{padding:55px 0}.section-title{font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--blue);margin-bottom:28px}.practice-grid,.delivery-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.practice-number{font-size:11px;color:var(--blue)}.practice-grid h3,.delivery-steps h3{font-size:22px;font-weight:400;margin:16px 0 12px;line-height:1.3}.practice-grid p,.delivery-steps p{font-size:15px;line-height:1.75;color:var(--muted)}.service-deliverables{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;background:#ffffff05;border-block:1px solid var(--line);padding:35px}.service-deliverables p{font-size:13px;line-height:1.7;color:var(--muted);max-width:360px}.service-deliverables ul{list-style:none;margin:0;padding:0;display:grid;gap:20px;align-content:center}.service-deliverables li{display:flex;gap:15px;font-size:16px;line-height:1.6}.service-deliverables svg{color:var(--blue);flex-shrink:0;margin-top:4px}.delivery-steps{list-style:none;margin:0;padding:0}.delivery-steps li{border-top:1px solid var(--line);padding-top:20px}.service-cta{border-top:1px solid var(--line);padding-block:40px}.service-cta h2{max-width:650px}.related-services{padding:20px 0 45px}.related-services>div{display:flex;flex-wrap:wrap;gap:12px 40px}.related-services .text-link{font-size:13px;color:var(--muted)}
@media(max-width:900px){.service-hero{gap:35px}.service-map{padding:24px}.practice-grid,.delivery-steps{gap:25px}.service-fit{gap:30px}.service-deliverables{gap:35px;padding:28px}}
@media(max-width:600px){.site-header nav{position:relative}.services-dropdown{position:static}.services-menu{left:0;right:0;width:auto;top:calc(100% + 8px)}.services-dropdown summary{min-height:40px}.breadcrumb{grid-row:auto;grid-column:auto;justify-content:flex-start;gap:10px;padding-top:8px}.breadcrumb>span:last-child{max-width:240px}.service-hero{grid-template-columns:1fr;padding:28px 0 35px;gap:30px}.service-hero h1{font-size:45px;overflow-wrap:anywhere}.service-promise{font-size:28px}.service-map{padding:22px}.map-symbol{margin-bottom:20px}.map-symbol svg{width:40px;height:40px}.map-symbol>span{font-size:44px}.service-map li{font-size:16px;padding-top:16px}.service-fit{grid-template-columns:1fr;gap:22px;padding:28px 0}.service-fit li{font-size:15px}.practice-section{padding:35px 0}.practice-grid,.delivery-steps{grid-template-columns:1fr;gap:28px}.practice-grid h3,.delivery-steps h3{margin-top:10px}.service-deliverables{grid-template-columns:1fr;gap:25px;padding:25px 20px}.service-deliverables li{font-size:15px}.service-deliverables .section-title{margin-bottom:15px}.service-cta{padding-block:30px}.related-services>div{display:grid;gap:8px}.related-services .text-link{justify-content:flex-start}.related-services{padding-bottom:30px}}
@media print{.services-dropdown,.breadcrumb,.related-services,.service-cta{display:none}.service-hero{gap:30px}.service-map{background:none}.service-map,.service-fit,.service-deliverables{break-inside:avoid}.service-promise,.practice-grid p,.delivery-steps p,.service-deliverables p{color:#333}.practice-section{padding:25px 0}}

/* Shared footer: clear destinations, direct contact and the existing brand. */
.site-footer{background:#1b2d43;padding-top:44px;padding-bottom:22px;border-top:1px solid var(--line);color:var(--muted)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1.25fr .7fr 1.25fr;gap:36px;padding-bottom:36px}
.footer-grid>*,.footer-bottom>*{min-width:0}
.footer-wordmark{display:inline-flex;align-items:center;min-height:56px}
.footer-wordmark img{display:block;width:110px;height:56px}
.footer-tagline{margin-top:18px;color:var(--ink);font-family:Caslon,Georgia,serif;font-size:23px;line-height:1.3}
.footer-description{max-width:265px;margin-top:12px;font-size:13px;line-height:1.7}
.footer-nav{display:block;grid-area:auto;margin:0}
.footer-grid h2{margin:0 0 16px;color:var(--blue);font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.06em}
.footer-nav ul{list-style:none;padding:0;margin:0}
.footer-nav a,.footer-contact>a{display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;min-height:44px;padding-block:9px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.footer-nav a:hover,.footer-contact>a:hover{color:var(--ink)}
.footer-contact p{max-width:245px;font-size:13px;line-height:1.7;margin-bottom:12px}
.footer-contact .footer-email{color:var(--ink)}
.footer-contact .footer-profile{font-size:12px}
.footer-bottom{display:flex;align-items:baseline;justify-content:space-between;gap:12px 28px;padding-top:22px;border-top:1px solid var(--line);font-size:12px;line-height:1.6}
.footer-bottom small{font-size:inherit}
@media(max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px 48px}.footer-description{max-width:320px}}
@media(max-width:600px){.site-footer{padding-top:32px;padding-bottom:20px}.footer-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px 24px;padding-bottom:28px}.footer-brand,.footer-contact{grid-column:1/-1}.footer-tagline{font-size:25px;margin-top:14px}.footer-description{max-width:340px}.footer-grid h2{margin-bottom:10px}.footer-contact p{max-width:340px;margin-bottom:6px}.footer-bottom{flex-direction:column;gap:8px;padding-top:18px;font-size:11px}}

/* Brian Made: Frameless component focus. Keep keyboard position visible inside
   the existing component geometry; pointer focus never leaves an outer halo. */
:focus {
  outline: none !important;
  box-shadow: none !important;
}
:where(button, a[href], summary, [tabindex], [role="button"], [role="tab"],
  [role="menuitem"], [role="option"]):not(:is(input, textarea, select, [contenteditable])):focus-visible {
  background-image: linear-gradient(
    color-mix(in srgb, oklch(from currentColor l 0 h) 16%, transparent),
    color-mix(in srgb, oklch(from currentColor l 0 h) 16%, transparent)
  ) !important;
}
:is(input, textarea, select):focus-visible {
  border-color: var(--accent, var(--blue, currentColor)) !important;
}
:is(input, textarea, select):focus-visible[aria-invalid="true"] {
  border-color: var(--destructive, var(--danger, #c53939)) !important;
}
@media (forced-colors: active) {
  :root :focus-visible {
    outline: 2px solid Highlight !important;
    outline-offset: 0;
  }
}

/* Contact: a walkthrough guide beside a single inquiry form. */
.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:start;padding:45px 0 70px}.contact-layout h1{font-size:clamp(44px,5vw,67px)}.contact-intro .lead{font-size:16px;max-width:430px}.email-address{display:block;width:fit-content;font-size:14px;margin-top:30px;color:var(--blue);overflow-wrap:anywhere}.walkthrough-guide{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:22px}.walkthrough-guide li{display:flex;gap:18px}.walkthrough-guide li>span{font-size:11px;color:var(--blue);padding-top:5px}.walkthrough-guide h2{font-size:17px}.walkthrough-guide p{font-size:13px;line-height:1.6;color:var(--muted);margin-top:5px}.contact-form{padding:30px;border:1px solid var(--line);background:#ffffff03;min-width:0}.contact-form h2{font-family:Caslon,Georgia,serif;font-size:31px;line-height:1.2}.form-intro{font-size:13px;color:var(--muted);margin:10px 0 25px}.contact-form label{display:flex;flex-direction:column;gap:10px;font-size:13px;margin-top:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-row label{margin-top:0;min-width:0}.contact-form small{font-size:11px;color:var(--muted);margin-left:7px;font-weight:400}.contact-form input,.contact-form textarea{display:block;min-width:0;width:100%;border:1px solid #ffffff40;border-radius:0;background:#101e31;color:var(--ink);font:inherit;font-size:15px;padding:11px 12px;min-height:45px;line-height:1.5}.contact-form textarea{resize:vertical;min-height:112px}.field-help{font-size:12px;line-height:1.6;color:var(--muted);margin-top:8px}.form-note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.form-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:20px}.contact-form button{font-family:inherit;border:0;cursor:pointer}.copy-inquiry{padding:0;background:transparent;color:var(--blue);font-size:12px}.form-status{font-size:12px;line-height:1.6;color:var(--blue);margin-top:16px}.form-status:empty{display:none}[hidden]{display:none!important}
@media(max-width:900px){.contact-layout{gap:36px}.contact-form{padding:24px}.form-row{grid-template-columns:1fr;gap:20px}}
@media(max-width:600px){.contact-layout{grid-template-columns:1fr;gap:32px;padding:25px 0 45px}.contact-layout h1{font-size:clamp(40px,10.7vw,58px)}.contact-form{padding:22px 18px}.form-row{grid-template-columns:1fr}.contact-form h2{font-size:29px}}

/* Site-owned language picker: both trigger and popup use the same design system. */
.language { position: relative; flex-shrink: 0; }
.language[hidden], .language-menu[hidden] { display: none; }
.language-trigger { appearance: none; display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 82px; min-height: 44px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: var(--muted); font: 400 12px/1.4 Plex, sans-serif; cursor: pointer; }
.language-trigger:hover, .language-trigger:focus-visible, .language-trigger[aria-expanded="true"] { border-color: var(--blue); color: var(--ink); }
.language-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.language-menu { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; display: grid; min-width: 144px; max-width: calc(100vw - 32px); padding: 5px; border: 1px solid #405168; border-radius: 8px; background: #16283e; color: var(--ink); box-shadow: 0 12px 28px #0003; }
.language-option { appearance: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 4px; background: transparent; color: var(--muted); font: 400 14px/1.4 Plex, 'PingFang TC', 'Microsoft JhengHei', sans-serif; text-align: left; cursor: pointer; }
.language-option:hover, .language-option[data-active="true"] { background: #ffffff15; color: var(--ink); }
.language-option[aria-selected="true"] { color: var(--blue); }
.language-check { visibility: hidden; flex-shrink: 0; }
.language-option[aria-selected="true"] .language-check { visibility: visible; }
@media (forced-colors: active) {
 .language-menu { border-color: CanvasText; background: Canvas; }
 .language-option[data-active="true"] { background: Highlight; color: HighlightText; forced-color-adjust: none; }
}

/* Restored interaction language: calm movement, persistent navigation and
   progressive reveals. Content is visible before enhancement and in print. */
:root{--ease-settle:cubic-bezier(.22,.61,.36,1);--header-height:88px}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
.site-header{position:sticky;top:0;z-index:30;height:var(--header-height);max-width:none;padding-inline:max(56px,calc((100% - 1168px)/2));background:#101e31f5;isolation:isolate}
.site-header::after{content:'';position:absolute;inset:auto 0 0;height:1px;background:var(--line);opacity:0;transition:opacity 180ms ease}
.site-header.is-scrolled{backdrop-filter:blur(14px)}
.site-header.is-scrolled::after{opacity:1}
.skip{z-index:40}
.site-header nav>a,.services-dropdown>summary{position:relative;text-decoration:none}
.site-header nav>a::after,.services-dropdown>summary::after{content:'';position:absolute;inset:auto 0 4px;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--ease-settle)}
.site-header nav>a:is(:hover,:focus-visible,[aria-current])::after,.services-dropdown>summary:is(:hover,:focus-visible,.current-section)::after{transform:scaleX(1)}
.site-header nav>a:is(:hover,[aria-current]),.services-dropdown>summary:is(:hover,.current-section){color:var(--ink);text-decoration:none}
.services-dropdown[open] .services-menu{animation:menu-arrive 180ms var(--ease-settle) both;max-height:calc(100svh - var(--header-height) - 24px);overflow:auto}
.services-dropdown summary svg{transition:transform 180ms ease}
.services-menu a{transition:background-color 160ms ease,color 160ms ease}
.button{position:relative;isolation:isolate;overflow:hidden;transition:background-color 180ms ease,color 180ms ease}
.button::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(100deg,transparent 20%,#ffffff24 50%,transparent 80%);transform:translateX(-110%);transition:transform 550ms var(--ease-settle)}
.button:is(:hover,:focus-visible)::before{transform:translateX(110%)}
.button>span[aria-hidden],.text-link>span[aria-hidden],.footer-contact>a>span[aria-hidden]{display:inline-block;transition:transform 180ms var(--ease-settle)}
.button:is(:hover,:focus-visible)>span[aria-hidden],.text-link:is(:hover,:focus-visible)>span[aria-hidden]{transform:translateX(3px)}
a[href^="mailto:"]:is(:hover,:focus-visible)>span[aria-hidden],a[href^="https:"]:is(:hover,:focus-visible)>span[aria-hidden]{transform:translate(2px,-2px)}
.text-link{ text-decoration:none!important }
.text-link>span[data-copy]{background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;transition:background-size 220ms var(--ease-settle);padding-block:3px}
.text-link:is(:hover,:focus-visible)>span[data-copy]{background-size:100% 1px}
.service-grid article{transition:border-color 220ms ease,background-color 220ms ease}
.service-grid article:focus-within{border-color:var(--blue)}
.service-grid article>svg{transition:transform 280ms var(--ease-settle)}
.service-grid h2{transition:color 180ms ease}
.service-grid article:has(a:is(:hover,:focus-visible)) h2{color:var(--blue)}
.capability-grid article{transition:border-color 220ms ease,background-color 220ms ease}
.capability-grid h3 a>span[aria-hidden]{display:inline-block;transition:transform 180ms var(--ease-settle)}
.capability-grid h3 a:is(:hover,:focus-visible)>span[aria-hidden]{transform:translateX(3px)}
.hero-image img{transition:transform 900ms var(--ease-settle)}
.contact-form input,.contact-form textarea{transition:border-color 180ms ease,background-color 180ms ease}
.contact-form input:hover,.contact-form textarea:hover{border-color:#ffffff70}
.contact-form :is(input,textarea):focus-visible{border-color:var(--blue);background-color:#15273d}
.walkthrough-tips{margin-top:32px}
.walkthrough-tips summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;min-height:44px;font-size:13px;color:var(--blue)}
.walkthrough-tips summary::-webkit-details-marker{display:none}
.walkthrough-tips summary>span[aria-hidden]{font-size:20px;transition:transform 180ms ease}
.walkthrough-tips[open] summary>span[aria-hidden]{transform:rotate(45deg)}
.walkthrough-tips .walkthrough-guide{margin-top:18px}
.walkthrough-tips[open] .walkthrough-guide{animation:menu-arrive 200ms var(--ease-settle)}
.reading-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;z-index:45;pointer-events:none}
[data-reveal]{scroll-margin-top:calc(var(--header-height) + 24px)}
@keyframes menu-arrive{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 html{scroll-behavior:smooth}
 html[data-page-motion] main{will-change:opacity,transform}
 html[data-page-motion="entering"] main{opacity:0;transform:translateY(14px)}
 html[data-page-motion="arriving"] main{opacity:1;transform:translateY(0);transition:opacity 420ms var(--ease-settle),transform 420ms var(--ease-settle)}
 html[data-page-motion="leaving"] main{opacity:0;transform:translateY(-6px);transition:opacity 180ms ease-in,transform 180ms ease-in;pointer-events:none}
 .reveal-ready{opacity:0;transform:translateY(18px);transition:opacity 520ms var(--ease-settle),transform 520ms var(--ease-settle);transition-delay:var(--reveal-delay,0ms)}
 .reveal-ready.revealed{opacity:1;transform:translateY(0)}
}
@media(hover:hover) and (pointer:fine){
 .hero-image:hover img{transform:scale(1.025)}
 .service-grid article:hover{border-color:#c4e2f570;background-color:#ffffff02}
 .service-grid article:hover>svg{transform:translateY(-3px)}
}
@media(max-width:900px){.site-header{padding-inline:28px}}
@media(max-width:600px){:root{--header-height:122px}.site-header{height:auto;min-height:var(--header-height);padding:14px 22px;gap:12px}.services-menu{max-width:calc(100vw - 44px)}}
@media(max-width:600px){html[lang="ja"] .contact-layout h1{font-size:clamp(30px,9.1vw,46px);line-height:1.25}html[lang="zh-Hant"] .contact-layout h1{font-size:clamp(34px,10.3vw,50px);line-height:1.2}.walkthrough-tips{margin-top:20px}.contact-intro .email-address{margin-top:14px}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .reveal-ready,.reveal-ready.revealed{opacity:1;transform:none}
 .hero-image:hover img,.service-grid article:hover>svg,.button:hover>span[aria-hidden],.text-link:hover>span[aria-hidden]{transform:none}
}
@media print{.site-header,.reading-progress{display:none}.reveal-ready,html[data-page-motion] main{opacity:1!important;transform:none!important;transition:none!important}}

/* Predominantly navy, with a restrained light paper accent and the original typography. */
:root{--header-height:100px;color-scheme:dark;--bg:#101e31;--ink:#f3f5f8;--muted:#b7c5d4;--blue:#bdd6ea;--line:#ffffff26;--panel:#172a40;--deep:#0b1727;--paper:#e9edf0;--paper-ink:#172b3f;--paper-muted:#4c6171;--serif:Caslon,'Songti TC','Noto Serif CJK JP',Georgia,serif}
body{background:var(--bg)}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,4.5vw,64px);line-height:1.12;letter-spacing:-.025em}
.site-header{background:var(--deep);color:var(--ink);border-bottom:1px solid var(--line);height:100px;--header-height:100px}
.site-header.is-scrolled{background:#0b1727f5}
.brand img{width:124px;height:auto}
.site-header nav{gap:30px}
.site-header nav a,.services-dropdown summary{font-size:15px}
.language-trigger{border-radius:0;color:var(--ink);font-size:13px}
.language-menu,.services-menu{background:var(--panel);border-color:#42566f;color:var(--ink);border-radius:0;box-shadow:0 16px 36px #0004}
.language-option{border-radius:0;color:var(--ink)}
.language-option:hover,.language-option[data-active=true],.services-menu a:hover{background:#ffffff0d}
.language-option[aria-selected=true]{color:var(--blue)}
.eyebrow,.section-title{font-size:12px;letter-spacing:.12em}
.hero{position:relative;isolation:isolate;grid-template-columns:minmax(0,1fr);gap:0;padding:56px 0;color:#f7f8fb;--ink:#f7f8fb;--muted:#c3cfd8;--blue:#c4e2f5}
.hero::before{content:'';position:absolute;inset:0;background:#101e31;box-shadow:0 0 0 100vmax #101e31;clip-path:inset(0 -100vmax);z-index:-1}
.hero h1{font-size:clamp(38px,3.5vw,50px)}
.hero .lead{max-width:510px;font-size:17px;line-height:1.75}
.hero-image{height:400px}
.hero-image img{filter:saturate(.65)}
.hero-image figcaption{font-size:13px}
.button{background:#c4ddef;color:#102137;border:1px solid transparent;font-size:15px;padding:14px 20px}
.button:hover{background:#e0edf6;color:#102137}
.hero .button{background:#c4ddef;color:#102137}
.hero .button:hover{background:#e0edf6;color:#102137}
.text-link{font-size:15px;color:var(--blue)}
.hero .text-link{color:#fff}
.editorial-section{padding:56px 0;border-bottom:1px solid var(--line)}
.section-heading,.firm-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.section-heading{margin-bottom:30px}
.section-heading h2,.work-feature h2,.firm-intro h2,.founder-section h2,.case-narrative h2,.approach h2,.next-step h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,38px);line-height:1.2;letter-spacing:-.025em}
.section-heading .eyebrow,.work-feature .eyebrow,.firm-intro .eyebrow{margin-bottom:18px}
.section-heading>p,.firm-intro>div>p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted)}
.section-heading>p{padding-top:32px}
.capability-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}
.capability-grid article{padding:25px 0 28px;border-top:1px solid var(--line)}
.capability-grid h3{font-family:Plex,'PingFang TC','Microsoft JhengHei',sans-serif;font-size:25px;font-weight:400;line-height:1.3;margin:12px 0}
.capability-grid h3 a{display:block;min-height:44px}
.capability-grid h3 a>span[aria-hidden]{color:var(--blue);font-family:Plex,sans-serif}
.capability-grid article>p{font-size:15px;color:var(--muted);line-height:1.75;max-width:480px}
.work-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}
.work-feature figure img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.work-feature figcaption,.founder-section figcaption,.case-image figcaption{font-size:12px;color:var(--muted);line-height:1.6;margin-top:12px}
.work-feature>div>p:not(.eyebrow),.founder-section>div>p,.case-narrative p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted);margin-top:20px}
.work-feature .text-link,.firm-intro .text-link{margin-top:18px}
.approach{padding:50px 0;border-bottom:1px solid var(--line);grid-template-columns:1fr 1.6fr;gap:60px;align-items:start}
.approach strong{font-family:Plex,'PingFang TC','Microsoft JhengHei',sans-serif;font-weight:400;font-size:22px}
.approach li>span{font-size:14px;line-height:1.75}
.approach .eyebrow{margin-bottom:18px}
.firm-intro{border-bottom:0;padding-bottom:64px}
.page-intro{padding:48px 0 40px}
.page-intro h1{font-size:clamp(40px,4.4vw,60px)}
.page-intro .lead{max-width:780px;line-height:1.8;margin-top:24px}
.service-grid h2{font-family:Plex,'PingFang TC','Microsoft JhengHei',sans-serif;font-weight:400;font-size:28px}
.service-grid .service-output{font-size:13px}
.service-grid .text-link{font-size:15px}
.service-grid article:focus-within,.service-grid article:hover{border-color:var(--line)}
.service-hero h1{font-size:clamp(40px,4.5vw,62px)}
.service-promise{font-family:var(--serif);font-size:28px}
.service-map{background:var(--panel)}
.map-symbol>span{font-family:var(--serif);color:#8fa7bd}
.map-number{border-color:#60758e}
.service-deliverables{background:var(--panel)}
.practice-grid h3,.delivery-steps h3{font-family:Plex,'PingFang TC','Microsoft JhengHei',sans-serif;font-weight:400}
.next-step{padding:40px 0 52px}
.founder-section{display:grid;grid-template-columns:.8fr 1.4fr;gap:80px;padding-top:12px;align-items:start}
.founder-section figure{max-width:350px}
.founder-section img{width:100%;height:auto;display:block;filter:saturate(.7)}
.founder-section .founder-role{font-size:14px;color:var(--blue);margin-top:12px}
.founder-section .eyebrow{margin:0 0 14px}
.founder-section .actions{margin-top:18px;gap:12px 28px}
.case-meta{display:flex;flex-wrap:wrap;gap:16px 32px;border-block:1px solid var(--line);padding:20px 0;font-size:13px;color:var(--muted)}
.case-image{margin-top:32px;max-width:1000px}
.case-image img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.case-narrative{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-bottom:0}
.case-narrative h2{font-size:28px}
.case-narrative p:not(.eyebrow){font-size:15px}
.information-page{max-width:760px;padding-bottom:60px}
.information-page section{padding:24px 0;border-top:1px solid var(--line)}
.information-page h2{font-family:var(--serif);font-weight:400;font-size:26px;margin-bottom:16px}
.information-page p{font-size:16px;line-height:1.8;color:var(--muted)}
.information-page a{text-decoration:underline;overflow-wrap:anywhere}
.contact-layout h1{font-size:clamp(40px,4vw,52px)}
.contact-form{background:var(--panel)}
.contact-form h2{font-family:var(--serif);font-weight:400}
.contact-form input,.contact-form textarea{background:#101e31;border-color:#60758e;color:var(--ink)}
.contact-form input:hover,.contact-form textarea:hover{border-color:#8fa9c0}
.contact-form :is(input,textarea):focus-visible{background:#1b3149;border-color:var(--blue)}
.contact-form label,.form-intro,.walkthrough-guide p{font-size:14px}
.contact-form .button{border:1px solid transparent}
.site-footer{background:var(--deep);color:#c3cfd8;--ink:#f7f8fb;--muted:#c3cfd8;--blue:#c4e2f5;--line:#ffffff26;padding-top:48px}
.footer-description{font-size:14px;line-height:1.8;margin-top:20px}
.footer-grid h2{font-size:13px;letter-spacing:.02em}
.footer-nav a,.footer-contact>a,.footer-contact p,.footer-contact .footer-profile{font-size:14px}
.footer-bottom{font-size:12px}
.footer-bottom>a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1000px){.hero{gap:32px}.hero h1{font-size:45px}.section-heading,.firm-intro,.work-feature,.founder-section{gap:36px}.approach{grid-template-columns:1fr;gap:32px}.case-narrative{gap:24px}.site-header nav{gap:20px}}
@media(max-width:700px){:root{--header-height:138px}.site-header{display:grid;grid-template-columns:1fr auto;min-height:138px;height:auto;padding-block:16px;gap:12px}.site-header nav{grid-column:1/-1;grid-row:2;margin:0;justify-content:space-between;gap:10px;position:relative;flex-wrap:wrap}.site-header nav>a,.services-dropdown summary{font-size:14px}.language{grid-column:2;grid-row:1}.brand img{width:105px}.services-dropdown{position:static}.services-menu{left:0;right:0;top:calc(100% + 8px);width:auto}.hero{grid-template-columns:1fr;padding:36px 0}.hero h1{font-size:clamp(36px,7vw,48px)}.hero-image{height:240px}.hero .lead{font-size:16px}.editorial-section{padding:36px 0}.section-heading,.firm-intro,.work-feature,.founder-section{grid-template-columns:1fr;gap:24px}.section-heading>p{padding-top:0}.section-heading h2,.firm-intro h2,.work-feature h2,.approach h2{font-size:30px}.capability-grid{gap:0 28px}.capability-grid h3{font-size:23px}.case-narrative{grid-template-columns:1fr;gap:32px}.founder-section figure{max-width:280px}.work-feature>div{grid-row:1}.information-page{padding-bottom:36px}.page-intro{padding-top:32px}.page-intro h1{font-size:38px}.contact-layout h1{font-size:40px}.site-footer{padding-top:36px}.footer-bottom{font-size:12px}}
@media(max-width:420px){:root{--header-height:180px}.site-header nav{display:grid;grid-template-columns:1fr 1fr;gap:2px 20px}.capability-grid{grid-template-columns:1fr}.site-header nav{column-gap:12px;row-gap:0}.site-header nav>a,.services-dropdown summary{font-size:13px}.hero .actions{gap:12px 20px}.hero-image{height:210px}.approach li{grid-template-columns:22px 1fr;gap:8px 12px}.approach li>span{grid-column:2}.page-intro h1,.contact-layout h1{font-size:34px}}
@media print{.hero{color:#13283b;--ink:#13283b;--muted:#50606b}.hero::before{display:none}.editorial-section{padding-block:24px}.case-image,.founder-section{break-inside:avoid}}

@media(max-width:420px){html:is([lang="ja"],[lang="zh-Hant"]) .page-intro h1{font-size:30px}}

/* The approved service-page sequence shares one layout across practices. */
.service-example,.service-enquiry{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.service-example h2,.practice-leader h2,.service-enquiry h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,38px);line-height:1.2;letter-spacing:-.025em;margin:16px 0 20px}
.service-example p:not(.eyebrow),.practice-leader p:not(.eyebrow),.service-enquiry>div>p:not(.eyebrow){line-height:1.8;color:var(--muted);margin-bottom:18px}
.service-example .example-note{font-size:12px}
.example-flow{background:var(--paper);color:var(--paper-ink);padding:32px}
.example-flow figcaption{font-size:13px;color:var(--paper-muted);margin-bottom:20px}
.example-flow ol{list-style:none;padding:0;margin:0}
.example-flow li{display:flex;align-items:center;gap:20px;padding:22px 0;border-top:1px solid #172b3f33}
.example-flow li>span{color:#456980;font-size:13px}
.example-flow strong{font-size:18px;font-weight:400;line-height:1.5}
.practice-leader{display:grid;grid-template-columns:160px 1fr;gap:40px;align-items:center}
.practice-leader img{display:block;width:100%;height:auto;filter:saturate(.7)}
.practice-leader .founder-role{font-size:14px;color:var(--blue)}
.practice-leader .actions{flex-wrap:wrap;gap:16px 28px}
.service-enquiry{scroll-margin-top:calc(var(--header-height,100px) + 24px)}
.service-enquiry .enquiry-service{font-size:14px;border-top:1px solid var(--line);padding-top:20px}
.service-enquiry .contact-form{min-width:0}
@media(max-width:700px){.service-example,.service-enquiry{grid-template-columns:1fr;gap:24px}.practice-leader{grid-template-columns:1fr;gap:24px}.practice-leader figure{max-width:120px}.example-flow{padding:24px}.service-enquiry .form-row{grid-template-columns:1fr}}

/* Light surfaces are reserved for a project feature and process diagrams. */
.work-feature{position:relative;isolation:isolate;color:var(--paper-ink);--ink:var(--paper-ink);--muted:var(--paper-muted);--blue:#285a78;--line:#172b3f2b}
.work-feature::before{content:'';position:absolute;inset:0;background:var(--paper);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(0 -100vmax);z-index:-1}
.work-feature figure img{border-color:#172b3f33}
.work-feature .eyebrow{color:var(--blue)}
.approach{position:relative;isolation:isolate}
.approach::before{content:'';position:absolute;inset:0;background:#14263b;box-shadow:0 0 0 100vmax #14263b;clip-path:inset(0 -100vmax);z-index:-1}
.language-trigger{border-color:#60758e}
.service-grid article:hover,.service-grid article:focus-within{border-color:#bdd6ea70}
@media print{
 :root{color-scheme:light;--bg:#fff;--ink:#172b3f;--muted:#4c6171;--blue:#285a78;--line:#172b3f40;--panel:#fff;--paper:#fff}
 body{background:#fff;color:var(--ink)}
 .hero::before,.work-feature::before,.approach::before{display:none}
 .contact-form input,.contact-form textarea{background:#fff;color:var(--ink)}
}

.service-showcase{scroll-margin-top:calc(var(--header-height,100px) + 24px)}
.showcase-intro{padding-bottom:24px}
.showcase-intro h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,38px);line-height:1.2;margin:16px 0}
.service-showcase .case-image{max-width:100%}
.service-showcase .case-narrative{padding-bottom:0}

/* Two full-width editorial bands, with shared profile columns. */
.founding-team,.advisors{position:relative;isolation:isolate;padding-block:56px;border:0}
.founding-team{--team-band:#fff;--ink:#14283a;--muted:#435b6b;--blue:#244d69;--line:#18384f30;color:var(--ink)}
.advisors{--team-band:#e8edf0;--ink:#14283a;--muted:#435b6b;--blue:#244d69;--line:#18384f30;color:var(--ink)}
.founding-team::before,.advisors::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--team-band);box-shadow:0 0 0 100vmax var(--team-band);clip-path:inset(0 -100vmax)}
.founding-team .section-heading,.advisors .section-heading{grid-template-columns:1fr;gap:12px;margin-bottom:32px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.founding-team .section-heading>p{padding-top:0;max-width:620px;margin:0}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.team-member{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:28px;align-items:start;padding:0 32px 0 0;border:0;background:none}
.team-member+.team-member{padding:0 0 0 32px;border-left:1px solid var(--line)}
.team-member>img,.team-identity{grid-column:2;grid-row:1;width:100%;max-width:128px}
.team-member>div:not(.team-identity){grid-column:1;grid-row:1;display:flex;flex-direction:column;min-height:100%;min-width:0}
.team-member>img,.team-identity>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:saturate(.7)}
.advisors .team-member>img,.advisors .team-identity>img{object-position:center top}
.team-member h3{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.2;margin:0 0 10px}
.team-member p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 16px}
.team-member .team-role{font-size:12px;line-height:1.6;color:var(--blue);margin-bottom:20px}
.team-member .actions{margin-top:auto;padding-top:12px;gap:8px 20px;flex-wrap:wrap;font-size:13px}
.experience-logos{display:flex;align-items:center;gap:10px;min-height:24px;max-width:128px}
.experience-logos img{display:block;height:24px;width:auto;min-width:0;max-width:100%;object-fit:contain;filter:none;opacity:.85}
.experience-logos .logo-citi{width:33px;filter:brightness(0) invert(1)}
.experience-logos .logo-cardano{width:85px}
.experience-logos .logo-mckinsey{width:72px;filter:brightness(0) invert(1)}
.experience-logos .logo-okx{width:46px;height:20px;object-fit:cover}
@media(max-width:1000px){.team-grid{grid-template-columns:1fr;gap:32px}.team-member{gap:32px;padding:0}.team-member+.team-member{border-left:0;border-top:1px solid var(--line);padding:32px 0 0}.team-member>div:not(.team-identity){min-height:128px}}
@media(max-width:480px){
 .team-member{grid-template-columns:1fr;gap:24px}
 .team-member>img,.team-identity{grid-column:1;grid-row:1;max-width:128px}
 .team-member>div:not(.team-identity){grid-column:1;grid-row:2;min-height:0}
 .team-member h3{font-size:28px}
 .team-member .actions{padding-top:4px}
 .founding-team,.advisors{padding-block:36px}
}

/* Make fuller use of each founding-team profile on the white band. */
.founding-team .team-member{gap:24px}
.founding-team .team-identity{max-width:168px}
.founding-team .team-member h3{font-size:32px}
.founding-team .team-member p{font-size:15px}
.founding-team .team-member .team-role{font-size:13px;margin-bottom:16px}
.founding-team .team-member .actions{font-size:14px}
.founding-team .experience-logos{max-width:168px;gap:12px;min-height:28px}
.founding-team .experience-logos img{height:28px;filter:brightness(0);opacity:.85}
.founding-team .experience-logos .logo-citi{width:42px}
.founding-team .experience-logos .logo-cardano{width:110px}
.founding-team .experience-logos .logo-mckinsey{width:92px}
.founding-team .experience-logos .logo-okx{width:60px;height:25px}
@media(min-width:481px){.founding-team .team-member{grid-template-columns:minmax(0,1fr) 168px}}
@media(min-width:1001px){.founding-team .team-member{padding-right:24px}.founding-team .team-member+.team-member{padding-left:24px;padding-right:0}}
@media(max-width:480px){.founding-team .team-member h3{font-size:30px}}

/* Practice leaders stay concise; full biographies belong in About. */
.practice-leader h2{margin:8px 0 10px;font-size:30px}
.practice-leader p:not(.eyebrow){margin-bottom:10px}
.practice-leader .actions{margin-top:14px}

/* Four distinct visual stories in a compact, asymmetrical grid. */
.showcase-disclosure{max-width:650px;font-size:13px;color:var(--muted);line-height:1.7;margin:20px 0}
.capability-index{display:flex;flex-wrap:wrap;gap:8px 26px;margin:24px 0 8px}
.capability-index a{display:flex;align-items:center;gap:10px;min-height:44px;font-size:11px;letter-spacing:.06em;color:var(--blue)}
.capability-demos{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.capability-demo{grid-column:span 5;display:flex;flex-direction:column;min-width:0;padding:32px;background:#162b40;color:#f2f5f8;border:1px solid #67809840;scroll-margin-top:calc(var(--header-height,100px) + 24px);--ink:#f2f5f8;--muted:#b7c8d6;--blue:#c0dcee;--line:#9ab5c333}
.capability-demo[data-demo=search],.capability-demo[data-demo=reply]{grid-column:span 7}
.capability-demo[data-demo=search]{background:#deebee;--ink:#142c3d;--muted:#425d6d;--blue:#285a70;--line:#18384b26;color:var(--ink)}
.capability-demo[data-demo=reply]{background:#eeede7;--ink:#1c3040;--muted:#4f626d;--blue:#285a70;--line:#18384b26;color:var(--ink)}
.capability-demo[data-demo=delivery]{background:#1b304b}
.capability-copy .eyebrow{font-size:10px;color:var(--blue);letter-spacing:.1em;line-height:1.6}
.capability-copy .eyebrow>span:first-child{font-family:var(--serif);font-size:20px;margin-right:8px}
.capability-copy h3{font-family:var(--serif);font-size:clamp(28px,2.8vw,37px);font-weight:400;line-height:1.15;margin:14px 0}
.capability-copy>p:not(.eyebrow){font-size:14px;line-height:1.7;color:var(--muted);max-width:520px;margin:0}
.capability-screen{margin:28px 0;min-width:0;font-size:14px;line-height:1.6}
.capability-screen strong{font-weight:400}
.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}
.demo-pipeline{max-width:340px;margin:0 auto}
.pipeline-node{display:flex;align-items:center;gap:16px;background:#213d53;border:1px solid #a3c3d633;padding:16px 20px}
.demo-icon{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;background:#36576b;color:#c9e2ef;font-size:19px}
.pipeline-node strong,.pipeline-node div>span{display:block}
.pipeline-node div>span{font-size:11px;color:var(--muted);margin-top:4px}
.pipeline-line{display:block;text-align:center;height:25px;color:#9ebdcd}
.search-sources{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.search-sources>span{background:#ffffff8c;border:1px solid #24435426;padding:8px 15px;font-size:12px}
.search-connector{text-align:center;font-size:22px;color:#6c8794;margin:8px 0}
.agent-query{display:flex;align-items:center;gap:12px;background:#fff;padding:14px 18px;box-shadow:0 5px 20px #1730440b;border:1px solid #24435430}
.agent-query>span:first-child{font-size:24px;line-height:1}
.agent-result{display:flex;align-items:start;gap:14px;background:#f6fbfb;padding:20px;margin-top:12px;border-left:3px solid #4b7f8c}
.result-mark{color:#4b7f8c;font-size:20px}
.agent-result p{font-size:12px;color:var(--muted);margin-top:6px}
.result-sources{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.result-sources>span{font-size:10px;padding:4px 8px;background:#e0ecee;color:#31596b}
.mail-incoming{margin-right:48px;background:#dadfdc;padding:16px 20px;transform:rotate(-1deg)}
.mail-label{font-size:9px;letter-spacing:.12em;color:#536671}
.mail-incoming p{margin-top:8px}
.mail-draft{margin:14px 0 0 28px;background:#fff;padding:20px 24px;border:1px solid #18384b26;box-shadow:0 12px 24px #172b3f0b}
.mail-draft-heading{display:flex;justify-content:space-between;font-size:11px;color:#527184;margin-bottom:14px}
.mail-draft p{font-size:14px;line-height:1.7}
.mail-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:22px;padding-top:14px;border-top:1px solid #18384b1f;font-size:10px;color:#526770}
.mail-bottom strong{padding:4px 8px;background:#e8e2cd;color:#615738;font-size:10px}
.blocker-query{font-size:14px;margin-bottom:18px;padding-left:14px;border-left:2px solid #809bb4;color:#d6e2ed}
.blocker-card{background:#243e5a;padding:20px;border:1px solid #9bb2c333}
.blocker-status{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.1em;color:#dbc69b;margin-bottom:12px}
.blocker-status i{width:6px;height:6px;background:#d2b477;border-radius:50%}
.blocker-card>strong{font-family:var(--serif);font-size:26px}
.blocker-card p{font-size:12px;color:#b7c8d6;margin-top:8px}
.next-action{display:flex;gap:16px;align-items:start;margin:18px 0 0 16px}
.next-action>span{font-size:25px;color:#9eb8cb}
.next-action small,.next-action strong,.next-action div>span{display:block}
.next-action small{font-size:9px;letter-spacing:.08em;color:#a3bbcc}
.next-action strong{margin:6px 0;font-size:16px}
.next-action div>span{font-size:11px;color:#b7c8d6}
.demo-bottom{margin-top:auto;padding-top:4px}
.capability-detail{border-top:1px solid var(--line)}
.capability-detail summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:46px;cursor:pointer;list-style:none;font-size:12px;color:var(--blue)}
.capability-detail summary::-webkit-details-marker{display:none}
.capability-detail[open] summary>span:last-child{transform:rotate(45deg)}
.capability-detail p{font-size:13px;line-height:1.7;color:var(--muted);padding:4px 0 16px}
.demo-bottom>a{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:13px;color:var(--blue)}
@media(max-width:1000px){.capability-demo{padding:24px;grid-column:span 6}.capability-demo[data-demo=search],.capability-demo[data-demo=reply]{grid-column:span 6}.mail-incoming{margin-right:12px}.mail-draft{margin-left:8px;padding:18px}.pipeline-node{padding:14px}.capability-copy h3{font-size:30px}}
@media(max-width:700px){.capability-demos{grid-template-columns:1fr;gap:16px}.capability-demo,.capability-demo[data-demo=search],.capability-demo[data-demo=reply]{grid-column:1;padding:24px}.capability-index{gap:0 20px}.capability-index a{font-size:10px}.capability-screen{margin:24px 0}}
@media(max-width:360px){.capability-demo{padding:18px}.capability-copy h3{font-size:28px}.search-sources>span{padding:6px 8px;font-size:11px}.agent-query{padding:12px;font-size:13px}.agent-result{padding:14px;gap:8px}.pipeline-node{padding:12px;gap:10px}.mail-incoming,.mail-draft{padding:14px}.blocker-card{padding:16px}}

/* Four advisors form two balanced rows on desktop. */
@media(min-width:1001px){
 .advisors .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
 .advisors .team-member{grid-template-columns:minmax(0,1fr) 184px;gap:28px;padding:0 32px 0 0}
 .advisors .team-member:nth-child(odd){border-left:0}
 .advisors .team-member:nth-child(even){padding:0 0 0 32px;border-left:1px solid var(--line)}
 .advisors .team-member:nth-child(n+3){border-top:1px solid var(--line);padding-top:32px}
}

/* Horizontal experience logos beneath centered advisor portraits. */
.advisors .team-identity{max-width:184px}
.advisors .team-identity>img{width:128px;max-width:100%;margin-inline:auto}
@media(min-width:481px) and (max-width:1000px){.advisors .team-member{grid-template-columns:minmax(0,1fr) 184px}}
.advisors .team-experience{width:100%}
.advisors .experience-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:36px;gap:12px;width:100%;max-width:184px}
.advisors .experience-logo{display:flex;align-items:center;justify-content:center;width:100%;height:36px;min-width:0}
.advisors .experience-logos img{filter:brightness(0);opacity:.8;max-width:100%;height:auto;max-height:26px;object-fit:contain}
.advisors .experience-logos .logo-aon{width:60px}
.advisors .experience-logos .logo-amex{width:88px}
.advisors .experience-logos .logo-ubs{width:78px;mix-blend-mode:multiply}
.advisors .experience-logos .logo-hsbc{width:90px;filter:grayscale(1)}
.advisors .experience-logos .logo-mckinsey{width:88px}
.advisors .experience-logos .logo-deloitte{width:88px}
.advisors .experience-logos .logo-alibaba{width:96px}
.advisors .mesh-experience{gap:8px;color:#292929;font-size:16px;font-weight:600}
.advisors .experience-logos .logo-mesh{width:28px;max-height:28px;filter:none;opacity:1}

/* Match the apparent head size of the founding-team portraits. */
.founding-team .team-portrait{display:block;width:100%;aspect-ratio:1;overflow:hidden}
.founding-team .team-portrait img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.7)}
.founding-team .team-portrait-hinson img{transform:scale(1.2);transform-origin:50% 45%}

.team-member .experience-label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:14px 0 8px}
.founding-team .team-member .experience-label{font-size:10px}
.advisors .experience-label{text-align:center}

/* The hero states the client problem and one clear invitation to act. */
.hero{padding-block:64px 68px}
.hero-copy{max-width:800px}
.hero h1{font-size:clamp(38px,4.3vw,60px);line-height:1.12}
.hero .lead{max-width:640px;font-size:18px;line-height:1.7;margin-top:24px}
.hero .actions{margin-top:30px}
@media(max-width:700px){.hero{padding-block:36px 42px}.hero h1{font-size:clamp(34px,6.8vw,46px)}.hero .lead{font-size:16px}.hero .actions{gap:16px 24px}}

/* One viewport for the opening message; the sticky header owns the remaining space. */
.hero{min-height:calc(100vh - var(--header-height));min-height:calc(100svh - var(--header-height));align-content:center}
@media print{.hero{min-height:0}}

/* Static, low-contrast SVG contours; never above the message. */
.hero-copy{position:relative;z-index:1}
.hero-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;mask-image:linear-gradient(90deg,transparent 30%,#000b 58%,#000 85%)}
.hero-atmosphere svg{display:block;width:100%;height:100%;color:#bdd6ea}
.hero-contours{stroke:currentColor;stroke-width:1;opacity:.12}
@media(max-width:700px){.hero-atmosphere{mask-image:linear-gradient(90deg,transparent 5%,#0005 65%,#0009)}.hero-contours{stroke-width:.8;transform:translateX(-270px)}}
@media(forced-colors:active),print{.hero-atmosphere{display:none}}

/* The people sections repeat the hero's navy/paper rhythm with quieter editorial spacing. */
.home-flow-page .founding-team{--team-band:#101e31;--ink:#f3f5f8;--muted:#b7c5d4;--blue:#bdd6ea;--line:#bdd6ea24;color:var(--ink);padding-block:88px 92px;color-scheme:dark}
.home-flow-page .advisors{--team-band:#eef1f2;--line:#18384f20;padding-block:80px 88px}
.home-flow-page :is(.founding-team,.advisors) .section-heading{padding-bottom:36px;margin-bottom:44px}
.home-flow-page .founding-team .section-heading{grid-template-columns:1fr;gap:16px;align-items:start}
.home-flow-page .founding-team .section-heading>p{width:fit-content;max-width:440px;justify-self:start;font-size:16px;line-height:1.7;padding-bottom:0}
.home-flow-page :is(.founding-team,.advisors) .section-heading h2{font-size:clamp(36px,3.8vw,48px);letter-spacing:-.025em}
.home-flow-page .founding-team .section-heading .eyebrow{color:#a9c5d9;margin-bottom:20px}
.home-flow-page .founding-team .team-member h3{font-size:30px}
.home-flow-page .founding-team .team-member p:not(.team-role):not(.experience-label){line-height:1.85}
.home-flow-page .founding-team .team-member .team-role{margin-bottom:22px;color:#a9c5d9}
.home-flow-page .founding-team .experience-logos img{filter:brightness(0) invert(1);opacity:.72}
.home-flow-page :is(.founding-team,.advisors) .team-member .actions{padding-top:22px;gap:24px}
.home-flow-page :is(.founding-team,.advisors) .team-member .text-link{font-size:13px}
.home-flow-page :is(.founding-team,.advisors) .team-member .text-link>span[aria-hidden]{font-size:15px;opacity:.65}
.home-flow-page .advisors .team-member h3{font-size:29px}
.home-flow-page .advisors .team-member p:not(.team-role):not(.experience-label){line-height:1.85}
@media(min-width:1001px){
 .home-flow-page .founding-team .team-member{padding-right:36px;gap:28px}
 .home-flow-page .founding-team .team-member+.team-member{padding-left:36px;padding-right:0}
 .home-flow-page .advisors .team-grid{row-gap:44px}
 .home-flow-page .advisors .team-member:nth-child(n+3){padding-top:44px}
}
@media(max-width:1000px){
 .home-flow-page .founding-team .section-heading{grid-template-columns:1fr;gap:20px}
 .home-flow-page .founding-team .section-heading>p{justify-self:start;max-width:440px}
 .home-flow-page :is(.founding-team,.advisors) .team-grid{gap:36px}
 .home-flow-page :is(.founding-team,.advisors) .team-member+.team-member{padding-top:36px}
}
@media(max-width:700px){
 .home-flow-page :is(.founding-team,.advisors){padding-block:52px 56px}
 .home-flow-page :is(.founding-team,.advisors) .section-heading{padding-bottom:28px;margin-bottom:32px}
 .home-flow-page :is(.founding-team,.advisors) .section-heading h2{font-size:36px}
 .home-flow-page .founding-team .section-heading>p{font-size:16px}
}
@media print{
 .home-flow-page .founding-team{--team-band:#fff;--ink:#14283a;--muted:#435b6b;--blue:#244d69;--line:#18384f30;color-scheme:light}
 .home-flow-page .founding-team .experience-logos img{filter:brightness(0)}
}

/* Match the advisor introduction to the founding-team subtitle. */
.home-flow-page .advisors .section-heading{gap:16px}
.home-flow-page .advisors .section-heading>p{width:fit-content;max-width:480px;justify-self:start;font-size:16px;line-height:1.7;padding:0}

/* Phase labels frame the work; four selectable boxes carry the actual routes. */
.approach-flow{position:relative;isolation:isolate;padding:0;min-height:max(640px,calc(100vh - var(--header-height)));min-height:max(640px,calc(100svh - var(--header-height)));scroll-margin-top:-24px;--bg:#eef1f2;--ink:#172b3f;--muted:#4c6171;--blue:#315974;--line:#172b3f26;--map-line:#31597424;color:var(--ink);color-scheme:light}
.approach-flow::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--bg);box-shadow:0 0 0 100vmax var(--bg);clip-path:inset(0 -100vmax)}
.approach-copy{position:absolute;top:50%;left:0;width:40%;transform:translateY(-50%);z-index:1}
.approach-flow .section-heading{display:block;margin:0}
.approach-flow .section-heading .eyebrow{margin-bottom:16px}
.approach-flow .section-heading h2{font-size:clamp(34px,3.6vw,48px);max-width:360px;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
.approach-map,.map-canvas{position:absolute;inset:0;pointer-events:none}
.map-paths{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.map-path{stroke:var(--map-line);stroke-width:1;vector-effect:non-scaling-stroke;transition:stroke .4s,stroke-width .4s}
.map-path.is-current{stroke:#31597448;stroke-width:1}
.map-entry{stroke:#3159741a;stroke-width:1;vector-effect:non-scaling-stroke}
.map-trace{stroke:var(--blue);stroke-width:1;stroke-linecap:round;stroke-dasharray:.055 .945;stroke-dashoffset:.055;opacity:0;vector-effect:non-scaling-stroke}
.map-mobile-entry{display:none}
.map-nodes{list-style:none;padding:0;margin:0}
.map-node{position:absolute;left:var(--x,72.5%);top:var(--y);width:var(--w,25%);transform:translateX(-50%)}
.map-phase{--x:56%;--w:23%;text-align:right;pointer-events:none}
.map-phase h3{font-family:var(--serif);font-size:clamp(25px,2.6vw,34px);font-weight:400;line-height:1.2;letter-spacing:-.02em;color:#758591;margin:0}
.map-assess{--y:16%}.map-need{--y:48%}.map-improve{--y:88%}
.map-strategy{--y:28%;--w:28%}
.map-engineering{--x:55%;--y:62%;--w:17%}
.map-operations{--y:62%;--w:17%}
.map-blockchain{--x:90%;--y:62%;--w:17%}
.map-place{position:relative;display:block;min-height:134px;padding:20px 18px 18px;border:1px solid #31597430;border-radius:6px;background:#f9fafb;pointer-events:auto;color:var(--ink);box-shadow:0 4px 12px #172b3f03;transition:background .35s,border-color .35s,box-shadow .35s,color .35s}
.map-strategy .map-place{min-height:112px;padding:23px 24px;background:#e2e9ed;border-color:#31597438;border-radius:3px}
.map-symbol{display:block;width:20px;height:20px;margin-bottom:12px;color:#6b8596;transition:color .35s}
.map-symbol svg{display:block;width:100%;height:100%}
.map-strategy .map-symbol{position:absolute;right:22px;top:24px;margin:0;width:18px;height:18px}
.map-place h3{font-family:Plex,'PingFang TC','Microsoft JhengHei',sans-serif;font-size:19px;line-height:1.3;font-weight:400;margin:0;color:inherit;letter-spacing:-.015em}
.map-strategy h3{padding-right:24px;font-size:22px}
.map-subtitle{display:block;max-width:150px;min-height:32px;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.5;transition:color .35s}
.map-strategy .map-subtitle{max-width:none;min-height:0;font-size:12px}
.map-box-arrow{position:absolute;right:14px;top:16px;font-size:15px;opacity:0;transition:opacity .3s}
.map-strategy .map-box-arrow{top:auto;bottom:14px}
.map-place:hover{text-decoration:none}
.map-place:is(.is-current,:focus-visible){background:#1c3c52;border-color:#1c3c52;color:#f6f8fa;box-shadow:0 10px 28px #172b3f14}
.map-place:is(.is-current,:focus-visible) .map-subtitle{color:#c6d5df}
.map-place:is(.is-current,:focus-visible) .map-symbol{color:#b7ccda}
.map-place:is(.is-current,:focus-visible) .map-box-arrow{opacity:.7}
.map-place:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.map-detail{font-size:12px;line-height:1.65;color:var(--muted);margin:10px 0 0}
.map-insight{position:relative;max-width:460px;min-height:230px;margin-top:36px;border-top:1px solid var(--line);padding-top:28px}
.map-insight-content>span{display:block;font-size:22px;line-height:1.4;color:var(--ink)}
.map-insight-content p{font-size:19px;line-height:1.65;color:var(--muted);margin-top:16px;max-width:440px}
@media(min-width:701px){
 .map-box:not(.map-strategy) .map-place{background:#f2f5f6;border-color:#31597445;box-shadow:none}
 .map-box:not(.map-strategy) .map-place:is(.is-current,:focus-visible){background:#1c3c52;border-color:#1c3c52}
 .map-box:not(.map-strategy) .map-place::before,.map-box:not(.map-strategy) .map-place::after{content:'';position:absolute;left:50%;width:6px;height:6px;box-sizing:border-box;border:1px solid #aebec8;border-radius:50%;background:var(--bg);transform:translate(-50%,-50%);pointer-events:none}
 .map-box:not(.map-strategy) .map-place::before{top:0}
 .map-box:not(.map-strategy) .map-place::after{top:100%}
 .map-box:not(.map-strategy) .map-place:is(.is-current,:focus-visible)::before,.map-box:not(.map-strategy) .map-place:is(.is-current,:focus-visible)::after{border-color:#8ca6b6;background:#b7ccda}
}
@media(min-width:701px){.map-enhanced .map-detail{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
@media(min-width:701px) and (max-width:1100px){.map-place{padding:17px 12px;min-height:140px}.map-place h3{font-size:17px}.map-strategy .map-place{padding:21px 18px;min-height:112px}.map-strategy h3{font-size:20px}.map-subtitle{font-size:10px}.map-strategy .map-subtitle{font-size:11px}.approach-flow .section-heading h2{font-size:30px}.map-insight-content>span{font-size:18px}.map-insight-content p{font-size:16px}.map-insight{min-height:230px}}
@media(prefers-reduced-motion:no-preference){.approach-flow.is-active .map-trace{animation:map-travel 5s ease-out both}.map-insight-content>*{animation:map-detail-arrive .35s ease-out both}}
@keyframes map-detail-arrive{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes map-travel{0%{stroke-dashoffset:.055;opacity:0}15%{opacity:.18}85%{opacity:.12}100%{stroke-dashoffset:-1;opacity:0}}
@media(max-width:700px){
 .approach-flow{min-height:calc(100svh - var(--header-height));padding:140px 0 36px}
 .map-mobile-entry{display:block;position:absolute;top:0;left:0;width:100%;height:120px;pointer-events:none}
 .map-mobile-entry path{stroke:var(--map-line);stroke-width:1;vector-effect:non-scaling-stroke}
 .approach-flow::after{content:'';position:absolute;left:50%;top:96px;bottom:0;border-left:1px solid var(--map-line);pointer-events:none}
 .approach-copy{position:relative;top:auto;width:auto;transform:none}
 .approach-flow .section-heading{margin:0 0 34px;text-align:center;background:var(--bg);padding-block:12px}
 .approach-flow .section-heading h2{font-size:30px;max-width:none}
 .approach-map{position:relative;inset:auto}
 .map-canvas{position:relative;inset:auto;margin-left:0}
 .map-paths{display:none}.map-nodes{position:relative;z-index:1;padding-left:0}
 .map-node{position:relative;left:auto;top:auto;transform:none;width:auto;margin:0 0 24px}
 .map-phase{text-align:center;padding:8px 0;margin-bottom:20px}.map-phase h3{font-size:25px;display:table;margin-inline:auto;padding-inline:12px;background:var(--bg)}
 .map-box::before{content:none}
 .map-place,.map-strategy .map-place{min-height:0;padding:20px}
 .map-box:not(.map-strategy){margin-left:0}
 .map-symbol{width:18px;height:18px;margin-bottom:10px}
 .map-subtitle{max-width:none;min-height:0;font-size:12px}
 .map-strategy .map-subtitle{font-size:12px}
 .map-place:is(.is-current,:focus-visible) .map-detail{color:#c6d5df}
 .map-insight{display:none!important}
 .map-improve{margin-bottom:0}
}
@media(prefers-reduced-motion:reduce){.map-place,.map-subtitle,.map-symbol,.map-box-arrow,.map-path{transition:none}}
@media(forced-colors:active){.map-path,.map-entry,.map-mobile-entry path{stroke:CanvasText}.map-place{border-color:CanvasText}.map-place.is-current{outline:2px solid Highlight}.map-phase h3{color:CanvasText}.map-box::before,.approach-flow::after{border-color:CanvasText}}
@media print{.approach-flow{min-height:800px}}

/* A quiet background thread continues through the people sections and ends in the contact invitation. */
.has-flow-background{position:relative;isolation:isolate}
.has-flow-background>:not(.home-continuation){position:relative;z-index:1}
.home-continuation{position:absolute;top:0;height:100%;overflow:hidden;pointer-events:none;z-index:0;fill:none}
.home-continuation path{vector-effect:non-scaling-stroke;stroke-width:1;stroke-linecap:round}
.home-flow-page .next-step.reveal-ready{opacity:1;transform:none;transition:none}
.home-flow-page .approach-flow{border-bottom:0}
@media(forced-colors:active),print{.home-continuation{display:none}}

/* Repeat the hero's ambient rhythm without outlining the profiles. */
@media(prefers-reduced-motion:no-preference){
 .home-continuation{animation:people-contour-breathe 24s ease-in-out infinite;animation-play-state:paused}
 .flow-in-view:not(.flow-tab-hidden)>.home-continuation{animation-play-state:running}
}
@keyframes people-contour-breathe{0%,100%{opacity:.75}50%{opacity:1}}

/* Portraits occlude the lines; softly feathered glass protects the reading areas. */
.home-flow-page :is(.founding-team,.advisors) .team-identity{background:var(--team-band)}
.home-flow-page .founding-team{--people-mist:19 35 53}
.home-flow-page .advisors{--people-mist:245 247 248}
/* Diffuse mist sits on its own layer beneath the type. */
.home-flow-page :is(.founding-team,.advisors) :is(.team-member>div:not(.team-identity),.section-heading>div,.section-heading>p){position:relative;isolation:isolate;background:transparent}
.home-flow-page :is(.founding-team,.advisors) :is(.team-member>div:not(.team-identity),.section-heading>div,.section-heading>p)::before{content:'';position:absolute;inset:-8px;z-index:-1;pointer-events:none;background:rgb(var(--people-mist) / .9);filter:blur(12px);border-radius:12px}
@media(forced-colors:active),print{
 .home-flow-page :is(.founding-team,.advisors) :is(.team-member>div:not(.team-identity),.section-heading>div,.section-heading>p)::before{display:none}
}

/* Keep heading mist fitted to the words, leaving the contour corridor uninterrupted. */
.home-flow-page :is(.founding-team,.advisors) .section-heading>div{width:fit-content;max-width:100%}

/* The sentence’s blue full stop is also the contour endpoint. */
.home-flow-page .next-step{padding-top:48px;padding-bottom:52px}
.home-flow-page .next-step h2{display:block;width:fit-content;max-width:100%}
.priority-mark{display:inline-block;position:relative;width:.12em;height:.12em;vertical-align:baseline;color:#bdd6ea}
.priority-mark::before{content:'';position:absolute;inset:0;border-radius:50%;background:currentColor}
@media(max-width:700px){.home-flow-page .next-step{padding-top:40px;padding-bottom:44px}}

/* Matching insets balance the invitation around its aligned full stop. */
.home-flow-page .next-step>div{translate:var(--priority-copy-offset,0px) 0}
.home-flow-page .next-step>.button{translate:calc(-1 * var(--priority-copy-offset,0px)) 0}

/* Service-only editorial layout. Keep home and engineering demo artwork intact. */
.services-page main { --service-space: clamp(48px, 6vw, 80px); }
.services-page main > section { min-width: 0; }
.services-page .page-intro { padding-block: 64px 56px; }
.services-page .page-intro h1 { max-width: 840px; }
.services-page .page-intro .lead { max-width: 600px; }
.services-page .service-grid { display: block; }
.services-page .service-grid article {
  position: relative; display: grid; grid-template-columns: 40px minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px; padding: 36px 0; align-items: baseline;
}
.service-index { font-size: 12px; color: var(--muted); }
.services-page .service-grid h2 { margin: 0; font-family: var(--serif); font-size: clamp(28px, 3vw, 38px); line-height: 1.2; }
.service-overview-link { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.service-overview-link::after { content: ''; position: absolute; inset: 0; }
.service-overview-link > span[aria-hidden] { font-family: Plex, sans-serif; font-size: 20px; color: var(--blue); }
.services-page .service-grid article:focus-within { background: #ffffff08; }
.service-overview-copy p { color: var(--muted); font-size: 15px; line-height: 1.75; max-width: 480px; }
.services-page .service-grid .service-output { margin-top: 12px; color: var(--blue); font-size: 13px; }
.services-page .next-step { border-top: 1px solid var(--line); padding-block: 48px 64px; }

.services-page .breadcrumb { padding-top: 24px; gap: 10px; }
.services-page .breadcrumb a { min-height: 44px; }
.services-page .service-hero {
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 88px);
  padding-block: 40px var(--service-space);
}
.services-page .service-hero h1 { font-size: clamp(40px, 4.8vw, 64px); line-height: 1.08; text-wrap: balance; overflow-wrap: normal; }
.services-page .service-hero .eyebrow { margin-bottom: 20px; }
.services-page .service-promise { font-family: Plex, sans-serif; font-size: 19px; line-height: 1.5; margin-top: 24px; color: var(--ink); }
.services-page .service-hero .lead { margin-top: 16px; font-size: 16px; line-height: 1.8; }
.services-page .service-hero .button { margin-top: 28px; max-width: 100%; }
.services-page .service-map { background: none; border: 0; padding: 12px 0 12px 40px; border-left: 1px solid var(--line); }
/* A distinct name prevents the home process icon styles collapsing this visual. */
.service-route-symbol { color: var(--blue); margin-bottom: 24px; }
.service-route-symbol svg { display: block; width: 40px; height: 40px; }
.services-page .service-map figcaption { border: 0; padding-bottom: 24px; font-size: 14px; line-height: 1.7; max-width: 290px; }
.services-page .service-map ol { position: relative; }
.services-page .service-map ol::before { content: ''; position: absolute; left: 13px; top: 22px; bottom: 22px; width: 1px; background: var(--line); }
.services-page .service-map li { position: relative; padding: 12px 0; gap: 18px; font-size: 19px; line-height: 1.5; }
.services-page .map-number { width: 27px; height: 27px; background: var(--bg); border: 0; font-size: 11px; }

.services-page :is(.service-fit, .practice-section, .service-deliverables) {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px;
  padding: var(--service-space) 0; border: 0; border-top: 1px solid var(--line); background: none;
}
.services-page :is(.service-fit .eyebrow, .section-title) { margin: 0; font-size: 12px; line-height: 1.7; letter-spacing: .08em; }
.services-page .service-fit ul { gap: 18px; }
.services-page .service-fit li { padding-left: 0; font-size: 17px; line-height: 1.7; color: var(--muted); }
.services-page .service-fit li::before { content: none; }
.services-page .practice-grid { display: grid; grid-template-columns: 1fr; gap: 28px; }
.services-page .practice-grid article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 28px; }
.services-page .practice-grid h3 { margin: 0; font-size: 19px; line-height: 1.5; }
.services-page .practice-grid p { font-size: 15px; line-height: 1.8; }
.services-page .service-deliverables p { margin-top: 16px; max-width: 290px; font-size: 13px; }
.services-page .service-deliverables ul { gap: 18px; }
.services-page .service-deliverables li { font-size: 16px; }
.services-page :is(.service-example, .service-showcase, .practice-leader, .service-enquiry) { padding-block: var(--service-space); border: 0; border-top: 1px solid var(--line); }
.services-page .service-example { gap: 64px; align-items: center; }
.services-page .service-example .example-note { margin: 24px 0 0; font-size: 12px; line-height: 1.7; }
.services-page .example-flow { padding: 32px; }
.services-page .example-flow strong { font-size: 17px; }
.services-page .delivery-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.services-page .delivery-steps li { border: 0; padding: 0; }
.services-page .delivery-steps h3 { font-size: 20px; margin: 12px 0; }
.services-page .delivery-steps p { font-size: 14px; }
.services-page .practice-leader { grid-template-columns: 104px minmax(0, 600px); gap: 32px; }
.services-page .practice-leader img { width: 104px; aspect-ratio: 1; object-fit: cover; }
.services-page .practice-leader .eyebrow { margin-bottom: 12px; }
.services-page .practice-leader h2 { font-size: 30px; }
.services-page .service-enquiry { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 64px; }
/* The document already reserves the sticky header with scroll-padding. */
.services-page :is(.service-enquiry, .service-showcase, .capability-demo) { scroll-margin-top: 0; }
.services-page .service-enquiry .contact-form { background: none; border: 0; padding: 0; }
.services-page .service-enquiry .enquiry-service { border: 0; padding: 0; margin: 24px 0 8px; }
.services-page .related-services { padding-block: 32px 48px; border-top: 1px solid var(--line); }
.services-page .related-services .eyebrow { margin-bottom: 12px; }
.services-page .related-services .text-link { min-height: 44px; }

@media (max-width: 900px) {
  .services-page .service-grid article { grid-template-columns: 28px minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
  .services-page :is(.service-fit, .practice-section, .service-deliverables) { grid-template-columns: minmax(0, 1fr) minmax(0, 2.4fr); gap: 32px; }
  .services-page .practice-grid article { grid-template-columns: 1fr; gap: 8px; }
  .services-page .service-map { padding-left: 24px; }
  .services-page :is(.service-example, .service-enquiry) { gap: 32px; }
}
@media (max-width: 700px) {
  .services-page .page-intro { padding-block: 36px 40px; }
  .services-page .service-grid article { grid-template-columns: 24px minmax(0, 1fr); gap: 12px 16px; padding-block: 28px; }
  .service-overview-copy { grid-column: 2; }
  .services-page .service-grid h2 { font-size: 30px; }
  .services-page .service-hero { grid-template-columns: 1fr; padding-top: 24px; gap: 36px; }
  .services-page .service-hero h1 { font-size: clamp(36px, 8vw, 48px); }
  .services-page .service-promise { font-size: 18px; }
  .services-page .service-map { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .service-route-symbol { float: left; margin: 0 16px 20px 0; }
  .service-route-symbol svg { width: 28px; height: 28px; }
  .services-page .service-map figcaption { min-height: 28px; max-width: none; padding: 0 0 20px; }
  .services-page .service-map ol { clear: both; }
  .services-page .service-map li { padding-block: 8px; font-size: 17px; }
  .services-page :is(.service-fit, .practice-section, .service-deliverables, .service-example, .service-enquiry) { grid-template-columns: 1fr; gap: 24px; }
  .services-page .service-fit li { font-size: 16px; }
  .services-page .service-deliverables p { max-width: 480px; }
  .services-page .delivery-steps { grid-template-columns: 1fr; gap: 24px; }
  .services-page .delivery-steps li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 6px 16px; align-items: baseline; }
  .services-page .delivery-steps h3 { margin: 0; }
  .services-page .delivery-steps p { grid-column: 2; }
  .services-page .practice-leader { grid-template-columns: 72px minmax(0, 1fr); gap: 20px; align-items: start; }
  .services-page .practice-leader img { width: 72px; }
  .services-page .practice-leader h2 { font-size: 26px; }
  .services-page .practice-leader .actions { gap: 8px 24px; }
  .services-page .practice-leader .eyebrow { font-size: 10px; }
  .services-page .example-flow { padding: 24px; }
  .services-page .related-services > div { display: grid; gap: 4px; }
}
@media (forced-colors: active) {
  .services-page .service-grid article:focus-within { outline: 1px solid Highlight; }
  .services-page .service-map ol::before { background: CanvasText; }
  .services-page .map-number { background: Canvas; }
}

/* Shared mobile navigation; the original links remain available without JS. */
.header-controls{display:contents}
.header-controls[hidden],.mobile-menu-toggle[hidden]{display:none}
.mobile-menu-toggle{display:none}
@media(max-width:700px){
 :root{--header-height:84px}
 .site-header.mobile-nav-ready{display:flex;justify-content:space-between;min-height:84px;height:84px;padding:14px 22px;gap:20px}
 .mobile-menu-toggle:not([hidden]){display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:88px;min-height:48px;padding:8px 0 8px 12px;border:0;background:transparent;color:var(--ink);font:400 14px/1.4 Plex,sans-serif;cursor:pointer}
 .mobile-menu-toggle svg{flex:none}
 .menu-close-icon,.mobile-menu-toggle[aria-expanded=true] .menu-open-icon{display:none}
 .mobile-menu-toggle[aria-expanded=true] .menu-close-icon{display:block}
 .mobile-nav-ready .header-controls:not([hidden]){display:block;position:absolute;inset:100% 0 auto;padding:8px 22px 24px;background:var(--deep);border-bottom:1px solid var(--line);max-height:calc(100svh - 84px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 16px 24px #0003}
 .mobile-nav-ready .header-controls nav{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0}
 .mobile-nav-ready nav>a,.mobile-nav-ready .services-dropdown>summary{justify-content:space-between;min-height:56px;font-size:17px;border-bottom:1px solid var(--line)}
 .mobile-nav-ready nav>a::after,.mobile-nav-ready .services-dropdown>summary::after{content:none}
 .mobile-nav-ready .services-menu{position:static;width:auto;max-width:none;border:0;border-left:1px solid var(--line);margin:8px 0 12px 4px;padding:0 0 0 12px;background:transparent;box-shadow:none;max-height:none;overflow:visible;animation:none}
 .mobile-nav-ready .services-menu a{min-height:48px;padding:12px 8px;font-size:15px;line-height:1.5}
 .mobile-nav-ready .services-menu a:first-child{border:0;margin:0}
 .mobile-nav-ready .language{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding-top:12px;margin:0}
 .mobile-nav-ready #language-label{position:static;clip:auto;width:auto;height:auto;overflow:visible;font-size:15px;color:var(--muted)}
 .mobile-nav-ready .language-trigger{font-size:15px;min-width:112px;min-height:48px}
 .mobile-nav-ready .language-menu{position:static;grid-column:1/-1;max-width:none;width:100%;box-shadow:none;margin-top:4px}
 .mobile-nav-ready .language-option{font-size:16px;min-height:48px}
 .contact-form input,.contact-form textarea{font-size:16px;min-height:48px}
 .capability-index a{font-size:13px;letter-spacing:.02em}
 .map-detail,.map-subtitle,.map-strategy .map-subtitle{font-size:14px;line-height:1.6}
}
@media(forced-colors:active){.mobile-menu-toggle{border:1px solid ButtonText}}
@media print{.site-header.mobile-nav-ready{display:none}}

/* JS owns reversible disclosure motion; avoid competing entrance animations. */
[data-disclosure] .services-menu,[data-disclosure] .walkthrough-guide{animation:none!important}
.services-dropdown[data-expanded=false] summary svg{transform:rotate(0)}
.walkthrough-tips[data-expanded=false] summary>span[aria-hidden],
.capability-detail[data-expanded=false] summary>span:last-child{transform:rotate(0)}
.language-trigger svg,.capability-detail summary>span:last-child{transition:transform 180ms var(--ease-settle)}
.language-trigger,.language-option,.mobile-menu-toggle{transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease}
.site-header{transition:background-color 180ms ease,border-color 180ms ease}
@media(max-width:700px){
 .mobile-menu-toggle .menu-open-icon,.mobile-menu-toggle .menu-close-icon{display:block;transform-origin:12px 12px;transition:opacity 180ms ease,transform 220ms var(--ease-settle)}
 .mobile-menu-toggle .menu-open-icon{opacity:1;transform:rotate(0) scale(1)}
 .mobile-menu-toggle .menu-close-icon{opacity:0;transform:rotate(-45deg) scale(.8)}
 .mobile-menu-toggle[aria-expanded=true] .menu-open-icon{opacity:0;transform:rotate(45deg) scale(.8)}
 .mobile-menu-toggle[aria-expanded=true] .menu-close-icon{opacity:1;transform:rotate(0) scale(1)}
}
