/* Compact portal home: stories, three campaigns, then brand discovery. */
.join-link{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:34px;padding:0 15px;background:var(--ink);color:#fff;border-radius:5px;font-size:11px;font-weight:600;white-space:nowrap}
.join-link:hover{background:#44483f}
.portal-directory{padding-top:25px}
.portal-count{font-size:11px;color:var(--muted);white-space:nowrap;padding-bottom:4px}
.portal-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.portal-filters .category-row{min-width:0;max-width:100%;flex:1 1 540px}
.portal-filter-fields{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.portal-filter-fields .extra-filter select{max-width:140px;min-height:36px}
.portal-filter-fields .sort-box{font-size:10px}
.portal-filter-fields .sort-box select{max-width:130px}
.portal-directory .browse-more{margin-top:22px}
.portal-collections{margin:30px 0 34px}
.portal-collections .section-heading{margin-bottom:15px}
.portal-collections .section-heading h2{font-size:22px}
.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.collection-tile{position:relative;isolation:isolate;min-width:0;height:112px;overflow:hidden;border-radius:8px;text-align:left;background:#e9e4dc;color:#fff}
.collection-tile:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#181c17a6,transparent 90%)}
.collection-tile img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:center 30%;transition:transform .25s ease}
.collection-tile:hover img{transform:scale(1.035)}
.collection-tile>span{position:absolute;bottom:18px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px;font-weight:600}
.collection-tile svg{width:20px;height:20px}
.brand-invitation{background:#f0e6dc url('/assets/fashion-rack.webp') no-repeat right center;background-size:auto 200%;position:relative;isolation:isolate}
.brand-invitation:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f3eae2 10%,#f3eae2 62%,#f3eae21a 100%)}
.brand-invitation-inner{min-height:145px;display:flex;align-items:center;gap:32px;padding-top:25px;padding-bottom:25px}
.brand-invitation h2{font-family:var(--display);font-size:32px;line-height:1.2;letter-spacing:-1px}
.brand-invitation h2 em{font-family:Georgia,'Times New Roman',serif;color:#b55231;font-weight:400}
.brand-invitation p{font-size:12px;color:#615a53;margin-top:10px;line-height:1.6}
.brand-invitation .btn{white-space:nowrap;margin-left:20px}
.join-link:focus-visible,.collection-tile:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(min-width:761px){
  .header-inner{height:80px}
  .stories-section{padding-top:18px;padding-bottom:18px}
  .stories-top{margin-bottom:13px}
  .stories-row{justify-content:space-between;gap:18px}
  .campaign-stage{height:clamp(310px,23vw,360px)}
  .campaign-art-left{display:none}
  .campaign-art-right{width:53%}
  .campaign-art-right:after{background:linear-gradient(270deg,transparent 25%,var(--campaign-bg) 100%)}
  .campaign-copy{width:min(1280px,calc(100% - 80px));padding:24px 24px 47px;align-items:flex-start;text-align:left}
  .campaign-copy h2{font-size:clamp(42px,3.5vw,56px);max-width:60%;margin-bottom:12px}
  .campaign-kicker{font-size:9px;letter-spacing:2.2px;margin-bottom:12px;max-width:55%}
  .campaign-description{font-size:12px;margin-bottom:17px;max-width:52%}
  .campaign-caption{display:none}
  .campaign-arrow{width:32px;height:40px;border-radius:30px;background:#ffffffdf;color:#292720;border-color:#fff9}
  .campaign-prev{left:16px}.campaign-next{right:16px}
}
@media(min-width:761px) and (max-width:1099px){
  .portal-filter-fields{width:100%;justify-content:flex-start}
  .portal-filter-fields .sort-box{display:flex;margin-left:auto}
  .brand-invitation h2{font-size:26px}
  .brand-invitation .btn{margin-left:0}
  .campaign-copy{width:calc(100% - 48px);padding-left:27px}
}
@media(max-width:760px){
  .join-link{display:none}
  .portal-directory{padding-top:24px}
  .portal-directory .section-heading{align-items:flex-start}
  .portal-directory .section-heading h2{font-size:23px;max-width:245px}
  .portal-count{font-size:10px;padding-top:5px}
  .portal-filters{gap:11px;margin-bottom:17px}
  .portal-filters .category-row{flex-basis:100%;margin-right:0}
  .portal-filter-fields{gap:10px;width:100%}
  .portal-filter-fields .extra-filter{flex:1;min-width:0;font-size:10px;gap:5px}
  .portal-filter-fields .extra-filter select{width:100%;max-width:none;min-width:0;min-height:40px}
  .portal-filter-fields .sort-box{display:none}
  .portal-collections{margin:27px 0}
  .portal-collections .section-heading h2{font-size:21px}
  .collection-grid{grid-template-columns:1fr;gap:10px}
  .collection-tile{height:91px}
  .collection-tile>span{font-size:15px;bottom:20px;left:20px;right:20px}
  .brand-invitation{background-size:auto 100%;background-position:right bottom}
  .brand-invitation:before{background:linear-gradient(90deg,#f3eae2 5%,#f3eae2ed 58%,#f3eae2b3 100%)}
  .brand-invitation-inner{display:block;padding-top:26px;padding-bottom:27px}
  .brand-invitation h2{font-size:28px;max-width:330px}
  .brand-invitation p{max-width:250px}
  .brand-invitation .btn{margin:18px 0 0;font-size:11px;min-height:44px}
}
@media(prefers-reduced-motion:reduce){.collection-tile img{transition:none}}
