/* t1770u mobile lock (additive; final.css untouched): no sideways scroll, no zoom drift */
/* t2915u: no overflow lock on html/body (keeps pinch-zoom panning to all sides); clip lives on body's children */
html,body{overflow-x:visible!important;max-width:100%}
body>*:not(script):not(style){max-width:100%;overflow-x:clip}
html,body{touch-action:pan-x pan-y pinch-zoom!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,svg,video,canvas,iframe{max-width:100%}
.app{grid-template-columns:250px minmax(0,1fr)}
.app>*,.mainc,.views,.pn,.side,.side nav{min-width:0}
.tbl,.twrap,.pn table{max-width:100%}
.tbl,.twrap{overflow-x:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}
.side nav{touch-action:pan-x pan-y pinch-zoom}
@media (max-width:900px){.app,.adm .app{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){input,select,textarea{font-size:16px!important}
 h1,h2,h3,p,li,td,dd,a{overflow-wrap:anywhere}}
/* t2910u phone page card: 0.5cm gap on all four sides = clamp(16px,4.5vw,20px), soft border+shadow around the card (replaces t2892 95%/max(12px,2.5vw) gutter) */
@media (max-width:768px){
 html{background:#eaf0fa}
 body{box-sizing:border-box;margin:clamp(16px,4.5vw,20px)!important;width:auto!important;max-width:none!important;min-width:0!important;border:1px solid #d6e2f5;border-radius:14px;box-shadow:0 2px 6px rgba(23,60,160,.08),0 8px 24px rgba(23,60,160,.12);background-clip:padding-box}
 .w:not(.cta .w):not(.w .w),.hm-w,.hm-h .hm-w{box-sizing:border-box;max-width:100%;width:auto;padding-left:12px!important;padding-right:12px!important}
 .w .w{padding-left:0!important;padding-right:0!important}
 .cta .w,.tr-f .w{box-sizing:border-box;max-width:calc(100% - 24px);margin-left:auto;margin-right:auto}
 #bd-products,section[data-region]{box-sizing:border-box;padding-left:12px!important;padding-right:12px!important}
 pre,code,table{max-width:100%}
 pre{overflow-x:auto;white-space:pre-wrap;word-break:break-word}
}
/* t2914u all pages: header menu wraps inside the card (BN at 360 overflowed), draft banner inset, nothing past the card edge */
@media (max-width:768px){
 header.hdr .w{flex-wrap:wrap;row-gap:6px}
 header.hdr .nav{flex-wrap:wrap;row-gap:4px;column-gap:12px;min-width:0;max-width:100%}
 header.hdr .hr{flex-wrap:wrap;min-width:0}
 .b23draft{margin-left:12px!important;margin-right:12px!important;box-sizing:border-box}
}
/* t2932u contact form card fits the page card at 360 */
@media (max-width:768px){.b1contact .cg{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:14px}.b1contact .fcard,.b1contact .icard{min-width:0;max-width:100%;box-sizing:border-box;margin-left:0;margin-right:0}.b1contact form input,.b1contact form select,.b1contact form textarea{max-width:100%;box-sizing:border-box}}
/* t2933u pass 2 (>=901px only): design background tone + glow, compact footer on every page (b1 geometry) */
@media(min-width:901px){
html,body{background:radial-gradient(900px 520px at 88% 260px,rgba(120,180,250,.55),rgba(160,205,252,.25) 55%,transparent 75%),radial-gradient(700px 500px at 0% 330px,rgba(190,222,252,.5),transparent 70%),#f1f7fd!important}
.ft{padding:12px 0 8px} .ft .fg{align-items:start} .ft h4{margin-bottom:3px} .ft .c a{font-size:9.4px;line-height:1.45} .ft .tagl{font-size:9.6px;margin-top:5px} .ft .copy{font-size:8.6px;margin-top:8px} .ft .fg{row-gap:0} .ft .c a{line-height:1.38} .ft .tagl{line-height:1.35} .ft .c a,.ft .c span{white-space:nowrap}  .ft .c span.muted{font-size:9.4px;white-space:nowrap}
}
/* t2958: Help support lines as a soft card, not loose body text */
.rsup{margin:14px 0 0;padding:12px 16px;background:#fff;border:1px solid #e3ecf7;border-radius:12px;box-shadow:0 4px 14px rgba(20,60,120,.06);font-size:12px;line-height:1.55;color:#40516b}
@media(min-width:901px){.rsup{font-size:9.6px}}
/* t2958: BN desktop header on one line (nav items no wrap) */
@media(min-width:901px){.l-bn .hdr .nav a,.l-bn .hdr .hr a{white-space:nowrap}.l-bn .hdr .nav{gap:14px}.l-bn .hdr .hr{gap:8px}.l-bn .hdr .btn.bs{padding-left:10px;padding-right:10px}}
/* t2958: legal pages tighter toward design (>=901 only): EN title on one line, smaller hero, compact items */
@media(min-width:901px){.lg2h h1{font-size:46px}.lg2h .w{min-height:228px}.cards .lg2s{padding:5px 12px;margin-bottom:3px}.lg2s h3{font-size:14.6px}.lg2s p{font-size:11.2px;line-height:1.34}}
/* t2962: pricing plan-type toggle (design segmented control, lock-safe Monthly / One-time) */
.seg{display:inline-flex;gap:2px;padding:3px;border-radius:99px;background:#fff;border:1px solid #dbe6f6;box-shadow:0 4px 12px -8px rgba(23,60,140,.4);font-weight:600;font-size:12px;white-space:nowrap}
.seg>span{padding:5px 12px;border-radius:99px;color:#33406a}.seg>span.on{background:var(--blue,#1d6ff2);color:#fff}.seg>span:last-child{color:#0f9d58;background:#e9f8ef}
@media(min-width:901px){.seg{font-size:9.6px}.seg>span{padding:4px 10px}}
@media(max-width:900px){.seg{font-size:13px}}
/* t2962 slots: About map + team strip */
.abmap2{position:relative}.abmap2 img{width:100%;height:auto;display:block}.abmap2 span{position:absolute;right:6%;bottom:12%;background:#fff;border-radius:8px;padding:5px 9px;font-size:11px;font-weight:600;color:#0b1f4d;box-shadow:0 6px 16px -10px rgba(23,60,140,.5)}
.abteam .w{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;align-items:center}.abteam figure{margin:0;position:relative}.abteam img{width:100%;height:auto;border-radius:10px;display:block}.abteam figcaption{position:absolute;left:8px;bottom:8px;font-size:11px;background:rgba(255,255,255,.9);border-radius:6px;padding:2px 7px;color:#33406a}
@media(min-width:901px){.abmap2 span,.abteam figcaption{font-size:8.4px}}
@media(max-width:900px){.abteam .w{grid-template-columns:1fr}}
.b1slot{width:100%;height:auto;display:block}
/* t2962: Help/Docs topic tiles 4 across like the design */
@media(min-width:901px){.rs .tg{grid-template-columns:repeat(4,1fr);gap:10px}.rs .tg>a{padding:12px 14px}.rdocs~.rs .tg>a,.rs .tg>a{min-height:0}}
.btn.play{display:inline-flex;align-items:center;gap:7px}.btn.play i{width:16px;height:16px;border-radius:50%;background:#1d6ff2;position:relative;flex:none}.btn.play i:after{content:"";position:absolute;left:6px;top:4px;border-left:6px solid #fff;border-top:4px solid transparent;border-bottom:4px solid transparent}
/* t2962: keep portal pages on their own backgrounds (pass-2 marketing glow must not leak into admin/dashboard/auth) */
html:has(body.adm),body.adm{background:#0b1030!important}html:has(body.dash),body.dash{background:#f7f7fb!important}
html:has(body.auth){background:#060820!important}body.auth{background:radial-gradient(1200px 700px at 50% 40%,#141a4a 0,#0a0e2e 55%,#060820 100%)!important}
.abart{position:relative}.abill{position:absolute;left:10px;bottom:10px;background:rgba(11,16,48,.72);color:#fff;font-size:11px;line-height:1;padding:5px 8px;border-radius:6px;font-weight:600}
.rsart{display:block;width:100%;max-width:340px;height:auto;margin:4px auto 0}
@media(min-width:901px){.ng:has(.rsart){grid-template-columns:repeat(3,1fr) 1.25fr;align-items:center}.ng .rsart{max-width:none;margin:-40px 0 0}}
.lg2art2 img{-webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 62%,transparent 100%)}
@media(min-width:901px){.l-bn .hb .btn{width:auto!important;max-width:none!important;flex:0 0 auto!important;padding-left:14px!important;padding-right:14px!important;white-space:nowrap}}

/* t2962b: mobile text floor >=11px (founder rule). Art labels inside hero art excluded. */
@media (max-width:900px){
html body :is(.eb,.kick,.tagl,.lang,.muted,.bdg,.soon,.tag,.hm-badge,.hm-eb,.hm-k,.hm-copy,.hm-small,.sl247,.slhum,.n,.arr,.cbtn,.more,a.u,.chps a,.c h4,.hm-step p,details.q p,small,.checks span,.hm-btn.sm,.ti div,q,.fl a,td span,.pt span,.top span,.hm-trust span,.hm-trust a,.hm-step b span,.hm-cta p,.hm-fg p,.hm-fg a,.hm-fg h4,.flow5 .h div,.flow5 li,.why4 p,.prom3 b,.cta .w p,.fg .c a,.lg2toc b):not(.hero-art *):not(.hm-art *):not(.hm-prart *):not([aria-hidden=true] *){font-size:11px!important}
}
/* t2984u/t2985u/t2986u/t2987u: seamless images, footer last, full-bleed page */
/* t2986u footer: no fixed footer height, nothing below it; short pages push footer to the bottom */
html{background:var(--bg,#f1f7fd)}
body{display:flex!important;flex-direction:column;min-height:100vh;min-height:100dvh;margin-bottom:0!important;padding-bottom:0!important}
body>main{flex:1 0 auto;width:100%}
body>header,body>footer,body>main,body>.app,body>div:not(.agc){flex-shrink:0}
body>footer{margin-top:auto!important;margin-bottom:0!important;height:auto!important;min-height:0!important}
body>footer>*:last-child,body>footer .w>*:last-child,body>footer .hm-w>*:last-child{margin-bottom:0!important}
/* t2987u wide screens: body canvas spans the whole viewport (bands edge to edge), content stays centred */
@media (min-width:1441px){body{width:auto!important;min-width:1024px}}
/* t2984u images: never a hard box around art */
.hero-art,.hm-art,.hm-prart,.prod-hero-art{background:none!important;box-shadow:none!important;border:0!important}
/* t2987u phone: no inset page card / side strip; comfortable inner padding instead */
@media (max-width:768px){
 html{background:var(--bg,#f1f7fd)!important}
 body{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
 .w:not(.cta .w):not(.w .w),.hm-w,.hm-h .hm-w{padding-left:16px!important;padding-right:16px!important}
 #bd-products,section[data-region]{padding-left:16px!important;padding-right:16px!important}
}
/* t1854u roomier vertical rhythm (all marketing pages, EN+BN): sections were 2-10px apart (A4-sheet look) */
body main>:is(section,.cta,.abtr):not(:first-child):not(.promises-section){padding-top:44px!important;padding-bottom:44px!important;margin-top:0!important}
body main>:is(section,.prod-hero,.abh,.lg2h,.b1hero,.hm-hero):first-child{padding-bottom:36px!important}
body main>.lg2w{margin-top:36px!important;margin-bottom:44px!important}
body main>.promises-section{padding-bottom:44px!important}
body main :is(.hm-sec,.b1plans,.b1comp,.rs,.abx,.products-section,.flow-section,.why-section) :is(h2+p,.sub){margin-bottom:22px}
@media(min-width:901px){body main :is(.hm-cards,.cards,.tg,.ng,.pl,.plans){gap:22px!important}}
@media(max-width:768px){
 body main>:is(section,.cta,.abtr):not(:first-child):not(.promises-section){padding-top:34px!important;padding-bottom:34px!important}
 body main>:is(section,.prod-hero,.abh,.lg2h,.b1hero,.hm-hero):first-child{padding-bottom:28px!important}
 body main>.lg2w{margin-top:28px!important;margin-bottom:34px!important}
 /* full-width phone: drop nested side insets so content uses the viewport (16px page gutter only) */
 body main .w .w,body main section .w>.w{padding-left:0!important;padding-right:0!important;max-width:100%!important}
 .b1contact .fcard,.b1contact .icard{padding-left:16px!important;padding-right:16px!important}
 body main{width:100%!important;max-width:none!important}
}
/* t3041u/t3042u auth pages (login/signup/reset EN+BN): still, one screen, card = content height, centered; no motion; Turnstile height reserved */
html:has(body.auth){height:100%;overflow:hidden;overscroll-behavior:none}
body.auth{height:100vh!important;height:100dvh!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:none;touch-action:manipulation;justify-content:flex-start!important;align-items:center!important;padding:12px 16px!important;box-sizing:border-box;margin:0!important}
body.auth *,body.auth *::before,body.auth *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body.auth .bgx{transform:none!important}
body.auth>main.acard{flex:0 0 auto!important;height:auto!important;min-height:0!important;width:100%;max-width:420px;margin:auto!important;padding:20px 22px!important;box-sizing:border-box}
body.auth input,body.auth button,body.auth select{font-size:16px!important;touch-action:manipulation}
body.auth .ts{min-height:65px!important;margin-top:8px!important}
@media(max-height:720px){body.auth>main.acard{padding:14px 18px!important}body.auth .acard h1{margin-top:6px!important;margin-bottom:2px!important}body.auth .acard .lgo img,body.auth .acard img:first-child{max-height:44px}body.auth .note{margin-top:8px!important}}
/* t3041 login bg Option A + light card (AA): Login/Signup/Reset EN+BN */
body.auth{background:radial-gradient(60% 35% at 50% 13%,#2b3a9a 0%,rgba(43,58,154,0) 70%),linear-gradient(#0B1033,#12183f 13%,#0B1033)!important;background-attachment:fixed!important}
body.auth .bgx{position:fixed;inset:0;z-index:0;background:none!important}body.auth .bgx .abg{position:absolute;inset:0;width:100%;height:100%}
body.auth>main.acard{position:relative;z-index:1;background:#fff!important;border:1px solid #D9DDF0!important;border-radius:16px!important;box-shadow:0 18px 50px rgba(5,8,30,.45)!important;color:#1E2240!important;backdrop-filter:none!important}
body.auth .acard h1{color:#1E2240!important}body.auth .acard .sub,body.auth .acard .note,body.auth .acard .or,body.auth .acard .foot{color:#5A6080!important}
body.auth .acard label{color:#1E2240!important;font-weight:600}
body.auth .acard .fld{background:#fff!important;border:1px solid #8A93B0!important;color:#5A6080}body.auth .acard .fld input{color:#1E2240!important}body.auth .acard .fld input::placeholder{color:#6B7290}
body.auth .acard .or::before,body.auth .acard .or::after,body.auth .acard .foot{border-color:#D9DDF0!important}body.auth .acard .or::before,body.auth .acard .or::after{background:#D9DDF0!important}
body.auth .acard .b1{background:#4F46E5!important;color:#fff!important}body.auth .acard .b2{background:#fff!important;color:#1E2240!important;border:1px solid #C9D2E3!important}
body.auth .acard a{color:#3730A3!important}body.auth .acard .msg{color:#3730A3!important}body.auth .lp a{color:#fff}
@media(max-height:600px){body.auth .acard .sub,body.auth .acard .or,body.auth .acard .gbtn,body.auth .acard .note{display:none!important}body.auth .acard .logo img{max-height:36px;width:auto}}
/* t3041: keep the language pill clear of the card */
body.auth{padding-top:54px!important}
@media(max-height:720px){body.auth .acard .note{display:none!important}}
body.auth{padding-top:48px!important;padding-bottom:8px!important}
@media(max-height:600px){body.auth .acard .logo{display:none!important}body.auth>main.acard{padding:12px 16px!important}body.auth .acard .foot{margin-top:6px!important;padding-top:6px!important}body.auth .acard .ts{margin-top:4px!important}body.auth .acard .b1,body.auth .acard .b2{margin-top:6px!important}}
/* t3361 final-touch polish (preview) */
html body #main img.illus[src*="estimateback-v5-cut"]{max-width:min(280px,100%)!important;height:auto!important;margin-inline:auto;display:block;background:none!important;box-shadow:none!important}
@media (max-width:600px){
 html body .agc-launch{right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;height:44px!important;width:44px!important;padding:0!important;justify-content:center;font-size:0!important;gap:0!important}
 html body .agc-launch>span:not(.agc-lmark){display:none!important}
 html body .agc-launch .agc-lmark{display:flex!important}
 html body{padding-bottom:68px}
}
/* t3376 lot1 final */
html body #main .b1art img.illus.t3376-dfy{width:100%!important;max-width:600px!important;height:auto!important;object-fit:contain!important;margin-inline:auto;display:block;transform:none!important;position:static!important;background:none!important;box-shadow:none!important}
html body #main .b1art:has(.t3376-dfy){overflow:visible!important;display:flex;align-items:center;justify-content:center;min-width:0}
html body #main img.illus.t3376-eb{max-width:min(420px,100%)!important;height:auto!important;margin-inline:auto;display:block;background:none!important;box-shadow:none!important}
html body #main a.btn.bp.mb{white-space:nowrap;padding-inline:22px!important;overflow:visible!important;width:auto!important;min-width:max-content}
@media (max-width:600px){html body #main a.btn.bp.mb{min-width:0;width:100%!important;white-space:normal}}
