/* Service World Expo 2026 — Homepage Stylesheet */

:root{--slate:#323243;--gold:#F7B219;--teal:#1C6872;--crimson:#AE1F2B;--gray:#E0DFDC;--white:#FFFFFF;--surface:#F8F7F6;--on-surface:#1C1B1F;--on-surface-variant:#49495A;--outline-variant:#E0DFDC;--shadow-md:0 4px 12px rgba(50,50,67,.1),0 2px 4px rgba(50,50,67,.06);--shadow-xl:0 20px 60px rgba(50,50,67,.15),0 8px 20px rgba(50,50,67,.1);--radius-md:12px;--radius-lg:16px;--radius-xl:28px;--radius-full:9999px;--transition:.3s cubic-bezier(.2,0,0,1)}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}

body{font-family:'Inter',sans-serif!important;color:var(--on-surface);background:var(--white);font-size:18px;line-height:1.7;overflow-x:hidden}

h1,h2,h3,h4,h5,h6,p,a,li,span,div,button,input,select,textarea,label{font-family:'Inter',sans-serif!important}

img{max-width:100%;display:block}

a{text-decoration:none;color:inherit}

.swe-container{max-width:1200px;margin:0 auto;padding:0 24px}


/* NAV */
.swe-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 0;transition:var(--transition);background:transparent}

.swe-nav.swe-scrolled{background:var(--slate);padding:12px 0;box-shadow:0 2px 20px rgba(0,0,0,.15)}

.swe-nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}

.swe-nav-logo img{height:60px;transition:var(--transition)}

.swe-nav.swe-scrolled .swe-nav-logo img{height:40px}

.swe-nav-links{display:flex;align-items:center;gap:28px;list-style:none}

.swe-nav-links a{color:var(--white);font-size:15px;font-weight:500;transition:var(--transition);position:relative}

.swe-nav-links a:hover{opacity:1}

.swe-nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--gold);transition:var(--transition)}

.swe-nav-links a:hover::after{width:100%}

.swe-nav-cta{background:var(--crimson)!important;color:var(--white)!important;padding:12px 28px!important;border-radius:var(--radius-full)!important;font-weight:600!important}

.swe-nav-cta::after{display:none!important}

.swe-nav-cta:hover{background:#961a25!important}


/* HAMBURGER */
.swe-hamburger{display:none;background:none;border:none;cursor:pointer;width:44px;height:44px;position:relative;z-index:200;flex-direction:column;align-items:center;justify-content:center;gap:6px}

.swe-hamburger span{display:block;width:26px;height:2.5px;background:var(--white);border-radius:2px;transition:all .35s ease;transform-origin:center}

.swe-hamburger.swe-open span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}

.swe-hamburger.swe-open span:nth-child(2){opacity:0}

.swe-hamburger.swe-open span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}

.swe-mobile-menu{display:none;position:fixed;inset:0;background:rgba(50,50,67,.98);backdrop-filter:blur(24px);z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:8px}

.swe-mobile-menu.swe-open{display:flex}

.swe-mobile-menu a{color:var(--white);font-size:22px;font-weight:600;padding:14px 36px;transition:var(--transition);border-radius:var(--radius-md)}

.swe-mobile-menu a:hover{background:rgba(255,255,255,.08)}

.swe-mobile-menu .swe-mob-cta{background:var(--crimson);padding:16px 44px;border-radius:var(--radius-full);margin-top:16px;font-weight:700}


/* HERO */
.swe-hero{position:relative;min-height:90vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--slate)}

.swe-hero-video{position:absolute;inset:0;overflow:hidden;pointer-events:none}

.swe-hero-video video{width:100%;height:100%;object-fit:cover;opacity:.3}

.swe-hero-overlay{position:absolute;inset:0;background:rgba(50,50,67,.55)}

.swe-hero-content{position:relative;z-index:2;text-align:center;max-width:1000px;padding:140px 24px 100px}

.swe-hero-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(247,178,25,.15);border:1px solid rgba(247,178,25,.3);color:var(--gold);font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:10px 24px;border-radius:var(--radius-full);margin-bottom:32px;animation:fadeInDown .8s ease forwards}

.swe-hero h1{font-size:clamp(40px,7vw,80px);font-weight:800;color:var(--white);line-height:1.06;letter-spacing:-.03em;margin-bottom:24px;animation:fadeInUp .8s ease .15s both}

.swe-hero h1 span{color:var(--gold)}

.swe-hero-sub{font-size:clamp(18px,2.2vw,22px);color:var(--white);line-height:1.65;max-width:700px;margin:0 auto 40px;font-weight:400;animation:fadeInUp .8s ease .3s both}

.swe-hero-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;animation:fadeInUp .8s ease .45s both}

.swe-btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--crimson);color:var(--white);font-family:'Inter',sans-serif!important;font-size:16px;font-weight:600;padding:18px 40px;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all var(--transition)}

.swe-btn-primary:hover{background:#961a25;transform:translateY(-2px);box-shadow:0 8px 30px rgba(174,31,43,.3)}

.swe-btn-outline{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--white);font-family:'Inter',sans-serif!important;font-size:18px;font-weight:500;padding:18px 40px;border-radius:var(--radius-full);border:1.5px solid rgba(255,255,255,.3);cursor:pointer;transition:all var(--transition)}

.swe-btn-outline:hover{border-color:var(--white);background:rgba(255,255,255,.08)}

.swe-hero-stats{display:flex;justify-content:center;gap:48px;margin-top:64px;padding-top:40px;border-top:1px solid rgba(255,255,255,.15);animation:fadeInUp .8s ease .6s both}

.swe-stat-val{font-size:36px;font-weight:800;color:var(--gold);letter-spacing:-.02em}

.swe-stat-lbl{font-size:14px;font-weight:500;color:var(--white);margin-top:4px}


/* COUNTDOWN */
.swe-countdown{background:var(--gold);padding:40px 0}

.swe-countdown-inner{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap}

.swe-countdown-label{font-size:22px;font-weight:800;color:var(--slate)}

.swe-countdown-units{display:flex;gap:16px}

.swe-cd-unit{text-align:center;min-width:80px;background:var(--slate);border-radius:var(--radius-md);padding:16px 12px}

.swe-cd-num{font-size:40px;font-weight:800;color:var(--white);line-height:1;letter-spacing:-.02em}

.swe-cd-txt{font-size:12px;font-weight:700;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.08em;margin-top:6px}


/* SECTIONS */
.swe-section{padding:110px 0}

.swe-section-header{text-align:center;max-width:720px;margin:0 auto 72px}

.swe-section-tag{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--crimson);margin-bottom:16px}

.swe-section-tag i{font-size:12px}

.swe-section-title{font-size:clamp(32px,4.5vw,50px);font-weight:800;letter-spacing:-.025em;line-height:1.12;color:var(--slate);margin-bottom:20px}

.swe-section-desc{font-size:20px;color:var(--on-surface-variant);line-height:1.7}


/* ABOUT */
.swe-about{background:var(--white)}

.swe-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;max-width:1060px;margin:0 auto;align-items:center}

.swe-about-text h2{font-size:clamp(30px,4vw,44px);font-weight:800;color:var(--slate);line-height:1.15;letter-spacing:-.02em;margin-bottom:20px}

.swe-about-text p{font-size:18px;color:var(--on-surface-variant);line-height:1.7;margin-bottom:24px}

.swe-about-img{border-radius:var(--radius-lg);overflow:hidden}

.swe-about-img img{width:100%;height:480px;object-fit:cover}


/* WHY ATTEND */
.swe-why{background:var(--surface)}

.swe-why-list{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:28px}

.swe-why-item{display:flex;align-items:flex-start;gap:20px;padding:28px;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--outline-variant);transition:all var(--transition)}

.swe-why-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}

.swe-why-icon{flex-shrink:0;width:52px;height:52px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:22px}

.swe-why-item:nth-child(1) .swe-why-icon{background:rgba(174,31,43,.08);color:var(--crimson)}

.swe-why-item:nth-child(2) .swe-why-icon{background:rgba(247,178,25,.08);color:#c49a10}

.swe-why-item:nth-child(3) .swe-why-icon{background:rgba(28,104,114,.08);color:var(--teal)}

.swe-why-item:nth-child(4) .swe-why-icon{background:rgba(50,50,67,.08);color:var(--slate)}

.swe-why-item:nth-child(5) .swe-why-icon{background:rgba(174,31,43,.08);color:var(--crimson)}

.swe-why-item:nth-child(6) .swe-why-icon{background:rgba(247,178,25,.08);color:#c49a10}

.swe-why-txt h3{font-size:19px;font-weight:700;color:var(--slate);margin-bottom:6px}

.swe-why-txt p{font-size:16px;color:var(--on-surface-variant);line-height:1.6}


/* GALLERY */
.swe-gallery{background:var(--white)}

.swe-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1100px;margin:0 auto}

.swe-gallery-grid img{width:100%;height:240px;object-fit:cover;border-radius:var(--radius-md);transition:all var(--transition)}

.swe-gallery-grid img:hover{transform:scale(1.02)}


/* SPEAKERS */
.swe-speakers{background:var(--slate)}

.swe-speakers .swe-section-tag{color:var(--gold)}

.swe-speakers .swe-section-title{color:var(--white)}

.swe-speakers .swe-section-desc{color:var(--white)}

.swe-speaker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin:0 auto}

.swe-speaker-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition)}

.swe-speaker-card:hover{background:rgba(255,255,255,.07);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.2)}

.swe-speaker-img{width:100%;height:280px;object-fit:cover;object-position:top}

.swe-speaker-info{padding:24px}

.swe-speaker-info h3{font-size:20px;font-weight:700;color:var(--white);margin-bottom:4px}

.swe-speaker-info p{font-size:14px;color:var(--gold);font-weight:600}


/* 11TH ANNUAL */
.swe-annual{background:var(--surface)}

.swe-annual-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;max-width:1060px;margin:0 auto;align-items:center}

.swe-annual-text h2{font-size:clamp(30px,4vw,44px);font-weight:800;color:var(--slate);line-height:1.15;letter-spacing:-.02em;margin-bottom:20px}

.swe-annual-text p{font-size:18px;color:var(--on-surface-variant);line-height:1.7;margin-bottom:28px}

.swe-annual-img{border-radius:var(--radius-lg);overflow:hidden}

.swe-annual-img img{width:100%;height:420px;object-fit:cover}


/* CTA */
.swe-cta{background:var(--slate);padding:100px 0}

.swe-cta-inner{text-align:center;max-width:700px;margin:0 auto}

.swe-cta .swe-section-tag{color:var(--gold)}

.swe-cta .swe-section-title{color:var(--white)}

.swe-cta-sub{font-size:20px;color:var(--white);line-height:1.7;margin-bottom:40px}

.swe-cta-buttons{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}


/* FOOTER */
.swe-footer{background:var(--slate);padding:40px 0 32px;border-top:1px solid rgba(255,255,255,.06)}

.swe-footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px}

.swe-footer-logo img{height:70px}

.swe-footer-links{display:flex;align-items:center;gap:28px;list-style:none}

.swe-footer-links a{color:var(--white);font-size:16px;font-weight:500;transition:var(--transition)}

.swe-footer-links a:hover{color:var(--gold)}

.swe-footer-social{display:flex;gap:16px}

.swe-footer-social a{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:18px;transition:all var(--transition)}

.swe-footer-social a:hover{background:var(--crimson);color:var(--white)}

.swe-footer-bottom{text-align:center;margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06);font-size:15px;color:rgba(255,255,255,.7)}

.swe-footer-contact{text-align:center;margin-top:16px;font-size:14px;color:rgba(255,255,255,.5)}

.swe-footer-contact a{color:var(--gold);font-weight:500}


/* BACK TO TOP */
.swe-btt{position:fixed;bottom:32px;right:32px;z-index:90;width:52px;height:52px;border-radius:50%;background:var(--crimson);color:var(--white);border:none;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(174,31,43,.3);opacity:0;visibility:hidden;transform:translateY(12px);transition:all .35s ease}

.swe-btt.swe-visible{opacity:1;visibility:visible;transform:translateY(0)}

.swe-btt:hover{background:#961a25;transform:translateY(-3px);box-shadow:0 8px 24px rgba(174,31,43,.4)}


/* ANIMATIONS */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}


/* TABLET */
@media(max-width:1024px){
  .swe-nav-links{display:none}

  .swe-hamburger{display:flex}

  .swe-about-grid,.swe-annual-grid{grid-template-columns:1fr}

  .swe-about-img{order:-1}

  .swe-why-list{grid-template-columns:1fr;max-width:520px}

  .swe-gallery-grid{grid-template-columns:1fr 1fr}

  .swe-speaker-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}

}

@media(max-width:768px){
  .swe-section{padding:80px 0}

  .swe-section-header{margin-bottom:48px}

  .swe-hero-content{padding:120px 20px 72px}

  .swe-hero-actions{flex-direction:column}

  .swe-btn-primary,.swe-btn-outline{width:100%;justify-content:center}

  .swe-hero-stats{flex-direction:column;gap:20px;margin-top:48px;padding-top:36px}

  .swe-hero-stat{display:flex;align-items:center;gap:12px;justify-content:center}

  .swe-stat-val{font-size:30px}

  .swe-stat-lbl{margin-top:0}

  .swe-countdown-inner{flex-direction:column;gap:20px}

  .swe-gallery-grid{grid-template-columns:1fr 1fr}

  .swe-gallery-grid img{height:180px}

  .swe-cta-buttons{flex-direction:column}

  .swe-cta-buttons .swe-btn-primary,.swe-cta-buttons .swe-btn-outline{width:100%;justify-content:center}

  .swe-footer-inner{flex-direction:column;text-align:center}

  .swe-footer-links{flex-wrap:wrap;justify-content:center}

}

@media(max-width:480px){
  .swe-container{padding:0 16px}

  .swe-section{padding:64px 0}

  .swe-hero h1{font-size:34px}

  .swe-hero-sub{font-size:17px}

  .swe-section-title{font-size:28px}

  .swe-section-desc{font-size:17px}

  .swe-cd-num{font-size:32px}

  .swe-countdown-units{gap:10px}

  .swe-gallery-grid{grid-template-columns:1fr}

  .swe-gallery-grid img{height:220px}

}

/* ── PRICING ────────────────────────────────── */

.swe-pricing { background: var(--white); }

.swe-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1060px;
  margin: 0 auto;
  align-items: stretch;
}

.swe-price-card {
  background: var(--white);
  border: 1.5px solid var(--outline-variant);
  border-radius: var(--radius-xl);
  padding: 40px 32px;
  display: flex;
  flex-direction: column;
  transition: all var(--transition);
}

.swe-price-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}

.swe-price-featured {
  border-color: var(--crimson);
  box-shadow: var(--shadow-xl);
  position: relative;
  transform: scale(1.04);
}

.swe-price-featured:hover {
  transform: scale(1.04) translateY(-3px);
}

.swe-price-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--crimson);
  margin-bottom: 12px;
}

.swe-price-featured .swe-price-badge {
  background: var(--crimson);
  color: var(--white);
  padding: 4px 14px;
  border-radius: var(--radius-full);
  display: inline-block;
}

.swe-price-name {
  font-size: 22px;
  font-weight: 700;
  color: var(--slate);
  margin-bottom: 4px;
}

.swe-price-sub {
  font-size: 14px;
  color: var(--on-surface-variant);
  line-height: 1.5;
  margin-bottom: 16px;
}

.swe-price-fine {
  font-size: 13px;
  color: var(--on-surface-variant);
  margin-top: 12px;
  text-align: center;
}

.swe-price-amount {
  font-size: 56px;
  font-weight: 800;
  color: var(--slate);
  line-height: 1;
  letter-spacing: -0.03em;
  margin-bottom: 4px;
}

.swe-price-dollar {
  font-size: 28px;
  font-weight: 700;
  vertical-align: top;
  position: relative;
  top: 8px;
  margin-right: 2px;
}

.swe-price-period {
  font-size: 15px;
  color: var(--on-surface-variant);
  margin-bottom: 28px;
}

.swe-price-features {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 32px;
  flex-grow: 1;
}

.swe-price-features li {
  font-size: 16px;
  color: var(--on-surface-variant);
  display: flex;
  align-items: flex-start;
  gap: 12px;
  line-height: 1.5;
}

.swe-price-features li i {
  color: var(--crimson);
  font-size: 14px;
  margin-top: 4px;
  flex-shrink: 0;
}

.swe-pricing-note {
  text-align: center;
  font-size: 15px;
  color: var(--on-surface-variant);
  margin-top: 32px;
}

.swe-pricing-note a {
  color: var(--crimson);
  font-weight: 600;
}


/* ── FAQ ─────────────────────────────────────── */

.swe-faq-list {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.swe-faq-item {
  padding: 0 0 24px;
  border-bottom: 1px solid var(--outline-variant);
}

.swe-faq-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.swe-faq-item h3 {
  font-size: 20px;
  font-weight: 700;
  color: var(--slate);
  margin-bottom: 8px;
}

.swe-faq-item p {
  font-size: 17px;
  color: var(--on-surface-variant);
  line-height: 1.65;
}


/* ── PRICING RESPONSIVE ─────────────────────── */

@media (max-width: 1024px) {
  .swe-pricing-grid { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; }
  .swe-price-featured { transform: none; }
  .swe-price-featured:hover { transform: translateY(-3px); }
}


/* ── SHORT HERO ─────────────────────────────── */

.swe-hero-short { min-height: 50vh; }
.swe-hero-short .swe-hero-content { padding: 140px 24px 60px; }


/* ── TIMELINE ───────────────────────────────── */

.swe-timeline {
  max-width: 700px;
  margin: 0 auto;
  position: relative;
  padding-left: 80px;
}

.swe-timeline::before {
  content: '';
  position: absolute;
  left: 36px;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--outline-variant);
}

.swe-timeline-item {
  position: relative;
  padding: 0 0 36px;
}

.swe-timeline-item:last-child { padding-bottom: 0; }

.swe-timeline-year {
  position: absolute;
  left: -80px;
  top: 0;
  width: 72px;
  height: 36px;
  background: var(--slate);
  color: var(--white);
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
}

.swe-timeline-next .swe-timeline-year {
  background: var(--crimson);
}

.swe-timeline-info h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--slate);
  margin-bottom: 4px;
}

.swe-timeline-info p {
  font-size: 16px;
  color: var(--on-surface-variant);
  line-height: 1.6;
}


/* ── DETAIL ROW (inline details) ────────────── */

.swe-detail-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 24px 0 32px;
}

.swe-detail-inline {
  font-size: 17px;
  color: var(--slate);
  display: flex;
  align-items: center;
  gap: 12px;
}

.swe-detail-inline i {
  color: var(--crimson);
  font-size: 16px;
  width: 20px;
  text-align: center;
  flex-shrink: 0;
}


/* ── TIMELINE RESPONSIVE ────────────────────── */

@media (max-width: 480px) {
  .swe-timeline { padding-left: 60px; }
  .swe-timeline::before { left: 26px; }
  .swe-timeline-year { left: -60px; width: 56px; font-size: 12px; }
}


/* ── MEGA MENU ──────────────────────────────── */

.swe-has-mega {
  position: relative;
}

.swe-has-mega > a {
  display: flex;
  align-items: center;
  gap: 6px;
}

.swe-chev {
  font-size: 10px;
  transition: transform 0.25s ease;
}

.swe-has-mega:hover .swe-chev {
  transform: rotate(180deg);
}

.swe-mega {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 320px;
  background: var(--white);
  border-radius: var(--radius-lg);
  box-shadow: 0 20px 60px rgba(50, 50, 67, 0.18), 0 4px 16px rgba(50, 50, 67, 0.08);
  padding: 12px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  z-index: 200;
}

.swe-has-mega:hover .swe-mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.swe-mega-inner {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.swe-mega-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  border-radius: var(--radius-md);
  transition: background 0.2s ease;
  color: var(--on-surface);
}

.swe-mega-item:hover {
  background: var(--surface);
}

.swe-mega-item::after {
  display: none;
}

.swe-mega-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-md);
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--crimson);
  transition: all 0.2s ease;
}

.swe-mega-item:hover .swe-mega-icon {
  background: var(--crimson);
  color: var(--white);
}

.swe-mega-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.swe-mega-text strong {
  font-size: 15px;
  font-weight: 600;
  color: var(--slate);
  line-height: 1.3;
}

.swe-mega-text span {
  font-size: 13px;
  color: var(--on-surface-variant);
  line-height: 1.3;
}

/* Nav link icons */
.swe-nav-links > li > a > i:first-child {
  font-size: 14px;
  opacity: 0.7;
}


/* ── MOBILE MENU ACCORDION ──────────────────── */

.swe-mob-group {
  width: 100%;
  max-width: 300px;
}

.swe-mob-heading {
  color: var(--white);
  font-size: 22px;
  font-weight: 600;
  padding: 14px 36px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: var(--radius-md);
  transition: background 0.2s ease;
  user-select: none;
}

.swe-mob-heading:hover {
  background: rgba(255, 255, 255, 0.08);
}

.swe-mob-heading .swe-chev {
  margin-left: auto;
  transition: transform 0.3s ease;
}

.swe-mob-expanded .swe-mob-heading .swe-chev {
  transform: rotate(180deg);
}

.swe-mob-heading i:first-child {
  font-size: 18px;
  opacity: 0.6;
  width: 24px;
  text-align: center;
}

.swe-mob-sub {
  display: none;
  flex-direction: column;
  padding: 0 0 8px 24px;
}

.swe-mob-expanded .swe-mob-sub {
  display: flex;
}

.swe-mob-sub .swe-mob-link {
  font-size: 18px;
  padding: 10px 36px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.swe-mob-sub .swe-mob-link i {
  font-size: 14px;
  opacity: 0.5;
  width: 20px;
  text-align: center;
}

/* Top-level mobile links with icons */
.swe-mobile-menu > .swe-mob-link {
  display: flex;
  align-items: center;
  gap: 8px;
}

.swe-mobile-menu > .swe-mob-link > i {
  font-size: 18px;
  opacity: 0.6;
  width: 24px;
  text-align: center;
}