/* ═══════════════════════════════════════════════════════════════
   NAYA Community Network — shared site styles (main site + projects)
   Brand element: the capsule — a fully rounded bar with a contrasting
   dot at one end; dot diameter = bar thickness. Flat, no shadows.
   ═══════════════════════════════════════════════════════════════ */
@font-face{font-family:'Somar';src:url('../fonts/SomarGX.ttf') format('truetype');font-weight:100 900;font-display:swap}

:root{
  --navy:#050053; --royal:#1B16CA; --cyan:#49C3F3; --gold:#FDC330; --white:#fff;
  --paper:#F4F5FB; --ink:#050053; --ink-2:#3D3A78; --ink-3:#6E6C9C; --line:#E2E3F0;
  --font:'Somar',system-ui,-apple-system,'Segoe UI',Tahoma,sans-serif;
  --wrap:1200px; --gut:24px; --r:22px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:95%}    /* slightly smaller type site-wide (Thaer, 10 Nov 2026) */
body{font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.6;overflow-x:hidden;overflow-x:clip;font-size:16px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* colour helpers (used via data, e.g. --bar:var(--gold)) */
.bg-navy{background:var(--navy);color:#fff}
.bg-white{background:#fff}

/* ── Capsule primitive ─────────────────────────────────────────── */
.cap{position:relative;display:block;border-radius:999px;background:var(--bar,var(--cyan));flex-shrink:0}
.cap>.dot{position:absolute;border-radius:50%;background:var(--dot,var(--gold))}
.cap.v{width:var(--t,28px);height:var(--len,120px)}
.cap.v>.dot{width:var(--t,28px);height:var(--t,28px);inset-inline-start:0}
.cap.v.dot-start>.dot{top:0}
.cap.v.dot-end>.dot{bottom:0}
.cap.h{height:var(--t,28px);width:var(--len,120px)}
.cap.h>.dot{width:var(--t,28px);height:var(--t,28px);top:0}
.cap.h.dot-start>.dot{inset-inline-start:0}
.cap.h.dot-end>.dot{inset-inline-end:0}

/* Section heading */
.section{padding:clamp(48px,6.5vw,88px) 0}
.tag{display:inline-flex;align-items:center;gap:10px;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--royal);margin-bottom:14px}
.tag::before{content:'';width:30px;height:12px;border-radius:99px;background:radial-gradient(circle at 6px 50%,var(--gold) 5.5px,transparent 6px),var(--cyan)}
[dir=rtl] .tag{letter-spacing:0}
[dir=rtl] .tag::before{background:radial-gradient(circle at calc(100% - 6px) 50%,var(--gold) 5.5px,transparent 6px),var(--cyan)}
.on-dark .tag{color:var(--gold)}
.h2{font-size:clamp(1.8rem,3.6vw,2.9rem);line-height:1.15;font-weight:700;letter-spacing:-.01em;max-width:22ch}
[dir=rtl] .h2{letter-spacing:0;line-height:1.35}
.lead{font-size:clamp(1.02rem,1.4vw,1.15rem);color:var(--ink-2);max-width:62ch;margin-top:14px}
.on-dark .lead{color:rgba(255,255,255,.78)}
.head{margin-bottom:clamp(32px,5vw,56px)}
.head.center{text-align:center}.head.center .h2,.head.center .lead{margin-inline:auto}

/* Buttons — capsule with dot */
.btn{display:inline-flex;align-items:center;gap:12px;height:52px;padding-inline:8px 24px;border-radius:999px;font-weight:700;font-size:1rem;background:var(--gold);color:var(--navy);transition:transform .25s var(--ease),background .25s}
.btn::before{content:'';width:36px;height:36px;border-radius:50%;background:var(--navy);flex-shrink:0;transition:transform .35s var(--ease)}
.btn:hover::before{transform:scale(.55)}
.btn.alt{background:#fff}.btn.alt::before{background:var(--royal)}
.btn.dark{background:var(--navy);color:#fff}.btn.dark::before{background:var(--gold)}
.btn.sm{height:42px;font-size:.92rem;padding-inline:6px 18px}.btn.sm::before{width:30px;height:30px}
.btn:disabled{opacity:.6;cursor:wait}

/* ── Header ───────────────────────────────────────────────────── */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;height:78px;display:flex;align-items:center;transition:background .3s,height .3s}
.hdr.solid,.hdr.always{background:var(--navy);height:68px}
.hdr .wrap{display:flex;align-items:center;gap:24px;width:100%}
.logo img{height:26px;width:auto}
.hdr.solid .logo img{height:24px}
.nav{display:flex;gap:2px;margin-inline-start:auto;align-items:center}
.nav-a,.nv-a{color:#fff;font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:99px;opacity:.88;transition:opacity .2s,background .2s;white-space:nowrap}
.nav-a:hover,.nv-a:hover{opacity:1}
/* active page = the NAYA capsule: a royal bar with a gold dot at its start */
.nv-a.on,.nv.on>.nv-a{opacity:1;display:inline-flex;align-items:center;gap:8px;padding-inline-start:5px;background:var(--royal)}
.nv-a.on::before,.nv.on>.nv-a::before{content:'';width:1.75em;height:1.75em;border-radius:50%;background:var(--gold);flex-shrink:0}
/* dropdown: hover/focus on desktop, the chevron opens it on touch */
.nv{position:relative;display:flex;align-items:center}
.nv>.nv-a{padding-inline-end:6px}
.nv-t{width:26px;height:34px;display:grid;place-items:center;border-radius:99px;margin-inline-start:-4px}
.nv-t i{width:8px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-2px,-2px);opacity:.85;transition:transform .3s}
.nv:hover .nv-t i,.nv.open .nv-t i,.nv:focus-within .nv-t i{transform:rotate(225deg) translate(-2px,-2px)}
.nv-dd{position:absolute;top:calc(100% + 10px);inset-inline-start:0;min-width:230px;background:#fff;border-radius:26px;padding:8px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s,transform .3s var(--ease),visibility 0s .25s;box-shadow:0 18px 40px rgba(5,0,83,.22)}
.nv-dd::before{content:'';position:absolute;inset:-12px 0 auto 0;height:12px}
.nv:hover .nv-dd,.nv:focus-within .nv-dd,.nv.open .nv-dd{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .3s var(--ease),visibility 0s}
.nv-dd a{position:relative;display:flex;align-items:center;gap:12px;min-height:46px;border-radius:99px;padding:4px 18px 4px 4px;color:var(--navy);font-weight:700;font-size:.93rem;isolation:isolate;white-space:nowrap}
[dir=rtl] .nv-dd a{padding:4px 4px 4px 18px}
.nv-dd a::before{content:'';width:38px;height:38px;border-radius:50%;background:var(--c);flex-shrink:0;transition:transform .4s var(--ease)}
.nv-dd a::after{content:'';position:absolute;inset:0;border-radius:inherit;background:var(--paper);z-index:-1;clip-path:inset(0 calc(100% - 46px) 0 0 round 999px);opacity:0;transition:clip-path .55s cubic-bezier(.65,0,.25,1),opacity .2s}
[dir=rtl] .nv-dd a::after{clip-path:inset(0 0 0 calc(100% - 46px) round 999px)}
.nv-dd a:hover::after,.nv-dd a:focus-visible::after{opacity:1;clip-path:inset(0 0 0 0 round 999px)}
.nv-dd a:hover::before{transform:scale(.7)}
.nav .btn{opacity:1;color:var(--navy);height:42px;font-size:.92rem;padding-inline:6px 18px;margin-inline-start:8px;white-space:nowrap}
.nav .btn::before{width:30px;height:30px}
.nav .btn:hover{background:var(--gold)}
.nav .btn.on::before{background:var(--royal)}
.lang{color:#fff;font-weight:700;border:0;height:42px;min-width:42px;padding-inline:5px 16px;border-radius:99px;background:rgba(255,255,255,.12);margin-inline-start:6px;display:inline-flex;align-items:center;gap:8px}
.lang::before{content:'';width:32px;height:32px;border-radius:50%;background:var(--cyan);flex-shrink:0}
.lang:hover{background:rgba(255,255,255,.22)}
.burger{display:none;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);position:relative}
.burger span{position:absolute;left:13px;right:13px;height:3px;border-radius:3px;background:#fff;transition:.3s}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:22px;right:20px}.burger span:nth-child(3){top:28px}
[dir=rtl] .burger span:nth-child(2){right:13px;left:20px}
.menu-open .burger span:nth-child(1){top:22px;transform:rotate(45deg)}
.menu-open .burger span:nth-child(2){opacity:0}
.menu-open .burger span:nth-child(3){top:22px;transform:rotate(-45deg)}
@media (max-width:1060px){
  .burger{display:block;margin-inline-start:auto}
  .nav{position:fixed;inset:68px 0 0 0;background:var(--navy);flex-direction:column;align-items:stretch;padding:18px var(--gut) 40px;gap:4px;transform:translateY(-110%);transition:transform .4s var(--ease);margin:0;overflow-y:auto}
  .menu-open .nav{transform:none}
  .nv{flex-wrap:wrap}
  .nav-a,.nv-a{font-size:1.25rem;padding:12px 18px}
  .nv>.nv-a{flex:1}
  .nv-t{width:46px;height:46px;background:rgba(255,255,255,.1);margin:0}
  .nv-dd{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;padding:0 0 6px 18px;min-width:0;width:100%;display:none}
  [dir=rtl] .nv-dd{padding:0 18px 6px 0}
  .nv.open .nv-dd{display:flex}
  .nv-dd::before{display:none}
  .nv-dd a{color:#fff;font-size:1.05rem;min-height:44px}
  .nv-dd a::before{width:30px;height:30px}
  .nv-dd a::after{background:rgba(255,255,255,.1)}
  .nav .btn{margin:14px 0 0;align-self:flex-start;height:52px;font-size:1rem}
  .lang{align-self:flex-start;margin:10px 0 0}
  .menu-open .hdr{background:var(--navy)}
}
section[id],div[id].anchor{scroll-margin-top:68px}

/* Inner-page intro (Our spaces, Media centre, Get in touch) */
.page-hero{background:var(--navy);color:#fff;padding:clamp(104px,10vw,132px) 0 clamp(40px,5vw,60px);position:relative;overflow:hidden}
.page-hero .wrap{position:relative;z-index:1}
.page-hero .h2{max-width:20ch}
.page-hero .lead{max-width:60ch}
.page-hero .deco{position:absolute;inset-inline-end:-30px;top:-40px;display:flex;gap:22px;opacity:.12;transform:rotate(-12deg);pointer-events:none}
.page-hero .deco .cap{--t:90px;--len:360px;--bar:#fff}

/* ── Footer (compact) ───────────────────────────────────────────── */
.ftr{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding:34px 0 18px}
.ftr .wrap{position:relative;z-index:1}
.ftr-top{display:flex;align-items:center;gap:18px 28px;flex-wrap:wrap}
.ftr .logo img{height:32px}
.ftr-nav{display:flex;flex-wrap:wrap;gap:6px;flex:1}
.ftr-nav a{font-weight:700;font-size:.88rem;padding:6px 14px;border-radius:99px;background:rgba(255,255,255,.08);transition:background .2s}
.ftr-nav a:hover{background:var(--royal)}
.ftr-contact{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}
.ftr .pill{min-height:40px;padding:4px 16px 4px 4px;gap:10px;font-size:.88rem}
[dir=rtl] .ftr .pill{padding:4px 4px 4px 16px}
.ftr .pill .ico{width:32px;height:32px}
.ftr .pill .ico svg{width:16px;height:16px}
.ftr-handle{font-weight:700;color:var(--gold);direction:ltr;margin-inline-start:6px;font-size:.9rem}
.pill{display:inline-flex;align-items:center;gap:14px;min-height:54px;padding:6px 22px 6px 6px;border-radius:99px;background:rgba(255,255,255,.1);font-weight:600;direction:ltr}
.pill .ico{width:42px;height:42px;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;flex-shrink:0}
.pill .ico.c{background:var(--cyan)}
.pill .ico svg{width:20px;height:20px}
.socials{display:flex;flex-wrap:wrap;gap:6px}
.socials a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);transition:background .2s}
.socials a:hover{background:var(--royal)}
.socials svg{width:17px;height:17px;fill:#fff}
.ftr .legal{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.8rem;color:rgba(255,255,255,.55)}
.ftr-caps{position:absolute;inset-inline-end:2%;bottom:0;display:flex;gap:16px;pointer-events:none}
.ftr-caps .cap{--t:clamp(30px,3vw,46px);--len:clamp(90px,10vw,130px);--bar:#fff;border-end-start-radius:0;border-end-end-radius:0}
@media (min-width:1100px){.ftr .wrap{padding-inline-end:calc(var(--gut) + 9vw)}}
@media (max-width:1099px){.ftr-caps{opacity:.15}}
.pill-row{display:flex;flex-direction:column;gap:12px;align-items:flex-start}

/* ── Modal ────────────────────────────────────────────────────── */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(5,0,83,.72);opacity:0;pointer-events:none;transition:opacity .3s}
.modal.open{opacity:1;pointer-events:auto}
.modal-box{background:#fff;border-radius:28px;width:min(980px,100%);max-height:calc(100vh - 40px);overflow:auto;position:relative;transform:translateY(24px);transition:transform .35s var(--ease)}
.modal.open .modal-box{transform:none}
.modal-x{position:sticky;top:14px;float:right;margin:14px 14px -60px 0;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--navy);border:2px solid var(--line);font-size:1.4rem;z-index:3;display:grid;place-items:center}
[dir=rtl] .modal-x{float:left;margin:14px 0 -60px 14px}
body.lock{overflow:hidden}

/* ── Forms ────────────────────────────────────────────────────── */
.form{display:grid;gap:14px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld label{font-size:.85rem;font-weight:700;color:var(--ink-2)}
.fld input,.fld textarea,.fld select{color:var(--ink);border:2px solid var(--line);border-radius:16px;padding:12px 16px;background:#fff;outline:none;transition:border-color .2s;width:100%}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld textarea:focus,.fld select:focus{border-color:var(--cyan)}
.hp{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
.form-msg{font-weight:600;font-size:.95rem;min-height:1.4em}
.form-msg.ok{color:#127a3e}.form-msg.err{color:#c62828}
@media (max-width:560px){.form .row{grid-template-columns:1fr}}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}

/* Justified running text (headings and centred blocks keep their own alignment) */
p,.lead,li,.desc{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
[dir=rtl] p,[dir=rtl] .lead,[dir=rtl] li{hyphens:manual}
/* short text in cards and intros is never justified (it leaves gaps between words) */
.lead,.up-card p,.space p,.pc-sum,.pub p,.card-cap p,.spc-info .desc p,.chip,.bk-card p{text-align:start;hyphens:manual;-webkit-hyphens:manual}
@media (max-width:600px){p,.lead,li,.desc{text-align:start}}      /* narrow columns: justify leaves big gaps */
.head.center p,.form-msg,.pill-row p{text-align:center}
.form-msg{text-align:start}
.team-link{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;color:rgba(255,255,255,.35);border-radius:99px;padding:2px 8px}
.team-link::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.team-link:hover{color:var(--gold)}

/* Decorative capsules: on hover the dot glides along its bar (not the hero, not text capsules) */
.cap>.dot{transition:top .7s cubic-bezier(.65,0,.25,1),bottom .7s cubic-bezier(.65,0,.25,1),inset-inline-start .7s cubic-bezier(.65,0,.25,1),inset-inline-end .7s cubic-bezier(.65,0,.25,1)}
:is(.card-cap,.fact,.framed,.vm-item,.space,.pc,.prog-cta,.step,.why-cta):hover .cap.v.dot-end>.dot,.cap.v.dot-end:hover>.dot{bottom:calc(100% - var(--t))}
:is(.card-cap,.fact,.framed,.vm-item,.space,.pc,.prog-cta,.step):hover .cap.v.dot-start>.dot,.cap.v.dot-start:hover>.dot{top:calc(100% - var(--t))}
:is(.card-cap,.fact,.framed,.vm-item,.space,.pc,.prog-cta):hover .cap.h.dot-start>.dot,.cap.h.dot-start:hover>.dot{inset-inline-start:calc(100% - var(--t))}
:is(.card-cap,.fact,.framed,.vm-item,.space,.pc,.prog-cta):hover .cap.h.dot-end>.dot,.cap.h.dot-end:hover>.dot{inset-inline-end:calc(100% - var(--t))}
.hero-caps .cap>.dot,.hero-caps .cap:hover>.dot{top:0!important;transition:none}
.ftr-caps{pointer-events:auto}
.nav .nv:last-of-type .nv-dd{inset-inline-start:auto;inset-inline-end:0}
@media (max-width:640px){.ftr-nav{flex-basis:100%;order:3}.ftr-top{gap:14px}}

/* Phone review (12 Nov 2026): bigger tap areas for small links and dots, no text under 12px.
   ("body" raises these above the page stylesheets that load after this file.) */
@media (max-width:700px){
  body .pp-back,body .pv-link,body .bk-back{display:inline-flex;align-items:center;min-height:44px}
  body .m-soc a{width:44px;height:44px}
  body .car-dots{gap:14px}
  body .car-dots button{position:relative}
  body .car-dots button::after{content:"";position:absolute;inset:-16px -7px}
  body .team-link{font-size:.8rem;min-height:40px}
  body .pf dt,body .ph-count,body .tx>small,body .ct-box>small{font-size:.8rem}
}
/* ── Phone tab bar (Home · Use a space · Contact us · WhatsApp): phones only (Thaer, 12 Nov 2026) ──
   The bar is a NAYA capsule floating above the page: glass navy (see-through navy + blur), fully rounded.
   The current page's icon sits in a gold circle — the capsule's dot. Floating bar = overlay, so no shadow needed beyond the glass edge. */
.tabbar{display:none}
@media (max-width:700px){
  .tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;z-index:45;
    inset-inline:12px;bottom:calc(10px + env(safe-area-inset-bottom));padding:6px;border-radius:999px;
    background:rgba(5,0,83,.84);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);
    border:1px solid rgba(255,255,255,.16);transition:transform .3s var(--ease),opacity .3s}
  @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.tabbar{background:rgba(5,0,83,.94)}}
  .tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;border-radius:999px;color:rgba(255,255,255,.85);font-size:.75rem;font-weight:700;line-height:1.1;text-align:center;-webkit-tap-highlight-color:transparent}
  .tb-i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;transition:background .25s,color .25s}
  .tb-i svg{width:21px;height:21px;fill:currentColor}
  .tabbar a.on{color:#fff}
  .tabbar a.on .tb-i{background:var(--gold);color:var(--navy)}
  .tabbar .tb-wa .tb-i{color:var(--cyan)}
  .tabbar a:not(.on):active .tb-i{background:rgba(255,255,255,.16)}
  .tabbar a:focus-visible{outline:3px solid var(--cyan);outline-offset:-3px}
  body.has-tabbar .ftr{padding-bottom:calc(18px + 84px + env(safe-area-inset-bottom))}   /* the navy footer runs on under the floating bar */
  body.menu-open .tabbar,body.typing .tabbar,body.lock .tabbar{transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none}
}
