:root{
  --navy:#29263f;
  --navy-2:#1f1d32;
  --pink:#f23f82;
  --pink-dark:#dd2f70;
  --pink-soft:#fff1f6;
  --ink:#222135;
  --muted:#6c6a78;
  --line:#e9e8ef;
  --soft:#f7f7fa;
  --white:#fff;
  --shadow:0 18px 55px rgba(41,38,63,.10);
  --radius:20px;
  --radius-sm:14px;
  --container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}

.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px 14px;z-index:9999;border-radius:8px}

.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(233,232,239,.9)}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand img{width:188px;height:auto}
.main-nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:650}
.main-nav a{color:#4d4a5b}
.main-nav a:hover{color:var(--pink)}
.nav-cta{background:var(--pink);color:#fff!important;padding:11px 17px;border-radius:10px;box-shadow:0 8px 22px rgba(242,63,130,.2)}

.menu-toggle{display:none;border:0;background:transparent;padding:6px}
.menu-toggle span{display:block;width:25px;height:2px;background:var(--navy);margin:5px}

.notice{padding:12px 20px;text-align:center;font-size:14px}
.notice-success{background:#ecfff3;color:#176b39}
.notice-error{background:#fff0f2;color:#922740}

.section-pad{padding:86px 0 76px}
.section{padding:88px 0}
.section-white{background:#fff}
.section-soft{background:var(--soft)}
.section-navy{background:linear-gradient(135deg,var(--navy-2),var(--navy));color:#fff;position:relative;overflow:hidden}

.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--pink);margin-bottom:14px}

h1,h2,h3{margin:0 0 14px;line-height:1.12;letter-spacing:-.03em}
h1{font-size:clamp(44px,6vw,76px);max-width:760px}
h1 span{color:var(--pink)}
h2{font-size:clamp(32px,4vw,48px)}
h3{font-size:20px}

.lead{font-size:20px;color:#5f5d6c;max-width:680px;margin:0 0 30px}
.lead-small{font-size:18px;color:var(--muted)}
p{margin:0 0 16px;color:var(--muted)}


/* HERO */

.hero{
  position:relative;
  overflow:hidden;
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,.88) 0%,
      rgba(255,255,255,.78) 34%,
      rgba(255,255,255,.38) 58%,
      rgba(255,255,255,.08) 100%
    ),
    url("../images/rak-city-hero.jpg");
  background-size:cover;
  background-position:center 56%;
  background-repeat:no-repeat;
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,0) 55%,
    rgba(255,255,255,.12) 100%
  );
  pointer-events:none;
}

.hero-glow{display:none}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
  gap:58px;
  align-items:start;
  position:relative;
  z-index:1;
}

.hero-copy{padding-top:38px}

.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:42px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 20px;
  border-radius:11px;
  font-weight:750;
  font-size:14px;
  border:1px solid transparent;
  cursor:pointer;
  transition:.2s;
}

.btn-primary{
  background:var(--pink);
  color:#fff;
  box-shadow:0 8px 24px rgba(242,63,130,.18);
}

.btn-primary:hover{
  background:var(--pink-dark);
  transform:translateY(-1px);
}

.btn-secondary{
  background:#fff;
  border-color:#dad8e3;
  color:var(--navy);
}

.btn-secondary:hover{
  border-color:var(--pink);
  color:var(--pink);
}

.quick-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.quick-points>div{
  padding:16px 15px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(233,232,239,.92);
  border-radius:12px;
  backdrop-filter:blur(6px);
}

.quick-icon{
  display:inline-flex;
  width:34px;
  height:34px;
  border-radius:10px;
  background:var(--pink-soft);
  align-items:center;
  justify-content:center;
  color:var(--pink);
  font-size:11px;
  font-weight:800;
  margin-bottom:12px;
}

.quick-points strong{
  display:block;
  font-size:14px;
  margin-bottom:5px;
}

.quick-points small{
  display:block;
  color:var(--muted);
  line-height:1.45;
}


/* CARDS + FORMS */

.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.hero-form{
  padding:30px;
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
}

.form-accent{
  height:4px;
  position:absolute;
  top:0;
  left:0;
  right:0;
  background:linear-gradient(90deg,var(--pink),#ff8ab2);
}

.form-kicker{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--pink);
  font-weight:800;
  margin-bottom:8px;
}

.hero-form h2{font-size:29px}
.hero-form>p:not(.form-kicker){font-size:14px}

.form-grid,
.detail-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.field{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.field.full,
.full{
  grid-column:1/-1;
}

.field label{
  font-size:12px;
  font-weight:700;
  color:#565363;
}

.field input,
.field select,
.field textarea{
  width:100%;
  border:1px solid #dedce6;
  border-radius:10px;
  padding:12px 13px;
  color:var(--ink);
  background:#fff;
  outline:none;
  transition:.2s;
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:var(--pink);
  box-shadow:0 0 0 3px rgba(242,63,130,.1);
}

.form-note{
  font-size:11px;
  text-align:center;
  margin:0;
  color:#8c8996;
}

.hp-field{
  position:absolute;
  left:-9999px;
  opacity:0;
}


/* SECTION HEADINGS */

.section-head{margin-bottom:42px}

.section-head.centered{
  text-align:center;
  max-width:760px;
  margin-inline:auto;
  margin-bottom:46px;
}

.section-head.centered p{
  max-width:680px;
  margin-inline:auto;
}

.split-head{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:70px;
  align-items:end;
}

.split-head p{margin-bottom:4px}


/* WHY RAK */

.feature-grid{display:grid;gap:16px}

.feature-grid.six{
  grid-template-columns:repeat(3,1fr);
}

.feature-card{
  padding:26px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
  transition:.2s;
}

.feature-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(41,38,63,.06);
}

.icon-box{
  width:44px;
  height:44px;
  border-radius:12px;
  background:var(--pink-soft);
  color:var(--pink);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:850;
  margin-bottom:18px;
}

.feature-card p{
  font-size:14px;
  margin:0;
}


/* SETUP ROUTES */

.route-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.route-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px;
  position:relative;
}

.route-card.highlighted{
  border-color:#f7bdd2;
  box-shadow:0 18px 38px rgba(242,63,130,.09);
}

.route-label{
  position:absolute;
  top:0;
  right:24px;
  transform:translateY(-50%);
  background:var(--pink);
  color:#fff;
  border-radius:999px;
  padding:6px 10px;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.route-number{
  font-size:12px;
  color:var(--pink);
  font-weight:850;
  margin-bottom:30px;
}

.route-card ul{
  padding-left:18px;
  color:var(--muted);
  font-size:14px;
  margin:22px 0;
}

.route-card a{
  font-weight:800;
  color:var(--pink);
  font-size:14px;
}


/* COMPARISON */

.compare-wrap{
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 10px 28px rgba(41,38,63,.05);
}

.compare-table{display:grid}

.compare-row{
  display:grid;
  grid-template-columns:.8fr 1fr 1fr;
  border-bottom:1px solid var(--line);
}

.compare-row:last-child{border-bottom:0}

.compare-row>div{
  padding:18px 22px;
  font-size:14px;
  color:var(--muted);
}

.compare-row>div+div{
  border-left:1px solid var(--line);
}

.compare-row.compare-header{
  background:var(--navy);
  color:#fff;
}

.compare-row.compare-header>div{
  color:#fff;
  font-weight:800;
}

.decision-strip{
  margin-top:22px;
  background:var(--pink-soft);
  border:1px solid #f8c7d8;
  border-radius:var(--radius-sm);
  padding:18px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.decision-strip strong,
.decision-strip span{
  display:block;
}

.decision-strip span{
  font-size:13px;
  color:var(--muted);
  margin-top:3px;
}


/* COST */

.cost-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:80px;
  align-items:center;
}

.cost-callout{
  background:#fff;
  border:1px solid var(--line);
  border-left:4px solid var(--pink);
  padding:18px 20px;
  border-radius:0 12px 12px 0;
  margin:25px 0;
}

.cost-callout strong,
.cost-callout span{
  display:block;
}

.cost-callout span{
  color:var(--muted);
  font-size:14px;
}

.cost-list{
  display:grid;
  gap:12px;
}

.cost-list article{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:20px;
  display:grid;
  grid-template-columns:48px 1fr;
  gap:14px;
}

.cost-list article>span{
  font-size:12px;
  font-weight:850;
  color:var(--pink);
  width:38px;
  height:38px;
  border-radius:10px;
  background:var(--pink-soft);
  display:flex;
  align-items:center;
  justify-content:center;
}

.cost-list h3{
  font-size:17px;
  margin-bottom:5px;
}

.cost-list p{
  font-size:13px;
  margin:0;
}


/* OPPORTUNITIES */

.opportunity-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.opportunity-grid article{
  min-height:220px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:linear-gradient(180deg,#fff,#fffafd);
  display:flex;
  flex-direction:column;
}

.opportunity-grid article>span{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--pink);
  font-weight:850;
  margin-bottom:auto;
}

.opportunity-grid h3{margin-top:32px}

.opportunity-grid p{
  font-size:14px;
  margin-bottom:0;
}


/* PROCESS */

.inverse h2,
.inverse p{
  color:#fff;
}

.inverse p{opacity:.72}

.section-navy:before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-130px;
  top:-180px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
}

.steps-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.steps-grid article{
  border:1px solid rgba(255,255,255,.12);
  padding:22px;
  border-radius:14px;
  background:rgba(255,255,255,.035);
}

.steps-grid span{
  color:#ff78aa;
  font-size:12px;
  font-weight:850;
}

.steps-grid h3{
  color:#fff;
  font-size:17px;
  margin-top:26px;
}

.steps-grid p{
  color:rgba(255,255,255,.6);
  font-size:13px;
  margin:0;
}


/* ESSENTIALS */

.essentials-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}

.essentials-grid article{
  padding:23px;
  border:1px solid var(--line);
  border-radius:14px;
}

.essentials-grid h3{font-size:17px}

.essentials-grid p{
  font-size:13px;
  margin:0;
}


/* ZONES */

.zone-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.zone-grid article{
  padding:24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
}

.zone-grid h3{font-size:17px}

.zone-grid p{
  font-size:13px;
  margin:0;
}


/* FOREIGN INVESTORS */

.foreign-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
}

.foreign-panel{
  background:var(--navy);
  padding:46px;
  border-radius:var(--radius);
  color:#fff;
}

.foreign-panel h2,
.foreign-panel p{
  color:#fff;
}

.foreign-panel p{opacity:.75}

.question-list{
  border-left:1px solid var(--line);
  padding-left:40px;
}

.question-list ul{
  margin:14px 0 0;
  padding:0;
  list-style:none;
}

.question-list li{
  padding:11px 0;
  border-bottom:1px solid var(--line);
  color:#54515f;
}

.question-list li:before{
  content:"✓";
  color:var(--pink);
  font-weight:900;
  margin-right:10px;
}


/* TOOLS */

.tool-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.tool-grid article{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:24px;
}

.status{
  display:inline-flex;
  background:var(--pink-soft);
  color:var(--pink);
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.07em;
  border-radius:999px;
  padding:6px 9px;
}

.tool-grid h3{
  font-size:17px;
  margin-top:22px;
}

.tool-grid p{
  font-size:13px;
  margin:0;
}


/* GUIDES */

.guide-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.guide-grid article{
  border:1px solid var(--line);
  border-radius:14px;
  padding:25px;
  min-height:240px;
  display:flex;
  flex-direction:column;
}

.guide-tag{
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--pink);
}

.guide-grid h3{
  font-size:19px;
  margin-top:28px;
}

.guide-grid p{font-size:13px}

.guide-link{
  margin-top:auto;
  font-size:12px;
  font-weight:750;
  color:#9793a3;
}


/* NEWS */

.news-strip{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

.news-strip .status{margin-top:8px}


/* FAQ */

.faq-grid{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:80px;
  align-items:start;
}

.sticky-head{
  position:sticky;
  top:120px;
}

.accordion details{
  border-bottom:1px solid var(--line);
  padding:0;
}

.accordion summary{
  cursor:pointer;
  list-style:none;
  padding:20px 36px 20px 0;
  font-weight:750;
  position:relative;
}

.accordion summary::-webkit-details-marker{display:none}

.accordion summary:after{
  content:"+";
  position:absolute;
  right:4px;
  top:18px;
  color:var(--pink);
  font-size:22px;
}

.accordion details[open] summary:after{content:"−"}

.accordion details p{
  padding:0 30px 20px 0;
  font-size:14px;
}


/* ENQUIRY */

.enquiry-section{
  padding:92px 0;
  background:linear-gradient(135deg,#fff4f8,#f8f7fb);
}

.enquiry-grid{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:70px;
  align-items:start;
}

.enquiry-copy{padding-top:36px}

.enquiry-points{
  display:flex;
  flex-direction:column;
  gap:9px;
  font-size:14px;
  color:#55525f;
  margin-top:26px;
}

.enquiry-points span:before{color:var(--pink)}

.detail-form{padding:30px}


/* FOOTER */

.site-footer{
  background:var(--navy-2);
  color:#fff;
  padding:58px 0 28px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.5fr repeat(4,1fr);
  gap:42px;
}

.footer-brand img{
  width:180px;
  background:#fff;
  border-radius:8px;
  padding:6px;
}

.footer-brand p{
  color:rgba(255,255,255,.6);
  font-size:13px;
  max-width:250px;
  margin-top:18px;
}

.site-footer h3{
  font-size:13px;
  letter-spacing:.04em;
  color:#fff;
  margin-bottom:16px;
}

.site-footer a,
.site-footer span{
  display:block;
  font-size:12px;
  color:rgba(255,255,255,.62);
  margin:8px 0;
}

.site-footer a:hover{color:#fff}

.disclaimer{
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:40px;
  padding-top:24px;
}

.disclaimer p{
  color:rgba(255,255,255,.45);
  font-size:10px;
  line-height:1.65;
}

.copyright{
  text-align:right;
  margin-top:-26px;
}

.floating-enquiry{
  display:none;
  position:fixed;
  right:18px;
  bottom:18px;
  background:var(--pink);
  color:#fff;
  padding:12px 16px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  z-index:90;
  box-shadow:0 10px 30px rgba(242,63,130,.28);
}


/* TABLET */

@media (max-width:1050px){

  .main-nav{
    gap:16px;
    font-size:13px;
  }

  .hero-grid{
    grid-template-columns:1fr 380px;
    gap:34px;
  }

  .feature-grid.six,
  .opportunity-grid,
  .zone-grid,
  .guide-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .essentials-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .tool-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .footer-grid{
    grid-template-columns:1.5fr repeat(2,1fr);
  }
}


/* MOBILE / SMALL TABLET */

@media (max-width:860px){

  .hero{
    background-image:
      linear-gradient(
        rgba(255,255,255,.91),
        rgba(255,255,255,.96)
      ),
      url("../images/rak-city-hero.jpg");
    background-position:center center;
  }

  .hero::after{
    display:none;
  }

  .menu-toggle{display:block}

  .main-nav{
    position:absolute;
    left:20px;
    right:20px;
    top:70px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:var(--shadow);
    padding:18px;
    flex-direction:column;
    align-items:stretch;
    display:none;
  }

  .main-nav.is-open{display:flex}

  .main-nav a{
    padding:8px 4px;
  }

  .nav-cta{text-align:center}

  .hero-grid,
  .cost-grid,
  .foreign-grid,
  .faq-grid,
  .enquiry-grid,
  .split-head,
  .news-strip{
    grid-template-columns:1fr;
  }

  .hero-copy{padding-top:10px}

  .quick-points{
    grid-template-columns:1fr;
  }

  .route-grid{
    grid-template-columns:1fr;
  }

  .compare-row{
    grid-template-columns:.75fr 1fr 1fr;
  }

  .steps-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .section{padding:70px 0}
  .section-pad{padding:64px 0}

  .cost-grid,
  .foreign-grid,
  .faq-grid,
  .enquiry-grid{
    gap:42px;
  }

  .question-list{
    border-left:0;
    padding-left:0;
  }

  .sticky-head{position:static}

  .footer-grid{
    grid-template-columns:1fr 1fr;
  }

  .footer-brand{
    grid-column:1/-1;
  }

  .copyright{
    text-align:left;
    margin-top:0;
  }

  .floating-enquiry{
    display:block;
  }
}


/* MOBILE */

@media (max-width:600px){

  .container{
    width:min(calc(100% - 28px),var(--container));
  }

  .header-inner{
    min-height:68px;
  }

  .brand img{
    width:160px;
  }

  h1{
    font-size:42px;
  }

  .lead{
    font-size:17px;
  }

  .hero-actions{
    flex-direction:column;
  }

  .hero-actions .btn{
    width:100%;
  }

  .hero-form{
    padding:22px;
  }

  .form-grid,
  .detail-form{
    grid-template-columns:1fr;
  }

  .feature-grid.six,
  .opportunity-grid,
  .zone-grid,
  .guide-grid,
  .tool-grid,
  .essentials-grid{
    grid-template-columns:1fr;
  }

  .steps-grid{
    grid-template-columns:1fr;
  }

  .compare-wrap{
    overflow-x:auto;
  }

  .compare-table{
    min-width:720px;
  }

  .decision-strip{
    align-items:stretch;
    flex-direction:column;
  }

  .footer-grid{
    grid-template-columns:1fr;
  }

  .footer-brand{
    grid-column:auto;
  }

  .section-head{
    margin-bottom:34px;
  }

  .foreign-panel{
    padding:30px;
  }

  .detail-form{
    padding:22px;
  }
}