/* ============================================================
   Playgenic — new design (dark navy + lime)
   Pure CSS. Loaded AFTER Bootstrap so these rules win.
   Font: Alexandria (loaded from Google Fonts in the HTML head).
   ============================================================ */

:root{
  --background:#0b0b44;--foreground:#fff;
  --card:#14144e;--card-foreground:#fff;
  --popover:#171750;--popover-foreground:#fff;
  --primary:#97db32;--primary-foreground:#0b0b44;
  --secondary:#222258;--secondary-foreground:#fff;
  --muted:#222258;--muted-foreground:#b4b4cc;
  --accent:#97db32;--accent-foreground:#0b0b44;
  --destructive:#ff7070;
  --border:#ffffff25;--input:#ffffff35;--ring:#97db32;
  --radius:.75rem;--navy:#0b0b44;--lime:#97db32;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{background:var(--navy);color:#fff;margin:0;font-family:Alexandria,Arial,sans-serif;font-size:16px;line-height:1.8}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img,svg{display:block;vertical-align:middle}
img{max-width:100%}
button:disabled{opacity:.6;cursor:wait}
:is(a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible){outline:3px solid var(--lime);outline-offset:5px}
::selection{background:var(--lime);color:var(--navy)}

/* Neutralize Bootstrap's .container so the design controls width */
.container{width:min(1240px,100% - 80px);max-width:none;margin-inline:auto;padding-inline:0}
.section{padding:100px 0}

h1,h2,h3,p{margin:0}
h2{white-space:pre-line;letter-spacing:-1.5px;font-size:clamp(34px,4vw,52px);font-weight:800;line-height:1.55}
h3{font-size:21px;font-weight:700;line-height:1.6}
.eyebrow{letter-spacing:1px;color:var(--lime);margin-bottom:22px;font-size:14px;font-weight:600}

/* Arabic (RTL): negative letter-spacing breaks letter joining, so remove it */
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] .eyebrow{letter-spacing:normal}

.logo{object-fit:contain;width:152px;height:74px}

/* ---------- Header / nav ---------- */
.header{border-bottom:1px solid var(--border);background:var(--navy)}
.nav{justify-content:space-between;align-items:center;gap:25px;height:110px;display:flex}
.navlinks{gap:26px;display:flex}
.navlinks a{color:#d9d9e9;font-size:14px;font-weight:500}
.navlinks a:hover{color:var(--lime)}
.nav-actions{align-items:center;gap:18px;display:flex}
.language{color:#fff;background:0 0;border:0;align-items:center;gap:7px;font-size:14px;display:flex}
.language:hover{color:var(--lime)}
.nav-download,.button{border:0;border-radius:6px;justify-content:center;align-items:center;min-height:52px;padding:13px 24px;font-size:15px;font-weight:650;display:inline-flex}
.nav-download{background:var(--lime);min-height:44px;color:var(--navy);padding:10px 18px}
.mobile-menu{color:#fff;background:0 0;border:0;display:none}

/* mobile dropdown nav */
.mobile-nav{display:none}
.mobile-nav.open{flex-direction:column;gap:2px;padding:6px 0 16px;border-top:1px solid var(--border);display:flex}
.mobile-nav a,.mobile-nav button{color:#d9d9e9;background:0 0;border:0;text-align:start;align-items:center;gap:8px;padding:13px 4px;font-size:16px;display:flex}
.mobile-nav .md-cta{background:var(--lime);color:var(--navy);border-radius:6px;justify-content:center;margin-top:8px;font-weight:650}

/* ---------- Hero ---------- */
.hero{padding:75px 0 80px;overflow:hidden}
.hero-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:30px;min-height:610px;display:grid}
.hero-copy{z-index:2;position:relative}
.hero .eyebrow{align-items:center;gap:10px;display:flex}
.hero .eyebrow .dash{background:var(--lime);width:30px;height:2px;display:block;flex:none}
h1{font-size:clamp(45px,5.25vw,76px);font-weight:850;line-height:1.4}
h1 span{display:block}
.lime{color:var(--lime)}
.hero-description{color:#c7c7de;max-width:510px;margin:25px 0 30px;font-size:18px;line-height:1.9}
.store-buttons{flex-wrap:wrap;gap:12px;display:flex}
.store-button{background:#08082a;border:1px solid #ffffff75;border-radius:8px;align-items:center;gap:12px;min-width:164px;padding:10px 17px;display:flex;color:#fff}
.store-button:hover{border-color:var(--lime)}
.store-button small{letter-spacing:.4px;font-size:10px;line-height:1.5;display:block}
.store-button strong{font-size:19px;font-weight:600;line-height:1.4;display:block}
.hero-note{color:#9090b3;letter-spacing:1px;margin-top:25px;font-size:14px}
[dir=rtl] .hero-note{letter-spacing:normal}
.hero-visual{direction:ltr;height:600px;position:relative}
.visual-word{color:#0000;-webkit-text-stroke:1px #ffffff17;letter-spacing:-6px;font-size:155px;font-weight:900;line-height:1.2;position:absolute;top:0;left:-10px}
.hero-phone{background:#18182b;border:1px solid #fff4;border-radius:28px;width:242px;padding:7px;position:absolute;box-shadow:0 30px 60px #0005}
.screen-window{background:#fff;border-radius:22px;height:465px;overflow:hidden}
.screen-window img{width:100%;height:auto;display:block}
.phone-front{z-index:2;top:70px;left:150px;transform:rotate(8deg)}
.phone-back{top:10px;left:0;transform:rotate(-9deg)}
.hero-ticket{z-index:3;background:var(--lime);color:var(--navy);border-radius:5px;align-items:center;gap:12px;padding:17px 20px;font-size:14px;font-weight:700;display:flex;position:absolute;bottom:56px;left:105px;transform:rotate(-5deg);box-shadow:0 12px 25px #0003}
.visual-caption{letter-spacing:1px;color:#b3b3cd;font-size:11px;position:absolute;bottom:4px;left:25px}

/* ---------- Ribbon ---------- */
.ribbon{background:var(--lime);color:var(--navy);white-space:nowrap;direction:ltr;justify-content:center;align-items:center;gap:55px;width:100%;padding:21px 30px;font-size:25px;font-weight:900;line-height:1.6;display:flex;overflow:hidden;transform:rotate(-1.2deg)}

/* ---------- Features ---------- */
.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:50px;display:flex}
.section-heading>p{color:#b4b4ce;max-width:280px}
.feature-grid{grid-template-columns:repeat(6,1fr);gap:18px;display:grid}
.feature{border:1px solid var(--border);background:#111147;border-radius:10px;grid-column:span 2;padding:30px;position:relative}
.feature:nth-child(n+4){grid-column:span 3}
.feature>svg{color:var(--lime);margin-bottom:30px}
.feature-number{color:#8585a9;inset-inline-end:25px;font-size:14px;position:absolute;top:23px}
.feature h3{margin-bottom:12px}
.feature p{color:#b8b8d0;font-size:15px}
.feature-0{background:var(--lime);color:var(--navy);border:0}
.feature-0>svg,.feature-0 .feature-number,.feature-0 p{color:var(--navy)}

/* ---------- How it works ---------- */
.how{border-block:1px solid var(--border);background:#080835}
.how-grid{grid-template-columns:1fr 1.1fr;gap:100px;display:grid}
.primary{background:var(--lime);color:var(--navy)}
.dark{background:var(--navy);color:#fff}
.how .button{margin-top:35px}
.steps{flex-direction:column;display:flex}
.step{border-bottom:1px solid var(--border);gap:30px;padding:28px 0;display:flex}
.step:last-child{border-bottom:0}
.step>span{color:var(--lime);direction:ltr;font-size:42px;font-weight:700;line-height:1.5}
.step p{color:#aaaaca;margin-top:8px;font-size:15px}

/* ---------- App preview (tabs) ---------- */
.preview-grid{grid-template-columns:1fr 1fr;gap:80px;display:grid;position:relative}
.preview-copy>p:not(.eyebrow){color:#b6b6ce;max-width:420px;margin-top:25px}
.preview-tabs{margin-top:30px;position:static}
.preview-tab-list{flex-wrap:wrap;max-width:100%;background:#1e1e54;gap:5px;padding:5px;border-radius:var(--radius);width:fit-content;display:flex}
.preview-tab{font-family:inherit;color:#fff;background:0 0;border:0;border-radius:.5rem;padding:12px 20px;font-size:14px;font-weight:600}
.preview-tab:hover{color:var(--lime)}
.preview-tab[aria-selected=true]{background:var(--lime);color:var(--navy)}
.preview-panel>p{color:#a4a4c5;margin-top:8px;font-size:14px}
.gallery-screen{overscroll-behavior:contain;scrollbar-width:thin;background:#18182b;border:1px solid #ffffff4a;border-radius:24px;width:280px;max-height:540px;margin-top:28px;padding:7px;overflow-y:auto}
.gallery-screen img{border-radius:17px;width:100%;height:auto;display:block}
.gallery-screen:focus-visible{outline:3px solid var(--lime);outline-offset:5px}
.screen-hint{color:#a4a4c5;text-align:center;margin-top:12px;font-size:12px}
.preview-side{flex-direction:column;justify-content:center;display:flex}
.outline-type{color:#0000;-webkit-text-stroke:1px #ffffff25;letter-spacing:-4px;direction:ltr;font-size:clamp(65px,8vw,120px);font-weight:900;line-height:1.25}
.preview-statement{border-top:1px solid var(--border);align-items:center;gap:20px;margin-top:50px;padding-top:30px;display:flex}
.preview-statement svg{color:var(--lime);flex-shrink:0}
.preview-statement p{white-space:pre-line;font-size:22px;font-weight:650}

/* ---------- Venues ---------- */
.venue-panel{background:var(--lime);color:var(--navy);border-radius:12px;grid-template-columns:1.2fr 1fr;gap:70px;padding:65px;display:grid}
.venue-panel .eyebrow{color:var(--navy)}
.venue-panel>div>p:not(.eyebrow){max-width:510px;margin:25px 0;line-height:1.9}
.venue-benefits{flex-direction:column;justify-content:center;gap:25px;display:flex}
.venue-benefits>div:not(.venue-signature){border-bottom:1px solid #0b0b4430;align-items:center;gap:16px;padding-bottom:25px;display:flex}
.venue-benefits span{border:1px solid #0b0b4480;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}
.venue-benefits h3{font-size:18px}
.venue-signature{letter-spacing:.8px;font-size:12px}
[dir=rtl] .venue-signature{letter-spacing:normal}

/* ---------- FAQ (accordion) ---------- */
.faq-grid{grid-template-columns:.8fr 1.2fr;gap:100px;display:grid}
.faq-item{border-bottom:1px solid var(--border)}
.faq-trigger{font-family:inherit;color:#fff;text-align:start;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:25px 0;font-size:17px;font-weight:600;line-height:1.8;display:flex}
.faq-trigger:hover{color:var(--lime)}
.faq-trigger svg{color:var(--muted-foreground);flex-shrink:0;transition:transform .2s}
.faq-trigger[aria-expanded=true] svg{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-answer p{color:#b6b6cc;max-width:640px;padding:0 0 25px;font-size:15px}

/* ---------- Contact ---------- */
.contact{border-top:1px solid var(--border)}
.contact-grid{grid-template-columns:1fr 1.2fr;gap:90px;display:grid}
.contact-grid>div>p:not(.eyebrow){color:#b6b6cc;margin-top:25px}
.contact-links{flex-direction:column;gap:22px;margin-top:35px;font-size:16px;display:flex}
.contact-links a{align-items:center;gap:12px;display:flex}
.contact-links a:hover{color:var(--lime)}
.contact-links svg{color:var(--lime);flex-shrink:0}
.contact-form{border:1px solid var(--border);background:#131348;border-radius:10px;padding:35px}
.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}
label{margin-bottom:18px;font-size:14px;font-weight:500;display:block}
input,textarea,select{color:#fff;background:#090936;border:1px solid #ffffff35;border-radius:5px;width:100%;min-width:0;margin-top:9px;padding:12px 14px;font-size:16px}
select option{background:var(--navy)}
textarea{resize:vertical}
input:focus,textarea:focus,select:focus{border-color:var(--lime)}
.consent{align-items:flex-start;gap:10px;margin:5px 0 22px;display:flex}
.consent input{width:18px;height:18px;min-width:18px;margin-top:6px;accent-color:var(--lime);flex-shrink:0}
.consent label{color:#b5b5ce;margin:0;line-height:1.8;font-size:14px}
.consent a{color:var(--lime);text-decoration:underline}
.form-status{margin-top:14px;font-size:14px;color:var(--lime);min-height:1em}
.form-status.is-ok{color:var(--lime)}
.form-status.is-error{color:#ff6b6b}
.venue-only{display:none}
.contact-form form.show-venue .venue-only{display:grid}
@media (max-width:800px){.contact-form form.show-venue .venue-only{grid-template-columns:1fr;gap:0}}

/* ---------- Social ---------- */
.social{background:#101b38}
.social h2{margin-bottom:2rem}
.social-grid{flex-wrap:wrap;gap:1rem;display:flex}
.social-link{border:1px solid #526080;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;padding:1rem;transition:color .2s,border-color .2s,background .2s;display:flex}
.social-link svg{width:28px;height:28px;fill:currentColor}
.social-ig svg{fill:none;stroke:currentColor;stroke-width:1.9}
.social-ig svg circle,.social-ig svg rect,.social-ig svg path{fill:none}
:is(a.social-link:hover,a.social-link:focus-visible){background:#b6ef48;color:var(--navy);border-color:#b6ef48}

/* ---------- Download ---------- */
.download{background:var(--lime);color:var(--navy);text-align:center;padding:80px 0}
.download .eyebrow{color:var(--navy)}
.download h2{font-size:clamp(35px,4.8vw,62px)}
.download .store-buttons{justify-content:center;margin-top:30px}
.download .store-button{color:#fff}

/* ---------- Footer ---------- */
footer{background:#070727;padding-top:45px}
.footer-top{justify-content:space-between;align-items:center;gap:30px;padding-bottom:40px;display:flex}
.footer-top>div{color:#b0b0c9;flex-wrap:wrap;gap:25px;display:flex}
.footer-top a:hover{color:var(--lime)}
.footer-bottom{border-top:1px solid var(--border);color:#8686a8;justify-content:space-between;padding:25px 0;font-size:14px;display:flex}

/* ---------- Skip link + mobile download bar ---------- */
.skip{z-index:100;background:var(--lime);color:var(--navy);padding:10px 20px;position:absolute;top:-70px;inset-inline-start:0}
.skip:focus{top:10px}
.mobile-download{display:none}
.mobile-download .md-btn{background:var(--lime);color:var(--navy);border-radius:6px;justify-content:center;align-items:center;width:100%;min-height:48px;font-weight:650;display:flex}

/* ---------- Legal pages (privacy / terms) ---------- */
.legal-back{display:inline-flex;align-items:center;gap:8px;color:#d9d9e9;font-size:14px;font-weight:500}
.legal-back:hover{color:var(--lime)}
.legal-main{padding:56px 0 90px}
.legal-wrap{max-width:760px;margin-inline:auto}
.legal-wrap h1{font-size:clamp(34px,5vw,52px);font-weight:850;line-height:1.3;margin:0 0 14px}
[dir=rtl] .legal-wrap h1{letter-spacing:normal}
.legal-lead{color:#c7c7de;font-size:17px;line-height:1.8;margin:0 0 16px}
.legal-note{display:inline-block;color:var(--lime);border:1px solid var(--border);border-radius:999px;padding:7px 15px;font-size:13px;font-weight:600;margin-bottom:12px}
.legal-wrap h2{font-size:22px;font-weight:700;line-height:1.5;margin:36px 0 10px}
.legal-wrap p{color:#c3c3d8;line-height:1.95;margin:0 0 8px;font-size:15.5px}
.legal-wrap a{color:var(--lime);text-decoration:underline}
.legal-contact{margin-top:40px;padding-top:24px;border-top:1px solid var(--border);color:#c3c3d8}

/* ============================================================
   Responsive
   ============================================================ */
@media (min-width:1000px){
  .preview-grid{min-height:620px}
  .gallery-screen{top:0;width:280px;max-height:565px;margin-top:0;position:absolute;inset-inline-end:5%}
  .preview-side{grid-column:1;padding-top:30px}
  .outline-type{font-size:84px}
  .preview-statement{max-width:420px}
  .app-preview .preview-copy{padding-inline-end:25px}
  .screen-hint{top:575px;width:280px;margin:0;position:absolute;inset-inline-end:5%}
}
@media (max-width:1100px){
  .container{width:calc(100% - 50px)}
  .navlinks{gap:18px}
  .navlinks a{font-size:12px}
  .nav-actions{gap:12px}
  .hero-grid{gap:0;min-height:570px}
  .hero-visual{transform-origin:50%;transform:scale(.85)}
  .how-grid,.faq-grid,.contact-grid{gap:45px}
  .venue-panel{gap:35px;padding:45px}
  .hero h1{font-size:58px}
  .hero-description{font-size:16px}
}
@media (max-width:800px){
  .section{padding:70px 0}
  .container{width:calc(100% - 36px)}
  .nav{gap:10px;height:86px}
  .logo{width:124px;height:60px}
  .nav-download,.navlinks{display:none}
  .mobile-menu{display:block}
  .hero{padding:45px 0 30px}
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero-copy{max-width:620px}
  .hero h1{font-size:clamp(40px,7.5vw,62px);line-height:1.55}
  [dir=ltr] .hero h1{letter-spacing:-1.6px}
  .hero-description{max-width:520px;margin:20px 0 25px;font-size:16px}
  .hero-visual{transform-origin:top;width:470px;max-width:100%;height:530px;margin:25px auto 0;transform:scale(.9)}
  .hero-phone{width:225px}
  .screen-window{height:430px}
  .phone-front{top:60px;left:160px}
  .phone-back{left:15px}
  .hero-ticket{bottom:8px;left:85px}
  .visual-caption{display:none}
  .visual-word{font-size:130px;left:20px}
  .hero-note{margin-top:20px}
  .ribbon{gap:30px;padding:16px 20px;font-size:19px}
  .section-heading{display:block}
  .section-heading>p{margin-top:22px}
  .feature-grid{grid-template-columns:1fr 1fr}
  .feature,.feature:nth-child(n+4){grid-column:span 1}
  .feature:last-child{grid-column:span 2}
  .feature{padding:25px}
  .feature h3{font-size:18px}
  .feature p{font-size:14px}
  .how-grid,.faq-grid,.contact-grid,.venue-panel,.preview-grid{grid-template-columns:1fr;gap:40px}
  .step{padding:22px 0}
  .preview-side{display:none}
  .gallery-screen{width:270px;max-height:500px;margin-inline:auto}
  .venue-panel{width:calc(100% - 36px);padding:30px}
  .venue-benefits{gap:20px}
  .venue-benefits>div:not(.venue-signature){padding-bottom:20px}
  .faq-grid{gap:25px}
  .contact-form{padding:25px}
  .form-row{grid-template-columns:1fr;gap:0}
  .footer-top{flex-direction:column;align-items:flex-start}
  .footer-top>div{gap:18px;font-size:12px}
  .footer-bottom{flex-wrap:wrap;gap:20px}
  .download{padding:65px 0}
}
@media (max-width:767px){
  .mobile-download{z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);bottom:0;background:#08082af2;border-top:1px solid #ffffff30;display:block;position:fixed;inset-inline:0}
  .landing{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
}
@media (max-width:600px){
  .social-grid{gap:.85rem}
  .social-link{width:56px;height:56px;padding:.85rem}
}
@media (max-width:400px){
  .hero-visual{width:400px;height:440px;margin-inline-start:-12px;transform:scale(.76)}
  .hero h1{font-size:36px}
  .hero .eyebrow{font-size:12px}
  .store-button{gap:9px;min-width:144px;padding:9px 12px}
  .store-button strong{font-size:17px}
  .store-button small{font-size:9px}
  .feature-grid{grid-template-columns:1fr}
  .feature:last-child{grid-column:span 1}
  h2{letter-spacing:-.5px;font-size:31px}
  [dir=rtl] h2{letter-spacing:normal}
  .nav .logo{width:115px}
  .language{font-size:12px}
}

/* ============================================================
   Motion
   ============================================================ */
@keyframes phone-float{0%,to{translate:0}50%{translate:0 -12px}}
@keyframes screen-enter{0%{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:no-preference){
  .phone-front{animation:4.8s ease-in-out both phone-float}
  .phone-back{animation:4.8s ease-in-out .3s both phone-float}
  .motion-ready{transition:opacity .65s,translate .65s}
  .motion-ready[data-motion=pending]{opacity:0;translate:0 22px}
  .motion-ready[data-motion=visible]{opacity:1;translate:0}
  .preview-panel.is-entering>*{animation:.32s both screen-enter}
  .button,.nav-download,.store-button,a.social-link{transition:transform .2s,color .2s,border-color .2s,background .2s}
  @media (hover:hover){.button:hover,.nav-download:hover,.store-button:hover,a.social-link:hover{transform:translateY(-3px)}}
  .button:active,.nav-download:active,.store-button:active,a.social-link:active{transform:scale(.97)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
  .motion-ready[data-motion=pending]{opacity:1;translate:none}
}
