:root{
  /* =========================
     Ã˜Â£Ã™â€žÃ™Ë†Ã˜Â§Ã™â€  Ã˜Â§Ã™â€žÃ™â€¡Ã™Ë†Ã™Å Ã˜Â©
     ========================= */

  --c1:#07af67;
  --c2:#149786;
  --c3:#4193be;

  --gradient:
    linear-gradient(
      120deg,
      var(--c1) 0%,
      var(--c2) 50%,
      var(--c3) 100%
    );

  /* =========================
     Ã˜Â£Ã™â€žÃ™Ë†Ã˜Â§Ã™â€  Ã˜Â§Ã™â€žÃ™â€ Ã˜Â¸Ã˜Â§Ã™â€¦
     ========================= */

  --ink:#ffffff;
  --ink-elevated:rgba(255,255,255,.94);
  --ink-elevated-2:#edf3f5;

  --paper:#091420;
  --mist:#64748b;

  --charge:var(--c1);
  --charge-dim:var(--c2);
  --spark:var(--c3);

  --border:rgba(9,20,32,.10);
  --danger:#ef4444;

  /* =========================
     Ã˜Â§Ã™â€žÃ˜Â®Ã˜Â·Ã™Ë†Ã˜Â·
     ========================= */

  --font-display:'Tajawal',sans-serif;
  --font-body:'Tajawal',sans-serif;
  --font-data:'Tajawal',sans-serif;

  /* =========================
     Ã˜Â§Ã™â€žÃ™â€¦Ã™â€šÃ˜Â§Ã˜Â³Ã˜Â§Ã˜Âª
     ========================= */

  --radius:20px;
  --radius-sm:10px;
  --container:1160px;
  --header-h:76px;
}


/* =========================
   Reset
   ========================= */

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 18px);
}

body{
  margin:0;

  color:var(--paper);

  font-family:var(--font-body);

  line-height:1.7;

  font-size:16px;

  -webkit-font-smoothing:antialiased;

  /* Ã˜Â§Ã™â€žÃ˜Â®Ã™â€žÃ™ÂÃ™Å Ã˜Â© Ã˜Â§Ã™â€žÃ˜Â£Ã˜Â³Ã˜Â§Ã˜Â³Ã™Å Ã˜Â© Gradient */
  background:
    linear-gradient(
      120deg,
      #07af67 0%,
      #149786 48%,
      #4193be 100%
    );

  background-attachment:fixed;

  min-height:100vh;
}

@media (prefers-reduced-motion:reduce){

  html{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
  }
}


/* =========================
   Typography
   ========================= */

h1,
h2,
h3{
  font-family:var(--font-display);
  font-weight:800;
  margin:0 0 .5em;
  line-height:1.35;
  
}

p{
  margin:0 0 1em;
  color:var(--mist);
}

a{
  color:inherit;
  text-decoration:none;
}

ol,
ul{
  margin:0;
  padding:0;
  list-style:none;
}

button{
  font-family:inherit;
  cursor:pointer;
}


/* =========================
   Container
   ========================= */

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px;
}

.container-narrow{
  max-width:720px;
}

.text-charge{
  color:var(--charge);
}


/* =========================
   Ã˜Â§Ã™â€žÃ˜Â£Ã˜Â²Ã˜Â±Ã˜Â§Ã˜Â±
   ========================= */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 26px;
  border-radius:999px;
  font-weight:600;
  font-size:.95rem;
  border:1px solid transparent;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease,
    border-color .18s ease;
  white-space:nowrap;
}

.btn:hover{
  transform:translateY(-2px);
}

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


/* Ã˜Â§Ã™â€žÃ˜Â²Ã˜Â± Ã˜Â§Ã™â€žÃ˜Â£Ã˜Â³Ã˜Â§Ã˜Â³Ã™Å  */

.btn-primary{
  background:var(--c1);
  color:#fff;
  border-color:var(--c1);
  box-shadow:
    0 8px 22px rgba(7,175,103,.25);
}

.btn-primary:hover{
  background:#069b5c;
  border-color:#069b5c;
  box-shadow:
    0 12px 28px rgba(7,175,103,.32);
}


/* Ã˜Â§Ã™â€žÃ˜Â²Ã˜Â± Ã˜Â§Ã™â€žÃ˜Â£Ã˜Â²Ã˜Â±Ã™â€š */

.btn-spark{
  background:var(--c3);
  color:#fff;
  border-color:var(--c3);
  box-shadow:
    0 8px 22px rgba(65,147,190,.25);
}

.btn-spark:hover{
  box-shadow:
    0 12px 28px rgba(65,147,190,.32);
}


/* Ã˜Â§Ã™â€žÃ˜Â²Ã˜Â± Ã˜Â§Ã™â€žÃ˜Â´Ã™ÂÃ˜Â§Ã™Â */

.btn-ghost{
  background:rgba(255,255,255,.85);
  color:var(--paper);
  border-color:var(--border);
}

.btn-ghost:hover{
  color:var(--c1);
  border-color:var(--c1);
}

.btn-block{
  width:100%;
}

.btn-sm{
  padding:7px 14px;
  font-size:.82rem;
}


/* =========================
   Ã˜Â´Ã˜Â±Ã™Å Ã˜Â· Ã˜Â§Ã™â€žÃ˜ÂªÃ™â€šÃ˜Â¯Ã™â€¦ Ã˜Â§Ã™â€žÃ˜Â¹Ã™â€žÃ™Ë†Ã™Å 
   ========================= */

.charge-progress{
  position:fixed;

  inset-inline-start:0;
  top:0;

  height:3px;
  width:0%;

  background:var(--gradient);

  z-index:1000;

  transition:width .1s linear;
}


/* =========================
   Header
   ========================= */

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

  height:var(--header-h);

  display:flex;
  align-items:center;

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

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

  border-bottom:1px solid rgba(9,20,32,.10);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;

  width:100%;
}


/* =========================
   Logo
   ========================= */

.logo{
  display:flex;
  align-items:center;
  gap:10px;

  font-family:var(--font-display);

  font-weight:800;
  font-size:1.15rem;

  color:var(--paper);
}

.logo-mark{
  height:28px;
  width:auto;

  display:block;
  object-fit:contain;
}


/* =========================
   Navigation
   ========================= */

.main-nav{
  display:flex;
  gap:28px;
}

.main-nav a{
  position:relative;

  color:var(--mist);

  font-size:.95rem;
  font-weight:500;

  padding:8px 0;

  transition:color .2s ease;
}

.main-nav a:hover{
  color:var(--c1);
}


/* Ã˜Â§Ã™â€žÃ˜Â®Ã˜Â· Ã˜Â£Ã˜Â³Ã™ÂÃ™â€ž Ã˜Â§Ã™â€žÃ˜Â±Ã˜Â§Ã˜Â¨Ã˜Â· */

.main-nav a::after{
  content:"";

  position:absolute;

  right:0;
  left:0;
  bottom:0;

  height:2px;

  border-radius:999px;

  background:var(--c1);

  transform:scaleX(0);

  transition:transform .2s ease;
}

.main-nav a:hover::after{
  transform:scaleX(1);
}


/* Ã˜Â§Ã™â€žÃ˜ÂµÃ™ÂÃ˜Â­Ã˜Â© Ã˜Â§Ã™â€žÃ˜Â­Ã˜Â§Ã™â€žÃ™Å Ã˜Â© */

.main-nav a.is-current{
  color:var(--c1);
  font-weight:700;
}

.main-nav a.is-current::after{
  transform:scaleX(1);
}


/* =========================
   Header Actions
   ========================= */

.header-actions{
  display:flex;
  align-items:center;
  gap:14px;
}

.nav-toggle{
  display:none;

  flex-direction:column;
  gap:5px;

  background:none;
  border:none;

  padding:6px;
}

.nav-toggle span{
  width:22px;
  height:2px;

  background:var(--paper);

  display:block;
}


/* =========================
   Hero
   ========================= */

.hero{
  padding:52px 0;
  margin:56px auto 28px;
  max-width:calc(var(--container) + 48px);
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.65);
  border-radius:28px;
  box-shadow:0 18px 50px rgba(9,20,32,.13);
}

.hero-inner{
  display:grid;

  grid-template-columns:
    1.1fr .9fr;

  gap:72px;

  align-items:center;
}

/* =========================
   Hero Content
   ========================= */

.eyebrow{


  color:var(--c1);

  font-family:var(--font-data);

  font-weight:700;

  letter-spacing:.06em;

  margin-bottom:20px;
}

.hero h1{
  font-size:
    clamp(2rem,3vw,2rem);

  color:var(--paper);
  margin-bottom:25px;
}

.hero h1 .text-charge{
  background:var(--gradient);
  -webkit-background-clip:text;
  background-clip:text;

  color:transparent;
  -webkit-text-fill-color:transparent;
}

.hero-desc{
  font-size:1.05rem;

  max-width:46ch;

  color:var(--mist);

  margin-bottom:0;
}

.hero-actions{
  display:flex;

  gap:18px;

  margin-top:32px;

  flex-wrap:wrap;
}

.hero-actions .btn-spark{
  background:var(--gradient);

  border-color:transparent;

  box-shadow:
    0 10px 26px rgba(20,151,134,.28);
}

.hero-actions .btn-spark:hover{
  background:var(--gradient);

  border-color:transparent;

  box-shadow:
    0 14px 32px rgba(20,151,134,.36);
}

.hero-note{
  margin:18px 0 0;

  max-width:60ch;

  color:var(--mist);

  font-size:.85rem;

  line-height:1.7;
}

.hero-panel-note{
  max-width:none;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid var(--border);
  text-align:start;
  font-size:.78rem;
}

.hero-market-note{
  position:relative;
  margin-top:32px;
  padding:24px 26px;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:24px;
  align-items:stretch;
  overflow:hidden;
  border:1px solid rgba(20,151,134,.20);
  border-radius:var(--radius);
  background:
    radial-gradient(circle at 4% 10%,rgba(7,175,103,.13),transparent 35%),
    linear-gradient(120deg,rgba(7,175,103,.055),rgba(65,147,190,.09));
}

.hero-market-note::after{
  content:"";
  position:absolute;
  inset-block:18px;
  inset-inline-start:0;
  width:4px;
  border-radius:0 999px 999px 0;
  background:var(--gradient);
}

.market-note-main{
  display:flex;
  align-items:flex-start;
  gap:17px;
}

.market-note-icon{
  flex:0 0 50px;
  width:50px;
  height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:15px;
  color:#fff;
  background:var(--gradient);
  box-shadow:0 10px 24px rgba(20,151,134,.22);
}

.market-note-icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.market-note-kicker{
  margin:0 0 5px;
  color:var(--c1);
  font-size:.82rem;
  font-weight:800;
}

.market-note-main h2{
  margin:0 0 7px;
  color:var(--paper);
  font-size:clamp(1.05rem,2vw,1.35rem);
}

.market-note-main p:last-child{
  max-width:68ch;
  margin:0;
  font-size:.9rem;
  line-height:1.75;
}

.market-investor-notice{
  padding:17px 19px;
  border:1px solid rgba(9,20,32,.09);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.78);
}

.market-investor-notice strong{
  display:block;
  margin-bottom:5px;
  color:var(--paper);
  font-size:.86rem;
}

.market-investor-notice p{
  margin:0;
  color:var(--mist);
  font-size:.78rem;
  line-height:1.75;
}


/* =========================
   Hero Panel
   ========================= */

.hero-panel{
  background:var(--ink-elevated);

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

  border-radius:var(--radius);

  padding:28px;

  box-shadow:
    0 18px 45px rgba(9,20,32,.16);

  position:relative;

  overflow:hidden;
}


/* Ã˜Â®Ã˜Â· Gradient Ã˜Â£Ã˜Â¹Ã™â€žÃ™â€° Ã˜Â§Ã™â€žÃ˜Â¨Ã˜Â·Ã˜Â§Ã™â€šÃ˜Â© */

.hero-panel::before{
  content:"";

  position:absolute;

  top:0;
  right:0;
  left:0;

  height:3px;

  background:var(--gradient);
}

.panel-label{
  color:var(--mist);

  font-size:.85rem;

  margin-bottom:14px;
}


/* =========================
   Panel Progress
   ========================= */

.panel-charge-bar{
  height:12px;

  border-radius:999px;

  background:var(--ink-elevated-2);

  overflow:hidden;

  margin-bottom:26px;
}

.panel-charge-fill{
  height:100%;

  width:var(--fill,0%);

  background:
    linear-gradient(
      90deg,
      var(--c1),
      var(--c2),
      var(--c3)
    );

  border-radius:999px;

  transition:
    width 1.4s cubic-bezier(.2,.8,.2,1);
}


/* =========================
   Stats
   ========================= */

.panel-stats{
  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:16px;
}

.stat-num{
  font-family:var(--font-data);

  font-size:1.5rem;

  font-weight:700;

  color:var(--paper);
}

.stat-value-line{
  display:flex;

  align-items:baseline;

  gap:5px;
}

.stat-value-line-ltr{
  direction:ltr;

  justify-content:flex-end;
}

.stat-unit{
  font-family:var(--font-data);

  font-size:.72rem;

  font-weight:600;

  color:var(--c1);

  margin:0;
}

.stat-label{
  display:block;

  color:var(--mist);

  font-size:.78rem;

  margin-top:1px;

  line-height:1.45;
}


/* =========================
   Ã˜Â§Ã™â€žÃ˜Â£Ã™â€šÃ˜Â³Ã˜Â§Ã™â€¦
   ========================= */

/*
  Ã™Æ’Ã™â€ž Ã™â€šÃ˜Â³Ã™â€¦ Ã˜Â£Ã˜ÂµÃ˜Â¨Ã˜Â­ Ã™Ë†Ã˜Â§Ã˜Â¬Ã™â€¡Ã˜Â© Ã˜Â¹Ã˜Â§Ã˜Â¦Ã™â€¦Ã˜Â©
*/

.section{
  position:relative;

  padding:64px 0;

  margin:34px auto;

  max-width:calc(var(--container) + 48px);

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

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

  border-radius:28px;

  box-shadow:
    0 18px 50px rgba(9,20,32,.13);
}


/* =========================
   Section Title
   ========================= */

.section-title{
  font-size:
    clamp(1.6rem,2.6vw,2.1rem);

  color:var(--paper);
}

.section-sub{
  max-width:56ch;

  margin-bottom:44px;
}


/* =========================
   Steps
   ========================= */

.steps{
  display:grid;

  grid-template-columns:
    repeat(4,1fr);

  gap:20px;

  position:relative;
}

.steps::before{
  content:"";

  position:absolute;

  top:20px;

  right:8%;
  left:8%;

  height:1px;

  background:
    linear-gradient(
      90deg,
      var(--c1),
      var(--c2),
      var(--c3)
    );

  opacity:.35;
}

.step{
  position:relative;
}

.step-node{
  display:inline-flex;

  align-items:center;
  justify-content:center;

  width:42px;
  height:42px;

  border-radius:50%;

  background:#fff;

  border:
    1px solid var(--c1);

  color:var(--c1);

  font-family:var(--font-data);

  font-weight:600;

  font-size:.9rem;

  margin-bottom:18px;
}

.step:nth-child(2) .step-node{
  color:var(--c2);
  border-color:var(--c2);
}

.step:nth-child(3) .step-node{
  color:var(--c3);
  border-color:var(--c3);
}

.step:nth-child(4) .step-node{
  color:var(--c1);
  border-color:var(--c1);
}

.step h3{
  font-size:1.05rem;
  color:var(--paper);
}

.step p{
  font-size:.92rem;
}


/* =========================
   Ã˜Â§Ã™â€žÃ™â€¦Ã™Ë†Ã˜Â§Ã™â€šÃ˜Â¹
   ========================= */

.site-filters{
  display:flex;

  gap:10px;

  margin-bottom:30px;

  flex-wrap:wrap;
}

.filter-chip{
  padding:9px 18px;

  border-radius:999px;

  border:
    1px solid var(--border);

  background:#fff;

  color:var(--mist);

  font-size:.88rem;

  transition:
    all .15s ease;
}

.filter-chip:hover{
  color:var(--c1);

  border-color:var(--c1);
}

.filter-chip.is-active{
  background:
    rgba(7,175,103,.08);

  color:var(--c1);

  border-color:var(--c1);
}


/* =========================
   Site Grid
   ========================= */

.site-grid{
  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:22px;
}


/* =========================
   Site Card
   ========================= */

.site-card{
  background:#fff;

  border:
    1px solid var(--border);

  border-radius:var(--radius);

  padding:22px;

  display:flex;

  flex-direction:column;

  transition:
    border-color .15s ease,
    transform .15s ease,
    box-shadow .15s ease;
}

.site-card:hover{
  border-color:
    rgba(7,175,103,.35);

  transform:
    translateY(-3px);

  box-shadow:
    0 12px 28px rgba(9,20,32,.08);
}

.site-card-top{
  display:flex;

  justify-content:space-between;

  align-items:flex-start;

  margin-bottom:12px;
}

.site-card h3{
  font-size:1.05rem;

  color:var(--paper);

  margin-bottom:2px;
}

.site-city{
  color:var(--mist);

  font-size:.82rem;
}


/* =========================
   Status
   ========================= */

.status-tag{
  font-size:.72rem;

  font-weight:600;

  padding:4px 10px;

  border-radius:999px;

  font-family:var(--font-data);

  white-space:nowrap;
}

.status-tag.متاح{
  background:
    rgba(7,175,103,.12);

  color:var(--c1);
}

.status-tag.ممتلئ{
  background:
    rgba(100,116,139,.12);

  color:var(--mist);
}


/* =========================
   Site Progress
   ========================= */

.site-charge-bar{
  height:8px;

  border-radius:999px;

  background:var(--ink-elevated-2);

  overflow:hidden;

  margin:14px 0 6px;
}

.site-charge-fill{
  height:100%;

  background:
    linear-gradient(
      90deg,
      var(--c1),
      var(--c2),
      var(--c3)
    );

  border-radius:999px;
}

.site-charge-label{
  font-size:.76rem;

  color:var(--mist);

  margin-bottom:16px;
}


/* =========================
   Site Metrics
   ========================= */

.site-metrics{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:10px;

  margin-bottom:18px;

  padding-top:14px;

  border-top:
    1px solid var(--border);
}

.site-metric-label{
  font-size:.74rem;

  color:var(--mist);

  display:block;
}

.site-metric-value{
  font-family:var(--font-data);

  font-weight:600;

  color:var(--paper);

  font-size:1rem;
}

.site-card .btn{
  margin-top:auto;
}


/* =========================
   Ã˜Â§Ã™â€žÃ™â€¦Ã™â€¦Ã™Å Ã˜Â²Ã˜Â§Ã˜Âª
   ========================= */

.features{
  display:grid;

  grid-template-columns:
    repeat(4,1fr);

  gap:22px;
}

.feature{
  padding:24px;

  background:#fff;

  border:
    1px solid var(--border);

  border-radius:var(--radius);

  transition:
    border-color .15s ease,
    transform .15s ease,
    box-shadow .15s ease;
}

.feature:hover{
  border-color:
    rgba(7,175,103,.30);

  transform:
    translateY(-3px);

  box-shadow:
    0 12px 28px rgba(9,20,32,.07);
}

.feature-icon{
  font-size:1.6rem;

  display:block;

  margin-bottom:14px;

  color:var(--c1);
}

.feature h3{
  font-size:1rem;

  color:var(--paper);
}

.feature p{
  font-size:.9rem;

  margin:0;
}


/* =========================
   FAQ
   ========================= */

.faq-list{
  display:flex;

  flex-direction:column;

  gap:10px;
}

.faq-item{
  border:
    1px solid var(--border);

  border-radius:var(--radius-sm);

  padding:6px 20px;

  background:#fff;
}

.faq-item summary{
  cursor:pointer;

  padding:14px 0;

  font-weight:600;

  color:var(--paper);

  font-size:.98rem;
}

.faq-item summary::marker{
  color:var(--c1);
}

.faq-item p{
  padding-bottom:14px;

  font-size:.92rem;

  margin:0;
}


/* =========================
   Contact
   ========================= */

.section-contact{
  background:
    rgba(255,255,255,.95);

  border-radius:28px;

  margin:34px auto;

  max-width:calc(var(--container) + 48px);

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

  box-shadow:
    0 18px 50px rgba(9,20,32,.13);
}

.section-contact .container{
  padding:0 24px;
}

.contact-form{
  display:flex;

  flex-direction:column;

  gap:18px;

  margin-top:20px;
}

.form-row{
  display:flex;

  flex-direction:column;

  gap:8px;
}

.form-row label{
  font-size:.88rem;

  color:var(--mist);
}

.form-row input,
.form-row select,
.form-row textarea{
  background:#fff;

  border:
    1px solid var(--border);

  border-radius:var(--radius-sm);

  padding:12px 14px;

  color:var(--paper);

  font-family:inherit;

  font-size:.95rem;
}

.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus{
  outline:none;

  border-color:var(--c1);

  box-shadow:
    0 0 0 3px rgba(7,175,103,.08);
}

.password-field{
  position:relative;
  width:100%;
}

.password-field input{
  width:100%;
  padding-inline-end:48px;
}

.password-toggle{
  position:absolute;
  inset-inline-end:8px;
  top:50%;
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:50%;
  color:var(--mist);
  background:transparent;
  cursor:pointer;
  transform:translateY(-50%);
  transition:color .18s ease,background .18s ease;
}

.password-toggle:hover,
.password-toggle:focus-visible{
  color:var(--c1);
  background:rgba(7,175,103,.08);
  outline:none;
}

.password-toggle svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.password-toggle-slash{
  opacity:0;
}

.password-toggle.is-visible .password-toggle-slash{
  opacity:1;
}

.form-note{
  text-align:center;

  font-size:.88rem;

  min-height:1.4em;

  color:var(--c1);
}

.form-note.is-error{
  color:var(--danger);
}


/* =========================
   Footer
   ========================= */

.site-footer{
  margin-top:80px;

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

  padding:48px 0 30px;

  background:
    rgba(255,255,255,.92);
}

.footer-inner{
  display:grid;

  grid-template-columns:
    1.05fr .8fr 1.1fr 1.4fr;

  gap:38px;

  align-items:start;
}

.footer-title{
  margin:0 0 18px;
  color:var(--mist);
  font-size:1rem;
}

.footer-brand .logo{
  width:max-content;
}

.footer-brand p{
  margin-top:18px;

  margin-bottom:0;

  font-size:.88rem;

  max-width:32ch;
}

.footer-social{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:24px;
}

.social-link{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 42px;
  color:#fff;
  background:var(--gradient);
  border:1px solid rgba(255,255,255,.48);
  border-radius:50%;
  box-shadow:0 8px 20px rgba(20,151,134,.20);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

.social-link:hover{
  color:#fff;
  transform:translateY(-2px);
  filter:saturate(1.12);
  box-shadow:0 12px 26px rgba(20,151,134,.28);
}

.social-link svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.footer-links{
  display:flex;

  flex-direction:column;

  gap:10px;
}

.footer-links a{
  color:var(--mist);

  font-size:.9rem;
}

.footer-links a:hover{
  color:var(--c1);
}

.footer-contact{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.footer-contact .footer-title{
  margin-bottom:10px;
}

.footer-contact-item{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:7px 4px;
  border-radius:var(--radius-sm);
  transition:color .18s ease,transform .18s ease;
}

.footer-contact-item:hover{
  transform:translateX(-2px);
}

.contact-icon{
  width:27px;
  height:27px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 27px;
  color:var(--c2);
}

.contact-icon-whatsapp{
  color:var(--c1);
}

.contact-icon-email{
  color:var(--c3);
}

.contact-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.contact-icon-whatsapp svg{
  width:21px;
  height:21px;
  fill:currentColor;
  stroke:none;
}

.footer-contact-item strong{
  color:var(--mist);
  font-family:var(--font-data);
  font-size:.84rem;
  font-weight:600;
  white-space:nowrap;
  transition:color .18s ease;
}

.footer-contact-item:hover strong{
  color:var(--mist);
}

.footer-compliance{
  min-width:0;
}

.compliance-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.compliance-item{
  min-height:78px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:12px;
  overflow:hidden;
  border:1px solid rgba(20,151,134,.14);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.72);
}

.compliance-logo{
  flex:0 0 54px;
  width:54px;
  height:58px;
  overflow:hidden;
  border-radius:7px;
}

.compliance-item > span{
  min-width:0;
}

.compliance-item small,
.compliance-item strong{
  display:block;
}

.compliance-item small{
  color:var(--mist);
  font-size:.74rem;
}

.compliance-item strong{
  margin-top:2px;
  color:var(--mist);
  font-family:var(--font-data);
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.015em;
  white-space:nowrap;
}

.footer-bottom{
  margin-top:34px;
  padding-top:20px;
  border-top:1px solid rgba(20,151,134,.14);
  text-align:center;
}

.footer-bottom p{
  margin:0;
  font-size:.8rem;

  color:var(--mist);
}


/* =========================
   Modal
   ========================= */

.modal-overlay{
  position:fixed;

  inset:0;

  background:
    rgba(4,9,15,.7);

  display:flex;

  align-items:center;

  justify-content:center;

  padding:20px;

  opacity:0;

  pointer-events:none;

  transition:
    opacity .2s ease;

  z-index:1100;
}

.modal-overlay.is-open{
  opacity:1;

  pointer-events:auto;
}

.modal{
  background:#fff;

  border:
    1px solid var(--border);

  border-radius:var(--radius);

  max-width:520px;

  width:100%;

  padding:30px;

  position:relative;

  transform:
    translateY(10px);

  transition:
    transform .2s ease;

  max-height:85vh;

  overflow-y:auto;

  box-shadow:
    0 20px 60px rgba(9,20,32,.20);
}

.modal-overlay.is-open .modal{
  transform:translateY(0);
}

.modal-close{
  position:absolute;

  top:14px;
  left:14px;

  width:32px;
  height:32px;

  border-radius:50%;

  background:var(--ink-elevated-2);

  border:
    1px solid var(--border);

  color:var(--paper);

  font-size:1.2rem;

  line-height:1;
}

.modal h3{
  color:var(--paper);

  font-size:1.2rem;

  margin-bottom:4px;
}

.modal .site-city{
  display:block;

  margin-bottom:18px;
}


/* =========================
   Ã˜ÂµÃ™ÂÃ˜Â­Ã˜Â§Ã˜Âª Ã˜ÂªÃ˜Â³Ã˜Â¬Ã™Å Ã™â€ž Ã˜Â§Ã™â€žÃ˜Â¯Ã˜Â®Ã™Ë†Ã™â€ž
   ========================= */

.auth-body{
  min-height:100vh;

  display:flex;

  flex-direction:column;

  align-items:center;

  justify-content:center;

  gap:40px;

  padding:40px 20px;

  background:
    linear-gradient(
      120deg,
      var(--c1),
      var(--c2),
      var(--c3)
    );
}

.auth-logo{
  font-size:1.3rem;

  color:#fff;
}

.auth-logo-white svg{
  display:block;

  width:180px;

  height:auto;
}

.auth-wrap{
  width:100%;

  display:flex;

  justify-content:center;
}

.auth-card{
  width:100%;

  max-width:420px;

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

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

  border-radius:var(--radius);

  padding:34px;

  box-shadow:
    0 20px 50px rgba(9,20,32,.16);
}

.auth-card h1{
  font-size:1.4rem;

  color:var(--paper);
}

.auth-card form{
  display:flex;

  flex-direction:column;

  gap:16px;
}

.auth-card form[hidden]{
  display:none;
}

.field-hint{
  font-size:.76rem;

  color:var(--mist);
}

.auth-switch{
  text-align:center;

  margin-top:20px;

  font-size:.9rem;
}

.auth-switch a{
  color:var(--c1);

  font-weight:600;
}

.auth-help{
  margin:-4px 0 0;

  text-align:start;

  font-size:.84rem;
}

.auth-help a,
.auth-text-button{
  color:var(--c1);

  font-family:inherit;

  font-weight:600;
}

.auth-text-button{
  align-self:center;

  padding:4px 8px;

  border:0;

  background:transparent;

  cursor:pointer;
}

.auth-text-button:disabled{
  color:var(--mist);

  cursor:not-allowed;

  opacity:.75;
}

.metric-unit.metric-unit{
  display:inline;

  color:var(--c1);

  font-size:.72em;

  font-weight:600;

  white-space:nowrap;
}

.auth-context{
  margin:-12px 0 22px;
  padding:12px 14px;
  border-radius:var(--radius-sm);
  background:rgba(65,147,190,.09);
  color:var(--paper);
  font-size:.82rem;
}


/* =========================
   Ã™â€žÃ™Ë†Ã˜Â­Ã˜Â© Ã˜Â§Ã™â€žÃ™â€¦Ã˜Â³Ã˜ÂªÃ˜Â«Ã™â€¦Ã˜Â±
   ========================= */
.dash-summary{
  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:18px;
}

.dash-summary-card{
  background:#fff;

  border:
    1px solid var(--border);

  border-radius:var(--radius);

  padding:22px;

  display:flex;

  flex-direction:column;

  gap:8px;

  box-shadow:
    0 8px 22px rgba(9,20,32,.05);
}

.dash-summary-card .stat-num{
  font-size:1.6rem;
}

.dash-state{
  color:var(--mist);

  padding:20px 0;
}

.dash-state.is-error{
  color:var(--danger);
}


/* =========================
   Ã™â€žÃ™Ë†Ã˜Â­Ã˜Â© Ã˜Â§Ã™â€žÃ˜Â£Ã˜Â¯Ã™â€¦Ã™â€ 
   ========================= */

.admin-badge{
  font-family:var(--font-data);

  font-size:.68rem;

  font-weight:600;

  background:
    rgba(65,147,190,.12);

  color:var(--c3);

  padding:3px 9px;

  border-radius:999px;

  margin-inline-start:6px;
}

.admin-tab{
  position:relative;

  padding-bottom:4px;
}

.admin-main-nav{
  overflow-x:auto;

  scrollbar-width:thin;
}

.admin-main-nav a{
  white-space:nowrap;
}

.admin-form-options{
  display:flex;

  flex-wrap:wrap;

  gap:12px 22px;

  color:var(--mist);

  font-size:.88rem;
}

.admin-form-options label{
  display:flex;

  align-items:center;

  gap:8px;
}

.admin-form-options input{
  accent-color:var(--c1);
}

.admin-tab.is-active{
  color:var(--paper);
}

.admin-tab.is-active::after{
  content:"";

  position:absolute;

  right:0;
  left:0;

  bottom:-2px;

  height:2px;

  background:var(--gradient);

  border-radius:2px;
}

.admin-panel-head{
  display:flex;

  align-items:flex-start;

  justify-content:space-between;

  gap:20px;

  margin-bottom:30px;

  flex-wrap:wrap;
}

.admin-table-wrap{
  overflow-x:auto;

  border:
    1px solid var(--border);

  border-radius:var(--radius);

  background:#fff;
}

.admin-table{
  width:100%;

  border-collapse:collapse;

  font-size:.9rem;

  white-space:nowrap;
}

.admin-table th,
.admin-table td{
  padding:14px 18px;

  text-align:start;
}

.admin-table thead{
  background:var(--ink-elevated);

  color:var(--mist);

  font-weight:600;

  font-size:.8rem;
}

.admin-table tbody tr{
  border-top:
    1px solid var(--border);
}

.admin-table tbody tr:hover{
  background:
    rgba(7,175,103,.025);
}

.admin-row-actions{
  display:flex;

  gap:8px;
}

.btn-danger{
  color:var(--danger);
}

.btn-danger:hover{
  border-color:var(--danger);
}


/* =====================================================
   Tablet
   ===================================================== */

@media (max-width:900px){

  .hero-inner{
    grid-template-columns:1fr;
  }

  .steps{
    grid-template-columns:
      repeat(2,1fr);
  }

  .steps::before{
    display:none;
  }

  .site-grid{
    grid-template-columns:
      repeat(2,1fr);
  }

  .features{
    grid-template-columns:
      repeat(2,1fr);
  }

  .footer-inner{
    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:34px 28px;
  }
}


/* =====================================================
   Mobile
   ===================================================== */

@media (max-width:640px){

  :root{
    --header-h:68px;
  }

  .site-footer{
    margin-top:56px;
  }

  .footer-inner{
    grid-template-columns:1fr;
  }

  .footer-social{
    flex-wrap:wrap;
  }

  .footer-contact-item:hover{
    transform:none;
  }

  .container{
    padding:0 18px;
  }


  /* Navigation */

  .main-nav{
    position:absolute;

    top:var(--header-h);

    right:0;
    left:0;

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

    border-bottom:
      1px solid var(--border);

    flex-direction:column;

    padding:18px 24px;

    gap:16px;

    display:none;
  }

  .main-nav.is-open{
    display:flex;
  }

  .nav-toggle{
    display:flex;
  }

  .header-actions .btn-primary{
    display:none;
  }


  /* Hero */

  .hero{
    margin:40px 12px 20px;
    padding:42px 0;
    border-radius:22px;
  }

  .hero-inner{
    gap:28px;
  }

  .hero h1{
    font-size:clamp(1.6rem,6vw,2rem);
    line-height:1.35;
  }


  /* Sections */

  .section{
    margin:24px 12px;
    padding:44px 0;
    border-radius:22px;
  }

  .section-contact{
    margin:24px 12px;
    border-radius:22px;
  }

  .section-contact .container{
    padding:0 20px;
  }


  /* Steps */

  .steps{
    grid-template-columns:1fr;
  }


  /* Sites */

  .site-grid{
    grid-template-columns:1fr;
  }


  /* Features */

  .features{
    grid-template-columns:1fr;
  }


  /* Dashboard */

  .dash-summary{
    grid-template-columns:1fr;
  }


  /* Admin */

  .admin-panel-head{
    flex-direction:column;
  }
}


/* =====================================================
   Small Mobile
   ===================================================== */

@media (max-width:420px){

  .hero-actions{
    flex-direction:column;

    align-items:stretch;
  }

  .hero-actions .btn{
    width:100%;
  }

  .panel-stats{
    grid-template-columns:repeat(3,1fr);
    gap:10px;
  }

  .site-metrics{
    grid-template-columns:1fr;
  }

  .btn{
    padding:
      12px 20px;
  }
}


/* =====================================================
   Investment page additions
   ===================================================== */

.hero-panel .stat-num{
  display:block;
  font-size:clamp(1.1rem,2vw,1.5rem);
}

.hero-media{
  height:205px;
  margin:-28px -28px 22px;
  overflow:hidden;
  border-radius:var(--radius) var(--radius) 0 0;
  background:var(--ink-elevated-2);
}

.hero-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 5s ease;
}

.hero-panel:hover .hero-media img{
  transform:scale(1.045);
}

#how .section-sub{
  margin-bottom:0;
}

.investor-flow{
  margin:30px 0 0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.investor-flow li{
  position:relative;
  min-height:100px;
  padding:16px 18px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  align-items:center;
  gap:13px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  box-shadow:0 7px 18px rgba(9,20,32,.045);
}

.journey-number{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--gradient);
  color:#fff;
  font-size:.72rem;
  font-weight:700;
  box-shadow:0 6px 14px rgba(20,151,134,.18);
}

.investor-flow h3{
  margin:0 0 5px;
  color:var(--paper);
  font-size:.98rem;
}

.investor-flow p{
  margin:0;
  color:var(--mist);
  font-size:.84rem;
  line-height:1.6;
}

.opportunity-grid{
  grid-template-columns:1fr;
}

.opportunity-card{
  padding:30px;
}

.opportunity-card .site-card-top{
  margin-bottom:24px;
}

.opportunity-card h3{
  font-size:1.35rem;
}

.opportunity-specs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:24px;
}

.opportunity-specs > div{
  min-height:88px;
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  background:var(--ink-elevated-2);
  border:1px solid rgba(9,20,32,.05);
  border-radius:var(--radius-sm);
}

.opportunity-specs .opportunity-profit{
  grid-column:span 2;
  background:linear-gradient(120deg,rgba(7,175,103,.10),rgba(65,147,190,.12));
  border-color:rgba(20,151,134,.18);
}

.opportunity-profit .site-metric-value{
  color:var(--paper);
  font-size:1.2rem;
}

.opportunity-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.interest-action-notice{
  margin:18px 0;
  padding:14px 18px;
  border:1px solid rgba(7,175,103,.24);
  border-radius:14px;
  background:rgba(7,175,103,.08);
  color:var(--c1);
  font-weight:700;
  line-height:1.8;
}

.interest-action-notice.is-error{
  border-color:rgba(194,53,53,.24);
  background:rgba(194,53,53,.07);
  color:#a52f2f;
}

.interest-action-complete{
  pointer-events:none;
  opacity:.86;
}

.availability-note{
  margin:0 0 18px;
  padding:11px 14px;
  border-radius:var(--radius-sm);
  background:rgba(7,175,103,.07);
  color:var(--mist);
  font-size:.82rem;
}

.modal-status{
  margin:10px 0 16px;
}

.modal-note{
  padding:12px 14px;
  border-radius:var(--radius-sm);
  background:rgba(65,147,190,.08);
  font-size:.8rem;
}

.calculator-layout{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:46px;
  align-items:start;
}

.calculator-card{
  padding:28px;
  display:flex;
  flex-direction:column;
  gap:18px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 12px 32px rgba(9,20,32,.07);
}

.calculator-values{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.calculator-values > div{
  padding:16px;
  border-radius:var(--radius-sm);
  background:var(--ink-elevated-2);
}

.calculator-values strong{
  display:block;
  margin-top:4px;
  color:var(--paper);
  font-size:1.05rem;
}

.calculator-result{
  padding:18px;
  border:1px solid rgba(7,175,103,.22);
  border-radius:var(--radius-sm);
  background:rgba(7,175,103,.07);
}

.calculator-result span,
.calculator-result strong,
.calculator-result small{
  display:block;
}

.calculator-result span,
.calculator-result small{
  color:var(--mist);
  font-size:.78rem;
}

.calculator-result strong{
  margin:4px 0;
  color:var(--paper);
  font-size:1.15rem;
}

.revenue-flow,
.management-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.revenue-flow article,
.management-card{
  padding:22px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
}

.revenue-flow article > span,
.management-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin-bottom:16px;
  border-radius:50%;
  background:var(--gradient);
  color:#fff;
  font-size:.78rem;
  font-weight:700;
}

.revenue-flow h3,
.management-card h3{
  font-size:1rem;
  color:var(--paper);
}

.revenue-flow p{
  margin:0;
  font-size:.88rem;
}

.management-card ul{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.management-card li{
  position:relative;
  padding-inline-start:18px;
  color:var(--mist);
  font-size:.88rem;
}

.management-card li::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:.72em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--c1);
}

.reports-layout{
  display:block;
}

.reports-copy .section-sub{
  max-width:72ch;
}

.report-points{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.report-points article{
  display:flex;
  gap:11px;
  padding:15px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
}

.report-points article > span{
  flex:0 0 auto;
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(7,175,103,.10);
  color:var(--c1);
  font-size:.7rem;
  font-weight:700;
}

.report-points h3{
  margin:0 0 3px;
  color:var(--paper);
  font-size:.92rem;
}

.report-points p{
  margin:0;
  font-size:.8rem;
  line-height:1.55;
}

.purchase-back{
  color:var(--mist);
  font-size:.88rem;
  font-weight:600;
}

.purchase-back:hover{
  color:var(--c1);
}

.purchase-page{
  padding:48px 0 70px;
}

.purchase-steps{
  max-width:760px;
  margin:0 auto 30px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.purchase-steps > div{
  padding:13px;
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(255,255,255,.30);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.76);
  color:var(--mist);
  font-size:.8rem;
}

.purchase-steps span{
  color:var(--c2);
  font-size:.7rem;
}

.purchase-steps .is-active{
  background:#fff;
  color:var(--paper);
  border-color:rgba(7,175,103,.25);
  box-shadow:0 8px 20px rgba(9,20,32,.07);
}

.purchase-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:22px;
  align-items:start;
}

.purchase-main-card,
.purchase-summary{
  padding:28px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:var(--radius);
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 45px rgba(9,20,32,.12);
}

.purchase-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}

.purchase-title-row .eyebrow{
  margin-bottom:6px;
}

.purchase-title-row h1{
  margin:0 0 3px;
  color:var(--paper);
  font-size:1.55rem;
}

.purchase-image{
  display:block;
  width:100%;
  max-height:330px;
  object-fit:cover;
  border-radius:var(--radius-sm);
}

.purchase-details{
  margin:18px 0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.purchase-details > div{
  padding:14px;
  border-radius:var(--radius-sm);
  background:var(--ink-elevated-2);
}

.purchase-details span,
.purchase-details strong{
  display:block;
}

.purchase-details span{
  color:var(--mist);
  font-size:.74rem;
}

.purchase-details strong{
  margin-top:3px;
  color:var(--paper);
}

.purchase-notice{
  padding:16px;
  border-radius:var(--radius-sm);
  background:rgba(65,147,190,.08);
}

.purchase-notice strong{
  color:var(--paper);
}

.purchase-notice p{
  margin:4px 0 0;
  font-size:.84rem;
}

.purchase-actions{
  margin-top:18px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.purchase-contract-form{
  margin-top:26px;
  padding-top:26px;
  display:flex;
  flex-direction:column;
  gap:20px;
  border-top:1px solid var(--border);
}

.purchase-contract-form[hidden],
.purchase-result[hidden]{
  display:none;
}

.purchase-form-heading h2{
  margin:3px 0 6px;
  color:var(--paper);
  font-size:1.25rem;
}

.purchase-form-heading p:last-child{
  margin:0;
  font-size:.86rem;
}

.purchase-contract-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.purchase-terms-box{
  padding:18px;
  border:1px solid rgba(7,175,103,.18);
  border-radius:var(--radius-sm);
  background:linear-gradient(135deg,rgba(7,175,103,.07),rgba(65,147,190,.06));
}

.purchase-terms-box > strong{
  display:block;
  color:var(--paper);
}

.purchase-terms-box ul{
  margin:12px 0 16px;
  padding-inline-start:20px;
  display:grid;
  gap:9px;
  color:var(--mist);
  font-size:.8rem;
  line-height:1.75;
}

.purchase-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding-top:14px;
  border-top:1px solid rgba(7,175,103,.14);
  color:var(--paper);
  font-size:.84rem;
  font-weight:600;
  line-height:1.65;
  cursor:pointer;
}

.purchase-consent input{
  width:18px;
  height:18px;
  margin-top:3px;
  flex:0 0 18px;
  accent-color:var(--c1);
  cursor:pointer;
}

.purchase-result{
  margin-top:26px;
  padding:26px;
  text-align:center;
  border:1px solid rgba(7,175,103,.22);
  border-radius:var(--radius-sm);
  background:linear-gradient(135deg,rgba(7,175,103,.09),rgba(65,147,190,.08));
}

.purchase-result-icon{
  width:46px;
  height:46px;
  margin:0 auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#fff;
  background:var(--gradient);
  font-size:1.35rem;
  font-weight:800;
  box-shadow:0 10px 24px rgba(7,175,103,.18);
}

.purchase-result h2{
  margin:0 0 8px;
  color:var(--paper);
  font-size:1.25rem;
}

.purchase-result p{
  max-width:620px;
  margin:0 auto;
  font-size:.88rem;
}

.purchase-result .purchase-actions{
  justify-content:center;
}

.dashboard-contract-state{
  margin-top:4px;
  padding:13px 14px;
  display:flex;
  flex-direction:column;
  gap:4px;
  border-radius:var(--radius-sm);
  background:rgba(65,147,190,.08);
  color:var(--mist);
  font-size:.78rem;
  line-height:1.6;
}

.dashboard-contract-state strong{
  color:var(--paper);
}

.dashboard-contract-state.is-ready{
  background:rgba(7,175,103,.09);
}

.dashboard-contract-state a{
  width:max-content;
  color:var(--c1);
  font-weight:700;
}

.admin-user-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}

.purchase-summary{
  position:sticky;
  top:calc(var(--header-h) + 20px);
}

.purchase-summary h2{
  color:var(--paper);
  font-size:1.1rem;
}

.purchase-summary > div{
  padding:13px 0;
  display:flex;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid var(--border);
}

.purchase-summary span{
  color:var(--mist);
  font-size:.78rem;
}

.purchase-summary strong{
  color:var(--paper);
  font-size:.82rem;
  text-align:end;
}

.purchase-summary p{
  margin:16px 0 0;
  font-size:.78rem;
}

@media (max-width:1040px){
  #mainNav{
    position:absolute;
    top:var(--header-h);
    right:0;
    left:0;
    padding:18px 24px;
    display:none;
    flex-direction:column;
    gap:16px;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid var(--border);
  }

  #mainNav.is-open{
    display:flex;
  }

  .nav-toggle{
    display:flex;
  }

  .header-actions .btn-primary{
    display:none;
  }
}

.status-tag.status-paid,
.status-tag.status-active{
  background:rgba(7,175,103,.12);
  color:var(--c1);
}

.status-tag.status-pending{
  background:rgba(65,147,190,.12);
  color:var(--c3);
}

.status-tag.status-failed,
.status-tag.status-cancelled{
  background:rgba(239,68,68,.10);
  color:var(--danger);
}

.status-tag.status-refunded{
  background:rgba(100,116,139,.12);
  color:var(--mist);
}

@media (max-width:900px){
  .opportunity-specs{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .hero-market-note{
    grid-template-columns:1fr;
  }

  .calculator-layout{
    grid-template-columns:1fr;
    gap:20px;
  }

  .revenue-flow,
  .management-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .reports-layout,
  .purchase-layout{
    grid-template-columns:1fr;
  }

  .report-points{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .purchase-summary{
    position:static;
  }
}

@media (max-width:640px){
  .admin-main-nav,
  .dashboard-main-nav{
    position:static;
    display:flex;
    flex-direction:row;
    gap:12px;
    max-width:42vw;
    padding:0;
    overflow-x:auto;
    background:transparent;
    border:0;
  }

  .admin-main-nav a,
  .dashboard-main-nav a{
    flex:0 0 auto;
    white-space:nowrap;
  }

  .opportunity-card,
  .calculator-card{
    padding:20px;
  }

  .investor-flow{
    grid-template-columns:1fr;
  }

  .opportunity-actions{
    flex-direction:column;
  }

  .opportunity-actions .btn{
    width:100%;
  }

  .calculator-values,
  .revenue-flow,
  .management-grid{
    grid-template-columns:1fr;
  }

  .hero-media{
    height:180px;
  }

  .report-points,
  .purchase-details{
    grid-template-columns:1fr;
  }

  .hero-market-note{
    margin-top:26px;
    padding:20px;
    gap:16px;
  }

  .market-note-main{
    gap:13px;
  }

  .market-note-icon{
    flex-basis:44px;
    width:44px;
    height:44px;
  }

  .purchase-main-card,
  .purchase-summary{
    padding:20px;
  }

  .purchase-contract-grid{
    grid-template-columns:1fr;
  }

  .purchase-title-row,
  .purchase-actions{
    flex-direction:column;
  }

  .purchase-actions .btn{
    width:100%;
  }

  .purchase-steps > div{
    padding:10px 8px;
    justify-content:center;
    text-align:center;
    font-size:.7rem;
  }
}

@media (max-width:420px){
  .opportunity-specs{
    grid-template-columns:1fr;
  }

  .opportunity-specs .opportunity-profit{
    grid-column:auto;
  }
}


/*صفحة الشروط والأحكام*/
 .terms-main {
      min-height: 70vh;
      padding: 60px 0;
    }

    .terms-card {
      padding: 40px;
      background: rgba(255, 255, 255, 0.95);
      border: 1px solid rgba(255, 255, 255, 0.65);
      border-radius: 28px;
      box-shadow: 0 18px 50px rgba(9, 20, 32, 0.13);
    }

    .terms-header {
      padding-bottom: 24px;
      border-bottom: 1px solid var(--border);
    }

    .terms-header h1 {
      margin: 0;
      color: var(--paper);
      font-size: clamp(1.7rem, 3vw, 2.4rem);
    }

    .terms-content {
      min-height: 420px;
      padding-top: 30px;
      color: var(--mist);
      line-height: 2;
    }

    .terms-back {
      display: inline-flex;
      margin-bottom: 22px;
      color: var(--c2);
      font-weight: 700;
    }

    .terms-back:hover {
      color: var(--c1);
    }

    @media (max-width: 640px) {
      .terms-main {
        padding: 35px 12px;
      }

      .terms-card {
        padding: 25px 20px;
        border-radius: 22px;
      }
    }


/* =====================================================
   Responsive spacing refinements
   يحافظ على ظهور الخلفية حول البطاقات في الآيباد والجوال
   ===================================================== */

@media (hover:none) and (pointer:coarse){
  body,
  .auth-body{
    background-attachment:scroll;
  }
}

@media (min-width:1041px) and (max-width:1240px){
  .hero,
  .section,
  .section-contact{
    margin-inline:24px;
  }

  .hero-inner{
    gap:52px;
  }
}

@media (min-width:641px) and (max-width:1040px){
  body{
    overflow-x:hidden;
    background-attachment:scroll;
  }

  .container{
    padding-inline:clamp(20px,3vw,28px);
  }

  .site-header{
    height:auto;
    min-height:var(--header-h);
  }

  .header-inner{
    min-height:var(--header-h);
    padding-block:8px;
    gap:8px 16px;
    flex-wrap:wrap;
  }

  .admin-main-nav,
  .dashboard-main-nav{
    order:3;
    width:100%;
    padding-top:8px;
    border-top:1px solid var(--border);
  }

  .hero,
  .section,
  .section-contact{
    margin-inline:clamp(22px,3.4vw,34px);
  }

  .hero{
    margin-block-start:42px;
    margin-block-end:26px;
    padding-block:48px;
    border-radius:26px;
  }

  .hero-inner{
    gap:42px;
  }

  .section{
    margin-block:30px;
    padding-block:56px;
    border-radius:26px;
  }

  .section-contact{
    margin-block:30px;
    border-radius:26px;
  }

  .purchase-page{
    padding-block:42px 62px;
  }

  .auth-body{
    padding:40px clamp(24px,5vw,48px);
    gap:32px;
    background-attachment:scroll;
  }

  .terms-main{
    padding-block:48px;
  }

  .terms-card{
    padding:34px;
  }

  .footer-inner{
    row-gap:36px;
  }

  .modal-overlay{
    padding:24px;
  }
}

@media (max-width:640px){
  body{
    overflow-x:hidden;
    background-attachment:scroll;
  }

  .container{
    padding-inline:16px;
  }

  .site-header{
    height:auto;
    min-height:var(--header-h);
  }

  .header-inner{
    min-height:var(--header-h);
    padding-block:8px;
    gap:8px 12px;
    flex-wrap:wrap;
  }

  .header-actions{
    gap:8px;
  }

  .header-actions .btn-ghost{
    padding:9px 13px;
    font-size:.82rem;
  }

  .admin-main-nav,
  .dashboard-main-nav{
    order:3;
    width:100%;
    max-width:100%;
    padding-top:8px;
    border-top:1px solid var(--border);
  }

  .hero,
  .section,
  .section-contact{
    margin-inline:clamp(18px,5.5vw,28px);
  }

  .hero{
    margin-block-start:28px;
    margin-block-end:20px;
    padding-block:34px;
    border-radius:20px;
  }

  .hero h1{
    overflow:visible;
    line-height:1.48;
    padding-top:.12em;
  }

  .hero-title-highlight{
    overflow:visible;
    padding:.18em .02em .04em;
    margin:-.18em -.02em -.04em;
    line-height:1.48;
  }

  .hero-inner{
    gap:24px;
  }

  .hero-panel{
    padding:20px;
  }

  .hero-panel-note{
    margin-top:16px;
    padding-top:14px;
    text-align:center;
    font-size:.76rem;
  }

  .hero-media{
    margin:-20px -20px 18px;
  }

  .hero-market-note{
    margin-top:22px;
    padding:18px;
  }

  .section{
    margin-block:22px;
    padding-block:38px;
    border-radius:20px;
  }

  .section-contact{
    margin-block:22px;
    border-radius:20px;
  }

  .section-contact .container{
    padding-inline:16px;
  }

  .section-sub{
    margin-bottom:32px;
  }

  .site-footer{
    padding-block:40px 26px;
  }

  .footer-inner{
    gap:30px;
  }

  .purchase-page{
    padding-block:28px 48px;
  }

  .purchase-steps{
    gap:7px;
    margin-bottom:20px;
  }

  .purchase-main-card,
  .purchase-summary{
    padding:20px;
    border-radius:18px;
  }

  .auth-body{
    justify-content:flex-start;
    gap:24px;
    padding:28px 14px;
    background-attachment:scroll;
  }

  .auth-card{
    padding:26px 22px;
    border-radius:18px;
  }

  .terms-main{
    padding:30px 0;
  }

  .terms-card{
    padding:25px 20px;
    border-radius:20px;
  }

  .modal-overlay{
    padding:12px;
  }

  .modal{
    max-height:calc(100dvh - 24px);
    padding:25px 18px;
    border-radius:18px;
  }
}

@media (max-width:380px){
  .container{
    padding-inline:14px;
  }

  .hero-market-note{
    padding:16px;
  }

  .market-note-main{
    flex-direction:column;
  }

  .purchase-steps{
    grid-template-columns:1fr;
  }

  .purchase-steps > div{
    justify-content:flex-start;
    text-align:start;
  }

  .auth-body{
    padding-inline:10px;
  }

  .auth-card{
    padding-inline:18px;
  }
}
