/* Purposeful interactions, no scroll reveals or continuous decoration. */
.ptl-filter-enter{animation:ptl-filter-fade 160ms ease-out}
@keyframes ptl-filter-fade{from{opacity:.65}to{opacity:1}}
.ptl-preview-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 22px}
.ptl-preview-controls .button{padding:10px 15px;font-size:14px;min-height:44px}
.ptl-preview-controls [aria-pressed=true]{background:var(--amber,#ffb75e);color:var(--ink,#17191c);border-color:var(--amber,#ffb75e)}
.ptl-preview-controls .ptl-preview-status{flex-basis:100%;margin:0;font-size:13px;color:var(--muted,#62666b)}
.ptl-preview-stage{width:100%;margin-inline:auto}
.ptl-demo-back{background:none;border:0;padding:8px 0;min-height:44px;font:inherit;font-size:13px;text-align:left}
.concept-demo [data-demo-clear]{margin-block:16px}
.concept-demo [data-demo-clear]+.tiny{margin-top:0}
.location-card{display:flex;align-items:center;gap:28px;padding:36px;border:1px solid var(--line);border-radius:6px;background:#fff;min-width:0}
.location-card h3{font-size:36px;letter-spacing:-.035em;margin:8px 0}
.location-card p{margin:0 0 10px}.location-card small{color:var(--muted);font-size:13px}
.location-marker{position:relative;flex:0 0 88px;height:88px;display:grid;place-items:center;border-radius:50%;background:#fff5e7}
.location-marker span{width:16px;height:16px;border-radius:50%;background:#874600;z-index:1}
.location-marker:after{content:'';position:absolute;inset:18px;border:1px solid #d09b54;border-radius:50%;animation:ptl-location-pulse 1800ms ease-out 2}
@keyframes ptl-location-pulse{0%{transform:scale(.5);opacity:.8}100%{transform:scale(1.4);opacity:0}}
@media(max-width:700px){.location-card{gap:20px;padding:24px}.location-marker{flex-basis:64px;height:64px}.location-card h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.location-marker:after{animation:none}}
.home-hero .hero-line h1{white-space:normal;font-size:clamp(42px,5vw,72px);line-height:1.08;letter-spacing:-.045em}
@media(max-width:700px){.home-hero .hero-line h1{font-size:clamp(38px,8vw,54px)}.home-hero .wireframe-hero{aspect-ratio:2.2}.home-hero .wireframe-grid i{height:44px}.home-hero .wireframe-hero span{font-size:26px}}
.ptl-preview-stage.is-mobile{max-width:390px}
.ptl-preview-stage.is-mobile .flow-grid,.ptl-preview-stage.is-mobile.split{grid-template-columns:1fr}
.ptl-preview-stage.is-mobile .sample-nav>span{display:none}
.ptl-preview-stage.is-mobile .sample-split{min-height:320px}
.ptl-preview-stage.is-mobile .sample-split>div{width:100%;padding:24px}
.ptl-preview-stage.is-mobile .sample-split>img{opacity:.3;width:100%}
.ptl-preview-stage.is-mobile .sample-split h3{font-size:32px}
.ptl-preview-stage.is-mobile .sample-hero h2{font-size:40px}
.ptl-preview-stage.is-mobile .signal-body{display:block;padding:16px}
.ptl-preview-stage.is-mobile .signal-body aside{display:none}
.ptl-preview-stage.is-mobile .concept-demo{padding:20px}
.ptl-preview-stage.is-mobile input,.ptl-preview-stage.is-mobile select,.ptl-preview-stage.is-mobile textarea{font-size:16px}
.ptl-preview-stage.is-stepped{display:block;max-width:760px}
.ptl-preview-stage.is-stepped.is-mobile{max-width:390px}
.ptl-preview-stage [hidden]{display:none!important}
.ptl-approval-dialog{background:#faf9f6;color:#17191c;border:1px solid #dedbd4;border-radius:8px;padding:28px;width:calc(100% - 32px);max-width:480px;box-shadow:0 20px 60px #17191c26}
.ptl-approval-dialog::backdrop{background:#17191c66}
.ptl-approval-dialog h2{font-size:25px;line-height:1.25;margin:0 0 16px}
.ptl-approval-dialog p{font-size:15px;color:#62666b}
.ptl-approval-dialog .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
@media(max-width:760px){#lab-nav.is-open{animation:ptl-nav-enter 180ms ease-out}.menu-button{min-width:44px;min-height:44px}.ptl-preview-controls .button{flex-grow:1}.ptl-preview-stage.is-mobile{max-width:100%}}
@keyframes ptl-nav-enter{from{opacity:.6;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ptl-filter-enter,#lab-nav.is-open{animation:none}.ptl-preview-stage{transition:none}}
