/* Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V4
 * genre: atmospheric/editorial hybrid · macrostructure: Photographic
 * H6: full-bleed / lower-left / overlaid · theme: custom Midnight dossier
 * user palette override: charcoal / burgundy / ivory / gold
 * display: Songti SC, Georgia · body: PingFang SC · nav: compact wordmark links · footer: Ft1
 * Motion: press displacement and image fade only. */
:root{--ink:#121212;--paper:#f5f0e8;--gold:#d4af37;--wine:#6b1e2b;--wine-dark:#32151b;--muted:#625b51;--light-muted:#d1c8b8;--rule:#d4cbbd;--dark-rule:#474033;--panel:#201e1a;--white:#fff;--scrim:rgba(18,18,18,.75);--clear:transparent;--error:#a52b34;--success:#316547;--font-display:Georgia,'Songti SC','STSong',serif;--font-body:'PingFang SC','Microsoft YaHei',sans-serif;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:72px;--s7:104px;--nav:76px}
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--wine);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.8}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:var(--clear)}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-style:normal;overflow-wrap:anywhere;min-width:0}h1,h2{font-family:var(--font-display);font-weight:600;line-height:1.18}h2{font-size:clamp(29px,3.5vw,45px);letter-spacing:-.04em}h3{font-size:20px;line-height:1.5}p+p{margin-top:18px}p{max-width:70ch}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}a:hover{color:var(--wine)}[hidden]{display:none!important}.skip{position:fixed;top:-80px;left:12px;z-index:99;padding:12px;background:var(--paper)}.skip:focus{top:8px}.wrap{width:min(1184px,calc(100% - 72px));margin:auto}.topbar{height:var(--nav);background:var(--ink);color:var(--paper);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--dark-rule)}.nav-inner{display:flex;height:100%;align-items:center;gap:36px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;white-space:nowrap}.brand-mark{font-family:var(--font-display);font-size:30px;color:var(--gold);border:1px solid var(--gold);line-height:1.15;padding:1px 7px;transform:rotate(-4deg)}.brand b{font-family:var(--font-display);font-size:22px;letter-spacing:.02em}.brand small{display:block;font-size:10px;line-height:1.25;letter-spacing:.14em;color:var(--light-muted)}.nav-links{display:flex;gap:30px;align-items:center;margin-left:auto}.nav-links a{white-space:nowrap;text-decoration:none;font-size:14px;padding:12px 0;color:var(--light-muted)}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--gold)}.nav-links a[aria-current=page]{border-bottom:2px solid var(--gold)}.nav-cta{margin-left:15px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:52px;padding:11px 24px;background:var(--gold);border:1px solid var(--gold);color:var(--ink);font-size:15px;font-weight:650;line-height:1.4;text-decoration:none;white-space:nowrap;box-shadow:4px 4px 0 var(--ink);transition:background-color .16s,transform .16s,box-shadow .16s}.btn:hover{background:var(--paper);border-color:var(--paper);color:var(--ink);transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.btn.secondary{color:var(--paper);border-color:var(--light-muted);background:var(--clear);box-shadow:none}.btn.secondary:hover{background:var(--paper);color:var(--ink)}.btn.small{min-height:40px;padding:8px 17px;font-size:13px;box-shadow:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn[data-state=loading]{cursor:progress;opacity:.7}.btn[data-state=error]{border-color:var(--error)}.btn[data-state=success]{border-color:var(--success)}
.hero{min-height:650px;position:relative;background:var(--ink);color:var(--paper);isolation:isolate;display:flex;align-items:center}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,var(--ink) 0%,var(--scrim) 45%,var(--clear) 100%),linear-gradient(0deg,var(--ink),var(--clear) 65%)}.hero-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding-block:76px 92px}.hero-note{font-size:13px;color:var(--light-muted);display:flex;align-items:center;gap:13px;margin-bottom:28px}.hero-note:before{content:'';width:28px;height:1px;background:var(--gold)}.hero h1{font-size:clamp(64px,7.5vw,108px);letter-spacing:-.055em;line-height:1.05}.hero h1 span{display:block;font-size:27px;letter-spacing:.25em;margin-top:12px;font-weight:400}.hero-tagline{font-family:var(--font-display);font-size:27px;margin:30px 0 12px}.hero-description{color:var(--light-muted);font-size:15px;max-width:440px}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.tag{padding:3px 10px;border:1px solid var(--dark-rule);font-size:12px;white-space:nowrap}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}.hero-meta{font-size:12px;color:var(--light-muted);margin-top:20px}.hero-photo{transform:rotate(2deg);background:var(--paper);padding:10px 10px 0;box-shadow:16px 18px 0 var(--scrim);position:relative;margin-top:80px}.hero-photo:before{content:'城市里的另一面';position:absolute;right:15px;top:-20px;padding:5px 14px;transform:rotate(-7deg);background:var(--wine);color:var(--paper);font-family:var(--font-display);font-size:15px}.hero-photo img{aspect-ratio:16/9;object-fit:contain}.hero-photo figcaption{color:var(--muted);font-size:12px;padding:12px 6px;display:flex;justify-content:space-between;gap:8px}.age-line{font-size:12px;color:var(--light-muted);margin-top:20px;max-width:470px;line-height:1.6}.hero-bottom{position:absolute;bottom:18px;left:0;width:100%;color:var(--light-muted);font-size:11px}.hero-bottom .wrap{display:flex;justify-content:space-between}.hero-bottom a:hover{color:var(--gold)}
.paper{width:min(1040px,calc(100% - 80px));margin:0 auto;background:var(--paper);box-shadow:16px 0 0 var(--wine-dark),-1px 0 0 var(--wine-dark)}.paper-pad{padding:64px 64px}.facts{padding:28px 44px;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0}.facts div{border-right:1px solid var(--rule);padding-right:12px}.facts div:last-child{border:0}.facts dt{font-size:11px;color:var(--muted);margin-bottom:3px}.facts dd{margin:0;font-size:15px;font-weight:600}.section{padding-top:64px}.section:first-child{padding-top:0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:28px}.section-head p{font-size:13px;color:var(--muted);max-width:280px}.text-link{white-space:nowrap;font-size:14px}.story{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px}.story-title small{display:block;font-family:var(--font-body);font-size:11px;font-weight:400;letter-spacing:.05em;color:var(--muted);margin-bottom:13px}.story p{font-size:15px;line-height:1.9}.pull-line{font-family:var(--font-display);font-size:25px;line-height:1.5;border-left:3px solid var(--wine);padding-left:24px;margin:28px 0;color:var(--wine)}.note{border-left:3px solid var(--gold);padding:14px 20px;background:var(--white);font-size:14px;line-height:1.8}.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}.feature-row p{font-size:14px;color:var(--muted);margin-top:10px}.feature-row h3{margin-top:16px}.feature-row img{aspect-ratio:16/9;object-fit:contain}.features-bottom{margin-top:24px;padding-top:24px;border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr 2fr;gap:24px}.features-bottom p{font-size:14px;color:var(--muted)}
.gallery-main{position:relative;background:var(--ink)}.gallery-main a{display:block}.gallery-main img{width:100%;aspect-ratio:16/9;object-fit:contain}.gallery-main figcaption{padding:12px 18px;font-size:12px;color:var(--paper);display:flex;justify-content:space-between}.thumb-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.thumb-row a{display:block;background:var(--ink);position:relative}.thumb-row a:after{content:'放大';position:absolute;bottom:5px;right:6px;color:var(--paper);background:var(--scrim);padding:0 4px;font-size:10px}.thumb-row img{width:100%;aspect-ratio:16/9;object-fit:contain;transition:opacity .16s}.thumb-row a:hover img{opacity:.75}.journal{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;padding:24px 0;border-bottom:1px solid var(--rule)}.journal time{font-size:13px;color:var(--muted)}.journal h3{font-size:18px;margin-bottom:6px}.journal p{font-size:14px;color:var(--muted)}.spec{display:grid;grid-template-columns:1fr 1fr;margin:0;gap:0 36px}.spec div{display:grid;grid-template-columns:110px minmax(0,1fr);padding:13px 0;border-bottom:1px solid var(--rule);font-size:14px}.spec dt{color:var(--muted)}.spec dd{margin:0}.audience{padding:30px;background:var(--ink);color:var(--paper)}.audience p{color:var(--light-muted);font-size:14px;margin-top:12px}.audience h3{color:var(--gold)}.faq details{border-bottom:1px solid var(--rule);padding:18px 0}.faq summary{cursor:pointer;font-size:16px;font-weight:600;padding-right:30px;position:relative;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:4px;font-size:22px;top:-5px;color:var(--wine)}.faq details[open] summary:after{content:'−'}.faq details p{padding-top:14px;font-size:14px;color:var(--muted)}.final-cta{background:var(--ink);color:var(--paper);padding:52px 64px;position:relative;border-top:5px solid var(--gold)}.final-cta h2{font-size:36px;max-width:650px}.final-cta p{color:var(--light-muted);font-size:14px;margin:16px 0 24px}.final-cta small{display:block;font-size:11px;color:var(--light-muted);margin-top:18px}.footer{background:var(--ink);color:var(--paper);padding:56px 0 28px;margin-top:64px}.foot-top{display:flex;justify-content:space-between;gap:36px}.foot-top p{font-size:13px;color:var(--light-muted);margin-top:16px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:13px}.footer-links a{white-space:nowrap}.footer a:hover{color:var(--gold)}.related{border-top:1px solid var(--dark-rule);padding-top:24px;margin-top:32px;display:flex;gap:24px;font-size:12px;color:var(--light-muted)}.related strong{white-space:nowrap;font-weight:400}.copyright{border-top:1px solid var(--dark-rule);margin-top:28px;padding-top:22px;font-size:11px;color:var(--light-muted);display:flex;justify-content:space-between;gap:30px}.copyright p{max-width:80ch}.sticky-cta{display:none}.back-top{position:fixed;right:18px;bottom:24px;color:var(--paper);background:var(--ink);border:1px solid var(--dark-rule);padding:8px 14px;font-size:12px;z-index:20;text-decoration:none;white-space:nowrap}
.subhero{background:var(--ink);color:var(--paper);padding:42px 0 56px}.crumb{display:flex;gap:12px;font-size:12px;color:var(--light-muted);margin-bottom:28px;flex-wrap:wrap}.crumb a{white-space:nowrap}.subhero h1{font-size:clamp(36px,4.5vw,60px);max-width:780px;letter-spacing:-.04em}.subhero .lede{color:var(--light-muted);margin-top:22px;font-size:15px;max-width:640px}.subhero .sub-tag{font-size:12px;color:var(--gold);margin-top:20px}.download-block{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}.download-card{background:var(--ink);color:var(--paper);padding:32px;border-top:4px solid var(--gold)}.download-card h2{font-size:34px}.download-card p{color:var(--light-muted);font-size:14px;margin:16px 0}.download-card .btn{width:100%;margin-top:15px}.download-card small{font-size:11px;color:var(--light-muted)}.package-table{border-collapse:collapse;width:100%;font-size:14px}.package-table th{text-align:left;font-weight:500;color:var(--muted);font-size:12px}.package-table td,.package-table th{border-bottom:1px solid var(--rule);padding:13px 10px 13px 0}.package-table th:last-child,.package-table td:last-child{text-align:right;white-space:nowrap}.table-note{font-size:12px;color:var(--muted);margin-top:15px}.steps{padding-left:24px}.steps li{padding:8px 0 16px 10px;font-size:15px}.steps li::marker{color:var(--wine);font-weight:bold}.steps strong{display:block;font-size:17px;margin-bottom:5px}.toc{background:var(--ink);color:var(--paper);padding:24px 28px;margin-bottom:40px}.toc h2{font-family:var(--font-body);font-size:16px;margin-bottom:14px}.toc ul{list-style:none;padding:0;margin:0;display:flex;gap:12px 28px;flex-wrap:wrap;font-size:14px}.toc a{white-space:nowrap}.toc a:hover{color:var(--gold)}.guide-section{scroll-margin-top:100px;padding-top:56px}.guide-section h2{margin-bottom:20px}.guide-section p{font-size:15px}.guide-section .note{margin-top:20px}.guide-section figure{margin-top:24px}.guide-section figcaption{font-size:12px;color:var(--muted);margin-top:10px}.version-note{font-size:12px;color:var(--wine);margin:10px 0 16px}.filters{display:flex;gap:12px;margin-bottom:28px}.filter{padding:8px 20px;border:1px solid var(--rule);background:var(--clear);color:var(--ink);font-size:14px}.filter[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter:hover{border-color:var(--wine)}.filter:active{transform:translateY(1px)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.gallery-grid figure:first-child{grid-column:1/-1}.gallery-grid img{width:100%;aspect-ratio:16/9;object-fit:contain}.gallery-grid figcaption{margin-top:10px;font-size:13px}.gallery-grid figcaption small{color:var(--muted);display:block}.gallery-count{font-size:13px;color:var(--muted);margin-bottom:18px}.lightbox{border:1px solid var(--dark-rule);background:var(--ink);color:var(--paper);width:min(1200px,95vw);padding:16px;max-height:96dvh}.lightbox::backdrop{background:var(--scrim)}.lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.lightbox button{background:var(--panel);color:var(--paper);border:1px solid var(--dark-rule);padding:8px 18px;white-space:nowrap;min-height:44px}.lightbox button:hover{color:var(--gold);border-color:var(--gold)}.lightbox button:active{transform:translateY(1px)}.lightbox img{max-height:70dvh;width:100%;object-fit:contain}.lightbox-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:14px;font-size:13px}.lightbox-status{font-size:13px;min-height:24px;color:var(--light-muted)}.legal{font-size:14px}.legal h2{font-size:28px;margin:36px 0 16px}
@media(min-width:1500px){.hero{min-height:760px}.hero-layout{padding-block:100px}.hero-photo{margin-top:100px}}
@media(max-width:1023px){.nav-inner{gap:20px}.nav-links{gap:20px}.nav-cta{margin-left:0}.paper-pad{padding:48px 40px}.hero-layout{gap:20px}.hero h1{font-size:80px}.hero-tagline{font-size:24px}.hero-photo{margin-top:40px}.hero{min-height:620px}.hero-description{max-width:390px}.story{gap:32px}.final-cta{padding:44px 40px}.spec{grid-template-columns:1fr}.gallery-grid{gap:24px 18px}}
@media(max-width:767px){:root{--nav:110px}.wrap{width:calc(100% - 36px)}.topbar{height:auto;min-height:var(--nav)}.nav-inner{flex-wrap:wrap;gap:0;justify-content:space-between;padding-top:12px}.brand b{font-size:19px}.brand-mark{font-size:25px}.nav-cta{order:1}.nav-links{order:2;width:100%;margin:5px 0 0;justify-content:space-between;gap:12px}.nav-links a{font-size:13px;padding:8px 0}.hero{min-height:0}.hero-layout{display:block;padding-block:38px 48px}.hero-bg{object-position:65% center}.hero:before{background:linear-gradient(0deg,var(--ink),var(--scrim)),linear-gradient(90deg,var(--ink),var(--clear))}.hero-note{margin-bottom:20px;font-size:11px}.hero h1{font-size:74px}.hero h1 span{font-size:22px}.hero-tagline{font-size:25px;margin-top:22px}.hero-description{font-size:14px;max-width:40ch}.hero-tags{margin:18px 0}.hero-actions{margin-top:22px;gap:12px}.hero-actions .btn{padding:12px 16px;font-size:14px}.hero-meta{margin-top:18px;font-size:11px}.age-line{font-size:11px;margin-top:13px;max-width:38ch}.hero-photo{margin:38px 5px 0;transform:rotate(1deg);max-width:480px;padding:6px 6px 0;box-shadow:7px 8px 0 var(--scrim)}.hero-photo figcaption{font-size:11px;padding:8px 6px}.hero-photo:before{font-size:12px;top:-16px}.hero-bottom{display:none}.paper{width:calc(100% - 24px);box-shadow:6px 0 0 var(--wine-dark)}.paper-pad{padding:36px 22px}.facts{grid-template-columns:1fr 1fr;padding:22px;gap:18px}.facts div:nth-child(2){border:0}.facts dd{font-size:13px}.section{padding-top:46px}.section-head{display:block;margin-bottom:22px}.section-head p,.section-head .text-link{margin-top:14px;display:block}.story{display:block}.story-title{margin-bottom:24px}.story p{font-size:14px}.pull-line{font-size:23px;padding-left:18px}.feature-row{grid-template-columns:1fr;gap:30px}.features-bottom{grid-template-columns:1fr;gap:10px}.thumb-row{gap:7px}.thumb-row a:after{display:none}.gallery-main figcaption{font-size:11px;padding:9px 12px}.journal{grid-template-columns:1fr;gap:6px;padding:20px 0}.audience{padding:24px}.spec div{grid-template-columns:95px minmax(0,1fr);font-size:13px}.final-cta{padding:36px 24px}.final-cta h2{font-size:29px}.footer{margin-top:36px;padding:36px 0 120px}.foot-top{display:block}.foot-top .footer-links{margin-top:24px}.footer-links{gap:12px 20px;font-size:12px}.related{display:block}.related .footer-links{margin-top:12px}.copyright{display:block;font-size:10px}.copyright>a{display:inline-block;margin-top:16px}.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 18px max(12px,env(safe-area-inset-bottom));background:var(--ink);border-top:1px solid var(--dark-rule);color:var(--paper)}.sticky-cta strong{font-size:13px;display:block;line-height:1.4}.sticky-cta small{font-size:10px;color:var(--light-muted)}.sticky-cta .btn{min-height:44px;font-size:13px;padding:10px 16px;box-shadow:none}.back-top{bottom:90px;right:12px;padding:4px 10px;font-size:11px}.subhero{padding:24px 0 36px}.subhero h1{font-size:37px}.subhero .lede{font-size:14px}.crumb{margin-bottom:22px}.download-block{grid-template-columns:1fr;gap:28px}.download-card{padding:26px}.download-card h2{font-size:30px}.table-note{font-size:11px}.toc{padding:22px}.toc ul{display:block}.toc li+li{margin-top:9px}.guide-section{padding-top:40px}.guide-section p,.steps li{font-size:14px}.gallery-grid{grid-template-columns:1fr}.gallery-grid figure:first-child{grid-column:auto}.filters{gap:10px}.filter{padding:8px 16px}.lightbox{padding:12px}.lightbox-foot{gap:10px}.lightbox-foot button{padding:7px 12px;font-size:12px}.lightbox-head{font-size:12px}.lightbox-head button{padding:6px 12px}.faq summary{font-size:15px}.lightbox-foot span{font-size:12px}}
@media(max-width:374px){.wrap{width:calc(100% - 28px)}.hero h1{font-size:64px}.hero-actions{gap:10px}.hero-actions .btn{font-size:12px;padding:12px}.hero-tagline{font-size:23px}.paper-pad{padding:32px 18px}.brand small{font-size:9px}.nav-cta.btn{font-size:11px;padding:8px 11px}.sticky-cta{padding-inline:12px}.sticky-cta .btn{padding:10px 12px;font-size:12px}.spec div{grid-template-columns:85px minmax(0,1fr)}.package-table{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Follow-up: real screenshot portrait shared by navigation and footer. */
.brand-logo{width:44px;height:44px;object-fit:cover;border:1px solid var(--gold);flex:0 0 44px;border-radius:3px}
@media(max-width:767px){.brand-logo{width:38px;height:38px;flex-basis:38px}.brand{gap:10px}}
