/* The finished Design A site. The original A/B concepts remain separate. */
html { scroll-padding-top:118px; }
.header-inner { gap:24px; }
.site-nav { gap:24px; }
.site-nav>a,.header-link { font-size:14px; }
.site-nav .ai-nav-link { color:var(--accent); }
.site-nav .ai-nav-link::before { content:""; width:5px; height:5px; display:inline-block; border:1px solid currentColor; border-radius:50%; margin-right:7px; vertical-align:middle; }
.site-nav>a { border-radius:0; }
.hero-disciplines span,.hero-bottom p,.section-kicker,.eyebrow { font-size:12px; }
.hero-lede { font-size:17px; }
.intro-support p,.expertise-description,.accelerator-copy>p,.accelerator-item p,.engagement-card p { font-size:16px; }
.metric p { font-size:14px; max-width:205px; }
/* The introduction follows the selected theme, including its fixed-color details. */
html[data-theme="dark"] .intro-section { background:var(--surface); color:var(--text); }
html[data-theme="dark"] .intro-main h2 span,
html[data-theme="dark"] .intro-support p,
html[data-theme="dark"] .intro-section .section-kicker,
html[data-theme="dark"] .metric p { color:var(--muted); }
html[data-theme="dark"] .intro-support .text-link { color:var(--text); }
html[data-theme="dark"] .metric strong span { color:var(--secondary); }
html[data-theme="dark"] .metrics-grid,
html[data-theme="dark"] .metric { border-color:var(--line); }
html[data-theme="dark"] .intro-section .section-kicker::after { background:var(--line); }
.text-link { font-size:14px; }
.page-hero { padding:95px 0 80px!important; }
.page-hero h1 { font-size:clamp(3.2rem,6.8vw,6.5rem); max-width:1200px; line-height:1.04; }
.page-hero p:not(.eyebrow) { font-size:17px; max-width:730px; }
.section-head h2 { max-width:1040px; font-size:clamp(2.1rem,3.7vw,3.6rem); }
.service-index { display:flex; justify-content:space-between; flex-wrap:wrap; gap:18px 28px; padding-block:29px; border-bottom:1px solid var(--line); }
.service-index a { font-size:14px; color:var(--muted); padding:6px 0; }
.service-index a:hover { color:var(--accent); }
.services-grid-dense .service-card { min-height:200px; padding:35px; }
.services-grid-dense .service-card h3 { font-size:23px; line-height:1.25; margin-bottom:15px; }
.services-grid-dense .service-card p { font-size:16px; }
.services-grid-dense .service-card h3>a { text-decoration:underline; text-underline-offset:5px; text-decoration-color:var(--accent); }
.services-grid-dense .service-card h3>a span { color:var(--accent); }
.service-card p,.pillar-card p,.faq-card p,.visual-card p,.mini-list li { font-size:16px; }
.process-grid { display:block; }
.process-step { grid-template-columns:65px minmax(190px,1fr) 1.2fr; gap:35px; padding:34px 0; }
.process-step h3 { font-size:clamp(27px,3vw,43px); line-height:1.15; }
.process-step p { font-size:16px; }
.process-step>span { font-size:14px; }
.partner-introduction { border-top:1px solid var(--line); }
.partner-introduction h2 { max-width:900px; margin-bottom:25px; }
.partner-introduction p:not(.eyebrow) { max-width:620px; font-size:17px; }
.partner-introduction .btn { margin-top:30px; }
.partner-choice-card p:not(.work-tag) { font-size:16px!important; }
.partner-choice-card .work-tag { font-size:12px!important; }
.contact-office-card { border:1px solid #34464d; border-top:2px solid var(--orange); background:#10222b; color:#f2f3ef; }
.contact-office-card h2 { font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#b4c3cb; }
.contact-office-card .contact-invitation { font-size:clamp(52px,5.6vw,85px); font-weight:400; line-height:1.04; letter-spacing:-.055em; margin:40px 0 28px; }
.contact-invitation em { color:var(--orange); font-family:Georgia,serif; font-weight:400; }
.contact-office-card>p { color:#bac9d1; }
.contact-office-card .office-contact-actions { padding-top:40px; }
.contact-office-card .btn-secondary { color:#e4ebee; border-color:#50616b; }
.contact-office-card .btn-secondary:hover,
.contact-office-card .btn-secondary:focus-visible { background:#e4ebee; color:#10222b; border-color:#e4ebee; }
.contact-office-card .btn { width:100%; justify-content:space-between; }
.contact-panel h2 { margin-bottom:20px; }
.contact-panel>p { font-size:16px; }
.contact-steps li p { font-size:15px; }
.site-footer p,.site-footer a,.site-footer li { font-size:14px; }
.footer-meta p,.footer-meta a { font-size:12px; }
.js .reveal.is-visible { animation-duration:.6s; }

/* A doorway into the AI experience, with A's original identity around it. */
.ai-portal-section { padding:0 0 112px; }
.ai-portal { position:relative; overflow:hidden; min-height:510px; isolation:isolate; padding:65px 55px; color:#f2f3ef; background:#04070b; }
.ai-portal-art { position:absolute; inset:0; z-index:-2; }
.ai-portal-art img { width:100%; height:100%; object-fit:cover; object-position:80% center; transform:translateX(23%); opacity:.9; }
.ai-portal::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#04070b 0%,#04070bf5 24%,#04070bc2 45%,#04070b18 80%); }
.ai-portal-copy { max-width:580px; }
.ai-portal .eyebrow { color:#f3ab85; font-size:12px; margin-bottom:28px; }
.ai-portal h2 { font-size:clamp(42px,4.4vw,68px); line-height:1.08; font-weight:400; letter-spacing:-.055em; }
.ai-portal h2 em { color:#abc6d1; font-family:Georgia,serif; font-weight:400; }
.ai-portal p:not(.eyebrow) { font-size:16px; color:#a9bcc6; max-width:400px; margin:26px 0 30px; }
.ai-portal .btn { background:#dce7e5; color:#102028; border-color:#dce7e5; font-size:14px; }
.ai-portal .btn:hover { background:#ffac83; border-color:#ffac83; }
.ai-portal-credit { display:block; margin-top:25px; color:#879da9; font-size:12px; }

@media(min-width:1081px) { .site-nav .mobile-nav-cta { display:none!important; } }
@media(max-width:1180px) {
  .header-inner { gap:19px; }
  .site-nav { gap:19px; }
  .brand-logo { width:151px; }
  .header-actions { gap:14px; }
  .service-index { gap:15px; }
  .service-index a { font-size:13px; }
  .ai-portal { padding:55px 40px; }
}
@media(max-width:1080px) {
  .header-inner { min-height:80px; }
  .header-actions { margin-left:auto; }
  .header-link { display:none; }
  .nav-toggle { display:inline-flex!important; order:3; width:40px; height:40px; border:1px solid var(--line); border-radius:50%; padding:10px; background:none; }
  .nav-toggle span { width:17px; height:1px; }
  .nav-toggle span:first-child { top:15px; }
  .nav-toggle span:last-child { top:23px; }
  .nav-toggle[aria-expanded="true"] span:first-child,.nav-toggle[aria-expanded="true"] span:last-child { top:19px; }
  .site-nav { position:fixed; top:80px; left:0; right:0; width:100%; display:flex; align-items:stretch; flex-direction:column; gap:0; background:var(--bg); padding:24px 32px 34px; border-bottom:1px solid var(--line); box-shadow:0 20px 40px #0003; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-12px); max-height:calc(100svh - 80px); overflow:auto; transition:opacity .25s,transform .25s,visibility .25s; }
  .site-nav.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
  .site-nav>a { width:100%; font-size:24px; padding:15px 0; border-bottom:1px solid var(--line); text-align:left; justify-content:flex-start; color:var(--text); }
  .site-nav>a::after { display:none; }
  .site-nav .mobile-nav-cta { display:inline-flex!important; width:auto!important; align-self:flex-start; color:#101d24; background:var(--orange); border:0; padding:15px 23px; margin-top:22px; font-size:15px; }
  .site-nav .mobile-nav-cta:hover { color:#101d24; background:#ff926b; }
  .site-nav>a[aria-current="page"] { color:var(--accent); background:none; }
}
@media(max-width:850px) {
  .process-step { grid-template-columns:40px 1fr 1.2fr; gap:24px; }
  .process-step h3 { font-size:31px; }
  .ai-portal-section { padding-bottom:75px; }
  .ai-portal { min-height:500px; padding:48px 35px; }
  .ai-portal-art img { transform:translateX(26%); max-width:none; }
  .ai-portal h2 { font-size:49px; }
  .ai-portal-copy { max-width:440px; }
  .ai-portal p:not(.eyebrow) { max-width:330px; }
  .page-hero { padding:65px 0!important; }
}
@media(max-width:560px) {
  .site-nav { padding-inline:20px; }
  .hero-lede { font-size:16px; }
  .hero-disciplines span,.hero-content .eyebrow { font-size:12px; }
  .hero-disciplines { max-width:280px; gap:5px 10px; }
  .hero-disciplines span+span::before { margin-right:10px; }
  .hero-disciplines span:nth-child(3)::before { display:none; }
  .signal-label { display:none; }
  .home-hero h1 { font-size:clamp(47px,12.1vw,70px); }
  .hero-links .text-link { font-size:14px; }
  .metric p { font-size:13px; }
  .section-kicker { font-size:12px; gap:14px; }
  .section-kicker::after { width:20px; }
  .eyebrow { font-size:12px; }
  .intro-main h2 { font-size:36px; }
  .expertise-description { font-size:15px; }
  .expertise-row { grid-template-columns:22px 1fr 33px; gap:10px; }
  .expertise-title { font-size:29px; }
  .expertise-number { font-size:12px; }
  .page-hero h1 { font-size:clamp(38px,10.7vw,52px); }
  .page-hero p:not(.eyebrow) { font-size:16px; }
  .service-index { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding-block:23px; }
  .service-index a { font-size:13px; }
  .services-grid-dense .service-card { min-height:0; padding:28px; }
  .services-grid-dense .service-card h3 { font-size:23px; }
  .process-step { grid-template-columns:28px 1fr; gap:13px 17px; }
  .process-step p { grid-column:2; }
  .process-step h3 { font-size:30px; }
  .ai-portal-section { padding-bottom:65px; }
  .ai-portal { width:100%; min-height:630px; padding:45px 25px; display:flex; align-items:flex-end; }
  .ai-portal-art { bottom:auto; height:400px; }
  .ai-portal-art img { transform:none; object-position:center; }
  .ai-portal::before { background:linear-gradient(180deg,#04070b00 5%,#04070b38 26%,#04070bf5 43%,#04070b 75%); }
  .ai-portal-copy { max-width:100%; }
  .ai-portal h2 { font-size:45px; }
  .ai-portal .eyebrow { margin-bottom:22px; }
  .ai-portal p:not(.eyebrow) { margin:22px 0 26px; font-size:16px; }
  .ai-portal-credit { font-size:12px; }
  .contact-panel,.contact-office-card { padding:27px; }
  .contact-office-card .btn { font-size:14px; justify-content:center; }
  .site-footer a,.site-footer li { font-size:14px; }
  .footer-meta { flex-wrap:wrap; }
  .footer-meta p { font-size:12px; }
}
