
  :root{
   --green-deep: #0e3130;
   --green-darker: var(--green-deep);
   --gold: #d4a242;
    --gold-soft:#e3bd6f;
    --ivory:#f6f3ec;
    --ivory-dim:#efe9dc;
    --ink:#1a1a1a;
    --white:#ffffff;
    --serif: 'Cormorant Garamond', serif;
    --sans: 'Jost', sans-serif;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--sans);
    color:var(--ink);
    background:var(--ivory);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }

  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}

  .eyebrow{
    font-family:var(--sans);
    letter-spacing:0.32em;
    text-transform:uppercase;
    font-size:0.72rem;
    font-weight:500;
  }

  /* ---------- NAV ---------- */
  header{
    position:fixed;
    top:0; left:0; right:0;
    z-index:100;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:1.4rem clamp(1.5rem, 5vw, 4rem);
    transition:background 0.4s ease, padding 0.4s ease, box-shadow 0.4s ease;
  }
  header.scrolled{
    background:rgba(14,49,48,0.96);
    padding:0.9rem clamp(1.5rem, 5vw, 4rem);
    box-shadow:0 8px 30px rgba(0,0,0,0.15);
  }
  .brand-mark{
    display:flex;
    align-items:center;
    gap:0.6rem;
  }
  .brand-mark img{height:34px; width:auto;}
  .brand-name{
    font-family:var(--serif);
    color:var(--white);
    font-size:1.25rem;
    letter-spacing:0.04em;
  }
  nav ul{
    list-style:none;
    display:flex;
    gap:clamp(1.2rem, 3vw, 2.6rem);
  }
  nav a{
    color:var(--white);
    font-size:0.78rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    font-weight:400;
    position:relative;
    padding-bottom:4px;
  }
  nav a::after{
    content:'';
    position:absolute;
    left:0; bottom:0;
    width:0%;
    height:1px;
    background:var(--gold);
    transition:width 0.35s ease;
  }
  nav a:hover::after{width:100%;}
  .nav-toggle{display:none;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:100svh;
    background:radial-gradient(120% 100% at 50% 0%, var(--green-deep) 0%, var(--green-darker) 100%);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:7rem 1.5rem 4rem;
    overflow:hidden;
  }
  .hero-sunburst{
    width:min(420px, 62vw);
    height:min(420px, 62vw);
    margin-bottom:1.2rem;
  }
  .hero-sunburst svg{width:100%; height:100%; display:block;}
  .ray{
    stroke:#d4a242;
    stroke-width:5;
    stroke-linecap:round;
    fill:none;
    stroke-dasharray:60;
    stroke-dashoffset:60;
    animation:drawRay 0.7s ease forwards;
  }
  .hero-letter{
    fill:var(--gold);
    opacity:0;
    animation:fadeLetter 0.8s ease forwards;
    animation-delay:1.05s;
  }
  @keyframes drawRay{ to{ stroke-dashoffset:0; } }
  @keyframes fadeLetter{ to{ opacity:1; } }

  .hero h1{
    font-family:var(--serif);
    font-weight:400;
    color:var(--white);
    font-size:clamp(2.1rem, 5vw, 3.6rem);
    line-height:1.15;
    max-width:15ch;
    opacity:0;
    animation:riseIn 0.9s ease forwards;
    animation-delay:1.5s;
  }
  .hero .tagline-rule{
    width:64px; height:1px;
    background:var(--gold);
    margin:1.6rem auto;
    opacity:0;
    animation:riseIn 0.9s ease forwards;
    animation-delay:1.75s;
  }
  .hero p.sub{
    font-family:var(--sans);
    color:rgba(255,255,255,0.72);
    font-size:0.95rem;
    letter-spacing:0.06em;
    max-width:36ch;
    opacity:0;
    animation:riseIn 0.9s ease forwards;
    animation-delay:1.9s;
  }
  @keyframes riseIn{
    from{opacity:0; transform:translateY(14px);}
    to{opacity:1; transform:translateY(0);}
  }
  .hero .scroll-cue{
    position:absolute;
    bottom:2.2rem; left:50%;
    transform:translateX(-50%);
    color:rgba(255,255,255,0.5);
    font-size:0.68rem;
    letter-spacing:0.3em;
    text-transform:uppercase;
    opacity:0;
    animation:riseIn 0.9s ease forwards;
    animation-delay:2.2s;
  }
  .hero .scroll-cue::after{
    content:'';
    display:block;
    width:1px; height:34px;
    background:linear-gradient(var(--gold), transparent);
    margin:0.6rem auto 0;
  }

  /* ---------- PILLARS ---------- */
  .pillars{
    background:var(--ivory);
    padding:6.5rem clamp(1.5rem, 6vw, 5rem);
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:3rem;
    max-width:1200px;
    margin:0 auto;
  }
  .pillar{
    text-align:center;
    padding:0 1rem;
  }
  .pillar .glyph{
    width:46px; height:46px;
    margin:0 auto 1.6rem;
    color:var(--gold);
  }
  .pillar .glyph svg{width:100%; height:100%;}
  .pillar h3{
    font-family:var(--serif);
    font-size:1.5rem;
    font-weight:500;
    margin-bottom:0.9rem;
    color:var(--green-deep);
  }
  .pillar p{
    font-size:0.92rem;
    line-height:1.7;
    color:#4a4a44;
    max-width:32ch;
    margin:0 auto;
  }

  /* ---------- ABOUT ---------- */
  .about{
    background:var(--green-deep);
    color:var(--white);
    padding:7rem clamp(1.5rem, 6vw, 5rem);
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:clamp(2.5rem, 6vw, 6rem);
    align-items:center;
    max-width:1300px;
    margin:0 auto;
  }
  .about .eyebrow{color:var(--gold-soft);}
  .about h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(2rem, 3.4vw, 2.8rem);
    margin:1rem 0 1.6rem;
    line-height:1.2;
  }
  .about p{
    font-size:0.98rem;
    line-height:1.85;
    color:rgba(255,255,255,0.78);
    margin-bottom:1.2rem;
    max-width:52ch;
  }
  .about .signature-mark{
    justify-self:center;
    width:100%;
    max-width:360px;
    aspect-ratio:1;
    position:relative;
  }
  .about .signature-mark .ring{
    position:absolute; inset:0;
    border-radius:50%;
    border:1px solid rgba(212,162,66,0.35);
  }
  .about .signature-mark .ring:nth-child(2){inset:12%;}
  .about .signature-mark img{
    position:absolute; inset:22%;
    width:56%; height:56%;
    object-fit:contain;
    filter:brightness(0) invert(1);
    opacity:0.9;
  }

  /* ---------- CTA STRIP ---------- */
  .cta-strip{
    background:var(--gold);
    color:var(--green-darker);
    padding:3.4rem clamp(1.5rem, 6vw, 5rem);
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:1.5rem;
    max-width:1300px;
    margin:0 auto;
  }
  .cta-strip h3{
    font-family:var(--serif);
    font-weight:500;
    font-size:1.7rem;
  }
  .btn{
    display:inline-block;
    padding:0.95rem 2.1rem;
    border:1px solid var(--green-darker);
    font-size:0.75rem;
    letter-spacing:0.22em;
    text-transform:uppercase;
    transition:background 0.3s ease, color 0.3s ease;
    white-space:nowrap;
  }
  .btn.dark{
    background:var(--green-darker);
    color:var(--white);
  }
  .btn.dark:hover{background:transparent; color:var(--green-darker);}
  .btn.outline{
    border-color:rgba(255,255,255,0.4);
    color:var(--white);
  }
  .btn.outline:hover{background:var(--white); color:var(--green-deep);}

  /* ---------- CONTACT ---------- */
  .contact{
    background:var(--green-darker);
    color:var(--white);
    padding:7rem clamp(1.5rem, 6vw, 5rem);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(2.5rem, 6vw, 5rem);
    max-width:1300px;
    margin:0 auto;
  }
  .contact .eyebrow{color:var(--gold-soft); margin-bottom:1rem; display:block;}
  .contact h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(2rem, 3.4vw, 2.7rem);
    margin-bottom:1.4rem;
  }
  .contact .info p{
    font-size:0.95rem;
    line-height:2;
    color:rgba(255,255,255,0.75);
  }
  .contact .info a{
    color:var(--gold-soft);
    border-bottom:1px solid rgba(212,162,66,0.4);
  }
  .contact .info .block{margin-bottom:1.8rem;}
  .contact .info .label{
    font-size:0.7rem;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--gold);
    display:block;
    margin-bottom:0.5rem;
  }
  form{display:flex; flex-direction:column; gap:1.3rem;}
  .field{position:relative;}
  .field input,
  .field textarea{
    width:100%;
    background:transparent;
    border:none;
    border-bottom:1px solid rgba(255,255,255,0.28);
    color:var(--white);
    font-family:var(--sans);
    font-size:0.95rem;
    padding:0.6rem 0;
    outline:none;
    transition:border-color 0.3s ease;
  }
  .field textarea{resize:none; min-height:90px;}
  .field input::placeholder,
  .field textarea::placeholder{color:rgba(255,255,255,0.4);}
  .field input:focus,
  .field textarea:focus{border-color:var(--gold);}
  form button{
    align-self:flex-start;
    margin-top:0.5rem;
    background:var(--gold);
    color:var(--green-darker);
    border:none;
    padding:0.95rem 2.3rem;
    font-family:var(--sans);
    font-size:0.75rem;
    letter-spacing:0.22em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background 0.3s ease, transform 0.2s ease;
  }
  form button:hover{background:var(--gold-soft);}
  form button:focus-visible,
  a:focus-visible,
  input:focus-visible,
  textarea:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--green-darker);
    border-top:1px solid rgba(255,255,255,0.08);
    padding:2.2rem clamp(1.5rem, 6vw, 5rem);
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:1rem;
  }
  footer .brand-mark img{height:24px;}
  footer p{
    font-size:0.75rem;
    color:rgba(255,255,255,0.45);
    letter-spacing:0.04em;
  }
  footer .social{display:flex; gap:1.4rem;}
  footer .social a{
    font-size:0.7rem;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.6);
  }
  footer .social a:hover{color:var(--gold);}

  /* ---------- SCROLL REVEAL ---------- */
  .reveal{
    opacity:0;
    transform:translateY(24px);
    transition:opacity 0.8s ease, transform 0.8s ease;
  }
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:920px){
    .pillars{grid-template-columns:1fr; gap:2.8rem;}
    .about{grid-template-columns:1fr;}
    .about .signature-mark{order:-1; max-width:220px;}
    .contact{grid-template-columns:1fr;}
    nav ul{
      position:fixed;
      top:0; right:0;
      height:100vh;
      width:min(78vw, 320px);
      background:var(--green-darker);
      flex-direction:column;
      justify-content:center;
      align-items:flex-start;
      padding:2rem 2.5rem;
      gap:1.8rem;
      transform:translateX(100%);
      transition:transform 0.4s ease;
    }
    nav ul.open{transform:translateX(0);}
    .nav-toggle{
      display:flex;
      flex-direction:column;
      gap:5px;
      background:none;
      border:none;
      cursor:pointer;
      z-index:110;
      padding:6px;
    }
    .nav-toggle span{width:22px; height:1.5px; background:var(--white);}
  }
  @media (max-width:600px){
    .cta-strip{flex-direction:column; text-align:center; justify-content:center;}
  }

/* Evolve: an editorial composition using the supplied brand assets. */
:root{--green-deep:#0e3130;--green-darker:#0e3130;--gold:#d4a242;--gold-soft:#d4a242;--ivory:#f6f3ec;}
html{scroll-padding-top:100px;}body{background:var(--green-deep);}
header{background:var(--green-deep);padding-block:1.35rem;border-bottom:1px solid #ffffff24;}
.wordmark{font-family:var(--serif);color:var(--ivory);font-size:2rem;letter-spacing:.18em;gap:1rem;}
.wordmark span{font-family:var(--sans);font-size:.75rem;letter-spacing:.3em;border-left:1px solid #d6a63d99;padding-left:1rem;}
nav a{font-size:.875rem;letter-spacing:.14em;}
.skip-link{position:fixed;top:-100px;left:1rem;z-index:200;padding:1rem;background:var(--ivory);color:var(--green-deep);}.skip-link:focus{top:1rem;}
.hero{min-height:860px;min-height:max(780px,100svh);padding:10rem 6vw 7rem;background:var(--green-deep);display:grid;grid-template-columns:1.25fr 1fr;text-align:left;gap:2rem;}
.hero-copy{grid-column:1;grid-row:1;z-index:1;}
.hero-copy>.eyebrow{color:var(--gold);margin-bottom:1.5rem;}
.hero h1{font-size:clamp(2.8rem,4.8vw,5.3rem);line-height:1.04;max-width:none;letter-spacing:-.025em;animation:none;opacity:1;}
.hero h1 em{font-weight:400;color:var(--gold-soft);}
.hero-sunburst{grid-column:2;grid-row:1;width:100%;height:auto;margin:0;}
.hero-sunburst img{width:100%;height:auto;transform:scale(1.22);}
.hero .tagline-rule{margin:1.8rem 0;width:48px;animation:none;opacity:1;}
.hero p.sub{font-size:1rem;line-height:1.7;max-width:44ch;animation:none;opacity:1;letter-spacing:0;}
.hero-link{display:inline-flex;gap:2rem;align-items:center;margin-top:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--gold);color:var(--ivory);font-size:.875rem;}
.hero-link span{color:var(--gold);font-size:1.5rem;}
.hero-bottom{position:absolute;bottom:1.75rem;left:6vw;right:6vw;display:flex;justify-content:space-between;border-top:1px solid #ffffff26;padding-top:1.2rem;color:#d5d9d3;font-size:.875rem;}
.eyebrow{font-size:.8rem;letter-spacing:.22em;}
.pillars{max-width:none;padding:6rem 6vw;gap:0;}
.pillar{text-align:left;padding:0 2.5rem;border-left:1px solid #10343233;}
.pillar:first-child{border:0;padding-left:0;}.pillar:last-child{padding-right:0;}
.pillar .glyph{margin:0 0 1.5rem;}.pillar p{margin:0;font-size:1rem;max-width:36ch;}.pillar h3{font-size:1.8rem;}
.about{max-width:none;padding:7rem 6vw;grid-template-columns:1.1fr .9fr;}
.about h2{font-size:clamp(2.25rem,4vw,4rem);max-width:19ch;}.about p{font-size:1rem;}
.about .signature-mark{max-width:360px;aspect-ratio:1105/1396;}.about .signature-mark .ring{display:none;}
.about .signature-mark img{position:static;width:100%;height:auto;filter:none;opacity:1;}
.cta-strip{max-width:none;padding:2.75rem 6vw;}.cta-strip h3{font-size:2rem;}
.btn,form button{font-size:.875rem;letter-spacing:.12em;}
.contact{max-width:none;padding:6rem 6vw;}.contact h2{font-size:clamp(2.5rem,4vw,4rem);max-width:14ch;}
.contact .info .label{font-size:.8rem;}.contact .info p{font-size:1rem;}
.field label{display:block;font-size:.875rem;color:#e1e5de;}.field input,.field textarea{font-size:1rem;border-color:#ffffff65;}.field textarea{resize:vertical;}
.email-note,#formStatus{font-size:.875rem;color:#c8d3d0;line-height:1.6;}
footer{padding:2rem 6vw;}footer .brand-mark img{height:68px;}footer p,.back-top{font-size:.875rem;}.back-top{color:#d7ded8;}
@media(min-width:921px){nav ul{visibility:visible!important;}}
@media(max-width:920px){
 nav ul{visibility:hidden;transition:transform .3s,visibility .3s;padding-top:6rem;}nav ul.open{visibility:visible;}
 .hero{grid-template-columns:1fr;min-height:auto;padding:8rem 6vw 6rem;gap:2.5rem;}
 .hero-copy{grid-column:1;grid-row:2;}.hero-sunburst{grid-column:1;grid-row:1;width:220px;justify-self:center;}.hero-sunburst img{transform:none;}
 .hero h1{font-size:clamp(2.4rem,6.6vw,4.8rem);}.hero h1 br{display:initial;}
 .hero h1{max-width:15ch;}.hero-copy{width:100%;}.hero-bottom{font-size:.75rem;}
 .pillars{padding:4rem 6vw;gap:2rem;}.pillar,.pillar:first-child,.pillar:last-child{padding:0 0 2rem;border:0;border-bottom:1px solid #10343233;}
 .pillar:last-child{padding-bottom:0;border:0;}.pillar p{max-width:none;}
 .about{grid-template-columns:1fr;padding:4rem 6vw;}.about .signature-mark{order:0;max-width:230px;}
 .contact{grid-template-columns:1fr;padding:4rem 6vw;}.wordmark{font-size:1.7rem;gap:.7rem;}.wordmark span{font-size:.65rem;padding-left:.7rem;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.reveal{opacity:1;transform:none;}}

/* Shared navigation and footer. Keep content accessible without animation. */
header{z-index:1000;min-height:80px}header nav{position:relative}.nav-toggle{position:relative;z-index:1002;min-width:44px;min-height:44px;align-items:center;justify-content:center}.nav-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:4px}header nav a{display:inline-block;padding:.75rem .2rem}header nav a[aria-current="page"]{color:var(--gold-soft)}section[id]{scroll-margin-top:1rem}.reveal{opacity:1;transform:none}footer .footer-brand{display:flex;gap:1rem;align-items:center;color:var(--ivory)}footer .footer-brand img{width:88px;height:auto;filter:none;object-fit:contain}footer .footer-brand span{font-family:var(--serif);font-size:1.5rem;letter-spacing:.12em}footer .footer-brand small{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.28em;margin-top:.2rem}
@media(max-width:920px){header nav{position:static}header nav ul{z-index:1001;max-width:100%;height:100dvh;top:0;right:0;padding:6rem 2rem 2rem;overflow-y:auto;justify-content:flex-start}header nav ul a{font-size:1rem;padding:.9rem 0}header .wordmark{margin-right:auto}header .nav-toggle{margin-left:1rem}header.scrolled{min-height:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero h1,.hero p.sub{animation:none!important;opacity:1!important}}

/* EVOLVE: MOBILE HOMEPAGE */
@media (max-width: 600px) {
  .hero {
    min-height: auto;
    padding: 110px 6vw 100px;
    gap: 20px;
  }

  .hero-sunburst {
    width: 150px;
    height: auto;
    margin: 0 auto;
  }

  .hero-sunburst img {
    width: 100%;
    height: auto;
    transform: none;
  }

  .hero h1 {
    font-size: clamp(2.1rem, 9vw, 2.8rem);
  }

  .hero-bottom {
    bottom: 20px;
  }
}
