  :root{
    --teal-deep:#16302C;
    --ink:#101C1A;
    --seaglass:#9FB8AE;
    --stone:#EDE6D6;
    --brass:#B08A4E;
    --brass-soft:#D8BE8C;
    --stone-dim:#DED5BF;
    --plum:#4B3B4E;
  }

  *{ margin:0; padding:0; box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    background:var(--stone); color:var(--ink);
    font-family:'Work Sans', sans-serif; font-weight:400; line-height:1.6;
    overflow-x:hidden;
  }
  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
  }
  a{ color:inherit; }
  .wrap{ max-width:1080px; margin:0 auto; padding:0 32px; }
  h1,h2,h3{ font-family:'Fraunces', serif; font-weight:500; letter-spacing:-0.01em; }
  section{ position:relative; }

  /* ---------- NAV ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:70;
    background:rgba(16,28,26,0.0);
    transition:background .4s ease;
  }
  header.scrolled{ background:rgba(16,28,26,0.94); backdrop-filter:blur(6px); }
  nav{
    display:flex; align-items:center; justify-content:space-between;
    max-width:1080px; margin:0 auto; padding:20px 32px;
  }
  .wordmark{ font-family:'Fraunces', serif; font-style:italic; font-size:1.1rem; color:var(--stone); }
  .nav-links{ display:flex; gap:26px; align-items:center; }
  .nav-links a{
    font-family:'Space Mono', monospace; font-size:0.68rem; letter-spacing:0.08em;
    text-transform:uppercase; color:var(--stone); text-decoration:none; opacity:0.85;
    transition:opacity .25s ease;
  }
  .nav-links a:hover{ opacity:1; }
  .nav-cta{
    font-family:'Space Mono', monospace; font-size:0.68rem; letter-spacing:0.08em;
    text-transform:uppercase; color:var(--stone);
    border:1px solid rgba(237,230,214,0.4); padding:9px 16px; border-radius:999px;
    text-decoration:none; transition:border-color .3s ease, background .3s ease;
  }
  .nav-cta:hover{ border-color:var(--brass-soft); background:rgba(216,190,140,0.12); }
  .nav-toggle{ display:none; }

  /* ---------- HERO ---------- */
  .hero{
    position:relative; min-height:100vh; display:flex; flex-direction:column; justify-content:flex-end;
    background:linear-gradient(180deg,#16302C 0%,#2E4A42 22%,#6E7F64 42%,#B98B62 62%,#E7C79A 78%,#F3DDB3 100%);
    overflow:hidden;
  }
  .hero-inner{ position:relative; z-index:2; padding:0 32px 92px; max-width:1080px; margin:0 auto; width:100%; }
  .eyebrow{
    font-family:'Space Mono', monospace; font-size:0.72rem; letter-spacing:0.16em;
    text-transform:uppercase; color:var(--ink); opacity:0.72; margin-bottom:22px;
  }
  .hero h1{ font-size:clamp(2.8rem, 8vw, 5.6rem); line-height:0.98; color:var(--ink); max-width:13ch; }
  .hero h1 em{ font-style:italic; font-weight:400; color:#16302C; }
  .hero-sub{ margin-top:24px; max-width:42ch; font-size:1.06rem; color:#1c2b27; opacity:0.85; }
  .hero-links{ margin-top:40px; display:flex; flex-wrap:wrap; gap:16px; }
  .pill{
    font-family:'Space Mono', monospace; font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase;
    padding:12px 22px; border-radius:999px; text-decoration:none; border:1px solid rgba(16,28,26,0.35);
    color:var(--ink); transition:background .25s ease;
  }
  .pill:hover{ background:rgba(16,28,26,0.08); }
  .pill.filled{ background:var(--ink); color:var(--stone); border-color:var(--ink); }
  .pill.filled:hover{ background:#213c37; }

  .hero-links .pill:not(.filled){
    background:rgba(237,230,214,0.92); border-color:rgba(16,28,26,0.25);
  }
  .hero-links .pill:not(.filled):hover{ background:rgba(237,230,214,1); }
  .horizon{ position:absolute; left:0; right:0; bottom:0; height:36%; z-index:1; }
  .horizon svg{ width:100%; height:100%; display:block; }

  /* ---------- BREATHING SIGNATURE ---------- */
  .breathe-section{ background:var(--teal-deep); color:var(--stone); padding:100px 0 120px; text-align:center; }
  .breathe-wrap{ display:flex; flex-direction:column; align-items:center; gap:30px; }
  .breathe-circle{
    width:120px; height:120px; border-radius:50%; border:1px solid rgba(237,230,214,0.45);
    position:relative; animation:breathe 8s ease-in-out infinite;
  }
  .breathe-circle::before{
    content:''; position:absolute; inset:16px; border-radius:50%;
    background:radial-gradient(circle at 40% 35%, rgba(216,190,140,0.5), rgba(216,190,140,0.05) 70%);
  }
  @keyframes breathe{
    0%{transform:scale(0.72); border-color:rgba(237,230,214,0.25);}
    45%{transform:scale(1.05); border-color:rgba(216,190,140,0.7);}
    50%{transform:scale(1.05); border-color:rgba(216,190,140,0.7);}
    95%{transform:scale(0.72); border-color:rgba(237,230,214,0.25);}
    100%{transform:scale(0.72); border-color:rgba(237,230,214,0.25);}
  }
  .breathe-caption{ font-family:'Fraunces', serif; font-style:italic; font-size:1.2rem; max-width:34ch; opacity:0.92; }
  .breathe-note{ font-family:'Space Mono', monospace; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; opacity:0.5; }

  /* ---------- SECTION HEADERS ---------- */
  .section-head{ margin-bottom:56px; max-width:60ch; }
  .section-head .eyebrow{ color:var(--brass); opacity:1; margin-bottom:14px; }
  .section-head h2{ font-size:clamp(2rem, 4vw, 2.7rem); line-height:1.08; }
  .section-head p{ margin-top:16px; color:#4a5751; font-size:1rem; max-width:52ch; }
  .breathe-section .section-head p, .cta .section-head p{ color:var(--stone); opacity:0.8; }

  /* ---------- ABOUT ---------- */
  .about{ padding:120px 0 100px; }
  .about-photo{
    width:100%; max-width:340px; aspect-ratio:4/5; object-fit:cover;
    border-radius:2px; margin-bottom:28px; filter:grayscale(100%) contrast(1.05);
    display:block;
  }
  .about-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:start; }
  .about p{ font-size:1.02rem; color:#2a3a36; max-width:52ch; }
  .about p + p{ margin-top:18px; }
  .credentials{ margin-top:30px; display:flex; flex-direction:column; gap:8px; }
  .credentials div{
    font-family:'Space Mono', monospace; font-size:0.76rem; color:#5b6b66;
    border-top:1px solid rgba(16,28,26,0.12); padding-top:10px;
  }
  .credentials div:first-child{ border-top:none; padding-top:0; }

  /* ---------- RETREATS SHOWCASE ---------- */
  /* ---------- LINEAGE / QUOTES ---------- */
  .lineage-section{ background:var(--stone); padding:110px 0 120px; }
  .quote-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2px; background:rgba(16,28,26,0.14); border:1px solid rgba(16,28,26,0.14); margin-top:20px; }
  .quote-card{ background:var(--stone-dim); padding:40px 36px; display:flex; flex-direction:column; gap:16px; }
  .quote-card p{ font-family:'Fraunces', serif; font-style:italic; font-size:1.12rem; line-height:1.55; color:var(--ink); }
  .quote-name{ font-family:'Space Mono', monospace; font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--brass); opacity:0.9; }

  .retreats{ background:var(--stone-dim); padding:110px 0; }
  .retreat-cards{ display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }

  .retreat-gallery-group{ margin-top:48px; }
  .retreat-gallery-group + .retreat-gallery-group{ margin-top:36px; }
  .gallery-label{
    font-family:'Space Mono', monospace; font-size:0.72rem; letter-spacing:0.06em;
    text-transform:uppercase; color:var(--brass); margin-bottom:14px;
  }
  .retreat-gallery{ display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; }
  .retreat-gallery img{
    width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:2px;
    display:block; filter:saturate(0.92);
  }
  .retreat-card{
    background:var(--stone); border:1px solid rgba(16,28,26,0.12);
    padding:32px 28px; display:flex; flex-direction:column; gap:14px; min-height:280px;
  }
  .retreat-card.current{ background:var(--teal-deep); color:var(--stone); border-color:var(--teal-deep); }
  .retreat-status{
    font-family:'Space Mono', monospace; font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--brass);
  }
  .retreat-card.current .retreat-status{ color:var(--brass-soft); }
  .retreat-card h3{ font-size:1.5rem; font-style:italic; font-weight:400; }
  .retreat-meta{
    font-family:'Space Mono', monospace; font-size:0.74rem; opacity:0.65; margin-top:-6px;
  }
  .retreat-card p{ font-size:0.92rem; color:#4a5751; flex-grow:1; }
  .retreat-card.current p{ color:var(--stone); opacity:0.82; }
  .retreat-card a{
    font-family:'Space Mono', monospace; font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase;
    text-decoration:none; border-bottom:1px solid currentColor; align-self:flex-start; padding-bottom:2px;
  }

  /* ---------- OFFERINGS: COACHING + SOUND HEALING ---------- */
  .offerings{ padding:120px 0; }
  .offerings-head{
    display:flex; justify-content:space-between; align-items:flex-end; gap:40px;
    max-width:100%;
  }
  .offerings-head-text{ max-width:52ch; }
  .offerings-photo{
    width:180px; height:180px; object-fit:cover; border-radius:50%;
    flex-shrink:0; border:1px solid rgba(16,28,26,0.15);
  }
  .offering-row{
    display:grid; grid-template-columns:1fr 1fr; gap:2px;
    background:rgba(16,28,26,0.14); border:1px solid rgba(16,28,26,0.14); margin-top:20px;
  }
  .offering-card{ background:var(--stone); padding:48px 40px; display:flex; flex-direction:column; gap:16px; }
  .offering-card .eyebrow{ color:var(--brass); opacity:1; margin-bottom:0; }
  .offering-card h3{ font-size:1.7rem; }
  .offering-card p{ color:#4a5751; font-size:0.96rem; max-width:44ch; }
  .offering-list{ display:flex; flex-direction:column; gap:8px; margin-top:6px; }
  .offering-list div{
    font-size:0.88rem; color:#3a4842; display:flex; gap:10px; align-items:baseline;
  }
  .offering-list div::before{
    content:''; width:5px; height:5px; border-radius:50%; background:var(--brass); flex-shrink:0; margin-top:2px;
  }
  .offering-card a.pill{ align-self:flex-start; margin-top:8px; color:var(--ink); border-color:rgba(16,28,26,0.35); }
  .offering-buttons{ display:flex; flex-wrap:wrap; gap:12px; margin-top:8px; }
  .offering-buttons .pill{ margin-top:0; }
  .offering-buttons .pill.filled{ color:var(--stone); background:var(--ink); border-color:var(--ink); }
  .offering-buttons .pill.filled:hover{ background:#213c37; }

  /* soundwave decoration for sound healing card */
  .soundwave{ display:flex; align-items:center; gap:4px; height:28px; margin-top:4px; }
  .soundwave span{
    display:block; width:3px; background:var(--plum); border-radius:2px;
    animation:wave 1.8s ease-in-out infinite;
  }
  .soundwave span:nth-child(1){ height:10px; animation-delay:0s; }
  .soundwave span:nth-child(2){ height:22px; animation-delay:0.15s; }
  .soundwave span:nth-child(3){ height:14px; animation-delay:0.3s; }
  .soundwave span:nth-child(4){ height:26px; animation-delay:0.45s; }
  .soundwave span:nth-child(5){ height:16px; animation-delay:0.6s; }
  .soundwave span:nth-child(6){ height:20px; animation-delay:0.75s; }
  @keyframes wave{ 0%,100%{ transform:scaleY(0.5);} 50%{ transform:scaleY(1);} }

  /* ---------- TESTIMONIALS ---------- */
  /* ---------- MEDITATIONS DOWNLOADS ---------- */
  /* ---------- BOOKING WIDGET ---------- */
  .book-widget-section{ background:var(--stone); padding:110px 0; }
  .widget-frame{
    background:var(--stone-dim); border:1px solid rgba(16,28,26,0.14);
    border-radius:4px; padding:24px; min-height:200px; overflow-x:auto;
  }

  .meditations{ background:var(--stone-dim); padding:110px 0; }
  .track-list{ display:flex; flex-direction:column; }
  .track-item{
    display:flex; justify-content:space-between; align-items:center; gap:24px;
    padding:28px 0; border-top:1px solid rgba(16,28,26,0.14);
  }
  .track-list .track-item:last-child{ border-bottom:1px solid rgba(16,28,26,0.14); }
  .track-info h3{ font-size:1.2rem; font-weight:500; }
  .track-meta{
    font-family:'Space Mono', monospace; font-size:0.72rem; letter-spacing:0.05em;
    color:var(--brass); margin:6px 0 8px;
  }
  .track-info p{ font-size:0.92rem; color:#4a5751; max-width:48ch; }
  .track-buy{ flex-shrink:0; color:var(--ink); border-color:rgba(16,28,26,0.35); white-space:nowrap; }
  .track-note{
    margin-top:36px; font-family:'Space Mono', monospace; font-size:0.74rem;
    color:#6b7a75; opacity:0.8; max-width:60ch;
  }

  .testimonials{ background:var(--teal-deep); color:var(--stone); padding:110px 0; }
  .testimonials .section-head p{ color:var(--stone); opacity:0.75; }
  .testimonial-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:32px; }
  .testimonial{ border-top:1px solid rgba(237,230,214,0.25); padding-top:20px; }
  .testimonial p{ font-family:'Fraunces', serif; font-style:italic; font-size:1.08rem; line-height:1.5; opacity:0.92; }
  .testimonial-name{ margin-top:16px; font-family:'Space Mono', monospace; font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; opacity:0.55; }

  /* ---------- CTA / CONTACT ---------- */
  .cta{ padding:130px 0; text-align:center; }
  .hidden-field{ position:absolute; left:-9999px; }

  .enquiry-form{
    text-align:left; max-width:640px; margin:0 auto; display:flex; flex-direction:column; gap:20px;
  }
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .form-field{ display:flex; flex-direction:column; gap:8px; }
  .form-field-full{ width:100%; }
  .enquiry-form label{
    font-family:'Space Mono', monospace; font-size:0.7rem; letter-spacing:0.06em;
    text-transform:uppercase; color:#5b6b66;
  }
  .enquiry-form input,
  .enquiry-form select,
  .enquiry-form textarea{
    font-family:'Work Sans', sans-serif; font-size:0.98rem; color:var(--ink);
    background:var(--stone-dim); border:1px solid rgba(16,28,26,0.2); border-radius:4px;
    padding:12px 14px; width:100%; resize:vertical;
  }
  .enquiry-form input:focus,
  .enquiry-form select:focus,
  .enquiry-form textarea:focus{
    outline:none; border-color:var(--brass);
  }
  .form-submit{
    align-self:flex-start; border:none; cursor:pointer;
    font-family:'Space Mono', monospace;
  }
  .cta h2{ font-size:clamp(2.2rem, 5vw, 3.2rem); max-width:16ch; margin:0 auto 20px; }
  .cta-note{ margin-top:22px; font-size:0.8rem; color:#5b6b66; }
  .cta .pill{ margin:6px; }
  .cta-buttons{ margin-top:12px; }

  footer{
    padding:40px 0; text-align:center; background:var(--teal-deep); color:var(--stone);
    font-family:'Space Mono', monospace; font-size:0.7rem; letter-spacing:0.06em; opacity:0.85;
  }
  footer .foot-brand{ font-size:0.82rem; font-weight:700; opacity:1; }
  footer .foot-tagline{ margin-top:8px; opacity:0.7; }
  footer .foot-contact{
    margin-top:24px; display:flex; flex-direction:column; gap:8px;
    font-size:1.05rem; font-weight:700; letter-spacing:0.02em; opacity:1;
  }
  footer a{ text-decoration:none; opacity:0.85; }

  a:focus-visible, button:focus-visible{ outline:2px solid var(--brass); outline-offset:3px; }

  /* ---------- JOURNAL ---------- */
  .journal-section{ background:var(--stone); padding:110px 0; }
  .journal-article{ max-width:68ch; margin:0 auto; }
  .journal-article h2{ font-size:clamp(2.1rem, 4.4vw, 3rem); line-height:1.1; max-width:16ch; }
  .journal-article > .eyebrow{ color:var(--brass); opacity:1; margin-bottom:14px; }
  .journal-article h3{
    font-size:1.35rem; font-style:italic; font-weight:400; margin-top:44px; margin-bottom:14px; color:var(--teal-deep);
  }
  .journal-article p{ font-size:1.02rem; color:#2a3a36; margin-top:16px; }
  .journal-article p:first-of-type{ margin-top:28px; }
  .journal-image{
    width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:2px;
    margin:36px 0; display:block; filter:saturate(0.94);
  }
  .journal-image-caption{
    font-family:'Space Mono', monospace; font-size:0.68rem; letter-spacing:0.05em;
    text-transform:uppercase; color:var(--brass); margin-top:-28px; margin-bottom:36px;
  }
  .journal-signature{
    margin-top:48px; font-family:'Fraunces', serif; font-style:italic; font-size:1.3rem; color:var(--teal-deep);
  }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 860px){
    .hero{ min-height:auto; justify-content:flex-start; padding-top:0; }
    .hero-inner{ padding:150px 24px 64px; }
    .hero h1{ font-size:clamp(2.4rem, 10vw, 3.6rem); max-width:11ch; }
  }

  @media (max-width: 860px){
    nav{ padding:16px 20px; gap:8px; flex-wrap:nowrap; justify-content:flex-start; }
    .wordmark{ min-width:0; flex-shrink:0; }
    .wordmark span{ display:none; }
    .wordmark::after{
      content:'Home'; font-family:'Space Mono', monospace; font-size:0.68rem;
      letter-spacing:0.08em; text-transform:uppercase; color:var(--stone); opacity:0.85;
    }
    .nav-toggle-label{ display:none; }
    .nav-toggle{ padding:8px 4px; flex-shrink:0; }
    .nav-cta{ padding:8px 12px; font-size:0.6rem; flex-shrink:0; white-space:nowrap; }
  }

  @media (max-width: 860px){
    .about-grid{ grid-template-columns:1fr; gap:36px; }
    .retreat-cards{ grid-template-columns:1fr; }
    .retreat-gallery{ grid-template-columns:repeat(2, 1fr); }
    .offering-row{ grid-template-columns:1fr; }
    .corporate-gallery{ grid-template-columns:1fr !important; max-width:340px !important; }
    .offerings-head{ flex-direction:column; align-items:flex-start; gap:24px; }
    .offerings-head-text{ max-width:100%; }
    .offerings-photo{ width:140px; height:140px; }
    .testimonial-grid{ grid-template-columns:1fr; gap:36px; }
    .quote-grid{ grid-template-columns:1fr; }
    .track-item{ flex-direction:column; align-items:flex-start; gap:14px; }
    .track-buy{ align-self:flex-start; }
    .form-row{ grid-template-columns:1fr; }
    .nav-links{ display:none; }
    .wordmark{ font-size:0.92rem; }
  }

  /* ---------- MOBILE NAV DRAWER ---------- */
  .nav-toggle{
    display:none; flex-direction:row; align-items:center; gap:8px;
    background:none; border:none; cursor:pointer; padding:8px; z-index:70; position:relative;
  }
  .nav-toggle-icon{ display:flex; flex-direction:column; justify-content:center; gap:5px; }
  .nav-toggle-icon span{
    display:block; width:22px; height:2px; background:var(--stone);
    transition:transform .3s ease, opacity .3s ease;
  }
  .nav-toggle-label{
    font-family:'Space Mono', monospace; font-size:0.7rem; letter-spacing:0.06em;
    color:var(--stone); text-transform:uppercase;
  }
  header.nav-open .nav-toggle-icon span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  header.nav-open .nav-toggle-icon span:nth-child(2){ opacity:0; }
  header.nav-open .nav-toggle-icon span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  .nav-overlay{
    display:none; position:fixed; inset:0; background:rgba(16,28,26,0.5);
    z-index:55; opacity:0; transition:opacity .3s ease;
  }
  .nav-overlay.open{ display:block; opacity:1; }

  @media (max-width: 860px){
    .nav-toggle{ display:flex; }
    .nav-links{
      display:flex; position:fixed; top:0; right:0; height:100vh; width:76%; max-width:320px;
      background:var(--teal-deep); flex-direction:column; align-items:flex-start; justify-content:center;
      gap:30px; padding:40px; transform:translateX(100%); transition:transform .35s ease; z-index:60;
    }
    .nav-links.open{ transform:translateX(0); }
    .nav-links a{ font-size:0.82rem; opacity:0.9; }
    nav{ position:relative; }
  }

  @media (max-width: 480px){
    .nav-cta{ padding:8px 12px; font-size:0.6rem; }
    .wordmark span{ display:none; }
  }
