/* Axiom Yar theme — built from onboarding/design-system (tokens/*.css, readme.md).
   RTL-first: logical properties only, so the same rules serve fa (rtl) and en (ltr). */

/* ---------- Fonts (self-hosted; no third-party font CDN) ---------- */
@font-face{font-family:"Noto Naskh Arabic";src:url(../fonts/noto-naskh-arabic-arabic-wght-normal.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Noto Naskh Arabic";src:url(../fonts/noto-naskh-arabic-latin-wght-normal.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Space Grotesk";src:url(../fonts/space-grotesk-latin-wght-normal.woff2) format("woff2");font-weight:300 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Space Grotesk";src:url(../fonts/space-grotesk-latin-ext-wght-normal.woff2) format("woff2");font-weight:300 700;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  --white:#FFFFFF;--navy:#03092A;--ink:#111111;--gray-60:#5A5A5A;--gray-45:#8A8A8A;--gray-10:#E5E5E5;
  --cyan:#5DE1E6;--cyan-bright:#8EF0F4;--navy-border:#16335A;--blue-slate:#C7D3E0;--blue-mist:#B8C5D6;
  /* Navy is the site's one dominant mode (founder decision 2026-10-10; design system: approved dark field).
     Light values, if ever needed again: page #FFF, sunken #FAFAFA, title #111, body #5A5A5A, muted #8A8A8A,
     hairline #E5E5E5, strong #CFCFCF, focus navy. */
  --surface-page:var(--navy);--surface-sunken:#020722;--surface-raised:#071238;--surface-header:rgba(3,9,42,.86);
  --text-title:var(--white);--text-body:var(--blue-slate);--text-muted:var(--blue-mist);--text-on-accent:var(--navy);
  --border-hairline:var(--navy-border);--border-strong:#22467A;--accent:var(--cyan);--accent-hover:var(--cyan-bright);
  --focus-ring:var(--cyan);
  color-scheme:dark;
  --font-latin:"Space Grotesk",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;
  --font-farsi:"Noto Naskh Arabic","Space Grotesk",serif;
  --font-body:var(--font-latin);
  --space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;
  --page-max:1160px;--gutter:clamp(20px,4vw,32px);
  --radius-xs:2px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;
  --shadow-floating:0 8px 24px rgba(3,9,42,.10);
  --t:background-color 180ms cubic-bezier(.2,0,.2,1),border-color 180ms cubic-bezier(.2,0,.2,1),color 180ms cubic-bezier(.2,0,.2,1);
  /* type scale (Latin) */
  --size-display:clamp(40px,6vw,56px);--lh-display:1.05;--ls-display:-0.03em;
  --size-h2:clamp(26px,3.5vw,32px);--lh-h2:1.15;--ls-h2:-0.02em;
  --size-h3:22px;--lh-h3:1.25;--ls-h3:-0.01em;
  --size-body:16px;--lh-body:1.55;--size-lede:19px;--lh-lede:1.6;--size-caption:13px;
}
html[lang^="fa"]{
  --font-body:var(--font-farsi);
  --size-display:clamp(40px,6vw,64px);--lh-display:1.3;--ls-display:0;
  --size-h2:clamp(26px,3.5vw,34px);--lh-h2:1.4;--ls-h2:0;
  --size-h3:22px;--lh-h3:1.45;--ls-h3:0;
  --size-body:17px;--lh-body:1.8;--size-lede:19px;--lh-lede:1.8;--size-caption:14px;
}
.ay-dark{
  --surface-page:var(--navy);--surface-sunken:#020722;--text-title:var(--white);--text-body:var(--blue-slate);
  --text-muted:var(--blue-mist);--border-hairline:var(--navy-border);--border-strong:#22467A;--focus-ring:var(--cyan);
  background:var(--navy);color:var(--text-body);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--size-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{color:var(--text-title);font-family:var(--font-body);margin:0;text-wrap:balance}
h1{font-size:var(--size-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:700}
h2{font-size:var(--size-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);font-weight:600}
h3{font-size:var(--size-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);font-weight:600}
html[lang^="fa"] h2,html[lang^="fa"] h3{font-weight:700}
p{margin:0;text-wrap:pretty}
img{max-width:100%;height:auto}
a{color:var(--text-title);text-decoration:none;border-bottom:1px solid var(--border-strong);transition:var(--t)}
a:hover{border-bottom-color:var(--accent)}
:focus-visible{outline:1.5px solid var(--focus-ring);outline-offset:2px}
code,.ay-mono{font-family:var(--font-mono);font-size:12px;letter-spacing:.02em}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.ay-skip:focus{position:fixed;inset-inline-start:16px;top:16px;z-index:100;width:auto;height:auto;clip:auto;background:var(--surface-raised);padding:8px 12px;border:1px solid var(--text-title)}
.ay-wrap{max-width:var(--page-max);margin:0 auto;padding-inline:var(--gutter)}

/* ---------- Header ---------- */
.ay-header{position:sticky;top:0;z-index:20;background:var(--surface-header);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border-hairline)}
.admin-bar .ay-header{top:32px}
@media (max-width:782px){.admin-bar .ay-header{top:46px}}
.ay-header__in{min-height:68px;display:flex;align-items:center;gap:32px}
.ay-brand{display:flex;align-items:center;gap:10px;border-bottom:0;flex:none}
.ay-brand img{width:34px;height:34px;display:block}
.ay-brand span{font-size:20px;font-weight:700;color:var(--text-title);line-height:1}
.ay-nav{display:flex;gap:24px;flex:1;flex-wrap:wrap}
.ay-nav a{font-size:15px;color:var(--text-body);padding:6px 0;border-bottom:2px solid transparent}
.ay-nav a:hover{color:var(--text-title);border-bottom-color:transparent}
.ay-nav a[aria-current="page"]{color:var(--text-title);border-bottom-color:var(--accent)}
.ay-header__tools{display:flex;align-items:center;gap:16px}
.ay-lang{font-family:var(--font-farsi);font-size:14px;color:var(--text-body);padding:6px 10px;border:1px solid var(--border-hairline);border-radius:var(--radius-sm)}
.ay-lang:hover{color:var(--text-title);border-color:var(--text-title)}
.ay-signin{font-size:15px;border-bottom:0}
.ay-menu-toggle{display:none;background:none;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);height:40px;padding:0 12px;font:inherit;font-size:15px;color:var(--text-title);cursor:pointer}
@media (max-width:900px){
  .ay-header__in{flex-wrap:wrap;gap:16px;padding-block:14px}
  .ay-menu-toggle{display:inline-flex;align-items:center;margin-inline-start:auto}
  .ay-nav,.ay-header__tools{display:none;width:100%}
  .ay-header.is-open .ay-nav{display:flex;flex-direction:column;gap:4px}
  .ay-header.is-open .ay-header__tools{display:flex;flex-wrap:wrap;padding-bottom:8px}
}

/* ---------- Buttons ---------- */
.ay-btn,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border-radius:var(--radius-sm);font:inherit;font-size:17px;font-weight:600;line-height:1;border:1px solid transparent;cursor:pointer;transition:var(--t);text-decoration:none}
.ay-btn--primary,.wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}
.ay-btn--primary:hover,.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--text-on-accent)}
.ay-btn--secondary,.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--text-title);border-color:var(--border-strong)}
.ay-btn--secondary:hover,.wp-block-button.is-style-outline .wp-block-button__link:hover{border-color:var(--accent)}
.ay-btn--sm{height:40px;padding:0 18px;font-size:15px;font-weight:500}
.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap}
.wp-block-button{margin:0}

/* ---------- Page sections (used inside block content) ---------- */
.ay-main{display:block}
.ay-section{max-width:var(--page-max);margin:0 auto;padding:96px var(--gutter)}
.ay-section > * + *{margin-top:16px}
.ay-section > h2 + *{margin-top:20px}
.ay-band{background:var(--surface-sunken);border-block:1px solid var(--border-hairline)}
.ay-band > .ay-section{padding-block:96px}
.ay-eyebrow{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-muted)}
.ay-eyebrow::before{content:"";width:28px;height:2px;background:var(--accent);display:block;flex:none}
.ay-lede{font-size:var(--size-lede);line-height:var(--lh-lede);max-width:56ch}
.ay-measure{max-width:64ch}

/* Hero with ring motif bleeding off the inline-end edge */
.ay-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border-hairline)}
.ay-hero::before{content:"";position:absolute;inset-inline-end:-260px;top:-120px;width:820px;height:820px;pointer-events:none;opacity:.9;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-101 -101 202 202'%3E%3Cg fill='none' stroke='%235DE1E6' stroke-width='.25'%3E%3Ccircle r='8' stroke-opacity='.7'/%3E%3Ccircle r='12.19' stroke-opacity='.61'/%3E%3Ccircle r='18.57' stroke-opacity='.53'/%3E%3Ccircle r='28.28' stroke-opacity='.55' stroke-dasharray='.75 1'/%3E%3Ccircle r='43.09' stroke-opacity='.35'/%3E%3Ccircle r='65.64' stroke-opacity='.27'/%3E%3Ccircle r='100' stroke-opacity='.18'/%3E%3C/g%3E%3Ccircle r='1.8' fill='%235DE1E6'/%3E%3C/svg%3E") center/contain no-repeat}
.ay-hero > .ay-section{position:relative;padding-top:112px}
.ay-hero h1{max-width:18ch;margin-top:24px}
.ay-hero .ay-lede{margin-top:24px}
.ay-hero .wp-block-buttons{margin-top:40px}
@media (max-width:700px){.ay-hero::before{width:520px;height:520px;inset-inline-end:-300px;top:-60px;opacity:.6}.ay-section,.ay-band > .ay-section{padding-block:64px}.ay-hero > .ay-section{padding-top:72px}}

/* Numbered columns with hairline on top */
.ay-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px;margin-top:48px!important}
.ay-cols > *{border-top:1px solid var(--border-hairline);padding-top:20px;margin:0}
.ay-cols > * > * + *{margin-top:10px}
.ay-cols .ay-num{font-size:14px;color:var(--text-muted)}
.ay-cols h3{font-size:var(--size-h3)}
.ay-cols .is-signal{border-top:2px solid var(--accent)}

/* Rows list (title · description · meta) */
.ay-rows{display:flex;flex-direction:column;margin-top:32px!important}
.ay-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr) minmax(0,1fr);gap:24px;align-items:baseline;padding:24px 0;border-top:1px solid var(--border-hairline)}
.ay-row:last-child{border-bottom:1px solid var(--border-hairline)}
.ay-row > *{margin:0}
.ay-row h3{font-size:20px}
.ay-row .ay-meta{font-size:14px;color:var(--text-muted);text-align:end}
@media (max-width:760px){.ay-row{grid-template-columns:1fr;gap:6px}.ay-row .ay-meta{text-align:start}}

/* Two-column split */
.ay-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}
.ay-split > *{margin:0}
.ay-split > * > * + *{margin-top:16px}
@media (max-width:860px){.ay-split{grid-template-columns:1fr;gap:24px}}

/* Process flow: input → … with one cyan step */
.ay-flow{display:flex;gap:0;margin-top:48px!important;list-style:none;padding:0}
.ay-flow li{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.ay-flow .ay-track{display:flex;align-items:center;gap:8px;height:10px}
.ay-flow .ay-dot{width:7px;height:7px;border-radius:var(--radius-full);background:var(--border-strong);flex:none}
.ay-flow .ay-line{flex:1;height:1px;background:var(--border-hairline)}
.ay-flow li.is-signal .ay-dot{width:10px;height:10px;background:var(--accent)}
.ay-flow li.is-signal .ay-line{background:var(--accent)}
.ay-flow strong{display:block;color:var(--text-title);font-weight:500;padding-inline-end:16px;line-height:1.4}
.ay-flow li.is-signal strong{font-weight:700}
.ay-flow span{display:block;font-size:var(--size-caption);color:var(--text-muted);padding-inline-end:16px;line-height:1.55}
@media (max-width:760px){.ay-flow{flex-direction:column;gap:24px}}

/* Dark call-to-action band */
.ay-cta{background:var(--surface-sunken);border-block:1px solid var(--border-hairline)}
.ay-cta > .ay-section{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;padding-block:88px}
.ay-cta > .ay-section > *{margin:0}
.ay-cta h2{color:var(--white);max-width:22ch}
.ay-cta p{color:var(--blue-slate);font-size:18px;max-width:48ch;margin-top:12px}
.ay-cta .wp-block-buttons{margin:0}

/* Callout */
.ay-callout{border-inline-start:2px solid var(--accent);padding:16px 20px;background:var(--surface-sunken);border-radius:0 var(--radius-sm) var(--radius-sm) 0;max-width:64ch}
[dir="rtl"] .ay-callout{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}

/* FAQ */
.ay-faq{margin-top:32px!important;max-width:820px}
.ay-faq details{border-top:1px solid var(--border-hairline);padding:20px 0}
.ay-faq details:last-child{border-bottom:1px solid var(--border-hairline)}
.ay-faq summary{cursor:pointer;color:var(--text-title);font-weight:600;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.ay-faq summary::-webkit-details-marker{display:none}
.ay-faq summary::after{content:"+";color:var(--text-muted);font-weight:400;flex:none}
.ay-faq details[open] summary::after{content:"−";color:var(--accent)}
.ay-faq details p{margin-top:10px;max-width:64ch}

/* Prose (legal pages, articles, plain pages) */
.ay-prose{max-width:var(--page-max);margin:0 auto;padding:72px var(--gutter) 96px}
.ay-prose > *{max-width:68ch}
.ay-prose > * + *{margin-top:16px}
.ay-prose h2{margin-top:48px}
.ay-prose h3{margin-top:32px}
.ay-prose ul,.ay-prose ol{padding-inline-start:1.25em}
.ay-page-title{max-width:var(--page-max);margin:0 auto;padding:88px var(--gutter) 0}
.ay-page-title h1{font-size:clamp(34px,5vw,48px)}
.ay-page-title + .ay-main .ay-section:first-child{padding-top:48px}

/* Posts list */
.ay-posts{list-style:none;margin:0;padding:0}
.ay-posts li{border-top:1px solid var(--border-hairline);padding:24px 0}
.ay-posts a{border-bottom:0;font-size:20px;font-weight:700}
.ay-posts time{display:block;color:var(--text-muted);font-size:14px;margin-top:6px}

/* ---------- Forms (core plugin shortcodes) ---------- */
.ay-form{display:grid;gap:20px;max-width:560px;margin-top:32px}
.ay-field{display:grid;gap:6px}
.ay-field label{font-size:15px;font-weight:500;color:var(--text-title)}
.ay-field .ay-hint{font-size:var(--size-caption);color:var(--text-muted)}
.ay-field input[type=text],.ay-field input[type=email],.ay-field input[type=password],.ay-field textarea,.ay-field select{width:100%;font:inherit;font-size:16px;color:var(--text-title);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 12px;transition:var(--t)}
.ay-field input:hover,.ay-field textarea:hover{border-color:var(--text-muted)}
.ay-field input:focus,.ay-field textarea:focus{outline:1.5px solid var(--focus-ring);outline-offset:2px}
.ay-field textarea{min-height:140px;resize:vertical}
.ay-field input[dir=ltr]{text-align:left}
.ay-check{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.ay-check input{width:18px;height:18px;margin:4px 0 0;accent-color:var(--cyan);flex:none}
.ay-hp{position:absolute!important;inset-inline-start:-9999px}
.ay-notice{padding:14px 18px;border-radius:var(--radius-sm);border:1px solid var(--border-hairline);background:var(--surface-sunken);max-width:560px}
.ay-notice.is-ok{border-inline-start:2px solid var(--accent)}
.ay-notice.is-error{border-inline-start:2px solid var(--text-title)}

/* ---------- Event room ---------- */
.ay-room{display:grid;gap:24px}
.ay-player{position:relative;aspect-ratio:16/9;background:var(--surface-sunken);border:1px solid var(--border-hairline);border-radius:var(--radius-md);overflow:hidden}
.ay-player video,.ay-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--navy)}
.ay-room__status{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}
.ay-room__status .dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--border-strong)}
.ay-room__status.is-live .dot{background:var(--accent)}

/* ---------- Footer ---------- */
.ay-footer{background:var(--surface-sunken);color:var(--blue-slate);border-top:1px solid var(--border-hairline)}
.ay-footer__in{padding-block:64px 32px}
.ay-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:40px}
.ay-footer__col{display:flex;flex-direction:column;gap:10px}
.ay-footer__col .ay-label{font-size:13px;color:var(--blue-mist);margin-bottom:4px}
.ay-footer a{color:var(--white);border-bottom:0;font-size:15px}
.ay-footer a:hover{color:var(--cyan)}
.ay-footer .ay-brand span{color:var(--white)}
.ay-footer p{font-size:15px;line-height:1.6;max-width:30ch}
.ay-footer__base{margin-top:56px;padding-top:24px;border-top:1px solid var(--navy-border);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--blue-mist)}

/* ---------- Holding page (pre-launch) ---------- */
.ay-holding{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:32px}
.ay-holding img{width:96px;height:96px}
.ay-holding h1{font-family:var(--font-farsi);font-size:clamp(32px,5vw,48px);line-height:1.4;margin-top:24px}
.ay-holding p{margin-top:12px;color:var(--blue-slate)}
.ay-holding .en{font-family:var(--font-latin);margin-top:24px;font-size:15px}

/* Block editor alignment helpers */
.alignwide{max-width:var(--page-max)}
.alignfull{max-width:none}

/* ---------- Sign-in form (wp_login_form) ---------- */
.ay-login{max-width:420px}
.ay-login form p{margin:0 0 18px;display:grid;gap:6px}
.ay-login label{font-size:15px;font-weight:500;color:var(--text-title)}
.ay-login input.input{width:100%;font:inherit;font-size:16px;color:var(--text-title);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 12px;direction:ltr;text-align:left}
.ay-login .login-remember label{display:flex;gap:8px;align-items:center;font-weight:400}
.ay-login .button-primary{display:inline-flex;align-items:center;height:48px;padding:0 22px;border-radius:var(--radius-sm);background:var(--accent);color:var(--text-on-accent);border:1px solid var(--accent);font:inherit;font-size:17px;font-weight:600;cursor:pointer;transition:var(--t)}
.ay-login .button-primary:hover{background:var(--accent-hover)}
