.ph-hub,.pr-reader{--ph-ink:#17362a;--ph-muted:#62766c;--ph-line:#dfe7e1;--ph-paper:#fff;--ph-soft:#f2f6f3;color:var(--ph-ink);max-width:1180px;margin:28px auto 64px;padding:0 20px}
.ph-hub *, .pr-reader *{box-sizing:border-box}.ph-hub .tp-ico,.pr-reader .tp-ico{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0}
.ph-intro{max-width:780px;margin:0 0 28px}.ph-kicker{font-size:12px;color:#b64920;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ph-intro h1{font-family:inherit;font-weight:800;font-size:clamp(28px,4vw,46px);line-height:1.1;letter-spacing:-.035em;margin:12px 0 18px}.ph-intro p{font-size:17px;line-height:1.7;color:var(--ph-muted)}
.ph-tools{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:28px}.ph-tool{border:1px solid var(--ph-line);border-radius:24px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;gap:14px;background:var(--ph-paper)}.ph-tool--travel{background:linear-gradient(130deg,var(--ph-paper),#eaf2f7)}.ph-tool--hike{background:linear-gradient(130deg,var(--ph-paper),#e8f1e8)}.ph-tool>.tp-ico{width:44px;height:44px;color:#31725a}.ph-tool h2{font-size:25px;line-height:1.25;font-weight:800;margin:0}.ph-tool p{font-size:15px;line-height:1.65;color:var(--ph-muted);margin:0 0 auto}.ph-tool>a:not(.ph-button){font-size:13px;padding:8px 0;min-height:44px}
.ph-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid transparent;border-radius:12px;background:#235c46;color:#fff;padding:12px 18px;font-family:inherit;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none;cursor:pointer;max-width:100%;white-space:normal;text-align:center}.ph-button--soft{color:var(--ph-ink);background:var(--ph-soft);border-color:var(--ph-line)}.ph-button:disabled{opacity:.5;cursor:wait}.ph-hub :is(button,a,input,select):focus-visible,.pr-reader :is(button,a):focus-visible{outline:3px solid #ff773b;outline-offset:3px}
.ph-promo{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;background:var(--ph-paper);border:1px solid var(--ph-line);border-radius:20px;padding:24px}.ph-promo h2{font-size:19px;font-weight:800;margin:0 0 6px}.ph-promo p{font-size:14px;line-height:1.6;margin:0;color:var(--ph-muted)}.ph-promo form{grid-column:1/-1;border-top:1px solid var(--ph-line);padding-top:20px}.ph-promo form>div{display:flex;gap:10px;margin:8px 0 12px}.ph-promo input{min-width:0;flex:1;max-width:420px;border:1px solid var(--ph-line);border-radius:10px;padding:12px;font:inherit;text-transform:uppercase}.ph-promo [role=status]{margin:12px 0}.ph-catalog-intro{margin:32px 0;color:var(--ph-muted);line-height:1.6}.ph-catalog{scroll-margin-top:100px;margin-top:44px}.ph-catalog h2{font-size:30px;font-weight:800;margin:8px 0 24px}.ph-catalog-group{margin-bottom:28px}.ph-catalog h3{font-size:18px;font-weight:800;margin:0 0 16px}.ph-catalog h3 small{color:var(--ph-muted);font-weight:500}.ph-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ph-pages{display:flex;gap:24px;justify-content:flex-end;flex-wrap:wrap;margin:20px 0}.ph-pages a{min-height:44px;display:flex;align-items:center}.ph-empty{border:1px dashed var(--ph-line);border-radius:16px;padding:24px;color:var(--ph-muted);line-height:1.6}
@media(max-width:900px){.ph-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.ph-hub,.pr-reader{padding:0 14px;margin-top:18px}.ph-tools,.ph-card-grid{grid-template-columns:1fr}.ph-tool{padding:22px}.ph-promo{grid-template-columns:1fr;padding:20px}.ph-promo form>div{flex-wrap:wrap}.ph-promo input{width:100%;flex-basis:100%;max-width:none}.ph-promo>.ph-button{justify-self:start}}
.ph-hub [hidden],.pr-reader [hidden]{display:none!important}html.dark :is(.ph-hub,.pr-reader),[data-theme=dark] :is(.ph-hub,.pr-reader){--ph-ink:#e8f2eb;--ph-muted:#acbeb2;--ph-line:#354b3d;--ph-paper:#1b2c22;--ph-soft:#25392e}html.dark .ph-tool,[data-theme=dark] .ph-tool{background:var(--ph-paper)}
.ph-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:18px;background:var(--ph-paper);border:1px solid var(--ph-line);border-radius:16px;margin-bottom:24px}.ph-filters label{display:grid;gap:6px;font-size:12px;flex:1 1 140px;min-width:0}.ph-filters label:first-child{flex-basis:220px}.ph-filters :is(input,select){font:inherit;font-size:14px;color:var(--ph-ink);background:var(--ph-paper);border:1px solid var(--ph-line);border-radius:10px;min-height:44px;width:100%;padding:10px}.ph-filters>a{padding:10px;min-height:44px}
