/* base footer rules (shared by every page) */
.social-card.ig .social-ico,.fsoc.ig:hover{background:radial-gradient(circle at 30% 107%,#fdf497 0,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
.foot-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding:16px 0 10px}
.foot-brand{font-weight:800;color:var(--ink);letter-spacing:-.02em;font-size:14px}
.foot-aka{font-weight:500;color:var(--muted);letter-spacing:0}
.foot-social{display:flex;gap:8px}
.fsoc{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:#fff;color:var(--ink);border:1px solid var(--line);transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease}
.fsoc svg{width:18px;height:18px}
.fsoc:hover{color:#fff;transform:translateY(-2px);border-color:transparent}
.fsoc.fb:hover{background:#1877f2}
.fsoc.li:hover{background:#0a66c2}
@media (prefers-reduced-motion:reduce){.social-card,.social-go,.fsoc{transition:none}.social-card:hover,.fsoc:hover{transform:none}}
.foot-nav{display:flex;flex-wrap:wrap;gap:6px 16px;padding:0 0 10px}
.foot-nav a{color:var(--ink);font-weight:600}
.foot-nav a:hover,.foot-info a:hover{color:var(--blue)}
.foot-info a{text-decoration:underline;text-underline-offset:2px}
.foot-follow{display:flex;align-items:center;gap:8px}
.foot-follow .lbl{font-weight:700;color:var(--ink);font-size:13px}
.secure{display:inline-flex;align-items:center;gap:5px;color:var(--muted);white-space:nowrap}
.secure svg{width:12px;height:12px;color:var(--teal)}
/* T&J living background v2: aurora ribbons + light orbs + canvas wave/sparkle field. Brand colors only:
   blue #1f4fd8, teal #0c8f86, ink #142033, sand #f6f1e7 */
body{background:linear-gradient(160deg,#e7eefc 0%,#f6f1e7 45%,#e3f2f0 100%) fixed!important;background-image:none}
body::before{display:none!important}
.tj-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict;background:linear-gradient(160deg,#e7eefc 0%,#f6f1e7 45%,#e3f2f0 100%)}
.tj-bg i{position:absolute;display:block;border-radius:50%;will-change:transform}
.tj-bg .rb{width:120vmax;height:34vmax;border-radius:40%;opacity:.5}
.tj-bg .rb1{left:-30vmax;top:-6vmax;background:radial-gradient(50% 50% at 35% 50%,#1f4fd8aa,transparent 70%),radial-gradient(45% 50% at 68% 50%,#0c8f86aa,transparent 70%);transform:rotate(-12deg)}
.tj-bg .rb2{right:-40vmax;top:38vh;background:radial-gradient(50% 50% at 38% 50%,#0c8f86aa,transparent 70%),radial-gradient(45% 50% at 66% 50%,#1f4fd8aa,transparent 70%);opacity:.4;transform:rotate(10deg)}
.tj-bg .rb3{left:-20vmax;bottom:-14vmax;background:radial-gradient(55% 50% at 55% 50%,#1f4fd899,transparent 70%);opacity:.34;transform:rotate(-4deg)}
.tj-bg .orb{width:26vmax;height:26vmax;opacity:.4;background:radial-gradient(circle,#1f4fd8 0,transparent 68%)}
.tj-bg .o1{left:8vw;top:55vh}.tj-bg .o2{right:6vw;top:6vh;background:radial-gradient(circle,#0c8f86 0,transparent 68%)}.tj-bg .o3{left:45vw;top:78vh;width:18vmax;height:18vmax;background:radial-gradient(circle,#0c8f86 0,transparent 68%);opacity:.35}
.tj-bg canvas{position:absolute;inset:0;width:100%;height:100%}
.tj-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 0%,transparent 40%,rgba(20,32,51,.08))}
/* readable scrims */
main.wrap{position:relative;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.9);border-radius:28px;padding:6px clamp(14px,3vw,34px) 26px;margin-top:12px;margin-bottom:24px;box-shadow:0 30px 70px -40px rgba(20,32,51,.45)}
header,.nav,.topbar-in{position:relative;z-index:2}
footer{position:relative;background:rgba(255,255,255,.86);}
/* hero depth */
.hero{position:relative;isolation:isolate}
.hero::before{transform:translate3d(0,var(--py,0px),0)}
.hero::after{content:"";position:absolute;z-index:-1;right:-6%;top:-10%;width:46%;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 120deg,#1f4fd833,#0c8f8633,#f6f1e7,#1f4fd833);transform:translate3d(0,calc(var(--py,0px) * -1.6),0) rotate(var(--rot,0deg));pointer-events:none}
/* shimmering dividers */
main h2::after{background:linear-gradient(90deg,#1f4fd8,#0c8f86,#f6f1e7,#1f4fd8);background-size:300% 100%}
@media(prefers-reduced-motion:no-preference){
 .tj-bg .rb1{animation:tjr1 26s ease-in-out infinite alternate}.tj-bg .rb2{animation:tjr2 32s ease-in-out infinite alternate}.tj-bg .rb3{animation:tjr3 38s ease-in-out infinite alternate}
 .tj-bg .o1{animation:tjo 22s ease-in-out infinite alternate}.tj-bg .o2{animation:tjo 28s ease-in-out -6s infinite alternate-reverse}.tj-bg .o3{animation:tjo 24s ease-in-out -3s infinite alternate}
 main h2::after{animation:tjsh 6s linear infinite}
 .hero::after{animation:tjspin 40s linear infinite}
 @keyframes tjr1{to{transform:translate3d(18vmax,6vmax,0) rotate(-4deg) scaleY(1.2)}}
 @keyframes tjr2{to{transform:translate3d(-22vmax,-8vmax,0) rotate(16deg) scaleY(.85)}}
 @keyframes tjr3{to{transform:translate3d(16vmax,-10vmax,0) rotate(-10deg)}}
 @keyframes tjo{to{transform:translate3d(10vmax,-8vmax,0) scale(1.15)}}
 @keyframes tjsh{to{background-position:-300% 0}}
 @keyframes tjspin{to{rotate:360deg}}
}
@media(max-width:700px){.tj-bg .o3{display:none}main.wrap{border-radius:20px;padding-inline:12px;width:calc(100% - 16px)}}
.hero::before{display:none}
main.wrap{overflow:clip}
.hero::after{display:none!important}
.tj-bg .orb,.tj-bg .rb{translate:0 var(--bgpy,0px)}
/* rounded glass footer + consistency pass */
footer.wrap,footer{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.78));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9);border-radius:28px;box-shadow:0 30px 70px -40px rgba(20,32,51,.45),inset 0 1px 0 #fff;padding:22px clamp(16px,3vw,34px) 22px;margin-top:0;margin-bottom:calc(24px + env(safe-area-inset-bottom))}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#1f4fd8,#0c8f86);pointer-events:none}
footer .foot-top{align-items:center;gap:10px 14px}
footer .foot-nav{gap:8px;padding:6px 0 12px}
footer .foot-nav a{display:inline-flex;align-items:center;padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid var(--line,#e3e8f2);color:var(--ink,#142033);font-weight:600;font-size:13px;line-height:1.2;text-decoration:none;transition:border-color .18s ease,color .18s ease,background .18s ease}
footer .foot-nav a[aria-current=page]{background:#1f4fd8;border-color:#1f4fd8;color:#fff}
@media(hover:hover){footer .foot-nav a:hover{border-color:#1f4fd8;color:#1f4fd8}footer .foot-nav a[aria-current=page]:hover{color:#fff}}
footer .foot-info{border-top:1px solid var(--line,#e3e8f2);padding-top:12px;line-height:1.7}
header{width:min(980px,calc(100% - 28px));margin:10px auto 0;border:1px solid rgba(255,255,255,.9);border-radius:22px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 40px -30px rgba(20,32,51,.45)}header>.wrap{width:auto;padding-inline:clamp(10px,2vw,20px)}@media(max-width:700px){header{width:calc(100% - 16px);margin-top:8px;border-radius:18px}}
#rep-bar{border-radius:0 0 16px 16px;margin:0 auto;max-width:min(1180px,calc(100% - 16px))}
main table{border-collapse:separate;border-spacing:0;border-radius:16px;overflow:hidden}
main input:not([type=checkbox]):not([type=radio]):not([type=range]),main select,main textarea{border-radius:12px}

@media(max-width:700px){footer.wrap,footer{border-radius:20px;width:calc(100% - 16px);padding:18px 14px;margin-bottom:calc(80px + env(safe-area-inset-bottom))}footer .foot-nav a{padding:7px 11px}}
footer>.foot-top{border-top:0!important;margin-top:0}
/* header fit 721-1299: menu on its own row so Get started + Call never clip */
@media (min-width:721px) and (max-width:1299px){header .nav{flex-wrap:wrap!important;row-gap:4px;padding-bottom:6px}header .actions{margin-left:auto!important;flex-wrap:nowrap!important}header .nav .menu{order:3!important;width:100%!important;flex-basis:100%!important;justify-content:center!important;flex-wrap:wrap!important;overflow:visible;margin:0;gap:2px}}
header .actions{flex-shrink:0}
@media (min-width:1300px){header{width:min(1240px,calc(100% - 40px))}}
@media (min-width:721px){header .nav{min-width:0}header .brand{flex:0 0 auto}}

/* call-clear + footer consistency v1023b */
/* Keep Get started + Call fully inside the rounded header pill (clear the 22px corner) */
header{overflow:visible!important}
header>.wrap{padding-inline:clamp(22px,3.2vw,36px)!important;padding-block:4px 6px}
header .actions{margin-right:10px;gap:8px;flex-wrap:nowrap!important}
header .actions .btn{flex:0 0 auto}
@media (max-width:720px){
  header>.wrap{padding-inline:14px!important}
  header .nav .actions{margin-right:4px}
}
/* Soft-round the full-bleed topbar ends so it doesn't fight the rounded site language */
.topbar{border-radius:0 0 16px 16px;overflow:hidden}
@media (max-width:700px){.topbar{border-radius:0 0 12px 12px}}
/* Footer width matches main wrap; keep glass card look on every page */
footer.wrap,footer{width:min(980px,calc(100% - 28px));margin-left:auto;margin-right:auto}
@media (min-width:1300px){footer.wrap,footer{width:min(1240px,calc(100% - 40px))}}
@media (max-width:700px){footer.wrap,footer{width:calc(100% - 16px)}}
