/* AAN PROJECT DUBAI — Corporate / Editorial Design */
:root{
  --ink:#101719;
  --ink-2:#182326;
  --cream:#f3f0e8;
  --paper:#fbfaf6;
  --muted:#7c8584;
  --line:rgba(16,23,25,.14);
  --gold:#c9a96b;
  --gold-light:#e2c98f;
  --white:#fff;
  --max:1240px;
  --radius:4px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",sans-serif;background:var(--paper);color:var(--ink);line-height:1.6}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 56px),var(--max));margin:auto}
.topbar{background:var(--ink);color:#b9c0be;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.topbar-inner{height:34px;display:flex;justify-content:space-between;align-items:center}
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,250,246,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-wrap{height:86px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{font-family:Manrope,sans-serif;font-weight:800;font-size:25px;letter-spacing:-.08em}
.brand-name{font-size:10px;letter-spacing:.24em;font-weight:700;border-left:1px solid var(--line);padding-left:12px}
.brand-name small{display:block;font-size:8px;letter-spacing:.35em;color:var(--gold);margin-top:1px}
.nav{display:flex;align-items:center;gap:34px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.nav a{transition:.25s}
.nav a:hover{color:#a07b37}
.nav-cta{border:1px solid var(--ink);padding:12px 17px}
.nav-cta span{color:var(--gold);margin-left:8px}
.menu-toggle{display:none;background:none;border:0}
.hero{min-height:calc(100vh - 120px);background:var(--ink);color:var(--white);position:relative;overflow:hidden;display:flex;align-items:center}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,black,transparent)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);border:1px solid rgba(201,169,107,.18)}
.orb-one{width:600px;height:600px;right:-160px;top:-140px;background:radial-gradient(circle,rgba(201,169,107,.13),transparent 65%)}
.orb-two{width:320px;height:320px;left:45%;bottom:-200px;background:radial-gradient(circle,rgba(201,169,107,.1),transparent 65%)}
.hero-content{position:relative;padding:90px 0 80px}
.eyebrow,.section-kicker{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:700}
.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:26px}
.eyebrow span{width:34px;height:1px;background:var(--gold)}
.hero h1{font-family:Manrope,sans-serif;font-size:clamp(52px,7.4vw,104px);line-height:.98;letter-spacing:-.065em;max-width:930px}
.hero h1 em{font-family:Georgia,serif;color:var(--gold-light);font-weight:400}
.hero-copy{max-width:650px;color:#bac2c1;font-size:16px;margin-top:30px}
.hero-actions{display:flex;gap:13px;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:0 22px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;cursor:pointer;transition:.25s}
.btn-primary{background:var(--gold);color:var(--ink)}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px)}
.btn-ghost{border-color:rgba(255,255,255,.3);color:white}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.hero-note{display:flex;align-items:center;gap:16px;color:#818d8b;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:70px}
.note-line{width:60px;height:1px;background:#4c5858}
.hero-side{position:absolute;right:28px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:15px;color:#67716f;font-size:9px}
.hero-side div{height:110px;width:1px;background:#3b4747}
.section{padding:125px 0}
.intro{background:var(--cream)}
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px}
h2{font-family:Manrope,sans-serif;font-size:clamp(42px,5vw,72px);line-height:1.04;letter-spacing:-.055em}
h2 span{color:#a98342}
.intro h2{margin-top:18px}
.intro-copy{padding-top:38px;max-width:560px}
.intro-copy p{font-size:18px;color:#4e5958;margin-bottom:20px}
.text-link{display:inline-flex;gap:20px;margin-top:18px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--gold);padding-bottom:8px}
.business{background:var(--paper)}
.section-head{display:grid;grid-template-columns:1fr .55fr;gap:70px;align-items:end;margin-bottom:55px}
.section-summary{color:#6c7675;max-width:420px;font-size:15px}
.business-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.business-card{min-height:390px;background:#fff;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:.35s}
.business-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(16,23,25,.09)}
.business-card.featured{background:var(--ink);color:white}
.business-card.wide{grid-column:span 2;min-height:270px}
.card-number{font-size:10px;color:#8b9492;letter-spacing:.14em}
.card-icon{font-size:30px;color:var(--gold);margin-top:38px}
.business-card h3{font-family:Manrope,sans-serif;font-size:29px;line-height:1.02;letter-spacing:-.045em;margin-top:20px}
.business-card p{font-size:13px;color:#6c7675;margin-top:16px;max-width:310px}
.featured p{color:#aeb7b5}
.card-bottom{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#7b8583}
.featured .card-bottom{border-color:rgba(255,255,255,.14);color:#8e9997}
.statement{background:var(--ink);color:white;padding:135px 0}
.statement h2{font-size:clamp(48px,7vw,100px);margin-top:28px}
.statement i{font-family:Georgia,serif;color:var(--gold-light);font-weight:400}
.approach{background:var(--cream)}
.process{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:60px}
.process-item{padding:28px 25px 10px;border-right:1px solid var(--line);min-height:220px}
.process-item:last-child{border-right:0}
.process-item>span{font-size:10px;color:var(--gold);letter-spacing:.16em}
.process-item h3{font-family:Manrope,sans-serif;font-size:24px;margin-top:35px}
.process-item p{font-size:13px;color:#697271;margin-top:10px;max-width:230px}
.contact{background:var(--paper)}
.contact-box{display:grid;grid-template-columns:1fr .8fr;background:var(--ink);color:white}
.contact-copy{padding:65px}
.contact-copy h2{margin-top:22px;font-size:clamp(40px,4.7vw,67px)}
.contact-copy>p:not(.section-kicker){color:#9fa9a7;max-width:520px;margin-top:25px}
.contact-meta{display:flex;gap:55px;margin-top:50px}
.contact-meta small{display:block;color:#71807d;font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.contact-meta strong{display:block;margin-top:7px;font-size:13px;font-weight:500}
.contact-form{background:#f0ede5;color:var(--ink);padding:65px;display:flex;flex-direction:column;gap:17px}
.contact-form label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #c8c4ba;background:transparent;padding:13px 0 10px;outline:none;color:var(--ink);resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold)}
.contact-form .submit{margin-top:8px;align-self:flex-start}
.form-note{font-size:10px;color:#858b87}
.footer{background:#0a1011;color:#aeb8b6}
.footer-top{display:flex;align-items:center;justify-content:space-between;padding:48px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-top .brand{color:white}
.back-top{font-size:10px;text-transform:uppercase;letter-spacing:.14em}
.footer-bottom{display:flex;justify-content:space-between;padding:18px 0;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#66716f}
@media(max-width:900px){
  .container{width:min(calc(100% - 36px),var(--max))}
  .topbar-inner span:last-child{display:none}
  .nav{position:absolute;top:86px;left:0;right:0;background:var(--paper);display:none;flex-direction:column;align-items:stretch;padding:18px 25px;border-bottom:1px solid var(--line);gap:0}
  .nav.open{display:flex}
  .nav a{padding:15px 0;border-bottom:1px solid var(--line)}
  .nav-cta{border:0;padding:15px 0}
  .menu-toggle{display:flex;flex-direction:column;gap:5px}
  .menu-toggle span{display:block;width:25px;height:1px;background:var(--ink);transition:.25s}
  .menu-toggle.active span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .menu-toggle.active span:nth-child(2){opacity:0}
  .menu-toggle.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .hero{min-height:calc(100vh - 120px)}
  .hero-content{padding:70px 0}
  .hero-side{display:none}
  .hero-note{flex-wrap:wrap;margin-top:50px}
  .intro-grid,.section-head,.contact-box{grid-template-columns:1fr;gap:35px}
  .intro-copy{padding-top:0}
  .business-list{grid-template-columns:repeat(2,1fr)}
  .business-card.wide{grid-column:span 2}
  .process{grid-template-columns:repeat(2,1fr)}
  .process-item:nth-child(2){border-right:0}
  .process-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .contact-copy,.contact-form{padding:42px 32px}
}
@media(max-width:560px){
  .nav-wrap{height:76px}
  .nav{top:76px}
  .brand-name{font-size:8px}
  .hero h1{font-size:49px}
  .hero-copy{font-size:14px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .section{padding:85px 0}
  .business-list{grid-template-columns:1fr}
  .business-card,.business-card.wide{grid-column:auto;min-height:340px}
  .process{grid-template-columns:1fr}
  .process-item{border-right:0!important;border-bottom:1px solid var(--line)}
  .process-item:last-child{border-bottom:0}
  .contact-meta{flex-direction:column;gap:20px}
  .footer-top,.footer-bottom{flex-direction:column;align-items:flex-start;gap:20px}
}


/* Business navigation dropdown */
.nav-businesses{position:relative;display:flex;align-items:center}
.businesses-toggle{display:flex;align-items:center;gap:6px}
.nav-chevron{font-size:14px;line-height:1;color:var(--gold)}
.business-dropdown{
  position:absolute;top:calc(100% + 27px);right:-18px;width:310px;
  background:rgba(251,250,246,.98);border:1px solid var(--line);
  box-shadow:0 20px 50px rgba(16,23,25,.14);padding:8px;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:.25s;z-index:100;
}
.nav-businesses:hover .business-dropdown,
.nav-businesses:focus-within .business-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.business-dropdown a{
  display:grid;grid-template-columns:30px 1fr;gap:10px;
  padding:13px 12px;border-bottom:1px solid var(--line);
  font-size:10px;letter-spacing:.08em;text-transform:uppercase;
}
.business-dropdown a:last-child{border-bottom:0}
.business-dropdown a:hover{background:var(--cream);color:#9a7739}
.business-dropdown a span{color:var(--gold);font-size:9px}
.business-card-link{color:inherit;cursor:pointer}
.business-card-link h3,.business-card-link p{color:inherit}
.business-card-link p{color:#6c7675}
.business-card-link.featured p{color:#aeb7b5}

/* Business detail pages */
.detail-hero{
  min-height:64vh;background:var(--ink);color:white;position:relative;
  overflow:hidden;display:flex;align-items:center;
}
.detail-hero-inner{position:relative;padding:110px 0 100px}
.back-link{
  display:inline-flex;align-items:center;gap:10px;color:#aeb8b6;
  font-size:10px;text-transform:uppercase;letter-spacing:.13em;
  margin-bottom:55px;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:8px;
}
.back-link:hover{color:var(--gold)}
.detail-hero h1{
  font-family:Manrope,sans-serif;font-size:clamp(58px,8vw,112px);
  line-height:.93;letter-spacing:-.07em;max-width:950px;margin-top:18px;
}
.detail-hero h1 em{font-family:Georgia,serif;color:var(--gold-light);font-weight:400}
.detail-lead{max-width:650px;color:#b8c1bf;font-size:18px;margin-top:32px}
.detail-intro{background:var(--cream)}
.detail-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px}
.detail-intro h2{margin-top:18px}
.detail-copy{padding-top:38px;max-width:590px}
.detail-copy p{font-size:20px;color:#4e5958}
.detail-services{background:var(--paper)}
.service-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  border-top:1px solid var(--line);border-left:1px solid var(--line);
}
.service-item{padding:36px 34px 40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:230px}
.service-item>span{font-size:10px;color:var(--gold);letter-spacing:.16em}
.service-item h3{font-family:Manrope,sans-serif;font-size:28px;letter-spacing:-.04em;margin-top:38px}
.service-item p{font-size:14px;color:#6c7675;max-width:440px;margin-top:12px}
.detail-cta{background:var(--ink);color:white;padding:115px 0}
.detail-cta-inner{text-align:center}
.detail-cta h2{margin:25px auto 35px;max-width:850px}
.detail-cta h2 span{color:var(--gold-light)}
.detail-cta .btn{margin:auto}
.detail-hero .hero-side{z-index:2}

@media(max-width:900px){
  .nav-businesses{display:block}
  .business-dropdown{
    position:static;width:100%;box-shadow:none;border:0;border-top:1px solid var(--line);
    display:none;opacity:1;visibility:visible;transform:none;background:transparent;padding:0;
  }
  .nav-businesses.open .business-dropdown{display:block}
  .business-dropdown a{padding:12px 8px}
  .detail-hero{min-height:58vh}
  .detail-hero-inner{padding:80px 0 75px}
  .back-link{margin-bottom:42px}
  .detail-lead{font-size:16px}
  .detail-intro-grid{grid-template-columns:1fr;gap:30px}
  .detail-copy{padding-top:0}
  .service-grid{grid-template-columns:1fr}
  .service-item{min-height:auto;padding:30px 24px}
}


/* =========================================================
   RESPONSIVE / TABLET / MOBILE POLISH
   ========================================================= */

html { overflow-x: hidden; }
body { overflow-x: hidden; }
img, svg, video { max-width: 100%; height: auto; }
.container { width: min(100% - 40px, 1240px); }

@media (max-width: 1100px) {
  .container { width: min(100% - 48px, 980px); }
  .nav { gap: 20px; }
  .nav > a, .businesses-toggle { font-size: 9px; }
  .hero-content { max-width: 700px; }
  .business-list { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .container { width: min(100% - 36px, 760px); }

  /* Header */
  .site-header { position: relative; }
  .nav-wrap { min-height: 76px; }
  .menu-toggle {
    display: flex !important;
    position: relative;
    z-index: 120;
  }
  .nav {
    position: absolute;
    left: 18px;
    right: 18px;
    top: calc(100% + 1px);
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 14px;
    background: rgba(251,250,246,.98);
    border: 1px solid var(--line);
    box-shadow: 0 18px 40px rgba(16,23,25,.14);
    z-index: 110;
  }
  .nav.open { display: flex; }
  .nav > a,
  .businesses-toggle {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    font-size: 10px;
    border-bottom: 1px solid var(--line);
  }
  .nav > a:last-child { border-bottom: 0; }
  .nav .nav-cta { margin-top: 10px; justify-content: center; border: 0; }
  .nav-businesses { width: 100%; }
  .nav-businesses .businesses-toggle { width: 100%; justify-content: space-between; }

  /* Mobile dropdown */
  .business-dropdown {
    position: static;
    width: 100%;
    max-height: 0;
    overflow: hidden;
    display: block !important;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: 0;
    padding: 0;
    transition: max-height .28s ease;
  }
  .nav-businesses.open .business-dropdown {
    max-height: 360px;
    padding: 4px 0;
  }
  .business-dropdown a {
    min-height: 43px;
    display: grid;
    align-items: center;
    grid-template-columns: 30px 1fr;
    padding: 8px 10px;
    font-size: 9px;
  }

  /* Hero */
  .hero { min-height: 620px; }
  .hero-content { padding: 90px 0 80px; }
  .hero h1 { font-size: clamp(48px, 9vw, 78px); }
  .hero p { max-width: 620px; font-size: 16px; }
  .hero-actions { flex-wrap: wrap; }
  .hero-side { display: none; }

  /* General sections */
  .section { padding: 82px 0; }
  .section-head,
  .about-grid,
  .detail-intro-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .section-summary { max-width: 620px; }
  .business-list { grid-template-columns: 1fr 1fr; }
  .business-card { min-height: 300px; }
  .business-card.wide { grid-column: auto; }
  .process-grid { grid-template-columns: 1fr 1fr; }
  .contact-grid { grid-template-columns: 1fr; gap: 50px; }
  .footer-top { grid-template-columns: 1fr; gap: 24px; }

  /* Detail pages */
  .detail-hero-inner { padding: 76px 0 72px; }
  .detail-hero h1 { font-size: clamp(52px, 10vw, 84px); }
  .detail-services .section-head { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .container { width: calc(100% - 28px); }
  .topbar-inner { min-height: 34px; font-size: 8px; }
  .topbar-inner span:last-child { display: none; }

  .brand-mark { font-size: 24px; }
  .brand-name { font-size: 9px; }
  .brand-name small { font-size: 7px; }

  .nav-wrap { min-height: 68px; }
  .nav { left: 8px; right: 8px; }
  .menu-toggle { width: 42px; height: 42px; }

  .hero { min-height: 590px; }
  .hero-content { padding: 72px 0 60px; }
  .section-kicker { font-size: 8px; letter-spacing: .16em; }
  .hero h1 { font-size: clamp(42px, 14vw, 62px); line-height: .94; }
  .hero p { font-size: 15px; line-height: 1.6; }
  .hero-actions { flex-direction: column; align-items: stretch; max-width: 310px; }
  .btn { width: 100%; justify-content: center; }

  h2 { font-size: clamp(36px, 11vw, 52px); }
  .section { padding: 68px 0; }

  .business-list,
  .process-grid,
  .service-grid {
    grid-template-columns: 1fr;
  }
  .business-card,
  .business-card.wide { min-height: 270px; }
  .business-card h3 { font-size: 29px; }
  .business-card .card-number { font-size: 10px; }

  .about-copy p,
  .detail-copy p { font-size: 17px; }

  .contact-form { padding: 24px 18px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-group.full { grid-column: auto; }
  input, textarea, select { font-size: 16px; } /* prevents iOS zoom */

  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 10px; }

  /* Business detail mobile */
  .detail-hero { min-height: 560px; }
  .detail-hero-inner { padding: 62px 0 64px; }
  .back-link { margin-bottom: 34px; font-size: 8px; }
  .detail-hero h1 { font-size: clamp(45px, 13vw, 65px); }
  .detail-lead { font-size: 15px; line-height: 1.65; margin-top: 24px; }
  .detail-intro-grid { gap: 22px; }
  .detail-copy { padding-top: 0; }
  .service-item { min-height: 0; padding: 27px 20px 30px; }
  .service-item h3 { font-size: 23px; margin-top: 28px; }
  .service-item p { font-size: 13px; line-height: 1.65; }
  .detail-cta { padding: 78px 0; }
  .detail-cta h2 { font-size: clamp(35px, 10vw, 50px); }

  /* Keep decorative elements from causing horizontal overflow */
  .hero-orb, .hero-grid, .detail-hero .hero-side { pointer-events: none; }
}

@media (max-width: 420px) {
  .container { width: calc(100% - 24px); }
  .brand-name { display: none; }
  .hero { min-height: 560px; }
  .hero h1 { font-size: 42px; }
  .business-card { min-height: 245px; padding: 24px 20px; }
  .business-card h3 { font-size: 25px; }
  .business-card p { font-size: 12px; }
  .detail-hero h1 { font-size: 43px; }
}

@media (orientation: landscape) and (max-height: 560px) and (max-width: 900px) {
  .hero { min-height: 540px; }
  .hero-content { padding-top: 55px; padding-bottom: 45px; }
  .detail-hero { min-height: 500px; }
  .detail-hero-inner { padding-top: 48px; padding-bottom: 48px; }
}
