/* ===========================================================
   SHCT — Swan Htet Chan Thar Co., Ltd
   Design tokens
   =========================================================== */
:root{
  --navy:        #0B3C5D;
  --navy-deep:   #082B44;
  --sky:         #1E88C7;
  --sky-light:   #E7F3FB;
  --gold:        #D4A017;
  --gold-light:  #F3D77A;
  --paper:       #F7F9FB;
  --ink:         #16232E;
  --ink-soft:    #4A5A68;
  --line:        #DCE4EA;
  --white:       #FFFFFF;

  --font-display: 'Poppins', 'Noto Sans Myanmar', sans-serif;
  --font-body:    'Noto Sans Myanmar', 'Inter', sans-serif;
  --font-mm:      'Noto Sans Myanmar', sans-serif;

  --radius: 10px;
  --shadow-soft: 0 10px 30px -12px rgba(11,60,93,0.25);
  --shadow-card: 0 6px 18px -8px rgba(11,60,93,0.18);
}

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--paper);
  line-height:1.7;
}

h1,h2,h3,h4,h5,
.font-display{
  font-family: var(--font-display);
  font-weight:600;
  color: var(--navy-deep);
  letter-spacing: -0.01em;
}

a{ color: var(--sky); text-decoration:none; }
a:hover{ color: var(--navy); }

.eyebrow{
  font-family: var(--font-display);
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color: var(--gold);
}

.text-navy{ color: var(--navy-deep) !important; }
.text-sky{ color: var(--sky) !important; }
.bg-paper{ background: var(--paper) !important; }
.bg-navy{ background: var(--navy-deep) !important; }

section{ padding: 5rem 0; }
@media (max-width: 767px){ section{ padding: 3.25rem 0; } }

/* Skip link for keyboard users */
.skip-link{
  position:absolute; left:-999px; top:auto;
  background:var(--gold); color:var(--navy-deep); padding:0.6rem 1rem;
  z-index:2000; border-radius:0 0 6px 0; font-weight:600;
}
.skip-link:focus{ left:0; top:0; }

:focus-visible{
  outline: 3px solid var(--gold);
  outline-offset: 2px;
}

/* ===========================================================
   Header / Navigation
   =========================================================== */
.site-header{
  background: var(--white);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top:0;
  z-index:1000;
}
.topbar{
  background: var(--navy-deep);
  color: var(--sky-light);
  font-size:0.82rem;
}
.topbar a{ color: var(--sky-light); }
.topbar a:hover{ color: var(--gold-light); }

.navbar-brand-wrap{ display:flex; align-items:center; gap:0.65rem; }
.navbar-brand-wrap img{ height:44px; width:44px; object-fit:contain; }
.brand-title{
  font-family: var(--font-display);
  font-weight:700;
  color: var(--navy-deep);
  font-size:1.05rem;
  line-height:1.15;
  margin:0;
}
.brand-sub{
  font-size:0.7rem;
  color: var(--ink-soft);
  letter-spacing:0.06em;
  text-transform:uppercase;
}

.navbar .nav-link{
  font-family: var(--font-display);
  font-weight:500;
  color: var(--navy-deep);
  padding: 0.55rem 0.9rem !important;
  position:relative;
}
.navbar .nav-link.active,
.navbar .nav-link:hover{ color: var(--sky); }
.navbar .nav-link.active::after{
  content:"";
  position:absolute;
  left:0.9rem; right:0.9rem; bottom:0.25rem;
  height:2px; background: var(--gold);
  border-radius:2px;
}
.btn-cta{
  background: var(--gold);
  color: var(--navy-deep);
  font-family: var(--font-display);
  font-weight:600;
  border:none;
  padding:0.55rem 1.3rem;
  border-radius:50px;
  transition: transform .15s ease, background .15s ease;
}
.btn-cta:hover{ background: var(--gold-light); color:var(--navy-deep); transform: translateY(-1px); }

.btn-outline-navy{
  border:1.5px solid var(--navy);
  color:var(--navy-deep);
  font-family: var(--font-display);
  font-weight:600;
  border-radius:50px;
  padding:0.5rem 1.25rem;
}
.btn-outline-navy:hover{ background:var(--navy-deep); color:var(--white); }

/* ===========================================================
   Signature motif: the flight route
   A dashed curved path with a travelling plane glyph —
   echoes the SHCT globe-and-plane mark and ties every
   section back to "we move people from here to there."
   =========================================================== */
.route-divider{
  position:relative;
  height:70px;
  overflow:hidden;
  margin: 0 auto;
}
.route-divider svg{ width:100%; height:100%; display:block; }
.route-path{
  fill:none;
  stroke: var(--sky);
  stroke-width:2;
  stroke-dasharray:6 8;
  opacity:0.55;
}
.route-plane{
  transform-origin:center;
}

@media (prefers-reduced-motion: no-preference){
  .route-fly{
    animation: fly-path 7s linear infinite;
  }
  @keyframes fly-path{
    to{ stroke-dashoffset: -280; }
  }
}

/* ===========================================================
   Hero
   =========================================================== */
.hero{
  position:relative;
  background: linear-gradient(160deg, var(--navy-deep) 0%, var(--navy) 55%, var(--sky) 130%);
  color: var(--white);
  overflow:hidden;
  padding: 5.5rem 0 6rem;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(circle at 85% 20%, rgba(212,160,23,0.18), transparent 45%),
                     radial-gradient(circle at 10% 90%, rgba(255,255,255,0.08), transparent 40%);
  pointer-events:none;
}
.hero-globe{
  position:absolute;
  right:-120px; top:50%; transform:translateY(-50%);
  width:520px; height:520px;
  border-radius:50%;
  background: radial-gradient(circle at 35% 30%, rgba(255,255,255,0.16), rgba(255,255,255,0.02) 60%);
  border:1px solid rgba(255,255,255,0.15);
  opacity:0.7;
}
.hero-globe::after{
  content:"";
  position:absolute; inset:18%;
  border-radius:50%;
  border:1px dashed rgba(255,255,255,0.25);
}
.hero h1{
  color:var(--white);
  font-size: clamp(2.1rem, 4vw, 3.1rem);
  line-height:1.2;
}
.hero .lead-mm{
  font-family: var(--font-mm);
  font-size:1.15rem;
  color: rgba(255,255,255,0.92);
}
.hero .lead-en{
  color: rgba(255,255,255,0.78);
  max-width: 46ch;
}
.hero-badge{
  display:inline-flex; align-items:center; gap:0.5rem;
  background: rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.25);
  padding:0.4rem 0.9rem;
  border-radius:50px;
  font-size:0.8rem;
  letter-spacing:0.04em;
}

/* Flight path across the hero — the plane travels from
   Yangon-ish origin to a Thailand-ish waypoint */
.hero-route{ position:relative; height:120px; }
.hero-route svg{ width:100%; height:100%; }
.hero-route .dot{ fill: var(--gold); }
.hero-route .stop-label{
  font-family: var(--font-display);
  font-size:11px;
  fill: rgba(255,255,255,0.85);
  letter-spacing:0.05em;
}

/* ===========================================================
   Stat strip
   =========================================================== */
.stat-strip{
  background: var(--white);
  border-bottom:1px solid var(--line);
}
.stat-item{ text-align:center; padding: 1.5rem 0.5rem; }
.stat-item .num{
  font-family: var(--font-display);
  font-weight:700;
  font-size:1.9rem;
  color: var(--navy-deep);
}
.stat-item .label{
  font-size:0.82rem;
  color: var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:0.05em;
}

/* ===========================================================
   Cards
   =========================================================== */
.card-svc{
  background: var(--white);
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.9rem 1.6rem;
  height:100%;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card-svc:hover{
  transform: translateY(-4px);
  box-shadow: var(--shadow-card);
  border-color: var(--sky);
}
.icon-wrap{
  width:52px; height:52px;
  border-radius:14px;
  background: var(--sky-light);
  color: var(--sky);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem;
  margin-bottom:1.1rem;
}
.card-svc h3{ font-size:1.08rem; margin-bottom:0.5rem; }
.card-svc p{ color: var(--ink-soft); font-size:0.95rem; margin-bottom:0; }

/* Process / steps (a genuine sequence, so numbering is earned) */
.step{
  position:relative;
  padding-left: 3.4rem;
  margin-bottom:2.1rem;
}
.step:last-child{ margin-bottom:0; }
.step .step-num{
  position:absolute; left:0; top:0;
  width:2.5rem; height:2.5rem;
  border-radius:50%;
  background: var(--navy-deep);
  color: var(--gold-light);
  font-family: var(--font-display);
  font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.step h4{ font-size:1.02rem; margin-bottom:0.3rem; }
.step p{ color: var(--ink-soft); margin-bottom:0; font-size:0.94rem; }
.step-track{
  position:absolute; left:1.25rem; top:2.6rem; bottom:-0.3rem;
  width:2px;
  background: repeating-linear-gradient(to bottom, var(--line) 0 6px, transparent 6px 12px);
}
.step:last-child .step-track{ display:none; }

/* Activity cards (icon-illustrated, no stock photography) */
.activity-card{
  border:1px solid var(--line);
  border-radius: var(--radius);
  overflow:hidden;
  background: var(--white);
  height:100%;
}
.activity-visual{
  height:140px;
  background: linear-gradient(135deg, var(--navy-deep), var(--sky));
  display:flex; align-items:center; justify-content:center;
  color: var(--gold-light);
  font-size:2.4rem;
}
.activity-body{ padding:1.35rem 1.4rem; }
.activity-body h3{ font-size:1.02rem; margin-bottom:0.4rem; }
.activity-body p{ color: var(--ink-soft); font-size:0.92rem; margin-bottom:0; }
.activity-tag{
  display:inline-block;
  font-size:0.72rem;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color: var(--sky);
  font-weight:600;
  margin-bottom:0.4rem;
}

/* ===========================================================
   MD message
   =========================================================== */
.md-photo{
  width:100%;
  aspect-ratio: 4/5;
  border-radius: var(--radius);
  background: linear-gradient(160deg, var(--sky-light), var(--white));
  border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  color: var(--sky);
  font-size:3.5rem;
  font-family: var(--font-display);
  font-weight:700;
}
.quote-mark{
  font-family: Georgia, serif;
  font-size:4rem;
  color: var(--gold-light);
  line-height:1;
}
blockquote.md-quote{
  font-family: var(--font-mm);
  font-size:1.15rem;
  color: var(--navy-deep);
  border-left:3px solid var(--gold);
  padding-left:1.2rem;
}
.signature-block{
  font-family:'Poppins', cursive;
  font-style: italic;
  font-size:1.3rem;
  color: var(--navy-deep);
}

/* ===========================================================
   Timeline (About — company milestones, a real sequence)
   =========================================================== */
.timeline{ position:relative; }
.timeline::before{
  content:"";
  position:absolute; left:14px; top:6px; bottom:6px;
  width:2px;
  background: var(--line);
}
.timeline-item{ position:relative; padding-left:3rem; margin-bottom:1.8rem; }
.timeline-item::before{
  content:"";
  position:absolute; left:6px; top:4px;
  width:18px; height:18px;
  border-radius:50%;
  background: var(--white);
  border:3px solid var(--sky);
}
.timeline-item h4{ font-size:1rem; margin-bottom:0.2rem; }
.timeline-item p{ color:var(--ink-soft); margin-bottom:0; font-size:0.93rem; }

/* ===========================================================
   Contact
   =========================================================== */
.contact-card{
  background: var(--navy-deep);
  color: var(--sky-light);
  border-radius: var(--radius);
  padding: 2.2rem;
}
.contact-card a{ color:var(--gold-light); }
.contact-row{ display:flex; gap:0.9rem; margin-bottom:1.3rem; align-items:flex-start; }
.contact-row .ic{
  width:38px; height:38px; flex:0 0 38px;
  border-radius:9px;
  background: rgba(255,255,255,0.1);
  display:flex; align-items:center; justify-content:center;
}
.form-control, .form-select{
  border:1px solid var(--line);
  padding:0.7rem 0.9rem;
  border-radius:8px;
}
.form-control:focus, .form-select:focus{
  border-color: var(--sky);
  box-shadow: 0 0 0 0.2rem rgba(30,136,199,0.15);
}
.form-label{
  font-family: var(--font-display);
  font-weight:500;
  font-size:0.9rem;
  color: var(--navy-deep);
}
.alert-shct-success{
  background: #EAF6EE; color:#1E6B36; border:1px solid #BFE5CB;
}
.alert-shct-error{
  background: #FCEAEA; color:#9C2020; border:1px solid #F3C2C2;
}

.map-frame{
  border-radius: var(--radius);
  overflow:hidden;
  border:1px solid var(--line);
  height:260px;
}
.map-frame iframe{ width:100%; height:100%; border:0; }

/* ===========================================================
   Footer
   =========================================================== */
.site-footer{
  background: var(--navy-deep);
  color: rgba(255,255,255,0.75);
  padding: 3.2rem 0 1.4rem;
}
.site-footer h5{ color: var(--white); font-size:1rem; margin-bottom:1rem; }
.site-footer a{ color: rgba(255,255,255,0.75); }
.site-footer a:hover{ color: var(--gold-light); }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.12);
  margin-top:2.2rem;
  padding-top:1.2rem;
  font-size:0.82rem;
  color: rgba(255,255,255,0.55);
}
.social-dot{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%;
  background: rgba(255,255,255,0.08);
  margin-right:0.5rem;
}
.social-dot:hover{ background: var(--gold); color:var(--navy-deep) !important; }

/* Page header (inner pages) */
.page-head{
  background: var(--navy-deep);
  color: var(--white);
  padding: 3.4rem 0 2.6rem;
  position:relative;
  overflow:hidden;
}
.page-head::after{
  content:"";
  position:absolute; right:-80px; top:-80px;
  width:260px; height:260px; border-radius:50%;
  border:1px dashed rgba(255,255,255,0.18);
}
.page-head h1{ color:var(--white); margin-bottom:0.4rem; }
.breadcrumb-mm{ color: rgba(255,255,255,0.7); font-size:0.9rem; }
.breadcrumb-mm a{ color: rgba(255,255,255,0.85); }

.section-title .eyebrow{ display:block; margin-bottom:0.5rem; }
.section-title h2{ font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
.section-lede{ color: var(--ink-soft); max-width:60ch; }

/* ===========================================================
   V2 — Premium/enterprise upgrade
   Bigger scale, photographic-style illustrated frames,
   trust badges, floating stat card, gallery hover states.
   =========================================================== */

/* ---------- Type scale bump ---------- */
h1{ font-size: clamp(2.4rem, 4.6vw, 3.6rem); line-height:1.12; }
h2{ font-size: clamp(1.85rem, 3.2vw, 2.6rem); line-height:1.18; }
.eyebrow-lg{
  font-family: var(--font-display);
  font-size:0.85rem;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color: var(--gold);
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
}
.eyebrow-lg::before{
  content:"";
  width:26px; height:2px;
  background: var(--gold);
  display:inline-block;
}

/* ---------- Utility license/badge strip ---------- */
.topbar{ font-size:0.85rem; }
.topbar .badge-pill{
  background: rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.18);
  padding:0.18rem 0.75rem;
  border-radius:50px;
  font-size:0.72rem;
  letter-spacing:0.05em;
  text-transform:uppercase;
  font-weight:600;
  color: var(--gold-light);
}

.navbar{ padding-top:1.1rem; padding-bottom:1.1rem; }
.navbar-brand-wrap img{ height:52px; width:52px; }
.brand-title{ font-size:1.2rem; }
.navbar .nav-link{ font-size:0.98rem; }

/* ---------- Big hero ---------- */
.hero-lg{
  position:relative;
  min-height: 86vh;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 82% 15%, rgba(212,160,23,0.22), transparent 42%),
    radial-gradient(circle at 6% 92%, rgba(30,136,199,0.28), transparent 45%),
    linear-gradient(155deg, var(--navy-deep) 0%, var(--navy) 48%, #0F5C8C 100%);
  color: var(--white);
  overflow:hidden;
  padding: 6.5rem 0 9rem;
}
.hero-lg .hero-kicker{
  display:inline-flex; align-items:center; gap:0.6rem;
  background: rgba(255,255,255,0.09);
  border:1px solid rgba(255,255,255,0.22);
  padding:0.45rem 1.05rem;
  border-radius:50px;
  font-family: var(--font-display);
  font-size:0.82rem;
  font-weight:600;
  letter-spacing:0.03em;
}
.hero-lg h1{ color:var(--white); }
.hero-lg .lead-en{ color: rgba(255,255,255,0.82); max-width:52ch; font-size:1.12rem; }
.hero-lg .lead-mm{ font-family: var(--font-mm); color: rgba(255,255,255,0.95); font-size:1.2rem; }

.hero-skyline{
  position:absolute; left:0; right:0; bottom:0;
  height:180px;
  opacity:0.5;
  pointer-events:none;
}

/* Big illustrated "photo" panel standing in for real photography */
.img-frame{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  background: linear-gradient(135deg, var(--navy-deep), var(--sky) 130%);
  box-shadow: var(--shadow-soft);
  isolation:isolate;
}
.img-frame::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.16), transparent 40%),
    radial-gradient(circle at 85% 75%, rgba(212,160,23,0.28), transparent 45%);
}
.img-frame .frame-pattern{
  position:absolute; inset:0;
  opacity:0.16;
}
.img-frame .frame-glyph{
  position:absolute; z-index:2;
  color: rgba(255,255,255,0.92);
  font-size:3rem;
}
.img-frame .frame-caption{
  position:absolute; left:0; right:0; bottom:0; z-index:3;
  background: linear-gradient(to top, rgba(8,43,68,0.92), transparent);
  color: var(--white);
  padding: 2.2rem 1.4rem 1.2rem;
}
.img-frame .frame-caption .tag{
  font-family: var(--font-display);
  font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase;
  color: var(--gold-light); font-weight:700;
}
.img-frame .frame-caption h4{ color:var(--white); font-size:1.05rem; margin:0.2rem 0 0; }

.hero-visual{
  position:relative;
  aspect-ratio: 4/5;
}
.hero-visual .img-frame{ position:absolute; inset:0; }
.hero-visual .img-frame.small{
  position:absolute;
  width:56%;
  aspect-ratio: 5/4;
  bottom:-8%;
  left:-10%;
  z-index:4;
  border:4px solid var(--paper);
}

/* Floating stat card overlapping the hero's bottom edge */
.hero-stats{
  position:relative;
  z-index:5;
  margin-top:-5.5rem;
}
.hero-stats-card{
  background: var(--white);
  border-radius:16px;
  box-shadow: 0 22px 45px -18px rgba(8,43,68,0.35);
  padding: 2rem 1rem;
}
.hero-stats-card .stat-item{ padding: 0.5rem; }
.hero-stats-card .stat-item .num{ font-size:2.1rem; }
.hero-stats-card .stat-item + .stat-item{ border-left:1px solid var(--line); }

/* ---------- Badge chips (license / registration style) ---------- */
.badge-chip-row{ display:flex; flex-wrap:wrap; gap:0.6rem; }
.badge-chip{
  display:inline-flex; align-items:center; gap:0.5rem;
  background: var(--sky-light);
  color: var(--navy-deep);
  border:1px solid #CDE6F4;
  padding:0.45rem 0.95rem;
  border-radius:50px;
  font-size:0.82rem;
  font-weight:600;
}
.badge-chip i{ color: var(--sky); }

/* ---------- Objectives grid (bigger, bolder) ---------- */
.objective-card{
  background: var(--white);
  border-radius:16px;
  padding: 2.2rem 1.8rem;
  height:100%;
  border:1px solid var(--line);
  position:relative;
  overflow:hidden;
}
.objective-card .obj-num{
  font-family: var(--font-display);
  font-weight:800;
  font-size:2.6rem;
  color: var(--sky-light);
  -webkit-text-stroke: 1.5px var(--sky);
  line-height:1;
  margin-bottom:1rem;
}
.objective-card h3{ font-size:1.12rem; margin-bottom:0.5rem; }
.objective-card p{ color:var(--ink-soft); font-size:0.95rem; margin-bottom:0; }

/* ---------- Journey / process — big horizontal rail on desktop ---------- */
.journey-rail{ position:relative; }
.journey-rail::before{
  content:"";
  position:absolute;
  top:34px; left:5%; right:5%;
  height:2px;
  background: repeating-linear-gradient(to right, var(--line) 0 8px, transparent 8px 16px);
  z-index:0;
}
.journey-step{ position:relative; z-index:1; text-align:center; padding:0 0.6rem; }
.journey-step .jnum{
  width:68px; height:68px; margin:0 auto 1.1rem;
  border-radius:50%;
  background: var(--navy-deep);
  color: var(--gold-light);
  display:flex; align-items:center; justify-content:center;
  font-family: var(--font-display);
  font-weight:700;
  font-size:1.3rem;
  border:5px solid var(--paper);
  box-shadow: 0 8px 20px -8px rgba(11,60,93,0.4);
}
.journey-step h4{ font-size:0.98rem; margin-bottom:0.35rem; }
.journey-step p{ font-size:0.86rem; color:var(--ink-soft); margin-bottom:0; }

/* ---------- Vision / Mission big split cards ---------- */
.vm-card{
  border-radius:18px;
  padding: 2.6rem 2.2rem;
  height:100%;
  color: var(--white);
}
.vm-card.vision{ background: linear-gradient(150deg, var(--navy-deep), var(--sky)); }
.vm-card.mission{ background: linear-gradient(150deg, #0F5C8C, var(--navy-deep)); }
.vm-card .vm-label{
  font-family: var(--font-display);
  font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase;
  color: var(--gold-light); font-weight:700; margin-bottom:0.8rem; display:block;
}
.vm-card h3{ color: var(--white); font-size:1.5rem; margin-bottom:0.9rem; }
.vm-card p{ color: rgba(255,255,255,0.85); margin-bottom:0; }

/* ---------- Gallery (Activities) ---------- */
.gallery-card{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  aspect-ratio: 4/3;
  isolation:isolate;
  cursor:default;
}
.gallery-card .img-frame{ position:absolute; inset:0; border-radius:14px; }
.gallery-card .frame-glyph{
  top:50%; left:50%; transform:translate(-50%,-50%);
  font-size:2.6rem;
  transition: transform .35s ease, opacity .35s ease;
}
.gallery-card:hover .frame-glyph{ transform:translate(-50%,-70%); opacity:0.4; }
.gallery-card .frame-caption{
  transform: translateY(6px);
  transition: transform .3s ease;
}
.gallery-card:hover .frame-caption{ transform: translateY(0); }

/* ---------- Big CTA band ---------- */
.cta-band{
  background: linear-gradient(135deg, var(--navy-deep), #0F5C8C 120%);
  border-radius:22px;
  padding: 3.4rem 2.4rem;
  color: var(--white);
  position:relative;
  overflow:hidden;
}
.cta-band::before{
  content:"";
  position:absolute; right:-60px; top:-60px;
  width:220px; height:220px; border-radius:50%;
  border:1px dashed rgba(255,255,255,0.18);
}
.cta-band::after{
  content:"";
  position:absolute; left:-40px; bottom:-70px;
  width:180px; height:180px; border-radius:50%;
  background: radial-gradient(circle, rgba(212,160,23,0.25), transparent 70%);
}

/* ---------- Bigger footer ---------- */
.site-footer{ padding: 4.5rem 0 1.6rem; }
.footer-cta-strip{
  background: rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:16px;
  padding: 1.8rem 2rem;
  margin-bottom: 3rem;
}

@media (max-width: 991px){
  .journey-rail::before{ display:none; }
  .hero-lg{ min-height:auto; padding:4.5rem 0 6rem; text-align:center; }
  .hero-lg .lead-en{ margin-left:auto; margin-right:auto; }
  .hero-visual{ margin-top:2.5rem; }
  .hero-visual .img-frame.small{ display:none; }
  .hero-stats{ margin-top:-3.2rem; }
}
