/*
Theme Name: ABA Consulting
Theme URI: https://abaconsulting.example/
Author: ABA Consulting
Author URI: https://abaconsulting.example/
Description: Executive analytics landing theme for ABA Consulting — Power BI for CFOs & COOs. "Illuminated Depth" design direction with a dark surface, brand orange accents, radial glow hero, services, case studies, testimonials, process, Reporting Health Check lead magnet, pricing, about and contact.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aba-consulting
Tags: business, one-page, dark, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ===== Design tokens (HSL) ===== */
:root{
  --background: 230 24% 4%;
  --foreground: 218 28% 94%;
  --surface: 226 22% 8%;
  --surface-elevated: 222 24% 12%;
  --executive-muted: 220 12% 68%;
  --brand-orange: 34 95% 54%;
  --primary-foreground: 0 0% 100%;
  --border: 218 28% 22%;
  --cyan: 190 100% 58%;
  --gradient-cta: linear-gradient(135deg, hsl(var(--brand-orange)), hsl(29 96% 47%));
  --shadow-executive: 0 24px 80px hsl(0 0% 0% / 0.42);
  --shadow-glow: 0 18px 54px hsl(var(--brand-orange) / 0.28);
  --radius: 0.5rem;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; padding:0;
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font: inherit; cursor:pointer; }

.container{ width: min(1200px, calc(100% - 2rem)); margin-inline:auto; }
.text-center{ text-align:center; }
.text-balance{ text-wrap: balance; }

/* ===== Header ===== */
.site-header{
  position: sticky; top:0; z-index:50;
  border-bottom: 1px solid hsl(var(--border) / 0.6);
  background: hsl(var(--background) / 0.8);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.site-header .nav{
  height: 5rem;
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}
.site-header .logo img{ height:48px; width:auto; max-width:13rem; border-radius:.375rem; object-fit:contain; transition: transform .25s ease; }
.site-header .logo img:hover{ transform: scale(1.05); }
.site-header nav.menu{ display:none; gap:2rem; font-size:.875rem; font-weight:600; color: hsl(var(--executive-muted)); }
.site-header nav.menu a{ position:relative; }
.site-header nav.menu a:hover{ color: hsl(var(--foreground)); }
.site-header nav.menu a::after{
  content:""; position:absolute; left:0; bottom:-6px; height:2px; width:100%;
  background: hsl(var(--brand-orange));
  transform: scaleX(0); transform-origin:right;
  transition: transform .35s cubic-bezier(.22,1,.36,1);
}
.site-header nav.menu a:hover::after{ transform: scaleX(1); transform-origin:left; }
.btn-cta{
  display:none;
  align-items:center; justify-content:center;
  border-radius:9999px; padding:.75rem 1.25rem;
  background: var(--gradient-cta); color: hsl(var(--primary-foreground));
  font-size:.875rem; font-weight:700;
  box-shadow: var(--shadow-glow);
  transition: transform .2s ease;
}
.btn-cta:hover{ transform: translateY(-2px); }
@media(min-width: 768px){
  .site-header nav.menu{ display:flex; }
  .btn-cta{ display:inline-flex; }
}

/* ===== Buttons ===== */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height: 3.5rem; padding: 0 2rem;
  border-radius:9999px; font-weight:700;
  transition: transform .2s ease, border-color .2s ease;
}
.btn-primary{ background: var(--gradient-cta); color: hsl(var(--primary-foreground)); box-shadow: var(--shadow-glow); }
.btn-primary:hover{ transform: translateY(-4px); }
.btn-secondary{
  border:1px solid hsl(var(--border));
  background: hsl(var(--surface) / 0.7);
  color: hsl(var(--foreground));
  backdrop-filter: blur(8px);
}
.btn-secondary:hover{ transform: translateY(-4px); border-color: hsl(var(--brand-orange) / 0.5); }

/* ===== Sections shared ===== */
section{ position:relative; overflow:hidden; }
.section-pad{ padding: 6rem 0; }
.eyebrow{
  font-size:.75rem; font-weight:700; text-transform:uppercase;
  letter-spacing: .18em; color: hsl(var(--brand-orange));
  margin: 0 0 .75rem;
}
h1,h2,h3{ color: hsl(var(--foreground)); margin:0; letter-spacing:-0.01em; }
h1{ font-size: clamp(2.5rem, 5vw, 4.5rem); font-weight:600; line-height:1.05; }
h2{ font-size: clamp(2rem, 3.5vw, 3rem); font-weight:600; }
h3{ font-size:1.25rem; font-weight:700; }
p{ color: hsl(var(--executive-muted)); }

/* Patterns */
.pattern-dots{ background-image: radial-gradient(hsl(var(--foreground) / 0.08) 1px, transparent 1px); background-size:22px 22px; }
.pattern-grid{
  background-image:
    linear-gradient(hsl(var(--foreground) / 0.05) 1px, transparent 1px),
    linear-gradient(90deg, hsl(var(--foreground) / 0.05) 1px, transparent 1px);
  background-size:44px 44px;
}
.pattern-diagonal{
  background-image: repeating-linear-gradient(135deg, hsl(var(--brand-orange) / 0.05) 0 1px, transparent 1px 14px);
}

/* ===== Hero ===== */
.hero{ isolation: isolate; }
.hero .glow{
  position:absolute; left:50%; top:33%;
  transform: translate(-50%, -50%) scale(2);
  width: 100%; max-width: 1400px; aspect-ratio: 16/9;
  filter: blur(64px); opacity:.6; z-index:-1;
  background: radial-gradient(circle, hsl(var(--brand-orange) / 0.22) 0%, hsl(var(--background)) 70%);
  pointer-events:none;
}
.hero .inner{ padding: 6rem 0; }
@media(min-width:768px){ .hero .inner{ padding: 8rem 0; } }
.hero .badge{
  display:inline-flex; align-items:center; gap:.5rem;
  border:1px solid hsl(var(--border) / 0.7);
  background: hsl(var(--surface) / 0.6);
  padding:.375rem 1rem; border-radius:9999px;
  font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.18em;
  color: hsl(var(--executive-muted));
  backdrop-filter: blur(8px);
}
.hero .badge .dot{
  width:.375rem; height:.375rem; border-radius:9999px;
  background: hsl(var(--brand-orange));
  animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse{ 0%,100%{opacity:1;} 50%{opacity:.4;} }
.hero h1{ margin-top: 1.5rem; }
.hero h1 .accent{ color: hsl(var(--brand-orange)); }
.hero .lede{ max-width: 36rem; margin: 1.5rem auto 0; font-size:1.125rem; line-height:1.7; color: hsl(var(--executive-muted)); }
@media(min-width:768px){ .hero .lede{ font-size:1.25rem; } }
.hero .ctas{ margin-top: 2.5rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.75rem; }
@media(min-width:640px){ .hero .ctas{ flex-direction:row; } }
.hero .micro{ margin-top:1rem; font-size:.75rem; color: hsl(var(--executive-muted)); }

.trust-dash{ margin-top:6rem; display:grid; gap:3rem; }
@media(min-width:1024px){ .trust-dash{ grid-template-columns: 1fr 1fr; align-items:center; } }
.trust h2{ font-size:.875rem; font-weight:700; text-transform:uppercase; letter-spacing:.18em; color: hsl(var(--executive-muted)); margin-bottom:1.5rem; }
.trust .top-rule{ border-top:1px solid hsl(var(--border) / 0.6); padding-top:2rem; }
.trust dl{ display:grid; gap:2rem; grid-template-columns: repeat(1, 1fr); margin:0; }
@media(min-width:640px){ .trust dl{ grid-template-columns: repeat(3, 1fr); } }
.trust dt{ font-size:3rem; font-weight:700; color: hsl(var(--brand-orange)); font-variant-numeric: tabular-nums; }
.trust dd{ margin:.25rem 0 0; font-size:.875rem; font-weight:500; color: hsl(var(--executive-muted)); }

.dash-card-wrap{ position:relative; }
.dash-card-wrap::before{
  content:""; position:absolute; inset:-1.5rem; border-radius:2rem; opacity:.6;
  background: radial-gradient(circle, hsl(var(--brand-orange) / 0.12) 0%, transparent 65%);
}
.dash-card{
  position:relative;
  border-radius:1rem; border:1px solid hsl(var(--border) / 0.6);
  background: hsl(var(--surface-elevated) / 0.7);
  padding: 1.5rem;
  box-shadow: var(--shadow-executive);
  backdrop-filter: blur(16px);
  animation: float-soft 7s ease-in-out infinite;
}
@keyframes float-soft{ 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-10px);} }
.dash-head{ display:flex; align-items:center; gap:.5rem; margin-bottom:1.25rem; }
.dash-head .dot{ width:.625rem; height:.625rem; border-radius:9999px; background: hsl(var(--foreground) / 0.3); }
.dash-head .lbl{ margin-left:.75rem; font-size:.75rem; font-weight:600; color: hsl(var(--executive-muted)); }
.kpis{ display:grid; grid-template-columns: 1fr 1fr; gap:.75rem; }
.kpi{ border:1px solid hsl(var(--border) / 0.4); background: hsl(var(--surface) / 0.7); padding:1rem; border-radius:.75rem; }
.kpi .l{ font-size:.75rem; color: hsl(var(--executive-muted)); }
.kpi .v{ display:block; font-size:1.5rem; font-weight:700; color: hsl(var(--foreground)); }
.kpi .d{ font-size:.75rem; color: hsl(var(--brand-orange)); }
.bars{ margin-top:.75rem; display:flex; align-items:flex-end; gap:.5rem; height:10rem; padding:1rem; border-radius:.75rem; border:1px solid hsl(var(--border) / 0.4); background: hsl(var(--surface) / 0.7); }
.bars span{ flex:1; background: var(--gradient-cta); border-radius: .375rem .375rem 0 0; transform-origin: bottom; }
.mini-grid{ margin-top:.75rem; display:grid; grid-template-columns: repeat(3, 1fr); gap:.75rem; }
.mini-grid > div{ border:1px solid hsl(var(--border) / 0.4); background: hsl(var(--surface) / 0.7); padding:.75rem; border-radius:.75rem; text-align:center; }
.mini-grid .l{ font-size:.75rem; color: hsl(var(--executive-muted)); }
.mini-grid .v{ font-size:.875rem; font-weight:700; color: hsl(var(--foreground)); }

/* ===== Problem / transformation ===== */
.problem{ border-block:1px solid hsl(var(--border) / 0.6); }
.problem .grid{ display:grid; gap:3rem; align-items:center; }
@media(min-width:1024px){ .problem .grid{ grid-template-columns: 1fr 1fr; } }
.problem ul{ list-style:none; padding:0; margin: 2rem 0 0; display:grid; gap:1rem; font-size:1.125rem; color: hsl(var(--executive-muted)); }
.problem ul li{ display:flex; gap:.75rem; }
.problem ul li::before{ content:""; width:.375rem; height:.375rem; border-radius:9999px; background: hsl(var(--brand-orange)); margin-top:.625rem; flex-shrink:0; }
.flow{ display:grid; gap:.75rem; font-weight:600; }
.flow .a{ border:1px solid hsl(var(--border)); background: hsl(var(--surface)); padding:1.5rem; border-radius:1rem; color: hsl(var(--executive-muted)); text-decoration: line-through; text-decoration-color: hsl(var(--brand-orange) / 0.4); }
.flow .arrow{ padding-left:1.5rem; font-size:1.5rem; color: hsl(var(--brand-orange)); }
.flow .b{ border:1px solid hsl(var(--border) / 0.6); background: hsl(var(--surface-elevated)); padding:1.5rem; border-radius:1rem; color: hsl(var(--foreground)); box-shadow: var(--shadow-executive); }
.flow .c{ background: var(--gradient-cta); padding:1.5rem; border-radius:1rem; color: hsl(var(--primary-foreground)); box-shadow: var(--shadow-glow); }

/* ===== Cards grids ===== */
.section-head{ max-width: 48rem; margin:0 auto 3.5rem; }
.cards{ display:grid; gap:1.25rem; grid-template-columns:1fr; }
@media(min-width:768px){ .cards.cols-2{ grid-template-columns: 1fr 1fr; } .cards.cols-3{ grid-template-columns: 1fr 1fr; } .cards.cols-4{ grid-template-columns: 1fr 1fr; } }
@media(min-width:1024px){ .cards.cols-3{ grid-template-columns: repeat(3, 1fr); } .cards.cols-4{ grid-template-columns: repeat(4, 1fr); } }

.card{
  position:relative; overflow:hidden;
  border-radius:1rem; border:1px solid hsl(var(--border));
  background: hsl(var(--surface));
  padding:1.75rem;
  box-shadow: var(--shadow-executive);
  transition: transform .4s ease, border-color .4s ease, box-shadow .4s ease;
}
.card:hover{ transform: translateY(-4px); border-color: hsl(var(--brand-orange) / 0.4); box-shadow: var(--shadow-glow); }
.card .icon-square{ height:2.5rem; width:2.5rem; border-radius: .75rem; background: var(--gradient-cta); box-shadow: var(--shadow-glow); margin-bottom:1.25rem; }
.card h3{ margin-bottom:.75rem; }
.card p{ color: hsl(var(--executive-muted)); }
.card .meta{ margin-top:1.5rem; display:flex; flex-wrap:wrap; gap:.5rem; border-top:1px solid hsl(var(--border) / 0.6); padding-top:1rem; font-size:.75rem; }
.chip{ display:inline-flex; align-items:center; gap:.25rem; border:1px solid hsl(var(--border) / 0.6); background: hsl(var(--background) / 0.5); padding:.25rem .75rem; border-radius:9999px; font-weight:600; color: hsl(var(--executive-muted)); }
.chip-orange{ border-color: hsl(var(--brand-orange) / 0.3); background: hsl(var(--brand-orange) / 0.1); color: hsl(var(--brand-orange)); }

/* ===== Results / case studies ===== */
.results{ border-block:1px solid hsl(var(--border) / 0.6); background: hsl(var(--surface-elevated) / 0.4); }
.results .case{ position:relative; }
.results .case::before{ content:""; position:absolute; inset:0 0 auto 0; height:.25rem; background: var(--gradient-cta); }
.case .industry{ font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color: hsl(var(--executive-muted)); margin:0; }
.case h3{ margin-top:.75rem; line-height:1.35; }
.case .result{ margin-top:.75rem; color: hsl(var(--executive-muted)); }
.case .metric{ margin-top:1.5rem; display:inline-flex; align-items:center; gap:.5rem; background: hsl(var(--brand-orange) / 0.1); padding:.5rem 1rem; border-radius:9999px; font-size:.875rem; font-weight:700; color: hsl(var(--brand-orange)); }

/* ===== Testimonials ===== */
.quote-mark{ font-size:2.25rem; line-height:1; color: hsl(var(--brand-orange)); }
.testimonial blockquote{ margin:.5rem 0 0; font-size:1rem; line-height:1.75; color: hsl(var(--foreground) / 0.9); }
.testimonial figcaption{ margin-top:1.5rem; border-top:1px solid hsl(var(--border) / 0.6); padding-top:1rem; }
.testimonial .name{ font-weight:700; color: hsl(var(--foreground)); }
.testimonial .co{ font-size:.875rem; color: hsl(var(--executive-muted)); }

/* ===== Process ===== */
.process{ border-block:1px solid hsl(var(--border) / 0.6); background: hsl(var(--surface-elevated) / 0.4); }
.process .num{ display:block; font-weight:900; color: hsl(var(--brand-orange)); margin-bottom:2rem; }
.process .accent-bar{ position:absolute; right:1rem; top:1rem; height:.25rem; width:3rem; border-radius:9999px; background: var(--gradient-cta); opacity:.6; }
.process .card p{ font-size:.875rem; }

/* ===== Health Check ===== */
.healthcheck .glow{
  position:absolute; left:50%; top:50%;
  transform: translate(-50%, -50%) scale(1.1);
  width:100%; max-width:1000px; aspect-ratio:1; filter: blur(64px); opacity:.4; z-index:-1;
  background: radial-gradient(circle, hsl(var(--brand-orange) / 0.18) 0%, transparent 70%);
}
.healthcheck .container{ width: min(1000px, calc(100% - 2rem)); }
.healthcheck .panel{
  border-radius:1.5rem; border:1px solid hsl(var(--border));
  background: hsl(var(--surface-elevated) / 0.7);
  padding: 2.5rem;
  backdrop-filter: blur(16px);
}
@media(min-width:768px){ .healthcheck .panel{ padding: 3.5rem; } }
.healthcheck .grid{ display:grid; gap:2.5rem; align-items:center; }
@media(min-width:768px){ .healthcheck .grid{ grid-template-columns: 1.2fr 0.8fr; } }
.healthcheck h2{ font-size: clamp(1.75rem, 3vw, 2.25rem); }
.healthcheck ul{ list-style:none; margin: 1.25rem 0 0; padding:0; display:grid; gap:.5rem; color: hsl(var(--foreground) / 0.9); }
.healthcheck ul li{ display:flex; gap:.75rem; }
.healthcheck ul li::before{ content:""; width:.375rem; height:.375rem; border-radius:9999px; background: hsl(var(--brand-orange)); margin-top:.5rem; flex-shrink:0; }
.healthcheck .ctas{ margin-top:2rem; display:flex; flex-direction:column; gap:.75rem; }
@media(min-width:640px){ .healthcheck .ctas{ flex-direction:row; } }
.score-card{ border-radius:1rem; border:1px solid hsl(var(--border) / 0.6); background: hsl(var(--surface)); padding:1.5rem; box-shadow: var(--shadow-executive); display:none; }
@media(min-width:768px){ .score-card{ display:block; } }
.score-card .lbl{ font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color: hsl(var(--executive-muted)); }
.score-card .num{ font-size:3.75rem; font-weight:700; color: hsl(var(--brand-orange)); font-variant-numeric:tabular-nums; }
.score-card .mu{ color: hsl(var(--executive-muted)); margin-left:.5rem; }
.score-card .bar{ margin-top:1rem; height:.5rem; border-radius:9999px; background: hsl(var(--border)); overflow:hidden; }
.score-card .bar > div{ height:100%; width:62%; border-radius:9999px; background: var(--gradient-cta); }
.score-card .rows{ margin-top:1.5rem; display:grid; gap:.5rem; font-size:.875rem; }
.score-card .row{ display:flex; justify-content:space-between; color: hsl(var(--foreground)); }
.score-card .row .o{ color: hsl(var(--brand-orange)); }

/* ===== Pricing ===== */
.pricing{ border-block:1px solid hsl(var(--border) / 0.6); background: hsl(var(--surface-elevated) / 0.4); }
.pricing .cards{ grid-template-columns:1fr; }
@media(min-width:1024px){ .pricing .cards{ grid-template-columns: repeat(3, 1fr); } }
.tier{ border-radius:1rem; border:1px solid hsl(var(--border)); background: hsl(var(--surface)); padding:2rem; box-shadow: var(--shadow-executive); transition: transform .3s ease; position:relative; overflow:hidden; }
.tier:hover{ transform: translateY(-4px); }
.tier.featured{ border-color: hsl(var(--brand-orange) / 0.6); box-shadow: 0 0 0 1px hsl(var(--brand-orange) / 0.3), var(--shadow-executive); }
.tier .badge{ position:absolute; right:1rem; top:1rem; background: var(--gradient-cta); color: hsl(var(--primary-foreground)); padding:.25rem .75rem; border-radius:9999px; font-size:.75rem; font-weight:700; box-shadow: var(--shadow-glow); }
.tier h3{ font-size:1.5rem; }
.tier .price{ margin-top:.75rem; font-size:1.875rem; font-weight:700; color: hsl(var(--brand-orange)); }
.tier .desc{ margin-top:.75rem; }
.tier ul{ list-style:none; margin:1.5rem 0; padding:1.5rem 0; border-block:1px solid hsl(var(--border) / 0.6); display:grid; gap:.75rem; font-size:.875rem; }
.tier ul li{ display:flex; gap:.75rem; color: hsl(var(--foreground) / 0.9); }
.tier ul li::before{ content:"✓"; font-weight:700; color: hsl(var(--brand-orange)); }
.tier .tier-cta{ display:inline-flex; width:100%; align-items:center; justify-content:center; padding:.75rem 1.25rem; border-radius:9999px; font-weight:700; transition: transform .2s ease, color .2s ease, border-color .2s ease; }
.tier-cta.primary{ background: var(--gradient-cta); color: hsl(var(--primary-foreground)); box-shadow: var(--shadow-glow); }
.tier-cta.primary:hover{ transform: translateY(-2px); }
.tier-cta.outline{ border:1px solid hsl(var(--border)); color: hsl(var(--foreground)); }
.tier-cta.outline:hover{ border-color: hsl(var(--brand-orange)); color: hsl(var(--brand-orange)); }

/* ===== About ===== */
.about .grid{ display:grid; gap:3rem; align-items:center; }
@media(min-width:1024px){ .about .grid{ grid-template-columns: 1fr 1fr; } }
.about .stats{ margin-top:2rem; display:grid; grid-template-columns: 1fr 1fr; gap:1rem; }
.about .stat{ border-radius:1rem; border:1px solid hsl(var(--border)); background: hsl(var(--surface)); padding:1.25rem; }
.about .stat .lbl{ font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color: hsl(var(--executive-muted)); }
.about .stat .v{ margin-top:.25rem; font-weight:700; color: hsl(var(--foreground)); }
.about .pillars{ display:grid; gap:1rem; }
.about .pillar{
  display:grid; grid-template-columns: 3rem 1fr; gap:1rem;
  border-radius:1rem; border:1px solid hsl(var(--border));
  background: hsl(var(--surface)); padding:1.5rem;
  box-shadow: var(--shadow-executive);
  transition: border-color .3s ease;
}
.about .pillar:hover{ border-color: hsl(var(--brand-orange) / 0.4); }
.about .pillar strong{ color: hsl(var(--brand-orange)); }
.about .pillar span{ color: hsl(var(--foreground)); font-weight:500; }

/* ===== Contact ===== */
.contact{ border-top:1px solid hsl(var(--border) / 0.6); }
.contact .glow{
  position:absolute; left:50%; top:50%;
  transform: translate(-50%,-50%) scale(1.5);
  width:100%; max-width:1200px; aspect-ratio:16/9; filter: blur(64px); opacity:.5; z-index:-1;
  background: radial-gradient(circle, hsl(var(--brand-orange) / 0.18) 0%, transparent 70%);
}
.contact .grid{ display:grid; gap:2.5rem; }
@media(min-width:1024px){ .contact .grid{ grid-template-columns: 1.1fr 0.9fr; } }
.contact h2{ font-size: clamp(2rem, 4vw, 3.5rem); }
.contact .checks{ margin-top:2rem; display:grid; gap:.75rem; font-size:.875rem; color: hsl(var(--executive-muted)); }
.contact .checks div{ display:flex; align-items:center; gap:.75rem; }
.contact .checks .ok{ color: hsl(var(--brand-orange)); }
.contact form{
  border-radius:1rem; border:1px solid hsl(var(--border));
  background: hsl(var(--surface-elevated) / 0.7);
  padding:1.5rem; backdrop-filter: blur(16px);
  box-shadow: var(--shadow-executive);
}
.contact .row{ display:grid; gap:1rem; grid-template-columns:1fr; }
@media(min-width:640px){ .contact .row{ grid-template-columns: 1fr 1fr; } }
.contact input, .contact select, .contact textarea{
  width:100%; padding:1rem; border-radius:.75rem;
  border:1px solid hsl(var(--border)); background: hsl(var(--surface));
  color: hsl(var(--foreground)); font: inherit;
  transition: border-color .2s ease;
}
.contact input::placeholder, .contact textarea::placeholder{ color: hsl(var(--executive-muted)); }
.contact input:focus, .contact select:focus, .contact textarea:focus{ outline:none; border-color: hsl(var(--brand-orange)); }
.contact .row + .row, .contact form > select, .contact form > textarea, .contact form > .row{ margin-top:1rem; }
.contact .row:first-child{ margin-top:0; }
.contact textarea{ min-height: 8rem; resize:vertical; }
.contact .submit{ width:100%; margin-top:1rem; padding:1rem 1.75rem; border-radius:9999px; background: var(--gradient-cta); color: hsl(var(--primary-foreground)); font-weight:700; border:0; box-shadow: var(--shadow-glow); transition: transform .2s ease; }
.contact .submit:hover{ transform: translateY(-2px); }

/* ===== Footer ===== */
.site-footer{ border-top:1px solid hsl(var(--border) / 0.6); background: hsl(var(--background)); padding: 2.5rem 0; }
.site-footer .row{ display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:1rem; font-size:.875rem; color: hsl(var(--executive-muted)); }
@media(min-width:768px){ .site-footer .row{ flex-direction:row; } }
.site-footer a:hover{ color: hsl(var(--foreground)); }
.site-footer .links{ display:flex; gap:1.5rem; }

/* Reveal */
[data-reveal]{ opacity:0; transform: translateY(28px); transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); will-change: opacity, transform; }
[data-reveal].is-revealed{ opacity:1; transform:none; }
[data-reveal-delay="1"]{ transition-delay: .08s; }
[data-reveal-delay="2"]{ transition-delay: .16s; }
[data-reveal-delay="3"]{ transition-delay: .24s; }
[data-reveal-delay="4"]{ transition-delay: .32s; }
@media (prefers-reduced-motion: reduce){
  [data-reveal]{ opacity:1; transform:none; transition:none; }
  .dash-card{ animation: none; }
  .hero .badge .dot{ animation: none; }
}

/* WP defaults */
.screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
