/*
Theme Name: Anza Realtor
Theme URI: https://anzarealtor.com
Author: Anza Realtor
Description: Custom theme for Anza Realtor — a veteran- and military-focused real estate brokerage specializing in VA-loan homebuyers and sellers, plus short-, mid-, and long-term property management. Self-contained, no page builder required.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: Proprietary
Text Domain: anzarealtor
*/

/* ==========================================================================
   ANZA REALTOR — DESIGN TOKENS
   Benchmark: Veterans United Realty (warm, trust-forward, veteran-credible).
   Distinct from the other entities: approachable, human, home-feeling.
   Palette: deep service blue + warm sand + a confident flag-adjacent red used
   sparingly. NOT navy/gold (that's a different entity), NOT industrial.
   ========================================================================== */

:root {
  --ar-blue:    #1B3A5B;  /* deep service blue — trust */
  --ar-blue-2:  #2C5680;
  --ar-sky:     #E8F0F7;  /* soft sky surface */
  --ar-sand:    #F6F1E7;  /* warm sand page bg */
  --ar-cream:   #FCFAF5;
  --ar-white:   #FFFFFF;
  --ar-red:     #B33A3A;  /* restrained patriotic red accent */
  --ar-red-dk:  #922E2E;
  --ar-ink:     #20242B;
  --ar-slate:   #5C6470;  /* muted body text */
  --ar-line:    #E2DACB;

  --ar-display: "Fraunces", Georgia, "Times New Roman", serif; /* warm humanist serif display */
  --ar-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --ar-step--1: clamp(0.84rem, 0.81rem + 0.15vw, 0.92rem);
  --ar-step-0:  clamp(1rem, 0.97rem + 0.18vw, 1.08rem);
  --ar-step-1:  clamp(1.25rem, 1.15rem + 0.5vw, 1.55rem);
  --ar-step-2:  clamp(1.7rem, 1.4rem + 1.3vw, 2.5rem);
  --ar-step-3:  clamp(2.3rem, 1.8rem + 2.5vw, 3.9rem);
  --ar-step-4:  clamp(2.9rem, 2.1rem + 3.8vw, 5rem);

  --ar-maxw: 1180px;
  --ar-gutter: clamp(1.2rem, 4vw, 3rem);
  --ar-radius: 14px; /* soft, friendly */
  --ar-shadow: 0 12px 40px rgba(27,58,91,.10);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin:0; font-family: var(--ar-body); font-size: var(--ar-step-0); line-height:1.62; color: var(--ar-ink); background: var(--ar-sand); -webkit-font-smoothing: antialiased; }

h1,h2,h3,h4 { font-family: var(--ar-display); font-weight:600; line-height:1.08; margin:0 0 .45em; color: var(--ar-blue); letter-spacing:-0.01em; }
h1 { font-size: var(--ar-step-4); }
h2 { font-size: var(--ar-step-3); }
h3 { font-size: var(--ar-step-1); }
p { margin:0 0 1.2em; max-width:66ch; }
a { color: var(--ar-red-dk); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width:100%; height:auto; display:block; }

.ar-wrap { max-width: var(--ar-maxw); margin-inline:auto; padding-inline: var(--ar-gutter); }

.ar-eyebrow { font-family: var(--ar-body); text-transform: uppercase; letter-spacing:.16em; font-size: var(--ar-step--1); font-weight:700; color: var(--ar-red); display:inline-block; margin-bottom:.9rem; }

.ar-btn { display:inline-block; font-weight:600; font-size: var(--ar-step-0); padding:.85rem 1.7rem; border-radius:999px; border:2px solid var(--ar-blue); background: var(--ar-blue); color:#fff; cursor:pointer; transition: transform .16s, background .16s, box-shadow .16s; }
.ar-btn:hover { background: var(--ar-blue-2); border-color: var(--ar-blue-2); text-decoration:none; transform: translateY(-1px); box-shadow: var(--ar-shadow); }
.ar-btn--red { background: var(--ar-red); border-color: var(--ar-red); }
.ar-btn--red:hover { background: var(--ar-red-dk); border-color: var(--ar-red-dk); }
.ar-btn--ghost { background: transparent; color: var(--ar-blue); }
.ar-btn--ghost:hover { background: var(--ar-blue); color:#fff; }
.ar-btn--light { background:#fff; color: var(--ar-blue); border-color:#fff; }

/* Header */
.ar-header { position:sticky; top:0; z-index:50; background: rgba(252,250,245,.92); backdrop-filter: blur(8px); border-bottom:1px solid var(--ar-line); }
.ar-header__inner { display:flex; align-items:center; justify-content:space-between; min-height:74px; }
.ar-brand { font-family: var(--ar-display); font-weight:600; font-size:1.55rem; color: var(--ar-blue); display:flex; align-items:center; gap:.5rem; }
.ar-brand b { color: var(--ar-red); font-weight:600; }
.ar-nav { display:flex; gap:1.7rem; align-items:center; }
.ar-nav a { color: var(--ar-ink); font-weight:500; }
.ar-nav a:hover { color: var(--ar-red-dk); text-decoration:none; }
.ar-nav__cta { background: var(--ar-blue); color:#fff !important; padding:.55rem 1.2rem; border-radius:999px; }
.ar-nav__cta:hover { background: var(--ar-blue-2); }
.ar-burger { display:none; background:none; border:0; cursor:pointer; flex-direction:column; gap:5px; padding:8px; }
.ar-burger span { width:26px; height:2px; background: var(--ar-blue); display:block; }

/* Hero */
.ar-hero { background:
   radial-gradient(1100px 500px at 80% -10%, rgba(44,86,128,.18), transparent),
   linear-gradient(180deg, var(--ar-sky), var(--ar-sand)); padding: clamp(3.5rem,8vw,6.5rem) 0; }
.ar-hero__grid { display:grid; grid-template-columns: 1.1fr .9fr; gap:3rem; align-items:center; }
.ar-hero h1 { max-width:14ch; }
.ar-hero__lede { font-size: var(--ar-step-1); color: var(--ar-slate); max-width:46ch; margin-bottom:1.8rem; }
.ar-hero__actions { display:flex; gap:.9rem; flex-wrap:wrap; }
.ar-hero__trust { margin-top:2rem; display:flex; gap:1.6rem; flex-wrap:wrap; align-items:center; color: var(--ar-slate); font-size: var(--ar-step--1); }
.ar-hero__card { background: var(--ar-white); border-radius: var(--ar-radius); box-shadow: var(--ar-shadow); padding:2rem; border:1px solid var(--ar-line); }

/* Sections */
.ar-section { padding: clamp(3.5rem,8vw,6rem) 0; }
.ar-section--blue { background: var(--ar-blue); color: var(--ar-sky); }
.ar-section--blue h2, .ar-section--blue h3 { color:#fff; }
.ar-section--cream { background: var(--ar-cream); }
.ar-section__head { max-width:60ch; margin-bottom:2.6rem; }
.ar-section__head p { color: var(--ar-slate); font-size: var(--ar-step-1); }
.ar-section--blue .ar-section__head p { color: var(--ar-sky); }

/* Cards */
.ar-grid { display:grid; gap:1.4rem; }
.ar-grid--3 { grid-template-columns: repeat(3,1fr); }
.ar-grid--2 { grid-template-columns: repeat(2,1fr); }
.ar-card { background: var(--ar-white); border:1px solid var(--ar-line); border-radius: var(--ar-radius); padding:1.9rem; transition: transform .18s, box-shadow .18s; }
.ar-card:hover { transform: translateY(-3px); box-shadow: var(--ar-shadow); }
.ar-card h3 { color: var(--ar-blue); }
.ar-card p { color: var(--ar-slate); margin-bottom:0; }
.ar-card__ico { width:48px; height:48px; border-radius:12px; background: var(--ar-sky); display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:1rem; }

/* Service split (management) */
.ar-split { display:grid; grid-template-columns: repeat(3,1fr); gap:1.4rem; }
.ar-mgmt { background: var(--ar-white); border-radius: var(--ar-radius); border:1px solid var(--ar-line); overflow:hidden; }
.ar-mgmt__top { background: var(--ar-blue); color:#fff; padding:1.2rem 1.5rem; font-family: var(--ar-display); font-size: var(--ar-step-1); }
.ar-mgmt__body { padding:1.5rem; }
.ar-mgmt__body p { color: var(--ar-slate); font-size: var(--ar-step--1); }

/* Steps */
.ar-steps { display:grid; grid-template-columns: repeat(4,1fr); gap:1.4rem; }
.ar-step { text-align:left; }
.ar-step__n { width:42px;height:42px;border-radius:999px;background:var(--ar-red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--ar-body);margin-bottom:.9rem; }
.ar-step h3 { color: var(--ar-blue); font-size: var(--ar-step-1); }
.ar-step p { color: var(--ar-slate); font-size: var(--ar-step--1); }
.ar-section--blue .ar-step h3 { color:#fff; }
.ar-section--blue .ar-step p { color: var(--ar-sky); }

/* Forms */
.ar-form { background: var(--ar-white); border:1px solid var(--ar-line); border-radius: var(--ar-radius); padding: clamp(1.6rem,4vw,2.6rem); box-shadow: var(--ar-shadow); }
.ar-form__row { display:grid; gap:1.1rem; margin-bottom:1.1rem; }
.ar-form__row--2 { grid-template-columns:1fr 1fr; }
.ar-field label { display:block; font-weight:600; font-size: var(--ar-step--1); margin-bottom:.35rem; color: var(--ar-ink); }
.ar-field input, .ar-field select, .ar-field textarea { width:100%; padding:.8rem .9rem; border:1px solid var(--ar-line); border-radius:10px; font:inherit; background: var(--ar-cream); color: var(--ar-ink); }
.ar-field input:focus, .ar-field select:focus, .ar-field textarea:focus { outline:2px solid var(--ar-blue-2); border-color: var(--ar-blue-2); }
.ar-form__note { font-size: var(--ar-step--1); color: var(--ar-slate); }
.ar-form__status { padding:1rem; border-radius:10px; margin-bottom:1rem; display:none; }
.ar-form__status.is-ok { display:block; background:#E6F4EA; color:#1E5631; border:1px solid #1E5631; }
.ar-form__status.is-err { display:block; background:#FCEBEA; color:#8A1C12; border:1px solid #8A1C12; }

/* Footer */
.ar-footer { background: var(--ar-blue); color: var(--ar-sky); padding: clamp(3rem,6vw,4.5rem) 0 2rem; }
.ar-footer__grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2rem; margin-bottom:2.4rem; }
.ar-footer h4 { color:#fff; font-size: var(--ar-step-0); font-family: var(--ar-body); font-weight:700; }
.ar-footer a { color: var(--ar-sky); display:block; margin-bottom:.5rem; }
.ar-footer a:hover { color:#fff; }
.ar-footer__partners { border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); padding:1.5rem 0; margin-bottom:1.5rem; }
.ar-footer__partners-label { text-transform:uppercase; letter-spacing:.14em; font-size: var(--ar-step--1); font-weight:700; color:#fff; margin-bottom:.5rem; }
.ar-footer__legal { font-size: var(--ar-step--1); color: rgba(232,240,247,.78); line-height:1.7; }

@media (max-width:900px){
  .ar-hero__grid{ grid-template-columns:1fr; }
  .ar-grid--3,.ar-split,.ar-steps{ grid-template-columns:1fr 1fr; }
  .ar-footer__grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  .ar-nav{ display:none; }
  .ar-burger{ display:flex; }
  .ar-nav.is-open{ display:flex; position:absolute; top:74px; left:0; right:0; flex-direction:column; background: var(--ar-cream); padding:1.2rem var(--ar-gutter); gap:1rem; border-bottom:1px solid var(--ar-line); }
  .ar-grid--3,.ar-grid--2,.ar-split,.ar-steps,.ar-form__row--2{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce){ *{ animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{ outline:3px solid var(--ar-red); outline-offset:2px; }
