:root{--phex-accent:#1d7aa8;--phex-accent-dark:#155f84;--phex-paper:#f7f6f2;--phex-ink:#12202a;}
.pht-overlay{position:fixed;inset:0;z-index:999990;background:rgba(8,15,20,.72);opacity:0;pointer-events:none;transition:opacity .28s ease}.pht-overlay.pht-active{opacity:1;pointer-events:auto}.pht-hole{position:fixed;z-index:999991;border-radius:14px;box-shadow:0 0 0 4px rgba(29,122,168,.9),0 0 0 9999px rgba(8,15,20,.72);transition:top .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1),height .3s cubic-bezier(.4,0,.2,1);pointer-events:none;opacity:0}.pht-hole.pht-visible{opacity:1}.pht-hole:after{content:"";position:absolute;inset:-4px;border-radius:18px;border:2px solid rgba(29,122,168,.55);animation:pht-pulse 1.8s ease-out infinite}@keyframes pht-pulse{0%{transform:scale(1);opacity:.9}70%{transform:scale(1.06);opacity:0}100%{opacity:0}}.pht-card{position:fixed;z-index:999992;width:min(380px,90vw);background:var(--phex-paper);color:var(--phex-ink);border-radius:14px;box-shadow:0 18px 44px rgba(0,0,0,.55);padding:24px 26px 18px;opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease,top .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1);pointer-events:none;font-family:'DM Sans',system-ui,sans-serif}.pht-card.pht-visible{opacity:1;transform:translateY(0);pointer-events:auto}.pht-step-count{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--phex-accent-dark);font-weight:700;margin-bottom:8px}.pht-title{font-family:'Playfair Display',Georgia,serif;font-size:24px;font-weight:700;color:var(--phex-ink);margin:0 0 10px;line-height:1.25}.pht-text{font-size:17px;line-height:1.6;color:#344650;margin:0 0 18px}.pht-dots{display:flex;gap:6px;margin-bottom:14px}.pht-dot{width:6px;height:6px;border-radius:50%;background:#cbd9df;transition:background .2s,width .2s}.pht-dot.pht-dot-active{background:var(--phex-accent);width:18px;border-radius:4px}.pht-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.pht-skip{background:none;border:none;font-size:14px;color:#75848c;cursor:pointer;padding:6px 4px;font-family:'DM Sans',system-ui,sans-serif}.pht-skip:hover{color:#344650;text-decoration:underline}.pht-nav{display:flex;gap:8px}.pht-btn{border:none;border-radius:8px;padding:9px 18px;font-size:15px;font-weight:600;cursor:pointer;font-family:'DM Sans',system-ui,sans-serif;transition:transform .15s ease,opacity .15s ease}.pht-btn:active{transform:scale(.96)}.pht-btn-back{background:transparent;color:#344650;border:1px solid #cbd9df}.pht-btn-back:hover{background:#e8f0f3}.pht-btn-next{background:var(--phex-accent);color:#fff}.pht-btn-next:hover{background:var(--phex-accent-dark)}.pht-btn-next:disabled{opacity:.5;cursor:default}.pht-card.pht-center{left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(380px,88vw);text-align:center}.pht-card.pht-center.pht-visible{transform:translate(-50%,-50%)!important}.pht-center .pht-dots{justify-content:center}.pht-center .pht-actions{justify-content:center;flex-direction:column;gap:10px}.pht-center .pht-nav{width:100%}.pht-center .pht-btn-next{flex:1;padding:11px;font-size:14.5px}
.ph-experience-buttons{position:fixed;right:22px;bottom:22px;z-index:999980;display:flex;gap:10px;align-items:center}.pht-reopen,.phf-open{width:44px;height:44px;border-radius:50%;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.25);transition:transform .2s ease}.pht-reopen{background:var(--phex-accent);font-family:'Playfair Display',Georgia,serif;font-size:19px;font-weight:700}.phf-open{background:#d49b28;font-size:20px}.pht-reopen:hover,.phf-open:hover{transform:scale(1.08)}
.phf-overlay{position:fixed;inset:0;z-index:999994;background:rgba(8,15,20,.56);opacity:0;pointer-events:none;transition:opacity .2s ease}.phf-overlay.is-open{opacity:1;pointer-events:auto}.phf-panel{position:fixed;right:24px;bottom:82px;z-index:999995;width:min(420px,calc(100vw - 24px));max-height:calc(100vh - 110px);overflow:auto;background:#fbfaf7;color:var(--phex-ink);border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.38);padding:28px;opacity:0;pointer-events:none;transform:translateY(10px) scale(.985);transition:opacity .2s ease,transform .2s ease;font-family:'DM Sans',system-ui,sans-serif}.phf-panel.is-open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.phf-close{position:absolute;top:12px;right:14px;border:0;background:transparent;font-size:28px;line-height:1;color:#61717a;cursor:pointer}.phf-kicker{font-size:12px;letter-spacing:.08em;font-weight:800;color:var(--phex-accent-dark);margin-bottom:7px}.phf-panel h3{margin:0 34px 6px 0;font-family:'Playfair Display',Georgia,serif;font-size:25px}.phf-intro{margin:0 0 20px;color:#586871;line-height:1.5}.phf-form fieldset{border:0;padding:0;margin:0 0 18px}.phf-form legend,.phf-comment-label{font-size:15px;font-weight:700;color:#263943;margin-bottom:9px}.phf-rating{display:flex;gap:7px;margin-top:9px}.phf-star{border:0;background:transparent;color:#c7c7c7;font-size:28px;line-height:1;cursor:pointer;padding:1px;transition:transform .12s,color .12s}.phf-star:hover{transform:scale(1.08)}.phf-star.is-on{color:#d49b28}.phf-comment-label{display:block}.phf-comment-label span{font-weight:400;color:#7b888e}.phf-comment-label textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px;border:1px solid #cfdade;border-radius:10px;padding:11px 12px;font:inherit;resize:vertical;background:#fff;color:var(--phex-ink)}.phf-status{min-height:20px;margin:10px 0 6px;color:#53656e;font-size:13px}.phf-submit{width:100%;border:0;border-radius:10px;padding:11px 16px;background:var(--phex-accent);color:#fff;font-weight:700;font-size:15px;cursor:pointer}.phf-submit:disabled{opacity:.45;cursor:default}
@media(max-width:768px){.pht-card{width:min(320px,92vw);padding:20px 20px 16px}.pht-title{font-size:21px}.pht-text{font-size:15.5px}.ph-experience-buttons{bottom:16px;right:16px}.pht-reopen,.phf-open{width:40px;height:40px}.phf-panel{right:12px;bottom:68px;width:calc(100vw - 24px);padding:24px 20px}}
