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

:root { font-family:'DM Sans',Arial,sans-serif; color:#10263e; background:#f7f7f4; font-synthesis:none; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:320px; margin:0; }
img { max-width:100%; }
a { color:inherit; -webkit-tap-highlight-color:transparent; }
a:focus-visible { outline:3px solid #1671de; outline-offset:4px; }
.eyebrow { margin:0; color:#1573d5; font:700 11px/1.3 'DM Sans',sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.primary-link { min-height:58px; padding:0 23px; display:inline-flex; align-items:center; justify-content:space-between; gap:35px; background:#1169d3; color:#fff; font-size:14px; font-weight:700; text-decoration:none; transition:background .2s,transform .2s,box-shadow .2s; }
.primary-link:hover { background:#0755b3; transform:translateY(-2px); box-shadow:0 13px 24px #001b3d2b; }
.primary-link span { font-size:20px; line-height:1; font-weight:400; }
.text-link { display:inline-flex; align-items:center; gap:18px; color:#10263e; font-size:14px; font-weight:700; text-decoration:none; border-bottom:1px solid #8397a9; padding-bottom:7px; white-space:nowrap; }
.text-link:hover { color:#1169d3; border-color:#1169d3; }
.text-link span { font-size:20px; line-height:1; }

.topbar { height:78px; padding:0 clamp(24px,5vw,80px); display:flex; align-items:center; gap:64px; border-bottom:1px solid #e1e5e8; background:#f7f7f4; }
.wordmark { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; font:800 24px 'Manrope',sans-serif; letter-spacing:-.055em; text-decoration:none; }
.brand-mark { width:39px; height:39px; object-fit:contain; }
.topbar nav { display:flex; align-items:center; gap:33px; margin-left:auto; }
.topbar nav a { font-size:13px; font-weight:700; text-decoration:none; }
.topbar nav a:hover { color:#1169d3; }

.hero { position:relative; display:flex; flex-direction:column; justify-content:center; min-height:min(800px,calc(100svh - 78px)); overflow:hidden; color:#fff; background:#061a32; isolation:isolate; }
.hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#061a32 0%,#061a32ee 28%,#061a32a8 48%,#061a3200 77%),linear-gradient(0deg,#061a32e8 0%,transparent 24%); }
.hero-art { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-copy { width:min(100%,1380px); margin:auto; padding:112px clamp(24px,5vw,80px) 135px; }
.hero .eyebrow { color:#8fcbff; }
.hero h1 { max-width:700px; margin:26px 0 0; font:800 clamp(58px,6.3vw,105px)/.98 'Manrope',sans-serif; letter-spacing:-.075em; text-wrap:balance; }
.hero-description { max-width:510px; margin:29px 0 33px; color:#d3e0ed; font-size:18px; line-height:1.65; }
.hero-bottom { position:absolute; right:clamp(24px,5vw,80px); bottom:0; left:clamp(24px,5vw,80px); min-height:69px; display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid #ffffff52; color:#bed1e6; font-size:12px; letter-spacing:.025em; }
.hero-bottom a { display:inline-flex; gap:13px; align-items:center; color:#fff; text-decoration:none; font-weight:700; }
.hero-bottom a span { font-size:20px; line-height:1; }

.home-feature { max-width:1450px; margin:0 auto; padding:107px clamp(24px,5vw,80px) 121px; }
.section-lead { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:35px; }
.section-lead h2,.catalog-intro h2,.about h2,.product-story h2,.workspace-heading h2,.product-bottom h2 { margin:13px 0 0; font:800 clamp(37px,4vw,58px)/1.08 'Manrope',sans-serif; letter-spacing:-.065em; text-wrap:balance; }
.feature-card { min-height:445px; display:grid; grid-template-columns:minmax(0,1.42fr) minmax(340px,.78fr); overflow:hidden; background:#fff; border:1px solid #dce3e9; text-decoration:none; transition:box-shadow .2s,transform .2s; }
.feature-card:hover { box-shadow:0 25px 55px #10263e21; transform:translateY(-3px); }
.feature-image { min-height:445px; overflow:hidden; background:#0b2b46; }
.feature-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.feature-card:hover .feature-image img { transform:scale(1.025); }
.feature-copy { padding:clamp(35px,4vw,62px); display:flex; flex-direction:column; align-items:start; justify-content:center; }
.feature-category,.program-type { color:#1169d3; font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.feature-copy h3 { margin:20px 0 14px; font:800 clamp(35px,3.5vw,54px)/1.06 'Manrope',sans-serif; letter-spacing:-.065em; }
.feature-copy p { max-width:330px; margin:0; color:#526579; font-size:16px; line-height:1.65; }
.feature-action { margin-top:41px; padding-bottom:6px; border-bottom:1px solid #8296aa; font-size:14px; font-weight:700; text-decoration:none; }
.feature-action span { margin-left:20px; color:#1169d3; font-size:18px; }

.about { display:grid; grid-template-columns:1fr 1fr; min-height:530px; background:#0b263f; color:#fff; }
.about-photo { min-height:530px; overflow:hidden; }
.about-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.about-copy { display:flex; flex-direction:column; align-items:start; justify-content:center; padding:80px clamp(36px,7vw,120px); }
.about .eyebrow { color:#8fcbff; }
.about h2 { max-width:610px; }
.about p:not(.eyebrow) { max-width:535px; margin:25px 0 32px; color:#c4d3e1; font-size:16px; line-height:1.75; }
.about .text-link { color:#fff; border-color:#9eb5ca; }
.about .text-link:hover { color:#8fcbff; border-color:#8fcbff; }

.catalog-page { min-height:80vh; }
.catalog-hero { position:relative; min-height:445px; display:flex; align-items:center; overflow:hidden; color:#fff; background:#071b30; isolation:isolate; }
.catalog-hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#071b30f9 0%,#071b30e8 32%,#071b3096 58%,#071b301a 100%); }
.catalog-hero > img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 43%; }
.catalog-hero-copy { width:min(100%,1450px); margin:0 auto; padding:75px clamp(24px,5vw,80px); }
.catalog-hero .eyebrow { color:#9cccfa; }
.catalog-hero h1 { max-width:800px; margin:22px 0 18px; font:800 clamp(52px,6vw,88px)/1 'Manrope',sans-serif; letter-spacing:-.07em; }
.catalog-hero p:last-child { max-width:510px; color:#d4e1ed; font-size:18px; line-height:1.65; }
.catalog-library { max-width:1450px; min-height:60vh; margin:0 auto; padding:87px clamp(24px,5vw,80px) 116px; }
.catalog-intro h2 { margin-top:13px; }
.catalog-intro > p:last-child { margin:13px 0 0; color:#5d7081; font-size:16px; }
.catalog-alphabet { display:flex; flex-wrap:wrap; gap:7px; margin:38px 0 37px; padding:0 0 26px; border-bottom:1px solid #d9e1e6; }
.catalog-alphabet a,.catalog-alphabet span { width:32px; height:34px; display:inline-flex; align-items:center; justify-content:center; color:#a7b2bd; font-size:12px; font-weight:700; text-decoration:none; }
.catalog-alphabet a { color:#10263e; background:#e5edf5; }
.catalog-alphabet a:hover { color:#fff; background:#1169d3; }
.program-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.program-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; background:#fff; border:1px solid #dce3e9; text-decoration:none; transition:transform .2s,box-shadow .2s; }
.program-card:hover { transform:translateY(-3px); box-shadow:0 20px 40px #10263e1e; }
.program-cover { display:block; aspect-ratio:1.65; overflow:hidden; background:#10263e; }
.program-cover img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 68%; transition:transform .5s; }
.program-card:hover .program-cover img { transform:scale(1.04); }
.program-info { flex:1; padding:29px; display:flex; flex-direction:column; align-items:start; }
.program-card h3 { margin:16px 0 11px; font:800 clamp(25px,2.2vw,33px)/1.13 'Manrope',sans-serif; letter-spacing:-.05em; }
.program-card p { margin:0; color:#596d80; font-size:14px; line-height:1.6; }
.card-arrow { margin-top:auto; padding-top:29px; font-size:13px; font-weight:700; }
.card-arrow span { margin-left:13px; color:#1169d3; font-size:18px; }
.catalog-empty { color:#596d80; font-size:16px; }
.catalog-pagination { display:flex; justify-content:center; align-items:center; gap:14px; margin-top:52px; font-size:13px; font-weight:700; }
.catalog-pagination a { padding:13px 18px; border:1px solid #d4e0e9; background:#fff; text-decoration:none; }
.catalog-pagination a:hover { color:#1169d3; border-color:#1169d3; }
.catalog-pagination span { color:#697b8c; }

.product-page { background:#f7f7f4; }
.product-wrap { max-width:1450px; margin:0 auto; padding:32px clamp(24px,5vw,80px) 110px; }
.product-breadcrumb { display:flex; align-items:center; gap:12px; color:#697b8e; font-size:12px; font-weight:700; }
.product-breadcrumb a { text-decoration:none; }
.product-breadcrumb a:hover { color:#1169d3; }
.product-breadcrumb span:last-child { color:#10263e; }
.product-hero { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); min-height:625px; margin-top:34px; background:#0b263f; color:#fff; }
.product-heading { display:flex; flex-direction:column; align-items:start; justify-content:center; padding:clamp(48px,5vw,78px); }
.product-heading .eyebrow { color:#8fcbff; }
.product-heading h1 { margin:18px 0 18px; font:800 clamp(51px,5.1vw,82px)/.98 'Manrope',sans-serif; letter-spacing:-.073em; }
.product-heading > p:not(.eyebrow) { max-width:500px; margin:0; color:#c7d5e4; font-size:17px; line-height:1.7; }
.product-cta { display:flex; flex-direction:column; align-items:start; gap:15px; margin-top:38px; }
.product-cta .primary-link { min-width:230px; }
.product-cta > span { color:#9cb5c9; font-size:12px; }
.product-cta .product-refresh { margin:0; color:#bad0e1; font-size:12px; line-height:1.5; }
.product-refresh time { color:#fff; font-weight:700; }
.product-art { position:relative; min-height:625px; overflow:hidden; background:#122e48; }
.product-art img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.product-art > span { display:none; }
.editorial-product .product-heading h1 { font-size:clamp(45px,4.8vw,76px); overflow-wrap:anywhere; }
.editorial-product .product-art img { object-position:center; }
.product-story { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,8vw,130px); padding:102px 0 108px; border-bottom:1px solid #d6e0e8; }
.product-story h2 { max-width:580px; }
.product-story > p,.product-story > div:last-child p { max-width:510px; margin:34px 0 0; color:#52677b; font-size:17px; line-height:1.8; }
.workspace-section { padding:92px 0 110px; }
.workspace-heading { display:flex; justify-content:space-between; align-items:end; gap:35px; margin-bottom:31px; }
.workspace-heading > p { max-width:280px; margin:0 0 8px; color:#607487; font-size:15px; line-height:1.6; }
.workspace-shot { margin:0; }
.workspace-shot img { display:block; width:100%; max-height:660px; object-fit:cover; object-position:top; border:1px solid #cbd6df; }
.workspace-shot figcaption { padding-top:13px; color:#6e8294; font-size:12px; }
.highlights-section { padding:92px 0 105px; }
.highlights-heading h2 { margin:13px 0 35px; font:800 clamp(34px,3.8vw,54px)/1.08 'Manrope',sans-serif; letter-spacing:-.06em; }
.product-highlights { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:29px; margin:0; padding:0; list-style:none; }
.product-highlights li { padding:24px 0 0; border-top:1px solid #aebfcd; }
.product-highlights h3 { margin:0 0 12px; font:800 23px/1.2 'Manrope',sans-serif; letter-spacing:-.045em; }
.product-highlights p { max-width:320px; margin:0; color:#5c7083; font-size:15px; line-height:1.7; }
.simple-highlights h3 { max-width:300px; margin-bottom:0; }
.editorial-product .product-heading h1 { overflow-wrap:anywhere; }
.related-software { padding:18px 0 95px; }
.related-software h2 { margin:10px 0 28px; font:800 clamp(31px,3.4vw,46px)/1.1 'Manrope',sans-serif; letter-spacing:-.055em; }
.related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.related-grid a { position:relative; display:flex; flex-direction:column; min-height:136px; padding:23px 26px; border:1px solid #cbd6df; text-decoration:none; transition:border-color .2s,transform .2s; }
.related-grid a:hover { border-color:#1b73c7; transform:translateY(-3px); }
.related-grid a span:first-child { color:#5d7185; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.related-grid strong { max-width:90%; margin-top:13px; font:800 19px/1.25 'Manrope',sans-serif; letter-spacing:-.04em; }
.related-grid .related-arrow { position:absolute; right:22px; bottom:18px; color:#146ac0; font-size:18px; }
.product-bottom { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:52px clamp(32px,5vw,72px); background:#0b263f; color:#fff; }
.product-bottom .eyebrow { color:#8fcbff; }
.product-bottom h2 { font-size:clamp(31px,3.3vw,46px); }
.product-bottom .primary-link { flex:none; }
.generic-product .product-heading h1 { overflow-wrap:anywhere; }
.activation-intro { max-width:870px; padding:106px 0 72px; }
.activation-intro h2,.activation-end h2 { margin:14px 0 22px; font:800 clamp(39px,4.2vw,61px)/1.08 'Manrope',sans-serif; letter-spacing:-.06em; }
.activation-intro > p:last-child { margin:0; color:#51677b; font-size:17px; line-height:1.8; white-space:pre-line; }
.activation-steps { display:grid; gap:26px; scroll-margin-top:30px; }
.activation-step { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); min-height:470px; overflow:hidden; background:#fff; border:1px solid #d9e2e9; }
.activation-step-copy { padding:clamp(38px,4.5vw,64px); display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.activation-step-copy > div { width:100%; }
.step-label { color:#1169d3; font:800 11px/1.3 'DM Sans',sans-serif; letter-spacing:.16em; }
.activation-step h2 { margin:20px 0 19px; font:800 clamp(33px,3.2vw,48px)/1.08 'Manrope',sans-serif; letter-spacing:-.055em; }
.activation-step p { max-width:470px; margin:0; color:#52697d; font-size:16px; line-height:1.75; }
.activation-step figure { display:grid; grid-template-rows:minmax(0,1fr) auto; min-width:0; margin:0; background:#123a70; }
.activation-image-link { display:block; width:100%; height:100%; min-height:0; cursor:zoom-in; }
.activation-image-link:focus-visible { outline:3px solid #65b9ff; outline-offset:-3px; }
.activation-step figure img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; }
.activation-step:last-child figure img { object-fit:cover; }
.activation-step figcaption { display:flex; justify-content:space-between; gap:10px; padding:13px 20px; color:#dceafb; background:#0c263e; font-size:12px; }
.activation-command { display:flex; flex-direction:column; align-items:start; gap:0; margin:27px 0 17px; border:1px solid #c7d7e5; background:#f1f6fb; }
.activation-command code { display:block; width:100%; padding:24px; color:#0d3558; font:600 15px/1.6 Consolas,monospace; overflow-wrap:anywhere; white-space:pre-wrap; }
.activation-command button { min-height:48px; padding:0 20px; border:0; background:#1169d3; color:#fff; font:700 13px 'DM Sans',sans-serif; cursor:pointer; }
.activation-command button:hover { background:#0755b3; }
.activation-command button:focus-visible { outline:3px solid #0b4c91; outline-offset:3px; }
.activation-step .activation-note { color:#74889a; font-size:13px; }
.activation-end { margin-top:30px; padding:68px clamp(34px,5vw,74px); color:#fff; background:#0b263f; }
.activation-end .eyebrow { color:#8fcbff; }
.activation-end h2 { max-width:760px; }
.activation-end > p:last-child { max-width:650px; color:#c7d7e6; font-size:16px; line-height:1.7; }

footer { min-height:100px; padding:24px clamp(24px,5vw,80px); display:flex; align-items:center; justify-content:space-between; gap:25px; background:#061a2c; color:#bdcde0; font-size:12px; }
footer a { text-decoration:none; }
footer a:hover { color:#fff; }
.footer-brand { display:inline-flex; align-items:center; gap:8px; color:#fff; font:700 16px 'Manrope',sans-serif; letter-spacing:-.04em; }
.footer-brand img { width:28px; height:28px; object-fit:contain; }

@media (max-width:980px) {
  .hero { min-height:700px; }
  .hero-art { object-position:58% center; }
  .hero::before { background:linear-gradient(90deg,#061a32 0%,#061a32e6 35%,#061a3299 68%,#061a3240 100%),linear-gradient(0deg,#061a32d8 0%,transparent 25%); }
  .feature-card { grid-template-columns:1fr 360px; }
  .about-copy { padding:60px 38px; }
  .program-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-hero { min-height:560px; }
  .product-art { min-height:560px; }
  .product-heading { padding:45px; }
  .activation-step { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
  .activation-step-copy { padding:36px; }
}
@media (max-width:700px) {
  .topbar { height:70px; gap:16px; }
  .wordmark { font-size:20px; }
  .brand-mark { width:34px; height:34px; }
  .topbar nav { margin-left:auto; gap:16px; }
  .topbar nav a[href="/#about"] { display:none; }
  .hero { min-height:730px; justify-content:end; }
  .hero-art { object-position:66% center; }
  .hero::before { background:linear-gradient(0deg,#061a32 0%,#061a32f5 31%,#061a3268 70%,#061a320e 100%); }
  .hero-copy { padding:300px 24px 116px; }
  .hero h1 { max-width:520px; font-size:clamp(52px,11vw,75px); }
  .hero-description { max-width:480px; margin-top:22px; font-size:16px; }
  .hero-bottom { right:24px; left:24px; }
  .hero-bottom > span { display:none; }
  .home-feature { padding-top:75px; padding-bottom:82px; }
  .section-lead { align-items:start; flex-direction:column; }
  .feature-card { display:flex; flex-direction:column; }
  .feature-image { min-height:0; aspect-ratio:1.45; }
  .feature-copy { padding:34px; }
  .feature-action { margin-top:27px; }
  .about { grid-template-columns:1fr; }
  .about-photo { min-height:320px; height:320px; }
  .about-copy { padding:70px 24px 78px; }
  .catalog-hero { min-height:390px; }
  .catalog-hero::before { background:linear-gradient(90deg,#071b30f5,#071b30c4 68%,#071b3082); }
  .catalog-hero-copy { padding:65px 24px; }
  .catalog-hero h1 { font-size:clamp(50px,10vw,72px); }
  .catalog-library { padding-top:70px; padding-bottom:88px; }
  .program-grid { grid-template-columns:1fr; }
  .program-cover { aspect-ratio:1.7; }
  .product-wrap { padding-top:26px; padding-bottom:75px; }
  .product-hero { display:flex; flex-direction:column-reverse; margin-top:25px; }
  .product-art { min-height:0; height:320px; }
  .product-heading { padding:43px 30px 46px; }
  .product-heading h1 { font-size:clamp(48px,10vw,70px); }
  .product-story { grid-template-columns:1fr; gap:12px; padding:72px 0 78px; }
  .product-story > p,.product-story > div:last-child p { margin-top:0; }
  .workspace-section { padding:72px 0 84px; }
  .workspace-heading { align-items:start; flex-direction:column; gap:12px; }
  .workspace-shot img { max-height:480px; }
  .highlights-section { padding:72px 0 84px; }
  .product-highlights { grid-template-columns:1fr; gap:25px; }
  .related-software { padding:0 0 72px; }
  .related-grid { grid-template-columns:1fr; }
  .related-grid a { min-height:104px; }
  .product-bottom { align-items:start; flex-direction:column; padding:38px 30px; }
  .activation-intro { padding:75px 0 50px; }
  .activation-step { display:flex; flex-direction:column; }
  .activation-step-copy { padding:38px 29px; }
  .activation-step figure { display:block; }
  .activation-image-link { height:auto; }
  .activation-step figure img { height:auto; aspect-ratio:5/3; }
  .activation-step figcaption::after { content:'View larger ↗'; white-space:nowrap; }
  .activation-end { padding:48px 30px; }
  footer { flex-wrap:wrap; min-height:100px; }
}
@media (max-width:420px) {
  .topbar nav { gap:12px; }
  .topbar nav a { font-size:12px; }
  .hero-bottom { min-height:60px; }
  .catalog-alphabet { gap:3px; }
  .catalog-alphabet a,.catalog-alphabet span { width:29px; height:31px; }
  .product-cta .primary-link,.product-bottom .primary-link { width:100%; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .primary-link,.feature-card,.feature-image img,.program-card,.program-cover img,.related-grid a { transition:none; } .related-grid a:hover { transform:none; } }
