:root {
  --cms-navy: #0b2943;
  --cms-navy-deep: #061a2c;
  --cms-gold: #d7a936;
  --cms-gold-light: #f3cf72;
  --cms-ink: #183044;
  --cms-muted: #66798a;
  --cms-surface: #fffdf8;
  --cms-line: #e8e1d5;
  --cms-green: #18b765;
  --cms-radius: 16px;
  --cms-shadow: 0 18px 50px rgba(6, 26, 44, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.cms-site { margin: 0; padding-top: 76px; color: var(--cms-ink); background: var(--cms-surface); overflow-x: hidden; }
a { text-underline-offset: 3px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -100px; left: 1rem; z-index: 9999; padding: .7rem 1rem; color: #fff; background: #000; border-radius: 0 0 8px 8px; }
.skip-link:focus { top: 0; }

.cms-header { position: fixed; inset: 0 0 auto; z-index: 1500; height: 76px; color: #fff; background: linear-gradient(90deg, var(--cms-navy-deep), var(--cms-navy)); box-shadow: 0 7px 28px rgba(6,26,44,.2); }
.cms-header__inner { width: min(1540px, calc(100% - 32px)); height: 100%; margin: auto; display: flex; align-items: center; gap: 18px; }
.cms-logo { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.cms-logo__mark { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 12px; color: var(--cms-navy-deep); background: linear-gradient(145deg,var(--cms-gold-light),var(--cms-gold)); font-size: 12px; font-weight: 900; box-shadow: inset 0 1px rgba(255,255,255,.5); }
.cms-logo__text { display: grid; line-height: 1.1; }
.cms-logo__text strong { letter-spacing: .04em; font-size: 18px; }
.cms-logo__text small { margin-top: 4px; color: #a9bac8; font-size: 10px; white-space: nowrap; }
.cms-nav { align-self: stretch; margin-left: auto; }
.cms-nav__root { height: 100%; margin: 0; padding: 0; display: flex; align-items: stretch; list-style: none; }
.cms-nav__item { display: flex; align-items: center; position: relative; }
.cms-nav__label-row { display: flex; align-items: center; }
.cms-nav__label-row > a { position: relative; padding: 27px 11px; color: #dbe5ed; font-size: 14px; font-weight: 700; white-space: nowrap; text-decoration: none; }
.cms-nav__label-row > a::after { content: ''; position: absolute; left: 11px; right: 11px; bottom: 17px; height: 2px; background: var(--cms-gold); transform: scaleX(0); transition: transform .2s ease; }
.cms-nav__item:hover .cms-nav__label-row > a,.cms-nav__item:focus-within .cms-nav__label-row > a,.cms-nav__item.is-active .cms-nav__label-row > a { color: #fff; }
.cms-nav__item:hover .cms-nav__label-row > a::after,.cms-nav__item:focus-within .cms-nav__label-row > a::after,.cms-nav__item.is-active .cms-nav__label-row > a::after { transform: scaleX(1); }
.cms-nav__toggle { margin-left: -8px; padding: 10px 5px; border: 0; color: #94a9ba; background: transparent; cursor: pointer; }
.cms-submenu { position: absolute; top: 100%; left: 0; min-width: 250px; opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s ease; pointer-events: none; }
.cms-nav__item:hover > .cms-submenu,.cms-nav__item:focus-within > .cms-submenu,.cms-nav__item.is-open > .cms-submenu { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.cms-submenu__inner { padding: 12px; display: grid; gap: 3px; border: 1px solid var(--cms-line); border-top: 3px solid var(--cms-gold); border-radius: 0 0 14px 14px; background: #fff; box-shadow: var(--cms-shadow); }
.cms-submenu__link,.cms-mega-column a { padding: 9px 12px; border-radius: 8px; color: var(--cms-ink); font-size: 13px; line-height: 1.3; text-decoration: none; }
.cms-submenu__link:hover,.cms-mega-column a:hover { color: #9a6b00; background: #fff7df; }
.cms-submenu--mega { left: 50%; width: min(940px, calc(100vw - 40px)); transform: translate(-50%,8px); }
.cms-nav__item:hover > .cms-submenu--mega,.cms-nav__item:focus-within > .cms-submenu--mega,.cms-nav__item.is-open > .cms-submenu--mega { transform: translate(-50%,0); }
.cms-submenu--mega .cms-submenu__inner { grid-template-columns: .85fr 1.7fr .7fr; gap: 18px; padding: 20px; }
.cms-mega-column h3 { margin: 0 0 9px; padding: 0 10px 8px; border-bottom: 1px solid var(--cms-line); color: #9b6c06; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.cms-mega-column ul { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px 5px; list-style: none; }
.cms-mega-column:first-child ul,.cms-mega-column:last-child ul { grid-template-columns: 1fr; }
.cms-mega-column a { display: block; }
.cms-header__actions { display: flex; align-items: center; gap: 8px; }
.cms-language { position: relative; }
.cms-language > button { width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: #fff; background: rgba(255,255,255,.07); cursor: pointer; }
.cms-language__menu { position: absolute; top: calc(100% + 10px); right: 0; width: 150px; padding: 7px; display: grid; opacity: 0; visibility: hidden; transform: translateY(5px); border: 1px solid var(--cms-line); border-radius: 12px; background: #fff; box-shadow: var(--cms-shadow); transition: .2s; }
.cms-language:hover .cms-language__menu,.cms-language:focus-within .cms-language__menu,.cms-language.is-open .cms-language__menu { opacity: 1; visibility: visible; transform: translateY(0); }
.cms-language__menu a { padding: 9px 11px; border-radius: 7px; color: var(--cms-ink); text-decoration: none; }
.cms-language__menu a:hover { background: #fff6dc; }
.cms-call,.cms-whatsapp { padding: 10px 13px; border-radius: 999px; font-size: 13px; font-weight: 800; white-space: nowrap; text-decoration: none; }
.cms-call { color: var(--cms-navy-deep); background: var(--cms-gold); }
.cms-whatsapp { color: #fff; background: var(--cms-green); }
.cms-menu-button { display: none; width: 42px; height: 42px; margin-left: auto; padding: 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: transparent; }
.cms-menu-button span { display: block; height: 2px; margin: 5px 0; background: #fff; transition: .2s; }

.cms-banner { position: relative; width: min(1320px,calc(100% - 32px)); min-height: 340px; margin: 42px auto; overflow: hidden; border-radius: 24px; background: var(--cms-navy); box-shadow: var(--cms-shadow); }
.cms-banner__slide { display: none; position: relative; min-height: 340px; }
.cms-banner__slide.is-active { display: block; }
.cms-banner img { width: 100%; height: 340px; display: block; object-fit: cover; opacity: .58; }
.cms-banner__content { position: absolute; inset: 0; padding: clamp(30px,6vw,80px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; color: #fff; background: linear-gradient(90deg,rgba(6,26,44,.92),rgba(6,26,44,.1)); }
.cms-banner__content h2 { max-width: 680px; margin: 0 0 12px; color: #fff; font-size: clamp(28px,4vw,50px); }
.cms-banner__content p { max-width: 620px; font-size: 18px; }
.cms-banner__control,.cms-banner__pause { position: absolute; z-index: 3; border: 1px solid rgba(255,255,255,.4); color: #fff; background: rgba(6,26,44,.55); cursor: pointer; }
.cms-banner__control { top: 50%; width: 42px; height: 42px; border-radius: 50%; font-size: 28px; transform: translateY(-50%); }
.cms-banner__control.is-prev { left: 15px; }.cms-banner__control.is-next { right: 15px; }
.cms-banner__pause { right: 16px; bottom: 16px; padding: 6px 10px; border-radius: 8px; }

.cms-contact-form { width: min(900px,calc(100% - 32px)); margin: 40px auto; padding: clamp(24px,5vw,48px); border: 1px solid var(--cms-line); border-radius: 22px; background: #fff; box-shadow: 0 14px 44px rgba(6,26,44,.08); }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-bottom: 20px; }
.form-grid label { display: grid; gap: 7px; font-weight: 700; }.form-grid .is-full { grid-column: 1/-1; }
.form-grid input,.form-grid textarea { width: 100%; padding: 12px 14px; border: 1px solid #ccd4da; border-radius: 9px; font: inherit; }
.form-grid input:focus,.form-grid textarea:focus { outline: 3px solid rgba(215,169,54,.25); border-color: var(--cms-gold); }
.hp-field { position: absolute !important; left: -9999px !important; }
.form-status { min-height: 1.5em; color: var(--cms-muted); }.form-status.is-error { color: #b42318; }.form-status.is-success { color: #087a42; }

.cms-blog,.cms-article { width: min(1160px,calc(100% - 32px)); margin: auto; padding: 54px 0 80px; }
.cms-blog__hero { max-width: 760px; margin-bottom: 42px; }.cms-blog__hero > span { color: #a8790b; font-size: 12px; font-weight: 900; letter-spacing: .13em; }.cms-blog__hero h1 { margin: 7px 0 12px; font-size: clamp(34px,5vw,60px); }.cms-blog__hero p { color: var(--cms-muted); font-size: 18px; }
.cms-blog__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.cms-post-card { overflow: hidden; border: 1px solid var(--cms-line); border-radius: var(--cms-radius); background: #fff; box-shadow: 0 10px 30px rgba(6,26,44,.07); transition: transform .2s,box-shadow .2s; }.cms-post-card:hover { transform: translateY(-4px); box-shadow: var(--cms-shadow); }.cms-post-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }.cms-post-card > div { padding: 22px; }.cms-post-card time,.cms-article time { color: #9a6b00; font-size: 12px; font-weight: 800; }.cms-post-card h2 { margin: 8px 0; font-size: 21px; }.cms-post-card h2 a { color: var(--cms-ink); text-decoration: none; }.cms-post-card p { color: var(--cms-muted); }.cms-read-more { color: #986a00; font-weight: 800; text-decoration: none; }
.cms-article { max-width: 900px; }.cms-breadcrumb { display: flex; gap: 9px; margin-bottom: 35px; font-size: 14px; }.cms-article article > header { margin-bottom: 30px; }.cms-article h1 { margin: 10px 0; font-size: clamp(34px,5vw,58px); line-height: 1.12; }.cms-article__image { width: 100%; height: auto; margin-bottom: 32px; border-radius: 20px; }.cms-article__body { font-size: 17px; line-height: 1.85; }.cms-article__body img { max-width: 100%; height: auto; }
.cms-pagination { margin: 36px 0; display: flex; flex-wrap: wrap; gap: 7px; }.cms-pagination a { min-width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--cms-line); border-radius: 8px; color: var(--cms-ink); text-decoration: none; }.cms-pagination a[aria-current] { color: var(--cms-navy-deep); background: var(--cms-gold); border-color: var(--cms-gold); font-weight: 900; }
.empty-state { padding: 50px; border: 1px dashed #bbb; border-radius: 16px; text-align: center; color: var(--cms-muted); }

.language-landing { min-height: calc(100vh - 76px); display: grid; place-items: center; padding: 40px 20px; background: radial-gradient(circle at 50% 0,#244c68,var(--cms-navy-deep) 70%); }.language-landing__card { width: min(780px,100%); padding: clamp(30px,6vw,70px); border: 1px solid rgba(255,255,255,.15); border-radius: 28px; color: #fff; background: rgba(255,255,255,.07); box-shadow: 0 30px 80px rgba(0,0,0,.25); text-align: center; backdrop-filter: blur(12px); }.language-landing__mark { width: 64px; height: 64px; margin: auto; display: grid; place-items: center; border-radius: 18px; color: var(--cms-navy-deep); background: var(--cms-gold); font-weight: 900; }.language-landing h1 { margin: 18px 0 5px; color: #fff; font-size: clamp(42px,8vw,78px); }.language-landing__grid { margin-top: 34px; display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }.language-landing__grid a { padding: 20px 10px; display: grid; gap: 5px; border: 1px solid rgba(255,255,255,.2); border-radius: 14px; color: #fff; text-decoration: none; transition: .2s; }.language-landing__grid a:hover { color: var(--cms-navy-deep); background: var(--cms-gold); transform: translateY(-3px); }.language-landing__grid small { opacity: .7; }
.error-page { min-height: 65vh; display: grid; align-content: center; justify-items: center; padding: 50px 20px; text-align: center; }.error-page > strong { color: var(--cms-gold); font-size: clamp(80px,15vw,160px); line-height: 1; }.error-page h1 { margin: 10px 0; }

.cms-footer { padding: 55px max(20px,calc((100% - 1320px)/2)) 20px; color: #b8c7d3; background: var(--cms-navy-deep); }.cms-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 35px; }.cms-footer section { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }.cms-footer h2 { margin: 0 0 9px; color: #fff; font-size: 15px; }.cms-footer a { color: #c9d5de; text-decoration: none; }.cms-footer a:hover { color: var(--cms-gold-light); }.cms-footer__brand { display: flex; align-items: center; gap: 10px; color: #fff; font-size: 20px; }.cms-footer__brand span { padding: 9px; border-radius: 9px; color: var(--cms-navy-deep); background: var(--cms-gold); font-size: 11px; font-weight: 900; }.cms-footer__bottom { margin-top: 40px; padding-top: 18px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.12); font-size: 12px; }.cms-credit { opacity: .82; }
.floating-whatsapp { position: fixed; right: 22px; bottom: 22px; z-index: 1200; width: 54px; height: 54px; display: grid; place-items: center; border: 3px solid #fff; border-radius: 50%; color: #fff; background: var(--cms-green); box-shadow: 0 8px 24px rgba(0,0,0,.22); font-size: 11px; font-weight: 900; text-decoration: none; }

@media (max-width: 1399px) {
  .cms-logo__text small { display: none; }
  .cms-logo__mark { width: 40px; height: 40px; }
  .cms-nav__label-row > a { padding-inline: 9px; font-size: 13px; }
  .cms-call span { display: none; }
}
@media (max-width: 1199px) {
  body.cms-site { padding-top: 68px; }.cms-header { height: 68px; }.cms-header__inner { width: calc(100% - 24px); }
  .cms-menu-button { display: block; order: 2; }.cms-header__actions { order: 3; }.cms-nav { position: fixed; inset: 68px 0 0; margin: 0; padding: 10px 18px 40px; display: none; overflow: auto; background: var(--cms-navy-deep); }.cms-nav.is-open { display: block; }.cms-nav__root { height: auto; display: grid; }.cms-nav__item { display: block; border-bottom: 1px solid rgba(255,255,255,.1); }.cms-nav__label-row { justify-content: space-between; }.cms-nav__label-row > a { flex: 1; padding: 16px 5px; font-size: 15px; }.cms-nav__label-row > a::after { display: none; }.cms-nav__toggle { margin: 0; padding: 15px; color: #fff; }.cms-submenu,.cms-submenu--mega { position: static; width: auto; min-width: 0; display: none; opacity: 1; visibility: visible; transform: none !important; pointer-events: auto; }.cms-nav__item.is-open > .cms-submenu { display: block; }.cms-submenu__inner,.cms-submenu--mega .cms-submenu__inner { padding: 6px 6px 16px; display: grid; grid-template-columns: 1fr; border: 0; border-radius: 0; background: transparent; box-shadow: none; }.cms-submenu__link,.cms-mega-column a { color: #dbe5ed; }.cms-mega-column { padding: 8px 0; }.cms-mega-column h3 { color: var(--cms-gold-light); border-color: rgba(255,255,255,.1); }.cms-mega-column ul { grid-template-columns: repeat(2,minmax(0,1fr)); }.cms-language { display: none; }.cms-logo { margin-right: auto; }.cms-logo__text small { display: block; }
}
@media (max-width: 767px) {
  .cms-logo__text small { display: none; }.cms-logo__text strong { font-size: 16px; }.cms-whatsapp { display: none; }.cms-call { padding: 9px 12px; }.cms-submenu--mega .cms-mega-column ul { grid-template-columns: 1fr; }
  .form-grid,.cms-blog__grid,.cms-footer__grid { grid-template-columns: 1fr; }.cms-footer__bottom { flex-direction: column; }.language-landing__grid { grid-template-columns: repeat(2,1fr); }.cms-banner,.cms-banner__slide,.cms-banner img { min-height: 280px; height: 280px; }.cms-banner__content { padding: 35px; }.cms-banner__content p { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
.related-posts{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}

/* Domain-root landing page: a real content page, not just a language switcher. */
.root-landing{background:var(--cms-navy-deep);color:#fff;}
.root-landing .container{width:min(1180px,100%);margin:0 auto;padding:0 20px;}
.root-hero{padding:clamp(44px,8vw,86px) 0 clamp(30px,5vw,48px);text-align:center;background:radial-gradient(circle at 50% 0,#244c68,var(--cms-navy-deep) 70%);}
.root-mark{width:64px;height:64px;margin:0 auto 18px;display:grid;place-items:center;border-radius:18px;color:var(--cms-navy-deep);background:var(--cms-gold);font-weight:900;}
.root-hero h1{margin:0 0 14px;color:#fff;font-size:clamp(30px,5.4vw,54px);line-height:1.2;}
.root-hero h1 span{margin-top:10px;display:block;font-size:clamp(14px,2.2vw,20px);font-weight:600;opacity:.78;}
.root-lead{max-width:820px;margin:0 auto;font-size:clamp(15px,1.7vw,17px);line-height:1.9;color:#d7e2ea;}
.root-lead strong{color:#fff;}
.root-cta{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.root-facts{padding:26px 0;border-block:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);}
.root-facts ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.root-facts li{display:grid;gap:4px;justify-items:center;text-align:center;}
.root-facts__icon{font-size:22px;}
.root-facts strong{color:var(--cms-gold);font-size:20px;}
.root-facts small{font-size:12px;line-height:1.7;color:#b8c7d3;}
.root-languages{padding:clamp(38px,6vw,64px) 0 clamp(48px,8vw,80px);}
.root-languages h2{margin:0 0 28px;color:#fff;font-size:clamp(19px,2.6vw,26px);text-align:center;}
.root-languages__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.root-language{display:flex;flex-direction:column;gap:10px;padding:26px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.06);transition:.2s;}
.root-language:hover{border-color:var(--cms-gold);transform:translateY(-3px);}
.root-language h3{margin:0;font-size:24px;}
.root-language h3 a{color:#fff;text-decoration:none;}
.root-language h3 small{margin-left:8px;font-size:13px;font-weight:500;opacity:.65;}
.root-language__lead{margin:0;color:var(--cms-gold-light,#f2d08a);font-weight:700;line-height:1.7;}
.root-language__body{margin:0;flex:1;font-size:14px;line-height:1.9;color:#cfdae3;}
.root-language__links{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;}
.root-language__links a{padding:6px 12px;display:inline-block;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#e4edf3;font-size:13px;text-decoration:none;}
.root-language__links a:hover{color:var(--cms-navy-deep);background:var(--cms-gold);}
.root-language__cta{color:var(--cms-gold);font-weight:800;text-decoration:none;}
@media (max-width:860px){
  .root-facts ul{grid-template-columns:repeat(2,1fr);}
  .root-languages__grid{grid-template-columns:1fr;}
}
