
:root{--navy:#101D38;--royal:#174EA6;--elec:#2563EB;--cyan:#22B8E8;--soft:#F5F8FC;--lb:#EAF2FF;--grey:#64748B}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,sans-serif;color:#1e293b;line-height:1.65;overflow-x:hidden;background:#fff}
h1,h2,h3,h4{font-family:Manrope,system-ui,sans-serif;color:var(--navy);line-height:1.15;letter-spacing:-.02em}
h1{font-size:clamp(2.3rem,5.5vw,4.2rem);font-weight:800}h2{font-size:clamp(1.8rem,3.5vw,2.7rem);font-weight:800}h3{font-size:1.15rem;font-weight:700}
.serif{font-family:Fraunces,Georgia,serif;font-weight:400}
img,svg{max-width:100%}a{color:inherit}.wrap{width:min(1160px,100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:99}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.nav{position:fixed;inset:0 0 auto;z-index:50;transition:background .35s,box-shadow .35s;padding:.9rem 0;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);box-shadow:0 2px 20px #101d3814}
.nav.solid{background:rgba(255,255,255,.98);backdrop-filter:blur(10px);box-shadow:0 2px 20px #101d3820}
.nb{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--navy);font-family:Manrope;font-weight:800;line-height:1.05}.logo b{display:block;font-weight:500;font-size:.78rem;color:var(--royal)}
.foot .logo{color:#fff}
.menu{display:flex;align-items:center;gap:1.4rem}
.menu a:not(.btn){color:var(--navy);text-decoration:none;font-size:.92rem;position:relative;padding:.3rem 0}
.menu a:not(.btn)::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.menu a:not(.btn):hover::after,.menu a.on::after{transform:scaleX(1)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--navy);margin:6px auto;transition:transform .3s}
.btn{display:inline-block;padding:.8rem 1.5rem;border-radius:999px;font-weight:600;text-decoration:none;font-size:.95rem;border:2px solid transparent;transition:transform .25s,background .25s,color .25s,box-shadow .25s;cursor:pointer;font-family:inherit}
.btn:hover{transform:translateY(-2px)}
.btn-c{background:var(--cyan);color:var(--navy)}.btn-c:hover{box-shadow:0 8px 24px #22b8e855}
.btn-o{border-color:#ffffff88;color:#fff}.btn-o:hover{background:#fff;color:var(--navy)}
.btn-b{background:var(--elec);color:#fff}.btn-b:hover{background:var(--royal)}
.btn-s{background:var(--lb);color:var(--royal);padding:.55rem 1.1rem;font-size:.88rem}.btn-s:hover{background:var(--royal);color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
.eb{color:var(--cyan);font-weight:600;font-size:.9rem;margin-bottom:.8rem}.sec .eb{color:var(--elec)}.navy .eb{color:var(--cyan)}
.lead{font-size:1.12rem;color:var(--grey);max-width:60ch;margin-top:1rem}
.hero,.phero,.navy,.cta{background:linear-gradient(120deg,#101D38,#14305f,#101D38);background-size:200% 200%;animation:grad 18s ease infinite;color:#fff}
.hero h1,.phero h1,.navy h2,.navy h3,.cta h2{color:#fff}.hero .lead,.phero .lead,.cta p{color:#c5d3ec}
@keyframes grad{50%{background-position:100% 50%}}


.stroke-heading {
  color: #ffffff;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.035em;
  word-spacing: normal;
}

.stroke-heading .stroke-word {
  display: inline-block;
  white-space: nowrap;
  margin-right: 0.22em;
}

.stroke-heading .stroke-char {
  display: inline-block;
  color: transparent;
  -webkit-text-stroke: 1.2px #2475f4;
  opacity: 0;
}

/* Remove blue outline after animation */
.stroke-heading .stroke-char.finished {
  color: #ffffff;
  -webkit-text-stroke: 0;
}

@media (max-width: 600px) {
  .stroke-heading {
    letter-spacing: -0.02em;
    line-height: 1.2;
  }
}

.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 9rem 0 6rem;
  min-height: 92vh;
  display: flex;
  align-items: center;
  background: #03112b;
  animation: none;
}

/* Background video */
.hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: -2;
}

/* Dark overlay for readable text */
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(3,17,43,.94) 0%,
    rgba(3,17,43,.78) 43%,
    rgba(3,17,43,.12) 100%
  );
  z-index: -1;
  pointer-events: none;
}

/* Keep hero content above video */
.hero .wrap {
  position: relative;
  z-index: 1;
}

/* Mobile optimisation */
@media (max-width: 500px) {
  .hero {
    min-height: 100svh;
    padding: 8rem 0 4rem;
  }

  .hero-video {
    object-position: 65% center;
  }

  .hero::after {
    background: linear-gradient(
      90deg,
      rgba(3,17,43,.85),
      rgba(3,17,43,.45)
    );
  }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  .hero-video {
    display: none;
  }
}


.hero::before{content:none}
.hg{position:relative;z-index:1;display:block;max-width:1160px}
.hg>div{max-width:700px}
.orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.35}.o1{width:360px;height:360px;background:var(--elec);top:-80px;right:10%}.o2{width:260px;height:260px;background:var(--cyan);bottom:-60px;left:5%;opacity:.2}
.art{position:relative;height:380px}
.win{position:absolute;inset:30px 20px;background:#fff;border-radius:18px;padding:18px;box-shadow:0 30px 60px #0006;animation:fl 7s ease-in-out infinite}
.dots i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#cbd5e1;margin-right:6px}
.ln{height:10px;border-radius:5px;background:var(--lb);margin-top:16px}.l1{width:60%;background:var(--elec)}.l2{width:85%}.l3{width:45%;background:var(--cyan)}.l4{width:70%}
.blk{height:90px;border-radius:12px;background:var(--soft);margin-top:20px;border:1px dashed #b6c8e8}
.chip{position:absolute;background:var(--navy);color:var(--cyan);border:1px solid #2c4a82;border-radius:12px;padding:.5rem .8rem;font:600 .85rem monospace;animation:fl 6s ease-in-out infinite}
.c1{top:0;left:0}.c2{bottom:10px;left:-10px;animation-delay:-2s}.c3{top:10px;right:0;animation-delay:-4s}.c4{bottom:0;right:10px;animation-delay:-1s;background:var(--elec);color:#fff}
@keyframes fl{50%{transform:translateY(-12px)}}
.strip{background:var(--navy);border-top:1px solid #ffffff1a}.sg{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding:2rem 0;color:#fff}
.sg b{display:block;font:800 2.4rem Manrope;color:var(--cyan)}.sg span{font-size:.9rem;color:#c5d3ec}
.sec{padding:5.5rem 0}.soft,.alt{background:var(--soft)}.navy{background:var(--navy)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.tick{list-style:none;padding:0;margin-top:1.4rem}.tick li{padding:.45rem 0 .45rem 1.8rem;position:relative}
.tick li::before{content:"";position:absolute;left:0;top:.9rem;width:.9rem;height:.5rem;border-left:2px solid var(--elec);border-bottom:2px solid var(--elec);transform:rotate(-45deg)}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.6rem 0 .6rem}
.filters button{border:1px solid #c9d6ec;background:#fff;border-radius:999px;padding:.5rem 1.1rem;font:500 .88rem Inter;cursor:pointer;transition:all .25s;color:var(--navy)}
.filters button:hover{border-color:var(--elec)}.filters button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:1.4rem}
.pc{background:#fff;border:1px solid #dbe5f5;border-radius:20px;padding:1.8rem;display:flex;flex-direction:column;gap:.7rem;transition:transform .35s,box-shadow .35s,border-color .35s}
.pc:nth-child(3n+2){border-radius:20px 20px 20px 56px}.pc:nth-child(3n){border-radius:56px 20px 20px 20px}
.pc:hover{transform:translateY(-6px);box-shadow:0 20px 40px #174ea61f;border-color:var(--elec)}
.pci{width:54px;height:54px;border-radius:14px;background:var(--lb);color:var(--royal);display:grid;place-items:center}.ic{width:26px}
.gr{color:var(--elec);font-weight:600;font-size:.88rem}.sk{font-size:.85rem;color:var(--grey)}.pc .btn{align-self:flex-start;margin-top:auto}
.paths{margin-top:2.5rem}.path{display:grid;grid-template-columns:200px 1fr 2fr;gap:2rem;align-items:center;padding:1.8rem 0;border-top:1px solid #dbe5f5}
.path small{color:var(--elec);font-weight:600}.path:last-child{border-bottom:1px solid #dbe5f5}.path h3{font-size:1.5rem}
.lnk{color:var(--royal);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.why{display:grid;grid-template-columns:repeat(2,1fr);gap:0 3rem;margin-top:2.5rem}
.why div{padding:1.2rem 0;border-bottom:1px solid #ffffff26}.lt div{border-color:#dbe5f5}.lt h3{color:var(--navy)}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem;position:relative}
.steps li{border-top:3px solid var(--elec);padding-top:1rem}.steps span{font:800 2rem Manrope;color:var(--cyan)}.steps p{color:var(--grey);margin-top:.4rem}
.mosaic{display:grid;grid-template-columns:repeat(6,1fr);gap:1.2rem;margin:2rem 0}
.proj{grid-column:span 2;background:#fff;border:1px solid #dbe5f5;border-radius:16px;overflow:hidden;transition:transform .3s}.proj:hover{transform:translateY(-4px)}
.p0,.p3{grid-column:span 3}
.pv{height:140px;background:linear-gradient(135deg,var(--royal),var(--elec));display:grid;place-items:center;color:#fff;position:relative}.pv .ic{width:48px}
.p1 .pv,.p4 .pv{background:linear-gradient(135deg,var(--navy),var(--royal))}.p2 .pv,.p5 .pv{background:linear-gradient(135deg,var(--elec),var(--cyan))}
.tag{position:absolute;top:10px;left:10px;background:#ffffffe0;color:var(--navy);font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:99px}
.pb{padding:1.2rem}.pb small{color:var(--elec);font-weight:600}.pb p{font-size:.92rem;color:var(--grey);margin-top:.3rem}
.cta{padding:5.5rem 0;text-align:center}.cta .btns{justify-content:center}
.foot{background:#0a1429;color:#aebcd8;padding:4rem 0 1.5rem;font-size:.92rem}
.fg{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1.2fr;gap:2.5rem}
.foot h4{color:#fff;margin-bottom:.8rem;font-size:1rem}.foot nav a{display:block;text-decoration:none;padding:.2rem 0}.foot nav a:hover{color:var(--cyan)}.foot p{margin-top:1rem}
.copy{margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid #ffffff1a;font-size:.82rem}.sm{font-size:.85rem;color:var(--grey);margin-top:1rem}.foot .sm{color:#8fa1c4}
.phero{padding:9rem 0 4.5rem}.phero h1{font-size:clamp(2rem,4.5vw,3.4rem);max-width:20ch}
.prose{max-width:68ch;font-size:1.08rem;margin-top:1rem}.prose a{color:var(--royal)}
.two,.two3{display:grid;gap:1.5rem;margin-top:2rem}.two{grid-template-columns:1fr 1fr}.two3{grid-template-columns:repeat(3,1fr)}
.quote{background:#fff;border-left:4px solid var(--elec);padding:1.8rem;border-radius:0 16px 16px 0}.quote small{color:var(--elec);font-weight:600}.quote p{font:400 1.25rem/1.5 Fraunces,Georgia,serif;color:var(--navy);margin-top:.5rem}.two3 .quote p{font:400 1rem Inter;color:var(--grey)}
.note{background:var(--lb);border-radius:12px;padding:1rem 1.3rem;color:var(--navy);margin-top:1.5rem;font-size:.95rem}
.detail{border:1px solid #dbe5f5;border-radius:20px;padding:2.2rem;margin-top:1.6rem;scroll-margin-top:90px}.detail[hidden],.pc[hidden]{display:none}
.dh{display:flex;gap:1rem;align-items:center}.dh .ic{width:52px;height:52px;padding:12px;background:var(--lb);color:var(--royal);border-radius:14px}
.dg{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin:1.5rem 0}.dg h3{font-size:1rem;margin-bottom:.5rem}.dg ul{padding-left:1.1rem;font-size:.92rem;color:var(--grey)}
.fin{background:var(--soft);padding:1rem 1.2rem;border-radius:12px;margin-bottom:1.4rem}.none{margin-top:1.5rem;color:var(--grey)}
.tl{list-style:none;padding:0;margin-top:2rem;border-left:3px solid var(--lb)}.tl li{position:relative;padding:0 0 2.4rem 2rem}.tl li::before{content:"";position:absolute;left:-10px;top:.3rem;width:17px;height:17px;border-radius:50%;background:var(--elec);border:3px solid #fff;box-shadow:0 0 0 2px var(--elec)}
.tl small{color:var(--elec);font-weight:600}.tl p{color:var(--grey);max-width:60ch}.tl .tick{margin-top:.6rem}
.faq{margin-top:2rem;max-width:800px}details{border-bottom:1px solid #dbe5f5;padding:1.1rem 0}summary{cursor:pointer;font:700 1.05rem Manrope;color:var(--navy);list-style:none;display:flex;justify-content:space-between}summary::after{content:"+";transition:transform .3s;color:var(--elec)}details[open] summary::after{transform:rotate(45deg)}details p{margin-top:.7rem;color:var(--grey)}
.form{max-width:860px}.fg2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.fld{margin-bottom:1.2rem}.fld label{display:block;font-weight:600;font-size:.92rem;margin-bottom:.35rem;color:var(--navy)}
.fld input:not([type=checkbox]),.fld select,.fld textarea{width:100%;padding:.8rem 1rem;border:1px solid #c3d0e8;border-radius:12px;font:inherit;background:#fff;transition:border-color .2s,box-shadow .2s}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--elec);box-shadow:0 0 0 3px #2563eb26}
.fld [aria-invalid]{border-color:#c0262d!important}.err{color:#b4232a;font-size:.84rem;display:block;min-height:1px;margin-top:.25rem}
.ck label{font-weight:400;display:flex;gap:.6rem}.ck input{margin-top:.35rem}.hp{position:absolute;left:-9999px}
.status{padding:.9rem 1.1rem;border-radius:12px;margin-top:1rem;display:none}.status.ok,.status.bad,.status.warn{display:block}.status.ok{background:#e4f7ea;color:#14532d}.status.bad{background:#fde8e8;color:#8a1c1c}.status.warn{background:#fff4d6;color:#6b4a00}
/* ===== Student registration page (register.html) ===== */
.regform{max-width:860px;margin:2rem auto 1rem;padding:2rem;border:1px solid rgba(16,29,56,.14);border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(16,29,56,.08)}
.regform[hidden],.thanks[hidden]{display:none}
.regform [data-q],.thanks{scroll-margin-top:120px}
.regform .fg2{column-gap:1.2rem;row-gap:0}
.regform .rs{display:flex;align-items:center;gap:.7rem;margin:2.2rem 0 1.1rem;padding-bottom:.7rem;border-bottom:1px solid #dbe5f5;font-size:1.15rem;color:var(--navy)}
.regform .rs:first-of-type{margin-top:0}
.regform .rs span{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font:700 .85rem Manrope,sans-serif}
.regform .fld select{appearance:none;-webkit-appearance:none;padding-right:2.6rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23101D38' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.regform .fld input[type=date]{min-height:3rem}
.regform .fld textarea{resize:vertical}
.regform .fld input::placeholder,.regform .fld textarea::placeholder{color:#94a3b8}
fieldset.fld{border:0;padding:0;min-width:0}
fieldset.fld legend{font-weight:600;font-size:.92rem;color:var(--navy);padding:0;margin-bottom:.45rem}
.opts{display:flex;flex-wrap:wrap;gap:.5rem}
.fld .opts label.opt{display:flex;align-items:center;gap:.5rem;margin:0;min-height:44px;padding:.5rem .95rem;border:1px solid #c3d0e8;border-radius:999px;background:#fff;color:var(--navy);font-weight:500;font-size:.9rem;line-height:1.3;cursor:pointer;transition:border-color .2s,background .2s}
.fld .opts label.opt:hover{border-color:var(--elec)}
.fld .opts .opt input{flex:none;width:auto;margin:0;padding:0;accent-color:var(--elec)}
.fld .opts .opt:has(input:checked){border-color:var(--elec);background:var(--lb)}
.fld .opts .opt:has(input:focus-visible){box-shadow:0 0 0 3px #2563eb26}
.fld label.cons{display:flex;align-items:flex-start;gap:.7rem;margin:0;font-weight:400;line-height:1.55}
.fld .cons input{flex:none;width:auto;margin-top:.3rem;accent-color:var(--elec)}
.regform .btn-b{margin-top:.6rem;border:0;cursor:pointer;font:inherit;font-weight:600;padding:.95rem 2rem}
.btn:disabled{opacity:.6;cursor:not-allowed}
.thanks{max-width:860px;margin:2rem auto;padding:2.4rem 2rem;border-radius:18px;background:#e4f7ea;color:#14532d;text-align:center;outline:0}
.thanks h3{margin:0 0 .6rem;color:#14532d}
.thanks .btns{justify-content:center;margin-top:1.4rem}
.thanks .btn-o{border-color:#14532d66;color:#14532d}.thanks .btn-o:hover{background:#14532d;color:#fff}
@media(max-width:600px){.regform{padding:1.2rem;margin:1.25rem auto .75rem;border-radius:12px}.fld .opts label.opt{flex:1 1 100%;border-radius:12px}.thanks{padding:1.8rem 1.2rem}}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
.w{display:inline-block;overflow:hidden;vertical-align:top}.w i{display:inline-block;font-style:normal;transform:translateY(105%);transition:transform .9s cubic-bezier(.2,.7,.2,1)}.go .w i{transform:none}
.logo-img{width:55px;height:55px;object-fit:contain;border-radius:10px}
.win{overflow:hidden}.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fig{margin:0;border-radius:24px;overflow:hidden;max-height:460px}.fig img{width:100%;height:100%;max-height:460px;object-fit:cover;display:block}
.btn-wa{background:#25D366;color:#073b1a}.btn-wa:hover{box-shadow:0 8px 24px #25d36655}.qc{margin:0 0 1.8rem}
.wa-float{position:fixed;right:20px;bottom:20px;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 24px #0005;z-index:60;transition:transform .25s}
.wa-float:hover{transform:scale(1.1)}.wa-float svg{width:34px;height:34px;fill:#fff}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #254ed3;animation:wap 2.2s ease-out infinite}
@keyframes wap{from{transform:scale(1);opacity:.8}to{transform:scale(1.5);opacity:0}}
@media(max-width:600px){.wa-float{right:14px;bottom:14px;width:54px;height:54px}}
@media(max-width:960px){.split,.two,.two3{grid-template-columns:1fr}.pgrid{grid-template-columns:1fr 1fr}.path{grid-template-columns:1fr;gap:.5rem}.steps,.dg{grid-template-columns:1fr 1fr}.fg{grid-template-columns:1fr 1fr}.mosaic{grid-template-columns:1fr 1fr}.proj,.p0,.p3{grid-column:span 1}
.burger{display:block}.menu{position:fixed;inset:0 0 auto;top:0;flex-direction:column;align-items:flex-start;gap:0;background:#fff;padding:5.5rem 1.5rem 2rem;transform:translateY(-100%);transition:transform .45s cubic-bezier(.2,.7,.2,1);z-index:-1}.menu.open{transform:none}.menu a:not(.btn){font-size:1.2rem;padding:.8rem 0;width:100%}.menu .btn{margin-top:1rem}.nav .burger{position:relative;z-index:2}
.burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}}
@media(max-width:600px){.hero{background-position:58% center;padding-top:7.5rem}.hero::after{content:'';position:absolute;inset:0;background:rgba(3,17,43,.24);z-index:0;pointer-events:none}.pgrid,.why,.steps,.dg,.fg,.fg2,.mosaic,.sg{grid-template-columns:1fr}.sg{gap:1rem}.sec{padding:4rem 0}.hero{padding-top:7.5rem}.detail{padding:1.4rem}.btn{width:100%;text-align:center}.btns{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.w i{transform:none}}


/* ===== Refreshed, high-visibility footer ===== */
.foot{
  position:relative;isolation:isolate;overflow:hidden;
  background:radial-gradient(ellipse at 12% 0%,#132b50 0%,transparent 42%),linear-gradient(135deg,#071226 0%,#0b1931 58%,#071226 100%);
  color:#c5d2e9;padding:4.25rem 0 1.35rem;border-top:1px solid #203b62;
}
.foot::before{content:"";position:absolute;z-index:-1;left:-130px;top:-190px;width:390px;height:390px;border:1px solid #d9a52b33;border-radius:50%;box-shadow:0 0 0 24px #d9a52b08,0 0 0 54px #d9a52b06;pointer-events:none}
.foot .fg{display:grid;grid-template-columns:1.42fr .82fr 1.28fr 1.18fr;gap:clamp(1.5rem,3vw,3rem);align-items:start}
.foot-brand-col{max-width:390px}
.foot-brand-mark{display:flex;align-items:center;justify-content:center;width:min(100%,255px);min-height:190px;padding:9px 13px;background:linear-gradient(145deg,#fff 0%,#edf5ff 100%);border:2px solid #e2b642;border-radius:20px;box-shadow:0 12px 34px #0005,0 0 0 5px #e2b64216;transition:transform .25s,box-shadow .25s}
.foot-brand-mark:hover{transform:translateY(-3px);box-shadow:0 16px 38px #0007,0 0 0 6px #e2b64225}
.foot-brand-mark img{display:block;width:100%;height:auto;max-height:230px;object-fit:contain}
.foot .foot-intro{max-width:350px;margin:1.35rem 0 1.15rem;color:#c5d2e9;font-size:.96rem;line-height:1.8}
.foot-whatsapp{display:inline-flex;align-items:center;gap:.8rem;padding:.65rem 1rem;border:1px solid #d8ad43;border-radius:14px;background:#d8ad4310;color:#fff;text-decoration:none;transition:background .2s,border-color .2s}
.foot-whatsapp:hover{background:#d8ad4320;border-color:#f3ca65}
.foot-wa-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#d8ad43;color:#071226;font-size:1.45rem;font-weight:800}
.foot-whatsapp small,.foot-whatsapp strong{display:block}.foot-whatsapp small{font-size:.72rem;color:#b9c7df;margin-bottom:2px}.foot-whatsapp strong{font-size:.96rem;letter-spacing:.02em}
.foot .sm{color:#93a6c5;font-size:.79rem;line-height:1.7;margin-top:1rem}
.foot nav{padding-top:.35rem}
.foot nav h4{position:relative;color:#fff;font-size:1.03rem;font-weight:750;letter-spacing:.01em;margin:0 0 1.25rem;padding-bottom:.8rem}
.foot nav h4::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2px;border-radius:4px;background:linear-gradient(90deg,#e8b943,#f8df91)}
.foot nav a{display:block;color:#b9c8e2;text-decoration:none;font-size:.9rem;line-height:1.55;padding:.32rem 0;transition:color .2s,transform .2s}
.foot nav a::before{content:"›";display:inline-block;color:#e5b642;font-size:1.15rem;font-weight:700;margin-right:.55rem;transition:transform .2s}
.foot nav a:hover{color:#fff;transform:translateX(3px)}
.foot nav a:hover::before{transform:translateX(2px)}
.foot .copy{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:3rem;padding-top:1.25rem;border-top:1px solid #ffffff20;color:#aebed8;font-size:.82rem}
.foot .copy strong{color:#f1c75b;font-weight:700}
.foot-tagline{color:#e4bd58;font-size:.72rem;font-weight:700;letter-spacing:.2em;white-space:nowrap}
.foot-tagline i{font-style:normal;color:#8da2c5;padding:0 .35rem}
@media(max-width:960px){.foot .fg{grid-template-columns:1.2fr 1fr;gap:2.5rem}.foot-brand-mark{width:235px;min-height:175px}}
@media(max-width:600px){.foot{padding:3rem 0 1.25rem}.foot .fg{grid-template-columns:1fr;gap:2rem}.foot-brand-col{max-width:none}.foot-brand-mark{width:220px;min-height:165px}.foot nav{border-top:1px solid #ffffff17;padding-top:1.35rem}.foot nav h4{margin-bottom:.75rem}.foot .copy{margin-top:2rem;align-items:flex-start;flex-direction:column;gap:.6rem}.foot-tagline{font-size:.66rem}}


/* ===== Footer social links ===== */
.foot-social-wrap{margin-top:1.45rem}
.foot .foot-social-title{color:#fff;font:700 .82rem Manrope, sans-serif;letter-spacing:.04em;margin:0 0 .7rem}
.foot-social{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.foot-social .social-link{width:42px;height:42px;display:grid;place-items:center;border:1px solid #ffffff26;border-radius:12px;background:#ffffff0a;color:#dce8ff;text-decoration:none;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.foot-social .social-link::before{content:none}
.foot-social .social-link:hover{transform:translateY(-3px);background:#ffffff16;border-color:#e5b642;color:#fff}
.foot-social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.foot-social .social-fill{fill:currentColor;stroke:none}
.foot-social .social-dot{fill:currentColor;stroke:none}
.foot-social .instagram:hover{color:#f5a4c7}
.foot-social .facebook:hover{color:#8db7ff}
.foot-social .gmail:hover{color:#ffb1a8}
.foot-social .github:hover{color:#c5d2e9}
@media(max-width:600px){.foot-social-wrap{margin-top:1.25rem}.foot-social .social-link{width:44px;height:44px}}
