:root{
    --cream:#FBF3E7;
    --cream-deep:#F3E4D0;
    --terracotta:#C1613E;
    --terracotta-deep:#9A4A30;
    --coral:#E8896B;
    --apricot:#F0B78F;
    --charcoal:#3A2A22;
    --gold:#C9A227;
    --line:#E3CBAE;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--cream);
    color:var(--charcoal);
    font-family:"Avenir Next","Century Gothic",Futura,sans-serif;
    line-height:1.6;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{
    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
  }
  .eyebrow{
    font-size:0.72rem;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--terracotta-deep);
    font-weight:600;
  }
  a{color:inherit;}

  /* ---------- NAV ---------- */
  nav{
    position:fixed;top:0;left:0;right:0;
    display:flex;justify-content:space-between;align-items:center;
    padding:20px 6vw;
    z-index:100;
    background:rgba(251,243,231,0.88);
    backdrop-filter:blur(6px);
    border-bottom:1px solid transparent;
    transition:border-color .3s ease;
  }
  .header-bottom {
    margin-top: 0px !important;
}
  nav.scrolled{border-bottom:1px solid var(--line);}
  .nav-mark{font-family:Georgia,serif;font-size:1.05rem;letter-spacing:0.02em;}
  .nav-mark span{color:var(--terracotta);}
  .nav-cta{
    font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;
    background:var(--terracotta);color:var(--cream);
    padding:10px 20px;border-radius:2px;text-decoration:none;
    font-weight:600;
  }

  /* ---------- HERO ---------- */
  .hero{
    min-height:75vh;
    display:flex;flex-direction:column;justify-content:center;
    padding:0 6vw;
    position:relative;
  }
  section.who h2 {
    color: var(--cream) !important;
}
a.btn-secondary {
    background: transparent;
}
  .hero-inner{max-width:760px;}
  .dragonfly{
    width:34px;height:34px;
    margin-bottom:28px;
    opacity:0;
    animation:riseIn 1.1s ease forwards .2s;
  }
  .hero h1{
    font-size:clamp(2.4rem,6vw,4.6rem);
    line-height:1.05;
    color:var(--charcoal);
    opacity:0;
    animation:riseIn 1.1s ease forwards .4s;
  }
  .hero h1 em{
    font-style:italic;color:var(--terracotta);
  }
  .hero p.lede{
    margin-top:26px;
    max-width:520px;
    font-size:1.08rem;
    color:#5A483C;
    opacity:0;
    animation:riseIn 1.1s ease forwards .65s;
  }
  .hero-ctas{
    margin-top:38px;display:flex;gap:16px;flex-wrap:wrap;
    opacity:0;animation:riseIn 1.1s ease forwards .85s;
  }
  .btn-primary{
    background:var(--terracotta);color:var(--cream);
    padding:15px 30px;border-radius:2px;text-decoration:none;
    font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;font-weight:600;
    transition:background .25s ease;
  }
  .btn-primary:hover{background:var(--terracotta-deep);}
  .btn-secondary{
    padding:15px 30px;border-radius:2px;text-decoration:none;
    font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;font-weight:600;
    border:1px solid var(--charcoal);color:var(--charcoal);
  }
  @keyframes riseIn{
    from{opacity:0;transform:translateY(18px);}
    to{opacity:1;transform:translateY(0);}
  }
  .hero-meta{
    position:absolute;right:6vw;bottom:60px;
    text-align:right;font-size:0.82rem;color:#6B5A4C;
    display:none;
  }
  @media(min-width:900px){.hero-meta{display:block;}}

  /* ---------- PROMISE STRIP ---------- */
  .promise{
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    padding:26px 6vw;
    display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between;
    font-size:0.85rem;color:#6B5A4C;
  }
  .promise div{flex:1;min-width:180px;}
  .promise strong{display:block;color:var(--charcoal);font-family:Georgia,serif;font-size:1rem;margin-bottom:4px;}

  /* ---------- INTRO ---------- */
  .intro{
    padding:120px 6vw 80px;
    max-width:720px;
  }
  .intro h2{font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.25;margin-bottom:22px;}
  .intro p{color:#5A483C;font-size:1.05rem;max-width:600px;}

  /* ---------- FOUNDATION / BRICKS ---------- */
  .foundation{
    padding:60px 6vw 140px;
    position:relative;
    scroll-margin-top:90px;
  }
  .foundation-head{max-width:640px;margin-bottom:70px;}
  .foundation-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin-top:14px;}
  .wall{
    max-width:640px;
    margin:0 auto;
    display:flex;flex-direction:column-reverse;
    gap:14px;
  }
  .brick{
    background:var(--cream-deep);
    border:1px solid var(--line);
    border-radius:3px;
    padding:26px 30px;
    opacity:0;
    transform:translateY(24px);
    transition:opacity .7s ease, transform .7s ease, background .3s ease;
  }
  .brick.visible{opacity:1;transform:translateY(0);}
  .brick:nth-child(even){margin-left:34px;}
  .brick:nth-child(odd){margin-right:34px;}
  .brick-row{display:flex;align-items:baseline;gap:16px;}
  .brick-num{
    font-family:Georgia,serif;font-style:italic;color:var(--terracotta);
    font-size:1.3rem;flex-shrink:0;
  }
  .brick h3{font-size:1.15rem;font-weight:600;font-family:"Avenir Next",sans-serif;}
  .brick p{margin-top:6px;color:#6B5A4C;font-size:0.95rem;max-width:480px;}
  .brick.capstone{
    background:var(--terracotta);
    border-color:var(--terracotta);
  }
  .brick.capstone h3,.brick.capstone .brick-num{color:var(--cream);}
  .brick.capstone p{color:#F6E4D8;}

  @media(max-width:640px){
    .brick:nth-child(even),.brick:nth-child(odd){margin-left:0;margin-right:0;}
  }

  /* ---------- WHO ITS FOR ---------- */
  .who{
    background:var(--charcoal);color:var(--cream);
    padding:110px 6vw;
  }
  .who-grid{
    display:grid;grid-template-columns:1fr;gap:50px;
    max-width:1000px;margin:0 auto;
  }
  @media(min-width:800px){.who-grid{grid-template-columns:1fr 1fr;}}
  .who h2{font-size:clamp(1.8rem,3.4vw,2.4rem);max-width:420px;}
  .who ul{list-style:none;margin-top:20px;}
  .who li{
    padding:16px 0;border-top:1px solid rgba(251,243,231,0.18);
    font-size:1rem;color:#EADDCB;
  }
  .who li:last-child{border-bottom:1px solid rgba(251,243,231,0.18);}
  .who li span{color:var(--apricot);margin-right:10px;font-family:Georgia,serif;font-style:italic;}

  /* ---------- DETAILS ---------- */
  .details{
    padding:110px 6vw;
    max-width:1000px;margin:0 auto;
  }
  .details h2{font-size:clamp(1.8rem,3.4vw,2.4rem);margin-bottom:50px;}
  .detail-grid{display:grid;grid-template-columns:1fr;gap:36px;}
  @media(min-width:760px){.detail-grid{grid-template-columns:repeat(3,1fr);}}
  .detail-card{border-top:2px solid var(--terracotta);padding-top:18px;}
  .detail-card .eyebrow{margin-bottom:10px;}
  .detail-card p{color:#5A483C;font-size:0.95rem;}

  /* ---------- QUOTE ---------- */
  .quote{
    padding:100px 6vw;
    text-align:center;
    background:var(--cream-deep);
  }
  .quote blockquote{
    font-family:Georgia,serif;font-style:italic;
    font-size:clamp(1.6rem,3.6vw,2.4rem);
    max-width:760px;margin:0 auto;line-height:1.4;color:var(--terracotta-deep);
  }
  .quote cite{
    display:block;margin-top:24px;font-style:normal;
    font-size:0.82rem;letter-spacing:0.1em;text-transform:uppercase;color:#8A7563;
  }

  /* ---------- CTA ---------- */
  .cta{
    padding:130px 6vw;
    text-align:center;
    scroll-margin-top:70px;
  }
  .cta .dragonfly{margin:0 auto 26px;}
  .cta h2{font-size:clamp(2rem,4.6vw,3.2rem);max-width:640px;margin:0 auto 20px;}
  .cta p{max-width:480px;margin:0 auto 36px;color:#5A483C;}

  footer{
    padding:50px 6vw;
    border-top:1px solid var(--line);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;
    font-size:0.82rem;color:#8A7563;
  }

  @media (prefers-reduced-motion: reduce){
    *{animation:none !important;transition:none !important;}
    .brick{opacity:1;transform:none;}
  }

  a:focus-visible,button:focus-visible{
    outline:2px solid var(--terracotta-deep);outline-offset:3px;
  }