:root{--ink:#0b1730;--muted:#536079;--navy:#071329;--cyan:#65cbff;--blue:#1675de;--line:#d8e1ec;--paper:#f6f8fb;--white:#fff;--radius:12px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 "Segoe UI",Arial,sans-serif}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(42px,5.4vw,76px);font-weight:730;margin-bottom:24px}h2{font-size:clamp(32px,3.6vw,49px);font-weight:700;margin-bottom:22px}h3{font-size:24px}a{color:var(--blue);text-underline-offset:4px}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #f3bd45;outline-offset:5px}img{max-width:100%;height:auto;display:block}.wrap{width:min(1220px,calc(100% - 64px));margin:auto}.skip{position:absolute;left:16px;top:-80px;background:#fff;color:#111;padding:12px;z-index:100}.skip:focus{top:8px}header{position:sticky;top:0;z-index:20;background:var(--navy);border-bottom:1px solid #243250;color:white}.nav{height:78px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:white;font-size:15px;line-height:1.3;font-weight:700;letter-spacing:.045em}.brand img{width:34px}.brand span small{display:block;font-size:10px;color:#a5bbd8;letter-spacing:.18em}nav{display:flex;gap:24px;margin-left:auto;align-items:center}nav a{font-size:14px;color:#c3d0e4;text-decoration:none}nav a:hover{color:white}.languages{display:flex;gap:8px;font-size:13px;align-items:center}.languages a{color:#c3d0e4;text-decoration:none;padding:4px 6px}.languages [aria-current]{color:white;border-bottom:2px solid var(--cyan)}.hero{background:var(--navy);color:white;padding:76px 0 58px}.hero-grid{display:grid;grid-template-columns:1fr 1.07fr;gap:50px;align-items:center}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--blue);margin-bottom:20px}.hero .eyebrow{color:var(--cyan)}.hero h1 span{color:var(--cyan)}.hero .intro{max-width:530px;color:#c7d5e9;font-size:19px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 14px}.button{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;border-radius:6px;background:var(--blue);color:white;padding:13px 21px;font-size:15px;line-height:1.4;font-weight:650;border:1px solid transparent}.button.primary{background:var(--cyan);color:#061329}.button.secondary{background:transparent;color:white;border-color:#516079}.button:hover{filter:brightness(1.09)}.small{font-size:13px;line-height:1.6;color:var(--muted)}.hero .small{color:#a8bdd7}.hero figure{margin:0}.screen{border-radius:10px;border:1px solid #3c537b;overflow:hidden;box-shadow:0 24px 60px #0004}.hero figcaption{color:#b5c8e2;margin-top:13px;font-size:12px;text-align:center}.proof-line{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid #273959;margin-top:50px;padding-top:24px;font-size:13px;color:#b7c9e2}.proof-line span+span{border-left:1px solid #365075;padding-left:18px}.section{padding:86px 0}.section-head{max-width:720px;margin-bottom:40px}.section-head p{color:var(--muted)}.workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.workflow article{padding:32px 30px 24px 0}.workflow article+article{border-left:1px solid var(--line);padding-left:30px}.step-number{font-size:13px;letter-spacing:.1em;font-weight:700;color:var(--blue);margin-bottom:18px;display:block}.workflow h3{font-size:25px}.workflow p{font-size:16px;color:var(--muted)}.split{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}.split+.split{margin-top:80px}.split figure{margin:0}.split figcaption{font-size:12px;color:var(--muted);margin-top:10px}.split .body-text p{color:var(--muted)}.split .body-text a{font-size:15px;font-weight:600}.white-section{background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.figure-btn{padding:0;background:none;border:0;display:block;width:100%;border-radius:10px;overflow:hidden}.figure-btn img{width:100%}.figure-btn:hover img{filter:brightness(1.035)}.caption{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;margin-top:10px;color:var(--muted)}.caption span:last-child{color:var(--blue)}.cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.case-column{display:flex;flex-direction:column;gap:18px;min-width:0}.case{flex:none;background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.case summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:24px;font-weight:650;font-size:21px;line-height:1.3}.case summary::-webkit-details-marker{display:none}.details-indicator{margin-left:auto;flex:0 0 20px;width:20px;text-align:center;color:var(--blue);font-size:24px;line-height:1}.details-indicator::before{content:"+"}details[open]>summary .details-indicator::before{content:"−"}.case summary>span:first-child,.faq-item summary>span:first-child{min-width:0;overflow-wrap:break-word}.case .case-body{padding:0 24px 24px;color:var(--muted);font-size:15px}.case-body>p:last-child{margin-bottom:0}.case .sequence{font-family:Consolas,monospace;font-size:14px;color:var(--ink);background:var(--paper);border-left:3px solid var(--blue);padding:14px 16px;margin:18px 0;overflow-wrap:anywhere}.comparison{margin-top:40px;border:1px solid var(--line);border-radius:10px;overflow:auto;background:white}.comparison table{width:100%;border-collapse:collapse;font-size:15px;min-width:600px}.comparison th,.comparison td{padding:18px 22px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.comparison thead{background:#eaf0f8}.comparison tr:last-child td{border:0}.comparison th:first-child{width:29%}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery h3{font-size:19px;margin:15px 0 6px}.gallery p{font-size:14px;color:var(--muted)}.gallery img{border-radius:8px}.boundary{padding:24px 28px;margin-top:32px;background:#eaf0f8;border-left:3px solid var(--blue);font-size:15px;color:#41516b}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{padding:22px 0;cursor:pointer;font-weight:650;line-height:1.45;list-style:none;display:flex;align-items:center;gap:20px}.faq-item summary::-webkit-details-marker{display:none}.faq-body p{color:var(--muted);font-size:15px;margin:0;padding:0 36px 22px 0}.closing{padding:75px 0;background:#10376b;color:white}.closing .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.closing h2{max-width:650px;margin-bottom:15px}.closing p{color:#c6d8ed;max-width:600px;margin-bottom:0}.closing .button{white-space:nowrap}footer{background:var(--navy);color:#99b0ce;padding:30px 0;font-size:13px}footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}footer a{color:#c2d1e5;margin-left:20px}dialog{padding:0;border:1px solid #6983a6;background:#071329;color:white;border-radius:8px;width:min(1200px,calc(100% - 24px));max-height:94vh}dialog::backdrop{background:#000d}dialog .dialog-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;font-size:14px;gap:20px}dialog .dialog-bar p{margin:0}dialog button{background:#20344f;color:white;border:1px solid #526a89;padding:7px 14px;border-radius:4px}dialog img{width:100%;max-height:calc(94vh - 68px);object-fit:contain}.language-page{min-height:100vh;background:var(--navy);color:white;display:grid;place-items:center}.language-panel{max-width:680px;text-align:center;padding:60px 25px}.language-panel img{width:100px;margin:0 auto 30px}.language-panel h1{font-size:48px}.language-panel .buttons{justify-content:center}
@media(min-width:1700px){.hero{padding-top:100px;padding-bottom:78px}}@media(max-width:1000px){nav{gap:15px}.nav{gap:15px}.hero-grid{gap:28px}h1{font-size:52px}.split{gap:38px}.faq-grid{gap:40px}.wrap{width:calc(100% - 40px)}}@media(max-width:760px){.nav{height:68px;flex-wrap:nowrap;gap:14px}.brand{font-size:12px}.brand img{width:29px}nav{display:none}.languages{margin-left:auto}.hero{padding:42px 0}.hero-grid{grid-template-columns:1fr;gap:32px}.hero h1{max-width:600px;font-size:clamp(40px,8.5vw,58px)}.hero .intro{font-size:17px}.hero figure{max-width:620px}.proof-line{margin-top:28px;gap:12px;font-size:12px}.proof-line span+span{border:0;padding:0}.section{padding:54px 0}.workflow{grid-template-columns:1fr}.workflow article{padding:24px 0}.workflow article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.split{grid-template-columns:1fr;gap:28px}.split+.split{margin-top:50px}.split.reverse .body-text{order:0}.split.reverse figure{order:1}.cases{grid-template-columns:1fr}.gallery{grid-template-columns:1fr;gap:30px}.gallery article{max-width:600px}.faq-grid{grid-template-columns:1fr;gap:12px}.closing .wrap{display:block}.closing .button{margin-top:28px}.comparison th,.comparison td{padding:14px}.wrap{width:calc(100% - 36px)}footer a{margin-left:0;margin-right:18px}.case summary{font-size:19px}.button{padding:13px 17px}.boundary{padding:20px}.section-head{margin-bottom:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Native details retain their browser semantics; animation is progressive enhancement. */
@supports (interpolate-size:allow-keywords) and selector(details::details-content){
.case,.faq-item{interpolate-size:allow-keywords}
.case::details-content,.faq-item::details-content{block-size:0;overflow:clip;opacity:0;transition:block-size 180ms ease,opacity 160ms ease,content-visibility 180ms allow-discrete}
.case[open]::details-content,.faq-item[open]::details-content{block-size:auto;opacity:1}
}
@media(max-width:1100px){nav{display:none}.languages{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.case::details-content,.faq-item::details-content{transition:none}}

/* Keep the keyboard focus ring inside clipped, rounded cards. */
.case summary:focus-visible{outline-offset:-5px;border-radius:8px}
.faq-item summary:focus-visible{outline-offset:-3px}

/* Catalogue caption uses the existing table typography and palette. */
.comparison-scroll{overflow:auto}
.comparison .table-caption{text-align:left;padding:18px 22px;font-weight:650;font-size:15px;background:var(--white)}
/* The same native caption remains available to screen readers. */
.comparison caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

.comparison-scroll:focus-visible{outline:3px solid #f3bd45;outline-offset:-3px}
