:root {
  --ink:#17233a;
  --muted:#60708a;
  --paper:#f7f8fb;
  --white:#fff;
  --line:#dae1ea;
  --blue:#113f7e;
  --blue-dark:#08254e;
  --red:#b8443c;
  --gold:#ebc780;
  --radius:20px;
  --shadow:0 18px 45px rgba(13,35,68,.12);
}
[data-theme="dark"] {
  --ink:#eef3fc;
  --muted:#b4c0d5;
  --paper:#101a2c;
  --white:#17233a;
  --line:#2d3d56;
  --blue:#578bd0;
  --blue-dark:#0b1f41;
  --red:#f07a70;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;
}
.shell {
  width:min(1120px,calc(100% - 40px));
  margin:auto;
}
a {
  color:inherit;
  text-decoration:none;
}
.skip-link {
  position:absolute;
  left:16px;
  top:-100px;
  background:var(--blue);
  color:#fff;
  padding:10px 14px;
  border-radius:8px;
  z-index:99;
}
.skip-link:focus {
  top:16px;
}
:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:3px;
}
.site-header {
  position:sticky;
  top:0;
  z-index:10;
  background:color-mix(in srgb,var(--paper) 92%,transparent);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.nav-wrap {
  min-height:82px;
  display:flex;
  gap:20px;
  align-items:center;
}
.brand {
  display:flex;
  align-items:center;
  gap:11px;
  font-weight:800;
  line-height:1.14;
  font-size:.88rem;
  min-width:215px;
}
.brand img {
  border-radius:10px;
  background:#fff;
  padding:3px;
}
.brand small {
  display:block;
  color:var(--red);
  font-size:.63rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  margin-bottom:4px;
}
.site-nav {
  display:flex;
  gap:17px;
  margin-left:auto;
}
.site-nav a {
  font-size:.86rem;
  font-weight:700;
  color:var(--muted);
  padding:8px 0;
  border-bottom:2px solid transparent;
}
.site-nav a:hover,.site-nav a[aria-current="page"] {
  color:var(--blue);
  border-color:var(--red);
}
.nav-actions {
  display:flex;
  align-items:center;
  gap:10px;
}
.theme-button {
  background:var(--white);
  border:1px solid var(--line);
  color:var(--ink);
  width:38px;
  height:38px;
  border-radius:50%;
  font-size:19px;
  cursor:pointer;
}
.menu-button {
  display:none;
}
.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  background:var(--red);
  color:#fff;
  font-weight:800;
  font-size:.9rem;
  transition:.2s;
}
.button:hover {
  transform:translateY(-2px);
  filter:brightness(.95);
}
.button-small {
  min-height:38px;
  padding:0 14px;
  font-size:.78rem;
}
.button-whatsapp {
  background:#1c9c59;
}
.button-ghost {
  background:transparent;
  border:1px solid rgba(255,255,255,.55);
}
.hero {
  background:radial-gradient(circle at 82% 10%,#315a9a 0,transparent 27%),linear-gradient(135deg,var(--blue),var(--blue-dark));
  color:#fff;
  padding:86px 0;
}
.hero-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:60px;
  align-items:center;
}
.eyebrow {
  margin:0 0 13px;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
  font-size:.73rem;
}
.eyebrow-red {
  color:var(--red);
}
h1,h2,h3 {
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.08;
}
h1 {
  font-size:clamp(3rem,6vw,5.6rem);
  max-width:670px;
  margin:0 0 22px;
  letter-spacing:-.045em;
}
h1 em {
  color:var(--gold);
}
h2 {
  font-size:clamp(2rem,4vw,3.45rem);
  margin:0 0 20px;
  letter-spacing:-.025em;
}
.lead {
  font-size:1.15rem;
  color:#e2eaf8;
  max-width:570px;
  margin-bottom:31px;
}
.button-row {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.help-card {
  background:var(--white);
  color:var(--ink);
  border-radius:var(--radius);
  padding:30px;
  box-shadow:var(--shadow);
}
.card-label {
  margin:0;
  color:var(--red);
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.help-card h2 {
  font-size:2rem;
  margin-top:8px;
}
.help-card dl {
  margin:25px 0;
  border-top:1px solid var(--line);
}
.help-card dl div {
  padding:11px 0;
  border-bottom:1px solid var(--line);
}
dt {
  font-size:.7rem;
  color:var(--muted);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
dd {
  margin:2px 0;
  font-weight:700;
}
.help-card dd a,.text-link {
  color:var(--blue);
  text-decoration:underline;
  text-underline-offset:4px;
  font-weight:800;
}
.values {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:-35px;
  position:relative;
}
.values article {
  background:var(--white);
  padding:25px;
  border:1px solid var(--line);
  border-radius:15px;
  box-shadow:0 8px 20px rgba(13,35,68,.06);
}
.values span {
  color:var(--red);
  font:800 1.6rem Georgia,serif;
}
.values h2 {
  font-size:1.3rem;
  margin:7px 0;
}
.values p,.split p,.callout p,.page-intro p,.content-card p,.contact-list dd {
  color:var(--muted);
}
.section {
  padding:100px 0;
}
.split {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:80px;
}
.split p {
  margin-top:0;
}
.section-blue {
  background:var(--blue-dark);
  color:#fff;
}
.callout {
  display:flex;
  gap:35px;
  justify-content:space-between;
  align-items:center;
}
.callout h2 {
  max-width:580px;
}
.callout p {
  color:#d3deef;
  max-width:600px;
}
.button-light {
  background:#fff;
  color:var(--blue-dark);
}
.button-outline-light {
  background:transparent;
  border:1px solid #b8cae5;
}
.site-footer {
  border-top:1px solid var(--line);
  padding:35px 0;
  color:var(--muted);
  font-size:.84rem;
}
.footer-grid {
  display:flex;
  justify-content:space-between;
  gap:30px;
}
.footer-grid>div {
  display:flex;
  align-items:center;
  gap:12px;
}
.footer-grid img {
  border-radius:8px;
  background:#fff;
  padding:2px;
}
.footer-grid p {
  margin:0;
}
.page-hero {
  background:linear-gradient(135deg,#e9eff9,#f9fafc);
  padding:75px 0 60px;
  border-bottom:1px solid var(--line);
}
[data-theme="dark"] .page-hero {
  background:linear-gradient(135deg,#192b49,#101a2c);
}
.page-hero h1 {
  color:var(--blue);
  font-size:clamp(2.8rem,5vw,4.6rem);
  max-width:850px;
}
.page-intro {
  font-size:1.15rem;
  max-width:720px;
}
.content-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.content-card {
  padding:27px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.content-card h2 {
  font-size:1.55rem;
}
.content-card h3 {
  font-size:1.25rem;
  margin:0 0 10px;
}
.content-card p {
  margin-bottom:0;
}
.wide-copy {
  max-width:790px;
}
.wide-copy p {
  font-size:1.07rem;
  color:var(--muted);
}
.timeline {
  border-left:2px solid var(--red);
  padding-left:28px;
  display:grid;
  gap:30px;
}
.timeline h2 {
  font-size:1.5rem;
  margin-bottom:7px;
}
.notice {
  background:#fff6e9;
  border-left:4px solid var(--gold);
  padding:22px 25px;
  border-radius:0 12px 12px 0;
  color:#5e491d;
}
.contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}
.contact-list {
  list-style:none;
  margin:0;
  padding:0;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:15px 25px;
}
.contact-list li {
  padding:18px 0;
  border-bottom:1px solid var(--line);
}
.contact-list li:last-child {
  border:0;
}
.map-box {
  background:linear-gradient(145deg,var(--blue),var(--blue-dark));
  border-radius:var(--radius);
  color:#fff;
  padding:35px;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.map-box p {
  color:#d6e1f4;
}
.map-box .button {
  align-self:flex-start;
}
@media(max-width:1040px) {
  .site-nav {
    gap:12px;
  }
  .nav-actions .button-whatsapp {
    display:none;
  }
}
@media(max-width:820px) {
  .nav-wrap {
    flex-wrap:wrap;
    min-height:72px;
  }
  .menu-button {
    display:flex;
    margin-left:auto;
    width:42px;
    height:42px;
    flex-direction:column;
    gap:5px;
    justify-content:center;
    border:1px solid var(--line);
    border-radius:9px;
    background:var(--white);
    padding:10px;
  }
  .menu-button span {
    height:2px;
    width:100%;
    background:var(--ink);
  }
  .site-nav {
    display:none;
    order:4;
    width:100%;
    flex-direction:column;
    gap:2px;
    padding:8px 0 15px;
  }
  .site-nav.is-open {
    display:flex;
  }
  .site-nav a {
    padding:10px 0;
  }
  .nav-actions {
    margin-left:0;
  }
  .hero {
    padding:65px 0;
  }
  .hero-grid,.split,.contact-grid {
    grid-template-columns:1fr;
    gap:35px;
  }
  .values {
    grid-template-columns:1fr;
    margin-top:0;
    padding-top:20px;
  }
  .content-grid {
    grid-template-columns:1fr 1fr;
  }
  .section {
    padding:70px 0;
  }
  .callout {
    display:block;
  }
  .callout .button-row {
    margin-top:25px;
  }
  .footer-grid {
    display:block;
  }
  .footer-grid>p {
    margin-top:20px;
  }
}
@media(max-width:520px) {
  .shell {
    width:min(100% - 28px,1120px);
  }
  .brand {
    min-width:auto;
    font-size:.78rem;
  }
  .brand img {
    width:43px;
    height:43px;
  }
  .nav-actions {
    gap:6px;
  }
  .hero {
    padding:52px 0;
  }
  .help-card {
    padding:23px;
  }
  .content-grid {
    grid-template-columns:1fr;
  }
  .footer-grid>div {
    align-items:flex-start;
  }
  h1 {
    font-size:3.1rem;
  }
}
/* Content sections and gallery */
.rich-hero {
  position:relative;
  overflow:hidden;
}
.rich-hero:after {
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  border-radius:50%;
  right:-80px;
  top:-160px;
  background:radial-gradient(circle,rgba(184,68,60,.25),transparent 68%);
}
.rich-hero .shell {
  position:relative;
  z-index:1;
}
.soft-section {
  background:color-mix(in srgb,var(--white) 70%,var(--paper));
  border-block:1px solid var(--line);
}
.section-title {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:28px;
}
.section-title h2 {
  max-width:620px;
}
.section-title>p {
  max-width:370px;
  color:var(--muted);
}
.gallery-section {
  background:var(--white);
}
.photo-gallery {
  display:grid;
  grid-template-columns:1.7fr 1fr 1fr;
  gap:16px;
}
.photo-slot {
  margin:0;
  min-height:230px;
  padding:20px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(145deg,#204d89,#092954);
  overflow:hidden;
  position:relative;
}
.photo-slot:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 80% 15%,rgba(235,199,128,.6),transparent 25%),linear-gradient(135deg,transparent 45%,rgba(184,68,60,.4));
  opacity:.75;
}
.photo-slot>* {
  position:relative;
  z-index:1;
}
.photo-slot span {
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.72rem;
  font-weight:800;
}
.photo-slot figcaption {
  font:700 1.4rem Georgia,serif;
}
.slot-large {
  min-height:300px;
}
.official-copy p:first-child {
  font-size:1.25rem;
  color:var(--ink);
}
.service-feature-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.service-feature {
  padding:32px;
  border-radius:22px;
  background:var(--white);
  border:1px solid var(--line);
}
.service-feature span {
  font:700 2.4rem Georgia,serif;
  color:var(--red);
}
.service-feature h2 {
  font-size:1.7rem;
  margin-top:17px;
}
.service-feature p {
  color:var(--muted);
}
.service-feature.featured {
  background:linear-gradient(145deg,var(--blue),var(--blue-dark));
  color:#fff;
}
.service-feature.featured span {
  color:var(--gold);
}
.service-feature.featured p {
  color:#d6e1f4;
}
.button-dark-outline {
  background:transparent;
  border:1px solid var(--blue);
  color:var(--blue);
}
.map-section {
  background:linear-gradient(135deg,#103a73,#061b3c);
}
.country-grid {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
}
.country-grid article {
  text-align:center;
  color:#fff;
  padding:20px 8px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  background:rgba(255,255,255,.06);
}
.country-grid span {
  font-size:1.7rem;
}
.country-grid h3 {
  margin:5px 0 0;
  font-size:1rem;
}
.event-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.event-highlight {
  background:linear-gradient(145deg,var(--red),#7d2623);
  color:#fff;
  border-radius:24px;
  padding:40px;
}
.event-highlight h2 {
  font-size:2.7rem;
}
.event-highlight p {
  color:#ffe5e2;
  margin-bottom:28px;
}
.event-highlight .button {
  background:#fff;
  color:var(--red);
}
.event-list {
  display:grid;
  gap:12px;
}
.event-list article {
  border:1px solid var(--line);
  border-radius:16px;
  padding:20px;
  background:var(--white);
}
.event-list span {
  font-size:.7rem;
  color:var(--red);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.event-list h3 {
  font-size:1.3rem;
  margin:4px 0;
}
.event-list p {
  margin:0;
  color:var(--muted);
}
.map-rich {
  background:radial-gradient(circle at 88% 10%,#4677be,transparent 35%),linear-gradient(145deg,var(--blue),var(--blue-dark));
}
@media(max-width:820px) {
  .photo-gallery,.service-feature-grid,.event-layout {
    grid-template-columns:1fr;
  }
  .photo-slot,.slot-large {
    min-height:220px;
  }
  .country-grid {
    grid-template-columns:repeat(3,1fr);
  }
  .section-title {
    display:block;
  }
  .section-title>p {
    margin-top:12px;
  }
}
@media(max-width:480px) {
  .country-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .event-highlight {
    padding:27px;
  }
  .event-highlight h2 {
    font-size:2.1rem;
  }
}
/* Modern interface layer */
:root {
  --glow:rgba(235,199,128,.38);
}
body:before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background-image:radial-gradient(circle at 5% 18%,rgba(17,63,126,.055),transparent 24%),radial-gradient(circle at 96% 78%,rgba(184,68,60,.055),transparent 28%);
}
.site-header {
  border-bottom-color:color-mix(in srgb,var(--line) 70%,transparent);
  box-shadow:0 8px 30px rgba(10,28,59,.05);
}
.brand {
  transition:transform .25s ease;
}
.brand:hover {
  transform:translateY(-2px);
}
.site-nav a {
  transition:color .2s ease,border-color .2s ease,transform .2s ease;
}
.site-nav a:hover {
  transform:translateY(-1px);
}
.hero-rich {
  min-height:690px;
  background:radial-gradient(circle at 78% 25%,rgba(235,199,128,.22),transparent 18%),radial-gradient(circle at 65% 85%,rgba(184,68,60,.25),transparent 24%),linear-gradient(122deg,#061b3d,#103f80 52%,#081b3b);
}
.hero-rich:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,transparent 0 52%,rgba(255,255,255,.045) 52% 54%,transparent 54%);
}
.hero-rich .shell {
  position:relative;
  z-index:1;
}
.help-card {
  border:1px solid rgba(255,255,255,.35);
  transform:rotate(1.5deg);
  transition:transform .35s ease,box-shadow .35s ease;
}
.help-card:hover {
  transform:rotate(0) translateY(-7px);
  box-shadow:0 28px 60px rgba(0,0,0,.22);
}
.values-rich article {
  transition:transform .3s ease,box-shadow .3s ease;
  border-top:3px solid transparent;
}
.values-rich article:nth-child(1) {
  border-top-color:var(--blue);
}
.values-rich article:nth-child(2) {
  border-top-color:var(--gold);
}
.values-rich article:nth-child(3) {
  border-top-color:var(--red);
}
.values-rich article:hover,.content-card:hover,.service-feature:hover {
  transform:translateY(-8px);
  box-shadow:var(--shadow);
}
.content-card,.service-feature {
  transition:transform .3s ease,box-shadow .3s ease;
}
.section-blue {
  position:relative;
  overflow:hidden;
}
.section-blue:before {
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  right:-130px;
  bottom:-180px;
  background:radial-gradient(circle,var(--glow),transparent 65%);
}
.section-blue .shell {
  position:relative;
}
.site-footer {
  background:linear-gradient(115deg,#06192f,#0e3465);
  border:0;
  color:#d8e5f7;
  padding:52px 0;
}
.site-footer strong {
  color:#fff;
}
.site-footer img {
  padding:4px;
}
.footer-grid {
  align-items:center;
}
.footer-grid:after {
  content:"24 H";
  font:800 clamp(2rem,5vw,4rem) Georgia,serif;
  letter-spacing:.06em;
  color:rgba(255,255,255,.08);
}
.page-hero {
  background:radial-gradient(circle at 88% 20%,rgba(235,199,128,.55),transparent 19%),linear-gradient(135deg,#e8eef9,#fcfcfe 60%,#edf2fa);
}
.page-hero h1 {
  position:relative;
}
.page-hero h1:after {
  content:"";
  display:block;
  width:74px;
  height:5px;
  border-radius:20px;
  background:var(--red);
  margin-top:23px;
}
.photo-slot {
  transition:transform .4s ease,filter .4s ease;
  cursor:default;
}
.photo-slot:hover {
  transform:translateY(-7px) scale(1.01);
  filter:saturate(1.18);
}
.photo-slot:nth-child(2) {
  background:linear-gradient(145deg,#a5423b,#5c1e25);
}
.photo-slot:nth-child(3) {
  background:linear-gradient(145deg,#315a85,#1c314c);
}
.event-list article {
  transition:transform .25s ease;
}
.event-list article:hover {
  transform:translateX(8px);
}
.reveal-item {
  opacity:0;
  transform:translateY(28px);
  transition:opacity .65s cubic-bezier(.2,.8,.2,1),transform .65s cubic-bezier(.2,.8,.2,1);
}
.reveal-item.is-visible {
  opacity:1;
  transform:none;
}
.floating-help {
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:20;
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#1c9c59;
  color:#fff;
  font-weight:900;
  font-size:1.2rem;
  box-shadow:0 12px 26px rgba(28,156,89,.35);
  transition:transform .25s ease;
}
.floating-help:hover {
  transform:scale(1.08) translateY(-3px);
}
@media(max-width:820px) {
  .hero-rich {
    min-height:auto;
  }
  .help-card {
    transform:none;
  }
  .footer-grid:after {
    display:none;
  }
  .floating-help {
    right:15px;
    bottom:15px;
    width:52px;
    height:52px;
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important;
  }
  .reveal-item {
    opacity:1;
    transform:none;
  }
}

/* Shared header and footer components */
.topbar{background:#071d3c;color:#dbe8fb;font-size:.72rem;border-bottom:1px solid rgba(255,255,255,.12)}.topbar-inner{min-height:35px;display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar-socials{display:flex;align-items:center;gap:13px}.topbar-socials a{color:#fff;font-weight:700}.topbar-socials span{color:#adbfda}.site-header{top:0}.site-header .nav-wrap{min-height:76px}.site-footer{padding:0;background:linear-gradient(130deg,#06172e,#103d79);color:#cfddf2}.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:45px;padding:55px 0 38px}.footer-brand{display:flex;gap:15px;align-items:flex-start}.footer-brand img{background:#fff;border-radius:13px;padding:3px}.footer-main strong{font:700 1.3rem Georgia,serif;color:#fff}.footer-main h2{font:700 .84rem system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}.footer-main p,.footer-main span{display:block;margin:7px 0;color:#b7c9e4;font-size:.84rem}.footer-main a{display:block;width:max-content;margin:7px 0;color:#fff;font-weight:700}.footer-main a:hover{color:var(--gold)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid rgba(255,255,255,.13);font-size:.72rem;color:#a9bddb}.help-card,.help-card:hover{transform:none}.help-card:hover{box-shadow:0 25px 55px rgba(0,0,0,.22)}.page-hero{min-height:310px;display:flex;align-items:center}.page-hero .page-intro{font-size:1.2rem}.page-hero:before{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(17,63,126,.16);border-radius:50%;right:13%;bottom:-75px;box-shadow:0 0 0 25px rgba(184,68,60,.05),0 0 0 55px rgba(17,63,126,.04)}@media(max-width:820px){.topbar-inner{min-height:31px;justify-content:center}.topbar-inner>span,.topbar-socials span{display:none}.topbar-socials{gap:17px}.footer-main{grid-template-columns:1fr;gap:25px;padding:40px 0 28px}.footer-bottom{display:block;line-height:1.9}.site-header .nav-wrap{min-height:67px}.page-hero{min-height:260px}}
/* Keep the home contact card still on hover. */
.hero .help-card,
.hero .help-card:hover {
  transform: none !important;
}
