@font-face{font-family:'Bellefair';src:url('../fonts/bellefair-latin.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Dancing Script';src:url('../fonts/dancing-script-400-latin.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Dancing Script';src:url('../fonts/dancing-script-600-latin.woff2') format('woff2');font-weight:600;font-display:swap}

:root{--dark:#2f323b;--gray:#9c9c9c;--ink:#26282e;--mut:#6b7280;--line:#e5e7eb;
--white:#fff;--bg:#ffffff;--ff-serif:"Bellefair",Georgia,"Times New Roman",serif;
--ff-script:"Dancing Script",cursive;--ff-body:"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--ff-body);color:var(--ink);background:var(--bg);font-size:17px;line-height:1.65}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
/* ---------- nav ---------- */
.nav{background:var(--dark);color:#fff;position:sticky;top:0;z-index:50}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px}
.brand{font-family:var(--ff-serif);font-size:26px;letter-spacing:2px;text-decoration:none;white-space:nowrap}
.brand small{display:block;font-family:var(--ff-body);font-size:10px;letter-spacing:4.5px;color:#c9ccd4;text-transform:uppercase;margin-top:-4px}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none;flex-wrap:wrap}
.nav-links a{color:#e9ebf0;text-decoration:none;font-size:14px;letter-spacing:1.6px;text-transform:uppercase;padding:8px 0;border-bottom:2px solid transparent}
.nav-links a:hover{border-bottom-color:#fff}
.nav-links a.shop{color:#f3d27c}
.nav-links a.shop:hover{border-bottom-color:#f3d27c}
.menu-btn{display:none;background:none;border:1px solid #ffffff55;color:#fff;font-size:13px;letter-spacing:2px;padding:8px 16px;border-radius:4px;cursor:pointer;text-transform:uppercase}
@media(max-width:920px){
 .menu-btn{display:block}
 .nav .wrap{flex-wrap:wrap}
 .nav-links{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:4px;padding-bottom:16px}
 .nav-links.open{display:flex}
}
/* ---------- hero ---------- */
.hero{position:relative;min-height:calc(100vh - 72px);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:#23252b center/cover no-repeat;overflow:hidden}
.hero>.shade{position:absolute;inset:0;background:rgba(20,22,28,.3)}
.hero .inner{position:relative;z-index:2;padding:48px 24px;width:100%}
.hero h1{font-family:var(--ff-serif);font-weight:400;font-size:clamp(44px,8.5vw,118px);letter-spacing:.14em;line-height:1.1}
.hero h1 .g1{display:inline-block}
.hero h1 .g2{margin-left:.38em}
@media(min-width:760px){.hero h1{white-space:nowrap}}
.hero .sub{font-family:var(--ff-script);font-size:clamp(26px,3.6vw,44px);margin-top:14px;color:#fff}
.hero.tall{min-height:88vh}
/* ---------- generic bands ---------- */
.band{padding:78px 0}
.band.on-dark{background:var(--dark);color:#fff}
.band.on-gray{background:var(--gray);color:#fff}
.band h2,.band .lead{font-family:var(--ff-serif);font-weight:400;letter-spacing:2px;line-height:1.2}
.band .lead{font-size:clamp(28px,4vw,44px)}
.band .kicker{font-size:13px;letter-spacing:6px;text-transform:uppercase;color:inherit;opacity:.65;margin-bottom:10px}
.band p.para{margin-top:22px;max-width:820px;margin-left:auto;margin-right:auto}
.band.center{text-align:center}
.quote-big{font-family:var(--ff-serif);font-size:clamp(28px,4vw,46px);line-height:1.3;letter-spacing:1px}
blockquote{font-style:italic;font-size:19px;margin:22px auto 0;max-width:800px}
.author{margin-top:16px;font-size:13px;letter-spacing:3px;text-transform:uppercase;opacity:.75}
/* ---------- photo rows ---------- */
/* 图文行: ≥1100px 才左右分栏(文字40/图60); 窄于1100 时文字与图片同框堆叠 */
.photo-row{display:grid;grid-template-columns:40% 60%;align-items:stretch}
.photo-row.flip{grid-template-columns:60% 40%}
@media(max-width:1100px){
 .photo-row{display:block}
 .photo-row .txt{padding:clamp(34px,5vw,60px) clamp(22px,5vw,48px) 6px}
 .photo-row .pic{width:calc(100% - 44px);margin:20px 22px 44px;height:auto}
}
.photo-row.on-dark{background:var(--dark);color:#fff}
.photo-row.on-gray{background:var(--gray);color:#fff}
.photo-row .txt{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,3.6vw,56px)}
.photo-row .txt h2{font-family:var(--ff-serif);font-weight:400;font-size:clamp(30px,3.6vw,52px);letter-spacing:2px;line-height:1.12;margin-bottom:18px}
.photo-row .txt p{max-width:440px;font-size:16.5px;line-height:1.75;color:inherit;opacity:.92}
.photo-row .txt p a{text-decoration:none}
.photo-row .pic{width:100%;height:auto;display:block;object-fit:contain}
.photo-row.wa .pic{object-position:center}
/* ---------- grids ---------- */
.grids,.phgrid{display:grid;gap:26px}
.grids{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.phgrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.tile{text-decoration:none;color:inherit;display:block}
.tile .ph{aspect-ratio:1/1;background:#f3f4f6 center/cover no-repeat;border-radius:2px}
.tile h3{font-family:var(--ff-serif);font-weight:400;letter-spacing:1.2px;font-size:21px;margin-top:12px;text-align:center}
.tile .note{font-size:12.5px;color:var(--mut);text-align:center;margin-top:2px;letter-spacing:.4px}
.grid-head{text-align:center;margin-bottom:44px}
.grid-head h2{font-family:var(--ff-serif);font-weight:400;font-size:clamp(30px,3.8vw,48px);letter-spacing:3px}
.grid-head p{margin-top:8px;color:var(--mut)}
/* ---------- exhibitions ---------- */
.exh{margin:34px auto 0;max-width:860px;text-align:left}
.exh .row{display:grid;grid-template-columns:1fr auto;gap:18px;padding:24px 4px;border-top:1px solid var(--line);align-items:start}
.exh .date{font-weight:700;letter-spacing:.6px}
.exh .meta{color:var(--mut);font-size:15px;margin-top:4px}
.exh .booth{white-space:nowrap;font-size:14px;letter-spacing:1px;background:#f3f4f6;border:1px solid var(--line);padding:8px 16px;border-radius:40px}
/* ---------- video ---------- */
.video-wrap{max-width:880px;margin:0 auto}
.video-wrap .frame{position:relative;aspect-ratio:16/9;background:#000}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* ---------- contact ---------- */
.contact .cols{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(30px,5vw,80px);margin-top:36px}
.contact.on-dark{background:var(--dark);color:#fff}
.contact.on-light{background:#f4f4f4;color:var(--ink)}
.contact h2{font-family:var(--ff-serif);font-weight:400;font-size:clamp(30px,3.6vw,46px);letter-spacing:2px}
.contact .blurb{margin-top:14px;opacity:.9}
.field{margin-bottom:14px}
.field input,.field textarea{width:100%;border:1px solid transparent;border-radius:2px;padding:13px 15px;font:inherit;font-size:15px;background:#ffffff;color:var(--ink)}
.contact.on-dark .field input,.contact.on-dark .field textarea{background:#3d404a;color:#fff}
.contact.on-dark .field input::placeholder,.contact.on-dark .field textarea::placeholder{color:#b9bdc7}
.btn{border:0;cursor:pointer;font:inherit;font-size:14px;letter-spacing:3px;text-transform:uppercase;padding:14px 34px;background:transparent;color:inherit;border:1px solid currentColor;transition:.2s}
.btn:hover{background:#ffffff22}
.contact.on-light .btn:hover{background:#00000010}
.contact ul.ci{list-style:none;margin-top:6px}
.contact ul.ci li{padding:9px 0;border-bottom:1px solid transparent;font-size:15.5px}
.contact.on-dark ul.ci li{border-bottom-color:#ffffff1f}
.contact.on-light ul.ci li{border-bottom-color:#00000014}
.contact ul.ci b{display:inline-block;min-width:86px;font-weight:600;letter-spacing:1px;font-size:13px;text-transform:uppercase;opacity:.75}
@media(max-width:900px){.contact .cols{grid-template-columns:1fr}}
/* ---------- footer ---------- */
.footer{background:var(--gray);color:#fff;padding:44px 0;text-align:center}
.footer .line{font-size:15px;letter-spacing:.5px;opacity:.95}
.footer .copy{margin-top:6px;font-size:13px;opacity:.8;letter-spacing:1px}
.socials{display:flex;gap:14px;justify-content:center;margin-top:18px}
.socials a{width:38px;height:38px;border-radius:50%;border:1px solid #ffffff88;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:15px;transition:.2s}
.socials a:hover{background:#ffffff22}
.pgsec{scroll-margin-top:80px}
.on-dark{color:#fff}
.on-dark .grid-head p,.on-dark .tile .note{color:rgba(255,255,255,.68)}
.on-dark .tile h3{color:#fff}
.on-dark blockquote{color:#eceef2}
.on-dark .author{color:rgba(255,255,255,.75)}
.on-dark .exh .row{border-color:rgba(255,255,255,.22)}
.on-dark .exh .meta{color:rgba(255,255,255,.78)}
.on-dark .exh .booth{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff}
