/*
  Association pages
  Extracted from the previous working master stylesheet.
  Keep this file after css/astanga-v2.css.
*/

/* V7 Phase 2.8 content-page prototype */
.content-hero-v28 {
  position: relative;
  min-height: 760px;
  display: flex;
  align-items: center;
  background: #eee8df url('../images/photography/hero-carousel-2.jpg') center center / cover no-repeat;
  overflow: hidden;
}
.content-hero-v28__inner {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding-top: 96px;
}
.content-hero-v28__copy { max-width: 570px; }
.content-hero-v28 h1 {
  margin: 0 0 24px;
  font-family: 'Playfair Display', serif;
  font-size: clamp(3.4rem, 6vw, 6.1rem);
  line-height: .98;
  font-weight: 500;
  letter-spacing: -.045em;
  color: #2d201a;
}
.content-hero-v28 p { max-width: 510px; font-size: 1.18rem; line-height: 1.65; color: #4d4038; }
.content-hero-v28 .button { margin-top: 18px; }

.story-panel-v28 { background: #6f170e; color: #fffaf2; padding: 110px 0; }
.story-panel-v28__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
  gap: 90px;
  align-items: center;
}
.story-panel-v28 h2 {
  margin: 0 0 28px;
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.8rem, 4.8vw, 4.7rem);
  line-height: 1.04;
  font-weight: 500;
  letter-spacing: -.035em;
  color: #fffaf2;
}
.story-panel-v28 p { max-width: 650px; font-size: 1.08rem; line-height: 1.75; color: rgba(255,250,242,.92); }
.photo-stack-v28 { position: relative; min-height: 500px; }
.photo-stack-v28 figure {
  position: absolute;
  margin: 0;
  padding: 7px;
  background: #fff;
  box-shadow: none;
}
.photo-stack-v28 img { display: block; width: 100%; height: 100%; object-fit: cover; }
.photo-stack-v28 .photo-1 { width: 58%; height: 250px; top: 0; left: 2%; transform: rotate(-1deg); }
.photo-stack-v28 .photo-2 { width: 58%; height: 300px; top: 110px; right: 0; transform: rotate(4deg); }
.photo-stack-v28 .photo-3 { width: 48%; height: 220px; bottom: 0; left: 5%; transform: rotate(-4deg); }

@media (max-width: 900px) {
  .content-hero-v28 { min-height: 680px; background-position: 63% center; }
  .story-panel-v28__grid { grid-template-columns: 1fr; gap: 50px; }
  .photo-stack-v28 { min-height: 460px; max-width: 560px; width: 100%; margin: 0 auto; }
}
@media (max-width: 600px) {
  .content-hero-v28 { min-height: 650px; align-items: flex-end; background-position: 66% center; }
  .content-hero-v28__inner { width: calc(100% - 36px); padding: 130px 0 54px; }
  .content-hero-v28 h1 { font-size: clamp(3rem, 14vw, 4.2rem); }
  .story-panel-v28 { padding: 78px 0; }
  .photo-stack-v28 { min-height: 390px; }
  .photo-stack-v28 .photo-1 { height: 190px; }
  .photo-stack-v28 .photo-2 { height: 230px; top: 85px; }
  .photo-stack-v28 .photo-3 { height: 165px; }
}

/* ==========================================================
   Association pages — editorial redesign v2
   Follows the newtoyoga.html v28 design system
   ========================================================== */
.assoc-hero{margin-bottom:0;background-image:url('../images/photography/hero-carousel-4.jpg');background-position:center 44%;}
.assoc-intro{padding-top:0;}
.assoc-intro__statement{min-height:420px;background:#68180f;color:#fff;padding:clamp(2rem,5vw,4rem);display:flex;flex-direction:column;justify-content:center;gap:.45rem;position:relative;overflow:hidden;}
.assoc-intro__statement:after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(255,255,255,.28);border-radius:50%;right:-70px;bottom:-70px;}
.assoc-intro__statement span{font-family:"Playfair Display",serif;font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.04;}
.assoc-intro__statement span:nth-of-type(2){font-style:italic;margin-left:12%;opacity:.78;}
.assoc-intro__seal{width:clamp(48px,6.75vw,72px);height:auto;margin-bottom:.75rem;position:relative;z-index:1;}
.assoc-checklist{list-style:none;margin:clamp(2rem,5vw,4rem) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2.5rem,7vw,7rem);}
.assoc-checklist li{display:grid;grid-template-columns:2.15rem 1fr;gap:1rem;align-items:start;padding:1.45rem 0;border-bottom:1px solid rgba(35,31,27,.15);font-size:1.02rem;line-height:1.7;}
.assoc-check{width:1.72rem;height:1.72rem;border-radius:50%;background:#1f8b57;display:grid;place-items:center;margin-top:.15rem;}
.assoc-check svg{width:1.12rem;height:1.12rem;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.assoc-practice__facts{display:grid;gap:1px;background:rgba(35,31,27,.18);border:1px solid rgba(35,31,27,.18);}
.assoc-practice__facts article{background:#fff;padding:clamp(2rem,4vw,3rem);}
.assoc-practice__facts span{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600;color:#7a6b60;}
.assoc-practice__facts h3{margin:.7rem 0 .75rem;font-family:"Playfair Display",serif;font-size:clamp(1.65rem,3vw,2.4rem);}
.assoc-membership{position:relative;overflow:hidden;background:#5f1205;color:#fff;padding:clamp(2.2rem,6vw,5rem);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(2.5rem,6vw,6rem);align-items:end;}
.assoc-membership h2,.assoc-membership p,.assoc-membership .eyebrow{color:#fff;}
.assoc-membership p{max-width:650px;color:rgba(255,255,255,.82);}
.assoc-membership__options{position:relative;display:grid;gap:1rem;}
.assoc-membership__watermark{position:absolute;z-index:0;top:50%;left:50%;transform:translate(-50%,-50%);width:220%;max-width:640px;height:auto;opacity:.16;pointer-events:none;}
.assoc-membership__options a{position:relative;z-index:1;background:#f3e8d9;color:#251b17!important;padding:1.3rem 1.4rem;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;text-decoration:none;transition:transform .2s ease,background .2s ease;}
.assoc-membership__options a:hover{background:#fff;transform:translateY(-2px);}
.assoc-membership__options span{font-weight:600;grid-row:1/3;align-self:center;}
.assoc-membership__options strong{font-family:"Playfair Display",serif;font-size:1.8rem;line-height:1;}
.assoc-membership__options small{text-align:right;color:#6f625b;}
.assoc-mantras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.5rem);margin-top:clamp(2.5rem,6vw,5rem);}
.assoc-mantra{padding:clamp(2rem,4vw,3.5rem);min-width:0;}
.assoc-mantra--opening{background:#e6efe7;color:#18362a;}
.assoc-mantra--closing{background:#eee3d5;color:#412719;}
.assoc-mantra h3{font-family:"Playfair Display",serif;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.12;margin:.4rem 0 2rem;}
.assoc-mantra__text{font-size:.94rem;line-height:1.75;overflow-wrap:anywhere;}
.assoc-mantra__text p+ p{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid currentColor;opacity:.82;}
.assoc-mantra__meaning{margin-top:2rem;padding-top:1.5rem;border-top:1px solid currentColor;opacity:.82;}
.assoc-mantra a{display:inline-block;margin-top:1.25rem;color:inherit;font-weight:600;border-bottom:1px solid currentColor;}
.assoc-gallery-section{overflow:hidden;}
.assoc-photo-wall{position:relative;min-height:clamp(650px,78vw,960px);margin-top:clamp(2rem,5vw,4rem);background:#77736d;padding:clamp(1.2rem,3vw,2.5rem);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);}
.assoc-photo-wall:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:5px 5px;pointer-events:none;}
.assoc-photo-wall__item{position:absolute;display:block;background:#fff;padding:clamp(5px,.75vw,10px);box-shadow:0 14px 28px rgba(20,18,16,.28);transition:transform .25s ease,box-shadow .25s ease;z-index:1;}
.assoc-photo-wall__item:hover{z-index:20;transform:rotate(0deg) scale(1.035)!important;box-shadow:0 22px 42px rgba(20,18,16,.4);}
.assoc-photo-wall__item img{width:100%;height:100%;object-fit:cover;display:block;}
.assoc-photo-wall__item--1{left:3%;top:3%;width:30%;height:25%;transform:rotate(-3deg)}
.assoc-photo-wall__item--2{left:35%;top:1%;width:27%;height:29%;transform:rotate(1.5deg)}
.assoc-photo-wall__item--3{right:3%;top:4%;width:33%;height:24%;transform:rotate(4deg)}
.assoc-photo-wall__item--4{left:1%;top:29%;width:22%;height:28%;transform:rotate(2deg)}
.assoc-photo-wall__item--5{left:24%;top:31%;width:31%;height:24%;transform:rotate(-2deg)}
.assoc-photo-wall__item--6{right:15%;top:29%;width:28%;height:30%;transform:rotate(2.5deg)}
.assoc-photo-wall__item--7{right:1%;top:34%;width:17%;height:22%;transform:rotate(-4deg)}
.assoc-photo-wall__item--8{left:3%;bottom:5%;width:28%;height:30%;transform:rotate(-2deg)}
.assoc-photo-wall__item--9{left:31%;bottom:3%;width:22%;height:27%;transform:rotate(3deg)}
.assoc-photo-wall__item--10{left:52%;bottom:5%;width:27%;height:29%;transform:rotate(-1.5deg)}
.assoc-photo-wall__item--11{right:2%;bottom:4%;width:21%;height:25%;transform:rotate(3.5deg)}
.assoc-photo-wall__item--12{left:43%;top:53%;width:18%;height:18%;transform:rotate(-4deg)}
@media(max-width:900px){.assoc-checklist,.assoc-mantras,.assoc-membership{grid-template-columns:1fr}.assoc-membership{align-items:start}.assoc-photo-wall{min-height:900px}.assoc-photo-wall__item--1{width:44%;height:20%}.assoc-photo-wall__item--2{left:48%;width:47%;height:20%}.assoc-photo-wall__item--3{left:5%;right:auto;top:22%;width:42%;height:20%}.assoc-photo-wall__item--4{left:49%;top:22%;width:45%;height:20%}.assoc-photo-wall__item--5{left:3%;top:44%;width:45%;height:20%}.assoc-photo-wall__item--6{right:4%;top:44%;width:45%;height:20%}.assoc-photo-wall__item--7{left:5%;right:auto;top:66%;width:27%;height:15%}.assoc-photo-wall__item--8{left:34%;bottom:auto;top:66%;width:31%;height:20%}.assoc-photo-wall__item--9{left:auto;right:4%;bottom:auto;top:66%;width:28%;height:15%}.assoc-photo-wall__item--10{left:4%;bottom:2%;width:30%;height:15%}.assoc-photo-wall__item--11{right:4%;bottom:2%;width:30%;height:15%}.assoc-photo-wall__item--12{left:36%;top:auto;bottom:1%;width:28%;height:16%}}
@media(max-width:600px){.assoc-photo-wall{min-height:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:.9rem}.assoc-photo-wall__item{position:relative!important;inset:auto!important;width:auto!important;height:180px!important;transform:none!important;padding:5px}.assoc-photo-wall__item:nth-child(3n){grid-column:span 2;height:230px!important}.assoc-checklist li{grid-template-columns:1.9rem 1fr}.assoc-membership{padding:2rem}.assoc-membership__options a{grid-template-columns:1fr auto}}


/* Association v3 — exact newtoyoga hero-to-story transition */
.assoc-hero { margin-bottom: 0 !important; }
.assoc-hero + .story-panel-v28 { margin-top: 0 !important; }
.assoc-intro { margin-top: 0 !important; padding-top: 110px; }
@media (max-width: 720px) {
  .assoc-intro { padding-top: 78px; }
}

/* Association page integration with the shared master layout */
body[data-page="association"] main {
  padding-top: 0 !important;
}

body[data-page="association"] .content-hero-v28 {
  margin-top: 0 !important;
}
