/* October 2026: consistent spacing and quiet, optional motion. */
:is(.brand-nng,.brand-ppn){--practice-gutter:clamp(20px,4vw,48px);--practice-space:clamp(56px,6.5vw,88px)}
:is(.brand-nng,.brand-ppn) :is(.nng-wrap,.ppn-wrap,.as-wrap,.ps-wrap,.insurance-inner,.practice-photo-wrap){width:min(1240px,calc(100% - var(--practice-gutter)*2));margin-inline:auto}
:is(.brand-nng,.brand-ppn) :is(.nng-section,.ppn-section,.as-section,.ps-section,.nng-cinema,.nng-journey,.video-qa,.practice-photo-section){padding-block:var(--practice-space)}
:is(.brand-nng,.brand-ppn) :is(h1,h2,h3){text-wrap:balance;overflow-wrap:break-word}
:is(.brand-nng,.brand-ppn) :is(.nng-h2,.ppn-h2,.as-h2,.ps-h2){line-height:1.18!important}
:is(.brand-nng,.brand-ppn) :is(p,li){text-wrap:pretty}
:is(.brand-nng,.brand-ppn) :is(.nng-actions,.ppn-actions,.hero-actions){gap:14px;flex-wrap:wrap}
:is(.brand-nng,.brand-ppn) :is(.nng-actions,.ppn-actions,.hero-actions)>a{min-height:50px;line-height:1.4}
:is(.brand-nng,.brand-ppn) :is(section[id],div[id]){scroll-margin-top:24px}
.practice-header .practice-utility{font-size:14px}
.practice-header .practice-utility>div{font-size:14px;line-height:1.4}
.practice-header .practice-header-inner{gap:clamp(12px,1.6vw,24px)}
.practice-header .practice-logo{min-width:0}
.practice-footer .practice-footer-inner{padding-bottom:100px}
.practice-footer .practice-footer-grid{gap:clamp(24px,3vw,44px);padding-block:48px}
.practice-footer .practice-footer-grid>*{min-width:0}
.practice-footer .practice-footer-grid nav>a{padding-block:3px;margin-bottom:10px!important;line-height:1.55}
.practice-footer .practice-footer-bottom,.practice-footer .practice-footer-bottom nav>a{font-size:14px}
.practice-footer .practice-location-note{font-size:14px}
.insurance-section{padding-block:36px}
.insurance-heading{gap:20px;margin-bottom:24px}
.insurance-heading p{font-size:16px}
.insurance-logos{gap:16px}
.insurance-logos li{flex-basis:calc((100% - 80px)/6);min-width:0;min-height:122px}
.insurance-logos li span{min-height:2.7em;display:flex;align-items:center;justify-content:center}
.brand-ppn .ppn-services-head,.brand-nng .nng-services-head{gap:32px;align-items:start;margin-bottom:28px}
.brand-ppn .ppn-services-head>p{font-size:17px;line-height:1.7;max-width:340px}
.brand-ppn .ppn-service-text{padding:24px;min-height:192px}
.brand-ppn .ppn-service-text>strong{line-height:1.25!important}
.brand-ppn .ppn-provider-body{display:flex;flex-direction:column;padding:30px}
.brand-ppn .ppn-provider-body h3{line-height:1.3}
.brand-ppn .ppn-provider-body p{font-size:17px;line-height:1.75;margin:18px 0 0}
.brand-ppn .ppn-provider-body .bio-link{margin-top:auto;padding-top:24px}
.brand-ppn .ppn-faqs{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;margin-top:32px}
.brand-ppn .ppn-faq button{font:800 17px/1.5 Nunito,sans-serif;min-height:96px;align-items:center;padding:22px 24px}
.brand-ppn .ppn-faq button span{flex-shrink:0}
.brand-ppn .ppn-faq div p{font-size:16px;line-height:1.75;opacity:1;color:#385f73;padding-inline:24px}
.brand-ppn .ppn-faq.is-open div p{padding-bottom:24px}
.brand-ppn .video-qa-head{gap:32px;margin-bottom:32px;align-items:start}
.brand-ppn .video-qa-shell{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:stretch;perspective:none}
.brand-ppn :is(.video-qa-stage,.video-qa-answer,.video-qa-shell:hover .video-qa-stage,.video-qa-shell:hover .video-qa-answer){transform:none;animation:none}
.brand-ppn .video-qa-answer{padding:30px;min-height:0}
.brand-ppn .video-qa-answer h3{font-size:clamp(25px,2.4vw,34px);line-height:1.25}
.brand-ppn .video-qa-answer p{font-size:16px;line-height:1.7}
.brand-ppn .video-qa-question-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}
.brand-ppn .video-qa-question{min-height:98px;padding:20px;transform:none!important;line-height:1.5}
.brand-ppn .video-qa-question b{font-size:16px;line-height:1.5}
.brand-ppn .video-qa-question em{font-size:14px;line-height:1.4}
.brand-ppn .video-qa-status,.brand-ppn .video-qa-disclaimer{font-size:14px!important;line-height:1.7}
.contact-section{gap:clamp(24px,4vw,48px);padding-block:48px 72px}
.contact-form{min-width:0}
.contact-form :is(input,select,textarea){font-size:16px;min-height:48px}
.contact-form input[type=checkbox]{min-height:0;flex-shrink:0}
.contact-aside{align-self:start;padding:28px;border:1px solid #d4dce4;border-radius:24px;background:#f5f8fb}
.brand-nng .contact-aside{background:#f6f2ea;border-color:#ded9e4}
.contact-aside h3{margin:0 0 16px;line-height:1.3}
.contact-aside p{font-size:16px;line-height:1.75}
.contact-referrals{margin-top:28px;padding-top:24px;border-top:1px solid #8294a540}
.contact-referrals h3{font-size:21px}
.service-answer-grid,.as-team,.ps-team{gap:24px}
.service-answer{padding:28px;min-width:0}
.service-answer h3{line-height:1.3;margin:0 0 16px}
.service-answer p,.service-answer li{font-size:16px;line-height:1.75}
.grand-tilt{transform:none!important;will-change:auto}
.brand-nng .nng-hero-copy,.brand-ppn .ppn-hero-copy{transform:none!important}
.practice-arrive{animation:practiceArrive .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--arrival-delay,0ms)}
@keyframes practiceArrive{from{opacity:.35;translate:0 12px}to{opacity:1;translate:0 0}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 :is(.practice-book,.practice-call,.nng-btn,.ppn-btn,.as-btn,.ps-btn,.btn,.card,.service-answer,.insurance-logos li){transition:translate .2s ease,box-shadow .2s ease,border-color .2s ease}
 :is(.practice-book,.practice-call,.nng-btn,.ppn-btn,.as-btn,.ps-btn,.btn,.card):hover{translate:0 -2px}
 .insurance-logos li:hover{translate:0 -3px;box-shadow:0 10px 24px #17234312}
 :is(.ppn-faq,.nng-faq){transition:border-color .2s,box-shadow .2s}
 :is(.ppn-faq,.nng-faq):hover{box-shadow:0 6px 20px #1723430c}
 .practice-footer-grid nav>a{transition:color .2s,translate .2s}
 .practice-footer-grid nav>a:hover{translate:2px 0}
}
@media(max-width:1100px){.insurance-logos li{flex-basis:calc((100% - 48px)/4)}}
@media(max-width:850px){.brand-ppn .video-qa-head,.brand-ppn .video-qa-shell{grid-template-columns:1fr;gap:24px}.brand-ppn .video-qa-answer{padding:28px}.insurance-logos li{flex-basis:calc((100% - 32px)/3)}}
@media(max-width:600px){
 :is(.brand-nng,.brand-ppn){--practice-gutter:20px;--practice-space:52px}
 .practice-header .practice-header-actions>.practice-book{font-size:13px!important;max-width:104px;white-space:normal}
 .practice-header.practice-ppn .practice-header-inner{margin:0;padding-inline:12px}
 .practice-header.practice-ppn .practice-logo img{width:148px!important}
 .insurance-logos{gap:12px}.insurance-logos li{flex-basis:calc((100% - 12px)/2);padding:16px 12px;min-height:120px}
 .insurance-heading{margin-bottom:20px}.insurance-section{padding-block:30px}
 .brand-ppn .ppn-faqs,.brand-ppn .video-qa-question-list{grid-template-columns:1fr}
 .brand-ppn .ppn-faq button{min-height:82px;padding:20px}
 .brand-ppn .ppn-faq div p{padding-inline:20px}
 .brand-ppn .ppn-provider-body,.brand-ppn .video-qa-answer,.contact-aside,.service-answer{padding:24px}
 .brand-ppn .video-qa-question{min-height:86px}
 .practice-footer .practice-footer-inner{margin-inline:20px}
 .practice-footer .practice-footer-grid{gap:32px 20px}
 .practice-footer .practice-footer-invitation h2{font-size:30px!important}
 .contact-section{padding:32px 20px 52px}
 .contact-form{padding:24px 20px}
}
@media(max-width:360px){.practice-header.practice-ppn .practice-logo img{width:116px!important}.practice-header .practice-header-actions>.practice-book{max-width:86px}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .practice-arrive{opacity:1;translate:none}
}
html[data-motion-paused=true] *,html[data-motion-paused=true] *::before,html[data-motion-paused=true] *::after{animation-play-state:paused!important}
html[data-motion-paused=true] .practice-arrive{animation:none;opacity:1;translate:none}
