@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Unbounded:wght@500;600;700&display=swap');

:root{
  --bg:#f4f3ef;
  --paper:#fbfaf7;
  --ink:#101513;
  --muted:#66706b;
  --line:rgba(16,21,19,.12);
  --green:#0e6b58;
  --green2:#1b9078;
  --gold:#c99b55;
  --dark:#0d1513;
  --radius:30px;
  --shadow:0 30px 80px rgba(17,29,25,.11);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Manrope,Arial,sans-serif;
  background:var(--bg);
  color:var(--ink);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
img{max-width:100%}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(244,243,239,.88);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
}
.nav{
  max-width:1440px;
  min-height:112px;
  margin:auto;
  padding:0 44px;
  display:flex;
  align-items:center;
  gap:36px;
}
.brand{
  display:flex;
  align-items:center;
  gap:17px;
  margin-right:auto;
}
.logo-mark{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:linear-gradient(145deg,#0a4c41,#16967d);
  box-shadow:0 15px 35px rgba(14,107,88,.22);
  position:relative;
  overflow:hidden;
}
.logo-mark:before,.logo-mark:after{
  content:"";
  position:absolute;
  width:15px;
  height:38px;
  border-radius:4px;
  background:#fff;
  transform:skew(-21deg);
  top:12px;
}
.logo-mark:before{left:20px}
.logo-mark:after{right:20px}
.logo-dot{
  position:absolute;
  width:7px;height:7px;border-radius:50%;
  background:#e7bd72;
  z-index:3;
}
.brand-copy strong{
  display:block;
  font-size:20px;
  letter-spacing:.02em;
}
.brand-copy span{
  display:block;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.17em;
  margin-top:4px;
}
.menu{
  display:flex;
  align-items:center;
  gap:30px;
}
.menu a{
  font-weight:700;
  font-size:14px;
  position:relative;
}
.menu a:not(.nav-cta):after{
  content:"";
  position:absolute;
  left:0;bottom:-8px;
  width:0;height:2px;
  background:var(--green);
  transition:.25s;
}
.menu a:hover:after{width:100%}
.nav-cta,.btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:999px;
  padding:16px 24px;
  color:white!important;
  background:linear-gradient(135deg,var(--green),var(--green2));
  box-shadow:0 14px 35px rgba(14,107,88,.22);
}
.menu-btn{
  display:none;
  width:48px;height:48px;border:0;border-radius:50%;
  background:white;
  box-shadow:var(--shadow);
  cursor:pointer;
}
.hero{
  min-height:760px;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
   radial-gradient(circle at 74% 25%,rgba(35,146,120,.19),transparent 34%),
   radial-gradient(circle at 22% 80%,rgba(201,155,85,.18),transparent 30%);
  pointer-events:none;
}
.hero-grid{
  max-width:1440px;
  min-height:760px;
  margin:auto;
  padding:72px 44px;
  display:grid;
  grid-template-columns:1.03fr .97fr;
  gap:70px;
  align-items:center;
  position:relative;
}
.eyebrow{
  color:var(--green);
  font-weight:800;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.23em;
  margin-bottom:24px;
}
.hero h1,.page-hero h1{
  font-family:Unbounded,Manrope,sans-serif;
  font-size:clamp(54px,6.3vw,104px);
  line-height:.97;
  letter-spacing:-.055em;
  margin:0;
  max-width:850px;
}
.hero h1 .accent{color:var(--green)}
.hero p{
  max-width:690px;
  font-size:20px;
  line-height:1.7;
  color:var(--muted);
  margin:30px 0;
}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;
  padding:16px 24px;border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid var(--line);
  font-weight:800;
}
.hero-scene{
  height:600px;
  position:relative;
  perspective:1200px;
}
.scene-card{
  position:absolute;
  inset:42px 0 42px 40px;
  border-radius:44px;
  overflow:hidden;
  background:
    radial-gradient(circle at 67% 25%,rgba(201,155,85,.28),transparent 25%),
    linear-gradient(135deg,#10221e,#08110f);
  box-shadow:0 45px 100px rgba(10,23,20,.28);
}
.scene-grid{
  position:absolute;inset:0;
  opacity:.15;
  background-image:
    linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:52px 52px;
}
.module{
  position:absolute;
  width:72%;
  height:44%;
  left:14%;
  top:29%;
  border-radius:18px;
  background:linear-gradient(145deg,#e6e0d3,#afa898 60%,#7c776e);
  transform:rotateY(-14deg) rotateX(3deg);
  box-shadow:0 40px 50px rgba(0,0,0,.35);
}
.module:before{
  content:"";
  position:absolute;
  width:39%;
  height:68%;
  right:9%;
  top:14%;
  border-radius:8px;
  background:linear-gradient(145deg,#19332f,#06100e);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.1);
}
.module:after{
  content:"";
  position:absolute;
  width:30%;
  height:5px;
  left:10%;
  top:25%;
  background:#0e6b58;
  box-shadow:0 18px 0 #0e6b58,0 36px 0 #0e6b58;
}
.scene-orbit{
  width:105px;height:105px;border-radius:50%;
  border:1px solid rgba(255,255,255,.24);
  position:absolute;right:7%;top:11%;
  animation:orbit 8s linear infinite;
}
.scene-orbit:after{
  content:"";
  width:13px;height:13px;border-radius:50%;background:#d6ae69;
  position:absolute;left:7px;top:12px;
  box-shadow:0 0 18px #d6ae69;
}
@keyframes orbit{to{transform:rotate(360deg)}}
.float-tag{
  position:absolute;
  border-radius:999px;
  padding:12px 18px;
  font-weight:700;
  font-size:12px;
  color:white;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(14px);
}
.t1{left:8%;top:10%;animation:float 5s ease-in-out infinite}
.t2{right:8%;bottom:11%;animation:float 6s ease-in-out infinite .8s}
@keyframes float{50%{transform:translateY(-13px)}}

.marquee{
  overflow:hidden;
  background:var(--dark);
  color:white;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.marquee-track{
  display:flex;width:max-content;
  animation:marquee 28s linear infinite;
}
.marquee span{
  white-space:nowrap;
  font-family:Unbounded,sans-serif;
  font-size:15px;
  padding:22px 32px;
  color:#dde7e3;
}
.marquee b{color:#d9ae67}
@keyframes marquee{to{transform:translateX(-50%)}}

.section{
  max-width:1440px;
  margin:auto;
  padding:110px 44px;
}
.section-head{
  display:flex;justify-content:space-between;gap:50px;align-items:end;
  margin-bottom:50px;
}
.section-head h2{
  font-family:Unbounded,sans-serif;
  font-size:clamp(36px,4.8vw,72px);
  line-height:1.05;
  letter-spacing:-.045em;
  margin:0;
  max-width:930px;
}
.section-head p{
  max-width:520px;color:var(--muted);font-size:18px;line-height:1.65;margin:0;
}
.intro-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:30px;
}
.intro-card{
  min-height:390px;
  padding:40px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--paper);
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.intro-card.dark{background:#111a18;color:white}
.intro-card h3{
  font-family:Unbounded,sans-serif;
  font-size:36px;
  line-height:1.1;
  margin:0 0 20px;
}
.intro-card p{color:var(--muted);font-size:17px;line-height:1.7}
.intro-card.dark p{color:#aeb9b5}
.big-number{
  position:absolute;right:28px;bottom:5px;
  font-family:Unbounded,sans-serif;
  font-size:150px;
  letter-spacing:-.09em;
  opacity:.07;
}

.process{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.process-card{
  min-height:330px;
  border:1px solid var(--line);
  border-radius:26px;
  padding:30px;
  background:var(--paper);
  transition:.35s;
}
.process-card:hover{transform:translateY(-10px);box-shadow:var(--shadow)}
.process-no{
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  background:#e7eee9;color:var(--green);font-weight:900;
  margin-bottom:80px;
}
.process-card h3{font-size:24px;margin:0 0 13px}
.process-card p{color:var(--muted);line-height:1.65}

.solutions{
  background:var(--dark);
  color:white;
}
.solutions .section-head p{color:#aab7b2}
.solution-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px;
}
.solution-card{
  min-height:440px;
  border-radius:30px;
  padding:38px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(145deg,#14221e,#0c1311);
}
.solution-card:before{
  content:"";
  position:absolute;
  width:280px;height:280px;border-radius:50%;
  right:-70px;top:-80px;
  background:radial-gradient(circle,rgba(49,174,144,.37),transparent 70%);
  transition:.5s;
}
.solution-card:hover:before{transform:scale(1.45)}
.solution-card h3{
  font-family:Unbounded,sans-serif;
  font-size:35px;max-width:460px;margin-top:170px;margin-bottom:13px;
}
.solution-card p{color:#aeb9b5;max-width:550px;line-height:1.6}

.stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.stat{padding:48px 30px;border-right:1px solid var(--line)}
.stat:last-child{border:0}
.stat strong{
  display:block;font-family:Unbounded,sans-serif;
  font-size:52px;color:var(--green);
}
.stat span{color:var(--muted)}

.audience-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
.audience{
  min-height:310px;
  padding:32px;
  border-radius:28px;
  border:1px solid var(--line);
  background:var(--paper);
  transition:.35s;
}
.audience:hover{background:#eaf2ee;transform:translateY(-7px)}
.audience h3{font-size:28px;margin-top:85px}
.audience p{color:var(--muted);line-height:1.6}

.news-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}
.news-card{
  min-height:330px;border-radius:28px;padding:30px;
  background:white;border:1px solid var(--line);
  display:flex;flex-direction:column;justify-content:end;
}
.news-card:first-child{
  color:white;
  background:
   linear-gradient(0deg,rgba(6,20,17,.86),rgba(6,20,17,.22)),
   radial-gradient(circle at 70% 20%,#2aa98c,#12221f 55%);
}
.news-card small{color:var(--green);font-weight:800}
.news-card:first-child small{color:#dcb36d}
.news-card h3{font-size:27px;line-height:1.25;margin:13px 0}

.cta{
  margin:0 auto 80px;
  max-width:1352px;
  min-height:470px;
  border-radius:44px;
  padding:65px;
  background:
    radial-gradient(circle at 85% 20%,rgba(61,191,159,.33),transparent 32%),
    #0d1714;
  color:white;
  display:flex;flex-direction:column;justify-content:center;
  position:relative;overflow:hidden;
}
.cta h2{
  font-family:Unbounded,sans-serif;
  font-size:clamp(42px,5vw,82px);
  line-height:1.02;max-width:930px;margin:0 0 30px;
}
.cta p{color:#b6c0bc;max-width:650px;font-size:18px;line-height:1.6}

.footer{
  border-top:1px solid var(--line);
  padding:55px 44px;
}
.footer-inner{
  max-width:1440px;margin:auto;
  display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;
}
.footer h4{margin-top:0}
.footer p,.footer a{color:var(--muted);line-height:1.9}
.footer a{display:block}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease,transform .8s ease;
}
.reveal.visible{opacity:1;transform:none}

.page-hero{
  max-width:1440px;margin:auto;
  padding:100px 44px 70px;
}
.page-hero h1{font-size:clamp(48px,6vw,90px)}
.page-hero p{
  max-width:820px;font-size:20px;color:var(--muted);line-height:1.7;
}
.content-grid{
  max-width:1440px;margin:auto;padding:10px 44px 110px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
.content-card{
  min-height:280px;padding:30px;border-radius:28px;
  background:white;border:1px solid var(--line);
}
.content-card h2,.content-card h3{font-size:26px}
.content-card p{color:var(--muted);line-height:1.7}

.contact-form{
  max-width:800px;
  display:grid;
  gap:13px;
}
.contact-form input,.contact-form textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:17px;
  padding:17px 20px;
  background:white;
}
.contact-form textarea{min-height:150px;resize:vertical}

@media(max-width:1050px){
  .menu{
    position:fixed;
    left:16px;right:16px;top:92px;
    padding:25px;
    border-radius:26px;
    background:#f8f7f3;
    box-shadow:0 30px 70px rgba(0,0,0,.18);
    display:none;
    flex-direction:column;
    align-items:stretch;
  }
  .menu.open{display:flex}
  .menu-btn{display:block}
  .nav{min-height:88px;padding:0 20px}
  .hero-grid{grid-template-columns:1fr;padding:55px 24px}
  .hero-scene{height:520px}
  .intro-grid,.solution-grid{grid-template-columns:1fr}
  .process{grid-template-columns:1fr 1fr}
  .audience-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .news-grid{grid-template-columns:1fr}
  .content-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .brand-copy span{display:none}
  .logo-mark{width:50px;height:50px;border-radius:16px}
  .nav{gap:12px}
  .hero{min-height:auto}
  .hero-grid{min-height:auto;padding-top:55px}
  .hero h1{font-size:44px;line-height:1.03}
  .hero p{font-size:17px}
  .hero-scene{height:390px}
  .scene-card{inset:20px 0}
  .section{padding:75px 20px}
  .section-head{display:block}
  .section-head p{margin-top:22px}
  .section-head h2{font-size:38px}
  .process,.stats,.content-grid{grid-template-columns:1fr}
  .stat{border-right:0;border-bottom:1px solid var(--line)}
  .solution-card{min-height:350px}
  .solution-card h3{margin-top:130px;font-size:28px}
  .intro-card{padding:28px}
  .cta{margin:0 16px 50px;padding:38px 25px;min-height:430px;border-radius:30px}
  .footer{padding:45px 20px}
  .footer-inner{grid-template-columns:1fr}
  .page-hero{padding:70px 20px 45px}
  .content-grid{padding:0 20px 80px}
}


/* ============================================================
   AA ALLIANCE — DARK ARCHITECTURAL SYSTEM / V2
   ============================================================ */

:root{
  --bg:#080b0a;
  --paper:#0d1210;
  --ink:#f0eee8;
  --muted:#8d9691;
  --line:rgba(219,211,194,.13);

  --green:#567d6e;
  --green2:#78998c;
  --deep-green:#101c18;

  --gold:#b69a69;
  --gold2:#d2bb8d;

  --dark:#050706;

  --radius:22px;

  --shadow:
    0 30px 90px rgba(0,0,0,.42),
    0 2px 10px rgba(0,0,0,.20);

  --inner:
    inset 0 1px 0 rgba(255,255,255,.04);
}


/* ---------- BASE ---------- */

html{
  background:#050706;
}

body{
  background:
    radial-gradient(
      circle at 78% 5%,
      rgba(68,103,89,.13),
      transparent 27%
    ),
    radial-gradient(
      circle at 10% 35%,
      rgba(161,132,82,.06),
      transparent 24%
    ),
    linear-gradient(
      180deg,
      #090c0b 0%,
      #070908 45%,
      #050706 100%
    ) !important;

  color:var(--ink)!important;

  font-family:
    "IBM Plex Sans",
    "Arial Narrow",
    Arial,
    sans-serif!important;
}


/* technical micro typography */
.eyebrow,
.brand-copy span,
.process-no,
.float-tag,
.news-card small{
  font-family:
    "Arial Narrow",
    "Roboto Condensed",
    Arial,
    sans-serif!important;

  letter-spacing:.22em!important;
  text-transform:uppercase;
}


/* ---------- HEADER ---------- */

.site-header{
  background:
    linear-gradient(
      180deg,
      rgba(7,10,9,.97),
      rgba(7,10,9,.91)
    )!important;

  border-bottom:
    1px solid rgba(199,176,130,.13)!important;

  backdrop-filter:blur(25px)!important;

  box-shadow:
    0 15px 45px rgba(0,0,0,.22)!important;
}

.nav{
  min-height:106px!important;
}


.brand-copy strong{
  color:#f2f0e9!important;
  font-weight:600!important;
  letter-spacing:.02em!important;
  font-size:21px!important;
}


.brand-copy span{
  color:#908f88!important;
  font-size:10px!important;
}


/* ---------- NEW LOGO APPEARANCE ---------- */

.logo-mark{
  border-radius:14px!important;

  background:
    linear-gradient(
      145deg,
      #242927,
      #090c0b 65%
    )!important;

  border:
    1px solid rgba(210,187,141,.26)!important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 16px 38px rgba(0,0,0,.45)!important;
}


.logo-mark:before,
.logo-mark:after{
  background:
    linear-gradient(
      180deg,
      #f2eee4,
      #999a94
    )!important;

  box-shadow:
    0 0 18px rgba(255,255,255,.06);
}


.logo-dot{
  background:var(--gold2)!important;

  box-shadow:
    0 0 14px rgba(210,187,141,.7)!important;
}


/* ---------- NAVIGATION ---------- */

.menu{
  gap:33px!important;
}


.menu a{
  color:#c9cbc7!important;

  font-size:13px!important;

  font-weight:600!important;

  letter-spacing:.045em!important;

  transition:
    color .3s ease,
    transform .3s ease!important;
}


.menu a:hover{
  color:white!important;
}


.menu a:not(.nav-cta):after{
  background:
    linear-gradient(
      90deg,
      var(--gold),
      var(--gold2)
    )!important;
}


.nav-cta,
.btn-primary{
  color:#0b0c0b!important;

  background:
    linear-gradient(
      135deg,
      #b89b68,
      #d5bd8d
    )!important;

  font-weight:700!important;

  box-shadow:
    0 14px 35px rgba(184,155,104,.15),
    inset 0 1px 0 rgba(255,255,255,.4)!important;

  transition:
    transform .3s ease,
    box-shadow .3s ease!important;
}


.nav-cta:hover,
.btn-primary:hover{
  transform:translateY(-2px)!important;

  box-shadow:
    0 20px 50px rgba(184,155,104,.23),
    inset 0 1px 0 rgba(255,255,255,.45)!important;
}


.btn-secondary{
  color:#e6e3da!important;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.055),
      rgba(255,255,255,.018)
    )!important;

  border:
    1px solid rgba(219,211,194,.16)!important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035)!important;
}


/* ---------- HERO ---------- */

.hero{
  min-height:820px!important;

  border-bottom:
    1px solid rgba(255,255,255,.08)!important;

  background:
    radial-gradient(
      circle at 76% 36%,
      rgba(59,97,81,.19),
      transparent 28%
    ),
    radial-gradient(
      circle at 28% 72%,
      rgba(167,135,82,.055),
      transparent 25%
    )!important;
}


.hero:before{
  opacity:.8!important;

  background-image:
    linear-gradient(
      rgba(255,255,255,.018) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.018) 1px,
      transparent 1px
    )!important;

  background-size:
    72px 72px!important;

  mask-image:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.8),
      transparent 95%
    );
}


.hero-grid{
  min-height:820px!important;

  grid-template-columns:
    1.10fr .90fr!important;

  gap:90px!important;
}


.eyebrow{
  color:#a89167!important;

  font-size:11px!important;

  font-weight:600!important;
}


/* HERO TITLE — technical / architectural */
.hero h1,
.page-hero h1{
  color:#eeece5!important;

  font-family:
    "Arial Narrow",
    "Roboto Condensed",
    "DIN Condensed",
    Arial,
    sans-serif!important;

  font-weight:600!important;

  text-transform:uppercase;

  letter-spacing:-.055em!important;
}


.hero h1{
  font-size:
    clamp(60px,6.6vw,112px)!important;

  line-height:.88!important;

  max-width:850px!important;
}


.hero h1 .accent{
  color:#779487!important;

  text-shadow:
    0 0 42px rgba(119,148,135,.08);
}


.hero p{
  color:#979e99!important;

  font-size:18px!important;

  line-height:1.75!important;

  max-width:650px!important;

  letter-spacing:.01em!important;
}


/* ---------- HERO SCENE ---------- */

.hero-scene{
  height:640px!important;
}


.scene-card{
  inset:30px 0 30px 30px!important;

  border-radius:28px!important;

  border:
    1px solid rgba(204,185,148,.18)!important;

  background:
    radial-gradient(
      circle at 70% 22%,
      rgba(187,154,96,.17),
      transparent 20%
    ),
    radial-gradient(
      circle at 25% 78%,
      rgba(67,115,94,.16),
      transparent 23%
    ),
    linear-gradient(
      145deg,
      #101714,
      #050806 70%
    )!important;

  box-shadow:
    0 60px 130px rgba(0,0,0,.60),
    inset 0 1px 0 rgba(255,255,255,.045)!important;
}


.scene-grid{
  opacity:.12!important;

  background-size:
    42px 42px!important;
}


/* MODULE */
.module{
  width:69%!important;

  height:43%!important;

  left:15%!important;

  top:31%!important;

  border-radius:8px!important;

  background:
    linear-gradient(
      125deg,
      #b9b6ab,
      #6d706a 55%,
      #3d423f
    )!important;

  box-shadow:
    -8px 30px 60px rgba(0,0,0,.7),
    inset 0 1px 0 rgba(255,255,255,.25)!important;

  transform:
    rotateY(-17deg)
    rotateX(4deg)
    translateZ(10px)!important;

  animation:
    moduleFloat 7s ease-in-out infinite!important;
}


@keyframes moduleFloat{
  0%,100%{
    transform:
      rotateY(-17deg)
      rotateX(4deg)
      translateY(0)
      translateZ(10px);
  }

  50%{
    transform:
      rotateY(-15deg)
      rotateX(3deg)
      translateY(-9px)
      translateZ(20px);
  }
}


.module:before{
  border-radius:3px!important;

  background:
    linear-gradient(
      145deg,
      #20302a,
      #050907
    )!important;

  box-shadow:
    inset 0 0 0 2px rgba(190,198,193,.19),
    0 15px 30px rgba(0,0,0,.3)!important;
}


.module:after{
  height:2px!important;

  background:#a58e61!important;

  box-shadow:
    0 16px 0 #a58e61,
    0 32px 0 #a58e61!important;
}


/* orbit */
.scene-orbit{
  border:
    1px solid rgba(202,178,131,.3)!important;

  opacity:.8;
}


.scene-orbit:after{
  background:#cab17e!important;

  box-shadow:
    0 0 25px rgba(202,177,126,.75)!important;
}


.float-tag{
  color:#c8ccc8!important;

  background:
    rgba(13,18,16,.7)!important;

  border:
    1px solid rgba(255,255,255,.11)!important;

  font-size:10px!important;

  font-weight:500!important;
}


/* ---------- MARQUEE ---------- */

.marquee{
  background:#050706!important;

  border-top:
    1px solid rgba(255,255,255,.05)!important;

  border-bottom:
    1px solid rgba(255,255,255,.07)!important;
}


.marquee span{
  color:#6e7671!important;

  font-family:
    "Arial Narrow",
    "Roboto Condensed",
    Arial,
    sans-serif!important;

  font-weight:500!important;

  font-size:12px!important;

  letter-spacing:.18em!important;
}


.marquee b{
  color:#9e895f!important;
}


/* ---------- SECTIONS ---------- */

.section{
  position:relative;
}


.section-head h2{
  color:#eceae4!important;

  font-family:
    "Arial Narrow",
    "Roboto Condensed",
    Arial,
    sans-serif!important;

  text-transform:uppercase;

  font-weight:600!important;

  letter-spacing:-.045em!important;
}


.section-head p{
  color:#8e9691!important;
}


/* ---------- CARDS ---------- */

.intro-card,
.process-card,
.audience,
.news-card,
.content-card{
  background:
    linear-gradient(
      145deg,
      rgba(17,23,20,.96),
      rgba(9,13,11,.96)
    )!important;

  border:
    1px solid rgba(220,211,193,.10)!important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 20px 55px rgba(0,0,0,.22)!important;

  color:#eae8e2!important;
}


.intro-card.dark{
  background:
    linear-gradient(
      145deg,
      #121916,
      #070a08
    )!important;
}


.intro-card h3,
.process-card h3,
.audience h3,
.news-card h3,
.content-card h2,
.content-card h3{
  color:#eceae4!important;
}


.intro-card p,
.process-card p,
.audience p,
.news-card p,
.content-card p{
  color:#89918d!important;
}


/* numbers */
.big-number{
  color:#c6a970!important;

  opacity:.055!important;
}


.process-no{
  background:
    transparent!important;

  border:
    1px solid rgba(196,169,116,.28)!important;

  color:#ba9e69!important;

  border-radius:5px!important;

  font-weight:500!important;
}


/* ---------- CARD HOVER ---------- */

.process-card,
.audience,
.content-card{
  transition:
    transform .42s cubic-bezier(.2,.75,.25,1),
    border-color .42s ease,
    box-shadow .42s ease!important;
}


.process-card:hover,
.audience:hover,
.content-card:hover{
  transform:translateY(-8px)!important;

  background:
    linear-gradient(
      145deg,
      #151d19,
      #090d0b
    )!important;

  border-color:
    rgba(196,169,116,.24)!important;

  box-shadow:
    0 30px 80px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.045)!important;
}


/* ---------- SOLUTIONS ---------- */

.solutions{
  background:
    linear-gradient(
      180deg,
      #050706,
      #09100d,
      #050706
    )!important;

  border-top:
    1px solid rgba(255,255,255,.06);

  border-bottom:
    1px solid rgba(255,255,255,.06);
}


.solution-card{
  min-height:470px!important;

  border-radius:20px!important;

  border:
    1px solid rgba(218,206,181,.12)!important;

  background:
    radial-gradient(
      circle at 84% 13%,
      rgba(171,143,91,.10),
      transparent 22%
    ),
    linear-gradient(
      145deg,
      #111714,
      #070a08
    )!important;

  box-shadow:
    0 30px 70px rgba(0,0,0,.29),
    inset 0 1px 0 rgba(255,255,255,.025)!important;

  transition:
    transform .5s cubic-bezier(.17,.84,.44,1),
    border-color .5s!important;
}


.solution-card:before{
  background:
    radial-gradient(
      circle,
      rgba(91,133,113,.22),
      transparent 70%
    )!important;
}


.solution-card:hover{
  transform:
    translateY(-8px)
    scale(1.007)!important;

  border-color:
    rgba(194,166,111,.23)!important;
}


.solution-card h3{
  color:#efede6!important;

  font-family:
    "Arial Narrow",
    "Roboto Condensed",
    Arial,
    sans-serif!important;

  text-transform:uppercase;

  font-weight:600!important;

  letter-spacing:-.025em!important;
}


.solution-card p{
  color:#858d89!important;
}


/* ---------- STATS ---------- */

.stats{
  border-color:
    rgba(255,255,255,.09)!important;
}


.stat{
  border-color:
    rgba(255,255,255,.08)!important;
}


.stat strong{
  color:#b59b69!important;

  font-family:
    "Arial Narrow",
    "Roboto Condensed",
    Arial,
    sans-serif!important;

  font-weight:500!important;
}


.stat span{
  color:#7e8782!important;
}


/* ---------- ARTICLES ---------- */

.news-card:first-child{
  background:
    radial-gradient(
      circle at 82% 18%,
      rgba(166,137,84,.18),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      #14211c,
      #080c0a
    )!important;
}


.news-card small{
  color:#a88f60!important;
}


/* ---------- CTA ---------- */

.cta{
  background:
    radial-gradient(
      circle at 82% 18%,
      rgba(154,128,79,.15),
      transparent 28%
    ),
    radial-gradient(
      circle at 18% 80%,
      rgba(76,118,98,.15),
      transparent 26%
    ),
    linear-gradient(
      145deg,
      #101714,
      #060907
    )!important;

  border:
    1px solid rgba(216,198,163,.12)!important;

  border-radius:24px!important;

  box-shadow:
    0 50px 120px rgba(0,0,0,.44),
    inset 0 1px 0 rgba(255,255,255,.03)!important;
}


.cta h2{
  color:#f0eee8!important;

  font-family:
    "Arial Narrow",
    "Roboto Condensed",
    Arial,
    sans-serif!important;

  text-transform:uppercase;

  letter-spacing:-.045em!important;
}


.cta p{
  color:#8d9590!important;
}


/* ---------- FOOTER ---------- */

.footer{
  background:#050706!important;

  border-top:
    1px solid rgba(255,255,255,.08)!important;
}


.footer strong,
.footer h4{
  color:#dddcd6!important;
}


.footer p,
.footer a{
  color:#747c78!important;
}


.footer a:hover{
  color:#c2a66f!important;
}


/* ---------- SUBPAGES ---------- */

.page-hero{
  min-height:460px;

  padding-top:125px!important;

  border-bottom:
    1px solid rgba(255,255,255,.07);
}


.page-hero p{
  color:#909894!important;
}


/* ---------- REVEAL MOTION ---------- */

.reveal{
  opacity:0;

  transform:
    translateY(34px)
    scale(.992)!important;

  filter:blur(4px);

  transition:
    opacity .85s cubic-bezier(.2,.65,.2,1),
    transform .85s cubic-bezier(.2,.65,.2,1),
    filter .85s ease!important;
}


.reveal.visible{
  opacity:1;

  transform:
    translateY(0)
    scale(1)!important;

  filter:blur(0);
}


/* subtle illuminated vertical edge */
.hero-grid:after{
  content:"";

  position:absolute;

  right:41%;

  top:12%;

  bottom:12%;

  width:1px;

  background:
    linear-gradient(
      transparent,
      rgba(198,171,116,.17),
      transparent
    );

  opacity:.4;

  pointer-events:none;
}


/* ---------- MOBILE ---------- */

@media(max-width:1050px){

  .menu{
    background:
      rgba(10,14,12,.98)!important;

    border:
      1px solid rgba(255,255,255,.10)!important;

    box-shadow:
      0 30px 90px rgba(0,0,0,.65)!important;
  }

  .menu-btn{
    color:#ddd!important;

    background:#101512!important;

    border:
      1px solid rgba(255,255,255,.1)!important;
  }

  .hero-grid:after{
    display:none;
  }

}


@media(max-width:650px){

  .nav{
    min-height:78px!important;
  }

  .hero h1{
    font-size:47px!important;

    line-height:.94!important;
  }

  .hero-grid{
    padding-top:45px!important;
  }

  .hero-scene{
    height:430px!important;
  }

  .scene-card{
    inset:15px 0!important;

    border-radius:20px!important;
  }

  .section-head h2{
    font-size:38px!important;
  }

  .solution-card{
    min-height:375px!important;
  }

}


/* ===== AA AUTH / PLATFORM LINKS ===== */

.aa-auth-zone{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:8px;
}

.aa-auth-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  font-weight:700;
  font-size:13px;
  letter-spacing:.03em;
  transition:.25s ease;
}

.aa-auth-login{
  color:#ece9e1;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.035);
}

.aa-auth-login:hover{
  border-color:rgba(202,176,126,.35);
  transform:translateY(-1px);
}

.aa-auth-dashboard{
  color:#0a0c0b!important;
  background:linear-gradient(135deg,#b79b69,#d6bd8d);
  box-shadow:0 12px 30px rgba(183,155,105,.15);
}

.aa-auth-admin{
  color:#d6bd8d;
  border:1px solid rgba(214,189,141,.22);
  background:#111714;
}

.aa-user-chip{
  color:#8f9792;
  font-size:12px;
  padding:0 4px;
}

.platform-action-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  max-width:1440px;
  margin:0 auto;
  padding:0 44px 110px;
}

.platform-action-card{
  min-height:300px;
  padding:32px;
  border-radius:24px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 90% 10%,rgba(181,153,96,.10),transparent 25%),
    linear-gradient(145deg,#111714,#080b09);
  box-shadow:0 25px 70px rgba(0,0,0,.24);
}

.platform-action-card h2{
  margin-top:85px;
  color:#f0eee7;
  font-size:30px;
}

.platform-action-card p{
  color:#8f9792;
  line-height:1.65;
}

.platform-mini-label{
  position:absolute;
  left:30px;
  top:28px;
  color:#b49a69;
  font-size:10px;
  letter-spacing:.2em;
}

.platform-actions{
  margin-top:24px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.platform-outline-btn{
  display:inline-flex;
  padding:13px 18px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  color:#ddd9cf;
  background:#0b0f0d;
  font-weight:700;
}

@media(max-width:1050px){
  .aa-auth-zone{
    flex-direction:column;
    align-items:stretch;
    margin-left:0;
  }

  .aa-auth-btn{
    width:100%;
  }

  .platform-action-grid{
    grid-template-columns:1fr;
    padding:0 20px 80px;
  }
}


/* ===== AA ALLIANCE TYPOGRAPHY V3 ===== */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Unbounded:wght@400;500;600;700&display=swap');

html,
body,
button,
input,
textarea,
select{
  font-family:"Manrope",Arial,sans-serif !important;
}

body{
  font-weight:500;
  letter-spacing:-0.012em;
}

/* Крупные заголовки */
h1,
.hero h1,
.page-hero h1,
.section-head h2,
.cta h2{
  font-family:"Unbounded","Manrope",Arial,sans-serif !important;
  font-weight:600 !important;
  letter-spacing:-0.045em !important;
}

/* Заголовки карточек */
h2,
h3,
.intro-card h3,
.process-card h3,
.solution-card h3,
.audience h3,
.news-card h3,
.content-card h2,
.content-card h3,
.platform-action-card h2,
.mp-task h2{
  font-family:"Manrope",Arial,sans-serif !important;
  font-weight:800 !important;
  letter-spacing:-0.03em !important;
}

/* Меню */
.menu a,
.nav-cta,
.aa-auth-btn,
.btn-primary,
.btn-secondary,
.control-btn,
.mp-btn{
  font-family:"Manrope",Arial,sans-serif !important;
  font-weight:700 !important;
  letter-spacing:-0.015em !important;
}

/* Технические подписи */
.eyebrow,
.process-no,
.float-tag,
.news-card small,
.mp-label,
.mp-skill,
.platform-mini-label,
.aa-advice-label,
.aa-ai-brand span,
.brand-copy span{
  font-family:"Unbounded","Manrope",Arial,sans-serif !important;
  font-weight:500 !important;
  letter-spacing:.14em !important;
}

/* Логотип */
.brand-copy strong{
  font-family:"Unbounded","Manrope",Arial,sans-serif !important;
  font-weight:600 !important;
  letter-spacing:-0.035em !important;
}

/* Обычный текст */
p,
li,
td,
th,
input,
textarea,
select{
  font-family:"Manrope",Arial,sans-serif !important;
}

/* Чуть приятнее читаемость */
.hero p,
.page-hero p,
.section-head p,
.intro-card p,
.process-card p,
.solution-card p,
.audience p,
.news-card p,
.content-card p{
  line-height:1.72 !important;
}

/* Более аккуратный русский текст на мобильных */
@media(max-width:650px){
  h1,
  .hero h1,
  .page-hero h1{
    letter-spacing:-0.05em !important;
  }

  body{
    letter-spacing:-0.01em;
  }
}


/* =========================================================
   AA ALLIANCE — PREMIUM ACCOUNT MENU
   ========================================================= */

.aa-auth-zone{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  margin-left:6px !important;
}

/* Убираем старое нагромождение */
.aa-auth-zone > .aa-user-chip,
.aa-auth-zone > .aa-auth-dashboard,
.aa-auth-zone > .aa-auth-admin,
.aa-auth-zone > #aaLogoutHeader{
  display:none !important;
}

/* Кнопка профиля */
.aa-profile-trigger{
  height:52px;
  padding:0 19px 0 11px;
  display:flex;
  align-items:center;
  gap:11px;

  border-radius:999px;
  border:1px solid rgba(255,255,255,.11);

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.055),
      rgba(255,255,255,.018)
    );

  color:#efede7;
  cursor:pointer;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 12px 35px rgba(0,0,0,.18);

  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease;
}

.aa-profile-trigger:hover{
  transform:translateY(-1px);
  border-color:rgba(204,177,125,.28);
  background:rgba(255,255,255,.065);
}

.aa-profile-avatar{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;

  border-radius:50%;

  color:#0b0d0c;
  font-family:"Manrope",sans-serif;
  font-weight:800;
  font-size:13px;

  background:
    linear-gradient(145deg,#d7c092,#a78b58);

  box-shadow:
    0 0 22px rgba(199,168,107,.15);
}

.aa-profile-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.05;
}

.aa-profile-text strong{
  font-family:"Manrope",sans-serif;
  font-size:13px;
  font-weight:700;
}

.aa-profile-text span{
  margin-top:5px;
  color:#7e8782;
  font-family:"Manrope",sans-serif;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.aa-profile-chevron{
  margin-left:3px;
  color:#8b928e;
  font-size:12px;
  transition:transform .25s ease;
}

.aa-profile-wrap.open .aa-profile-chevron{
  transform:rotate(180deg);
}


/* DROPDOWN */

.aa-profile-wrap{
  position:relative;
}

.aa-profile-dropdown{
  position:absolute;
  z-index:5000;

  top:64px;
  right:0;

  width:290px;

  padding:10px;

  border-radius:20px;

  opacity:0;
  visibility:hidden;
  transform:translateY(-8px) scale(.98);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(188,157,96,.10),
      transparent 32%
    ),
    rgba(10,14,12,.98);

  border:1px solid rgba(255,255,255,.10);

  box-shadow:
    0 35px 90px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.035);

  backdrop-filter:blur(24px);

  transition:
    opacity .22s ease,
    transform .22s ease,
    visibility .22s;
}

.aa-profile-wrap.open .aa-profile-dropdown{
  opacity:1;
  visibility:visible;
  transform:none;
}

.aa-profile-info{
  padding:14px 14px 16px;
  margin-bottom:7px;

  border-bottom:1px solid rgba(255,255,255,.07);
}

.aa-profile-info strong{
  display:block;
  color:#eceae4;
  font-size:14px;
}

.aa-profile-info span{
  display:block;
  margin-top:6px;

  color:#777f7b;
  font-size:11px;
}

.aa-profile-link{
  width:100%;

  display:flex !important;
  align-items:center;
  justify-content:space-between;

  padding:13px 14px;

  border:0 !important;
  border-radius:12px;

  background:transparent !important;
  color:#c8ccc8 !important;

  font-family:"Manrope",sans-serif !important;
  font-size:13px !important;
  font-weight:600 !important;

  cursor:pointer;
  text-decoration:none;

  transition:
    background .2s ease,
    color .2s ease,
    transform .2s ease;
}

.aa-profile-link:after{
  display:none !important;
}

.aa-profile-link:hover{
  color:#fff !important;
  background:rgba(255,255,255,.055) !important;
  transform:translateX(2px);
}

.aa-profile-link .aa-mi{
  width:28px;
  color:#a88f61;
  font-size:15px;
}

.aa-profile-link .aa-arrow{
  color:#58605c;
}

.aa-profile-divider{
  height:1px;
  margin:7px 8px;
  background:rgba(255,255,255,.07);
}

.aa-profile-logout{
  color:#b88787 !important;
}


/* PUBLIC LOGIN */

.aa-public-auth{
  display:flex;
  gap:8px;
  align-items:center;
}

.aa-login-clean{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:47px;
  padding:0 18px;

  border-radius:999px;

  border:1px solid rgba(255,255,255,.11);

  background:rgba(255,255,255,.025);

  color:#deddd7 !important;

  font-size:13px !important;
  font-weight:700 !important;
}

.aa-login-clean:after{
  display:none !important;
}

.aa-register-clean{
  color:#0a0c0b !important;
  background:linear-gradient(135deg,#b79b69,#d5bd8c);
  border-color:transparent;
}


/* Немного компактнее основное меню */

@media(min-width:1051px){

  .nav{
    gap:22px !important;
    padding-left:40px !important;
    padding-right:40px !important;
  }

  .menu{
    gap:23px !important;
  }

  .menu > a{
    white-space:nowrap;
  }

  .menu > .nav-cta{
    padding-left:19px !important;
    padding-right:19px !important;
  }

}


/* MOBILE */

@media(max-width:1050px){

  .aa-auth-zone{
    width:100%;
    margin:8px 0 0 !important;
  }

  .aa-profile-wrap{
    width:100%;
  }

  .aa-profile-trigger{
    width:100%;
    justify-content:flex-start;
    border-radius:15px;
  }

  .aa-profile-chevron{
    margin-left:auto;
  }

  .aa-profile-dropdown{
    position:static;

    width:100%;
    max-height:0;
    overflow:hidden;

    padding:0;

    opacity:1;
    visibility:visible;
    transform:none;

    border:0;
    box-shadow:none;
    background:transparent;

    transition:max-height .3s ease;
  }

  .aa-profile-wrap.open .aa-profile-dropdown{
    max-height:500px;
    padding-top:8px;
  }

  .aa-public-auth{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .aa-login-clean{
    width:100%;
  }

}





/* ============================================================
   AA_ALLIANCE_MOBILE_PREMIUM_V1
   Десктоп НЕ затрагивается.
   ============================================================ */


/* ------------------------------------------------------------
   TABLET / MOBILE
   ------------------------------------------------------------ */

@media (max-width:768px){

  html{
    width:100%;
    overflow-x:hidden;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }

  body{
    width:100%;
    min-width:0;
    overflow-x:hidden;
  }

  *{
    min-width:0;
  }

  img,
  svg,
  video,
  canvas{
    max-width:100%;
    height:auto;
  }


  /* ==========================================================
     HEADER
     ========================================================== */

  .site-header{
    position:sticky;
    top:0;
    z-index:9999;

    width:100%;

    background:
      rgba(8,12,10,.92) !important;

    backdrop-filter:
      blur(20px);

    -webkit-backdrop-filter:
      blur(20px);

    border-bottom:
      1px solid rgba(255,255,255,.07);
  }


  .nav{
    min-height:72px !important;

    width:100% !important;
    max-width:none !important;

    padding:
      10px 18px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    gap:12px !important;
  }


  .brand{
    flex:1 1 auto;

    display:flex;
    align-items:center;

    gap:10px !important;

    min-width:0;
  }


  .logo-mark{
    flex:0 0 42px !important;

    width:42px !important;
    height:42px !important;

    border-radius:13px !important;
  }


  .brand-copy{
    min-width:0;
  }


  .brand-copy strong{
    display:block;

    font-size:17px !important;
    line-height:1.05 !important;

    white-space:nowrap;
  }


  .brand-copy > span{
    display:block;

    margin-top:4px;

    max-width:180px;

    overflow:hidden;

    white-space:nowrap;

    font-size:8px !important;

    letter-spacing:.12em !important;

    text-overflow:ellipsis;

    opacity:.62;
  }


  .menu-btn{
    flex:0 0 44px;

    width:44px !important;
    height:44px !important;

    display:grid !important;
    place-items:center;

    padding:0 !important;

    border:
      1px solid rgba(255,255,255,.1) !important;

    border-radius:13px !important;

    background:
      rgba(255,255,255,.04) !important;

    color:#f3f1eb !important;

    font-size:21px !important;

    line-height:1;

    cursor:pointer;
  }


  /*
   * Поддерживаем сразу несколько
   * распространённых классов открытия,
   * чтобы не ломать существующий JS.
   */

  .menu{
    position:absolute !important;

    top:72px !important;
    left:12px !important;
    right:12px !important;

    width:auto !important;

    max-height:
      calc(100vh - 90px);

    overflow-y:auto;

    display:none !important;

    flex-direction:column !important;
    align-items:stretch !important;

    gap:4px !important;

    padding:12px !important;

    border:
      1px solid rgba(255,255,255,.09);

    border-radius:20px;

    background:
      rgba(12,17,14,.98) !important;

    box-shadow:
      0 30px 90px rgba(0,0,0,.55);

    backdrop-filter:
      blur(26px);

    -webkit-backdrop-filter:
      blur(26px);
  }


  .menu.open,
  .menu.active,
  .menu.is-open,
  .menu.show{
    display:flex !important;
  }


  .menu > a{
    width:100% !important;

    padding:
      14px 15px !important;

    border-radius:12px !important;

    font-size:14px !important;

    line-height:1.25 !important;

    text-align:left !important;
  }


  .menu > a:hover{
    background:
      rgba(255,255,255,.055);
  }


  .menu .nav-cta{
    margin-top:5px;

    padding:
      15px 16px !important;

    color:#0b0d0c !important;

    background:
      linear-gradient(
        135deg,
        #c4a86f,
        #e0ca9a
      ) !important;
  }


  /* ==========================================================
     MAIN / GLOBAL SECTIONS
     ========================================================== */

  main{
    width:100%;
    overflow:hidden;
  }


  .section{
    width:100% !important;

    margin:0 auto !important;

    padding:
      70px 18px !important;
  }


  .section-head{
    display:block !important;

    margin-bottom:30px !important;
  }


  .section-head > div{
    width:100% !important;
  }


  .section-head > p{
    width:100% !important;
    max-width:none !important;

    margin:
      20px 0 0 !important;

    font-size:15px !important;

    line-height:1.65 !important;
  }


  .eyebrow{
    font-size:9px !important;

    line-height:1.4;

    letter-spacing:.16em !important;
  }


  .section-head h2,
  .cta h2{
    margin-top:10px !important;

    max-width:100% !important;

    font-size:
      clamp(
        31px,
        9vw,
        44px
      ) !important;

    line-height:1.04 !important;

    letter-spacing:-.045em !important;

    overflow-wrap:anywhere;
  }


  /* ==========================================================
     HERO
     ========================================================== */

  .hero{
    width:100% !important;

    min-height:auto !important;

    padding:
      46px 18px 58px !important;
  }


  .hero-grid{
    width:100% !important;

    display:grid !important;

    grid-template-columns:
      1fr !important;

    gap:38px !important;

    align-items:start !important;
  }


  .hero .reveal{
    width:100%;
  }


  .hero h1{
    width:100% !important;

    margin:
      14px 0 21px !important;

    font-size:
      clamp(
        46px,
        13vw,
        68px
      ) !important;

    line-height:.97 !important;

    letter-spacing:-.06em !important;

    overflow-wrap:normal;
    word-break:normal;
  }


  .hero h1 br{
    display:block;
  }


  .hero p{
    width:100% !important;
    max-width:620px !important;

    margin:0 !important;

    font-size:15px !important;

    line-height:1.7 !important;
  }


  .hero-actions{
    width:100%;

    margin-top:28px !important;

    display:grid !important;

    grid-template-columns:
      1fr !important;

    gap:10px !important;
  }


  .hero-actions .btn-primary,
  .hero-actions .btn-secondary{
    width:100% !important;

    min-height:54px;

    display:flex !important;
    align-items:center;
    justify-content:center;

    padding:
      15px 18px !important;

    border-radius:16px !important;

    text-align:center;

    font-size:14px !important;
  }


  /* ==========================================================
     HERO GRAPHIC
     ========================================================== */

  .hero-scene{
    width:100% !important;

    height:auto !important;

    min-height:0 !important;

    margin:0 auto !important;
  }


  .scene-card{
    position:relative !important;

    width:100% !important;

    max-width:520px !important;

    min-height:420px !important;
    height:auto !important;

    aspect-ratio:
      4 / 5;

    margin:0 auto !important;

    border-radius:28px !important;

    overflow:hidden;
  }


  .module{
    transform:
      translate(-50%,-50%)
      scale(.82) !important;
  }


  .scene-orbit{
    transform:
      scale(.82) !important;
  }


  .float-tag{
    padding:
      10px 13px !important;

    border-radius:999px !important;

    font-size:8px !important;

    letter-spacing:.06em !important;
  }


  /* ==========================================================
     MARQUEE
     ========================================================== */

  .marquee{
    overflow:hidden;
  }


  .marquee-track span{
    font-size:12px !important;

    letter-spacing:.08em !important;

    white-space:nowrap;
  }


  /* ==========================================================
     CARDS
     ========================================================== */

  .intro-grid,
  .process,
  .solution-grid,
  .audience-grid,
  .news-grid{
    width:100% !important;

    display:grid !important;

    grid-template-columns:
      1fr !important;

    gap:12px !important;
  }


  .intro-card,
  .process-card,
  .solution-card,
  .audience,
  .news-card{
    width:100% !important;

    min-height:0 !important;

    padding:
      26px 22px !important;

    border-radius:20px !important;
  }


  .intro-card h3,
  .process-card h3,
  .solution-card h3,
  .audience h3,
  .news-card h3{
    margin-top:8px !important;

    font-size:
      23px !important;

    line-height:1.15 !important;
  }


  .intro-card p,
  .process-card p,
  .solution-card p,
  .audience p,
  .news-card p{
    margin-top:12px !important;

    font-size:14px !important;

    line-height:1.65 !important;
  }


  .big-number{
    margin-top:28px !important;

    font-size:
      58px !important;
  }


  /* ==========================================================
     PROCESS
     ========================================================== */

  .process-no{
    font-size:9px !important;
  }


  /* ==========================================================
     STATS
     ========================================================== */

  .stats{
    width:100% !important;

    display:grid !important;

    grid-template-columns:
      1fr 1fr !important;

    gap:10px !important;
  }


  .stat{
    min-height:135px !important;

    padding:
      20px 16px !important;

    border-radius:18px !important;
  }


  .stat strong{
    font-size:
      39px !important;

    line-height:1 !important;
  }


  .stat span{
    margin-top:10px !important;

    font-size:11px !important;

    line-height:1.4 !important;
  }


  /* ==========================================================
     SOLUTIONS DARK SECTION
     ========================================================== */

  .solutions{
    width:100%;

    overflow:hidden;
  }


  /* ==========================================================
     CTA
     ========================================================== */

  .cta{
    width:
      calc(100% - 36px) !important;

    margin:
      20px 18px 65px !important;

    padding:
      35px 22px !important;

    border-radius:24px !important;
  }


  .cta p{
    width:100% !important;

    margin-top:17px !important;

    font-size:14px !important;

    line-height:1.65 !important;
  }


  .cta .btn-primary{
    width:100% !important;

    min-height:54px;

    margin-top:20px;

    display:flex !important;
    align-items:center;
    justify-content:center;

    padding:
      15px 18px !important;

    text-align:center;
  }


  /* ==========================================================
     SMS STATUS CARD
     ========================================================== */

  .aa-sms-status-section{
    width:100% !important;

    margin:0 auto !important;

    padding:
      16px 18px 65px !important;
  }


  .aa-sms-status-card{
    width:100% !important;

    display:grid !important;

    grid-template-columns:
      1fr !important;

    gap:25px !important;

    padding:
      27px 21px !important;

    border-radius:24px !important;
  }


  .aa-sms-status-card h2{
    width:100% !important;

    margin:
      12px 0 15px !important;

    font-size:
      clamp(
        35px,
        10vw,
        48px
      ) !important;

    line-height:1.02 !important;

    letter-spacing:-.05em !important;
  }


  .aa-sms-status-card p{
    font-size:14px !important;

    line-height:1.65 !important;
  }


  .aa-sms-status-right{
    width:100% !important;

    padding:
      21px 18px !important;

    border-radius:18px !important;
  }


  .aa-status-indicator{
    font-size:12px !important;
  }


  .aa-status-phone{
    margin-top:14px !important;

    font-size:11px !important;
  }


  #aaSendStatusSms{
    min-height:54px;

    margin-top:19px !important;

    padding:
      14px 15px !important;

    border-radius:14px !important;

    font-size:13px !important;
  }


  #aaSmsStatusResult{
    font-size:11px !important;
  }


  /* ==========================================================
     AUTH / PROFILE
     ========================================================== */

  .aa-auth-zone{
    width:100% !important;

    margin:
      8px 0 0 !important;
  }


  .aa-profile-wrap{
    width:100% !important;
  }


  .aa-profile-trigger{
    width:100% !important;

    min-height:50px;

    justify-content:flex-start !important;

    border-radius:14px !important;
  }


  .aa-public-auth{
    width:100% !important;

    display:grid !important;

    grid-template-columns:
      1fr !important;

    gap:7px !important;
  }


  .aa-auth-btn{
    width:100% !important;

    min-height:48px;

    justify-content:center !important;
  }


  /* ==========================================================
     FOOTER
     ========================================================== */

  footer,
  .footer{
    width:100% !important;

    padding-left:18px !important;
    padding-right:18px !important;
  }


  .footer-grid{
    grid-template-columns:
      1fr !important;

    gap:28px !important;
  }


  /* ==========================================================
     SCROLL / TOUCH
     ========================================================== */

  a,
  button{
    -webkit-tap-highlight-color:
      transparent;
  }


  button,
  .btn-primary,
  .btn-secondary,
  .nav-cta{
    touch-action:manipulation;
  }

}



/* ------------------------------------------------------------
   SMALL PHONE / iPHONE
   ------------------------------------------------------------ */

@media (max-width:430px){

  .nav{
    padding-left:15px !important;
    padding-right:15px !important;
  }


  .brand-copy > span{
    max-width:145px;
  }


  .hero{
    padding:
      38px 16px 48px !important;
  }


  .hero h1{
    font-size:
      clamp(
        42px,
        13.5vw,
        58px
      ) !important;
  }


  .hero p{
    font-size:14px !important;
  }


  .scene-card{
    min-height:365px !important;

    border-radius:24px !important;
  }


  .section{
    padding:
      58px 16px !important;
  }


  .section-head h2{
    font-size:
      clamp(
        29px,
        9vw,
        39px
      ) !important;
  }


  .stats{
    grid-template-columns:
      1fr 1fr !important;
  }


  .stat{
    min-height:120px !important;
  }


  .stat strong{
    font-size:34px !important;
  }


  .cta{
    width:
      calc(100% - 32px) !important;

    margin:
      15px 16px 55px !important;
  }


  .aa-sms-status-section{
    padding:
      10px 16px 55px !important;
  }


  .aa-sms-status-card{
    padding:
      24px 18px !important;
  }


  .aa-sms-status-card h2{
    font-size:
      clamp(
        33px,
        10.5vw,
        43px
      ) !important;
  }

}



/* ------------------------------------------------------------
   VERY SMALL PHONES
   ------------------------------------------------------------ */

@media (max-width:360px){

  .brand-copy > span{
    display:none;
  }


  .hero h1{
    font-size:
      40px !important;
  }


  .stats{
    grid-template-columns:
      1fr !important;
  }


  .scene-card{
    min-height:330px !important;
  }

}


