/* Professional homepage copy: retain the Observatory map and visual identity. */
.page-home .hero-copy { width: min(760px, 60%); }
.page-home .hero h1 {
    max-width: 19ch;
    font-size: clamp(2.5rem, 4vw, 4.2rem);
    line-height: 1.05;
    letter-spacing: -.025em;
    text-transform: none;
    text-wrap: balance;
    overflow-wrap: break-word;
}
.page-home .hero p { max-width: 64ch; font-size: 1.05rem; }
.page-home .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.page-home .hero .button { text-transform: none; letter-spacing: 0; font-size: .9rem; white-space: normal; }
.page-home .hero .button:first-child { display: inline-flex; background: #19b9e6; color: #06131d; border-color: #19b9e6; }
.page-home .hero .button:first-child:hover { background: #76d6ee; border-color: #76d6ee; }
.page-home .hero .text-link { display: inline-flex; min-height: 44px; margin-top: 12px; font-size: .88rem; }
.page-home .hero-status { display: flex; margin: 6px 0 0; font-size: .75rem; line-height: 1.5; letter-spacing: .02em; text-transform: none; }
.page-home .hero-status i { flex-shrink: 0; }
.page-home .hero .reveal { opacity: 1; transform: none; }

/* A quiet photographic introduction, within the services part of the page. */
.page-home .home-expertise { padding-block: 28px; color: #112630; background: var(--paper, #f2f0e9); }
.home-expertise-feature { display: grid; grid-template-columns: .95fr 1.15fr; align-items: center; gap: clamp(28px, 4vw, 56px); }
.home-expertise-photo { position: relative; margin: 0; min-width: 0; overflow: hidden; }
.home-expertise-photo img { display: block; width: 100%; height: 280px; border-radius: 3px; object-fit: cover; object-position: center 52%; }
.home-expertise-copy { min-width: 0; }
.home-expertise-copy h2 { max-width: 25ch; margin: 0 0 14px; color: #112630; font-size: clamp(1.6rem, 2.5vw, 2.3rem); font-weight: 700; line-height: 1.13; letter-spacing: -.02em; text-wrap: balance; }
.home-expertise-copy > p { max-width: 60ch; margin: 0 0 14px; color: #354b54; font-size: .96rem; line-height: 1.6; }
.home-expertise-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; list-style: none; padding: 0; margin: 0 0 10px; }
.home-expertise-links li { min-width: 0; }
.home-expertise-links a { display: flex; align-items: center; gap: 9px; min-height: 44px; padding-block: 5px; color: #354b54; font-size: .86rem; line-height: 1.4; overflow-wrap: anywhere; }
.home-expertise-links a span { color: #06637b; }
.home-expertise-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; }
.home-expertise-actions a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: #06637b; font-size: .9rem; font-weight: 600; }
.home-expertise-actions a + a { color: #354b54; font-size: .84rem; font-weight: 400; text-decoration: underline; text-underline-offset: 4px; }
.home-expertise a:hover { color: #06637b; text-decoration: underline; text-underline-offset: 4px; }
.home-expertise a:focus-visible { outline: 2px solid #06637b; outline-offset: 4px; }
@media (max-width: 1100px) {
    .page-home .hero-copy { width: min(760px, 80%); }
    .home-expertise-feature { gap: 28px; }
    .home-expertise-photo img { height: 280px; }
}
@media (max-width: 720px) {
    .page-home .hero-copy { width: 100%; }
    .page-home .hero h1 { max-width: 19ch; font-size: clamp(2.15rem, 8.7vw, 3.55rem); }
    .page-home .hero-eyebrow { font-size: .68rem; line-height: 1.5; letter-spacing: .1em; }
    .page-home .hero-actions { display: grid; grid-template-columns: 1fr; }
    .page-home .domains .split-layout { grid-template-columns: minmax(0, 1fr); }
    .page-home .domains .split-layout > * { min-width: 0; }
    .page-home .domains .sticky-intro h2 { overflow-wrap: anywhere; }
    .page-home .domains .domain-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page-home .domains .domain-list li { min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 700px) {
    .page-home .home-expertise { padding-block: 24px; }
    .home-expertise-feature { grid-template-columns: 1fr; gap: 22px; }
    .home-expertise-photo img { height: 190px; }
    .home-expertise-copy h2 { max-width: 27ch; font-size: 1.65rem; }
    .home-expertise-copy > p { font-size: .93rem; }
    .home-expertise-links { column-gap: 14px; }
    .home-expertise-links a { font-size: .82rem; }
}

.home-expertise-photo figcaption { padding-top: 6px; color: #53636a; font-size: .65rem; line-height: 1.5; }
.home-expertise-photo figcaption a { display: inline-flex; align-items: center; min-height: 24px; color: inherit; text-decoration: underline; text-underline-offset: 2px; }
