/*
Theme Name:  ECHO Housing
Theme URI:   https://echo-housing.org
Author:      ECHO Housing
Description: Official ECHO Housing platform theme. California Coastal — refined LA housing platform with warm coastal palette, editorial typography, and renter-first design.
Version:     1.0.0
Requires at least: 6.2
Tested up to:      6.6
Requires PHP:      8.0
License:     GNU General Public License v2
Text Domain: echo-housing
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Inter:wght@400;500;600;700&family=Chivo+Mono:wght@400;500;600;700&display=swap');

/* === DESIGN TOKENS === */
:root {
  --echo-coral:   #A16B3A;
  --echo-orange:  #B98454;
  --echo-teal:    #7FA9C8;
  --echo-ocean:   #1E3557;
  --echo-deep:    #1E3557;
  --echo-navy:    #1E3557;
  --echo-sky:     #E7DFD2;
  --echo-mist:    #F3EEE5;
  --echo-cream:   #FAF8F3;
  --echo-white:   #FFFFFF;
  --echo-stone:   #626A70;
  --font-display: 'Playfair Display', serif;
  --font-body:    'Inter', sans-serif;
  --font-mono:    'Chivo Mono', monospace;
  --nav-height:   72px;
  --container:    1440px;
  --ease:         cubic-bezier(.4,0,.2,1);
}

/* === RESET === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{cursor:pointer;border:none;background:none;font:inherit}
body{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--echo-navy);background:var(--echo-cream);-webkit-font-smoothing:antialiased}

/* === LAYOUT === */
.echo-container{
  width:min(1440px,94vw);
  max-width:none;
  margin:0 auto;
  padding:0;
}

/* === TYPOGRAPHY === */
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-display);
  font-weight:600;
  text-transform:none;
  line-height:1.08;
  letter-spacing:-.02em;
}
.echo-display{
  font-family:var(--font-display);
  font-size:clamp(64px,9vw,120px);
  font-weight:600;
  text-transform:none;
  line-height:.95;
  letter-spacing:-.03em;
}
.echo-h1{font-size:clamp(48px,6vw,76px);font-weight:600;line-height:1.04;text-transform:none}
.echo-h2{font-size:clamp(36px,4vw,58px);font-weight:600;line-height:1.08;text-transform:none}
.echo-kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;display:flex;align-items:center;gap:14px;color:var(--echo-coral)}
.echo-kicker::before{content:'';width:28px;height:1px;background:currentColor;opacity:.55;flex-shrink:0}
.echo-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase}

/* === BUTTONS === */
.echo-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:16px 34px;
  min-height:54px;
  border-radius:999px;
  font-family:var(--font-body);
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:all .25s var(--ease);
  cursor:pointer;
  line-height:1;
}
.echo-btn-primary,
.echo-btn-coral{
  background:var(--echo-coral);
  color:#fff;
  box-shadow:none;
}
.echo-btn-primary:hover,
.echo-btn-coral:hover{
  background:#8D5D31;
  transform:translateY(-2px);
}
.echo-btn-ghost{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(30,53,87,.14);
  color:var(--echo-navy);
  backdrop-filter:blur(10px);
}
.echo-btn-ghost:hover{
  background:#fff;
  color:var(--echo-coral);
}
.echo-btn-navy{
  background:var(--echo-navy);
  color:#fff;
}
.echo-btn-navy:hover{background:var(--echo-ocean)}
.echo-btn-outline{
  background:transparent;
  border:1.5px solid rgba(30,53,87,.22);
  color:var(--echo-navy);
}
.echo-btn-outline:hover{
  background:var(--echo-navy);
  color:#fff;
}

/* === NAV === */
.echo-nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
  height:var(--nav-height);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 56px;
  background:rgba(250,248,243,.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(30,53,87,.10);
  transition:background .3s var(--ease);
}
.echo-nav.scrolled{background:rgba(250,248,243,.96)}
.echo-nav__logo{display:flex;align-items:center;text-decoration:none}
.echo-nav__logo-word{
  font-family:var(--font-display);
  font-weight:700;
  font-size:28px;
  letter-spacing:-.02em;
  text-transform:none;
  color:var(--echo-navy);
}
.echo-nav__logo-badge{
  font-family:var(--font-mono);
  font-size:8px;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:3px 7px;
  border-radius:999px;
  margin-left:8px;
  background:var(--echo-coral);
  color:#fff;
  align-self:center;
}
.echo-nav__logo-sub{
  font-family:var(--font-mono);
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-left:8px;
  color:rgba(30,53,87,.48);
  align-self:center;
}
.echo-nav__links{display:flex;align-items:center;gap:36px}
.echo-nav__links a{
  font-size:13px;
  font-weight:500;
  color:rgba(30,53,87,.68);
  transition:color .2s;
  letter-spacing:.03em;
}
.echo-nav__links a:hover,
.echo-nav__links a.current-menu-item{color:var(--echo-coral)}
.echo-nav__cta{display:none!important}
.echo-nav__hamburger{display:none;flex-direction:column;gap:5px;padding:4px}
.echo-nav__hamburger span{display:block;width:24px;height:2px;background:var(--echo-navy);transition:all .3s}

/* === HERO === */
.echo-hero{position:relative;min-height:100vh;overflow:hidden;display:flex;flex-direction:column}
.echo-hero__bg{position:absolute;inset:0;background-image:var(--hero-image,none);background-size:cover;background-position:center top;filter:contrast(.88) brightness(1.02) saturate(.92) hue-rotate(-12deg)}
.echo-hero__coral-bloom{position:absolute;top:0;left:0;right:0;height:52%;background:radial-gradient(ellipse 120% 80% at 55% 0%,rgba(230,70,80,.28) 0%,rgba(240,100,60,.16) 40%,transparent 72%);mix-blend-mode:screen;pointer-events:none}
.echo-hero__teal-deep{position:absolute;bottom:0;left:0;right:0;height:46%;background:linear-gradient(to top,rgba(13,42,60,.35) 0%,rgba(20,80,100,.15) 40%,transparent 70%);mix-blend-mode:color;pointer-events:none}
.echo-hero__veil{position:absolute;inset:0;background:linear-gradient(105deg,rgba(13,22,38,.72) 0%,rgba(13,22,38,.5) 24%,rgba(13,22,38,.2) 50%,rgba(13,22,38,.04) 68%,transparent 82%),linear-gradient(to top,rgba(13,28,44,.58) 0%,rgba(13,28,44,.24) 16%,transparent 34%)}
.echo-hero__content{position:relative;z-index:10;flex:1;display:flex;align-items:center;padding:0 56px}
.echo-hero__left{max-width:580px;padding-bottom:60px}
.echo-hero__kicker{color:rgba(255,255,255,.65);margin-bottom:28px}
.echo-hero__h1{color:#fff;margin-bottom:28px;text-shadow:0 3px 44px rgba(13,26,40,.5)}
.echo-hero__h1 .sky{color:var(--echo-sky)}
.echo-hero__body{font-size:17px;line-height:1.72;color:rgba(255,255,255,.78);font-weight:300;max-width:460px;margin-bottom:44px}
.echo-hero__btns{display:flex;gap:16px;flex-wrap:wrap}
.echo-hero__services{position:absolute;right:56px;bottom:44px;z-index:10;display:flex;flex-direction:column;align-items:flex-end}
.echo-hero__services-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:14px}
.echo-hero__service-link{display:flex;align-items:center;text-decoration:none;padding:12px 0;border-top:1px solid rgba(255,255,255,.09);width:240px;justify-content:space-between;transition:all .22s var(--ease)}
.echo-hero__service-link:last-child{border-bottom:1px solid rgba(255,255,255,.09)}
.echo-hero__service-link:hover .svc-name{color:#fff}
.echo-hero__service-link:hover .svc-arrow{color:var(--echo-teal);transform:translateX(4px)}
.echo-hero__service-link .svc-name{font-size:14px;font-weight:500;color:rgba(255,255,255,.68);transition:all .22s}
.echo-hero__service-link .svc-arrow{color:rgba(255,255,255,.2);font-size:16px;transition:all .22s}


/* === CALIFORNIA COASTAL HERO === */
.ech-hero {
  min-height:850px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(
      90deg,
      rgba(250,248,243,.94) 0%,
      rgba(250,248,243,.88) 35%,
      rgba(250,248,243,.45) 60%,
      rgba(250,248,243,.15) 100%
    ),
    url('https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?auto=format&fit=crop&w=2200&q=80');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  padding:0;
}

.ech-hero-content {
  width:100%;
  max-width:none;
  padding-left:8%;
  padding-right:8%;
  text-align:left;
}

.ech-eyebrow {
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--echo-coral);
  margin-bottom:16px;
}

.ech-title {
  font-family:var(--font-display);
  font-weight:600;
  line-height:1.06;
  letter-spacing:-.03em;
  color:var(--echo-navy);
  margin:0;
  text-transform:none;
}

.ech-hero h1 {
  font-size:clamp(72px,8vw,128px);
  line-height:.95;
  max-width:720px;
  text-align:left;
  margin:0 0 28px;
}

.ech-hero p {
  max-width:560px;
  font-family:var(--font-body);
  font-size:18px;
  line-height:1.9;
  color:#4F5C67;
  margin:0 0 38px;
  text-align:left;
}

.ech-actions {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  justify-content:flex-start;
}

.ech-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:0 30px;
  border-radius:999px;
  text-decoration:none;
  font-family:var(--font-body);
  font-size:12px;
  letter-spacing:1.6px;
  text-transform:uppercase;
  font-weight:800;
}

.ech-btn-primary {
  background:var(--echo-coral);
  color:#fff;
}

.ech-btn-primary:hover {
  background:#8D5D31;
}

.ech-btn-secondary {
  background:rgba(255,255,255,.86);
  color:var(--echo-navy);
  border:1px solid rgba(30,53,87,.14);
}

@media(max-width:950px){
  .ech-hero {
    min-height:720px;
    padding:72px 0;
    background-position:center;
  }

  .ech-hero h1 {
    font-size:clamp(58px,14vw,82px);
  }

  .ech-hero-content {
    padding-left:24px;
    padding-right:24px;
  }
}

.echo-nav-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* === STAT STRIP === */
.echo-stat-strip{background:var(--echo-navy);display:flex;justify-content:space-around;position:relative;z-index:5}
.echo-stat-strip__item{flex:1;padding:22px 16px;text-align:center;border-right:1px solid rgba(255,255,255,.06)}
.echo-stat-strip__item:last-child{border:none}
.echo-stat-strip__number{display:block;font-family:var(--font-display);font-size:38px;color:var(--echo-sky);letter-spacing:.04em;line-height:1}
.echo-stat-strip__label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-top:4px}

/* === PAGE HERO (interior) === */
.echo-page-hero{position:relative;height:42vh;min-height:280px;overflow:hidden;display:flex;align-items:flex-end;padding:0 56px 48px;background:var(--echo-deep)}
.echo-page-hero__bg{position:absolute;inset:0;background-image:var(--hero-image,none);background-size:cover;background-position:center 30%;filter:contrast(.82) brightness(.9) saturate(.85) hue-rotate(-12deg);opacity:.7}
.echo-page-hero__veil{position:absolute;inset:0;background:linear-gradient(105deg,rgba(13,22,38,.82) 0%,rgba(13,22,38,.55) 40%,transparent 90%),linear-gradient(to top,rgba(13,28,44,.7) 0%,rgba(13,28,44,.3) 30%,transparent 60%)}
.echo-page-hero__content{position:relative;z-index:5}
.echo-page-hero__kicker{color:rgba(255,255,255,.55);margin-bottom:12px}
.echo-page-hero__title{color:#fff;font-family:var(--font-display);font-size:clamp(40px,6vw,72px);font-weight:900;text-transform:uppercase;line-height:.92;text-shadow:0 2px 30px rgba(13,26,40,.5)}
.echo-page-hero__title .sky{color:var(--echo-sky)}

/* === SECTIONS === */
.echo-section{padding:96px 56px}
.echo-section--cream{background:var(--echo-cream)}
.echo-section--white{background:#fff}
.echo-section--navy{background:var(--echo-navy);color:#fff}
.echo-section--deep{background:var(--echo-deep);color:#fff}
.echo-section__kicker{color:var(--echo-coral);margin-bottom:20px}
.echo-section--navy .echo-section__kicker,.echo-section--deep .echo-section__kicker{color:var(--echo-sky)}
.echo-section__title{font-family:var(--font-display);font-size:clamp(36px,5vw,60px);font-weight:900;text-transform:uppercase;line-height:.9;margin-bottom:24px}
.echo-section--navy .echo-section__title,.echo-section--deep .echo-section__title{color:#fff}
.echo-section__body{font-size:17px;line-height:1.75;font-weight:300;color:rgba(13,30,44,.7);max-width:640px}
.echo-section--navy .echo-section__body,.echo-section--deep .echo-section__body{color:rgba(255,255,255,.65)}
.echo-section__grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.echo-section__grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.echo-section__grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

/* === SERVICE LINKS === */
.echo-service-list{display:flex;flex-direction:column}
.echo-service-list__item{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid rgba(13,30,44,.08);text-decoration:none;transition:all .25s var(--ease)}
.echo-service-list__item:last-child{border-bottom:1px solid rgba(13,30,44,.08)}
.echo-service-list__item:hover{padding-left:8px}
.echo-service-list__item:hover .item-name{color:var(--echo-teal)}
.echo-service-list__item:hover .item-arrow{color:var(--echo-teal);transform:translateX(4px)}
.echo-service-list__item .item-num{font-family:var(--font-mono);font-size:10px;color:rgba(13,30,44,.3);letter-spacing:.15em;width:32px}
.echo-service-list__item .item-name{font-size:18px;font-weight:600;color:var(--echo-navy);flex:1;transition:color .25s}
.echo-service-list__item .item-desc{font-size:13px;color:rgba(13,30,44,.45);max-width:200px;text-align:right;font-weight:300;line-height:1.4}
.echo-service-list__item .item-arrow{color:rgba(13,30,44,.2);margin-left:16px;font-size:18px;transition:all .25s}
.echo-service-list--dark .echo-service-list__item{border-color:rgba(255,255,255,.07)}
.echo-service-list--dark .echo-service-list__item .item-num{color:rgba(255,255,255,.25)}
.echo-service-list--dark .echo-service-list__item .item-name{color:rgba(255,255,255,.72)}
.echo-service-list--dark .echo-service-list__item .item-arrow{color:rgba(255,255,255,.2)}
.echo-service-list--dark .echo-service-list__item:hover .item-name{color:#fff}
.echo-service-list--dark .echo-service-list__item:hover .item-arrow{color:var(--echo-sky)}

/* === CARDS === */
.echo-card{background:#fff;border:1px solid rgba(13,30,44,.08);padding:36px;transition:all .3s var(--ease)}
.echo-card:hover{border-color:var(--echo-teal);transform:translateY(-4px);box-shadow:0 16px 48px rgba(13,30,44,.1)}
.echo-card--navy{background:var(--echo-navy);color:#fff;border:none}
.echo-card--glass{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(20px);color:#fff}
.echo-card--glass:hover{border-color:rgba(255,255,255,.2);transform:translateX(4px);box-shadow:none}
.echo-card__num{font-family:var(--font-mono);font-size:10px;color:var(--echo-coral);letter-spacing:.18em;margin-bottom:12px}
.echo-card__title{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--echo-navy);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}
.echo-card--glass .echo-card__title{color:#fff}
.echo-card__body{font-size:14px;color:rgba(13,30,44,.6);line-height:1.6}
.echo-card--glass .echo-card__body{color:rgba(255,255,255,.5)}

/* === LISTING CARDS === */
.echo-listing-card{background:#fff;border:1px solid rgba(13,30,44,.08);overflow:hidden;transition:all .3s var(--ease)}
.echo-listing-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(13,30,44,.12);border-color:transparent}
.echo-listing-card__image{height:200px;background:var(--echo-deep);overflow:hidden;position:relative}
.echo-listing-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.echo-listing-card:hover .echo-listing-card__image img{transform:scale(1.04)}
.echo-listing-card__badge{position:absolute;top:12px;left:12px;background:var(--echo-coral);color:#fff;font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;padding:4px 10px}
.echo-listing-card__badge--private{background:var(--echo-ocean)}
.echo-listing-card__body{padding:24px 28px}
.echo-listing-card__price{font-family:var(--font-display);font-size:28px;color:var(--echo-teal);letter-spacing:.04em;line-height:1;margin-bottom:8px}
.echo-listing-card__title{font-size:16px;font-weight:600;color:var(--echo-navy);margin-bottom:6px}
.echo-listing-card__meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:rgba(13,30,44,.4);text-transform:uppercase;margin-bottom:16px}
.echo-listing-card__footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid rgba(13,30,44,.06)}
.echo-listing-card__beds{font-size:13px;color:rgba(13,30,44,.55)}
.echo-listing-card__cta{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--echo-teal);transition:color .2s}
.echo-listing-card:hover .echo-listing-card__cta{color:var(--echo-coral)}

/* === PROGRAM CARDS === */
.echo-program-card{background:var(--echo-navy);color:#fff;padding:40px;position:relative;overflow:hidden;transition:transform .3s var(--ease)}
.echo-program-card:hover{transform:translateY(-4px)}
.echo-program-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%}
.echo-program-card--stay::before{background:var(--echo-coral)}
.echo-program-card--roots::before{background:#5aab60}
.echo-program-card--venture::before{background:var(--echo-sky)}
.echo-program-card__kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:12px}
.echo-program-card__title{font-family:var(--font-display);font-size:28px;font-weight:900;text-transform:uppercase;color:#fff;margin-bottom:16px;line-height:.95}
.echo-program-card__body{font-size:14px;color:rgba(255,255,255,.55);line-height:1.65;font-weight:300;margin-bottom:24px}
.echo-program-card__link{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--echo-sky);display:flex;align-items:center;gap:8px;transition:gap .2s}
.echo-program-card:hover .echo-program-card__link{gap:14px}

/* === FORMS === */
.echo-form__group{margin-bottom:24px}
.echo-form__label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(13,30,44,.55);margin-bottom:8px}
.echo-form__input,.echo-form__select,.echo-form__textarea{width:100%;padding:14px 18px;border:1.5px solid rgba(13,30,44,.12);background:#fff;font-family:var(--font-body);font-size:15px;color:var(--echo-navy);transition:border-color .2s;border-radius:0;-webkit-appearance:none}
.echo-form__input:focus,.echo-form__select:focus,.echo-form__textarea:focus{outline:none;border-color:var(--echo-teal)}
.echo-form__textarea{min-height:140px;resize:vertical}

/* Gravity Forms override */
.gform_wrapper .gfield_label{font-family:var(--font-mono) !important;font-size:10px !important;letter-spacing:.2em !important;text-transform:uppercase !important;color:rgba(13,30,44,.55) !important;font-weight:400 !important}
.gform_wrapper input[type="text"],.gform_wrapper input[type="email"],.gform_wrapper input[type="tel"],.gform_wrapper select,.gform_wrapper textarea{font-family:var(--font-body) !important;border:1.5px solid rgba(13,30,44,.12) !important;border-radius:0 !important;padding:14px 18px !important;font-size:15px !important}
.gform_wrapper input:focus,.gform_wrapper textarea:focus{border-color:var(--echo-teal) !important;outline:none !important;box-shadow:none !important}
.gform_wrapper .gform_submit_button,.gform_wrapper input[type="submit"]{background:var(--echo-navy) !important;color:var(--echo-cream) !important;font-family:var(--font-body) !important;font-size:13px !important;font-weight:700 !important;letter-spacing:.12em !important;text-transform:uppercase !important;padding:16px 48px !important;border:none !important;border-radius:0 !important;cursor:pointer !important;transition:background .2s !important}
.gform_wrapper .gform_submit_button:hover,.gform_wrapper input[type="submit"]:hover{background:var(--echo-ocean) !important}

/* === FOOTER === */
.echo-footer{background:var(--echo-deep);color:rgba(255,255,255,.55);padding:72px 56px 40px}
.echo-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;margin-bottom:56px}
.echo-footer__brand-logo{font-family:var(--font-display);font-size:22px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.echo-footer__brand-logo span{background:var(--echo-coral);font-family:var(--font-mono);font-size:8px;letter-spacing:.14em;padding:3px 7px;color:#fff}
.echo-footer__tagline{font-size:14px;font-weight:300;line-height:1.65;margin-bottom:24px;max-width:280px}
.echo-footer__contact a{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--echo-sky);margin-bottom:8px;transition:opacity .2s}
.echo-footer__contact a:hover{opacity:.7}
.echo-footer__col-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:20px}
.echo-footer__col ul{display:flex;flex-direction:column;gap:10px}
.echo-footer__col ul li a{font-size:14px;font-weight:300;color:rgba(255,255,255,.55);transition:color .2s}
.echo-footer__col ul li a:hover{color:#fff}
.echo-footer__bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:32px;display:flex;justify-content:space-between;align-items:center}
.echo-footer__copy{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:rgba(255,255,255,.3)}
.echo-footer__bottom-links{display:flex;gap:24px}
.echo-footer__bottom-links a{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:rgba(255,255,255,.3);transition:color .2s}
.echo-footer__bottom-links a:hover{color:rgba(255,255,255,.7)}

/* === ACCOUNT PORTAL === */
.echo-account-wrap{background:var(--echo-cream);min-height:100vh;padding:calc(var(--nav-height) + 48px) 56px 80px}
.echo-account-grid{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:48px;
  max-width:1440px;
  margin:0 auto;
}
.echo-account-sidebar{background:var(--echo-navy);padding:36px 28px;align-self:start;position:sticky;top:calc(var(--nav-height) + 24px)}
.echo-account-sidebar__name{font-family:var(--font-display);font-size:22px;font-weight:900;text-transform:uppercase;color:#fff;margin-bottom:4px}
.echo-account-sidebar__status{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--echo-sky);margin-bottom:28px}
.echo-account-sidebar__nav{display:flex;flex-direction:column;gap:2px}
.echo-account-sidebar__link{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-size:14px;font-weight:500;color:rgba(255,255,255,.55);transition:all .2s;border-left:3px solid transparent}
.echo-account-sidebar__link:hover,.echo-account-sidebar__link.active{color:#fff;background:rgba(255,255,255,.05);border-left-color:var(--echo-coral)}
.echo-account-content__title{font-family:var(--font-display);font-size:36px;font-weight:900;text-transform:uppercase;color:var(--echo-navy);margin-bottom:8px}
.echo-account-content__sub{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(13,30,44,.4);margin-bottom:36px}
.echo-status-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.echo-status-badge--pending{background:rgba(61,171,184,.12);color:var(--echo-ocean)}
.echo-status-badge--approved{background:rgba(90,171,96,.12);color:#2e7d32}
.echo-status-badge--waitlist{background:rgba(240,80,110,.1);color:var(--echo-coral)}
.echo-status-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor}

/* === UTILITY === */
.echo-divider{width:40px;height:3px;background:var(--echo-coral);margin:20px 0}
.echo-tag{display:inline-flex;align-items:center;padding:5px 12px;font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;background:rgba(61,171,184,.1);color:var(--echo-ocean)}
.echo-alert{padding:16px 20px;border-left:4px solid var(--echo-teal);background:rgba(61,171,184,.08);font-size:14px;color:var(--echo-ocean);margin-bottom:24px}

/* === MOBILE === */
.echo-mobile-menu{display:none;position:fixed;inset:0;z-index:999;background:var(--echo-navy);flex-direction:column;padding:calc(var(--nav-height) + 32px) 32px 32px}
.echo-mobile-menu.open{display:flex}
.echo-mobile-menu__links{display:flex;flex-direction:column;gap:4px;margin-bottom:32px}
.echo-mobile-menu__links a{font-family:var(--font-display);font-size:40px;font-weight:900;text-transform:uppercase;color:rgba(255,255,255,.55);padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);transition:color .2s}
.echo-mobile-menu__links a:hover{color:#fff}

@media(max-width:1024px){.echo-container,.echo-nav{padding-left:40px;padding-right:40px}.echo-section{padding:72px 40px}.echo-section__grid-4{grid-template-columns:repeat(2,1fr)}.echo-footer__grid{grid-template-columns:1fr 1fr;gap:40px}}
@media(max-width:768px){.echo-container,.echo-nav,.echo-hero__content,.echo-page-hero,.echo-footer,.echo-account-wrap{padding-left:24px;padding-right:24px}.echo-section{padding:56px 24px}.echo-nav__links,.echo-nav__cta{display:none}.echo-nav__hamburger{display:flex}.echo-hero__services{display:none}.echo-section__grid-2,.echo-section__grid-3,.echo-section__grid-4{grid-template-columns:1fr}.echo-stat-strip{flex-wrap:wrap}.echo-stat-strip__item{flex:0 0 50%;border-bottom:1px solid rgba(255,255,255,.06)}.echo-footer{padding:56px 24px 32px}.echo-footer__grid{grid-template-columns:1fr;gap:36px}.echo-footer__bottom{flex-direction:column;gap:16px;text-align:center}.echo-account-grid{grid-template-columns:1fr}.echo-account-sidebar{position:static}}
@media(max-width:480px){.echo-hero__h1{font-size:clamp(48px,13vw,64px)}.echo-hero__btns{flex-direction:column}.echo-hero__btns .echo-btn{width:100%;justify-content:center}}
.admin-bar .echo-nav{top:32px}
@media screen and (max-width:782px){.admin-bar .echo-nav{top:46px}}

/* === WPBAKERY CONTENT AREA === */
.echo-page-content-area{
  width:min(1440px,94vw);
  max-width:none;
  margin:0 auto;
}
.echo-page-content-area .vc_row{margin-left:0!important;margin-right:0!important}
/* Remove WPBakery default padding that fights our layout */
.echo-page-content-area .wpb_content_element{margin-bottom:0}
/* Give WPBakery rows breathing room */
.echo-page-content-area > .vc_row,
.echo-page-content-area > .vc_section{padding-left:56px;padding-right:56px}
@media(max-width:768px){
  .echo-page-content-area > .vc_row,
  .echo-page-content-area > .vc_section{padding-left:24px;padding-right:24px}
}
/* WPBakery text elements inherit brand typography */
.echo-page-content-area h1,.echo-page-content-area h2,.echo-page-content-area h3,
.echo-page-content-area h4,.echo-page-content-area h5{font-family:var(--font-display);font-weight:900;text-transform:uppercase;line-height:.9}
.echo-page-content-area p{font-family:var(--font-body);font-size:16px;line-height:1.75;color:rgba(13,30,44,.75)}
.echo-page-content-area a{color:var(--echo-teal);transition:color .2s}
.echo-page-content-area a:hover{color:var(--echo-coral)}
/* WPBakery button override to match brand */
.echo-page-content-area .vc_btn3{border-radius:0!important;font-family:var(--font-body)!important;font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.echo-page-content-area .vc_btn3.vc_btn3-color-blue{background:var(--echo-teal)!important;border-color:var(--echo-teal)!important}
.echo-page-content-area .vc_btn3.vc_btn3-color-orange{background:var(--echo-coral)!important;border-color:var(--echo-coral)!important}

/* =========================================
   CALIFORNIA COASTAL OVERRIDES
   Header + Footer + Buttons
========================================= */

:root {
  --echo-coral: #A16B3A;
  --echo-teal: #7FA9C8;
  --echo-ocean: #1E3557;
  --echo-deep: #1E3557;
  --echo-navy: #1E3557;
  --echo-sky: #E7DFD2;
  --echo-cream: #FAF8F3;
}

/* HEADER */

.echo-nav {
  background: rgba(250,248,243,.92) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(30,53,87,.10) !important;
}

.echo-nav.scrolled {
  background: rgba(250,248,243,.96) !important;
}

.echo-nav__logo-word {
  color: #1E3557 !important;
}

.echo-nav__logo-badge {
  background: #A16B3A !important;
  color: #FFFFFF !important;
}

.echo-nav__logo-sub {
  color: rgba(30,53,87,.48) !important;
}

.echo-nav__links a {
  color: rgba(30,53,87,.68) !important;
}

.echo-nav__links a:hover,
.echo-nav__links a.current-menu-item {
  color: #A16B3A !important;
}

.echo-nav__cta {
  display: none !important;
}

.echo-nav__hamburger span {
  background: #1E3557 !important;
}

/* BUTTONS */

.echo-btn-primary,
.ech-btn-primary {
  background: #A16B3A !important;
  color: #FFFFFF !important;
  border-radius: 999px;
  box-shadow: none;
}

.echo-btn-primary:hover,
.ech-btn-primary:hover {
  background: #8D5D31 !important;
  transform: translateY(-2px);
}

.echo-btn-ghost,
.ech-btn-secondary {
  background: rgba(255,255,255,.86) !important;
  color: #1E3557 !important;
  border: 1px solid rgba(30,53,87,.14) !important;
  border-radius: 999px;
}

/* FOOTER */

.echo-footer {
  background: #FAF8F3 !important;
  color: rgba(30,53,87,.68) !important;
  border-top: 1px solid rgba(30,53,87,.10);
}

.echo-footer__brand-logo {
  color: #1E3557 !important;
}

.echo-footer__brand-logo span {
  background: #A16B3A !important;
  color: #FFFFFF !important;
}

.echo-footer__tagline {
  color: rgba(30,53,87,.68) !important;
}

.echo-footer__contact a {
  color: #A16B3A !important;
}

.echo-footer__col-title {
  color: rgba(30,53,87,.42) !important;
}

.echo-footer__col ul li a {
  color: rgba(30,53,87,.64) !important;
}

.echo-footer__col ul li a:hover {
  color: #A16B3A !important;
}

.echo-footer__bottom {
  border-top: 1px solid rgba(30,53,87,.10) !important;
}

.echo-footer__copy,
.echo-footer__bottom-links a {
  color: rgba(30,53,87,.42) !important;
}

/* MOBILE MENU */

.echo-mobile-menu {
  background: #FAF8F3 !important;
}

.echo-mobile-menu__links a {
  color: rgba(30,53,87,.72) !important;
  border-bottom: 1px solid rgba(30,53,87,.08) !important;
}

.echo-mobile-menu__links a:hover {
  color: #A16B3A !important;
}


/* =========================================
   CALIFORNIA COASTAL FINAL TYPOGRAPHY + COMPONENT REFINEMENTS
========================================= */

body {
  font-family:var(--font-body);
  color:var(--echo-navy);
  background:var(--echo-cream);
}

.echo-page-content-area h1,
.echo-page-content-area h2,
.echo-page-content-area h3,
.echo-page-content-area h4,
.echo-page-content-area h5,
.echo-section__title,
.echo-card__title,
.echo-program-card__title,
.echo-page-hero__title,
.echo-account-content__title {
  font-family:var(--font-display) !important;
  font-weight:600 !important;
  text-transform:none !important;
  line-height:1.08 !important;
  letter-spacing:-.02em !important;
}

.echo-page-content-area p {
  font-family:var(--font-body);
  color:rgba(30,53,87,.72);
}

.echo-section--cream { background:var(--echo-cream); }
.echo-section--white { background:#fff; }
.echo-section--navy,
.echo-section--deep {
  background:var(--echo-navy);
  color:#fff;
}

.echo-stat-strip {
  background:var(--echo-navy);
}

.echo-stat-strip__number {
  font-family:var(--font-display);
  color:var(--echo-sky);
  font-weight:600;
}

.echo-card,
.echo-listing-card {
  border:1px solid rgba(30,53,87,.10);
  border-radius:22px;
  box-shadow:0 14px 40px rgba(30,53,87,.05);
}

.echo-card:hover,
.echo-listing-card:hover {
  border-color:rgba(30,53,87,.14);
  box-shadow:0 22px 55px rgba(30,53,87,.10);
}

.echo-listing-card__badge {
  background:var(--echo-coral);
  border-radius:999px;
}

.echo-listing-card__price,
.echo-listing-card__cta,
.echo-page-content-area a {
  color:var(--echo-coral);
}

.echo-listing-card:hover .echo-listing-card__cta,
.echo-page-content-area a:hover {
  color:#8D5D31;
}

.gform_wrapper .gform_submit_button,
.gform_wrapper input[type="submit"] {
  background:var(--echo-coral) !important;
  color:#fff !important;
  border-radius:999px !important;
}

.gform_wrapper .gform_submit_button:hover,
.gform_wrapper input[type="submit"]:hover {
  background:#8D5D31 !important;
}

/* Minimal Footer */

.echo-footer--minimal {
  background:#FAF8F3;
  border-top:1px solid rgba(30,53,87,.10);
  padding:0;
}

.echo-footer__minimal-row {
  max-width:1180px;
  margin:0 auto;
  padding:22px 6%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  font-size:12px;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:#8A96A0;
}

.echo-footer__minimal-link {
  color:#A16B3A;
  text-decoration:none;
  font-weight:800;
}

.echo-footer__minimal-link:hover {
  color:#8D5D31;
}

@media(max-width:700px){
  .echo-footer__minimal-row {
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
}

/* Light mobile menu */
.echo-mobile-menu {
  background:var(--echo-cream) !important;
}

.echo-mobile-menu__links a {
  font-family:var(--font-display);
  font-weight:600;
  text-transform:none;
  color:rgba(30,53,87,.78) !important;
  border-bottom:1px solid rgba(30,53,87,.08) !important;
}

.echo-mobile-menu__links a:hover {
  color:var(--echo-coral) !important;
}

/* ==========================================
   NAVIGATION DROPDOWNS - FIXED
   ========================================== */

.echo-nav__links {
  display: flex;
  align-items: center;
  gap: 36px;
}

.echo-nav-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.echo-nav-dropdown__menu {
  display: none !important;
  position: absolute !important;
  top: 100%;
  left: 0;
  min-width: 240px;
  background: #ffffff;
  border: 1px solid rgba(30,53,87,.10);
  border-radius: 16px;
  box-shadow: 0 18px 45px rgba(30,53,87,.14);
  padding: 10px;
  z-index: 99999;
}

.echo-nav-dropdown:hover .echo-nav-dropdown__menu {
  display: block !important;
}

.echo-nav-dropdown__menu a {
  display: block !important;
  padding: 11px 14px;
  border-radius: 10px;
  color: #1E3557 !important;
  text-decoration: none;
  white-space: nowrap;
  font-size: 13px;
  line-height: 1.4;
}

.echo-nav-dropdown__menu a:hover {
  background: #FAF8F3;
  color: #A16B3A !important;
}