.pack-hero { position: relative; overflow: hidden; background: linear-gradient(122deg,#fff 0%,#f6faff 48%,#e9f3ff 100%); border-bottom: 1px solid #dfe9f4; }
.pack-hero::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(0,56,136,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,56,136,.035) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(90deg,transparent 0%,#000 64%,#000 100%); }
.pack-hero-grid { position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:36px; min-height:455px; align-items:center; }
.pack-hero-copy { padding:38px 0; }
.pack-hero h1 { margin:12px 0 18px; color:#082f61; font-size:48px; line-height:1.06; letter-spacing:-.04em; }
.pack-hero-copy > p { max-width:700px; margin:0; color:#52657b; font-size:15px; line-height:1.6; }
.pack-hero-facts { display:grid; gap:10px; max-width:920px; margin-top:19px; }
.pack-brand-strip,.pack-series-strip,.pack-scope-strip { display:flex; min-height:30px; align-items:center; gap:7px; }
.pack-brand-strip b,.pack-series-strip b,.pack-scope-strip b { flex:0 0 78px; color:#244b77; font-size:13px; }
.pack-brand-strip > span,.pack-series-strip > span,.pack-scope-strip > span { display:inline-flex; min-height:32px; align-items:center; justify-content:center; padding:0 12px; border:1px solid #d3e0ef; border-radius:7px; background:rgba(255,255,255,.88); color:#516a86; font-size:12px; font-weight:750; white-space:nowrap; }
.pack-brand-strip img { display:block; width:auto; max-width:72px; height:auto; max-height:17px; object-fit:contain; }
.pack-brand-strip .brand-text { color:#153f70; }
.pack-series-strip > span { min-width:62px; background:#f8fbff; color:#244f7d; }
.pack-scope-strip > span { background:#edf5fe; color:#315a88; }
.pack-hero-paths { display:grid; grid-template-columns:1fr 1fr; gap:18px; width:100%; max-width:920px; margin-top:23px; }
.pack-path-card { position:relative; display:flex; min-height:142px; flex-direction:column; align-items:stretch; overflow:hidden; padding:17px 18px 15px; border:1px solid #d3e0ef; border-radius:12px; background:rgba(255,255,255,.92); box-shadow:0 10px 24px rgba(19,55,98,.06); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.pack-path-card:hover { transform:translateY(-3px); border-color:#a9c5e4; box-shadow:0 17px 36px rgba(19,55,98,.12); }
.pack-path-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:#84a9d4; }
.pack-path-ready::before { background:var(--blue); }
.pack-path-card span { color:#6684a8; font-size:12px; font-weight:850; letter-spacing:.1em; }
.pack-path-card h2 { margin:6px 0 5px; color:#123d73; font-size:19px; line-height:1.2; letter-spacing:-.02em; }
.pack-path-card p { margin:0 0 8px; color:#5f7289; font-size:13px; line-height:1.55; }
.pack-path-card .button { min-width:140px; min-height:40px; align-self:flex-end; margin-top:auto; padding:0 18px; }
.pack-path-custom { background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(239,246,255,.94)); }
.pack-hero-visual { position:relative; width:min(100%,680px); height:420px; justify-self:center; align-self:center; margin:0; overflow:visible; }
.pack-hero-visual::before { content:""; position:absolute; z-index:0; left:7%; right:7%; top:3%; bottom:2%; border-radius:50%; background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.98) 0%,rgba(237,246,255,.92) 57%,rgba(209,228,249,.48) 72%,rgba(209,228,249,0) 73%); }
.pack-hero-visual::after { content:""; position:absolute; z-index:0; left:17%; right:10%; bottom:1%; height:14%; border-radius:50%; background:rgba(24,68,121,.13); filter:blur(24px); }
.pack-hero-visual > img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 18px 20px rgba(13,47,91,.18)); }

.pack-catalog { padding:48px 0 64px; background:#f6f9fd; }
.pack-section-heading { margin-bottom:24px; }
.pack-section-heading.compact { margin-bottom:30px; }
.pack-section-heading h2 { margin:9px 0 0; color:#0a315f; font-size:39px; line-height:1.18; letter-spacing:-.03em; }
.pack-section-heading > p { margin:0; color:var(--text); font-size:14px; line-height:1.75; }
.pack-section-heading > a { justify-self:end; }
.pack-family { margin-top:20px; padding:22px; border:1px solid #dce6f0; border-radius:18px; background:#fff; }
.pack-family + .pack-family { margin-top:20px; }
.pack-family-heading { display:flex; align-items:center; justify-content:space-between; gap:44px; margin-bottom:16px; padding-bottom:14px; border-bottom:1px solid #e4ebf3; }
.pack-family-heading > div { display:flex; align-items:center; gap:16px; }
.pack-family-heading > div > span { display:grid; width:42px; height:42px; place-items:center; border-radius:10px; background:#e7f1fd; color:var(--blue); font-size:12px; font-weight:850; }
.pack-family-heading h3 { margin:0; color:#153b69; font-size:20px; }
.pack-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.pack-card { position:relative; display:grid; grid-template-columns:138px 1fr; min-width:0; overflow:hidden; border:1px solid #e0e8f1; border-radius:14px; background:#fff; transition:.2s ease; }
.pack-card:hover { transform:translateY(-3px); border-color:#c6d8ec; box-shadow:0 16px 36px rgba(20,52,90,.1); }
.pack-card > img { width:138px; height:100%; min-height:0; padding:8px; object-fit:contain; background:#f8fbff; }
.pack-card-body { min-width:0; padding:13px 14px 12px; }
.pack-card h4 { display:flex; flex-wrap:nowrap; align-items:baseline; gap:8px; min-height:0; margin:0; color:#173c69; font-size:15px; line-height:1.35; white-space:nowrap; }
.pack-title-count { display:inline; flex:0 1 auto; color:#8290a2; font-size:12px; font-weight:500; white-space:nowrap; }
.pack-card dl { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:10px 0 0; }
.pack-card dl div { display:flex; align-items:baseline; justify-content:space-between; gap:8px; min-width:0; padding:7px 8px; border-radius:7px; background:#f3f7fb; }
.pack-card dt,.pack-card dd { margin:0; }
.pack-card dt { flex:0 0 auto; color:#8492a3; font-size:12px; }
.pack-card dd { flex:0 0 auto; color:#274b76; font-size:13px; font-weight:800; white-space:nowrap; }
.pack-card a { display:block; margin-top:8px; color:var(--blue); font-size:13px; font-weight:800; }
.pack-parameter-note { display:grid; grid-template-columns:150px 1fr; gap:24px; align-items:start; margin-top:28px; padding:22px 26px; border-left:3px solid var(--blue); border-radius:0 12px 12px 0; background:#eaf3fe; }
.pack-parameter-note b { color:#123d73; font-size:14px; }
.pack-parameter-note p { margin:0; color:#5d7086; font-size:13px; line-height:1.75; }

.pack-custom { padding:36px 0 42px; background:#f4f8fc; }
.pack-custom-grid { display:grid; grid-template-columns:.94fr 1.06fr; gap:56px; align-items:center; }
.pack-custom figure { position:relative; width:100%; max-width:500px; aspect-ratio:1/1; align-self:center; justify-self:start; margin:0; overflow:visible; }
.pack-custom figure::before { content:""; position:absolute; z-index:0; inset:7% 5% 4%; border-radius:50%; background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.96) 0%,rgba(235,245,255,.88) 58%,rgba(205,226,249,.42) 72%,rgba(205,226,249,0) 73%); }
.pack-custom figure::after { content:""; position:absolute; z-index:0; left:14%; right:8%; bottom:5%; height:12%; border-radius:50%; background:rgba(24,68,121,.12); filter:blur(22px); }
.pack-custom figure img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; object-position:center; filter:drop-shadow(0 17px 18px rgba(13,47,91,.16)); }
.pack-custom-copy h2 { max-width:none; margin:4px 0 18px; color:#0a315f; font-size:41px; line-height:1.18; letter-spacing:-.03em; }
.pack-custom-copy > p { margin:0; color:#5d7086; font-size:15px; line-height:1.9; }
.pack-input-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:24px 0 0; }
.pack-input-grid div { padding:19px 18px; border:1px solid #dce6f0; border-radius:11px; background:#fff; }
.pack-input-grid b,.pack-input-grid span { display:block; }
.pack-input-grid b { color:#184574; font-size:14px; }
.pack-input-grid span { margin-top:8px; color:#738296; font-size:13.5px; line-height:1.65; }

.pack-workflow-inline { display:grid; grid-template-columns:230px minmax(0,1fr) 168px; gap:24px; align-items:center; margin-top:34px; padding:24px 26px; border-radius:16px; background:linear-gradient(125deg,#062d5c,#003888); color:#fff; }
.pack-workflow-inline h3 { margin:7px 0 0; font-size:24px; line-height:1.25; }
.pack-workflow-inline ol { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:0; padding:0; list-style:none; }
.pack-workflow-inline li { display:grid; grid-template-columns:30px 1fr; gap:9px; padding:0 14px; border-left:1px solid rgba(255,255,255,.18); }
.pack-workflow-inline li > span { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:rgba(255,255,255,.12); font-size:12px; font-weight:850; }
.pack-workflow-inline h4 { margin:2px 0 5px; font-size:14px; }
.pack-workflow-inline li p { margin:0; color:#b8cce4; font-size:12px; line-height:1.55; }
.pack-workflow-action { display:flex; justify-content:flex-end; padding-left:10px; border-left:1px solid rgba(255,255,255,.18); }
.pack-workflow-action .button { width:100%; min-height:42px; padding-inline:14px; white-space:nowrap; }

.pack-cta { padding:36px 0 78px; background:#fff; }
.pack-cta-inner { display:grid; grid-template-columns:1fr 360px; gap:54px; align-items:center; padding:36px 42px; border:1px solid #d5e2f0; border-radius:20px; background:linear-gradient(125deg,#f8fbff,#eaf3ff); }
.pack-cta h2 { max-width:780px; margin:9px 0 10px; color:#0a315f; font-size:31px; line-height:1.25; }
.pack-cta p { max-width:780px; margin:0; color:#617389; font-size:14px; line-height:1.7; }
.pack-application-link { display:inline-block; margin-top:10px; color:#31577f; font-size:13px; font-weight:750; }
.pack-cta-actions { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; gap:10px; }
.pack-cta-actions .button { justify-content:center; }
.pack-cta-direct { display:flex; grid-column:1 / -1; min-height:76px; align-items:center; justify-content:space-between; gap:14px; padding:8px 10px 8px 14px; border:1px solid #d3e0ef; border-radius:10px; background:rgba(255,255,255,.72); }
.pack-cta-direct > a:first-child { color:#31577f; font-size:13px; font-weight:750; }
.pack-cta-qr { display:grid; grid-template-columns:58px auto; align-items:center; gap:8px; color:#31577f; font-size:12px; font-weight:750; }
.pack-cta-qr img { width:58px; height:58px; padding:3px; object-fit:contain; border-radius:6px; background:#fff; }
