/* Public content-page composition. Shared headings and tokens live in portal-inner.css. */
.portal-content-intro{display:flex;gap:35px;justify-content:space-between;align-items:center;padding-top:42px;padding-bottom:28px;border-bottom:1px solid #e2d8ca}
.portal-content-eyebrow{display:block;font:10px/1.7 "PingFang SC",sans-serif;color:#9a754c;letter-spacing:.18em;margin-bottom:10px}
.portal-content-intro h2{font-family:var(--hg-serif);font-size:29px;color:#3e2c1e;line-height:1.5;margin:0 0 10px;letter-spacing:.04em}
.portal-content-intro p{max-width:730px;margin:0;color:#8a7b69;font-size:13px;line-height:1.9}
.portal-content-cta{display:inline-flex;align-items:center;gap:20px;white-space:nowrap;color:#84251c!important;font-size:12px;letter-spacing:.04em}
.portal-content-cta:hover{gap:27px}
.portal-content-tabs{display:flex;gap:8px;padding-top:24px;flex-wrap:wrap}
.portal-content-tabs a{display:block;padding:9px 22px;border:1px solid #ddceba;color:#624c34;font-size:12px;background:#fffdf8}
.portal-content-tabs a:hover{background:#8a2d24;border-color:#8a2d24;color:#fff}
.portal-content-list{display:grid;gap:22px}
.portal-inner-page .portal-content-list .vs-blog.blog-single{margin:0!important}
.portal-content-list .blog-content>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.9;color:#837461}
.portal-content-list .blog-title a{white-space:normal!important;text-transform:none!important}
.portal-images-page .portal-content-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.portal-images-page .portal-content-list .blog-single{padding:0!important;overflow:hidden;background:#fffcf6!important}
.portal-images-page .portal-content-list .blog-single>.row{display:block;margin:0}
.portal-images-page .portal-content-list .blog-single>.row>div{width:100%;padding:0}
.portal-images-page .portal-content-list .blog-img img{height:240px!important;object-fit:cover;object-position:center}
.portal-images-page .portal-content-list .blog-content{padding:23px!important;margin:0!important}
.portal-images-page .portal-content-list .blog-title{font-size:22px!important;line-height:1.55!important;margin:9px 0 12px}
.portal-images-page .portal-content-list .blog-meta{font-size:10px!important;display:flex;flex-wrap:wrap;gap:12px}
.portal-images-page .portal-content-list .blog-meta>a{margin:0}
.portal-images-page .portal-content-list .link-btn{font-size:12px}
.portal-people-page .portal-content-list .blog-img img{height:290px!important;object-position:50% 20%}
.portal-people-page .portal-content-list .blog-content>p{-webkit-line-clamp:4;min-height:88px}
.portal-people-page .portal-content-list .blog-meta{display:none}
.portal-institute-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding-top:55px;padding-bottom:55px}
.portal-institute-photo{position:relative;height:360px;overflow:hidden;border-radius:3px}
.portal-institute-photo img{width:100%;height:100%;object-fit:cover;display:block}
.portal-institute-photo>span{position:absolute;inset:auto 0 0;padding:34px 22px 18px;background:linear-gradient(transparent,#211a15ac);color:#fff;font-family:var(--hg-serif);font-size:19px;letter-spacing:.1em}
.portal-institute-intro h2{margin:0 0 20px;font-family:var(--hg-serif);font-size:35px;color:#3d2a1b;line-height:1.65;letter-spacing:.06em}
.portal-institute-intro p{color:#8b7a64;font-size:14px;line-height:2;margin:0 0 20px}
.portal-institute-values{display:flex;gap:20px;font-family:var(--hg-serif);font-size:18px;letter-spacing:.1em;color:#967249}
.portal-institute-values>span+span{border-left:1px solid #cbbca5;padding-left:20px}
.portal-contact-strip{display:grid;grid-template-columns:1fr 1.1fr 1.5fr;gap:35px;padding-top:45px;padding-bottom:35px;border-bottom:1px solid #dfd3c1}
.portal-contact-strip>div{min-width:0}
.portal-contact-strip span{display:block;color:#9d805c;font-size:11px;letter-spacing:.1em;margin-bottom:7px}
.portal-contact-strip a,.portal-contact-strip strong{font-size:17px;font-weight:500;color:#47321f;word-break:break-word;line-height:1.7}
.portal-contact-strip a:hover{color:#84251c}
.portal-person-heading{display:grid;grid-template-columns:210px 1fr;gap:32px;align-items:center;background:#f3ede2;border:1px solid #e3d8c7;padding:25px;margin-bottom:30px}
.portal-person-heading>img{width:210px;height:245px;object-fit:cover;object-position:50% 18%;border-radius:2px}
.portal-person-heading h2{font-family:var(--hg-serif);font-size:33px;line-height:1.5;color:#402c1c;margin:0 0 14px}
.portal-person-heading p{font-size:12px;line-height:1.8;color:#897864;letter-spacing:.08em;margin-bottom:22px}
.portal-lists-recruit-page .find-salon-box{border:1px solid #e0d4c1;border-left:3px solid #8a2d24;box-shadow:none;background:#fffdf8;padding:28px!important;margin-bottom:25px;text-align:left}
.portal-lists-recruit-page .find-salon-title{font-family:var(--hg-serif);font-size:27px;line-height:1.6;margin:9px 0 16px}
.portal-lists-recruit-page .find-salon-text{font-size:13px;margin:4px 0;color:#7e6e59}
.portal-lists-recruit-page .box-label{font-size:11px;color:#9a754c}
.portal-lists-recruit-page .find-salon-box .vs-btn{margin-top:20px}
.portal-lists-download-page .blog-author{height:calc(100% - 24px);background:#fffdf8;border:1px solid #e2d6c5;box-shadow:none}
.portal-lists-download-page .author-name{font-family:var(--hg-serif);font-size:21px;line-height:1.55}
.portal-lists-download-page .author-text{font-size:12px;color:#89775f;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.portal-lists-guestbook-hezuo-page .vs-comment-form,.portal-lists-guestbook-sugg-page .vs-comment-form{background:transparent;box-shadow:none;padding:0}
.portal-lists-guestbook-hezuo-page .form-title,.portal-lists-guestbook-sugg-page .form-title{padding-bottom:20px;border-bottom:1px solid #e0d2bd;margin-bottom:28px}
.portal-inner-page .portal-article-body{overflow-wrap:anywhere}
@media(max-width:991px){.portal-institute-intro{gap:35px}.portal-institute-intro h2{font-size:30px}.portal-contact-strip{grid-template-columns:1fr 1fr;gap:25px}.portal-contact-strip>div:last-child{grid-column:1/-1}.portal-content-intro h2{font-size:26px}.portal-person-heading{grid-template-columns:180px 1fr;gap:25px}.portal-person-heading>img{width:180px;height:220px}}
@media(max-width:575px){.portal-content-intro{display:block;padding-top:28px;padding-bottom:24px}.portal-content-intro h2{font-size:23px}.portal-content-intro p{font-size:12px}.portal-content-intro>.portal-content-cta{margin-top:17px}.portal-content-tabs{gap:7px;padding-top:20px}.portal-content-tabs a{padding:7px 14px;font-size:11px}.portal-images-page .portal-content-list{grid-template-columns:1fr;gap:22px}.portal-images-page .portal-content-list .blog-img img{height:235px!important}.portal-images-page .portal-content-list .blog-content{padding:20px!important}.portal-images-page .portal-content-list .blog-title{font-size:22px!important}.portal-people-page .portal-content-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-people-page .portal-content-list .blog-img img{height:205px!important}.portal-people-page .portal-content-list .blog-content{padding:14px!important}.portal-people-page .portal-content-list .blog-title{font-size:18px!important;overflow-wrap:anywhere}.portal-people-page .portal-content-list .blog-content>p{font-size:11px;min-height:80px}.portal-institute-intro{grid-template-columns:1fr;gap:28px;padding-top:32px;padding-bottom:32px}.portal-institute-photo{height:250px}.portal-institute-intro h2{font-size:28px;margin-bottom:16px}.portal-institute-intro p{font-size:13px}.portal-contact-strip{grid-template-columns:1fr;gap:21px;padding-top:30px;padding-bottom:25px}.portal-contact-strip>div:last-child{grid-column:auto}.portal-contact-strip a,.portal-contact-strip strong{font-size:16px}.portal-person-heading{grid-template-columns:1fr;padding:20px;gap:20px}.portal-person-heading>img{width:100%;height:320px;object-fit:contain;background:#e8dfd2}.portal-person-heading h2{font-size:28px}.portal-lists-recruit-page .find-salon-box{padding:23px!important}.portal-lists-recruit-page .find-salon-title{font-size:24px}}
