:root{--black:#0d0907;--navy:#1a0f0a;--dark:#2b1a10;--brown:#7a4a28;--blue:#8b5a2b;--cyan:#d9a066;--gold:#fccc00;--bg:#faf5ef;--ink:#2a1d15;--ease:cubic-bezier(.22,.8,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Segoe UI',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.6;animation:pg .6s ease both}
@keyframes pg{from{opacity:0}}
a{color:var(--blue);text-decoration:none;transition:color .2s}a:hover{color:var(--dark)}.w{max-width:1120px;margin:auto;padding:0 20px}
::selection{background:var(--gold);color:#000}
#sp{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--brown),var(--gold));z-index:100}
.tk{background:var(--black);color:#f3e3cf;overflow:hidden;white-space:nowrap;font-size:13px;padding:6px 0;border-bottom:1px solid #3a2616}.tk div{display:inline-block;padding-left:100%;animation:m var(--sp,30s) linear infinite}.tk:hover div{animation-play-state:paused}.tk a{color:var(--gold)}.tk span{margin-right:60px}
@keyframes m{to{transform:translateX(-100%)}}
header{position:sticky;top:0;background:rgba(13,9,7,.94);backdrop-filter:blur(10px);box-shadow:0 2px 18px #0006;border-bottom:2px solid var(--brown);z-index:50;animation:dn .7s var(--ease) both}
@keyframes dn{from{transform:translateY(-100%);opacity:0}}
header .w{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-weight:800;letter-spacing:.08em;color:var(--gold);display:flex;align-items:center}.logo img{height:44px;width:auto;display:block;transition:transform .35s var(--ease),filter .35s}.logo:hover img{transform:scale(1.05);filter:drop-shadow(0 0 8px #fccc0066)}
nav{display:flex;gap:20px;align-items:center}nav a{color:#f3e3cf;font-size:15px;position:relative;padding:4px 0}
nav a:not(.btn):after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
nav a:not(.btn):hover{color:var(--gold)}nav a:not(.btn):hover:after{transform:scaleX(1);transform-origin:left}
.btn{display:inline-block;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--brown),var(--blue));color:#fff!important;padding:11px 24px;border-radius:999px;border:0;font-size:15px;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s,background .25s;box-shadow:0 4px 14px #7a4a2840}
.btn:before{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,#ffffff55,transparent);transform:skewX(-20deg);transition:left .6s}
.btn:hover{background:var(--black);transform:translateY(-2px);box-shadow:0 8px 22px #7a4a2866}.btn:hover:before{left:130%}.btn:active{transform:scale(.97)}
.btn.o{background:transparent;color:#fff!important;border:1.5px solid var(--gold);box-shadow:none}.btn.o:hover{background:var(--gold);color:#000!important}
.burger{display:none;background:none;border:0;font-size:26px;color:var(--gold)}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--black),var(--dark) 55%,var(--brown));background-size:200% 200%;animation:bg 14s ease infinite;color:#fff;padding:84px 0}
@keyframes bg{50%{background-position:100% 100%}}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(60px);opacity:.35;pointer-events:none}
.hero:before{width:340px;height:340px;background:var(--brown);top:-120px;right:8%;animation:dr 12s ease-in-out infinite}
.hero:after{width:260px;height:260px;background:#fccc0055;bottom:-110px;left:6%;animation:dr 16s ease-in-out infinite reverse}
@keyframes dr{50%{transform:translate(40px,30px) scale(1.15)}}
.hero .w{position:relative;z-index:1}
.hero h1{font-size:clamp(30px,5vw,52px);margin:0 0 14px;line-height:1.15;background:linear-gradient(90deg,#fff,#f4d9b5,#fff);background-size:200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:sh 6s linear infinite}
@keyframes sh{to{background-position:-200% 0}}
.hero p{max-width:560px;opacity:.92}
.hh>div>*{animation:up .8s var(--ease) both}.hh>div>*:nth-child(2){animation-delay:.15s}.hh>div>*:nth-child(3){animation-delay:.3s}.hh>div>*:nth-child(4){animation-delay:.45s}
@keyframes up{from{opacity:0;transform:translateY(28px)}}
.hero svg{animation:fl 5s ease-in-out infinite,zi 1s var(--ease) both;filter:drop-shadow(0 20px 30px #0008)}
@keyframes zi{from{opacity:0;transform:scale(.7) rotate(-6deg)}}
.sec{padding:60px 0}.alt{background:var(--bg)}h2{color:var(--black);margin:0 0 24px;position:relative;padding-bottom:12px}
h2:after{content:"";position:absolute;left:0;bottom:0;width:54px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--brown),var(--gold));transition:width .6s var(--ease)}.rv.in h2:after,h2.in:after{width:90px}
.hero h2{color:#fff}.hero [style*="center"] h2:after,.hero h2:after{left:50%;transform:translateX(-50%)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.card{background:#fff;border-radius:16px;padding:22px;border:1px solid #efe2d3;box-shadow:0 4px 18px #2b1a1014;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.card:hover{transform:translateY(-8px);box-shadow:0 18px 34px #7a4a2833;border-color:var(--cyan)}.card img{width:100%;border-radius:10px;height:150px;object-fit:cover}
.card h3{margin-top:0;color:var(--dark)}.ic{transition:transform .4s var(--ease)}.card:hover .ic{transform:scale(1.3) rotate(-8deg)}
.step{background:#fff;border-radius:16px;padding:20px;border-left:4px solid var(--brown);box-shadow:0 4px 18px #2b1a1010;transition:transform .3s var(--ease),border-color .3s}.step:hover{transform:translateX(6px);border-color:var(--gold)}
.step b{color:var(--brown);font-size:30px}
input,select,textarea{width:100%;padding:12px;border:1px solid #dccbb8;border-radius:10px;font:inherit;margin:5px 0;background:#fff;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brown);box-shadow:0 0 0 3px #7a4a2828}
form.f{max-width:560px}.err{background:#fee2e2;padding:10px;border-radius:8px}.ok{background:#dcfce7;padding:10px;border-radius:8px}
footer{background:var(--black);color:#d8c3aa;padding:40px 0;font-size:14px;border-top:3px solid var(--brown)}footer a{color:var(--gold);margin-right:14px;transition:opacity .2s}footer a:hover{opacity:.7}
.fl img{height:46px;margin-bottom:12px}
.acc summary{cursor:pointer;font-weight:600;padding:12px 0}.pg a{margin-right:8px}
.wa{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;z-index:60;box-shadow:0 6px 18px #0004}
.wa.an{animation:fl 3s ease-in-out infinite}.wa.an:before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:ring 1.8s infinite}
.wa .tip{position:absolute;right:68px;background:#fff;color:#111;font-size:13px;padding:6px 10px;border-radius:8px;white-space:nowrap;box-shadow:0 3px 10px #0003}
@keyframes ring{to{transform:scale(1.7);opacity:0}}@keyframes fl{50%{transform:translateY(-8px)}}
.pop{position:fixed;inset:0;background:#000a;display:none;align-items:center;justify-content:center;z-index:80;padding:16px;backdrop-filter:blur(3px)}.pop.s{display:flex}
.pop .card{max-width:440px;width:100%;max-height:92vh;overflow:auto;animation:in .45s var(--ease)}@keyframes in{from{opacity:0;transform:translateY(30px) scale(.95)}}
.x{float:right;background:none;border:0;font-size:24px;cursor:pointer;transition:transform .3s}.x:hover{transform:rotate(90deg)}
.mt{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,var(--black),var(--dark) 55%,var(--brown));color:#fff;padding:20px}.mt .logo{justify-content:center;margin-bottom:10px}.mt .logo img{height:60px}
.hh{display:flex;gap:40px;align-items:center;justify-content:space-between}.hero svg{max-width:340px;width:100%;flex-shrink:0}.ic{font-size:30px;display:block}.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.gal img{width:100%;border-radius:12px;transition:transform .4s var(--ease)}.gal img:hover{transform:scale(1.04)}
/* scroll reveal */
.rv{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}.rv.in{opacity:1;transform:none}
@media(max-width:800px){.hh{flex-direction:column}.hh svg{max-width:240px}nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--black);flex-direction:column;padding:16px;box-shadow:0 8px 14px #0006;animation:up .3s both}nav.o{display:flex}.burger{display:block}.logo img{height:38px}}
table{border-collapse:collapse;width:100%;font-size:14px}td,th{padding:8px;border-bottom:1px solid #e8dccd;text-align:left}.ad{display:flex;min-height:100vh}.sb{width:210px;background:var(--black);padding:16px;flex-shrink:0}.sb a{display:block;color:#d8c3aa;padding:7px 0}.sb a:hover{color:var(--gold)}.sb .logo img{height:36px}.main{flex:1;padding:24px;overflow:auto}
@media(max-width:800px){.ad{flex-direction:column}.sb{width:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
header .logo{min-width:0;max-width:calc(100% - 56px)}header .logo img{max-width:100%}
.logo img{object-fit:contain}
@media(max-width:800px){header .w{height:60px}nav{top:60px}}

/* ===== extra animations & stickers ===== */
.sb{width:230px}.sb .logo{display:block;margin-bottom:4px}.sb .logo img{width:100%;height:auto;max-width:100%}
.sb .logo img{animation:lg 4s ease-in-out infinite}@keyframes lg{50%{filter:drop-shadow(0 0 10px #fccc0066)}}
.sb a:not(.logo){transition:transform .25s var(--ease),color .2s,padding .25s}.sb a:not(.logo):hover{transform:translateX(6px)}
@media(max-width:800px){.sb .logo{max-width:260px}}
.stk{position:absolute;font-size:30px;opacity:.85;z-index:0;pointer-events:none;user-select:none;filter:drop-shadow(0 6px 8px #0006)}
.stk.s0{animation:sfl 6s ease-in-out infinite}.stk.s1{animation:sspin 9s linear infinite}.stk.s2{animation:swig 3.5s ease-in-out infinite}
@keyframes sfl{50%{transform:translateY(-18px) rotate(8deg)}}@keyframes sspin{to{transform:rotate(360deg)}}@keyframes swig{25%{transform:rotate(-14deg) scale(1.1)}75%{transform:rotate(14deg) scale(1.1)}}
@media(max-width:800px){.stk{font-size:22px;opacity:.55}}
.h2stk{display:inline-block;margin-left:10px;animation:swig 3s ease-in-out infinite;-webkit-text-fill-color:initial}
.stkrow{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;align-items:center;padding:10px 0}
.stkemo{font-size:56px}.stkimg{max-height:130px;width:auto}
.stkemo.a0,.stkimg.a0{animation:bnc 1.6s ease-in-out infinite}.stkemo.a1,.stkimg.a1{animation:sfl 4s ease-in-out infinite}.stkemo.a2,.stkimg.a2{animation:swig 2.8s ease-in-out infinite}
@keyframes bnc{0%,100%{transform:translateY(0)}40%{transform:translateY(-22px) scale(1.08)}60%{transform:translateY(0) scale(.95,1.05)}}
.btn{position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;left:-70%;width:50%;height:100%;background:linear-gradient(100deg,transparent,#ffffff66,transparent);transform:skewX(-20deg);animation:shn 3.5s ease-in-out infinite}
@keyframes shn{0%,60%{left:-70%}100%{left:130%}}
.card{transition:transform .35s var(--ease),box-shadow .35s}.card:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 18px 34px #2b1a1026}
.step b{display:inline-block;animation:pls 2.4s ease-in-out infinite}@keyframes pls{50%{transform:scale(1.18)}}
.ic{animation:bnc 3s ease-in-out infinite}.card:hover .ic{animation:none}
.sec h2:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:60px;border-radius:3px;background:linear-gradient(90deg,var(--brown),var(--gold),var(--brown));background-size:200%;animation:sh 3s linear infinite}
.alt{background-image:radial-gradient(#7a4a2814 1.5px,transparent 1.5px);background-size:22px 22px;animation:dots 30s linear infinite}@keyframes dots{to{background-position:220px 0}}
details{transition:box-shadow .3s}details[open]{box-shadow:0 8px 22px #2b1a1018}
@media(prefers-reduced-motion:reduce){.stk,.h2stk,.stkemo,.stkimg,.ic,.step b,.btn:after,.alt,.sb .logo img{animation:none!important}}
.pop .card:hover{transform:none}.ad .card:hover{transform:none}

/* ===== journey timeline ===== */
.tl{position:relative;max-width:760px;margin:10px auto 0;padding-left:66px;--p:0px}
.tl-line{position:absolute;left:22px;top:0;bottom:0;border-left:2px dashed #7a4a2866}
.tl-fill{position:absolute;left:21px;top:0;width:4px;height:var(--p);background:linear-gradient(var(--brown),var(--gold));border-radius:4px}
.tl-plane{position:absolute;left:8px;top:var(--p);width:30px;height:30px;transform:translateY(-50%);z-index:3;filter:drop-shadow(0 4px 4px #0004);transition:top .12s linear}
.tl-i{position:relative;margin-bottom:26px}
.tl-n{position:absolute;left:-65px;top:18px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:20px;background:#fff;border:2px solid #7a4a2888;z-index:2;transition:background .4s,border-color .4s,box-shadow .4s,transform .4s var(--ease)}
.tl-n.on{background:var(--brown);border-color:var(--brown);box-shadow:0 0 0 6px #fccc0040;transform:scale(1.08)}
.tl-c{position:relative;background:#fff;border-radius:18px;padding:20px 22px;box-shadow:0 6px 24px #2b1a1014;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s}
.tl-c:hover{transform:translateX(6px);box-shadow:0 14px 30px #2b1a1024}
.tl-c:after{content:attr(data-n);position:absolute;right:14px;top:-4px;font-size:84px;font-weight:800;line-height:1;color:#7a4a2814;pointer-events:none}
.tl-c h3{font-style:italic;color:var(--brown);margin:0 0 6px}.tl-c p{margin:0;max-width:85%}
.tl-b{display:inline-block;margin-top:12px;padding:8px 18px;border:1.5px solid var(--brown);color:var(--brown);border-radius:999px;font-weight:600;transition:background .25s,color .25s,transform .25s}
.tl-b:hover{background:var(--brown);color:#fff;transform:translateY(-2px)}
@media(max-width:800px){.tl{padding-left:58px}.tl-n{left:-57px;width:40px;height:40px}.tl-line{left:20px}.tl-fill{left:19px}.tl-plane{left:6px}.tl-c:after{font-size:64px}.tl-c p{max-width:100%}}

/* ===== dark sections & animated counters ===== */
.sec.dk h2{color:#fff}.sec.dk .card{color:var(--ink)}
.st{position:relative;overflow:hidden;background:radial-gradient(ellipse 80% 55% at 50% 0,#7a4a2840,transparent 70%),#0d0907!important;padding:80px 0}
.st:before{content:"";position:absolute;left:8%;right:8%;top:0;height:60px;border-radius:0 0 50% 50%/0 0 100% 100%;background:linear-gradient(#fccc0022,transparent);pointer-events:none}
.st h2{text-align:center}.st h2:after{left:50%;transform:translateX(-50%)}
.stin{max-width:680px;margin:0 auto 46px;text-align:center;color:#c9b79f;font-size:17px;line-height:1.7}
.stg{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:40px 24px;text-align:center}
.stat{position:relative;padding:8px 6px;transition:transform .35s var(--ease)}.stat:hover{transform:translateY(-6px)}
.stat:after{content:"";display:block;width:34px;height:3px;border-radius:3px;margin:14px auto 0;background:linear-gradient(90deg,var(--brown),var(--gold));transition:width .35s var(--ease)}.stat:hover:after{width:70px}
.sn{font-size:clamp(42px,9vw,68px);font-weight:700;line-height:1.05;color:#fff;font-variant-numeric:tabular-nums}
.ss{color:var(--gold);margin-left:6px}
.sl{margin-top:8px;color:#eadcc8;font-size:17px}

/* ===== back to top ===== */
#up{position:fixed;right:22px;bottom:90px;width:46px;height:46px;border:0;border-radius:50%;cursor:pointer;z-index:59;padding:0;--pr:0deg;background:conic-gradient(var(--gold) var(--pr),#ffffff30 0);box-shadow:0 6px 18px #0005;opacity:0;transform:translateY(20px) scale(.8);pointer-events:none;transition:opacity .3s,transform .35s var(--ease)}
#up.nowa{bottom:22px}#up.show{opacity:1;transform:none;pointer-events:auto}
#up span{position:absolute;inset:3px;border-radius:50%;background:var(--black);color:var(--gold);display:grid;place-items:center;font-size:22px;font-weight:700;transition:background .25s,color .25s}
#up:hover span{background:var(--brown);color:#fff}#up:hover span{animation:bnc 1s ease-in-out infinite}

/* ===== stats section: same look as the light 'journey' background ===== */
.sec.st{background-color:var(--bg)!important;background-image:radial-gradient(#7a4a2814 1.5px,transparent 1.5px)!important;background-size:22px 22px;animation:dots 30s linear infinite;padding:70px 0;color:var(--ink)}
.sec.st:before{display:none}
.sec.st h2{color:var(--black)}
.sec.st .stin{color:#6b5846}
.sec.st .sn{color:var(--brown)}
.sec.st .ss{color:var(--gold);text-shadow:0 1px 0 #7a4a2822}
.sec.st .sl{color:var(--ink);font-weight:600}
.sec.st .stat{background:#fff;border-radius:18px;padding:26px 12px 22px;box-shadow:0 6px 24px #2b1a1014}
/* ===== whatsapp logo ===== */
.wa svg{width:32px;height:32px;fill:#fff;display:block}

/* ===== scrolling partner logos ===== */
.sec.lg h2{text-align:center}.sec.lg h2:after{left:50%;transform:translateX(-50%)}
.lgin{max-width:640px;margin:0 auto;text-align:center;color:#6b5846;font-size:17px}
.lgm{overflow:hidden;margin:34px 0 6px;padding:8px 0 14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.lgt{display:flex;width:max-content;animation:lgs var(--dur,40s) linear infinite}
.lgm:hover .lgt,.lgm:focus-within .lgt{animation-play-state:paused}
@keyframes lgs{to{transform:translateX(-50%)}}
.lgc{flex:0 0 auto;width:150px;height:150px;margin-right:18px;background:#fff;border:1px solid #e8dccd;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--ink)!important;box-shadow:0 4px 16px #2b1a1010;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.lgc:hover{transform:translateY(-6px);box-shadow:0 14px 28px #7a4a2830;border-color:var(--cyan)}
.lgi{display:grid;place-items:center;height:66px;width:100%}.lgi img{max-height:64px;max-width:104px;width:auto;height:auto;object-fit:contain}
.lgc b{font-size:14px;text-align:center;line-height:1.25;padding:0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:800px){.lgc{width:132px;height:136px;margin-right:14px}}
@media(prefers-reduced-motion:reduce){.lgm{overflow-x:auto}.lgt{animation:none}.lgc[aria-hidden]{display:none}}

/* ===== hero v2 (success theme) ===== */
.hero.hx{background:radial-gradient(circle at 82% 18%,#fccc0038,transparent 42%),radial-gradient(circle at 8% 92%,#d9a0663a,transparent 48%),linear-gradient(135deg,#1a0f0a,#3a2113 52%,#8b5a2b);background-size:100% 100%;animation:none;padding:70px 0 78px}
.hx h1{background:none;-webkit-text-fill-color:#fff;color:#fff;animation:none}.hx h1:after{content:"";display:block;width:90px;height:5px;border-radius:5px;margin-top:14px;background:linear-gradient(90deg,var(--gold),var(--cyan))}
.hx form input{border-radius:999px;padding:15px 22px;border:0;box-shadow:0 8px 24px #0006}
.hv{position:relative;flex-shrink:0;width:min(380px,100%)}.hgl{background:linear-gradient(145deg,#ffffff1f,#ffffff08);border:1px solid #fccc0044;border-radius:32px;padding:20px;backdrop-filter:blur(6px);box-shadow:0 24px 50px #0006;display:grid;place-items:center}
.hv .hgl svg{max-width:100%;animation:none;filter:drop-shadow(0 14px 18px #0007)}
.hb{position:absolute;background:#fff;color:#2a1d15;font-size:12.5px;font-weight:700;padding:7px 13px;border-radius:999px;box-shadow:0 8px 20px #0005;white-space:nowrap;animation:fl 4.5s ease-in-out infinite}
.hb.b1{top:-14px;left:-10px}.hb.b2{bottom:34px;right:-12px;animation-delay:1.2s}.hb.b3{bottom:-14px;left:12%;animation-delay:2.2s;background:var(--gold)}
@media(max-width:800px){.hv{width:min(310px,92%);margin:6px auto 10px}.hb{font-size:11.5px;padding:6px 10px}.hb.b1{left:-4px}.hb.b2{right:-4px}.hero.hx{padding:48px 0 56px}}

/* ===== featured institutions carousel ===== */
.cr{position:relative}
.cr-t{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:24px;padding:4px 0 18px}.cr-t::-webkit-scrollbar{display:none}
.cr-s{position:relative;flex:0 0 100%;height:min(430px,112vw);border-radius:24px;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;background:linear-gradient(135deg,var(--dark),var(--brown));box-shadow:0 14px 34px #2b1a1033;color:#fff!important;display:block}
.cr-s img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.cr-s:hover img{transform:scale(1.05)}
.cr-ph{position:absolute;inset:0;display:grid;place-items:center;font-size:80px}
.cr-o{position:absolute;left:0;right:0;bottom:0;padding:60px 24px 26px;background:linear-gradient(transparent,#0d0907d9);display:block}
.cr-o b{display:block;font-size:clamp(20px,4.6vw,30px);line-height:1.2;margin-bottom:10px}
.cr-b i,.cr-b em{font-style:normal;display:inline-block;margin-right:10px;font-size:14px;padding:4px 14px;border-radius:999px;background:#ffffff2e;backdrop-filter:blur(4px)}.cr-b i{background:var(--gold);color:#000;font-weight:700}
.cr-p,.cr-n{position:absolute;top:calc(50% - 30px);width:46px;height:46px;border-radius:50%;border:0;background:#0d0907a6;color:#fff;font-size:30px;line-height:1;cursor:pointer;z-index:2;transition:background .25s,transform .25s}.cr-p{left:12px}.cr-n{right:12px}
.cr-p:hover,.cr-n:hover{background:var(--gold);color:#000;transform:scale(1.08)}
.cr-d{display:flex;justify-content:center;gap:8px;margin-top:2px}.cr-d i{width:9px;height:9px;border-radius:9px;background:#7a4a2840;cursor:pointer;transition:width .3s,background .3s}.cr-d i.on{width:26px;background:var(--brown)}
@media(min-width:900px){.cr-s{flex-basis:calc(50% - 10px)}}

/* ===== our office ===== */
.of{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px;align-items:stretch}
.ofi{background:#fff;border:1px solid #efe2d3;border-radius:20px;padding:24px;box-shadow:0 6px 24px #2b1a1014}
.ofr{display:flex;gap:12px;margin-bottom:16px;align-items:flex-start}.ofr>span{font-size:22px;line-height:1.3}.ofr a{color:var(--brown);font-weight:600}
.ofm{border-radius:20px;overflow:hidden;box-shadow:0 6px 24px #2b1a1020;border:1px solid #efe2d3;min-height:300px;background:#efe2d3}
@media(max-width:800px){.of{grid-template-columns:1fr}.ofm{min-height:280px}}

/* ===== footer v2 ===== */
footer{padding:44px 0 0}
.fg{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:30px;padding-bottom:30px}
.fl{display:inline-block;margin-bottom:10px}.fl img{height:34px;margin:0}
.ft{margin:0 0 14px;max-width:280px;color:#b9a48b}
footer h4{margin:0 0 12px;color:#fff;font-size:15px;letter-spacing:.04em}
.fc a,.fc span{display:block;margin:0 0 8px;color:#d8c3aa}.fc a{color:#fccc00}.fc a:hover{padding-left:4px;opacity:1}
.fwa{display:inline-flex!important;align-items:center;gap:8px;background:#25d366;color:#fff!important;padding:8px 16px;border-radius:999px;font-weight:600;margin:0!important}
.fbot{border-top:1px solid #3a2616;padding:14px 0;background:#080504}.fbot .w{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;font-size:13px}
.fbot .dev{margin:0;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid #25d36688;border-radius:999px;color:#25d366;font-size:12.5px;transition:background .25s,color .25s}.fbot .dev:hover{background:#25d366;color:#fff;opacity:1}
@media(max-width:800px){.fg{grid-template-columns:1fr 1fr;gap:24px}.fb,.fc:last-child{grid-column:1/-1}.fbot .w{justify-content:center;text-align:center}}
@media(prefers-reduced-motion:reduce){.hb,.cr-s img{animation:none!important}.cr-t{scroll-behavior:auto}}

/* ===== hero photo (students) – smooth entrance + floating + glow ===== */
.hv:has(.hpic){width:min(460px,100%)}
.hgl.hpic{position:relative;background:none;border:0;box-shadow:none;backdrop-filter:none;padding:0;border-radius:0;overflow:visible;isolation:isolate}
.hpic .himg{display:block;width:100%;height:auto;max-width:100%;position:relative;z-index:2;
  filter:drop-shadow(0 22px 28px #000a) drop-shadow(0 0 22px #fccc0033);
  animation:himgIn 1.1s var(--ease) both,himgFloat 7s ease-in-out 1.1s infinite;will-change:transform}
.hpic picture{display:block;position:relative;z-index:2}
.hpic .hring{position:absolute;z-index:1;left:50%;top:52%;width:92%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);
  background:conic-gradient(from 0deg,#fccc0000,#fccc0066,#d9a06655,#fccc0000 60%,#fccc0066);
  -webkit-mask:radial-gradient(circle,transparent 60%,#000 61%);mask:radial-gradient(circle,transparent 60%,#000 61%);
  filter:blur(1.5px);animation:hspin 18s linear infinite,hfade 1.4s ease .3s both}
.hpic:before{content:"";position:absolute;z-index:0;left:50%;top:55%;width:86%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);
  background:radial-gradient(circle,#fccc0040,#d9a06622 45%,transparent 70%);animation:hglow 5s ease-in-out infinite}
@keyframes himgIn{from{opacity:0;transform:translateY(40px) scale(.94);filter:blur(8px) drop-shadow(0 22px 28px #000a)}}
@keyframes himgFloat{50%{transform:translateY(-10px)}}
@keyframes hspin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes hfade{from{opacity:0}}
@keyframes hglow{50%{opacity:.55;transform:translate(-50%,-50%) scale(1.08)}}
.hv .hb{z-index:3;animation:hbIn .8s var(--ease) both,fl 4.5s ease-in-out infinite}
.hv .hb.b1{animation-delay:.7s,.7s}.hv .hb.b2{animation-delay:1s,1.2s}.hv .hb.b3{animation-delay:1.3s,2.2s}
@keyframes hbIn{from{opacity:0;transform:translateY(16px) scale(.85)}}
.hv .hb.b2{bottom:18%}.hv .hb.b3{bottom:2%}
@media(max-width:800px){.hv:has(.hpic){width:min(340px,92%)}}
@media(prefers-reduced-motion:reduce){.hpic .himg,.hpic .hring,.hpic:before,.hv .hb{animation:none!important}}

/* ===== footer: 3 columns after removing Contact column ===== */
.fg{grid-template-columns:1.6fr 1fr 1fr}
@media(max-width:800px){.fg{grid-template-columns:1fr 1fr}.fb{grid-column:1/-1}.fc:last-child{grid-column:auto}}
