@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--navy:#103c55;--blue:#0d5174;--sky:#3aa1c4;--slate:#646464;--ink:#203240;--muted:#667785;--line:#dce6eb;--paper:#f6f9fb;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.6}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}.container{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px}.brand img{width:285px;max-width:100%;height:auto;display:block}.nav{display:flex;gap:30px;align-items:center;font-size:14px;font-weight:700;color:#465d6c}.nav a.active{color:var(--blue)}.nav .nav-contact{border:1px solid #bed4df;padding:9px 16px;border-radius:7px;color:var(--blue)}.menu-toggle{display:none;border:1px solid var(--line);background:white;border-radius:8px;padding:8px 12px;font-size:20px}.hero{background:linear-gradient(125deg,#f4f9fb 0%,#fff 58%,#e8f3f8 100%);border-bottom:1px solid var(--line);padding:98px 0 106px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:800;color:var(--blue);margin:0 0 18px}.hero h1{font-size:clamp(40px,5.2vw,70px);letter-spacing:-.055em;line-height:1.12;max-width:790px;margin:0 0 24px;color:var(--navy)}.hero p.lead{font-size:19px;max-width:650px;color:#526777;margin:0 0 34px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:8px;font-weight:800;font-size:14px;background:var(--blue);color:#fff;border:1px solid var(--blue);transition:.2s}.btn:hover{background:#083e59;color:#fff}.btn.secondary{background:transparent;color:var(--blue);border-color:#b4cdd9}.btn.secondary:hover{background:#e8f2f7}.actions{display:flex;gap:12px;flex-wrap:wrap}.section{padding:84px 0}.section.alt{background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.section-heading h2,h2{font-size:clamp(28px,3vw,39px);letter-spacing:-.035em;line-height:1.2;color:var(--navy);margin:0}.section-heading p{color:var(--muted);max-width:520px;margin:12px 0 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.product{background:#fff;border:1px solid var(--line);border-radius:14px;padding:34px;display:flex;flex-direction:column;min-height:320px;box-shadow:0 9px 28px rgba(20,64,88,.035)}.product .product-label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:var(--blue)}.product h3{font-size:26px;letter-spacing:-.035em;line-height:1.22;color:var(--navy);margin:20px 0 12px}.product p{margin:0 0 26px;color:var(--muted)}.product .arrow{margin-top:auto;color:var(--blue);font-weight:800;font-size:14px}.rule{height:4px;width:42px;background:var(--sky);border-radius:4px}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.feature-strip h3{font-size:17px;margin:16px 0 6px;color:var(--navy)}.feature-strip p{color:var(--muted);font-size:14px;margin:0}.page-hero{padding:75px 0 72px;background:var(--paper);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(35px,4vw,54px);line-height:1.15;letter-spacing:-.05em;color:var(--navy);margin:0 0 18px}.page-hero p{max-width:710px;font-size:18px;color:var(--muted);margin:0}.content{max-width:790px}.content p{color:#536978}.notice{padding:23px 25px;border:1px solid #cbdde7;border-left:4px solid var(--sky);background:#f7fbfd;border-radius:8px;color:#526777;margin-top:26px}.site-footer{background:#112f41;color:#d1dfe6;padding:48px 0 28px}.footer-inner{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer-inner strong{color:#fff}.footer-links{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}.footer-bottom{margin-top:36px;padding-top:20px;border-top:1px solid #315061;color:#a8bdc9;font-size:12px}@media(max-width:760px){.header-inner{min-height:82px;flex-wrap:wrap;padding:14px 0}.brand img{width:215px}.menu-toggle{display:block}.nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:10px 0}.nav.open{display:flex}.nav a{padding:10px 0}.hero{padding:72px 0}.grid,.feature-strip{grid-template-columns:1fr}.section{padding:62px 0}.container{width:min(100% - 36px,1160px)}.section-heading{display:block}}
/* SPA product page — V2 */
.spa-hero{background:linear-gradient(120deg,#f3f8fa 0%,#fff 70%);padding:94px 0 84px}.spa-hero h1{max-width:860px}.spa-hero p:not(.eyebrow){max-width:760px}.spa-actions{margin-top:30px}.spa-subnote{font-size:13px!important;margin-top:22px!important;color:#6b7d89!important}.spa-intro{max-width:890px;font-size:19px;line-height:1.75;color:#536978}.spa-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:35px}.spa-step{border-top:3px solid var(--blue);padding:22px 20px 12px;background:#fff}.spa-step-number{font-weight:800;font-size:13px;color:var(--blue);letter-spacing:.1em}.spa-step h3,.spa-feature-grid h3{color:var(--navy);line-height:1.3;font-size:21px;margin:17px 0 10px}.spa-step p,.spa-feature-grid p,.spa-split p,.spa-availability p{color:#536978}.spa-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:34px}.spa-feature-grid article{border:1px solid var(--line);border-radius:10px;padding:24px 26px}.spa-feature-grid h3{margin-top:0}.spa-feature-grid p{margin-bottom:0}.spa-split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.spa-split h2{margin-bottom:20px}.spa-breakdown{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.spa-breakdown>div{padding:22px 26px;border-bottom:1px solid var(--line)}.spa-breakdown>div:last-child{border-bottom:0}.spa-breakdown span{font-weight:800;font-size:12px;color:var(--blue);letter-spacing:.055em}.spa-breakdown p{margin:7px 0 0}.spa-availability{max-width:900px}.spa-availability h2{margin-bottom:18px}@media(max-width:760px){.spa-hero{padding:70px 0}.spa-steps,.spa-feature-grid,.spa-split{grid-template-columns:1fr}.spa-split{gap:30px}.spa-step{padding:18px}.spa-intro{font-size:17px}}

/* SPA licenses and download page — V3 */
.pricing-lead{max-width:780px;color:#536978;margin:18px 0 34px;font-size:17px}.pricing-grid,.download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px 0}.price-card,.download-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px;display:flex;flex-direction:column;align-items:flex-start}.price-card.featured{border:2px solid var(--blue)}.price-tier{text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:800;color:var(--blue);margin:0}.price-card h3,.download-card h3{font-size:23px;color:var(--navy);margin:14px 0 10px}.price-amount{font-size:36px;font-weight:800;color:var(--navy);margin:5px 0 0;line-height:1.25}.old-price{font-size:17px;font-weight:500;text-decoration:line-through;color:#7d8d98;margin-right:7px}.price-tag{font-size:13px;color:var(--blue);font-weight:700;margin:2px 0 20px}.price-card>p:not(.price-tier):not(.price-amount):not(.price-tag),.download-card p{color:#536978}.price-card .btn,.download-card .btn{margin-top:auto;width:100%;text-align:center}.disabled-btn,.disabled-btn:hover{opacity:.66;cursor:not-allowed;background:#577588;border-color:#577588;color:#fff}.license-explainer{border-top:1px solid #cbdde7;margin-top:28px;padding:24px 0 0;max-width:920px;font-size:14px;line-height:1.65;color:#536978}.license-explainer strong{color:var(--navy);font-size:15px}.license-explainer p{margin:6px 0}.install-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:28px}.install-grid h3{color:var(--navy)}.install-grid p{color:#536978}.text-link{color:var(--blue);font-weight:700}@media(max-width:800px){.pricing-grid,.download-grid,.install-grid{grid-template-columns:1fr}}

/* V4: responsive hardening and browser resilience */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0;overflow-wrap:break-word}
img,svg,video{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.container,.header-inner,.grid>*,.feature-strip>*,.spa-steps>*,.spa-feature-grid>*,.spa-split>*,.pricing-grid>*,.download-grid>*,.install-grid>*{min-width:0}
.header-inner{min-width:0}.brand{display:block;flex:0 1 285px;min-width:0}.brand img{width:100%;max-width:285px}.nav{flex:0 0 auto;gap:clamp(12px,2vw,30px);flex-wrap:wrap;justify-content:flex-end}.nav a{white-space:nowrap}
.price-amount{font-size:clamp(26px,2.7vw,36px);white-space:normal}.old-price{display:inline-block}.price-card,.download-card{min-width:0}.btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}.hero h1,.page-hero h1,h2,h3{overflow-wrap:break-word}
@media(max-width:1050px){.header-inner{gap:14px}.brand{flex-basis:240px}.nav{font-size:13px}.pricing-grid,.download-grid{gap:14px}.price-card,.download-card{padding:22px}.spa-split{gap:32px}}
@media(max-width:900px){.header-inner{min-height:82px;flex-wrap:wrap;padding:14px 0}.brand{flex-basis:240px}.menu-toggle{display:block;cursor:pointer}.nav{display:none;flex:0 0 100%;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:10px 0}.nav.open{display:flex}.nav a{padding:10px 0}.nav .nav-contact{width:max-content;max-width:100%}.spa-steps{grid-template-columns:1fr}.spa-split{grid-template-columns:1fr}.spa-split{gap:30px}}
@media(max-width:800px){.pricing-grid,.download-grid,.install-grid{grid-template-columns:1fr}.price-card,.download-card{padding:26px}.price-amount{font-size:36px}}
@media(max-width:600px){.container{width:calc(100% - 32px)}.hero{padding:60px 0}.hero h1{font-size:clamp(34px,9vw,48px)}.page-hero h1{font-size:clamp(32px,8vw,44px)}.hero p.lead,.page-hero p{font-size:16px}.section{padding:54px 0}.page-hero,.spa-hero{padding:58px 0}.product{padding:25px;min-height:0}.spa-feature-grid{grid-template-columns:1fr}.feature-strip,.grid{grid-template-columns:1fr}.footer-inner{flex-direction:column}.footer-links{gap:16px}.section-heading{display:block}.actions{align-items:stretch}.actions .btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
