@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@500;600;700;800;900&display=swap');

:root{
    --ink:#081224;
    --muted:#50647E;
    --blue:#1368B7;
    --blue-2:#2B84CB;
    --line:#DDEAF6;
    --cream:#FFF1D9;
    --brown:#8A5522;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    color:var(--ink);
    font-family:'Instrument Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    background:
        radial-gradient(circle at 78% 16%,rgba(255,241,217,.7),transparent 24%),
        radial-gradient(circle at 14% 36%,rgba(19,104,183,.08),transparent 28%),
        linear-gradient(135deg,rgba(19,104,183,.035) 0 1px,transparent 1px) 0 0 / 26px 26px,
        linear-gradient(180deg,#F8FBFE 0%,#EDF7FE 64%,#F8FBFE 100%);
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

.page-shell{width:min(1440px,100%);margin:0 auto;min-height:100vh;overflow:hidden;position:relative}
.page-shell:before{content:"";position:absolute;inset:146px auto auto 50%;width:210px;height:520px;border-radius:50%;background:rgba(15,23,42,.035);z-index:-1}
.page-shell:after{content:"";position:absolute;right:-70px;bottom:-34px;width:520px;height:120px;border-radius:50%;border-top:2px solid rgba(19,104,183,.16);box-shadow:0 -12px 0 rgba(19,104,183,.08),0 -24px 0 rgba(19,104,183,.05);z-index:-1}

.site-header{
    width:min(1380px,calc(100% - 72px));
    min-height:118px;
    margin:34px auto 0;
    padding:24px 52px;
    border:1px solid rgba(221,234,246,.9);
    border-radius:24px 24px 0 0;
    background:rgba(255,255,255,.9);
    backdrop-filter:blur(18px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    box-shadow:0 24px 70px rgba(15,23,42,.08);
}
.brand{display:flex;align-items:center;gap:16px;min-width:0}
.brand img{width:74px;height:74px;border-radius:50%;object-fit:cover}
.brand strong{display:block;font-size:24px;font-weight:950;line-height:1}
.brand small{display:block;margin-top:9px;color:#42546A;font-size:13px;font-weight:800}
.desktop-nav{display:flex;align-items:center;gap:28px}
.desktop-nav a{min-height:52px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#182339;font-size:16px;font-weight:950}
.desktop-nav a:hover,.desktop-nav a.is-active{color:var(--blue)}
.desktop-nav .nav-pill{padding:0 26px;background:var(--blue);color:#fff;box-shadow:0 16px 34px rgba(19,104,183,.24)}
.desktop-nav .nav-pill:hover{background:#0D5599;color:#fff}
.mobile-menu{width:52px;height:52px;border:0;border-radius:50%;background:#F3F7FB;color:var(--ink);display:none;align-items:center;justify-content:center;font-size:23px}

.landing-main{
    width:min(1380px,calc(100% - 72px));
    margin:0 auto;
    padding:64px 52px 74px;
    border:1px solid rgba(221,234,246,.9);
    border-top:0;
    background:rgba(255,255,255,.72);
    box-shadow:0 26px 80px rgba(15,23,42,.08);
}
.hero{display:grid;grid-template-columns:minmax(420px,.82fr) minmax(560px,1fr);align-items:center;gap:70px;min-height:690px}
.eyebrow{width:max-content;max-width:100%;margin:0 0 34px;padding:10px 15px;border-radius:999px;background:var(--cream);color:var(--brown);display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:950;text-transform:uppercase}
.hero h1{margin:0;font-size:92px;line-height:.96;font-weight:950;letter-spacing:0}
.hero h1 span{display:block;color:var(--blue-2)}
.hero h2{margin:28px 0 0;color:var(--blue);font-size:28px;line-height:1.1;font-weight:950;text-transform:uppercase}
.lead{max-width:560px;margin:32px 0 0;color:#334155;font-size:18px;line-height:1.9;font-weight:650}
.profile-lines{display:grid;gap:18px;margin-top:34px}
.profile-lines span{display:flex;align-items:center;gap:16px;color:#0F172A;font-size:15px;font-weight:900}
.profile-lines i{width:32px;height:32px;border-radius:8px;background:#EAF4FB;color:var(--blue);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}

.hero-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.featured-card{min-width:0;border-radius:18px;background:#10233B;overflow:hidden;box-shadow:0 18px 42px rgba(16,35,59,.22);border:1px solid rgba(255,255,255,.08)}
.featured-image{height:250px;position:relative;background:#E8F3FB;overflow:hidden}
.featured-image img{width:100%;height:100%;object-fit:cover}
.featured-image span{position:absolute;top:16px;left:16px;max-width:calc(100% - 76px);padding:8px 12px;border-radius:999px;background:rgba(255,241,217,.95);color:var(--brown);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:950;text-transform:uppercase}
.featured-image button{display:none}
.featured-body{display:none}
.featured-body h3{margin:0;color:#fff;font-size:20px;line-height:1.18;font-weight:950}
.featured-body p{margin:8px 0 0;color:#C7D6E8;font-size:13px;line-height:1.35;font-weight:750;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.featured-body a{width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}

.metric-strip{margin-top:38px;padding:28px 30px;border-radius:20px;background:rgba(255,255,255,.9);border:1px solid rgba(221,234,246,.95);box-shadow:0 18px 52px rgba(15,23,42,.08);display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.metric-strip div{min-width:0;display:grid;grid-template-columns:58px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:0 20px;border-right:1px solid var(--line)}
.metric-strip div:last-child{border-right:0}
.metric-strip i{grid-row:1 / span 2;width:48px;height:48px;border-radius:50%;background:#E7F1FD;color:var(--blue);display:inline-flex;align-items:center;justify-content:center;font-size:22px}
.metric-strip strong{font-size:25px;font-weight:950;line-height:1}
.metric-strip span{margin-top:6px;color:#334155;font-size:13px;font-weight:700}

.wide-footer{width:min(1380px,calc(100% - 72px));margin:0 auto 34px;padding:32px 52px;border:1px solid rgba(221,234,246,.9);border-top:0;border-radius:0 0 24px 24px;background:rgba(246,251,255,.9);display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-brand{display:flex;gap:16px;align-items:flex-start}
.footer-brand img{width:66px;height:66px;border-radius:50%;object-fit:cover}
.footer-brand strong{display:block;font-size:20px;font-weight:950}
.footer-brand span{display:block;margin-top:6px;color:#52677E;font-size:13px;font-weight:800}
.footer-credit{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px;color:#7B8797;font-size:11px;font-weight:800;text-align:right}
.footer-credit small{font-size:11px;line-height:1;font-weight:800;color:#7B8797}
.footer-credit div{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.footer-credit strong{color:#0A84CF;font-size:14px;font-weight:950}
.footer-credit i{display:none}
.footer-credit em{padding:6px 12px;border-radius:999px;background:#EAF4FB;color:#0A84CF;font-size:10px;font-style:normal;font-weight:950}
.footer-credit small{font-size:9px!important}
.footer-credit strong{font-size:11px!important}
.footer-credit em{padding:4px 9px!important;color:#111827!important;font-size:9px!important}
.footer-credit em b{color:#DC2626!important;font-weight:950!important}
.footer-dev-logo{width:22px!important;height:22px!important;object-fit:contain!important;display:inline-block!important;border-radius:0!important;box-shadow:none!important}

.catalog-main{width:min(1280px,calc(100% - 72px));margin:54px auto 0}
.catalog-section{padding-bottom:46px}
.section-heading{display:grid;gap:9px;margin-bottom:34px}
.section-heading p{margin:0;color:#A56A1D;font-size:16px;font-weight:950;text-transform:uppercase}
.section-heading h1,.section-heading h2{margin:0;font-size:64px;line-height:1;font-weight:950}
.section-heading span{color:#52677E;font-size:20px;font-weight:850}
.category-row{display:flex;gap:18px;overflow:auto;padding:0 0 38px}
.catalog-filter{flex:0 0 auto;min-height:58px;padding:0 28px;border-radius:999px;border:1px solid var(--line);background:#fff;color:#17304F;font:inherit;font-size:16px;font-weight:950;cursor:pointer}
.catalog-filter.active,.catalog-filter:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.catalog-category-panel{margin:0 0 34px;padding:22px 28px 24px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.86);box-shadow:0 18px 48px rgba(15,23,42,.07)}
.catalog-category-panel .menu-group-tabs{display:flex;align-items:center;justify-content:center;gap:18px;margin:-42px auto 24px}
.catalog-category-panel .menu-group-tab{width:min(230px,calc(50% - 10px));min-height:56px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#0F172A;display:flex;align-items:center;justify-content:center;padding:12px 20px;font:inherit;text-align:center;cursor:pointer;box-shadow:0 12px 32px rgba(15,23,42,.06)}
.catalog-category-panel .menu-group-tab i{display:none}
.catalog-category-panel .menu-group-tab strong{display:block;font-size:16px;line-height:1.1;font-weight:950}
.catalog-category-panel .menu-group-tab small{display:none}
.catalog-category-panel .menu-group-tab.active{background:var(--blue);border-color:var(--blue);color:#fff}
.catalog-category-panel .menu-group-tab.active small{color:rgba(255,255,255,.78)}
.catalog-category-panel .menu-group-heading{display:flex;align-items:center;margin-bottom:20px}
.catalog-category-panel .menu-group-heading>i{display:none}
.catalog-category-panel .menu-group-heading h2{margin:0;color:#172033;font-size:24px;line-height:1.1;font-weight:950}
.catalog-category-panel .menu-group-heading p{margin:6px 0 0;color:#64748B;font-size:13px;font-weight:800}
.catalog-category-panel .grouped-filter-bar{padding:0}
.catalog-category-panel .subfilter-group{display:none;align-items:center;gap:12px;overflow:auto;padding-bottom:2px}
.catalog-category-panel .subfilter-group.active{display:flex}
.catalog-category-panel .subfilter-group .catalog-filter{min-height:38px;padding:0 18px;font-size:13px}
.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.catalog-card{min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;background:#10233B;box-shadow:0 18px 44px rgba(16,35,59,.2)}
.catalog-image{height:300px;position:relative;background:#E8F3FB;overflow:hidden}
.catalog-image img{width:100%;height:100%;object-fit:cover}
.catalog-image span{position:absolute;top:18px;left:18px;padding:10px 14px;border-radius:999px;background:rgba(255,241,217,.95);color:#A45E00;display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:950}
.catalog-card-body{padding:26px 28px 28px;display:grid;gap:13px}
.catalog-card-body small{width:max-content;max-width:100%;padding:9px 16px;border-radius:999px;background:#EAF4FB;color:var(--blue);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:950}
.catalog-card-body h3{margin:0;color:#fff;font-size:26px;line-height:1.15;font-weight:950}
.catalog-card-body p{min-height:58px;margin:0;color:#C7D6E8;font-size:16px;line-height:1.55;font-weight:800}
.catalog-card-body strong{color:#fff;font-size:28px;font-weight:950}
.catalog-empty{grid-column:1 / -1;min-height:260px;border:1px dashed #B8D6EC;border-radius:14px;display:grid;place-items:center;align-content:center;gap:10px;color:var(--muted);background:#fff}
.catalog-empty i{font-size:34px;color:var(--blue)}
.catalog-empty h3,.catalog-empty p{margin:0}
.compact-footer{width:min(1280px,calc(100% - 72px));margin:4px auto 34px;padding:22px 0;justify-content:space-between}
.landing-footer{display:flex;align-items:center;gap:12px;color:#7B8797;font-size:11px;font-weight:800}
.landing-footer strong{color:#0A84CF;font-size:14px;font-weight:950}
.landing-footer i{width:1px;height:16px;background:#CBD5E1}
.landing-footer em{padding:6px 12px;border-radius:999px;background:#EAF4FB;color:#0A84CF;font-size:10px;font-style:normal;font-weight:950}

@media(max-width:1100px){
    .site-header{width:min(100% - 40px,1024px);min-height:96px;margin-top:28px;padding:18px 30px;border-radius:20px 20px 0 0}
    .brand img{width:58px;height:58px}.brand strong{font-size:19px}.brand small{font-size:11px}
    .desktop-nav a:first-child{display:inline-flex}
    .desktop-nav .nav-pill{display:none}
    .mobile-menu{display:inline-flex}
    .landing-main{width:min(100% - 40px,1024px);padding:36px 30px 44px}
    .hero{grid-template-columns:1fr;gap:28px;min-height:auto}
    .hero-copy{min-height:0;padding-right:0;background:none}
    .hero h1{font-size:64px}.hero h2{font-size:22px;margin-top:14px}
    .lead{font-size:16px;line-height:1.75;margin-top:24px}
    .profile-lines{gap:13px;margin-top:24px}.profile-lines span{font-size:13px}
    .hero-showcase{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;order:2}
    .featured-card{border-radius:14px}
    .featured-image{height:132px}
    .featured-image span{top:10px;left:10px;padding:6px 9px;font-size:9px}
    .featured-image button{display:none}
    .featured-body{min-height:34px;padding:6px 7px;display:flex;align-items:center;justify-content:center;text-align:center}
    .featured-body h3{font-size:8px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .featured-body p,.featured-body a{display:none}
    .metric-strip{margin-top:30px;padding:18px}
    .metric-strip div{grid-template-columns:44px 1fr;padding:0 12px}
    .metric-strip i{width:38px;height:38px;font-size:18px}
    .metric-strip strong{font-size:18px}.metric-strip span{font-size:11px}
    .wide-footer{width:min(100% - 40px,1024px);padding:24px 30px;gap:18px}
    .catalog-main{width:min(100% - 40px,1024px)}
    .section-heading h1,.section-heading h2{font-size:52px}
    .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
    .catalog-image{height:245px}
}

@media(max-width:640px){
    .page-shell:before{display:none}
    .site-header{width:min(100% - 24px,390px);min-height:72px;margin-top:12px;padding:12px 16px;border-radius:18px 18px 0 0}
    .brand{gap:10px}.brand img{width:44px;height:44px}.brand strong{font-size:15px}.brand small{font-size:9px;margin-top:4px}
    .desktop-nav{display:none}.mobile-menu{width:42px;height:42px;font-size:20px}
    .landing-main{width:min(100% - 24px,390px);padding:28px 22px 26px;border-radius:0}
    .hero{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}
    .hero-copy{min-height:auto;padding-right:0;background:none}
    .eyebrow{margin-bottom:16px;padding:8px 12px;font-size:10px}
    .hero h1{font-size:44px;line-height:.95}.hero h2{margin-top:14px;font-size:14px}
    .lead{margin-top:18px;font-size:12px;line-height:1.75}
    .profile-lines{gap:10px;margin-top:18px}.profile-lines span{gap:10px;font-size:10px}
    .profile-lines i{width:24px;height:24px;border-radius:6px;font-size:12px}
    .hero-showcase{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:4px;order:2}
    .featured-card{display:block;border-radius:10px;background:#10233B}
    .featured-image{height:74px;background:#10233B}
    .featured-image img{display:block;width:100%;height:100%;object-fit:cover;font-size:0;color:transparent}
    .featured-image span{top:5px;left:5px;right:5px;max-width:none;padding:3px 5px;font-size:6px;text-align:center}
    .featured-image button{display:none}
    .featured-body{min-height:32px;padding:6px 6px;display:flex;align-items:center;justify-content:center;text-align:center}
    .featured-body h3{font-size:8px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .featured-body p,.featured-body a{display:none}
    .metric-strip{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px;padding:12px;border-radius:14px}
    .metric-strip div{border-right:0;padding:8px;grid-template-columns:34px 1fr}
    .metric-strip i{width:30px;height:30px;font-size:14px}
    .metric-strip strong{font-size:13px}.metric-strip span{font-size:8px}
    .wide-footer{width:min(100% - 24px,390px);padding:16px 22px;border-radius:0 0 18px 18px;display:flex;justify-content:space-between}
    .footer-brand img{width:44px;height:44px}.footer-brand strong{font-size:14px}.footer-brand span{font-size:10px}
    .footer-credit{align-items:flex-end;text-align:right}.footer-credit small{font-size:8px}.footer-credit strong{font-size:11px}.footer-credit div{justify-content:flex-end}
    .catalog-main{width:min(100% - 24px,390px);margin-top:28px}
    .section-heading{margin-bottom:22px}.section-heading p{font-size:11px}.section-heading h1,.section-heading h2{font-size:34px}.section-heading span{font-size:13px}
    .category-row{gap:10px;padding-bottom:22px}.catalog-filter{min-height:42px;padding:0 16px;font-size:12px}
    .catalog-category-panel{padding:18px 14px;margin-bottom:22px;border-radius:18px}
    .catalog-category-panel .menu-group-tabs{gap:10px;margin:-28px auto 18px}
    .catalog-category-panel .menu-group-tab{min-height:48px;padding:10px 12px;border-radius:12px}
    .catalog-category-panel .menu-group-tab strong{font-size:14px}
    .catalog-category-panel .menu-group-tab small{font-size:9px}
    .catalog-category-panel .menu-group-heading{margin-bottom:14px}
    .catalog-category-panel .menu-group-heading h2{font-size:18px}
    .catalog-category-panel .menu-group-heading p{font-size:10px}
    .catalog-category-panel .subfilter-group .catalog-filter{min-height:34px;padding:0 14px;font-size:11px}
    .catalog-grid{grid-template-columns:1fr;gap:14px}
    .catalog-card{display:grid;grid-template-columns:116px 1fr;border-radius:10px}
    .catalog-image{height:116px}.catalog-image span{top:8px;left:8px;padding:5px 8px;font-size:8px}
    .catalog-card-body{padding:13px;gap:6px}.catalog-card-body small{padding:5px 9px;font-size:9px}
    .catalog-card-body h3{font-size:16px}.catalog-card-body p{min-height:0;font-size:11px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
    .catalog-card-body strong{font-size:16px}
    .compact-footer{width:min(100% - 24px,390px);justify-content:center;flex-wrap:wrap;margin-bottom:24px}
}
