/* Vertical Reach — Ascent. Standalone static holding page. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');

:root { color-scheme: light; font-family: 'DM Sans', Arial, sans-serif; font-synthesis: none; }
* { box-sizing: border-box; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
a:focus-visible { outline: 3px solid currentColor; outline-offset: 6px; }
::selection { color: #fff; background: #2862ce; }
svg { display: block; max-width: 100%; }
.page { min-height: 100svh; display: flex; flex-direction: column; }
.wrap { width: min(100% - 112px, 1328px); margin-inline: auto; }
.site-header { min-height: 126px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-family: 'Manrope', Arial, sans-serif; font-size: 21px; font-weight: 800; letter-spacing: -.8px; line-height: 1.1; }
.brand svg { width: 37px; height: 37px; flex: 0 0 auto; }
.brand:focus-visible { border-radius: 3px; }
.nav-contact { display: inline-flex; align-items: center; gap: 25px; font-size: 14px; font-weight: 600; padding: 12px 0; }
.arrow { width: 19px; height: 19px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.5; }
.nav-contact .arrow, .button .arrow { transition: transform .2s ease; }
.nav-contact:hover .arrow, .button:hover .arrow { transform: translate(3px, -3px); }
.eyebrow { font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: .15em; text-transform: uppercase; margin: 0; }
h1, h2, p { margin-top: 0; }
h1 { font-family: 'Manrope', Arial, sans-serif; font-size: clamp(56px, 6.6vw, 94px); font-weight: 650; line-height: 1.055; letter-spacing: -.065em; margin-bottom: 28px; }
.description { font-size: 17px; line-height: 1.8; max-width: 460px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 44px; min-height: 58px; padding: 17px 24px; font-size: 14px; font-weight: 600; border-radius: 3px; transition: background .2s ease, color .2s ease; }
.site-footer { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 24px; font-size: 12px; line-height: 1.6; }
.site-footer p { margin: 0; }
.service-list { list-style: none; padding: 0; margin: 0; }
.skip-link { position: fixed; top: 10px; left: 10px; padding: 12px 20px; color: #fff; background: #111; z-index: 20; transform: translateY(-180%); }
.skip-link:focus { transform: none; }
.enter { animation: entrance .7s both; }
.enter-late { animation: entrance .85s .12s both; }
@keyframes entrance { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }

/* 01 — Ascent: spacious, confident, orange geometry. */
.ascent { background: #fafbf9; color: #222921; }
.ascent .site-header { border-bottom: 1px solid #dce0d9; }
.ascent .brand svg { color: #fa602f; }
.ascent .hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 28px; align-items: center; flex: 1; padding-block: 65px 60px; }
.ascent .eyebrow { color: #6c746a; margin-bottom: 28px; display: flex; align-items: center; gap: 12px; }
.ascent .eyebrow::before { content: ''; width: 24px; height: 1px; background: #fa602f; }
.ascent h1 span { color: #ef5527; }
.ascent .description { color: #687064; margin-bottom: 31px; }
.ascent .button { background: #252d24; color: #fff; }
.ascent .button:hover { background: #e34f20; }
.ascent .art { position: relative; min-width: 0; }
.ascent .ascent-art { width: 100%; aspect-ratio: 1 / 1.05; }
.ascent .art-caption { display: flex; justify-content: space-between; color: #697063; font-size: 12px; letter-spacing: .025em; margin-top: -10px; }
.ascent .experience { display: flex; align-items: center; gap: 22px; margin-bottom: 34px; }
.ascent .experience-value { flex-shrink: 0; font-family: 'Manrope', sans-serif; font-size: 52px; line-height: 1; letter-spacing: -.065em; font-weight: 600; }
.ascent .experience-plus { color: #ef5527; font-size: .72em; vertical-align: top; line-height: 1.15; margin-left: 2px; }
.ascent .experience-copy { border-left: 1px solid #d6ddd0; padding-left: 22px; }
.ascent .experience-title { display: block; font-size: 15px; line-height: 1.45; font-weight: 600; color: #343d2f; }
.ascent .experience-detail { display: block; margin-top: 4px; font-size: 13px; line-height: 1.5; color: #687064; }
.ascent .capabilities { border-block: 1px solid #dce0d9; display: grid; grid-template-columns: .9fr 3fr; gap: 20px; align-items: center; padding-block: 25px; }
.ascent .capabilities>p { font-size: 12px; color: #6c746a; margin: 0; }
.ascent .service-list { display: flex; justify-content: space-between; gap: 25px; flex-wrap: wrap; font-size: 14px; font-weight: 500; }
.ascent .site-footer { color: #737a6f; }

@media (min-width: 1650px) {
  .hero { max-height: 980px; }
  .page:has(.hero) { justify-content: center; }
}
@media (max-width: 1000px) {
  .wrap { width: calc(100% - 64px); }
  .site-header { min-height: 102px; }
  .ascent .hero { padding-block: 47px; gap: 15px; }
  .ascent h1 { font-size: 65px; }
  .ascent .capabilities { grid-template-columns: 1fr; gap: 15px; }
  .ascent .service-list { justify-content: flex-start; column-gap: 27px; }
}
@media (max-width: 700px) {
  .wrap { width: calc(100% - 40px); }
  .site-header { min-height: 88px; gap: 18px; }
  .brand { font-size: 19px; gap: 8px; }
  .brand svg { width: 30px; height: 30px; }
  .nav-contact { font-size: 12px; gap: 9px; }
  h1 { font-size: clamp(50px, 12vw, 78px); }
  .description { font-size: 16px; }
  .site-footer { padding-block: 22px; min-height: 82px; align-items: flex-start; gap: 20px; font-size: 12px; }
  .site-footer p:last-child { text-align: right; max-width: 144px; }
  .ascent .hero { grid-template-columns: 1fr; padding-block: 45px 33px; gap: 27px; }
  .ascent h1 { font-size: clamp(57px, 13.5vw, 82px); }
  .ascent .eyebrow { margin-bottom: 23px; }
  .ascent .description { max-width: 450px; margin-bottom: 26px; }
  .ascent .experience { gap: 16px; margin-bottom: 28px; }
  .ascent .experience-value { font-size: 48px; }
  .ascent .experience-copy { padding-left: 16px; }
  .ascent .experience-title { font-size: 14px; }
  .ascent .art { width: min(100%, 460px); margin-inline: auto; }
  .ascent .ascent-art { aspect-ratio: 1.2; }
  .ascent .capabilities { padding-block: 24px; }
  .ascent .service-list { display: grid; grid-template-columns: 1fr 1fr; gap: 17px 20px; font-size: 13px; }
}
@media (max-width: 360px) {
  .wrap { width: calc(100% - 32px); }
  .brand { font-size: 16px; }
  .brand svg { width: 25px; }
  .nav-contact { gap: 6px; }
  .ascent h1 { font-size: 53px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
