/* EmirateSites — design tokens */
:root{
  --night:#0E1A2B;      /* Gulf night: primary ink + dark surfaces */
  --night-2:#16253B;
  --pearl:#EEF0EC;      /* cool off-white page */
  --paper:#F8F9F6;
  --dune:#C9A46A;       /* sand gold: the one accent */
  --dune-deep:#9C7A42;
  --lagoon:#1F6F6B;     /* actions */
  --lagoon-deep:#16524F;
  --stone:#5B6472;      /* muted text */
  --line:rgba(14,26,43,.14);
  --line-dark:rgba(238,240,236,.16);
  --f-display:"Syne",ui-sans-serif,system-ui,sans-serif;
  --f-body:"Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --step--1:clamp(.84rem,.82rem + .1vw,.9rem);
  --step-0:clamp(1rem,.97rem + .15vw,1.08rem);
  --step-1:clamp(1.2rem,1.12rem + .4vw,1.4rem);
  --step-2:clamp(1.5rem,1.3rem + .9vw,2rem);
  --step-3:clamp(2rem,1.6rem + 1.8vw,3rem);
  --step-4:clamp(2.6rem,1.8rem + 3.6vw,5rem);
  --wrap:1200px;
  --gutter:clamp(16px,4vw,48px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--pearl);color:var(--night);font-family:var(--f-body);font-size:var(--step-0);line-height:1.6;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
a{color:var(--lagoon);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{color:var(--lagoon-deep)}
:focus-visible{outline:2px solid var(--dune);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--f-display);line-height:1.08;letter-spacing:-.01em;margin:0 0 .5em;font-weight:700;text-wrap:balance}
h1{font-size:var(--step-4);font-weight:800;letter-spacing:-.025em}
h2{font-size:var(--step-3)}
h3{font-size:var(--step-1);line-height:1.25}
p{margin:0 0 1em;max-width:68ch}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:#fff;padding:8px 12px;z-index:99}
.muted{color:var(--stone)}
.lede{font-size:var(--step-1);line-height:1.5;color:var(--stone);max-width:58ch}

/* header */
.site-head{position:sticky;top:0;z-index:20;background:rgba(238,240,236,.86);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:24px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;color:var(--night);text-decoration:none;font-family:var(--f-display);font-weight:800;font-size:1.15rem;letter-spacing:-.01em}
.brand svg{width:28px;height:28px}
.nav{display:flex;gap:22px;margin-left:auto;align-items:center}
.nav a{color:var(--night);text-decoration:none;font-size:.95rem}
.nav a:hover,.nav a[aria-current=page]{color:var(--lagoon)}
.lang{font-size:.85rem;border:1px solid var(--line);padding:4px 10px;border-radius:99px}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font:inherit;color:var(--night)}
@media (max-width:900px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);flex-direction:column;align-items:flex-start;padding:16px var(--gutter) 24px;border-bottom:1px solid var(--line);gap:14px}
  .nav.open{display:flex}
}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:600;text-decoration:none;border:1px solid transparent;font-size:1rem;cursor:pointer;transition:background .2s,color .2s}
.btn-primary{background:var(--lagoon);color:#fff}
.btn-primary:hover{background:var(--lagoon-deep);color:#fff}
.btn-ghost{border-color:var(--night);color:var(--night);background:transparent}
.btn-ghost:hover{background:var(--night);color:var(--pearl)}
.btn-wa{background:#1F6F6B}
.btn svg{width:18px;height:18px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* hero */
.hero{position:relative;overflow:hidden;padding:clamp(56px,9vw,120px) 0 clamp(48px,7vw,96px)}
.hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}
.hero h1{max-width:14ch}
.hero .lede{margin-top:20px}
.lattice{width:100%;aspect-ratio:1;color:var(--night)}
.lattice path{fill:none;stroke:currentColor;stroke-width:.6;vector-effect:non-scaling-stroke}
.lattice .gold{stroke:var(--dune);stroke-width:2.4}
@media (prefers-reduced-motion:no-preference){
  .lattice path{stroke-dasharray:var(--len,400);stroke-dashoffset:var(--len,400);animation:draw 2.4s cubic-bezier(.6,.1,.2,1) forwards;animation-delay:calc(var(--i,0)*35ms)}
  @keyframes draw{to{stroke-dashoffset:0}}
}
.proof{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:.95rem;color:var(--stone)}
.proof b{color:var(--night);font-weight:600}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.lattice{max-width:300px;margin:0 auto}.hero h1{max-width:none}}

/* sections */
section{padding:clamp(56px,8vw,112px) 0}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;margin-bottom:48px}
.sec-head p{color:var(--stone);margin:0}
@media (max-width:800px){.sec-head{grid-template-columns:1fr}}
.dark{background:var(--night);color:var(--pearl)}
.dark .muted,.dark .sec-head p,.dark .lede{color:#A9B2BF}
.dark a{color:var(--dune)}
.paper{background:var(--paper)}

/* rows (niches, services) */
.rows{border-top:1px solid var(--line)}
.dark .rows{border-color:var(--line-dark)}
.row{display:grid;grid-template-columns:minmax(200px,1.1fr) 2fr auto;gap:24px 40px;padding:32px 0;border-bottom:1px solid var(--line);align-items:baseline;text-decoration:none;color:inherit}
.dark .row{border-color:var(--line-dark)}
.row h3{margin:0;font-size:var(--step-2)}
.row p{margin:0;color:var(--stone)}
.dark .row p{color:#A9B2BF}
.row .price{font-family:var(--f-display);font-weight:700;white-space:nowrap}
a.row:hover h3{color:var(--lagoon)}
.dark a.row:hover h3{color:var(--dune)}
@media (max-width:800px){.row{grid-template-columns:1fr}}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px)}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.checks{list-style:none;padding:0;margin:0}
.checks li{padding:14px 0 14px 34px;border-bottom:1px solid var(--line);position:relative}
.dark .checks li{border-color:var(--line-dark)}
.checks li::before{content:"";position:absolute;left:0;top:21px;width:14px;height:14px;background:var(--dune);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}

/* process: real sequence → numbered */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--night)}
.steps li{list-style:none;padding:24px 24px 0 0;counter-increment:s}
.steps li::before{content:"Day " attr(data-day);display:block;font-family:var(--f-display);font-weight:700;color:var(--dune-deep);margin-bottom:8px}
.steps h3{margin-bottom:6px}
.steps p{color:var(--stone);font-size:.98rem}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr;gap:16px}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* pricing */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper)}
.tier{padding:32px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.tier:last-child{border-right:0}
.tier.feat{background:var(--night);color:var(--pearl)}
.tier.feat .muted{color:#A9B2BF}
.tier .amt{font-family:var(--f-display);font-size:var(--step-3);font-weight:800;margin:12px 0 4px;line-height:1}
.tier .amt small{font-size:1rem;font-weight:600;margin-right:6px}
.tier ul{padding:0;margin:20px 0 28px;list-style:none;flex:1}
.tier li{padding:7px 0;border-bottom:1px solid var(--line);font-size:.97rem}
.tier.feat li{border-color:var(--line-dark)}
.tier .btn{align-self:flex-start}
.tier.feat .btn-primary{background:var(--dune);color:var(--night)}
@media (max-width:900px){.tiers{grid-template-columns:1fr}.tier{border-right:0;border-bottom:1px solid var(--line)}}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.dark .faq details{border-color:var(--line-dark)}
.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-weight:600;font-size:var(--step-1);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:14px;font-size:1.6rem;font-weight:400;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 0 20px;color:var(--stone)}
.dark .faq .a{color:#A9B2BF}

/* answer box (GEO: quotable summary) */
.answer{border-left:3px solid var(--dune);background:var(--paper);padding:20px 24px;margin:0 0 32px;border-radius:0 12px 12px 0}
.answer p{margin:0}
.answer strong{font-family:var(--f-display)}

/* tables */
.tbl-wrap{overflow-x:auto;margin:24px 0 32px}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:.97rem}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--f-display);font-weight:700;background:var(--paper)}

/* article */
.article{max-width:760px}
.article h2{font-size:var(--step-2);margin-top:1.8em}
.article h3{margin-top:1.4em}
.article ul,.article ol{padding-left:1.2em;max-width:68ch}
.article li{margin:.35em 0}
.byline{font-size:.95rem;color:var(--stone);margin-bottom:28px}
.crumbs{font-size:.88rem;color:var(--stone);margin-bottom:20px}
.crumbs a{color:var(--stone)}
.page-hero{padding:clamp(48px,7vw,96px) 0 clamp(24px,4vw,48px)}
.page-hero h1{font-size:var(--step-4);max-width:18ch}
.toc{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin:0 0 32px}
.toc ol{margin:8px 0 0}
.callout{background:var(--night);color:var(--pearl);border-radius:18px;padding:32px;margin:40px 0}
.callout p{color:#C3CAD3}
.callout a.btn-primary{color:#fff}

/* links grid */
.linklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 32px}
.linklist a{display:block;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--night);font-weight:500}
.dark .linklist a{color:var(--pearl);border-color:var(--line-dark)}
.linklist a:hover{color:var(--lagoon)}

/* calculator */
.calc{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,4vw,40px)}
.calc fieldset{border:0;padding:0;margin:0 0 22px}
.calc legend{font-weight:600;margin-bottom:10px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;font-size:.95rem;background:#fff}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts input:checked+span{color:var(--lagoon);font-weight:600}
.opts label:has(input:checked){border-color:var(--lagoon);background:#E6F0EF}
.opts label:has(input:focus-visible){outline:2px solid var(--dune);outline-offset:2px}
.calc-out{background:var(--night);color:var(--pearl);border-radius:14px;padding:28px;align-self:start;position:sticky;top:90px}
.calc-out .amt{font-family:var(--f-display);font-size:var(--step-2);font-weight:800;line-height:1.1;margin:8px 0}
@media (max-width:860px){.calc{grid-template-columns:1fr}.calc-out{position:static}}

/* form */
.form{display:grid;gap:16px}
.form label{display:grid;gap:6px;font-weight:600;font-size:.95rem}
.form input,.form select,.form textarea{font:inherit;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--night)}
.form textarea{min-height:120px;resize:vertical}
.form .hp{position:absolute;left:-5000px}
.form-note{font-size:.88rem;color:var(--stone)}

/* footer */
.site-foot{background:var(--night);color:#A9B2BF;padding:72px 0 40px;font-size:.95rem}
.site-foot a{color:var(--pearl);text-decoration:none}
.site-foot a:hover{color:var(--dune)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.foot-grid h4{font-family:var(--f-display);color:var(--pearl);margin:0 0 12px;font-size:1rem}
.foot-grid ul{list-style:none;padding:0;margin:0}
.foot-grid li{padding:4px 0}
.foot-base{margin-top:48px;padding-top:20px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}

/* floating whatsapp */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:30;width:56px;height:56px;border-radius:50%;background:var(--lagoon);display:grid;place-items:center;box-shadow:0 6px 20px rgba(14,26,43,.25)}
.wa-float svg{width:28px;height:28px;fill:#fff}
.wa-float:hover{background:var(--lagoon-deep)}
.page-hero.art h1{font-size:var(--step-3);max-width:26ch}
