@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Poppins:wght@400;500;600;700&display=swap');
:root{--ink:#112c40;--muted:#4b6171;--blue:#0099FF;--deep-blue:#0066a3;--paper:#fcfdfe;--pale:#eef6fa;--line:#d7e3ea;--light:#f5f9fc;--green:#176451;--head:'Poppins','Trebuchet MS',sans-serif;--body:'Open Sans','Trebuchet MS',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:var(--text-body);line-height:1.5}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--head);font-weight:600;line-height:1.12;letter-spacing:var(--heading-tracking)}h2{font-size:clamp(2rem,3.1vw,2.9rem)}h3{font-size:1.55rem;line-height:1.2}button{color:var(--ink)}[hidden]{display:none!important}.container{width:min(var(--page-max),calc(100% - 2 * var(--page-gutter)));margin:auto}.skip{position:fixed;top:-100px;background:var(--paper);z-index:100;padding:12px}.skip:focus{top:0}.header{position:sticky;top:0;z-index:50;background:rgba(252,253,254,.98);border-bottom:1px solid var(--line)}.nav-wrap{width:min(var(--page-max),calc(100% - 2 * var(--page-gutter)));margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:34px}.brand{display:flex;flex-shrink:0}.brand img{width:260px}.header nav{display:flex;align-items:center;gap:27px;font-weight:500}.header nav>a:not(.button),.nav-trigger{padding:24px 0}.header nav>a:hover,.nav-trigger:hover{color:var(--blue)}.nav-trigger{border:0;background:transparent;font-weight:500;display:flex;gap:8px}.nav-group{position:relative}.dropdown{position:absolute;top:calc(100% + 6px);left:-25px;width:365px;background:var(--paper);border:1px solid var(--line);padding:25px;box-shadow:0 16px 40px #17395015;border-radius:6px}.dropdown .eyebrow{margin-bottom:12px}.dropdown a{display:block;padding:15px 0;border-top:1px solid var(--line)}.dropdown strong{display:flex;justify-content:space-between}.dropdown small{display:block;font-weight:400;color:var(--muted);line-height:1.5;margin-top:4px}.dropdown a:hover strong{color:var(--blue)}.solutions-menu{left:auto;right:-70px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;border:1px solid var(--blue);background:var(--blue);color:#fcfdff;border-radius:5px;font-weight:600;padding:14px 21px;line-height:1.5;transition:background .18s,transform .18s}.button:hover{background:var(--deep-blue);color:#fcfdff;transform:translateY(-1px)}.nav-cta{padding:10px 17px;gap:18px}.mobile-toggle{display:none}.eyebrow{font-weight:600;letter-spacing:.12em;line-height:1.5;color:var(--blue)}.little-line{display:inline-block;width:23px;height:2px;background:var(--blue);vertical-align:middle;margin-right:8px}.hero{display:grid;grid-template-columns:var(--body-two-columns);gap:66px var(--body-column-gap);align-items:start;padding-block:16px}.hero h1{font-size:clamp(3rem,4.5vw,4.35rem);font-weight:600;letter-spacing:var(--heading-tracking);line-height:1.1;margin-top:25px}.hero h1 span{color:var(--blue)}.hero-description{line-height:1.5;color:var(--muted);max-width:calc(36ch + 200px);margin:25px 0 30px}.actions{display:flex;gap:28px;align-items:center}.text-link{display:inline-flex;align-items:center;gap:14px;font-weight:600;color:var(--ink);background:none;border:0;padding:0}.text-link:hover{color:var(--blue)}.hero-footnote{color:var(--muted);margin-top:34px}.hero-footnote span{color:#9db2c1;margin:0 7px}.hero-visual{position:relative;background:var(--pale);padding:24px 28px 17px;border-radius:12px;border:1px solid #deebf3}.demo-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.demo-top .eyebrow{letter-spacing:.11em}.demo-label{color:var(--muted)}.context-switch{display:flex;margin:18px auto 20px;padding:4px;background:#deebf3;border-radius:6px}.context-switch button{flex:1;white-space:nowrap;padding:9px 7px;border:0;background:none;border-radius:4px;font-weight:600}.context-switch button.selected{background:var(--paper);box-shadow:0 1px 3px #14334d12;color:var(--blue)}.approval{max-width:335px;margin:auto;border:1px solid #cfdee7;background:var(--paper);border-radius:9px;box-shadow:0 16px 32px #224e7010;overflow:hidden}.approval-header{display:flex;gap:11px;align-items:center;padding:17px 21px}.app-symbol{width:33px;height:33px;background:#e7f2f9;border-radius:5px;display:grid;place-items:center;color:var(--blue);font-weight:700}.approval-header strong{display:block;line-height:1.4}.approval-header small{display:block;color:var(--muted)}.lock-icon{margin-left:auto;color:var(--blue)}.identity-line{display:flex;align-items:center;gap:8px;color:var(--green);background:#f0f7f5;padding:9px 22px;border-block:1px solid #e0ece7}.identity-line>span:last-child{margin-left:auto;color:#658578}.check{display:grid;place-items:center;width:17px;height:17px;border:1px solid #8bb5a9;border-radius:50%;font-size:10px}.approval-body{padding:21px}.approval-body .eyebrow{color:var(--muted)}.approval-body h2{font-size:36px;margin-top:8px;letter-spacing:var(--heading-tracking)}.approval-body h2 span{font-size:24px;color:#708594}.transaction{margin:15px 0 18px;}.transaction>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #edf1f4}.transaction dt{color:var(--muted)}.transaction dd{margin:0;font-weight:500;text-align:right}.approve,.reject{width:100%;min-height:44px;padding:10px 13px;justify-content:center}.reject{background:#a83832;border-color:#a83832;margin-top:10px}.reject:hover{background:#8b2e29;border-color:#8b2e29}.approval-bottom{display:flex;gap:8px;background:#f6f9fc;border-top:1px solid #e6eef3;padding:10px 20px;color:var(--muted)}.verification-line{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.075em;margin:24px auto 0;color:var(--blue)}.verification-line .line{flex:1;height:1px;background:#aecfdf}.illustration-note{text-align:left;color:var(--muted);margin-top:8px}.decision-result{min-height:75px;padding:7px 0}.decision-result strong{color:var(--green)}.decision-result p{line-height:1.4;margin:7px 0}.decision-result .text-link{color:var(--blue)}.bridge{background:#f4f8fb;border-block:1px solid var(--line)}.bridge-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:30px}.bridge-inner>p{color:var(--muted);line-height:1.5}.bridge-inner>p strong{font-weight:500;color:var(--ink)}.bridge-inner>div{display:flex;align-items:center;gap:12px;line-height:1.4}.bridge-number{font-family:var(--head);font-size:25px;font-weight:500;color:var(--blue)}.bridge-arrow{color:#8da5b5}.section{padding-block:96px}.section-intro{display:grid;grid-template-columns:var(--body-two-columns);align-items:start;gap:80px var(--body-column-gap);margin-bottom:45px}.section-intro h2{margin-top:14px}.section-intro>p{color:var(--muted);margin-bottom:4px}.platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.product-item{border-top:2px solid #b5d4e4;padding:22px 0 0;display:flex;flex-direction:column}.product-item:hover{border-color:var(--blue)}.product-number{letter-spacing:.075em;color:var(--muted);font-weight:500}.product-item h3{margin:22px 0 15px;font-size:24px}.product-item p{color:var(--muted);line-height:1.5;max-width:315px}.product-link{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:27px;font-weight:600;color:var(--blue)}.product-link>span{font-size:21px}.workflow-section{background:var(--light);padding-block:85px;border-block:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:46px 0 35px;gap:28px}.steps li{border-top:1px solid #c8dce7;padding-top:16px}.steps li>span{color:var(--blue)}.steps h3{font-size:22px;margin:16px 0 12px}.steps p{color:var(--muted);max-width:240px}.principle{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:24px;border-top:1px solid var(--line)}.principle strong{font-family:var(--head);font-size:20px;font-weight:600;letter-spacing:-.03em;color:var(--blue)}.principle p{color:var(--muted);max-width:550px}.solution-grid{display:grid;align-items:start;grid-template-columns:var(--body-two-columns);gap:28px var(--body-column-gap)}.solution-grid article{padding:42px 42px 0;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;scroll-margin-top:110px}.mobile-solution{background:#eaf4fb}.card-solution{background:#f1f3f5}.solution-grid h3{font-size:38px;line-height:1.16;margin:20px 0}.solution-grid article>p:not(.eyebrow){color:var(--muted);line-height:1.5;max-width:430px}.simple-list{list-style:none;padding:0;margin:23px 0 27px;}.simple-list li{padding:6px 0}.simple-list li:before{content:'✓';margin-right:11px;color:var(--blue);font-size:13px}.solution-tail{margin-top:auto}.solution-tail small{display:block;color:var(--muted);margin-top:10px}.app-strip{margin:32px -42px 0;background:#dbeaf4;padding:22px 25px;display:flex;justify-content:center;align-items:center;gap:22px;font-weight:500}.card-solution .app-strip{background:#e2e8ec}.app-strip b{color:var(--blue);font-size:20px;font-weight:400}.integration{border-block:1px solid var(--line);padding-block:85px;display:grid;grid-template-columns:var(--body-two-columns);gap:100px var(--body-column-gap);align-items:start}.integration h2{margin:15px 0 23px}.integration-copy>p:not(.eyebrow){color:var(--muted);max-width:405px;margin-bottom:25px}.architecture{padding:5px 0}.architecture-endpoints{display:grid;grid-template-columns:1fr 1fr;gap:15px}.architecture-endpoints>div{padding:22px 10px;text-align:center;border:1px solid var(--line);border-radius:4px;background:var(--light)}.architecture span{letter-spacing:.07em;color:var(--muted);display:block}.architecture strong{display:block;font-weight:600;margin-top:5px}.connector{text-align:center;font-size:25px;line-height:1.5;color:#7ca7c1}.server-node{padding:24px 15px;text-align:center;background:#e9f4fc;border:1px solid #b1d4e9;border-radius:5px}.server-node span{color:var(--blue)}.server-node strong{font-size:23px;color:var(--blue);letter-spacing:-.025em}.server-node p{color:var(--muted);margin-top:9px}.backend-node{text-align:center;border:1px solid var(--line);border-radius:4px;padding:17px;background:var(--light)}.backend-node strong{margin-top:0}.backend-node span{letter-spacing:0;margin-top:3px}.architecture-note{text-align:center;color:var(--muted);margin:15px 20px 0}.resource-list{border-top:1px solid var(--line)}.resource-list a{display:grid;grid-template-columns:240px 1fr 24px;align-items:center;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.resource-kind{letter-spacing:.08em;color:var(--muted)}.resource-list strong{font-weight:500}.resource-list a>span:last-child{font-size:22px;color:var(--blue)}.resource-list a:hover strong{color:var(--blue)}.contact-section{background:#e7f3fa;border-block:1px solid #d4e5ef;padding-block:70px}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.contact-inner h2{margin-top:15px;font-size:42px}.contact-inner p:not(.eyebrow){color:var(--muted);margin-top:18px}.contact-inner .button{flex-shrink:0}.footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:35px;padding-block:44px 25px}.footer>div>p{color:var(--muted);margin-top:9px}.footer-links{display:flex;gap:25px;}.footer-links a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:20px;width:100%;color:var(--muted)}
@media(min-width:1450px){.hero h1{font-size:70px}}@media(max-width:1150px){.nav-wrap{gap:20px}.header nav{gap:17px;}.hero{gap:35px var(--body-column-gap)}.hero h1{font-size:54px}.hero-visual{padding-inline:20px}.actions{gap:18px}.section-intro{gap:40px var(--body-column-gap)}.integration{gap:55px var(--body-column-gap)}.bridge-inner{gap:17px}.solution-grid article{padding:32px 30px 0}.app-strip{margin-inline:-30px;gap:15px}.solution-grid h3{font-size:34px}}
@media(max-width:900px){.header{position:sticky}.nav-wrap{min-height:76px;flex-wrap:wrap;gap:0}.mobile-toggle{display:flex;align-items:center;gap:14px;background:none;border:1px solid var(--line);border-radius:4px;padding:8px 12px;}.header nav{display:none;width:100%;align-items:stretch;gap:0;flex-direction:column;padding:10px 0 22px;max-height:calc(100dvh - 76px);overflow:auto}.header nav.open{display:flex}.header nav>a:not(.button),.nav-trigger{padding:12px 4px;border-top:1px solid var(--line);width:100%;text-align:left;justify-content:space-between}.nav-cta{margin-top:13px;align-self:flex-start}.dropdown{position:static;width:100%;box-shadow:none;padding:15px;margin-bottom:12px}.hero{gap:30px var(--body-column-gap);grid-template-columns:var(--body-two-columns)}.hero h1{font-size:44px}.actions{align-items:flex-start;flex-direction:column;gap:17px}.hero-footnote{line-height:1.5;max-width:230px}.hero-visual{padding:18px 15px 14px}.demo-top{flex-direction:column;align-items:flex-start;gap:4px}.context-switch button{padding-inline:3px}.approval-header{padding:14px}.approval-body{padding:17px}.verification-line{gap:5px}.bridge-inner{flex-wrap:wrap;justify-content:space-between}.bridge-inner>p{width:100%;}.section{padding-block:65px}.section-intro{gap:25px var(--body-column-gap)}.platform-grid{gap:23px}.product-item h3{font-size:21px}.workflow-section{padding-block:65px}.steps{gap:20px}.principle{align-items:flex-start;flex-direction:column;gap:12px}.solution-grid article{padding:28px 25px 0}.solution-grid h3{font-size:31px}.app-strip{margin-inline:-25px;padding:18px 15px;gap:12px;}.integration{gap:35px var(--body-column-gap);padding-block:65px}.architecture-endpoints>div{padding-inline:5px}.resource-list a{grid-template-columns:170px 1fr 20px}.contact-inner{gap:25px}.contact-inner h2{font-size:35px}.footer-links{gap:15px}}
@media(max-width:650px){html{scroll-padding-top:95px}.hero{grid-template-columns:1fr;gap:36px var(--body-column-gap)}.hero h1{font-size:clamp(2.7rem,10vw,3.5rem);margin-top:20px}.hero-description{margin-block:22px 26px}.actions{flex-direction:row;align-items:center;gap:22px}.hero-footnote{max-width:none;margin-top:25px}.hero-visual{padding:20px 18px 16px}.demo-top{flex-direction:row;align-items:center}.approval{max-width:335px}.approval-body{padding:22px}.approval-header{padding:18px 22px}.bridge-inner{gap:16px;padding-block:25px}.bridge-number{font-size:22px}.bridge-inner>div{gap:7px}.bridge-arrow{display:none}.section{padding-block:55px}.section-intro{grid-template-columns:1fr;gap:20px var(--body-column-gap);margin-bottom:32px}.section-intro h2{font-size:33px}.platform-grid{grid-template-columns:1fr;gap:32px}.product-item{padding-top:17px}.product-item h3{font-size:25px;margin-top:15px}.product-item p{max-width:450px}.product-link{padding-top:17px}.workflow-section{padding-block:55px}.steps{grid-template-columns:1fr 1fr;gap:28px 22px;margin-top:35px}.steps h3{font-size:23px}.principle strong{font-size:22px}.solution-grid{grid-template-columns:1fr;gap:20px var(--body-column-gap)}.solution-grid article{padding:30px 27px 0}.solution-grid h3{font-size:36px}.app-strip{margin-inline:-27px;gap:20px}.integration{grid-template-columns:1fr;padding-block:55px;gap:38px var(--body-column-gap)}.integration h2{font-size:33px}.resource-list a{grid-template-columns:1fr 20px;gap:8px;padding-block:22px}.resource-kind{grid-column:1 / -1}.contact-section{padding-block:48px}.contact-inner{flex-direction:column;align-items:flex-start;gap:28px}.contact-inner h2{font-size:34px}.desktop-break{display:none}.footer{padding-top:35px;gap:25px}.footer-links{flex-wrap:wrap;gap:14px 22px}.footer-bottom{flex-direction:column;gap:6px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.server-section{background:var(--light);border-block:1px solid var(--line);padding-block:85px;scroll-margin-top:100px}.server-capabilities{display:grid;align-items:start;grid-template-columns:var(--body-two-columns);gap:0 var(--body-column-gap)}.server-capabilities article{display:flex;gap:19px;padding:27px 0;border-top:1px solid var(--line)}.capability-number{color:var(--blue);padding-top:5px;flex-shrink:0}.server-capabilities h3{font-size:21px;letter-spacing:var(--heading-tracking);line-height:1.3;margin-bottom:10px}.server-capabilities p{color:var(--muted);line-height:1.5;max-width:470px}.server-closing{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:25px}.server-closing p{color:var(--muted);max-width:530px}.architecture-endpoints p{line-height:1.5;color:var(--muted);margin-top:10px}#integration{border-top:0}@media(max-width:900px){.server-capabilities{gap:0 var(--body-column-gap)}.server-capabilities h3{font-size:19px}.server-closing{align-items:flex-start;flex-direction:column;gap:16px}.server-section{padding-block:65px}}@media(max-width:650px){.server-section{padding-block:55px}.server-capabilities{grid-template-columns:1fr}.server-capabilities article{padding-block:23px}.server-capabilities h3{font-size:21px}.architecture-endpoints p{}}

.platform-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 60px}.product-item p{max-width:450px}.rp-section{border-top:1px solid var(--line);padding-top:80px;display:grid;align-items:start;grid-template-columns:var(--body-two-columns);gap:80px var(--body-column-gap)}.rp-section h2{margin-top:15px}.rp-description>p{color:var(--muted);margin-bottom:18px}.purchase-note{padding:21px 0;border-block:1px solid var(--line);margin:25px 0}.purchase-note strong,.purchase-note span{display:block}.purchase-note strong{color:var(--blue)}.purchase-note span{margin-top:5px}.service-paths{display:grid;grid-template-columns:1fr 1fr;gap:15px}.direct-path{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-inline:1px solid transparent}.direct-path span{letter-spacing:0;color:var(--blue)}.direct-path p{color:var(--muted);line-height:1.5;margin-top:7px}.direct-path b{font-size:28px;font-weight:400;color:#7ca7c1;margin-top:15px}.card-server-node{border:1px solid var(--line);padding:15px 10px;background:var(--light);border-radius:4px;text-align:center}.card-server-node strong{line-height:1.35;margin:0}.card-server-node p{line-height:1.5;color:var(--muted);margin-top:8px}.footer-links{flex-wrap:wrap;max-width:650px;justify-content:flex-end}@media(max-width:900px){.rp-section{gap:35px var(--body-column-gap);padding-top:65px}.platform-grid{gap:32px}.rp-section h2{font-size:33px}}@media(max-width:650px){.rp-section{grid-template-columns:1fr;gap:25px var(--body-column-gap);padding-top:55px}.platform-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.service-paths{gap:12px}}

.platform-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}@media(max-width:650px){.platform-grid{grid-template-columns:1fr}}

.platform-branches{display:grid;grid-template-columns:1fr 1fr;gap:18px}.branch-label{text-align:center;color:var(--muted);padding:15px 0}.branch-label span{display:inline;font-size:20px;margin-left:8px;color:#7ca7c1}.platform-branches .backend-node{height:calc(100% - 60px);padding:20px 10px}.platform-branches p{color:var(--muted);line-height:1.5;margin-top:9px}.standalone-path{border-top:1px solid var(--line);margin-top:25px;padding-top:24px;text-align:center}.standalone-path>span{color:var(--blue);}.standalone-path p{color:var(--muted);margin-top:8px}.header nav{gap:20px}.hero-footnote{line-height:1.5}@media(max-width:1150px){.header nav{gap:13px}}@media(max-width:1000px) and (min-width:901px){.nav-wrap{gap:14px}.header nav{gap:11px;}.nav-cta{padding:9px 12px;gap:10px;}}@media(max-width:900px){.header nav{gap:0}.platform-branches{gap:12px}}

.card-section{padding-block:90px;background:#fcfdfe;border-bottom:1px solid var(--line)}.card-heading{max-width:850px;margin-bottom:48px}.card-heading h2{font-size:clamp(2.3rem,4vw,3.6rem);margin:17px 0 24px}.card-heading>p:last-child{max-width:720px;color:var(--muted)}.card-detail-layout{display:grid;grid-template-columns:var(--body-two-columns);gap:80px var(--body-column-gap);align-items:start}.card-stories article{border-top:1px solid var(--line);padding:28px 0 32px}.card-story-label{font-weight:600;letter-spacing:.11em;color:var(--blue)}.card-stories h3{font-size:25px;margin:13px 0 14px;letter-spacing:var(--heading-tracking)}.card-stories p{color:var(--muted);max-width:575px}.card-hardware{background:var(--pale);padding:35px 36px}.card-hardware h3{font-size:29px;margin:15px 0 25px}.card-hardware dl{margin:0}.card-hardware dl>div{border-top:1px solid #cbdfe9;padding:17px 0}.card-hardware dl>div:last-child{padding-bottom:0}.card-hardware dt{font-weight:600;}.card-hardware dd{margin:5px 0 0;color:var(--muted);line-height:1.5}.card-management{margin-top:44px;padding-top:36px;border-top:1px solid var(--line);display:grid;align-items:start;grid-template-columns:var(--body-two-columns);gap:65px var(--body-column-gap)}.card-management h3{font-size:28px;margin-top:14px}.card-management p:not(.eyebrow){color:var(--muted);margin-bottom:18px}.card-pilot{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:40px;padding:28px 32px;background:var(--light);border:1px solid var(--line)}.card-pilot strong{font-family:var(--head);font-size:20px;letter-spacing:-.025em}.card-pilot p{color:var(--muted);max-width:650px;margin-top:7px}.card-pilot .button{flex-shrink:0}@media(max-width:900px){.card-section{padding-block:65px}.card-detail-layout{gap:35px var(--body-column-gap)}.card-hardware{padding:26px}.card-management{gap:35px var(--body-column-gap)}.card-pilot{align-items:flex-start;flex-direction:column;gap:22px}}@media(max-width:650px){.card-section{padding-block:55px}.card-heading{margin-bottom:30px}.card-heading h2{font-size:35px}.card-detail-layout,.card-management{grid-template-columns:1fr;gap:22px var(--body-column-gap)}.card-stories article{padding:23px 0}.card-stories h3{font-size:24px}.card-hardware{padding:27px 25px}.card-management{margin-top:32px;padding-top:28px}.card-management h3{font-size:26px}.card-pilot{padding:25px;margin-top:30px}.card-pilot .button{width:100%;justify-content:space-between;}}

.card-video{display:grid;grid-template-columns:var(--body-two-columns);gap:55px var(--body-column-gap);align-items:start;padding-bottom:48px;margin-bottom:16px}.card-video-copy h3{font-size:clamp(1.8rem,3vw,2.6rem);margin:17px 0}.card-video-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:22px}.card-video-player{aspect-ratio:16/9;background:var(--pale);overflow:hidden}.card-video-player iframe{display:block;width:100%;height:100%;border:0}@media(max-width:900px){.card-video{gap:30px var(--body-column-gap);grid-template-columns:var(--body-two-columns)}}@media(max-width:650px){.card-video{grid-template-columns:1fr;gap:25px var(--body-column-gap);padding-bottom:25px;margin-bottom:7px}.card-video-copy h3{font-size:29px}.card-video-copy h3 br{display:none}}

/* Service components and bank-demo confirmation copy. */
#services,.product-item[id]{scroll-margin-top:110px}
.request-prompt{font-family:var(--head);font-size:18px;font-weight:600;line-height:1.35;margin:12px 0}
.request-guidance{color:var(--muted);line-height:1.5;margin-bottom:16px}
.rejection-reasons{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin:15px 0}
.rejection-reasons .button{padding:10px 13px;justify-content:center}
.rejection-reasons .text-link{align-self:center}

/* Clear service labels and integration examples within the existing visual system. */
.service-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:-5px 0 14px}
.service-detail{font-weight:600;color:var(--blue)}
.sdk-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #b5d4e4;border-radius:4px;background:var(--pale);padding:4px 8px;color:var(--deep-blue);font-weight:600;line-height:1.5}
.sdk-badge:hover{background:#deebf3;border-color:var(--blue)}
.steps{grid-template-columns:repeat(5,minmax(0,1fr))}
.outreach-section{border-top:1px solid var(--line)}
.outreach-layout{display:grid;grid-template-columns:var(--body-two-columns);gap:80px var(--body-column-gap);align-items:start}
.outreach-copy h3{font-size:28px;margin-bottom:22px}
.outreach-copy p{color:var(--muted);margin-bottom:20px}
.outreach-copy .outreach-availability{margin:12px 0 0}
.outreach-notice{margin:0;padding:28px;background:var(--light);border:1px solid var(--line)}
.outreach-notice figcaption strong{display:block;font-family:var(--head);font-size:22px;font-weight:600;line-height:1.3;margin-top:12px}
.outreach-notice dl{margin:20px 0}
.outreach-notice dl>div{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:15px;border-top:1px solid var(--line);padding:12px 0;}
.outreach-notice dt{color:var(--muted)}
.outreach-notice dd{margin:0;font-weight:500;overflow-wrap:anywhere}
.outreach-notice>p{color:var(--muted)}
.outreach-notice small{display:block;color:var(--muted);margin-top:14px}
.developer-section{border-bottom:1px solid var(--line)}
#verified-outreach,#developers{scroll-margin-top:110px}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.outreach-layout{gap:35px var(--body-column-gap)}.outreach-notice{padding:22px}.outreach-notice dl>div{grid-template-columns:1fr;gap:5px}}
@media(max-width:650px){.outreach-layout{grid-template-columns:1fr;gap:28px var(--body-column-gap)}.outreach-copy h3{font-size:25px}.outreach-notice{padding:24px}.outreach-notice dl>div{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:12px}}

/* Platform introduction pairs the card authenticator with modular cloud services. */
.platform-description{color:var(--muted)}
.platform-description p+p{margin-top:16px}



/* Introduce mobile as an integration option alongside the platform overview. */
.hero-mobile-callout{max-width:450px;border-left:2px solid #b5d4e4;padding-left:15px;margin:-8px 0 28px}
.hero-mobile-callout a{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font-weight:600;line-height:1.5}
.hero-mobile-callout a:hover{text-decoration:underline;text-underline-offset:3px}
.hero-mobile-callout p{line-height:1.5;color:var(--muted);margin-top:5px}

/* Authenticate invitation and the card's FIDO focus. */
#intent-demo{scroll-margin-top:110px}
#intent-demo:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.card-identity-line{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.fido-membership{font-weight:600;line-height:1.5;color:var(--deep-blue);border:1px solid #b5d4e4;border-radius:4px;padding:5px 10px}
.card-heading .card-positioning{font-family:var(--head);font-size:23px;font-weight:600;line-height:1.4;letter-spacing:-.025em;margin-bottom:16px;color:var(--blue)}
@media(max-width:650px){.card-heading .card-positioning{font-size:20px}}

/* Shared authentication service for the card and existing mobile apps. */
.auth-integration-section{background:var(--light);padding-block:80px}
.auth-integration-layout{display:grid;grid-template-columns:var(--body-two-columns);gap:80px var(--body-column-gap);align-items:start;scroll-margin-top:110px}
.auth-integration-copy h2{margin:14px 0 24px}
.auth-integration-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:18px}
.auth-integration-copy .auth-standalone{border-top:1px solid var(--line);padding-top:18px;}
.auth-standalone strong{display:block;color:var(--ink);font-weight:600;margin-bottom:4px}
.auth-integration-copy .text-link{margin-top:5px}
.auth-integration-flow{margin:0}
.auth-endpoints{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.auth-endpoints>div{border-top:2px solid #b5d4e4;padding:18px 0 0}
.auth-endpoints .eyebrow{letter-spacing:.07em}
.auth-integration-flow h3{font-size:21px;line-height:1.3;letter-spacing:var(--heading-tracking)}
.auth-endpoints h3{margin:10px 0 8px}
.auth-integration-flow p{color:var(--muted);line-height:1.5}
.auth-flow-connector{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;text-align:center;margin:20px 0}
.auth-flow-connector>span,.auth-result-arrow{font-size:25px;line-height:1.4;color:var(--blue)}
.auth-rp-node{padding:25px 22px;text-align:center;background:var(--pale);border:1px solid #b5d4e4}

.auth-rp-node h3{font-size:25px;color:var(--deep-blue);margin:10px 0 8px}
.auth-result-arrow{text-align:center;margin:12px 0}
.auth-backend-node{text-align:center;border-block:1px solid var(--line);padding:16px 12px}
.auth-backend-node p{margin-top:5px}
.auth-integration-flow figcaption{color:var(--muted);text-align:center;margin-top:15px}
@media(max-width:900px){.auth-integration-section{padding-block:65px}.auth-integration-layout{gap:35px var(--body-column-gap)}.auth-endpoints{gap:14px}.auth-integration-flow h3{font-size:19px}.auth-rp-node{padding:22px 15px}}
@media(max-width:650px){.auth-integration-section{padding-block:55px}.auth-integration-layout{grid-template-columns:1fr;gap:36px var(--body-column-gap)}.auth-integration-copy h2{font-size:33px}.auth-rp-node h3{font-size:23px}}

/* Confirmation levels from the Identity and Intent presentation. */
.auth-integration-layout{row-gap:42px}
.auth-friction{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:32px}
.auth-friction-intro{display:grid;grid-template-columns:var(--body-two-columns);gap:40px var(--body-column-gap);align-items:start}
.auth-friction-intro h2{font-size:26px}
.auth-friction-intro p{color:var(--muted)}
.friction-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;list-style:none;padding:0;margin:28px 0}
.friction-levels li{border-top:2px solid #b5d4e4;padding-top:17px}
.friction-levels .eyebrow{letter-spacing:.07em}
.friction-levels h3{font-family:var(--head);font-size:20px;font-weight:600;letter-spacing:var(--heading-tracking);line-height:1.3;margin:12px 0}
.friction-levels p,.friction-example{line-height:1.5;color:var(--muted)}
.friction-example{border-top:1px solid var(--line);padding-top:20px;max-width:900px}
@media(max-width:900px){.auth-friction-intro{gap:25px var(--body-column-gap)}.friction-levels{gap:22px}.friction-levels h3{font-size:19px}}
@media(max-width:650px){.auth-friction-intro{grid-template-columns:1fr;gap:14px var(--body-column-gap)}.auth-friction-intro h2{font-size:24px}.friction-levels{grid-template-columns:1fr;gap:24px}.friction-levels h3{font-size:21px}}

/* A distinct conference invitation on both pages. */
.event-banner{background:#3A3A3A;color:#f8fcff;border-bottom:1px solid #292929}
.event-banner-inner{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:30px;align-items:center;padding-block:23px}
.event-date{border-right:1px solid #72acd0;padding-right:24px;text-align:center;line-height:1.3}
.event-date span{display:block;font-weight:600;letter-spacing:.12em}
.event-date strong{display:block;font-family:var(--head);font-size:32px;font-weight:600;letter-spacing:var(--heading-tracking);margin:4px 0}
.event-kicker{font-weight:600;letter-spacing:.11em;color:#d6edfa}
.event-title{font-family:var(--head);font-size:30px;font-weight:600;line-height:1.2;letter-spacing:var(--heading-tracking);margin:5px 0 7px;color:var(--blue)}
.event-title a:hover{text-decoration:underline;text-underline-offset:.14em}
.event-title .site-icon{--icon-size:.65em;vertical-align:0}
.event-copy>p:last-child{line-height:1.5;color:#e2f2fc}
.event-banner-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.event-banner .event-meeting{background:var(--blue);border-color:var(--blue);color:#ffffff;padding:11px 17px}
.event-banner .event-meeting:hover{background:var(--deep-blue);border-color:var(--deep-blue);color:#ffffff}
.event-banner-links{display:flex;justify-content:space-between;gap:20px;font-weight:500}
.event-banner-links a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.event-banner-links a:hover{color:#d6edfa}
.event-banner a:focus-visible{outline-color:#f8fcff}
.header a[aria-current="page"]{color:var(--blue);text-decoration:underline;text-underline-offset:6px}
/* Homepage introduction to the standalone offering. */
.auth-preview{background:var(--light);padding-block:55px}
.auth-preview-layout{display:grid;grid-template-columns:var(--body-two-columns);gap:80px var(--body-column-gap);align-items:start;scroll-margin-top:110px}
.auth-preview h2{font-size:36px;margin-top:13px}
.auth-preview p:not(.eyebrow){color:var(--muted);margin-bottom:20px}
/* Dedicated Authentication & Intent Services page. */
.service-hero{padding-block:35px 0}
.service-back-link{color:var(--muted)}
.service-back-link:hover{color:var(--blue)}
.service-hero-layout{display:grid;grid-template-columns:var(--body-two-columns);gap:100px var(--body-column-gap);align-items:start;padding-block:50px 55px}
.service-hero h1{font-size:clamp(44px,5vw,72px);font-weight:600;line-height:1.08;letter-spacing:var(--heading-tracking);margin:19px 0 24px}
.service-hero h1 span{color:var(--blue)}
.service-lead{color:var(--muted);max-width:610px;margin-bottom:28px}
.service-facts{border-left:1px solid var(--line);padding-left:32px}
.service-facts dl{margin:22px 0 0}
.service-facts dl>div{border-top:1px solid var(--line);padding:17px 0}
.service-facts dt{font-family:var(--head);font-size:19px;font-weight:600;letter-spacing:-.025em}
.service-facts dd{color:var(--muted);margin:7px 0 0}
.service-jump-links{display:flex;flex-wrap:wrap;gap:14px 32px;border-block:1px solid var(--line);padding:20px 0;font-weight:600}
.service-jump-links a:hover{color:var(--blue)}
.service-demo{display:grid;grid-template-columns:var(--body-two-columns);gap:80px var(--body-column-gap);align-items:start}
.service-demo-copy h2{margin:16px 0 24px;font-size:clamp(34px,4vw,51px)}
.service-demo-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:20px;max-width:465px}
.service-demo-copy .demo-instruction{border-top:1px solid var(--line);padding-top:20px}
.friction-section{padding-block:65px;background:var(--light);border-block:1px solid var(--line)}
.friction-section .auth-friction{border:0;padding:0}
.friction-section .auth-friction-intro h2{font-size:36px}
.services-page .auth-integration-section{background:var(--paper)}
.services-page #how-it-works,.services-page #friction,.services-page #integration{scroll-margin-top:110px}
@media(max-width:1150px){.event-banner-inner{gap:24px;grid-template-columns:95px minmax(0,1fr) auto}.event-title{font-size:26px}.event-date{padding-right:18px}.service-hero-layout{gap:55px var(--body-column-gap)}.service-demo,.auth-preview-layout{gap:45px var(--body-column-gap)}}
@media(max-width:900px){.event-banner-inner{grid-template-columns:85px minmax(0,1fr);gap:18px 24px}.event-banner-actions{grid-column:1 / -1;flex-direction:row;justify-content:center;align-items:center;gap:25px}.event-banner-links{gap:24px}.service-hero-layout{gap:30px var(--body-column-gap);grid-template-columns:var(--body-two-columns);padding-block:35px}.service-hero h1{font-size:48px}.service-hero .actions{flex-wrap:wrap;gap:18px}.service-facts{padding-left:24px}.service-demo{gap:35px var(--body-column-gap)}.auth-preview h2{font-size:30px}}
@media(max-width:650px){.event-banner-inner{grid-template-columns:66px minmax(0,1fr);gap:16px;padding-block:19px}.event-date{padding-right:12px}.event-date strong{font-size:20px;white-space:nowrap}.event-kicker{line-height:1.5;letter-spacing:.07em}.event-title{font-size:25px;margin-block:5px}.event-banner-actions{flex-direction:column;gap:13px;align-items:stretch}.event-banner .event-meeting{justify-content:center;gap:22px}.event-banner-links{justify-content:center;gap:30px}.auth-preview{padding-block:40px}.auth-preview-layout{grid-template-columns:1fr;gap:20px var(--body-column-gap)}.auth-preview h2{font-size:31px}.auth-preview .text-link{align-items:flex-start}.service-hero{padding-top:25px}.service-hero-layout{grid-template-columns:1fr;gap:35px var(--body-column-gap)}.service-hero h1{font-size:clamp(38px,10vw,58px)}.service-hero .actions{align-items:flex-start;flex-direction:column}.service-facts{border-left:0;padding-left:0}.service-facts dl{margin-top:15px}.service-facts dl>div{padding:13px 0}.service-jump-links{gap:12px 24px;padding-block:17px}.service-demo{grid-template-columns:1fr;gap:28px var(--body-column-gap)}.service-demo-copy h2{font-size:35px}.friction-section{padding-block:50px}.friction-section .auth-friction-intro h2{font-size:32px}}

/* Homepage benefits and the two specific-action examples share the gray tab surface. */
.three-tabs button{white-space:normal;min-width:0;line-height:1.35;padding:9px 5px}
#intent-demo [role="tabpanel"]:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.card-connectivity{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0 0 22px}
.card-connectivity li{font-weight:600;color:var(--deep-blue);background:var(--pale);border:1px solid var(--line);border-radius:4px;padding:5px 9px}
.card-login-benefits{list-style:none;padding:0;margin:0}
.card-login-benefits li{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:14px;align-items:start;margin-bottom:21px}
.card-login-benefits li:last-child{margin-bottom:0}
.card-login-benefits strong{display:block;line-height:1.45;margin-bottom:6px}
.card-login-benefits p{line-height:1.5;color:var(--muted)}
@media(max-width:900px){.three-tabs button{padding-inline:3px}}

/* Short introductions to the dedicated demonstrations. */
.demo-teaser{padding:22px 4px 8px}
.teaser-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px}
.teaser-top .text-link{color:var(--blue);white-space:nowrap}
.demo-teaser h2{font-size:clamp(26px,2.3vw,33px);line-height:1.2;margin-bottom:17px}
.demo-teaser>p{line-height:1.5;color:var(--muted)}
.teaser-flow{display:flex;align-items:center;justify-content:center;gap:25px;margin:29px 0;padding:22px 10px;border-block:1px solid #c6dce8}
.teaser-flow>div{display:flex;flex-direction:column;align-items:center;gap:12px;font-weight:600}.teaser-flow svg{width:43px;height:43px;color:var(--blue)}.teaser-arrow{font-size:23px;color:#7598ad}
.teaser-cases{display:flex;gap:18px;font-weight:600;color:var(--ink);margin-bottom:11px}.teaser-cases span:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);margin-right:7px}.teaser-cases span+span:before{background:#a83832}
.teaser-top a{min-height:44px;align-items:center}

/* Shared message above all homepage examples. */
.fido-intro{margin:22px 0}
.fido-intro h2{font-size:clamp(24px,2.1vw,29px);line-height:1.2;letter-spacing:var(--heading-tracking);margin-bottom:15px}
.fido-intro h2 span{color:var(--blue)}
.fido-intro p{line-height:1.5;color:var(--muted)}

/* Shared reading scale. Keep these floors at every responsive breakpoint. */
:root {
  --page-max: 1360px;
  --body-two-columns: repeat(2, minmax(0, 1fr));
  --body-column-gap: 24px;
  --page-gutter: 20px;
  --heading-tracking: 0em;
  /* Half the previous outer margins, including the centered margins on wide screens. */
  --page-width: min(calc(50% + var(--page-max) / 2), calc(100% - 2 * var(--page-gutter)));
  --text-caption: .75rem;
  --text-label: .875rem;
  --text-ui: 1rem;
  --text-body: 1.125rem;
}
.container, .nav-wrap { width: var(--page-width); }

/* Preview the supplied sky artwork behind the homepage's opening hero only. */
.hero-sky {
  background-color: #06131e;
  background-image: linear-gradient(90deg, #06131ecc, #06131e33), url("assets/chromeroads-sky-background.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.hero-sky .hero-copy {
  --ink: #ffffff;
  --muted: #dce6ef;
  color: var(--ink);
}

/* Navigation, links and controls use one shared size. */
.header nav,
.header nav > a,
.header nav > a:not(.button),
.header .nav-trigger,
.nav-trigger,
.mobile-toggle,
.dropdown strong,
.dropdown small,
.button,
.text-link,
.nav-cta,
.approve,
.reject,
.rejection-reasons .button,
.decision-result .text-link,
.card-pilot .button,
.solution-tail .text-link,
.hero-mobile-callout a,
.product-link,
.sdk-badge,
.service-back-link,
.service-jump-links,
.event-banner .event-meeting,
.event-banner-links,
.footer-links,
.teaser-top .text-link,
.resource-kind,
.resource-list strong,
.context-switch button,
.three-tabs button {
  font-size: var(--text-ui);
}
.dropdown { width: 400px; }
.actions { flex-wrap: wrap; }
.button, .text-link { min-width: 0; }

/* Ordinary prose and its emphasis share one body size at every viewport. */
.hero-description,
.service-lead,
.card-heading > p:last-child,
.section-intro > p,
.platform-description,
.product-item p,
.server-capabilities p,
.server-closing p,
.integration-copy > p:not(.eyebrow),
.card-stories p,
.card-management p:not(.eyebrow),
.card-pilot p,
.card-video-copy > p:not(.eyebrow),
.card-hardware dt,
.card-hardware dd,
.auth-preview p:not(.eyebrow),
.auth-integration-copy > p:not(.eyebrow),
.auth-integration-copy .auth-standalone,
.auth-friction-intro p,
.friction-levels p,
.friction-example,
.steps p,
.principle p,
.outreach-copy p,
.contact-inner p:not(.eyebrow),
.service-demo-copy > p:not(.eyebrow),
.service-demo-copy .demo-instruction,
.bridge-inner > p,
.hero-mobile-callout p,
.hero-footnote,
.service-facts dd,
.outreach-copy .outreach-availability,
.event-copy > p:last-child,
.footer > div > p,
.fido-intro p,
.card-login-benefits p,
.card-login-benefits strong,
.demo-teaser > p,
.demo-teaser .teaser-note,
.approval-header strong,
.rp-description > p,
.purchase-note strong,
.purchase-note span,
.solution-grid article > p:not(.eyebrow),
.simple-list,
.request-guidance,
.decision-result p,
.decision-result strong,
.platform-server-note {
  font-size: var(--text-body);
  line-height: 1.5;
}
.hero-mobile-callout { max-width: 32ch; }
.hero { align-items: start; }
.hero-copy { min-width: 0; }
/* Diagram labels and illustrated interface metadata remain a separate UI role. */
.bridge-inner > div,
.outreach-notice dl > div,
.outreach-notice > p,
.outreach-notice small,
.architecture p,
.architecture-endpoints p,
.architecture-note,
.architecture span,
.architecture strong,
.architecture-endpoints strong,
.platform-branches strong,
.auth-integration-flow p,
.auth-flow-connector p,
.auth-integration-flow figcaption,
.service-detail,
.teaser-flow > div,
.teaser-cases,
.approval-bottom,
.approval-header small,
.identity-line,
.transaction,
.app-strip,
.solution-tail small,
.server-node p,
.backend-node span,
.direct-path span,
.direct-path p,
.card-server-node strong,
.card-server-node p,
.rp-architecture .server-node p,
.rp-architecture .architecture-endpoints strong,
.rp-architecture .server-node span,
.branch-label,
.platform-branches p,
.standalone-path > span,
.standalone-path p,
.strategic-architecture .server-node p {
  font-size: var(--text-ui);
  line-height: 1.5;
}
.architecture .connector, .branch-label span { font-size: 1.5rem; }
.architecture .server-node strong { font-size: 1.4375rem; }
.architecture .backend-node { height: auto; }
.architecture-note { margin-inline: 0; }

/* Short labels and legal captions are explicit, separate text roles. */
.eyebrow,
.hero .eyebrow,
.dropdown .eyebrow,
.product-number,
.capability-number,
.steps li > span,
.card-story-label,
.fido-membership,
.service-facts .eyebrow,
.auth-endpoints .eyebrow,
.auth-rp-node .eyebrow,
.friction-levels .eyebrow,
.event-date span,
.event-kicker,
.demo-top .eyebrow,
.demo-label,
.teaser-top .eyebrow,
.card-connectivity li,
.verification-line,
.approval-body .eyebrow {
  font-size: var(--text-label);
}
.footer-bottom, .illustration-note { font-size: var(--text-caption); line-height: 1.5; }
.event-banner-inner { grid-template-columns: 120px minmax(0, 1fr) auto; }
.event-banner-links { flex-wrap: wrap; max-width: 24rem; gap: 8px 20px; }

/* Shared control geometry is independent of the reading size. */
.context-switch button, .three-tabs button {
  line-height: 1.4;
  min-height: 44px;
  white-space: normal;
}
.demo-top { flex-wrap: wrap; }
.verification-line { letter-spacing: .025em; flex-wrap: wrap; }
.approval { max-width: none; width: 100%; }
.app-symbol, .lock-icon { flex-shrink: 0; }
.teaser-top { flex-wrap: wrap; }
.teaser-flow { gap: 20px; }
.teaser-flow > div { text-align: center; min-width: 0; }
.teaser-cases { flex-wrap: wrap; }

/* Give larger copy usable columns, without reducing the reading scale. */
.steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.steps p { max-width: 34ch; }
@media (max-width: 1100px) {
  .nav-wrap { min-height: 76px; flex-wrap: wrap; gap: 0; }
  .mobile-toggle { display: flex; align-items: center; gap: 14px; background: none; border: 1px solid var(--line); border-radius: 4px; padding: 8px 12px; }
  .header nav { display: none; width: 100%; align-items: stretch; gap: 0; flex-direction: column; padding: 10px 0 22px; max-height: calc(100dvh - 76px); overflow: auto; }
  .header nav.open { display: flex; }
  .header nav > a:not(.button), .header .nav-trigger { padding: 12px 4px; border-top: 1px solid var(--line); width: 100%; text-align: left; justify-content: space-between; }
  .nav-cta { margin-top: 13px; align-self: flex-start; }
  .dropdown { position: static; width: 100%; box-shadow: none; padding: 15px; margin-bottom: 12px; }
  .hero, .service-demo { grid-template-columns: 1fr; }
  .hero-mobile-callout { max-width: 45ch; }
  .hero-copy .actions { flex-direction: row; align-items: center; }
  .platform-grid, .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-banner-inner { grid-template-columns: 110px minmax(0, 1fr); }
  .event-banner-actions { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: center; flex-wrap: wrap; }
}
@media (max-width: 800px) {
  .auth-integration-layout, .integration, .outreach-layout { grid-template-columns: 1fr; }
  .friction-levels { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .platform-grid, .steps { grid-template-columns: 1fr; }
  .event-banner-inner { grid-template-columns: 85px minmax(0, 1fr); }
  .event-date { padding-right: 12px; }
  .event-kicker { letter-spacing: .035em; }
  .event-banner-actions { flex-direction: column; align-items: stretch; }
  .hero-copy .actions { align-items: flex-start; flex-direction: column; }
  .demo-top { flex-direction: column; align-items: flex-start; }
  .approval-header { padding: 16px; }
  .auth-endpoints, .architecture-endpoints, .platform-branches { grid-template-columns: 1fr; }
  .auth-flow-connector { grid-template-columns: 1fr; }
  .auth-flow-connector > span:last-child { display: none; }
  .outreach-notice dl > div { grid-template-columns: 1fr; gap: 4px; }
}

/* A lighter homepage demo frame, retaining the shared reading sizes. */
.hero .hero-visual { padding: 12px 20px; }
.hero .fido-intro { margin: 8px 0; }
.hero .fido-intro h2 { font-size: 1.625rem; margin-bottom: 8px; }
.hero .fido-intro p, .hero .card-login-benefits p,
.hero .card-login-benefits strong { line-height: 1.5; }
.hero .context-switch { margin: 8px 0; }
.hero .context-switch button { white-space: normal; }
.hero-copy, .hero .hero-visual { min-width: 0; }
.hero-copy .button { max-width: 100%; }
.hero .card-connectivity { margin-bottom: 16px; }
.hero .card-login-benefits li { margin-bottom: 12px; }
.hero .card-login-benefits li:last-child { margin-bottom: 0; }
.hero .card-login-benefits strong { margin-bottom: 4px; }
.hero .illustration-note { margin-top: 4px; }
.hero .demo-teaser { padding-top: 12px; }
.hero .teaser-top { margin-bottom: 12px; }
.hero .teaser-flow { margin-block: 16px; padding-block: 16px; }

/* Establish the platform before introducing its dedicated card in detail. */
.platform-overview { scroll-margin-top: 110px; }
.platform-name { font-family: var(--head); font-size: clamp(1.125rem, 1.5vw, 1.5rem); font-weight:600; letter-spacing: .06em; line-height: 1.4; color: var(--blue); margin-bottom: 24px; }
.platform-overview .section-intro { align-items: start; }
.platform-overview .section-intro h2 { margin-top: 0; }
.platform-overview .product-item p + p { margin-top: 16px; }
.platform-server-note { color: var(--muted); margin-top: 32px; }
.platform-intent { background: var(--light); border-block: 1px solid var(--line); padding: 0 24px 24px; margin-top: 40px; scroll-margin-top: 110px; }
.platform-intent .bridge-inner { flex-wrap: wrap; }
.platform-intent > .text-link { flex-wrap: wrap; }
#mobile-sdk { scroll-margin-top: 110px; }
@media (max-width: 800px) {
  .platform-overview .section-intro { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .platform-intent .bridge-inner > p { flex-basis: 100%; }
  .platform-intent .bridge-arrow { display: none; }
}
@media (max-width: 650px) {
  .platform-intent .bridge-inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
@media (min-width: 1101px) {
  .hero { grid-template-columns:var(--body-two-columns); gap:48px var(--body-column-gap); }
}

/* Homepage tab headlines share one desktop line; the hero follows its content height. */
@media (min-width: 1101px) {
  .hero .demo-teaser > h2 { white-space: nowrap; }
}
@media (min-width: 1101px) and (min-height: 1000px) {
  .hero .fido-intro h2 { font-size: 1.75rem; }
  .hero .fido-intro p, .hero .card-login-benefits p,
  .hero .card-login-benefits strong, .hero .demo-teaser > p,
  .hero .teaser-flow, .hero .teaser-cases { line-height: 1.5; }
}
@media (min-width: 1101px) and (min-height: 1200px) {
  .hero .hero-visual { padding: 20px 24px; }
  .hero .fido-intro { margin-block: 16px; }
  .hero .fido-intro h2 { font-size: 2.125rem; line-height: 1.2; margin-bottom: 12px; }
  .hero .fido-intro p, .hero .card-login-benefits p,
  .hero .card-login-benefits strong, .hero .demo-teaser > p,
  .hero .teaser-flow, .hero .teaser-cases { line-height: 1.5; }
  .hero .context-switch { margin-block: 16px; }
  .hero .card-connectivity { margin-bottom: 24px; }
  .hero .card-login-benefits li { margin-bottom: 20px; }
  .hero .card-login-benefits li:last-child { margin-bottom: 0; }
  .hero .card-login-benefits strong { margin-bottom: 8px; }
  .hero .illustration-note { margin-top: 12px; }
}

/* Keep section, banner and header edges on the same responsive gutters. */
@media (max-width: 1150px) {
  :root { --page-gutter: 12px; }
}
@media (max-width: 1000px) and (min-width: 901px) {
  :root { --page-gutter: 8px; }
}
@media (max-width: 900px) {
  :root { --page-gutter: 12px; }
}
@media (max-width: 650px) {
  :root { --page-gutter: 10px; }
}
.card-heading h2 .heading-accent { color: var(--blue); }
.card-pilot strong { font-weight: 600; }

/* Use the supplied SVG alpha as a mask so each icon can take a CSS hex color. */
.site-icon {
  display: inline-block;
  width: var(--icon-size, 1em);
  height: var(--icon-size, 1em);
  flex-shrink: 0;
  vertical-align: -.125em;
  background-color: var(--icon-color, currentColor);
  -webkit-mask: var(--icon-source) center / contain no-repeat;
  mask: var(--icon-source) center / contain no-repeat;
  mask-mode: alpha;
  transform: rotate(var(--icon-rotation, 0deg));
}
.icon-bank { --icon-source: url("assets/icons/bank.svg"); }
.icon-phone-call { --icon-source: url("assets/icons/phone-call.svg"); }
.icon-smartphone { --icon-source: url("assets/icons/smartphone.svg"); }
.icon-smartphone-trusted { --icon-source: url("assets/icons/smartphone_trusted.svg"); }
.icon-fingerprint { --icon-source: url("assets/icons/fingerprint-pattern.svg"); }
.icon-shield-lock { --icon-source: url("assets/icons/shield-lock.svg"); }
.icon-banknote-x { --icon-source: url("assets/icons/banknote-x.svg"); }
.icon-user-shield { --icon-source: url("assets/icons/user-shield.svg"); }
.icon-menu { --icon-source: url("assets/icons/menu.svg"); }
.icon-arrow-up { --icon-source: url("assets/icons/arrow-up.svg"); }
.icon-arrow-down { --icon-source: url("assets/icons/arrow-down.svg"); }
.icon-arrow-right { --icon-source: url("assets/icons/arrow-up.svg"); --icon-rotation: 90deg; }
.icon-arrow-left { --icon-source: url("assets/icons/arrow-up.svg"); --icon-rotation: -90deg; }
.icon-external-link { --icon-source: url("assets/icons/external-link.svg"); }

/* Retain each existing illustration's size when SVG elements become spans. */
.nav-trigger .site-icon, .dropdown .site-icon { align-self: center; }
.architecture .site-icon, .branch-label .site-icon { display: inline-block; }
.app-symbol > .site-icon, .lock-icon.site-icon {
  width: var(--icon-size, 24px);
  height: var(--icon-size, 24px);
}
.teaser-flow > div > .site-icon,
.card-login-benefits > li > .site-icon {
  width: var(--icon-size, 43px);
  height: var(--icon-size, 43px);
  color: var(--blue);
}
.teaser-arrow.site-icon,
.auth-flow-connector > .site-icon,
.auth-result-arrow > .site-icon,
.connector > .site-icon,
.site-icon.connector {
  width: var(--icon-size, 43px);
  height: var(--icon-size, 43px);
  color: var(--blue);
  opacity: .6;
}
.waiting-screen > .site-icon {
  width: var(--icon-size, 44px);
  height: var(--icon-size, 44px);
  margin-bottom: 18px;
}
.fingerprint-symbol > .site-icon {
  display: block;
  width: var(--icon-size, 100%);
  height: var(--icon-size, 100%);
}
.site-icon.fingerprint-symbol {
  display: block;
  width: var(--icon-size, 52px);
  height: var(--icon-size, 52px);
}
.phone-call-icon > .site-icon {
  width: var(--icon-size, 28px);
  height: var(--icon-size, 28px);
  color: #ffffff;
}
.phone-decline > .site-icon { --icon-rotation: 135deg; }
@media (max-width: 800px) {
  .waiting-screen > .site-icon {
    width: var(--icon-size, 32px);
    height: var(--icon-size, 32px);
    margin-bottom: 8px;
  }
  .platform-intent .site-icon.bridge-arrow { display: none; }
}
@media (max-width: 650px) {
  .site-icon.bridge-arrow { display: none; }
}
@media (forced-colors: active) {
  .site-icon {
    background-color: CanvasText;
    forced-color-adjust: none;
  }
}

/* Stretch the cells, not just their tracks, onto the shared body grid. */
main :is(
  .hero,
  .section-intro,
  .solution-grid,
  .integration,
  .server-capabilities,
  .rp-section,
  .card-detail-layout,
  .card-video,
  .card-management,
  .outreach-layout,
  .auth-integration-layout,
  .auth-friction-intro,
  .service-hero-layout,
  .service-demo,
  .auth-preview-layout,
  .call-intro-layout,
  .demo-takeaway
) > :not(.auth-friction) {
  min-width: 0;
  justify-self: stretch;
}
