/* Public website: comfortable reading and touch controls on smaller screens. */
.mobile-activities-more{display:none}
.topbar{font-size:14px;letter-spacing:0}
.topbar .wrap,.home-page .topbar .wrap{min-height:42px}
header .brand span{font-size:18px;line-height:1.35}
header .brand img[src="/assets/pdm-logo.png"]{width:64px;height:64px}
body:has(#pdm-chat:not([hidden]))::after{content:"";position:fixed;inset:0;background:#10291c52;z-index:44;pointer-events:none}
#pdm-chat.chat-panel{background:#f3f7f4;border:1px solid #b5cbbb;box-shadow:0 20px 75px #0c271e66;height:min(560px,calc(100dvh - 115px))}
#pdm-chat[hidden]{display:none}
#pdm-chat .chat-header{background:#06451e;border-bottom:0;color:white;flex-shrink:0}
#pdm-chat .chat-identity strong{color:white;font-size:17px}
#pdm-chat .chat-identity span{color:#d6e8dc;font-size:12px}
#pdm-chat .chat-identity img{background:white;border-radius:50%;padding:2px;width:42px;height:42px}
#pdm-chat .chat-header>button{background:#ffffff1c;color:white;width:44px;height:44px}
#pdm-chat .chat-transcript{background:#f3f7f4;flex:1;min-height:0;max-height:none}
#pdm-chat .chat-message.assistant{background:white;border:1px solid #d6e2da}
#pdm-chat .chat-message p{font-size:14px;color:#243d2e}
#pdm-chat .chat-message.visitor{background:#046609}
#pdm-chat .chat-message.visitor p{color:white}
#pdm-chat .chat-suggestions{background:#f3f7f4;flex-shrink:0}
#pdm-chat .chat-suggestions button{background:white;color:#164629;border-color:#b8d0bf;font-size:12px;min-height:40px}
#pdm-chat .chat-form{background:white;flex-shrink:0}
#pdm-chat .chat-form input{background:#edf3ee;color:#193b26;border:1px solid #c6d8cb}
#pdm-chat .chat-form>button{background:#046609;width:46px;height:46px}
#pdm-chat .chat-disclaimer{background:white;color:#52695a;font-size:11px!important;flex-shrink:0}
@media(max-width:900px){
 .nav nav{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
 .nav nav>a,.nav nav .public-nav-group>summary{min-height:44px;font-size:15px;display:flex;align-items:center}
 .public-nav-dropdown a{min-height:44px;display:flex;align-items:center;font-size:14px}
 .public-nav-group{min-width:0}
 .menu-toggle{min-width:76px;min-height:44px;font-size:14px}
 .wrap,.form-row>*{min-width:0}
 input,select,textarea{max-width:100%;font-size:16px}
 input:not([type=checkbox]):not([type=radio]),select{min-height:48px}
 .button,button[type=submit]{min-height:44px}
 .contact a,.team-contact-details a,.article-body,.submission-card{overflow-wrap:anywhere}
}
@media(max-width:600px){
 .home-page #activities .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-top:22px}
 .home-page #activities .filters button{width:100%;min-height:48px;padding:10px 8px;text-align:center;line-height:1.4;font-size:13px}
 .home-page .mobile-activities-more{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:30px}
 .home-page .mobile-activities-more p{font-size:14px;margin:0;color:var(--muted)}
 .home-page .mobile-activities-more .button{width:100%;font-size:15px;min-height:48px}
 .home-page #activities .activity[hidden]{display:none}
 .wrap,.home-page .wrap{width:calc(100% - 36px)}
 .topbar .wrap,.home-page .topbar .wrap{flex-wrap:wrap;gap:3px 16px;padding-block:8px}
 .topbar .wrap>span{font-size:14px;font-weight:600}
 .topbar a{font-size:12px;min-height:28px;display:flex;align-items:center}
 .nav,.home-page .nav{min-height:102px;gap:12px}
 header .brand{gap:12px;flex:1;min-width:0;flex-shrink:1}
 header .brand span{font-size:17px;line-height:1.35}
 header .brand img[src="/assets/pdm-logo.png"]{width:64px;height:64px;flex:0 0 64px}
 .menu-toggle{min-width:64px;padding-inline:12px;flex-shrink:0}
 .home-page .hero h1{font-size:clamp(36px,10.5vw,46px);letter-spacing:-.045em}
 .home-page .hero .lede{font-size:16px;line-height:1.75}
 .home-page .hero-actions{gap:16px;align-items:center}
 .home-page .hero-actions .button,.home-page .hero-actions .text-link{font-size:14px;min-height:46px;display:inline-flex;align-items:center}
 .home-page .hero-note p{font-size:12px}
 .home-page .hero-visual:before{display:none}
 .home-page .hero-caption{font-size:8px;gap:12px;flex-wrap:wrap}
 .home-page .section-heading>p,.home-page .section-heading>div>p:not(.eyebrow),
 .home-page .about p:not(.eyebrow),.home-page .activity>p:last-child,
 .home-page .chairman p:not(.eyebrow),.home-page .contact p:not(.eyebrow),
 .home-page .newsletter p{font-size:15px;line-height:1.75}
 .home-page .commit p{font-size:14px;line-height:1.75}
 .home-page .commit h3{font-size:20px}
 .home-page .activity h3{font-size:23px}
 .home-page .activity>p:last-child{-webkit-line-clamp:unset;display:block}
 .home-page .filters button,.filters button{min-height:44px;font-size:13px;padding:10px 14px}
 .home-page .contact-form input,.home-page .contact-form textarea{font-size:16px}
 .page-hero h1,.team-page-heading h1{font-size:clamp(34px,10vw,48px);overflow-wrap:break-word}
 .page-hero .lede{font-size:16px;line-height:1.7}
 .form-row{grid-template-columns:minmax(0,1fr)}
 .submission-card{padding:24px 18px}
 .submission-card form>label,.membership-form label{font-size:14px}
 .community-footer h3{font-size:22px}
 .community-footer .community-membership>p,.community-footer .community-newsletter-intro{font-size:15px;line-height:1.75}
 .community-footer label[for=newsletter-email]{font-size:14px}
 .community-footer .subscribe-row{display:flex;flex-direction:column;gap:12px}
 .community-footer .subscribe-row>.button{width:100%;font-size:15px}
 .community-footer .consent,.submission-card .consent{font-size:13px;line-height:1.6;align-items:flex-start}
 .consent input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;margin-top:2px}
 .footer-top{gap:24px}.footer-top p,.footer-office>a,.footer-office>strong{font-size:14px}
 .footer-office>a{min-height:36px;display:flex;align-items:center}
 .footer-bottom{gap:16px;flex-wrap:wrap;font-size:12px;padding-bottom:95px}
 #chat-launcher{right:16px;bottom:max(16px,env(safe-area-inset-bottom));min-height:48px}
 #pdm-chat.chat-panel{width:calc(100% - 24px);right:12px;bottom:78px;max-height:calc(100dvh - 100px)}
 #pdm-chat .chat-form input{font-size:16px;min-width:0}
}
@media(max-width:480px){
 .home-page .commit-grid{grid-template-columns:minmax(0,1fr)}
 .home-page .commit{padding:24px}
 .home-page .commit-top{margin-bottom:14px}
 .home-page .opinion{grid-template-columns:30px minmax(0,1fr);gap:12px}
 .home-page .opinion h3{font-size:21px}
}
