@font-face {
    font-family: "Edsysi Inter";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../../fonts/filament/filament/inter/inter-latin-wght-normal-NRMW37G5.woff2") format("woff2");
}

:root { --blue: #0064fe; --navy: #00266e; --ink: #12213d; --muted: #60708c; --line: #dbe4f2; --surface: #f5f8fe; --white: #fff; --shell: 1160px; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: "Edsysi Inter", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
.shell { width: min(calc(100% - 48px), var(--shell)); margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.92); border-bottom: 1px solid rgba(219,228,242,.8); backdrop-filter: blur(16px); }
.nav-wrap { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { width: 140px; display: inline-flex; }.brand img { width: 100%; display: block; }.brand-logo--dark { display:none!important; }
.main-nav { display: flex; align-items: center; gap: 28px; font-size: .93rem; font-weight: 650; }.main-nav > a:not(.nav-cta) { color: #4e5d77; }.main-nav > a:hover, .main-nav > .is-active { color: var(--blue); }.nav-cta { padding: 10px 15px; border: 1px solid #c5d3eb; border-radius: 10px; color: var(--navy); }
.menu-toggle { display: none; border: 0; background: transparent; padding: 8px; }.menu-toggle span { display: block; width: 22px; height: 2px; margin: 4px; background: var(--navy); }
.theme-toggle { display:grid; width:38px; height:38px; place-items:center; padding:0; border:1px solid #c5d3eb; border-radius:10px; color:var(--navy); background:rgba(255,255,255,.72); font-size:1.08rem; line-height:1; transition:transform .2s,background .2s,border-color .2s; }.theme-toggle:hover { transform:translateY(-1px); border-color:#8fb6f5; background:#edf4ff; }
.hero { position: relative; overflow: hidden; min-height: 598px; padding: 142px 0 112px; background: linear-gradient(123deg,#f4f8ff 0%,#fff 54%,#eef5ff 100%); }.hero-grid { position:absolute; inset:0; opacity:.55; background-image: linear-gradient(rgba(0,100,254,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,100,254,.06) 1px,transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to right, #000 0%, transparent 70%); }.hero-content { position: relative; max-width: calc((var(--shell) / 2) + 80px); margin-left: max(24px, calc((100% - var(--shell)) / 2)); }.eyebrow { margin: 0 0 15px; color: var(--blue); font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.hero h1,.page-intro h1,.detail-hero h1 { max-width: 790px; margin: 0; font-size: clamp(2.6rem,5.5vw,5.1rem); letter-spacing: -.068em; line-height: .98; }.hero h1 span { color: var(--blue); }.hero-copy { max-width: 600px; margin: 28px 0 34px; color: var(--muted); font-size: 1.15rem; }.hero-actions,.inline-actions { display:flex; flex-wrap: wrap; gap: 14px; align-items: center; }.button { display: inline-flex; gap: 10px; align-items: center; justify-content: center; min-height: 48px; padding: 12px 19px; border-radius: 10px; font-size: .94rem; font-weight: 750; transition: transform .2s, box-shadow .2s; }.button:hover { transform: translateY(-2px); }.button-primary { color: #fff; background: var(--blue); box-shadow: 0 12px 22px rgba(0,100,254,.2); }.button-secondary { color: var(--navy); border: 1px solid #b9cae8; background: rgba(255,255,255,.75); }.button-light { background: #fff; color: var(--navy); }.hero-orbit { position:absolute; border: 1px solid rgba(0,100,254,.15); border-radius:50%; }.hero-orbit-one { width: 600px; height:600px; right:-200px; top:25px; }.hero-orbit-two { width: 370px; height:370px; right:-85px; top:140px; border-color:rgba(0,38,110,.15); }
.section { padding: 100px 0; }.section-soft { background: var(--surface); }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom: 42px; }.section h2,.page-intro h1,.detail-content h2,.contact-banner h2,.empty-state h2 { margin:0; font-size: clamp(2rem,3.3vw,3.15rem); letter-spacing:-.055em; line-height:1.05; }.section-heading h2 { max-width:690px; }.text-link { color: var(--blue); font-weight: 750; font-size:.93rem; }.text-link span { transition: transform .2s; display: inline-block; }.text-link:hover span { transform:translateX(4px); }.card-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:18px; }.catalog-card { min-height: 295px; padding: 27px; border:1px solid var(--line); border-radius: 18px; display:flex; flex-direction:column; background:#fff; transition: transform .2s, box-shadow .2s; }.catalog-card:hover { transform:translateY(-4px); box-shadow:0 20px 38px rgba(9,45,107,.09); }.catalog-card--blue { border-top: 4px solid var(--blue); }.catalog-card--violet { border-top: 4px solid #7047eb; }.catalog-card--cyan { border-top: 4px solid #0ba4bc; }.catalog-card--orange { border-top: 4px solid #ec7817; }.card-topline { display:flex; justify-content:space-between; color:var(--muted); font-size:.78rem; font-weight:700; }.card-mark { color:var(--blue); font-size:1.25rem; }.catalog-card h3 { margin: 45px 0 10px; font-size:1.62rem; letter-spacing:-.04em; }.catalog-card p { margin:0; color:var(--muted); font-size:.94rem; }.catalog-card .text-link { margin-top:auto; padding-top:24px; }.split-section { display:grid; grid-template-columns: 1fr .8fr; align-items:center; gap:80px; }.split-section > div > p:not(.eyebrow) { max-width:570px; color:var(--muted); font-size:1.05rem; }.process-section > h2 { max-width:680px; }.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:46px; }.process-grid article { padding-top:20px; border-top:1px solid #c8d6ed; }.process-grid span { color:var(--blue); font-size:.78rem; font-weight:800; }.process-grid h3 { margin:18px 0 9px; font-size:1.2rem; }.process-grid p { margin:0; color:var(--muted); font-size:.93rem; }.contact-banner { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:52px; border-radius:20px; color:#fff; background:linear-gradient(120deg,var(--navy),#0649bd); }.contact-banner .eyebrow { color:#a9c9ff; }.page-intro { padding: 112px 0 64px; }.page-intro h1 { max-width:900px; }.page-intro > p:last-child { max-width:650px; color:var(--muted); font-size:1.1rem; margin:25px 0 0; }.catalog-list { padding-bottom:110px; }.detail-hero { padding:110px 0; background:linear-gradient(130deg,#f3f7ff,#fff); }.detail-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:70px; align-items:center; }.detail-summary { max-width:590px; color:var(--muted); font-size:1.13rem; margin:24px 0 33px; }.detail-mark { width:210px; height:210px; justify-self:end; border-radius:30%; display:grid; place-items:center; color:#fff; background:var(--blue); font-size:7rem; font-weight:800; box-shadow:22px 24px 0 rgba(0,100,254,.12); }.detail-hero--violet .detail-mark { background:#7047eb; }.detail-hero--cyan .detail-mark { background:#0ba4bc; }.detail-hero--orange .detail-mark { background:#ec7817; }.detail-content { display:grid; grid-template-columns:1.2fr .8fr; gap:100px; }.detail-content h2 { font-size:clamp(1.7rem,3vw,2.65rem); }.feature-list { list-style:none; padding:0; margin:0; display:grid; gap:16px; }.feature-list li { display:flex; gap:11px; align-items:center; font-weight:650; }.feature-list span { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; color:var(--blue); background:#e9f1ff; font-size:.75rem; }.notice { margin-bottom:100px; max-width:var(--shell); padding:22px; border-left:4px solid #ed8b3d; background:#fff7f0; border-radius:0 12px 12px 0; }.notice p { margin:4px 0 0; color:#785332; }.empty-state { min-height:380px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:60px; margin-bottom:100px; border:1px dashed #b7c9e5; border-radius:20px; background:var(--surface); }.empty-state img { width:70px; height:80px; object-fit:contain; margin-bottom:20px; }.empty-state h2 { font-size:1.8rem; }.empty-state p { max-width:510px; color:var(--muted); }.site-footer { padding:55px 0; background:#061d50; color:#c5d4ee; }.footer-grid { display:grid; grid-template-columns: 2fr 1fr 1fr; gap:40px; }.footer-logo { width:130px; padding:8px; background:#fff; border-radius:6px; }.site-footer p { font-size:.9rem; }.site-footer a,.site-footer span { display:block; margin:8px 0; font-size:.9rem; }.footer-label { color:#fff; font-weight:800; }
@media (max-width: 760px) { .shell { width:min(calc(100% - 36px),var(--shell)); }.nav-wrap { min-height:64px; }.brand { width:120px; }.menu-toggle { display:block; }.main-nav { display:none; position:absolute; top:64px; left:0; right:0; padding:22px; flex-direction:column; align-items:stretch; background:#fff; border-bottom:1px solid var(--line); }.main-nav.is-open { display:flex; }.nav-cta { text-align:center; }.hero { min-height:auto; padding:100px 0 80px; }.hero-orbit { opacity:.45; }.hero-orbit-one { right:-380px; top:0; }.hero h1,.page-intro h1,.detail-hero h1 { font-size:clamp(2.55rem,12vw,4rem); }.section { padding:70px 0; }.section-heading,.contact-banner { align-items:flex-start; flex-direction:column; }.desktop-link { display:none; }.card-grid,.process-grid,.split-section,.detail-grid,.detail-content,.footer-grid { grid-template-columns:1fr; }.catalog-card { min-height:260px; }.split-section { gap:38px; }.contact-banner { padding:32px; }.page-intro { padding:75px 0 45px; }.detail-hero { padding:75px 0; }.detail-mark { width:120px; height:120px; font-size:4rem; justify-self:start; }.detail-content { gap:40px; }.empty-state { padding:35px 20px; margin-bottom:70px; }.site-footer { padding:45px 0; }.footer-grid { gap:28px; } }

/* Home refresh: product-first visual language */
.hero { min-height:650px; padding:110px 0 98px; }.hero::after { content:""; position:absolute; width:680px; height:680px; right:-260px; bottom:-440px; border-radius:50%; background:radial-gradient(circle,rgba(0,100,254,.19),rgba(0,100,254,0) 68%); }.hero-grid { mask-image:linear-gradient(to right,#000 0%,transparent 82%); }.hero-layout { position:relative; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:46px; }.hero-content { max-width:630px; margin-left:0; }.hero h1 { font-size:clamp(2.7rem,5.2vw,5.1rem); }.pulse-dot { display:inline-block; width:7px; height:7px; margin:0 8px 1px 0; border-radius:50%; background:var(--blue); box-shadow:0 0 0 5px rgba(0,100,254,.13); }.hero-trust { display:flex; gap:20px; flex-wrap:wrap; margin-top:49px; color:#566782; font-size:.76rem; font-weight:700; }.hero-trust span { display:flex; align-items:center; gap:7px; }.hero-trust b { color:#9cb3d7; font-size:.68rem; letter-spacing:.06em; }.hero-showcase { position:relative; min-height:390px; display:grid; place-items:center; }.showcase-glow { position:absolute; width:390px; height:390px; border-radius:50%; background:radial-gradient(circle,rgba(0,100,254,.16),rgba(0,100,254,0) 70%); }.showcase-window { position:relative; width:min(100%,440px); overflow:hidden; border:1px solid rgba(160,187,229,.65); border-radius:21px; background:rgba(255,255,255,.87); box-shadow:0 35px 70px rgba(15,55,120,.16); backdrop-filter:blur(14px); transform:rotate(2deg); }.window-bar { height:52px; display:flex; align-items:center; gap:10px; padding:0 16px; border-bottom:1px solid #e4ecf8; color:#63718a; font-size:.74rem; font-weight:700; }.window-bar i { width:8px; height:8px; margin-left:auto; border-radius:50%; background:#b5c9e8; box-shadow:-14px 0 0 #d5e2f5,-28px 0 0 #e4edf9; }.window-logo { display:grid; place-items:center; width:26px; height:26px; overflow:hidden; border-radius:7px; background:#eef4ff; }.window-logo img { width:16px; }.window-content { padding:25px; }.window-kicker,.window-footer span { color:#8da0be; font-size:.64rem; font-weight:850; letter-spacing:.11em; }.window-title { margin:9px 0 20px; color:var(--navy); font-size:1.3rem; font-weight:800; letter-spacing:-.04em; }.solution-pills { display:grid; gap:10px; }.solution-pill { display:flex; align-items:center; gap:11px; padding:11px; border:1px solid #e2eaf7; border-radius:12px; background:#fff; }.solution-pill > span { display:grid; flex:0 0 32px; width:32px; height:32px; place-items:center; border-radius:9px; color:#fff; background:var(--blue); font-size:.81rem; font-weight:850; }.solution-pill--violet > span { background:#7047eb; }.solution-pill--cyan > span { background:#0ba4bc; }.solution-pill b,.solution-pill small { display:block; }.solution-pill b { color:#26395a; font-size:.78rem; }.solution-pill small { color:#8492a9; font-size:.63rem; }.solution-pill em { margin-left:auto; color:#a5b4cc; font-style:normal; }.window-footer { display:flex; justify-content:space-between; align-items:center; margin-top:22px; padding-top:16px; border-top:1px solid #e9eff8; }.window-footer strong { color:#2d8d63; font-size:.68rem; }.floating-chip { position:absolute; z-index:2; display:flex; align-items:center; gap:7px; padding:9px 11px; border:1px solid #dce8f8; border-radius:10px; color:#405273; background:rgba(255,255,255,.93); box-shadow:0 12px 23px rgba(38,75,132,.12); font-size:.67rem; font-weight:800; }.floating-chip span { color:var(--blue); font-size:.9rem; }.chip-one { top:44px; right:-5px; }.chip-two { bottom:38px; left:-10px; }
.catalog-card { position:relative; min-height:308px; padding:24px; overflow:hidden; transition:transform .25s,box-shadow .25s,border-color .25s; }.catalog-card::after { content:""; position:absolute; width:160px; height:160px; right:-88px; bottom:-94px; border-radius:50%; background:rgba(0,100,254,.06); }.catalog-card--violet::after { background:rgba(112,71,235,.07); }.catalog-card--cyan::after { background:rgba(11,164,188,.07); }.catalog-card--orange::after { background:rgba(236,120,23,.07); }.catalog-card:hover { transform:translateY(-6px); border-color:#c4d7f5; box-shadow:0 25px 45px rgba(9,45,107,.11); }.card-type { display:flex; align-items:center; gap:7px; }.card-dot { width:7px; height:7px; border-radius:50%; background:var(--blue); }.catalog-card--violet .card-dot { background:#7047eb; }.catalog-card--cyan .card-dot { background:#0ba4bc; }.catalog-card--orange .card-dot { background:#ec7817; }.card-identity { position:relative; z-index:1; display:grid; width:47px; height:47px; margin:27px 0 14px; place-items:center; border-radius:14px; color:var(--blue); background:#edf4ff; font-size:1.15rem; font-weight:850; }.catalog-card--violet .card-identity { color:#7047eb; background:#f2efff; }.catalog-card--cyan .card-identity { color:#078da4; background:#e9fbfd; }.catalog-card--orange .card-identity { color:#d35d09; background:#fff3e9; }.catalog-card h3,.catalog-card p,.catalog-card .text-link,.card-topline { position:relative; z-index:1; }.catalog-card h3 { margin:0 0 9px; font-size:1.55rem; }.program-spotlight { min-height:320px; padding:32px; border:1px solid #cadbf6; border-radius:21px; color:#dbe9ff; background:linear-gradient(145deg,#062b71,#0754cc); box-shadow:0 25px 45px rgba(0,55,145,.19); }.spotlight-icon { display:grid; width:52px; height:52px; margin-bottom:34px; place-items:center; border:1px solid rgba(255,255,255,.19); border-radius:15px; background:rgba(255,255,255,.14); color:#fff; font-size:1.3rem; font-weight:850; }.program-spotlight .eyebrow { color:#99c3ff; }.program-spotlight h3 { margin:0 0 8px; color:#fff; font-size:1.65rem; letter-spacing:-.04em; }.program-spotlight p:not(.eyebrow) { max-width:330px; margin:0; color:#c6dcff; font-size:.92rem; }.program-spotlight .text-link { display:inline-block; margin-top:24px; color:#fff; }
@media (max-width:860px) { .hero-layout { grid-template-columns:1fr; }.hero-showcase { width:min(100%,490px); margin:4px auto 0; }.hero-content { max-width:680px; }.hero { padding-top:88px; } }
@media (max-width:760px) { .hero { padding:78px 0 66px; }.hero-trust { gap:13px; margin-top:37px; }.hero-showcase { min-height:336px; }.showcase-window { transform:none; }.window-content { padding:20px; }.floating-chip { display:none; }.catalog-card { min-height:270px; } }

/* Catalog sections */
.catalog-intro { position:relative; overflow:hidden; padding:105px 0 72px; background:linear-gradient(135deg,#f4f8ff,#fff 60%,#eff5ff); }.catalog-intro::before { content:""; position:absolute; width:430px; height:430px; right:-160px; top:-230px; border:1px solid rgba(0,100,254,.16); border-radius:50%; box-shadow:0 0 0 50px rgba(0,100,254,.025),0 0 0 100px rgba(0,100,254,.015); }.catalog-intro-grid { position:relative; display:grid; grid-template-columns:1.2fr .62fr; align-items:end; gap:70px; }.catalog-intro h1 { max-width:800px; margin:0; color:var(--ink); font-size:clamp(2.7rem,5.1vw,4.8rem); letter-spacing:-.07em; line-height:.99; }.catalog-intro > p,.catalog-intro-grid > div > p:last-child { max-width:650px; margin:25px 0 0; color:var(--muted); font-size:1.08rem; }.catalog-intro-aside { min-height:176px; padding:24px; border:1px solid #d9e6f8; border-radius:17px; background:rgba(255,255,255,.72); box-shadow:0 20px 40px rgba(31,74,140,.06); }.aside-label { display:block; margin-bottom:19px; color:var(--blue); font-size:.65rem; font-weight:850; letter-spacing:.12em; }.catalog-intro-aside strong { display:block; color:var(--navy); font-size:1.13rem; line-height:1.18; letter-spacing:-.03em; }.catalog-intro-aside small { display:block; margin-top:12px; color:#71809a; font-size:.79rem; line-height:1.5; }.catalog-list { padding-top:43px; }.catalog-list-heading { display:flex; align-items:center; gap:15px; margin-bottom:20px; color:#7b8aa2; font-size:.73rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.catalog-list-line { height:1px; flex:1; background:#dce6f3; }.catalog-list .card-grid { padding-bottom:105px; }.resource-empty { display:grid; grid-template-columns:.88fr 1.12fr; align-items:center; gap:68px; min-height:440px; padding:72px 0 105px; }.resource-empty-copy h2 { max-width:490px; margin:0; color:var(--ink); font-size:clamp(2rem,3.7vw,3.25rem); line-height:1.04; letter-spacing:-.06em; }.resource-empty-copy > p:not(.eyebrow) { max-width:460px; color:var(--muted); font-size:1rem; }.resource-mark { display:grid; width:66px; height:66px; margin-bottom:25px; place-items:center; border:1px solid #d3e3fb; border-radius:19px; background:#f0f6ff; }.resource-mark img { width:36px; height:42px; object-fit:contain; }.resource-preview-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; align-items:center; }.resource-preview { min-height:230px; padding:19px; border:1px solid #dce7f6; border-radius:17px; display:flex; flex-direction:column; background:#fff; box-shadow:0 16px 30px rgba(23,63,120,.06); }.resource-preview:nth-child(2) { transform:translateY(26px); }.resource-preview span { display:grid; width:42px; height:42px; margin-bottom:auto; place-items:center; border-radius:11px; color:#fff; background:var(--blue); font-size:.68rem; font-weight:850; }.resource-preview b { margin-top:26px; color:#20385f; font-size:.92rem; }.resource-preview small { margin-top:5px; color:#8090aa; font-size:.68rem; line-height:1.3; }.resource-preview--violet span { background:#7047eb; }.resource-preview--cyan span { background:#0ba4bc; }
@media (max-width:860px) { .catalog-intro-grid,.resource-empty { grid-template-columns:1fr; gap:34px; }.catalog-intro-aside { max-width:500px; }.resource-preview-grid { max-width:600px; }.catalog-intro { padding-top:82px; } }
@media (max-width:560px) { .catalog-intro { padding:70px 0 48px; }.catalog-intro-aside { min-height:auto; }.catalog-list { padding-top:32px; }.catalog-list .card-grid { padding-bottom:70px; }.resource-empty { padding:50px 0 74px; }.resource-preview-grid { gap:9px; }.resource-preview { min-height:160px; padding:12px; }.resource-preview:nth-child(2) { transform:translateY(14px); }.resource-preview span { width:33px; height:33px; font-size:.56rem; }.resource-preview b { margin-top:15px; font-size:.75rem; }.resource-preview small { font-size:.59rem; } }

/* Compact vertical rhythm */
.hero { min-height:590px; padding:88px 0 78px; }.hero-showcase { min-height:340px; }.section { padding:82px 0; }.catalog-card { min-height:282px; }.card-identity { margin:21px 0 12px; }.program-spotlight { min-height:286px; padding:28px; }.spotlight-icon { margin-bottom:25px; }.catalog-intro { padding:82px 0 55px; }.catalog-intro-aside { min-height:150px; }.catalog-list .card-grid { padding-bottom:82px; }.resource-empty { min-height:360px; padding:55px 0 82px; }
@media (max-width:760px) { .nav-wrap { min-height:60px; }.main-nav { top:60px; padding:16px 18px; gap:17px; }.hero { min-height:0; padding:58px 0 52px; }.hero-layout { gap:0; }.hero h1 { font-size:clamp(2.45rem,11.2vw,3.3rem); }.hero-copy { margin:19px 0 24px; font-size:1rem; line-height:1.55; }.hero-actions { gap:10px; }.button { min-height:46px; padding:11px 15px; }.hero-trust { gap:8px 14px; margin-top:27px; font-size:.69rem; }.hero-showcase { display:none; }.section { padding:58px 0; }.section-heading { margin-bottom:27px; }.section h2 { font-size:clamp(1.8rem,8.6vw,2.3rem); }.card-grid { gap:13px; }.catalog-card { min-height:235px; padding:19px; border-radius:15px; }.card-identity { width:40px; height:40px; margin:17px 0 10px; border-radius:12px; font-size:1rem; }.catalog-card h3 { font-size:1.35rem; }.catalog-card p { font-size:.85rem; }.catalog-card .text-link { padding-top:16px; }.split-section { gap:28px; }.split-section > div > p:not(.eyebrow) { font-size:.96rem; }.program-spotlight { min-height:240px; padding:23px; border-radius:17px; }.spotlight-icon { width:43px; height:43px; margin-bottom:20px; border-radius:12px; font-size:1.08rem; }.program-spotlight h3 { font-size:1.42rem; }.process-grid { gap:18px; margin-top:30px; }.process-grid article { padding-top:14px; }.contact-banner { gap:18px; padding:27px; }.catalog-intro { padding:58px 0 39px; }.catalog-intro-grid { gap:22px; }.catalog-intro h1 { font-size:clamp(2.35rem,10.5vw,3.15rem); }.catalog-intro-grid > div > p:last-child { margin-top:17px; font-size:.98rem; }.catalog-intro-aside { min-height:auto; padding:17px; border-radius:13px; }.aside-label { margin-bottom:11px; font-size:.58rem; }.catalog-intro-aside strong { font-size:.98rem; }.catalog-intro-aside small { margin-top:7px; font-size:.72rem; }.catalog-list { padding-top:25px; }.catalog-list-heading { margin-bottom:14px; font-size:.63rem; }.catalog-list .card-grid { padding-bottom:58px; }.resource-empty { gap:32px; min-height:auto; padding:41px 0 62px; }.resource-empty-copy h2 { font-size:clamp(1.8rem,8.6vw,2.35rem); }.resource-empty-copy > p:not(.eyebrow) { font-size:.93rem; }.resource-mark { width:53px; height:53px; margin-bottom:17px; border-radius:15px; }.resource-mark img { width:29px; height:33px; }.resource-preview { min-height:145px; }.page-intro { padding:58px 0 38px; }.detail-hero { padding:58px 0; }.detail-content { gap:30px; }.notice { margin-bottom:58px; padding:17px; } }

/* Dark-surface brand treatment */
.site-footer .footer-logo { width:145px; padding:0; background:transparent; border-radius:0; }

/* Product identity and download hierarchy */
.card-identity--image { overflow:hidden; padding:0; border:1px solid #d5e3f8; background:#fff; box-shadow:0 9px 18px rgba(15,70,148,.08); }.card-identity--image img { width:100%; height:100%; object-fit:cover; }.detail-hero { position:relative; overflow:hidden; padding:84px 0; }.detail-hero::after { content:""; position:absolute; width:620px; height:620px; right:-285px; top:-430px; border-radius:50%; background:radial-gradient(circle,rgba(0,100,254,.16),rgba(0,100,254,0) 68%); }.detail-grid { position:relative; z-index:1; grid-template-columns:1.08fr .92fr; gap:54px; }.detail-visual { position:relative; justify-self:end; width:min(100%,440px); padding:10px; border:1px solid rgba(161,189,232,.72); border-radius:24px; background:rgba(255,255,255,.8); box-shadow:0 28px 58px rgba(21,64,132,.17); transform:rotate(1.3deg); }.detail-visual::before { content:""; position:absolute; inset:28px -28px -28px 28px; z-index:-1; border-radius:24px; background:rgba(0,100,254,.1); }.detail-cover { display:block; width:100%; aspect-ratio:16 / 9; object-fit:cover; border-radius:16px; }.download-section { max-width:calc(var(--shell) + 44px); margin:0 auto; padding:28px 22px 40px; border:1px solid #d7e5f8; border-radius:25px; background:linear-gradient(135deg,#f3f8ff,#fff 64%); box-shadow:0 20px 45px rgba(21,64,132,.07); }.download-heading { display:flex; justify-content:space-between; gap:25px; margin-bottom:21px; }.download-heading h2 { margin:0; font-size:clamp(1.65rem,3vw,2.35rem); letter-spacing:-.055em; }.download-heading > div > p:last-child { max-width:600px; margin:9px 0 0; color:var(--muted); font-size:.91rem; }.download-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:14px; }.download-card { position:relative; display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:center; min-height:134px; padding:21px; overflow:hidden; border:1px solid #d5e3f4; border-radius:17px; color:var(--ink); background:#fff; text-decoration:none; transition:transform .2s,box-shadow .2s,border-color .2s; }.download-card:hover { transform:translateY(-3px); border-color:#9dc0f8; box-shadow:0 17px 32px rgba(15,70,148,.1); }.download-card--recommended { min-height:148px; border-color:transparent; color:#fff; background:linear-gradient(128deg,#0059d8,#073eaa); box-shadow:0 18px 35px rgba(0,86,210,.22); }.download-card--recommended:hover { border-color:transparent; box-shadow:0 23px 40px rgba(0,86,210,.29); }.download-card--recommended::after { content:""; position:absolute; width:175px; height:175px; right:-72px; bottom:-98px; border:1px solid rgba(255,255,255,.2); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.04); }.download-card-icon { position:relative; z-index:1; display:grid; width:47px; height:47px; place-items:center; border-radius:13px; color:#fff; background:var(--blue); font-size:1.32rem; font-weight:800; }.download-card:not(.download-card--recommended) .download-card-icon { color:var(--blue); background:#eaf3ff; }.download-card-copy { position:relative; z-index:1; display:grid; gap:4px; }.download-card-kicker { color:#7890b0; font-size:.63rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.download-card-copy strong { font-size:1.04rem; letter-spacing:-.02em; }.download-card-copy small { color:var(--muted); font-size:.78rem; }.download-card--recommended .download-card-kicker { color:#b8d5ff; }.download-card--recommended .download-card-copy small { color:#d5e6ff; }.download-badge { position:absolute; z-index:2; top:14px; right:15px; padding:5px 7px; border-radius:6px; color:#fff; background:rgba(255,255,255,.16); font-size:.58rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.download-card-action { position:absolute; z-index:2; right:18px; bottom:17px; color:var(--blue); font-size:.74rem; font-weight:800; }.download-card-action b { margin-left:4px; font-size:.95rem; }.download-card--recommended .download-card-action { color:#fff; }
@media (max-width:760px) { .detail-hero { padding:54px 0; }.detail-grid { gap:30px; }.detail-visual { width:100%; justify-self:stretch; padding:7px; border-radius:19px; transform:none; }.detail-visual::before { inset:18px -12px -16px 15px; border-radius:19px; }.detail-cover { border-radius:13px; }.download-section { width:min(calc(100% - 36px),var(--shell)); padding:22px 16px 18px; border-radius:19px; }.download-heading { margin-bottom:17px; }.download-heading h2 { font-size:1.65rem; }.download-heading > div > p:last-child { font-size:.84rem; line-height:1.45; }.download-grid { grid-template-columns:1fr; gap:11px; }.download-card,.download-card--recommended { min-height:122px; padding:17px; }.download-card-action { right:15px; bottom:13px; } }

/* Shared dark theme: same Edsysi blue and navy, with higher-contrast surfaces. */
html.dark { --navy:#00266e; --ink:#e8f0ff; --muted:#a9bbd5; --line:#234574; --surface:#0d2148; --white:#081735; color-scheme:dark; }
html.dark body { background:#081735; }
html.dark .site-header { background:rgba(8,23,53,.92); border-bottom-color:#1d3a68; }
html.dark .brand-logo--light { display:none!important; } html.dark .brand-logo--dark { display:block!important; }
html.dark .main-nav > a:not(.nav-cta) { color:#b7c8e2; } html.dark .main-nav > a:hover, html.dark .main-nav > .is-active { color:#8dbbff; }
html.dark .nav-cta, html.dark .theme-toggle { border-color:#315889; color:#e8f0ff; background:#102a56; }
html.dark .theme-toggle:hover { border-color:#5b96e8; background:#14376e; }
html.dark .menu-toggle span { background:#e8f0ff; }
html.dark .hero { background:linear-gradient(123deg,#0b2044 0%,#081735 54%,#0b2855 100%); }
html.dark .hero-grid { opacity:.35; background-image:linear-gradient(rgba(91,150,232,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(91,150,232,.12) 1px,transparent 1px); }
html.dark .hero::after, html.dark .showcase-glow { opacity:.7; }
html.dark .hero-trust { color:#a9bbd5; } html.dark .hero-trust b { color:#6887b8; }
html.dark .button-secondary { color:#e8f0ff; border-color:#315889; background:rgba(16,42,86,.86); }
html.dark .button-light { color:#00266e; background:#fff; }
html.dark .section-soft, html.dark .catalog-intro { background:linear-gradient(135deg,#0d2148,#081735 60%,#0b2855); }
html.dark .catalog-card, html.dark .resource-preview, html.dark .catalog-intro-aside, html.dark .detail-visual, html.dark .download-card:not(.download-card--recommended) { border-color:#234574; color:#e8f0ff; background:#0d2148; box-shadow:0 18px 36px rgba(0,0,0,.18); }
html.dark .catalog-card:hover, html.dark .download-card:hover { border-color:#4d83ca; box-shadow:0 22px 42px rgba(0,0,0,.22); }
html.dark .catalog-card p, html.dark .split-section > div > p:not(.eyebrow), html.dark .page-intro > p:last-child, html.dark .catalog-intro > p, html.dark .catalog-intro-grid > div > p:last-child, html.dark .resource-empty-copy > p:not(.eyebrow), html.dark .detail-summary, html.dark .download-heading > div > p:last-child, html.dark .download-card-copy small { color:#a9bbd5; }
html.dark .catalog-intro h1, html.dark .catalog-intro-aside strong, html.dark .resource-empty-copy h2, html.dark .detail-content h2, html.dark .download-heading h2, html.dark .empty-state h2 { color:#f2f7ff; }
html.dark .card-topline, html.dark .window-bar, html.dark .window-kicker, html.dark .window-footer span, html.dark .solution-pill small, html.dark .resource-preview small, html.dark .download-card-kicker { color:#9eb2d2; }
html.dark .card-identity, html.dark .resource-mark, html.dark .download-card:not(.download-card--recommended) .download-card-icon { border-color:#234574; color:#8dbbff; background:#102b59; }
html.dark .showcase-window { border-color:#315889; background:rgba(13,33,72,.92); box-shadow:0 35px 70px rgba(0,0,0,.28); }
html.dark .window-bar, html.dark .window-footer { border-color:#234574; } html.dark .window-title, html.dark .solution-pill b, html.dark .resource-preview b { color:#e8f0ff; }
html.dark .solution-pill { border-color:#234574; background:#10264f; } html.dark .floating-chip { border-color:#315889; color:#dbe9ff; background:rgba(16,42,86,.94); box-shadow:0 12px 23px rgba(0,0,0,.22); }
html.dark .process-grid article, html.dark .catalog-list-line { border-color:#315889; } html.dark .catalog-list-heading { color:#9eb2d2; }
html.dark .detail-hero { background:linear-gradient(130deg,#0d2148,#081735); } html.dark .detail-visual::before { background:rgba(0,100,254,.22); }
html.dark .download-section { border-color:#234574; background:linear-gradient(135deg,#0d2148,#081735 64%); box-shadow:0 20px 45px rgba(0,0,0,.18); }
html.dark .download-card-action { color:#8dbbff; } html.dark .notice { background:#3e2a18; border-left-color:#f0a14c; } html.dark .notice p { color:#ffe1bc; }
html.dark .empty-state { border-color:#315889; background:#0d2148; } html.dark .site-footer { background:#061737; }
html.dark .contact-banner { background:linear-gradient(120deg,#00266e,#0649bd); } html.dark .contact-banner .eyebrow { color:#a9c9ff; }
@media (max-width:760px) { html.dark .main-nav { background:#081735; border-bottom-color:#234574; } }

.detail-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }.detail-tutorial { display:inline-flex; align-items:center; gap:7px; color:#45607f; font-size:.87rem; font-weight:750; }.detail-tutorial span { display:grid; width:23px; height:23px; place-items:center; border-radius:7px; color:#fff; background:#f04a4a; font-size:.59rem; }.detail-tutorial:hover { color:var(--blue); }
@media (max-width:760px) { .detail-actions { align-items:flex-start; gap:13px 16px; } }

/* Minimal program detail */
.detail-hero { padding:66px 0 56px; background:linear-gradient(135deg,#f6f9fe,#fff 62%); }.detail-grid { grid-template-columns:1.2fr .8fr; gap:46px; }.detail-summary { margin:17px 0 24px; font-size:1.03rem; line-height:1.55; }.detail-visual { width:min(100%,365px); padding:7px; border-radius:18px; box-shadow:0 18px 36px rgba(21,64,132,.12); transform:none; }.detail-visual::before { display:none; }.detail-cover { border-radius:12px; }.product-meta { display:flex; flex-wrap:wrap; gap:0; margin:20px 0 0; color:#71809a; font-size:.76rem; font-weight:700; }.product-meta span { display:flex; align-items:center; }.product-meta span + span::before { content:""; width:3px; height:3px; margin:0 9px; border-radius:50%; background:#a8b5c8; }.download-section { max-width:var(--shell); margin:0 auto; padding:0 0 36px; border:0; border-bottom:1px solid #e0e9f5; border-radius:0; background:transparent; box-shadow:none; }.primary-download { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 20px; border:1px solid #d6e4f6; border-radius:15px; background:#fff; }.primary-download > div { display:grid; gap:3px; }.primary-download-kicker { color:var(--blue); font-size:.63rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.primary-download strong { color:var(--ink); font-size:1rem; }.primary-download small { color:var(--muted); font-size:.78rem; }.primary-download .button { flex:none; min-height:44px; padding:10px 15px; }.download-alternative { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:13px 4px 0; color:#61738f; font-size:.84rem; text-decoration:none; }.download-alternative:hover { color:var(--blue); }.download-alternative strong { color:#354b6b; }.download-alternative small { flex:none; color:var(--blue); font-size:.77rem; font-weight:800; }.detail-content { grid-template-columns:1fr .82fr; gap:72px; padding-top:54px; padding-bottom:62px; }.detail-description { max-width:660px; margin:0; color:#52637d; font-size:1.03rem; line-height:1.7; }.feature-list { grid-template-columns:repeat(3,1fr); gap:11px; }.feature-list li { gap:8px; color:#4c5f7c; font-size:.84rem; font-weight:700; }.feature-list span { flex:0 0 21px; width:21px; height:21px; }.notice { margin-bottom:64px; padding:16px 18px; font-size:.85rem; }.notice p { font-size:.84rem; line-height:1.5; }
@media (max-width:760px) { .detail-hero { padding:48px 0 38px; }.detail-grid { gap:27px; }.detail-visual { width:100%; }.product-meta { margin-top:16px; }.download-section { width:min(calc(100% - 36px),var(--shell)); padding-bottom:27px; }.primary-download { align-items:flex-start; flex-direction:column; gap:15px; padding:17px; }.primary-download .button { width:100%; }.download-alternative { align-items:flex-start; flex-direction:column; gap:5px; margin:13px 1px 0; }.detail-content { gap:28px; padding-top:42px; padding-bottom:48px; }.detail-description { font-size:.96rem; }.feature-list { grid-template-columns:1fr; gap:10px; }.notice { margin-bottom:50px; } }

/* Public discovery */
.catalog-discovery { padding-bottom:82px; }.catalog-search-row,.catalog-filter-row { display:flex; align-items:center; gap:12px; }.catalog-search-row { justify-content:space-between; }.catalog-search { display:flex; flex:1; align-items:center; gap:10px; max-width:620px; min-height:48px; padding:0 15px; border:1px solid #cdddf2; border-radius:12px; background:#fff; box-shadow:0 8px 20px rgba(30,73,136,.04); }.catalog-search:focus-within { border-color:#7eaff3; box-shadow:0 0 0 4px rgba(0,100,254,.09); }.catalog-search span { color:var(--blue); font-size:1.45rem; line-height:1; }.catalog-search input { width:100%; border:0; outline:0; color:var(--ink); background:transparent; font:inherit; font-size:.9rem; }.catalog-search input::placeholder { color:#91a0b7; }.catalog-select { min-height:44px; padding:0 33px 0 12px; border:1px solid #d5e1f0; border-radius:10px; color:#53647d; background:#fff; font:inherit; font-size:.82rem; font-weight:700; }.catalog-filter-row { justify-content:space-between; margin:16px 0 14px; }.catalog-chips { display:flex; flex-wrap:wrap; gap:8px; }.catalog-chip { min-height:32px; padding:6px 11px; border:1px solid #d7e2f0; border-radius:999px; color:#657792; background:#fff; font:inherit; font-size:.73rem; font-weight:750; cursor:pointer; }.catalog-chip:hover { border-color:#aac8ef; color:var(--blue); }.catalog-chip.is-active { border-color:#dceaff; color:var(--blue); background:#edf5ff; }.catalog-results { margin:0 0 17px; color:#8492a8; font-size:.75rem; font-weight:750; }.catalog-no-results { padding:52px 20px; border:1px dashed #c2d5ef; border-radius:17px; text-align:center; background:#f8fbff; }.catalog-no-results strong,.catalog-no-results span { display:block; }.catalog-no-results strong { color:#344967; }.catalog-no-results span { margin-top:7px; color:#74839a; font-size:.86rem; }.catalog-discovery [data-catalog-card][hidden] { display:none; }
@media (max-width:760px) { .catalog-discovery { padding-bottom:58px; }.catalog-search-row,.catalog-filter-row { align-items:stretch; flex-direction:column; }.catalog-search { width:100%; max-width:none; min-height:46px; }.catalog-select { width:100%; }.catalog-select--type { order:-1; }.catalog-filter-row { gap:11px; margin-top:12px; }.catalog-chips { flex-wrap:nowrap; width:calc(100% + 36px); margin-left:-18px; padding:0 18px 2px; overflow-x:auto; scrollbar-width:none; }.catalog-chip { flex:0 0 auto; }.catalog-results { margin-bottom:13px; } }

/* Programs catalog: lead with discovery, not a large hero */
.catalog-intro--program { padding:58px 0 28px; }.catalog-intro--program .catalog-intro-grid { grid-template-columns:1fr; gap:0; }.catalog-intro--program .catalog-intro-aside { display:none; }.catalog-intro--program h1 { max-width:700px; font-size:clamp(2.25rem,4.1vw,3.45rem); letter-spacing:-.06em; }.catalog-intro--program .catalog-intro-grid > div > p:last-child { max-width:590px; margin-top:16px; font-size:.98rem; }.catalog-intro--program + .catalog-list { padding-top:26px; }
@media (max-width:760px) { .catalog-intro--program { padding:43px 0 19px; }.catalog-intro--program h1 { font-size:clamp(2.05rem,9.5vw,2.75rem); }.catalog-intro--program .catalog-intro-grid > div > p:last-child { margin-top:12px; font-size:.91rem; }.catalog-intro--program + .catalog-list { padding-top:20px; } }

/* Software directory layout */
.catalog-intro--program { background:#fff; }.catalog-intro--program::before { display:none; }.catalog-intro--program .eyebrow { margin-bottom:10px; }.catalog-intro--program h1 { max-width:620px; color:#142b50; }.catalog-list--program .card-grid { grid-template-columns:repeat(auto-fill,minmax(320px,520px)); gap:14px; }.catalog-card--program { min-height:0; display:grid; grid-template-columns:54px minmax(0,1fr) auto; column-gap:15px; align-items:center; padding:18px; border-top-width:3px; }.catalog-card--program .card-identity { width:54px; height:54px; margin:0; border-radius:15px; }.program-card-copy { min-width:0; }.program-card-copy h3 { margin:0 0 3px; font-size:1.15rem; letter-spacing:-.035em; }.program-card-copy p { display:-webkit-box; overflow:hidden; margin:0; color:#667995; font-size:.83rem; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.program-card-meta { display:inline-block; margin-top:7px; color:#8a9ab1; font-size:.69rem; font-weight:750; }.catalog-card--program .text-link { margin:0; padding:8px 10px; border:1px solid #cadcf5; border-radius:9px; color:var(--blue); background:#f9fbff; white-space:nowrap; }.catalog-card--program .text-link:hover { border-color:#94baf1; background:#eef5ff; }.catalog-card--program::after { width:110px; height:110px; right:-65px; bottom:-70px; }
@media (max-width:760px) { .catalog-intro--program { padding-top:36px; }.catalog-list--program .card-grid { grid-template-columns:1fr; }.catalog-card--program { grid-template-columns:46px minmax(0,1fr); column-gap:12px; padding:16px; }.catalog-card--program .card-identity { width:46px; height:46px; border-radius:13px; }.program-card-copy h3 { font-size:1.08rem; }.program-card-copy p { font-size:.79rem; -webkit-line-clamp:2; }.catalog-card--program .text-link { grid-column:2; justify-self:start; margin-top:9px; font-size:.76rem; } }

/* Direct program listing */
.main-nav > a.is-active:not(.nav-cta) { position:relative; padding:8px 10px; border-radius:8px; color:var(--blue); background:#edf5ff; }.main-nav > a.is-active:not(.nav-cta)::after { content:""; position:absolute; right:10px; bottom:3px; left:10px; height:2px; border-radius:2px; background:var(--blue); }.catalog-list--program { padding-top:34px; }.catalog-list--program .catalog-discovery { padding-bottom:90px; }
@media (max-width:760px) { .main-nav > a.is-active:not(.nav-cta) { padding:8px 10px; }.catalog-list--program { padding-top:24px; }.catalog-list--program .catalog-discovery { padding-bottom:60px; } }

/* Direct solution and resource directories */
.catalog-list--solution,.catalog-list--resource { padding-top:48px; }.catalog-list--solution .catalog-discovery,.catalog-list--resource .catalog-discovery { padding-bottom:90px; }.resource-empty--direct { min-height:430px; padding-top:76px; }.resource-empty--direct .resource-empty-copy { max-width:510px; }.resource-empty--direct .resource-preview-grid { opacity:.72; }
@media (max-width:760px) { .catalog-list--solution,.catalog-list--resource { padding-top:24px; }.catalog-list--solution .catalog-discovery,.catalog-list--resource .catalog-discovery { padding-bottom:60px; }.resource-empty--direct { min-height:0; padding-top:52px; } }
