.hero { overflow: clip; }
.hero-inner { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: center; min-height: min(800px, calc(100svh - 112px)); padding-block: 96px; }
.hero-content { position: relative; z-index: 1; padding-right: 48px; }
.hero-rule { display: block; width: 48px; height: 2px; background: var(--gold-accent); margin-bottom: 32px; }
.hero h1 { font-family: var(--font-heading); font-size: clamp(32px, 3.1vw, 44px); font-weight: 400; line-height: 1.4; letter-spacing: -.035em; text-wrap: balance; }
.hero h1 span { color: var(--gold-accent); }
.hero-description { max-width: 570px; margin-top: 32px; color: var(--warm-gray); font-size: 17px; line-height: 1.8; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 40px; }
.hero-media { position: relative; align-self: stretch; min-height: 480px; border-radius: 12px; overflow: hidden; }
.hero-media.has-image img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.hero-media.has-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--dark-primary), transparent 35%); pointer-events: none; }

.solutions { background: var(--off-white); color: var(--brand-charcoal); padding-block: 120px; color-scheme: light; }
.solutions-heading { max-width: 880px; }
.solutions-eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.solutions-eyebrow::before { content: ""; width: 32px; height: 2px; background: var(--gold-primary); }
.solutions h2 { margin: 0; font-family: var(--font-heading); font-size: clamp(28px, 2.6vw, 36px); font-weight: 400; line-height: 1.5; letter-spacing: -.035em; text-wrap: balance; }
.solutions-intro { max-width: 760px; margin-top: 24px; font-size: 17px; line-height: 1.8; color: var(--text-gray); }
.solutions-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 64px; margin-top: 64px; }
/* Shared rows keep labels, headlines, descriptions and capabilities aligned as text wraps. */
.solution-primary { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; border-top: 1px solid var(--gold-primary); padding: 32px 0 0; }
.solution-label { margin-bottom: 24px; font-family: var(--font-heading); font-size: 16px; }
.solution-primary h3 { margin: 0; font-family: var(--font-heading); font-size: clamp(21px, 1.8vw, 25px); font-weight: 400; line-height: 1.6; letter-spacing: -.03em; text-wrap: balance; }
.solution-description { margin-block: 24px 32px; font-size: 16px; line-height: 1.8; color: var(--text-gray); }
.solution-capabilities { display: flex; flex-wrap: wrap; align-content: start; gap: 12px 24px; margin: 0; padding: 24px 0 0; border-top: 1px solid var(--warm-gray); list-style: none; }
.solution-capabilities li { display: flex; align-items: baseline; gap: 8px; font-size: 13px; line-height: 1.6; }
.solution-capabilities li::before { content: ""; flex: 0 0 4px; height: 4px; align-self: center; background: var(--gold-primary); }
.solution-complement { display: grid; grid-template-columns: 1fr 2fr; gap: 48px; align-items: baseline; margin-top: 80px; padding-top: 32px; border-top: 1px solid var(--warm-gray); }
.solution-complement h3 { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.6; }
.solution-complement p { color: var(--text-gray); font-size: 15px; line-height: 1.8; max-width: 680px; }
/* Visible by default, including without JavaScript; animation is only an enhancement. */
.solution-primary.is-revealed { animation: solution-enter 360ms ease-out both; }
.solution-primary:nth-child(2).is-revealed { animation-delay: 70ms; }
@keyframes solution-enter { from { opacity: .65; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

.expertise { padding-block: 120px; background: var(--dark-primary); color: var(--off-white); }
.expertise-heading { max-width: 880px; }
.expertise-eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-accent); }
.expertise-eyebrow::before { content: ""; flex: 0 0 32px; height: 2px; background: var(--gold-accent); }
.expertise h2 { margin: 0; font-family: var(--font-heading); font-size: clamp(28px, 2.6vw, 36px); font-weight: 400; line-height: 1.5; letter-spacing: -.035em; text-wrap: balance; }
.expertise-intro { max-width: 760px; margin-top: 24px; font-size: 17px; line-height: 1.8; color: var(--warm-gray); }
.expertise-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 64px; margin-top: 64px; }
.expertise-platform { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; padding-top: 32px; border-top: 1px solid var(--gold-primary); min-width: 0; }
.expertise-platform-header { display: flex; align-items: flex-end; align-content: flex-end; flex-wrap: wrap; gap: 16px 24px; margin-bottom: 24px; }
.expertise-platform-title { margin: 0; font-family: var(--font-heading); font-size: 26px; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
.expertise-platform-text { font-size: 17px; line-height: 1.8; color: var(--warm-gray); }
.expertise-details { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 24px; overflow-wrap: anywhere; }
.expertise-certifications, .expertise-disclaimer { font-size: 14px; line-height: 1.8; color: var(--warm-gray); }
.expertise-certifications { border-left: 2px solid var(--gold-primary); padding-left: 16px; }
.expertise-asset { width: auto; max-width: min(160px, 100%); height: auto; max-height: 64px; object-fit: contain; }
.expertise-link { color: var(--gold-accent); font-size: 14px; line-height: 1.8; text-decoration: underline; text-underline-offset: 4px; }
.expertise-support { border-top: 1px solid var(--brand-charcoal); margin-top: 64px; padding-top: 32px; max-width: 100%; font-size: 15px; line-height: 1.8; color: var(--warm-gray); }

.why-lynkvas { padding-block: 120px; background: var(--off-white); color: var(--brand-charcoal); color-scheme: light; }
.why-heading { max-width: 920px; }
.why-eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.why-eyebrow::before { content: ""; flex: 0 0 32px; height: 2px; background: var(--gold-primary); }
.why-lynkvas h2 { margin: 0; font-family: var(--font-heading); font-size: clamp(28px, 2.6vw, 36px); font-weight: 400; line-height: 1.5; letter-spacing: -.035em; text-wrap: balance; }
.why-lynkvas h2 span { color: var(--gold-primary); }
.why-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(300px, 2fr); gap: 64px; align-items: stretch; margin-top: 64px; }
.why-content { display: flex; flex-direction: column; min-width: 0; }
.why-pillars { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--warm-gray); border-left: 1px solid var(--warm-gray); }
.why-pillar { min-width: 0; padding: 32px; border-right: 1px solid var(--warm-gray); border-bottom: 1px solid var(--warm-gray); }
.why-pillar-number { margin-bottom: 24px; color: var(--gold-primary); font-family: var(--font-heading); font-size: 12px; letter-spacing: .08em; }
.why-pillar h3 { margin: 0; font-family: var(--font-heading); font-size: 17px; font-weight: 400; line-height: 1.6; letter-spacing: -.02em; text-wrap: balance; }
.why-pillar > p:last-child { margin-top: 16px; color: var(--text-gray); font-size: 15px; line-height: 1.8; }
.why-coverage { margin-top: auto; padding-top: 32px; }
.why-coverage > p { margin-bottom: 16px; color: var(--text-gray); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.why-coverage ul { display: flex; flex-wrap: wrap; gap: 8px 0; margin: 0; padding: 0; list-style: none; font-family: var(--font-heading); font-size: 14px; line-height: 1.7; }
.why-coverage li { display: flex; align-items: center; }
.why-coverage li:not(:last-child)::after { content: ""; width: 4px; height: 4px; margin-inline: 16px; background: var(--gold-primary); }
.why-media { position: relative; min-height: 560px; margin: 0; overflow: hidden; border-radius: 12px; background: var(--warm-gray); }
.why-media picture, .why-media img { width: 100%; height: 100%; }
.why-media img { object-fit: cover; object-position: center; }
.why-pillar.is-revealed, .why-media.is-revealed { animation: why-enter 360ms ease-out both; }
.why-pillar:nth-child(2).is-revealed { animation-delay: 50ms; }
.why-pillar:nth-child(3).is-revealed { animation-delay: 100ms; }
.why-pillar:nth-child(4).is-revealed, .why-media.is-revealed { animation-delay: 150ms; }
@keyframes why-enter { from { opacity: .65; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

.industries { padding-block: 120px; background: var(--warm-gray); color: var(--brand-charcoal); color-scheme: light; }
.industries-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 32px; }
.industries-eyebrow { display: flex; align-items: center; gap: 16px; margin: 0; color: var(--text-gray); font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.industries-eyebrow::before { content: ""; flex: 0 0 32px; height: 2px; background: var(--gold-primary); }
.industries h2 { margin: 0; font-family: var(--font-heading); font-size: clamp(28px, 2.6vw, 36px); font-weight: 400; line-height: 1.5; letter-spacing: -.035em; }
.industries-grid { display: grid; grid-template-columns: repeat(var(--industries-count, 4), minmax(0, 1fr)); margin-top: 64px; border-top: 1px solid rgb(51 49 49 / 22%); border-left: 1px solid rgb(51 49 49 / 22%); }
.industry { min-width: 0; min-height: 280px; padding: 32px; border-right: 1px solid rgb(51 49 49 / 22%); border-bottom: 1px solid rgb(51 49 49 / 22%); }
.industry h3 { margin: 0; font-family: var(--font-heading); font-size: 19px; font-weight: 400; line-height: 1.6; letter-spacing: -.025em; }
.industry h3::before { content: ""; display: block; width: 24px; height: 2px; margin-bottom: 24px; background: var(--gold-primary); }
.industry p { margin-top: 20px; color: var(--text-gray); font-size: 15px; line-height: 1.8; }

.experience { padding-block: 120px; background: var(--dark-primary); color: var(--off-white); }
.experience-heading { max-width: 840px; }
.experience-eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; color: var(--gold-accent); font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.experience-eyebrow::before { content: ""; flex: 0 0 32px; height: 2px; background: var(--gold-accent); }
.experience h2 { margin: 0; font-family: var(--font-heading); font-size: clamp(28px, 2.6vw, 36px); font-weight: 400; line-height: 1.5; letter-spacing: -.035em; text-wrap: balance; }
.experience-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 1fr); gap: 64px; align-items: end; margin-top: 80px; padding-bottom: 64px; border-bottom: 1px solid var(--brand-charcoal); }
.experience-years { display: flex; align-items: baseline; gap: 20px; min-width: 0; color: var(--gold-accent); font-family: var(--font-heading); white-space: nowrap; }
.experience-number { font-size: clamp(72px, 10vw, 152px); line-height: .9; letter-spacing: -.09em; }
.experience-unit { font-size: clamp(18px, 2vw, 28px); letter-spacing: .04em; }
.experience-description { max-width: 440px; margin: 0; padding-bottom: 6px; color: var(--warm-gray); font-size: clamp(18px, 1.6vw, 22px); line-height: 1.65; text-wrap: balance; }
.experience-organizations { margin-top: 64px; }
.experience-organizations > p { margin-bottom: 24px; color: var(--warm-gray); font-size: 14px; line-height: 1.8; }
.experience-organizations ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--brand-charcoal); border-left: 1px solid var(--brand-charcoal); }
.experience-organization { display: flex; align-items: center; min-height: 112px; padding: 24px 32px; border-right: 1px solid var(--brand-charcoal); border-bottom: 1px solid var(--brand-charcoal); font-family: var(--font-heading); font-size: clamp(20px, 2vw, 28px); line-height: 1.4; }
.experience-organization--logo { justify-content: center; }
.experience-client-logo { width: min(72%, 240px); height: 56px; object-fit: contain; }
.experience-client-logo--grayscale { filter: grayscale(1) brightness(0) invert(1); opacity: .88; }
.experience-organization--logo[data-logo-mode="color"] { background: var(--off-white); }
.experience-client-logo--color { filter: none; }

.contact { padding-block: 120px; background: var(--brand-charcoal); color: var(--off-white); }
.contact-layout { display: grid; grid-template-columns: minmax(280px, 2fr) minmax(0, 3fr); gap: 80px; align-items: start; }
.contact-eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; color: var(--gold-accent); font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.contact-eyebrow::before { content: ""; flex: 0 0 32px; height: 2px; background: var(--gold-accent); }
.contact h2 { margin: 0; font-family: var(--font-heading); font-size: clamp(28px, 2.6vw, 36px); font-weight: 400; line-height: 1.5; letter-spacing: -.035em; }
.contact-intro { max-width: 460px; margin-top: 24px; color: var(--warm-gray); font-size: 17px; line-height: 1.8; }
.contact-channels { display: grid; gap: 20px; margin-top: 48px; }
.contact-channels p, [data-footer-contact] p { display: grid; gap: 4px; margin: 0; }
.contact-channels span, [data-footer-contact] span, .contact-socials > p, .footer-socials > p { color: var(--gold-accent); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.contact-channels a { width: fit-content; color: var(--off-white); font-size: 16px; line-height: 1.6; text-decoration: underline; text-decoration-color: rgb(170 136 77 / 55%); text-underline-offset: 5px; }
.contact-socials { margin-top: 40px; }
.contact-socials > p, .footer-socials > p { margin-bottom: 16px; }
[data-social-links] { display: flex; flex-wrap: wrap; gap: 12px 20px; }
.social-link, .social-placeholder { font-size: 14px; line-height: 1.6; }
.social-link { color: var(--off-white); text-decoration: underline; text-decoration-color: rgb(170 136 77 / 55%); text-underline-offset: 4px; }
.social-placeholder { color: var(--warm-gray); }
.contact-form { padding: 48px; border: 1px solid rgb(232 229 223 / 22%); background: rgb(28 27 27 / 20%); }
.contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; }
.form-field { min-width: 0; }
.form-field-full { grid-column: 1 / -1; }
.form-field label { display: block; margin-bottom: 10px; color: var(--warm-gray); font-size: 14px; font-weight: 600; line-height: 1.5; }
.form-field label span { color: var(--gold-accent); }
.form-field input, .form-field textarea { width: 100%; border: 1px solid rgb(232 229 223 / 38%); border-radius: var(--radius); padding: 14px 16px; background: transparent; color: var(--off-white); font: inherit; line-height: 1.5; transition: border-color 160ms ease, background 160ms ease; }
.form-field textarea { min-height: 152px; resize: vertical; }
.form-field input:focus, .form-field textarea:focus { border-color: var(--gold-accent); background: rgb(247 246 243 / 5%); outline: none; }
.form-field input[aria-invalid="true"], .form-field textarea[aria-invalid="true"] { border-color: #dc8a80; }
.field-error { margin-top: 8px; color: #f4aaa1; font-size: 13px; line-height: 1.5; }
.form-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.contact-submit { margin-top: 32px; border: 0; cursor: pointer; }
.contact-submit:disabled { cursor: wait; opacity: .7; }
.form-success { margin-top: 24px; padding: 20px 24px; border-left: 2px solid var(--gold-accent); background: rgb(170 136 77 / 12%); color: var(--off-white); line-height: 1.8; }
.form-error-message { margin-top: 24px; padding: 16px 20px; border-left: 2px solid #f4aaa1; background: rgb(220 138 128 / 12%); color: #f4aaa1; line-height: 1.7; }

.site-footer { padding-top: 64px; background: var(--dark-primary); color: var(--warm-gray); }
.footer-main { display: grid; grid-template-columns: minmax(230px, 1.4fr) 1fr 1fr; gap: 48px; padding-bottom: 56px; }
.footer-logo-wrap { display: inline-flex; align-items: center; justify-content: center; width: 112px; height: 92px; padding: 6px; border-radius: 4px; background: var(--off-white); color: var(--brand-charcoal); }
.footer-logo-wrap img { width: 100%; height: 100%; object-fit: contain; }
.footer-brand > p { max-width: 230px; margin-top: 20px; font-size: 14px; line-height: 1.8; }
.footer-navigation { display: grid; align-content: start; gap: 10px; }
.footer-navigation a, [data-footer-contact] a { width: fit-content; color: var(--warm-gray); font-size: 14px; line-height: 1.7; }
.footer-navigation a:hover, [data-footer-contact] a:hover { color: var(--gold-accent); }
[data-footer-contact] { display: grid; gap: 16px; }
.footer-socials { margin-top: 28px; }
.footer-bottom { padding-block: 24px; border-top: 1px solid var(--brand-charcoal); color: var(--text-gray); font-size: 12px; line-height: 1.6; }
