/* Mobile browsing keeps the artwork prominent and the controls compact. */
.mobile-menu-button,.mobile-menu,.mobile-filter-controls,.mobile-header-search,.card-name-mobile,.mobile-text-short{display:none}
.free-library-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 16px;border:1px solid var(--pf-accent-line);border-radius:999px;background:var(--pf-accent-soft);color:var(--pf-accent-strong);font:inherit;font-size:14px;font-weight:750;text-decoration:none;white-space:nowrap;cursor:pointer}
.free-library-link:hover{background:#fff0ad;border-color:var(--pf-accent);color:var(--pf-accent-strong)}
.free-library-link:focus-visible,.member-preview-more:focus-visible,.free-library-links a:focus-visible{outline:3px solid var(--pf-accent-strong);outline-offset:3px}
.free-library-link small{font-size:12px;font-weight:500;opacity:.8}
.c-free-label{display:inline-flex;align-items:center;padding:2px 8px;border-radius:5px;background:var(--pf-accent-soft);color:var(--pf-accent-strong);font-size:12px;font-weight:700;line-height:1.6}
.browse-intro .free-library-link{margin-left:18px}
.hero.free-library-head{padding:32px 0 24px}
.hero .free-library-kicker{font-size:12px;font-weight:750;letter-spacing:1.6px;color:var(--pf-accent-strong);margin:0 0 8px}
.free-library-head h1{margin-bottom:12px}
.free-library-head>p:not(.free-library-kicker){font-size:16px;line-height:1.8}
.free-library-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px}
.free-library-links a,.member-preview-more{font-size:14px;font-weight:650;text-underline-offset:4px}
.member-access-requirements{display:grid;gap:8px;margin:16px 0;padding-left:23px;font-size:14px;line-height:1.75}
.member-access-note{font-size:14px;font-weight:700;line-height:1.75;margin:16px 0;color:#6b4e17}
.member-preview-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:20px}
.member-preview-more{color:var(--muted)}
.mp-free-library-link{margin:0 0 24px}
.c-register-note{margin-left:7px;font-size:11px;color:#777}
.free-library-head>p>small{font-size:13px;color:var(--muted)}
@media(max-width:350px){.lib-head .sechead .sh-l h2{font-size:18px;white-space:nowrap}}
@media(max-width:719px){
  .lib-head .sechead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
  .lib-head .sh-l{display:contents}
  .lib-head .sh-kick{display:none}
  .lib-head .sh-l h2{grid-column:1;grid-row:1;font-size:21px}
  .lib-head .sh-r{grid-column:2;grid-row:1}
  .lib-head .sh-desc{grid-column:1/-1;grid-row:2;margin:0}
  .lib-head .free-library-link{min-height:38px;padding:7px 10px;gap:6px}
  .free-library-link{white-space:normal;text-align:center}
  .hero.free-library-head{padding:24px 0 22px}
  .free-library-head>p:not(.free-library-kicker){font-size:15px}
  .member-preview-actions{align-items:flex-start;flex-direction:column}
}
.mstrip{margin:28px 0}
.d-media{flex-direction:column;min-width:0;overflow:hidden}
.d-media img{flex:0 1 auto;min-height:0}
.d-media .pf-detail-download{flex:none;width:calc(100% - 32px);margin:12px 16px 16px}
.hs-biz-pages .hs-track{grid-auto-columns:100%;padding:2px 0 6px}
.business-shelf-page{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,max-content);align-content:start;gap:16px 12px;scroll-snap-align:start}
.hs-biz-pages .biz-card-body{grid-template-rows:auto auto;padding:14px;gap:6px 8px}
.hs-biz-pages .biz-card-body b{font-size:15px;line-height:1.6;min-height:24px}
.hs-biz-pages .biz-card-body small{min-height:42px}
@media(min-width:980px){.d-media img{max-height:calc(100dvh - 138px)}}

@media(max-width:719px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .top-in{gap:8px!important;padding-left:14px;padding-right:14px}
  .logo{gap:7px!important;min-width:0}
  .logo-t b{font-size:12px!important;letter-spacing:.01em;white-space:nowrap}
  .logo-mark{width:28px;height:28px;font-size:11px}
  .top-r{gap:4px;flex:none}
  .top-r .kbtn,.top-r .lbtn,.mp-header-button,.mobile-menu-button{width:36px!important;min-width:36px;height:40px!important}
  .top-r #kopen,.top-r #lopen,.top-r .mp-header-button{display:none!important}
  .mobile-header-search{display:flex;align-items:center;flex:1;min-width:70px;height:38px;border:1px solid #e2e2e2;background:#f3f3f3;border-radius:999px;overflow:hidden}
  .mobile-header-search:focus-within{border-color:var(--pf-accent-strong);box-shadow:0 0 0 2px rgba(245,204,56,0.082)}
  .mobile-header-search :is(button,a[data-link-button]){display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:36px;padding:0;border:0;background:none;color:#646464;cursor:pointer}
  .mobile-header-search svg{width:16px;height:16px}
  .mobile-header-search input{width:100%;min-width:0;height:100%;padding:0 10px 0 0;border:0;outline:none;background:transparent;color:var(--ink);font:inherit;font-size:16px}
  .mobile-header-search input::placeholder{color:#787878;opacity:1}
  .top .nav,.top .nav-m{display:none!important}
  .mobile-menu-button{display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--ink);border-radius:9px;cursor:pointer}
  .mobile-menu-button svg{width:22px;height:22px}
  .mobile-menu-button[aria-expanded=true]{background:#f0f0f0}
  .mobile-menu{position:absolute;display:grid;top:100%;left:12px;right:12px;gap:4px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 40px #0002;max-height:calc(100dvh - 80px);overflow:auto}
  .mobile-menu :is(button,a[data-link-button]){display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:10px 14px;border:0;border-radius:9px;background:transparent;color:var(--ink);font:inherit;font-size:15px;font-weight:700;text-align:left;cursor:pointer}
  .mobile-menu :is(button,a[data-link-button]).on{background:#edeff6;color:var(--pf-accent-strong)}
  .mobile-menu-account{padding-top:8px;margin-top:6px;border-top:1px solid #eee}
  .mobile-menu-account :is(button,a[data-link-button]){width:100%;flex-direction:column;align-items:flex-start;gap:3px}.mobile-menu-hint{font-size:12px;font-weight:400;color:#7a7480}

  .fhero{height:auto;aspect-ratio:1/1;max-height:480px}
  .fh-cards{display:flex;gap:9px;justify-content:center;inset:16px -28px auto;height:78px;overflow:visible;pointer-events:none}
  .fh-cards .fl{position:relative;left:auto;top:auto;width:88px;height:78px;flex:none;transform:rotate(-5deg);opacity:1;pointer-events:auto}
  .fh-cards .fl:nth-child(even){transform:rotate(5deg)}
  .fh-cards .fl:nth-child(n+5){display:none}
  .fl-float{animation:none}
  .fl-card{border-radius:9px;box-shadow:0 8px 20px #0008}
  .fh-center{top:61%;width:calc(100% - 32px)}
  .fh-center::before{inset:-16px -12px}
  .fh-kick{font-size:9px;letter-spacing:.23em;margin-bottom:9px}
  .fh-title{font-size:clamp(28px,8vw,38px);line-height:1.18}
  .fh-lead{font-size:12px;line-height:1.7;margin:12px auto 0;max-width:28em}
  .fh-btns{flex-direction:row;gap:8px;flex-wrap:nowrap;margin-top:18px;align-items:center}
  .fh-cta,.fh-sub{height:40px;padding:0 12px;border-radius:10px;font-size:12px;white-space:nowrap}
  .fh-cta{gap:6px;box-shadow:0 6px 20px rgba(245,204,56,0.251)}
  .fh-cta span{font-size:10px}
  .fh-stats{margin-top:12px;font-size:10px}
  .mstrip{margin:20px 0 26px;padding:15px 14px;gap:12px}
  .mstrip .ms-t{min-width:0;flex-basis:100%}
  .mstrip .ms-t b{font-size:13px}
  .mstrip .ms-t small{font-size:11px;line-height:1.6}
  .mstrip .btn{height:34px;font-size:12px}
  .mobile-text-full,.card-name-full{display:none}
  .mobile-text-short,.card-name-mobile{display:inline}
  .mstrip.is-preparing{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:16px 0 22px;padding:10px 12px;border-radius:12px}
  .mstrip.is-preparing .ms-t{gap:8px}
  .mstrip.is-preparing .ms-t .ico{width:16px;height:16px;flex:none}
  .mstrip.is-preparing .ms-t b{font-size:12px;line-height:1.6;white-space:nowrap}
  .mstrip.is-preparing .ms-t small{font-size:11px;line-height:1.6;white-space:nowrap}
  .mstrip.is-preparing .ms-more{height:auto;min-height:32px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:12px;color:var(--gold-t);text-decoration:underline;text-underline-offset:3px}

  .home-sec,.lib-head{margin-top:32px}
  .home-sec .sechead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:12px}
  .home-sec .sh-l{display:contents}
  .home-sec .sh-kick{display:none}
  .home-sec .sechead h2{grid-column:1;grid-row:1;font-size:20px;line-height:1.4}
  .home-sec .sh-r{grid-column:2;grid-row:1}
  .home-sec .sh-desc{grid-column:1/-1;grid-row:2;font-size:12px;margin:0;line-height:1.7}
  .home-sec .see-all{height:30px;font-size:10.5px;padding:0 10px;gap:4px}
  .curve{width:100%;margin-left:0}
  .cv-view{overflow-x:auto;padding:2px 0 5px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
  .cv-view::-webkit-scrollbar,.home-sec .hs-track::-webkit-scrollbar{display:none}
  .cv-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:12px;padding:0;width:100%;transform:none!important;will-change:auto}
  .mobile-shelf-page{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,max-content);align-content:start;align-items:start;gap:14px 9px;scroll-snap-align:start}
  .business-shelf-page{gap:14px 8px}
  .cv-card,.cv-wide .cv-card{width:100%;min-width:0;align-self:flex-start}
  .cv-img,.cv-wide .cv-img{aspect-ratio:2/3;border-radius:7px;box-shadow:none}
  .cv-ic,.cv-card small,.cv-btn{display:none}
  .cv-card b{font-size:12px;line-height:1.5;min-height:0;margin-top:8px;width:100%;white-space:nowrap;overflow:hidden}
  .cv-card .card-name-mobile{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .cv-card .update-dot{width:5px;height:5px;margin:5px 0 0;flex:none}
  .home-sec .hs{margin:0}
  .home-sec .hs-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:12px;padding:2px 0 5px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
  .home-sec .hs-btn{display:none}
  .home-sec .bcard{border:0;border-radius:0;background:transparent;box-shadow:none;scroll-snap-align:start}
  .home-sec .biz-thumb{aspect-ratio:2/3;border-radius:7px}
  .home-sec .biz-thumb img{height:100%;top:0;object-fit:cover!important}
  .home-sec .biz-card-body{display:block;padding:8px 0 0;text-align:center}
  .home-sec .biz-card-body b{display:block;font-size:12px;line-height:1.5;margin:0;min-height:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .home-sec .biz-card-body small,.home-sec .biz-arrow{display:none}

  .library-filters{position:static;padding:0 0 16px;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .desktop-filter-controls{display:none}
  .mobile-filter-controls{display:block}
  .mobile-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .mobile-filter-bar .seg{flex:none;padding:3px;border-radius:12px}
  .mobile-filter-bar .seg :is(button,a[data-link-button]){height:34px;padding:0 12px;font-size:13px;border-radius:9px}
  .mobile-filter-bar .seg small{display:none}
  .mobile-filter-toggle{display:flex;align-items:center;justify-content:center;gap:5px;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit;font-size:12px;font-weight:700;color:#222;cursor:pointer}
  .mobile-filter-toggle svg{width:16px;height:16px}
  .mobile-filter-toggle em{font-style:normal;font-size:10px;color:#fff;background:var(--pf-accent-strong);border-radius:50%;min-width:16px;line-height:16px}
  .mobile-filter-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;font-size:11px;color:var(--muted);line-height:1.6}
  .mobile-filter-caption span:first-child{min-width:0}
  .mobile-filter-caption .count{flex:none;font-size:12px}
  .mobile-filter-panel{margin-top:12px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:15px}
  .mobile-filter-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
  .mobile-filter-fields label{display:grid;gap:6px;min-width:0;font-size:12px;font-weight:700;color:#666}
  .mobile-filter-fields select{width:100%;min-width:0;min-height:44px;border:1px solid #ddd;border-radius:9px;background:#fafafa;font:inherit;font-size:16px;color:#222;padding:8px}
  .mobile-filter-fav{display:flex;gap:8px;align-items:center;font-size:13px;margin-top:16px}
  .mobile-filter-fav input{width:18px;height:18px;accent-color:var(--pf-accent-strong)}
  .mobile-filter-actions{display:flex;gap:10px;margin-top:18px}
  .mobile-filter-actions :is(button,a[data-link-button]){flex:1;min-height:42px;border:1px solid #ddd;border-radius:10px;background:white;color:#444;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
  .mobile-filter-actions :is(button,a[data-link-button])[type=submit]{background:#171717;border-color:#171717;color:#fff}
  .lib-head .sh-kick{font-size:10px}
  .lib-head .sechead h2{font-size:23px}
  .lib-head .sh-desc{font-size:12px}
  .cards{gap:22px 10px}
  .c-body h3{font-size:13px;line-height:1.6}
  .c-tags{gap:3px;margin-top:6px}
  .c-tags .tg{font-size:10px;padding:2px 5px}
  .c-tags .tg:nth-child(n+3){display:none}

  #detail{padding:0;align-items:flex-end}
  .d-box{width:100%;max-width:100%;height:96dvh;max-height:96dvh;border-radius:16px 16px 0 0;overflow:hidden}
  #dbody{height:100%;overflow-y:auto;overscroll-behavior:contain}
  #dbody,.d-grid,.d-media,.d-info{min-width:0;max-width:100%}
  .d-x{position:absolute;top:10px;right:12px;width:36px;height:36px;z-index:5}
  .d-media{min-height:0;padding-top:0}
  .d-media img{position:static;width:100%;height:auto;max-width:100%;max-height:45dvh;object-fit:contain!important}
  .d-media .pf-detail-download{font-size:12px;min-height:38px;margin:10px 16px 12px}
  .d-info{padding:20px 16px calc(24px + env(safe-area-inset-bottom,0px))}
  .d-info h2{font-size:21px;line-height:1.45;letter-spacing:-.02em}
  .r-cat{font-size:11px}
  .d-tags{gap:5px;margin:10px 0 20px}
  .d-tags .tg{font-size:11px;padding:4px 8px}
  .pbox-h{padding:10px;gap:8px}
  .pbox-t{font-size:11px;line-height:1.6;min-width:0}
  .pbox-c{min-height:36px;font-size:12px;padding:5px 10px}
  .ptext{font-size:14px;line-height:1.9;padding:14px}
  .prompt{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
  .field,.pf-login-form input[type=email],.mp-page .mp-search input{font-size:16px}
}
@media(max-width:359px){
  .top-in{padding-left:10px;padding-right:10px;gap:5px!important}
  .logo-t b{font-size:10px!important}
  .logo{gap:5px!important}
  .fh-cards{height:60px;top:12px}
  .fh-cards .fl{width:72px;height:60px}
  .fh-center{top:61%}
  .fh-kick{margin-bottom:7px;font-size:8px}
  .fh-lead{font-size:11px;margin-top:10px}
  .fh-btns{gap:6px;margin-top:14px}
  .fh-cta,.fh-sub{font-size:10px;padding:0 9px;height:36px}
  .fh-cta span{font-size:9px}
  .fh-stats{margin-top:9px}
  .home-sec .sechead h2{font-size:18px}
  .home-sec .see-all{font-size:9px;padding:0 8px}
  .mobile-filter-bar .seg :is(button,a[data-link-button]){padding:0 10px;font-size:12px}
  .mobile-filter-toggle{padding:0 9px;font-size:11px}
}
