/*
Theme Name: AY & Associates
Theme URI: https://ayacoach.com
Author: AY & Associates, LLC
Author URI: https://ayacoach.com
Description: Custom theme for AY & Associates (AYA) / AYACOACH — life, business, and leadership coaching. Purple/gold brand system with a spiral motif. Includes page templates for Home, About, Services, The Spiral (Substack), and Book a Call.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: aya-associates
*/


  :root{
    --teal:#4A2682;
    --teal-deep:#2E1854;
    --teal-line: rgba(250,246,238,0.22);
    --gold:#E8A219;
    --gold-soft:#F0BE5C;
    --lavender:#9A8ABC;
    --cream:#FAF6EE;
    --cream-2:#F1EADA;
    --white:#FFFFFF;
    --ink:#221933;
    --mute:#5B5568;
    --line:#E2D9C4;
    --radius: 2px;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    background:var(--cream);
    color:var(--ink);
    font-family:'Work Sans', sans-serif;
    font-weight:400;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.serif{font-family:'Fraunces', serif;}
  .eyebrow{
    font-family:'Work Sans', sans-serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--gold);
  }
  .eyebrow.on-dark{ color:var(--gold-soft); }

  /* ---------- NAV ---------- */
  nav{
    position:sticky; top:0; z-index:50;
    background:var(--cream);
    border-bottom:1px solid var(--line);
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 32px;
  }
  .wordmark{
    display:flex; align-items:center; gap:10px;
  }
  .wordmark img{ height:40px; width:auto; display:block; }
  .wordmark span{ font-family:'Work Sans',sans-serif; font-size:10px; letter-spacing:0.1em; color:var(--mute); font-weight:500; text-transform:uppercase; }
  .navlinks{ display:flex; gap:4px; }
  .navlinks button{
    font-family:'Work Sans', sans-serif; font-size:13px; font-weight:500;
    background:none; border:none; cursor:pointer; color:var(--mute);
    padding:9px 16px; border-radius:999px; transition:all .2s ease;
    letter-spacing:0.01em;
  }
  .navlinks button:hover{ color:var(--teal-deep); }
  .navlinks button.active{ background:var(--teal); color:var(--white); }

  /* ---------- PAGE WRAP ---------- */
  section{ padding:88px 32px; }
  .inner{ max-width:920px; margin:0 auto; }
  .inner.wide{ max-width:1080px; }

  /* ---------- HERO ---------- */
  .hero{
    background: radial-gradient(120% 160% at 15% 0%, #12626A 0%, var(--teal) 45%, var(--teal-deep) 100%);
    color:var(--cream);
    padding:120px 32px 110px;
    position:relative;
    overflow:hidden;
  }
  .hero .inner{ position:relative; z-index:2; }
  .spiral-wrap{
    position:absolute; right:-6%; top:50%; transform:translateY(-50%);
    width:640px; height:640px; opacity:0.55; z-index:1;
    pointer-events:none;
  }
  .spiral-wrap svg{ width:100%; height:100%; }
  .spiral-path{
    fill:none; stroke:var(--gold-soft); stroke-width:1.4; stroke-linecap:round;
    stroke-dasharray:1400; stroke-dashoffset:1400;
    animation:draw 2.6s ease forwards .3s;
  }
  @keyframes draw{ to{ stroke-dashoffset:0; } }
  .hero h1{
    font-size:56px; font-weight:500; line-height:1.06; margin:18px 0 22px; max-width:640px;
    color:var(--white);
  }
  .hero h1 em{ font-style:italic; color:var(--gold-soft); font-weight:400; }
  .hero p.sub{ font-size:18px; line-height:1.6; max-width:520px; color:rgba(250,246,238,0.86); margin:0 0 36px; font-weight:300;}
  .btn-row{ display:flex; gap:14px; flex-wrap:wrap; }
  .btn{
    display:inline-block; padding:14px 26px; font-family:'Work Sans',sans-serif; font-size:14px; font-weight:600;
    letter-spacing:0.02em; border-radius:999px; cursor:pointer; text-decoration:none; transition:all .2s ease;
    border:1px solid transparent;
  }
  .btn-gold{ background:var(--gold); color:var(--teal-deep); }
  .btn-gold:hover{ background:var(--gold-soft); }
  .btn-outline{ border-color:var(--teal-line); color:var(--cream); }
  .btn-outline:hover{ border-color:var(--gold-soft); color:var(--gold-soft); }
  .btn-solid-teal{ background:var(--teal); color:var(--white); }
  .btn-solid-teal:hover{ background:var(--teal-deep); }
  .btn-line{ border-color:var(--teal); color:var(--teal-deep); }
  .btn-line:hover{ background:var(--teal); color:var(--white); }

  /* ---------- TRUST BAR ---------- */
  .trust{ background:var(--white); padding:0; }
  .trust .inner.wide{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; padding:0; }
  .trust-item{ padding:44px 34px; border-right:1px solid var(--line); }
  .trust-item:last-child{ border-right:none; }
  .trust-item h3{ font-size:17px; font-weight:500; margin:10px 0 8px; color:var(--teal-deep); }
  .trust-item p{ font-size:14px; line-height:1.6; color:var(--mute); margin:0; }
  .trust-mark{ width:26px; height:26px; }

  /* ---------- GENERIC SECTION ---------- */
  .band-cream{ background:var(--cream); }
  .band-white{ background:var(--white); }
  h2.section-title{ font-size:34px; font-weight:500; color:var(--teal-deep); margin:8px 0 20px; line-height:1.15; }
  p.lede{ font-size:17px; line-height:1.75; color:var(--ink); max-width:680px; }
  p.lede.italic{ font-style:italic; color:var(--mute); font-size:15px; }

  /* ---------- ABOUT ---------- */
  .about-grid{ display:grid; grid-template-columns:280px 1fr; gap:56px; align-items:start; }
  .portrait{
    aspect-ratio:4/5; background:linear-gradient(160deg,#DCE7E4,#B9CFC9);
    border-radius:2px; display:flex; align-items:center; justify-content:center;
    color:var(--teal-deep); font-family:'Work Sans'; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; text-align:center; padding:20px;
    border:1px solid var(--line);
  }
  .credential-strip{ margin-top:20px; padding-top:20px; border-top:1px solid var(--line); }
  .credential-strip .cred{ font-size:13px; color:var(--teal-deep); font-weight:600; margin-bottom:4px; }
  .credential-strip .cred-note{ font-size:12.5px; color:var(--mute); line-height:1.5; }
  .about-grid p{ font-size:16px; line-height:1.8; color:var(--ink); margin:0 0 18px; }
  .about-grid p.callout{ font-weight:600; color:var(--teal-deep); border-left:2px solid var(--gold); padding-left:18px; }

  /* ---------- SERVICES ---------- */
  .svc-cols{ display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:36px;}
  .svc-card{ background:var(--white); border:1px solid var(--line); padding:0; }
  .svc-card .svc-head{ background:var(--teal); color:var(--white); padding:20px 24px; }
  .svc-card .svc-head span.eyebrow{ color:var(--gold-soft); }
  .svc-card .svc-head h3{ font-size:20px; font-weight:500; margin:6px 0 0; }
  .svc-row{ padding:18px 24px; border-bottom:1px solid var(--line); }
  .svc-row:last-child{ border-bottom:none; }
  .svc-row .name{ font-weight:600; font-size:14.5px; color:var(--ink); }
  .svc-row .desc{ font-size:13.5px; color:var(--mute); margin:4px 0 8px; line-height:1.5;}
  .svc-row .price{ font-size:13px; color:var(--gold); font-weight:700; letter-spacing:0.01em; }
  @media (max-width:760px){ .svc-cols, .about-grid{ grid-template-columns:1fr; } }

  /* ---------- SPIRAL DIVIDER MARK ---------- */
  .mark{ width:34px; height:34px; margin-bottom:6px; }
  .mark path{ fill:none; stroke:var(--gold); stroke-width:1.6; }

  /* ---------- SUBSTACK ---------- */
  .spiral-page-hero{ background:var(--teal-deep); color:var(--cream); padding:96px 32px 84px; position:relative; overflow:hidden;}
  .spiral-page-hero .inner{ position:relative; z-index:2; }
  .spiral-page-hero h1{ font-size:44px; font-weight:500; margin:14px 0 18px; color:var(--white); }
  .pillars{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:40px; }
  .pillar{ background:var(--white); border:1px solid var(--line); padding:22px 22px; }
  .pillar .num{ font-family:'Fraunces', serif; font-size:26px; color:var(--gold); font-style:italic; }
  .pillar h4{ margin:6px 0 6px; font-size:15.5px; font-weight:600; color:var(--teal-deep); }
  .pillar p{ font-size:13.5px; color:var(--mute); line-height:1.55; margin:0; }
  .embed-box{
    margin-top:44px; border:1.5px dashed var(--line); background:var(--white); padding:56px 32px;
    text-align:center; color:var(--mute); font-size:13px; letter-spacing:0.03em;
  }
  .embed-box strong{ display:block; color:var(--teal-deep); font-size:14px; margin-bottom:6px; font-weight:600; }
  .subscribe-row{ display:flex; gap:10px; margin-top:28px; max-width:420px; }
  .subscribe-row input{ flex:1; padding:13px 16px; border:1px solid var(--line); font-family:'Work Sans'; font-size:14px; background:var(--white); }

  /* ---------- BOOK A CALL ---------- */
  .book-types{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px; }
  .book-card{ background:var(--white); border:1px solid var(--line); padding:26px 22px; cursor:pointer; transition:border-color .2s ease; }
  .book-card:hover{ border-color:var(--gold); }
  .book-card.selected{ border-color:var(--teal); box-shadow: inset 0 0 0 1px var(--teal); }
  .book-card .len{ font-size:12px; color:var(--gold); font-weight:700; letter-spacing:0.05em; text-transform:uppercase; }
  .book-card h4{ margin:8px 0 8px; font-size:16.5px; color:var(--teal-deep); font-weight:600; }
  .book-card p{ font-size:13px; color:var(--mute); line-height:1.5; margin:0; }
  .calendar-embed{
    margin-top:40px; border:1.5px dashed var(--line); background:var(--white); min-height:340px;
    display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px;
    color:var(--mute); font-size:13px;
  }
  .calendar-embed strong{ color:var(--teal-deep); font-size:14.5px; font-weight:600; }
  .disclaimer-line{ margin-top:28px; font-size:12.5px; color:var(--mute); font-style:italic; border-top:1px solid var(--line); padding-top:18px; }

  /* ---------- FOOTER ---------- */
  footer{ background:var(--teal-deep); color:rgba(250,246,238,0.72); padding:48px 32px 36px; }
  footer .inner{ display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap; }
  footer .fnote{ max-width:560px; font-size:12px; line-height:1.7; }
  footer .flinks{ display:flex; gap:22px; font-size:13px; }
  footer .flinks a{ color:var(--cream); text-decoration:none; opacity:.85; }
  footer .flinks a:hover{ opacity:1; }
  footer .fbrand{ font-family:'Fraunces', serif; color:var(--white); font-size:16px; margin-bottom:10px; }

  table.copy-table{ width:100%; border-collapse:collapse; margin-top:22px; }
  table.copy-table th{ background:var(--teal); color:var(--white); text-align:left; font-size:12px; letter-spacing:0.05em; text-transform:uppercase; padding:12px 16px; font-weight:600;}
  table.copy-table td{ padding:14px 16px; border-bottom:1px solid var(--line); font-size:14px; color:var(--ink); vertical-align:top;}

  .tag{ display:inline-block; font-size:11px; letter-spacing:0.05em; text-transform:uppercase; color:var(--teal); background:var(--cream-2); padding:4px 10px; border-radius:999px; font-weight:600; margin-right:6px; }

/* ---------- WP NAV (real <a> links replacing the JS tab-buttons from the mockup) ---------- */
.navlinks a{
  font-family:'Work Sans', sans-serif; font-size:13px; font-weight:500;
  color:var(--mute); text-decoration:none;
  padding:9px 16px; border-radius:999px; transition:all .2s ease;
  letter-spacing:0.01em; display:inline-block;
}
.navlinks a:hover{ color:var(--teal-deep); }
.navlinks a.current-menu-item, .navlinks a.aya-current{ background:var(--teal); color:var(--white); }
.navlinks ul{ list-style:none; display:flex; gap:4px; margin:0; padding:0; }
.navlinks li{ display:inline-block; }
.custom-logo-link img{ height:40px; width:auto; display:block; }
