.form-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-result[hidden]{display:none!important}
.form-result.error{color:#a12626}
.form-result.success{color:#176b43}
.form-result{margin-top:1rem}
.empty-state{grid-column:1/-1;padding:2rem;border:1px solid currentColor;border-radius:1rem}
button:disabled{opacity:.65;cursor:wait}
.footer-contact{margin:12px auto 0;width:min(1200px,calc(100% - 48px));font-size:12px;color:#b5a8bd;text-align:right}
.footer-contact a{color:inherit;text-decoration:underline;text-underline-offset:3px}
body.compare-active{padding-bottom:96px}
@media(max-width:760px){
 body.compare-active{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
 .sticky-bar{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));transform:none;width:auto;max-width:calc(100% - 24px);min-height:56px;padding:9px 12px;border-radius:18px;gap:10px}
 .sticky-bar>span{font-size:12px;font-weight:700;white-space:nowrap}
 .sticky-bar>div{gap:6px!important}
 .sticky-bar .btn{min-height:38px;padding:8px 11px;font-size:11px}
 dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);padding:18px}
 dialog .dialog-top{gap:10px;margin-bottom:16px}
 dialog .dialog-top h2{font-size:clamp(23px,7vw,32px)}
 dialog .table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
 dialog table{min-width:520px}
}
@media(max-width:360px){
 .sticky-bar{min-height:52px;padding:7px 9px}
 .sticky-bar .btn{padding:7px 8px;font-size:10px}
 .footer-contact{width:calc(100% - 32px);font-size:11px}
}

/* Coach cards: every card shares one bottom-anchored footer so Compare never moves with text length. */
.coach-card{display:flex;flex-direction:column}
.coach-card .card-body{display:flex;flex:1 1 auto;flex-direction:column}
.coach-card .card-foot{margin-top:auto}
.coach-card .card-actions{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:10px;min-height:44px}
.compare-check{position:relative;display:inline-flex;align-items:center;gap:7px;min-width:0;min-height:44px;padding:0 8px 0 0;color:#4b3f56;font-size:12px;font-weight:700;line-height:1;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
.compare-check input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.compare-box{display:grid;flex:none;place-items:center;width:22px;height:22px;border:2px solid #8f839b;border-radius:6px;background:transparent;transition:background-color .15s,border-color .15s}
.compare-check input:checked~.compare-box{background:var(--electric);border-color:var(--electric)}
.compare-check input:checked~.compare-box:after{content:"✓";color:#fff;font-size:15px;font-weight:800;line-height:1}
.compare-check input:checked~.compare-text{color:var(--electric)}
.compare-check input:focus-visible~.compare-box{outline:3px solid #b99aff;outline-offset:2px}
.coach-card .card-actions .circle-link{flex:none;width:44px;height:44px;font-size:19px}
.compare-check{color:#d9cfe2}
.compare-check input:checked~.compare-box:after{color:#15101d}
@media(max-width:400px){
 .coach-card .card-actions{gap:2px}
 .compare-check{gap:5px;font-size:11px;padding-right:2px}
 .compare-box{width:20px;height:20px}
 .coach-card .card-actions .circle-link{width:40px;height:40px}
}

/* Journal and article headings */
.page-hero:has(+ .section .guide-grid) h1{font-size:clamp(30px,5.4vw,48px);line-height:1.12;letter-spacing:-.045em;max-width:22ch;text-wrap:balance}
.guide-card h2{font-size:clamp(19px,2.2vw,24px);line-height:1.28;letter-spacing:-.03em;font-weight:650;text-wrap:balance}
.journal-hero h1{font-size:clamp(28px,4.2vw,44px);line-height:1.14;letter-spacing:-.045em;max-width:26ch}
.journal-body h2{font-size:clamp(22px,2.6vw,26px);line-height:1.3;margin:38px 0 14px}
.journal-body h3{font-size:clamp(17px,2vw,19px);line-height:1.4;margin:26px 0 11px}
.journal-related h2{font-size:clamp(20px,2.4vw,23px)}

/* Icons: one sized SVG arrow instead of text glyphs, no oversized decorative marks */
.ui-arrow{width:1em;height:1em;flex:none;display:inline-block;vertical-align:-.14em;overflow:visible}
.arrow{display:inline-grid;place-items:center;font-size:16px;line-height:1}
.circle-link{font-size:16px}
.bento-icon,.page-hero:after{display:none!important}
.eyebrow:before,.ticker span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:10px;border-radius:50%;background:var(--purple);vertical-align:.12em;font-size:0}
.hero-note span:before,.under-search a:after{content:"";display:inline-block;width:.85em;height:.85em;margin:0 .4em 0 0;vertical-align:-.1em;background:var(--purple);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 11.5l7-7M5.5 4.5h6v6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 11.5l7-7M5.5 4.5h6v6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.under-search a:after{margin:0 0 0 .4em}
.district,.category-tile{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.district>span,.category-tile>span{flex:none;display:inline-grid;place-items:center}
.district .arrow{position:static}
.compare-check input:checked~.compare-box:after{content:"";width:5px;height:10px;margin-top:-2px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);font-size:0}
.bento .bento-card.hero-bento img{object-position:50% 12%}

.package-card.is-selected{border-color:#b697df;box-shadow:0 0 0 1px #b697df}
.package-card .btn.is-selected{background:#e1cef9;color:#1b1226}
.selected-package-label{color:#e1cef9;font-weight:600}
.active-filter-chip.is-fixed{cursor:default}
.filter-all-link{font-size:13px;text-decoration:underline;text-underline-offset:3px}
/* Landscape team photo: the frame has the image's 3:2 ratio, so nobody is cropped or stretched. */
.hero-art{height:auto;max-width:none;width:100%;margin:0;aspect-ratio:3/2}
.hero-main-img{position:relative;inset:auto;left:auto;top:auto;width:100%;height:100%;transform:none;border-radius:28px;border-color:#ffffff26}
.hero-main-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:none}
.hero-art .orbit,.hero-art .art-caption{display:none}
.glass-chip.one{top:auto;bottom:-18px;left:16px;transform:none}
.glass-chip.two{bottom:-18px;right:16px;transform:none}
@media(max-width:760px){
.hero-art{aspect-ratio:auto;display:flex;flex-direction:column;gap:10px}
.hero-main-img{aspect-ratio:3/2;height:auto;border-radius:20px}
.glass-chip.one,.glass-chip.two{position:static;width:100%;padding:11px 14px}
}
.coach-card[hidden]{display:none!important}
.district{min-width:0}
@media(max-width:760px){.district-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.district{padding:16px 14px}}
