/* V7 semantic surfaces: inverse sections never inherit the body text as a background. */
:root{--surface:#fffdfa;--surface-alt:#f0eadd;--content:#242821;--secondary:#5d625a;--border:#d1c7b5;--accent:#806117;--inverse:#171e1a;--inverse-text:#f6f1e5;--selected:#ece1c6;color-scheme:light}
[data-theme=dark]{--paper:#1c2721;--surface:#1c2721;--surface-alt:#26342b;--content:#f1eee5;--secondary:#c1c8be;--border:#53604f;--accent:#e3c77f;--inverse:#0d1511;--inverse-text:#f6f1e5;--selected:#374831;--gold-dark:#e3c77f;color-scheme:dark}
html{scroll-padding-top:110px}
body .header,body.cinematic-home .header,[data-theme=dark] body .header{background:var(--surface);color:var(--content);width:100%;max-width:none;position:sticky;top:0;z-index:100;padding-inline:max(28px,calc((100% - 1320px)/2));height:90px;isolation:isolate;box-shadow:0 6px 24px #0002}
.header .brand{flex:0 0 202px;overflow:hidden;line-height:0}.header nav{flex:0 1 auto;gap:24px}.header nav>a{white-space:nowrap}.header .brand img{display:block;max-width:100%}.header:after{left:0;width:15%;animation-name:nav-sheen}.header .brand:after{opacity:.45}.header nav.open{background:var(--surface);color:var(--content);border:1px solid var(--border);box-shadow:0 18px 32px #0003}
@keyframes nav-sheen{0%{transform:translateX(0);opacity:0}15%,80%{opacity:1}100%{transform:translateX(550%);opacity:0}}
.footer,.aside-note,.toast,.professional-cta,.btn.dark,.skip{background:var(--inverse);color:var(--inverse-text)}
.footer{border-top:1px solid var(--border)}.footer p,.footer small,.footer-bottom{color:#c5ccbf}.footer a,.footer .text-button{color:#f3ead5}.footer-top>a:last-child{display:inline-flex;align-items:center;gap:10px;color:#e3c77f}.footer-links{border-color:#58604e}.footer-top>a:last-child .icon{width:24px;height:24px}.toast{z-index:500;border-color:#c1a052;color:#fff7e6;box-shadow:0 10px 40px #0006;font-size:14px}.professional-cta{border:1px solid #788064}.professional-cta p{color:#cbd0c4}.professional-cta h2{color:#fff7e8}.professional-cta h2 em{color:#e3c77f}.professional-cta .eyebrow{color:#e3c77f}
[data-theme=dark] :is(.tile-caption,.card-description,.card-kind,.location,.contact-card small,.post-author,.professional-card .rating){color:var(--secondary)}
[data-theme=dark] :is(.verified,.badge){background:#26372a;color:#e6d393;border-color:#5f7051}
[data-theme=dark] :is(.journal-symbol,.stats .stat,.profile-header,.profile-intro,.cookie-banner,.account-nav,.faq details,.check-group,.status){background:var(--surface);color:var(--content)}
[data-theme=dark] .circle-link{background:#d2b260;color:#152019}[data-theme=dark] .btn.danger{background:#922f36;color:#fff}
[data-theme=dark] .initial-placeholder>div{background:var(--surface-alt)}
[data-theme=dark] .plan.featured{border-color:#d2b260;background:var(--surface-alt)}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.specialty-tile{position:relative;padding-top:30px}.specialty-tile .specialty-number{position:absolute;top:48px;right:28px;color:var(--accent);font-size:14px;letter-spacing:.08em;line-height:1.2}.specialty-tile .tile-caption{color:var(--secondary)}
.audience-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-block:32px}.audience-links>a{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:21px 16px;color:var(--content);box-shadow:0 6px 18px #00000007;transition:transform .2s,border-color .2s}.audience-links>a:hover{transform:translateY(-4px);border-color:var(--accent)}.audience-links strong{display:block;font-size:14px;margin-bottom:6px}.audience-links small{display:block;font-size:11px;line-height:1.6;color:var(--secondary)}.audience-links>a>.icon{width:15px;flex-shrink:0;margin-left:auto}.audience-icon{background:var(--surface-alt);color:var(--accent);padding:12px;border-radius:12px;flex-shrink:0}.audience-icon .icon{width:26px;height:26px}
[data-favorite].is-saved,[data-theme=dark] [data-favorite].is-saved{color:#d02647;background:#fff0f2;border-color:#c42d46}[data-favorite].is-saved svg{fill:#d02647;stroke:#b01837}[data-favorite][disabled]{opacity:.6;cursor:progress}
.search-layout{grid-template-columns:minmax(305px,340px) minmax(0,1fr);gap:30px}.search-results{min-width:0}.filters{padding:26px;border-radius:18px;align-self:start;background:var(--surface)}.filters h2{font-size:25px;margin-bottom:22px}.filters .field{margin-bottom:21px}.filters label>span{font-size:13px;font-weight:600}.filters .jurisdiction-filter{padding:12px 0 16px;border-block:1px solid var(--border);margin-bottom:18px}.results-top{gap:16px}.results-top>.ts-wrapper{min-width:235px}.filters input{background:var(--surface);color:var(--content);border-color:var(--border);border-radius:10px;min-height:48px}
/* Tom Select 2.6.2, self hosted. Long labels wrap, touch targets remain at least 44px. */
.ts-wrapper{font-family:inherit;font-size:14px;width:100%;min-width:0;text-align:left}.ts-control,.ts-wrapper.single .ts-control,.ts-wrapper.multi .ts-control{background:var(--surface)!important;color:var(--content)!important;border:1px solid var(--border);border-radius:10px;box-shadow:none;padding:13px 36px 13px 13px;min-height:49px;line-height:1.5;gap:6px}.ts-wrapper.focus .ts-control{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}.ts-wrapper.single .ts-control:after{content:"";position:absolute;right:16px;top:20px;width:7px;height:7px;border:solid var(--accent);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.ts-control>.item{white-space:normal;overflow-wrap:anywhere;max-width:100%;padding-right:3px}.ts-control input{color:var(--content)!important;min-height:20px!important;font-family:inherit!important;font-size:14px!important}.ts-wrapper.multi .ts-control>div{background:var(--selected);color:var(--content);border:1px solid var(--border);text-shadow:none;box-shadow:none;border-radius:7px;padding:5px 8px}.ts-wrapper .remove{color:var(--accent)!important;border-left-color:var(--border)!important;min-width:24px;text-align:center}.ts-dropdown{background:var(--surface);color:var(--content);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 35px #0003;font-family:inherit;font-size:14px;overflow:hidden;z-index:150}.ts-dropdown .option,.ts-dropdown .no-results{padding:13px 14px;min-height:44px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}.ts-dropdown .active,.ts-dropdown .selected{background:var(--selected);color:var(--content)}.ts-dropdown .dropdown-input{background:var(--surface-alt)!important;color:var(--content)!important;border:0!important;border-bottom:1px solid var(--border)!important;padding:14px!important;min-height:46px;border-radius:0;font-size:16px}.ts-dropdown-content{max-height:min(290px,36dvh);overscroll-behavior:contain}.ts-dropdown .highlight{background:transparent;text-decoration:underline;color:var(--accent)}.ts-wrapper .ts-control input::placeholder{color:var(--secondary)}.ts-wrapper.multi .ts-control{padding-right:13px}.field .ts-wrapper{display:block}.ts-wrapper.disabled{opacity:.6}
.benefits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-bottom:56px}.benefit{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:30px}.benefit>.icon{width:32px;height:32px;color:var(--accent);margin-bottom:18px}.benefit h2{font-size:25px}.benefit p{font-size:14px;line-height:1.8;color:var(--secondary)}.plans-intro{padding-bottom:24px}.plans-intro h2{font-size:38px}.plans-intro p{color:var(--secondary)}
.community-shell{display:grid;grid-template-columns:minmax(0,760px) minmax(230px,1fr);gap:34px;padding-bottom:80px}.feed-controls{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:24px}.feed-controls form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.feed-controls .field{margin:0;min-width:0}.feed-controls .feed-query{grid-column:1/-1}.feed-controls .actions{grid-column:1/-1}.feed-summary{display:flex;justify-content:space-between;align-items:center;padding:12px 0 22px;font-size:13px;color:var(--secondary)}.feed-post{border-radius:16px;background:var(--surface);border:1px solid var(--border);padding:28px;margin-bottom:24px}.feed-post .post-author{justify-content:flex-start;gap:12px;margin-bottom:22px;color:var(--secondary)}.feed-post .post-author>div{flex:1}.feed-post .post-author a{font-size:15px;display:block;color:var(--content);font-weight:600}.feed-post time{font-size:11px;display:block;margin-top:4px}.feed-post h2{font-size:28px;line-height:1.3}.feed-post .post-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover}.feed-post .preline{font-size:14px;line-height:1.85}.feed-post .post-topics{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.post-topics a{border:1px solid var(--border);border-radius:20px;padding:5px 10px;font-size:10px;color:var(--accent)}.post-body.collapsed{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.post-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--border);padding-top:16px;margin-top:20px}.post-actions .text-link{font-size:12px}.community-aside{align-self:start;position:sticky;top:114px}.community-aside .aside-note{margin-bottom:20px}.community-aside h2{font-size:28px}.community-aside p{font-size:14px;line-height:1.8}.pagination{flex-wrap:wrap}
/* Original V4 rings and keyframes. Start automatically; observer only pauses offscreen. */
html[data-effects=full] .resonance-field>i,html[data-effects=full] .resonance-core{animation-play-state:running}.resonance-field{z-index:1;top:0;right:-6%;width:70%;opacity:1}.resonance-field>i{border-color:#edcc84cc;box-shadow:inset 0 0 25px #e2bc6020,0 0 25px #e2bc6020}.cinema-content{position:relative;z-index:3}.hero-medallion{z-index:2}.cinema-bottom{z-index:3}.ambient-offscreen>*{animation-play-state:paused!important}.hero-beams,.gold-dust{z-index:1;pointer-events:none}.cinema-light{pointer-events:none}.cinema-hero h1 em{color:transparent!important}.cinema-hero .hero-medallion{pointer-events:none}
@media(min-width:761px) and (max-width:1100px){.audience-links{grid-template-columns:1fr 1fr}.header nav{gap:15px}.search-layout{grid-template-columns:290px minmax(0,1fr);gap:22px}.search-results .cards{grid-template-columns:1fr}.community-shell{grid-template-columns:minmax(0,1fr) 250px}.benefits-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){body .header,body.cinematic-home .header{padding-inline:24px}.header .brand{flex-basis:172px}.header .brand img{width:170px}.header nav{gap:12px;font-size:12px}}
@media(max-width:760px){html{scroll-padding-top:86px}body .header,body.cinematic-home .header{height:76px;padding-inline:20px}.header nav{font-size:16px}.header nav.open{z-index:101;top:76px}.search-layout{display:block}.filters{margin-bottom:26px;padding:22px}.filters form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.filters .field{margin:0}.filters .jurisdiction-filter,.filters form>.btn,.filters form>.text-button{grid-column:1/-1}.results-top>.ts-wrapper{min-width:0;max-width:210px}.specialty-tile .specialty-number{top:39px;right:23px;font-size:12px}.audience-links{grid-template-columns:1fr 1fr;gap:10px}.audience-links>a{flex-direction:column;align-items:flex-start;padding:18px 14px}.audience-links>a>.icon{display:none}.audience-links strong{font-size:13px}.audience-links small{font-size:11px}.audience-icon{padding:10px}.benefits-grid{grid-template-columns:1fr;gap:12px}.benefit{padding:24px}.community-shell{display:block}.community-aside{position:static}.feed-post{padding:22px}.feed-controls{padding:18px}.feed-post h2{font-size:25px}.resonance-field{width:140%;right:-40%;top:-5%;opacity:.85}.ts-control{font-size:14px}.post-actions{flex-wrap:wrap}.professional-cta .cta-emblem{max-width:100%}}
@media(max-width:420px){.filters form,.feed-controls form{grid-template-columns:1fr}.results-top{flex-wrap:wrap}.results-top>.ts-wrapper{max-width:none}.specialty-tile .specialty-number{top:35px;right:20px}.specialty-tile{padding-inline:19px}}
@media(prefers-reduced-motion:reduce){.resonance-field>i,.resonance-core{animation:none!important}.resonance-field>i:first-child{opacity:.3;transform:scale(1.5)}}
html[data-theme] body .header{background:var(--surface)!important;backdrop-filter:none!important}
.results-top>span{white-space:nowrap}.results-top>.ts-wrapper{width:270px;flex:0 1 270px;margin-left:auto}.cta-emblem{color:#e3c77f}
@media(max-width:420px){.results-top>.ts-wrapper{width:100%;flex-basis:100%;margin-left:0}}
.select-label{display:block;color:var(--content);font-weight:600;font-size:14px;line-height:1.5;margin-bottom:6px;cursor:pointer}.filters .select-label{font-size:13px}
@media(max-width:760px){.ts-control input{font-size:16px!important}.ts-dropdown .option{min-height:46px}}
.ts-dropdown.drop-up{top:auto!important;bottom:calc(100% + 6px);margin:0}
body{overflow-x:clip}.feed-controls .actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.aside-note .eyebrow{color:#e3c77f}
[data-theme=dark] .license,[data-theme=dark] .review blockquote{background:var(--surface-alt);color:var(--content)}
[data-theme=dark] .account-nav a.active{background:var(--selected);color:#f4d58d}
[data-theme=dark] .form-message{color:#ffb99c}
.account-nav{top:110px}.contact-card{top:110px}
@media(max-width:760px){.account-nav,.contact-card{position:static}}
@media(max-width:1100px){.fx3-ready[data-effects=full] .fx3-item:not(.fx3-in){transform:translateY(24px)!important;filter:none!important}}
.ts-wrapper.single.dropdown-active .ts-control>.item{display:none}.ts-wrapper.single.dropdown-active .ts-control>input{opacity:1!important;position:relative!important;flex:1 1 100%;width:100%!important;min-width:0!important}.ts-wrapper.single.dropdown-active .ts-control:after{border:solid var(--accent);border-width:0 1.5px 1.5px 0;transform:rotate(225deg);margin-top:0}
.ts-wrapper.multi .ts-control>div[data-value]{background:var(--selected)!important;background-image:none!important;color:var(--content)!important;border:1px solid var(--border)!important;border-radius:7px;box-shadow:none!important;text-shadow:none!important}.ts-wrapper.multi .ts-control>div[data-value].active{outline:2px solid var(--accent)}
