/* App-first home for Saudi Arabia Data Centers */
.app-head{margin-bottom:1rem}
.app-head h1{font-size:clamp(1.9rem,4.6vw,3rem);letter-spacing:-.02em;max-width:22ch;margin-bottom:.4rem}
.app-head .lead{max-width:60ch;margin:0}
.main-home .tool[data-tool="eori"]{padding:0;border:0;background:none;box-shadow:none;border-radius:0}
.main-home .tool[data-tool="eori"]::before,.main-home .tool[data-tool="eori"]::after{display:none}

.kapp-stats{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.5rem}
.kapp-stats li{padding:.7rem .85rem;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-size:.86rem;color:var(--muted);line-height:1.3}
.kapp-stats b{display:block;font-size:1.35rem;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}

.kapp-tabs{display:flex;gap:.3rem;padding:.3rem;border-radius:14px;background:color-mix(in srgb,var(--ink) 6%,transparent);margin-bottom:1rem;overflow-x:auto}
.kapp-tabs button{flex:1 0 auto;min-height:2.75rem;padding:.5rem .95rem;border:0;border-radius:10px;background:transparent;color:var(--muted);font:600 .95rem var(--f-body);cursor:pointer;white-space:nowrap}
.kapp-tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.kapp-tabs button:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.kapp-badge:not(:empty){display:inline-block;margin-left:.45rem;min-width:1.4rem;padding:.05rem .4rem;border-radius:99px;background:var(--acc);color:var(--surface);font-size:.78rem;text-align:center}

.kapp-panel{padding:1rem;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.kapp-panel h2{font-size:1.2rem;margin:1rem 0 .4rem}
.kapp-hint{color:var(--muted);font-size:.9rem;margin:.2rem 0 .8rem}
.kapp-fine{color:var(--muted);font-size:.78rem;margin:.3rem 0 0}

.kapp-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}
.kapp-chips button,.kapp-other{min-height:2.5rem;padding:.35rem .85rem;border-radius:99px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);font:500 .88rem var(--f-body);cursor:pointer}
.kapp-chips button[aria-pressed="true"],.kapp-other.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.kapp-chips button:focus-visible,.kapp-other:focus-visible,.kapp-add:focus-visible,.kapp-rm:focus-visible{outline:2px solid var(--acc);outline-offset:2px}

.kapp-map{position:relative}
.kapp-map svg{display:block;width:100%;height:auto;max-height:28rem}
.kapp-land{fill:color-mix(in srgb,var(--acc) 9%,var(--surface));stroke:color-mix(in srgb,var(--acc) 45%,var(--line));stroke-width:1.5;stroke-linejoin:round}
.kapp-country{fill:color-mix(in srgb,var(--muted) 55%,transparent);font:600 18px var(--f-body);letter-spacing:.12em}
.kapp-pin{cursor:pointer;outline:none}
.kapp-pin circle{fill:color-mix(in srgb,var(--acc) 22%,var(--surface));stroke:var(--acc);stroke-width:2;transition:fill .15s}
.kapp-pin.on circle,.kapp-pin:hover circle{fill:var(--acc)}
.kapp-pin:focus-visible circle{stroke:var(--ink);stroke-width:4}
.kapp-n{font:700 18px var(--f-body);fill:var(--ink);pointer-events:none}
.kapp-pin.on .kapp-n,.kapp-pin:hover .kapp-n{fill:var(--surface)}
.kapp-lab{font:600 19px var(--f-body);fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:4px}
.kapp-other{margin-top:.4rem}

.kapp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:.75rem}
.kapp-card{display:flex;flex-direction:column;gap:.35rem;padding:.9rem;border-radius:14px;border:1px solid var(--line);background:var(--paper)}
.kapp-card h3{font-size:1.02rem;margin:0;line-height:1.25}
.kapp-op{margin:0;color:var(--muted);font-size:.86rem}
.kapp-card dl{display:grid;grid-template-columns:auto 1fr;gap:.15rem .7rem;margin:.3rem 0;font-size:.84rem}
.kapp-card dt{color:var(--muted)}
.kapp-card dd{margin:0}
.kapp-card dd.na{color:var(--muted);font-style:italic}
.kapp-card details{font-size:.84rem}
.kapp-card summary{cursor:pointer;color:var(--acc);min-height:1.8rem}
.kapp-src{color:var(--muted)}
.kapp-pill{align-self:flex-start;margin:0;padding:.12rem .6rem .12rem .5rem;border-radius:99px;font-size:.76rem;font-weight:700;color:var(--ink);background:transparent;border:1px solid var(--line-strong);display:inline-flex;align-items:center;gap:.35rem}.kapp-pill::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:#8A8F98}
.kapp-pill.s-live::before{background:#22A35A}
.kapp-pill.s-build::before{background:#E0A21A}
.kapp-pill.s-plan::before{background:#8A8F98}
.kapp-pill.s-unc::before{background:#D9542B}
.kapp-score{margin:0;font:700 1.15rem var(--f-body);color:var(--acc)}
.kapp-add{margin-top:auto;min-height:2.6rem;border-radius:10px;border:1px solid var(--acc);background:transparent;color:var(--acc);font:600 .9rem var(--f-body);cursor:pointer}
.kapp-add[aria-pressed="true"]{background:var(--acc);color:var(--surface)}
.kapp-why{list-style:none;margin:.2rem 0;padding:0;font-size:.85rem;display:grid;gap:.25rem}
.kapp-why li{display:flex;gap:.45rem;align-items:baseline}
.kapp-ico{flex:0 0 1.2rem;height:1.2rem;border-radius:50%;display:inline-grid;place-items:center;font-size:.72rem;font-weight:800}
.kapp-why .y .kapp-ico{background:#1B8A4C;color:#fff}
.kapp-why .m .kapp-ico{background:#C98A0B;color:#fff}
.kapp-why .n .kapp-ico{background:#B4411D;color:#fff}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kapp-form{margin-bottom:.4rem}
.kapp-empty{padding:2rem 1rem;text-align:center;color:var(--muted)}
.kapp-tablewrap{overflow-x:auto}
.kapp-rm{min-height:2.3rem;padding:.2rem .7rem;border-radius:8px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer}
#kq-txt{width:100%;font:500 .86rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;padding:.7rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper);color:var(--ink)}
.kapp-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}

@media (max-width:40rem){.kapp-panel{padding:.75rem}.kapp-tabs button{font-size:.88rem;padding:.5rem .7rem}}
@media (prefers-reduced-motion:reduce){.kapp-pin circle{transition:none}}

/* wider app layout */
.main-home .tool[data-tool="eori"]{max-width:none;margin:.6rem 0 1.5rem}
.app-head{max-width:none}
.app-head h1{font-size:clamp(1.8rem,3.6vw,2.5rem);max-width:none}
.app-head .lead{font-size:1.02rem;margin-bottom:.2rem}
.main-home{padding-top:1rem}
@media (min-width:62rem){
  .kapp-stats{grid-template-columns:repeat(4,1fr)}
  .kapp-tabs{max-width:34rem}
  #kp-map:not([hidden]){display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;gap:0 1.4rem;align-items:start}
  #kp-map>.kapp-hint,#kp-map>.kapp-chips{grid-column:1}
  #kp-map>.kapp-map{grid-column:1}
  #kp-map>.kapp-city{grid-column:2;grid-row:1/span 3;max-height:40rem;overflow-y:auto;padding-right:.3rem}
  #kp-map>.kapp-city h2{margin-top:0}
  #kp-map .kapp-grid{grid-template-columns:1fr}
  #kp-find:not([hidden]){display:grid;grid-template-columns:19rem minmax(0,1fr);grid-template-rows:auto 1fr;gap:0 1.4rem;align-items:start}
  #kp-find>.kapp-hint{grid-column:1}
  #kp-find>.kapp-form{grid-column:1;grid-template-columns:1fr;position:sticky;top:1rem}
  #kp-find>.kapp-results{grid-column:2;grid-row:1/span 2}
  #kp-find .kapp-results h2{margin-top:0}
}

[data-look="nova"] .kapp-tabs button[aria-selected="true"]{background:var(--acc);color:#06121c}
[data-look="nova"] .kapp-card{background:color-mix(in srgb,var(--surface) 70%,#000)}

/* ===== Premium: piano-black slab with glass cards ===== */
.main-home .tool[data-tool="eori"]{
  --ink:#F3F5F9;--muted:#AEB6C3;--line:rgba(255,255,255,.13);--line-strong:rgba(255,255,255,.26);--acc:#BFDBFE;--surface:#151922;--paper:#10131A;
  color:var(--ink);color-scheme:dark;position:relative;isolation:isolate;
  padding:clamp(1rem,2.5vw,1.8rem);border-radius:26px;
  background:
    linear-gradient(176deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.03) 240px,rgba(255,255,255,0) 241px),
    radial-gradient(700px 360px at 85% 0,rgba(191,219,254,.18),transparent 70%),
    radial-gradient(600px 420px at 0 520px,rgba(167,139,250,.14),transparent 70%),
    radial-gradient(600px 400px at 100% 100%,rgba(251,191,36,.08),transparent 70%),
    linear-gradient(180deg,#171a21 0%,#07080b 100%);
  background-color:#0B0D12;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.6),0 40px 80px -30px rgba(5,10,20,.55),0 12px 24px -12px rgba(5,10,20,.4);
}
.main-home .tool[data-tool="eori"] .local{color:var(--muted)}
.kapp-how,.kapp-stats li,.kapp-panel,.kapp-card,.kapp-tabs{
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.13);
  
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 10px 30px -18px rgba(0,0,0,.7);
}
.kapp-how{list-style:none;margin:0 0 1rem;padding:.4rem;border-radius:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.4rem;counter-reset:st}
.kapp-how li{counter-increment:st;display:grid;grid-template-columns:2.2rem 1fr;gap:.1rem .7rem;padding:.75rem .8rem;border-radius:14px}
.kapp-how li::before{content:counter(st);grid-row:1/span 2;width:2.2rem;height:2.2rem;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#06183a;background:linear-gradient(160deg,#BFDBFE,#3B82F6);box-shadow:0 0 0 4px rgba(191,219,254,.12)}
.kapp-how b{font-size:.98rem}
.kapp-how span{color:var(--muted);font-size:.86rem;line-height:1.4}
.kapp-stats li{border-radius:16px}
.kapp-stats b{background:linear-gradient(180deg,#fff,#cfd6e2);-webkit-background-clip:text;background-clip:text;color:transparent}
.kapp-bar{display:flex;height:.7rem;border-radius:99px;overflow:hidden;margin:.2rem 0 .5rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.5)}
.kapp-bar span{display:block}
.kapp-legend{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.84rem;color:var(--muted)}
.kapp-legend i{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;margin-right:.4rem;vertical-align:-.05rem}
.kapp-legend b{color:var(--ink)}
.kapp-tabs{border-radius:16px}
.kapp-tabs button{color:var(--muted)}
.main-home .kapp-tabs button[aria-selected="true"],[data-look="nova"] .kapp-tabs button[aria-selected="true"]{background:linear-gradient(180deg,#BFDBFE,#3B82F6);color:#06183a;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 6px 18px -6px rgba(59,130,246,.6)}
.kapp-badge:not(:empty){background:#06183a;color:#BFDBFE}
.kapp-panel{border-radius:20px}
.kapp-card{border-radius:18px;transition:transform .15s,border-color .15s}
.kapp-card:hover{border-color:rgba(191,219,254,.45)}
@media (prefers-reduced-motion:no-preference){.kapp-card:hover{transform:translateY(-2px)}}
.kapp-land{fill:url(#kland);stroke:rgba(191,219,254,.55);stroke-width:1.5}
.kapp-country{fill:rgba(255,255,255,.28)}
.kapp-core{fill:rgba(20,24,32,.92);stroke:rgba(255,255,255,.35);stroke-width:1.5}
.kapp-pin.on .kapp-core,.kapp-pin:hover .kapp-core{fill:#06183a;stroke:#BFDBFE}
.kapp-n{fill:#fff}
.kapp-pin.on .kapp-n,.kapp-pin:hover .kapp-n{fill:#fff}
.kapp-lab{fill:#fff;stroke:rgba(7,8,11,.85)}
.kapp-chips button,.kapp-other{color:var(--ink);border-color:var(--line-strong);background:rgba(255,255,255,.04)}
.kapp-chips button[aria-pressed="true"],.kapp-other.on{background:#F3F5F9;color:#0B0D12;border-color:#F3F5F9}
.kapp-pill{border-color:rgba(255,255,255,.22);background:rgba(0,0,0,.25)}
.kapp-pill.s-live::before{background:#34D399;box-shadow:0 0 8px #34D399}
.kapp-pill.s-build::before{background:#FBBF24;box-shadow:0 0 8px #FBBF24}
.kapp-pill.s-plan::before{background:#A78BFA;box-shadow:0 0 8px #A78BFA}
.kapp-pill.s-unc::before{background:#FB7185;box-shadow:0 0 8px #FB7185}
.kapp-fit{display:grid;gap:.3rem}
.kapp-score{color:#BFDBFE}
.kapp-fitbar{height:.45rem;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.kapp-fitbar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#FB7185,#FBBF24 45%,#34D399)}
.kapp-why .y .kapp-ico{background:#34D399;color:#05261a}
.kapp-why .m .kapp-ico{background:#FBBF24;color:#2b1d00}
.kapp-why .n .kapp-ico{background:#FB7185;color:#2e0710}
.kapp-add{border-color:#BFDBFE;color:#BFDBFE}
.kapp-add[aria-pressed="true"]{background:linear-gradient(180deg,#BFDBFE,#3B82F6);color:#06183a}
.kapp-explain{margin:0 0 .9rem;padding:.6rem .8rem;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04);font-size:.88rem}
.kapp-explain summary{cursor:pointer;color:#BFDBFE;font-weight:600;min-height:1.8rem}
.kapp-explain p{color:var(--muted);margin:.4rem 0 0}
.main-home .tool[data-tool="eori"] select,.main-home .tool[data-tool="eori"] input,.main-home .tool[data-tool="eori"] textarea{background:#0d1016;color:var(--ink);border-color:var(--line-strong)}
.main-home .tool[data-tool="eori"] .sub{color:var(--muted)}
.main-home .tool[data-tool="eori"] .btn{background:linear-gradient(180deg,#BFDBFE,#3B82F6);color:#06183a;border-color:transparent}
.main-home .tool[data-tool="eori"] .btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}
.main-home .tool[data-tool="eori"] table.steps th,.main-home .tool[data-tool="eori"] table.steps td{border-color:var(--line)}
.kapp-mw{display:grid;gap:.5rem;margin:.3rem 0}
.kapp-mwrow{display:grid;grid-template-columns:minmax(6rem,12rem) 1fr auto;gap:.6rem;align-items:center;font-size:.86rem}
.kapp-mwlab{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kapp-mwtrack{height:.8rem;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.kapp-mwfill{display:block;height:100%;border-radius:99px;box-shadow:0 0 12px currentColor}
.kapp-mwval{color:var(--muted);font-variant-numeric:tabular-nums}
@media (max-width:40rem){.kapp-mwrow{grid-template-columns:1fr auto}.kapp-mwtrack{grid-column:1/-1;order:3}}
.kapp-how li{align-content:start}
.kapp-stats b{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#fff}
.kapp-chips button,.kapp-other{background:#161A22}
.kapp-tabs{background:#12151C}
.kapp-tabs button{background:#12151C}
.main-home .kapp-tabs button[aria-selected="true"],[data-look="nova"] .kapp-tabs button[aria-selected="true"]{background-color:#3B82F6}.kapp-add[aria-pressed="true"],.main-home .tool[data-tool="eori"] .btn{background-color:#3B82F6}
.main-home .tool[data-tool="eori"] .btn.btn-ghost{background:#161A22;background-color:#161A22;color:var(--ink);border:1px solid var(--line-strong)}
.kapp-pricegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.6rem;margin:.6rem 0}
.kapp-price{display:grid;gap:.25rem;padding:.75rem;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));background-color:#151922;border:1px solid rgba(255,255,255,.13)}
.kapp-price b{font-size:.9rem}
.kapp-price label{font-size:.8rem;color:var(--muted)}
.kapp-price input{min-height:2.5rem;padding:.35rem .6rem;border-radius:8px;border:1px solid var(--line-strong);background:#0d1016;color:var(--ink);font:inherit}
.kapp-cost{margin:.4rem 0 .6rem}
.kapp-costdl{display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;font-size:.86rem;margin:.6rem 0}
.kapp-costdl dt{color:var(--muted)}.kapp-costdl dd{margin:0}
@media (min-width:62rem){#kp-find>.kapp-chips{grid-column:1/-1}}
@media (min-width:62rem){
  #kp-find:not([hidden]){grid-template-rows:auto auto auto auto 1fr}
  #kp-find>.kapp-chips{grid-column:1/-1;grid-row:1}
  #kp-find>.kapp-hint{grid-column:1;grid-row:2}
  #kp-find>.kapp-explain{grid-column:1;grid-row:3}
  #kp-find>.kapp-form{grid-column:1;grid-row:4}
  #kp-find>.kapp-results{grid-column:2;grid-row:2/span 4}
}
.kapp-price input{width:100%;box-sizing:border-box}#kc-r{max-width:12rem}


.kapp-stats li.warn{border-color:#FB7185}.kapp-stats li.warn b{color:#FDA4AF}
/* eori premium app */
.eo-v{padding-left:.6rem;border-left:5px solid #34D399}
.eo-steps{list-style:none;padding:0;margin:.5rem 0;display:grid;gap:.4rem}
.eo-steps li{padding:.5rem .7rem;border-radius:8px;border-left:4px solid #60A5FA;background:var(--surface);background-color:var(--surface);color:var(--ink)}
.main-home .tool[data-tool="eori"] .eo-steps li{background:#121821;background-color:#121821}
.eo-meter{position:relative;height:1rem;border-radius:99px;background:rgba(127,127,127,.22);overflow:hidden;margin:.6rem 0 .2rem}
.eo-meter i{display:block;height:100%}
.eo-mark{position:absolute;top:0;bottom:0;width:3px;background:var(--ink)}
.eo-ends{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted)}
.tool[data-tool^="eo"] .fields{align-items:start}
.tool[data-tool^="eo"] input[type=range]{width:100%;min-height:24px}

/* fd0ef471c9c9 */
