.elementor-275 .elementor-element.elementor-element-6c3f91b{--display:flex;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}@media(max-width:767px){.elementor-275 .elementor-element.elementor-element-6c3f91b{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for html, class: .elementor-element-2f34b31 */:root{
  --gold:#f5c215;
  --gold-l:#f8d150;
  --gold-d:#c49a0e;
  --gold-xd:#7a5e00;
  --cream:#fdfaf0;
  --cream2:#f7f2e0;
  --cream3:#efe8cc;
  --ink:#1a1400;
  --ink2:#3a3010;
  --ink3:#6b5e2a;
  --ink4:#9c8f5a;
  --white:#ffffff;
  --r:18px;
  --shadow:0 4px 32px rgba(26,20,0,.1);
  --shadow-lg:0 16px 64px rgba(26,20,0,.14);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Vazirmatn',sans-serif;
  background:var(--cream);
  color:var(--ink);
  overflow-x:hidden;
  line-height:1.7;
}

/* ─── SCROLLBAR ─── */
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:var(--cream2)}
::-webkit-scrollbar-thumb{background:var(--gold-d);border-radius:2px}

/* ─── CURSOR ─── */
.cursor{
  position:fixed;width:12px;height:12px;
  background:var(--gold);border-radius:50%;
  pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:transform .15s ease,width .3s ease,height .3s ease,opacity .3s ease;
  mix-blend-mode:multiply;
}
.cursor-ring{
  position:fixed;width:36px;height:36px;
  border:1.5px solid rgba(245,194,21,.5);
  border-radius:50%;pointer-events:none;z-index:9998;
  transform:translate(-50%,-50%);
  transition:transform .4s ease,width .3s ease,height .3s ease;
}
@media(max-width:768px){.cursor,.cursor-ring{display:none}}

/* ─── NAV ─── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  padding:22px 6%;
  display:flex;justify-content:space-between;align-items:center;
  transition:all .4s ease;
}
nav.scrolled{
  background:rgba(253,250,240,.92);
  backdrop-filter:blur(24px);
  padding:14px 6%;
  border-bottom:1px solid rgba(245,194,21,.2);
  box-shadow:0 2px 20px rgba(26,20,0,.06);
}
.nav-logo{
  font-size:24px;font-weight:900;color:var(--ink);
  position:relative;
}
.nav-logo span{color:var(--gold)}
.nav-links{display:flex;gap:32px;list-style:none}
@media(max-width:700px){.nav-links{display:none}}
.nav-links a{
  font-size:13px;font-weight:500;color:var(--ink3);
  text-decoration:none;transition:color .25s ease;
  position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;right:0;
  width:0;height:2px;background:var(--gold);
  transition:width .3s ease;
}
.nav-links a:hover{color:var(--ink)}
.nav-links a:hover::after{width:100%}

/* ─── HERO ─── */
.hero{
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  background:var(--cream);
  padding:120px 6% 80px;
}

/* Animated mesh background */
.hero-mesh{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 70% at 80% 20%, rgba(245,194,21,.18) 0%, transparent 55%),
    radial-gradient(ellipse 50% 50% at 20% 80%, rgba(245,194,21,.1) 0%, transparent 50%),
    radial-gradient(ellipse 30% 40% at 50% 50%, rgba(196,154,14,.06) 0%, transparent 60%);
  animation:mesh-move 12s ease-in-out infinite;
}
@keyframes mesh-move{
  0%,100%{background-position:0% 0%,100% 100%,50% 50%}
  33%{background-position:5% 10%,95% 90%,52% 48%}
  66%{background-position:-5% 5%,105% 95%,48% 52%}
}

/* Wavy decorative lines */
.hero-lines{
  position:absolute;inset:0;pointer-events:none;overflow:hidden;
}
.hero-lines svg{
  position:absolute;
  width:100%;height:100%;
  opacity:.07;
}

/* Big background text */
.hero-bg-text{
  position:absolute;
  font-size:clamp(120px,18vw,260px);
  font-weight:900;
  color:transparent;
  -webkit-text-stroke:1px rgba(245,194,21,.15);
  white-space:nowrap;
  right:-2%;
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
  letter-spacing:-5px;
  line-height:1;
  animation:bg-text-drift 20s ease-in-out infinite;
}
@keyframes bg-text-drift{
  0%,100%{transform:translateY(-50%) translateX(0)}
  50%{transform:translateY(-52%) translateX(-1%)}
}

/* Floating golden circles */
.hero-circles{position:absolute;inset:0;pointer-events:none}
.hc{
  position:absolute;border-radius:50%;
  background:linear-gradient(135deg,rgba(245,194,21,.25),rgba(245,194,21,.05));
  border:1px solid rgba(245,194,21,.2);
  animation:hc-float ease-in-out infinite;
}
.hc1{width:320px;height:320px;top:-80px;left:-80px;animation-duration:14s;animation-delay:0s}
.hc2{width:180px;height:180px;bottom:10%;right:5%;animation-duration:10s;animation-delay:3s}
.hc3{width:80px;height:80px;top:40%;left:8%;animation-duration:8s;animation-delay:1s}
.hc4{width:50px;height:50px;top:20%;right:20%;animation-duration:6s;animation-delay:2s}
@keyframes hc-float{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(10px,-20px) scale(1.04)}
}

/* Spinning ring */
.spin-ring{
  position:absolute;
  width:500px;height:500px;
  border-radius:50%;
  border:1px dashed rgba(245,194,21,.15);
  top:50%;left:60%;
  transform:translate(-50%,-50%);
  animation:spin-ring 40s linear infinite;
}
.spin-ring-2{
  position:absolute;
  width:700px;height:700px;
  border-radius:50%;
  border:1px dashed rgba(245,194,21,.08);
  top:50%;left:60%;
  transform:translate(-50%,-50%);
  animation:spin-ring 60s linear infinite reverse;
}
@keyframes spin-ring{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}

.hero-content{
  position:relative;z-index:2;
  max-width:780px;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11px;font-weight:700;letter-spacing:4px;
  color:var(--gold-d);
  margin-bottom:28px;
  opacity:0;animation:reveal-up .8s ease .3s forwards;
}
.hero-eyebrow::before{content:'';width:40px;height:1px;background:var(--gold)}
.hero-eyebrow::after{content:'';width:40px;height:1px;background:var(--gold)}

.hero-title{
  font-size:clamp(52px,9vw,110px);
  font-weight:900;line-height:1.0;
  letter-spacing:-2px;
  margin-bottom:6px;
  overflow:hidden;
}
.hero-title .line{
  display:block;
  opacity:0;transform:translateY(100%);
  animation:line-reveal .9s cubic-bezier(.16,1,.3,1) forwards;
}
.hero-title .line:nth-child(1){animation-delay:.5s}
.hero-title .line:nth-child(2){animation-delay:.65s}
.hero-title .line.gold{
  color:var(--gold);
  text-shadow:0 0 80px rgba(245,194,21,.3);
}

.hero-tagline{
  font-size:clamp(16px,2.2vw,22px);
  font-weight:300;
  color:var(--ink3);
  margin:24px 0 40px;
  opacity:0;animation:reveal-up .8s ease .9s forwards;
  max-width:520px;
}
.hero-tagline strong{font-weight:700;color:var(--ink)}

.hero-actions{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  opacity:0;animation:reveal-up .8s ease 1.1s forwards;
}
.btn-gold{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 36px;
  background:var(--gold);
  color:var(--ink);
  font-size:15px;font-weight:700;
  font-family:'Vazirmatn',sans-serif;
  border:none;border-radius:100px;
  cursor:pointer;transition:all .35s cubic-bezier(.23,1,.32,1);
  position:relative;overflow:hidden;
}
.btn-gold::before{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);
  transform:translateX(-100%);
  transition:transform .5s ease;
}
.btn-gold:hover::before{transform:translateX(100%)}
.btn-gold:hover{
  background:var(--gold-l);
  transform:translateY(-3px);
  box-shadow:0 20px 50px rgba(245,194,21,.4);
}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  font-size:14px;font-weight:600;color:var(--ink2);
  font-family:'Vazirmatn',sans-serif;
  background:none;border:none;cursor:pointer;
  transition:gap .3s ease,color .25s ease;
}
.btn-ghost:hover{gap:14px;color:var(--gold-d)}
.btn-ghost .arr{font-size:18px}

.hero-stats{
  display:flex;gap:40px;flex-wrap:wrap;
  margin-top:60px;
  padding-top:40px;
  border-top:1px solid rgba(245,194,21,.2);
  opacity:0;animation:reveal-up .8s ease 1.3s forwards;
}
.hs-item{text-align:right}
.hs-num{
  font-size:40px;font-weight:900;color:var(--ink);
  line-height:1;display:block;margin-bottom:4px;
}
.hs-num .cnt{
  background:linear-gradient(135deg,var(--gold-d),var(--gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hs-label{font-size:12px;color:var(--ink4);font-weight:400}

/* ─── SECTION ─── */
section{padding:100px 6%}
@media(max-width:768px){section{padding:64px 5%}}

.s-label{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:700;letter-spacing:3px;
  color:var(--gold-d);margin-bottom:12px;
}
.s-label::before{content:'';width:24px;height:2px;background:var(--gold)}
.s-title{
  font-size:clamp(28px,4.5vw,52px);
  font-weight:800;line-height:1.2;margin-bottom:16px;
  letter-spacing:-1px;
}
.s-title .g{color:var(--gold)}
.s-desc{font-size:16px;color:var(--ink3);font-weight:300;line-height:1.9;max-width:560px}

/* ─── ABOUT ─── */
.about-bg{background:var(--white)}
.about-inner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:80px;align-items:center;
  max-width:1160px;margin:0 auto;
}
@media(max-width:860px){.about-inner{grid-template-columns:1fr;gap:48px}}

.about-visual{position:relative}
.av-main{
  background:var(--cream);
  border:1px solid rgba(245,194,21,.2);
  border-radius:24px;
  padding:40px;
  position:relative;
  overflow:hidden;
  transition:transform .4s ease,box-shadow .4s ease;
}
.av-main:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg);
}
.av-main::after{
  content:'';position:absolute;
  top:-60px;right:-60px;
  width:180px;height:180px;
  background:radial-gradient(circle,rgba(245,194,21,.15) 0%,transparent 70%);
  border-radius:50%;
}
.av-year{
  font-size:80px;font-weight:900;
  color:var(--gold);opacity:.12;
  line-height:1;margin-bottom:-10px;
}
.av-main h3{font-size:20px;font-weight:700;margin-bottom:10px}
.av-main p{font-size:14px;color:var(--ink3);font-weight:300;line-height:1.8}
.av-highlight{
  margin-top:20px;
  padding:14px 18px;
  background:rgba(245,194,21,.1);
  border-radius:10px;
  border-right:3px solid var(--gold);
  font-size:13px;font-weight:600;color:var(--gold-xd);
}

.av-badges{
  display:grid;grid-template-columns:1fr 1fr;
  gap:12px;margin-top:16px;
}
.av-badge{
  padding:16px;
  background:var(--cream);
  border:1px solid rgba(245,194,21,.15);
  border-radius:14px;
  text-align:center;
  transition:all .3s ease;
  cursor:default;
}
.av-badge:hover{
  background:rgba(245,194,21,.08);
  border-color:rgba(245,194,21,.35);
  transform:translateY(-4px);
}
.av-badge .abi{font-size:26px;margin-bottom:6px;display:block}
.av-badge .abt{font-size:12px;color:var(--ink3);font-weight:500}

.licenses{display:flex;flex-direction:column;gap:10px;margin-top:28px}
.lic{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;
  background:var(--cream2);
  border:1px solid transparent;
  border-radius:10px;
  font-size:13px;color:var(--ink2);
  transition:all .3s ease;
  cursor:default;
}
.lic:hover{
  background:rgba(245,194,21,.08);
  border-color:rgba(245,194,21,.25);
  transform:translateX(-4px);
}
.lic-dot{width:7px;height:7px;background:var(--gold);border-radius:50%;flex-shrink:0}

/* ─── FEATURES ─── */
.features-bg{
  background:var(--cream);
  position:relative;overflow:hidden;
}
.features-bg::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,194,21,.3),transparent);
}
.features-bg::after{
  content:'';position:absolute;
  bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,194,21,.3),transparent);
}

.feat-header{
  text-align:center;max-width:600px;
  margin:0 auto 56px;
}
.feat-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;max-width:1160px;margin:0 auto;
}
@media(max-width:900px){.feat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.feat-grid{grid-template-columns:1fr}}

.fc{
  background:var(--white);
  border:1px solid rgba(245,194,21,.12);
  border-radius:var(--r);
  padding:32px 26px;
  position:relative;overflow:hidden;
  transition:all .4s cubic-bezier(.23,1,.32,1);
  cursor:default;
}
.fc::after{
  content:'';
  position:absolute;top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,var(--gold-d),var(--gold),var(--gold-l));
  transform:scaleX(0);transform-origin:right;
  transition:transform .4s ease;
}
.fc:hover{
  transform:translateY(-10px);
  box-shadow:0 24px 60px rgba(245,194,21,.15), 0 4px 16px rgba(26,20,0,.08);
  border-color:rgba(245,194,21,.3);
}
.fc:hover::after{transform:scaleX(1)}
.fc-n{
  font-size:52px;font-weight:900;
  color:rgba(245,194,21,.12);
  line-height:1;margin-bottom:14px;
}
.fc-icon{
  width:48px;height:48px;
  background:linear-gradient(135deg,rgba(245,194,21,.18),rgba(245,194,21,.05));
  border:1px solid rgba(245,194,21,.2);
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;margin-bottom:16px;
  transition:transform .35s ease;
}
.fc:hover .fc-icon{transform:scale(1.12) rotate(-6deg)}
.fc-t{font-size:17px;font-weight:700;margin-bottom:8px;color:var(--ink)}
.fc-d{font-size:13px;color:var(--ink3);font-weight:300;line-height:1.8}

/* ─── MARQUEE ─── */
.marquee-wrap{
  background:var(--gold);
  padding:18px 0;overflow:hidden;
  border-top:1px solid var(--gold-l);
  border-bottom:1px solid var(--gold-d);
}
.marquee-track{
  display:flex;gap:0;
  animation:marquee 20s linear infinite;
  white-space:nowrap;
  width:max-content;
}
.marquee-item{
  display:inline-flex;align-items:center;gap:16px;
  padding:0 28px;
  font-size:14px;font-weight:700;color:var(--ink);
  letter-spacing:.5px;
}
.marquee-item::after{
  content:'✦';font-size:10px;color:rgba(26,20,0,.35);
}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─── PROMISE ─── */
.promise-bg{background:var(--ink);color:var(--cream)}
.promise-inner{max-width:1160px;margin:0 auto}
.promise-quote-block{
  text-align:center;
  padding:70px 40px;
  position:relative;
  overflow:hidden;
}
.pqb-deco{
  position:absolute;
  font-size:300px;font-weight:900;
  color:rgba(245,194,21,.04);
  top:-40px;left:0;right:0;
  text-align:center;
  line-height:1;pointer-events:none;
  font-family:Georgia,serif;
}
.pq-label{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:700;letter-spacing:3px;
  color:var(--gold);margin-bottom:20px;
}
.pq-label::before,.pq-label::after{content:'';width:24px;height:1px;background:var(--gold)}
.pq-text{
  font-size:clamp(22px,3.5vw,38px);
  font-weight:700;
  color:var(--cream);
  margin-bottom:12px;
  position:relative;
}
.pq-text .gold{color:var(--gold)}
.pq-sub{font-size:16px;color:rgba(253,250,240,.5);font-weight:300}

.promise-cards{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:16px;
}
@media(max-width:860px){.promise-cards{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.promise-cards{grid-template-columns:1fr}}

.pc{
  padding:26px 22px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(245,194,21,.12);
  border-radius:14px;
  transition:all .35s ease;
  cursor:default;
}
.pc:hover{
  background:rgba(245,194,21,.08);
  border-color:rgba(245,194,21,.3);
  transform:translateY(-6px);
}
.pc-check{
  width:38px;height:38px;
  background:var(--gold);
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:900;color:var(--ink);
  margin-bottom:16px;
  transition:transform .3s ease;
}
.pc:hover .pc-check{transform:scale(1.1) rotate(-5deg)}
.pc-t{font-size:15px;font-weight:700;color:var(--cream);margin-bottom:6px}
.pc-d{font-size:13px;color:rgba(253,250,240,.45);font-weight:300;line-height:1.7}

/* ─── LANGUAGES ─── */
.lang-bg{background:var(--white)}
.lang-inner{max-width:1160px;margin:0 auto}
.lang-header{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:30px;margin-bottom:50px;flex-wrap:wrap;
}
.lang-pills-wrap{
  display:flex;flex-wrap:wrap;gap:8px;
  max-width:1160px;margin:0 auto 44px;
}
.lpill{
  display:flex;align-items:center;gap:7px;
  padding:9px 18px;
  background:var(--cream2);
  border:1px solid rgba(245,194,21,.15);
  border-radius:100px;
  font-size:13px;font-weight:500;color:var(--ink2);
  cursor:default;transition:all .3s ease;
}
.lpill:hover{
  background:rgba(245,194,21,.12);
  border-color:var(--gold);color:var(--gold-xd);
  transform:translateY(-3px);
  box-shadow:0 8px 24px rgba(245,194,21,.15);
}
.lpill .fl{font-size:18px}

.lang-pts{
  display:grid;grid-template-columns:1fr 1fr;
  gap:16px;max-width:1160px;margin:0 auto;
}
@media(max-width:660px){.lang-pts{grid-template-columns:1fr}}

.lp{
  display:flex;align-items:flex-start;gap:18px;
  padding:24px;
  background:var(--cream);
  border:1px solid rgba(245,194,21,.1);
  border-radius:14px;
  transition:all .35s ease;cursor:default;
}
.lp:hover{
  border-color:rgba(245,194,21,.3);
  transform:translateX(-4px);
  background:rgba(245,194,21,.04);
}
.lp-n{
  font-size:26px;font-weight:900;
  background:linear-gradient(135deg,var(--gold-d),var(--gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  flex-shrink:0;width:36px;line-height:1;padding-top:2px;
}
.lp-c h4{font-size:15px;font-weight:700;margin-bottom:4px}
.lp-c p{font-size:13px;color:var(--ink3);font-weight:300;line-height:1.7}

.formats{
  display:flex;gap:16px;flex-wrap:wrap;
  max-width:1160px;margin:28px auto 0;
}
.fmt{
  flex:1;min-width:160px;
  padding:26px 22px;
  text-align:center;
  background:var(--cream);
  border:1px solid rgba(245,194,21,.12);
  border-radius:14px;
  cursor:default;transition:all .4s ease;
}
.fmt:hover{
  background:var(--gold);
  border-color:var(--gold);
  transform:translateY(-8px);
  box-shadow:0 20px 50px rgba(245,194,21,.25);
}
.fmt:hover .fmt-icon,.fmt:hover .fmt-t,.fmt:hover .fmt-d{color:var(--ink)}
.fmt-icon{font-size:32px;margin-bottom:10px;display:block;transition:transform .3s ease}
.fmt:hover .fmt-icon{transform:scale(1.15)}
.fmt-t{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px}
.fmt-d{font-size:12px;color:var(--ink4);transition:color .3s ease}

/* ─── BRANCHES ─── */
.branches-bg{background:var(--cream)}
.br-inner{max-width:1160px;margin:0 auto}
.city-tabs{
  display:flex;gap:8px;flex-wrap:wrap;
  margin-bottom:36px;
}
.ct{
  padding:9px 22px;
  border-radius:100px;
  background:var(--white);
  border:1px solid rgba(245,194,21,.15);
  font-size:13px;font-weight:600;
  font-family:'Vazirmatn',sans-serif;
  color:var(--ink3);cursor:pointer;
  transition:all .3s ease;
}
.ct.active,.ct:hover{
  background:var(--gold);
  border-color:var(--gold);
  color:var(--ink);
  box-shadow:0 4px 16px rgba(245,194,21,.3);
}

.city-panel{display:none}
.city-panel.active{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:16px;
}

.bcard{
  background:var(--white);
  border:1px solid rgba(245,194,21,.12);
  border-radius:var(--r);
  padding:26px 22px;
  position:relative;overflow:hidden;
  transition:all .35s ease;cursor:default;
}
.bcard::before{
  content:'';
  position:absolute;right:0;top:0;bottom:0;
  width:3px;
  background:linear-gradient(to bottom,var(--gold),rgba(245,194,21,.1));
  transform:scaleY(0);transform-origin:top;
  transition:transform .35s ease;
}
.bcard:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-lg);
  border-color:rgba(245,194,21,.25);
}
.bcard:hover::before{transform:scaleY(1)}
.bc-name{
  display:flex;align-items:center;gap:8px;
  font-size:15px;font-weight:700;color:var(--gold-xd);
  margin-bottom:10px;
}
.bc-dot{width:8px;height:8px;background:var(--gold);border-radius:50%;flex-shrink:0}
.bc-addr{
  font-size:12px;color:var(--ink4);
  line-height:1.7;margin-bottom:14px;padding-right:16px;
}
.bc-phones{display:flex;flex-direction:column;gap:5px}
.bc-ph{
  display:flex;align-items:center;gap:7px;
  font-size:12px;color:var(--ink2);
  direction:ltr;justify-content:flex-end;
}
.ph-ico{color:var(--gold-d);font-size:13px}

/* ─── CTA ─── */
.cta-bg{
  background:linear-gradient(135deg, var(--cream2) 0%, var(--cream3) 100%);
  position:relative;overflow:hidden;
  text-align:center;
}
.cta-bg::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 80% at 50% 100%,rgba(245,194,21,.15) 0%,transparent 60%);
}
.cta-inner{position:relative;z-index:1;max-width:700px;margin:0 auto}
.cta-ring1,.cta-ring2{
  position:absolute;border-radius:50%;
  border:1px solid rgba(245,194,21,.12);
  top:50%;left:50%;transform:translate(-50%,-50%);
  pointer-events:none;
}
.cta-ring1{width:400px;height:400px;animation:cta-ring 6s ease-in-out infinite}
.cta-ring2{width:600px;height:600px;animation:cta-ring 8s ease-in-out infinite .5s}
@keyframes cta-ring{
  0%,100%{transform:translate(-50%,-50%) scale(1);opacity:1}
  50%{transform:translate(-50%,-50%) scale(1.04);opacity:.6}
}
.cta-label{
  font-size:11px;font-weight:700;letter-spacing:4px;
  color:var(--gold-d);margin-bottom:20px;display:block;
}
.cta-title{
  font-size:clamp(30px,5vw,58px);
  font-weight:900;letter-spacing:-1.5px;
  line-height:1.15;margin-bottom:16px;
}
.cta-title .g{color:var(--gold)}
.cta-quote{
  font-size:18px;font-weight:300;
  color:var(--ink3);margin-bottom:40px;
  font-style:italic;
}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ─── FOOTER ─── */
footer{
  background:var(--ink);
  padding:50px 6% 36px;
  color:var(--cream);
}
.ft-inner{
  max-width:1160px;margin:0 auto;
  display:flex;justify-content:space-between;
  align-items:flex-end;gap:24px;flex-wrap:wrap;
}
.ft-logo{font-size:28px;font-weight:900;color:var(--gold)}
.ft-logo span{color:var(--cream);font-weight:200}
.ft-sub{font-size:13px;color:rgba(253,250,240,.35);margin-top:6px}
.ft-cities{
  display:flex;flex-wrap:wrap;gap:10px;
  justify-content:flex-end;
}
.ft-city{
  font-size:12px;color:rgba(253,250,240,.25);
  padding:4px 12px;
  border:1px solid rgba(245,194,21,.08);
  border-radius:100px;
}
.ft-bottom{
  max-width:1160px;margin:28px auto 0;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.06);
  text-align:center;
  font-size:12px;color:rgba(253,250,240,.2);
}

/* ─── ANIMATIONS ─── */
@keyframes reveal-up{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes line-reveal{
  from{opacity:0;transform:translateY(100%)}
  to{opacity:1;transform:translateY(0)}
}
.rv{opacity:0;transform:translateY(36px);transition:opacity .75s cubic-bezier(.23,1,.32,1),transform .75s cubic-bezier(.23,1,.32,1)}
.rv.on{opacity:1;transform:translateY(0)}
.rv-l{opacity:0;transform:translateX(40px);transition:opacity .75s ease,transform .75s ease}
.rv-l.on{opacity:1;transform:translateX(0)}
.rv-r{opacity:0;transform:translateX(-40px);transition:opacity .75s ease,transform .75s ease}
.rv-r.on{opacity:1;transform:translateX(0)}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}
.d4{transition-delay:.32s}.d5{transition-delay:.4s}.d6{transition-delay:.48s}

/* ─── MOBILE ─── */
@media(max-width:768px){
  .hero-bg-text{display:none}
  .spin-ring,.spin-ring-2{display:none}
  .hc1,.hc2{display:none}
  .hero-content{text-align:center}
  .hero-tagline{max-width:100%}
  .hero-actions{justify-content:center}
  .hero-stats{justify-content:center;gap:24px;margin-top:40px;padding-top:28px}
  .hs-num{font-size:32px}
  .feat-grid{gap:12px}
  .fc{padding:24px 18px}
  .about-inner{grid-template-columns:1fr}
  .av-badges{grid-template-columns:1fr 1fr}
  .promise-cards{grid-template-columns:1fr 1fr}
  .lang-pts{grid-template-columns:1fr}
  .formats{flex-direction:column}
  .fmt{min-width:0}
  .cta-ring1,.cta-ring2{display:none}
  .ft-inner{flex-direction:column;align-items:flex-start}
  .ft-cities{justify-content:flex-start}
  section{padding:56px 5%}
  .s-title{font-size:clamp(24px,6vw,36px)}
  .hero-title{font-size:clamp(42px,11vw,90px)}
  .promise-quote-block{padding:40px 20px}
  .pc{padding:20px 16px}
  .bcard{padding:20px 18px}
  nav{padding:16px 5%}
  .feat-header{margin-bottom:36px}
  .av-main,.bcard,.fc,.lp,.pc{transition:none}
  .av-main:hover,.bcard:hover,.fc:hover,.lp:hover,.pc:hover{transform:none;box-shadow:none}
  .lpill:hover,.fmt:hover{transform:translateY(-2px)}
}/* End custom CSS */