.portal-shell{max-width:1120px;padding:0 42px;background:var(--paper)}
.portal-shell .site-header{padding:27px 0}
.portal-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:20px;padding:68px 0 56px}
.portal-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:650;letter-spacing:1.4px;color:#927985}
.portal-eyebrow>span{color:var(--pink)}
.portal-intro h1{font-size:60px;line-height:1.18;letter-spacing:-3.6px;margin:22px 0 20px;font-weight:850}
.portal-intro h1>span{color:var(--pink)}
.portal-intro>p{font-size:14px;line-height:1.95;color:#85727c;margin:0;word-break:keep-all}
.portal-cta{display:inline-flex;align-items:center;gap:25px;background:var(--ink);color:#fff;padding:15px 20px;border-radius:12px;margin-top:26px;font-size:12px;font-weight:650;transition:background .15s,transform .15s}
.portal-cta:hover{background:#674953;transform:translateY(-2px)}
.portal-cta>span{font-size:20px;font-weight:400}
.portal-art{position:relative;min-width:0;transform:rotate(-3deg);padding:27px 4px 36px;border:1px solid #eddade;border-radius:26px;background:#fffdfb;box-shadow:6px 7px 0 #f5e9e6}
.portal-art img{display:block;width:100%;height:auto}
.art-caption{display:block;text-align:center;font:italic 16px Georgia,serif;color:#a68e92;margin-bottom:8px}
.art-tag{display:block;width:max-content;max-width:100%;margin:0 auto;padding:9px 15px;border-radius:8px;background:#f5f3e8;color:#877858;font-size:11px;transform:rotate(3deg)}
.portal-catalog{padding:18px 0 0}
.catalog-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:23px}
.catalog-heading h2{font-size:22px;letter-spacing:-.9px;margin:9px 0 0;line-height:1.5}
.catalog-heading>p{font-size:11px;color:#9a848e;margin:0 0 5px;white-space:nowrap}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.category-card{display:flex;flex-direction:column;min-width:0;padding:24px;background:#fffdfa;border:1px solid var(--line);border-radius:20px;min-height:240px}
.category-live{background:#fff0f5;border-color:#e6b9c7;box-shadow:0 6px 20px #91446006;transition:transform .15s,box-shadow .15s,border-color .15s}
.category-live:hover{transform:translateY(-4px);border-color:var(--pink);box-shadow:0 10px 25px #91446013}
.category-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:20px}
.category-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;flex-shrink:0}
.category-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mbti-icon{grid-template-columns:1fr 1fr;gap:2px;padding:8px;background:#ed718f;color:white}
.mbti-icon b{font-size:11px;line-height:1;font-weight:750}
.peach-icon{background:#f9e8dc;color:#b88361}.sage-icon{background:#edf2e4;color:#84976a}.lilac-icon{background:#f0e9f6;color:#9b84b1}.butter-icon{background:#faf1d9;color:#b59855}.rose-icon{background:#f7e8ec;color:#bc879a}
.category-status{font-size:9px;color:#99858d;background:#f3edeb;padding:5px 8px;border-radius:20px;white-space:nowrap}
.live-status{background:#fff;color:#b93861}
.category-card h3{font-size:21px;letter-spacing:-.5px;line-height:1.5;margin:0 0 9px;font-weight:750}
.category-card h3>span{font-size:11px;font-weight:500;color:#b06782;margin-left:5px;letter-spacing:-.2px}
.category-card>p{font-size:11px;color:#88747e;line-height:1.9;margin:0 0 22px;word-break:keep-all}
.category-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;color:#9b858e;font-size:10px}
.category-bottom>span:last-child{font-size:20px}.category-live .category-bottom{color:#b93861}
.category-arrow{display:grid;place-items:center;border-radius:50%;background:#fff;width:29px;height:29px}
.portal-note{display:flex;align-items:center;justify-content:center;gap:17px;margin:38px 0;padding:22px;border:1px dashed #e3cfd3;border-radius:16px}
.portal-note>span{font-size:25px;color:#c9aa85}.portal-note p{font-size:11px;line-height:1.9;color:#937d87;margin:0;word-break:keep-all}.portal-note strong{font-weight:500;color:#79646e}
@media(min-width:900px){.portal-shell{padding:0 48px}}
@media(max-width:850px){.portal-shell{padding:0 28px}.portal-hero{padding:48px 0 36px;gap:25px}.portal-intro h1{font-size:47px;letter-spacing:-2.8px}.portal-intro>p{font-size:12px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-heading>p{display:none}}
@media(max-width:540px){.portal-shell{padding:0 20px}.portal-shell .site-header{padding:21px 0}.portal-hero{grid-template-columns:1fr;padding:35px 0 23px;gap:27px}.portal-intro{text-align:center}.portal-eyebrow{font-size:8px;letter-spacing:1.1px}.portal-intro h1{font-size:47px;letter-spacing:-2.8px;margin:18px 0 17px}.portal-intro>p{font-size:12px}.portal-cta{font-size:11px;margin-top:20px;padding:13px 18px}.portal-art{max-width:370px;width:calc(100% - 20px);margin:0 auto;padding:18px 9px 22px;transform:rotate(-2deg)}.art-caption{font-size:13px;margin-bottom:0}.art-tag{font-size:10px;padding:7px 13px}.portal-catalog{padding-top:17px}.catalog-heading{margin-bottom:17px}.catalog-heading h2{font-size:18px;letter-spacing:-.8px}.category-grid{gap:11px}.category-card{padding:17px 14px;min-height:226px;border-radius:17px}.category-top{margin-bottom:17px;align-items:flex-start;gap:4px}.category-icon{width:38px;height:38px;border-radius:12px}.category-icon svg{width:26px;height:26px}.mbti-icon{padding:7px}.category-status{font-size:8px;padding:4px 6px;margin-top:5px}.category-card h3{font-size:19px}.category-card h3>span{display:block;font-size:10px;margin-left:0}.category-card>p{font-size:10px;line-height:1.85;margin-bottom:14px}.category-card>p br{display:none}.category-bottom{font-size:9px;line-height:1.6}.category-bottom>span:last-child{font-size:18px}.category-arrow{width:25px;height:25px}.portal-note{padding:17px 14px;gap:12px;margin:27px 0}.portal-note p{font-size:10px}.portal-note>span{font-size:22px}}
@media(max-width:360px){.portal-shell{padding:0 14px}.portal-intro h1{font-size:42px}.category-card{padding:16px 11px}.category-status{font-size:7px}.category-grid{gap:9px}.category-card>p{font-size:9px}.catalog-heading h2{font-size:17px}}
