:root {
    --unisky-navy: #102f55;
    --unisky-gold: #c59a49;
    --unisky-ink: #0b284d;
    --unisky-muted: #61728c;
    --unisky-light: #f4f6f8;
}

.unisky-service-page { color: var(--unisky-ink); }
.unisky-service-hero { position: relative; min-height: 470px; display: flex; align-items: center; background: var(--unisky-navy) center/cover no-repeat; color: #fff; }
.unisky-service-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,31,59,.88), rgba(7,31,59,.38)); }
.unisky-service-hero-inner { position: relative; z-index: 1; width: min(1340px, calc(100% - 48px)); margin: 0 auto; padding: 70px 0; }
.unisky-service-eyebrow { margin: 0 0 14px; color: var(--unisky-gold); font-size: 12px; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; }
.unisky-service-hero h1 { max-width: 840px; margin: 0 0 18px; color: #fff; font-size: clamp(38px, 4vw, 54px); line-height: 1.1; }
.unisky-service-subtitle { max-width: 760px; margin: 0 0 30px; font-size: 19px; line-height: 1.65; }
.unisky-service-button { display: inline-block; padding: 14px 24px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.unisky-service-button-gold { color: #fff; background: var(--unisky-gold); }
.unisky-service-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(300px, .85fr); gap: 72px; width: min(1340px, calc(100% - 48px)); margin: 0 auto; padding: 80px 0; align-items: start; }
.unisky-service-content { font-size: 17px; line-height: 1.8; }
.unisky-service-content h2 { margin: 0 0 22px; color: var(--unisky-ink); font-size: 34px; line-height: 1.25; }
.unisky-service-content h3 { margin-top: 36px; color: var(--unisky-ink); font-size: 25px; line-height: 1.3; }
.unisky-service-content img { margin: 26px 0; }
.unisky-service-content ul { margin-left: 0; padding-left: 0; list-style: none; }
.unisky-service-content ul > li { position: relative; padding-left: 1.15em; }
.unisky-service-content ul > li::before { content: '\2022'; position: absolute; left: 0; color: var(--unisky-ink); }
.unisky-service-faq { position: sticky; top: 120px; }
.unisky-service-faq-label { margin: 0 0 6px; color: var(--unisky-gold); font-size: 34px; font-weight: 700; }
.unisky-service-faq h2 { margin: 0 0 22px; font-size: 16px; color: var(--unisky-muted); }
.unisky-service-accordion details { border: 1px solid #dfe4ea; background: #fff; }
.unisky-service-accordion details + details { border-top: 0; }
.unisky-service-accordion summary { cursor: pointer; padding: 18px 20px; color: var(--unisky-ink); font-weight: 700; list-style: none; }
.unisky-service-accordion summary::-webkit-details-marker { display: none; }
.unisky-service-accordion summary::before { content: '+'; margin-right: 11px; color: var(--unisky-gold); }
.unisky-service-accordion details[open] summary::before { content: '–'; }
.unisky-service-accordion details > div { padding: 0 20px 16px 48px; color: var(--unisky-muted); line-height: 1.65; }
.unisky-service-trust { background: var(--unisky-navy); }
.unisky-service-trust-inner { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; width: min(1340px, calc(100% - 48px)); margin: 0 auto; background: #274566; }
.unisky-service-trust-inner > div { padding: 34px 24px; text-align: center; background: var(--unisky-navy); color: #fff; }
.unisky-service-trust strong, .unisky-service-trust span { display: block; }
.unisky-service-trust strong { margin-bottom: 8px; font-size: 18px; }
.unisky-service-trust span { color: #c7d2de; font-size: 14px; }
.unisky-partner-packet { padding: 74px max(24px, calc((100% - 1340px) / 2)); background: var(--unisky-light); scroll-margin-top: 110px; }
.unisky-partner-packet-heading { max-width: 880px; margin: 0 auto 42px; text-align: center; }
.unisky-partner-packet-heading .unisky-service-eyebrow { color: var(--unisky-gold); }
.unisky-partner-packet-heading h2 { margin: 0 0 17px; color: var(--unisky-ink); font-size: 42px; line-height: 1.16; }
.unisky-partner-packet-heading > p:last-child { margin: 0; color: var(--unisky-muted); font-size: 17px; line-height: 1.75; }
.unisky-partner-packet-grid { display: grid; grid-template-columns: minmax(360px, .82fr) minmax(0, 1.18fr); gap: 30px; align-items: stretch; }
.unisky-partner-specs, .unisky-partner-docs { border: 1px solid #d9dfe5; background: #fff; }
.unisky-partner-panel-title { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 32px; background: var(--unisky-navy); color: #fff; }
.unisky-partner-panel-title h3, .unisky-partner-docs h3, .unisky-partner-packet-cta h3 { margin: 0; font-size: 25px; line-height: 1.2; }
.unisky-partner-panel-title h3 { color: #fff; }
.unisky-partner-panel-title span { color: var(--unisky-gold); font-size: 13px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; white-space: nowrap; }
.unisky-partner-specs dl { margin: 0; }
.unisky-partner-specs dl > div { display: grid; grid-template-columns: 165px minmax(0, 1fr); gap: 24px; padding: 18px 22px; border-top: 1px solid #e2e6ea; }
.unisky-partner-specs dt { color: #7588a2; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.unisky-partner-specs dd { margin: 0; color: var(--unisky-ink); line-height: 1.5; }
.unisky-partner-docs-column { display: flex; flex-direction: column; gap: 20px; }
.unisky-partner-docs { flex: 1; padding: 34px; }
.unisky-partner-docs h3 { margin-bottom: 25px; color: var(--unisky-ink); }
.unisky-partner-docs ul { margin: 0; padding: 0; list-style: none; }
.unisky-partner-docs li { position: relative; margin-bottom: 16px; padding-left: 30px; color: var(--unisky-ink); line-height: 1.55; }
.unisky-partner-docs li:last-child { margin-bottom: 0; }
.unisky-partner-docs li::before { content: '✓'; position: absolute; left: 0; color: var(--unisky-gold); font-weight: 700; }
.unisky-partner-packet-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 28px 30px; background: var(--unisky-navy); color: #fff; }
.unisky-partner-packet-cta h3 { color: #fff; }
.unisky-partner-packet-cta p { margin: 7px 0 0; color: #cad5e1; font-size: 14px; }
.unisky-partner-packet-cta .unisky-service-button { flex: 0 0 auto; }

@media (max-width: 900px) {
    .unisky-service-hero { min-height: 410px; }
    .unisky-service-layout { grid-template-columns: 1fr; gap: 50px; padding: 58px 0; }
    .unisky-service-faq { position: static; }
    .unisky-service-trust-inner { grid-template-columns: repeat(2, 1fr); }
    .unisky-partner-packet-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .unisky-service-hero-inner, .unisky-service-layout { width: calc(100% - 36px); }
    .unisky-service-eyebrow { font-size: 11px; line-height: 1.5; }
    .unisky-service-hero h1 { font-size: 34px; line-height: 1.12; }
    .unisky-service-subtitle { font-size: 16px; line-height: 1.65; }
    .unisky-service-button { font-size: 14px; line-height: 1.2; }
    .unisky-service-content { font-size: 16px; line-height: 1.75; }
    .unisky-service-content h2 { font-size: 28px; line-height: 1.25; }
    .unisky-service-content h3 { font-size: 23px; line-height: 1.3; }
    .unisky-service-faq-label { font-size: 30px; line-height: 1.2; }
    .unisky-service-faq h2 { font-size: 15px; line-height: 1.4; }
    .unisky-service-accordion summary { font-size: 16px; line-height: 1.45; }
    .unisky-service-accordion details > div { font-size: 15px; line-height: 1.7; }
    .unisky-service-trust strong { font-size: 17px; line-height: 1.35; }
    .unisky-service-trust span { font-size: 14px; line-height: 1.5; }
    .unisky-service-trust-inner { grid-template-columns: 1fr; width: 100%; }
    .unisky-partner-packet { padding: 52px 18px; }
    .unisky-partner-packet-heading h2 { font-size: 32px; }
    .unisky-partner-panel-title { align-items: flex-start; padding: 25px 22px; }
    .unisky-partner-panel-title h3, .unisky-partner-docs h3, .unisky-partner-packet-cta h3 { font-size: 22px; }
    .unisky-partner-specs dl > div { grid-template-columns: 1fr; gap: 6px; padding: 17px 20px; }
    .unisky-partner-docs { padding: 25px 21px; }
    .unisky-partner-packet-cta { align-items: flex-start; flex-direction: column; padding: 25px 22px; }
}
