/* Nos expertises — isolated editorial layouts; content is visible without JS. */
.expertises-page { overflow: clip; }
.expertises-page h2, .expertises-page h3, .expertises-page p, .expertises-page figure { margin: 0; }
.expertises-page h2 { font-size: clamp(2.7rem, 4.8vw, 5.4rem); line-height: 1.07; letter-spacing: -.055em; font-weight: 400; }
.expertises-page h2 em, .expertises-page h3 em { font-family: var(--serif); font-weight: 400; color: var(--gold); }
.expertises-page h3 { font-weight: 400; }
.expertises-page p { font-size: 1rem; line-height: 1.75; }
.expertises-page .expertises-page__eyebrow { font-size: .69rem; letter-spacing: .13em; text-transform: uppercase; color: var(--gold); line-height: 1.6; margin-bottom: 1.5rem; }
.expertises-intro { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: clamp(2rem, 5vw, 6rem); padding-block: clamp(3rem, 6vw, 7rem) clamp(4rem, 8vw, 9rem); }
.expertises-intro h1 { font-size: clamp(3rem, 5.8vw, 7rem); line-height: 1.05; letter-spacing: -.06em; }
.expertises-intro .expertises-intro__lead { max-width: 31rem; margin-top: 2.2rem; font-size: clamp(1.13rem, 1.5vw, 1.5rem); line-height: 1.5; letter-spacing: -.02em; }
.expertises-intro .expertises-intro__description { max-width: 31rem; margin-top: 1.1rem; color: #b8b8b4; font-size: .93rem; }
.expertises-intro__visual { position: relative; }
.expertises-intro__visual img { display: block; width: 100%; height: clamp(22rem, 36vw, 39rem); object-fit: cover; object-position: 85% center; }
.expertises-intro__visual figcaption { padding-top: 1.1rem; font-size: .8rem; line-height: 1.7; }
.expertises-intro__visual figcaption span { color: #b8b8b4; }
.expertises-index { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem; padding-block: 1.4rem; border-block: 1px solid var(--rule); }
.expertises-index a { display: flex; gap: .7rem; justify-content: space-between; align-items: center; min-height: 48px; font-size: .85rem; }
.expertises-index a span { color: var(--gold); font-size: 1.1rem; transition: transform .25s; }
.expertises-index a:hover span { transform: translate(3px, 3px); }
.expertise { padding-block: clamp(5rem, 9vw, 10rem); scroll-margin-top: 2rem; }
.expertise--direction, .expertise--contact { display: grid; grid-template-columns: 1.2fr .8fr; gap: 4rem clamp(3rem, 7vw, 8rem); }
.expertise__body { max-width: 37rem; }
.expertises-page .expertise__need { font-size: clamp(1.15rem, 1.8vw, 1.65rem); line-height: 1.5; letter-spacing: -.025em; margin-bottom: 1.4rem; }
.expertise__body > p:not(.expertise__need), .expertise-image__copy > p:not(.expertise__need):not(.expertises-page__eyebrow) { color: #b8b8b4; font-size: .94rem; }
.expertises-page .expertise__body h3, .expertises-page .expertise-image__copy h3 { font-size: .8rem; color: var(--gold); margin-top: 2.2rem; line-height: 1.6; }
.expertise__deliverables { list-style: none; padding: 0; margin: .7rem 0 0; font-size: .86rem; line-height: 1.65; }
.expertise__deliverables li { padding-block: .65rem; border-bottom: 1px solid #ffffff23; }
.expertise-direction-example { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1.5rem 4rem; padding-block: 2rem 0; border-top: 1px solid var(--rule); margin-top: 1.7rem; }
.expertise-direction-example > p:first-child { grid-column: 1 / -1; color: #b8b8b4; font-size: .83rem; margin-bottom: .5rem; }
.expertise-direction-example div { display: flex; flex-direction: column; gap: 1rem; }
.expertise-direction-example div span { font-size: .8rem; color: #b8b8b4; }
.expertise-direction-example strong { font-size: clamp(1.5rem, 2.5vw, 2.7rem); line-height: 1.2; letter-spacing: -.035em; font-weight: 400; }
.expertise-direction-example div:last-of-type strong { font-family: var(--serif); font-style: italic; color: var(--gold); }
.expertise-direction-example__arrow { color: var(--gold); font-size: 2rem; }
.expertises-page .expertise-direction-example__conclusion { grid-column: 3; color: #b8b8b4; font-size: .85rem; max-width: 32rem; margin-top: .8rem; }
.expertise--image { color: var(--ink); background: var(--paper); }
.expertise-image__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem clamp(3rem, 6vw, 7rem); align-items: start; }
.expertise-image__visual { grid-row: span 2; }
.expertise-image__visual img { display: block; width: 100%; height: clamp(30rem, 53vw, 55rem); object-fit: cover; object-position: 49% center; }
.expertise--image .expertises-page__eyebrow, .expertise--image h2 em, .expertise--image .expertise-image__copy h3 { color: #806433; }
.expertise-image__copy h2 { margin-bottom: 2rem; }
.expertise--image .expertise-image__copy > p:not(.expertise__need):not(.expertises-page__eyebrow) { color: #55534c; }
.expertise--image .expertise__deliverables li { border-bottom-color: #08090b26; }
.expertises-page .expertise-image__example { font-size: .87rem; color: #55534c; border-top: 1px solid #08090b26; padding-top: 1.3rem; max-width: 35rem; }
.expertise-contact-example { grid-column: 1 / -1; display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 6vw, 7rem); align-items: center; margin-top: 2rem; padding-block: clamp(2rem, 5vw, 5rem); border-top: 1px solid var(--rule); }
.expertise-contact-example__intro h3 { font-size: clamp(2rem, 3vw, 3.4rem); line-height: 1.15; letter-spacing: -.04em; margin-bottom: 1.5rem; }
.expertise-contact-example__intro > p:last-child { color: #b8b8b4; font-size: .91rem; max-width: 30rem; }
.expertise-contact-example__screen { border: 1px solid #4a4944; background: #ebe6dc; color: #20201d; box-shadow: 0 30px 80px #0004; }
.expertise-contact-example__bar { display: flex; align-items: center; gap: .3rem; height: 1.9rem; padding-inline: .8rem; border-bottom: 1px solid #0002; }
.expertise-contact-example__bar span { width: 5px; height: 5px; border-radius: 50%; background: #88857d; }
.expertise-contact-example__scene { position: relative; min-height: 17rem; }
.expertise-contact-example__scene img { display: block; width: 100%; height: auto; aspect-ratio: 1.8; object-fit: cover; }
.expertise-contact-example__scene::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #0d100fb8, transparent 90%); }
.expertises-page .expertise-contact-example__headline { position: absolute; z-index: 1; inset: auto 1.7rem 2rem; color: #fff; font-size: clamp(1.5rem, 2.6vw, 3rem); line-height: 1.1; letter-spacing: -.04em; }
.expertise-contact-example__path { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: 1.3rem 1.5rem; font-size: .7rem; line-height: 1.4; }
.expertise--communication { background: #e4dfd3; color: var(--ink); }
.expertise-communication__layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 4rem clamp(3rem, 7vw, 8rem); }
.expertise--communication h2 em, .expertise--communication .expertises-page__eyebrow, .expertise--communication .expertise__body h3 { color: #765c2e; }
.expertise--communication .expertise__body > p:not(.expertise__need) { color: #55534c; }
.expertise--communication .expertise__deliverables li { border-bottom-color: #08090b26; }
.expertise-communication__example { grid-column: 1 / -1; border-top: 1px solid #08090b26; padding-top: 2.2rem; }
.expertise-communication__example p { color: #55534c; font-size: .85rem; }
.expertise-communication__example ol { display: flex; justify-content: space-between; gap: 1.5rem; padding: 0; margin: 1.8rem 0; list-style: none; }
.expertise-communication__example li { max-width: 17rem; font-size: clamp(1.3rem, 2.2vw, 2.5rem); letter-spacing: -.035em; line-height: 1.3; }
.expertise-communication__example strong { font-size: .84rem; font-weight: 400; color: #765c2e; }
.expertises-together { display: grid; grid-template-columns: 1.1fr .9fr; gap: 3rem clamp(3rem, 7vw, 8rem); padding-block: clamp(6rem, 10vw, 11rem); }
.expertises-together__copy > p { font-size: .94rem; color: #b8b8b4; }
.expertises-together__copy > p + p { margin-top: 1.3rem; }
.expertises-together__copy .expertises-together__promise { font-size: clamp(1.4rem, 2vw, 2rem); line-height: 1.4; color: var(--paper); margin-top: 2rem; letter-spacing: -.025em; }
.expertises-together__links { display: flex; align-items: flex-start; flex-direction: column; gap: 1.2rem; margin-top: 2.2rem; }
.expertises-page__text-link { display: inline-flex; gap: 1rem; align-items: center; min-height: 44px; font-size: .78rem; color: #b8b8b4; }
.expertises-page__text-link span { color: var(--gold); }
.expertises-page__text-link:hover { color: var(--paper); }
@media (max-width: 1100px) {
 .expertises-intro { grid-template-columns: 1.15fr .85fr; }
 .expertise--direction, .expertise--contact, .expertise-communication__layout, .expertises-together { gap: 3.5rem 3rem; grid-template-columns: 1fr 1fr; }
 .expertises-page h2 { font-size: clamp(2.6rem, 4.9vw, 4rem); }
 .expertise-image__layout { gap: 2rem 3rem; }
 .expertise-contact-example { gap: 3rem; }
}
@media (max-width: 800px) {
 .expertises-intro { grid-template-columns: 1fr; gap: 2.8rem; }
 .expertises-intro h1 { font-size: clamp(3rem, 8vw, 5rem); }
 .expertises-intro__visual img { height: auto; aspect-ratio: 1.5; }
 .expertises-intro__visual figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 0 1rem; }
 .expertises-intro__visual figcaption br { display: none; }
 .expertises-index { grid-template-columns: 1fr 1fr; gap: .3rem 2rem; }
 .expertise--direction, .expertise--contact, .expertise-communication__layout, .expertises-together { grid-template-columns: 1fr; }
 .expertise__body { max-width: none; }
 .expertises-page h2 { font-size: clamp(2.5rem, 7.3vw, 4rem); }
 .expertise-image__layout { grid-template-columns: 1fr; gap: 2.7rem; }
 .expertise-image__visual { grid-row: auto; order: 2; }
 .expertise-image__visual img { height: auto; aspect-ratio: 1.15; }
 .expertise-image__copy { order: 1; }
 .expertise-image__example { order: 3; }
 .expertise-contact-example { grid-template-columns: 1fr; gap: 2.5rem; margin-top: 0; padding-bottom: 0; }
 .expertises-page .expertise-contact-example__headline { font-size: clamp(2rem, 5vw, 3rem); }
 .expertise-communication__example ol { gap: 1.3rem; }
 .expertise-communication__example li { font-size: clamp(1.2rem, 3vw, 1.8rem); }
}
@media (max-width: 480px) {
 .expertises-intro { padding-top: 2.3rem; }
 .expertises-intro h1 { font-size: clamp(2.6rem, 10.5vw, 3.6rem); }
 .expertises-intro .expertises-intro__lead { margin-top: 1.8rem; font-size: 1.15rem; }
 .expertises-intro .expertises-intro__description { font-size: .88rem; }
 .expertises-intro__visual figcaption { display: block; font-size: .74rem; }
 .expertises-intro__visual figcaption span { display: block; }
 .expertises-index { gap: .5rem 1.5rem; }
 .expertises-index a { font-size: .76rem; }
 .expertises-page h2 { font-size: clamp(2.2rem, 9.5vw, 3rem); }
 .expertise, .expertises-together { padding-block: 4.5rem; }
 .expertise--direction, .expertise--contact, .expertise-communication__layout, .expertises-together { gap: 2.5rem; }
 .expertise-direction-example { grid-template-columns: 1fr; gap: 1.2rem; margin-top: .5rem; }
 .expertise-direction-example > p:first-child, .expertises-page .expertise-direction-example__conclusion { grid-column: auto; }
 .expertise-direction-example__arrow { transform: rotate(90deg); width: max-content; font-size: 1.5rem; }
 .expertise-direction-example div { gap: .5rem; }
 .expertise-direction-example strong { font-size: 1.65rem; }
 .expertise-contact-example__scene { min-height: 0; }
 .expertise-contact-example__scene img { aspect-ratio: 1.25; }
 .expertises-page .expertise-contact-example__headline { inset-inline: 1rem; bottom: 1.3rem; font-size: 1.9rem; }
 .expertise-contact-example__path { padding: 1rem .7rem; font-size: .61rem; gap: .3rem; }
 .expertise-communication__example ol { flex-direction: column; gap: 1rem; }
 .expertise-communication__example li { max-width: none; font-size: 1.55rem; }
 .expertise-communication__example li + li { padding-top: 1rem; border-top: 1px solid #08090b18; }
 .expertises-page .regard-button { width: 100%; font-size: .8rem; gap: 1rem; }
}
@media (forced-colors: active) {
 .expertise-contact-example__scene::after { display: none; }
 .expertises-page .expertise-contact-example__headline { position: static; background: Canvas; color: CanvasText; padding: 1rem; }
 .expertise__deliverables li, .expertises-index { border-color: CanvasText; }
}
