/* Original native web components: focused cards, anchored interactions, explicit degraded states. */
.pp-home .engineering-hero{min-height:540px}.pp-home .engineering-hero>.wrap{padding-top:72px;padding-bottom:45px}.hero-statement{font-size:clamp(1.6rem,3vw,2.4rem)}
.demo-section{padding-block:48px 64px;background:#080e13}.demo-section .home-demo{margin:0;padding:28px;border:1px solid #39454e;border-radius:12px;background:#101a22}.demo-heading{gap:28px}.demo-heading h3{font-size:clamp(1.8rem,3vw,2.8rem)!important}.demo-heading>p{font-size:.9rem!important;max-width:450px;color:#c1ced6!important}.demo-preset-label{font-size:.8rem;color:#c6d3dc;margin:22px 0 8px}.demo-scenes{gap:10px;margin:0 0 22px}.demo-scenes button{font-size:.85rem;min-height:48px;border-radius:6px;padding:10px 18px}.demo-layout{gap:24px}.demo-section .plan-panel{background:#182832;border:1px solid #415563;border-radius:12px;padding:22px}.demo-section .plan-caption{font-size:.75rem;color:#d6e5ee;gap:12px;flex-wrap:wrap}.demo-section .floor-plan{margin-top:16px;gap:8px}.demo-section .demo-room{background:#263d48;color:#eef4f7;border-radius:6px;min-height:135px}.demo-section .demo-room[data-lit=true]{background:#665533;box-shadow:inset 0 0 30px #e5bd4b20}.demo-section .room-label{font-size:.95rem!important}.demo-section .room-state{font-size:.76rem!important;color:#e2e9ec!important}.demo-section .plan-hall{color:#eff5f7}.demo-section .plan-hall small{color:#b8ced9;font-size:.7rem}.demo-section .fine-print{font-size:.74rem!important;line-height:1.75!important;color:#b9cbd5!important}
.demo-section fieldset.demo-controls{padding:18px;border:1px solid #405362;border-radius:12px;min-width:0;margin:0 0 16px;background:#16232c}.demo-controls legend{padding:0 8px;color:#e2edf3;font-size:.85rem;font-weight:500}.demo-section .demo-controls label{font-size:.9rem;padding:15px 0;gap:18px}.demo-section .demo-controls small{font-size:.73rem;line-height:1.65;color:#b9ccd8;max-width:280px}.demo-section .demo-controls label:last-child{border-bottom:0}.demo-section .demo-controls input{flex-shrink:0}
.demo-section .connection-note{font-size:.78rem;line-height:1.7;padding:14px;border-radius:6px;color:#d8e9ee;background:#1e3c49}.demo-section .connection-note[data-offline=true]{background:#423922;color:#ffe5ae}.demo-section .verification-panel{padding:18px;border-radius:12px;background:#172b28;border:1px solid #52776c;margin-top:16px}.demo-section .verification-panel:is([data-mismatch=true],[data-unconfirmed=true]){background:#35251f;border-color:#bc8467}.verification-panel h4{font-size:1rem;font-weight:500;color:#edf5f4;margin:0 0 12px}.verification-panel .eyebrow{font-size:.65rem}.demo-section #verification-result{font-size:.86rem;line-height:1.7}.demo-section .verification-actions{gap:10px;flex-wrap:wrap}.demo-section .verification-actions button{min-height:48px;font-size:.78rem;padding:10px 12px;border:1px solid #9cbbc6;border-radius:6px;white-space:normal}.demo-section .demo-log-heading h4{font-size:.9rem}.demo-section .demo-log-heading button{font-size:.78rem}.demo-section .demo-log li{font-size:.78rem;line-height:1.7}.demo-section .demo-log li p{color:#c6d8e3}.demo-section .demo-log .log-status{font-size:.68rem;color:#dceae8}
.spatial-optional{max-width:1100px;margin:30px auto;border-top:1px solid #3b444b;border-bottom:1px solid #3b444b}.spatial-optional>summary{font-size:1rem;line-height:1.6;padding:24px 20px;cursor:pointer;display:flex;justify-content:space-between;min-height:60px}.spatial-optional[open]>summary{border-bottom:1px solid #3b444b}.spatial-optional .spatial-section{padding-top:36px}.spatial-optional .spatial-pin{max-width:none}.spatial-optional .spatial-scene{width:100%}
.enquiry-interests .choice-row{gap:10px}.enquiry-interests button{white-space:normal;line-height:1.6;min-height:48px}
.pp-home summary:focus-visible,.pp-home textarea:focus-visible,.pp-home select:focus-visible{outline:3px solid #a9c5f3;outline-offset:5px}
@media(max-width:800px){.pp-home .engineering-hero{min-height:480px}.pp-home .engineering-hero>.wrap{padding-top:45px;padding-bottom:32px}.hero-statement{font-size:1.5rem}.demo-section{padding-block:24px 40px}.demo-section .wrap{width:calc(100% - 24px)}.demo-section .home-demo{padding:18px 14px}.demo-heading{display:block}.demo-heading>p{margin-top:16px}.demo-layout{display:grid;grid-template-columns:1fr;gap:20px}.demo-section .plan-panel{padding:16px}.demo-section .room-label{font-size:.86rem!important}.demo-section .room-state{font-size:.7rem!important}.demo-section fieldset.demo-controls{padding:15px}.demo-scenes{display:flex;flex-wrap:wrap}.demo-scenes button{flex:1 1 75px}.spatial-optional{margin-inline:12px}.spatial-optional .wrap{width:calc(100% - 40px)}.spatial-optional>summary{font-size:.9rem;padding-inline:14px}.demo-section .verification-actions button{flex:1 1 160px}.demo-section .demo-log-heading{gap:12px}.demo-section .demo-log-heading button{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.demo-section *{transition:none!important}}

/* All buttons and their effective switch labels meet the 48px review target. */
.pp-home button,.pp-home .btn{min-height:48px}.pp-home .nav-links a{min-height:48px;display:inline-flex;align-items:center}.demo-section .demo-controls label{min-height:48px}.demo-section #demo-reset{min-height:48px}
