/*
Theme Name: Alphire AI Agency — Divi Child
Theme URI: https://alphire.agency/
Description: Cinematic, human-centered futuristic child theme for Elegant Themes Divi, based on the Alphire AI Agency visual direction.
Author: Alphire Agency
Version: 1.0.0
Template: Divi
Text Domain: alphire-divi
*/

:root {
  --alphire-black: #03050a;
  --alphire-black-2: #07101a;
  --alphire-panel: #0a1622;
  --alphire-blue: #8fe7ff;
  --alphire-cyan: #00d9ff;
  --alphire-white: #f5fbff;
  --alphire-muted: #a8bdc9;
  --alphire-pink: #ff29d7;
  --alphire-orange: #ff9b18;
  --alphire-green: #00e6a7;
  --alphire-purple: #a96cff;
  --alphire-max: 1220px;
  --alphire-section: clamp(96px, 10vw, 170px);
}

/* WordPress / Divi reset for the custom Alphire front page */
body.alphire-home {
  background: var(--alphire-black);
  color: var(--alphire-white);
}
.alphire-home #page-container { overflow: hidden; }
.alphire-home #main-header,
.alphire-home #top-header,
.alphire-home #main-footer,
.alphire-home #footer-bottom { display: none !important; }
.alphire-home #et-main-area { padding-top: 0 !important; }

.alphire-site { background: var(--alphire-black); color: var(--alphire-white); }
.alphire-container { width: min(calc(100% - 48px), var(--alphire-max)); margin: 0 auto; }
.alphire-section { position: relative; padding: var(--alphire-section) 0; }
.alphire-section + .alphire-section { border-top: 1px solid rgba(0, 211, 255, .18); }

.alphire-kicker {
  margin: 0 0 14px;
  color: var(--alphire-cyan);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.alphire-title {
  margin: 0;
  font-size: clamp(42px, 5.2vw, 76px);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 300;
}
.alphire-title .accent { color: var(--alphire-cyan); }
.alphire-copy {
  max-width: 650px;
  color: var(--alphire-muted);
  font-size: 17px;
  line-height: 1.75;
}
.alphire-button {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 14px 22px;
  border: 1px solid var(--alphire-cyan);
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  background: rgba(0, 217, 255, .04);
  box-shadow: 0 0 22px rgba(0, 217, 255, .18), inset 0 0 18px rgba(0, 217, 255, .04);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.alphire-button:hover {
  color: #fff;
  background: rgba(0, 217, 255, .10);
  box-shadow: 0 0 32px rgba(0, 217, 255, .38);
  transform: translateY(-2px);
}

/* Header */
.alphire-header {
  position: absolute;
  z-index: 20;
  inset: 0 0 auto;
  padding: 22px 0;
}
.alphire-header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.alphire-brand { display:flex; align-items:center; gap:12px; text-decoration:none; color:#fff; }
.alphire-brand:hover { color:#fff; }
.alphire-brand img { width:38px; height:54px; object-fit:contain; mix-blend-mode:screen; }
.alphire-brand-name { font-size:22px; font-weight:300; letter-spacing:-.035em; }
.alphire-brand-name span { color:var(--alphire-cyan); font-style:italic; margin-left:6px; }
.alphire-nav { display:flex; align-items:center; gap:30px; }
.alphire-nav a { color:#e8f7fc; text-decoration:none; font-size:14px; }
.alphire-nav a:hover { color:var(--alphire-cyan); }
.alphire-menu-button { display:none; color:#fff; background:none; border:0; font-size:28px; }

/* Hero */
.alphire-hero {
  min-height: 900px;
  display:flex;
  align-items:center;
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 38%, rgba(0, 208, 255, .20), transparent 26%),
    radial-gradient(circle at 52% 72%, rgba(115, 49, 255, .13), transparent 25%),
    linear-gradient(110deg, #020307 0%, #030a13 46%, #03111e 100%);
}
.alphire-hero:before {
  content:"";
  position:absolute; inset:0; z-index:-1; opacity:.5;
  background-image:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.8) 0 1px, transparent 1.5px),
    radial-gradient(circle at 72% 18%, rgba(143,231,255,.8) 0 1px, transparent 1.5px),
    radial-gradient(circle at 85% 68%, rgba(255,255,255,.55) 0 1px, transparent 1.5px);
  background-size: 190px 190px, 260px 260px, 340px 340px;
}
.alphire-hero:after {
  content:"";
  position:absolute; z-index:-1;
  width:58vw; height:58vw; max-width:900px; max-height:900px;
  right:-12vw; top:8%;
  border-radius:50%;
  border:1px solid rgba(0, 217, 255, .42);
  box-shadow: 0 0 80px rgba(0, 217, 255, .12), inset 0 0 80px rgba(0, 217, 255, .08);
}
.alphire-hero-grid { display:grid; grid-template-columns: 1fr 1.15fr; gap:40px; align-items:center; }
.alphire-hero-brand { display:flex; align-items:center; gap:24px; margin-bottom:28px; }
.alphire-hero-brand img { width:86px; height:116px; object-fit:contain; mix-blend-mode:screen; }
.alphire-hero-brand-text { font-size:clamp(50px, 7vw, 92px); line-height:.88; font-weight:300; letter-spacing:-.055em; }
.alphire-hero-brand-text span { display:block; font-size:.54em; margin:10px 0 0 16%; font-style:italic; color:var(--alphire-cyan); }
.alphire-hero h1 { font-size:clamp(28px, 3.1vw, 46px); line-height:1.12; font-weight:300; margin:0 0 22px; }
.alphire-hero h1 strong { color:var(--alphire-cyan); font-weight:400; }
.alphire-hero p { max-width:540px; color:#c2d0d7; line-height:1.7; font-size:17px; margin:0 0 30px; }
.alphire-hero-visual {
  min-height:560px;
  border-radius: 50% 45% 52% 48% / 48% 52% 48% 52%;
  background:
    radial-gradient(circle at 58% 48%, rgba(255,171,64,.42), transparent 10%),
    radial-gradient(circle at 52% 52%, rgba(0,217,255,.48), transparent 24%),
    radial-gradient(circle at 50% 50%, #15334d 0 14%, #08131e 38%, #02050a 70%);
  box-shadow: 0 0 100px rgba(0,217,255,.15);
  position:relative;
  overflow:hidden;
}
.alphire-hero-visual:before {
  content:"";
  position:absolute; inset:9%;
  border-radius:50%;
  border:1px solid rgba(143,231,255,.55);
  box-shadow:0 0 35px rgba(0,217,255,.18);
}
.alphire-hero-visual:after {
  content:"";
  position:absolute; left:5%; right:-15%; top:50%;
  height:1px; transform:rotate(-17deg);
  background:linear-gradient(90deg, transparent, var(--alphire-cyan), transparent);
  box-shadow:0 0 12px var(--alphire-cyan);
}

/* Services */
.alphire-services { padding-top:80px; padding-bottom:130px; }
.alphire-service-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:48px; }
.alphire-service {
  padding:24px 26px;
  min-height:150px;
  border-right:1px solid rgba(0,217,255,.17);
  text-align:center;
}
.alphire-service:last-child { border-right:0; }
.alphire-service-icon {
  width:54px; height:54px; margin:0 auto 16px;
  border:1px solid currentColor; border-radius:50%;
  display:grid; place-items:center; font-size:23px;
  box-shadow:0 0 24px currentColor;
}
.alphire-service:nth-child(1) { color:#00d9ff; }
.alphire-service:nth-child(2) { color:#ff29d7; }
.alphire-service:nth-child(3) { color:#ff9b18; }
.alphire-service:nth-child(4) { color:#00e6a7; }
.alphire-service:nth-child(5) { color:#a96cff; }
.alphire-service h3 { color:#fff; font-size:16px; margin:0 0 8px; }
.alphire-service p { color:#a8bdc9; font-size:13px; line-height:1.45; margin:0; }

/* Split feature */
.alphire-split { display:grid; grid-template-columns:1fr 1.2fr; min-height:650px; }
.alphire-split-copy { padding:var(--alphire-section) max(40px, calc((100vw - var(--alphire-max))/2)) var(--alphire-section) 0; display:flex; flex-direction:column; justify-content:center; }
.alphire-split-image {
  min-height:650px;
  background:
    radial-gradient(circle at 56% 40%, rgba(255,174,87,.62), transparent 9%),
    linear-gradient(135deg, rgba(0,217,255,.22), rgba(0,0,0,.05)),
    linear-gradient(145deg, #153e4e, #0b1721 50%, #173c28);
  position:relative;
  clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);
}
.alphire-split-image:after {
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(3,5,10,.85), transparent 32%), linear-gradient(0deg, rgba(3,5,10,.18), transparent 40%);
}
.alphire-side-tag { position:absolute; right:9%; top:14%; z-index:1; color:#fff; font-size:14px; letter-spacing:.08em; line-height:1.5; text-align:right; text-transform:uppercase; }

/* Work */
.alphire-work-grid { display:grid; grid-template-columns: 1fr 1.7fr; gap:70px; align-items:center; }
.alphire-work-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:3px; }
.alphire-work-card { min-height:360px; position:relative; overflow:hidden; background:#0a1118; }
.alphire-work-card:nth-child(1){background:linear-gradient(145deg,#17144a,#ff168e 60%,#070b12);}
.alphire-work-card:nth-child(2){background:linear-gradient(145deg,#213d18,#ff9d36 60%,#07110c);}
.alphire-work-card:nth-child(3){background:linear-gradient(145deg,#0d3451,#0b9ebc 55%,#08111a);}
.alphire-work-card:nth-child(4){background:linear-gradient(145deg,#102a22,#0e5f7c 55%,#050a0d);}
.alphire-work-card:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.75),transparent 60%); }
.alphire-work-card span { position:absolute; z-index:1; left:16px; bottom:16px; color:#fff; font-size:11px; letter-spacing:.09em; text-transform:uppercase; }

/* Mission */
.alphire-mission {
  min-height:620px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 80% 30%, rgba(255,191,83,.25), transparent 16%),
    linear-gradient(90deg, rgba(3,5,10,.98) 0%, rgba(3,5,10,.72) 42%, rgba(3,5,10,.12) 100%),
    linear-gradient(160deg,#173d52,#0a2119 60%,#020507);
}
.alphire-mission .alphire-copy { color:#c5d3d9; }

/* Footer */
.alphire-footer { border-top:1px solid rgba(0,217,255,.18); padding:34px 0 44px; background:#020407; }
.alphire-footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.alphire-footer small { color:#718691; }
.alphire-footer-nav { display:flex; gap:24px; }
.alphire-footer-nav a { color:#a9bdc7; text-decoration:none; font-size:13px; }
.alphire-footer-nav a:hover { color:var(--alphire-cyan); }

/* Accessibility / motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
:focus-visible { outline:2px solid var(--alphire-cyan); outline-offset:4px; }

@media (max-width: 980px) {
  .alphire-nav { display:none; }
  .alphire-menu-button { display:block; }
  .alphire-hero { min-height:auto; padding:150px 0 90px; }
  .alphire-hero-grid, .alphire-split, .alphire-work-grid { grid-template-columns:1fr; }
  .alphire-hero-visual { min-height:480px; order:-1; }
  .alphire-service-grid { grid-template-columns:repeat(2,1fr); }
  .alphire-service { border-bottom:1px solid rgba(0,217,255,.17); }
  .alphire-split-copy { padding:90px 24px; }
  .alphire-split-image { min-height:500px; clip-path:none; }
  .alphire-work-cards { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 600px) {
  .alphire-container { width:min(calc(100% - 30px),var(--alphire-max)); }
  .alphire-header { padding:14px 0; }
  .alphire-brand-name { font-size:18px; }
  .alphire-hero-brand-text { font-size:50px; }
  .alphire-hero-brand img { width:62px; height:86px; }
  .alphire-hero-visual { min-height:330px; }
  .alphire-service-grid, .alphire-work-cards { grid-template-columns:1fr; }
  .alphire-service { border-right:0; }
  .alphire-work-card { min-height:240px; }
  .alphire-footer-inner { flex-direction:column; align-items:flex-start; }
}
