/*
Theme Name: AOV Tax
Theme URI: https://yourdomain.com
Description: Professional, mobile-first WordPress theme for a Pasadena CPA firm. Conversational tone, trust-forward design, lead generation optimized.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: aov-tax
*/

/* ============================================================
   DESIGN TOKENS
   Pasadena palette: deep ocean navy + Pacific sunset gold/amber
   Signature element: diagonal wave divider between sections
   ============================================================ */
:root {
  --navy:        #1A2E4A;
  --navy-deep:   #0D1B2E;
  --navy-mid:    #243D5C;
  --gold:        #D4943A;
  --gold-light:  #F0B254;
  --gold-pale:   #FFF3DC;
  --teal:        #1B7A8C;   /* Pacific teal accent — SD water reference */
  --teal-light:  #22A0B8;
  --slate:       #3D5166;
  --slate-light: #6B83A0;
  --cream:       #F7F5F0;
  --white:       #FFFFFF;
  --border:      #DDE3EC;
  --success:     #1E7A4A;
  --error:       #B91C1C;

  --font-display: 'Playfair Display', Georgia, serif;
  --font-body:    'Inter', system-ui, -apple-system, sans-serif;

  --space-xs:  0.5rem;
  --space-sm:  1rem;
  --space-md:  1.5rem;
  --space-lg:  2.5rem;
  --space-xl:  4rem;
  --space-2xl: 6rem;

  --max-width: 1180px;
  --radius:    5px;
  --radius-lg: 12px;
  --shadow-sm: 0 1px 4px rgba(26,46,74,0.07);
  --shadow-md: 0 4px 18px rgba(26,46,74,0.11);
  --shadow-lg: 0 10px 36px rgba(26,46,74,0.16);
  --transition: 200ms ease;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--slate);background:var(--white);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--gold-light)}
ul{list-style:none}

h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--navy);line-height:1.22;font-weight:700}
h1{font-size:clamp(1.9rem,4.5vw,3.1rem)}
h2{font-size:clamp(1.55rem,3vw,2.35rem)}
h3{font-size:clamp(1.2rem,2vw,1.55rem)}
h4{font-size:1.1rem}
p{margin-bottom:var(--space-sm);max-width:68ch}

/* ============================================================
   LAYOUT
   ============================================================ */
.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md)}
.section{padding:var(--space-2xl) 0}
.section--cream{background:var(--cream)}
.section--navy{background:var(--navy);color:var(--white)}
.section--navy h2,.section--navy h3,.section--navy h4{color:var(--white)}
.section--teal{background:var(--teal);color:var(--white)}
.section--teal h2,.section--teal h3{color:var(--white)}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}

.text-center{text-align:center}
.text-center p{margin-left:auto;margin-right:auto}

.eyebrow{
  display:inline-block;
  font-family:var(--font-body);
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:var(--space-xs)
}

.section-intro{margin-bottom:var(--space-xl)}

/* ============================================================
   SIGNATURE ELEMENT — Wave divider
   Used between hero/sections to echo the Pacific/SD identity
   ============================================================ */
.wave-divider{
  width:100%;
  height:56px;
  overflow:hidden;
  line-height:0;
  margin-top:-2px
}
.wave-divider svg{display:block;width:100%;height:100%}
.wave-divider--down svg{transform:scaleY(1)}
.wave-divider--cream path{fill:var(--cream)}
.wave-divider--white path{fill:var(--white)}
.wave-divider--navy path{fill:var(--navy)}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{
  display:inline-block;
  padding:0.85rem 2rem;
  border-radius:var(--radius);
  font-family:var(--font-body);
  font-size:0.95rem;
  font-weight:700;
  cursor:pointer;
  border:2px solid transparent;
  transition:all var(--transition);
  text-align:center;
  white-space:nowrap;
  line-height:1.2
}
.btn--primary{background:var(--gold);color:var(--white);border-color:var(--gold)}
.btn--primary:hover{background:var(--gold-light);border-color:var(--gold-light);color:var(--white);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn--outline-white{background:transparent;color:var(--white);border-color:var(--white)}
.btn--outline-white:hover{background:var(--white);color:var(--navy)}
.btn--navy{background:var(--navy);color:var(--white);border-color:var(--navy)}
.btn--navy:hover{background:var(--navy-deep);color:var(--white);border-color:var(--navy-deep)}
.btn--teal{background:var(--teal);color:var(--white);border-color:var(--teal)}
.btn--teal:hover{background:var(--teal-light);color:var(--white);border-color:var(--teal-light)}
.btn--ghost{background:transparent;color:var(--navy);border-color:var(--border)}
.btn--ghost:hover{border-color:var(--navy);color:var(--navy)}
.btn--lg{padding:1.1rem 2.6rem;font-size:1.05rem}
.btn--full{width:100%;display:block;text-align:center}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{
  position:sticky;top:0;z-index:200;
  background:var(--white);
  border-bottom:1px solid var(--border);
  box-shadow:var(--shadow-sm);
  transition:box-shadow var(--transition)
}
.site-header.is-scrolled{box-shadow:var(--shadow-md)}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:70px
}

/* Logo */
.site-logo{display:flex;align-items:center;gap:0.75rem;text-decoration:none}
.logo-mark{
  width:42px;height:42px;
  background:linear-gradient(135deg,var(--navy),var(--navy-mid));
  border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0
}
.logo-mark span{color:var(--gold);font-family:var(--font-display);font-weight:700;font-size:1.25rem}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-name{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--navy);white-space:nowrap}
.logo-sub{font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal);font-weight:600}

/* Desktop nav */
.primary-nav{display:flex;align-items:center;gap:var(--space-lg)}
.nav-links{display:flex;gap:var(--space-md);align-items:center}
.nav-links a{
  color:var(--slate);font-size:0.92rem;font-weight:600;
  padding:0.3rem 0;
  border-bottom:2px solid transparent;
  transition:all var(--transition)
}
.nav-links a:hover,.nav-links a.current-menu-item{color:var(--navy);border-bottom-color:var(--gold)}

/* Mobile toggle */
.menu-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--navy);border-radius:2px;transition:all var(--transition)}
.menu-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-active span:nth-child(2){opacity:0}
.menu-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-nav{display:none;background:var(--white);border-top:1px solid var(--border);padding:var(--space-md) 0}
.mobile-nav.is-open{display:block}
.mobile-nav .nav-links{flex-direction:column;align-items:flex-start;gap:0;padding:0 var(--space-md)}
.mobile-nav .nav-links a{font-size:1.05rem;padding:0.75rem 0;width:100%;border-bottom:1px solid var(--border);border-right:none}
.mobile-nav .btn{margin:var(--space-sm) var(--space-md) 0;display:block;text-align:center}

/* ============================================================
   TOP UTILITY BAR
   ============================================================ */
.utility-bar{
  background:var(--navy);
  padding:0.4rem 0;
  font-size:0.8rem
}
.utility-bar-inner{
  display:flex;justify-content:space-between;align-items:center;
  color:rgba(255,255,255,0.7)
}
.utility-bar a{color:rgba(255,255,255,0.85);font-weight:600}
.utility-bar a:hover{color:var(--gold-light)}
.utility-links{display:flex;gap:var(--space-md)}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  background:linear-gradient(150deg,var(--navy-deep) 0%,var(--navy) 55%,var(--navy-mid) 100%);
  color:var(--white);
  padding:var(--space-2xl) 0 0;
  position:relative;
  overflow:hidden
}

/* Pacific-teal glow blob */
.hero::before{
  content:'';position:absolute;
  bottom:-20%;right:-5%;
  width:700px;height:700px;
  background:radial-gradient(circle,rgba(27,122,140,0.18) 0%,transparent 65%);
  pointer-events:none
}
.hero::after{
  content:'';position:absolute;
  top:-30%;left:-10%;
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(212,148,58,0.08) 0%,transparent 70%);
  pointer-events:none
}

.hero-inner{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:var(--space-xl);
  align-items:center;
  position:relative;z-index:1;
  padding-bottom:var(--space-xl)
}

.hero-badge{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:rgba(27,122,140,0.2);
  border:1px solid rgba(27,122,140,0.45);
  color:var(--teal-light);
  padding:0.38rem 1rem;
  border-radius:100px;
  font-size:0.76rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  margin-bottom:var(--space-md)
}

.hero h1{color:var(--white);margin-bottom:var(--space-md)}
.hero h1 em{font-style:normal;color:var(--gold-light)}

.hero-sub{
  color:rgba(255,255,255,0.75);
  font-size:1.1rem;line-height:1.75;
  margin-bottom:var(--space-lg);
  max-width:52ch
}

.hero-actions{display:flex;gap:0.85rem;flex-wrap:wrap;align-items:center;margin-bottom:var(--space-lg)}

.hero-phone-link{
  color:rgba(255,255,255,0.85);
  font-size:0.92rem;font-weight:600;
  display:flex;align-items:center;gap:0.4rem
}
.hero-phone-link:hover{color:var(--gold-light)}

.hero-trust-row{
  display:flex;gap:var(--space-md);flex-wrap:wrap;
  padding-top:var(--space-md);
  border-top:1px solid rgba(255,255,255,0.1)
}
.hero-trust-item{
  display:flex;align-items:center;gap:0.4rem;
  color:rgba(255,255,255,0.6);font-size:0.82rem
}
.hero-trust-item strong{color:rgba(255,255,255,0.9)}

/* Hero card widget */
.hero-card-wrap{display:flex;justify-content:center;align-items:flex-end}
.hero-card{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius-lg);
  padding:var(--space-lg);
  backdrop-filter:blur(10px);
  width:100%;max-width:380px
}
.hero-card-label{
  color:var(--teal-light);
  font-size:0.72rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  margin-bottom:var(--space-md)
}
.hc-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:0.8rem 0;
  border-bottom:1px solid rgba(255,255,255,0.07)
}
.hc-row:last-child{border-bottom:none}
.hc-label{color:rgba(255,255,255,0.5);font-size:0.88rem}
.hc-val{color:var(--white);font-weight:700;font-size:0.95rem}
.hc-val.green{color:#6EE7A0}
.hc-val.gold{color:var(--gold-light)}

/* Wave at bottom of hero */
.hero-wave{
  position:relative;bottom:0;left:0;width:100%;
  line-height:0;margin-top:var(--space-lg)
}
.hero-wave svg{display:block;width:100%}

/* ============================================================
   TRUST BAR
   ============================================================ */
.trust-bar{background:var(--cream);border-bottom:1px solid var(--border);padding:1.1rem 0}
.trust-bar-inner{display:flex;justify-content:center;align-items:center;gap:var(--space-xl);flex-wrap:wrap}
.trust-pill{display:flex;align-items:center;gap:0.6rem;color:var(--slate);font-size:0.88rem;font-weight:600}
.trust-icon{
  width:30px;height:30px;
  background:var(--navy);border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0
}

/* ============================================================
   SERVICE CARDS
   ============================================================ */
.service-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:var(--space-lg);
  position:relative;overflow:hidden;
  transition:all var(--transition)
}
.service-card::after{
  content:'';position:absolute;
  top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--teal),var(--gold));
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--transition)
}
.service-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);border-color:transparent}
.service-card:hover::after{transform:scaleX(1)}

.service-icon{
  width:54px;height:54px;
  background:var(--gold-pale);
  border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;margin-bottom:var(--space-md)
}
.service-card h3{font-size:1.2rem;margin-bottom:0.5rem}
.service-card p{color:var(--slate-light);font-size:0.93rem;margin-bottom:var(--space-md)}
.svc-link{
  display:inline-flex;align-items:center;gap:0.4rem;
  color:var(--teal);font-weight:700;font-size:0.88rem;
  transition:gap var(--transition)
}
.svc-link:hover{gap:0.7rem;color:var(--teal-light)}

/* ============================================================
   STATS BAND
   ============================================================ */
.stats-band{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:var(--navy);border-radius:var(--radius-lg);
  overflow:hidden;border:1px solid rgba(255,255,255,0.05)
}
.stat-cell{
  padding:var(--space-lg);text-align:center;
  border-right:1px solid rgba(255,255,255,0.08)
}
.stat-cell:last-child{border-right:none}
.stat-num{
  font-family:var(--font-display);
  font-size:2.8rem;font-weight:700;
  color:var(--white);line-height:1;
  margin-bottom:0.3rem
}
.stat-num span{color:var(--gold-light)}
.stat-lbl{color:rgba(255,255,255,0.55);font-size:0.88rem;line-height:1.35}

/* ============================================================
   PROBLEM/SOLUTION SPLIT
   ============================================================ */
.problem-split{
  display:grid;grid-template-columns:1fr 1fr;
  gap:0;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-lg)
}
.problem-col{padding:var(--space-xl)}
.problem-col--dark{background:var(--navy)}
.problem-col--light{background:var(--white)}
.problem-col h3{margin-bottom:var(--space-md)}
.problem-col--dark h3{color:var(--white)}
.problem-list{display:flex;flex-direction:column;gap:0.75rem}
.problem-item{
  display:flex;align-items:flex-start;gap:0.6rem;
  font-size:0.95rem;line-height:1.5
}
.problem-item .pi-icon{flex-shrink:0;margin-top:1px}
.problem-col--dark .problem-item{color:rgba(255,255,255,0.75)}
.problem-col--dark .pi-icon{color:var(--teal-light)}
.problem-col--light .pi-icon{color:var(--success)}

/* ============================================================
   PROCESS STEPS
   ============================================================ */
.process-row{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:var(--space-lg);position:relative
}
.process-row::before{
  content:'';position:absolute;
  top:27px;left:8%;right:8%;height:1px;
  background:linear-gradient(90deg,transparent,var(--border),var(--border),transparent)
}
.proc-step{text-align:center;position:relative}
.proc-num{
  width:54px;height:54px;border-radius:50%;
  background:var(--navy);color:var(--gold-light);
  font-family:var(--font-display);font-weight:700;font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto var(--space-md);position:relative;z-index:1
}
.proc-step h4{margin-bottom:0.4rem}
.proc-step p{font-size:0.88rem;color:var(--slate-light);margin:0 auto;max-width:18ch}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testi-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:var(--space-lg);
  position:relative
}
.testi-card::before{
  content:'\201C';
  position:absolute;top:var(--space-md);left:var(--space-md);
  font-family:var(--font-display);font-size:4rem;
  color:var(--teal);opacity:0.15;line-height:1
}
.testi-stars{display:flex;gap:2px;margin-bottom:0.6rem}
.star{color:var(--gold);font-size:0.9rem}
.testi-text{font-style:italic;color:var(--slate);line-height:1.75;margin-bottom:var(--space-md);padding-top:0.5rem}
.testi-author{display:flex;align-items:center;gap:0.75rem}
.author-av{
  width:42px;height:42px;border-radius:50%;
  background:var(--navy);color:var(--gold-light);
  font-family:var(--font-display);font-weight:700;font-size:0.95rem;
  display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.author-name{font-weight:700;color:var(--navy);font-size:0.92rem}
.author-role{color:var(--slate-light);font-size:0.78rem}

/* ============================================================
   CONTACT FORM
   ============================================================ */
.contact-wrap{display:grid;grid-template-columns:1fr 1.35fr;gap:var(--space-xl);align-items:start}
.contact-info-col h2{margin-bottom:0.5rem}
.contact-info-col>p{color:var(--slate-light);margin-bottom:var(--space-lg)}

.cinfo-row{display:flex;align-items:flex-start;gap:0.75rem;margin-bottom:var(--space-md)}
.cinfo-icon{
  width:38px;height:38px;background:var(--gold-pale);
  border-radius:var(--radius);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:1.1rem
}
.cinfo-label{font-size:0.74rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--slate-light);margin-bottom:0.15rem}
.cinfo-value{color:var(--navy);font-weight:600;font-size:0.95rem}
.cinfo-value a{color:var(--navy)}
.cinfo-value a:hover{color:var(--teal)}

.form-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:var(--space-xl);
  box-shadow:var(--shadow-lg)
}
.form-card h3{margin-bottom:0.25rem}
.form-card>.form-lead{color:var(--slate-light);font-size:0.93rem;margin-bottom:var(--space-lg)}

.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}
.form-group{margin-bottom:var(--space-md)}
.form-group label{display:block;font-size:0.85rem;font-weight:700;color:var(--navy);margin-bottom:0.35rem}
.form-group label .req{color:var(--gold)}

.form-control{
  width:100%;padding:0.72rem 1rem;
  border:1.5px solid var(--border);border-radius:var(--radius);
  font-family:var(--font-body);font-size:0.93rem;color:var(--slate);
  background:var(--white);
  transition:border-color var(--transition),box-shadow var(--transition)
}
.form-control:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(27,122,140,0.12)}
.form-control::placeholder{color:#9DB0C8}
select.form-control{cursor:pointer}
textarea.form-control{resize:vertical;min-height:110px}

.form-disclaimer{font-size:0.76rem;color:var(--slate-light);margin-top:0.75rem;margin-bottom:0;line-height:1.5}

/* Form alerts */
.form-alert{padding:0.9rem 1rem;border-radius:var(--radius);margin-bottom:var(--space-md);font-size:0.92rem;font-weight:600;display:none}
.form-alert--success{background:#F0FDF4;border:1px solid #BBF7D0;color:#166534}
.form-alert--error{background:#FEF2F2;border:1px solid #FECACA;color:#991B1B}

/* ============================================================
   BLOG
   ============================================================ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}
.blog-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--radius-lg);overflow:hidden;
  transition:all var(--transition)
}
.blog-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.blog-thumb{
  height:175px;
  background:linear-gradient(135deg,var(--navy),var(--teal));
  display:flex;align-items:center;justify-content:center;
  overflow:hidden
}
.blog-thumb img{width:100%;height:100%;object-fit:cover}
.blog-body{padding:var(--space-md)}
.blog-meta{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.5rem;flex-wrap:wrap}
.blog-cat{
  background:var(--gold-pale);color:var(--gold);
  font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  padding:0.18rem 0.6rem;border-radius:100px
}
.blog-date{color:var(--slate-light);font-size:0.78rem}
.blog-card h3{font-size:1.05rem;line-height:1.35;margin-bottom:0.45rem}
.blog-card h3 a{color:var(--navy)}
.blog-card h3 a:hover{color:var(--teal)}
.blog-excerpt{color:var(--slate-light);font-size:0.88rem;line-height:1.6;margin-bottom:0.75rem}
.read-more{
  font-size:0.85rem;font-weight:700;color:var(--teal);
  display:inline-flex;align-items:center;gap:0.3rem;
  transition:gap var(--transition)
}
.read-more:hover{gap:0.55rem;color:var(--teal-light)}

/* ============================================================
   CTA BANNER
   ============================================================ */
.cta-banner{
  background:linear-gradient(135deg,var(--teal) 0%,var(--navy) 70%);
  padding:var(--space-2xl) 0;text-align:center;
  position:relative;overflow:hidden
}
.cta-banner::before{
  content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M0 0h40v40H0zm40 40h40v40H40z'/%3E%3C/g%3E%3C/svg%3E")
}
.cta-banner h2{color:var(--white);position:relative}
.cta-banner p{color:rgba(255,255,255,0.72);margin:0.75rem auto var(--space-lg);position:relative}
.cta-buttons{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap;position:relative}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--navy-deep);color:rgba(255,255,255,0.6);padding:var(--space-2xl) 0 0}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid rgba(255,255,255,0.08)}
.footer-brand p{color:rgba(255,255,255,0.5);font-size:0.88rem;margin-top:var(--space-sm);max-width:28ch;line-height:1.65}
.footer-col h4{color:var(--white);font-size:0.8rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:var(--space-md)}
.footer-links{display:flex;flex-direction:column;gap:0.55rem}
.footer-links a{color:rgba(255,255,255,0.5);font-size:0.88rem;transition:color var(--transition)}
.footer-links a:hover{color:var(--gold-light)}
.footer-contact-row{display:flex;align-items:flex-start;gap:0.5rem;margin-bottom:0.6rem;font-size:0.85rem;color:rgba(255,255,255,0.5)}
.footer-contact-row a{color:rgba(255,255,255,0.5)}
.footer-contact-row a:hover{color:var(--gold-light)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) 0;font-size:0.8rem;color:rgba(255,255,255,0.3);flex-wrap:wrap;gap:0.5rem}
.footer-legal{display:flex;gap:var(--space-md)}
.footer-legal a{color:rgba(255,255,255,0.3)}
.footer-legal a:hover{color:var(--gold-light)}

/* ============================================================
   PAGE HERO (interior)
   ============================================================ */
.page-hero{background:linear-gradient(140deg,var(--navy-deep),var(--navy));padding:var(--space-xl) 0;text-align:center}
.page-hero h1{color:var(--white);margin-bottom:0.5rem}
.page-hero p{color:rgba(255,255,255,0.65);margin:0 auto}
.breadcrumb{display:flex;justify-content:center;gap:0.4rem;font-size:0.8rem;color:rgba(255,255,255,0.4);margin-bottom:var(--space-sm)}
.breadcrumb a{color:rgba(255,255,255,0.5)}
.breadcrumb a:hover{color:var(--gold-light)}
.breadcrumb-sep{color:rgba(255,255,255,0.25)}

/* ============================================================
   SINGLE POST
   ============================================================ */
.post-content{font-size:1.05rem;line-height:1.85;color:var(--slate)}
.post-content h2{margin:2rem 0 0.75rem;font-size:1.5rem}
.post-content h3{margin:1.75rem 0 0.6rem;font-size:1.2rem}
.post-content ul{list-style:disc;padding-left:1.5rem;margin-bottom:var(--space-sm)}
.post-content ul li{margin-bottom:0.4rem}
.post-content p{max-width:72ch}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.about-split{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-xl);align-items:center}
.value-row{display:flex;align-items:flex-start;gap:0.75rem;padding:0.9rem 0;border-bottom:1px solid var(--border)}
.value-row:last-child{border-bottom:none}
.v-icon{width:36px;height:36px;background:var(--navy);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.v-body h4{font-size:1rem;margin-bottom:0.2rem}
.v-body p{font-size:0.88rem;color:var(--slate-light);margin:0}

.team-card{text-align:center;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:box-shadow var(--transition)}
.team-card:hover{box-shadow:var(--shadow-lg)}
.team-photo{width:96px;height:96px;background:var(--navy);border-radius:50%;margin:0 auto var(--space-md);display:flex;align-items:center;justify-content:center;color:var(--gold-light);font-family:var(--font-display);font-weight:700;font-size:1.9rem}
.team-name{font-size:1.1rem;margin-bottom:0.2rem}
.team-title{color:var(--teal);font-size:0.82rem;font-weight:700;margin-bottom:var(--space-xs)}
.team-bio{color:var(--slate-light);font-size:0.88rem;margin:0}

/* ============================================================
   SERVICES PAGE
   ============================================================ */
.svc-detail{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);align-items:center;padding:var(--space-xl) 0;border-bottom:1px solid var(--border)}
.svc-detail:last-child{border-bottom:none}
.svc-detail.flip{direction:rtl}
.svc-detail.flip>*{direction:ltr}
.check-list{margin-top:var(--space-md);display:flex;flex-direction:column;gap:0.5rem}
.check-list li{display:flex;align-items:center;gap:0.5rem;font-size:0.93rem;color:var(--slate)}
.check-list li::before{content:'✓';color:var(--success);font-weight:700;flex-shrink:0}
.svc-visual{
  background:linear-gradient(135deg,var(--cream),var(--gold-pale));
  border-radius:var(--radius-lg);
  min-height:260px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:var(--space-xl);
  border:1px solid var(--border)
}
.svc-visual-icon{font-size:3.5rem;margin-bottom:var(--space-sm)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .grid-4,.stats-band{grid-template-columns:repeat(2,1fr)}
  .process-row{grid-template-columns:repeat(2,1fr)}
  .process-row::before{display:none}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero-inner{grid-template-columns:1fr}
  .hero-card-wrap{display:none}
  .contact-wrap{grid-template-columns:1fr}
  .svc-detail{grid-template-columns:1fr}
  .svc-detail.flip{direction:ltr}
  .about-split{grid-template-columns:1fr}
  .problem-split{grid-template-columns:1fr}
}
@media(max-width:768px){
  .grid-2,.grid-3,.blog-grid{grid-template-columns:1fr}
  .stats-band{grid-template-columns:repeat(2,1fr)}
  .form-row-2{grid-template-columns:1fr}
  .nav-links,.header-cta{display:none}
  .menu-toggle{display:flex}
  .trust-bar-inner{gap:var(--space-md)}
  .footer-grid{grid-template-columns:1fr}
  .section{padding:var(--space-xl) 0}
  .utility-bar-inner{flex-direction:column;gap:0.25rem;text-align:center}
  .utility-links{justify-content:center}
}
@media(max-width:480px){
  .container{padding:0 var(--space-sm)}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%;text-align:center}
  .hero-trust-row{flex-direction:column;gap:0.5rem}
  .stats-band{grid-template-columns:1fr}
  .stat-cell{border-right:none;border-bottom:1px solid rgba(255,255,255,0.08)}
  .cta-buttons{flex-direction:column}
  .cta-buttons .btn{width:100%}
  h1{font-size:1.75rem}
  h2{font-size:1.45rem}
}

/* ============================================================
   ACCESSIBILITY
   ============================================================ */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
