/* Shared identity, four deliberately different editorial compositions. */
.main-nav > a[aria-current="location"]::after { transform: scaleX(1); }
.detail-page h1 { white-space: normal; }
.detail-page h2 { font-size: clamp(37px, 4.1vw, 61px); line-height: 1.08; letter-spacing: -1.4px; }
.detail-page p { text-wrap: pretty; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 11px; align-items: center; font-size: 12px; line-height: 1.7; }
.breadcrumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
.breadcrumb > span[aria-hidden] { color: #947237; }
.detail-eyebrow { display: flex; align-items: center; gap: 18px; margin-bottom: 25px; }
.detail-eyebrow > span { flex-basis: 83px; }
.detail-prose { font-size: 19px; line-height: 1.65; }
.detail-prose p + p { margin-top: 22px; }
.detail-note { border-top: 1px solid var(--brass); padding-top: 19px; margin-top: 26px; font-size: 13px; line-height: 1.65; }
.website-cover { display: grid; grid-template-columns: 43% 57%; background: var(--ivory); }
.website-cover-copy { padding: 24px 35px 50px var(--gutter); }
.website-cover .breadcrumb { margin-bottom: 40px; }
.website-cover h1 { font-size: clamp(47px, 4.45vw, 68px); line-height: 1.02; max-width: 550px; margin-bottom: 25px; letter-spacing: -1.7px; }
.website-cover-copy > p:last-child { font-size: 21px; line-height: 1.5; max-width: 440px; }
.website-cover-photo { min-height: 530px; }
.website-cover-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.website-value { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding-block: 65px 70px; align-items: center; }
.website-value h2 { max-width: 480px; }
.website-value .detail-prose { max-width: 620px; }
.website-value strong { display: block; font-size: 18px; font-weight: 600; color: var(--ink); margin-top: 20px; }
.website-scope { background: var(--ivory); }
.website-scope-inner { display: grid; grid-template-columns: 1.05fr 1fr; gap: 50px; align-items: center; padding-block: 43px; }
.website-scope-photo { height: 440px; margin: 0; overflow: hidden; }
.website-scope-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 73% center; }
.website-scope h2 { max-width: 500px; margin-bottom: 28px; }
.website-scope .detail-prose { max-width: 560px; }
.apps-cover { position: relative; isolation: isolate; color: white; background: var(--navy); overflow: hidden; }
.apps-cover-photo { position: absolute; inset: 0; z-index: -2; }
.apps-cover-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 63% center; }
.apps-cover::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #102939fa 0%, #102939df 28%, #10293960 53%, #10293900 77%); }
.apps-cover-copy { min-height: 580px; padding-block: 24px 55px; }
.apps-cover .breadcrumb { margin-bottom: 38px; color: #e4e8ea; }
.apps-cover .breadcrumb > span[aria-hidden] { color: #d3b879; }
.apps-cover .eyebrow { color: white; }
.apps-cover h1 { max-width: 690px; font-size: clamp(55px, 5.3vw, 81px); line-height: 1.02; letter-spacing: -1.8px; margin-bottom: 25px; }
.apps-cover-copy > p:last-child { color: white; max-width: 550px; font-size: 22px; line-height: 1.5; }
.apps-editorial { background: var(--ivory); }
.apps-editorial-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; padding-block: 67px; }
.apps-words { font-family: var(--serif); font-size: clamp(75px, 8.6vw, 137px); line-height: .98; letter-spacing: -3.5px; color: var(--ink); }
.apps-words span { display: block; }
.apps-editorial-copy { border-left: 1px solid var(--brass); padding: 30px 0 30px 62px; }
.apps-editorial-copy h2 { font-size: clamp(34px, 3.6vw, 53px); margin-bottom: 28px; }
.apps-editorial-copy p { font-size: 20px; line-height: 1.65; }
.apps-scope { padding-block: 50px 58px; }
.apps-scope-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; border-top: 1px solid var(--brass); padding-top: 40px; }
.apps-scope h2 { max-width: 480px; }
.apps-scope .detail-note { border-top: 0; padding-top: 0; font-size: 14px; }
.ai-cover { background: var(--ivory); }
.ai-cover .breadcrumb { padding-top: 24px; }
.ai-cover-inner { display: grid; grid-template-columns: 1.12fr 1fr; gap: 28px; align-items: center; padding-block: 40px 52px; }
.ai-cover h1 { font-size: clamp(60px, 6.6vw, 96px); line-height: .98; letter-spacing: -2.7px; max-width: 650px; margin-bottom: 27px; }
.ai-cover-copy > p:last-child { font-size: 22px; line-height: 1.5; max-width: 610px; }
.ai-cover-art { margin: 0; min-width: 0; }
.ai-cover-art img { width: 100%; height: auto; max-height: 570px; object-fit: contain; }
.ai-statement { background: var(--navy); color: white; }
.ai-statement-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; align-items: center; padding-block: 59px 63px; }
.ai-statement h2 { max-width: 650px; font-size: clamp(42px, 4.5vw, 67px); }
.ai-statement p { color: #f0f0eb; font-size: 22px; line-height: 1.6; max-width: 540px; }
.ai-examples { display: grid; grid-template-columns: .72fr 1fr; gap: 85px; padding-block: 54px 56px; }
.ai-examples h2 { font-size: clamp(42px, 4.8vw, 70px); max-width: 360px; }
.ai-task-list { margin: 0 0 28px; padding: 0; list-style: none; }
.ai-task-list li { font-family: var(--serif); font-size: 31px; line-height: 1.2; padding-block: 19px; border-bottom: 1px solid var(--brass); letter-spacing: -.5px; }
.ai-task-list li:first-child { padding-top: 0; }
.ai-examples .detail-prose { font-size: 17px; }
.ai-examples .detail-note { font-size: 12px; }
.consult-intro > .breadcrumb-wrap { padding-top: 24px; }
.consult-heading { text-align: center; padding-block: 34px 43px; }
.consult-heading .detail-eyebrow { justify-content: center; margin-bottom: 26px; }
.consult-heading .detail-eyebrow > span { flex-basis: 78px; }
.consult-heading h1 { font-size: clamp(47px, 4.8vw, 72px); max-width: 1400px; margin: 0 auto 10px; line-height: 1.07; letter-spacing: -1.8px; text-wrap: balance; }
.consult-heading .consult-subtitle { font-family: var(--serif); color: #967136; font-style: italic; font-size: clamp(44px, 4.7vw, 71px); line-height: 1.08; letter-spacing: -1.2px; margin-bottom: 25px; }
.consult-heading > p:last-child { max-width: 1030px; margin-inline: auto; font-size: 21px; line-height: 1.6; }
.consult-panorama { margin: 0; height: clamp(330px, 36vw, 530px); }
.consult-panorama img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.consult-editorial { background: var(--ivory); }
.consult-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 120px; max-width: 1430px; padding-top: 50px; }
.consult-columns h2 { max-width: 530px; margin-bottom: 24px; }
.consult-columns p { font-size: 20px; line-height: 1.65; max-width: 510px; }
.consult-conclusion { padding-block: 37px 42px; text-align: center; }
.consult-conclusion::before { content: ''; display: block; width: min(400px, 75%); height: 1px; background: var(--brass); margin: 0 auto 24px; }
.consult-conclusion p { font-family: var(--serif); color: var(--ink); font-size: 34px; line-height: 1.2; letter-spacing: -.7px; }
.detail-page .programs-start-inner { padding-block: 43px 46px; }
.detail-page .programs-start h2 { font-size: clamp(35px, 3.55vw, 55px); }
.detail-page .programs-start-link { margin-top: 0; }
@media (max-width: 1100px) {
  .website-cover { grid-template-columns: 47% 53%; }
  .website-cover-copy { padding-right: 28px; }
  .website-cover h1 { font-size: 52px; }
  .website-cover-copy > p:last-child { font-size: 18px; }
  .website-value, .website-scope-inner, .apps-scope-inner, .ai-examples { gap: 45px; }
  .website-scope-photo { height: 400px; }
  .detail-prose { font-size: 17px; }
  .apps-editorial-inner { gap: 35px; }
  .apps-editorial-copy { padding-left: 38px; }
  .apps-editorial-copy p { font-size: 18px; }
  .ai-cover-inner { gap: 18px; }
  .ai-cover h1 { font-size: 69px; }
  .ai-cover-copy > p:last-child { font-size: 19px; }
  .ai-statement-inner { gap: 50px; }
  .ai-statement p { font-size: 19px; }
  .ai-task-list li { font-size: 27px; }
  .consult-columns { gap: 65px; }
  .consult-columns p { font-size: 18px; }
}
@media (max-width: 760px) {
  .detail-page h2 { font-size: 37px; letter-spacing: -.8px; }
  .breadcrumb { font-size: 11px; gap: 9px; }
  .detail-eyebrow { font-size: 8px; letter-spacing: 2.3px; gap: 15px; margin-bottom: 20px; }
  .detail-eyebrow > span { flex-basis: 65px; }
  .website-cover { grid-template-columns: 1fr; }
  .website-cover-copy { padding: 22px var(--gutter) 34px; }
  .website-cover .breadcrumb { margin-bottom: 29px; }
  .website-cover h1 { font-size: clamp(43px, 7.8vw, 58px); max-width: 550px; margin-bottom: 20px; letter-spacing: -1.1px; }
  .website-cover-copy > p:last-child { font-size: 17px; max-width: 510px; }
  .website-cover-photo { min-height: 0; height: 265px; }
  .website-value { grid-template-columns: 1fr; gap: 25px; padding-block: 42px; }
  .website-value .detail-prose { font-size: 16px; }
  .website-value strong { font-size: 16px; }
  .website-scope-inner { grid-template-columns: 1fr; gap: 29px; padding-block: 30px 40px; }
  .website-scope-photo { height: 290px; }
  .website-scope h2 { margin-bottom: 20px; }
  .detail-prose { font-size: 16px; }
  .detail-note { font-size: 12px; }
  .apps-cover-copy { min-height: 560px; padding-block: 22px 40px; }
  .apps-cover .breadcrumb { margin-bottom: 38px; }
  .apps-cover h1 { font-size: clamp(45px, 8vw, 63px); line-height: 1.04; letter-spacing: -1.2px; max-width: 500px; }
  .apps-cover-copy > p:last-child { font-size: 18px; max-width: 430px; }
  .apps-cover-photo img { object-position: 61% center; }
  .apps-cover::after { background: linear-gradient(90deg, #102939f5, #102939ce 45%, #1029396b); }
  .apps-editorial-inner { grid-template-columns: 1fr; gap: 28px; padding-block: 43px; }
  .apps-words { font-size: clamp(56px, 15vw, 100px); letter-spacing: -2px; }
  .apps-editorial-copy { border-left: 0; border-top: 1px solid var(--brass); padding: 27px 0 0; }
  .apps-editorial-copy h2 { font-size: 36px; margin-bottom: 20px; max-width: 500px; }
  .apps-editorial-copy p { font-size: 16px; }
  .apps-scope { padding-block: 35px 40px; }
  .apps-scope-inner { grid-template-columns: 1fr; gap: 24px; padding-top: 28px; }
  .ai-cover .breadcrumb { padding-top: 22px; }
  .ai-cover-inner { grid-template-columns: 1fr; padding-block: 28px 25px; gap: 25px; }
  .ai-cover h1 { font-size: clamp(54px, 10vw, 73px); max-width: 530px; letter-spacing: -1.5px; margin-bottom: 22px; }
  .ai-cover-copy > p:last-child { font-size: 17px; }
  .ai-cover-art { width: 100%; max-width: 420px; justify-self: center; }
  .ai-cover-art img { max-height: 310px; }
  .ai-statement-inner { grid-template-columns: 1fr; gap: 25px; padding-block: 40px; }
  .ai-statement h2 { font-size: 43px; max-width: 520px; }
  .ai-statement p { font-size: 17px; }
  .ai-examples { grid-template-columns: 1fr; gap: 29px; padding-block: 40px; }
  .ai-examples h2 { font-size: 43px; max-width: 350px; }
  .ai-task-list li { font-size: 26px; }
  .ai-examples .detail-prose { font-size: 15px; }
  .consult-intro > .breadcrumb-wrap { padding-top: 22px; }
  .consult-heading { padding-block: 32px 32px; }
  .consult-heading .detail-eyebrow { gap: 13px; margin-bottom: 22px; }
  .consult-heading .detail-eyebrow > span { flex-basis: 50px; }
  .consult-heading h1 { font-size: clamp(39px, 7.5vw, 53px); line-height: 1.06; letter-spacing: -1px; margin-bottom: 14px; }
  .consult-heading .consult-subtitle { font-size: clamp(37px, 7vw, 50px); letter-spacing: -.8px; margin-bottom: 22px; }
  .consult-heading > p:last-child { font-size: 16px; max-width: 540px; }
  .consult-panorama { height: 270px; }
  .consult-panorama img { object-position: 52% center; }
  .consult-columns { grid-template-columns: 1fr; gap: 34px; padding-top: 39px; }
  .consult-columns h2 { margin-bottom: 18px; max-width: 470px; }
  .consult-columns p { font-size: 16px; }
  .consult-conclusion { padding-block: 30px 37px; }
  .consult-conclusion p { font-size: 28px; }
  .detail-page .programs-start-inner { padding-block: 35px 38px; }
  .detail-page .programs-start h2 { font-size: 38px; }
  .detail-page .programs-start-link { margin-top: 26px; }
}
@media (max-width: 390px) {
  .apps-cover-copy { min-height: 540px; }
  .apps-cover h1 { font-size: 43px; }
  .website-cover h1 { font-size: 43px; }
  .website-cover-photo { height: 235px; }
  .website-scope-photo { height: 255px; }
  .ai-cover h1 { font-size: 53px; }
  .ai-cover-art img { max-height: 265px; }
  .consult-panorama { height: 230px; }
}
