/* REHITO · shared interface, desktop / tablet / phone */
:root {
  --black:#f2efe9; --dark:#f2efe9; --white:#0a0a0a; --gray:#a5a5a5; --line:#262626;
  --ink:#f2efe9; --accent:#d8c5a0; --surface:#141414; --surface2:#1c1c1c; --deep:#070707;
  --serif:Georgia,'Songti SC','STSong',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;
  --gutter:clamp(20px,4.5vw,80px); --nav-height:84px;
}
html {scroll-padding-top:calc(var(--nav-height) + 24px)}
body {font-family:var(--sans);font-weight:400;line-height:1.6}
button,input,select,textarea {font:inherit}
button,a,input,select,textarea {-webkit-tap-highlight-color:transparent}
button,a {touch-action:manipulation}
button:disabled {cursor:not-allowed}
:focus-visible {outline:2px solid var(--accent);outline-offset:4px}
[hidden] {display:none!important}
#main-content {min-height:50vh;outline:none}
img {color:var(--gray);font-size:13px}
.skip-link {position:fixed;left:20px;top:-100px;z-index:1000;padding:12px 20px;background:var(--black);color:#fff}
.skip-link:focus {top:12px}
.sr-only {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Navigation */
body .site-nav {height:var(--nav-height);padding:0 var(--gutter);mix-blend-mode:normal;color:var(--black);background:rgba(248,247,243,.96);border-bottom:1px solid rgba(23,25,24,.09);backdrop-filter:blur(18px);gap:30px;transition:background .2s,color .2s}
.site-nav .logo {display:flex;align-items:center;gap:16px;font-size:25px;letter-spacing:.24em;white-space:nowrap;line-height:1}
.site-nav .logo-cn {font-family:var(--sans);font-size:11px;letter-spacing:.18em;font-weight:400;opacity:.65;border-left:1px solid currentColor;padding-left:16px}
body .site-nav .nav-links {gap:clamp(16px,2.1vw,32px);align-items:center}
body .site-nav .nav-links a {display:flex;align-items:center;min-height:44px;padding:8px 0;font-size:13px;letter-spacing:.08em;white-space:nowrap}
body .site-nav .nav-links a::after {background:currentColor;bottom:8px}
.nav-links a>span {display:none}
body .site-nav .nav-contact a {padding:10px 18px;background:var(--black);color:var(--white);border-radius:2px;gap:16px}
.nav-contact a>span {display:inline}
.nav-contact a::after {display:none}
.nav-mobile-extra,.nav-toggle {display:none}
.home-page:not(.nav-scrolled):not(.menu-open) .site-nav {background:linear-gradient(180deg,rgba(12,14,13,.5),rgba(12,14,13,.14));color:white;border-bottom-color:rgba(255,255,255,.16)}
.home-page:not(.nav-scrolled):not(.menu-open) .nav-contact a {background:var(--white);color:var(--black)}
.nav-backdrop {position:fixed;inset:var(--nav-height) 0 0;background:rgba(10,10,10,.35);z-index:90;backdrop-filter:blur(3px)}
body.menu-open,body.modal-open {overflow:hidden}

/* Editorial home */
body .hero {height:88vh;height:88svh;min-height:620px;max-height:1100px}
body .hero img {opacity:1;transform:none;object-position:center 36%}
body .hero .veil {background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 35%,rgba(0,0,0,.65))}
body .hero .caption {left:var(--gutter);right:var(--gutter);bottom:64px;max-width:880px}
body .hero .caption .kicker {opacity:1;transform:none;font-size:11px;letter-spacing:.24em;color:#e9e6df;margin-bottom:26px}
body .hero .caption h1 {font-size:clamp(46px,5.9vw,90px);line-height:1.2;letter-spacing:.04em}
body .hero .caption h1 span i {transform:none;font-style:normal}
body .hero .caption h1 span:nth-child(2) i {color:#ebe5db;font-style:normal}
.hero-actions {display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero-actions a {display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:48px;padding:12px 24px;background:var(--white);color:var(--black);font-size:13px;letter-spacing:.06em;border:1px solid var(--white)}
.hero-actions a.secondary {background:rgba(0,0,0,.08);color:#fff;border-color:rgba(255,255,255,.55)}
.hero-actions a:hover {background:#e5dfd2;color:var(--black)}
body .hero .scroll-hint {right:var(--gutter);bottom:64px}
body .stats {padding:0 var(--gutter);background:#eeece6}
body .stats div {max-width:420px;padding:42px 18px}
body .stats b {font-size:clamp(40px,4.3vw,64px)}
body .stats span {font-size:12px;letter-spacing:.14em;color:#65635e}
body .section-head {max-width:1600px;margin:0 auto;padding:88px var(--gutter) 32px}
body .section-head h2 {font-size:clamp(30px,3.7vw,48px);line-height:1.28}
body .section-head h2 em {font-size:.68em;letter-spacing:.02em}
body .section-head .more {font-size:13px;letter-spacing:.08em;padding:10px 0;min-height:44px}
body .filters,body .vfilter {max-width:1600px;margin:0 auto;padding:28px var(--gutter) 32px!important;display:flex;gap:10px;flex-wrap:wrap}
body .filters a,body .filters button,body .vfilter a {border:1px solid var(--line);border-radius:2px;padding:10px 18px;margin:0;font-size:13px;letter-spacing:.06em;min-height:44px;background:transparent;color:#64625c;font-weight:400}
body .filters a::before,body .filters button::before {display:none}
body .filters .on,body .vfilter .on {background:var(--black);color:#fff;border-color:var(--black)}
body .filters a:hover,body .vfilter a:hover {border-color:var(--black);color:var(--black)}
body .filters a.on:hover,body .vfilter a.on:hover {color:#fff}
body .grid {max-width:1600px;margin:0 auto;gap:36px;padding:0 var(--gutter) 88px;align-items:start}
body .grid .work {aspect-ratio:auto;overflow:visible;background:transparent;box-shadow:none}
body .grid .work .ph {height:auto;aspect-ratio:3/4;overflow:hidden;background:#e9e7e1}
body .grid .w-b .ph {aspect-ratio:16/11}
body .grid .w-c .ph {aspect-ratio:16/10}
body .grid .w-e .ph {aspect-ratio:3/2}
body .grid .w-b {margin-top:72px}
body .grid .w-d {margin-top:0}
body .grid .w-e {margin-top:0}
body .grid .work .meta {padding:16px 0 0;gap:16px}
body .work .meta h3 {font-family:var(--sans);font-size:17px;letter-spacing:.04em;font-weight:500}
body .work .meta span {font-size:12px;letter-spacing:.04em;flex-shrink:0}
body .work .tag {font-size:11px;letter-spacing:.08em;padding:6px 12px}
body .about {max-width:1600px;margin:0 auto;background:#efede7}
body .about .imgbox {aspect-ratio:4/5}
body .about .txt {padding:60px clamp(28px,4.5vw,72px)}
body .about .txt h2 {font-size:clamp(29px,3vw,43px);line-height:1.55}
body .about .txt p {font-size:15px;line-height:2;color:#57574f}

/* Lists and details */
/* 说明：栏目页头已统一为文件末尾的 .col-head / .col-nav（基准＝模特栏目）。
   以下 .page-hero / .wd-head 为历史版式，前台已无页面引用，仅作兼容保留。 */
body .page-hero {padding:calc(var(--nav-height) + 64px) var(--gutter) 52px;background:#eae7df;color:var(--black);border-bottom:1px solid var(--line)}
body .page-hero .kicker {font-size:11px;letter-spacing:.22em;color:#716c61;margin-bottom:20px}
body .page-hero h1 {font-size:clamp(32px,4.1vw,56px);line-height:1.35;letter-spacing:.04em}
body .page-hero h1 em {font-family:var(--serif);font-size:.5em;letter-spacing:.03em;font-style:italic;opacity:.65;margin-left:16px}
body .page-hero p {font-size:13px;letter-spacing:.06em;color:#6c695f;margin-top:20px;max-width:65ch;line-height:1.8}
body .wall,body .mwall,body .vgrid {max-width:1600px;margin:0 auto;padding:0 var(--gutter) 88px;gap:24px}
body .wall {grid-template-columns:repeat(4,minmax(0,1fr))}
body .wall .work {box-shadow:none;background:#eae7e1}
body .wall .work .ph {height:100%}
body .related-wall .work {aspect-ratio:auto;overflow:visible;background:transparent}
body .related-wall .work .ph {height:auto;aspect-ratio:3/4;overflow:hidden}
body .related-videos .work .ph {aspect-ratio:16/9}
body .related-wall .work .meta {padding:14px 0 0;gap:12px}
body .work .ovl {padding:60px 18px 20px;background:linear-gradient(transparent,rgba(0,0,0,.8))}
body .work .ovl h3 {font-family:var(--sans);font-size:19px;line-height:1.5;opacity:1;letter-spacing:.04em;font-weight:500;overflow-wrap:anywhere}
body .work .ovl p {font-size:12px;opacity:.85;letter-spacing:.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body .mwall {grid-template-columns:repeat(5,minmax(0,1fr));padding-top:0!important}
body .mwall .mcard .ph {box-shadow:none}
body .mwall .mcard .minfo {display:block;margin-top:14px}
body .mwall .mcard b {font-family:var(--sans);font-size:17px;line-height:1.5;font-weight:500}
body .mwall .mcard span {text-align:left;font-size:12px;line-height:1.8;letter-spacing:.03em;margin-top:4px}
body .vgrid {grid-template-columns:repeat(3,minmax(0,1fr))}
body .vgrid .vitem h3 {font-family:var(--sans);font-size:18px;letter-spacing:.03em;line-height:1.5}
body .vgrid .vitem figcaption p {font-size:13px;line-height:1.8}
body .vmodels a {font-size:12px;padding:8px 0;min-height:36px}
body .vplay-big {font-size:24px}
body .pager {flex-wrap:wrap;gap:10px;padding:12px var(--gutter) 80px}
body .pager a,body .pager span {min-height:44px;min-width:44px;padding:10px 16px;letter-spacing:.05em;font-size:13px;text-align:center}
body .wd-head {padding:calc(var(--nav-height) + 64px) var(--gutter) 54px;max-width:1100px;margin:auto}
body .wd-head h1 {font-size:clamp(34px,4.8vw,64px);line-height:1.35;overflow-wrap:anywhere}
body .wd-head .info {letter-spacing:.05em;line-height:1.8;font-size:13px}
body .gallery {max-width:1200px;padding:0 var(--gutter) 48px}
body .gallery figure {margin-bottom:24px}
.detail-back {display:inline-block;min-height:44px;margin-bottom:24px;font-size:13px;color:var(--gray)}
body .wd-models {padding:36px 24px 64px;max-width:1100px}
body .wd-models h3 {font-family:var(--serif);font-size:30px;margin:12px 0 28px}
body .wd-models .row {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
body .wd-models .mcard {width:auto;min-width:0}
body .vrow {grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
body .md {padding:calc(var(--nav-height) + 64px) var(--gutter) 64px;gap:clamp(28px,5vw,72px);max-width:1320px;align-items:start}
body .md .info h1 {font-size:clamp(36px,4.4vw,60px);line-height:1.35}
body .spec {margin-top:30px}
body .spec b {font-family:var(--sans);font-size:11px;letter-spacing:.08em}
body .spec span {font-family:var(--sans);font-size:18px}
body .md .city {font-size:12px;letter-spacing:.05em}
body .mchips span {font-size:12px;letter-spacing:.04em;line-height:1.7}
body .empty {padding:80px var(--gutter);letter-spacing:.08em;font-size:14px}

/* Contact, registration, model centre */
body .contact-block {padding:64px var(--gutter);max-width:1100px;scroll-margin-top:24px}
body .contact-block p {line-height:2;font-size:14px;letter-spacing:.03em}
body .contact-block h2 {font-size:clamp(28px,3.6vw,44px);line-height:1.5}
body .contact-media {gap:24px}
body .cm-item {padding:20px;background:#fff;border:1px solid var(--line)}
body .cm-item img {width:220px;max-width:100%;height:220px;object-fit:contain;border:none}
body .cm-placeholder {max-width:100%;height:220px;font-size:14px}
body .msg-section {padding:48px 24px 80px;scroll-margin-top:24px}
body .msg-section>.kicker {font-size:11px;letter-spacing:.2em;color:var(--gray);margin-bottom:18px}
body .msg-section h2 {font-family:var(--serif);font-size:clamp(25px,3vw,36px);font-weight:400;line-height:1.65}
body .msg-section h2 em {font-style:normal}
body .msg-form label,body .jf-row>label {font-size:13px;letter-spacing:.03em;color:#57564f;line-height:1.7;margin-bottom:8px;display:block}
body .msg-form input,body .msg-form textarea,body .jf-row input:not([type=file]):not([type=checkbox]):not([type=radio]),body .jf-row textarea {font-size:16px;padding:12px 14px;background:#fff;color:var(--black);border:1px solid var(--line);border-radius:3px;min-width:0;line-height:1.5}
body .msg-form input:focus,body .msg-form textarea:focus,body .jf-row input:focus,body .jf-row textarea:focus {border-color:var(--accent);box-shadow:0 0 0 3px rgba(168,137,88,.12)}
body .jf-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
body .jf-title {color:var(--black);font-size:15px;font-weight:500;letter-spacing:.06em;margin:32px 0 20px;padding-bottom:14px}
body .jf-row {min-width:0}
body .jf-checks {display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
body .jf-checks label {display:flex;gap:8px;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);font-size:13px;cursor:pointer}
body input[type=checkbox],body input[type=radio] {accent-color:var(--black);width:18px;height:18px;flex-shrink:0}
body .jbtn {font-size:14px;letter-spacing:.06em;padding:13px 26px;min-height:48px;background:var(--black);color:#fff;border:1px solid var(--black);border-radius:2px;line-height:1.5;text-align:center}
body .jbtn.ghost {margin-left:0;background:transparent;color:var(--black)}
body .jbtn.ghost:hover {background:var(--black);color:#fff}
body .jnav-btns {flex-wrap:wrap;gap:12px}
body .jsteps {border-bottom:1px solid var(--line);padding-bottom:24px;gap:32px}
.join-validation {color:#9f2e25;font-size:13px;line-height:1.8;margin-bottom:16px}
.join-validation:empty {display:none}
body .jstep {font-size:14px;letter-spacing:.03em;line-height:1.6}
body .jstep i {width:32px;height:32px;flex-shrink:0}
body .ma-wrap {padding-top:calc(var(--nav-height) + 54px)}
body .ma-card {padding:28px;background:white;border-radius:4px}
body .ma-links {flex-wrap:wrap;gap:12px;font-size:13px;line-height:1.8}
body .ma-links a {min-height:44px;padding:10px 0}
body .ma-videos {grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}
body .ma-imgitem img {height:auto;aspect-ratio:3/4;object-fit:cover}
body .ma-imgops {flex-wrap:wrap;gap:12px;align-items:center;font-size:13px}
body .ma-imgops a {min-height:44px;padding:10px 0}
.ma-order {display:flex;gap:8px;margin-top:8px}
.ma-order button {flex:1;min-height:44px;border:1px solid var(--line);padding:8px;background:#fff;color:var(--black);font-size:12px;cursor:pointer}
.ma-order button:disabled {opacity:.4}
.ma-order-status {font-size:12px;line-height:1.8;margin-top:10px;color:var(--gray)}
body .jf-row input[type=file] {width:100%;padding:14px;background:#efede7;border:1px dashed #bbb5a9;font-size:13px;border-radius:4px;max-width:100%}
body input[type=file]::file-selector-button {font:inherit;min-height:44px;padding:8px 16px;margin-right:12px;border:1px solid var(--line);border-radius:3px;background:white;color:var(--black);cursor:pointer}
.password-field {position:relative}
body .password-field input {width:100%;padding-right:72px!important}
.password-toggle {position:absolute;right:5px;top:5px;bottom:5px;min-width:56px;min-height:38px;border:0;background:transparent;color:#675b47;font-size:13px;cursor:pointer}
.file-summary {display:block;margin-top:8px;font-size:12px;color:var(--gray);line-height:1.8}

/* Image and video viewers */
body .lightbox {padding:68px 56px;cursor:default}
body .lightbox img {width:auto;max-width:100%;max-height:calc(100dvh - 160px);object-fit:contain;cursor:zoom-out}
body .lightbox .close,body .vclose {position:absolute;top:16px;right:20px;width:44px;height:44px;font-size:24px;letter-spacing:0;border:1px solid rgba(255,255,255,.25);background:rgba(20,20,20,.55);color:white;display:flex;align-items:center;justify-content:center;opacity:1;border-radius:50%;cursor:pointer;z-index:3}
.lightbox .lb-prev,.lightbox .lb-next {position:absolute;top:50%;width:44px;height:52px;border:1px solid rgba(255,255,255,.25);background:rgba(20,20,20,.6);color:white;font-size:30px;z-index:2;cursor:pointer}
.lightbox .lb-prev {left:8px}.lightbox .lb-next {right:8px}
.lightbox .lb-caption {position:absolute;bottom:22px;left:24px;right:24px;text-align:center;color:#eee;font-size:13px;letter-spacing:.04em;line-height:1.8}
body .vmodal {padding:64px 24px}
body .vbox video {max-height:calc(100dvh - 140px)}
body .vbox .vclose {top:-54px;right:0}

/* Model cards */
body .mc-cart {top:var(--nav-height);z-index:80;background:rgba(248,247,243,.97);border-bottom:1px solid var(--line);box-shadow:0 6px 20px rgba(0,0,0,.04)}
body .mc-cart-inner {height:auto;min-height:78px;padding:12px var(--gutter);gap:16px}
body .mc-cart-label {color:var(--black);font-size:13px}
body .mc-cart-label b {font-family:var(--sans);font-size:18px;margin:0 6px}
body .mc-cart-empty {color:var(--gray);font-size:12px}
body .mc-th {overflow:visible;width:44px!important;height:44px!important;flex-shrink:0;border:1px solid var(--line);border-radius:2px}
body .mc-th .rm {top:-7px;right:-7px;width:24px;height:24px;border:0;border-radius:50%;font-size:12px;line-height:24px;background:var(--black);color:white}
body .mc-cart-items {padding:8px 6px;overflow-x:auto!important}
body .mc-dl {min-height:44px;border-radius:2px;font-size:13px;background:var(--black);color:#fff;padding:10px 20px}
body .mc-dl:hover:not(:disabled) {background:#3a3d36;color:white}
.mc-clear {min-height:44px;padding:10px 12px;border:1px solid var(--line);background:transparent;font-size:13px;white-space:nowrap;cursor:pointer}
.mc-clear:disabled {opacity:.45}
.mc-feedback {font-size:12px;line-height:1.8;color:#735c36;padding:0 var(--gutter) 8px;max-width:1600px;margin:auto}
.mc-feedback:empty {display:none}
body .mc-grid {max-width:1600px;padding:36px var(--gutter) 80px;gap:24px;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr))}
body .mc-card {border:1px solid var(--line);border-radius:3px;box-shadow:none}
body .mc-card:hover {transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
body .mc-ph img {opacity:1}
body .mc-theme-meta {font-family:var(--sans);font-size:15px;letter-spacing:.03em;padding:16px}
body .mc-pick {width:26px;height:26px;top:12px;left:12px;padding:0;border-radius:4px}
.mc-card .mc-pick {border-width:1.5px}
.mc-card .mc-pick svg {width:13px;height:13px}
body .mc-lb-stage img {width:auto;height:auto;max-width:calc(100vw - 100px);max-height:calc(100dvh - 150px);object-fit:contain;border-radius:0}
body .mc-lb-close {top:16px;right:20px;width:44px;height:44px;font-size:24px;color:white;background:rgba(20,20,20,.6);border:1px solid rgba(255,255,255,.25);opacity:1;border-radius:50%}
body .mc-lb-prev,body .mc-lb-next {display:block;padding:0;width:44px;height:52px;font-size:34px;background:rgba(20,20,20,.6);border:1px solid rgba(255,255,255,.25);opacity:1;line-height:1;color:white}
body .mc-lb-prev {left:8px}body .mc-lb-next {right:8px}
.mc-lb-counter {position:absolute;bottom:22px;left:24px;right:24px;text-align:center;color:white;font-size:13px;line-height:1.8}

/* Footer and motion fallbacks */
body .site-footer {padding:72px var(--gutter) 26px}
.footer-intro {display:flex;align-items:center;justify-content:space-between;gap:32px}
.footer-kicker {color:#a9aba4;font-size:10px;letter-spacing:.17em;margin-bottom:24px}
body .site-footer .big {font-size:clamp(36px,5.3vw,72px);line-height:1.3;margin-bottom:48px}
.footer-contact {display:flex;align-items:center;gap:28px;padding:16px 0;border-bottom:1px solid #777b73;font-size:14px;white-space:nowrap}
.footer-contact span {font-size:26px}
body .site-footer .cols {display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:32px;padding-top:32px}
body .site-footer .cols div {font-size:12px;letter-spacing:.04em;line-height:2.2;color:#b0b2a9;overflow-wrap:anywhere}
body .site-footer .cols b {font-size:10px;letter-spacing:.14em;margin-bottom:12px}
.site-footer a:hover {color:#fff}
.footer-bottom {display:flex;gap:24px;flex-wrap:wrap;align-items:center;border-top:1px solid #363b33;margin-top:40px;padding-top:22px;font-size:11px;color:#b0b2a9;letter-spacing:.04em}
.footer-bottom>span {margin-right:auto}
.footer-bottom a {min-height:36px;display:inline-flex;align-items:center}
body .rv {opacity:1;transform:none}
html.motion-ready .rv.reveal-pending {opacity:0;transform:translateY(20px)}
html.motion-ready .rv.in {opacity:1;transform:none}

@media (max-width:1200px) {
  .site-nav .logo-cn {display:none}
  body .mwall {grid-template-columns:repeat(4,minmax(0,1fr))}
  body .wall {gap:20px}
}
@media (max-width:1024px) {
  :root {--nav-height:72px}
  body .site-nav {padding:0 24px}
  .site-nav .logo {font-size:23px;gap:12px}
  .site-nav .logo-cn {display:inline;font-size:10px;padding-left:12px}
  .nav-toggle {display:flex;align-items:center;justify-content:center;gap:10px;min-width:76px;min-height:44px;border:1px solid currentColor;border-radius:2px;background:transparent;color:inherit;font-size:12px;letter-spacing:.05em;cursor:pointer}
  .nav-toggle-icon {width:18px;height:14px;display:flex;flex-direction:column;justify-content:space-between}
  .nav-toggle-icon i {display:block;height:1px;background:currentColor;transition:transform .2s}
  .menu-open .nav-toggle-icon i:first-child {transform:translateY(6.5px) rotate(45deg)}
  .menu-open .nav-toggle-icon i:last-child {transform:translateY(-6.5px) rotate(-45deg)}
  body .site-nav .nav-links {position:absolute;top:100%;left:0;right:0;padding:16px 24px 24px;background:var(--white);color:var(--black);display:flex;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - var(--nav-height));overflow-y:auto;box-shadow:0 20px 30px rgba(0,0,0,.12);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}
  body.menu-open .site-nav .nav-links {visibility:visible;opacity:1;transform:none}
  body .site-nav .nav-links a {justify-content:space-between;min-height:52px;border-bottom:1px solid var(--line);font-size:16px;letter-spacing:.08em;padding:12px 2px}
  .nav-links a>span {display:block;font-size:10px;letter-spacing:.12em;color:var(--gray)}
  body .site-nav .nav-links a::after {display:none}
  body .site-nav .nav-links a.on {color:#927347}
  body .site-nav .nav-contact a {margin-top:16px;padding:12px 16px;color:white;background:var(--black);border:0}
  .nav-contact a>span {color:white;font-size:20px}
  .nav-mobile-extra {display:block}
  body .site-nav .nav-mobile-extra a {font-size:13px;border:0;margin-top:8px}
  body .wall {grid-template-columns:repeat(3,minmax(0,1fr))}
  body .vgrid {grid-template-columns:repeat(2,minmax(0,1fr))}
  body .md {grid-template-columns:1fr 1fr}
}
@media (max-width:768px) {
  :root {--gutter:24px}
  body .hero {height:78svh;min-height:560px;max-height:800px}
  body .hero .caption {bottom:40px}
  body .hero .caption .kicker {font-size:10px;letter-spacing:.13em;line-height:1.9;margin-bottom:22px}
  body .hero .caption h1 {font-size:clamp(42px,8vw,60px);line-height:1.28}
  body .hero .scroll-hint {display:none}
  body .stats {padding:0}
  body .stats div {padding:30px 8px}
  body .stats span {font-size:11px;letter-spacing:.04em;margin-top:12px}
  body .section-head {padding-top:56px;padding-bottom:16px;gap:20px}
  body .grid {grid-template-columns:1fr 1fr;gap:28px 20px;padding-bottom:56px}
  body .grid .work {grid-column:auto;margin:0}
  body .grid .work .ph {aspect-ratio:3/4}
  body .grid .w-e {grid-column:1/-1}
  body .grid .w-e .ph {aspect-ratio:3/2}
  body .grid .work .meta h3 {font-size:15px}
  body .grid .work .meta span {font-size:11px}
  body .about {grid-template-columns:1fr}
  body .about .imgbox {aspect-ratio:4/3}
  body .about .txt {padding:40px var(--gutter)}
  body .about .txt h2 {font-size:30px}
  body .page-hero {padding-top:calc(var(--nav-height) + 40px);padding-bottom:36px}
  body .page-hero h1 {font-size:36px}
  body .page-hero h1 em {display:block;margin:12px 0 0;font-size:21px}
  body .wall {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  body .mwall {grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  body .wall,body .mwall,body .vgrid {padding-bottom:56px}
  body .wd-head {padding-top:calc(var(--nav-height) + 40px);padding-bottom:36px}
  body .md {grid-template-columns:1fr;padding-top:calc(var(--nav-height) + 36px);gap:28px}
  body .md>.ph {max-width:520px;width:100%;margin:auto}
  body .wd-models .row {grid-template-columns:repeat(3,minmax(0,1fr))}
  body .pager {padding-bottom:56px}
  .footer-intro {flex-direction:column;align-items:flex-start;gap:0}
  body .site-footer .big {margin-bottom:28px}
  .footer-contact {margin-bottom:36px}
  body .site-footer .cols {grid-template-columns:1fr 1fr}
  .footer-bottom {gap:12px 24px}
  .footer-bottom>span {flex-basis:100%}
}
@media (max-width:600px) {
  :root {--gutter:20px;--nav-height:68px}
  body .site-nav {padding:0 20px}
  .site-nav .logo {font-size:22px;letter-spacing:.2em}
  .site-nav .logo-cn {display:none}
  body .hero .caption h1 {font-size:clamp(40px,10vw,55px)}
  .hero-actions {gap:10px;margin-top:28px}
  .hero-actions a {font-size:13px;padding:12px 18px;gap:22px}
  body .stats b {font-size:38px}
  body .stats span {font-size:10px}
  body .section-head h2 {font-size:30px}
  body .section-head .more {font-size:12px}
  body .filters,body .vfilter {gap:8px;padding-top:24px!important;padding-bottom:24px!important}
  body .filters a,body .vfilter a {padding:10px 14px;font-size:12px}
  body .grid {gap:24px 14px}
  body .grid .work .meta {padding-top:12px;display:block}
  body .grid .work .meta h3 {font-size:14px;line-height:1.6}
  body .grid .work .tag {font-size:10px;padding:4px 8px;top:8px;left:8px}
  body .wall,body .mwall {gap:16px}
  body .wall .work .ovl {padding:40px 12px 12px}
  body .wall .work .ovl h3 {font-size:15px}
  body .wall .work .ovl p {font-size:11px;line-height:1.6}
  body .mwall {grid-template-columns:repeat(2,minmax(0,1fr))}
  body .mwall .mcard b {font-size:16px}
  body .mwall .mcard span {font-size:11px}
  body .vgrid {grid-template-columns:1fr;gap:24px}
  body .vgrid .vitem h3 {font-size:17px}
  body .wd-models .row {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  body .gallery figure {margin-bottom:16px}
  body .wd-head h1 {font-size:34px}
  body .contact-block {padding-top:48px;padding-bottom:40px}
  body .contact-block p {text-align:left;font-size:14px}
  body .contact-media {gap:16px}
  body .cm-item {width:100%;max-width:310px;padding:20px;display:flex;flex-direction:column;align-items:center}
  body .cm-item p {text-align:center}
  body .mf-grid,body .jf-grid {grid-template-columns:1fr}
  body .jsteps {gap:20px}
  body .jstep {font-size:13px;gap:8px}
  body .jnav-btns .jbtn {flex:1;padding-left:14px;padding-right:14px}
  body .join-wrap {padding:28px 20px 60px}
  body .ma-wrap {padding-left:20px;padding-right:20px;padding-bottom:60px}
  body .ma-card {padding:24px 20px}
  body .lightbox {padding:72px 50px}
  body .lightbox .close {right:16px}
  body .vmodal {padding:64px 12px}
  body.cards-page {padding-bottom:122px}
  body .mc-cart {position:fixed;top:auto;bottom:0;left:0;right:0;border-top:1px solid var(--line);border-bottom:0;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -8px 32px rgba(0,0,0,.07)}
  body .mc-cart-inner {display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 12px;padding:8px 16px}
  body .mc-cart-items {min-height:50px}
  body .mc-dl {grid-column:1/-1;min-height:44px;width:100%}
  body .mc-clear {font-size:12px;padding:8px}
  body .mc-cart-empty {font-size:11px}
  body .mc-grid {grid-template-columns:repeat(2,minmax(0,1fr));padding-top:24px;gap:14px}
  body .mc-theme-meta {font-size:13px;padding:12px}
  body .mc-pick {top:7px;left:7px}
  body .mc-lb-stage img {max-width:calc(100vw - 100px)}
  body .site-footer {padding-top:48px}
  body .site-footer .cols {grid-template-columns:1fr;gap:24px}
  .footer-kicker {font-size:9px;letter-spacing:.12em}
}
@media (max-width:359px) {
  body .hero .caption h1 {font-size:37px}
  .hero-actions a {padding:12px 14px;gap:16px}
  body .wall {grid-template-columns:1fr}
  body .jsteps {gap:12px}
  body .jstep {letter-spacing:0;font-size:12px}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*::before,*::after {animation:none!important;transition:none!important}
  html.motion-ready .rv.reveal-pending {opacity:1;transform:none}
}
@media (hover:none) {
  body .work:hover img,body .mcard:hover img,body .mc-ph:hover img {transform:none}
  body .mc-card:hover {transform:none}
}

/* ================= 暗色调层（复刻 starmodelagencymyanmar：#0a0a0a 底 / 暖白字 / #d8c5a0 金色强调） ================= */
.skip-link {color:#0a0a0a}
body .site-nav {background:rgba(10,10,12,.92);border-bottom-color:rgba(255,255,255,.09)}
body .hero {background:#0a0a0a}
body .stats {background:#141414}
body .filters a,body .vfilter a {color:#a5a5a5}
body .filters a:hover,body .vfilter a:hover {border-color:var(--ink);color:var(--ink)}
body .filters .on,body .vfilter .on,body .vfilter a.on {background:var(--ink);color:#0a0a0a;border-color:var(--ink)}
body .filters a.on:hover,body .vfilter a.on:hover,body .vfilter a.on {color:#0a0a0a}
body .grid .work .ph {background:#161616}
body .about {background:#141414}
body .about .txt p {color:#b5b2ab}
body .page-hero {background:#141414}
body .page-hero .kicker {color:#9b968b}
body .page-hero p {color:#a5a5a5}
body .wall .work {background:#161616}
body .pager a,body .pager span {color:#b5b2ab}
body .pager a:hover {border-color:var(--ink);color:var(--ink)}
body .pager span.cur {background:var(--ink);color:#0a0a0a;border-color:var(--ink)}
body .wd-head .desc,body .md .bio,body .contact-block p {color:#b5b2ab}
body .gallery figure {background:#161616}
body .cm-item {background:#141414}
body .cm-item img {background:#0a0a0a}
body .cm-placeholder {border-color:#2e2e2e;color:#b5b2ab}
body .msg-form label,body .jf-row>label {color:#b5b2ab}
body .msg-form input,body .msg-form textarea,
body .jf-row input:not([type=file]):not([type=checkbox]):not([type=radio]),body .jf-row textarea {background:#161616;color:var(--ink);border-color:#2e2e2e}
body .msg-form input:focus,body .msg-form textarea:focus,body .jf-row input:focus,body .jf-row textarea:focus {border-color:var(--accent);box-shadow:0 0 0 3px rgba(216,197,160,.14)}
body .jf-checks label {color:var(--ink)}
body .jbtn {background:var(--ink);color:#0a0a0a;border-color:var(--ink)}
body .jbtn:hover {background:#e8e2d5}
body .jbtn.ghost {background:transparent;color:var(--ink);border-color:var(--ink)}
body .jbtn.ghost:hover {background:var(--ink);color:#0a0a0a}
body .jf-row input[type=file] {background:#161616;border-color:#3a3a3a;color:var(--ink)}
body input[type=file]::file-selector-button {background:#1c1c1c;color:var(--ink);border-color:#2e2e2e}
body .join-err {background:#2a1614;color:#e8918a;border-color:#4a2420}
body .join-ok p {color:#a5a5a5}
body .jf-note {color:#a5a5a5}
body .msg-ok {background:#16241a;color:#8fd6a4;border-color:#274a32}
body .ma-card {background:#141414;border-color:#262626}
body .ma-links a {color:#a5a5a5}
body .ma-ok {background:#16241a;color:#8fd6a4;border-color:#274a32}
body .ma-sub,body .ma-imgops,body .ma-order-status,body .file-summary {color:#a5a5a5}
body .ma-order button {background:#1c1c1c;color:var(--ink);border-color:#2e2e2e}
body .password-toggle {color:var(--accent)}
body .jstep.on i {background:var(--ink);color:#0a0a0a;border-color:var(--ink)}
body .ma-status.st0 {background:#241d10;color:#e0b064;border-color:#4a3a1a}
body .ma-status.st1 {background:#16241a;color:#8fd6a4;border-color:#274a32}
body .ma-status.st2 {background:#2a1614;color:#e8918a;border-color:#4a2420}
body .ma-status.st3 {background:#1c1c1c;color:#a5a5a5;border-color:#2e2e2e}
body .mc-cart {background:rgba(10,10,12,.94)}
body .mc-th {background:#141414;border-color:#2e2e2e}
body .mc-dl {background:var(--ink);color:#0a0a0a}
body .mc-dl:hover:not(:disabled) {background:#e8e2d5;color:#0a0a0a}
/* 清空键：暗色下必须显式覆盖。浅色段只有 .mc-clear（透明底 + 继承色），
   在深色工具条上就变成近黑字 + 透明背景，根本看不见。做成次级描边按钮，尺寸与 .mc-dl 对齐。 */
body .mc-clear {background:transparent;color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.38);border-radius:17px;min-height:44px;padding:10px 16px;font-size:12px;letter-spacing:.1em;white-space:nowrap;cursor:pointer;transition:color .25s,border-color .25s}
body .mc-clear:hover:not(:disabled) {color:#fff;border-color:rgba(255,255,255,.75)}
body .mc-clear:disabled {opacity:.35;cursor:not-allowed}
body .mc-card {background:#141414;border-color:#2e2e2e}
body .mc-theme-meta {background:#141414;color:var(--ink);border-top-color:#262626}
.mc-count {background:rgba(0,0,0,.72)}
.mc-theme:hover {border-color:var(--ink)}
.mc-feedback {color:var(--accent)}
body .site-footer,footer {background:var(--deep);color:var(--ink)}
body .site-footer .cols div,.footer-kicker,.footer-bottom {color:#a5a5a5}
body .site-footer .cols b {color:var(--ink)}
.footer-bottom {border-top-color:#262626}
.footer-intro .big em {color:rgba(242,239,233,.55)}
.footer-contact {border-bottom-color:#4a4a4a}

/* ================= 公共栏目页头（视觉基准：模特栏目 models.php） =================
   结构：.col-head > [.col-back] + .kicker + .col-title( h1[+em] + span ) + .col-note
   导航：.col-nav > a[.on]
   状态：默认不吸顶（position:static）；激活项金色下边框；悬停提亮字色
   渲染函数：includes/page_head.php  col_head() / col_nav()
   ============================================================================ */
body .col-head {max-width:1600px;margin:0 auto;padding:calc(var(--nav-height) + 64px) var(--gutter) 48px}
body .col-head.col-head-nav {padding-bottom:24px}
body .col-head.col-head-plain {max-width:none;margin:0;padding:0 0 34px}
body .col-back {display:inline-block;min-height:44px;margin-bottom:18px;font-size:13px;color:var(--gray)}
body .col-back:hover {color:var(--ink)}
body .col-head .kicker {font-size:10px;letter-spacing:.2em;color:var(--gray);margin:0 0 22px}
body .col-title {display:flex;align-items:baseline;gap:24px}
body .col-title::after {content:'';flex:1;min-width:0;height:1px;background:#b59c77;align-self:center}
body .col-title h1 {font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.8vw,58px);line-height:1.35;letter-spacing:.02em;max-width:100%;min-width:0;overflow-wrap:anywhere}
body .col-title h1 em {font-weight:400;font-size:.78em;margin-left:14px;color:#9b8a6c;font-style:normal}
body .col-title>span {font-size:12px;color:#a5a5a5;white-space:nowrap;order:3}
body .col-note {margin-top:18px;font-size:13px;letter-spacing:.06em;line-height:1.8;color:#a5a5a5;max-width:65ch}
body .col-head.col-head-plain .col-title h1 {font-size:clamp(30px,3.2vw,44px)}
/* 注意：style.css 中裸元素选择器 nav{position:fixed;…} 会命中页面内所有 <nav>，
   这里必须像 .model-categories 那样显式复位，否则筛选导航会跑到屏幕顶部 */
body .col-nav {position:static;top:auto;left:auto;right:auto;z-index:auto;height:auto;mix-blend-mode:normal;color:var(--black);max-width:1600px;margin:0 auto;display:flex;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:6px 24px;padding:0 var(--gutter) 32px}
body .col-nav a {max-width:100%;min-width:0;overflow-wrap:anywhere;font-size:13px;line-height:1.5;min-height:44px;padding:11px 0;color:#8f8b83;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
body .col-nav a:hover {color:var(--ink)}
body .col-nav a.on {color:var(--ink);border-bottom-color:#d8c5a0}
@media (max-width:768px) {
  body .col-head {padding-top:calc(var(--nav-height) + 40px)}
  body .col-title {gap:16px;flex-wrap:wrap}
  body .col-title::after {min-width:30px}
  body .col-title>span {width:100%;white-space:normal}
  body .col-title h1 {font-size:36px}
  body .col-title h1 em {font-size:24px}
  body .col-nav {gap:4px 20px;padding-bottom:28px}
}
@media (max-width:600px) {
  body .col-head .kicker {font-size:9px}
  body .col-title h1 {font-size:32px}
  body .col-title h1 em {font-size:22px;margin-left:8px}
  body .col-title>span {font-size:11px}
  body .col-nav {gap:4px 18px;padding-bottom:24px}
  body .col-nav a {font-size:12px}
}

/* ================= 公共全屏幻灯片（基准＝模特内页，model.php / work.php 共用） =================
   渲染函数：includes/slideshow.php  slideshow()
   交互：单指左右滑动切图（跟手拖拽、松手即切不回弹）/ 双指缩放 / 滚轮缩放 / 键盘 + - 0
   ============================================================================================ */
.mp-slideshow {position:fixed;inset:0;z-index:999;background:rgba(8,8,9,.96);display:none;flex-direction:column;touch-action:pan-y}
.mp-slideshow.open {display:flex}
.mps-stage {flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:56px 16px 8px;cursor:zoom-out;touch-action:none;overflow:hidden}
.mps-stage img {max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 20px 80px rgba(0,0,0,.5);user-select:none;-webkit-user-drag:none;will-change:transform}
.mps-close {position:absolute;top:16px;right:20px;z-index:3;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);background:rgba(20,20,20,.6);color:#fff;font-size:24px;border-radius:50%;cursor:pointer;line-height:1}
.mps-bar {display:flex;align-items:center;justify-content:center;gap:18px;padding:10px 16px 4px;color:#fff}
.mps-hint {font-size:10px;letter-spacing:.14em;color:rgba(255,255,255,.42);white-space:nowrap}
.mps-hint[hidden] {display:none}
.mps-counter {font-size:12px;letter-spacing:.2em;color:rgba(255,255,255,.75)}
.mps-zoom {font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.28);padding:5px 9px;border-radius:2px;white-space:nowrap}
.mps-zoom[hidden] {display:none}
.mps-play {border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:12px;letter-spacing:.12em;padding:8px 16px;min-height:38px;cursor:pointer;border-radius:2px;font-family:inherit}
.mps-play:hover {background:rgba(255,255,255,.12)}
.mps-thumbs {display:flex;gap:8px;overflow-x:auto;padding:10px 16px calc(12px + env(safe-area-inset-bottom));scrollbar-width:none}
.mps-thumbs::-webkit-scrollbar {display:none}
.mps-thumb {flex:none;width:52px;height:52px;padding:0;border:1px solid rgba(255,255,255,.2);background:#111;cursor:pointer;opacity:.55;transition:opacity .2s,border-color .2s;overflow:hidden}
.mps-thumb img {width:100%;height:100%;object-fit:cover;display:block}
.mps-thumb.on {opacity:1;border-color:#c8a15a}
.mps-thumb:hover {opacity:.85}
/* 水平滑动过渡（参数对齐模特卡内页 mc-lb）：拖拽带轻微缩小，出场 60vw+缩放+淡出，新图反向滑入 */
.mps-stage img {transition:opacity .18s linear, transform .3s cubic-bezier(.19,1,.22,1);transform:var(--drag,translate(0,0)) var(--z,translate(0,0));opacity:var(--o,1)}
.mp-slideshow.is-swapping .mps-stage img {opacity:0}
.mp-slideshow.is-sliding .mps-stage img,
.mp-slideshow.is-entering .mps-stage img {transition:transform .28s cubic-bezier(.2,.8,.3,1), opacity .28s}
.mp-slideshow.slide-next.is-sliding .mps-stage img {transform:translateX(-60vw) scale(.92);opacity:0}
.mp-slideshow.slide-prev.is-sliding .mps-stage img {transform:translateX(60vw) scale(.92);opacity:0}
.mp-slideshow.slide-next.is-entering .mps-stage img {transform:translateX(60vw) scale(.92);opacity:0}
.mp-slideshow.slide-prev.is-entering .mps-stage img {transform:translateX(-60vw) scale(.92);opacity:0}
.mp-slideshow.no-anim .mps-stage img {transition:none!important}
.mp-slideshow.dragging .mps-stage img {transition:opacity .18s linear}
@media (max-width:600px) {
  .mps-thumb {width:44px;height:44px}
  .mps-stage {padding:52px 8px 4px}
}
@media (prefers-reduced-motion:reduce) {.mps-thumb{transition:none}.mps-stage img{transition:none}}

/* ---------- 作品内页：手机端照片墙（对齐模特内页 .model-photo-grid：2 列 / 8px / 3:4） ---------- */
@media (max-width:768px) {
  body .gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body .gallery figure {margin:0;aspect-ratio:3/4;overflow:hidden;background:#161616;cursor:zoom-in}
  body .gallery figure img {height:100%;object-fit:cover;object-position:center}
}

/* ================= 全站统一：图片 / 视频加载完成淡入 =================
   适用：作品、视频、模特、模特卡、模特内页、作品内页等所有图片列表。
   给 <img>/<video> 加 class="js-fade"，JS（assets/js/main.js）在 load / loadeddata / error 后加 .is-loaded。

   为什么用 animation 而不是 transition：
   各处的 img 大多已带 filter / transform 过渡，且模特卡的 img 默认 opacity 是 .75（hover/选中才 1）。
   再写一条 opacity transition 会把它们整体覆盖；animation 则与 transition 互不干扰。
   关键：@keyframes 只写 from，终态（to）留空 = 沿用元素自身的计算值，
   所以模特卡淡入到 .75、hover 到 1 的语义完全保留，动画结束后也不会压制 hover。 */
html.js .js-fade:not(.is-loaded) {opacity:0}
html.js .js-fade.is-loaded {animation:jsFadeIn .6s ease}
@keyframes jsFadeIn {from{opacity:0}}
/* 脚本万一没跑起来（网络失败等）也不能让图永久隐形 */
@media (prefers-reduced-motion:reduce) {html.js .js-fade:not(.is-loaded){opacity:1}}
