
:root{
  --t2-blue-900:#004a7c;
  --t2-blue-700:#0068af;
  --t2-white:#ffffff;
  --t2-cream:#f9eeba;
  --t2-sun-soft:#f5e38b;
  --t2-sun:#f1d85c;

  --t2-radius:1.25rem;
  --t2-radius-lg:1.75rem;
  --t2-nav-h:92px;
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--t2-nav-h) + 14px);
}

body.t2-body{
  font-family:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 18% 12%, var(--t2-blue-700) 0%, var(--t2-blue-900) 55%, var(--t2-blue-900) 100%),
    radial-gradient(circle at 82% 88%, var(--t2-blue-700) 0%, var(--t2-blue-900) 60%, var(--t2-blue-900) 100%),
    var(--t2-blue-900);
  color:var(--t2-white);
  padding-top:var(--t2-nav-h);
}

/* NAVBAR */
.t2-nav{
  min-height:var(--t2-nav-h);
  padding:.8rem 0;
  background:linear-gradient(90deg, var(--t2-blue-900), var(--t2-blue-700));
  border-bottom:2px solid var(--t2-sun);
  transition:box-shadow .25s ease, transform .25s ease;
}
.t2-nav.nav-scrolled{
  box-shadow:0 14px 30px var(--t2-blue-900);
}

.navbar-brand .brand-main{
  font-weight:800;
  letter-spacing:.02em;
  font-size:1.0rem;
  color:var(--t2-white);
}
.navbar-brand .brand-tagline{
  font-size:.72rem;
  letter-spacing:.08em;
  color:var(--t2-cream);
  text-transform:none;
}

.navbar-nav .nav-link{
  color:var(--t2-cream);
  font-weight:700;
  padding:.55rem .9rem;
  border-radius:999px;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.navbar-nav .nav-link:hover{
  background:var(--t2-sun-soft);
  color:var(--t2-blue-900);
  transform:translateY(-1px);
}
.navbar-nav .nav-link.active{
  background:var(--t2-sun);
  color:var(--t2-blue-900);
}

/* NAV TOGGLER */
.navbar-toggler{
  border-radius:999px;
  border:1px solid var(--t2-cream);
}
.navbar-toggler:focus{
  box-shadow:0 0 0 .25rem var(--t2-sun-soft);
}
.navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23f9eeba' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* NAV LOGO */
.logo-card-nav{
  background: #1a4c89;
  padding:8px 12px;
  border-radius:16px;
  height:54px;
  width:54px;
  box-shadow:0 10px 24px var(--t2-blue-900);
}
.logo-svg-nav{ width:30px; height:30px; }

/* BUTTONS */
.t2-btn-primary{
  border-radius:999px;
  background:linear-gradient(135deg, var(--t2-sun), var(--t2-sun-soft));
  border:2px solid var(--t2-sun);
  color:var(--t2-blue-900);
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:0 14px 28px var(--t2-blue-900);
  transition:transform .15s ease, filter .15s ease;
}
.t2-btn-primary:hover{
  transform:translateY(-1px);
  filter:saturate(1.06);
  color:var(--t2-blue-900);
}

.t2-btn-outline{
  border-radius:999px;
  border:2px solid var(--t2-cream);
  background:var(--t2-blue-700);
  color:var(--t2-white);
  font-weight:800;
  transition:transform .15s ease, background .15s ease;
}
.t2-btn-outline:hover{
  transform:translateY(-1px);
  background:var(--t2-blue-900);
  color:var(--t2-white);
}

.t2-btn-outline-light{
  border-radius:999px;
  border:2px solid var(--t2-cream);
  background:var(--t2-blue-900);
  color:var(--t2-cream);
  font-weight:900;
  transition:transform .15s ease, background .15s ease;
}
.t2-btn-outline-light:hover{
  transform:translateY(-1px);
  background:var(--t2-blue-700);
  color:var(--t2-cream);
}

.t2-btn-link{
  border:0;
  background:transparent;
  color:var(--t2-sun);
  font-weight:800;
  padding:0;
  text-decoration:none;
}
.t2-btn-link:hover{ text-decoration:underline; }

/* LANGUAGE SWITCH */
/* Language nav spacing */
.t2-lang-nav .nav-link {
    padding-left: .55rem;
    padding-right: .55rem;
}

/* HERO */
.t2-hero-carousel{
  position:relative;
  border-radius:0;
  overflow:hidden;
}
.t2-hero-carousel .carousel,
.t2-hero-carousel .carousel-inner,
.t2-hero-carousel .carousel-item{
  height:clamp(420px, 60vh, 640px);
}
.t2-hero-carousel .carousel-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.06) contrast(1.04);
  transform:scale(1.01);
}
.t2-hero-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
}
.t2-hero-scrim{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, var(--t2-blue-900), var(--t2-blue-700), var(--t2-blue-900));
  opacity:.86;
}
.t2-hero-content{
  position:relative;
  z-index:3;
  width:100%;
  color:var(--t2-white);
  padding:2.2rem 0;
}

.hero-eyebrow{
  font-size:.8rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--t2-cream);
}
.hero-subtext{ color:var(--t2-cream); max-width:48rem; }

.t2-pill{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.45rem .85rem;
  border-radius:999px;
  border:2px solid var(--t2-cream);
  background:linear-gradient(135deg, var(--t2-blue-700), var(--t2-blue-900));
  color:var(--t2-cream);
  font-size:.85rem;
}

/* HERO LOGO CARD */
.hero-logo-card {
    background: #1a4c89;
    padding: 40px 30px;
    border-radius: 35px;
    width: 380px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.3);
}

.hero-logo-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.hero-logo-svg {
    height: 70px;
    width: auto;
}

.hero-logo-main {
    font-size: 28px;
    font-weight: 600;
    color: white;
    letter-spacing: 1px;
}

.hero-logo-tagline {
    font-size: 14px;
    color: #f1d85c;
    letter-spacing: 2px;
    margin-top: 5px;
}

/* SECTION STYLES */
.section-title{
  font-family:"Playfair Display", serif;
  font-weight:800;
  letter-spacing:.01em;
  color:var(--t2-cream);
}
.text-section{ color:var(--t2-cream); font-size:1rem; }

.bg-gradient-section,
.bg-section,
.bg-about{
  color:var(--t2-white);
  background:linear-gradient(135deg, var(--t2-blue-900), var(--t2-blue-700));
  border-top:2px solid var(--t2-sun-soft);
  border-bottom:2px solid var(--t2-sun-soft);
}

.bg-cta{
  background:linear-gradient(135deg, var(--t2-blue-700), var(--t2-blue-900));
  color:var(--t2-white);
  border-top:2px solid var(--t2-sun);
}
.bg-cta .text-section{ color:var(--t2-cream); }

/* CARDS */
.feature-card,
.step-card,
.package-card,
.about-card{
  background:var(--t2-white);
  border-radius:var(--t2-radius);
  border:2px solid var(--t2-sun-soft);
  box-shadow:0 12px 28px var(--t2-blue-900);
  transition:transform .18s ease;
  color:var(--t2-blue-900);
}
.feature-card:hover,
.step-card:hover,
.package-card:hover,
.about-card:hover{
  transform:translateY(-2px);
}
.feature-card{ padding:1.6rem 1.5rem; }
.step-card{ padding:1.9rem 1.7rem; }
.package-card{ padding:1.9rem 1.7rem; }
.about-card{ padding:1.9rem 1.7rem; }

.feature-card p,
.feature-card li,
.step-card p,
.step-card li,
.package-card p,
.package-card li,
.about-tagline{
  color:var(--t2-blue-700);
}

/* PACKAGE LABEL */
.package-label{
  display:inline-flex;
  align-items:center;
  padding:.35rem .8rem;
  border-radius:999px;
  background:var(--t2-sun-soft);
  border:2px solid var(--t2-sun);
  color:var(--t2-blue-900);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.72rem;
  margin-bottom:.8rem;
}

/* PROCESS STEP NUMBER */
.step-number{
  width:2.1rem;
  height:2.1rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:.7rem;
  background:linear-gradient(135deg, var(--t2-sun), var(--t2-sun-soft));
  color:var(--t2-blue-900);
  font-weight:900;
  font-size:.9rem;
}

/* QUOTE */
.t2-quote{
  margin:0;
  padding:1rem 1.1rem;
  border-radius:1rem;
  border:2px dashed var(--t2-sun);
  background:var(--t2-cream);
  color:var(--t2-blue-900);
  font-style:italic;
}
.t2-quote-author{
  font-style:normal;
  color:var(--t2-blue-700);
  font-weight:800;
}

/* PAGE HERO */
.t2-page-hero{ padding:2.2rem 0 1.2rem; }
.t2-page-hero .lead{ color:var(--t2-cream); }

.t2-kicker{
  display:inline-flex;
  align-items:center;
  padding:.35rem .8rem;
  border-radius:999px;
  background:var(--t2-blue-700);
  border:2px solid var(--t2-cream);
  color:var(--t2-cream);
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.72rem;
}

/* FORMS */
.contact-form .form-label{
  color:var(--t2-cream);
  letter-spacing:.12em;
  font-weight:800;
}
.t2-input{
  border-radius:1rem;
  border:2px solid var(--t2-sun-soft);
  padding:.8rem .9rem;
  background:var(--t2-white);
  color:var(--t2-blue-900);
  box-shadow:none;
}
.t2-input:focus{
  border-color:var(--t2-sun);
  box-shadow:0 0 0 .25rem var(--t2-sun-soft);
}

/* FOOTER */
.t2-footer{
  background:var(--t2-blue-900);
  color:var(--t2-cream);
  border-top:2px solid var(--t2-sun);
}
.t2-footer strong{ color:var(--t2-white); }

/* RESPONSIVE */
@media (max-width: 991.98px){
  :root{ --t2-nav-h:86px; }
  .navbar-nav .nav-link{ padding:.55rem .8rem; }
  .t2-hero-carousel .carousel,
  .t2-hero-carousel .carousel-inner,
  .t2-hero-carousel .carousel-item{
    height:clamp(420px, 72vh, 720px);
  }
}
@media (max-width: 575.98px){
  :root{ --t2-nav-h:82px; }
  .hero-logo-card{ padding:1.7rem 1.4rem; border-radius:1.5rem; }
  .hero-logo-text .hero-logo-main{ font-size:1.75rem; }
  .t2-hero-content{ padding:1.8rem 0; }
}
.t2-hero-overlay{ pointer-events:none; }
.t2-hero-content{ pointer-events:auto; }
.t2-hero-scrim{
  opacity:.62;
  background:linear-gradient(
    90deg,
    rgba(0,74,124,.92) 0%,
    rgba(0,104,175,.68) 55%,
    rgba(0,74,124,.32) 100%
  );
}
.t2-hero-carousel{ 
  border-radius:0 0 2.2rem 2.2rem;
  overflow: hidden; 
}



#t2-hero-carousel .carousel-item img{ filter:saturate(1.18) contrast(1.08); }

/* Carousel dots + arrows */
.t2-hero-carousel .carousel-indicators{ z-index:6; margin-bottom:1rem; }
.t2-hero-carousel .carousel-indicators [data-bs-target]{
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--t2-cream);
  opacity:.55;
  border:0;
  margin:0 6px;
  transition:transform .15s ease, opacity .15s ease;
}
.t2-hero-carousel .carousel-indicators .active{
  background:var(--t2-sun);
  opacity:1;
  transform:scale(1.15);
}
.t2-hero-carousel .carousel-control-prev,
.t2-hero-carousel .carousel-control-next{
  z-index:6;
  width:4.25rem;
  opacity:1;
}
.t2-hero-carousel .t2-hero-control::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width: 48px;
  height:48px;
  transform:translate(-50%,-50%);
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(249,238,186,.55);
  box-shadow:0 10px 25px rgba(0,74,124,.35);
  backdrop-filter:blur(6px);
}
.t2-hero-carousel .carousel-control-prev-icon,
.t2-hero-carousel .carousel-control-next-icon{
  width:1.25rem;
  height:1.25rem;
  position:relative;
  z-index:1;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.25));
}
.bg-gradient-section,
.bg-section,
.bg-about,
.bg-cta{ position:relative; overflow:hidden; }

.bg-gradient-section::before,
.bg-section::before,
.bg-about::before,
.bg-cta::before{
  content:"";
  position:absolute;
  inset:-120px -120px auto auto;
  width:360px;
  height:360px;
  border-radius:999px;
  background:radial-gradient(circle at 30% 30%, var(--t2-sun-soft), transparent 62%);
  opacity:.28;
  pointer-events:none;
}
.bg-gradient-section::after,
.bg-section::after,
.bg-about::after,
.bg-cta::after{
  content:"";
  position:absolute;
  inset:auto auto -160px -160px;
  width:420px;
  height:420px;
  border-radius:999px;
  background:radial-gradient(circle at 40% 40%, var(--t2-cream), transparent 60%);
  opacity:.18;
  pointer-events:none;
}

.bg-gradient-section > .container,
.bg-section > .container,
.bg-about > .container,
.bg-cta > .container{ position:relative; z-index:1; }
.feature-card,
.step-card,
.package-card,
.about-card{
  border-width:1.5px;
  box-shadow:0 12px 30px rgba(0,74,124,.45);
  position:relative;
  overflow:hidden;
}
.feature-card::before,
.step-card::before,
.package-card::before,
.about-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:6px;
  background:linear-gradient(90deg, var(--t2-sun), var(--t2-sun-soft));
}
.feature-card:hover,
.step-card:hover,
.package-card:hover,
.about-card:hover{
  transform:translateY(-3px);
}
.text-highlight{ color:var(--t2-blue-900); font-weight:700; }

.info-card{
  background:linear-gradient(135deg, var(--t2-blue-700), var(--t2-blue-900));
  border-radius:var(--t2-radius);
  border:2px solid var(--t2-sun-soft);
  box-shadow:0 14px 34px rgba(0,74,124,.5);
  padding:1.6rem 1.5rem;
}
.info-card .link-light{ color:var(--t2-cream); text-decoration:none; }
.info-card .link-light:hover{ color:var(--t2-sun); text-decoration:underline; }
.t2-page-hero{ position:relative; }
.t2-page-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--t2-sun-soft), transparent);
  opacity:.9;
}

@media (max-width: 991.98px){
  .t2-hero-scrim{ opacity:.70; }
}

@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; }
}
  