/* Omnitrace theme on Bootstrap 5.3, Apple HIG-inspired */
:root{--ot:#27a102;--ot-d:#1e7d01;--ot-l:#3fd11a;--ink:#1d1d1f;--ot-font:"Google Sans","Product Sans",Outfit,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--bs-body-font-family:var(--ot-font);--bs-body-color:#333;--bs-link-color-rgb:39,161,2;--bs-link-hover-color-rgb:30,125,1}
[ng-cloak]{display:none!important}
body{line-height:1.6;overflow-x:hidden}
h1,h2,h3,h4,.logo,.btn{font-family:var(--ot-font)}
h2{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);font-weight:700}
img{max-width:100%;height:auto}
img.fit{width:100%;height:100%;object-fit:cover}
.alt-bg{background:#f5f5f7}.sub{color:#6e6e73}
.btn{--bs-btn-bg:var(--ot);--bs-btn-color:#fff;--bs-btn-border-color:var(--ot);--bs-btn-hover-bg:var(--ot-d);--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:var(--ot-d);--bs-btn-active-bg:var(--ot-d);--bs-btn-active-color:#fff;--bs-btn-active-border-color:var(--ot-d);--bs-btn-padding-x:1.5rem;--bs-btn-padding-y:.7rem;--bs-btn-font-weight:600;border-radius:50rem;text-transform:uppercase;letter-spacing:.04em;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-width:2px}
.btn-sm{--bs-btn-padding-x:1rem;--bs-btn-padding-y:.4rem;min-height:36px}
.btn.outline{--bs-btn-bg:transparent;--bs-btn-color:var(--ot)}
.btn.ghost{--bs-btn-bg:transparent;--bs-btn-color:#fff;--bs-btn-border-color:#fff;--bs-btn-hover-bg:#fff;--bs-btn-hover-color:var(--ot);--bs-btn-hover-border-color:#fff}
.btn.light{--bs-btn-bg:#fff;--bs-btn-color:var(--ot);--bs-btn-border-color:#fff;--bs-btn-hover-bg:var(--ink);--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:var(--ink)}
.ot-nav{background:rgba(255,255,255,.85);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
.logo{font-size:1.6rem;font-weight:800;color:var(--ink)!important;line-height:1.1;text-decoration:none}.logo span{color:var(--ot)}.tagline{font-size:.72rem;font-weight:400;color:#6e6e73}
.ot-nav .nav-link{color:var(--ink);font-weight:500;min-height:44px;display:flex;align-items:center}.ot-nav .nav-link:hover,.ot-nav .nav-link.active{color:var(--ot)}
@media(max-width:991.98px){.ot-nav .navbar-nav{padding:.5rem 0 1rem}.ot-nav .nav-link{border-bottom:1px solid rgba(0,0,0,.06);font-size:1.1rem}.ot-nav .btn{width:100%;margin-top:.75rem}}
.hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 80% 30%,#1f3d16 0,#262626 45%,#141414 100%);padding:clamp(3rem,6vw,6rem) 0}
.display-title{font-size:clamp(2.8rem,2rem + 4vw,4.5rem);font-weight:800;line-height:1;margin:0 0 .5rem}.display-title span{color:var(--ot)}
.welcome{margin:0;font-size:1.25rem;opacity:.85}.slogan{font-size:clamp(1.2rem,1rem + 1vw,1.6rem);font-weight:700;color:var(--ot-l);font-family:var(--ot-font)}
.hero .lead{max-width:36rem;opacity:.92}
.pill{display:inline-block;background:rgba(39,161,2,.2);color:#7ef05a;border:1px solid rgba(63,209,26,.4);padding:6px 14px;border-radius:50rem;font-size:.8rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem}
.stats b{display:block;font-size:1.4rem;color:var(--ot-l);font-family:var(--ot-font)}.stats small{opacity:.7;text-transform:uppercase;letter-spacing:1px;font-size:.75rem}
.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;pointer-events:none}.b1{width:400px;height:400px;background:var(--ot);top:-120px;right:-80px}.b2{width:300px;height:300px;background:var(--ot-l);bottom:-120px;left:-100px;opacity:.2}
.hero-photo{position:relative;max-width:620px;margin-inline:auto!important}
.badge-verified{position:absolute;left:16px;bottom:16px;background:#fff;color:var(--ink);border-radius:14px;padding:10px 14px;box-shadow:0 14px 30px rgba(0,0,0,.25);display:flex;gap:10px;align-items:center;font-weight:700}
.card{border:1px solid rgba(0,0,0,.08);border-radius:1.1rem;overflow:hidden}
.svc-card{border-top:4px solid var(--ot);transition:transform .25s,box-shadow .25s}.svc-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.1)}.svc-card h3{color:var(--ot)}
.post-card{color:inherit}.post-card:hover{box-shadow:0 18px 40px rgba(0,0,0,.1)}.post-card small{color:var(--ot);font-weight:700;text-transform:uppercase;letter-spacing:1px}
.ticks{list-style:none;padding:0}.ticks li{padding-left:1.8rem;position:relative;margin-bottom:.5rem}.ticks li:before{content:"\2713";position:absolute;left:0;color:var(--ot);font-weight:800}
.cta-band{background:linear-gradient(135deg,var(--ot),#1c7a01);color:#fff}.cta-band a:not(.btn){color:#fff;font-weight:700}
.form-control,.form-select{font-size:16px;min-height:48px;border-radius:.75rem}.form-control:focus,.form-select:focus{border-color:var(--ot);box-shadow:0 0 0 .25rem rgba(39,161,2,.2)}
label{font-weight:600;margin-bottom:.35rem}
.ot-footer{background:#262626;color:#d2d2d7;padding:3.5rem 0 1.5rem}.ot-footer a{color:#fff;text-decoration:none;display:inline-block;padding:.2rem 0}.ot-footer .logo{color:#fff!important}.copy{text-align:center;font-size:.85rem;margin:2rem 0 0;opacity:.7}
.ck{position:fixed;bottom:16px;left:16px;right:16px;max-width:560px;background:#333;color:#fff;padding:14px 18px;border-radius:14px;z-index:1080}.ck a{color:#7ef05a}
/* legacy classes on inner pages */
.wrap{width:100%;max-width:1140px;margin-inline:auto;padding-inline:16px}
section:not([class*="py-"]):not(.hero){padding:clamp(2.5rem,5vw,4.5rem) 0}.ctr{text-align:center}.narrow{max-width:560px;margin-inline:auto}
.grid3,.grid4,.ba{display:grid;gap:1.5rem;grid-template-columns:1fr}
@media(min-width:768px){.grid3,.grid4,.ba{grid-template-columns:repeat(2,1fr)}}@media(min-width:992px){.grid3,.ba{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}}
.card:not(.svc-card):not(.post-card){padding:1.6rem;border-top:4px solid var(--ot)}.card h3{color:var(--ot);font-size:1.25rem}.ba .before{border-top-color:#999!important}
.split{display:grid;gap:2.5rem;align-items:center}@media(min-width:992px){.split{grid-template-columns:1fr 1fr}}
.split>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:1.1rem}
.f{margin-bottom:1.5rem}.msg{padding:12px 16px;border-radius:12px;margin-bottom:16px}.ok{background:#dcfce7}.err{background:#fee2e2}
.page-head{position:relative;overflow:hidden;background:linear-gradient(135deg,#262626,#141414);color:#fff;padding:clamp(2.5rem,5vw,4rem) 0}.page-head h1{margin:0;font-size:clamp(2rem,1.4rem + 2.5vw,2.8rem);font-weight:800}
.article{max-width:780px;margin:auto}.article img.cover{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:1rem;margin:10px 0 24px}
.tip{background:#f1f9ec;border-left:5px solid var(--ot);padding:16px 20px;border-radius:10px;margin:24px 0}
.legal{max-width:860px;margin:auto}.upd{color:#6e6e73}
@media(max-width:575.98px){.w-sm-auto{width:100%!important}}
/* animated backgrounds */
.hero,.page-head,.cta-band,.aware-band{background-size:200% 200%!important;animation:otShift 18s ease-in-out infinite}
.hero>*,.page-head>*,.aware-band>*{position:relative;z-index:1}
.hero::before,.page-head::before,.aware-band::before{content:"";position:absolute;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(closest-side,rgba(63,209,26,.28),transparent) 10% 20%/45% 45% no-repeat,radial-gradient(closest-side,rgba(39,161,2,.22),transparent) 85% 70%/50% 50% no-repeat,radial-gradient(closest-side,rgba(255,255,255,.07),transparent) 60% 10%/35% 35% no-repeat;animation:otFloat 22s ease-in-out infinite alternate}
.hero::after,.page-head::after,.aware-band::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);animation:otGrid 30s linear infinite}
.cta-band{background:linear-gradient(120deg,#27a102,#1c7a01,#3fd11a,#1e7d01)!important}
.aware-band{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#141414,#2a1414,#1f3d16,#141414)}
@keyframes otShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes otFloat{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(4%,-3%,0) scale(1.08)}100%{transform:translate3d(-3%,3%,0) scale(1)}}
@keyframes otGrid{to{background-position:48px 48px,48px 48px}}
.aw-card{border-top:4px solid var(--ot)}.aw-red{border-top-color:#d93025!important}.aw-red h2{color:#d93025!important}
.hotlines{background:#fff4f2;border:1px solid #f5c6c0;border-radius:1.25rem;padding:2rem 1rem}.hotlines a{display:block;text-decoration:none;color:var(--ink);padding:.75rem;border-radius:1rem;background:#fff;min-height:44px}.hotlines b{display:block;font-size:1.5rem;color:#d93025}.hotlines small{color:#555}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.post-card .card-body{padding:1.5rem 1.5rem 1.75rem}.post-card .card-body p{color:#555;line-height:1.6}
/* v8: tighter hero top, more white space */
.hero{padding:clamp(1.75rem,3.5vw,3.25rem) 0 clamp(3.5rem,7vw,6.5rem)!important}
.hero .pill{margin-bottom:.75rem}.hero .row{--bs-gutter-y:2.5rem}
@media(max-width:991.98px){.hero{padding-top:1.5rem!important}.hero .welcome{font-size:1.05rem}}
body{line-height:1.7}p{margin-bottom:1.15rem}
section.py-5,.py-section{padding-top:clamp(4rem,8vw,7rem)!important;padding-bottom:clamp(4rem,8vw,7rem)!important}
section:not([class*="py-"]):not(.hero){padding:clamp(3.5rem,7vw,6rem) 0}
h2{margin-bottom:1rem;letter-spacing:-.01em}.sub{max-width:40rem;margin:0 auto 2.5rem;color:#6e6e73}
.row.g-4{--bs-gutter-x:2rem;--bs-gutter-y:2rem}
.card-body{padding:1.75rem!important}.svc-card .card-body{padding:2rem!important}
.card:not(.svc-card):not(.post-card){padding:2rem}
.page-head{padding:clamp(3rem,6vw,5rem) 0}.page-head p{margin:.75rem 0 0;opacity:.85;max-width:40rem}
.article-wrap{padding:clamp(3rem,6vw,5rem) 1rem}.article{max-width:720px;font-size:1.075rem}.article h2{margin-top:2.75rem}.article li{margin-bottom:.6rem}.article ul,.article ol{margin-bottom:1.5rem}
.kicker{color:var(--ot);font-weight:700;text-transform:uppercase;letter-spacing:1px}
.tip{margin:2.5rem 0;padding:1.5rem 1.75rem;border-radius:1rem}
.chip{border:1px solid rgba(0,0,0,.15);background:#fff;border-radius:50rem;padding:.45rem 1rem;min-height:44px;font-weight:500;text-transform:capitalize;color:var(--ink)}.chip.on,.chip:hover{background:var(--ot);border-color:var(--ot);color:#fff}
.pill-dark{background:rgba(39,161,2,.1);color:var(--ot-d);border-color:rgba(39,161,2,.3)}
.phish-check{padding:clamp(1.75rem,4vw,3rem)!important;border-top:4px solid #d93025!important;background:#fffafa}
.phish-check .form-check{min-height:44px;display:flex;align-items:center;gap:.6rem;padding-left:0;margin:0}.phish-check .form-check-input{margin:0;flex:none;width:1.3rem;height:1.3rem}
.form-check-input:checked{background-color:var(--ot);border-color:var(--ot)}
.msg{padding:1rem 1.25rem;border-radius:.75rem;margin-bottom:1.5rem}.msg.ok{background:#e9f7e4;color:#1e5d0a}.msg.err{background:#fdecea;color:#8a1c12}
.ot-footer{padding:4.5rem 0 2rem}
/* v9: fix hero top gap - decorative blobs were pushed into the layout */
.hero>.blob,.page-head>.blob,.aware-band>.blob,.cta-band>.blob{position:absolute!important;z-index:0}
.hero{padding:clamp(1.5rem,3vw,2.75rem) 0 clamp(3rem,6vw,5.5rem)!important}
.hero .row{margin-top:0}
@media(max-width:991.98px){.hero{padding-top:1.25rem!important}}
