.section-tight{padding:clamp(1.25rem,3vw,2rem) 0 clamp(2rem,4vw,3rem)}.breadcrumb-pub{font-size:.9rem;margin-bottom:1rem}.breadcrumb-pub a{color:var(--ink-2);text-decoration:none}.breadcrumb-pub a:before{content:"\2039";margin-right:.35rem}.breadcrumb-pub a:hover{color:var(--brand)}.stub-head .h2{font-size:1.35rem;margin:0}.h3{font-size:1.15rem}.prog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.prog-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}.prog-cover{display:block;aspect-ratio:16 / 10;background:var(--brand-soft);overflow:hidden}.prog-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.prog-card:hover .prog-cover img{transform:scale(1.03)}.prog-cover.placeholder{display:grid;place-items:center;color:var(--brand);font-family:var(--font-display);font-size:2.2rem;font-weight:700;text-decoration:none}.prog-body{padding:1.1rem 1.2rem 1.25rem;display:flex;flex-direction:column;gap:.55rem;flex:1}.prog-body h2{font-size:1.2rem;margin:0}.prog-body h2 a{color:inherit;text-decoration:none}.prog-body h2 a:hover{color:var(--brand)}.prog-body p{margin:0}.prog-body>.btn{margin-top:auto;align-self:flex-start}.prog-price{font-size:1rem;color:var(--ink-2)}.prog-price strong{font-family:var(--font-display);font-size:1.35rem;color:var(--ink);font-variant-numeric:tabular-nums}.prog-price.big strong{font-size:1.9rem}.figures-line{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.9rem;color:var(--ink-2)}.figures-line strong{color:var(--ink);font-variant-numeric:tabular-nums}.prog-cta{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;background:var(--brand-softer);border:1px solid var(--brand-line);border-radius:var(--r-lg);padding:clamp(1.25rem,3vw,2rem)}.prog-cta h2{margin:0 0 .25rem}.prog-cta p{margin:0;max-width:56ch}.people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.people-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.person-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}.person-card.is-picked{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-line)}.person-photo{aspect-ratio:1;background:var(--brand-soft);overflow:hidden}.person-photo img{width:100%;height:100%;object-fit:cover}.person-photo.placeholder{display:grid;place-items:center;color:var(--brand);font-family:var(--font-display);font-size:2rem;font-weight:700}.person-body{padding:.85rem .95rem 1rem;display:flex;flex-direction:column;gap:.4rem;flex:1}.person-body h3{margin:0;font-size:1.05rem}.person-body .btn{margin-top:auto;align-self:flex-start}.person-needs{margin:0;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.well-photos{display:grid;gap:.5rem;border-radius:var(--r-lg);overflow:hidden;margin-bottom:1.25rem}.well-photos img{width:100%;height:100%;object-fit:cover;display:block;background:var(--brand-soft)}.well-photos.count-1 img{aspect-ratio:16 / 9}.well-photos.count-2{grid-template-columns:1fr 1fr}.well-photos.count-2 img{aspect-ratio:4 / 3}.well-photos.count-3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:16 / 9}.well-photos.count-3 img:first-child{grid-row:1 / 3}.well-photos.count-3 img{min-height:0}.well-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:0 0 1.25rem}.well-facts>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:.7rem .85rem}.well-facts dt{font-size:.8rem;color:var(--ink-2)}.well-facts dd{margin:.15rem 0 0;font-weight:600}.plan-choice{border:0;padding:0;margin-inline:0;display:grid;gap:.4rem}.plan-choice legend{font-weight:600;font-size:.95rem;margin-bottom:.35rem;padding:0}[data-plan-fields][hidden]{display:none}.save-card{align-items:flex-start}.save-card .sub{display:block;font-size:.82rem;color:var(--ink-2);margin-top:.2rem}.recurring-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.25rem,3vw,2rem);max-width:760px;box-shadow:var(--shadow-1)}.portal{max-width:1040px}.portal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.portal-head h1{font-size:clamp(1.6rem,3vw,2.1rem)}.portal-hello{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-strong)}.portal-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:1.5rem;overflow-x:auto;scrollbar-width:none}.portal-tabs::-webkit-scrollbar{display:none}.portal-tabs a{padding:.65rem .9rem;color:var(--ink-2);text-decoration:none;font-weight:600;font-size:.95rem;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}.portal-tabs a:hover{color:var(--ink)}.portal-tabs a[aria-current=page]{color:var(--brand);border-bottom-color:var(--brand)}.portal-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1rem,2.5vw,1.5rem)}.portal-card-soft{background:var(--brand-softer);border-color:var(--brand-line)}.portal-card>h2:first-child,.portal-card>.h3:first-child{margin-top:0}.portal-sub{font-size:1rem;margin-bottom:.5rem}.portal-static{padding:.6rem 0;font-variant-numeric:tabular-nums;color:var(--ink-2)}.portal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}.portal-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.2rem}.portal-stat span{font-size:.85rem;color:var(--ink-2)}.portal-stat strong{font-family:var(--font-display);font-size:1.5rem}.portal-due{border-color:var(--gold);background:var(--gold-soft)}.portal-list{list-style:none;margin:0;padding:0}.portal-list li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 0;border-top:1px solid var(--line-soft);flex-wrap:wrap}.portal-list li:first-child{border-top:0}.portal-list .sub{display:block;font-size:.82rem;color:var(--ink-2)}.portal-list-end{display:flex;align-items:center;gap:.75rem}.portal-list-end form{margin:0}.portal-instructions,.portal-wells{display:grid;gap:1rem}.portal-wells{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-instruction header{align-items:flex-start;gap:.75rem}.portal .kv{grid-template-columns:minmax(96px,max-content) 1fr;column-gap:1.5rem}.portal-instruction .kv{margin-bottom:0}.portal-details summary{cursor:pointer;font-weight:600;font-size:.95rem;color:var(--ink-2)}.portal-details[open] summary{margin-bottom:.35rem}.portal-actions{display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.portal-actions form{margin:0}.portal-confirm summary{list-style:none;cursor:pointer}.portal-confirm summary::-webkit-details-marker{display:none}.portal-confirm[open]{flex-basis:100%;background:var(--danger-soft);border-radius:var(--r-md);padding:.5rem .75rem .75rem}.portal-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem;align-items:start}.portal-section h2{font-size:1.3rem}.well-steps{list-style:none;margin:.9rem 0 .25rem;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;counter-reset:step}.well-steps li{font-size:.78rem;color:var(--ink-3);padding-top:.55rem;border-top:3px solid var(--line);line-height:1.25}.well-steps li.done{border-top-color:var(--brand);color:var(--ink-2)}.well-steps li.current{border-top-color:var(--gold);color:var(--ink);font-weight:600}.portal-well .well-photos{margin-bottom:0}.portal-well .well-steps{margin-bottom:1rem}@media(max-width:960px){.prog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.people-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.people-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.portal-columns,.portal-wells{grid-template-columns:1fr}}@media(max-width:600px){.prog-grid{grid-template-columns:1fr}.people-grid,.people-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.prog-cta{flex-direction:column;align-items:flex-start}.portal-list-end{width:100%;justify-content:space-between}.portal-tabs a{padding:.6rem .5rem;font-size:.88rem}.well-steps li{font-size:.7rem}}@media(prefers-reduced-motion:reduce){.prog-cover img{transition:none}}.campaign-page aside .form-grid{grid-template-columns:1fr}
