:root{--blue:#003c75;--deep:#003464;--gold:#e58d00}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--blue);font-family:"DM Sans",Arial,sans-serif;background:#fff}a{text-decoration:none;color:inherit}
.header{height:92px;position:absolute;z-index:20;inset:0 0 auto;display:grid;grid-template-columns:290px 1fr;align-items:center;padding:7px 4.1%}
.logo{width:260px;height:80px;display:flex;align-items:center}.logo img{max-width:100%;max-height:77px;object-fit:contain}
.nav-shell{justify-self:end;display:flex;align-items:center;gap:90px;background:rgba(255,255,255,.58);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-radius:12px;padding:4px 17px;box-shadow:0 1px 8px rgba(255,255,255,.25)}
nav{display:flex;gap:47px;font-weight:600}nav a{padding:10px 0;position:relative}nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--gold)}
.lang{display:flex;align-items:center;gap:8px}.lang button{border:0;background:transparent;color:var(--blue);font:600 15px "DM Sans";padding:7px 1px;cursor:pointer}.lang button.active{color:var(--gold)}.lang i{width:1px;height:18px;background:var(--gold)}
.menu{display:none}
.hero{height:355px;position:relative;overflow:hidden}.slide{position:absolute;inset:0;opacity:0;transition:opacity .5s;background-image:var(--bg);background-size:cover;background-position:center}.slide.active{opacity:1}
.copy{position:absolute;left:10.7%;top:127px;z-index:2}.copy h1{font:700 46px/.91 "Playfair Display",Georgia,serif;letter-spacing:-1.2px;margin:0}.copy h1 span,.copy h1 strong{display:block}.copy strong,.copy em{color:var(--gold);font-style:normal}.rule,.topline{width:54px;height:2px;background:var(--gold)}.rule{margin:12px 0 7px}.copy p{font-size:16px;font-weight:500;line-height:1.12;margin:0 0 9px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;background:linear-gradient(#efa41c,#dd8300);color:white;border-radius:3px;padding:11px 27px;min-width:255px;font-size:18px}
.arrow{position:absolute;z-index:5;top:54%;transform:translateY(-50%);border:0;border-radius:50%;width:54px;height:54px;background:rgba(255,255,255,.82);backdrop-filter:blur(5px);color:var(--blue);font-size:44px;line-height:42px;cursor:pointer;box-shadow:0 2px 8px #0001}.prev{left:2.5%}.next{right:2.5%}
.dots{position:absolute;z-index:6;bottom:7px;left:50%;transform:translateX(-50%);display:flex;gap:22px;background:rgba(255,255,255,.55);backdrop-filter:blur(4px);border-radius:10px;padding:1px 8px}.dots button{border:0;background:transparent;color:var(--blue);font:600 16px "DM Sans";padding:5px 3px;cursor:pointer}.dots button.active{color:var(--gold);border-bottom:2px solid var(--gold)}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:11px 2.6% 10px}.service-card,.course-card{height:275px;border-radius:10px;position:relative;overflow:hidden;padding:17px 42px}.service-card{background:linear-gradient(120deg,#fbfaf9,#f6f0ea)}.course-card{background:linear-gradient(125deg,#fbfdff 0%,#f0f7fc 48%,#dfedf8 100%)}.topline{margin-bottom:7px}.cards h2,.contactbar h2{font:700 45px/1 "Playfair Display",Georgia,serif;margin:0}.service-items{display:grid;grid-template-columns:repeat(4,1fr);margin:11px 0 9px}.service-items>div{height:91px;border-right:1px solid #ddb574;text-align:center;padding:0 8px;font-size:15px}.service-items>div:last-child{border:0}.service-items svg{display:block;margin:0 auto 5px;width:43px;height:43px;fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.small{min-width:245px;padding:10px 25px}
.course-card h3{font:700 33px/.94 "Playfair Display",Georgia,serif;color:var(--gold);margin:8px 0 8px}.course-card p{font-size:16px;line-height:1.15;margin:0 0 10px}.cap{position:absolute;z-index:2;right:6%;top:78px;width:155px;height:116px;fill:none;stroke:var(--blue);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.cap circle{fill:var(--gold);stroke:var(--gold)}.cap path:last-of-type{stroke:var(--gold)}
.wave{position:absolute;border-radius:50%;border:35px solid rgba(255,255,255,.45);width:390px;height:220px;right:-100px;bottom:-145px;transform:rotate(-12deg)}.w2{width:470px;height:260px;right:-50px;bottom:-205px;border-width:28px;border-color:rgba(199,221,239,.35)}
.contactbar{height:151px;margin:0 2.6% 10px;border-radius:9px;background:linear-gradient(105deg,#003f78,#002e5d 72%,#123b5d);color:#fff;display:grid;grid-template-columns:1.25fr .85fr .9fr;align-items:center;padding:14px 45px}.contactlead{height:105px;display:flex;align-items:center;gap:31px;border-right:1px solid #c98527}.chat{width:105px;height:84px;fill:none;stroke:#fff;stroke-width:5;stroke-linejoin:round}.chat circle{fill:var(--gold);stroke:var(--gold)}.contactbar h2{font-size:41px}.contactbar h3{font:700 31px/1 "Playfair Display",Georgia,serif;color:var(--gold);margin:3px 0 5px}.contactbar p,.contactbar a,.contactbar span{font-size:16px;margin:0;color:#fff}.contactpiece{height:88px;border-right:1px solid #c98527;padding-left:45px;display:flex;align-items:center;gap:22px}.contactpiece:last-child{border:0}.contactpiece svg{width:51px;height:51px;fill:none;stroke:var(--gold);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
#about{height:1px}
@media(min-width:1200px) and (min-height:780px){body{overflow-y:hidden}}
@media(max-width:1050px){.nav-shell{gap:25px}nav{gap:24px}.header{grid-template-columns:220px 1fr}.logo{width:205px}}
@media(max-width:800px){body{overflow:auto}.header{height:82px;grid-template-columns:180px 1fr;padding:4px 18px}.logo{width:170px}.menu{display:block;justify-self:end;border:0;background:rgba(255,255,255,.7);border-radius:8px;font-size:25px;color:var(--blue)}.nav-shell{display:none;position:absolute;top:78px;right:15px;flex-direction:column;gap:10px;background:rgba(255,255,255,.94);padding:15px}.nav-shell.open{display:flex}nav{flex-direction:column;gap:2px}.hero{height:480px}.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.55),transparent)}.copy{z-index:3;left:9%;top:135px;max-width:78%}.copy h1{font-size:39px}.cards{grid-template-columns:1fr}.service-card,.course-card{height:auto;min-height:275px}.contactbar{height:auto;grid-template-columns:1fr;gap:8px}.contactlead,.contactpiece{border-right:0;border-bottom:1px solid #c98527;padding:14px 0}.contactpiece:last-child{border:0}}
@media(max-width:540px){.copy h1{font-size:34px}.service-card,.course-card{padding:20px}.service-items{grid-template-columns:1fr 1fr;gap:13px}.service-items>div{border:0}.cap{opacity:.14}.cards h2{font-size:39px}.contactbar{padding:20px}.contactbar h2{font-size:36px}}

/* ===== V3 visual refinement ===== */
.header{height:82px;padding-top:4px;padding-bottom:4px}
.logo{width:225px;height:70px}.logo img{max-height:67px}
.header-actions{justify-self:end;display:flex;align-items:center;gap:22px}
.nav-shell{display:flex;align-items:center;gap:0;background:rgba(255,255,255,.48);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-radius:9px;padding:2px 16px;box-shadow:0 1px 7px rgba(0,0,0,.035)}
nav{gap:45px}
.lang{background:rgba(255,255,255,.48);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-radius:9px;padding:2px 10px;box-shadow:0 1px 7px rgba(0,0,0,.035)}
.hero{height:330px}.copy{top:112px}
.dots{bottom:6px;background:transparent;backdrop-filter:none;gap:15px;padding:0}
.dots button{background:rgba(255,255,255,.52);backdrop-filter:blur(4px);border-radius:6px;padding:4px 7px}
.dots button.active{border-bottom:2px solid var(--gold)}
.cards{padding-top:7px;padding-bottom:7px;gap:0}
.service-card,.course-card{height:248px;padding-top:13px;padding-bottom:12px;border-radius:0}
.service-card{background:linear-gradient(100deg,#fff 0%,#fbfaf8 72%,#f7f2ec 100%)}
.course-card{background:linear-gradient(105deg,rgba(250,253,255,.15) 0%,#f4f9fd 28%,#e5f0f8 72%,#dbeaf5 100%);border-radius:0 0 0 44px}
.cards h2{font-size:42px}
.service-items{margin:7px 0 7px}.service-items>div{height:80px}.service-items svg{width:40px;height:40px;margin-bottom:2px}
.taxicon text{fill:var(--blue);stroke:none;font:700 7px "DM Sans",Arial,sans-serif;text-anchor:middle}.taxicon text:last-child{font-size:5.4px}
.notaryicon circle{fill:#fff;stroke:var(--gold);stroke-width:3}.notaryicon path:last-child{stroke:var(--gold);stroke-width:2}
.course-card h3{font-size:31px;margin:5px 0 6px}.course-card p{font-size:15px;margin-bottom:7px}.cap{top:63px;width:145px}
.wave{opacity:.9}
.contactbar{height:112px;margin-bottom:4px;padding:8px 45px;border-radius:8px}
.contactlead{height:78px;gap:27px}.chat{width:83px;height:67px}.contactbar h2{font-size:36px}.contactbar h3{font-size:27px;margin:3px 0 0}
.contactpiece{height:68px}.contactpiece svg{width:43px;height:43px}
.contactbar p,.contactbar a,.contactbar span{font-size:15px}
@media(min-width:1200px) and (min-height:720px){body{overflow-y:hidden}}
@media(max-width:1050px){.header-actions{gap:12px}nav{gap:22px}}
@media(max-width:800px){
 .header-actions{display:none;position:absolute;top:76px;right:15px;flex-direction:column;align-items:stretch;gap:8px}
 .header-actions.open{display:flex}.nav-shell{display:flex;flex-direction:column;align-items:stretch}.lang{justify-content:center}
 .hero{height:480px}.copy{top:135px}.cards{gap:10px}.service-card,.course-card{height:auto;min-height:275px;border-radius:10px}
 .contactbar{height:auto}.contactlead{height:auto}
}

/* ===== V4 precision adjustments ===== */

/* Header: restore clear spacing while keeping EN/ES separate */
.header-actions{gap:22px}
.nav-shell{gap:44px;padding:2px 18px}
nav{gap:0}
.nav-shell a{display:block;white-space:nowrap}

/* Slide numbers: clean typography, no individual button boxes */
.dots{gap:24px}
.dots button,
.dots button.active{
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border-radius:0;
  padding:5px 2px;
}
.dots button.active{border-bottom:2px solid var(--gold)}

/* Use the available vertical room instead of leaving white space below */
.cards{padding-top:8px;padding-bottom:7px}
.service-card,.course-card{height:264px}

/* Services: larger icons and vertically balanced content */
.service-items{
  margin:10px 0 12px;
  align-items:center;
}
.service-items>div{
  height:94px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.service-items svg{
  width:49px;
  height:49px;
  margin:0 auto 5px;
}
.taxicon text{font-size:7px}
.taxicon text:last-child{font-size:5.3px}
.service-card .small{margin-top:0}

/* Courses: make supporting copy quieter */
.course-card h3{margin-top:7px;margin-bottom:6px}
.course-card p{
  font-size:13.5px;
  line-height:1.12;
  margin-bottom:9px;
}
.course-card .cap{top:69px}

/* Contact fills the remaining desktop height without becoming bulky */
.contactbar{
  height:126px;
  margin-bottom:0;
}
.contactlead{height:88px}
.contactpiece{height:76px}

/* Desktop target: fit the 100% viewport without forcing a scrollbar */
@media(min-width:1200px) and (min-height:700px){
  main{min-height:100vh}
  body{overflow-y:hidden}
}

/* Preserve mobile behavior */
@media(max-width:800px){
  body{overflow:auto}
  .header-actions{gap:8px}
  .nav-shell{gap:0}
  .service-card,.course-card{height:auto;min-height:275px}
  .contactbar{height:auto}
}
