@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&display=swap');

:root{
  --green:#1d4934;
  --plum:#20554b;
  --ivory:#f7f8ec;
  --lime:#c9e79a;
  --ink:#193f31;
  --muted:#516b58;
  --line:#cbdac2
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth;
  scroll-padding-top:95px
}
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:'DM Sans',Arial,sans-serif;
  font-size:15px;
  line-height:1.65
}
a{
  color:inherit;
  text-decoration:none
}
button,input,select,textarea{
  font:inherit
}
button,a,input,select,textarea{
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid #b64f76;
  outline-offset:5px
}
img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block
}
h1,h2,h3,p{
  margin-top:0
}
h1,h2,h3,blockquote{
  font-family:'Italiana',Georgia,serif;
  font-weight:400
}
h2{
  font-size:clamp(42px,4.6vw,70px);
  line-height:1.07;
  letter-spacing:-1.8px;
  margin-bottom:24px
}
h3{
  font-size:32px;
  line-height:1.1
}
em{
  font-family:Georgia,serif;
  font-weight:400;
  letter-spacing:-.055em
}
p{
  margin-bottom:20px
}
.eyebrow{
  font-size:10px;
  font-weight:600;
  letter-spacing:2px;
  line-height:1.7;
  margin-bottom:25px
}
.header{
  height:106px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 5.5%;
  background:var(--ivory)
}
.wordmark{
  font-family:Georgia,serif;
  font-size:33px;
  letter-spacing:-2px;
  line-height:1.1;
  white-space:nowrap
}
.wordmark span{
  font-family:'DM Sans',Arial,sans-serif;
  display:block;
  font-size:8px;
  letter-spacing:3.2px;
  margin-top:10px;
  font-weight:500
}
nav{
  display:flex;
  align-items:center;
  gap:36px;
  font-size:12px
}
nav a{
  padding:8px 0
}
nav a:hover,.text-link:hover{
  color:#2b7468
}
.nav-contact{
  border-bottom:1px solid var(--ink);
  margin-left:20px
}
.nav-contact span{
  padding-left:25px
}
.menu-toggle{
  display:none
}
.skip{
  position:absolute;
  left:10px;
  top:-100px;
  background:white;
  padding:10px;
  z-index:10
}
.skip:focus{
  top:10px
}
.hero{
  display:grid;
  grid-template-columns:1.08fr 1fr;
  background:var(--green);
  color:var(--ivory);
  position:relative;
  min-height:735px
}
.hero-copy{
  padding:62px 7% 70px 10.2%
}
.hero .eyebrow{
  font-size:9px;
  letter-spacing:1.7px;
  display:flex;
  align-items:center;
  gap:13px;
  color:#c9e79a
}
.tiny-star{
  font-size:25px
}
.hero h1{
  font-size:clamp(48px,5.05vw,79px);
  line-height:1.04;
  letter-spacing:-2.4px;
  margin:27px 0
}
.hero h1 em{
  color:#d5efa8;
  font-size:.92em
}
.hero-description{
  font-size:13px;
  max-width:335px;
  line-height:1.8;
  color:#e5efdd;
  margin-bottom:30px
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:15px 22px;
  font-size:11px;
  font-weight:500;
  border:1px solid transparent;
  border-radius:2px;
  transition:background .2s,transform .2s
}
.button:hover{
  transform:translateY(-2px)
}
.button.light{
  background:var(--lime);
  color:var(--green)
}
.button.dark{
  background:var(--green);
  color:var(--ivory)
}
.button span{
  font-size:19px;
  line-height:1
}
.hero-location{
  font-size:8px;
  letter-spacing:1.6px;
  margin-top:36px;
  display:flex;
  align-items:center;
  gap:9px;
  color:#c7d0bf
}
.dot{
  width:5px;
  height:5px;
  background:#c7d0bf;
  border-radius:50%
}
.hero-visual{
  position:relative;
  overflow:hidden
}
.hero-visual img{
  object-position:50% 65%
}
.image-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,#173c2e90)
}
.image-caption{
  position:absolute;
  bottom:42px;
  left:38px;
  right:35px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:26px;
  line-height:1.2;
  color:white
}
.round-mark{
  font-style:normal;
  font-size:56px;
  color:#edf4da
}
.vertical-label{
  position:absolute;
  right:19px;
  top:35px;
  writing-mode:vertical-rl;
  font-size:8px;
  letter-spacing:2px;
  color:white;
  text-shadow:0 1px 5px #111
}
.scroll-note{
  position:absolute;
  bottom:18px;
  left:5.5%;
  font-size:9px;
  color:#d1e5c3
}
.scroll-note span{
  margin-left:24px
}
.section-pad{
  padding:95px 8%
}
.welcome{
  max-width:1100px;
  margin:auto;
  padding-top:100px;
  padding-bottom:90px
}
.welcome h2{
  font-size:clamp(42px,5vw,72px)
}
.welcome-bottom{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:35px;
  align-items:center
}
.welcome-bottom p{
  font-size:14px;
  max-width:490px;
  margin:0
}
.iridescent-orbit{
  font-size:105px;
  line-height:1;
  background:linear-gradient(130deg,#4d8d46,#dfa1b5,#b7db85,#58a89c);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
  padding-left:40px
}
.sessions{
  background:#e7efd9
}
.section-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:30px;
  margin-bottom:45px
}
.section-heading h2{
  margin-bottom:0
}
.section-heading>p{
  font-size:12px;
  max-width:280px;
  margin-bottom:4px
}
.practice-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px
}
.card-image{
  height:350px;
  position:relative;
  overflow:hidden
}
.card-image img{
  transition:transform .6s
}
.practice-card a:hover img{
  transform:scale(1.035)
}
.image-arrow{
  position:absolute;
  bottom:16px;
  right:16px;
  border-radius:50%;
  background:var(--ivory);
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  font-size:20px
}
.card-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:20px;
  gap:8px
}
.card-title h3{
  font-size:27px;
  margin-bottom:10px
}
.card-title>span{
  font-size:10px;
  color:var(--muted)
}
.practice-card p{
  font-size:12px;
  line-height:1.85;
  color:#505e51
}
.also{
  border-top:1px solid #bdc5b4;
  border-bottom:1px solid #bdc5b4;
  margin-top:25px;
  padding:24px 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px
}
.also .eyebrow{
  margin:0;
  font-size:8px
}
.also p{
  margin:0;
  display:flex;
  gap:40px;
  font-size:14px
}
.also a span{
  margin-left:18px
}
.session-note{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:60px;
  margin-top:26px
}
.session-note p{
  font-size:11px;
  line-height:1.9;
  margin:0;
  color:#505e51
}
.story{
  display:grid;
  grid-template-columns:1fr 1fr;
  background:var(--plum);
  color:var(--ivory)
}
.story-photo{
  position:relative;
  min-height:710px
}
.story-photo img{
  object-position:50% 45%
}
.photo-label{
  position:absolute;
  bottom:25px;
  left:30px;
  color:white;
  font-size:9px;
  letter-spacing:2px
}
.story-copy{
  padding:80px 15% 75px 13%
}
.story-copy .eyebrow{
  color:#cfe3bb
}
.story-copy h2{
  font-size:65px
}
.story-copy p:not(.eyebrow){
  font-size:12px;
  color:#e7f0db;
  line-height:1.9
}
.text-link{
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  border-bottom:1px solid currentColor;
  padding-bottom:7px;
  font-size:11px;
  margin-top:12px
}
.testimonial{
  text-align:center;
  max-width:1000px;
  margin:auto;
  padding-top:60px;
  padding-bottom:65px
}
.quote-mark{
  font-family:Georgia,serif;
  color:#7bac56;
  font-size:90px;
  line-height:1
}
.testimonial blockquote{
  font-size:36px;
  line-height:1.35;
  margin:0 auto 25px;
  max-width:760px
}
.testimonial .eyebrow{
  font-size:8px;
  margin:0
}
.gatherings{
  border-top:1px solid var(--line)
}
.retreat{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  background:#dfeccf
}
.retreat-image{
  position:relative;
  min-height:550px
}
.retreat-image img{
  object-position:45% 50%
}
.retreat-tag{
  position:absolute;
  top:22px;
  left:22px;
  font-size:8px;
  letter-spacing:1.5px;
  background:var(--ivory);
  padding:9px 13px
}
.retreat-image-note{
  position:absolute;
  bottom:15px;
  left:20px;
  font-size:9px;
  background:#f7f8ecde;
  padding:3px 9px
}
.retreat-copy{
  padding:55px 13%
}
.retreat-copy .eyebrow{
  font-size:8px;
  letter-spacing:1.4px
}
.retreat-copy h3{
  font-size:76px;
  margin:22px 0
}
.retreat-copy p:not(.eyebrow){
  font-size:12px
}
.retreat-copy .text-link{
  display:flex;
  max-width:230px;
  font-size:10px;
  margin-top:22px
}
.gathering-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  margin-top:50px
}
.gathering-pair article{
  border-top:1px solid #b5cfad;
  padding-top:28px
}
.gathering-pair h3{
  font-size:43px;
  margin-bottom:20px
}
.gathering-pair p{
  font-size:12px;
  max-width:390px
}
.gathering-pair .eyebrow{
  font-size:8px
}
.ross{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:70px;
  background:#cbe6aa
}
.ross>div{
  max-width:460px
}
.ross h2{
  font-size:58px
}
.ross p:not(.eyebrow){
  font-size:12px
}
.sound-art{
  height:300px;
  position:relative;
  display:grid;
  place-items:center
}
.sound-art i{
  position:absolute;
  border:1px solid #468458;
  border-radius:50%;
  width:130px;
  height:130px
}
.sound-art i:nth-child(2){
  width:170px;
  height:170px
}
.sound-art i:nth-child(3){
  width:210px;
  height:210px
}
.sound-art i:nth-child(4){
  width:250px;
  height:250px
}
.sound-art i:nth-child(5){
  width:290px;
  height:290px;
  border-color:#b86d8d
}
.review-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  padding-top:65px;
  padding-bottom:65px
}
.review-pair figure{
  margin:0
}
.review-pair blockquote{
  margin:0 0 22px;
  font-size:27px;
  line-height:1.4
}
.review-pair figcaption{
  font-size:8px;
  letter-spacing:1.2px
}
.enquiry{
  background:var(--green);
  color:var(--ivory);
  display:grid;
  grid-template-columns:1fr 1.12fr;
  gap:9%
}
.enquiry h2{
  font-size:59px
}
.enquiry-intro>p:not(.eyebrow){
  max-width:300px;
  font-size:13px;
  color:#dce2d7
}
.enquiry ol{
  list-style:none;
  padding:0;
  margin:32px 0;
  font-size:11px;
  color:#dce2d7;
  max-width:340px
}
.enquiry li{
  display:flex;
  gap:16px;
  padding:13px 0;
  border-bottom:1px solid #ffffff25
}
.enquiry li span{
  font-size:9px;
  color:#d4e7bd
}
.email-link{
  font-size:13px;
  border-bottom:1px solid #ffffff60;
  padding-bottom:5px
}
.preview-note{
  font-size:10px;
  color:#e4edc9;
  border:1px solid #c8dea860;
  padding:12px 15px;
  margin-bottom:25px
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
label{
  display:block;
  font-size:10px;
  letter-spacing:.2px;
  margin-bottom:23px
}
input,select,textarea{
  display:block;
  width:100%;
  border:0;
  border-bottom:1px solid #ffffff55;
  background:transparent;
  color:var(--ivory);
  border-radius:0;
  padding:13px 0 10px;
  font-size:12px;
  min-width:0
}
input::placeholder,textarea::placeholder{
  color:#c5d9c0
}
select{
  color:#e0edd4
}
select option{
  color:var(--green);
  background:var(--ivory)
}
textarea{
  resize:vertical
}
.optional{
  color:#bad3b7
}
.form-privacy{
  font-size:9px;
  color:#d0e2c4
}
.button:disabled{
  opacity:.65;
  cursor:not-allowed;
  transform:none
}
footer{
  padding:50px 5.5% 20px
}
.footer-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding-bottom:45px
}
.footer-top>p{
  font-family:Georgia,serif;
  font-style:italic;
  font-size:18px;
  line-height:1.5;
  margin:0
}
.footer-top>div{
  display:flex;
  flex-direction:column;
  font-size:11px;
  gap:12px
}
.substack-note{
  font-size:10px;
  color:var(--muted)
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid var(--line);
  padding-top:19px;
  font-size:8px;
  color:var(--muted)
}

@media(min-width:1600px){
  .hero{
    min-height:830px
  }
  .hero-copy{
    padding-top:90px
  }
  .hero h1{
    font-size:84px
  }
  
}
@media(max-width:1000px){
  nav{
    gap:20px
  }
  .nav-contact{
    margin-left:0
  }
  .hero-copy{
    padding:45px 8% 65px 10%
  }
  .hero h1{
    font-size:53px
  }
  .hero{
    min-height:660px
  }
  .section-pad{
    padding:70px 6%
  }
  .card-image{
    height:280px
  }
  .card-title h3{
    font-size:23px
  }
  .story-copy{
    padding:60px 10%
  }
  .story-copy h2{
    font-size:55px
  }
  .story-photo{
    min-height:660px
  }
  .retreat-copy{
    padding:40px 10%
  }
  .retreat-copy h3{
    font-size:65px
  }
  .also p{
    gap:22px
  }
  .enquiry{
    gap:6%
  }
  .enquiry h2{
    font-size:49px
  }
  
}
@media(max-width:700px){
  html{
    scroll-padding-top:25px
  }
  .header{
    height:88px;
    padding:0 6%;
    position:relative;
    z-index:5
  }
  .wordmark{
    font-size:29px
  }
  .wordmark span{
    font-size:7px;
    letter-spacing:2.6px
  }
  .menu-toggle{
    display:flex;
    align-items:center;
    gap:15px;
    border:0;
    background:transparent;
    color:var(--green);
    font-size:12px;
    padding:12px
  }
  .menu-toggle span{
    font-size:21px
  }
  nav{
    display:none;
    position:absolute;
    top:88px;
    left:0;
    right:0;
    background:var(--ivory);
    padding:20px 6% 30px;
    box-shadow:0 12px 15px #00000012
  }
  nav.is-open{
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    gap:12px
  }
  .hero{
    grid-template-columns:1fr;
    min-height:0
  }
  .hero-copy{
    padding:37px 7% 45px
  }
  .hero .eyebrow{
    font-size:8px;
    letter-spacing:1.3px;
    margin-bottom:20px
  }
  .hero h1{
    font-size:clamp(44px,10vw,65px);
    margin:20px 0 25px;
    letter-spacing:-1.8px
  }
  .hero-description{
    font-size:13px;
    max-width:330px
  }
  .hero-location{
    margin-top:28px
  }
  .hero-visual{
    height:470px
  }
  .hero-visual img{
    object-position:50% 66%
  }
  .image-caption{
    left:25px;
    bottom:30px;
    font-size:25px
  }
  .scroll-note{
    display:none
  }
  .section-pad{
    padding:58px 7%
  }
  h2{
    font-size:43px;
    letter-spacing:-1.3px
  }
  .welcome h2{
    font-size:43px
  }
  .welcome-bottom{
    grid-template-columns:70px 1fr;
    gap:22px
  }
  .iridescent-orbit{
    font-size:70px;
    padding:0
  }
  .welcome-bottom p{
    font-size:12px
  }
  .section-heading{
    display:block;
    margin-bottom:30px
  }
  .section-heading>p{
    margin-top:22px;
    font-size:12px
  }
  .practice-grid{
    grid-template-columns:1fr;
    gap:32px
  }
  .card-image{
    height:380px
  }
  .practice-card:nth-child(2) .card-image{
    height:300px
  }
  .card-title h3{
    font-size:29px
  }
  .practice-card p{
    font-size:13px
  }
  .also{
    align-items:flex-start;
    flex-direction:column;
    gap:15px
  }
  .also p{
    display:flex;
    flex-direction:column;
    gap:12px;
    width:100%;
    font-size:15px
  }
  .also a{
    display:flex;
    justify-content:space-between
  }
  .session-note{
    grid-template-columns:1fr;
    gap:16px
  }
  .session-note p{
    font-size:12px
  }
  .story{
    grid-template-columns:1fr
  }
  .story-photo{
    height:430px;
    min-height:0
  }
  .story-copy{
    padding:50px 7%
  }
  .story-copy h2{
    font-size:58px
  }
  .story-copy p:not(.eyebrow){
    font-size:13px
  }
  .testimonial blockquote{
    font-size:30px
  }
  .testimonial .eyebrow{
    font-size:7px
  }
  .retreat{
    grid-template-columns:1fr
  }
  .retreat-image{
    min-height:0;
    height:350px
  }
  .retreat-copy{
    padding:35px 8% 40px
  }
  .retreat-copy h3{
    font-size:72px
  }
  .retreat-copy p:not(.eyebrow){
    font-size:13px
  }
  .gathering-pair{
    grid-template-columns:1fr;
    gap:40px;
    margin-top:35px
  }
  .gathering-pair p{
    font-size:13px
  }
  .ross{
    grid-template-columns:1fr;
    gap:25px
  }
  .sound-art{
    height:230px
  }
  .sound-art i{
    width:90px;
    height:90px
  }
  .sound-art i:nth-child(2){
    width:120px;
    height:120px
  }
  .sound-art i:nth-child(3){
    width:150px;
    height:150px
  }
  .sound-art i:nth-child(4){
    width:180px;
    height:180px
  }
  .sound-art i:nth-child(5){
    width:210px;
    height:210px
  }
  .ross h2{
    font-size:51px
  }
  .ross p:not(.eyebrow){
    font-size:13px
  }
  .review-pair{
    grid-template-columns:1fr;
    gap:38px
  }
  .enquiry{
    grid-template-columns:1fr;
    gap:40px
  }
  .enquiry h2{
    font-size:50px
  }
  .enquiry-intro>p:not(.eyebrow){
    max-width:none
  }
  .form-row{
    grid-template-columns:1fr;
    gap:0
  }
  label{
    font-size:12px
  }
  input,select,textarea{
    font-size:16px
  }
  .preview-note{
    font-size:11px
  }
  .form-privacy{
    font-size:11px
  }
  .footer-top{
    align-items:flex-start;
    flex-direction:column;
    gap:28px
  }
  .footer-bottom{
    flex-wrap:wrap;
    font-size:9px
  }
  .footer-bottom span:last-child{
    width:100%
  }
  .eyebrow{
    letter-spacing:1.6px
  }
  .button{
    font-size:12px;
    min-height:48px
  }
  .text-link{
    font-size:12px
  }
  
}
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }
  *,*::before,*::after{
    transition:none!important;
    animation:none!important
  }
  
}

/* Second direction: quieter navigation, moving opening, a concise homepage. */
nav{
  gap:25px
}
nav [aria-current=page]{
  border-bottom:1px solid currentColor
}
.nav-contact{
  margin-left:10px
}
.hero-film{
  display:block;
  min-height:720px;
  isolation:isolate;
  overflow:hidden
}
.film-backdrop{
  position:absolute;
  inset:0 0 0 40%;
  z-index:-3;
  background:var(--green)
}
.film-backdrop img,.film-backdrop video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%
}
.film-backdrop video{
  opacity:0;
  transition:opacity 1s;
  filter:saturate(.72)
}
.film-backdrop video.is-playing{
  opacity:1
}
.film-shade{
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,#1d4934 0%,#1d4934fa 29%,#1d4934cd 43%,#1d49342b 70%,#1d49341a 100%)
}
.hero-film .hero-copy{
  position:relative;
  padding:65px 6% 70px;
  max-width:780px
}
.hero-film h1{
  font-size:clamp(55px,5.65vw,84px);
  line-height:1.02
}
.hero-film .eyebrow{
  letter-spacing:2.3px;
  font-size:9px;
  color:#dbebc9
}
.hero-film .hero-description{
  max-width:320px;
  margin-top:28px
}
.hero-film .hero-location{
  margin-bottom:0;
  letter-spacing:2px;
  font-size:8px
}
.film-toggle{
  position:absolute;
  bottom:27px;
  right:30px;
  z-index:2;
  border:1px solid #ffffff80;
  background:#133d2d80;
  color:white;
  border-radius:0;
  font-size:10px;
  padding:9px 16px;
  cursor:pointer;
  min-height:40px
}
.film-toggle[hidden]{
  display:none
}
.film-caption{
  position:absolute;
  bottom:40px;
  right:150px;
  color:#f7f8ec;
  font-size:8px;
  letter-spacing:2px
}
.menu-lines{
  width:19px;
  height:11px;
  border-top:1px solid;
  border-bottom:1px solid;
  display:block
}
.hero-film .button{
  min-width:250px;
  justify-content:center
}
.home-intro{
  padding-top:80px;
  padding-bottom:65px
}
.intro-heading{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:12%;
  align-items:center
}
.intro-heading h2{
  font-size:clamp(43px,4.5vw,67px)
}
.intro-heading>p{
  font-size:13px;
  max-width:340px
}
.pathways{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:45px;
  margin-top:45px
}
.pathways>a{
  display:block;
  border-top:1px solid #a9c696;
  padding-top:20px
}
.path-label{
  font-size:8px;
  font-weight:600;
  letter-spacing:1.8px;
  display:block;
  margin-bottom:19px
}
.pathways h3{
  font-size:30px;
  margin-bottom:15px;
  letter-spacing:-.6px
}
.pathways p{
  font-size:12px;
  color:#4b6650;
  min-height:60px;
  max-width:260px
}
.path-link{
  font-size:10px;
  border-bottom:1px solid currentColor;
  padding-bottom:5px
}
.pathways a:hover .path-link{
  color:#27695d
}
.home-invitation{
  background:var(--plum);
  color:var(--ivory);
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:12%;
  padding-top:65px;
  padding-bottom:65px
}
.home-invitation h2{
  font-size:60px;
  margin-bottom:0
}
.home-invitation>div>p:not(.eyebrow){
  font-size:13px;
  max-width:345px;
  color:#dcecd0
}
.testimonial{
  padding-top:50px;
  padding-bottom:60px
}
.quote-mark{
  display:none
}
.testimonial blockquote{
  font-size:31px;
  max-width:660px
}
.story .story-photo{
  min-height:680px
}
.welcome-bottom{
  display:block
}
.ross{
  display:block
}
.ross>div{
  max-width:660px;
  margin:auto
}
.ross h2{
  font-size:62px
}
.session-details{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:12%
}
.session-details h3{
  margin:0 0 15px
}
.session-details p{
  font-size:13px;
  margin-bottom:35px
}
.philosophy{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 70px
}
.philosophy>.eyebrow{
  grid-column:1/-1
}
.philosophy>p:last-child{
  font-size:14px;
  max-width:410px;
  align-self:center
}
.teaching-page,.sound-intro{
  padding-top:80px;
  padding-bottom:85px
}
.teaching-page h1,.sound-intro h1{
  font-size:clamp(58px,7vw,98px);
  line-height:1.02;
  letter-spacing:-2px;
  max-width:900px;
  margin-bottom:35px
}
.page-intro{
  font-size:18px;
  max-width:610px;
  line-height:1.8
}
.teaching-topics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  margin:60px 0 40px
}
.teaching-topics article{
  border-top:1px solid #a2c093;
  padding-top:22px
}
.teaching-topics h2{
  font-size:35px;
  letter-spacing:-.6px
}
.teaching-topics p{
  font-size:13px
}
.availability-note{
  font-size:11px;
  color:var(--muted);
  margin-top:20px
}
.sound-intro>p:not(.eyebrow){
  max-width:620px
}
.sound-intro>p:not(.eyebrow):not(.page-intro){
  font-size:14px
}
.enquiry{
  min-height:700px
}
.gatherings .gathering-pair article{
  background:transparent
}
.image-arrow,.round-mark,.sound-art,.iridescent-orbit{
  display:none
}

@media(max-width:1000px){
  nav{
    gap:16px;
    font-size:11px
  }
  .hero-film{
    min-height:690px
  }
  .hero-film .hero-copy{
    padding-top:65px
  }
  .hero-film h1{
    font-size:65px
  }
  .pathways{
    gap:25px
  }
  .pathways h3{
    font-size:25px
  }
  .pathways p{
    min-height:80px
  }
  .film-caption{
    display:none
  }
  .intro-heading{
    gap:8%
  }
  .teaching-topics{
    gap:25px
  }
  
}

@media(max-width:700px){
  nav{
    font-size:14px;
    gap:14px
  }
  .hero-film{
    min-height:730px
  }
  .film-backdrop{
    inset:0
  }
  .film-shade{
    background:linear-gradient(90deg,#174632d9,#17463269),linear-gradient(0deg,#17463280,transparent 70%)
  }
  .film-backdrop video{
    object-position:55% center
  }
  .hero-film .hero-copy{
    padding:65px 7% 90px;
    max-width:none
  }
  .hero-film h1{
    font-size:clamp(44px,10.3vw,65px);
    line-height:1.07;
    letter-spacing:-1.5px;
    text-shadow:0 2px 20px #123e2b40
  }
  .hero-film .eyebrow{
    font-size:8px;
    letter-spacing:1.7px
  }
  .hero-film .hero-description{
    max-width:280px;
    color:#f0f7e7;
    margin:30px 0
  }
  .hero-film .hero-location{
    margin-top:32px;
    color:#e1efce
  }
  .film-toggle{
    right:7%;
    bottom:20px
  }
  .intro-heading{
    grid-template-columns:1fr;
    gap:10px
  }
  .intro-heading h2{
    font-size:44px
  }
  .intro-heading p{
    max-width:100%;
    font-size:13px
  }
  .home-intro{
    padding-top:55px;
    padding-bottom:45px
  }
  .pathways{
    grid-template-columns:1fr;
    gap:30px;
    margin-top:25px
  }
  .pathways h3{
    font-size:31px
  }
  .pathways p{
    min-height:0;
    max-width:100%;
    margin-bottom:13px
  }
  .path-label{
    margin-bottom:13px
  }
  .testimonial blockquote{
    font-size:28px
  }
  .home-invitation{
    grid-template-columns:1fr;
    gap:25px;
    padding-top:50px;
    padding-bottom:50px
  }
  .home-invitation h2{
    font-size:51px
  }
  .session-details,.philosophy{
    grid-template-columns:1fr;
    gap:25px
  }
  .philosophy>.eyebrow{
    margin-bottom:0
  }
  .teaching-topics{
    grid-template-columns:1fr;
    gap:30px;
    margin-top:40px
  }
  .teaching-page,.sound-intro{
    padding-top:50px
  }
  .teaching-page h1,.sound-intro h1{
    font-size:60px
  }
  .page-intro{
    font-size:16px
  }
  .story .story-photo{
    min-height:0
  }
  .ross h2{
    font-size:50px
  }
  .enquiry{
    min-height:0
  }
  .footer-top>p{
    font-size:17px
  }
  
}

@media(prefers-reduced-motion:reduce){
  .film-backdrop video:not(.is-playing){
    opacity:0
  }
  
}

.section-heading h1,.story-copy h1,.enquiry-intro h1{
  font-family:'Italiana',Georgia,serif;
  font-weight:400;
  font-size:clamp(42px,4.6vw,70px);
  line-height:1.07;
  letter-spacing:-1.8px;
  margin:0 0 24px
}
.section-heading h1{
  margin-bottom:0
}
.story-copy h1{
  font-size:65px
}
.enquiry-intro h1{
  font-size:59px
}
@media(max-width:700px){
  .section-heading h1{
    font-size:43px
  }
  .story-copy h1{
    font-size:58px
  }
  .enquiry-intro h1{
    font-size:50px
  }
  
}

/* A more playful, personal layer: colour, soft edges and handwritten details. */
:root{
  --rose:#e3aabb;
  --butter:#deecae;
  --sage:#c9e79a
}
.header{
  height:112px
}
nav{
  background:#e4efd8;
  padding:7px 9px 7px 22px;
  border-radius:50px;
  gap:24px
}
.nav-contact{
  background:var(--plum);
  color:var(--ivory);
  border:0;
  border-radius:40px;
  padding:10px 20px;
  margin-left:2px
}
.nav-contact:hover{
  color:var(--ivory);
  background:#327969
}
nav [aria-current=page]:not(.nav-contact){
  border-bottom:1px solid currentColor
}
.hero-film{
  margin:0 24px;
  border-radius:16px 16px 100px 16px;
  min-height:710px
}
.hero-film .hero-copy{
  padding-left:5.5%
}
.film-toggle{
  right:65px;
  bottom:28px;
  border-radius:30px;
  padding:8px 18px
}
.film-caption{
  bottom:42px;
  right:185px
}
.film-note{
  position:absolute;
  right:42px;
  top:35px;
  color:var(--green);
  background:var(--butter);
  width:145px;
  height:103px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  transform:rotate(9deg);
  box-shadow:4px 5px 0 #1d493433;
  line-height:1.2;
  pointer-events:none
}
.film-note>span{
  font-size:12px
}
.film-note em{
  font-size:29px;
  margin-top:2px;
  letter-spacing:-1px
}
.home-intro{
  position:relative;
  padding-top:40px;
  padding-bottom:65px
}
.practice-ribbon{
  display:flex;
  justify-content:space-between;
  gap:25px;
  border-bottom:1px solid #afc99c;
  padding:0 0 25px;
  margin-bottom:55px;
  font-size:12px;
  font-family:Georgia,serif;
  font-style:italic;
  color:var(--plum)
}
.practice-ribbon span:nth-child(2){
  transform:rotate(-2deg)
}
.margin-note{
  position:absolute;
  right:8%;
  top:143px;
  font:italic 21px Georgia,serif;
  color:var(--plum);
  transform:rotate(-7deg)
}
.margin-note svg{
  display:block;
  width:160px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.4
}
.intro-heading{
  gap:8%;
  margin-top:24px
}
.intro-heading>p{
  padding-top:35px
}
.pathways{
  gap:23px;
  margin-top:42px;
  align-items:stretch
}
.pathways>a{
  border:0;
  padding:33px 28px 30px;
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:280px;
  background:var(--sage);
  border-radius:3px 60px 3px 3px;
  transition:transform .25s,box-shadow .25s
}
.pathways>a:nth-child(2){
  background:var(--plum);
  color:var(--ivory);
  border-radius:60px 3px 3px 3px;
  transform:rotate(-1.5deg)
}
.pathways>a:nth-child(3){
  background:var(--rose);
  color:var(--plum);
  border-radius:3px 3px 60px 3px
}
.pathways>a:hover{
  transform:translateY(-5px);
  box-shadow:0 10px 20px #1d493410
}
.pathways>a:nth-child(2):hover{
  transform:rotate(-1.5deg) translateY(-5px)
}
.pathways .path-label{
  font-size:8px;
  letter-spacing:1.5px;
  margin-bottom:38px
}
.path-number{
  position:absolute;
  top:28px;
  right:27px;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:20px;
  opacity:.65
}
.pathways h3{
  font-size:30px;
  line-height:1.08;
  max-width:210px
}
.pathways p{
  font-size:12px;
  color:inherit;
  opacity:.92;
  min-height:0;
  margin-bottom:24px
}
.pathways .path-link{
  align-self:flex-start;
  margin-top:auto
}
.pathways a:hover .path-link{
  color:inherit
}
.testimonial{
  position:relative;
  margin:0 6% 40px;
  max-width:none;
  border-top:1px solid #c8d9bc;
  border-bottom:1px solid #c8d9bc;
  padding:55px 14% 50px
}
.scarab-drawing{
  width:58px;
  height:67px;
  color:var(--plum);
  display:block;
  margin:0 auto 25px;
  transform:rotate(-9deg)
}
.testimonial blockquote{
  font-size:34px;
  max-width:730px;
  line-height:1.35
}
.home-invitation{
  margin:0 24px;
  border-radius:75px 6px 6px 6px;
  background:var(--rose);
  color:var(--plum);
  padding-top:65px;
  padding-bottom:65px
}
.home-invitation>div>p:not(.eyebrow){
  color:var(--plum)
}
.home-invitation .button{
  background:var(--plum);
  color:var(--ivory);
  border-radius:30px;
  padding-left:28px;
  padding-right:28px
}
.invitation-label{
  display:inline-block;
  border:1px solid #2b6b5b77;
  border-radius:4px;
  padding:7px 12px;
  transform:rotate(-2deg);
  font-size:8px
}
.button{
  border-radius:30px
}
.card-image{
  border-radius:65px 5px 5px 5px
}
.practice-card:nth-child(2) .card-image{
  border-radius:5px 5px 65px 5px
}
.practice-card:nth-child(3) .card-image{
  border-radius:5px 65px 5px 5px
}
.retreat{
  border-radius:7px 70px 7px 7px;
  overflow:hidden
}
.retreat-tag{
  transform:rotate(-5deg);
  background:var(--butter);
  color:var(--plum);
  border-radius:3px;
  padding:12px 17px
}
.retreat-copy{
  background:#a8d8cf
}
.gathering-pair article:nth-child(2){
  border-top-color:#6aa89c
}
.teaching-topics article{
  border:0;
  padding:28px;
  background:#cbe6aa;
  border-radius:5px 50px 5px 5px
}
.teaching-topics article:nth-child(2){
  background:#a8d8cf;
  border-radius:50px 5px 5px 5px
}
.teaching-topics article:nth-child(3){
  background:#deecae
}
.ross{
  border-radius:65px 0 0 0
}
.film-toggle:hover{
  background:#1d4934dc
}
footer{
  padding-top:45px
}
.footer-top>p{
  color:var(--plum)
}

@media(min-width:1500px){
  .hero-film{
    max-width:1600px;
    margin-left:auto;
    margin-right:auto
  }
  .home-intro{
    max-width:1400px;
    margin:auto
  }
  .margin-note{
    right:9%
  }
  
}

@media(max-width:1000px){
  nav{
    gap:13px;
    padding-left:16px
  }
  .nav-contact{
    padding:9px 14px
  }
  .hero-film .hero-copy{
    padding-left:5.5%
  }
  .film-note{
    width:120px;
    height:90px;
    right:27px;
    top:30px
  }
  .film-note em{
    font-size:26px
  }
  .pathways>a{
    padding:28px 20px
  }
  .pathways h3{
    font-size:26px
  }
  .pathways{
    gap:18px
  }
  .path-number{
    right:22px
  }
  .margin-note{
    top:135px;
    right:7%;
    font-size:18px
  }
  .testimonial{
    padding-left:10%;
    padding-right:10%
  }
  
}

@media(max-width:700px){
  .header{
    height:88px
  }
  nav{
    border-radius:0 0 28px 28px;
    padding:20px 7% 27px;
    gap:14px;
    background:#e4efd8
  }
  .nav-contact{
    margin-left:0;
    padding:10px 21px
  }
  .hero-film{
    margin:0 10px;
    min-height:735px;
    border-radius:9px 9px 65px 9px
  }
  .hero-film .hero-copy{
    padding:62px 5% 90px
  }
  .hero-film .eyebrow{
    font-size:7px;
    letter-spacing:1.55px
  }
  .hero-film h1{
    font-size:clamp(42px,10vw,65px)
  }
  .hero-film .hero-description{
    max-width:265px
  }
  .film-note{
    display:none
  }
  .film-toggle{
    right:30px;
    bottom:22px
  }
  .practice-ribbon{
    gap:13px;
    justify-content:flex-start;
    flex-wrap:wrap;
    line-height:1.5;
    margin-bottom:40px;
    padding-bottom:20px;
    font-size:11px
  }
  .practice-ribbon span:last-child{
    display:none
  }
  .home-intro{
    padding-top:30px;
    padding-bottom:40px
  }
  .home-intro>.eyebrow{
    font-size:7px;
    letter-spacing:1.25px;
    max-width:220px;
    margin-bottom:22px
  }
  .margin-note{
    position:relative;
    display:inline-block;
    top:auto;
    right:auto;
    font-size:19px;
    margin:0 0 17px;
    transform:rotate(-5deg)
  }
  .margin-note svg{
    width:150px
  }
  .intro-heading{
    margin-top:0;
    gap:6px
  }
  .intro-heading h2{
    font-size:42px
  }
  .intro-heading>p{
    padding-top:0
  }
  .pathways{
    gap:24px;
    margin-top:27px
  }
  .pathways>a{
    min-height:235px;
    padding:30px 27px
  }
  .pathways>a:nth-child(2){
    transform:rotate(-1deg)
  }
  .pathways .path-label{
    margin-bottom:28px
  }
  .pathways h3{
    font-size:31px;
    max-width:none
  }
  .pathways p{
    max-width:270px;
    font-size:13px;
    margin-bottom:22px
  }
  .path-number{
    right:28px;
    top:25px
  }
  .path-link{
    font-size:11px
  }
  .testimonial{
    margin:0 7% 30px;
    padding:32px 0 36px
  }
  .testimonial blockquote{
    font-size:29px
  }
  .scarab-drawing{
    width:47px;
    height:55px;
    margin-bottom:20px
  }
  .testimonial .eyebrow{
    font-size:7px;
    letter-spacing:1px
  }
  .home-invitation{
    margin:0 10px;
    border-radius:50px 5px 5px 5px;
    padding:45px 7%;
    gap:25px
  }
  .home-invitation h2{
    font-size:50px
  }
  .invitation-label{
    font-size:7px;
    letter-spacing:1.2px
  }
  .teaching-topics article{
    padding:28px
  }
  .retreat{
    border-radius:5px 45px 5px 5px
  }
  .retreat-image{
    height:330px
  }
  .card-image{
    border-radius:45px 5px 5px 5px
  }
  
}

/* A warmer, more lived-in chapter: photographs, notes and room for play. */
.about-page>.story{
  background:#d7e8b0;
  color:var(--plum);
  margin:0 24px;
  border-radius:8px 75px 8px 8px;
  padding:38px;
  grid-template-columns:1.05fr 1fr;
  gap:25px
}
.about-page .story-photo{
  min-height:0;
  align-self:center;
  aspect-ratio:1.05;
  transform:rotate(-2.5deg);
  border:12px solid var(--ivory);
  border-bottom-width:55px;
  box-shadow:3px 8px 0 #20554b12;
  overflow:visible;
  background:#a9ccb6
}
.about-page .story-photo img{
  object-fit:cover;
  object-position:65% center
}
.about-page .photo-label{
  left:12px;
  bottom:-37px;
  color:var(--plum);
  font-size:8px;
  letter-spacing:1.3px
}
.photo-scribble{
  position:absolute;
  top:-28px;
  left:10px;
  background:var(--butter);
  padding:8px 18px;
  font:italic 17px Georgia,serif;
  color:var(--plum);
  transform:rotate(5deg);
  z-index:1
}
.about-page .story-copy{
  padding:25px 5%
}
.about-page .story-copy h1{
  font-size:61px;
  line-height:1.05
}
.about-page .story-copy .eyebrow{
  color:var(--plum);
  font-size:8px
}
.about-page .story-copy p:not(.eyebrow){
  color:#204f3c;
  font-size:13px;
  line-height:1.85
}
.about-page .story-copy .text-link{
  font-size:12px
}
.story-scrapbook{
  display:grid;
  grid-template-columns:1.05fr .9fr .7fr;
  gap:40px;
  align-items:center;
  padding-top:85px;
  padding-bottom:80px
}
.scrapbook-words h2{
  font-size:44px;
  letter-spacing:-1px
}
.scrapbook-words p:not(.eyebrow){
  font-size:13px;
  max-width:320px
}
.handwritten-note{
  display:block;
  font:italic 21px Georgia,serif;
  transform:rotate(-5deg);
  color:var(--plum);
  margin-top:25px
}
.scrapbook-photo{
  margin:0;
  background:#fbfdf1;
  border:10px solid #fbfdf1;
  box-shadow:3px 6px 0 #1d493410;
  transform:rotate(4deg)
}
.scrapbook-photo img{
  height:280px;
  object-fit:cover
}
.scrapbook-photo figcaption{
  font:italic 14px Georgia,serif;
  padding:15px 2px 6px;
  color:var(--plum);
  text-align:center
}
.fold-photo img{
  object-position:35% 50%
}
.close-photo{
  transform:rotate(-5deg);
  margin-top:70px
}
.close-photo img{
  height:230px
}
.about-page .philosophy{
  background:#d5e9d6;
  margin:0 24px 24px;
  border-radius:60px 6px 6px 6px;
  padding-top:65px;
  padding-bottom:65px
}
.about-page .philosophy h2{
  font-size:52px
}
.offerings-page>.sessions{
  background:#edf3da;
  margin:0 24px;
  border-radius:70px 8px 8px 8px;
  padding-top:65px;
  padding-bottom:45px;
  position:relative
}
.offerings-page .section-heading{
  margin-bottom:10px
}
.offerings-page .section-heading h1{
  font-size:64px;
  color:var(--plum)
}
.offerings-page .section-heading>.eyebrow{
  color:var(--plum)
}
.offerings-page .section-heading>p{
  font-size:13px;
  line-height:1.8;
  max-width:310px
}
.offering-aside{
  font:italic 19px Georgia,serif;
  color:var(--plum);
  transform:rotate(-3deg);
  text-align:right;
  margin:10px 0 35px;
  padding-right:15px
}
.offerings-page .practice-grid{
  gap:28px;
  align-items:start
}
.offerings-page .practice-card{
  background:#fbfdf1;
  padding:10px 10px 21px;
  box-shadow:3px 5px 0 #20554b12;
  transform:rotate(-1.7deg)
}
.offerings-page .practice-card:nth-child(2){
  transform:rotate(2deg);
  margin-top:30px;
  background:#a8d8cf
}
.offerings-page .practice-card:nth-child(3){
  transform:rotate(-1deg);
  background:#c9e79a;
  margin-top:9px
}
.offerings-page .card-image,.offerings-page .practice-card:nth-child(2) .card-image,.offerings-page .practice-card:nth-child(3) .card-image{
  height:255px;
  border-radius:3px;
  overflow:hidden
}
.offerings-page .practice-card:first-child .card-image img{
  object-position:60% center
}
.offerings-page .practice-card:nth-child(2) .card-image img{
  object-position:50% 60%
}
.offerings-page .practice-card:nth-child(3) .card-image img{
  object-position:52% 40%
}
.offerings-page .card-title{
  padding:0 9px;
  margin-top:17px
}
.offerings-page .card-title h3{
  font-size:27px;
  color:var(--plum)
}
.offerings-page .card-title>span{
  display:none
}
.offerings-page .practice-card p{
  padding:0 9px;
  color:#284a36;
  font-size:12px;
  line-height:1.75;
  margin-bottom:0
}
.offerings-page .also{
  position:relative;
  margin-top:55px;
  padding-top:30px
}
.also-note{
  position:absolute;
  top:-15px;
  left:0;
  background:var(--butter);
  padding:3px 12px;
  font:italic 17px Georgia,serif;
  transform:rotate(-4deg);
  color:var(--plum)
}
.offerings-page .session-details{
  grid-template-columns:.85fr 1fr;
  gap:0 65px;
  align-items:start
}
.reformer-postcard{
  grid-column:1;
  grid-row:2;
  margin:15px 0 0;
  max-width:300px;
  transform:rotate(-3deg);
  border:10px solid #fbfdf1;
  background:#fbfdf1;
  box-shadow:3px 6px 0 #1d493410
}
.reformer-postcard img{
  height:290px;
  object-position:50% 35%
}
.reformer-postcard figcaption{
  font:italic 16px Georgia,serif;
  color:var(--plum);
  padding:14px 5px 6px;
  text-align:center
}
.offerings-page .session-details>div:first-of-type{
  grid-column:1;
  grid-row:1
}
.offerings-page .session-details>div:last-of-type{
  grid-column:2;
  grid-row:1/span 2
}
.offerings-page .session-details h2{
  font-size:52px
}
.offerings-page .session-details h3{
  font-size:32px
}
.offerings-page .session-details p{
  font-size:13px
}
.home-intro .margin-note{
  background:var(--butter);
  padding:8px 15px 2px;
  border-radius:2px;
  box-shadow:3px 3px 0 #20554b10
}
.home-invitation .button:hover,.hero-film .button:hover{
  transform:rotate(-2deg) translateY(-2px)
}
.pathways>a:nth-child(1){
  transform:rotate(1deg)
}
.pathways>a:nth-child(3){
  transform:rotate(1.2deg)
}
.pathways>a:nth-child(1):hover,.pathways>a:nth-child(3):hover{
  transform:rotate(0) translateY(-5px)
}
.footer-top .wordmark{
  transform:rotate(-2deg)
}

@media(max-width:1000px){
  .about-page>.story{
    padding:27px;
    gap:15px
  }
  .about-page .story-copy h1{
    font-size:49px
  }
  .story-scrapbook{
    gap:25px
  }
  .scrapbook-words h2{
    font-size:37px
  }
  .scrapbook-photo img{
    height:220px
  }
  .close-photo img{
    height:190px
  }
  .offerings-page .section-heading h1{
    font-size:54px
  }
  .offerings-page .practice-grid{
    gap:20px
  }
  .offerings-page .card-title h3{
    font-size:23px
  }
  .offerings-page .session-details{
    gap:0 40px
  }
  
}

@media(max-width:700px){
  .about-page>.story{
    margin:0 10px;
    padding:35px 6% 30px;
    grid-template-columns:1fr;
    gap:35px;
    border-radius:8px 50px 8px 8px
  }
  .about-page .story-photo{
    aspect-ratio:1.2;
    min-height:0;
    height:auto;
    margin:10px 2% 0;
    border-width:8px;
    border-bottom-width:44px
  }
  .about-page .photo-label{
    bottom:-30px;
    font-size:6px;
    left:4px;
    letter-spacing:1px
  }
  .photo-scribble{
    font-size:15px;
    padding:6px 12px;
    top:-22px
  }
  .about-page .story-copy{
    padding:0
  }
  .about-page .story-copy h1{
    font-size:49px
  }
  .about-page .story-copy p:not(.eyebrow){
    font-size:13px
  }
  .story-scrapbook{
    grid-template-columns:1fr 1fr;
    gap:28px 20px;
    padding-top:50px;
    padding-bottom:50px
  }
  .scrapbook-words{
    grid-column:1/-1
  }
  .scrapbook-words h2{
    font-size:41px
  }
  .scrapbook-words p:not(.eyebrow){
    max-width:100%
  }
  .handwritten-note{
    font-size:19px;
    margin-top:15px
  }
  .scrapbook-photo{
    border-width:7px
  }
  .scrapbook-photo img{
    height:210px
  }
  .close-photo{
    margin-top:55px
  }
  .close-photo img{
    height:165px
  }
  .scrapbook-photo figcaption{
    font-size:11px;
    padding:12px 0 6px
  }
  .about-page .philosophy{
    margin:0 10px 20px;
    padding:45px 7%;
    border-radius:45px 6px 6px 6px
  }
  .about-page .philosophy h2{
    font-size:42px
  }
  .offerings-page>.sessions{
    margin:0 10px;
    padding:45px 6% 35px;
    border-radius:45px 6px 6px 6px
  }
  .offerings-page .section-heading h1{
    font-size:46px;
    letter-spacing:-1px
  }
  .offering-aside{
    font-size:16px;
    text-align:left;
    margin:10px 0 30px;
    padding:0
  }
  .offerings-page .practice-grid{
    gap:30px
  }
  .offerings-page .practice-card{
    padding:10px 10px 22px
  }
  .offerings-page .practice-card:nth-child(2),.offerings-page .practice-card:nth-child(3){
    margin-top:0
  }
  .offerings-page .card-image,.offerings-page .practice-card:nth-child(2) .card-image,.offerings-page .practice-card:nth-child(3) .card-image{
    height:280px
  }
  .offerings-page .card-title h3{
    font-size:30px
  }
  .offerings-page .practice-card p{
    font-size:13px
  }
  .offerings-page .also{
    margin-top:40px
  }
  .offerings-page .session-details{
    display:flex;
    flex-direction:column;
    gap:30px
  }
  .offerings-page .session-details>div:first-of-type{
    order:0
  }
  .reformer-postcard{
    order:1;
    max-width:270px;
    margin:0 auto 10px;
    align-self:center
  }
  .offerings-page .session-details>div:last-of-type{
    order:2
  }
  .offerings-page .session-details h2{
    font-size:45px
  }
  .home-intro .margin-note{
    margin-bottom:25px
  }
  .pathways>a:nth-child(1){
    transform:rotate(.6deg)
  }
  .pathways>a:nth-child(3){
    transform:rotate(.7deg)
  }
  
}

.offerings-page .practice-card:first-child .card-image img{
  object-position:100% center
}

/* Calmer alignment, with imagery revealed on pointer hover or keyboard focus. */
.footer-top .wordmark{
  transform:none
}
.pathways>a,.pathways>a:nth-child(1),.pathways>a:nth-child(2),.pathways>a:nth-child(3){
  transform:none;
  isolation:isolate;
  overflow:hidden
}
.pathways>a:hover,.pathways>a:nth-child(1):hover,.pathways>a:nth-child(2):hover,.pathways>a:nth-child(3):hover{
  transform:translateY(-3px)
}
.offerings-page .practice-card{
  transform:rotate(-.5deg)
}
.offerings-page .practice-card:nth-child(2){
  transform:rotate(.6deg)
}
.offerings-page .practice-card:nth-child(3){
  transform:none
}
.film-note{
  transform:rotate(3deg)
}
.fold-photo{
  transform:rotate(1.5deg)
}
.close-photo{
  transform:rotate(-2deg)
}
.about-page .story-photo{
  transform:rotate(-1deg)
}
.path-slideshow{
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:0;
  transition:opacity .65s ease;
  background:var(--green)
}
.path-slideshow img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity 1.1s ease
}
.path-slideshow img.is-current{
  opacity:1
}
.pathways>a::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,#143e2dba,#143e2ddc);
  opacity:0;
  transition:opacity .65s ease;
  pointer-events:none
}
.pathways>a.is-revealed .path-slideshow,.pathways>a.is-revealed::after{
  opacity:1
}
.pathways>a.is-revealed{
  color:#fbfdf1
}
.pathways>a.is-revealed .path-number{
  opacity:.85
}
.pathways>a.is-revealed .path-link{
  color:#fbfdf1
}
.pathways>a:focus-visible{
  outline-offset:6px
}
.path-slideshow img[src*="open-air"]{
  object-position:right center
}
.path-slideshow img[src*="reformer"]{
  object-position:center 35%
}
@media(prefers-reduced-motion:reduce){
  .pathways>a:hover,.pathways>a:nth-child(1):hover,.pathways>a:nth-child(2):hover,.pathways>a:nth-child(3):hover{
    transform:none
  }
  .path-slideshow,.path-slideshow img,.pathways>a::after{
    transition:none
  }
  
}

.retreat-calendar{
  margin-top:65px
}
.retreat-calendar-heading{
  margin-bottom:35px
}
.retreat-calendar-heading h2{
  font-size:54px
}
.retreat-dates-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:27px
}
.dated-retreat{
  background:#d7e8b0;
  overflow:hidden;
  border-radius:7px 45px 7px 7px
}
.dated-retreat:nth-child(2){
  background:#cbe6aa;
  border-radius:45px 7px 7px 7px
}
.dated-retreat:nth-child(3){
  background:#deecb7
}
.dated-retreat-image{
  aspect-ratio:1320/2322;
  background:#61829c
}
.dated-retreat-image img{
  object-fit:contain
}
.dated-retreat:nth-child(2) .dated-retreat-image img{
  object-fit:cover;
  object-position:center
}
.dated-retreat-copy{
  padding:25px 23px 30px
}
.dated-retreat-copy .eyebrow{
  font-size:9px;
  letter-spacing:1.35px;
  color:var(--plum);
  margin-bottom:16px
}
.dated-retreat-copy h3{
  font-size:35px;
  color:var(--plum);
  margin-bottom:9px
}
.retreat-subtitle{
  font-size:13px;
  margin-bottom:15px
}
.dated-retreat-copy .text-link{
  font-size:11px
}
.gatherings>.retreat .retreat-image img{
  object-position:center;
  object-fit:cover
}
.path-slideshow img[src*="sweatescapes-1"]{
  object-position:center 40%
}
@media(max-width:1000px){
  .retreat-dates-grid{
    gap:18px
  }
  .dated-retreat-copy{
    padding:23px 18px
  }
  .dated-retreat-copy h3{
    font-size:30px
  }
  
}
@media(max-width:700px){
  .retreat-calendar{
    margin-top:45px
  }
  .retreat-calendar-heading h2{
    font-size:42px
  }
  .retreat-dates-grid{
    grid-template-columns:1fr;
    gap:28px
  }
  .dated-retreat-image{
    max-height:560px
  }
  .dated-retreat-copy{
    padding:25px
  }
  .dated-retreat-copy h3{
    font-size:36px
  }
  .dated-retreat-copy .eyebrow{
    font-size:10px
  }
  .dated-retreat-copy .text-link{
    font-size:12px
  }
  
}

/* Indian ring-neck palette: leaf, feather turquoise and a rose-pink collar. */
:root{
  --green:#1d4934;
  --plum:#20554b;
  --ivory:#f7f8ec;
  --lime:#c9e79a;
  --ink:#193f31;
  --rose:#e3aabb;
  --butter:#deecae;
  --sage:#c5e49b;
  --turquoise:#a8d8cf;
  --feather:#79b94d
}
.header .wordmark,footer .wordmark{
  position:relative;
  padding-left:43px
}
.header .wordmark::before,footer .wordmark::before{
  content:"";
  position:absolute;
  left:-3px;
  top:-9px;
  width:38px;
  height:58px;
  background:url('assets/prayer-hands.svg') center/contain no-repeat
}
.prayer-drawing{
  display:block;
  width:85px;
  height:108px;
  margin:0 auto 25px
}
.pathways>a:nth-child(1){
  background:var(--sage)
}
.pathways>a:nth-child(2){
  background:#216358
}
.pathways>a:nth-child(3){
  background:var(--turquoise);
  color:var(--ink)
}
.home-invitation{
  background:var(--rose);
  color:#193f31
}
.home-invitation>div>p:not(.eyebrow){
  color:#193f31
}
.hero-film h1 em{
  color:#d5efa8
}
.home-intro .margin-note{
  background:#d8eda7
}
.film-note{
  background:#c9e79a
}
.about-page>.story{
  background:#d6e9b0
}
.about-page .philosophy{
  background:#b8dfd4
}
.offerings-page>.sessions{
  background:#e9f1d5
}
.offerings-page .practice-card:nth-child(2){
  background:#b9ded4
}
.offerings-page .practice-card:nth-child(3){
  background:#e5b4c1
}
.retreat-copy{
  background:#b9ded4
}
.dated-retreat{
  background:#d4e9ac
}
.dated-retreat:nth-child(2){
  background:#b9ded4
}
.dated-retreat:nth-child(3){
  background:#e5b4c1
}
.reformer-film-section{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  align-items:stretch;
  background:var(--green);
  color:var(--ivory);
  margin:65px 24px 0;
  border-radius:8px 65px 8px 8px;
  overflow:hidden;
  min-height:590px
}
.reformer-film-visual{
  position:relative;
  background:#173f30;
  min-height:590px
}
.reformer-film-visual video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% center
}
.practice-film-toggle{
  position:absolute;
  bottom:25px;
  right:25px;
  background:#173c2ed9;
  color:white;
  border:1px solid #fff9;
  border-radius:30px;
  padding:10px 20px;
  cursor:pointer;
  font-size:11px;
  min-height:42px
}
.practice-film-caption{
  position:absolute;
  left:25px;
  bottom:39px;
  font-size:8px;
  letter-spacing:1.5px;
  color:white;
  text-shadow:0 1px 5px #173c2e
}
.reformer-film-copy{
  padding:65px 13%;
  align-self:center
}
.reformer-film-copy .eyebrow{
  color:#d4eab8;
  font-size:9px
}
.reformer-film-copy h2{
  font-size:55px
}
.reformer-film-copy p:not(.eyebrow){
  font-size:13px;
  color:#e0eed6;
  line-height:1.85
}
.reformer-film-copy .button{
  background:var(--lime);
  color:var(--green);
  margin-top:12px
}
.offerings-page .session-details{
  grid-template-columns:1fr 1.1fr;
  gap:65px
}
.offerings-page .session-details>div:first-of-type,.offerings-page .session-details>div:last-of-type{
  grid-column:auto;
  grid-row:auto
}
.instagram-banner{
  padding-top:70px;
  padding-bottom:65px;
  margin-top:30px;
  background:#dcecc8
}
.instagram-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:35px;
  margin-bottom:30px
}
.instagram-heading h2{
  font-size:54px;
  margin-bottom:0
}
.instagram-heading-right{
  max-width:280px
}
.instagram-heading-right p{
  font-size:11px;
  margin-top:18px;
  margin-bottom:0
}
.instagram-heading-right .text-link{
  font-size:13px
}
.instagram-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:17px
}
.instagram-controls>span{
  font-size:8px;
  letter-spacing:1.8px
}
.instagram-controls>div{
  display:flex;
  gap:10px
}
.instagram-controls button{
  background:transparent;
  border:1px solid #47735e;
  border-radius:30px;
  padding:8px 17px;
  color:var(--ink);
  font-size:11px;
  cursor:pointer;
  min-height:40px
}
.instagram-controls button:hover{
  background:var(--green);
  color:var(--ivory)
}
.instagram-track{
  display:flex;
  gap:21px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  scrollbar-color:#4d8a68 #c5ddb2;
  padding:6px 3px 22px;
  cursor:grab;
  touch-action:pan-x pan-y
}
.instagram-track.is-dragging{
  cursor:grabbing;
  scroll-snap-type:none;
  user-select:none
}
.instagram-card{
  position:relative;
  display:block;
  flex:0 0 280px;
  aspect-ratio:4/5;
  scroll-snap-align:start;
  overflow:hidden;
  border-radius:5px 35px 5px 5px;
  isolation:isolate;
  background:var(--green);
  color:white
}
.instagram-card:nth-child(even){
  border-radius:35px 5px 5px 5px
}
.instagram-card>img{
  object-fit:cover;
  object-position:center
}
.instagram-card-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#143e2de8 0%,#143e2d00 60%)
}
.instagram-kind{
  position:absolute;
  left:18px;
  top:18px;
  font-size:8px;
  letter-spacing:1.2px;
  border:1px solid #ffffffaa;
  background:#17463290;
  padding:5px 9px;
  border-radius:20px
}
.instagram-caption{
  position:absolute;
  left:20px;
  bottom:22px;
  right:20px;
  font-family:Georgia,serif;
  font-size:21px;
  line-height:1.25
}
.instagram-caption>span{
  display:block;
  font-family:'DM Sans',Arial,sans-serif;
  font-size:9px;
  letter-spacing:.5px;
  margin-top:12px
}
.instagram-unavailable{
  height:100%;
  background:#abd5c9;
  display:flex;
  align-items:center;
  flex-direction:column;
  justify-content:center;
  padding:22px 25px 65px;
  text-align:center;
  color:var(--ink)
}
.instagram-unavailable img{
  width:68px;
  height:88px;
  object-fit:contain;
  display:block;
  margin-bottom:15px
}
.instagram-unavailable>span{
  font:32px/1.1 'Italiana',Georgia,serif
}
.instagram-unavailable small{
  font-size:10px;
  line-height:1.5;
  margin-top:16px
}
.instagram-card-link .instagram-caption{
  color:var(--ink);
  font-size:17px
}
.instagram-card-link .instagram-kind{
  color:var(--ink);
  border-color:#397561;
  background:transparent
}
.instagram-card:focus-visible{
  outline-offset:-5px;
  outline-color:var(--rose)
}

@media(max-width:1000px){
  .reformer-film-section{
    min-height:520px
  }
  .reformer-film-visual{
    min-height:520px
  }
  .reformer-film-copy{
    padding:45px 10%
  }
  .reformer-film-copy h2{
    font-size:44px
  }
  .practice-film-caption{
    display:none
  }
  
}

@media(max-width:700px){
  .header .wordmark,footer .wordmark{
    padding-left:36px
  }
  .header .wordmark::before,footer .wordmark::before{
    width:31px;
    height:51px;
    top:-7px
  }
  .header .wordmark{
    font-size:27px
  }
  .header .wordmark span{
    font-size:6px;
    letter-spacing:2.1px
  }
  .prayer-drawing{
    width:70px;
    height:89px
  }
  .reformer-film-section{
    grid-template-columns:1fr;
    margin:40px 10px 0;
    border-radius:7px 45px 7px 7px;
    min-height:0
  }
  .reformer-film-visual{
    min-height:0;
    height:auto;
    aspect-ratio:4/5
  }
  .reformer-film-copy{
    padding:40px 7%
  }
  .reformer-film-copy h2{
    font-size:44px
  }
  .reformer-film-copy p:not(.eyebrow){
    font-size:13px
  }
  .practice-film-caption{
    display:block;
    font-size:7px;
    left:18px
  }
  .practice-film-toggle{
    right:18px;
    bottom:24px
  }
  .offerings-page .session-details{
    gap:25px
  }
  .instagram-banner{
    padding-top:50px;
    padding-bottom:45px;
    margin-top:25px
  }
  .instagram-heading{
    display:block
  }
  .instagram-heading h2{
    font-size:43px
  }
  .instagram-heading-right{
    max-width:none;
    margin-top:20px
  }
  .instagram-heading-right p{
    margin-top:12px
  }
  .instagram-track{
    gap:15px
  }
  .instagram-card{
    flex-basis:min(78vw,280px)
  }
  .instagram-unavailable>span{
    font-size:30px
  }
  .instagram-controls button{
    min-height:44px
  }
  .instagram-caption{
    font-size:20px
  }
  
}


/* A quiet line-drawn gesture in place of the parakeet artwork. */
.header .wordmark::before,footer .wordmark::before{
  width:29px;
  height:39px;
  top:1px;
  left:0;
  opacity:.75
}
.header .wordmark,footer .wordmark{
  padding-left:38px
}
.prayer-drawing{
  width:49px;
  height:59px;
  margin:0 auto 25px;
  opacity:.7
}
.instagram-unavailable img{
  width:43px;
  height:53px;
  opacity:.75
}
@media(max-width:700px){
  .header .wordmark,footer .wordmark{
    padding-left:31px
  }
  .header .wordmark::before,footer .wordmark::before{
    width:23px;
    height:32px;
    top:1px
  }
  .prayer-drawing{
    width:42px;
    height:51px
  }
  
}

/* A quiet feather-colour cursor for precise mouse pointers only. */
.brand-cursor{
  position:fixed;
  left:0;
  top:0;
  z-index:10000;
  pointer-events:none;
  opacity:0;
  will-change:transform;
  contain:layout style
}
.brand-cursor.is-visible{
  opacity:1
}
.brand-cursor-dot,.brand-cursor-ring{
  position:absolute;
  left:0;
  top:0;
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none
}
.brand-cursor-dot{
  width:6px;
  height:6px;
  background:#1d4934;
  box-shadow:0 0 0 1px #f7f8ecb3
}
.brand-cursor-ring{
  width:27px;
  height:27px;
  border:1px solid #4d9b90;
  background:#a8d8cf12;
  box-shadow:0 0 0 1px #f7f8ec4d;
  transition:width .16s ease,height .16s ease,border-color .16s ease,background .16s ease
}
.brand-cursor.is-interactive .brand-cursor-ring{
  width:37px;
  height:37px;
  border-color:#b7597c;
  background:#e3aabb25
}
.brand-cursor.is-interactive .brand-cursor-dot{
  background:#9e4769
}
.brand-cursor.is-pressed .brand-cursor-ring{
  width:21px;
  height:21px;
  background:#a8d8cf40
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html.has-brand-cursor,html.has-brand-cursor *{
    cursor:none!important
  }
  
}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){
  .brand-cursor{
    display:none!important
  }
  
}

/* Maintain strong, consistent contrast across every photo-reveal card. */
.pathways>a.is-revealed,.pathways>a.is-revealed:nth-child(1),.pathways>a.is-revealed:nth-child(2),.pathways>a.is-revealed:nth-child(3){
  color:#fffdf5
}
.pathways>a.is-revealed :is(h3,p,.path-label,.path-number,.path-link){
  color:#fffdf5;
  opacity:1
}
.pathways>a.is-revealed h3{
  font-weight:600;
  text-shadow:0 1px 5px #123e2b66
}
.pathways>a.is-revealed p{
  font-weight:500
}
.pathways>a.is-revealed::after{
  background:linear-gradient(180deg,#123c2cbb,#123c2ce8)
}

.home-invitation--visual{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:0;
  padding:0;
  overflow:hidden;
  align-items:stretch
}
.invitation-photo{
  min-height:440px;
  position:relative
}
.invitation-photo img{
  position:absolute;
  inset:0;
  object-fit:cover;
  object-position:50% 40%
}
.invitation-words{
  padding:58px 12%;
  align-self:center
}
.invitation-words h2{
  margin-bottom:25px
}
.invitation-words>div>p:not(.eyebrow){
  font-size:13px;
  line-height:1.85;
  max-width:390px;
  margin-bottom:25px;
  color:#193f31
}
.invitation-words .invitation-label{
  margin-bottom:23px
}
.invitation-words .button{
  background:var(--green);
  color:var(--ivory)
}
@media(max-width:1000px){
  .invitation-words{
    padding:45px 10%
  }
  .home-invitation--visual h2{
    font-size:53px
  }
  
}
@media(max-width:700px){
  .home-invitation--visual{
    grid-template-columns:1fr;
    padding:0;
    gap:0
  }
  .invitation-photo{
    min-height:0;
    aspect-ratio:1.4
  }
  .invitation-photo img{
    object-position:50% 36%
  }
  .invitation-words{
    padding:35px 8% 40px
  }
  .home-invitation--visual h2{
    font-size:49px
  }
  .invitation-words>div>p:not(.eyebrow){
    font-size:13px
  }
  .invitation-words .invitation-label{
    font-size:7px
  }
  
}

/* Student voices: tactile colour panels with room for the words. */
.voices{
  background:#edf3df;
  margin:0 24px 38px;
  border-radius:7px 65px 7px 7px;
  padding-top:65px;
  padding-bottom:35px
}
.voices-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:38px
}
.voices-heading h2{
  font-size:57px;
  margin-bottom:0
}
.voices-heading .eyebrow{
  font-size:8px;
  letter-spacing:1.7px
}
.voices-side{
  max-width:300px
}
.voices-note{
  display:inline-block;
  font:italic 23px Georgia,serif;
  transform:rotate(-3deg);
  color:var(--plum);
  background:var(--rose);
  padding:7px 15px;
  border-radius:3px;
  margin-bottom:20px
}
.voices-side>p{
  font-size:12px;
  margin-bottom:20px
}
.voices-controls{
  display:flex;
  gap:10px
}
.voices-controls button{
  font-size:10px;
  color:var(--green);
  background:transparent;
  border:1px solid #648875;
  border-radius:25px;
  padding:10px 16px;
  min-height:42px;
  cursor:pointer
}
.voices-controls button:last-child{
  background:var(--green);
  color:var(--ivory);
  border-color:var(--green)
}
.voices-controls button:disabled{
  opacity:.5;
  cursor:default
}
.voices-track{
  display:flex;
  gap:23px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  scrollbar-color:#709a7c #dae8cd;
  padding:8px 3px 23px;
  align-items:stretch
}
.voice-card{
  flex:0 0 calc((100% - 46px)/3);
  min-width:260px;
  margin:0;
  background:#c9e79a;
  color:#183f2e;
  border-radius:5px 55px 5px 5px;
  padding:26px 25px 25px;
  display:flex;
  flex-direction:column;
  scroll-snap-align:start;
  min-height:375px
}
.voice-card-2{
  background:#e5b2c1;
  border-radius:55px 5px 5px 5px
}
.voice-card-3{
  background:#a9d8ce;
  border-radius:5px 5px 55px 5px
}
.voice-card-4{
  background:#215e50;
  color:#fffdf1;
  border-radius:5px 55px 5px 5px
}
.voice-tag{
  font-size:8px;
  letter-spacing:1.4px;
  font-weight:600;
  margin-bottom:11px
}
.voice-quote-mark{
  font-family:Georgia,serif;
  font-size:65px;
  line-height:.9;
  opacity:.65;
  height:47px;
  margin-top:9px
}
.voice-card blockquote{
  font-family:'Italiana',Georgia,serif;
  font-size:25px;
  line-height:1.35;
  margin:0 0 25px;
  letter-spacing:-.25px
}
.voice-card figcaption{
  margin-top:auto;
  border-top:1px solid #365d4940;
  padding-top:17px;
  display:flex;
  flex-direction:column;
  gap:4px
}
.voice-card figcaption>span{
  font-size:11px;
  font-weight:600
}
.voice-card figcaption small{
  font-size:9px
}
.voice-card-4 figcaption{
  border-top-color:#ffffff50
}
.voices-footnote{
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:9px;
  margin-top:13px;
  color:#516b58
}
.voices-track:focus-visible{
  outline-offset:6px
}
@media(max-width:1000px){
  .voices{
    padding-left:6%;
    padding-right:6%
  }
  .voices-heading h2{
    font-size:50px
  }
  .voice-card{
    flex-basis:calc((100% - 23px)/2)
  }
  .voice-card blockquote{
    font-size:26px
  }
  
}
@media(max-width:700px){
  .voices{
    margin:0 10px 30px;
    border-radius:5px 45px 5px 5px;
    padding:45px 6% 28px
  }
  .voices-heading{
    display:block;
    margin-bottom:23px
  }
  .voices-heading h2{
    font-size:43px
  }
  .voices-heading .eyebrow{
    font-size:7px;
    letter-spacing:1.1px
  }
  .voices-side{
    max-width:none;
    margin-top:25px
  }
  .voices-note{
    font-size:20px;
    margin-bottom:17px
  }
  .voices-side>p{
    font-size:12px;
    margin-bottom:18px
  }
  .voices-controls{
    justify-content:flex-end
  }
  .voices-controls button{
    font-size:10px;
    min-height:44px
  }
  .voices-track{
    gap:17px
  }
  .voice-card{
    flex-basis:88%;
    min-width:0;
    padding:25px 22px;
    min-height:380px
  }
  .voice-card blockquote{
    font-size:25px
  }
  .voice-card figcaption small{
    font-size:9px
  }
  .voices-footnote{
    font-size:8px
  }
  .voice-tag{
    font-size:7px
  }
  
}

.voices--named .voice-card{
  flex-basis:calc((100% - 23px)/2);
  min-height:335px
}
.voices--named .voice-card blockquote{
  font-size:30px
}
.voices--named .voice-card figcaption>span{
  font-size:14px
}
.voices--named .voice-card figcaption small{
  font-size:10px
}
@media(max-width:700px){
  .voices--named .voice-card{
    flex-basis:88%;
    min-height:360px
  }
  .voices--named .voice-card blockquote{
    font-size:25px
  }
  
}

@media(min-width:1001px){
  .voices--named .voice-card{
    flex-basis:calc((100% - 46px)/3);
    min-height:365px
  }
  .voices--named .voice-card blockquote{
    font-size:27px
  }
  
}

.voice-card-5{
  background:#e0ecb5;
  color:#183f2e;
  border-radius:50px 5px 5px 5px
}

/* Keep the Offerings introduction in one aligned column. */
.offerings-page .section-heading{
  display:grid;
  grid-template-columns:1.3fr .85fr;
  gap:60px;
  align-items:end;
  margin-bottom:42px
}
.offerings-intro{
  max-width:330px;
  padding-bottom:4px
}
.offerings-intro>p:first-child{
  font-size:13px;
  line-height:1.85;
  margin:0
}
.offerings-page .offerings-intro .offering-aside{
  transform:none;
  text-align:left;
  padding:0;
  margin:17px 0 0;
  font:italic 18px/1.5 Georgia,serif;
  max-width:100%;
  color:var(--plum)
}
@media(max-width:1000px){
  .offerings-page .section-heading{
    grid-template-columns:1.1fr 1fr;
    gap:35px
  }
  .offerings-page .offerings-intro .offering-aside{
    font-size:17px
  }
  
}
@media(max-width:700px){
  .offerings-page .section-heading{
    display:block;
    margin-bottom:30px
  }
  .offerings-intro{
    max-width:100%;
    padding:0;
    margin-top:23px
  }
  .offerings-intro>p:first-child{
    font-size:13px
  }
  .offerings-page .offerings-intro .offering-aside{
    font-size:16px;
    margin-top:13px
  }
  
}

.sound-intro--visual{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:65px;
  align-items:center
}
.sound-intro--visual h1{
  font-size:clamp(52px,5.7vw,78px)
}
.sound-intro-copy>.page-intro{
  font-size:16px
}
.sound-intro-copy>p:not(.eyebrow):not(.page-intro){
  font-size:13px;
  line-height:1.85
}
.sound-feature{
  margin:0;
  overflow:hidden;
  background:var(--green);
  color:var(--ivory);
  border-radius:6px 65px 6px 6px
}
.sound-feature img{
  height:460px;
  object-fit:cover;
  object-position:50% center
}
.sound-feature figcaption{
  padding:19px 25px;
  font:italic 20px Georgia,serif
}
.offerings-page .practice-card:nth-child(3) .card-image img{
  object-position:50% 60%
}
@media(max-width:1000px){
  .sound-intro--visual{
    gap:35px
  }
  .sound-intro--visual h1{
    font-size:58px
  }
  .sound-feature img{
    height:420px
  }
  
}
@media(max-width:700px){
  .sound-intro--visual{
    grid-template-columns:1fr;
    gap:35px
  }
  .sound-intro--visual h1{
    font-size:58px
  }
  .sound-feature img{
    height:auto;
    aspect-ratio:1.15
  }
  .sound-feature{
    border-radius:6px 45px 6px 6px
  }
  .sound-feature figcaption{
    font-size:18px
  }
  
}

/* An editorial reading space, distinct from the offering panels above. */
.voices--editorial{
  background:transparent;
  border-radius:0;
  border-top:1px solid #adbea3;
  border-bottom:1px solid #adbea3;
  margin:10px 8% 55px;
  padding:60px 0 45px;
  display:grid;
  grid-template-columns:.8fr 2fr;
  gap:65px
}
.voices-editorial-heading .eyebrow{
  font-size:8px;
  letter-spacing:1.4px;
  max-width:180px
}
.voices-editorial-heading h2{
  font-size:55px;
  line-height:1.04;
  margin-bottom:25px
}
.voices-editorial-heading>p:not(.eyebrow){
  font-size:12px;
  line-height:1.8
}
.voices-editorial-note{
  font:italic 18px Georgia,serif;
  color:#427b66;
  display:block;
  margin-top:25px
}
.voices-reading{
  min-width:0;
  border-left:1px solid #c4d3ba;
  padding-left:40px
}
.voices--editorial .voices-track{
  gap:35px;
  align-items:stretch;
  padding:0;
  scrollbar-width:none;
  scroll-snap-type:x mandatory
}
.voices--editorial .voices-track::-webkit-scrollbar{
  display:none
}
.voices--editorial .voice-card{
  background:transparent;
  color:var(--ink);
  border:0;
  border-radius:0;
  flex:0 0 100%;
  min-width:0;
  min-height:0;
  padding:0 4px;
  box-shadow:none;
  transform:none
}
.voices--editorial .voice-quote-mark{
  display:block;
  color:#7d9f6a;
  opacity:1;
  font-size:80px;
  line-height:.85;
  height:57px;
  margin:0 0 12px
}
.voices--editorial .voice-card blockquote{
  font-family:'Italiana',Georgia,serif;
  font-size:clamp(30px,3vw,43px);
  line-height:1.2;
  letter-spacing:-.8px;
  margin-bottom:28px
}
.voices--editorial .voice-card figcaption{
  border:0;
  padding:0;
  margin-top:auto;
  gap:7px
}
.voices--editorial .voice-card figcaption>span{
  font-size:13px;
  font-weight:600
}
.voices--editorial .voice-card figcaption small{
  font-size:10px;
  color:#516b58
}
.voices-reading-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid #c4d3ba
}
.voices-reading-footer>[data-voices-status]{
  font-size:10px;
  letter-spacing:1px
}
.voices--editorial .voices-controls button{
  border:0;
  background:transparent;
  color:var(--ink);
  border-radius:0;
  border-bottom:1px solid #73967f;
  min-height:36px;
  padding:5px 2px;
  margin-left:15px;
  font-size:11px
}
.voices--editorial .voices-controls button:disabled{
  border-bottom-color:transparent;
  opacity:.35
}
.voices-authors{
  display:flex;
  flex-wrap:wrap;
  gap:5px 18px;
  margin-top:23px
}
.voices-authors button{
  font-size:10px;
  background:transparent;
  border:0;
  color:#516b58;
  padding:7px 0;
  min-height:36px;
  border-bottom:2px solid transparent;
  text-align:left;
  cursor:pointer
}
.voices-authors button[aria-pressed=true]{
  color:var(--green);
  border-bottom-color:#427b66;
  font-weight:600
}
.voices-authors button:hover{
  color:var(--green)
}
@media(max-width:1000px){
  .voices--editorial{
    grid-template-columns:.8fr 1.8fr;
    gap:35px
  }
  .voices-reading{
    padding-left:28px
  }
  .voices-editorial-heading h2{
    font-size:46px
  }
  .voices--editorial .voice-card blockquote{
    font-size:34px
  }
  
}
@media(max-width:700px){
  .voices--editorial{
    display:block;
    margin:5px 7% 35px;
    padding:38px 0 30px
  }
  .voices-editorial-heading .eyebrow{
    max-width:none;
    font-size:7px;
    margin-bottom:18px
  }
  .voices-editorial-heading h2{
    font-size:45px;
    margin-bottom:17px
  }
  .voices-editorial-heading>p:not(.eyebrow){
    display:none
  }
  .voices-editorial-note{
    margin:0 0 26px;
    font-size:17px
  }
  .voices-reading{
    border:0;
    padding:0
  }
  .voices--editorial .voice-card{
    flex-basis:100%;
    padding:0 3px
  }
  .voices--editorial .voice-card blockquote{
    font-size:30px;
    line-height:1.25;
    letter-spacing:-.4px
  }
  .voices--editorial .voice-quote-mark{
    font-size:65px;
    height:43px;
    margin-bottom:12px
  }
  .voices--editorial .voice-card figcaption small{
    font-size:9px
  }
  .voices-authors{
    gap:4px 17px
  }
  .voices-authors button{
    font-size:10px;
    min-height:40px
  }
  .voices-reading-footer{
    margin-top:23px;
    padding-top:15px
  }
  .voices--editorial .voices-controls button{
    min-height:40px
  }
  
}


/* Cinematic opening: native scrolling drives a restrained change of framing. */
.hero-cinematic.hero-film {
  margin: 0;
  max-width: none;
  min-height: max(710px, calc(100svh - 100px));
  border-radius: 0;
  clip-path: inset(var(--hero-inset, 0%) round var(--hero-radius, 0px));
}
.hero-cinematic .film-backdrop { inset: 0; }
.hero-cinematic .film-shade {
  background: linear-gradient(90deg, #102e25e8 0%, #102e25b3 42%, #102e251a 100%), linear-gradient(0deg, #102e2599, transparent 60%);
}
.hero-cinematic .hero-copy { max-width: 950px; padding: 70px 7% 105px; }
.hero-cinematic h1 { font-size: clamp(58px, 6.4vw, 98px); max-width: 840px; }
.hero-cinematic .film-note { display: none; }
.hero-cinematic .hero-description { max-width: 380px; }
.listening-scene {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  align-items: center;
  gap: 8%;
  padding: 68px 10%;
  overflow: hidden;
  background: var(--green);
  color: var(--ivory);
}
.listening-words h2 { font-size: clamp(54px, 6vw, 90px); margin-bottom: 20px; }
.listening-words h2 em { color: var(--lime); }
.listening-words > p:not(.eyebrow) { font-size: 13px; }
.listening-words .text-link { color: var(--ivory); }
.listening-visual { position: relative; padding: 24px; }
.listening-visual figure { position: relative; margin: 0; z-index: 1; }
.listening-visual img { aspect-ratio: 4/3; border-radius: 48% 48% 4px 4px; object-fit: cover; }
.listening-visual figcaption { font: italic 17px Georgia, serif; margin-top: 16px; text-align: center; color: var(--lime); }
.listening-rings { position: absolute; inset: 0; pointer-events: none; }
.listening-rings span { position: absolute; width: 85%; aspect-ratio: 1; border: 1px solid #c9e79a55; border-radius: 50%; top: 0; left: 7.5%; transform: scale(var(--ring-scale, 1)); }
.listening-rings span:nth-child(2) { inset: -6% auto auto 1.5%; width: 97%; border-color: #a8d8cf40; }
.listening-rings span:nth-child(3) { inset: -12% auto auto -4.5%; width: 109%; border-color: #e3aabb30; }
@media (prefers-reduced-motion: no-preference) {
  .motion-window { clip-path: inset(4% 4% 4% 4% round 35% 35% 4px 4px); transition: clip-path 1.2s cubic-bezier(.22,1,.36,1); }
  .motion-window.is-in-view { clip-path: inset(0 round 0); }
  .motion-window img { transition: transform 1.4s cubic-bezier(.22,1,.36,1); transform: scale(1.06); }
  .motion-window.is-in-view img { transform: scale(1); }
}
@media (max-width: 700px) {
  .hero-cinematic.hero-film { min-height: 690px; margin: 0; clip-path: none; border-radius: 0; }
  .hero-cinematic .film-backdrop { inset: 0; }
  .hero-cinematic .film-shade { background: linear-gradient(90deg,#102e25dc,#102e2570),linear-gradient(0deg,#102e25c0,transparent); }
  .hero-cinematic .hero-copy { padding: 50px 7% 105px; }
  .hero-cinematic h1 { font-size: clamp(44px,10.3vw,65px); }
  .hero-cinematic .film-caption { display: none; }
  .hero-cinematic .film-toggle { right: 7%; bottom: 24px; }
  .listening-scene { grid-template-columns: 1fr 1fr; gap: 4%; padding: 45px 7%; }
  .listening-words h2 { font-size: 43px; }
  .listening-words .eyebrow { font-size: 7px; letter-spacing: 1px; }
  .listening-words > p:not(.eyebrow) { font-size: 11px; }
  .listening-visual { padding: 0; }
  .listening-visual img { aspect-ratio: 3/4; }
  .listening-visual figcaption { font-size: 12px; }
  .listening-rings { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-cinematic.hero-film { clip-path: none; }
  .motion-window, .motion-window img { clip-path: none; transform: none; }
}

/* Enquiries and supporting information. */
.form-honeypot[hidden], .form-status[hidden] { display: none; }
.form-privacy a, .privacy-page a:not(.text-link) { text-decoration: underline; text-underline-offset: 3px; }
.form-status { font-size: 13px; padding: 14px 16px; border: 1px solid currentColor; border-radius: 8px; }
#enquiry-form button:disabled { cursor: default; opacity: .65; }
.message-page, .privacy-page { max-width: 1000px; margin: auto; min-height: 60vh; }
.message-page h1, .privacy-page h1 { font-size: clamp(45px,6vw,75px); line-height: 1.08; margin-bottom: 32px; }
.message-page > p, .privacy-page > p { max-width: 720px; }
.privacy-page h2 { font: 400 clamp(28px,3vw,38px)/1.2 'Italiana',Georgia,serif; letter-spacing: 0; margin: 38px 0 15px; }
.message-page .form-privacy { margin-top: 28px; }
