:root{--ink:#102333;--muted:#506372;--blue:#006ca8;--sky:#e6f4fb;--line:#d7e2e9;--paper:#f3f7f9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{line-height:1.65}a{color:var(--blue);text-underline-offset:3px}a:hover{color:#004d7a}img{max-width:100%;height:auto}
.skip{position:absolute;z-index:9;left:12px;top:-80px;background:#fff;padding:10px 14px}.skip:focus{top:10px}
.site-header{height:88px;max-width:1320px;padding:0 48px}.brand{font-size:27px;letter-spacing:-.065em;font-weight:800}.site-header nav{gap:34px}.site-header nav a{color:var(--ink);font-weight:700}.site-header nav a:hover{color:var(--blue)}
main{min-height:60vh}.eyebrow{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.13;letter-spacing:-.055em}h1{font-size:clamp(3rem,6.2vw,6.7rem)}h2{font-size:clamp(2rem,3.6vw,3.4rem)}h3{font-size:1.45rem}p{color:var(--muted)}
.button{align-items:center;justify-content:space-between;gap:28px;border:1px solid var(--ink);font-size:14px;min-height:50px;margin-top:0}.text-link,.quiet-link{font-weight:750;font-size:15px;text-decoration:none;border-bottom:1px solid var(--blue);padding-bottom:3px}.text-link span{margin-left:12px}
.hero{max-width:1320px;min-height:620px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);padding:0 48px;border-bottom:1px solid var(--line)}
.hero-copy{padding:95px 34px 96px 0;align-self:center}.hero h1{margin:25px 0 27px;letter-spacing:-.073em}.hero p{font-size:19px;max-width:590px}.hero .button{margin-top:18px}
.hero-art{background:linear-gradient(145deg,#d8effb,#f1f8fc);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;isolation:isolate}.hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.7%,#fff9 50%,transparent 50.3%),linear-gradient(0deg,transparent 49.7%,#fff9 50%,transparent 50.3%);background-size:65px 65px;opacity:.35}
.hero-art img{position:relative;width:33%;max-width:180px;filter:drop-shadow(0 22px 18px #15394a35);transform:translateY(-7px)}.hero-art img:nth-child(2){z-index:2;width:39%;max-width:210px;margin:0 -35px;transform:translateY(28px)}.hero-art img:nth-child(3){transform:translateY(-2px)}
.catalog{padding:94px max(48px,calc((100vw - 1224px)/2)) 112px;scroll-margin-top:20px}.section-head h2{margin:15px 0 11px}.section-head p{font-size:18px;margin:0 0 40px}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-card{display:block;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);padding:0 27px 25px;transition:transform .2s,border-color .2s,box-shadow .2s}.product-card:hover,.product-card:focus-visible{color:var(--ink);transform:translateY(-3px);border-color:#98bfd4;box-shadow:0 16px 34px #0f3e5814}
.product-visual{height:230px;background:linear-gradient(#f7fbfd,#eff7fb);margin:0 -27px 21px;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-visual img{height:215px;width:auto;object-fit:contain}.product-meta{display:flex;justify-content:space-between;color:var(--blue);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.product-card h3{font-size:1.65rem;margin:12px 0 9px}.product-card p{font-size:15px;min-height:50px;line-height:1.48;margin-bottom:17px}.card-link{color:var(--blue);font-weight:750;font-size:14px}.card-link span{margin-left:8px}
.closing{max-width:1320px;padding:98px 48px;margin:auto;display:grid;grid-template-columns:1fr .72fr;gap:90px}.closing h2{margin:14px 0 0}.closing p{font-size:18px}
footer{background:var(--ink);color:white;padding:48px max(48px,calc((100vw - 1224px)/2)) 55px;display:grid;grid-template-columns:1fr 1fr auto;align-items:start;gap:30px;font-size:14px;max-width:none}footer strong{font-size:21px;letter-spacing:-.05em;margin-right:16px}footer span,footer p{color:#b5c7d2}footer p{max-width:390px;line-height:1.5;margin:0}footer nav{display:flex;gap:18px;flex-wrap:wrap}footer a{color:white;text-decoration:none}footer a:hover{color:#81c8ec}
.page-lead{max-width:1000px;padding:85px 48px 68px;margin:0 auto}.page-lead h1{font-size:clamp(3rem,5.5vw,5.4rem);margin:18px 0 24px}.page-lead p{font-size:19px;max-width:760px}.page-lead .button{margin-top:17px}
.breadcrumb{max-width:1224px;padding:29px 0 0;margin:0 auto;color:var(--muted);font-size:13px}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb span{margin:0 10px;color:#9daeb8}
.product-hero{max-width:1224px;margin:auto;min-height:370px;display:grid;grid-template-columns:1fr 240px;gap:75px;align-items:center;padding:45px 0 40px}.product-hero h1{margin:18px 0 21px}.product-hero p{font-size:20px;max-width:620px}.product-hero .boxshot{width:180px;max-height:345px;object-fit:contain;justify-self:center}
.tabs{max-width:1224px;margin:auto;display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line)}.tabs a{padding:15px 22px;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--muted);text-decoration:none;font-size:14px;font-weight:750}.tabs a:first-child{padding-left:0}.tabs a:hover,.tabs a[aria-current=page]{color:var(--blue);border-bottom-color:var(--blue)}
.article-section{max-width:1224px;padding:53px 0 105px;margin:auto}.article-heading{margin:49px 0 31px}.article-heading h2{margin:10px 0 0}
.archive-note{display:flex;align-items:baseline;gap:23px;background:var(--sky);border-left:3px solid var(--blue);padding:17px 20px;font-size:14px;line-height:1.5;color:#27485c}.archive-note strong{color:#095784;white-space:nowrap}
.legacy-content{max-width:940px;overflow-wrap:anywhere}.legacy-content h2{font-size:clamp(1.5rem,2.8vw,2.3rem);margin:39px 0 15px}.legacy-content h3{font-size:1.35rem;margin:30px 0 10px}.legacy-content p{color:#344b5c}.legacy-content ul,.legacy-content ol{padding-left:25px}.legacy-content li{margin:7px 0}.legacy-content img{max-width:100%;height:auto;object-fit:contain}.legacy-content table{border-collapse:collapse;width:100%;margin:24px 0;line-height:1.45;font-size:14px}.legacy-content td,.legacy-content th{padding:13px 15px;border:1px solid var(--line);vertical-align:top}.legacy-content th{text-align:left;background:var(--paper);color:var(--ink)}.legacy-content table img{width:auto;max-height:250px}.legacy-content pre,.license code{white-space:pre-wrap;overflow-wrap:anywhere}.legacy-content a{font-weight:600}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery figure{margin:0;background:var(--paper);border:1px solid var(--line)}.gallery figure a{height:210px;display:flex;align-items:center;justify-content:center;background:#e9f1f5;overflow:hidden}.gallery img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.gallery figcaption{font-size:13px;padding:12px 15px;color:var(--muted);line-height:1.45}.gallery-notes{margin-top:38px;border-top:1px solid var(--line)}.gallery-notes summary{padding:18px 0;cursor:pointer;font-weight:750;color:var(--blue)}.gallery-notes .legacy-content{padding-top:12px}
.downloads{max-width:1224px;padding:0 0 110px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.download-card{display:flex;flex-direction:column;justify-content:space-between;background:var(--paper);border:1px solid var(--line);padding:32px;min-height:315px}.download-card h2{font-size:2rem;margin:11px 0}.download-card p{margin-bottom:0}.download-card-bottom{margin-top:27px}.download-card .file-meta{font-size:14px;color:#4b6676;margin-bottom:15px}.download-card .button{margin:15px 16px 0 0}.quiet-link{display:inline-block;font-size:14px;white-space:nowrap}.license{background:#fff;border:1px solid var(--line);padding:12px 15px;display:grid;gap:3px;font-size:14px}.license span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--muted);margin-bottom:4px}.license code{font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ink)}.product-page .article-section>.download-card{max-width:640px}
.faq,.link-panels,.simple-grid{max-width:1224px;margin:auto;padding:0 0 110px}.faq{max-width:900px}.faq article{padding:29px 0;border-top:1px solid var(--line)}.faq h2{font-size:1.7rem;margin-bottom:10px}.faq p{margin-bottom:0}.link-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px}.link-panels a{display:block;padding:30px;border:1px solid var(--line);text-decoration:none;color:var(--ink);background:var(--paper)}.link-panels a:hover{border-color:var(--blue)}.link-panels span{color:var(--blue);font-size:13px;font-weight:800}.link-panels h2{font-size:2rem;margin:25px 0 10px}.link-panels b{color:var(--blue);font-size:14px}.simple-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.simple-product{display:flex;align-items:center;gap:32px;background:var(--paper);border:1px solid var(--line);padding:25px;text-decoration:none;color:var(--ink)}.simple-product:hover{color:var(--ink);border-color:var(--blue)}.simple-product img{width:85px;max-height:200px;object-fit:contain}.simple-product h2{font-size:1.8rem;margin:10px 0}.simple-product b{color:var(--blue);font-size:14px}
@media(max-width:1300px){.breadcrumb,.product-hero,.tabs,.article-section,.downloads,.faq,.link-panels,.simple-grid{margin-left:48px;margin-right:48px}}
@media(max-width:900px){.hero{grid-template-columns:1fr .8fr;min-height:520px}.hero-copy{padding:60px 16px 65px 0}.hero-art img:nth-child(2){margin:0 -20px}.product-grid,.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.closing{gap:40px}footer{grid-template-columns:1fr 1fr}.product-hero{grid-template-columns:1fr 160px;gap:30px}.product-hero .boxshot{width:140px}}
@media(max-width:650px){.site-header{height:auto;min-height:84px;padding:18px 20px;align-items:flex-start;flex-direction:column;gap:15px}.site-header nav{gap:18px;flex-wrap:wrap}.hero{display:block;padding:0 20px;min-height:0}.hero-copy{padding:65px 0 55px}.hero h1{font-size:clamp(3.2rem,12vw,5rem)}.hero p{font-size:17px}.hero-art{height:260px;margin:0 -20px}.hero-art img{max-height:240px;width:28%;object-fit:contain}.hero-art img:nth-child(2){max-height:250px;width:34%;margin:0 -12px}.catalog{padding:65px 20px 75px}.product-grid,.gallery,.downloads,.simple-grid,.link-panels{grid-template-columns:1fr}.product-card p{min-height:0}.closing{padding:65px 20px;display:block}.closing h2{margin-bottom:25px}footer{padding:42px 20px;display:block}footer p{margin:16px 0}.page-lead{padding:65px 20px 45px}.page-lead p{font-size:17px}.breadcrumb{margin:0 20px;padding-top:23px}.product-hero{margin:0 20px;min-height:0;padding:52px 0 25px;grid-template-columns:1fr 95px;gap:15px}.product-hero h1{font-size:clamp(2.8rem,10vw,4.5rem);overflow-wrap:anywhere}.product-hero p{font-size:17px}.product-hero .boxshot{width:95px;max-height:220px}.tabs{margin:0 20px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.tabs a,.tabs a:first-child{padding:13px 14px;white-space:nowrap}.article-section,.downloads,.faq,.link-panels,.simple-grid{margin:0 20px;padding:40px 0 75px}.archive-note{display:block}.archive-note strong{display:block;margin-bottom:4px}.article-heading{margin:40px 0 23px}.legacy-content table{display:block;overflow-x:auto;max-width:100%}.legacy-content td,.legacy-content th{min-width:110px;padding:10px}.legacy-content table img{max-width:155px}.download-card{padding:25px;min-height:auto}.download-card .button{margin-right:0;width:100%}.quiet-link{margin-top:16px}.gallery figure a{height:230px}.simple-product{gap:18px;padding:16px}.simple-product img{width:65px}.simple-product h2{font-size:1.45rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-card{transition:none}}
.missing-download{background:#fff;border-left:3px solid #a85b23;padding:10px 14px;color:#654023;font-size:14px;margin:14px 0!important}
.manual-link{display:inline-block;margin-left:28px;font-size:14px;font-weight:700;text-decoration:none}
@media(max-width:650px){.manual-link{margin:15px 0 0;display:block}}
.legacy-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.legacy-actions .button{margin:0}.tile-section{margin-top:70px}.tile-section h2{margin-bottom:10px}.tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tile-grid a{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--paper);padding:9px 12px;text-decoration:none;font-size:14px;font-weight:650}.tile-grid img{width:42px;height:42px;object-fit:contain}.tile-grid small{margin-left:auto;font-size:11px;color:var(--muted)}
@media(max-width:900px){.tile-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.tile-grid{grid-template-columns:1fr}.legacy-actions .button{width:100%}}
