:root{--red:#ef233c;--blue:#155eef;--green:#16a34a;--teal:#0f8b8d;--gold:#f4b942;--ink:#10233f;--muted:#5f6b7a;--cream:#fff8e7;--white:#fff;--line:#e8e5dc;--shadow:0 18px 50px rgba(16,35,63,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:26px;padding:12px 4.5%;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #eee;box-shadow:0 5px 22px rgba(0,0,0,.05)}.brand{display:flex;align-items:center;gap:9px;min-width:190px;font-family:Outfit;font-size:18px;line-height:.83;font-weight:900;color:#111}.brand img{width:48px;height:58px;object-fit:cover;object-position:center;border-radius:6px}.brand b{color:var(--red)}.brand small{display:block;font-size:7px;letter-spacing:2px;margin-top:7px;color:#555}.nav nav{display:flex;gap:18px;align-items:center;justify-content:center;flex:1}.nav nav a{font-size:13px;font-weight:800;color:#334155}.nav nav a:hover{color:var(--red)}.nav-cta{background:var(--red);color:#fff;padding:11px 16px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.menu{display:none;border:0;background:none;font-size:24px}.progress{height:3px;background:linear-gradient(90deg,var(--red),var(--gold),var(--green),var(--blue));position:fixed;top:0;left:0;width:100%;z-index:100}.hero{min-height:700px;padding:80px 5% 0;background:linear-gradient(135deg,#fff6ec 0%,#fff 48%,#edf7ff 100%);display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:50px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:rgba(239,35,60,.08);right:-180px;top:-180px}.hero-content{position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:900;color:var(--red);text-transform:uppercase;margin:0 0 14px}.eyebrow span{display:inline-block;width:28px;height:4px;background:var(--gold);vertical-align:middle;margin-right:8px}.hero h1,h2,h3{font-family:Outfit,sans-serif}.hero h1{font-size:clamp(50px,6.4vw,88px);line-height:.94;margin:0 0 24px;letter-spacing:-3px}.hero h1 em,h2 em{font-style:normal;color:var(--red)}.hero p{font-size:18px;max-width:650px;color:#485568}.hero-actions{display:flex;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:13px 20px;font-weight:900;font-size:13px;border:2px solid transparent;transition:.25s}.btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.12)}.primary{background:var(--red);color:#fff}.glass{background:#fff;border-color:#dfe5ed}.dark{background:var(--ink);color:#fff}.light{background:#fff;color:var(--red)}.outline{border-color:#fff;color:#fff}.hero-image{position:relative;z-index:2}.hero-image img{width:100%;height:540px;object-fit:cover;border-radius:30px 30px 30px 5px;box-shadow:var(--shadow)}.hero-tag{position:absolute;right:-15px;bottom:25px;background:var(--gold);padding:15px 22px;border-radius:14px 0 14px 14px;color:#14213d}.hero-tag b,.hero-tag span{display:block}.hero-tag b{font-family:Outfit;font-size:20px}.hero-tag span{font-size:10px;letter-spacing:2px;font-weight:800}.hero-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);margin:20px 0 0;border-top:1px solid #ddd;padding:22px 0 30px}.hero-stats div{padding:0 22px;border-right:1px solid #ddd}.hero-stats div:last-child{border:0}.hero-stats b{display:block;font:800 34px Outfit;color:var(--red)}.hero-stats span{font-size:12px;font-weight:700;color:#657185}.ticker{background:var(--ink);color:#fff;overflow:hidden;white-space:nowrap;font:800 15px Outfit;letter-spacing:3px;padding:14px}.ticker div{animation:marquee 25s linear infinite}@keyframes marquee{to{transform:translateX(-40%)}}.section{padding:100px 6%}.label{font-size:11px;font-weight:900;letter-spacing:2px;color:#9b6d00;margin-bottom:30px}.intro,.diff-head,.program-head,.method-head,.school-head,.fac-head,.team-head,.ig-head{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}.intro h2,.diff-head h2,.program-head h2,.method-head h2,.school-head h2,.team-head h2,.ig-head h2{font-size:clamp(38px,5vw,68px);line-height:.98;margin:0;letter-spacing:-2px}.intro>p,.diff-head>p,.program-head>p,.method-head>p,.school-head>p,.fac-head>p,.ig-note{font-size:16px;color:var(--muted)}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:60px}.story p{font-size:17px;color:#4f5b6d}.quote{margin-top:35px;padding:25px;border-left:5px solid var(--red);background:#fff5f2;font:700 21px Outfit}.audience h3{font:800 28px Outfit;margin-top:0}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.audience-grid article{padding:25px;border-radius:20px;min-height:145px;box-shadow:0 10px 28px rgba(0,0,0,.08);display:flex;flex-direction:column;justify-content:space-between}.audience-grid .c1{background:#ffe0e5}.c2{background:#dceaff}.c3{background:#dcf7e5}.c4{background:#fff0c8}.audience-grid b{font-size:12px}.audience-grid strong{font:800 23px Outfit}.audience-grid span{font-size:12px;color:#4f5b6d}.vision{display:grid;grid-template-columns:1fr 1fr;min-height:550px;background:#278f8d;color:#fff}.vision-copy{padding:90px 9%;display:flex;flex-direction:column;justify-content:center}.vision-copy .eyebrow{color:#ffd34f}.vision-copy h2{font-size:clamp(42px,5vw,70px);line-height:.96;margin:0 0 20px}.vision-copy h2 em{color:#ffd34f}.vision-copy p{font-size:17px}.mission{border-top:1px solid rgba(255,255,255,.4);margin-top:30px;padding-top:22px}.mission b{color:#ffd34f;font-size:12px;letter-spacing:2px}.mission p{margin-bottom:0}.vision-art{padding:35px;display:flex;align-items:center;justify-content:center}.vision-art img{width:100%;height:100%;max-height:480px;object-fit:contain;border-radius:26px}.difference{background:#f8fafc}.comparison{display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;margin:55px 0}.side{padding:35px;border-radius:24px;color:#fff;box-shadow:var(--shadow)}.side h3{font-size:27px;margin-top:0}.side p{padding:10px 0;margin:0;border-top:1px solid rgba(255,255,255,.22);font-weight:700}.conventional{background:#26364b}.tpv{background:linear-gradient(145deg,var(--red),#ff6b35)}.versus{font:900 18px Outfit;text-align:center;color:#888}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.values article{padding:30px;border-radius:20px;min-height:190px;color:#fff}.v1{background:#ef233c}.v2{background:#155eef}.v3{background:#16a34a}.v4{background:#d18b00}.values span{font-size:12px;font-weight:900}.values h3{font-size:24px;margin:24px 0 5px}.values p{margin:0;font-size:13px}.programs{background:#fffaf4}.program-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}.p-card{padding:32px;border-radius:25px;color:#fff;min-height:440px;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:.25s}.p-card:hover{transform:translateY(-7px) rotate(-.3deg)}.p-card.red{background:linear-gradient(145deg,#ef233c,#c91832)}.p-card.blue{background:linear-gradient(145deg,#155eef,#3f7dff)}.p-card.green{background:linear-gradient(145deg,#139447,#1fb66a)}.p-card>span{font-size:11px;font-weight:900;letter-spacing:2px}.p-card h3{font-size:34px;margin:30px 0 10px}.p-card p{font-size:14px}.p-card ul{padding-left:18px;font-size:13px;line-height:1.8}.p-card button{margin-top:auto;align-self:flex-start;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:11px 16px;font-weight:900;cursor:pointer}.program-banner{display:grid;grid-template-columns:1.45fr .55fr;gap:30px;align-items:center;margin-top:35px;padding:25px;background:#11233f;border-radius:28px;color:#fff}.program-banner img{width:100%;height:310px;object-fit:contain;background:#fff;border-radius:20px}.program-banner h3{font-size:36px;margin:10px 0}.program-banner p{color:#d7dfeb}.ver{display:grid;grid-template-columns:1.1fr .9fr;background:#fff3d7}.ver-visual{position:relative;padding:55px 0 55px 6%;display:flex;align-items:center}.ver-visual img{width:100%;max-height:730px;object-fit:contain;border-radius:28px;box-shadow:var(--shadow);background:#fff}.ver-badge{display:none}.ver-copy{padding:80px 9%;display:flex;flex-direction:column;justify-content:center}.ver-copy h2{font-size:88px;line-height:.8;margin:0;color:#e32c25}.ver-copy h2 small{font-size:35px;color:#258b38}.ver-copy h3{font-size:18px;color:#258b38}.ver-copy .lead{font-size:19px;font-weight:700}.ver-benefits{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.ver-benefits span{background:#fff;border:1px solid #e8d9ae;padding:8px 12px;border-radius:999px;font-size:11px;font-weight:900}.ver-copy blockquote{margin:20px 0;padding:20px;border-left:5px solid #e32c25;font:800 21px Outfit;color:#233}.school-learning{background:#fff}.school-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;margin-top:50px}.school-copy h3{font:800 36px Outfit}.school-copy p{color:#536072}.outcomes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0}.outcomes span{padding:16px;border-radius:14px;background:#e9f5ff;font-weight:900;font-size:13px}.school-features{padding:20px;background:#f7f7f2;border-radius:18px}.school-features p{margin:8px 0;font-weight:700}.school-grid>img{width:100%;height:520px;object-fit:cover;border-radius:25px;box-shadow:var(--shadow)}.residential{background:#f5f8fb;padding:90px 6%}.day-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.day{background:#fff;border-radius:25px;overflow:hidden;box-shadow:var(--shadow)}.day>img{width:100%;height:290px;object-fit:cover}.day>div{padding:28px}.day>div>span{font-size:11px;letter-spacing:2px;font-weight:900;color:var(--red)}.day h3{font-size:32px;margin:8px 0}.day h4{font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.activity-list{display:flex;flex-wrap:wrap;gap:7px}.activity-list b{padding:7px 10px;background:#eef3f8;border-radius:999px;font-size:11px}.small{font-size:12px;color:#637084}.method{background:#fff8e9}.learning-cycle{position:relative;min-height:650px;margin:55px auto 30px;max-width:950px}.cycle-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:210px;height:210px;border-radius:50%;background:linear-gradient(145deg,var(--red),#ff8a2b);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 20px 60px rgba(239,35,60,.25);z-index:2}.cycle-center b{font-size:12px;letter-spacing:2px}.cycle-center strong{font:900 25px Outfit;line-height:1}.cycle-center small{font-size:9px;margin-top:10px;padding:0 12px}.learning-cycle:before{content:"";position:absolute;width:430px;height:430px;border:7px dashed #ef233c;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.25}.learning-cycle article{position:absolute;width:230px;min-height:145px;padding:22px;border-radius:20px;box-shadow:var(--shadow);color:#fff}.learning-cycle article b{font-size:11px}.learning-cycle article strong{display:block;font:800 20px Outfit;margin:8px 0}.learning-cycle article p{font-size:12px;margin:0}.cy1{left:0;top:80px;background:#ef233c}.cy2{right:0;top:80px;background:#155eef}.cy3{right:0;bottom:55px;background:#16a34a}.cy4{left:0;bottom:55px;background:#d18b00}.implementation{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:stretch}.implementation h3{font-size:38px;margin:0}.impl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.impl article{padding:24px;border-radius:18px;color:#fff;min-height:190px}.i1{background:#ef233c}.i2{background:#155eef}.i3{background:#16a34a}.impl b{font:800 20px Outfit}.impl p{font-size:12px}.tna{padding:90px 6%;display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;background:#fff4df}.tna-copy h2{font:800 clamp(40px,5vw,65px) Outfit;line-height:.95;margin:0}.tna-copy>p:last-child{color:#596678}.tna-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.tna-steps article{padding:22px 16px;border-radius:18px;color:#fff;min-height:220px}.t1{background:#ef233c}.t2{background:#155eef}.t3{background:#16a34a}.t4{background:#d18b00}.t5{background:#7c3aed}.tna-steps b{font-size:11px}.tna-steps h3{font-size:22px;line-height:1.05;margin:35px 0 10px}.tna-steps p{font-size:11px}.facilitation{background:#edf5ff}.fac-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:45px}.fac{padding:35px;border-radius:24px}.fac h3{font-size:30px;margin-top:0}.fac p{padding:10px 0;margin:0;border-bottom:1px solid rgba(0,0,0,.08);font-weight:700}.yes{background:#dff7e8}.no{background:#ffe4e7}.team-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:50px}.person{display:grid;grid-template-columns:.8fr 1.2fr;gap:0;background:#fff;border:1px solid #e5e9ef;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.person-image{background:#eef2f6}.person-image img{width:100%;height:100%;min-height:400px;object-fit:cover}.person>div:last-child{padding:30px}.person>div:last-child>span{font-size:10px;letter-spacing:1.5px;color:var(--red);font-weight:900}.person h3{font-size:31px;margin:8px 0}.person p{font-size:13px;color:#5d6979}.person-stats{display:grid!important;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid #ddd}.person-stats b{font:900 24px Outfit}.person-stats small{display:block;font:800 8px DM Sans;letter-spacing:1px;color:#667}.infra{padding:100px 6%;background:#fff7ec}.infra-head{max-width:800px}.infra-head h2{font-size:clamp(42px,5vw,68px);line-height:.95;margin:0}.infra-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:260px 260px;gap:15px;margin-top:45px}.infra-grid img{width:100%;height:100%;object-fit:cover;border-radius:22px}.infra-grid img:first-child{grid-row:1/3}.instagram{background:#111d33;color:#fff}.ig-head{align-items:center}.ig-head h2{color:#fff}.ig-head h2 em{color:#ffd34f}.instagram .eyebrow{color:#ffd34f}.ig-note{color:#c7d0de;margin-top:25px}.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}.ig-card{position:relative;aspect-ratio:1/1.15;border-radius:18px;overflow:hidden;background:#273750}.ig-card img{width:100%;height:100%;object-fit:cover;transition:.3s}.ig-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.8))}.ig-card span{position:absolute;z-index:2;bottom:18px;left:18px;font-size:10px;font-weight:900;color:#fff;letter-spacing:1px}.ig-card:hover img{transform:scale(1.06)}.contact{background:var(--red);color:#fff;padding:100px 7%;display:grid;grid-template-columns:1fr 180px;gap:50px;position:relative;overflow:hidden}.contact:before{content:"";position:absolute;width:450px;height:450px;border-radius:50%;background:rgba(255,255,255,.08);right:-130px;top:-100px}.contact-content{position:relative;z-index:2}.contact h2{font-size:clamp(42px,5.4vw,72px);line-height:.95;max-width:950px;margin:0 0 20px}.contact h2 em{color:#ffd34f}.contact-content>p:not(.eyebrow){max-width:760px;font-size:17px;color:#ffe9e9}.contact-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.contact-info{display:grid;gap:6px;border-top:1px solid rgba(255,255,255,.35);padding-top:20px;font-size:12px}.contact-info a{font-weight:900}.contact-orb{align-self:center;justify-self:center;width:150px;height:150px;border:2px solid rgba(255,255,255,.6);border-radius:50%;display:grid;place-items:center;font:900 70px Outfit;transform:rotate(-20deg)}footer{padding:22px 5%;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px;color:#6b7280}footer .brand{transform:scale(.78);transform-origin:left center}.modal{position:fixed;inset:0;background:rgba(5,12,25,.7);display:none;align-items:center;justify-content:center;z-index:200;padding:20px}.modal.open{display:flex}.modal-box{max-width:650px;background:#fff;border-radius:25px;padding:38px;position:relative;box-shadow:0 30px 100px rgba(0,0,0,.3)}.modal-box>button{position:absolute;right:18px;top:14px;border:0;background:none;font-size:28px;cursor:pointer}.modal-box h2{font-size:42px;margin:0}.modal-box li{margin:7px 0}.top{position:fixed;right:20px;bottom:20px;border:0;border-radius:50%;width:45px;height:45px;background:var(--ink);color:#fff;font-size:20px;z-index:80;cursor:pointer}@media(max-width:1050px){.nav nav{gap:10px}.nav nav a{font-size:11px}.nav-cta{display:none}.hero{grid-template-columns:1fr}.hero-image{max-width:700px}.about-body,.vision,.school-grid,.implementation,.tna,.team-cards{grid-template-columns:1fr}.intro,.diff-head,.program-head,.method-head,.school-head,.fac-head,.team-head,.ig-head{grid-template-columns:1fr;gap:20px}.program-cards,.values,.day-grid{grid-template-columns:1fr 1fr}.tna-steps{grid-template-columns:repeat(3,1fr)}.person{grid-template-columns:1fr}.person-image img{height:300px;min-height:0}.ig-grid{grid-template-columns:1fr 1fr}.program-banner{grid-template-columns:1fr}.ver{grid-template-columns:1fr}.ver-visual{padding:35px 6% 0}.ver-copy{padding:50px 6%}.learning-cycle{transform:scale(.9);transform-origin:top center;margin-bottom:-50px}}@media(max-width:700px){.nav{padding:10px 4%;}.nav nav,.nav-cta{display:none}.menu{display:block;margin-left:auto}.brand{min-width:0}.brand span{font-size:15px}.hero{padding:60px 5% 0}.hero h1{font-size:48px;letter-spacing:-2px}.hero-image img{height:360px}.hero-stats{grid-template-columns:1fr 1fr}.hero-stats div{margin-bottom:14px}.section{padding:70px 5%}.program-cards,.values,.day-grid,.fac-grid,.ig-grid,.impl,.outcomes{grid-template-columns:1fr}.comparison{grid-template-columns:1fr;gap:15px}.versus{padding:5px}.vision-copy{padding:65px 7%}.vision-art{padding:20px}.learning-cycle{height:auto;min-height:0;transform:none;display:grid;gap:12px;margin:30px 0}.learning-cycle:before,.cycle-center{display:none}.learning-cycle article{position:static;width:auto;min-height:0}.tna{padding:70px 5%}.tna-steps{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr;padding:70px 6%}.contact-orb{display:none}footer{flex-direction:column;align-items:flex-start}.program-banner img{height:auto}.ver-copy h2{font-size:70px}}

/* ===== TPV REAL-PHOTO UPGRADE ===== */
.nav .brand img, footer .brand img{width:54px;height:54px;object-fit:contain;object-position:center;background:#ef233c;border-radius:8px;padding:4px}
.hero{background:linear-gradient(135deg,#fdf4e8 0%,#fff 45%,#e9f5f4 100%)}
.hero-image{height:570px;min-height:570px;border-radius:34px;position:relative;overflow:hidden;background:#163a38;box-shadow:var(--shadow)}
.hero-photo-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(12,34,32,.35),rgba(12,34,32,.05)),url('assets/hero-bg.jpg');background-size:cover;background-position:center;filter:saturate(1.08)}
.hero-cutout{position:absolute!important;inset:auto 3% 0 auto!important;width:78%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 18px 18px rgba(0,0,0,.24));z-index:2}
.hero-tag{z-index:4}
.photo-story-section,.ver-gallery,.school-photo-strip,.method-photo-section{background:#fff}
.gallery-head{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;margin-bottom:42px}
.gallery-head h2{font:800 clamp(38px,5vw,68px) Outfit;line-height:.98;letter-spacing:-2px;margin:0}
.gallery-head>p{font-size:16px;color:var(--muted)}
.photo-story-grid{display:grid;grid-template-columns:1.5fr .75fr .75fr;gap:18px;align-items:stretch}
.mini-gallery,.photo-grid,.ver-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}
.ver-photo-grid{grid-template-columns:repeat(3,1fr);margin-top:0}
.school-photos{grid-template-columns:repeat(3,1fr);margin-top:0}
.photo-frame{position:relative;margin:0;overflow:hidden;border-radius:24px;background:#eef2ef;border:8px solid #fff;box-shadow:0 16px 45px rgba(15,35,32,.13);isolation:isolate}
.photo-frame:before{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.45);border-radius:16px;z-index:2;pointer-events:none}
.photo-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,filter .45s ease}
.photo-frame:hover img{transform:scale(1.045);filter:saturate(1.06)}
.photo-frame figcaption{position:absolute;left:14px;bottom:12px;z-index:3;background:rgba(9,24,28,.82);color:#fff;padding:8px 11px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:1px;backdrop-filter:blur(8px)}
.frame-wide{height:440px}.frame-portrait{height:440px}.frame-tall{height:440px}.mini-gallery .photo-frame{height:230px}.ver-photo-grid .photo-frame{height:340px}.school-photos .photo-frame{height:340px}.method-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.method-photo-copy h2{font:800 clamp(38px,5vw,62px) Outfit;line-height:.98;margin:0 0 14px}.method-photo-copy p:last-child{color:var(--muted);font-size:17px}.method-photo-grid .photo-frame{height:420px}
.p-card .card-photo{width:100%;height:150px;object-fit:cover;border-radius:16px;margin-bottom:18px;border:3px solid rgba(255,255,255,.4)}
.infra-grid{grid-template-columns:1.2fr .8fr;grid-template-rows:280px 280px}.infra-grid .photo-frame{height:100%;border-width:6px}.infra-grid .photo-frame:first-child{grid-row:1/3}.infra-grid .photo-frame img{height:100%}
.ig-card img{object-position:center}
@media(max-width:1050px){.gallery-head{grid-template-columns:1fr;gap:20px}.photo-story-grid{grid-template-columns:1.3fr 1fr 1fr}.mini-gallery{grid-template-columns:1fr 1fr}.ver-photo-grid,.school-photos{grid-template-columns:1fr 1fr}.hero-image{height:520px;min-height:520px}.hero-cutout{width:88%!important}.method-photo-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.hero-image{height:430px;min-height:430px;border-radius:24px}.hero-cutout{width:100%!important;right:-7%!important}.hero-tag{right:10px;bottom:15px}.photo-story-grid,.mini-gallery,.photo-grid,.ver-photo-grid,.school-photos,.method-photo-grid{grid-template-columns:1fr}.frame-wide,.frame-portrait,.frame-tall,.mini-gallery .photo-frame,.ver-photo-grid .photo-frame,.school-photos .photo-frame,.method-photo-grid .photo-frame{height:300px}.photo-story-grid .frame-wide{height:330px}.p-card .card-photo{height:180px}.infra-grid{grid-template-columns:1fr;grid-template-rows:auto}.infra-grid .photo-frame:first-child{grid-row:auto}.infra-grid .photo-frame{height:300px}.infra-grid .photo-frame img{height:300px}.gallery-head h2{font-size:42px}}

/* ===== TPV INTERACTIVE EXPERIENCE / MOBILE UPDATE ===== */
:root{--sand:#eadbc5;--mist:#dce6ef;--sage:#dbe6d7;--lav:#e6e0ec;--deep:#10233f}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{overflow-x:hidden}

/* Premium loading transition */
.page-loader{position:fixed;inset:0;background:#fdfbf7;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity .65s ease,visibility .65s ease}
body.loaded .page-loader{opacity:0;visibility:hidden;pointer-events:none}
.loader-mark{width:88px;height:88px;border-radius:20px;display:grid;place-items:center;animation:loaderFloat 1.5s ease-in-out infinite}
.loader-mark img{width:78px;height:78px;object-fit:contain;background:#ef233c;border-radius:12px;padding:5px}
.loader-line{width:180px;height:3px;background:#e9e4dc;border-radius:10px;overflow:hidden;margin-top:24px}
.loader-line span{display:block;height:100%;width:35%;background:linear-gradient(90deg,var(--red),var(--gold),var(--teal));border-radius:10px;animation:loaderProgress 1.15s ease-in-out infinite}
.page-loader p{margin:14px 0 0;font:800 9px Outfit;letter-spacing:3px;color:#667085}
@keyframes loaderFloat{50%{transform:translateY(-8px) rotate(2deg)}}
@keyframes loaderProgress{0%{transform:translateX(-120%)}100%{transform:translateX(600%)}}

/* Scroll entrance animations */
.reveal{opacity:0;transform:translateY(42px) scale(.985);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms);will-change:opacity,transform}
.reveal.visible{opacity:1;transform:translateY(0) scale(1)}
.reveal-section>.reveal{opacity:0}
.reveal-section{position:relative}
.section .reveal{opacity:0}
.section .reveal.visible{opacity:1}

/* Hero: ONLY the supplied man on zipline, large and dominant */
.hero{min-height:760px;grid-template-columns:.82fr 1.18fr;gap:10px;background:radial-gradient(circle at 82% 40%,rgba(219,230,215,.72),transparent 31%),linear-gradient(135deg,#fffaf3,#fff 54%,#eef5f2)}
.hero:after{width:600px;height:600px;right:-250px;top:-230px;background:rgba(16,35,63,.045);animation:heroOrb 9s ease-in-out infinite alternate}
.hero-image{height:660px;min-height:660px;border-radius:40px;background:transparent;box-shadow:none;overflow:visible;display:flex;align-items:flex-end;justify-content:center}
.hero-photo-bg{display:none!important}
.hero-glow{position:absolute;width:78%;height:76%;right:4%;bottom:4%;border-radius:50%;background:radial-gradient(circle,rgba(221,230,215,.95),rgba(238,245,242,.15) 65%,transparent 72%);filter:blur(2px);z-index:0;animation:heroGlow 5s ease-in-out infinite alternate}
.hero-cutout{position:relative!important;inset:auto!important;width:115%!important;height:115%!important;max-width:none!important;object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 30px 24px rgba(16,35,63,.2));z-index:2;animation:ziplineFloat 5s ease-in-out infinite}
.hero-tag{right:2%;bottom:9%;z-index:4;box-shadow:0 15px 30px rgba(16,35,63,.13);animation:tagFloat 4s ease-in-out infinite}
@keyframes ziplineFloat{0%,100%{transform:translate3d(0,0,0) rotate(-.5deg)}50%{transform:translate3d(0,-10px,0) rotate(.5deg)}}
@keyframes tagFloat{50%{transform:translateY(-7px)}}
@keyframes heroGlow{50%{transform:scale(1.06);opacity:.8}}
@keyframes heroOrb{to{transform:translate(-30px,25px) scale(1.08)}}

/* Navigation interaction */
.nav nav a{position:relative;padding:8px 0;transition:color .25s ease,transform .25s ease}
.nav nav a:after{content:"";position:absolute;left:0;right:100%;bottom:1px;height:2px;background:var(--red);transition:right .3s ease}
.nav nav a:hover:after,.nav nav a.active:after{right:0}
.nav nav a:hover{transform:translateY(-2px)}
.nav-cta{transition:transform .3s ease,box-shadow .3s ease}
.nav-cta:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(239,35,60,.22)}

/* Elegant program palette */
.program-cards{perspective:1000px}
.p-card{color:#203047!important;border:1px solid rgba(16,35,63,.08);box-shadow:0 20px 55px rgba(16,35,63,.10);transform:translateY(0) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,filter .35s ease}
.p-card:hover{transform:translateY(-10px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))!important;box-shadow:0 28px 70px rgba(16,35,63,.16);filter:saturate(1.02)}
.p-card.sand{background:linear-gradient(145deg,#f1e5d4,#e4d1b6)!important}
.p-card.mist{background:linear-gradient(145deg,#e7eef4,#cfdde8)!important}
.p-card.sage{background:linear-gradient(145deg,#e4ecdf,#cdddc8)!important}
.p-card>span{color:#6a563a}.p-card.mist>span{color:#3f5b76}.p-card.sage>span{color:#486347}
.p-card h3,.p-card p,.p-card li{color:#203047}.p-card button,.program-scope{background:rgba(255,255,255,.58)!important;color:#203047!important;border:1px solid rgba(16,35,63,.22)!important}
.program-scope{display:inline-flex;align-items:center;justify-content:center;gap:6px;align-self:flex-start;margin-top:auto;padding:11px 16px;border-radius:999px;font-size:12px;font-weight:900;cursor:pointer;position:relative;overflow:hidden;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.program-scope:hover{transform:translateY(-3px);background:#fff!important;box-shadow:0 10px 25px rgba(16,35,63,.12)}

/* Team: one picture, then two details underneath */
.team-redesign{background:#fbfaf7}
.team-redesign .team-head{margin-bottom:45px}
.team-hero-photo{position:relative;max-width:1100px;margin:0 auto;border-radius:36px;overflow:hidden;background:#eee8df;box-shadow:0 25px 80px rgba(16,35,63,.14);transform:translateY(0);transition:transform .5s ease,box-shadow .5s ease}
.team-hero-photo:hover{transform:translateY(-8px);box-shadow:0 35px 90px rgba(16,35,63,.18)}
.team-hero-photo img{width:100%;height:560px;object-fit:cover;object-position:center 42%;transition:transform .8s ease}
.team-hero-photo:hover img{transform:scale(1.025)}
.team-photo-glow{position:absolute;inset:0;background:linear-gradient(110deg,rgba(234,219,197,.2),transparent 45%,rgba(219,230,215,.22));z-index:1;pointer-events:none}
.team-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1100px;margin:26px auto 0}
.team-person{background:#fff;border:1px solid #e8e3da;border-radius:28px;padding:34px;box-shadow:0 15px 45px rgba(16,35,63,.08);transform:translateY(0) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s ease,box-shadow .35s ease}
.team-person:hover{transform:translateY(-7px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));box-shadow:0 25px 65px rgba(16,35,63,.13)}
.team-person>span{font-size:10px;letter-spacing:2px;font-weight:900;color:var(--red)}
.team-person h3{font-size:38px;margin:7px 0 15px}.team-person p{font-size:14px;color:#596678}.team-person .person-stats{grid-template-columns:repeat(3,1fr)}

/* Remove the old infrastructure presentation entirely */
.infra{display:none!important}

/* Lots of subtle micro-interactions */
.photo-frame,.day,.fac,.tna-steps article,.values article,.audience-grid article{transform:translateY(0) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .4s ease,box-shadow .4s ease}
.photo-frame:hover,.day:hover,.fac:hover,.tna-steps article:hover,.values article:hover,.audience-grid article:hover{transform:translateY(-6px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));box-shadow:0 25px 60px rgba(16,35,63,.15)}
.photo-frame img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.photo-frame:hover img{transform:scale(1.07);filter:saturate(1.08)}
.btn,.program-scope{position:relative;overflow:hidden}
.ripple{position:absolute;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.6);transform:translate(-50%,-50%) scale(1);animation:ripple .65s ease-out forwards;pointer-events:none}
@keyframes ripple{to{transform:translate(-50%,-50%) scale(45);opacity:0}}
.contact-interest{margin:18px 0;padding:14px 18px;border-left:3px solid #ffd34f;background:rgba(255,255,255,.08);border-radius:0 12px 12px 0;color:#fff;font-weight:700;transition:.3s}
.contact-interest.pulse{animation:contactPulse .8s ease}
@keyframes contactPulse{50%{transform:translateX(8px);background:rgba(255,211,79,.16)}}
.top{transition:transform .25s ease,box-shadow .25s ease}.top:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 28px rgba(16,35,63,.25)}

/* Mobile-first improvements */
.menu{cursor:pointer;color:var(--ink)}
@media(max-width:1050px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:70px}.hero-content{order:1}.hero-image{order:2;height:620px;min-height:620px;max-width:900px;margin:auto}.hero-stats{order:3}.hero-cutout{width:108%!important;height:108%!important}.hero-tag{right:4%;bottom:8%}
  .team-hero-photo img{height:470px}.team-details{grid-template-columns:1fr}
}
@media(max-width:700px){
  html{scroll-padding-top:72px}.nav{height:72px;padding:8px 4%;gap:10px}.brand img{width:44px!important;height:50px!important}.brand span{display:none}.nav nav.open{display:flex!important;position:absolute;top:72px;left:0;right:0;padding:20px 7%;background:rgba(255,255,255,.98);flex-direction:column;gap:5px;box-shadow:0 18px 35px rgba(16,35,63,.12);animation:menuDrop .3s ease both}.nav nav.open a{font-size:14px;padding:12px 0}.nav nav.open a:after{bottom:7px}.menu{display:block!important;margin-left:auto;font-size:26px;width:44px;height:44px}
  .hero{padding:52px 5% 0;gap:0}.hero h1{font-size:47px;letter-spacing:-2.2px}.hero p{font-size:16px}.hero-actions{flex-wrap:wrap}.hero-image{height:460px;min-height:460px;width:100%;margin-top:10px}.hero-cutout{width:120%!important;height:120%!important;max-width:none!important;right:auto!important;bottom:-1%!important}.hero-glow{width:95%;height:70%;right:2%}.hero-tag{right:0;bottom:5%;padding:12px 16px}.hero-tag b{font-size:16px}.hero-stats{grid-template-columns:1fr 1fr;padding-top:20px}.hero-stats div{padding:0 10px}.hero-stats b{font-size:27px}
  .section{padding:72px 5%}.program-cards,.values,.day-grid,.fac-grid,.ig-grid,.impl,.outcomes{grid-template-columns:1fr}.p-card{min-height:0;padding:25px}.p-card h3{font-size:31px}.p-card .card-photo{height:185px}.program-banner{padding:16px}.program-banner img{height:auto}.team-redesign .team-head{margin-bottom:28px}.team-hero-photo{border-radius:24px}.team-hero-photo img{height:300px}.team-details{gap:16px}.team-person{padding:25px;border-radius:22px}.team-person h3{font-size:31px}.team-person .person-stats{grid-template-columns:1fr 1fr 1fr}.person-stats b{font-size:20px}.contact-interest{font-size:13px}.vision-copy{padding:65px 7%}
}
@keyframes menuDrop{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}}

/* =========================================================
   VIBRANT CINEMATIC LAYER — same layout, radically richer colour
   ========================================================= */
:root{
  --red:#ff3158;
  --blue:#5b5cff;
  --green:#00c98d;
  --teal:#00b8d9;
  --gold:#ffc857;
  --violet:#8b5cf6;
  --pink:#ff4ecd;
  --orange:#ff7a18;
  --ink:#10152e;
  --muted:#59627a;
  --cream:#fff8ef;
  --white:#fff;
  --line:#e7e4ef;
  --shadow:0 24px 80px rgba(24,20,58,.16);
}
body{background:#fbfaff;overflow-x:hidden}
body:before{content:"";position:fixed;inset:-30%;z-index:-2;pointer-events:none;background:conic-gradient(from 120deg,rgba(255,49,88,.06),rgba(91,92,255,.07),rgba(0,201,141,.06),rgba(255,200,87,.07),rgba(255,78,205,.06),rgba(255,49,88,.06));filter:blur(55px);animation:ambientSpin 24s linear infinite}
@keyframes ambientSpin{to{transform:rotate(360deg)}}
.progress{height:4px;background:linear-gradient(90deg,#ff3158,#ff7a18,#ffc857,#00c98d,#00b8d9,#5b5cff,#ff4ecd);box-shadow:0 0 14px rgba(91,92,255,.55);transition:width .12s linear}
.nav{background:rgba(255,255,255,.78);border-bottom:1px solid rgba(91,92,255,.13);box-shadow:0 8px 35px rgba(28,22,65,.08)}
.nav:after{content:"";position:absolute;inset:auto 0 -1px 0;height:1px;background:linear-gradient(90deg,transparent,#ff3158,#ffc857,#00c98d,#5b5cff,transparent);opacity:.7}
.nav nav a:hover,.nav nav a.active{color:#ff3158}
.nav nav a:after{background:linear-gradient(90deg,#ff3158,#8b5cf6,#00c98d)}
.nav-cta{background:linear-gradient(100deg,#ff3158,#ff7a18,#ff4ecd);box-shadow:0 8px 25px rgba(255,49,88,.22)}

.hero{background:radial-gradient(circle at 75% 30%,rgba(0,201,141,.20),transparent 22%),radial-gradient(circle at 95% 80%,rgba(139,92,246,.20),transparent 25%),linear-gradient(135deg,#fff8ef 0%,#fff 48%,#eef8ff 100%)}
.hero:before{content:"";position:absolute;width:420px;height:420px;left:-160px;bottom:-220px;border-radius:50%;background:radial-gradient(circle,rgba(255,78,205,.18),transparent 70%);filter:blur(5px);animation:heroColourDrift 8s ease-in-out infinite alternate}
@keyframes heroColourDrift{to{transform:translate(100px,-40px) scale(1.25)}}
.hero h1 em{background:linear-gradient(90deg,#ff3158,#ff7a18 45%,#ff4ecd);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 7px 22px rgba(255,49,88,.12))}
.eyebrow{color:#ff3158}.eyebrow span{background:linear-gradient(90deg,#ffc857,#ff7a18)}
.primary{background:linear-gradient(100deg,#ff3158,#ff7a18);box-shadow:0 12px 30px rgba(255,49,88,.2)}
.primary:hover{box-shadow:0 16px 38px rgba(255,49,88,.3)}
.hero-tag{background:linear-gradient(135deg,#ffc857,#ff9f1c);box-shadow:0 18px 40px rgba(255,159,28,.25)}
.hero-glow{background:radial-gradient(circle,rgba(0,201,141,.35),rgba(0,184,217,.14) 40%,rgba(139,92,246,.06) 65%,transparent 72%)}

.ticker{background:linear-gradient(90deg,#111633,#29215c,#102e3d);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.ticker div{animation-duration:18s;text-shadow:0 0 16px rgba(255,200,87,.22)}

.section{position:relative}
.section:nth-of-type(odd){background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(249,247,255,.94))}
.about:after,.difference:after,.programs:after,.method:after,.instagram:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;pointer-events:none;filter:blur(35px);opacity:.14;animation:orbFloat 9s ease-in-out infinite alternate}
.about:after{background:#ff4ecd;right:-120px;top:20%}.difference:after{background:#5b5cff;left:-140px;bottom:10%}.programs:after{background:#00c98d;right:-100px;top:15%}.method:after{background:#ff7a18;left:-100px;top:35%}.instagram:after{background:#00b8d9;right:-100px;bottom:5%}
@keyframes orbFloat{to{transform:translate(-40px,35px) scale(1.2)}}
.label{color:#7c3aed;position:relative;z-index:2}.label:before{content:"";display:inline-block;width:38px;height:4px;margin:0 10px 3px 0;border-radius:5px;background:linear-gradient(90deg,#ff3158,#ff7a18,#ffc857);box-shadow:0 0 14px rgba(255,122,24,.35)}
.quote{border-left-color:#ff3158;background:linear-gradient(135deg,#fff0f5,#fff5df);box-shadow:0 12px 30px rgba(255,49,88,.08)}
.audience-grid article{border:1px solid rgba(255,255,255,.65);background-image:linear-gradient(135deg,rgba(255,255,255,.5),rgba(255,255,255,.12));backdrop-filter:blur(8px)}
.audience-grid .c1{background-color:#ff5a7a}.audience-grid .c2{background-color:#6868ff}.audience-grid .c3{background-color:#12c995}.audience-grid .c4{background-color:#ff9b2f}.audience-grid article strong,.audience-grid article span{color:#fff}.audience-grid article b{color:rgba(255,255,255,.8)}

.vision{background:linear-gradient(115deg,#4b1d95,#6d28d9 38%,#00a99a 100%);position:relative;overflow:hidden}
.vision:before{content:"";position:absolute;width:650px;height:650px;border-radius:50%;right:-240px;top:-180px;background:radial-gradient(circle,rgba(255,78,205,.35),transparent 68%);animation:orbFloat 10s ease-in-out infinite alternate}.vision-copy,.vision-art{position:relative;z-index:1}.vision-copy h2 em{color:#ffc857}.vision-copy .eyebrow{color:#ffc857}.mission b{color:#7dffd7}

.difference{background:linear-gradient(135deg,#f5f4ff,#f2fbff)}
.conventional{background:linear-gradient(145deg,#18213f,#34365c)}
.tpv{background:linear-gradient(145deg,#ff3158,#8b2be2 48%,#5b5cff)}
.values article{position:relative;overflow:hidden}.values article:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-35px;bottom:-45px;background:rgba(255,255,255,.16);transition:transform .5s}.values article:hover:after{transform:scale(1.7)}
.v1{background:linear-gradient(145deg,#ff3158,#ff6b35)}.v2{background:linear-gradient(145deg,#5b5cff,#8b5cf6)}.v3{background:linear-gradient(145deg,#00a878,#00c98d)}.v4{background:linear-gradient(145deg,#ff9f1c,#ffc857);color:#21172a!important}

.programs{background:linear-gradient(180deg,#fffaf4,#f7f5ff)}
.program-cards{gap:24px}
.p-card{border:1px solid rgba(255,255,255,.8)!important;color:#fff!important;overflow:hidden;isolation:isolate}
.p-card:before{content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(130deg,rgba(255,255,255,.28),transparent 35%,rgba(255,255,255,.12));opacity:.9}
.p-card.sand{background:linear-gradient(145deg,#ff7a18,#ff3158 58%,#ff4ecd)!important}
.p-card.mist{background:linear-gradient(145deg,#00b8d9,#4567ff 58%,#8b5cf6)!important}
.p-card.sage{background:linear-gradient(145deg,#00a878,#00c98d 55%,#ffc857)!important}
.p-card h3,.p-card p,.p-card li,.p-card>span{color:#fff!important}.p-card>span{opacity:.85}
.p-card button,.program-scope{background:rgba(255,255,255,.15)!important;color:#fff!important;border-color:rgba(255,255,255,.65)!important;backdrop-filter:blur(10px)}
.program-scope:hover{background:#fff!important;color:#17203d!important}
.card-photo{filter:saturate(1.08) contrast(1.02);transition:transform 1s cubic-bezier(.16,.8,.2,1),filter .6s}.p-card:hover .card-photo{transform:scale(1.08);filter:saturate(1.25) contrast(1.06)}
.program-banner{background:linear-gradient(120deg,#111633,#3c246f,#006c73);box-shadow:0 25px 70px rgba(32,26,79,.2)}

.ver{background:linear-gradient(135deg,#fff1cf,#ffe5f0 48%,#e9e6ff);position:relative;overflow:hidden}.ver:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:rgba(255,49,88,.12);left:-220px;top:-170px;filter:blur(30px);animation:orbFloat 10s ease-in-out infinite alternate}.ver-copy,.ver-visual{position:relative;z-index:1}.ver-copy h2{background:linear-gradient(90deg,#ff3158,#ff7a18,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.ver-copy h3{color:#00a878}.ver-benefits span{background:rgba(255,255,255,.68);border-color:rgba(139,92,246,.2);box-shadow:0 5px 16px rgba(139,92,246,.07);transition:transform .3s,box-shadow .3s}.ver-benefits span:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 10px 22px rgba(139,92,246,.14)}

.school-learning{background:linear-gradient(180deg,#fff,#effbfa)}.outcomes span{background:linear-gradient(135deg,#e8f5ff,#e9fff6);border:1px solid rgba(0,184,217,.15);transition:transform .35s,box-shadow .35s}.outcomes span:hover{transform:translateX(6px);box-shadow:0 12px 24px rgba(0,184,217,.12)}
.residential{background:linear-gradient(135deg,#f3efff,#eefbff)}
.day{border:1px solid rgba(91,92,255,.10)}.day>div>span{color:#ff3158}

.method{background:linear-gradient(180deg,#fff8ef,#f7f2ff)}
.learning-cycle{position:relative}.cycle-center{background:conic-gradient(from 0deg,#ff3158,#ff7a18,#ffc857,#00c98d,#00b8d9,#5b5cff,#ff4ecd,#ff3158);box-shadow:0 0 0 8px rgba(255,255,255,.8),0 25px 65px rgba(91,92,255,.2);animation:cycleSpin 16s linear infinite}.cycle-center>*{position:relative}.cycle-center:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#111633;z-index:0}.cycle-center>*{z-index:1}.learning-cycle article{border:1px solid rgba(91,92,255,.12);background:rgba(255,255,255,.78);backdrop-filter:blur(10px);box-shadow:0 15px 45px rgba(46,35,94,.09)}.learning-cycle article:nth-of-type(2){border-top:4px solid #ff3158}.learning-cycle article:nth-of-type(3){border-top:4px solid #ff7a18}.learning-cycle article:nth-of-type(4){border-top:4px solid #00c98d}.learning-cycle article:nth-of-type(5){border-top:4px solid #5b5cff}
@keyframes cycleSpin{to{transform:rotate(360deg)}}

.facilitation{background:linear-gradient(135deg,#fff,#f4f2ff)}.fac.yes{background:linear-gradient(145deg,#00a878,#00c98d)!important}.fac.no{background:linear-gradient(145deg,#5b5cff,#8b5cf6)!important}
.team-redesign{background:linear-gradient(180deg,#fff,#fff5fb,#f4f8ff)}.team-hero-photo{box-shadow:0 28px 90px rgba(91,92,255,.16)}.team-photo-glow{background:linear-gradient(110deg,rgba(255,49,88,.16),transparent 40%,rgba(0,201,141,.16))}
.team-person{border-color:rgba(91,92,255,.13);background:linear-gradient(145deg,#fff,#fbf9ff)}.team-person:first-child{box-shadow:0 18px 55px rgba(255,49,88,.09)}.team-person:last-child{box-shadow:0 18px 55px rgba(0,184,217,.09)}.team-person>span{color:#ff3158}
.instagram{background:linear-gradient(135deg,#fff,#f9f0ff)}.ig-card{border-radius:26px;overflow:hidden;box-shadow:0 18px 50px rgba(55,37,104,.13);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}.ig-card:hover{transform:translateY(-12px) scale(1.015) rotate(-.7deg);box-shadow:0 28px 75px rgba(91,92,255,.22)}
.contact{background:linear-gradient(120deg,#0d1230,#321d69 40%,#006b70 100%)!important;position:relative;overflow:hidden}.contact:before{content:"";position:absolute;width:700px;height:700px;right:-260px;top:-280px;border-radius:50%;background:radial-gradient(circle,rgba(255,78,205,.35),rgba(91,92,255,.10) 45%,transparent 70%);animation:contactGlow 7s ease-in-out infinite alternate}.contact:after{content:"";position:absolute;width:450px;height:450px;left:-230px;bottom:-240px;border-radius:50%;background:radial-gradient(circle,rgba(0,201,141,.28),transparent 70%);animation:contactGlow 9s ease-in-out infinite alternate-reverse}.contact-content,.contact-orb{position:relative;z-index:2}.contact .eyebrow{color:#ffc857}.contact h2 em{background:linear-gradient(90deg,#ffc857,#ff4ecd,#00d9b1);-webkit-background-clip:text;background-clip:text;color:transparent}.contact-orb{background:linear-gradient(135deg,#ff3158,#8b5cf6,#00c98d)!important;box-shadow:0 0 70px rgba(255,78,205,.3)}
@keyframes contactGlow{to{transform:translate(50px,35px) scale(1.18)}}
footer{background:#080c20!important;border-top:1px solid rgba(255,255,255,.1)}

/* Dramatic cinematic transitions — more frequent and layered */
.cinema-enter{opacity:0;transform:translateY(65px) scale(.94);filter:blur(8px);transition:opacity 1s cubic-bezier(.16,.8,.2,1),transform 1.05s cubic-bezier(.16,.8,.2,1),filter 1s ease;transition-delay:var(--cin-delay,0ms);will-change:opacity,transform,filter}
.cinema-enter.in-view{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.cinema-left{opacity:0;transform:translateX(-70px) rotate(-1deg);filter:blur(7px);transition:opacity 1s ease,transform 1.1s cubic-bezier(.16,.8,.2,1),filter 1s ease;transition-delay:var(--cin-delay,0ms)}
.cinema-left.in-view{opacity:1;transform:none;filter:none}
.cinema-right{opacity:0;transform:translateX(70px) rotate(1deg);filter:blur(7px);transition:opacity 1s ease,transform 1.1s cubic-bezier(.16,.8,.2,1),filter 1s ease;transition-delay:var(--cin-delay,0ms)}
.cinema-right.in-view{opacity:1;transform:none;filter:none}
.cinema-scale{opacity:0;transform:scale(.82);filter:blur(8px);transition:opacity 1.05s ease,transform 1.2s cubic-bezier(.16,.8,.2,1),filter 1s ease;transition-delay:var(--cin-delay,0ms)}
.cinema-scale.in-view{opacity:1;transform:scale(1);filter:none}
.section.reveal-section{overflow:hidden}
.section.reveal-section:after{z-index:0}
.cinematic-sweep{position:absolute;inset:0;pointer-events:none;z-index:10;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.0) 42%,rgba(255,255,255,.24) 50%,transparent 58%);transform:translateX(-120%);opacity:0}.cinematic-sweep.play{animation:sweepAcross 1.4s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes sweepAcross{0%{transform:translateX(-120%);opacity:0}20%{opacity:1}100%{transform:translateX(120%);opacity:0}}

/* Custom animated cursor */
@media(pointer:fine){
  html,body,a,button{cursor:none!important}
  .cursor-dot,.cursor-ring,.cursor-trail{position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:normal}
  .cursor-dot{width:7px;height:7px;border-radius:50%;background:#ff3158;box-shadow:0 0 16px rgba(255,49,88,.8);transition:transform .18s ease,background .2s}
  .cursor-ring{width:34px;height:34px;border:1.5px solid rgba(91,92,255,.9);border-radius:50%;transition:width .22s ease,height .22s ease,border-color .22s ease,background .22s ease;}
  .cursor-ring.hover{width:58px;height:58px;border-color:#ff4ecd;background:rgba(255,78,205,.08)}
  .cursor-ring.click{animation:cursorPulse .55s ease-out}
  .cursor-trail{width:10px;height:10px;border-radius:50%;background:rgba(0,201,141,.38);filter:blur(1px);transition:opacity .35s}
  @keyframes cursorPulse{50%{transform:translate(-50%,-50%) scale(1.45);box-shadow:0 0 0 12px rgba(255,49,88,.12)}}
  .cursor-particle{position:fixed;pointer-events:none;z-index:9998;width:5px;height:5px;border-radius:50%;background:var(--particle,#ffc857);animation:particleBurst .75s ease-out forwards}
  @keyframes particleBurst{to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}
}

/* Extra hover / focus motion */
.btn:after,.program-scope:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);transform:translateX(-130%);transition:transform .65s ease}.btn:hover:after,.program-scope:hover:after{transform:translateX(130%)}
.hero-actions .btn,.nav-cta{animation:buttonBreathe 3.8s ease-in-out infinite}.hero-actions .btn:nth-child(2){animation-delay:1.2s}
@keyframes buttonBreathe{50%{box-shadow:0 12px 34px rgba(91,92,255,.13)}}

@media(max-width:700px){
  .cursor-dot,.cursor-ring,.cursor-trail{display:none!important}
  .hero{background:radial-gradient(circle at 80% 60%,rgba(0,201,141,.16),transparent 28%),linear-gradient(145deg,#fff8ef,#fff,#f3efff)}
  .program-cards{gap:18px}.p-card{border-radius:28px}.team-hero-photo img{object-position:center 40%}
}
@media(prefers-reduced-motion:reduce){body:before,.cycle-center,.hero-actions .btn,.nav-cta{animation:none!important}.cinema-enter,.cinema-left,.cinema-right,.cinema-scale{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.cinematic-sweep{display:none!important}}
.photo-frame img,.team-hero-photo img,.vision-art img,.program-banner img,.ver-visual img,.school-grid>img{will-change:transform}
.cycle-center{animation:none;background-size:220% 220%;animation:cycleGradient 8s ease-in-out infinite alternate}
@keyframes cycleGradient{to{background-position:100% 0}}

/* =========================================================
   VISIBILITY + CONTACT POLISH — FINAL OVERRIDES
   ========================================================= */
/* Never leave important copy invisible while fonts/assets load. The JS still
   supplies the cinematic motion classes after the page is ready. */
.reveal,
.reveal-section > .reveal,
.section .reveal,
.cinema-enter,
.cinema-left,
.cinema-right,
.cinema-scale{opacity:1;filter:none}
.reveal{transform:translateY(0) scale(1)}
.cinema-enter{transform:translateY(0) scale(1)}
.cinema-left,.cinema-right{transform:none}
.cinema-scale{transform:scale(1)}
/* Animation only once JS has explicitly opted the page into motion. */
body.motion-ready .cinema-enter,
body.motion-ready .cinema-left,
body.motion-ready .cinema-right,
body.motion-ready .cinema-scale{opacity:0;filter:blur(8px)}
body.motion-ready .cinema-enter{transform:translateY(65px) scale(.94)}
body.motion-ready .cinema-left{transform:translateX(-70px) rotate(-1deg)}
body.motion-ready .cinema-right{transform:translateX(70px) rotate(1deg)}
body.motion-ready .cinema-scale{transform:scale(.82)}
body.motion-ready .cinema-enter.in-view{opacity:1;transform:translateY(0) scale(1);filter:none}
body.motion-ready .cinema-left.in-view,body.motion-ready .cinema-right.in-view{opacity:1;transform:none;filter:none}
body.motion-ready .cinema-scale.in-view{opacity:1;transform:scale(1);filter:none}
/* Kolb cards: readable even against the luminous background */
.learning-cycle article{color:#17203d!important}
.learning-cycle article strong{color:#111633!important;font-weight:900}
.learning-cycle article p{color:#4a5870!important}
.learning-cycle article .step-mark{display:block;color:#ff3158;font-weight:900;font-size:18px;margin-bottom:6px}
/* Instagram: dark cinematic canvas + high contrast type */
.instagram{background:linear-gradient(135deg,#0e1230 0%,#25135b 45%,#063f4b 100%)!important;color:#fff!important}
.instagram h2,.instagram .ig-note{color:#fff!important}
.instagram .eyebrow{color:#ffd34f!important}
.instagram .label{color:#ffcf4a!important}
.instagram .ig-head h2 em{color:#ffcf4a!important}
/* Three contact actions are deliberately distinct and unmistakable. */
.contact-buttons .btn{min-height:58px;font-size:15px;padding:15px 24px;border-width:2px;position:relative;overflow:hidden}
.contact-buttons .btn.light{background:linear-gradient(135deg,#ff416c,#ff7a18)!important;color:#fff!important;border-color:rgba(255,255,255,.85)!important;box-shadow:0 12px 30px rgba(255,65,108,.3)}
.contact-buttons .btn.outline:nth-child(2){background:linear-gradient(135deg,#6c4cff,#a855f7)!important;color:#fff!important;border-color:#fff!important;box-shadow:0 12px 30px rgba(108,76,255,.3)}
.contact-buttons .btn.outline:nth-child(3){background:linear-gradient(135deg,#00b894,#00d9a6)!important;color:#082d28!important;border-color:#fff!important;box-shadow:0 12px 30px rgba(0,216,166,.28)}
.contact-buttons .btn:hover{transform:translateY(-5px) scale(1.025)!important;filter:saturate(1.15)}
/* Map preview */
.map-card{margin-top:24px;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);box-shadow:0 20px 55px rgba(0,0,0,.22);backdrop-filter:blur(10px)}
.map-preview{height:245px;position:relative;overflow:hidden;background:#dfe7ec}
.map-preview iframe{width:100%;height:100%;border:0;display:block;filter:saturate(1.12) contrast(1.02)}
.map-overlay{position:absolute;left:16px;bottom:16px;padding:11px 14px;border-radius:13px;background:rgba(8,12,32,.82);color:#fff;backdrop-filter:blur(8px);display:grid;gap:2px;pointer-events:none}
.map-overlay span{font-size:9px;letter-spacing:2px;color:#ffd34f;font-weight:900}.map-overlay strong{font-size:12px}
.map-link{display:flex;align-items:center;justify-content:center;padding:15px;font-weight:900;color:#fff;background:linear-gradient(90deg,#ff3158,#ff7a18,#8b5cf6);transition:.3s}
.map-link:hover{filter:saturate(1.2);letter-spacing:.2px}
@media(max-width:700px){.contact-buttons{display:grid;grid-template-columns:1fr}.contact-buttons .btn{width:100%}.map-preview{height:220px}}
/* Preserve the original reveal choreography after the safe-visibility fallback. */
body.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(42px) scale(.985);filter:blur(3px)}
body.motion-ready .reveal.visible{opacity:1;transform:translateY(0) scale(1);filter:none}

/* =========================================================
   TPV CLASSIC CINEMATIC THEME — PRESERVE THE OLD DESIGN
   Strong hero • classic Kolb page • transformation • clean team
   ========================================================= */
:root{
  --classic-ink:#0d1129;
  --classic-ink-2:#151a39;
  --classic-gold:#ffd34e;
  --classic-coral:#ff5364;
  --classic-violet:#7b61ff;
  --classic-cyan:#53d9e8;
  --classic-mint:#61d8a4;
}

/* HERO — large, dominant and animated, with ONLY the supplied participant */
.hero{
  min-height:790px;
  padding:90px 4% 0;
  grid-template-columns:.9fr 1.1fr;
  gap:18px;
  background:
    radial-gradient(circle at 78% 45%,rgba(123,97,255,.18),transparent 26%),
    radial-gradient(circle at 92% 78%,rgba(83,217,232,.12),transparent 23%),
    linear-gradient(115deg,#0b1027 0%,#111633 48%,#0d1630 100%);
  color:#fff;
}
.hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(7,10,25,.72),transparent 62%),
             radial-gradient(circle at 78% 55%,rgba(255,211,78,.08),transparent 28%);
}
.hero:after{width:720px;height:720px;right:-300px;top:-270px;background:rgba(123,97,255,.10);animation:classicOrb 11s ease-in-out infinite alternate}
.hero-content{z-index:3;max-width:760px}
.hero .eyebrow{color:var(--classic-gold)}
.hero .eyebrow span{background:linear-gradient(90deg,var(--classic-coral),var(--classic-gold))}
.hero h1{font-size:clamp(58px,7vw,104px);line-height:.9;letter-spacing:-4px;color:#fff;text-shadow:0 8px 40px rgba(0,0,0,.22)}
.hero h1 em{color:var(--classic-gold);font-style:normal}
.hero p{color:#dbe0f0}
.hero p strong{color:#fff}
.hero-image{
  height:690px;min-height:690px;position:relative;overflow:visible;
  background:transparent;border-radius:0;box-shadow:none;display:flex;align-items:flex-end;justify-content:center;
}
.hero-glow{
  position:absolute;width:78%;height:78%;right:5%;bottom:6%;border-radius:50%;
  background:radial-gradient(circle,rgba(123,97,255,.34),rgba(83,217,232,.10) 44%,transparent 72%);
  filter:blur(8px);animation:classicGlow 5s ease-in-out infinite alternate;z-index:0
}
.hero-cutout{
  position:relative!important;inset:auto!important;width:125%!important;height:125%!important;max-width:none!important;
  object-fit:contain!important;object-position:center bottom!important;z-index:2;
  filter:drop-shadow(0 34px 30px rgba(0,0,0,.42));
  animation:classicZipline 5.5s cubic-bezier(.45,.05,.55,.95) infinite;
  transform-origin:center bottom;
}
.hero-ring{position:absolute;z-index:1;width:610px;height:610px;border:1px solid rgba(255,211,78,.38);border-radius:50%;left:48%;top:48%;transform:translate(-50%,-50%);animation:ringPulse 7s ease-in-out infinite}
.hero-ring:before,.hero-ring:after{content:"";position:absolute;border-radius:50%;inset:12%;border:1px dashed rgba(123,97,255,.35)}
.hero-ring:after{inset:28%;border-color:rgba(83,217,232,.28)}
.hero-tag{background:var(--classic-gold);color:var(--classic-ink);right:3%;bottom:9%;z-index:4;animation:tagFloatClassic 3.8s ease-in-out infinite;box-shadow:0 18px 50px rgba(0,0,0,.3)}
.hero-chip{background:rgba(13,17,41,.72)!important;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);color:#fff!important;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.hero-stats{border-top:1px solid rgba(255,255,255,.18);z-index:3}
.hero-stats div{border-right:1px solid rgba(255,255,255,.15)}
.hero-stats b{color:var(--classic-gold)}.hero-stats span{color:#9ea8c2}
.scroll-cue{color:#bfc7dc}
@keyframes classicZipline{0%,100%{transform:translate3d(0,0,0) rotate(-.7deg) scale(1)}35%{transform:translate3d(-10px,-8px,0) rotate(.3deg) scale(1.015)}70%{transform:translate3d(9px,-18px,0) rotate(.8deg) scale(1.025)}}
@keyframes classicGlow{50%{transform:scale(1.08);opacity:.8}}
@keyframes classicOrb{to{transform:translate(-40px,30px) scale(1.08)}}
@keyframes ringPulse{0%,100%{transform:translate(-50%,-50%) scale(.96);opacity:.72}50%{transform:translate(-50%,-50%) scale(1.04);opacity:1}}
@keyframes tagFloatClassic{50%{transform:translateY(-10px) rotate(-1deg)}}

/* Classic dark Kolb page — matching the older circular learning architecture */
.method{
  background:#0d1129!important;color:#fff!important;min-height:980px;overflow:hidden;position:relative;
  padding-top:105px;padding-bottom:110px;
}
.method:before{content:"";position:absolute;inset:auto -15% -30% auto;width:650px;height:650px;border-radius:50%;background:radial-gradient(circle,rgba(123,97,255,.16),transparent 68%);pointer-events:none}
.method .label{color:var(--classic-gold)}
.method .method-head{position:relative;z-index:2}
.method .method-head h2{color:#fff;font-size:clamp(52px,6.2vw,92px);line-height:.9}
.method .method-head h2 em{color:#fff;font-style:italic}
.method .method-head .eyebrow{color:var(--classic-gold)}
.method .method-head>p{color:#aeb7d0}
.learning-cycle{
  max-width:1080px;min-height:700px;margin:55px auto 35px;position:relative;
}
.learning-cycle:before{
  width:500px;height:500px;border:7px dashed rgba(255,83,100,.42);opacity:1;
  background:radial-gradient(circle,rgba(123,97,255,.08),transparent 67%);
}
.cycle-center{
  width:230px;height:230px;background:#111633!important;color:#fff;border:5px solid transparent;
  background-image:linear-gradient(#111633,#111633),linear-gradient(135deg,var(--classic-coral),var(--classic-gold),var(--classic-violet),var(--classic-cyan));
  background-origin:border-box;background-clip:padding-box,border-box;
  box-shadow:0 0 0 12px rgba(255,255,255,.035),0 0 70px rgba(123,97,255,.22);
  animation:kolbPulse 4.5s ease-in-out infinite;
}
.cycle-center b{color:var(--classic-gold)}
.cycle-center strong{color:#fff;font-size:29px}
.cycle-center small{color:#b8c0d5}
.learning-cycle article{
  width:285px;min-height:170px;padding:25px 27px;border-radius:22px!important;color:#fff!important;
  background:rgba(25,30,60,.88)!important;border:1px solid rgba(255,255,255,.11)!important;
  backdrop-filter:blur(14px);box-shadow:0 22px 55px rgba(0,0,0,.28)!important;
}
.learning-cycle article strong{color:#fff!important;font-size:22px!important}
.learning-cycle article p{color:#aeb7d0!important;font-size:13px!important}
.learning-cycle article .step-mark{color:var(--classic-gold)!important}
.cy1{left:0;top:45px;background:linear-gradient(145deg,rgba(255,83,100,.20),rgba(25,30,60,.92))!important;border-top:4px solid var(--classic-coral)!important}
.cy2{right:0;top:45px;background:linear-gradient(145deg,rgba(123,97,255,.20),rgba(25,30,60,.92))!important;border-top:4px solid var(--classic-violet)!important}
.cy3{right:0;bottom:30px;background:linear-gradient(145deg,rgba(97,216,164,.18),rgba(25,30,60,.92))!important;border-top:4px solid var(--classic-mint)!important}
.cy4{left:0;bottom:30px;background:linear-gradient(145deg,rgba(83,217,232,.18),rgba(25,30,60,.92))!important;border-top:4px solid var(--classic-cyan)!important}
@keyframes kolbPulse{50%{box-shadow:0 0 0 18px rgba(255,255,255,.025),0 0 95px rgba(123,97,255,.3);transform:translate(-50%,-50%) scale(1.025)}}
.method .implementation{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.12);padding-top:55px}
.method .implementation h3{color:#fff}.method .implementation h3 em{color:var(--classic-gold)}
.method .impl article{box-shadow:0 18px 40px rgba(0,0,0,.22)}

/* Transformation section — keep the older comparison concept, make it cinematic */
.difference{background:#f7f7fb!important;position:relative;overflow:hidden}
.difference .label{color:var(--classic-violet)}
.difference .diff-head h2 em{color:var(--classic-coral)}
.comparison{gap:22px}
.side{transition:transform .5s cubic-bezier(.2,.75,.2,1),box-shadow .5s ease}
.side:hover{transform:translateY(-10px);box-shadow:0 28px 70px rgba(13,17,41,.18)}
.conventional{background:linear-gradient(145deg,#202744,#323a59)!important}
.tpv{background:linear-gradient(145deg,#ff5364,#ff7b3f,#7b61ff)!important}
.versus{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--classic-violet);box-shadow:0 12px 35px rgba(13,17,41,.12);font-size:13px}
.values article{transition:transform .45s ease,box-shadow .45s ease}
.values article:hover{transform:translateY(-9px) rotate(-1deg);box-shadow:0 24px 55px rgba(13,17,41,.16)}
.v1{background:linear-gradient(145deg,#ff5364,#ef334c)!important}.v2{background:linear-gradient(145deg,#7b61ff,#5644db)!important}.v3{background:linear-gradient(145deg,#24bd8b,#14966f)!important}.v4{background:linear-gradient(145deg,#f2b83f,#e78a27)!important}

/* Photo hover — visibly enlarges image when cursor enters */
.photo-hover,.photo-frame,.ig-card,.team-hero-photo{overflow:hidden}
.photo-hover img,.photo-frame img,.ig-card img{transition:transform .9s cubic-bezier(.16,.8,.2,1),filter .7s ease!important;will-change:transform}
.photo-hover:hover img,.photo-frame:hover img,.ig-card:hover img{transform:scale(1.12)!important;filter:saturate(1.12) contrast(1.03)!important}

/* Team — remove old rectangular team photograph and use the designed founders cutout */
.team-redesign{background:linear-gradient(180deg,#fff,#f6f3ff 55%,#fff)}
.team-hero-photo.team-designed{
  max-width:1080px;height:560px;border-radius:34px;background:#050507;overflow:hidden;
  display:flex;align-items:center;justify-content:center;position:relative;
  box-shadow:0 30px 90px rgba(13,17,41,.18);isolation:isolate;
}
.team-hero-photo.team-designed img{
  width:100%;height:100%;object-fit:contain;object-position:center center;
  transition:transform 1s cubic-bezier(.16,.8,.2,1),filter .7s ease;position:relative;z-index:2;
}
.team-hero-photo.team-designed:hover img{transform:scale(1.045)!important;filter:saturate(1.06)}
.team-aura{position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle,rgba(123,97,255,.22),transparent 63%);filter:blur(25px);animation:teamAura 6s ease-in-out infinite alternate;z-index:1}
.team-photo-glow{background:linear-gradient(110deg,rgba(255,83,100,.10),transparent 38%,rgba(83,217,232,.10))!important;z-index:3!important}
.team-badge{position:absolute;left:22px;bottom:20px;z-index:4;background:var(--classic-gold);color:var(--classic-ink);padding:12px 16px;font:900 12px Outfit;letter-spacing:1px}
@keyframes teamAura{to{transform:scale(1.12);opacity:.7}}

/* Remove accidental visual repetition of the facilitation headline: one canonical title only */
.facilitation .fac-head h2{font-size:clamp(48px,6vw,78px)}
.facilitation .fac-head h2 em{color:var(--classic-violet)}

/* Stronger cinematic section entrances without changing the layout */
.reveal{transition-duration:1.05s!important}
.cinema-enter{transition-duration:1.15s!important}
.cinematic-sweep{background:linear-gradient(90deg,transparent,rgba(255,211,78,.13),rgba(123,97,255,.11),transparent)!important}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:70px}
  .hero-image{height:620px;min-height:620px;margin-top:-20px}
  .hero-cutout{width:120%!important;height:120%!important}
  .hero-ring{width:470px;height:470px;top:47%}
  .method{min-height:auto}
  .learning-cycle{min-height:650px}
  .learning-cycle article{width:245px}
  .team-hero-photo.team-designed{height:470px}
}
@media(max-width:700px){
  .hero{padding-top:55px}.hero h1{font-size:50px;letter-spacing:-2.5px}.hero-image{height:510px;min-height:510px}.hero-cutout{width:128%!important;height:128%!important}.hero-ring{width:350px;height:350px}.hero-stats{grid-template-columns:1fr 1fr}
  .learning-cycle{display:grid;min-height:0;height:auto;gap:14px;margin:35px 0}.learning-cycle:before,.cycle-center{display:none}.learning-cycle article{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%;min-height:145px}.method .implementation{display:block}.method .impl{grid-template-columns:1fr}.team-hero-photo.team-designed{height:330px;border-radius:24px}.team-badge{left:14px;bottom:14px}.versus{margin:auto}
}

/* Corporate learning — prominent, clear and consistent with the classic TPV theme */
.corporate-classic{background:#f7f8fc;position:relative;overflow:hidden}
.corporate-classic:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-260px;top:80px;background:radial-gradient(circle,rgba(123,97,255,.13),transparent 68%);pointer-events:none}
.corporate-head{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;position:relative;z-index:1}
.corporate-head h2{font:800 clamp(46px,5.6vw,78px) Outfit;line-height:.92;letter-spacing:-3px;margin:0}.corporate-head h2 em{color:var(--classic-coral);font-style:normal}.corporate-head>p{color:#5e6880;font-size:16px;line-height:1.7}
.corporate-hero-row{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:center;margin-top:55px;position:relative;z-index:1}
.corporate-feature-photo{height:500px;border-radius:30px;position:relative;background:#0d1129;overflow:hidden;box-shadow:0 25px 70px rgba(13,17,41,.15)}
.corporate-feature-photo img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,.8,.2,1)!important}.corporate-feature-photo:hover img{transform:scale(1.12)!important}
.corporate-feature-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,10,25,.72));pointer-events:none}
.corporate-feature-photo span{position:absolute;left:20px;bottom:20px;z-index:2;background:var(--classic-gold);color:var(--classic-ink);padding:10px 14px;font:900 10px Outfit;letter-spacing:1.5px}
.corporate-feature-copy{padding-right:5%}.corporate-kicker{font:900 10px Outfit;letter-spacing:2px;color:var(--classic-coral);text-transform:uppercase;margin-bottom:14px}.corporate-feature-copy h3{font-size:clamp(38px,4.3vw,62px);line-height:.95;margin:0 0 20px}.corporate-feature-copy h3 em{color:var(--classic-violet);font-style:normal}.corporate-feature-copy>p{color:#59657a;line-height:1.75;font-size:16px}.corporate-pills{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.corporate-pills span{background:#fff;border:1px solid #e0e3ed;border-radius:999px;padding:9px 12px;font-size:10px;font-weight:900;color:#313a52}.employee-learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:25px;position:relative;z-index:1}.employee-learning-card{padding:30px;border-radius:25px;background:#101633;color:#fff;box-shadow:0 20px 55px rgba(13,17,41,.12);transition:transform .45s ease,box-shadow .45s ease;position:relative;overflow:hidden}.employee-learning-card:hover{transform:translateY(-9px);box-shadow:0 28px 70px rgba(13,17,41,.18)}.employee-learning-card:before{content:"";position:absolute;right:-70px;top:-70px;width:180px;height:180px;border-radius:50%;background:rgba(123,97,255,.18)}.employee-learning-card.accent{background:linear-gradient(145deg,#7b61ff,#5141c9)}.employee-learning-card.light{background:linear-gradient(145deg,#fff,#f0f2f9);color:#17203d}.employee-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--classic-gold);color:#101633;font:900 11px Outfit;margin-bottom:25px}.employee-learning-card h3{font-size:29px;line-height:1.02;margin:0 0 15px;max-width:380px}.employee-learning-card h3 em{color:var(--classic-gold);font-style:normal}.employee-learning-card.light h3 em{color:var(--classic-violet)}.employee-learning-card>p:not(.corporate-kicker){color:#c1c8da;font-size:13px;line-height:1.7}.employee-learning-card.light>p:not(.corporate-kicker){color:#606b7e}.employee-learning-card ul{padding-left:18px;margin:18px 0;line-height:1.9;font-size:12px;color:#e5e8f2}.employee-learning-card.light ul{color:#465168}.employee-learning-card a{font-size:12px;font-weight:900;color:var(--classic-gold)}.employee-learning-card.light a{color:var(--classic-violet)}
@media(max-width:900px){.corporate-head,.corporate-hero-row{grid-template-columns:1fr;gap:28px}.corporate-feature-photo{height:420px}.employee-learning-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.corporate-feature-photo{height:330px}.employee-learning-grid{grid-template-columns:1fr}.corporate-feature-copy{padding-right:0}}


/* FINAL REQUESTED VISUAL FIXES */
/* Hero: replace the blue atmosphere with a clean white-to-red cinematic gradient. */
.hero{
  background:
    radial-gradient(circle at 82% 45%, rgba(255,255,255,.20), transparent 24%),
    radial-gradient(circle at 98% 15%, rgba(239,35,60,.20), transparent 34%),
    linear-gradient(112deg,#ffffff 0%,#fffdfd 34%,#ffe8e7 68%,#ef233c 100%) !important;
}
.hero:before{
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.82) 32%,rgba(255,255,255,.08) 68%,rgba(239,35,60,.10) 100%) !important;
}
.hero:after{background:rgba(255,255,255,.16) !important}
.hero h1{color:#101a38 !important;text-shadow:none !important}
.hero h1 em{color:#d7193f !important}
.hero p{color:#35415b !important}
.hero p strong,.hero p b{color:#101a38 !important}
.hero .eyebrow{color:#d7193f !important}
.hero .eyebrow span{background:linear-gradient(90deg,#d7193f,#f4b942) !important}
.hero-stats{border-top-color:rgba(16,26,56,.16) !important}
.hero-stats div{border-right-color:rgba(16,26,56,.12) !important}
.hero-stats b{color:#d7193f !important}
.hero-stats span{color:#46516a !important}
.hero-image{filter:drop-shadow(0 28px 55px rgba(16,26,56,.20))}
.hero-cutout{object-fit:contain !important;object-position:center !important}

/* Team/facilitators: use the supplied circular photograph itself; no black rectangle. */
.team-hero-photo.team-designed{
  height:560px !important;
  background:linear-gradient(135deg,#ffffff 0%,#fff7f7 52%,#ffe9ec 100%) !important;
  border-radius:34px !important;
  overflow:hidden !important;
}
.team-hero-photo.team-designed img{
  width:min(560px,82%) !important;
  height:min(560px,82%) !important;
  aspect-ratio:1/1 !important;
  object-fit:contain !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:0 24px 70px rgba(215,25,63,.18) !important;
}
.team-hero-photo.team-designed .team-aura{
  inset:20% !important;
  background:radial-gradient(circle,rgba(239,35,60,.18),rgba(244,185,66,.10) 45%,transparent 70%) !important;
  z-index:1 !important;
}
.team-hero-photo.team-designed .team-photo-glow{display:none !important}
.team-hero-photo.team-designed .team-badge{z-index:5 !important}

/* Keep facilitator content readable over its light background. */
.facilitation{background:linear-gradient(135deg,#ffffff 0%,#fff7f8 55%,#ffe9ed 100%) !important}
.facilitation .fac-head h2{color:#101a38 !important}
.facilitation .fac-head h2 em{color:#d7193f !important}
.facilitation .fac-head p{color:#46516a !important}


/* FINAL POLISH — white/red hero, geometric accents, team two-column layout, brand metadata */
.hero{
  background:
    radial-gradient(circle at 82% 48%,rgba(255,255,255,.95) 0 16%,rgba(255,239,239,.82) 38%,transparent 64%),
    linear-gradient(112deg,#ffffff 0%,#fffdfd 43%,#fff2f3 72%,#f4b7bd 100%) !important;
}
.hero:before{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.88) 40%,rgba(255,255,255,.20) 72%,rgba(215,25,63,.08) 100%) !important;}
.hero:after{background:radial-gradient(circle,rgba(215,25,63,.10),transparent 68%) !important;}
.hero h1,.hero p,.hero .eyebrow,.hero-stats,.hero-stats span{position:relative;z-index:5}
.hero h1{color:#111a39!important;text-shadow:none!important}
.hero h1 em{color:#d7193f!important}
.hero p{color:#35415b!important}
.hero p b,.hero p strong{color:#101a38!important}
.hero .eyebrow{color:#c51d3d!important}
.hero-stats{color:#101a38!important}
.hero-image{overflow:visible!important;isolation:isolate}
.hero-cutout{width:108%!important;height:108%!important;max-width:none!important;object-fit:contain!important;object-position:center bottom!important;z-index:3!important;filter:drop-shadow(0 30px 38px rgba(95,20,38,.20))!important}
.hero-glow{background:radial-gradient(circle,rgba(215,25,63,.14),rgba(244,185,66,.10) 40%,transparent 72%)!important}
.hero-geometry{position:absolute;inset:-4% -8% -8% -8%;z-index:1;pointer-events:none;overflow:visible}
.geo-circle{position:absolute;border:1.5px solid rgba(215,25,63,.22);border-radius:50%;display:block}
.geo-circle-a{width:540px;height:540px;right:3%;top:5%;animation:geoFloat 9s ease-in-out infinite alternate}
.geo-circle-b{width:320px;height:320px;right:16%;top:22%;border-color:rgba(16,26,56,.16);border-style:dashed;animation:geoFloat 7s ease-in-out infinite alternate-reverse}
.geo-line{position:absolute;display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(215,25,63,.42),transparent);transform-origin:center}
.geo-line-a{width:620px;right:-2%;top:26%;transform:rotate(-18deg)}
.geo-line-b{width:500px;right:2%;top:67%;transform:rotate(17deg);background:linear-gradient(90deg,transparent,rgba(16,26,56,.22),transparent)}
.geo-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#d7193f;box-shadow:0 0 0 7px rgba(215,25,63,.10),0 0 28px rgba(215,25,63,.35)}
.geo-dot-a{right:18%;top:14%;animation:dotPulse 3.5s ease-in-out infinite}.geo-dot-b{right:9%;bottom:19%;background:#f4b942;animation:dotPulse 4.2s ease-in-out infinite reverse}
@keyframes geoFloat{to{transform:translate(12px,-10px) scale(1.025)}}
@keyframes dotPulse{50%{transform:scale(1.35);box-shadow:0 0 0 13px rgba(215,25,63,.04),0 0 36px rgba(215,25,63,.42)}}

/* Team: smaller circular photo on the left, descriptions immediately on the right */
.team-redesign{background:linear-gradient(135deg,#fff 0%,#fff7f7 54%,#f9f1f3 100%)!important}
.team-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:54px;align-items:center;margin-top:48px}
.team-visual-column{position:relative}
.team-hero-photo.team-designed{height:430px!important;max-width:100%!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
.team-hero-photo.team-designed img{width:min(410px,92%)!important;height:auto!important;aspect-ratio:1/1!important;object-fit:cover!important;border-radius:50%!important;box-shadow:0 22px 60px rgba(215,25,63,.16),0 0 0 12px rgba(255,255,255,.92),0 0 0 14px rgba(215,25,63,.10)!important;z-index:3!important}
.team-hero-photo.team-designed .team-aura{inset:7% 8% 7% 8%!important;background:radial-gradient(circle,rgba(215,25,63,.15),rgba(244,185,66,.10) 45%,transparent 72%)!important;z-index:1!important}
.team-badge{left:5px!important;bottom:18px!important;background:#f4d35e!important;color:#111a39!important;box-shadow:0 10px 25px rgba(0,0,0,.08)}
.team-visual-note{text-align:center;margin:10px 0 0;font:800 11px Outfit;letter-spacing:2px;text-transform:uppercase;color:#b14a58}
.team-details{display:grid;grid-template-columns:1fr;gap:18px}
.team-person{border:1px solid rgba(215,25,63,.12)!important;border-left:5px solid #d7193f!important;border-radius:22px!important;padding:30px 32px!important;background:rgba(255,255,255,.82)!important;box-shadow:0 16px 45px rgba(16,26,56,.07)!important}
.team-person:last-child{border-left-color:#f4b942!important}
.team-person>span{color:#d7193f!important;letter-spacing:2px}.team-person:last-child>span{color:#b87900!important}
.team-person h3{color:#101a38!important}.team-person p{color:#4e5b70!important}
.person-stats{border-top:1px solid #ece6e7!important}
.person-stats b{color:#101a38!important}.person-stats small{color:#7b7180!important}

/* Make all light sections consistently readable */
.about,.difference,.programs,.school-learning,.residential,.facilitation,.team-redesign,.instagram,.photo-story-section,.method-photo-section{color:#101a38}
.about h2,.difference h2,.programs h2,.school-learning h2,.residential h2,.facilitation h2,.team-redesign h2,.instagram h2,.photo-story-section h2,.method-photo-section h2{color:#101a38}
.about p,.difference .diff-head>p,.program-head>p,.school-head>p,.fac-head>p,.ig-note,.team-head>p{color:#4d5a70}
.instagram{background:linear-gradient(135deg,#fff 0%,#fff8f9 55%,#ffecee 100%)!important}
.instagram .label,.instagram .eyebrow{color:#d7193f!important}.instagram h2 em{color:#d7193f!important}.instagram .ig-note{color:#4d5a70!important}

/* Footer brand lockup */
footer{background:#080c20!important;color:#9da7bd!important;display:flex;align-items:center;gap:28px}
.footer-brand{display:flex;align-items:center;gap:12px;color:#fff;min-width:300px}
.footer-brand img{width:48px;height:58px;object-fit:contain}
.footer-brand strong{font:800 15px Outfit;letter-spacing:.2px}

/* Mobile */
@media(max-width:900px){
 .hero{grid-template-columns:1fr!important}.hero-image{height:590px!important;min-height:590px!important}.hero-cutout{width:108%!important;height:108%!important}.hero-geometry{inset:0}.geo-circle-a{width:430px;height:430px;right:-2%;top:10%}.geo-circle-b{width:250px;height:250px;right:18%;top:25%}.team-layout{grid-template-columns:1fr;gap:30px}.team-hero-photo.team-designed{height:380px!important}.team-hero-photo.team-designed img{width:min(360px,82%)!important}.team-details{gap:14px}.footer-brand{min-width:0}}
@media(max-width:700px){
 .hero{padding-top:45px!important}.hero h1{font-size:47px!important;line-height:.92!important}.hero-image{height:470px!important;min-height:470px!important}.hero-cutout{width:118%!important;height:118%!important}.geo-circle-a{width:300px;height:300px;right:-5%;top:17%}.geo-circle-b{width:190px;height:190px;right:17%;top:31%}.geo-line-a{width:330px;right:-4%;top:34%}.geo-line-b{width:280px;right:0;top:70%}.team-hero-photo.team-designed{height:320px!important}.team-hero-photo.team-designed img{width:min(300px,82%)!important}.team-badge{left:2px!important;bottom:10px!important}.team-person{padding:24px 22px!important}.team-visual-note{font-size:9px}.footer-brand strong{font-size:13px}footer{gap:14px}
}

/* FINAL REQUEST — HERO + HERO SECOND BUTTON + INSTAGRAM CTA ONLY */
.hero{
  background:
    radial-gradient(circle at 82% 22%, rgba(255,77,166,.20) 0, rgba(255,77,166,0) 28%),
    radial-gradient(circle at 76% 76%, rgba(255,113,43,.22) 0, rgba(255,113,43,0) 30%),
    radial-gradient(circle at 18% 72%, rgba(255,182,72,.16) 0, rgba(255,182,72,0) 26%),
    linear-gradient(125deg,#fff 0%,#fff8fa 30%,#ffe8ed 56%,#ffd9d1 78%,#fff 100%);
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background:
    repeating-linear-gradient(115deg,transparent 0 72px,rgba(239,35,60,.055) 73px 74px,transparent 75px 145px),
    radial-gradient(circle at 68% 30%,rgba(255,255,255,.9) 0 2px,transparent 3px),
    radial-gradient(circle at 88% 68%,rgba(239,35,60,.12) 0 3px,transparent 4px);
}
.hero .hero-content,.hero .hero-image,.hero .hero-stats{position:relative;z-index:2}
.hero-actions .glass{
  color:#10233f !important;
  background:rgba(255,255,255,.94) !important;
  border-color:#cfd7e4 !important;
  text-shadow:none !important;
  opacity:1 !important;
  visibility:visible !important;
}
.instagram .ig-head .btn.primary{
  background:linear-gradient(90deg,#ef476f 0%,#ff6b45 48%,#ff9a3d 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 14px 32px rgba(239,71,111,.22);
}

/* FINAL — INSTAGRAM SECTION + HERO SECOND BUTTON VISIBILITY ONLY */
.instagram{
  position:relative!important;
  overflow:hidden!important;
  color:#101a38!important;
  background:
    radial-gradient(circle at 8% 18%,rgba(255,91,143,.24) 0,rgba(255,91,143,0) 24%),
    radial-gradient(circle at 86% 24%,rgba(255,137,48,.30) 0,rgba(255,137,48,0) 28%),
    radial-gradient(circle at 58% 88%,rgba(255,194,75,.22) 0,rgba(255,194,75,0) 25%),
    linear-gradient(120deg,#fff 0%,#fff5f7 24%,#ffdfe5 48%,#ffc8b7 70%,#fff 100%)!important;
}
.instagram:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  opacity:.42!important;
  background:
    repeating-linear-gradient(112deg,transparent 0 85px,rgba(224,42,83,.055) 86px 88px,transparent 89px 170px),
    radial-gradient(circle at 72% 18%,rgba(255,255,255,.95) 0 2px,transparent 3px),
    radial-gradient(circle at 20% 78%,rgba(255,106,61,.13) 0 4px,transparent 5px),
    radial-gradient(circle at 92% 74%,rgba(236,63,112,.10) 0 5px,transparent 6px)!important;
}
.instagram>*{position:relative!important;z-index:2!important}
.instagram h2{color:#101a38!important;text-shadow:none!important}
.instagram h2 em{color:#d7193f!important}
.instagram .ig-note{color:#45536a!important}
.instagram .label,.instagram .eyebrow{color:#d7193f!important}
.instagram .ig-head .btn.primary{
  background:linear-gradient(100deg,#ef476f 0%,#ff6b45 48%,#ff9a3d 100%)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 14px 34px rgba(239,71,111,.24)!important;
}
.hero-actions .glass{
  color:#10233f!important;
  background:#fff!important;
  border-color:#cbd5e1!important;
  text-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
}

/* V8 — FIXED QUICK CONTACT ACTIONS */
.floating-contact{
  position:fixed;
  right:22px;
  bottom:30px;
  z-index:9990;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
  pointer-events:none;
}
.floating-contact-btn{
  --contact-color:#ef2348;
  --contact-shadow:rgba(239,35,72,.24);
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:148px;
  height:58px;
  padding:6px 17px 6px 7px;
  border-radius:999px;
  color:#fff!important;
  text-decoration:none!important;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 14px 34px rgba(16,26,56,.16), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  pointer-events:auto;
  overflow:visible;
  isolation:isolate;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, min-width .28s ease;
  animation:tpvFloatIn .7s cubic-bezier(.2,.8,.2,1) both;
}
.floating-contact-btn:nth-child(2){animation-delay:.12s}
.floating-contact-btn.call{--contact-color:#ef2348;--contact-shadow:rgba(239,35,72,.28)}
.floating-contact-btn.whatsapp{--contact-color:#18b968;--contact-shadow:rgba(24,185,104,.28)}
.floating-contact-btn:before{
  content:"";position:absolute;inset:-3px;border-radius:inherit;border:1px solid var(--contact-color);opacity:.16;z-index:-1;
  animation:tpvPulse 2.5s ease-out infinite;
}
.floating-icon{
  flex:0 0 46px;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;color:#fff;background:var(--contact-color);
  box-shadow:0 9px 20px var(--contact-shadow);
  position:relative;
}
.floating-icon:after{
  content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--contact-color);opacity:.22;
}
.floating-icon svg{width:24px;height:24px;fill:currentColor;display:block}
.floating-label{
  color:#101a38;font:800 14px/1 Outfit, sans-serif;letter-spacing:.15px;
  white-space:nowrap;
}
.floating-contact-btn:hover{
  transform:translateY(-4px) scale(1.025);
  box-shadow:0 20px 42px rgba(16,26,56,.2),0 0 0 4px rgba(255,255,255,.55);
}
.floating-contact-btn:active{transform:translateY(-1px) scale(.985)}
.floating-contact-btn:focus-visible{outline:3px solid rgba(239,35,72,.35);outline-offset:4px}
@keyframes tpvPulse{0%,55%{transform:scale(.96);opacity:.12}72%{transform:scale(1.08);opacity:.28}100%{transform:scale(1.2);opacity:0}}
@keyframes tpvFloatIn{from{opacity:0;transform:translate3d(28px,18px,0) scale(.88)}to{opacity:1;transform:none}}
@media(max-width:700px){
  .floating-contact{right:12px;left:12px;bottom:12px;flex-direction:row;justify-content:center;align-items:center;gap:10px}
  .floating-contact-btn{min-width:0;flex:1;max-width:190px;height:56px;padding:5px 13px 5px 6px;justify-content:flex-start}
  .floating-icon{width:44px;height:44px;flex-basis:44px}
  .floating-label{font-size:14px}
}
@media(max-width:380px){
  .floating-contact{gap:7px;right:8px;left:8px;bottom:8px}
  .floating-contact-btn{height:52px;padding-right:10px}
  .floating-icon{width:40px;height:40px;flex-basis:40px}
  .floating-icon svg{width:21px;height:21px}
  .floating-label{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .floating-contact-btn,.floating-contact-btn:before{animation:none!important;transition:none!important}
}
