/* V5.2 visual refinement: reading surfaces, bounded motion and the AI route. */
:root{--motion-enter:560ms;--motion-line:420ms;--surface-blue:#f7fafc;--surface-green:#f5faf8}
body{background:#fff}
.site-header{box-shadow:0 4px 24px #102d4800;transition:box-shadow 240ms ease}
.site-header.is-scrolled{box-shadow:0 4px 24px #102d4808}
.desktop-nav a[aria-current=page]{color:var(--blue)}.desktop-nav a[aria-current=page]::after{transform:scaleX(1)}
.services{background:linear-gradient(115deg,#f6f9fb,#fdfefe 75%)}
.applications{background:linear-gradient(180deg,#fff,#f8fbfa)}
.industries{background-image:linear-gradient(90deg,#07588804 1px,transparent 1px);background-size:calc((100% - 2 * var(--gutter))/3) 100%;background-position:var(--gutter) 0}
.practice{background:linear-gradient(110deg,#eef5f6,#f6faf8)}
.insights{background:linear-gradient(180deg,#fff 65%,#f7fafb)}
.contact-band{background-image:radial-gradient(ellipse at 85% 60%,#22856a08,transparent 60%)}
.section-heading h2,.ai-page h2{text-wrap:balance}
/* V5.6: editorial reading rows keep structural rules; feedback belongs to links. */
.inline-link{position:relative;text-decoration:none!important}.inline-link::after{content:"";position:absolute;bottom:3px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 300ms var(--ease)}
.inline-link:hover::after,.inline-link:focus-visible::after{transform:scaleX(1)}.inline-link>span{transition:transform 300ms var(--ease)}.inline-link:is(:hover,:focus-visible)>span{transform:translate(3px,-2px)}
.practice-links{display:flex;gap:12px 28px;flex-wrap:wrap}.practice-links .inline-link{margin-top:18px}
details:is(.service-scope,.application-detail,.record-detail,.ai-direction-detail) summary{transition:color 200ms}
details:is(.service-scope,.application-detail,.record-detail,.ai-direction-detail) summary:hover{color:var(--green)}
@supports(interpolate-size:allow-keywords){details:is(.service-scope,.application-detail,.record-detail,.ai-direction-detail){interpolate-size:allow-keywords}details:is(.service-scope,.application-detail,.record-detail,.ai-direction-detail)::details-content{block-size:0;overflow:clip;transition:block-size 300ms var(--ease),content-visibility 300ms allow-discrete}details:is(.service-scope,.application-detail,.record-detail,.ai-direction-detail)[open]::details-content{block-size:auto}}

/* Two coherent topics; controls stay in one place while the content dissolves. */
.hero-carousel{min-height:696px}.hero-carousel::before{display:none}
.ambient-particles{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;mask-image:linear-gradient(90deg,transparent 55%,#000 75%),linear-gradient(0deg,transparent,#000 25%);mask-composite:intersect}
.ai-hero{position:relative;isolation:isolate}.ai-hero>.wrap{position:relative;z-index:4}
.hero-stage{position:relative;display:grid;min-height:696px}
.hero-slide{grid-area:1/1;position:relative;min-width:0;isolation:isolate;background:#08283b}
.hero-slide::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#08283b 0%,#08283bf7 29%,#08283bc2 49%,#08283b26 78%),linear-gradient(0deg,#04192880,transparent 35%)}
.hero-slide .hero-layout{min-height:696px;max-width:var(--page-width)}
.hero-slide .hero-copy{padding:62px 0 120px;max-width:860px}
.hero-slide .hero-caption{bottom:130px;max-width:190px}
.hero-controls{position:absolute;inset:auto 0 0;z-index:4;display:flex;align-items:center;justify-content:space-between;padding-block:20px 25px;gap:28px}
.hero-controls::before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:#cee4ee33}
.hero-selectors{display:flex;gap:38px}.hero-selectors button{position:relative;min-width:188px;padding:10px 0 14px;text-align:left;color:#acbfcc;font-size:.875rem}
.hero-selectors button>span{font:12px Arial,sans-serif;letter-spacing:.05em;margin-right:14px}
.hero-selectors button i{position:absolute;left:0;bottom:0;height:2px;width:100%;background:#7cd1ae;transform:scaleX(0);transform-origin:left}
.hero-selectors button[aria-pressed=true]{color:#fff}.hero-selectors button[aria-pressed=true]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#b9d6e955;z-index:-1}
.hero-selectors button:hover{color:#fff}
.hero-rotation{order:2;display:flex;align-items:center;gap:12px;min-width:114px;min-height:44px;justify-content:flex-end;color:#d5e4eb;font-size:.875rem}
.hero-rotation [data-rotation-icon]{font:16px Arial,sans-serif;width:18px;text-align:center}.hero-rotation:disabled{cursor:default;color:#c1d4df}
.hero-slide h2{font-family:var(--serif);font-size:clamp(3.25rem,4.25vw,4rem);line-height:1.32;margin-top:28px;color:white;letter-spacing:-.018em}
.hero-slide h2 em{font-style:normal;color:#8bd3b6}
.hero-slide-ai{background:#082c3e}
.hero-slide-ai::before{background:radial-gradient(ellipse at 90% 30%,#15594777,transparent 55%),linear-gradient(100deg,#08283b,#0e3446)}
.hero-slide-ai .hero-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:80px}
.hero-slide-ai .hero-copy{max-width:none}.hero-slide-ai .hero-intro{max-width:34em;font-size:1.0625rem}
.hero-ai-flow{margin-bottom:65px;padding:28px 0 16px;border-top:1px solid #8ac4bd66;border-bottom:1px solid #8ac4bd66}
.hero-ai-flow .small-caps{color:#9acabe}
.hero-ai-flow ol{margin-top:22px}.hero-ai-flow li{display:flex;gap:24px;padding:18px 0;position:relative}
.hero-ai-flow li>span{font:14px/2 Arial,sans-serif;color:#93d2bb;min-width:24px}
.hero-ai-flow li:not(:last-child)::after{content:"";position:absolute;top:48px;bottom:-8px;left:8px;width:1px;background:#78b6aa4d}
.hero-ai-flow h3{font-size:1.1875rem;color:#fff;line-height:1.6}.hero-ai-flow li p{font-size:.875rem;color:#c1d5df;margin-top:5px}.hero-flow-note{font-size:.875rem;color:#9ebfbf;border-top:1px solid #83b5b03d;padding-top:18px;margin-top:14px}
.hero-carousel:has(.hero-slide-ai:not([hidden])) .hero-controls{background:transparent}

/* AI detail: editorial opening and functional workflow, no invented product UI. */
.ai-hero{background:#0b2d42;color:white;padding-block:30px 76px;background-image:radial-gradient(ellipse at 90% 40%,#1b6a5745,transparent 55%)}
.breadcrumb{display:inline-flex;gap:16px;font-size:.875rem;color:#bcd1dc;min-height:44px;align-items:center}.breadcrumb:hover{color:#fff}
.ai-hero-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:100px;align-items:center;margin-top:45px}
.ai-hero h1{font-family:var(--serif);font-size:clamp(2.875rem,4.3vw,4rem);line-height:1.35;color:#fff;margin-top:24px}
.ai-hero-intro{font-size:1.125rem;color:#ccdde6;line-height:1.9;margin-top:26px;max-width:38em}
.ai-hero-index{border-top:1px solid #82adba66;padding-top:24px}.ai-hero-index>.small-caps{color:#8fcdb7}
.ai-hero-index ol{margin-block:20px}.ai-hero-index li{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid #82adba40;align-items:center}
.ai-hero-index li>span{font:14px/1.6 Arial,sans-serif;color:#88c4b6}.ai-hero-index li>p{font-family:var(--serif);font-size:1.5rem}
.ai-hero-index>p{font-size:.875rem;color:#adc9d5;margin-top:20px}
.ai-section-nav{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);gap:38px;min-height:88px;align-items:center}
.ai-section-nav a{font-size:.9375rem;display:flex;justify-content:space-between;gap:20px;align-items:center;padding-block:18px}.ai-section-nav a>span{font:12px Arial,sans-serif;color:var(--green)}
.ai-section-nav a:hover{color:var(--blue)}
.ai-reporting{background:linear-gradient(180deg,#fff 60%,#f8fbfc)}.ai-reporting .section-heading{margin-bottom:40px}
.ai-report-summary{display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;gap:32px;background:#edf4f5;padding:36px 40px;align-items:center;border-top:2px solid var(--green)}
.ai-report-summary h3{font-size:1.5rem;color:var(--navy);margin-top:10px}.ai-report-summary p{font-size:1rem;color:var(--muted);margin-top:12px;max-width:22em}.ai-link-arrow{color:var(--green);font-size:26px}
.ai-workflow-heading{display:flex;justify-content:space-between;align-items:baseline;gap:30px;margin-top:48px}.ai-workflow-heading h3{font-size:1.25rem;color:var(--navy)}.ai-workflow-heading>p{font-size:.875rem;color:var(--muted)}
.ai-workflow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin-top:28px}
.ai-workflow li{position:relative;border-top:1px solid #9bb8c5;padding-top:24px}.ai-workflow li::before{content:"";position:absolute;left:0;top:-3px;width:5px;height:5px;background:var(--green)}.ai-workflow li>span{font:12px/1.6 Arial,sans-serif;color:#47758a}
.ai-workflow h3{font-size:1.125rem;margin-top:16px;color:var(--navy)}.ai-workflow p{font-size:1rem;line-height:1.85;margin-top:10px;color:var(--muted)}
.ai-scope-note{font-size:.875rem;color:var(--muted);line-height:1.85;border-top:1px solid var(--line);margin-top:32px;padding-top:20px}
.ai-reporting .inline-link{margin-top:18px}
.ai-directions{background:linear-gradient(120deg,#f4f8fa,#fbfdfd)}
.ai-direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.ai-direction-grid article{padding:28px;background:#ffffffb3;border-top:1px solid #afc6d0;display:flex;flex-direction:column;align-items:flex-start}
.ai-direction-grid h3{font-size:1.5rem;color:var(--navy);margin-top:20px}.ai-direction-grid article>p{font-size:1rem;color:var(--muted);margin-top:16px;line-height:1.9}
.ai-direction-grid dl{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.ai-direction-grid dt{font-size:.875rem;font-weight:500;color:var(--blue)}.ai-direction-grid dd{font-size:1rem;color:var(--muted);line-height:1.9;margin-top:8px}
.ai-direction-detail{width:100%;margin-top:18px;margin-bottom:16px}.ai-direction-detail summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.875rem;color:var(--blue);cursor:pointer;padding-block:10px}
.ai-direction-detail summary::-webkit-details-marker{display:none}.ai-direction-detail summary>span{font-size:20px;transition:transform 250ms}.ai-direction-detail[open] summary>span{transform:rotate(45deg)}.ai-direction-detail p{font-size:1rem;color:var(--muted);line-height:1.85;padding-top:10px}
.ai-direction-grid .inline-link{margin-top:auto}
.ai-evaluation-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}
.ai-evaluation-intro{border-top:2px solid var(--green);padding-top:28px}.ai-evaluation-intro h3{font-family:var(--serif);font-size:2.125rem;color:var(--navy);line-height:1.5;margin-top:20px}.ai-evaluation-intro>p{font-size:1rem;color:var(--muted);max-width:27em;margin-top:20px}.ai-evaluation-intro .inline-link{margin-top:26px}
.ai-evaluation-steps li{border-top:1px solid var(--line);padding-block:24px;display:flex;gap:28px}.ai-evaluation-steps li>span{font:14px/1.8 Arial,sans-serif;color:var(--green)}
.ai-evaluation-steps h3{font-size:1.1875rem;color:var(--navy)}.ai-evaluation-steps p{font-size:1rem;color:var(--muted);line-height:1.85;margin-top:10px}
.ai-boundary{background:#103349;color:white;padding-block:68px}.ai-boundary .wrap>div{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;margin-top:24px}
.ai-boundary h2{font-family:var(--serif);font-size:2.375rem;line-height:1.5;color:#fff}.ai-boundary p:not(.eyebrow){font-size:1rem;color:#c4d9e4;line-height:1.9}
.ai-boundary .hero-secondary{margin-top:28px}
@media(max-width:1450px){.brand>span{display:none}.desktop-nav{gap:22px}.hero-slide-ai .hero-layout{gap:50px;grid-template-columns:1.8fr 1fr}.hero-slide-ai h2{font-size:3.5rem}.hero-slide .hero-caption{max-width:150px}.ai-hero-layout{gap:70px}.ai-evaluation-grid{gap:70px}.ai-direction-grid{gap:24px}.ai-direction-grid article{padding:24px}}
@media(max-width:1100px){.hero-slide-ai h2{font-size:3rem}.hero-slide-ai .hero-layout{gap:30px;grid-template-columns:1.6fr 1fr}.hero-slide-ai .hero-intro br{display:none}.hero-slide .hero-caption{display:none}.ai-hero-layout{gap:40px}.ai-hero-index li>p{font-size:1.25rem}.ai-report-summary{gap:20px;padding:28px}.ai-direction-grid{gap:18px}.ai-direction-grid article{padding:20px}.ai-evaluation-grid{gap:40px}.ai-boundary .wrap>div{gap:50px}}
@media(max-width:850px){.hero-stage,.hero-slide .hero-layout{min-height:730px}.hero-slide .hero-copy{padding:55px 0 126px}.hero-slide-ai .hero-layout{display:block}.hero-slide-ai h2{font-size:clamp(2rem,5.5vw,3rem)}.hero-ai-flow{display:none}.hero-selectors{gap:20px;flex:1}.hero-selectors button{min-width:0;flex:1;font-size:.8125rem}.hero-selectors button>span{margin-right:5px}.hero-controls{gap:15px}.hero-rotation{min-width:44px}.hero-rotation [data-rotation-text]{display:none}.ai-hero-layout{grid-template-columns:1fr;gap:40px;margin-top:28px}.ai-hero{padding-bottom:50px}.ai-hero-index li{padding-block:16px}.ai-section-nav{gap:20px;grid-template-columns:1fr 1fr;padding-block:14px}.ai-report-summary{grid-template-columns:1fr;gap:16px}.ai-link-arrow{transform:rotate(90deg)}.ai-workflow{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.ai-workflow-heading{display:block}.ai-workflow-heading>p{margin-top:8px}.ai-direction-grid,.ai-evaluation-grid{grid-template-columns:1fr;gap:30px}.ai-boundary .wrap>div{grid-template-columns:1fr;gap:24px}.ai-boundary h2{font-size:2rem}.ai-page .contact-band{display:flex}}
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}
 .site-header{view-transition-name:site-header}
 ::view-transition-group(*){animation-duration:260ms;animation-timing-function:ease}
 ::view-transition-old(root){animation:mhc-page-out 180ms ease both}
 ::view-transition-new(root){animation:mhc-page-in 260ms var(--ease) both}
 @keyframes mhc-page-out{to{opacity:0}}@keyframes mhc-page-in{from{opacity:0}to{opacity:1}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ambient-particles{display:none}*,*::before,*::after{animation:none!important;transition:none!important}.insight-card:hover{transform:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
