/* TAAB Sonoran Luxe 2.1 — layered over V2 without modifying existing submissions. */
:root{--taab21-serif:"Cormorant Garamond",Georgia,serif;--taab21-sans:"Manrope",Arial,sans-serif;--taab21-heading-scale:1;--taab21-body-scale:1}
body,button,input,textarea,select,.main-nav a,.eyebrow{font-family:var(--taab21-sans)!important}
body{font-size:calc(16px * var(--taab21-body-scale))}
h1,h2,h3,h4,.v2-tier-head,.v2-price,.v2-application legend,.v2-person-info h3,.v2-benefit-grid h3,.footer-grid h3{font-family:var(--taab21-serif)!important}
h1{font-size:clamp(48px,calc(6vw * var(--taab21-heading-scale)),90px)}
h2{font-size:clamp(34px,calc(4vw * var(--taab21-heading-scale)),64px)}
/* Footer uses the exact SVG shapes but displays them in a clean monochrome cream. */
.site-footer .footer-logo{background:none!important;padding:0!important;filter:brightness(0) invert(95%) sepia(9%) saturate(188%) hue-rotate(342deg);width:205px;max-width:100%}
/* Membership: editorial pacing and less cramped benefits heading. */
.v2-eligibility{position:relative;isolation:isolate;background:#fffdf7!important;overflow:hidden}
.v2-eligibility:after{content:"";position:absolute;right:-15px;bottom:0;width:175px;height:240px;transform:scaleX(-1);background:url('assets/v2/botanical.webp') right bottom/contain no-repeat;opacity:.42;pointer-events:none;z-index:-1}
.v2-eligibility-grid{position:relative;z-index:1;gap:clamp(25px,4vw,60px)}
.v2-benefits-section{padding-block:95px}
.v2-benefits-layout{grid-template-columns:minmax(220px,270px) minmax(0,1fr);gap:clamp(30px,5vw,75px);align-items:start}
.v2-benefits-layout h2{font-size:clamp(36px,3.1vw,52px);overflow-wrap:normal;max-width:270px;line-height:1.04}
.v2-benefit-grid{min-width:0;gap:18px}
.v2-benefit-grid article{min-width:0;gap:16px;padding:clamp(18px,2.2vw,28px)}
.v2-benefit-grid h3{font-size:clamp(21px,2.2vw,27px)}
.v2-pricing-section{padding-bottom:85px}
.v2-pricing-cards .v2-tier-body>.v2-price,.v2-pricing-cards .v2-tier-body>.v2-rate-caption,.taab-membership-options .tier-price{text-align:center}
.v2-tier-body{padding-top:30px;gap:6px}
.v2-tier-body .v2-price{width:100%;display:block}
.v2-rate-caption{width:100%;margin:8px 0 12px!important}
.v2-tier-btn{align-self:stretch;text-align:center}
.v2-founding-benefits{margin-top:75px;padding:40px 30px;gap:20px}
.v2-payment-section{padding-top:75px;padding-bottom:0!important}
.v2-payment-grid.taab21-payment-grid{grid-template-columns:minmax(0,1.5fr) minmax(220px,340px);gap:clamp(24px,6vw,90px);align-items:center;padding-bottom:75px}
.v2-qr{background:#fff!important;max-width:350px;padding:22px;box-shadow:0 8px 36px rgba(12,42,30,.08);border-radius:5px}
.v2-qr img{width:100%;max-width:305px!important;aspect-ratio:1;object-fit:contain;image-rendering:auto}
.taab21-dates-band{background:#17392c;color:#f5f0e6;width:100vw;position:relative;left:50%;margin-left:-50vw;padding:54px 0 62px;box-sizing:border-box}
.taab21-dates-band .container{width:min(1020px,calc(100% - 44px));margin:0 auto}
.taab21-dates-band h2{color:#f7f1e4;margin:10px 0 20px;font-size:clamp(35px,3.7vw,55px)}
.taab21-dates-band .eyebrow{color:#dabb87}
.taab21-dates-band p{color:#e8e5da;font-size:16px;max-width:900px;margin-bottom:12px}
/* Clickable portraits and profile overlays. */
.taab21-profile-card{overflow:hidden}
.taab21-open-profile{cursor:pointer;border:0;background:transparent;width:100%;padding:0;text-align:left;color:inherit;font:inherit;display:block}
.taab21-open-profile:focus-visible,.taab21-committee-profile:focus-visible{outline:3px solid #b89257;outline-offset:3px}
.taab21-profile-card .v2-person-info{padding:20px}
.taab21-view-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#927343}
.taab21-committee-profiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:20px 0 8px}
.taab21-committee-profile{display:flex;align-items:center;gap:16px;padding:14px 16px!important;background:#fffdf7!important;border:1px solid #e6dccd!important;border-radius:4px;transition:border-color .2s,transform .2s;text-align:left}
.taab21-committee-profile:hover{border-color:#ba9964!important;transform:translateY(-2px)}
.taab21-committee-profile img{width:72px;height:82px;flex-shrink:0;object-fit:cover;object-position:50% 20%;border-radius:3px}
.taab21-committee-profile span{display:grid;gap:4px;min-width:0}
.taab21-committee-profile strong{font-size:16px;line-height:1.25}
.taab21-committee-profile small{font-size:12px;color:#596c5c;line-height:1.4}
.taab21-modal{display:none;position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center;padding:22px}
.taab21-modal.is-open{display:flex}
.taab21-modal-scrim{position:absolute;inset:0;background:rgba(9,30,22,.82);backdrop-filter:blur(4px)}
.taab21-modal-dialog,.taab21-contact-dialog{position:relative;z-index:1;width:min(850px,100%);max-height:min(90vh,920px);overflow-y:auto;background:#fcf9f3;box-shadow:0 22px 70px #0005;outline:none;border-radius:6px}
.taab21-modal-layout{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;align-items:stretch;min-height:440px}
.taab21-modal-photo{width:100%;height:100%;max-height:720px;object-fit:cover;object-position:center 20%;background:#eee7dd}
.taab21-modal-text{padding:clamp(22px,4vw,58px)}
.taab21-modal-text h2{font-size:clamp(35px,4vw,53px);margin:12px 0 7px;line-height:1.08;color:#17372b}
.taab21-modal-credentials{font-size:15px;font-weight:600;color:#536a58}
.taab21-modal-role{font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:#9c7549;border-bottom:1px solid #d7c4a7;padding-bottom:20px}
.taab21-bio{font-size:15px;color:#334d3e;line-height:1.7}
.taab21-modal-close{position:absolute;top:10px;right:12px;background:#15392f;color:white;border:0;border-radius:50%;height:40px;width:40px;font-size:29px;line-height:1;cursor:pointer;z-index:3}
body.taab21-modal-open{overflow:hidden}
.taab21-contact-dialog{max-width:560px;padding:clamp(30px,5vw,55px);text-align:center}
.taab21-contact-dialog h2{font-size:clamp(36px,4vw,48px);margin:15px 0}
.taab21-check{display:inline-flex;width:64px;height:64px;border-radius:50%;background:#e5ede6;color:#286746;align-items:center;justify-content:center;font-size:33px}
/* Events: automatic upcoming and past records. */
.taab21-events>h3,.taab21-event-archive>h3{margin-bottom:25px}
.taab21-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.taab21-event-card{background:#fff;border:1px solid #e2d8cb;box-shadow:0 10px 30px #163c2a0c;overflow:hidden}
.taab21-event-card>img{height:190px;width:100%;object-fit:cover}
.taab21-event-content{padding:26px}
.taab21-event-card h3{font-size:29px;margin:7px 0 12px}
.taab21-event-date{font-weight:700;color:#82633b}
.taab21-event-description{font-size:14px;color:#465b4b}
.taab21-event-archive{padding-top:65px;margin-top:75px;border-top:1px solid #ddcfba}
.taab21-event-empty{padding:25px;background:#f3ede2;border:1px solid #ddcfba}
/* Private receipt page and application summary. */
.taab21-receipt{max-width:1010px;margin:auto;background:#fffcf7;border:1px solid #e7d9c6;padding:clamp(25px,5vw,70px)}
.taab21-receipt h1{font-size:clamp(36px,4vw,58px);margin:12px 0 22px}
.taab21-receipt-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#dbcdb9;border:1px solid #dbcdb9;margin:35px 0}
.taab21-receipt-summary>div{background:#f4ebdf;padding:20px 15px;display:grid;gap:7px}
.taab21-receipt-summary span{font-size:12px;color:#596959}
.taab21-receipt-summary strong{font-size:20px}
.taab21-receipt-pay{display:grid;grid-template-columns:1.3fr minmax(210px,.8fr);align-items:center;gap:34px}
.taab21-receipt-pay h2{font-size:38px}
.taab21-receipt-pay a:not(.btn){text-decoration:underline;overflow-wrap:anywhere}
.taab21-receipt-pay .v2-qr{margin:auto}
@media(max-width:1050px){.v2-benefits-layout{grid-template-columns:195px minmax(0,1fr);gap:30px}.v2-benefit-grid article{gap:12px}.v2-benefit-grid article>span{width:46px;height:46px;font-size:23px}.v2-benefit-grid h3{font-size:21px}}
@media(max-width:780px){.v2-benefits-layout{grid-template-columns:1fr;gap:24px}.v2-benefits-layout h2{max-width:none}.v2-benefits-section{padding-block:65px}.v2-payment-grid.taab21-payment-grid{grid-template-columns:1fr}.v2-qr{margin:15px auto}.taab21-modal-layout{grid-template-columns:1fr}.taab21-modal-photo{height:300px}.taab21-receipt-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.taab21-committee-profiles,.taab21-event-grid,.v2-benefit-grid,.taab21-receipt-pay{grid-template-columns:1fr}.taab21-committee-profile img{width:64px;height:75px}.taab21-dates-band{padding:42px 0}.v2-founding-benefits{padding:27px 18px}.v2-benefits-layout h2{font-size:40px}.taab21-receipt{padding:25px 18px}.taab21-receipt-summary strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){.taab21-committee-profile{transition:none}}

/* V2.1.2 — Applicant payment modal and on-device payment-card image. */
.taab212-payment-modal{padding:14px;overscroll-behavior:contain}
.taab212-payment-dialog{position:relative;z-index:1;width:min(760px,100%);max-height:min(94dvh,940px);overflow:auto;background:#fbf8f1;border:1px solid #cdb78e;border-radius:10px;box-shadow:0 25px 90px #07171080;outline:0;overscroll-behavior:contain}
.taab212-payment-heading{background:#183c30;color:#f8f2e7;padding:30px 64px 24px 32px}
.taab212-payment-eyebrow{display:block;font:700 11px/1.3 var(--taab21-sans);letter-spacing:.18em;color:#d5b482;margin-bottom:10px}
.taab212-payment-heading h2{color:#f8f2e7;font-size:clamp(31px,4vw,44px);line-height:1.07;margin:0 0 10px}
.taab212-payment-heading p{color:#efe4d1;margin:0;font-size:14px;line-height:1.5}
.taab212-payment-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(205px,.8fr);gap:30px;align-items:center;padding:25px 30px}
.taab212-payment-detail{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.taab212-payment-detail>span{color:#617364;text-transform:uppercase;font-size:10px;letter-spacing:.1em;font-weight:800;margin-top:8px}
.taab212-payment-detail>strong:first-of-type{font-size:38px;font-family:var(--taab21-serif);color:#163d30;line-height:1.05}
.taab212-payment-detail>small{color:#425e4d;font-size:12px}
.taab212-payment-detail>.taab212-payment-reference{font-family:var(--taab21-sans);font-size:17px;color:#183c30}
.taab212-payment-detail>b{font-size:13px;line-height:1.3;color:#183c30}
.taab212-payment-detail p{font-size:13px;color:#3d5344;line-height:1.55;margin:12px 0 0}
.taab212-payment-qr{background:white;border:1px solid #eae2d7;border-radius:6px;padding:16px;display:grid;gap:9px;justify-items:center;box-shadow:0 5px 19px #17392c10}
.taab212-payment-qr img{display:block;width:min(100%,250px);height:auto;aspect-ratio:383/385;image-rendering:auto;max-width:100%!important;background:#fff}
.taab212-payment-qr small{font-size:11px;text-align:center;color:#3b5545}
.taab212-payment-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:0 30px 22px}
.taab212-payment-actions .btn{cursor:pointer;min-height:45px}
.taab212-payment-secondary{border:1px solid #b4bcae;color:#193c2e;background:transparent;border-radius:3px;padding:12px 18px;cursor:pointer;font:600 12px var(--taab21-sans)}
.taab212-payment-note{font-size:12px;color:#4d6555;line-height:1.6;padding:14px 30px 22px;border-top:1px solid #e3d8c9;margin:0;overflow-wrap:anywhere}
.taab212-payment-note a{color:#163d30;text-decoration:underline}
.taab212-save-preview{margin:0 30px 23px;border:1px solid #ddcfb9;border-radius:6px;padding:18px;background:#f3ebde;text-align:center}
.taab212-save-preview[hidden]{display:none!important}
.taab212-save-preview img{display:block;max-width:min(300px,100%);height:auto;margin:10px auto 15px;box-shadow:0 8px 25px #183c3026;user-select:auto;-webkit-user-select:auto;-webkit-touch-callout:default}
.taab212-save-preview .taab212-save-tip{font-size:13px;line-height:1.6;color:#284433}
.taab212-save-preview .btn{display:inline-flex;justify-content:center}
.taab212-reopen{margin:25px 0 10px}.taab212-reopen button{cursor:pointer}
.taab212-payment-modal .taab21-modal-close{top:14px;right:14px;background:#f8f2e7;color:#193d30}
@media(max-width:640px){.taab212-payment-modal{padding:8px}.taab212-payment-dialog{max-height:96dvh}.taab212-payment-heading{padding:24px 56px 20px 22px}.taab212-payment-main{grid-template-columns:1fr;gap:20px;padding:20px 22px}.taab212-payment-detail{gap:4px}.taab212-payment-detail>strong:first-of-type{font-size:36px}.taab212-payment-qr{max-width:320px;width:100%;margin:0 auto}.taab212-payment-actions{padding:0 22px 20px;flex-direction:column;align-items:stretch}.taab212-payment-actions>*,.taab212-save-preview .btn{width:100%;justify-content:center;text-align:center}.taab212-payment-note{padding:14px 22px 22px}.taab212-save-preview{margin:0 22px 20px}}
