/* Contemporary visual direction and progressive motion. */
:root{--navy:#19183c;--red:#ed1b24;--paper:#f3f3f9;--green:#067650}
body{background:#fafafe}h1,h2,h3{letter-spacing:-.055em}.topline{background:#12122e}.landing-header{background:#fffffff2}.header{padding-block:15px}.header-contact{border-radius:50px;background:var(--navy);color:#fff;border-color:var(--navy)}.header-contact .bi{color:#70e5b1}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;bottom:-8px;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a:hover:after{transform:scaleX(1)}
.hero.wrap{width:100%;max-width:none;position:relative;isolation:isolate;overflow:hidden;min-height:760px;grid-template-columns:1.05fr 1fr;gap:5vw;padding:80px max(40px,calc((100vw - 1200px)/2)) 92px;background:#19183c;color:white;border-radius:0 0 44px 44px}
.hero:before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 70% 20%,#009cdb20,transparent 48%),radial-gradient(ellipse at 0 100%,#ed1b2426,transparent 45%)}
.hero:after{content:'+';position:absolute;z-index:-1;font-size:600px;line-height:1;color:#ffffff04;right:-30px;top:-100px;font-weight:200;animation:orb-drift 14s ease-in-out infinite alternate}
.hero h1{color:white;font-size:clamp(46px,4.6vw,68px);line-height:1.045;font-weight:750;max-width:640px;margin-bottom:25px}.hero h1 em{color:#ed1b24;position:relative}.hero .eyebrow{color:#ffffff;font-size:10px}.hero .eyebrow:before{background:#ed1b24}.hero-copy .lead{color:#bdbcd2;line-height:1.8;font-size:15px}.hero-cta{gap:20px;margin-top:30px}.hero .button{background:#16bf86;color:#102d28;border-radius:50px;padding-inline:26px;box-shadow:0 8px 35px #16bf8626;min-height:55px}.hero .button:hover{background:#51e6b2;box-shadow:0 12px 40px #16bf8655}.hero-secondary{color:#e0deee}.hero-facts{border-color:#ffffff1f;gap:34px;margin-top:35px;padding-top:25px;color:#b9b7d0}.hero-facts b{color:#fff;font-size:20px}.hero .price-panel{background:transparent;box-shadow:none;transform:rotate(2deg);position:relative;padding-bottom:120px;border-radius:28px;isolation:isolate;transition:transform .6s cubic-bezier(.2,.75,.25,1)}.hero .price-panel:hover{transform:rotate(0deg)}.hero-campus{height:440px;border-radius:24px;box-shadow:0 30px 90px #0005;object-position:55% center}.hero .price-panel:before{content:'';position:absolute;inset:20px -16px 100px 20px;border:1px solid #ffffff26;border-radius:25px;transform:rotate(4deg);z-index:-1}.hero .price-content{position:absolute;bottom:0;left:-30px;right:40px;padding:28px 30px 22px;border:1px solid #ffffff40;background:#ffffffed;color:var(--navy);border-radius:18px;backdrop-filter:blur(20px);box-shadow:0 20px 60px #0003;transform:rotate(-2deg);animation:card-float 7s ease-in-out infinite}.price-tag{background:var(--red);border-radius:50px;top:-15px;padding:8px 15px;font-size:8px}.price-content>p{color:#5f5e79!important}.price-content>p:first-of-type{font-size:11px;max-width:185px;margin:4px 0 0}.price-content .price{color:var(--navy);margin-top:6px;font-size:20px}.price-content .price strong{font-size:60px}.price-content .exchange{color:#77748b!important;margin:8px 0 12px;font-size:9px}.price-bottom{border-color:#1c193b20;color:#66637f}.hero-campus{animation:hero-image-in 1.3s cubic-bezier(.2,.7,.2,1) both}.hero-copy>*{animation:hero-copy-in .9s cubic-bezier(.2,.7,.2,1) both}.hero-copy h1{animation-delay:.1s}.hero-copy .lead{animation-delay:.2s}.hero-cta{animation-delay:.3s}.hero-facts{animation-delay:.4s}
.button{border-radius:50px;position:relative;overflow:hidden;transition:background .25s,transform .25s,box-shadow .25s}.button span{display:inline-block;transition:transform .25s}.button:hover span{transform:translate(3px,-3px)}.button:hover{box-shadow:0 10px 28px #087f5b25}.gallery-section{background:transparent;border:0;padding:48px 0 28px}.gallery-top{margin-bottom:25px}.gallery-top .eyebrow{font-size:11px;letter-spacing:2px}.arrows button{transition:background .2s,transform .2s}.arrows button:hover{transform:scale(1.08)}.carousel{gap:24px;padding-bottom:16px}.slide{flex-basis:380px}.slide .photo{height:280px;border-radius:20px}.slide:nth-child(even){padding-top:35px}.slide-label{margin-top:16px;font-size:12px}.photo img{transition:transform .8s cubic-bezier(.2,.75,.25,1),filter .6s}.photo:hover img{transform:scale(1.065)}.dots{margin-top:6px}.dots button{transition:width .3s,background .3s;border-radius:20px}.dots button[aria-pressed=true]{width:25px}
.section{padding-block:105px}.revalida{gap:100px}.revalida h2{font-size:clamp(36px,3.8vw,54px)}.portrait{padding:0 0 30px 30px;transform:rotate(-2deg)}.portrait:before{border-radius:24px;background:#e9e6f3;transform:rotate(4deg)}.portrait .photo{height:510px;border-radius:24px}.portrait-label{bottom:50px;left:-10px;border-radius:12px;border-left:0;background:#fff;color:var(--navy);padding:20px 25px;box-shadow:0 15px 45px #19183c1c;transform:rotate(2deg)}.soft{background:#eeedf6}.credentials{gap:22px}.credentials article{border:0;border-radius:20px;padding:34px;background:#ffffffc9;transition:transform .35s,box-shadow .35s}.credentials article:nth-child(2){background:var(--navy);color:#fff;border:0;transform:translateY(-12px)}.credentials article:nth-child(2) h3,.credentials article:nth-child(2) p{color:#fff}.credentials article:nth-child(2) .card-number{color:#ffffff}.credentials article:hover{transform:translateY(-8px);box-shadow:0 20px 50px #19183c15}.credentials article:nth-child(2):hover{transform:translateY(-20px)}.credentials h3{font-size:42px}.practice-grid{gap:25px}.practice-grid article{border-radius:20px;background:#fff;padding:12px 12px 20px;box-shadow:0 10px 35px #19183c07;transition:transform .35s,box-shadow .35s}.practice-grid article:hover{transform:translateY(-9px);box-shadow:0 22px 50px #19183c16}.practice-grid article:nth-child(2){margin-top:38px}.practice-grid article:nth-child(3){margin-top:76px}.practice-grid .photo{border-radius:13px;height:260px}.practice-grid h3,.practice-grid article>p{padding-inline:10px}.skills-row{border-radius:26px;padding:35px;background:#eeedf6}.skills-row .photo{border-radius:18px}.hospital{position:relative;overflow:hidden;border-radius:40px;margin-inline:20px;background:radial-gradient(ellipse at 90% 0,#543e7c66,transparent 65%),#19183c}.hospital-images{grid-template-rows:220px 220px;gap:20px}.hospital-images .photo{border-radius:20px}.hospital-images .photo:first-child img{object-position:center}.hospital-heading h2{font-size:clamp(36px,3.8vw,54px)}.hospital .eyebrow{color:#ffffff}.dark em{color:#ffffff}.country-composition{border:0;border-radius:24px;background:#eae7f3;position:relative;overflow:hidden}.country-composition:after{content:'↗';position:absolute;right:-10px;bottom:-70px;font-size:260px;color:#19183c08}.country-composition>div>span{animation:route-nudge 4s ease-in-out infinite}.country-composition>div{font-weight:700;font-size:53px}.location-art{border:0;border-radius:24px;background:#e4e1f0;padding:40px;position:relative}.location-art:after{content:'';position:absolute;left:22px;top:45px;bottom:45px;width:1px;background:linear-gradient(#ed1b24,#19183c33)}.location-art h3{font-size:38px}.location-art .distance{font-size:115px;letter-spacing:-7px}.location-art .distance small{letter-spacing:-1px}.course dl{border-top:0;border-radius:20px;background:#eeedf6;padding:16px 28px}.course dl>div:last-child{border-bottom:0}.contact{margin:0 20px;border-radius:40px;position:relative;background:radial-gradient(ellipse at 15% 100%,#009cdb20,transparent 65%),#19183c}.contact h2{font-size:clamp(36px,3.8vw,54px)}.contact form{border-radius:24px;padding:38px}.contact input,.contact select{border-radius:9px;transition:border-color .2s,box-shadow .2s}.contact input:focus,.contact select:focus{outline:0;border-color:#7f75b6;box-shadow:0 0 0 4px #6655a312}.contact form .button{margin-top:10px}.faq details{transition:background .3s,padding .3s;border-radius:12px;padding:22px 18px;margin-bottom:8px;border:1px solid #e5e3ee}.faq details[open]{background:#eeedf6}.faq details[open] p{animation:hero-copy-in .35s ease both}.faq summary>span{transition:transform .3s}.faq details[open] summary>span{transform:rotate(45deg)}.final-call{margin:0 20px;border-radius:32px;background:linear-gradient(135deg,#e8e5f5,#e9f4f9);padding:90px 20px;border:0}.final-call h2{font-size:clamp(34px,4vw,56px);max-width:820px}.final-call .eyebrow{letter-spacing:2px}.landing-footer{background:transparent}.floating-whatsapp{border:1px solid #ffffff4a;box-shadow:0 8px 30px #064f3a38;transition:transform .3s,background .3s}.floating-whatsapp:hover{transform:translateY(-4px)}.floating-whatsapp:before{content:'';position:absolute;inset:-5px;border:1px solid #087f5b50;border-radius:50px;animation:contact-ring 4s ease-out infinite;pointer-events:none}
.scroll-progress{position:fixed;left:0;top:0;height:3px;background:var(--red);width:100%;transform:scaleX(0);transform-origin:left;z-index:9999;pointer-events:none}.motion-ready .reveal{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}.motion-ready .reveal:focus-within{opacity:1;transform:none}.landing-header{transition:box-shadow .3s}.landing-header.is-scrolled{box-shadow:0 10px 35px #19183c12}.gallery-section.is-paused .arrows{opacity:1}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-image-in{from{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes card-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-9px) rotate(-2deg)}}@keyframes orb-drift{to{transform:translate(-40px,30px) rotate(15deg)}}@keyframes route-nudge{0%,100%{transform:translate(0,0)}50%{transform:translate(7px,-7px)}}@keyframes contact-ring{0%,70%,100%{opacity:0;transform:scale(1)}75%{opacity:.65}95%{opacity:0;transform:scale(1.12)}}
@media(min-width:1500px){.hero.wrap{min-height:800px}.hero-campus{height:470px}}
@media(max-width:1000px){.hero.wrap{padding:65px 30px 75px;gap:40px;min-height:710px}.hero h1{font-size:52px}.hero-campus{height:420px}.hero .price-content{left:-15px;right:10px;padding:25px}.hero-facts{gap:20px}.slide{flex-basis:330px}.slide .photo{height:245px}.revalida{gap:50px}.portrait .photo{height:440px}.practice-grid .photo{height:210px}.contact-grid{gap:40px}}
@media(max-width:760px){.hero.wrap{display:block;padding:40px 24px 48px;min-height:0;border-radius:0 0 28px 28px}.hero h1{font-size:clamp(39px,8.4vw,58px);max-width:610px;line-height:1.05}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}.hero-copy .lead{font-size:14px}.hero-facts{margin-top:26px;padding-top:20px;justify-content:space-between;gap:14px}.hero-facts b{font-size:19px}.hero .price-panel{margin:40px 7px 0;padding-bottom:100px;transform:rotate(1deg)}.hero-campus{height:320px;border-radius:20px}.hero .price-content{left:-8px;right:20px;padding:24px 24px 17px;bottom:0;border-radius:16px}.price-content .price strong{font-size:52px}.price-content .exchange{font-size:9px}.price-content>p:first-of-type{max-width:100%}.hero .price-panel:before{inset:12px -10px 90px 15px}.section{padding-block:65px}.slide{flex-basis:80vw}.slide .photo{height:250px}.slide:nth-child(even){padding-top:20px}.gallery-section{padding-top:32px}.gallery-top .eyebrow{font-size:8px}.revalida h2,.hospital-heading h2,.contact h2{font-size:36px}.portrait{padding:0 0 20px 20px;margin-top:10px}.portrait .photo{height:390px}.portrait-label{left:0;bottom:35px}.credentials{gap:18px}.credentials article:nth-child(2){transform:none}.credentials article:nth-child(2):hover{transform:translateY(-8px)}.credentials h3{font-size:40px}.practice-grid{gap:22px}.practice-grid article:nth-child(2),.practice-grid article:nth-child(3){margin-top:0}.practice-grid .photo{height:270px}.skills-row{border-radius:22px;padding:23px}.hospital,.contact{margin-inline:10px;border-radius:28px}.hospital>.wrap,.contact>.wrap{width:calc(100% - 40px)}.hospital-images{grid-template-rows:260px 160px;gap:12px}.hospital-images .photo{border-radius:13px}.country-composition{padding:30px}.country-composition>div{font-size:48px}.location-art{padding:30px 30px 30px 40px}.location-art .distance{font-size:95px}.location-art h3{font-size:30px}.course dl{padding:12px 20px}.contact form{padding:25px;border-radius:20px}.faq{gap:28px}.faq details{padding:19px 16px}.final-call{margin-inline:10px;border-radius:25px;padding:60px 10px}.final-call h2{font-size:35px}.floating-whatsapp span{display:none}.floating-whatsapp{width:56px;height:56px;justify-content:center;padding:0}.floating-whatsapp .bi{font-size:27px}.motion-ready .reveal{transform:translateY(22px)}}
@media(max-width:380px){.hero.wrap{padding-inline:20px}.hero h1{font-size:38px}.hero .button{font-size:11px}.hero-facts{font-size:9px;gap:10px}.hero-campus{height:280px}.hero .price-content{right:8px}.header-contact{font-size:9px}}
/* Floating sticky navigation, overlaid on the hero. */
.landing-header{position:sticky;top:16px;width:min(1248px,calc(100% - 48px));margin:16px auto -100px;border:1px solid #ffffffb3;border-radius:22px;background:#fffffff0;box-shadow:0 12px 40px #08081f1c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:background .3s,box-shadow .3s,border-color .3s;z-index:80}
.landing-header .header{width:100%;min-height:82px;padding:16px 24px;gap:24px}
.landing-header .brand-logo img{width:165px;max-height:50px}
.landing-header.is-scrolled{background:#fffffff5;box-shadow:0 12px 42px #19183c29;border-color:#dedcea}
.landing-header .header-contact{padding:12px 20px;white-space:nowrap}
.hero.wrap{padding-top:180px}
.uninter-page.admin-bar .landing-header{top:48px}
@media(max-width:1000px){.landing-header .header{gap:16px;padding-inline:20px}.landing-header .header nav{gap:18px}.landing-header .brand-logo img{width:145px}.hero.wrap{padding-top:165px}}
@media(max-width:760px){.landing-header{top:10px;width:calc(100% - 24px);margin:12px auto -82px;border-radius:18px}.landing-header .header{min-height:68px;padding:12px 14px;gap:10px}.landing-header .brand-logo img{width:130px;max-height:42px}.landing-header .header-contact{padding:10px 12px;font-size:10px;gap:7px}.hero.wrap{padding-top:122px}.uninter-page.admin-bar .landing-header{top:56px}}
@media(max-width:380px){.landing-header .brand-logo img{width:112px}.landing-header .header-contact{font-size:9px;padding-inline:10px}.landing-header .header{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal{opacity:1;transform:none}.hero-copy>*,.hero-campus{opacity:1;transform:none}}
