@charset "utf-8";
/* ==========================================================================
   LEONA GU Gallery — Front-end Style
   还原自 https://www.emeetswart.com.au/  (Astra + Elementor 视觉语言)
   ========================================================================== */

/* ---------- 变量 ---------- */
:root{
	--c-bg:#ffffff;
	--c-text:#3a3a3a;
	--c-title:#1b1b1b;
	--c-muted:#7a7a7a;
	--c-line:#ebebeb;
	--c-accent:#8c7f6a;
	--c-accent-dark:#6f6452;
	--c-footer-bg:#fafafa;

	/*
	 * 字体 —— 对齐原站 https://www.emeetswart.com.au/
	 *   站点 sans  = Inter 400/600   （Google Fonts，字体文件已落在 assets/fonts）
	 *   站点 serif = Marcellus 400   （用于 h1–h6 / 站点名）
	 *   copy       = Arial           （原站 About / 内文段落是作者当年从 Word 粘贴进来的，
	 *                                 自带内联 style="font-size:12pt;font-family:Arial"，
	 *                                 12pt = 16px，所以这里单独留一套 Arial 还原这段观感）
	 */
	--f-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
	--f-serif:"Marcellus",Georgia,"Times New Roman",serif;
	--f-copy:Arial,Helvetica,"PingFang SC","Microsoft YaHei",sans-serif;
	--lh-body:1.7;

	--w-container:1200px;
	--gap:24px;
	--r:3px;
	--t:.28s cubic-bezier(.4,0,.2,1);

	/*
	 * 页头尺寸 —— 要整体放大/缩小 logo 只改这两个值。
	 * logo 用 max-height + width:auto，所以等比缩放：宽高同步放大，不会变形。
	 * 比例关系：页头高 = logo 高 × 1.647（≈ 上下各留 0.32 倍 logo 高的白）。
	 *   原站 https://www.emeetswart.com.au/ 就是这个比例（logo 99 / 页头 164）。
	 * 2026-10-02 叶工要求「导航 logo 放大 30%」：52 → 68，页头 86 → 112。
	 * 移动端（≤860px）在下面的 media 里单独给值，别在这里用 calc 自动推。
	 */
	--logo-h:68px;
	--header-h:112px;
}

/* ---------- 基础 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
	margin:0;
	background:var(--c-bg);
	color:var(--c-text);
	font-family:var(--f-sans);
	font-size:16px;
	line-height:var(--lh-body);
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--t)}
/*
 * 标题字阶 —— 取自原站 Astra 主题输出的 inline CSS（== h1 72 / h2 48 / h3 32 / h4 22 / h5 21 / h6 17）
 * 全部为 Marcellus 400，h4–h6 额外 600、h6 首字母大写
 */
h1,h2,h3,h4,h5,h6{font-family:var(--f-serif);color:var(--c-title);font-weight:400;line-height:1.2;margin:0 0 .6em}
h1,.entry-content h1{font-size:72px;letter-spacing:-1px}
h2,.entry-content h2{font-size:48px}
h3,.entry-content h3{font-size:32px;line-height:1em}
h4,.entry-content h4{font-size:22px;line-height:1.4em;font-weight:600}
h5,.entry-content h5{font-size:21px;line-height:1.4em;font-weight:600}
h6,.entry-content h6{font-size:17px;line-height:1.7em;font-weight:600;text-transform:capitalize}
p{margin:0 0 1.5em}
ul{margin:0 0 1.2em;padding-left:1.4em}
input,textarea,select,button{font:inherit;color:inherit}

.container{width:100%;max-width:var(--w-container);margin:0 auto;padding:0 24px}
.container-narrow{max-width:860px}

.skip-link{
	position:absolute;left:-9999px;top:0;z-index:9999;
	background:#000;color:#fff;padding:10px 18px;
}
.skip-link:focus{left:12px;top:12px}

/* ---------- Header ---------- */
/* 顶部渐变色条（对齐原站，2026-10-02 从截图取色：左红 → 右蓝，厚 8px） */
.top-colorbar{
	height:8px;
	background:linear-gradient(90deg,#d22e2d 0%,#a85c64 50%,#0c739e 100%);
}
.site-header{
	position:sticky;top:0;z-index:100;
	background:rgba(255,255,255,.96);
	backdrop-filter:saturate(180%) blur(8px);
	border-bottom:1px solid var(--c-line);
}
.header-inner{
	display:flex;align-items:center;justify-content:space-between;
	gap:24px;min-height:var(--header-h);
}
.site-brand{display:flex;align-items:center;flex:0 0 auto}
.site-logo-img{max-height:var(--logo-h);width:auto;display:block}
.site-logo-text{
	font-family:var(--f-serif);font-size:26px;letter-spacing:.14em;
	color:var(--c-title);font-weight:600;
}

/*
 * 注意：这里必须用 .main-menu > ul（只作用于一级列表）。
 * 原写法 .main-menu ul 会连下拉的 .sub-menu 一起命中，
 * 而 .main-menu ul(0,1,1) 优先级高于 .sub-menu(0,1,0)，
 * 会把子菜单也变成 flex 行 → 下拉项横排。
 */
.main-menu > ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
/* 一级菜单 —— 原站 Max Mega Menu 链接：Inter 16px / 400 / 行高 40px / 不大写 / 无字距 */
.main-menu > ul > li{position:relative}
.main-menu a{
	display:block;padding:0 15px;
	font-size:16px;font-weight:400;line-height:40px;letter-spacing:normal;text-transform:none;
	color:var(--c-text);position:relative;white-space:nowrap;
}
.main-menu > ul > li.current-menu-item > a,
.main-menu > ul > li:hover > a{color:var(--c-accent)}
.main-menu > ul > li > a::after{
	content:"";position:absolute;left:16px;right:16px;bottom:6px;height:1px;
	background:var(--c-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--t);
}
.main-menu > ul > li:hover > a::after,
.main-menu > ul > li.current-menu-item > a::after{transform:scaleX(1)}
/* has-children 的小箭头：菜单链接改成 padding:0 15px 后重新定位 */
.has-children > a{padding-right:26px}
.has-children > a::before{right:12px;top:50%;margin-top:-2px}

/* ---------- 下拉菜单 ----------
 * 还原原站桌面端下拉：Max Mega Menu 的 flyout 主题
 * （原站桌面菜单是 Max Mega Menu，非 Astra；Astra 那套只在移动端生效）
 *   ul.mega-sub-menu  → 宽 250px / padding 20px 0 / 无边框 / 无阴影 / 白底 / 直角
 *   a.mega-menu-link  → 字号 14px / 行高 50px / 左右内边距 20px / #666 / 不大写
 *   悬浮              → 文字 #d52b2a，底色仍为白
 *   出现动效          → fade_up：opacity 0 + translateY(10px) → 0，200ms ease-in
 */
.has-children > a::before{
	content:"";position:absolute;right:12px;top:50%;margin-top:-2px;
	border:4px solid transparent;border-top-color:currentColor;opacity:.6;
}
.sub-menu{
	position:absolute;left:0;top:100%;z-index:999;
	width:250px;min-width:0;margin:0;padding:20px 0;
	list-style:none;
	background:#fff;border:0;border-radius:0;box-shadow:none;
	opacity:0;visibility:hidden;transform:translateY(10px);
	transition:opacity .2s ease-in,transform .2s ease-in,visibility .2s ease-in;
}
.has-children:hover > .sub-menu,
.has-children:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
/* 子项竖向排列，占满整宽，无分隔线 */
.sub-menu > li{display:block;float:none;width:100%;margin:0;padding:0;border:0}
.sub-menu li a{
	display:block;height:50px;line-height:50px;padding:0 20px;
	font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;
	color:#666;background:#fff;white-space:nowrap;
}
.sub-menu li:hover > a,
.sub-menu li.current-menu-item > a{background:#fff;color:#d52b2a}

/* 移动端菜单按钮 */
.menu-toggle{
	display:none;background:none;border:0;cursor:pointer;padding:10px;
	width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;
}
.menu-toggle span{display:block;height:2px;width:24px;background:var(--c-title);transition:var(--t)}
.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-open span:nth-child(2){opacity:0}
.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Hero Slider ---------- */
.hero-slider{position:relative;overflow:hidden;background:#000;line-height:0}
.hero-slider .slides{position:relative}
.hero-slider .slide{
	position:absolute;inset:0;opacity:0;transition:opacity .9s ease;z-index:1;
}
.hero-slider .slide:first-child{position:relative}
.hero-slider .slide.is-active{opacity:1;z-index:2}
.hero-slider .slide img{width:100%;height:auto;max-height:78vh;object-fit:cover}
.slide-arrow{
	position:absolute;top:50%;transform:translateY(-50%);z-index:5;
	width:46px;height:46px;border:0;border-radius:50%;cursor:pointer;
	background:rgba(255,255,255,.82);color:#333;font-size:20px;line-height:1;
	display:flex;align-items:center;justify-content:center;transition:var(--t);
}
.slide-arrow:hover{background:#fff}
.slide-arrow.prev{left:20px}
.slide-arrow.next{right:20px}
.slide-dots{
	position:absolute;left:0;right:0;bottom:20px;z-index:5;
	display:flex;justify-content:center;gap:9px;
}
.slide-dots .dot{
	width:11px;height:11px;padding:0;border:0;border-radius:50%;cursor:pointer;
	background:rgba(255,255,255,.55);transition:var(--t);
}
.slide-dots .dot.is-active{background:#fff;transform:scale(1.25)}

/* ---------- 内页 Banner ----------
 * 对齐原站两种做法：
 *   .page-banner-cover → 固定高度 + background cover（原站 Painting / Sculpture 的容器背景图）
 *   .page-banner-full  → 图片等比铺满整宽（原站 Biography / Statement / Contact 的图片组件）
 * 高度走 --bh 自定义属性（不用 inline height），这样移动端媒体查询能直接覆盖。
 */
.page-banner{width:100%;background-color:#111}
.page-banner-full{line-height:0}
.page-banner-full img{width:100%;height:auto;display:block}
.page-banner-cover{
	height:var(--bh,400px);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
}

/* ---------- 通用 Section ---------- */
.section{padding:78px 0}
.section + .section{padding-top:0}
.section-head{text-align:center;margin-bottom:52px}
/* 区块大标题 —— 原站无论 h1/h2 均为 Marcellus 48px / 400 / 行高 1.2，无字距 */
.section-title{
	font-size:48px;line-height:1.2;letter-spacing:normal;margin-bottom:.25em;
}
.section-title::after{
	content:"";display:block;width:56px;height:2px;margin:18px auto 0;
	background:var(--c-accent);opacity:.75;
}
/* 副标语 —— 原站：Inter 16px / 400 / 行高 16px */
.section-tagline{
	font-family:var(--f-sans);font-size:16px;line-height:1;color:var(--c-muted);
	letter-spacing:normal;margin:0;
}
.empty{text-align:center;color:var(--c-muted);padding:40px 0}

/* ---------- 按钮 ---------- */
/* .btn —— 原站 Elementor 按钮文字：Inter 16px / 600 / 行高 16px / 字距 0.36px / 全大写 */
.btn{
	display:inline-block;padding:13px 30px;border-radius:var(--r);
	font-family:var(--f-sans);
	font-size:16px;font-weight:600;line-height:16px;letter-spacing:.36px;text-transform:uppercase;
	border:1px solid var(--c-title);transition:var(--t);cursor:pointer;
	background:none;
}
.btn-outline{color:var(--c-title);border-color:#d8d8d8}
.btn-outline:hover{background:var(--c-title);border-color:var(--c-title);color:#fff}
.btn-solid{background:var(--c-title);border-color:var(--c-title);color:#fff}
.btn-solid:hover{background:var(--c-accent);border-color:var(--c-accent)}
/* 首页 About 的 More 按钮 —— 原站取 Elementor 默认次要色 #54595F，纯方角、无边框（实测 119 × 52） */
.btn-gray{background:#54595f;border:0;border-radius:0;padding:18px 35px;color:#e9e9e9}
.btn-gray:hover{background:#000;color:#fff}
.section-more{text-align:center;margin-top:44px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---------- About ---------- */
/* 首页 About 区块 —— 对齐原站首页实测值
 * 容器 1200 / padding 100px 0 / flex row / gap 50px
 *   左列 40.67%（原站 488px），图片无内边距，826×707 等比 → 488 × 417
 *   右列 55.17%（原站 662px），内边距 10px
 * 区块内垂直间距：h2 → h6 = 23px、h6 → 正文 = 20px、正文 → 按钮 = 20px
 */
.section-about{padding:100px 0}
.about-grid{display:flex;gap:50px;align-items:flex-start}
.about-media{flex:0 0 40.67%}
.about-media img{width:100%;height:auto;display:block;border-radius:0}
.about-body{flex:1 1 auto;min-width:0;padding:10px}
.about-body .section-title{text-align:left;margin:0 0 23px}
.about-body .section-title::after{display:none}
/* 人名副标题 —— 对应原站 h6：Marcellus 17px / 600 / 行高 1.7 / 色 #00070a（原站不是棕色） */
.section-subname{
	font-size:17px;line-height:1.7;font-weight:600;text-transform:capitalize;
	letter-spacing:normal;color:#00070a;margin:0 0 20px;
}
/* 正文 —— 还原原站从 Word 粘贴带来的 Arial 12pt(16px) / 行高 1.7 / 纯黑；
 * 原站段与段之间是一个空行（= 一个行高 27.2px），不是段间距 margin */
.about-text{font-family:var(--f-copy);color:#000;font-size:16px;line-height:1.7}
.about-text p{margin:0 0 1.7em}
.about-text p:last-child{margin-bottom:0}
.about-body .btn{margin-top:20px}

/* ---------- 作品网格 ---------- */
.art-grid{display:grid;gap:34px var(--gap)}
.art-grid-3{grid-template-columns:repeat(3,1fr)}
.art-grid-4{grid-template-columns:repeat(4,1fr)}

.art-card{text-align:center}
.art-thumb{
	display:block;overflow:hidden;background:#f5f5f5;border-radius:var(--r);
	position:relative;
}
.art-thumb img{
	width:100%;aspect-ratio:4/3;object-fit:cover;
	transition:transform .55s cubic-bezier(.4,0,.2,1);
}
.art-thumb::after{
	content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);
	opacity:0;transition:opacity var(--t);
}
.art-thumb:hover img{transform:scale(1.06)}
.art-thumb:hover::after{opacity:1}
.art-info{padding:16px 4px 0}
/* 作品标题 —— 原站 Envira Gallery 标题：Inter 20px / 500 / 行高 26px / 首字母大写
   （Inter 本站只提供 400/600 两个字重，500 会落到 400，与原站表现一致） */
.art-title{
	font-family:var(--f-sans);font-size:20px;font-weight:500;line-height:26px;
	text-transform:capitalize;letter-spacing:normal;margin:0 0 8px;
}
/* 作品副信息 —— 原站 Envira 说明：Inter 14px / 200 / 行高 24px / 首字母大写 */
.art-meta{
	margin:0;font-family:var(--f-sans);font-size:14px;font-weight:200;line-height:24px;
	text-transform:capitalize;color:var(--c-muted);
}

/* ---------- Justified Gallery ---------- */
/* auto-fit：折叠空轨道，图片少时自动铺满容器；auto-fill 会留下空列造成右侧空白 */
.justified-gallery{
	display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
	gap:var(--gap);
}
.jg-item{
	overflow:hidden;border-radius:var(--r);background:#f5f5f5;display:block;
	width:100%;max-width:640px;justify-self:center;
}
.jg-item img{width:100%;height:260px;object-fit:cover;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.jg-item:hover img{transform:scale(1.05)}

/* ---------- 内页简介区块（左图右文） ----------
 * 对齐原站 https://www.emeetswart.com.au/artist-biography/
 * Elementor 容器实测：宽 = min(1200, 视口 - 200)、padding 100px 0、flex row、gap 20px
 *   左列 = 容器的 33%（1200 时 = 396px，含 10px 内边距 → 图片 376 × 321.8）
 *   右列 = 撑满剩余（1200 时 = 784px，含 10px 内边距 → 文本 764）
 * 注：原站窄屏两侧各留 100px（497px 视口下容器只剩 297px，手机上过挤），
 *     这里放宽成两侧各 20px，与本站其它区块的留白保持一致；桌面端数值与原站完全一致。
 */
.page-intro{background:#fff}
.page-intro-inner{
	display:flex;gap:20px;align-items:flex-start;
	width:calc(100% - 40px);max-width:var(--w-container);margin:0 auto;padding:100px 0;
}
.page-intro-media{flex:0 0 33%;padding:10px}
.page-intro-media img{width:100%;height:auto;display:block}
.page-intro-body{
	flex:1 1 auto;min-width:0;padding:10px;
	display:flex;flex-direction:column;align-items:flex-start;gap:20px;
}
/* 大标题 —— 原站 h2：Marcellus 48px / 400 / 行高 1.2 / #00070a / 左对齐、无字距
 * align-self:stretch → 撑满右列（原站实测 764px），否则 flex 子项会收缩到文字宽度、长标题提前折行 */
.page-intro-title{
	font-size:48px;line-height:1.2;font-weight:400;letter-spacing:normal;
	color:#00070a;margin:0;text-align:left;align-self:stretch;
}
/* 正文 —— 原站这段是作者从 Word 粘贴进来的 Arial 12pt(16px) / 行高 1.7，
 * 段与段之间是一个空行（= 一个行高 27.2px），实测整块高 435px */
.page-intro-text{font-family:var(--f-copy);font-size:16px;line-height:1.7;color:#000}
.page-intro-text p{margin:0 0 1.7em}
.page-intro-text p:last-child{margin-bottom:0}
.page-intro-text h2,.page-intro-text h3{margin-top:1.4em}
.page-intro-text h3{font-size:32px;line-height:1em}

/* 按钮 —— 原站是纯黑方块：padding 18px 35px、无圆角、无边框、文字 #e9e9e9（实测 151 × 52） */
.btn-dark{
	background:#000;border:0;border-radius:0;padding:18px 35px;color:#e9e9e9;
}
.btn-dark:hover{background:#333;color:#fff}

/* ---------- 内容页 ----------
 * 字号沿用全局 h1–h6 字阶（Marcellus 48/32/22…），此处只留间距与颜色。
 * 正文用 Arial —— 对齐原站内文段落。
 */
.entry-content{max-width:none}
.entry-content h2,.entry-content h3{margin-top:1.6em}
.entry-content h4{margin-top:1.5em;margin-bottom:.5em}
.entry-content p{font-family:var(--f-copy);color:#4c4c4c}
.entry-content li{color:#4c4c4c;margin-bottom:.4em}
.entry-content sup{font-size:12px}
.entry-content b{font-weight:700}
.section-page{padding-top:78px}

/* ---------- 文章型内容页（对齐原站 Artist Statement）
 * 原站实测（视口 1403）：
 *   正文容器 1200 宽居中、上内边距 50px；标题 h2 Marcellus 48/400/1.2 #00070a 居中
 *   正文段落左右各缩进 49px（原站 Elementor text-editor 的 margin:49px），Arial 16/1.7 纯黑、左对齐
 *   三图横排：1140 宽居中、上下 10px、列间 20px、列内 10px → 每图 346.67 × 244.7
 *   简历块：1140 宽居中且整体居中对齐；h2 48px、h3 Marcellus 32px、段落 Inter 16/1.7
 */
.page-article{padding-top:50px;padding-bottom:60px}
.page-article .container{max-width:1248px}   /* 左右各 24px 内边距 → 内容区正好 1200 */
.page-article .article-title{
	font-size:48px;line-height:1.2;font-weight:400;letter-spacing:normal;
	color:#00070a;text-align:center;margin:0 0 20px;
}
.page-article .entry-content > p{
	font-family:var(--f-copy);font-size:16px;line-height:1.7;color:#000;
	margin:0 49px 27px;
}
.page-article .entry-content > p:last-of-type{margin-bottom:0}

/* 三图横排 */
.page-imgrow{
	max-width:1140px;margin:0 auto;padding:10px 0;
	display:flex;gap:20px;align-items:flex-start;
}
.page-imgrow-item{flex:1 1 0;min-width:0;padding:10px}
/* max-width 而非 width:100% —— 原站单列时图片保持自然宽 544，不被拉伸 */
.page-imgrow-item img{max-width:100%;height:auto;display:block}

/* 简历块（Curriculum Vitae） */
.stmt-cv{max-width:1140px;margin:0 auto;padding:10px 0;text-align:center}
.stmt-cv h2{
	font-size:48px;line-height:1.2;font-weight:400;letter-spacing:normal;
	color:#00070a;margin:0;padding:50px;
}
.stmt-cv h3{font-size:32px;line-height:1;font-weight:400;color:#00070a;margin:0 0 20px}
/* h3 里的 <b> 保持 700 —— Marcellus 只加载了 400，原站同样是合成加粗（faux bold） */
.stmt-cv p{font-family:var(--f-sans);font-size:16px;line-height:1.7;color:#000;margin:0 0 24px}
.stmt-cv sup{font-size:12px}
/* 响应式规则统一放在文件末尾（见「文章型内容页 · 响应式」），
   否则会被后面 @media(max-width:860px) 里的通用字阶盖掉 */

/* ---------- Contact ----------
 * 对齐原站 https://www.emeetswart.com.au/contact/ （实测视口 1403）
 *   两栏：容器 1200、上下内边距 100px、列间距 50px
 *         左列 543px（信息）、右列 587px（表单卡片）；右列略宽，取 47% / 51%
 *   左列：logo 426×108 → h2 Marcellus 48/1.2 #00070a（尾随小字 25px）
 *         → 身份行 Inter 16 → T:/E: 25px → 头像 150×150
 *   右卡：白底 + 1px 描边 rgba(0,118,168,.4) + 内边距 48px；h3 Marcellus 32/1 #00070a
 *   表单：标签 Inter 16/700 #343f1e；输入框高 50、描边 #D5D5D5、文字 18px #7C7C7C、直角
 *         提交：整宽 489、高 41、#242424 底 / #fdfaf1 字、17px / 500、不转换大小写
 */
/* 用 .section.section-contact 提高特异性：否则会被后面 @media 里的通用 .section 内边距覆盖 */
.section.section-contact{padding:100px 0;min-height:968px}
.contact-cols{display:flex;gap:50px;align-items:flex-start}
.contact-info{flex:0 0 47%;min-width:0}
.contact-logo{max-width:426px;width:100%;height:auto;display:block;margin-bottom:30px}
.contact-name{
	font-family:var(--f-serif);font-size:48px;line-height:1.2;font-weight:400;
	letter-spacing:normal;color:#00070a;margin:0 0 12px;
}
.contact-credential{font-size:25px}
/* 身份行 —— 原站：Inter 16px / 行高 1.7 / 纯黑 / 全大写（作者手打的大写） */
.contact-role{
	font-family:var(--f-sans);font-size:16px;line-height:1.7;letter-spacing:normal;
	text-transform:uppercase;color:#000;margin:0 0 24px;
}
/* 联系方式 —— 原站手设为 25px */
.contact-line{font-size:25px;line-height:1.7;color:#000;margin:0 0 6px}
.contact-line a:hover{color:var(--c-accent)}
.contact-line .lbl{font-weight:400}
.contact-avatar{width:150px;height:150px;object-fit:cover;display:block;margin-top:36px}

.contact-card{
	background:#fff;border:1px solid rgba(0,118,168,.4);padding:48px;
	flex:1 1 auto;min-width:0;
}
.contact-card-title{
	font-family:var(--f-serif);font-size:32px;line-height:1;font-weight:400;
	letter-spacing:normal;color:#00070a;margin:0 0 26px;
}
.contact-form .field{margin-bottom:20px}
/* 表单标签 —— 原站 WPForms：Inter 16px / 700 / 行高 19px / 色 #343f1e（橄榄绿） */
.contact-form .field label{
	display:block;font-family:var(--f-sans);font-size:16px;font-weight:700;
	line-height:19px;letter-spacing:normal;text-transform:none;color:#343f1e;margin-bottom:8px;
}
.contact-form .field .req{color:#c0392b}
.contact-form .field input,
.contact-form .field textarea{
	width:100%;height:50px;padding:0 14px;border:1px solid #D5D5D5;border-radius:0;
	background:#fff;color:#7C7C7C;font-family:var(--f-sans);font-size:18px;line-height:1.3;
	transition:border-color var(--t);
}
.contact-form .field textarea{height:auto;min-height:140px;padding:14px;resize:vertical}
.contact-form .field input:focus,
.contact-form .field textarea:focus{outline:0;border-color:#0076a9}
.contact-form .field input::placeholder,
.contact-form .field textarea::placeholder{color:#9a9a9a}
.contact-submit{
	display:block;width:100%;height:41px;padding:0 15px;border:0;border-radius:0;
	background:#242424;color:#fdfaf1;font-family:var(--f-sans);
	font-size:17px;font-weight:500;line-height:1;letter-spacing:normal;text-transform:none;
	cursor:pointer;transition:background var(--t);
}
.contact-submit:hover{background:#000}

.alert{padding:13px 17px;border-radius:var(--r);margin-bottom:22px;font-size:14.5px}
.alert-success{background:#eaf7ee;border:1px solid #b7e2c4;color:#267a3e}
.alert-error{background:#fdecea;border:1px solid #f5c2bd;color:#a5281b}

/* ---------- Footer ---------- */
.site-footer{
	background:#050505;
	color:#fff;
	padding:24px 0 28px;
	margin-top:78px;
}
.footer-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:48px;
}
.footer-col-left{flex:0 0 auto;max-width:426px}
.footer-logo{width:100%;max-width:426px;height:auto;display:block}
.footer-logo-text{
	font-family:var(--f-serif);font-size:24px;letter-spacing:.14em;color:#fff;
}
/* 页脚 —— 原站：Inter 13px / 400 / 行高 30px */
.footer-col-right{flex:0 1 auto;text-align:right;line-height:30px;padding-top:15px}
.footer-line{margin:0;font-size:13px;color:#fff}
.footer-line a{color:#fff}
.footer-line a:hover{color:var(--c-accent)}
.footer-line.copyright{font-size:13px}

/* 兼容旧标记 */
.footer-contact,.footer-menu{display:none}

/* ---------- Lightbox ---------- */
.lightbox{
	position:fixed;inset:0;z-index:1000;background:rgba(18,18,18,.94);
	display:flex;align-items:center;justify-content:center;
	opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;
	padding:56px 24px;
}
.lightbox.is-open{opacity:1;visibility:visible}
.lb-figure{margin:0;max-width:min(1000px,92vw);text-align:center}
.lb-figure img{max-width:100%;max-height:74vh;object-fit:contain;margin:0 auto;
	box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lb-figure figcaption{margin-top:20px;color:#fff}
.lb-figure h4{
	color:#fff;font-family:var(--f-sans);font-size:20px;font-weight:500;line-height:26px;
	text-transform:capitalize;margin:0 0 6px;
}
.lb-figure .lb-meta{margin:0;font-size:14px;color:#c9c9c9}
.lb-close,.lb-nav{
	position:absolute;background:none;border:0;color:#fff;cursor:pointer;
	font-size:34px;line-height:1;opacity:.75;transition:opacity var(--t);padding:8px;
}
.lb-close:hover,.lb-nav:hover{opacity:1}
.lb-close{top:20px;right:28px;font-size:42px}
.lb-nav{top:50%;transform:translateY(-50%)}
.lb-prev{left:22px}
.lb-next{right:22px}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
	.about-grid{gap:36px}
	/* 原站 ≤1024（平板）：列间距收到 20px，表单卡片内边距 30px，h2→40、h3→30 */
	.contact-cols{gap:20px}
	.contact-card{padding:30px}
	.contact-name{font-size:40px}
	.contact-card-title{font-size:30px}
	.section{padding:60px 0}
	.section-title{font-size:29px}
	/* 原站 h2 在 ≤1024 收成 40px */
	.page-intro-inner{padding-top:70px;padding-bottom:70px}
	.page-intro-title{font-size:40px}
}

@media (max-width:860px){
	.menu-toggle{display:flex}
	/* 移动端同样放大 30%：42 → 55，页头 68 → 88 */
	.header-inner{min-height:88px}
	.site-logo-img{max-height:55px}
	.main-menu{
		position:absolute;left:0;right:0;top:100%;
		background:#fff;border-bottom:1px solid var(--c-line);
		box-shadow:0 16px 32px rgba(0,0,0,.07);
		max-height:0;overflow:hidden;transition:max-height .35s ease;
	}
	.main-menu.is-open{max-height:80vh;overflow-y:auto}
	.main-menu > ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 0}
	.main-menu > ul > li > a{padding:13px 24px;border-top:1px solid #f2f2f2}
	.main-menu > ul > li > a::after{display:none}
	.has-children > a::before{right:20px;top:22px}
	.sub-menu{
		position:static;width:auto;padding:0;
		opacity:1;visibility:visible;transform:none;
		border:0;box-shadow:none;display:none;background:#fafafa;
	}
	.has-children > .sub-menu,
	.sub-menu.is-open{display:block}
	.main-menu > ul > li:hover > .sub-menu{display:block}
	.sub-menu li a{height:auto;line-height:1.7;padding:11px 40px;background:transparent}
	.sub-menu li:hover > a,
	.sub-menu li.current-menu-item > a{background:transparent;color:var(--c-accent)}

	.about-grid{flex-wrap:wrap;gap:0}
	.about-media{flex:1 1 100%}
	.about-body{flex:1 1 100%}
	.art-grid-3{grid-template-columns:repeat(2,1fr)}
	.section{padding:48px 0}
	.section-head{margin-bottom:34px}
	.hero-slider .slide img{max-height:52vh}
	.section-title{font-size:30px}
	.entry-content h2{font-size:30px}
	.entry-content h3{font-size:24px}

	/* 页脚改上下堆叠 */
	.site-footer{padding:30px 0}
	.footer-inner{flex-direction:column;align-items:center;gap:20px}
	.footer-col-left{max-width:300px}
	.footer-col-right{text-align:center}
	.footer-line{font-size:15px}
}

/* 内页 Banner 移动端 —— 原站 <767px 时把容器 min-height 归零、改用上下 80px 内边距（净高 160px） */
@media (max-width:767px){
	.page-banner-cover{height:160px}

	/* 联系页 —— 原站 <767px：改上下堆叠（Elementor --flex-wrap-mobile:wrap），
	   上下内边距 50/60，表单卡片内边距 25px，列间距 40px；h2/h3 仍是 40/30 */
	.section.section-contact{padding:50px 0 60px;min-height:0}
	.contact-cols{flex-wrap:wrap;gap:40px}
	.contact-info{flex:1 1 100%}
	.contact-card{flex:1 1 100%}
	.contact-logo{margin-bottom:20px}
	.contact-card{padding:25px}

	/* 简介区块：窄屏改竖排（原站 Elementor 容器 --flex-wrap-mobile:wrap） */
	.page-intro-inner{flex-wrap:wrap;gap:0;padding-top:40px;padding-bottom:40px}
	.page-intro-media{flex:1 1 100%}
	.page-intro-body{flex:1 1 100%}
}

@media (max-width:560px){
	.container{padding:0 18px}
	/* 原站 h2 在手机上收成 30px */
	.page-intro-title{font-size:30px}
	.art-grid-3,.art-grid-4{grid-template-columns:1fr}
	.justified-gallery{grid-template-columns:1fr}
	.jg-item img{height:220px}
	.slide-arrow{width:38px;height:38px;font-size:16px}
	.slide-arrow.prev{left:10px}
	.slide-arrow.next{right:10px}
	.lb-close{right:14px;top:10px}
	.lb-prev{left:8px}
	.lb-next{right:8px}
}

/* ---------- 文章型内容页 · 响应式 ----------
 * 必须放在文件最后：上面 @media(max-width:860px) 里有通用的 .entry-content h2/h3
 * 字阶，同一个特异性下只能靠「后定义」覆盖。
 * 数值取自原站 Elementor 实测（1403 / 763 / 643 / 497 四个视口）。
 */
@media (max-width:1024px){
	.page-article .article-title,.stmt-cv h2{font-size:40px}
	.stmt-cv h3{font-size:30px}
}
@media (max-width:767px){
	.page-article .entry-content > p{margin-left:0;margin-right:0}
}
@media (max-width:720px){
	/* 三图横排改单列（原站 763 三列 / 643 单列） */
	.page-imgrow{flex-wrap:wrap;gap:0}
	.page-imgrow-item{flex:1 1 100%}
}
@media (max-width:576px){
	.page-article .article-title,.stmt-cv h2{font-size:30px}
	.stmt-cv h3{font-size:24px}
	.stmt-cv p{font-size:14px}
}

/* ---------- 联系页 · 手机端字阶 ----------
 * 原站 ≤544（Astra 的 mobile 断点，实测 497 视口）：h2 → 30px、h3 → 24px。
 * 表单控件字号不随视口变化（恒为 18/18/17），T:/E: 恒为 25px，故不在此处覆盖。
 * 放文件末尾，避免被上面的通用字阶盖掉。
 */
@media (max-width:544px){
	.contact-name{font-size:30px}
	.contact-card-title{font-size:24px}
}
