:root{--blue: #0061A0; --orange: #FA6000; --navy: #17324D; --text: #2B3440; --pale: #EAF3F8; --gray: #F5F6F7; --line: #dce5eb;}
*{box-sizing: border-box;}
body{margin: 0px; color: var(--text); background: white; font: 16px / 1.75 Manrope, Arial, sans-serif;}
a{color: var(--blue); text-decoration: none;}
a:hover{text-decoration: underline;}
button, input, select, textarea{font: inherit;}
button, a, input, textarea, select{touch-action: manipulation;}
button{cursor: pointer;}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{outline: 3px solid var(--blue); outline-offset: 5px;}
h1, h2, h3{color: var(--navy); line-height: 1.2; letter-spacing: -0.035em; margin: 0px 0px 24px;}
h1{font-size: clamp(2.5rem, 4.4vw, 4.15rem); font-weight: 750;}
h2{font-size: clamp(1.9rem, 3vw, 2.8rem); font-weight: 750;}
h3{font-size: 1.25rem; letter-spacing: -0.02em;}
p{margin: 0px 0px 22px;}
.wrap{width: min(1240px, 100% - 96px); margin: auto;}
.eyebrow{font-size: 12px; letter-spacing: 0.15em; font-weight: 800; color: var(--blue); text-transform: uppercase; margin-bottom: 25px; display: flex; align-items: center; gap: 12px;}
.eyebrow::before{content: ""; width: 22px; height: 2px; background: var(--orange);}
.hero{padding: 86px 0px 75px; background: linear-gradient(110deg, rgb(255, 255, 255) 52%, rgb(246, 249, 251) 52%);}
.hero-grid{display: grid; grid-template-columns: 1fr 1.05fr; gap: 64px; align-items: center;}
.hero .lead{font-size: 19px; line-height: 1.7; max-width: 550px;}
.lead{font-size: 20px; max-width: 760px;}
.actions{display: flex; gap: 24px; align-items: center; flex-wrap: wrap; margin-top: 32px;}
.btn{display: inline-flex; justify-content: center; align-items: center; border: 0px; border-radius: 5px; background: var(--orange); padding: 14px 24px; font-size: 15px; font-weight: 800; color: rgb(23, 43, 62); min-height: 50px;}
.btn:hover{background: rgb(233, 86, 0); text-decoration: none;}
.link{font-weight: 750; font-size: 14px; border-bottom: 1px solid rgb(155, 184, 201); padding-bottom: 4px;}
.fine{font-size: 13px; color: rgb(101, 116, 131); margin-top: 22px;}
.section{padding: 90px 0px;}
.pale{background: var(--pale);}
.gray{background: var(--gray);}
.split{display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: start;}
.checks{list-style: none; padding: 0px; margin: 0px;}
.checks li{padding: 15px 0px 15px 33px; border-bottom: 1px solid var(--line); position: relative;}
.checks li::before{content: "+"; position: absolute; left: 0px; color: var(--blue); font-weight: 700;}
.tech-line{display: grid; grid-template-columns: 1fr 50px 1fr; align-items: center; background: white; border: 1px solid var(--line); border-radius: 8px; padding: 35px; gap: 15px;}
.tech-line h3{font-size: 24px; margin-bottom: 10px;}
.tech-line p{font-size: 14px; margin: 0px;}
.plus{font-size: 28px; color: var(--orange); text-align: center;}
.tech-result{padding: 16px; text-align: center; background: var(--navy); color: white; margin-top: 12px; border-radius: 5px; font-size: 14px;}
.page-hero{padding: 64px 0px; background: var(--pale);}
.page-hero h1{max-width: 930px; font-size: clamp(2.4rem, 4vw, 3.6rem);}
.breadcrumb{font-size: 13px; color: rgb(96, 114, 130); margin-bottom: 30px;}
.content-grid{display: grid; grid-template-columns: 240px 1fr; gap: 80px;}
.toc{position: sticky; top: 25px; align-self: start; border-left: 2px solid var(--line); padding-left: 20px;}
.toc a{display: block; font-size: 13px; padding: 7px 0px; color: rgb(89, 107, 122);}
.prose{max-width: 790px;}
.prose section{margin-bottom: 65px; scroll-margin-top: 30px;}
.prose h2{font-size: 30px;}
.prose h3{margin-top: 30px;}
.prose li{margin-bottom: 10px;}
.two{display: grid; grid-template-columns: 1fr 1fr; gap: 30px;}
.note{padding: 25px; background: var(--pale); border-left: 3px solid var(--blue); margin: 25px 0px;}
.flow-list{list-style: none; padding: 0px; counter-reset: flow 0;}
.flow-list li{counter-increment: flow 1; position: relative; padding: 0px 0px 25px 55px; border-left: 1px solid rgb(186, 208, 223); margin-left: 17px;}
.flow-list li::before{position: absolute; left: -18px; width: 35px; height: 35px; background: var(--pale); border: 1px solid rgb(186, 208, 223); border-radius: 50%; text-align: center; color: var(--blue); font-weight: 750;}
.flow-list strong{display: block; color: var(--navy);}
label{display: block; font-size: 14px; font-weight: 650; color: var(--navy); margin-bottom: 7px;}
input, select, textarea{width: 100%; padding: 12px; border: 1px solid rgb(174, 191, 203); border-radius: 4px; background: rgb(255, 255, 255); color: var(--text);}
textarea{min-height: 140px; resize: vertical;}
details{border-bottom: 1px solid var(--line); padding: 20px 0px;}
summary{cursor: pointer; font-weight: 750; color: var(--navy);}
details p{margin-top: 15px;}
[hidden]{display: none !important;}
@media (min-width: 1500px){
.hero{padding: 105px 0px;}
}
@media (max-width: 1150px){
.wrap{width: calc(100% - 56px);}
.hero-grid{gap: 35px;}
.split{gap: 50px;}
.content-grid{gap: 40px;}
}
@media (max-width: 900px){
.hero-grid, .split{grid-template-columns: 1fr; gap: 40px;}
.hero{background: linear-gradient(rgb(255, 255, 255) 55%, rgb(246, 249, 251) 55%); padding: 55px 0px;}
.hero h1{max-width: 680px;}
.section{padding: 65px 0px;}
.content-grid{grid-template-columns: 1fr;}
.toc{position: static; display: flex; flex-wrap: wrap; gap: 4px 20px;}
}
@media (max-width: 560px){
.wrap{width: calc(100% - 40px);}
h1{font-size: 40px;}
.hero .lead, .lead{font-size: 17px;}
.hero-grid{gap: 35px;}
 .two{grid-template-columns: 1fr;}
.tech-line{padding: 24px 18px; gap: 10px; grid-template-columns: 1fr 25px 1fr;}
.tech-line h3{font-size: 18px;}
.tech-line p{font-size: 12px;}
.section{padding: 55px 0px;}
.page-hero{padding: 40px 0px;}
.actions{gap: 20px;}
.prose h2{font-size: 27px;}
}
@media (prefers-reduced-motion: reduce){
*{scroll-behavior: auto !important;}
}