/*
Theme Name: Olepsa Design Partner
Theme URI: https://olepsa.ai
Author: Olepsa AI
Author URI: https://olepsa.ai
Description: Enterprise-grade WordPress theme for Olepsa AI Design Partner Program. Dark sophisticated design with full Customizer integration.
Version: 1.1.0
License: Proprietary
Text Domain: olepsa
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
*/

/* ========================================
   DESIGN SYSTEM
======================================== */
:root {
    --color-bg:#06060a;--color-bg-elevated:#0c0c12;--color-bg-card:#111118;--color-bg-card-hover:#16161f;
    --color-accent-1:#6366f1;--color-accent-2:#8b5cf6;--color-accent-3:#a855f7;--color-cyan:#06b6d4;--color-emerald:#10b981;
    --color-text:#f8fafc;--color-text-secondary:#94a3b8;--color-text-tertiary:#64748b;
    --color-border:rgba(255,255,255,0.06);--color-border-hover:rgba(255,255,255,0.12);
    --gradient-primary:linear-gradient(135deg,var(--color-accent-1) 0%,var(--color-accent-2) 50%,var(--color-accent-3) 100%);
    --gradient-glow:linear-gradient(135deg,rgba(99,102,241,0.15) 0%,rgba(139,92,246,0.1) 50%,rgba(168,85,247,0.05) 100%);
    --font-display:'Sora',sans-serif;--font-body:'Inter',-apple-system,sans-serif;
    --spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2.5rem;--spacing-xl:4rem;--spacing-2xl:6rem;--spacing-3xl:10rem;
    --radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:32px;
    --transition:0.4s cubic-bezier(0.16,1,0.3,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6;overflow-x:hidden}

/* ========================================
   BACKGROUND
======================================== */
.bg-grid{position:fixed;inset:0;background-image:linear-gradient(rgba(99,102,241,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,0.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0}
.bg-glow{position:fixed;width:800px;height:800px;border-radius:50%;filter:blur(120px);opacity:0.4;pointer-events:none;z-index:0}
.bg-glow--1{top:-400px;left:-200px;background:radial-gradient(circle,rgba(99,102,241,0.3) 0%,transparent 70%)}
.bg-glow--2{top:50%;right:-300px;background:radial-gradient(circle,rgba(139,92,246,0.2) 0%,transparent 70%)}
.bg-glow--3{bottom:-200px;left:30%;background:radial-gradient(circle,rgba(6,182,212,0.15) 0%,transparent 70%)}

/* ========================================
   LAYOUT & TYPOGRAPHY
======================================== */
.container{max-width:1280px;margin:0 auto;padding:0 var(--spacing-md);position:relative;z-index:1}
section{padding:var(--spacing-3xl) 0;position:relative}
h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-0.03em;line-height:1.15}
h1{font-size:clamp(2.5rem,7vw,5rem);background:linear-gradient(135deg,var(--color-text) 0%,var(--color-text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
h2{font-size:clamp(1.75rem,4vw,3rem)}
h3{font-size:1.25rem;font-weight:600}
p{color:var(--color-text-secondary);font-size:1.3125rem}
.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.label{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:0.9375rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--color-accent-2);margin-bottom:var(--spacing-md)}
.label::before{content:'';width:8px;height:8px;background:var(--gradient-primary);border-radius:2px;transform:rotate(45deg)}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--color-border),transparent)}

/* ========================================
   HEADER — Issue 3: Bigger logo, more padding, admin bar offset
======================================== */
.header{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 0;background:rgba(6,6,10,0.85);backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border)}
.admin-bar .header{top:32px}
@media (max-width:782px){.admin-bar .header{top:46px}}
.header__inner{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:var(--spacing-xs);text-decoration:none;color:var(--color-text)}
.logo img{height:48px;width:auto}
.header__nav{display:flex;align-items:center;gap:2.25rem}
.header__nav-link{font-size:1.125rem;font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color 0.3s}
.header__nav-link:hover{color:var(--color-text)}
.header__social{display:flex;align-items:center}
.header__social a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:var(--transition)}
.header__social a:hover{background:rgba(99,102,241,0.1)}
.header__social svg{width:18px;height:18px;fill:var(--color-text-secondary);transition:fill 0.3s}
.header__social a:hover svg{fill:var(--color-text)}
.nav-cta{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:0.75rem 1.5rem;background:var(--gradient-primary);color:white;font-size:1.0625rem;font-weight:600;text-decoration:none;border-radius:100px;transition:var(--transition);box-shadow:0 0 30px rgba(99,102,241,0.3)}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 40px rgba(99,102,241,0.4)}
.nav-cta svg{width:16px;height:16px}
@media (max-width:800px){.header__nav-link{display:none}.header__social{display:none}}

/* ========================================
   HERO — Issue 3: More top padding to clear larger header
======================================== */
.hero{min-height:100vh;display:flex;align-items:center;padding-top:140px;position:relative;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(99,102,241,0.3) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 50%,rgba(217,70,239,0.15) 0%,transparent 50%),radial-gradient(ellipse 50% 30% at 20% 80%,rgba(6,182,212,0.1) 0%,transparent 50%),linear-gradient(180deg,#0f0a1a 0%,var(--color-bg) 100%)}
.admin-bar .hero{padding-top:172px}
.hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:center}
.hero__badge{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:0.5rem 1rem 0.5rem 0.5rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:100px;margin-bottom:var(--spacing-lg)}
.hero__badge-dot{width:24px;height:24px;background:rgba(16,185,129,0.15);border-radius:50%;display:flex;align-items:center;justify-content:center}
.hero__badge-dot::before{content:'';width:8px;height:8px;background:var(--color-emerald);border-radius:50%;animation:pulse 2s infinite}
.hero__badge span{font-size:1.0625rem;font-weight:500;color:var(--color-text-secondary)}
.hero h1{margin-bottom:var(--spacing-md)}
.hero__subtitle{font-size:1.5rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);max-width:540px;line-height:1.7}
.hero__cta-group{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}
.hero__visual{position:relative;display:flex;align-items:center;justify-content:center}
.hero__illustration{position:relative;width:100%;max-width:500px}
.hero__orb{position:absolute;border-radius:50%;filter:blur(60px);animation:float 8s ease-in-out infinite}
.hero__orb--1{width:300px;height:300px;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(99,102,241,0.4) 0%,transparent 70%)}
.hero__orb--2{width:200px;height:200px;top:20%;right:10%;background:radial-gradient(circle,rgba(139,92,246,0.3) 0%,transparent 70%);animation-delay:-2s}
.hero__orb--3{width:150px;height:150px;bottom:20%;left:10%;background:radial-gradient(circle,rgba(6,182,212,0.3) 0%,transparent 70%);animation-delay:-4s}
@media (max-width:1000px){.hero__inner{grid-template-columns:1fr;text-align:center}.hero__subtitle{margin-left:auto;margin-right:auto}.hero__cta-group{justify-content:center}.hero__visual{display:none}}

/* ========================================
   BUTTONS
======================================== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.625rem;padding:1rem 2rem;font-family:var(--font-body);font-size:1.125rem;font-weight:600;text-decoration:none;border-radius:100px;border:none;cursor:pointer;transition:var(--transition)}
.btn--primary{background:var(--gradient-primary);color:white;box-shadow:0 0 40px rgba(99,102,241,0.3)}
.btn--primary:hover{transform:translateY(-3px);box-shadow:0 20px 60px rgba(99,102,241,0.4)}
.btn--secondary{background:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-border)}
.btn--secondary:hover{border-color:var(--color-border-hover);background:var(--color-bg-card-hover);transform:translateY(-2px)}
.btn__icon{width:18px;height:18px;transition:transform 0.3s ease}
.btn:hover .btn__icon{transform:translateX(4px)}

/* ========================================
   PROBLEM
======================================== */
.problem{background:radial-gradient(ellipse 60% 40% at 20% 30%,rgba(245,158,11,0.1) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 80% 70%,rgba(249,115,22,0.08) 0%,transparent 50%),linear-gradient(180deg,var(--color-bg) 0%,#0d0a06 50%,var(--color-bg) 100%)}
.problem__header{text-align:center;max-width:700px;margin:0 auto var(--spacing-xl)}
.problem__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}
.problem-card{padding:var(--spacing-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:var(--transition);position:relative;overflow:hidden}
.problem-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#f59e0b,#f97316);opacity:0;transition:var(--transition)}
.problem-card:hover{border-color:var(--color-border-hover);transform:translateY(-8px);box-shadow:0 20px 60px rgba(0,0,0,0.3)}
.problem-card:hover::before{opacity:1}
.problem-card__icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(245,158,11,0.15) 0%,rgba(249,115,22,0.1) 100%);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}
.problem-card__icon svg{width:28px;height:28px;stroke:#f59e0b}
.problem-card h3{margin-bottom:var(--spacing-xs);color:var(--color-text)}
.problem-card p{font-size:1.1875rem;color:var(--color-text-tertiary);line-height:1.6}
@media (max-width:900px){.problem__grid{grid-template-columns:repeat(2,1fr)}}

/* ========================================
   SOLUTION
======================================== */
.solution{background:radial-gradient(ellipse 70% 50% at 80% 20%,rgba(6,182,212,0.12) 0%,transparent 50%),radial-gradient(ellipse 50% 40% at 10% 80%,rgba(20,184,166,0.08) 0%,transparent 50%),linear-gradient(180deg,var(--color-bg) 0%,#051212 50%,var(--color-bg) 100%)}
.solution__inner{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--spacing-2xl);align-items:center}
.solution__content h2{margin-bottom:var(--spacing-md)}
.solution__content>p{font-size:1.375rem;line-height:1.8;margin-bottom:var(--spacing-md)}
.solution__callout{padding:var(--spacing-md);background:var(--color-bg-card);border-left:3px solid var(--color-accent-1);border-radius:0 var(--radius-md) var(--radius-md) 0;margin-bottom:var(--spacing-md)}
.solution__callout p{color:var(--color-text);font-size:1.3125rem;font-style:italic}
.solution__industries{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:rgba(6,182,212,0.06);border:1px solid rgba(6,182,212,0.15);border-radius:var(--radius-md)}
.solution__industries svg{width:24px;height:24px;stroke:var(--color-cyan);flex-shrink:0;margin-top:2px}
.solution__industries p{color:var(--color-text-secondary);font-size:1.1875rem}
.solution__visual{position:relative;padding:var(--spacing-xl);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}
.solution__visual::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary)}
.architecture{display:flex;flex-direction:column;gap:var(--spacing-md)}
.architecture__layer{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:var(--transition)}
.architecture__layer:hover{border-color:var(--color-accent-1);transform:translateX(8px)}
.architecture__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--gradient-glow);border-radius:var(--radius-sm);flex-shrink:0}
.architecture__icon svg{width:24px;height:24px;stroke:var(--color-accent-2)}
.architecture__text h4{font-size:1.1875rem;font-weight:600;color:var(--color-text);margin-bottom:2px}
.architecture__text p{font-size:1.0625rem;color:var(--color-text-tertiary)}
@media (max-width:1000px){.solution__inner{grid-template-columns:1fr}}

/* ========================================
   BENEFITS
======================================== */
.benefits{background:radial-gradient(ellipse 60% 40% at 30% 20%,rgba(139,92,246,0.12) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 70% 80%,rgba(168,85,247,0.08) 0%,transparent 50%),linear-gradient(180deg,var(--color-bg) 0%,#0c0812 50%,var(--color-bg) 100%)}
.benefits__header{text-align:center;max-width:700px;margin:0 auto var(--spacing-xl)}
.benefits__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}
.benefit-card{padding:var(--spacing-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:var(--transition);position:relative;overflow:hidden}
.benefit-card::before{content:'';position:absolute;inset:0;background:var(--gradient-glow);opacity:0;transition:var(--transition)}
.benefit-card:hover{border-color:var(--color-accent-1);transform:translateY(-8px);box-shadow:0 20px 60px rgba(99,102,241,0.15)}
.benefit-card:hover::before{opacity:1}
.benefit-card__content{position:relative;z-index:1}
.benefit-card__icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--gradient-glow);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}
.benefit-card__icon svg{width:28px;height:28px;stroke:var(--color-accent-2)}
.benefit-card h3{margin-bottom:var(--spacing-xs)}
.benefit-card p{font-size:1.1875rem;color:var(--color-text-tertiary);line-height:1.6}
@media (max-width:900px){.benefits__grid{grid-template-columns:repeat(2,1fr)}}

/* ========================================
   COMMITMENT
======================================== */
.commitment{background:radial-gradient(ellipse 50% 40% at 70% 30%,rgba(16,185,129,0.1) 0%,transparent 50%),radial-gradient(ellipse 40% 30% at 20% 70%,rgba(20,184,166,0.08) 0%,transparent 50%),linear-gradient(180deg,var(--color-bg) 0%,#040d0a 50%,var(--color-bg) 100%)}
.commitment__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}
.commitment__content h2{margin-bottom:var(--spacing-sm)}
.commitment__content>p{margin-bottom:var(--spacing-lg)}
.commitment-list{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm)}
.commitment-list li{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:1.1875rem;line-height:1.6;transition:var(--transition)}
.commitment-list li:hover{border-color:var(--color-border-hover);transform:translateX(4px)}
.commitment-list li svg{width:20px;height:20px;stroke:var(--color-emerald);flex-shrink:0;margin-top:2px}
.commitment__assurance{padding:var(--spacing-xl);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.commitment__assurance::before{content:'';position:absolute;top:-100px;right:-100px;width:300px;height:300px;background:radial-gradient(circle,rgba(16,185,129,0.1) 0%,transparent 70%);pointer-events:none}
.commitment__assurance h3{font-size:1.75rem;font-family:var(--font-display);margin-bottom:var(--spacing-sm)}
.assurance-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}
.assurance-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:0.75rem 1.25rem;background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.2);border-radius:100px;font-size:1.125rem;font-weight:500;color:var(--color-emerald)}
.assurance-badge svg{width:16px;height:16px}
@media (max-width:900px){.commitment__inner{grid-template-columns:1fr}}

/* ========================================
   PHASES
======================================== */
.phases{background:radial-gradient(ellipse 40% 30% at 10% 50%,rgba(99,102,241,0.1) 0%,transparent 50%),radial-gradient(ellipse 30% 30% at 70% 70%,rgba(6,182,212,0.08) 0%,transparent 50%),var(--color-bg)}
.phases__header{text-align:center;max-width:600px;margin:0 auto var(--spacing-xl)}
.phases__timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);position:relative}
.phases__timeline::before{content:'';position:absolute;top:80px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--color-accent-1),var(--color-accent-2),var(--color-accent-3),var(--color-cyan));opacity:0.3;z-index:0}
.phase-card{padding:var(--spacing-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);position:relative;z-index:1;transition:var(--transition)}
.phase-card:hover{border-color:var(--color-border-hover);transform:translateY(-8px)}
.phase-card--active{border-color:var(--color-accent-1);background:linear-gradient(135deg,var(--color-bg-card) 0%,rgba(99,102,241,0.05) 100%)}
.phase-card--active::after{content:'NOW';position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);font-size:0.625rem;font-weight:700;letter-spacing:0.1em;color:var(--color-accent-2);padding:0.25rem 0.5rem;background:rgba(139,92,246,0.15);border-radius:4px}
.phase-number{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border:2px solid var(--color-border);border-radius:50%;font-size:1.125rem;font-weight:700;font-family:var(--font-display);color:var(--color-text-tertiary);margin-bottom:var(--spacing-md);transition:var(--transition)}
.phase-card--active .phase-number{background:var(--gradient-primary);border-color:transparent;color:white;box-shadow:0 0 30px rgba(99,102,241,0.3)}
.phase-card h3{margin-bottom:var(--spacing-xs)}
.phase-card p{font-size:1.125rem;color:var(--color-text-tertiary);line-height:1.6}
@media (max-width:1000px){.phases__timeline{grid-template-columns:repeat(2,1fr)}.phases__timeline::before{display:none}}

/* ========================================
   QUALIFICATIONS
======================================== */
.qualifications{background:radial-gradient(ellipse 50% 40% at 50% 50%,rgba(244,63,94,0.08) 0%,transparent 50%),linear-gradient(180deg,var(--color-bg) 0%,#0d0608 50%,var(--color-bg) 100%)}
.qualifications__inner{text-align:center;max-width:900px;margin:0 auto}
.qualifications__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-top:var(--spacing-xl);text-align:left}
.qual-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:var(--transition)}
.qual-item:hover{border-color:var(--color-border-hover);transform:translateX(8px)}
.qual-item__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--gradient-glow);border-radius:var(--radius-sm);flex-shrink:0}
.qual-item__icon svg{width:24px;height:24px;stroke:var(--color-accent-2)}
.qual-item p{font-size:1.1875rem;color:var(--color-text-secondary)}

/* ========================================
   CTA
======================================== */
.cta{padding:var(--spacing-3xl) 0;background:radial-gradient(ellipse 80% 50% at 50% 100%,rgba(99,102,241,0.2) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 20% 50%,rgba(139,92,246,0.1) 0%,transparent 50%),var(--color-bg)}
.cta__inner{text-align:center;max-width:800px;margin:0 auto;padding:var(--spacing-2xl);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);position:relative;overflow:hidden}
.cta__inner::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary)}
.cta__inner::after{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:600px;height:400px;background:radial-gradient(ellipse,rgba(99,102,241,0.15) 0%,transparent 70%);pointer-events:none}
.cta__content{position:relative;z-index:1}
.cta h2{margin-bottom:var(--spacing-sm)}
.cta p{margin-bottom:var(--spacing-lg);font-size:1.375rem}

/* ========================================
   CONTACT FORM
======================================== */
.contact-page{min-height:100vh;padding-top:160px;padding-bottom:var(--spacing-3xl);background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(99,102,241,0.2) 0%,transparent 50%)}
.admin-bar .contact-page{padding-top:192px}
.contact__inner{max-width:640px;margin:0 auto}
.contact__header{text-align:center;margin-bottom:var(--spacing-xl)}
.contact__header h1{margin-bottom:var(--spacing-md);font-size:clamp(1.75rem,4vw,3rem)}
.contact__form{padding:var(--spacing-xl);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);position:relative;overflow:hidden}
.contact__form::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary)}
.form-group{margin-bottom:var(--spacing-md)}
.form-group label{display:block;font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:0.5rem}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:0.875rem 1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-body);font-size:1.125rem;transition:border-color 0.3s;-webkit-appearance:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent-1);box-shadow:0 0 0 3px rgba(99,102,241,0.15)}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-tertiary)}
.form-group select{cursor:pointer}
.form-group select option{background:var(--color-bg-card);color:var(--color-text)}
.form-group textarea{min-height:140px;resize:vertical}
.form-submit{margin-top:var(--spacing-lg);text-align:center}
.form-submit .btn{width:100%;justify-content:center}

/* ========================================
   FOOTER
======================================== */
.footer{padding:4rem 0 2rem;border-top:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-bg) 0%,#040408 100%)}
.footer__top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer__brand p{font-size:1.125rem;color:var(--color-text-tertiary);line-height:1.7;margin-top:var(--spacing-sm);max-width:300px}
.footer__col h4{font-size:0.9375rem;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:var(--color-text-tertiary);margin-bottom:1.25rem}
.footer__col ul{list-style:none;display:flex;flex-direction:column;gap:0.75rem}
.footer__col a{font-size:1.125rem;color:var(--color-text-secondary);text-decoration:none;transition:color 0.3s}
.footer__col a:hover{color:var(--color-text)}
.footer__social{display:flex;gap:0.75rem;margin-top:0.25rem}
.footer__social a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;transition:var(--transition)}
.footer__social a:hover{border-color:var(--color-accent-1);background:rgba(99,102,241,0.1);transform:translateY(-2px)}
.footer__social svg{width:16px;height:16px;fill:var(--color-text-secondary)}
.footer__social a:hover svg{fill:var(--color-text)}
.footer__bottom{padding-top:2rem;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.footer__bottom p{font-size:1.0625rem;color:var(--color-text-tertiary)}
.footer__bottom a{color:var(--color-text-secondary);text-decoration:none;transition:color 0.3s}
.footer__bottom a:hover{color:var(--color-accent-2)}

/* ========================================
   MOBILE — Issue 6: Full optimisation
======================================== */
@media (max-width:600px){
    /* Global mobile spacing */
    .container{padding:0 1rem}
    section{padding:4rem 0}
    h2{font-size:1.75rem}
    p{font-size:1.1875rem}
    /* Cards full width with generous padding */
    .problem__grid,.benefits__grid,.qualifications__grid{grid-template-columns:1fr;gap:1rem}
    .problem-card,.benefit-card,.phase-card,.qual-item{padding:1.25rem 1.25rem}
    .problem-card h3,.benefit-card h3,.phase-card h3{font-size:1.1rem}
    .problem-card p,.benefit-card p,.phase-card p,.qual-item p{font-size:1.1875rem;line-height:1.7}
    /* Phases single column */
    .phases__timeline{grid-template-columns:1fr;gap:1rem}
    /* Commitment single column */
    .commitment__inner{grid-template-columns:1fr;gap:2rem}
    .commitment-list li{padding:0.875rem 1rem;font-size:1.1875rem;line-height:1.6}
    .commitment__assurance{padding:1.5rem}
    .commitment__assurance h3{font-size:1.4rem}
    .assurance-badges{gap:0.5rem}
    .assurance-badge{font-size:1.0625rem;padding:0.625rem 1rem}
    /* Solution stacked */
    .solution__inner{grid-template-columns:1fr;gap:2rem}
    .solution__visual{padding:1.25rem}
    .architecture__layer{padding:0.875rem}
    .architecture__text h4{font-size:1.125rem}
    .architecture__text p{font-size:1.0625rem}
    .solution__industries p{font-size:1.0625rem}
    .solution__callout p{font-size:1.125rem}
    /* CTA */
    .cta__inner{padding:2rem 1.5rem}
    .cta h2{font-size:1.5rem}
    .cta p{font-size:1.1875rem}
    /* Footer */
    .footer__top{grid-template-columns:1fr;gap:2rem}
    .footer__col a{font-size:1.125rem}
    .footer__col h4{font-size:0.9375rem}
    .footer__brand p{font-size:1.0625rem}
    .footer__bottom p{font-size:1rem}
    /* Contact */
    .contact__inner{padding:0 0.5rem}
    .contact__form{padding:1.5rem}
    .contact__header h1{font-size:1.75rem}
    .form-group label{font-size:1.125rem}
    .form-group input,.form-group select,.form-group textarea{font-size:1.0625rem}
    /* Hero */
    .hero{padding-top:120px;min-height:auto;padding-bottom:4rem}
    .hero__badge span{font-size:1rem}
    .hero__subtitle{font-size:1.25rem}
    .hero__cta-group{flex-direction:column;gap:0.75rem}
    .btn{width:100%;justify-content:center;font-size:1.125rem}
    .header__nav-link{font-size:1.0625rem}
    .nav-cta{font-size:1.0625rem}
    .label{font-size:0.875rem}
}

@media (max-width:768px) and (min-width:601px){
    .problem__grid,.benefits__grid{grid-template-columns:1fr 1fr}
    .phases__timeline{grid-template-columns:1fr 1fr}
    .qualifications__grid{grid-template-columns:1fr}
    .footer__top{grid-template-columns:1fr 1fr;gap:2rem}
}

/* ========================================
   ANIMATIONS
======================================== */
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.6;transform:scale(0.9)}}
@keyframes float{0%,100%{transform:translateY(0) rotate(0deg)}33%{transform:translateY(-20px) rotate(2deg)}66%{transform:translateY(10px) rotate(-2deg)}}
.reveal{opacity:0;transform:translateY(40px);transition:opacity 0.8s ease,transform 0.8s cubic-bezier(0.16,1,0.3,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:0.1s}.reveal-delay-2{transition-delay:0.2s}.reveal-delay-3{transition-delay:0.3s}.reveal-delay-4{transition-delay:0.4s}.reveal-delay-5{transition-delay:0.5s}
