/* Pathfinder: one question that reshapes the page around the visitor's dog */
.pf{margin:4px 0 24px;padding:18px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 40px -26px rgba(7,42,98,.45)}
.pf-q{margin:0 0 12px;font:700 1.15rem/1.25 Fraunces,Georgia,serif;color:var(--navy-deep)}
.pf-q small{display:block;margin-top:3px;font:600 .85rem "Nunito Sans",sans-serif;color:var(--muted)}
.pf-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pf-opt{display:grid;grid-template-columns:38px 1fr;gap:2px 10px;align-items:center;text-align:left;padding:11px 12px;border-radius:14px;border:2px solid var(--line);background:var(--sand);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.pf-opt:hover{border-color:var(--cyan);transform:translateY(-1px)}
.pf-opt i{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff;font-style:normal;font-size:1.2rem}
.pf-opt b{font-weight:800;font-size:.95rem;line-height:1.2;color:var(--navy-deep)}
.pf-opt small{font-size:.8rem;line-height:1.25;color:var(--muted)}
.pf-opt[aria-pressed="true"]{border-color:var(--navy);background:var(--cyan-soft)}
.pf-opt[aria-pressed="true"] i{background:var(--navy);color:#fff}
.pf-done{display:none;margin:12px 0 0;font-weight:700;font-size:.92rem;color:var(--navy-deep)}
.pf.on .pf-done{display:block}
.pf-done button{background:none;border:0;padding:0;font:inherit;color:var(--cyan);text-decoration:underline;cursor:pointer}

/* Tucked-away sections */
.pf-fold{display:none!important}
.pf-shelf{padding:48px 0 56px}
.pf-shelf[hidden]{display:none}
.pf-shelf h2{font-size:1.5rem;margin:0 0 4px}
.pf-shelf p{margin:0 0 16px;color:var(--muted)}
.pf-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.pf-tile{display:flex;align-items:center;gap:12px;padding:16px;border-radius:16px;border:1px solid var(--line);background:#fff;font:inherit;text-align:left;cursor:pointer;color:var(--ink);transition:transform .15s,box-shadow .15s}
.pf-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.pf-tile i{font-style:normal;font-size:1.4rem;display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:12px;background:var(--cyan-soft)}
.pf-tile b{display:block;color:var(--navy-deep);line-height:1.25}
.pf-tile small{color:var(--muted);font-size:.85rem}
.pf-reveal{animation:pfIn .5s ease both}
@keyframes pfIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pf-reveal{animation:none}.pf-opt,.pf-tile{transition:none}}
@media (max-width:420px){.pf{padding:14px}.pf-opts{grid-template-columns:1fr}}
