.membership-hero {
  padding: 134px 24px 52px;
  color: #fff;
  background: linear-gradient(90deg, rgba(5,49,34,.95), rgba(5,49,34,.78)), url('/hero-bg.jpg') center 48% / cover;
  text-align: center;
}
.membership-hero h1 { font-size: 44px; line-height: 1.15; margin: 12px 0 16px; letter-spacing: 0; color: #fff; }
.membership-hero p { max-width: 620px; margin: 0 auto; font-size: 18px; color: #edf5ef; }
.membership-eyebrow { color: #ffe135; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 0; }
#pricing.membership-pricing { background: #f5f7f6; padding: 32px 0 64px; }
.membership-pricing .container { max-width: 1320px; }
.membership-enrollment { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding: 18px 0 26px; border-bottom: 1px solid #cdd8d1; color: #35493e; font-size: 15px; }
.membership-enrollment p { margin: 0; }
.membership-enrollment a { color: #075d3d; font-weight: 750; text-underline-offset: 4px; }
#pricing-grid { display: block; max-width: none; margin: 0; }
.membership-group { padding-top: 40px; }
.membership-group__title { font-size: 30px; line-height: 1.2; color: #123c29; letter-spacing: 0; margin: 0 0 10px; }
.membership-group__description { margin: 0 0 24px; color: #46584c; font-size: 16px; }
.membership-cards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 30px; align-items: stretch; }
.membership-group--digital .membership-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
#pricing .pricing-card { --tier: #167749; --tier-wash: #eaf5ee; padding: 26px 22px 22px; border: 1px solid #ccd6d0; border-top: 5px solid var(--tier); border-radius: 8px; background: #fff; box-shadow: 0 3px 12px rgba(16,38,26,.04); display: flex; flex-direction: column; min-width: 0; text-align: left; transform: none; }
#pricing .pricing-card:hover { transform: none; box-shadow: 0 6px 18px rgba(16,38,26,.08); }
#pricing .pricing-card--silver { --tier: #586573; --tier-wash: #eff2f5; }
#pricing .pricing-card--gold { --tier: #8d6607; --tier-wash: #fbf3d9; }
#pricing .pricing-card--platinum { --tier: #406c6b; --tier-wash: #eaf4f3; }
#pricing .pricing-card--diamond { --tier: #3b628d; --tier-wash: #edf3fb; }
#pricing .pricing-name { align-self: flex-start; padding: 0 0 8px; margin: 0; color: var(--tier); font-size: 21px; letter-spacing: 0; }
#pricing .pricing-price { font-size: 42px; line-height: 1.15; color: #182d22; margin: 0 0 14px; white-space: nowrap; letter-spacing: 0; }
#pricing .pricing-price span { font-size: 14px; color: #4d5c52; font-weight: 500; }
#pricing .pricing-desc { color: #46574d; min-height: 48px; margin: 0 0 22px; font-size: 15px; line-height: 1.5; }
#pricing .pricing-features { padding-top: 18px; border-top: 1px solid #e2e8e4; margin: 0 0 22px; flex: 1; }
#pricing .pricing-features li { color: #243b2d; align-items: flex-start; gap: 9px; margin: 0 0 16px; font-size: 14px; line-height: 1.45; }
#pricing .pricing-feature-copy { min-width: 0; overflow-wrap: anywhere; }
#pricing .pricing-feature-copy strong { display: block; font-size: 14px; font-weight: 700; }
#pricing .pricing-feature-copy small { display: block; color: #55645b; font-size: 13px; line-height: 1.5; margin-top: 4px; }
#pricing .pricing-check { flex: 0 0 14px; width: 14px; height: 14px; margin-top: 3px; color: var(--tier); }
#pricing .pricing-card .btn { background: var(--tier-wash); color: var(--tier); border: 1px solid var(--tier); box-shadow: none; width: 100%; min-height: 46px; padding: 12px 8px; font-size: 14px; white-space: normal; }
#pricing .pricing-card .btn:hover { background: #fff; }
.membership-terms { color: #46584c; font-size: 14px; line-height: 1.6; border-top: 1px solid #cdd8d1; padding-top: 24px; margin-top: 30px; }
.membership-terms a { color: #075d3d; text-decoration: underline; }
/* Existing texture attribution: /materials/CREDITS.txt. */

/* September 30 client reference: full material faces and compact feature rows. */
.membership-pricing .container { max-width: 1440px; }
.membership-cards { gap: 24px; }
@media(min-width:1200px) { .membership-group--vip .membership-cards { grid-template-columns: repeat(4,minmax(0,1fr)); } }
#pricing .pricing-card {
  --ink: #183424; --muted: #415b49; --rule: #264c2926;
  --face: linear-gradient(135deg,#fafff8,#eaf4d9 65%,#dce9c3);
  --edge: #91b570;
  padding: 20px 18px 18px;
  border: 2px solid var(--edge); border-image: none; border-radius: 8px;
  background: var(--face); color: var(--ink);
  box-shadow: inset 0 0 0 2px #ffffff90,0 3px 0 var(--edge),0 9px 18px #13251a24;
  overflow: hidden; position: relative; transition: none;
}
#pricing .pricing-card:hover, #pricing .pricing-card:focus-within {
  border-color: var(--edge); transform: none;
  box-shadow: inset 0 0 0 2px #ffffff90,0 3px 0 var(--edge),0 9px 18px #13251a24;
}
#pricing :is(.pricing-card--silver,.pricing-card--gold,.pricing-card--platinum),
#pricing :is(.pricing-card--silver,.pricing-card--gold,.pricing-card--platinum):hover,
#pricing :is(.pricing-card--silver,.pricing-card--gold,.pricing-card--platinum):focus-within {
  border: 5px solid var(--edge); border-image: none; border-radius: 8px; overflow: hidden;
  box-shadow: inset 0 0 0 1px #ffffffb0,inset 0 0 0 3px #00000016,0 3px 0 var(--edge),0 9px 18px #13251a24;
}
#pricing .pricing-card--silver {
  --edge: #a8afb4; --ink: #171e24; --muted: #3b454c; --rule: #48515935;
  --face: url('/materials/brushed-alum.png'),linear-gradient(120deg,#f5f6f6,#cdd2d5 45%,#eef0f1 78%,#bec6cb);
}
#pricing .pricing-card--gold {
  --edge: #ce9e35; --ink: #332005; --muted: #584017; --rule: #76531b40;
  --face: url('/materials/brushed-alum.png'),linear-gradient(115deg,#fff2be,#e5b650 42%,#f8dc8e 78%,#c69735);
}
#pricing .pricing-card--platinum {
  --edge: #89959d; --ink: #fff; --muted: #e0e7eb; --rule: #dce7ed40;
  --face: linear-gradient(132deg,#ffffff12 0%,transparent 30%,#ffffff0d 47%,transparent 48%),linear-gradient(115deg,#424c53,#18252e 52%,#334754);
}
#pricing .pricing-card--platinum::before { display: none; }
#pricing .pricing-card--diamond {
  --rim: 18px; --ink: #fff; --muted: #e5f5ff; --rule: #c4eaff55;
  --face: linear-gradient(138deg,#47b7f031,transparent 28%,#5bd4ff22 65%,transparent 66%),linear-gradient(120deg,#075187,#06365f 55%,#0868a6);
  border: var(--rim) solid transparent;
  border-image: url('/materials/diamond-frame.webp') 102 100 / var(--rim) / 0 stretch;
  border-radius: 0; overflow: visible;
  box-shadow: inset 0 0 0 1px #9fddff,0 5px 16px #123e6c35;
  padding: 8px 12px 12px;
}
#pricing .pricing-card--diamond:hover, #pricing .pricing-card--diamond:focus-within { border-color: transparent; box-shadow: inset 0 0 0 1px #9fddff,0 5px 16px #123e6c35; }
#pricing .pricing-card .pricing-card__header {
  margin: 0 0 16px; padding: 4px 0 16px; min-height: 0;
  background: none; border-bottom: 1px solid var(--rule); box-shadow: none;
}
#pricing .pricing-card .pricing-card__header::before, #pricing .pricing-card .pricing-card__header::after { display: none; }
#pricing .pricing-card .pricing-name { font-size: 24px; font-weight: 850; padding: 0; margin: 0 0 12px; color: var(--ink); text-transform: uppercase; }
#pricing .pricing-card .pricing-price { font-size: 40px; margin: 0 0 12px; color: var(--ink); }
#pricing .pricing-card .pricing-price span { color: var(--muted); font-size: 13px; margin-left: 3px; }
#pricing .pricing-card .pricing-desc { color: var(--muted); font-size: 14px; line-height: 1.45; }
#pricing .pricing-card .pricing-features { padding: 0; margin: 0 0 18px; }
#pricing .pricing-card .pricing-features li { display: flex; gap: 10px; margin: 0; padding: 11px 0; border-bottom: 1px solid var(--rule); color: var(--ink); }
#pricing .pricing-card .pricing-features li:first-child { padding-top: 0; }
#pricing .pricing-card .pricing-feature-copy strong { font-size: 14px; line-height: 1.4; color: var(--ink); }
#pricing .pricing-card .pricing-feature-copy small { color: var(--muted); font-size: 12px; line-height: 1.45; margin-top: 4px; }
#pricing .pricing-benefit-icon { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; font-size: 21px; line-height: 1; }
#pricing .pricing-card .btn {
  margin-top: auto; min-height: 46px; border-radius: 6px;
  border: 1px solid #ffffff90; color: #152b20;
  background: linear-gradient(135deg,#ffffff,#c9d2d8 50%,#eef3f6);
  box-shadow: inset 0 1px 1px #fff,0 2px 3px #00000035;
}
#pricing .pricing-card--gold .btn { color: #382607; border-color: #ac7b24; background: linear-gradient(135deg,#fff0b1,#e6b951 60%,#ffe6a0); }
#pricing .pricing-card--diamond .btn { color: #083454; background: linear-gradient(135deg,#e6f8ff,#91cbed 60%,#ddf2ff); }
#pricing .pricing-card--standard .btn { color: #fff; border-color: #6c9939; background: linear-gradient(120deg,#0c8046,#064b30); }
#pricing .pricing-card .btn:hover { filter: brightness(1.06); }
#pricing .pricing-card .btn:focus-visible { outline: 3px solid #ffdd36; outline-offset: 3px; }
#pricing .pricing-card--standard .pricing-benefit-icon { background: linear-gradient(130deg,#167b35,#06462c); border: 1px solid #9fc45f; width: 38px; height: 38px; flex-basis: 38px; border-radius: 50%; font-size: 22px; }
#pricing .pricing-card--standard .pricing-name { text-transform: none; font-size: 28px; }
@media(max-width:1199px) { .membership-group--vip .membership-cards { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
  .membership-group--vip .membership-cards, .membership-group--digital .membership-cards { grid-template-columns: minmax(0,1fr); }
  #pricing .pricing-card .pricing-name { font-size: 24px; }
  .membership-hero { padding: 114px 24px 34px; }
  .membership-hero h1 { font-size: 34px; }
}
@media(prefers-reduced-motion:reduce) { #pricing .pricing-card, #pricing .pricing-card .btn { transition: none; } }

/* Client's sculpted material artwork; live text stays separate from the surface. */
#pricing .membership-group--digital .pricing-card,
#pricing .membership-group--digital .pricing-card:hover {
  padding: 36px 40px 30px; border: 0; border-radius: 8px;
  background: url('/materials/membership-digital-panels.webp') 0 0 / 200% 100% no-repeat;
  box-shadow: 0 5px 14px #173c2820;
}
#pricing .membership-group--digital .pricing-card--family { background-position: 100% 0; }
#pricing .membership-group--digital .pricing-card .pricing-name { font-size: 32px; }
#pricing .membership-group--digital .pricing-card .pricing-price { font-size: 54px; }
#pricing .membership-group--digital .pricing-card .pricing-features li { padding: 15px 0; gap: 16px; }
#pricing .membership-group--digital .pricing-card .pricing-feature-copy strong { font-size: 16px; }
#pricing .membership-group--digital .pricing-card .btn { border-radius: 24px; min-height: 48px; }
#pricing .membership-group--vip .pricing-card,
#pricing .membership-group--vip .pricing-card:hover,
#pricing .membership-group--vip .pricing-card:focus-within {
  border: 0; border-image: none; border-radius: 8px;
  padding: 24px 25px 26px; overflow: hidden;
  background-image: url('/materials/membership-reference-panels.webp');
  background-size: 400% 100%; background-position: var(--panel) 0;
  background-repeat: no-repeat;
  box-shadow: 0 8px 15px #16332730; transform: none;
}
#pricing .pricing-card--silver { --panel: 0%; --logo-x: -108px; --ink: #12171b; --muted: #28343b; }
#pricing .pricing-card--gold { --panel: 33.333333%; --logo-x: -497px; --ink: #241807; --muted: #3e2c12; }
#pricing .pricing-card--platinum { --panel: 66.666667%; --logo-x: -886px; --ink: #fff; --muted: #f0f4f8; }
#pricing .pricing-card--diamond { --panel: 100%; --logo-x: -1256px; --ink: #fff; --muted: #f2faff; }
#pricing .membership-group--vip .pricing-card__header { text-align: center; padding: 0 0 17px; margin-bottom: 14px; }
#pricing .pricing-material-brand {
  width: 190px; height: 140px; margin: -10px auto 0; max-width: 100%;
  background: url('/materials/membership-material-logos.webp') var(--panel) -42px / 400% auto no-repeat;
}
#pricing .membership-group--vip .pricing-card .pricing-name { font-size: 29px; line-height: 1.15; margin: 0 0 16px; text-align: center; }
#pricing .membership-group--vip .pricing-card .pricing-price { font-size: 46px; margin: 0 0 10px; }
#pricing .membership-group--vip .pricing-card .pricing-desc { min-height: 0; font-size: 13px; line-height: 1.4; }
#pricing .pricing-card--diamond .pricing-name { text-shadow: 0 1px 0 #75b4e1,0 2px 3px #002e65; }
#pricing .membership-group--vip .pricing-features { border-top: 0; }
#pricing .pricing-benefit-icon svg { width: 27px; height: 27px; display: block; }
#pricing .membership-group--vip .pricing-benefit-icon { color: var(--ink); filter: drop-shadow(0 1px 1px #ffffff40); }
#pricing .pricing-card--standard .pricing-benefit-icon { color: #fff; }
#pricing .membership-group--vip .pricing-card .btn {
  border: 1px solid #454e55; border-radius: 8px; min-height: 52px;
  box-shadow: inset 0 2px 2px #ffffffc0,inset 0 -2px 3px #00000025,0 3px 5px #00000040;
  text-transform: uppercase; font-size: 14px; font-weight: 800;
}
#pricing .pricing-card--gold .btn { border-color: #966210; }
#pricing .pricing-card--diamond .btn { border-color: #acd9f6; }
@media(max-width:640px) {
  #pricing .membership-group--digital .pricing-card { padding: 30px 26px 24px; }
  #pricing .membership-group--vip .pricing-card { padding: 22px 30px 28px; }
  #pricing .membership-group--vip .pricing-card .pricing-name { font-size: 30px; }
}

#pricing .pricing-digital-brand { display: block; width: 100px; height: 100px; object-fit: contain; margin: 0 auto 8px; }
#pricing .membership-group--digital .pricing-card__header { text-align: center; }
#pricing .membership-group--digital .pricing-card .pricing-name { text-transform: uppercase; text-align: center; }
.membership-group--coaching .membership-cards { grid-template-columns: minmax(0,540px); justify-content: center; }
#pricing .pricing-card--coaching {
  --ink: #fff; --muted: #e0eee3; --rule: #bade8650;
  background: linear-gradient(#003f2de8,#00422eee),url('/hero-bg.jpg') center / cover;
  border: 1px solid #8dbb5b; padding: 24px 30px; text-align: left;
}
#pricing .pricing-card--coaching .pricing-card__header { text-align: center; }
#pricing .pricing-card--coaching .pricing-price { color: #ffe443; font-size: 54px; }
#pricing .pricing-card--coaching .pricing-benefit-icon { color: #ffe443; }
#pricing .pricing-card--coaching .btn { color: #003d29; background: linear-gradient(#ffef65,#ffd01e); border-color: #fff296; }


/* Measure the whole row up front, independent of which details are currently open. */
.membership-cards { align-items: start; }
#pricing .pricing-card:not(.is-collapsed) { min-height: var(--expanded-card-height,0); }
.pricing-disclosure-tools { display: flex; justify-content: flex-end; padding-top: 20px; }
.pricing-compare { padding: 9px 0; border: 0; border-bottom: 1px solid currentColor; background: none; color: #175c3c; font: inherit; font-weight: 700; cursor: pointer; }
#pricing .pricing-card { isolation: isolate; }
#pricing .membership-group--vip .pricing-card,
#pricing .membership-group--vip .pricing-card:hover,
#pricing .membership-group--vip .pricing-card:focus-within,
#pricing .membership-group--digital .pricing-card,
#pricing .membership-group--digital .pricing-card:hover { background: none; }
#pricing .membership-group--vip .pricing-card { clip-path: inset(2px 3px round 22px); }
#pricing .membership-group--vip .pricing-card--diamond { clip-path: polygon(7% 3px,93% 3px,calc(100% - 4px) 3.5%,calc(100% - 4px) 96.5%,93% calc(100% - 3px),7% calc(100% - 3px),4px 96.5%,4px 3.5%); }
#pricing .membership-group--vip .pricing-card--diamond.is-collapsed { clip-path: polygon(22px 3px,calc(100% - 22px) 3px,calc(100% - 4px) 24px,calc(100% - 4px) calc(100% - 24px),calc(100% - 22px) calc(100% - 3px),22px calc(100% - 3px),4px calc(100% - 24px),4px 24px); }
.pricing-card-art { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url('/materials/membership-reference-panels.webp') var(--panel) center / 400% 100% no-repeat; }
.pricing-card-art > span { display: none; }
.pricing-card--standard { --panel: 0%; }
.pricing-card--family { --panel: 100%; }
/* Reuse the actual frame corners/edges; the face keeps its natural texture scale. */
.pricing-card--silver { --art-l: 0%; --art-r: 22.580645%; --art-c: 3.846154%; --art-sl: 0%; --art-sr: 24.210526%; --art-face: 1.351351%; }
.pricing-card--gold { --art-l: 25.806452%; --art-r: 48.387097%; --art-c: 34.615385%; --art-sl: 25.263158%; --art-sr: 49.473684%; --art-face: 33.783784%; }
.pricing-card--platinum { --art-l: 51.612903%; --art-r: 74.193548%; --art-c: 65.384615%; --art-sl: 50.526316%; --art-sr: 74.736842%; --art-face: 66.216216%; }
.pricing-card--diamond { --art-l: 77.419355%; --art-r: 100%; --art-c: 96.153846%; --art-sl: 75.789474%; --art-sr: 100%; --art-face: 98.648649%; }
.membership-group--vip .is-collapsed .pricing-card-art { background: none; }
.membership-group--vip .is-collapsed .pricing-card-art > span { display: block; position: absolute; background-image: url('/materials/membership-reference-panels.webp'); background-repeat: no-repeat; }
.pricing-card-art__face { inset: 10px; background-size: 436.363636% auto; background-position: var(--art-face) center; }
.pricing-card-art__nw,.pricing-card-art__ne,.pricing-card-art__sw,.pricing-card-art__se { width: 36px; height: 36px; background-size: 3200% 2133.333333%; }
.pricing-card-art__nw { top: 0; left: 0; background-position: var(--art-l) top; }
.pricing-card-art__ne { top: 0; right: 0; background-position: var(--art-r) top; }
.pricing-card-art__sw { bottom: 0; left: 0; background-position: var(--art-l) bottom; }
.pricing-card-art__se { bottom: 0; right: 0; background-position: var(--art-r) bottom; }
.pricing-card-art__nw { mask-image: radial-gradient(circle at bottom right,transparent 23px,#000 24px); }
.pricing-card-art__ne { mask-image: radial-gradient(circle at bottom left,transparent 23px,#000 24px); }
.pricing-card-art__sw { mask-image: radial-gradient(circle at top right,transparent 23px,#000 24px); }
.pricing-card-art__se { mask-image: radial-gradient(circle at top left,transparent 23px,#000 24px); }
.pricing-card-art__n,.pricing-card-art__s { left: 36px; right: 36px; height: 12px; background-size: 533.333333% 6400%; }
.pricing-card-art__n { top: 0; background-position: var(--art-c) top; }
.pricing-card-art__s { bottom: 0; background-position: var(--art-c) bottom; }
.pricing-card-art__w,.pricing-card-art__e { top: 36px; bottom: 36px; width: 12px; background-size: 9600% 110.3448276%; }
.pricing-card-art__w { left: 0; background-position: var(--art-sl) center; }
.pricing-card-art__e { right: 0; background-position: var(--art-sr) center; }
/* Natural-proportion ribbon caps blend into a continuous face, without flattening. */
#pricing .membership-group--digital .pricing-card { clip-path: inset(2px round 24px); }
.membership-group--digital .pricing-card-art { background: #f5f7f0; }
.membership-group--digital .pricing-card--family .pricing-card-art { background: #eff8df; }
.membership-group--digital .pricing-card-art > :is(.pricing-card-art__n,.pricing-card-art__s) { display: block; position: absolute; left: 0; right: 0; height: min(50%,300px); background-image: url('/materials/membership-digital-panels.webp'); background-size: 200% auto; background-repeat: no-repeat; }
.membership-group--digital .pricing-card-art__n { top: 0; background-position: var(--panel) top; mask-image: linear-gradient(#000, #000 45%,transparent); }
.membership-group--digital .pricing-card-art__s { bottom: 0; background-position: var(--panel) bottom; mask-image: linear-gradient(transparent,#000 55%,#000); }
.membership-group--digital .pricing-card-art::after { content: ''; position: absolute; inset: 3px; border: 1px solid #8fa652; border-radius: 24px; box-shadow: inset 0 0 0 1px #fff8; }
.pricing-card__heading { margin: 0; }
#pricing .pricing-card .pricing-details-toggle { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; padding: 0 0 24px; margin: 0; border: 0; background: none; color: var(--ink); font: inherit; cursor: pointer; border-radius: 4px; }
#pricing .pricing-card .pricing-details-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
#pricing .pricing-card .pricing-name { align-self: center; }
.pricing-details[hidden] { display: none; }
.pricing-details:not([hidden]) { display: flex; flex-direction: column; flex: 1; animation: pricing-details-in 180ms ease-out; }
#pricing .pricing-card .pricing-details { min-width: 0; }
#pricing .pricing-card .pricing-desc { min-height: 0; padding-top: 14px; margin-bottom: 20px; border-top: 1px solid var(--rule); text-align: center; }
#pricing .pricing-card .pricing-features { list-style: none; }
#pricing .pricing-card .pricing-details > .btn { display: flex; width: 100%; }
#pricing .pricing-card--coaching .pricing-features { border-top: 0; }
/* The closed state reflows the same logo, name and price instead of shrinking a poster. */
#pricing .pricing-card.is-collapsed,
#pricing .pricing-card.is-collapsed:hover,
#pricing .pricing-card.is-collapsed:focus-within { padding: 12px 18px; }
#pricing .pricing-card.is-collapsed .pricing-details-toggle { min-height: 112px; display: grid; grid-template-columns: 70px minmax(0,1fr); grid-template-rows: auto auto; gap: 6px 10px; padding: 20px 0; align-items: center; text-align: left; }
#pricing .pricing-card.is-collapsed .pricing-material-brand { grid-row: 1 / 3; width: 70px; height: 56px; margin: 0; background-position: var(--panel) -15.5px; }
#pricing .pricing-card.is-collapsed .pricing-digital-brand { grid-row: 1 / 3; width: 70px; height: 70px; margin: 0; }
#pricing .pricing-card.is-collapsed .pricing-name { font-size: 18px; line-height: 1.15; margin: 0; padding: 0; align-self: end; justify-self: start; text-align: left; overflow-wrap: anywhere; }
#pricing .pricing-card.is-collapsed .pricing-price { grid-column: 2; font-size: 28px; line-height: 1.15; margin: 0; align-self: start; white-space: normal; text-align: left; }
#pricing .pricing-card.is-collapsed .pricing-price span { font-size: 11px; }
@keyframes pricing-details-in { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: none; } }
@media(prefers-reduced-motion:reduce) { .pricing-details:not([hidden]) { animation: none; } }
@media(max-width:360px) { #pricing .membership-group--digital .pricing-card:not(.is-collapsed) { padding-inline: 22px; } }

/* One collection: preserve the material cards, adding depth outside their clipped faces. */
.membership-group { padding-top: 26px; }
.membership-group__title { font-size: 18px; margin-bottom: 6px; }
.membership-group__description { font-size: 14px; line-height: 1.5; margin-bottom: 16px; }
.membership-cards { gap: 18px; }
.pricing-card-stack { position: relative; display: flex; min-width: 0; align-self: start; isolation: isolate; }
.membership-group--digital .membership-cards,.membership-group--coaching .membership-cards { padding-top: 14px; row-gap: 36px; }
.pricing-plan-highlight {
  position: absolute; top: -14px; left: 50%; transform: translateX(-50%); z-index: 3;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  height: 32px; min-width: 192px; max-width: calc(100% - 24px); padding: 0 16px;
  border: 1px solid #6b9a48; border-radius: 999px;
  background: linear-gradient(#13633d,#07452b); color: #fff;
  box-shadow: inset 0 1px 0 #c6e59b90,0 3px 5px #12332630;
  font-size: 12px; font-weight: 800; line-height: 1; letter-spacing: 0;
  text-transform: uppercase; white-space: nowrap; pointer-events: none;
}
.pricing-plan-highlight svg { width: 18px; height: 18px; flex: 0 0 18px; }
.pricing-plan-highlight--coaching {
  min-width: 216px; border-color: #e5b51a; color: #123e29;
  background: linear-gradient(#fff29a,#ffe04a 48%,#ffd52b);
  box-shadow: inset 0 1px 0 #fff9d8, inset 0 -1px 0 #e1ae2840,0 3px 5px #49370525;
}
.pricing-plan-highlight--coaching svg { fill: currentColor; stroke-width: 1.5; }
.pricing-card-stack::before { content: ''; position: absolute; inset: 5px; border-radius: 20px; z-index: -1; box-shadow: 0 5px 3px #1233261a,0 12px 12px #12332614; }
#pricing .pricing-card-stack > .pricing-card { flex: 1; width: 100%; }
.pricing-card-measurement { position: fixed !important; top: 0 !important; left: 0; display: block; visibility: hidden; pointer-events: none; }
.pricing-card-measurement::before { display: none; }
#pricing .pricing-card-measurement > .pricing-card { min-height: 0; height: auto; }
.pricing-card-measurement .pricing-details { animation: none; }
@media(min-width:900px) {
  #pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 18px; }
  .pricing-disclosure-tools,.membership-group--vip,.pricing-load-state { grid-column: 1 / -1; }
  .membership-group--digital,.membership-group--coaching { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; }
  .membership-group--digital { grid-column: span 2; }
  .membership-group--coaching { grid-column: span 1; }
  .membership-group--coaching .membership-cards { grid-template-columns: minmax(0,1fr); }
  .membership-group--digital .membership-cards,.membership-group--coaching .membership-cards { align-self: stretch; }
  #pricing .membership-group--digital .pricing-card:not(.is-collapsed) { padding-inline: 24px; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .pricing-card-stack::before { transition: box-shadow 150ms ease-out; }
  /* The hit area stays still; only its visual child and shadow lift. */
  .pricing-card-stack:hover,.pricing-card-stack:has(:focus-visible) { z-index: 2; }
  .pricing-card-stack:hover > .pricing-card,.pricing-card-stack:has(:focus-visible) > .pricing-card { top: -4px; }
  .pricing-card-stack:hover > .pricing-plan-highlight,.pricing-card-stack:has(:focus-visible) > .pricing-plan-highlight { top: -18px; }
  .pricing-card-stack:hover::before,.pricing-card-stack:has(:focus-visible)::before { top: 1px; bottom: 9px; box-shadow: 0 8px 5px #12332620,0 18px 16px #12332626; }
}
/* Coaching belongs to the green ribbon family; metallic frames stay with VIP. */
#pricing .pricing-card--coaching,
#pricing .pricing-card--coaching:hover,
#pricing .pricing-card--coaching:focus-within {
  --ink: #123e29; --muted: #36583c; --rule: #3c683840;
  border: 0; background: none; box-shadow: none; clip-path: inset(2px round 24px);
}
.pricing-card--coaching .pricing-card-art { background: #e2efcf; }
.pricing-card--coaching .pricing-card-art > :is(.pricing-card-art__n,.pricing-card-art__s) {
  display: block; position: absolute; left: 0; right: 0; height: min(50%,300px);
  background-image: linear-gradient(120deg,#ecf8cf00,#79a94324),url('/materials/membership-digital-panels.webp');
  background-size: auto,200% auto; background-repeat: no-repeat;
}
.pricing-card--coaching .pricing-card-art__n { top: 0; background-position: center,100% top; mask-image: linear-gradient(#000,#000 45%,transparent); }
.pricing-card--coaching .pricing-card-art__s { bottom: 0; background-position: center,100% bottom; mask-image: linear-gradient(transparent,#000 55%,#000); }
.pricing-card--coaching .pricing-card-art::after { content: ''; position: absolute; inset: 3px; border: 2px solid #5d8b43; border-radius: 24px; box-shadow: inset 0 0 0 1px #f3ffdc, inset 0 0 12px #e2f2b675; }
#pricing .pricing-card--coaching .pricing-digital-brand { filter: none; }
#pricing .pricing-card--coaching:not(.is-collapsed) { padding: 36px 24px 30px; }
#pricing .pricing-card--coaching:not(.is-collapsed) .pricing-name { font-size: 32px; }
#pricing .pricing-card--coaching .pricing-price { color: var(--ink); }
#pricing .pricing-card--coaching .pricing-name { text-transform: uppercase; }
#pricing .pricing-card--coaching .pricing-benefit-icon { color: #f0ffdb; border-color: #91b975; }
#pricing .pricing-card--coaching .btn { color: #f5ffe7; border-color: #648e42; border-radius: 24px; min-height: 48px; background: linear-gradient(125deg,#147044,#06452e); box-shadow: inset 0 1px 1px #cceea570,0 2px 3px #00170f35; }

/* Change data-card-corners to rounded to restore the original art and clipping. */
#pricing[data-card-corners="square"] .membership-group .pricing-card,
#pricing[data-card-corners="square"] .membership-group .pricing-card:hover,
#pricing[data-card-corners="square"] .membership-group .pricing-card:focus-within {
  border-radius: 0; clip-path: inset(2px);
}
#pricing[data-card-corners="square"] .membership-group--vip .pricing-card-art {
  background-image: url('/materials/membership-reference-panels-square.webp');
}
#pricing[data-card-corners="square"] .membership-group--vip .is-collapsed .pricing-card-art { background-image: none; }
#pricing[data-card-corners="square"] .membership-group--vip .pricing-card-art > span {
  background-image: url('/materials/membership-reference-panels-square.webp');
}
#pricing[data-card-corners="square"] .membership-group--vip .pricing-card-art__nw { mask-image: linear-gradient(#000 12px,transparent 12px),linear-gradient(90deg,#000 12px,transparent 12px); }
#pricing[data-card-corners="square"] .membership-group--vip .pricing-card-art__ne { mask-image: linear-gradient(#000 12px,transparent 12px),linear-gradient(270deg,#000 12px,transparent 12px); }
#pricing[data-card-corners="square"] .membership-group--vip .pricing-card-art__sw { mask-image: linear-gradient(0deg,#000 12px,transparent 12px),linear-gradient(90deg,#000 12px,transparent 12px); }
#pricing[data-card-corners="square"] .membership-group--vip .pricing-card-art__se { mask-image: linear-gradient(0deg,#000 12px,transparent 12px),linear-gradient(270deg,#000 12px,transparent 12px); }
#pricing[data-card-corners="square"] .membership-group--digital .pricing-card-art > :is(.pricing-card-art__n,.pricing-card-art__s) {
  background-image: url('/materials/membership-digital-panels-square.webp');
}
#pricing[data-card-corners="square"] .pricing-card--coaching .pricing-card-art > :is(.pricing-card-art__n,.pricing-card-art__s) {
  background-image: linear-gradient(120deg,#ecf8cf00,#79a94324),url('/materials/membership-digital-panels-square.webp');
}
#pricing[data-card-corners="square"] .pricing-card-art::after,
#pricing[data-card-corners="square"] .pricing-card-stack::before { border-radius: 0; }

.pricing-disclosure-cue {
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  min-height: 24px; margin-top: 8px; color: var(--ink);
  font-size: 12px; font-weight: 750; line-height: 1.3;
}
.pricing-disclosure-cue svg { width: 18px; height: 18px; flex: 0 0 18px; }
.pricing-details-toggle[aria-expanded="true"] .pricing-disclosure-cue svg { transform: rotate(180deg); }
#pricing .pricing-card.is-collapsed .pricing-details-toggle { grid-template-rows: auto auto auto; }
#pricing .pricing-card.is-collapsed :is(.pricing-material-brand,.pricing-digital-brand) { grid-row: 1 / 4; }
#pricing .pricing-card.is-collapsed .pricing-disclosure-cue { grid-column: 2; grid-row: 3; justify-self: start; margin-top: 0; }
.pricing-details-toggle:hover .pricing-disclosure-label { text-decoration: underline; text-underline-offset: 3px; }
