/* Thesis Tutors — final light visual refresh */
:root{--tt-ink:#112a43;--tt-muted:#5d7185;--tt-soft:#f5f9fd;--tt-soft2:#eaf3fa;--tt-gold:#d8aa3f;--tt-teal:#26a7a8;--tt-blue:#2f72b7}
html,body{background:#fff!important;color:var(--tt-ink)!important}
body{background:linear-gradient(180deg,#ffffff 0,#f9fcff 55%,#f2f8fc 100%)!important}
main,.section,.section:not(.band),.page-hero,.tt-hero,.hero{color:var(--tt-ink)!important}
main h1,main h2,main h3,main h4,main h5,main h6{color:var(--tt-ink)!important}
main p,main li,.lead,.muted,.section-head p{color:var(--tt-muted)!important}
.site-header{background:rgba(255,255,255,.98)!important}
.topbar{background:#edf5fb!important;color:#28445f!important}
.footer{background:#eef5fa!important;color:var(--tt-ink)!important;border-top:1px solid rgba(17,42,67,.10)!important}
.footer h1,.footer h2,.footer h3,.footer h4,.footer h5,.footer h6,.footer .brand,.footer .brand span{color:var(--tt-ink)!important}
.footer p,.footer small,.footer .footer-bottom{color:#5e7184!important}
.footer a{color:#214f75!important}
.footer a:hover{color:#102f4c!important}
.footer-grid>div{min-width:0}
.footer-grid h4{font-weight:800!important;margin-bottom:14px!important}
.tt-product-card,.tt-hero-visual,.portal-visual-shell{background:#fff!important;border:1px solid rgba(24,70,105,.12)!important;box-shadow:0 20px 55px rgba(24,70,105,.11)!important}
/* animated 3D research visual */
.portal-visual-shell{position:relative;overflow:hidden;border-radius:30px;isolation:isolate}
.portal-visual-shell:before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle,rgba(73,180,203,.18),transparent 42%);animation:ttGlow 8s ease-in-out infinite alternate;z-index:0}
.portal-visual-shell img{display:block;width:100%;height:auto;position:relative;z-index:1;animation:ttFloat 7s ease-in-out infinite;transform-origin:center}
.portal-float-chip{position:absolute;z-index:2;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.92);border:1px solid rgba(31,93,145,.13);box-shadow:0 12px 30px rgba(23,57,86,.14);font-size:.82rem;font-weight:800;color:#17344f;backdrop-filter:blur(8px);animation:ttChip 5s ease-in-out infinite}
.portal-float-chip.one{top:7%;right:5%}.portal-float-chip.two{bottom:8%;left:5%;animation-delay:-2.2s}.portal-float-chip.three{bottom:18%;right:6%;animation-delay:-3.4s}
@keyframes ttFloat{0%,100%{transform:translate3d(0,0,0) scale(1.01)}50%{transform:translate3d(0,-10px,0) scale(1.018)}}
@keyframes ttChip{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes ttGlow{from{transform:translate(-4%,-2%) scale(.95)}to{transform:translate(5%,4%) scale(1.08)}}
@media(prefers-reduced-motion:reduce){.portal-visual-shell img,.portal-float-chip,.portal-visual-shell:before{animation:none!important}}
.portal-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px}
.portal-benefit{background:#fff;border:1px solid rgba(24,70,105,.12);border-radius:18px;padding:20px;box-shadow:0 12px 30px rgba(24,70,105,.06)}
.portal-benefit strong{display:block;color:#132f48;margin-bottom:6px}.portal-benefit span{color:#63778a;font-size:.9rem;line-height:1.55}
.portal-free-banner{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center;background:linear-gradient(135deg,#eaf8f7,#f8fbff);border:1px solid rgba(38,167,168,.18);border-radius:26px;padding:30px;box-shadow:0 16px 40px rgba(24,70,105,.07)}
.portal-free-banner h2{margin:.25rem 0 .6rem}.portal-free-pills{display:flex;flex-wrap:wrap;gap:8px}.portal-free-pills span{background:#fff;border:1px solid rgba(24,70,105,.10);border-radius:999px;padding:8px 11px;color:#38546d;font-size:.83rem;font-weight:700}
.portal-paths{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.portal-path{background:#fff;border:1px solid rgba(24,70,105,.12);border-radius:18px;padding:22px;text-decoration:none;box-shadow:0 10px 28px rgba(24,70,105,.06);transition:.2s ease}.portal-path:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(24,70,105,.10)}
.portal-path h3{margin:.2rem 0 .5rem}.portal-path p{margin:0 0 12px}
.home-3d-visual{position:relative;overflow:hidden;border-radius:32px;background:#fff;border:1px solid rgba(24,70,105,.12);box-shadow:0 22px 60px rgba(24,70,105,.13);min-height:430px}
.home-3d-visual img{width:100%;height:100%;object-fit:cover;display:block;animation:ttFloat 8s ease-in-out infinite}
.home-3d-badge{position:absolute;left:22px;bottom:22px;right:22px;background:rgba(255,255,255,.92);border:1px solid rgba(24,70,105,.12);backdrop-filter:blur(12px);border-radius:18px;padding:17px 20px;color:#17344f;box-shadow:0 12px 30px rgba(23,57,86,.12)}
.home-3d-badge b{display:block;color:#ad7715;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}.home-3d-badge strong{display:block;font-size:1.1rem}.home-3d-badge span{display:block;color:#5e7184;margin-top:3px;font-size:.9rem}
@media(max-width:900px){.portal-benefits,.portal-paths{grid-template-columns:1fr 1fr}.portal-free-banner{grid-template-columns:1fr}.home-3d-visual{min-height:330px}}
@media(max-width:600px){.portal-benefits,.portal-paths{grid-template-columns:1fr}.portal-float-chip{display:none}.home-3d-visual{min-height:260px}}
