/* 男同视频校园传媒 / 独立影展编辑杂志样式 */

:root { --paper:#F7F5EF;--ink:#342648;--blue:#4256D0;--lilac:#C8BAF1;--apricot:#F6B997;--mint:#DDE6B5;--white:#FFFFFF;--line:rgba(52,38,72,0.18);--line-strong:rgba(52,38,72,0.36);--muted:#6D6277;--shadow:0 14px 30px rgba(52,38,72,0.09);--radius-lg:24px;--radius-md:16px;--radius-sm:10px;--shell:1280px; }
* { box-sizing:border-box; }
html { background:var(--paper);color:var(--ink);scroll-behavior:smooth; }
body { min-width:0;margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;font-size:16px;line-height:1.65;text-rendering:optimizeLegibility; }
img, video { display:block;max-width:100%; }
button, input, select, textarea { color:inherit;font:inherit; }
button, summary { cursor:pointer; }
button { border:0; }
a { color:inherit;text-decoration:none; }
p, h1, h2, h3, h4, dl, dd, blockquote { margin:0; }
ul, ol { margin:0;padding:0; }
[hidden] { display:none !important; }
:focus-visible { outline:3px solid var(--blue);outline-offset:3px; }
.shell { width:min(100%,var(--shell));margin-inline:auto;padding-inline:clamp(20px,4vw,48px); }
.eyebrow, .section-kicker, .page-eyebrow, .mini-label, .article-tag, .format-number { font-size:0.76rem;font-weight:800;letter-spacing:0.11em;line-height:1.25;text-transform:uppercase; }
.eyebrow, .section-kicker, .page-eyebrow { color:var(--blue); }
.btn { display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 19px;border:1px solid transparent;border-radius:999px;font-weight:750;line-height:1.15;transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,transform 180ms ease; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--blue);color:var(--white); }
.btn-primary:hover { background:#3042b5; }
.btn-soft { background:var(--lilac);color:var(--ink); }
.btn-soft:hover { background:#b6a7e9; }
.btn-outline { border-color:var(--ink);background:transparent;color:var(--ink); }
.btn-outline:hover { background:var(--ink);color:var(--paper); }
.text-link, .section-link { display:inline-flex;align-items:center;gap:0.35em;color:var(--blue);font-weight:750; }
.text-link::after, .section-link::after { content:"→";transition:transform 180ms ease; }
.text-link:hover::after, .section-link:hover::after { transform:translateX(4px); }

.site-head { border-bottom:1px solid var(--line);background:var(--paper); }
.header-row { display:flex;min-height:82px;align-items:center;gap:28px; }
.brand-link { display:inline-flex;flex:0 0 auto;align-items:center;gap:11px; }
.logo { width:42px;height:42px;border-radius:13px;object-fit:cover; }
.brand-copy { display:grid;gap:1px;line-height:1.1; }
.brand-copy strong { font-family:Georgia,"Songti SC",serif;font-size:24px;letter-spacing:-0.06em; }
.brand-copy small { color:var(--muted);font-size:0.68rem;font-weight:700;letter-spacing:0.12em; }
.main-nav { display:flex;flex:1;justify-content:center;gap:clamp(14px,2.3vw,34px); }
.main-nav a { position:relative;padding-block:10px;color:var(--muted);font-size:0.94rem;font-weight:700; }
.main-nav a::after { position:absolute;right:0;bottom:3px;left:0;height:2px;background:var(--blue);content:"";opacity:0;transform:scaleX(0.35);transition:opacity 160ms ease,transform 160ms ease; }
.main-nav a:hover, .main-nav a.active { color:var(--ink); }
.main-nav a:hover::after, .main-nav a.active::after { opacity:1;transform:scaleX(1); }
.head-action { flex:0 0 auto; }
.head-action .btn { min-height:40px;padding:9px 15px;font-size:0.88rem; }
.menu-toggle { display:none;width:42px;height:42px;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:transparent;color:var(--ink);font-size:1.2rem; }

.search-band { border-bottom:1px solid var(--line);background:var(--white); }

.search-band .shell { display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:20px; }
.search-form { display:flex;width:min(100%,580px);align-items:center;border-bottom:1px solid var(--line-strong); }
.search-icon { flex:0 0 auto;margin-right:9px;color:var(--blue);font-size:1.1rem; }
.search-form input { min-width:0;flex:1;border:0;outline:0;background:transparent;padding:9px 0; }
.search-form input::placeholder { color:#938a9d; }
.search-form button { padding:7px 0 7px 16px;background:transparent;color:var(--blue);font-size:0.86rem;font-weight:800; }
.search-note { color:var(--muted);font-size:0.78rem; }

.hero { display:grid;grid-template-columns:minmax(0,0.91fr) minmax(450px,1.09fr);column-gap:clamp(35px,6vw,88px);row-gap:25px;padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(48px,6vw,82px); }
.hero-copy { display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center; }
.issue-line { margin-top:10px;color:var(--muted);font-family:Georgia,"Songti SC",serif;font-size:0.95rem; }
.hero-title { max-width:11ch;margin-top:22px;font-family:Georgia,"Songti SC",serif;font-size:clamp(3.2rem,6.1vw,6.7rem);font-weight:600;letter-spacing:-0.09em;line-height:0.9; }
.hero-title em { color:var(--blue);font-style:normal; }
.hero-subtitle { max-width:39rem;margin-top:28px;color:var(--muted);font-size:clamp(1rem,1.35vw,1.17rem); }
.hero-actions, .hero-tags, .tag-row, .share-row, .expert-actions { display:flex;flex-wrap:wrap;align-items:center; }
.hero-actions { gap:10px;margin-top:29px; }
.hero-tags { gap:8px;margin-top:25px; }
.hero-tags span, .tag-row span, .mini-label { display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border-radius:999px;background:rgba(200,186,241,0.45);color:var(--ink);font-size:0.75rem;font-weight:750; }
.hero-visual { position:relative;min-width:0;padding:0 22px 22px 0; }
.hero-image { aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--lilac); }
.hero-image img { width:100%;height:100%;object-fit:cover; }
.frame-label { position:absolute;top:20px;left:-17px;max-width:145px;padding:10px 12px;border:1px solid var(--ink);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--paper);color:var(--ink);font-size:0.75rem;font-weight:800;line-height:1.3; }
.hero-note { position:absolute;right:0;bottom:0;width:min(56%,220px);padding:14px 16px;border:1px solid var(--ink);border-radius:var(--radius-md);background:var(--mint);box-shadow:8px 8px 0 var(--paper); }
.hero-note small { display:block;font-size:0.77rem;font-weight:750;line-height:1.45; }
.play-orb { position:absolute;z-index:1;top:50%;left:50%;display:grid;width:70px;height:70px;place-items:center;border:1px solid var(--ink);border-radius:50%;background:rgba(247,245,239,0.92);color:var(--blue);font-size:1.25rem;transform:translate(-50%,-50%); }
.play-orb:hover { background:var(--blue);color:var(--white); }
.hero-bottom { grid-column:1 / -1;display:flex;min-width:0;align-items:center;justify-content:space-between;gap:20px;padding-top:19px;border-top:1px solid var(--line);color:var(--muted);font-size:0.84rem;white-space:nowrap; }
.hero-bottom strong { color:var(--ink); }

.section { padding-top:clamp(52px,7vw,96px);padding-bottom:clamp(52px,7vw,96px); }

.section + .section { border-top:1px solid var(--line); }
.section-head { display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:clamp(25px,4vw,48px); }
.section-head > div { min-width:0; }
.section-title { max-width:18ch;margin-top:10px;font-family:Georgia,"Songti SC",serif;font-size:clamp(2rem,3.8vw,3.6rem);font-weight:600;letter-spacing:-0.06em;line-height:1.03; }
.section-intro { max-width:43rem;margin-top:15px;color:var(--muted); }

.screening-layout { display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(24px,4.5vw,60px); }
.screening-aside { min-width:0; }
.screening-aside > p { color:var(--muted);font-size:0.92rem; }
.filter-bar { display:grid;gap:8px;margin-top:20px; }
.filter-bar button { width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;color:var(--muted);text-align:left;font-size:0.87rem;font-weight:700; }
.filter-bar button:hover, .filter-bar button[aria-pressed="true"] { border-color:var(--ink);background:var(--ink);color:var(--paper); }
.film-grid { display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.6vw,34px); }
.film-card { min-width:0; }
.film-cover { position:relative;aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--lilac); }
.film-cover img { width:100%;height:100%;object-fit:cover;transition:transform 350ms ease; }
.film-card:hover .film-cover img { transform:scale(1.035); }
.cover-play { position:absolute;right:14px;bottom:14px;display:grid;width:43px;height:43px;place-items:center;border:1px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--blue);opacity:0;transform:translateY(8px);transition:opacity 180ms ease,transform 180ms ease,background-color 180ms ease; }
.cover-play:hover { background:var(--blue);color:var(--white); }
.cover-badge { position:absolute;top:12px;left:12px;padding:4px 8px;border-radius:99px;background:var(--paper);color:var(--ink);font-size:0.71rem;font-weight:800; }
.film-card:hover .cover-play, .cover-play:focus-visible { opacity:1;transform:translateY(0); }
.film-body { padding-top:14px; }
.film-meta, .film-stats, .article-meta { color:var(--muted);font-size:0.76rem;font-weight:700; }
.film-meta { letter-spacing:0.04em; }
.film-title { margin-top:6px; }
.film-title h3 { font-family:Georgia,"Songti SC",serif;font-size:clamp(1.25rem,1.8vw,1.65rem);font-weight:600;letter-spacing:-0.04em;line-height:1.18; }
.film-desc { margin-top:7px;color:var(--muted);font-size:0.88rem;line-height:1.6; }
.tag-row { gap:6px;margin-top:12px; }
.tag-row span { min-height:23px;background:transparent;border:1px solid var(--line);font-size:0.69rem; }
.film-stats { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding-top:11px;border-top:1px solid var(--line); }
.film-stats small { font-size:inherit; }
.demo-caption { margin-top:11px;color:var(--muted);font-size:0.76rem; }

.format-strip { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong); }
.format-cell { min-width:0;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong); }
.format-cell a { display:flex;height:100%;min-height:190px;flex-direction:column;padding:20px;transition:background-color 180ms ease,color 180ms ease; }
.format-cell a:hover { background:var(--blue);color:var(--white); }
.format-number { color:var(--blue); }
.format-cell a:hover .format-number { color:var(--mint); }
.format-title { margin-top:auto;font-family:Georgia,"Songti SC",serif;font-size:1.3rem;font-weight:600;line-height:1.2; }
.format-desc { margin-top:7px;color:var(--muted);font-size:0.78rem;line-height:1.45; }
.format-cell a:hover .format-desc { color:rgba(255,255,255,0.8); }

.feature-panel { display:grid;overflow:hidden;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--ink);border-radius:var(--radius-lg);background:var(--lilac); }
.feature-image { min-height:420px; }
.feature-image img { width:100%;height:100%;object-fit:cover; }
.feature-copy { display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(30px,5vw,70px); }
.feature-copy h2, .feature-copy h3 { margin-top:11px;font-family:Georgia,"Songti SC",serif;font-size:clamp(2rem,3.3vw,3.35rem);font-weight:600;letter-spacing:-0.06em;line-height:1.04; }
.feature-copy p:not(.eyebrow) { margin-top:18px;color:#554a64; }
.feature-copy .btn { margin-top:27px; }

.ai-grid, .topic-grid, .expert-grid, .review-grid, .article-grid, .tool-grid, .policy-grid { display:grid;min-width:0;gap:clamp(15px,2.4vw,30px); }

.ai-grid, .expert-grid, .review-grid, .article-grid, .tool-grid, .policy-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ai-card { min-width:0;padding:24px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--white); }
.ai-step { color:var(--blue);font-family:Georgia,"Songti SC",serif;font-size:2.5rem;letter-spacing:-0.08em;line-height:1; }
.ai-title { margin-top:32px;font-size:1.12rem;line-height:1.3; }
.ai-desc { margin-top:10px;color:var(--muted);font-size:0.89rem; }
.ai-list { display:grid;gap:5px;margin-top:16px;padding-left:1.15em;color:var(--muted);font-size:0.82rem; }
.topic-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.topic-card { min-width:0;min-height:220px;padding:23px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--paper);transition:background-color 180ms ease,transform 180ms ease; }
.topic-card:hover { background:var(--mint);transform:translateY(-3px); }
.topic-card small { color:var(--blue);font-weight:800;letter-spacing:0.08em; }
.topic-icon { display:grid;width:44px;height:44px;place-items:center;margin-top:21px;border-radius:50%;background:var(--apricot);font-size:1.25rem; }
.topic-title { margin-top:18px; }
.topic-title h3 { font-family:Georgia,"Songti SC",serif;font-size:1.35rem;font-weight:600;line-height:1.18; }
.expert-card { display:flex;min-width:0;flex-direction:column;padding:22px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--white); }
.expert-top { display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:13px;align-items:center; }
.avatar { display:grid;width:52px;height:52px;place-items:center;border:1px solid var(--ink);border-radius:50%;background:var(--lilac);color:var(--ink);font-family:Georgia,"Songti SC",serif;font-weight:700; }
.expert-role { color:var(--blue);font-size:0.76rem;font-weight:800; }
.expert-name { margin-top:2px;font-family:Georgia,"Songti SC",serif;font-size:1.35rem;font-weight:600; }
.expert-detail { margin-top:20px; }
.expert-detail dl { display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px 12px;font-size:0.84rem; }
.expert-detail dt { color:var(--muted); }
.expert-detail dd { min-width:0;font-weight:650; }
.expert-actions { gap:16px;margin-top:auto;padding-top:20px; }

#partners { background:var(--white); }
.partner-wall { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong); }
.partner-card { min-width:0;min-height:192px;padding:19px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong); }
.partner-card > img { width:32px;height:32px;border-radius:9px;object-fit:cover; }
.brand-symbol { display:block;margin-top:20px;color:var(--blue);font-family:Georgia,"Songti SC",serif;font-size:2rem;font-weight:700;line-height:1; }
.partner-card h3 { margin-top:13px;font-size:0.94rem;line-height:1.25; }
.partner-card p { margin-top:6px;color:var(--muted);font-size:0.74rem;line-height:1.45; }

.join-layout, .contact-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,7vw,105px); }
.join-steps ol { display:grid;gap:0;list-style:none;counter-reset:none; }
.join-steps li { display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:17px 0;border-top:1px solid var(--line); }
.join-steps li:last-child { border-bottom:1px solid var(--line); }
.step-num { display:grid;width:31px;height:31px;place-items:center;border:1px solid var(--ink);border-radius:50%;background:var(--apricot);font-family:Georgia,"Songti SC",serif;font-size:0.84rem;font-weight:700; }
.step-title { display:block;font-size:1rem;font-weight:800; }
.step-desc { display:block;margin-top:3px;color:var(--muted);font-size:0.86rem; }
.community-note { padding:clamp(25px,4vw,42px);border:1px solid var(--ink);border-radius:var(--radius-lg);background:var(--mint); }
.community-note h3 { font-family:Georgia,"Songti SC",serif;font-size:clamp(1.7rem,2.8vw,2.6rem);font-weight:600;line-height:1.08; }
.community-note p { margin-top:12px;color:#4f5941; }
.community-note .btn { margin-top:24px; }
.contact-visual { overflow:hidden;aspect-ratio:16 / 9;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--apricot); }
.contact-visual img { width:100%;height:100%;object-fit:cover; }
.contact-card { min-width:0;padding:clamp(23px,4vw,45px);border:1px solid var(--ink);border-radius:var(--radius-lg);background:var(--white); }
.contact-card h2 { font-family:Georgia,"Songti SC",serif;font-size:clamp(2rem,3vw,3rem);font-weight:600;line-height:1.1; }
.contact-details { display:grid;gap:13px;margin-top:24px; }
.contact-details div { display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;padding-bottom:12px;border-bottom:1px solid var(--line); }
.contact-details dt { color:var(--muted);font-size:0.8rem; }
.contact-details dd { font-size:0.91rem;font-weight:700; }
.contact-entry-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px; }
.contact-entry { min-width:0;padding:14px;border-radius:var(--radius-sm);background:var(--lilac); }
.contact-entry small { display:block;color:#594d6f;font-size:0.72rem;font-weight:800; }
.contact-entry strong { display:block;margin-top:3px;font-size:0.9rem; }

.review-card { display:flex;min-width:0;flex-direction:column;padding:23px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--white); }

.review-card blockquote p { font-family:Georgia,"Songti SC",serif;font-size:1.12rem;line-height:1.62; }

.review-card blockquote p::before { color:var(--blue);content:"“";font-size:1.6em;line-height:0;vertical-align:-0.15em; }
.review-author { margin-top:auto;padding-top:21px;color:var(--muted);font-size:0.8rem;font-weight:750; }
.review-notice { margin-top:6px;color:var(--blue);font-size:0.73rem; }

.faq-list { border-top:1px solid var(--line-strong); }

.faq-list details { border-bottom:1px solid var(--line-strong); }

.faq-list summary { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;font-size:1.05rem;font-weight:800;list-style:none; }

.faq-list summary::-webkit-details-marker { display:none; }

.faq-list summary::after { flex:0 0 auto;content:"+";color:var(--blue);font-size:1.5rem;font-weight:400; }

.faq-list details[open] summary::after { content:"−"; }

.faq-list details p { max-width:56rem;padding:0 0 20px;color:var(--muted); }

.article-card { display:flex;min-width:0;min-height:240px;flex-direction:column;padding:22px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--white); }
.article-tag { color:var(--blue); }

.article-card h3 { margin-top:27px;font-family:Georgia,"Songti SC",serif;font-size:1.38rem;font-weight:600;line-height:1.2; }

.article-card > p { margin-top:10px;color:var(--muted);font-size:0.86rem; }
.article-meta { margin-top:auto;padding-top:18px; }

.site-foot { background:var(--ink);color:var(--paper); }
.footer-top { display:flex;justify-content:space-between;gap:50px;padding-top:56px;padding-bottom:48px; }
.footer-brand { max-width:360px; }
.footer-brand .brand-copy small, .footer-description { color:rgba(247,245,239,0.67); }
.footer-description { margin-top:18px;font-size:0.88rem; }
.footer-nav { display:grid;grid-template-columns:repeat(2,minmax(125px,1fr));align-content:start;gap:9px 45px; }
.footer-nav a { color:rgba(247,245,239,0.8);font-size:0.88rem; }
.footer-nav a:hover { color:var(--mint); }
.qr-row { display:flex;gap:14px; }
.qr-card { width:136px;padding:10px;border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);text-align:center; }
.qr-card img { width:112px;height:112px;margin-inline:auto;object-fit:cover; }
.qr-card small { display:block;margin-top:5px;font-size:0.69rem;font-weight:800; }
.footer-bottom { border-top:1px solid rgba(247,245,239,0.22); }
.footer-bottom .shell { display:flex;min-height:75px;align-items:center;justify-content:space-between;gap:20px; }
.footer-meta { color:rgba(247,245,239,0.58);font-size:0.75rem; }
.share-row { gap:8px; }
.share-row button { display:grid;width:31px;height:31px;place-items:center;border:1px solid rgba(247,245,239,0.42);border-radius:50%;background:transparent;color:var(--paper);font-size:0.73rem; }
.share-row button:hover { border-color:var(--mint);background:var(--mint);color:var(--ink); }

.site-dialog { width:min(900px,calc(100% - 32px));max-height:90vh;overflow:auto;border:1px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper);color:var(--ink);box-shadow:var(--shadow); }
.site-dialog::backdrop { background:rgba(52,38,72,0.48); }
.dialog-head { display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line); }
.dialog-head h2 { font-family:Georgia,"Songti SC",serif;font-size:1.45rem;font-weight:600; }
.dialog-close { display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:transparent;font-size:1.15rem; }
.dialog-close:hover { background:var(--ink);color:var(--paper); }
.dialog-body { padding:clamp(20px,4vw,34px); }
.dialog-body video { width:100%;border-radius:var(--radius-sm);background:var(--ink); }
.dialog-notice { margin-top:15px;padding:12px 14px;border-left:3px solid var(--blue);background:rgba(200,186,241,0.36);font-size:0.85rem; }
.dialog-code { overflow:auto;margin-top:15px;padding:14px;border-radius:var(--radius-sm);background:var(--ink);color:var(--paper);font-family:"SFMono-Regular",Consolas,monospace;font-size:0.78rem;line-height:1.55;white-space:pre-wrap; }

#toast.toast { position:fixed;z-index:10;right:20px;bottom:20px;max-width:min(360px,calc(100% - 40px));padding:12px 16px;border:1px solid var(--ink);border-radius:var(--radius-sm);background:var(--ink);color:var(--paper);box-shadow:var(--shadow);font-size:0.87rem; }

.breadcrumbs { display:flex;flex-wrap:wrap;gap:5px;padding-top:23px;color:var(--muted);font-size:0.79rem; }

.breadcrumbs a:hover { color:var(--blue); }

.page-intro { padding-top:clamp(34px,5vw,72px);padding-bottom:clamp(32px,5vw,64px);border-bottom:1px solid var(--line); }
.page-title { max-width:13ch;margin-top:12px;font-family:Georgia,"Songti SC",serif;font-size:clamp(2.8rem,6.1vw,6.1rem);font-weight:600;letter-spacing:-0.08em;line-height:0.94; }
.page-lead { max-width:49rem;margin-top:22px;color:var(--muted);font-size:clamp(1rem,1.45vw,1.18rem); }

.page-layout { display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(30px,6vw,90px);padding-top:clamp(38px,6vw,76px);padding-bottom:clamp(50px,7vw,96px); }
.main-content { min-width:0; }
.side-note { position:sticky;top:22px;align-self:start;padding:19px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--mint); }
.side-note h3 { font-size:0.98rem; }
.side-note p { margin-top:8px;color:#4e5843;font-size:0.84rem; }
.prose { max-width:780px; }
.prose article > * + * { margin-top:1.15em; }
.prose section + section { margin-top:clamp(34px,5vw,58px); }
.prose h2 { margin-bottom:0.55em;font-family:Georgia,"Songti SC",serif;font-size:clamp(1.75rem,3.1vw,2.7rem);font-weight:600;letter-spacing:-0.05em;line-height:1.1; }
.prose h3 { margin-top:1.6em;margin-bottom:0.55em;font-size:1.18rem;line-height:1.3; }
.prose p { color:#51465e; }
.prose li { margin-top:0.4em;color:#51465e; }
.prose ul, .prose ol { padding-left:1.25em; }
.article-hero-image { overflow:hidden;aspect-ratio:16 / 8;margin:0 0 clamp(28px,4vw,48px);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--lilac); }
.article-hero-image img { width:100%;height:100%;object-fit:cover; }

.table-wrap { max-width:100%;overflow-x:auto;margin:25px 0;border:1px solid var(--line-strong);border-radius:var(--radius-sm); }
.comparison-table { width:100%;min-width:560px;border-collapse:collapse;background:var(--white);font-size:0.85rem; }
.comparison-table th, .comparison-table td { padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top; }
.comparison-table th { background:rgba(200,186,241,0.4);font-weight:800; }
.comparison-table tr:last-child td { border-bottom:0; }

.tool-card { min-width:0;padding:20px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--white); }

.tool-card label { display:grid;gap:6px;margin-top:12px;color:var(--muted);font-size:0.78rem;font-weight:750; }

.tool-card input, .tool-card select, .tool-card textarea { width:100%;border:1px solid var(--line-strong);border-radius:8px;outline:0;background:var(--paper);padding:9px 10px;color:var(--ink); }

.tool-card textarea { min-height:90px;resize:vertical; }

.tool-card input:focus, .tool-card select:focus, .tool-card textarea:focus { border-color:var(--blue);box-shadow:0 0 0 3px rgba(66,86,208,0.14); }
.tool-result { margin-top:17px;padding:13px;border-radius:var(--radius-sm);background:var(--mint);color:#46503b;font-size:0.86rem; }
.inline-note, .data-note, .guide-callout { margin:24px 0;padding:15px 17px;border-left:3px solid var(--blue);background:rgba(200,186,241,0.34);color:#504460;font-size:0.89rem; }
.data-note { border-left-color:#8b9b51;background:rgba(221,230,181,0.55); }
.guide-callout { border-left-color:#d67e58;background:rgba(246,185,151,0.38); }
.resource-list { display:grid;gap:0;margin:22px 0;border-top:1px solid var(--line-strong); }
.resource-list a { display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line-strong);color:var(--blue);font-weight:750; }
.resource-list a::after { content:"↗"; }
.policy-grid { margin:25px 0; }
.policy-grid > * { min-width:0;padding:18px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--white); }

@media (min-width: 1440px) {
  .shell { padding-inline:32px; }
  .hero { grid-template-columns:0.86fr 1.14fr; }
  .hero-visual { padding-right:28px;padding-bottom:28px; }
}

@media (max-width: 1050px) {
  .header-row { gap:18px; }
  .main-nav { gap:15px; }
  .hero { grid-template-columns:minmax(0,0.88fr) minmax(380px,1.12fr);column-gap:34px; }
  .screening-layout { grid-template-columns:205px minmax(0,1fr);gap:28px; }
  .format-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .partner-wall { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .footer-top { flex-wrap:wrap; }
  .footer-brand { max-width:42%; }
  .page-layout { grid-template-columns:minmax(0,1fr) 220px;gap:36px; }
}

@media (max-width: 768px) {
  .header-row { min-height:70px;justify-content:space-between; }
  .main-nav { display:none;position:absolute;z-index:5;top:70px;right:16px;left:16px;grid-template-columns:repeat(2,minmax(0,1fr));padding:13px;border:1px solid var(--ink);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow); }
  #site-nav.open { display:grid; }
  .main-nav a { padding:9px; }
  .head-action { margin-left:auto; }
  .head-action .btn { display:none; }
  .menu-toggle { display:grid;place-items:center; }
  .search-band .shell { min-height:58px; }
  .search-note { display:none; }
  .hero { grid-template-columns:1fr;padding-top:46px; }
  .hero-title { max-width:12ch; }
  .hero-copy { align-items:flex-start; }
  .hero-visual { max-width:650px;margin-top:8px; }
  .hero-bottom { flex-wrap:wrap;white-space:normal; }
  .section-head { display:block; }
  .section-link { margin-top:17px; }
  .screening-layout { grid-template-columns:1fr; }
  .filter-bar { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .filter-bar button { text-align:center; }
  .feature-panel, .join-layout, .contact-layout { grid-template-columns:1fr; }
  .feature-image { min-height:270px; }
  .feature-copy { min-height:300px; }
  .ai-grid, .expert-grid, .review-grid, .article-grid, .tool-grid, .policy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .partner-wall { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-layout { grid-template-columns:1fr; }
  .side-note { position:static;max-width:520px; }
  .footer-top { gap:34px; }
  .footer-brand { max-width:460px; }
  .footer-nav { flex:1; }
}

@media (max-width: 390px) {
  .shell { padding-inline:16px; }
  .brand-copy strong { font-size:21px; }
  .brand-copy small { font-size:0.59rem; }
  .logo { width:38px;height:38px; }
  .header-row { gap:10px; }
  .hero { padding-top:35px;padding-bottom:42px; }
  .hero-title { font-size:clamp(2.85rem,15vw,3.7rem); }
  .hero-actions { width:100%; }
  .hero-actions .btn { width:100%; }
  .hero-visual { padding-right:11px;padding-bottom:11px; }
  .frame-label { top:10px;left:-5px;padding:7px 8px;font-size:0.66rem; }
  .hero-note { width:64%;padding:9px 10px; }
  .hero-note small { font-size:0.66rem; }
  .play-orb { width:56px;height:56px; }
  .filter-bar, .film-grid, .ai-grid, .topic-grid, .expert-grid, .review-grid, .article-grid, .tool-grid, .policy-grid, .contact-entry-grid { grid-template-columns:1fr; }
  .format-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .format-cell a { min-height:150px;padding:15px; }
  .partner-wall { grid-template-columns:1fr; }
  .partner-card { min-height:145px; }
  .footer-nav { grid-template-columns:1fr 1fr;gap:10px 18px; }
  .qr-row { width:100%; }
  .qr-card { width:calc(50% - 7px); }
  .qr-card img { width:100%;height:auto;aspect-ratio:1; }
  .footer-bottom .shell { min-height:92px;align-items:flex-start;flex-direction:column;justify-content:center; }
  .contact-details div { grid-template-columns:1fr;gap:2px; }
}

@media (hover: none) {
  .cover-play { opacity:1;transform:translateY(0); }
  .btn:hover, .topic-card:hover { transform:none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:0.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:0.01ms !important; }
}

/* 男同视频实际静态元素适配：内容文字必须完整可读。 */
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link { position:absolute;top:-100px;left:18px;z-index:20;padding:12px 16px;background:var(--ink);color:var(--paper); }
.skip-link:focus { top:10px; }
.btn:not(.btn-soft):not(.btn-outline) { background:var(--blue);color:var(--white); }
.main-nav a[aria-current="page"] { color:var(--ink); }
.main-nav a[aria-current="page"]::after { opacity:1;transform:scaleX(1); }
.menu-toggle { width:auto;min-width:42px;padding:8px 12px;border-radius:99px;font-size:0.82rem;white-space:nowrap; }
.hero-title { max-width:none;font-size:clamp(2.5rem,4.5vw,4.7rem);line-height:1.12;letter-spacing:-0.045em; }
.hero-image { display:block;width:100%;height:auto;object-fit:cover; }
.hero-note strong { display:block;margin-bottom:5px;font-size:0.91rem;line-height:1.4; }
.hero-visual { align-self:center; }
.filter-bar { display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px; }
.filter-bar button { width:auto;min-height:40px;text-align:center;padding:9px 14px; }
.screening-aside h3 { margin:16px 0;font-family:Georgia,"Songti SC",serif;font-size:1.8rem;line-height:1.3; }
.screening-aside p + p { margin-top:15px; }
.screening-aside .text-link { margin-top:18px; }
.film-meta { display:flex;flex-wrap:wrap;gap:6px 12px; }
.film-title { font-family:Georgia,"Songti SC",serif;font-size:1.23rem;line-height:1.38;font-weight:650; }
.cover-play { width:64px;height:64px;padding:9px;gap:2px; }
.cover-play small { font-size:0.58rem;line-height:1.2;white-space:nowrap; }
.format-cell { display:flex;min-height:190px;flex-direction:column;padding:20px;transition:background-color 180ms ease; }
.format-cell:hover { background:var(--lilac); }
.format-number { margin-bottom:30px; }
.ai-card > ul { padding-left:18px;margin-top:14px;color:var(--muted);font-size:0.85rem; }
.topic-title { font-family:Georgia,"Songti SC",serif;font-size:1.28rem;line-height:1.35; }
.topic-card > p:not(.mini-label) { margin-top:12px; }
.expert-card > p { margin-top:16px;color:var(--muted);font-size:0.85rem; }
.expert-detail { display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px 12px;font-size:0.79rem;line-height:1.6; }
.expert-detail dd { overflow-wrap:anywhere;font-weight:400; }
.expert-actions { gap:12px; }
.expert-actions button { padding:0;background:transparent;text-align:left;font-size:0.78rem; }
.text-link::after,.section-link::after { content:none; }
.join-steps { list-style:none; }
.join-steps li:first-child { border-top:1px solid var(--line); }
.contact-visual { overflow:visible;aspect-ratio:auto;border:0;background:transparent; }
.contact-visual img { width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius-md); }
.contact-card h3 { font-family:Georgia,"Songti SC",serif;font-size:1.8rem;line-height:1.3; }
.contact-details { grid-template-columns:86px minmax(0,1fr);gap:12px 16px; }
.contact-details dd { min-width:0;overflow-wrap:anywhere;font-size:0.84rem;font-weight:450; }
.contact-details dd small { display:block;margin-top:5px;color:var(--muted);font-size:0.71rem; }
.review-card blockquote { margin-top:18px; }
.site-foot .inline-note { background:rgba(255,255,255,0.06);color:rgba(247,245,239,0.78);font-size:0.76rem; }
.footer-top { gap:28px; }
.footer-brand { flex:1;max-width:380px;min-width:210px; }
.footer-nav { gap:12px 18px;grid-template-columns:repeat(2,minmax(105px,1fr)); }
.footer-bottom { padding-top:23px;padding-bottom:24px; }
.footer-meta { display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:17px; }
.share-row button { width:auto;height:auto;min-height:35px;padding:7px 11px;border-radius:99px;line-height:1.2; }
.qr-card strong { display:block;font-size:0.78rem; }
.dialog-close { width:auto;min-width:42px;padding:7px 11px;border-radius:99px;font-size:0.78rem; }
.page-title { max-width:22ch;font-size:clamp(2rem,4.4vw,4.6rem);line-height:1.22;letter-spacing:-0.035em; }
.prose > p + p { margin-top:16px; }
.prose > h2 { margin-top:28px; }
.prose > section:first-of-type { margin-top:28px; }
.prose > ul { margin-top:14px; }
.article-hero-image { width:100%;height:auto;object-fit:cover;aspect-ratio:auto;margin-top:22px; }
.side-note .text-link { display:flex;margin-top:16px;font-size:0.82rem; }
.watch-video { width:100%;height:auto;border-radius:var(--radius-lg);background:var(--ink); }
.tool-card h2 { font-size:1.35rem;line-height:1.3; }
.tool-card > p { margin-top:13px;font-size:0.84rem; }
.tool-card form .btn { margin-top:16px; }
#consent-form label { display:flex;align-items:flex-start;gap:8px;font-size:0.84rem; }
#consent-form input { width:16px;min-width:16px;height:16px;margin:4px 0; }
.guide-callout h2 { font-size:1.5rem;line-height:1.35;margin-bottom:12px; }
.guide-callout img { margin-top:18px;margin-bottom:16px;border-radius:12px; }
.guide-callout button { margin-top:16px; }
.policy-grid h3 { margin-bottom:12px;font-size:1.12rem; }
.policy-grid p { color:var(--muted);font-size:0.87rem; }
.resource-list article { padding:20px 0;border-bottom:1px solid var(--line); }
.resource-list h2 { font-size:1.2rem;line-height:1.5; }
.resource-list p { font-size:0.85rem;color:var(--muted);overflow-wrap:anywhere; }
@media (max-width: 1100px) {
  .footer-brand { max-width:42%; }
  .footer-nav { grid-template-columns:1fr; }
  .footer-top { flex-wrap:wrap; }
}
@media (max-width: 650px) {
  .film-grid,.ai-grid,.topic-grid,.expert-grid,.review-grid,.article-grid,.tool-grid,.policy-grid { grid-template-columns:1fr; }
  .hero-title { font-size:clamp(2.35rem,9.5vw,3.6rem);line-height:1.18; }
  .section-title { font-size:1.85rem;line-height:1.22; }
  .format-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .format-cell { padding:17px;min-height:160px; }
  .hero-tags { gap:6px; }
  .hero-bottom { font-size:0.73rem;gap:8px; }
  .film-stats { font-size:0.72rem;gap:7px; }
  .footer-brand { min-width:0;max-width:none;flex-basis:100%; }
  .footer-nav { grid-template-columns:1fr 1fr;flex-basis:100%; }
  .qr-row { width:100%;justify-content:flex-start; }
  .qr-card { width:calc(50% - 7px);max-width:174px; }
  .qr-card img { width:100%;height:auto; }
  .contact-details { grid-template-columns:1fr;gap:4px; }
  .contact-details dd { margin-bottom:12px; }
  .expert-detail { grid-template-columns:78px minmax(0,1fr); }
  .search-form input { font-size:0.82rem; }
  .search-form button { white-space:nowrap;font-size:0.73rem;padding-left:8px; }
  .feature-copy { padding:24px; }
}
