/*
Theme Name: AIS
Theme URI: https://example.com/
Author: William del Carpio
Author URI: https://example.com/
Description: A dark, futuristic WordPress theme for Advanced Intelligence Systems. Every image, icon, headline, button, link, and line of text is editable from Appearance → Customize. Equal-height feature panels with glowing rounded borders, and a consistent dark aesthetic across every page.
Version: 1.3.0
Requires at least: 5.9
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ais
*/

/*
 * AIS — WordPress theme
 * Copyright (c) 2026 William del Carpio. All rights reserved.
 */

/* ============================================================
   TOKENS
   ============================================================ */
:root{
  --bg:        #060c18;
  --bg-2:      #0a1426;
  --bg-3:      #04080f;
  --cyan:      #2cd4f4;
  --cyan-br:   #74e6fb;
  --cyan-dim:  rgba(44,212,244,.20);
  --cyan-glow: rgba(44,212,244,.30);
  --head:      #ffffff;
  --text:      #bccbe0;
  --muted:     #7a8aa3;
  --line:      rgba(120,160,210,.14);
  --panel-1:   rgba(20,40,70,.45);
  --panel-2:   rgba(8,16,30,.55);
  --maxw:      1180px;
  --font-display: "Orbitron", "Saira", system-ui, sans-serif;
  --font-body:    "Saira", system-ui, -apple-system, "Segoe UI", sans-serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; color:var(--text); font-family:var(--font-body); line-height:1.65;
  background:
    radial-gradient(1100px 600px at 82% -5%, rgba(44,212,244,.10), transparent 60%),
    radial-gradient(900px 500px at 0% 8%, rgba(44,120,244,.07), transparent 55%),
    var(--bg);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--cyan); text-decoration:none; }
.ais-wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 28px; }

h1,h2,h3{ color:var(--head); }
.ais-eyebrow{
  font-family:var(--font-display); font-weight:600; letter-spacing:.32em;
  text-transform:uppercase; font-size:.72rem; color:var(--cyan);
}
.ais-cyan{ color:var(--cyan); text-shadow:0 0 14px rgba(44,212,244,.45); }

/* Buttons */
.ais-btn{
  display:inline-flex; align-items:center; gap:.6em; cursor:pointer;
  font-family:var(--font-display); font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; font-size:.74rem; line-height:1;
  padding:15px 26px; border-radius:8px; border:1px solid transparent; transition:.2s ease;
}
.ais-btn .ais-ico{ width:15px; height:15px; flex:0 0 auto; }
.ais-btn--primary{ background:var(--cyan); color:#04121c; box-shadow:0 0 26px rgba(44,212,244,.45); }
.ais-btn--primary:hover{ background:var(--cyan-br); box-shadow:0 0 40px rgba(44,212,244,.7); }
.ais-btn--ghost{ background:rgba(44,212,244,.06); color:var(--cyan); border-color:var(--cyan-dim); }
.ais-btn--ghost:hover{ background:rgba(44,212,244,.14); border-color:var(--cyan); }

.ais-link{
  display:inline-flex; align-items:center; gap:.5em; color:var(--cyan);
  font-family:var(--font-display); font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; font-size:.72rem;
}
.ais-link .ais-ico{ width:14px; height:14px; transition:transform .2s; }
.ais-link:hover .ais-ico{ transform:translateX(3px); }

/* Reusable glowing rounded panel (reflective gradient border) */
.ais-glow{ position:relative; border-radius:16px; overflow:hidden; background:linear-gradient(180deg,var(--panel-1),var(--panel-2)); }
.ais-glow::before{
  content:""; position:absolute; inset:0; border-radius:inherit; padding:1.5px; pointer-events:none; z-index:3;
  background:linear-gradient(150deg,
    rgba(255,255,255,.92) 0%,
    rgba(160,228,255,.55) 14%,
    rgba(44,212,244,.12) 40%,
    rgba(44,212,244,.10) 60%,
    rgba(180,240,255,.6) 85%,
    rgba(255,255,255,.85) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
}

/* ============================================================
   HEADER / NAV
   ============================================================ */
.ais-header{
  position:sticky; top:0; z-index:60;
  background:rgba(6,12,24,.78); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.ais-header__inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:78px; }
.ais-logo{ display:flex; align-items:center; gap:12px; }
.ais-logo img{ max-height:46px; width:auto; }
.ais-logo__text{ display:flex; align-items:baseline; gap:10px; }
.ais-logo__mark{ font-family:var(--font-display); font-weight:800; font-size:1.7rem; letter-spacing:.06em; color:#fff; }
.ais-logo__sub{ font-family:var(--font-display); font-weight:500; font-size:.52rem; letter-spacing:.22em; line-height:1.25; color:var(--muted); text-transform:uppercase; }

.ais-nav{ display:flex; align-items:center; gap:30px; }
.ais-menu{ list-style:none; display:flex; gap:26px; margin:0; padding:0; }
.ais-menu li{ position:relative; }
.ais-menu a{
  color:#dbe6f4; font-family:var(--font-display); font-weight:500; font-size:.76rem;
  letter-spacing:.12em; text-transform:uppercase; padding:8px 0; display:inline-flex; align-items:center; gap:6px;
}
.ais-menu a:hover{ color:var(--cyan); }
.ais-menu .menu-item-has-children > a::after,
.ais-menu .ais-has-caret > a::after{
  content:""; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg); opacity:.7;
}
.ais-menu .sub-menu{
  list-style:none; margin:0; padding:8px; position:absolute; top:100%; left:-12px; min-width:210px;
  background:var(--bg-2); border:1px solid var(--line); border-radius:12px; display:none;
  box-shadow:0 18px 40px rgba(0,0,0,.5);
}
.ais-menu li:hover > .sub-menu{ display:block; }
.ais-menu .sub-menu a{ display:block; padding:9px 12px; border-radius:8px; letter-spacing:.06em; }
.ais-menu .sub-menu a:hover{ background:rgba(44,212,244,.1); }

.ais-burger{ display:none; background:none; border:0; cursor:pointer; padding:8px; }
.ais-burger span{ display:block; width:26px; height:2px; background:#fff; margin:5px 0; transition:.25s; }

/* ============================================================
   HERO
   ============================================================ */
.ais-hero{ position:relative; overflow:hidden; }
.ais-hero__media{
  position:absolute; top:0; right:0; bottom:0; width:60%;
  background-size:cover; background-position:center right;
}
.ais-hero__media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, var(--bg) 0%, rgba(6,12,24,.55) 22%, rgba(6,12,24,0) 55%),
             linear-gradient(0deg, var(--bg) 0%, rgba(6,12,24,0) 28%);
}
.ais-hero__inner{ position:relative; z-index:2; padding:84px 0 92px; }
.ais-hero__content{ max-width:560px; }
.ais-hero__title{
  font-family:var(--font-display); font-weight:500; line-height:1.05; margin:0;
  letter-spacing:.04em; text-transform:uppercase; text-wrap:balance;
  font-size:clamp(2rem, 5.4vw, 4rem);
  text-shadow:0 2px 30px rgba(0,0,0,.6);
}
.ais-hero__title .ais-cyan{ text-shadow:0 0 32px rgba(44,212,244,.6), 0 0 11px rgba(44,212,244,.5); }
.ais-hero__sub{ font-family:var(--font-display); font-weight:500; font-size:clamp(1.05rem,2vw,1.45rem); margin:26px 0 0; color:#e6eefb; letter-spacing:.02em; }
.ais-hero__sub .ais-cyan{ display:block; }
.ais-hero__body{ font-size:1.02rem; max-width:34em; margin:20px 0 0; color:var(--text); }
.ais-hero__cta{ display:flex; flex-wrap:wrap; gap:16px; margin-top:34px; }

/* ============================================================
   TRUSTED STRIP
   ============================================================ */
.ais-trusted{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(4,8,16,.5); }
.ais-trusted__inner{ display:flex; align-items:center; flex-wrap:wrap; gap:18px 38px; padding:22px 0; }
.ais-trusted__label{ font-family:var(--font-display); font-weight:600; letter-spacing:.2em; text-transform:uppercase; font-size:.66rem; color:var(--cyan); }
.ais-trusted__logos{ display:flex; flex-wrap:wrap; align-items:center; gap:16px 34px; }
.ais-trusted__item{ display:inline-flex; align-items:center; gap:9px; color:#cdd9ea; font-family:var(--font-display); font-weight:600; letter-spacing:.16em; text-transform:uppercase; font-size:.82rem; }
.ais-trusted__item svg{ width:20px; height:20px; color:var(--cyan); }
.ais-trusted__item img{ max-height:24px; width:auto; }

/* ============================================================
   SECTION HEAD
   ============================================================ */
.ais-section{ padding:90px 0; }
.ais-section__head{ text-align:center; max-width:1040px; margin:0 auto 52px; }
.ais-section__title{ font-family:var(--font-display); font-weight:500; text-transform:uppercase; letter-spacing:.02em; font-size:clamp(1.5rem,3.2vw,2.4rem); margin:.4em 0 0; line-height:1.15; text-wrap:balance; }

/* ============================================================
   SOLUTIONS — equal-height glowing cards
   ============================================================ */
.ais-solutions__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; align-items:stretch; }
.ais-card{ display:flex; flex-direction:column; padding:32px 26px; background:#02101d; box-shadow:0 14px 34px rgba(0,0,0,.45), 0 0 26px rgba(44,212,244,.05); transition:box-shadow .25s, transform .25s; }
.ais-card:hover{ box-shadow:0 18px 40px rgba(0,0,0,.5), 0 0 34px rgba(44,212,244,.18); transform:translateY(-3px); }
.ais-card__icon{ width:104px; height:104px; display:flex; align-items:center; justify-content:center; margin:2px auto 20px; }   /* centered */
.ais-card__icon svg{ width:60px; height:60px; color:var(--cyan); filter:drop-shadow(0 0 10px rgba(44,212,244,.45)); }
.ais-card__icon img{ width:100px; height:100px; object-fit:contain; filter:drop-shadow(0 0 14px rgba(44,212,244,.35)); }
.ais-card__title{ font-family:var(--font-display); font-weight:600; text-transform:uppercase; letter-spacing:.06em; font-size:.98rem; line-height:1.25; margin:0 0 12px; color:#fff; }
.ais-card__desc{ font-size:.92rem; color:var(--text); margin:0 0 18px; }
.ais-card__list{ list-style:none; margin:0 0 22px; padding:0; }
.ais-card__list li{ display:flex; align-items:flex-start; gap:9px; font-size:.88rem; color:#cdd9ea; margin:8px 0; }
.ais-card__list li::before{
  content:""; flex:0 0 auto; width:16px; height:16px; margin-top:2px; border-radius:50%;
  background:radial-gradient(circle at 50% 50%, rgba(44,212,244,.25), rgba(44,212,244,.05));
  border:1px solid var(--cyan-dim);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4l2.4 2.4L12 5' fill='none' stroke='%232cd4f4' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center;
}
.ais-card__link{ margin-top:auto; }

/* ============================================================
   STATS BAR
   ============================================================ */
.ais-stats{ margin:0 auto; }
.ais-stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.ais-stats__item{ display:flex; align-items:center; gap:18px; padding:30px 26px; border-left:1px solid var(--line); }
.ais-stats__item:first-child{ border-left:0; }
.ais-stats__icon svg{ width:46px; height:46px; color:var(--cyan); filter:drop-shadow(0 0 8px rgba(44,212,244,.4)); }
.ais-stats__num{ font-family:var(--font-display); font-weight:700; font-size:1.7rem; color:var(--cyan); line-height:1.1; }
.ais-stats__label{ font-size:.82rem; color:var(--muted); }

/* ============================================================
   APPROACH
   ============================================================ */
.ais-approach__grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:54px; align-items:center; }
.ais-approach__title{ font-family:var(--font-display); font-weight:500; text-transform:uppercase; letter-spacing:.05em; font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.1; margin:14px 0 0; }
.ais-approach__body{ margin:18px 0 0; color:var(--text); max-width:34em; }
.ais-approach__list{ list-style:none; margin:24px 0 28px; padding:0; }
.ais-approach__list li{ display:flex; align-items:flex-start; gap:11px; margin:11px 0; color:#cdd9ea; font-size:.95rem; }
.ais-approach__list li::before{
  content:""; flex:0 0 auto; width:18px; height:18px; margin-top:2px; border-radius:50%;
  border:1px solid var(--cyan-dim);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4l2.4 2.4L12 5' fill='none' stroke='%232cd4f4' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
}

/* Video frame */
.ais-video{ position:relative; border-radius:18px; overflow:hidden; aspect-ratio:16/9; display:block; }
.ais-video__bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
.ais-video__scrim{ position:absolute; inset:0; background:radial-gradient(closest-side at 50% 42%, rgba(4,10,20,.25), rgba(4,10,20,.55) 70%), linear-gradient(0deg, rgba(4,10,20,.85), rgba(4,10,20,0) 55%); }
.ais-video__play{ position:absolute; top:42%; left:50%; transform:translate(-50%,-50%); width:74px; height:74px; border-radius:50%; background:rgba(6,16,28,.6); border:2px solid var(--cyan); display:flex; align-items:center; justify-content:center; box-shadow:0 0 30px rgba(44,212,244,.5); transition:.2s; }
.ais-video:hover .ais-video__play{ background:var(--cyan); box-shadow:0 0 40px rgba(44,212,244,.7); }
.ais-video__play svg{ width:26px; height:26px; color:var(--cyan); margin-left:3px; }
.ais-video:hover .ais-video__play svg{ color:#04121c; }
.ais-video__caption{ position:absolute; left:28px; right:28px; bottom:22px; text-align:center; }
.ais-video__caption .t{ font-family:var(--font-display); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#fff; font-size:1.05rem; }
.ais-video__caption .ais-link{ margin-top:8px; }

/* ============================================================
   CTA
   ============================================================ */
.ais-cta{ position:relative; text-align:center; padding:84px 0; border-top:1px solid var(--line); overflow:hidden; }
.ais-cta::before{ content:""; position:absolute; inset:0; background:radial-gradient(700px 240px at 18% 120%, rgba(44,212,244,.18), transparent 60%), radial-gradient(700px 240px at 82% 120%, rgba(44,212,244,.18), transparent 60%); pointer-events:none; }
.ais-cta__title{ position:relative; font-family:var(--font-display); font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--cyan); font-size:clamp(1.5rem,3vw,2.2rem); margin:0; text-shadow:0 0 32px rgba(44,212,244,.55), 0 0 11px rgba(44,212,244,.4); }
.ais-cta__sub{ position:relative; color:var(--text); margin:14px 0 30px; font-size:1.05rem; }

/* ============================================================
   FOOTER
   ============================================================ */
.ais-footer{ background:var(--bg-3); border-top:1px solid var(--line); padding:54px 0 30px; }
.ais-footer__top{ display:flex; flex-wrap:wrap; gap:30px; justify-content:space-between; align-items:flex-start; }
.ais-footer__tag{ color:var(--muted); max-width:32em; margin:14px 0 0; font-size:.92rem; }
.ais-footer__menu{ list-style:none; display:flex; flex-wrap:wrap; gap:8px 26px; margin:0; padding:0; }
.ais-footer__menu a{ color:#cdd9ea; font-family:var(--font-display); font-weight:500; letter-spacing:.1em; text-transform:uppercase; font-size:.72rem; }
.ais-footer__menu a:hover{ color:var(--cyan); }
.ais-footer__bottom{ margin-top:34px; padding-top:20px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; color:var(--muted); font-size:.8rem; }

/* ============================================================
   SINGLE PAGES & POSTS (dark, matches homepage)
   ============================================================ */
.ais-singular{ padding:120px 0 84px; }
.ais-singular__inner{ max-width:820px; }
.ais-singular__title{ font-family:var(--font-display); font-weight:500; text-transform:uppercase; letter-spacing:.04em; color:#fff; font-size:clamp(1.8rem,4vw,2.8rem); line-height:1.12; margin:0; }
.ais-singular__meta{ color:var(--muted); font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; margin:12px 0 0; }
.ais-singular__thumb{ margin:26px 0 0; border-radius:14px; overflow:hidden; }
.ais-rule{ width:60px; height:3px; background:var(--cyan); border:0; margin:22px 0; box-shadow:0 0 14px rgba(44,212,244,.6); }
.ais-rule.is-center{ margin:22px auto; }
.ais-content{ color:var(--text); font-size:1.05rem; line-height:1.8; }
.ais-content > *:first-child{ margin-top:0; }
.ais-content p{ margin:0 0 1.2em; }
.ais-content h2{ font-family:var(--font-display); color:#fff; text-transform:uppercase; letter-spacing:.03em; font-size:1.5rem; margin:1.6em 0 .5em; }
.ais-content h3{ font-family:var(--font-display); color:#fff; font-size:1.2rem; margin:1.4em 0 .4em; }
.ais-content a{ color:var(--cyan); text-decoration:underline; }
.ais-content a:hover{ color:var(--cyan-br); }
.ais-content img{ height:auto; border-radius:12px; margin:1.2em 0; }
.ais-content ul,.ais-content ol{ margin:0 0 1.2em 1.3em; }
.ais-content li{ margin:.4em 0; }
.ais-content blockquote{ border-left:3px solid var(--cyan); margin:1.5em 0; padding:.4em 0 .4em 1.2em; color:#cdd9ea; font-style:italic; background:rgba(44,212,244,.05); }
.ais-content code{ background:rgba(44,212,244,.1); padding:.1em .4em; border-radius:5px; font-size:.9em; }
.ais-content .wp-block-button__link{ display:inline-block; background:var(--cyan); color:#04121c; padding:12px 22px; border-radius:8px; text-decoration:none; font-family:var(--font-display); font-weight:600; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .ais-solutions__grid{ grid-template-columns:repeat(2,1fr); }
  .ais-stats__grid{ grid-template-columns:repeat(2,1fr); }
  .ais-stats__item:nth-child(3){ border-left:0; }
  .ais-stats__item:nth-child(3),.ais-stats__item:nth-child(4){ border-top:1px solid var(--line); }
  .ais-approach__grid{ grid-template-columns:1fr; gap:40px; }
  .ais-hero__media{ width:52%; opacity:.9; }
}
@media (max-width:820px){
  .ais-burger{ display:block; }
  .ais-nav{ position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0;
    background:var(--bg-2); border-bottom:1px solid var(--line); padding:8px 0 16px; display:none; }
  .ais-nav.is-open{ display:flex; }
  .ais-menu{ flex-direction:column; gap:0; }
  .ais-menu li{ padding:0 28px; }
  .ais-menu > li > a{ display:flex; padding:13px 0; border-bottom:1px solid var(--line); }
  .ais-menu .sub-menu{ position:static; display:block; background:transparent; border:0; box-shadow:none; padding:0 0 6px 14px; }
  .ais-nav .ais-btn{ margin:14px 28px 0; justify-content:center; }
  /* Hero: show the image as its own full banner above the text */
  .ais-hero__media{ position:relative; inset:auto; width:100%; aspect-ratio:5/4; opacity:1; background-position:center; }
  .ais-hero__media::after{ background:linear-gradient(0deg, var(--bg) 0%, rgba(6,12,24,0) 24%); }
  .ais-hero__inner{ padding:34px 0 60px; }
  .ais-hero__content{ max-width:none; }
}
@media (max-width:560px){
  .ais-solutions__grid{ grid-template-columns:1fr; }
  .ais-stats__grid{ grid-template-columns:1fr; }
  .ais-stats__item{ border-left:0; border-top:1px solid var(--line); }
  .ais-stats__item:first-child{ border-top:0; }
  .ais-trusted__inner{ justify-content:center; text-align:center; }
}
