/* COHYR progressive visual primitives. Layout/typography tokens remain in styles.css. */
:root { --motion-fast:160ms; --motion-base:240ms; --motion-reveal:460ms; --motion-stagger:55ms; --motion-count:650ms; --motion-ease:cubic-bezier(.22,.61,.36,1); --media-radius:0px; }
.media-frame { overflow:hidden; border-radius:var(--media-radius); isolation:isolate; aspect-ratio:var(--media-ratio,auto); --media-position:50% 50%; --media-fit:cover; }
.media-frame > img,.media-frame > picture > img { object-fit:var(--media-fit,cover); object-position:var(--media-position); width:100%; height:100%; }
.media-frame[data-media="port"] { --media-position:54% center; }
.media-frame[data-media="coordinated-team"],.media-frame[data-media="talent-network"] { background:var(--navy); }
.media-frame[data-media="coordinated-team"] img,.media-frame[data-media="talent-network"] img { object-position:50% 22%; }
[data-visual-system] .button { transition:background-color var(--motion-fast),transform var(--motion-base) var(--motion-ease),box-shadow var(--motion-base); }
[data-visual-system] .button:hover { transform:translateY(-2px); box-shadow:0 5px 14px #06293715; }
[data-visual-system] .button:active { transform:translateY(0); box-shadow:none; }
[data-visual-system] .button span,[data-visual-system] .text-link span { transition:transform var(--motion-base) var(--motion-ease); }
[data-visual-system] .button:hover span,[data-visual-system] .text-link:hover span { transform:translateX(3px); }
[data-visual-system] .header nav > a:not(.header-hire) { text-decoration:underline; text-decoration-color:transparent; text-underline-offset:6px; transition:color var(--motion-fast),text-decoration-color var(--motion-fast); }
[data-visual-system] .header nav > a:not(.header-hire):is(:hover,:focus-visible) { text-decoration-color:var(--orange); }
[data-visual-system] :is(.solution-card,.service-card,.insight-card) { transition:transform var(--motion-base) var(--motion-ease),border-color var(--motion-base),box-shadow var(--motion-base); }
@media(hover:hover) and (pointer:fine) {
 [data-visual-system] :is(.solution-card,.service-card,.insight-card):hover { transform:translateY(-3px); border-color:var(--orange); box-shadow:0 7px 20px #0629370a; }
}
[data-visual-system] .permanent-steps { position:relative; }
[data-visual-system] .permanent-steps li { border-top-color:#b84a2460; }
[data-visual-system] .permanent-steps li > span { position:relative; }
[data-visual-system] .permanent-steps li > span::after { content:''; display:inline-block; width:5px; height:5px; margin-left:12px; border-radius:50%; background:var(--orange); vertical-align:middle; }
/* Variants inherit the approved spacing scale; only used when explicitly composed. */
[data-section="split"] { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
[data-section="split"][data-reverse] > :first-child { order:2; }
[data-section="editorial"] .media-frame { aspect-ratio:16/7; }
[data-section="statistics"],[data-section="cards"] { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:28px; }
[data-section="testimonial"] blockquote { margin:0; max-width:800px; }
[data-section="cta-split"] { display:flex; align-items:center; justify-content:space-between; gap:40px; }
[data-marquee] { overflow:hidden; }
[data-marquee-track] { display:flex; gap:32px; width:max-content; animation:cohyr-marquee 32s linear infinite; }
[data-marquee]:is(:hover,:focus-within,[data-paused]) [data-marquee-track] { animation-play-state:paused; }
[data-marquee-group] { display:flex; gap:32px; }
@keyframes cohyr-marquee { to { transform:translateX(calc(-50% - 16px)); } }
@media(max-width:760px) { [data-section="split"] { grid-template-columns:1fr; gap:32px; } [data-section="split"][data-reverse] > :first-child { order:0; } [data-section="cta-split"] { flex-direction:column; align-items:flex-start; } }
@media(prefers-reduced-motion:reduce) {
 [data-visual-system] *,[data-marquee-track] { animation:none!important; transition:none!important; }
 [data-visual-system] :is(.button,.solution-card,.service-card,.insight-card):hover,[data-visual-system] :is(.button,.text-link):hover span { transform:none; }
 [data-marquee-track],[data-marquee-group] { width:auto; flex-wrap:wrap; }
 [data-marquee-clone] { display:none!important; }
}
/* Cross-document transitions are deliberately not enabled: standard navigation preserves scroll/focus and fast page access. */

.motion-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

.media-frame[data-ratio="wide"] { --media-ratio:16/9; }
.media-frame[data-ratio="portrait"] { --media-ratio:4/5; }
.media-frame[data-ratio="square"] { --media-ratio:1; }
.media-frame[data-overlay="soft"] .photo-shade { background:linear-gradient(180deg,transparent 35%,#062937b8); }

/* Shared editorial and legal reading variant; established typography and spacing. */
.reading-copy { max-width:760px; }
.reading-copy p { font-size:16px; line-height:1.85; color:var(--muted); margin-bottom:24px; }
[data-section] > .text-link { margin-top:28px; margin-right:28px; }
.footer-bottom > div { flex-wrap:wrap; }
@media(max-width:760px) { .reading-copy p { font-size:14px; } }

/* Shared integration journeys; disabled previews never accept personal data. */
.integration-section { background:var(--cream); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.integration-section fieldset { border:0; padding:0; margin:0; min-width:0; }
.integration-section legend { font-size:14px; margin-bottom:24px; color:var(--muted); }
.form-field label,.job-filters label { display:block; font-size:14px; line-height:1.6; }
.form-field input,.form-field textarea,.form-field select,.job-filters input,.job-filters select { width:100%; min-height:48px; padding:12px; margin-top:8px; border:1px solid var(--line); background:#fff; color:#53696f; font:inherit; border-radius:0; }
.integration-section :disabled { opacity:1; cursor:not-allowed; }
.integration-section .button:disabled { margin-top:28px; background:#d5deda; color:#354e56; transform:none; }
.consent { display:flex; gap:12px; align-items:flex-start; max-width:800px; font-size:14px; line-height:1.8; margin-top:24px; }
.consent input { margin-top:6px; flex-shrink:0; width:18px; height:18px; }
.integration-note { font-size:14px; line-height:1.8; margin-top:24px; }
.job-filters { display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:20px; align-items:end; }
.integration-empty { margin-top:32px; padding:30px; border:1px solid var(--line); }
.integration-empty h3 { font-size:24px; font-weight:500; }
.integration-empty p { font-size:15px; line-height:1.8; color:var(--muted); }
.journey-links { display:flex; flex-wrap:wrap; gap:24px; margin-top:28px; }
.business-identity { font-size:12px; line-height:1.8; }
@media(max-width:980px) { .job-filters { grid-template-columns:1fr 1fr; } }
@media(max-width:760px) { .form-grid,.job-filters { grid-template-columns:1fr; } }

.industry-list > a,.insight-grid > a { font-family:inherit; }
/* Long sector names wrap within shared cards on intermediate tablet widths. */
.service-card { min-width:0; }
.service-card h3 { overflow-wrap:anywhere; }
/* A card index includes its heading and shared two-column card group. */
[data-section="cards"] > .section-heading,
[data-section="cards"] > .service-grid { grid-column:1 / -1; }
/* Preserve the palette while meeting normal-text contrast on pale green sections. */
.permanent-markets .section-heading > p { color:#445d64; }
