/* Membership gate (/membership), thanks page and the private plans page (/membership/plans).
   Built by scripts/home_a_membership_gate.py. Uses the shared tokens in site.css. */
.mp-gate{background:var(--brown);color:#fff;overflow:hidden}
.mp-gate-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;padding-top:72px;padding-bottom:88px}
.mp-gate h1{color:#fff;font-size:clamp(2.6rem,6vw,4.6rem);margin-bottom:16px}
.mp-gate .eyebrow{color:#FF8A5B}
.mp-lede{font-size:1.2rem;color:rgba(255,255,255,.86);max-width:520px;margin-bottom:28px}
.mp-ticks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.mp-ticks li{display:flex;gap:12px;align-items:flex-start;color:rgba(255,255,255,.9)}
.mp-ticks .ico{flex:none;width:22px;height:22px;margin-top:2px;stroke:#FF8A5B;fill:none;stroke-width:2.4}
.mp-form{background:#fff;color:var(--ink);border-radius:var(--r-lg);padding:28px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 14px}
.mp-field{grid-column:span 2;display:flex;flex-direction:column;gap:6px}
.mp-field.mp-third{grid-column:span 2}.mp-field:not(.mp-third):not(.mp-wide){grid-column:span 2}
.mp-wide{grid-column:1/-1}
.mp-field label{font-weight:700;font-size:.92rem;color:var(--brown)}
.mp-field input,.mp-field select,.mp-field textarea{width:100%;min-height:50px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;font-size:1rem}
.mp-field textarea{min-height:110px;resize:vertical}
.mp-field input:focus,.mp-field select:focus,.mp-field textarea:focus{outline:none;border-color:var(--brown)}
.mp-field input[aria-invalid=true]{border-color:#B42318}
.mp-check{flex-direction:row;align-items:flex-start;gap:10px}
.mp-check input{width:20px;height:20px;min-height:0;margin-top:2px;flex:none;accent-color:var(--orange)}
.mp-check label{font-weight:500;font-size:.9rem;color:var(--ink-2)}
.mp-submit{width:100%}
.mp-small{font-size:.85rem;color:var(--ink-3);margin:0}
.mp-err{grid-column:1/-1;margin:0;padding:12px 14px;border-radius:12px;background:#FDECEA;color:#B42318;font-weight:700;font-size:.95rem}
.mp-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.mp-thanks-in{padding-top:96px;padding-bottom:110px;max-width:760px}
.mp-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.mp-thanks .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}

/* plans page */
.mp-hero{background:var(--brown);color:#fff}
.mp-hero .wrap{padding-top:72px;padding-bottom:80px}
.mp-hero h1{color:#fff;font-size:clamp(2.4rem,5.6vw,4.4rem);max-width:820px}
.mp-hero .eyebrow{color:#FF8A5B}
.mp-hero p{color:rgba(255,255,255,.86);font-size:1.15rem;max-width:760px}
.mp-hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.mp-sec{padding:72px 0}.mp-sec+.mp-sec{padding-top:0}
.mp-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.mp-head h2{margin:0}.mp-head p{margin:0;color:var(--ink-3)}
.mp-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.mp-plan{display:block;color:inherit;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 28px;transition:transform .15s ease-out,border-color .15s ease-out}.mp-plan:hover{transform:translateY(-2px);border-color:var(--orange)}.mp-plan:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.mp-more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-weight:800;font-size:.95rem;color:var(--orange)}.mp-plan.dark .mp-more{color:#FFB08F}.mp-more .ico{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mp-plan{transition:none}.mp-plan:hover{transform:none}}
.mp-plan.dark{background:var(--brown-700);border-color:var(--brown-700);color:#fff}
.mp-plan.featured{border:2px solid var(--orange)}
.mp-plan-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}
.mp-plan h3{margin:0;font-size:1.35rem}.mp-plan.dark h3{color:#fff}
.mp-price{font-family:var(--f-head);font-weight:800;font-size:2.1rem;color:var(--orange);line-height:1;white-space:nowrap}
.mp-plan.dark .mp-price{color:#fff}.mp-price small{font-size:1rem;color:inherit}
.mp-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.mp-tags span{font-size:.82rem;font-weight:700;padding:5px 10px;border-radius:8px;background:var(--line-2);color:var(--brown)}
.mp-plan.dark .mp-tags span{background:rgba(255,255,255,.12);color:#fff}
.mp-plan p{margin:0;color:var(--ink-2)}.mp-plan.dark p{color:rgba(255,255,255,.85)}
.mp-includes{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 28px}
.mp-includes h3{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.mp-includes ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.mp-includes li{display:flex;gap:10px;align-items:flex-start}
.mp-includes .ico{flex:none;width:22px;height:22px;stroke:var(--orange);fill:none;stroke-width:2.4;margin-top:2px}
.mp-intro{max-width:820px;color:var(--ink-2);font-size:1.08rem;margin-bottom:8px}
.mp-area{margin-top:36px}
.mp-area h3{display:flex;align-items:center;gap:12px;font-size:1.35rem}
.mp-area h3::before{content:"";width:22px;height:4px;border-radius:2px;background:var(--orange)}
.mp-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:.98rem}
.mp-table th,.mp-table td{padding:14px 18px;text-align:left;vertical-align:top;border-top:1px solid var(--line-2)}
.mp-table thead th{background:var(--brown-700);color:#fff;font-family:var(--f-head);font-weight:700;font-size:.9rem;border-top:0}
.mp-table tbody th{font-weight:800;color:var(--brown);width:28%}
.mp-table td{color:var(--ink-2)}
.mp-table td.mp-n{font-weight:800;color:var(--brown);text-align:center;width:16%}
.mp-table td.mp-n.plus{background:var(--orange-50)}
.mp-table thead th.mp-n{text-align:center}
.mp-table thead th.plus{background:var(--orange)}
.mp-why{background:var(--brown-700);color:#fff;border-radius:var(--r-lg);padding:40px}
.mp-why .eyebrow{color:#FF8A5B}.mp-why h2{color:#fff;max-width:760px}
.mp-why ul{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px}
.mp-why li{color:rgba(255,255,255,.88)}.mp-why b{color:#fff}
.mp-stat{display:flex;gap:24px;align-items:center;margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18)}
.mp-stat b{font-family:var(--f-head);font-size:clamp(2.2rem,5vw,3.2rem);line-height:1}
.mp-stat p{margin:0;color:rgba(255,255,255,.88);max-width:600px}
.mp-source{font-size:.85rem;color:var(--ink-3);margin-top:12px}
.mp-join{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:36px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px}
.mp-join .mp-form{padding:0;border-radius:0}
.mp-done{grid-column:1/-1;margin:0;padding:14px 16px;border-radius:12px;background:var(--green-50);color:var(--green);font-weight:700}
@media (max-width:900px){
  .mp-gate-in{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:48px;padding-bottom:56px}
  .mp-plans,.mp-includes ul,.mp-why ul{grid-template-columns:minmax(0,1fr)}
  .mp-join{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px}
  .mp-why{padding:28px}
}
@media (max-width:720px){
  .mp-form{padding:22px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .mp-field,.mp-field:not(.mp-third):not(.mp-wide){grid-column:1/-1}.mp-field.mp-third{grid-column:span 1}
  .mp-sec{padding:48px 0}
  /* tables become one card per service */
  .mp-table,.mp-table tbody,.mp-table tr,.mp-table th,.mp-table td{display:block;width:auto}
  .mp-table thead{display:none}
  .mp-table{border:0;background:none;border-radius:0}
  .mp-table tbody tr{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}
  .mp-table tbody th,.mp-table tbody td{border:0;padding:0;width:auto}
  .mp-table tbody th,.mp-table td.mp-d{grid-column:1/-1}
  .mp-table td.mp-n{text-align:left;width:auto;background:var(--line-2);border-radius:8px;padding:6px 10px;font-size:.88rem}
  .mp-table td.mp-n.plus{background:var(--orange-50)}
  .mp-table td.mp-n::before{content:attr(data-label);display:block;font-weight:600;color:var(--ink-3);font-size:.75rem}
  .mp-stat{flex-direction:column;align-items:flex-start;gap:10px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
