/* Authorized home-only UX refinements. Shared shell and other routes stay untouched. */
.pn-home-ux .pn-home-intro{width:100%;margin:0 0 24px;padding:0 0 22px;border-bottom:1px solid #be9d5e66}
.pn-home-ux .pn-home-summary{margin:0 0 16px;color:#384347;font-size:17px;line-height:1.65;font-weight:600}
.pn-home-ux a.pn-home-map{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:10px 18px;border:1px solid #927244;border-radius:6px;background:#f6f1e6;color:#4a422f!important;font-size:16px;font-weight:600;font-style:normal;text-decoration:underline;text-underline-offset:3px;line-height:1.4;box-sizing:border-box}
.pn-home-ux a.pn-home-map:hover{background:#eee4d1;color:#242a2b!important}
.pn-home-ux a.pn-home-map:focus-visible{outline:3px solid #71562c;outline-offset:3px}
.pn-home-ux.elementor-8 .elementor-element[data-id="e972e3f"] p,.pn-home-ux.elementor-8 .elementor-element[data-id="1a15582"] p{margin:0 0 16px;line-height:1.65}
.pn-home-ux.elementor-8 .elementor-element[data-id="2b1bd67c"] .elementor-heading-title{font-size:clamp(28px,3.4vw,46px);line-height:1.2;letter-spacing:normal}
.pn-home-ux.elementor-8 .elementor-element[data-id="6bccef4"]{color:#556068;font-size:20px;line-height:1.6;letter-spacing:normal}
.pn-home-ux.elementor-8 .elementor-element[data-id="6bccef4"] p{margin:0}
.pn-home-ux.elementor-8 .elementor-element[data-id="2051f14e"]{max-width:650px;color:#556068;font-size:16px;line-height:1.6}
.pn-home-ux.elementor-8 .elementor-element[data-id="2051f14e"] p{margin:0}
.pn-home-ux.elementor-8 .elementor-element[data-id="d041a1b"] .elementor-button{max-width:100%;box-sizing:border-box;padding:18px 24px}
.pn-home-ux.elementor-8 .elementor-element[data-id="d041a1b"] .elementor-button-content-wrapper{align-items:center;gap:8px}
.pn-home-ux.elementor-8 .elementor-element[data-id="d041a1b"] .elementor-button-text{white-space:normal;line-height:1.4}
.pn-home-ux.elementor-8 .elementor-element[data-id="d041a1b"] .elementor-button-icon{flex-shrink:0}
/* The 8 mobile targets wrap instead of shrinking or overlapping. The visual dots stay small. */
.pn-home-ux .pn-carousel-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;padding:10px 0}
.pn-home-ux .pn-carousel-dots button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;flex:0 0 44px;margin:0;padding:0;border:0;border-radius:6px;background:transparent;box-sizing:border-box;cursor:pointer;touch-action:manipulation}
.pn-home-ux .pn-carousel-dots button::before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:#999}
.pn-home-ux .pn-carousel-dots button[aria-current="true"]{background:transparent}
.pn-home-ux .pn-carousel-dots button[aria-current="true"]::before{background:#ffcc68;box-shadow:0 0 0 2px #ffcc6866}
.pn-home-ux .pn-carousel-dots button:hover::before{background:#ddd}
.pn-home-ux .pn-carousel-dots button[aria-current="true"]:hover::before{background:#ffcc68}
.pn-home-ux .pn-carousel-dots button:focus-visible{outline:2px solid #ffcc68;outline-offset:0}
@media(max-width:420px){.pn-home-ux .pn-carousel-dots{display:grid;grid-template-columns:repeat(4,44px);gap:6px;justify-content:center}}
@media(max-width:767px){
 .pn-home-ux .pn-home-summary{font-size:16px}
 .pn-home-ux.elementor-8 .elementor-element[data-id="6bccef4"]{font-size:18px}
 .pn-home-ux.elementor-8 .elementor-element[data-id="d041a1b"] .elementor-button{padding:16px 18px;font-size:16px}
}
