.v5-hub-body { background: #fff; }
.v5-hub-hero { position: relative; isolation: isolate; min-height: 720px; overflow: hidden; background: #eef3f8 var(--hub-image) center/cover no-repeat; }
.v5-hub-hero::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(248,250,253,.99) 0%, rgba(248,250,253,.95) 46%, rgba(248,250,253,.34) 72%, rgba(248,250,253,.08) 100%); }
.v5-hub-business .v5-hub-hero::before { background: linear-gradient(90deg, rgba(5,20,43,.99) 0%, rgba(5,20,43,.93) 48%, rgba(5,20,43,.38) 78%, rgba(5,20,43,.12) 100%); }
.v5-hub-hero-grid { min-height: 720px; display: flex; align-items: center; padding-block: 80px; }
.v5-hub-copy { width: min(760px, 58%); }
.v5-hub-copy h1 { max-width: 820px; margin: 0; color: var(--navy); font: 400 clamp(50px, 5vw, 76px)/.98 var(--serif); letter-spacing: -.045em; }
.v5-hub-lead { max-width: 690px; margin: 28px 0 0; color: #4e5d72; font-size: 19px; line-height: 1.65; }
.v5-hub-business .v5-hub-copy h1, .v5-hub-business .v5-hub-lead { color: #fff; }
.v5-hub-business .v5-hub-copy .v5-kicker { color: #8bb9ee; }
.v5-hub-business .v5-button-primary { background: #fff; color: var(--navy); }
.v5-hub-business .v5-button-ghost { border-color: rgba(255,255,255,.38); background: rgba(255,255,255,.06); color: #fff; }
.v5-hub-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 660px; margin-top: 38px; }
.v5-hub-facts > * { min-height: 126px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; align-items: center; gap: 2px 13px; padding: 22px 24px; border: 1px solid rgba(128,153,181,.36); border-top-color: rgba(216,33,43,.68); background: rgba(255,255,255,.72); box-shadow: 0 15px 35px rgba(25,61,100,.08); backdrop-filter: blur(9px); }
.v5-hub-facts b { color: var(--navy); font: 400 40px/1 var(--serif); }
.v5-hub-facts span { color: var(--navy); font-weight: 680; }
.v5-hub-facts a span { color: var(--red); letter-spacing: .12em; }
.v5-hub-facts small { grid-column: 1/-1; color: var(--muted); }
.v5-hub-business .v5-hub-facts > * { border-color: rgba(255,255,255,.18); border-top-color: rgba(102,164,232,.8); background: rgba(4,21,46,.7); }
.v5-hub-business .v5-hub-facts b, .v5-hub-business .v5-hub-facts span { color: #fff; }
.v5-hub-business .v5-hub-facts a span { color: #79b7fb; }
.v5-hub-business .v5-hub-facts small { color: #b7c6d9; }

.v5-hub-services { padding: 120px 0 128px; background: #fff; }
.v5-hub-service-list { border-top: 1px solid var(--line); }
.v5-hub-service { min-height: 150px; display: grid; grid-template-columns: 90px minmax(0,1fr) 60px; align-items: center; gap: 28px; border-bottom: 1px solid var(--line); transition: background .2s ease, padding .2s ease; }
.v5-hub-service:hover { padding-inline: 22px; background: #f3f7fb; }
.v5-hub-service-no { color: #93a3b8; font: 400 22px/1 var(--serif); }
.v5-hub-service h3 { margin: 0; color: var(--navy); font: 400 clamp(28px, 2.7vw, 42px)/1.08 var(--serif); }
.v5-hub-service p { max-width: 780px; margin: 12px 0 0; color: var(--muted); }
.v5-hub-service-arrow { width: 48px; height: 48px; display: grid; place-items: center; justify-self: end; border: 1px solid #c7d4e2; border-radius: 50%; color: var(--navy); }

.v5-hub-urgent { padding: 118px 0; background: #f2f5f8; }
.v5-hub-urgent-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.v5-hub-urgent article { min-height: 300px; position: relative; padding: 36px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 15px 35px rgba(16,52,91,.06); }
.v5-hub-urgent article > span { display: block; color: var(--red); font: 400 24px/1 var(--serif); }
.v5-hub-urgent h3 { max-width: 310px; margin: 54px 0 15px; color: var(--navy); font: 400 31px/1.05 var(--serif); }
.v5-hub-urgent p { margin: 0; color: var(--muted); }

.v5-hub-principal { min-height: 720px; display: grid; grid-template-columns: 1fr 1fr; background: #fff; }
.v5-hub-principal-image { overflow: hidden; }
.v5-hub-principal-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.v5-hub-principal-copy { display: flex; flex-direction: column; justify-content: center; padding: 76px clamp(48px,7vw,125px); background: linear-gradient(135deg,#fff 0%,#eef4fa 100%); }
.v5-hub-principal-copy h2 { max-width: 720px; margin: 0; color: var(--navy); font: 400 clamp(40px,4vw,64px)/1.02 var(--serif); letter-spacing: -.035em; }
.v5-hub-principal-copy > p:not(.v5-kicker) { max-width: 690px; margin: 27px 0; color: #526176; font-size: 18px; line-height: 1.7; }
.v5-hub-principal-copy > div { display: flex; flex-direction: column; gap: 5px; margin-bottom: 30px; padding-top: 25px; border-top: 1px solid #cfdae6; }
.v5-hub-principal-copy strong { color: var(--navy); font: 400 26px/1.2 var(--serif); }
.v5-hub-principal-copy span { color: var(--muted); }
.v5-hub-principal-copy .v5-button { align-self: flex-start; }

.v5-hub-process { padding: 120px 0 128px; background: #fff; }
.v5-hub-process ol { display: grid; grid-template-columns: repeat(4,1fr); margin: 0; padding: 0; border: 1px solid var(--line); list-style: none; }
.v5-hub-process li { min-height: 280px; padding: 32px; border-right: 1px solid var(--line); }
.v5-hub-process li:last-child { border-right: 0; }
.v5-hub-process li > span { color: var(--blue); font: 400 23px/1 var(--serif); }
.v5-hub-process h3 { margin: 70px 0 13px; color: var(--navy); font: 400 26px/1.08 var(--serif); }
.v5-hub-process p { margin: 0; color: var(--muted); }
.v5-hub-contact { margin-top: 0; }

@media (max-width: 1180px) {
    .v5-hub-copy { width: 68%; }
    .v5-hub-service { grid-template-columns: 70px minmax(0,1fr) 52px; }
    .v5-hub-principal { min-height: 650px; }
    .v5-hub-principal-copy { padding-inline: 54px; }
    .v5-hub-process ol { grid-template-columns: repeat(2,1fr); }
    .v5-hub-process li:nth-child(2) { border-right: 0; }
    .v5-hub-process li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 800px) {
    .v5-hub-hero { min-height: auto; background-position: 63% center; }
    .v5-hub-hero::before, .v5-hub-business .v5-hub-hero::before { background: linear-gradient(180deg, rgba(247,250,253,.98) 0%, rgba(247,250,253,.95) 58%, rgba(247,250,253,.74) 100%); }
    .v5-hub-business .v5-hub-hero::before { background: linear-gradient(180deg, rgba(5,20,43,.98) 0%, rgba(5,20,43,.94) 60%, rgba(5,20,43,.75) 100%); }
    .v5-hub-hero-grid { min-height: 690px; padding-block: 58px 70px; }
    .v5-hub-copy { width: 100%; }
    .v5-hub-copy h1 { font-size: clamp(43px,11vw,61px); }
    .v5-hub-lead { font-size: 17px; }
    .v5-hub-facts { max-width: none; }
    .v5-hub-services, .v5-hub-urgent, .v5-hub-process { padding-block: 82px; }
    .v5-hub-service { min-height: 145px; grid-template-columns: 48px minmax(0,1fr) 42px; gap: 15px; }
    .v5-hub-service:hover { padding-inline: 0; }
    .v5-hub-service h3 { font-size: 29px; }
    .v5-hub-urgent-grid { grid-template-columns: 1fr; }
    .v5-hub-urgent article { min-height: 235px; }
    .v5-hub-urgent h3 { margin-top: 36px; }
    .v5-hub-principal { grid-template-columns: 1fr; }
    .v5-hub-principal-image { height: 480px; }
    .v5-hub-principal-copy { padding: 70px 40px; }
}

@media (max-width: 560px) {
    .v5-hub-hero-grid { min-height: 0; padding-block: 46px 56px; }
    .v5-hub-copy h1 { font-size: clamp(35px,9.8vw,43px); line-height: 1.02; }
    .v5-hub-copy .v5-actions { display: grid; }
    .v5-hub-copy .v5-button { width: 100%; padding-inline: 20px; }
    .v5-hub-facts { grid-template-columns: 1fr 1fr; gap: 8px; }
    .v5-hub-facts > * { min-height: 100px; padding: 14px; }
    .v5-hub-facts b { font-size: 29px; }
    .v5-hub-facts span { font-size: 12px; }
    .v5-hub-facts small { font-size: 10px; }
    .v5-hub-services, .v5-hub-urgent, .v5-hub-process { padding-block: 68px; }
    .v5-hub-service { min-height: 0; grid-template-columns: 38px minmax(0,1fr); padding-block: 28px; }
    .v5-hub-service-no { font-size: 17px; }
    .v5-hub-service h3 { font-size: 25px; }
    .v5-hub-service p { margin-top: 8px; font-size: 14px; }
    .v5-hub-service-arrow { display: none; }
    .v5-hub-urgent article { min-height: 220px; padding: 28px; }
    .v5-hub-principal-image { height: 390px; }
    .v5-hub-principal-copy { padding: 58px 24px; }
    .v5-hub-principal-copy h2 { font-size: 41px; }
    .v5-hub-process ol { grid-template-columns: 1fr; }
    .v5-hub-process li { min-height: 220px; border-right: 0; border-bottom: 1px solid var(--line); }
    .v5-hub-process li:last-child { border-bottom: 0; }
    .v5-hub-process h3 { margin-top: 44px; }
}
