upgrade: adopt V8.31.1 (theme 1.3/1.4 redesigns, editor deep-canvas, guided launch, component library)

Overlay 190 upstream items (V8.22→8.31) preserving trade-pro theme,
registry tests, and design docs. Re-applied full patch set on identical
anchors (discovery/env_for/blocks.css/type-mapping/locale-override/
theme_color/frontend entries/test_theme_pro_v3 mods) plus compose pins.

Verified: theme suites 35/35; dual-baseline full run 415 passed vs
pristine 386+29 ours, FAILED-set diff EMPTY (same 10 Windows env fails).
Live: container 8.31.1-dev.1 healthy, hesupipe 192 entries intact,
trade-pro build 203 pages 0 errors.

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-10-26 09:43:17 +08:00
parent a63548c645
commit 8884e100f9
647 changed files with 20853 additions and 271 deletions
+3 -3
View File
@@ -1,8 +1,8 @@
{
"id": "minimal",
"name": "极简创意",
"description": "商业主题体验升级:独立视觉素材、响应式排版、产品列表筛选、多级导航、可访问性与交付检查(需真实内容验收)",
"version": "1.1.0",
"description": "V8.30 专业内页设计升级:行业化首页/产品/文章/企业/联系布局;保留抽屉菜单和可选 Tabs,历史版本独立可用。",
"version": "1.3.0",
"style": "editorial",
"entry": "pro.html",
"styles": [
@@ -51,4 +51,4 @@
"contact-integration",
"readiness-audit"
]
}
}
+4 -2
View File
@@ -1,2 +1,4 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
<div class="pro-v30-page pro-v30-about pro-v30-about-minimal"><section class="pro-v30-about-opening"><div class="pro-wrap"><span class="pro-eyebrow">OUR COMPANY / APPROACH</span><div class="pro-v30-about-heading"><h1>{{page.title}}</h1><p>{{page.summary or site.tagline or '关于我们和所做的事情'}}</p></div></div></section>
<section class="pro-section pro-v30-about-story"><div class="pro-wrap pro-v30-about-grid"><div class="pro-v30-about-media">{% if page.cover %}<img src="{{safe_image(page.cover)}}" alt="{{page.title}}" loading="lazy">{% else %}<div class="pro-v30-media-placeholder" aria-hidden="true"><span>OUR / STORY</span></div>{% endif %}</div><div class="pro-v30-about-copy"><span class="pro-eyebrow">ABOUT / 我们的故事</span><h2>让作品和内容自己说话</h2>{{body_copy(content,page)}}<a class="pro-v30-text-action" href="/contact/">联系与合作 ↗</a></div></div></section>
{% if features %}<section class="pro-section pro-v30-about-services"><div class="pro-wrap">{{section_title('WHAT WE DO','相关服务','/services/')}}{{grid(features,'service')}}</div></section>{% endif %}
{% if cases %}<section class="pro-section pro-v30-about-cases"><div class="pro-wrap">{{section_title('SELECTED WORK','相关项目','/cases/')}}{{grid(cases,'case')}}</div></section>{% endif %}</div>
+2 -1
View File
@@ -1 +1,2 @@
<section class="pro-article-hero"><div class="pro-wrap pro-article-width"><span class="pro-eyebrow">LATEST NEWS / INSIGHTS</span><h1>{{page.title}}</h1><p>{{page.summary}}</p>{% if fields.get('publish_date') %}<time>{{fields.get('publish_date')}}</time>{% endif %}</div></section><article class="pro-wrap pro-article-content">{% if page.cover %}<img class="pro-article-cover" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}{{body_copy(content,page)}}<a class="pro-text-link" href="/news/">← 返回新闻</a></article>
<div class="pro-v30-page pro-v30-article pro-v30-article-minimal"><section class="pro-article-hero pro-v30-reading-head"><div class="pro-wrap"><nav class="pro-v30-crumb" aria-label="面包屑导航"><a href="/">首页</a><span aria-hidden="true">/</span><a href="/news/">笔记与观点</a></nav><div class="pro-v30-reading-title"><span class="pro-eyebrow">IDEAS / JOURNAL</span><h1>{{page.title}}</h1>{% if page.summary %}<p>{{page.summary}}</p>{% endif %}{% if fields.get('publish_date') %}<time datetime="{{fields.get('publish_date')}}">{{fields.get('publish_date')}}</time>{% endif %}</div></div></section>
<div class="pro-wrap pro-v30-reading-layout"><aside class="pro-v30-reading-aside"><span class="pro-eyebrow">READ / EXPLORE</span><a href="/news/">← 返回索引</a><span class="pro-v30-reading-rule" aria-hidden="true"></span><a href="/contact/">联系沟通 ↗</a></aside><article id="article-body" class="pro-v30-reading-content">{% if page.cover %}<figure><img src="{{safe_image(page.cover)}}" alt="{{page.title}}" loading="eager"></figure>{% endif %}{{body_copy(content,page)}}<a class="pro-v30-subtle-link" href="/news/">← 返回索引</a></article></div></div>
+6 -7
View File
@@ -1,7 +1,6 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
{% if form_endpoint %}
<section class="pro-section"><div class="pro-wrap pro-inquiry-wrap"><div><span class="pro-eyebrow">CONTACT FORM</span><h2>提交业务咨询</h2><p>提交内容将直接发送到网站管理员配置的外部表单服务。</p></div>
<form class="pro-inquiry" action="{{form_endpoint}}" method="POST"><label>姓名 <input name="name" autocomplete="name" required maxlength="100"></label><label>邮箱 <input name="email" type="email" autocomplete="email" required maxlength="180"></label><label>咨询内容 <textarea name="message" required minlength="6" maxlength="5000"></textarea></label><input name="website" tabindex="-1" autocomplete="off" class="pro-honeypot" aria-hidden="true"><button type="submit" class="pro-button">提交咨询 ↗</button><p>表单提交由外部服务处理,请确认其隐私政策及垃圾信息过滤设置。</p></form></div></section>
{% endif %}
<div class="pro-v30-page pro-v30-contact pro-v30-contact-minimal"><section class="pro-v30-contact-header"><div class="pro-wrap"><span class="pro-eyebrow">CONNECT / CONTACT</span><h1>{{page.title}}</h1><p>{{page.summary or '用简洁的方式告诉我们您的想法与需求。'}}</p></div></section>
<section class="pro-section pro-v30-contact-content"><div class="pro-wrap pro-v30-contact-layout"><div class="pro-v30-contact-info"><span class="pro-eyebrow">LET'S START A CONVERSATION</span><h2>开启对话</h2>{{body_copy(content,page)}}
{% if footer_email %}<div class="pro-v30-contact-channel"><span>电子邮箱</span><a href="mailto:{{footer_email}}">{{footer_email}} ↗</a></div>{% endif %}
{% if not footer_email and not form_endpoint %}<p class="pro-muted">联系渠道正在更新,请稍后访问本页面。</p>{% endif %}
</div><div class="pro-v30-contact-form-wrap">{% if form_endpoint %}<span class="pro-eyebrow">SEND AN INQUIRY</span><h3>提交咨询</h3><form class="pro-inquiry" action="{{form_endpoint}}" method="POST"><label>姓名 <input name="name" autocomplete="name" required maxlength="100"></label><label>邮箱 <input name="email" type="email" autocomplete="email" required maxlength="180"></label><label>咨询内容 <textarea name="message" required minlength="6" maxlength="5000"></textarea></label><input name="website" tabindex="-1" autocomplete="off" class="pro-honeypot" aria-hidden="true"><button type="submit" class="pro-button">发送咨询 ↗</button><p>提交信息将发送至配置的外部表单服务,请了解其隐私政策。</p></form>
{% else %}<div class="pro-v30-contact-note"><span class="pro-eyebrow">HOW TO REACH US</span><p>您可以通过本页提供的联系渠道咨询产品、项目或合作事项。</p><span class="pro-v30-decorative-number" aria-hidden="true">↗</span></div>{% endif %}</div></div></section></div>
+2
View File
@@ -1,3 +1,5 @@
<section class="pro-home-hero pro-minimal-hero"><div class="pro-wrap"><div class="pro-minimal-meta"><span>INDEPENDENT / CREATIVE / CONSIDERED</span><span>NO. 001 — ESTABLISH A PRESENCE</span></div><h1>{{page.title if page.title not in (site.name,'首页','Home') else site.name}}<br><em>MAKE IT MATTER.</em></h1><div class="pro-minimal-bottom"><p>{{page.summary or site.tagline or '简洁而清晰地呈现品牌与作品。'}}</p><a href="/cases/">EXPLORE WORK <span>↗</span></a></div></div></section>
<section class="pro-section pro-featured"><div class="pro-wrap">{{section_title('01 / INDEX','精选展示','/cases/')}}{{grid(cases if cases else showcase,'case')}}</div></section>
<section class="pro-section pro-statement"><div class="pro-wrap pro-statement-layout"><span class="pro-eyebrow">02 / ABOUT</span><div><h2>少一点噪音,多一点重点。</h2><p>{{site.tagline or '在这里介绍企业与品牌的核心价值。'}}</p><a class="pro-text-link" href="/about/">READ OUR STORY ↗</a></div></div></section>
{% if stories %}<section class="pro-section pro-v30-home-editorial"><div class="pro-wrap">{{section_title('03 / JOURNAL','观点与记录','/news/')}}{{grid(stories,'news')}}</div></section>{% endif %}
+6 -2
View File
@@ -1,2 +1,6 @@
<section class="pro-inner-hero pro-listing-hero"><div class="pro-wrap"><span class="pro-eyebrow">DISCOVER / {{'CATEGORY' if kind=='category' else 'COLLECTION'}}</span><h1>{{page.title}}</h1><p>{{page.summary or '查看此栏目的全部已发布内容。'}}</p><div class="pro-breadcrumb"><a href="/">首页</a><span>/</span><strong>{{page.title}}</strong></div></div></section>
<section class="pro-section pro-list-section"><div class="pro-wrap">{{ filters() }}<div class="pro-filter-scope">{{grid(listing,'catalog')}}</div>{% if pagination and pagination.pages>1 %}<nav class="pro-pages-nav" aria-label="商品列表分页">{% if pagination.previous %}<a href="{{pagination.previous}}" rel="prev">← 上一页</a>{% endif %}<span>第 {{pagination.page}} / {{pagination.pages}} 页</span>{% if pagination.next %}<a href="{{pagination.next}}" rel="next">下一页 →</a>{% endif %}</nav>{% endif %}</div></section>
<div class="pro-v30-page pro-v30-listing pro-v30-editorial-index">
<section class="pro-v30-page-intro"><div class="pro-wrap pro-v30-intro-layout"><div class="pro-v30-intro-main"><span class="pro-eyebrow">CURATED INDEX / INDEX</span><h1>{{page.title}}</h1><p>{{page.summary or '发现每个值得停留的细节'}}</p></div><div class="pro-v30-intro-aside"><span class="pro-v30-overline">BROWSE / EXPLORE</span><span class="pro-v30-index-number">{{'%02d'|format(listing|length)}}</span><span class="pro-v30-caption">本页展示内容</span></div></div></section>
<section class="pro-section pro-v30-index-body"><div class="pro-wrap"><div class="pro-v30-index-toolbar"><div class="pro-v30-section-title"><span class="pro-eyebrow">CONTENTS / FIND YOUR FIT</span><h2>精选内容</h2></div><a class="pro-v30-subtle-link" href="/contact/">需要协助?联系沟通 ↗</a></div>
{{filters()}}<div class="pro-filter-scope pro-v30-results" aria-live="polite">{{grid(listing,'catalog')}}</div>
{% if pagination and pagination.pages>1 %}<nav class="pro-pages-nav" aria-label="列表分页">{% if pagination.previous %}<a href="{{pagination.previous}}" rel="prev">← 上一页</a>{% endif %}<span>第 {{pagination.page}} / {{pagination.pages}} 页</span>{% if pagination.next %}<a href="{{pagination.next}}" rel="next">下一页 →</a>{% endif %}</nav>{% endif %}
</div></section></div>
+4 -3
View File
@@ -1,3 +1,4 @@
<section class="pro-section pro-product-layout"><div class="pro-wrap"><div class="pro-breadcrumb"><a href="/">首页</a><span>/</span><a href="/products/">产品中心</a><span>/</span><strong>{{page.title}}</strong></div>
<div class="pro-product-hero"><div class="pro-product-gallery"><div class="pro-product-media">{{cover(page,'product')}}</div>{% if gallery|length>1 %}<div class="pro-gallery-thumbs" aria-label="产品图片画廊">{% for photo in gallery %}<button type="button" data-gallery-image="{{photo}}" aria-label="查看第{{loop.index}}张图片"><img src="{{photo}}" alt="{{page.title}} · 图{{loop.index}}" loading="lazy"></button>{% endfor %}</div>{% endif %}</div><div class="pro-product-summary"><span class="pro-eyebrow">PRODUCT DETAILS / {{fields.get('brand') or 'COLLECTION'}}</span><h1>{{page.title}}</h1><p>{{page.summary or '在此查看产品详细资料。'}}</p>{% if fields.get('brand') %}<p class="pro-product-brand">品牌 · {{fields.get('brand')}}</p>{% endif %}<a class="pro-button" href="/contact/">咨询该产品 <span>↗</span></a></div></div>
<div class="pro-detail-layout"><div><span class="pro-eyebrow">OVERVIEW</span><h2>产品介绍</h2>{{body_copy(content,page)}}</div><div><span class="pro-eyebrow">SPECIFICATIONS</span><h2>规格参数</h2><div class="pro-specs">{% for row in specs %}<div><span>{{row.label}}</span><strong>{{row.value}}</strong></div>{% else %}<p class="pro-muted">尚未填写详细参数。</p>{% endfor %}</div></div></div></div></section>
<div class="pro-product-layout pro-v30-page pro-v30-product pro-v30-product-minimal"><section class="pro-v30-product-top"><div class="pro-wrap"><nav class="pro-v30-crumb" aria-label="面包屑导航"><a href="/">首页</a><span aria-hidden="true">/</span><a href="/products/">精选内容</a><span aria-hidden="true">/</span><span aria-current="page">{{page.title}}</span></nav>
<div class="pro-v30-product-head"><div class="pro-v30-product-intro"><span class="pro-eyebrow">CURATED INDEX / DETAILS</span><h1>{{page.title}}</h1><p>{{page.summary or ''}}</p><div class="pro-v30-tags">{% if fields.get('brand') %}<span>{{fields.get('brand')}}</span>{% endif %}{% if fields.get('category') %}<span>{{fields.get('category')}}</span>{% endif %}</div><a class="pro-button pro-v30-action" href="/contact/">咨询相关信息 ↗</a></div>
<div class="pro-v30-product-visual"><div class="pro-product-media pro-v30-main-media">{{cover(page,'product')}}</div>{% if gallery|length > 1 %}<div class="pro-gallery-thumbs" aria-label="图片资料">{% for photo in gallery %}<button type="button" data-gallery-image="{{photo}}" aria-label="查看第{{loop.index}}张图片"><img src="{{photo}}" alt="{{page.title}} · 图片{{loop.index}}" loading="lazy"></button>{% endfor %}</div>{% endif %}</div></div></div></section>
<section class="pro-section pro-v30-product-information"><div class="pro-wrap pro-v30-product-details"><div class="pro-v30-details-main"><span class="pro-eyebrow">OVERVIEW / 详细介绍</span><h2>详细介绍</h2>{{body_copy(content,page)}}</div><aside class="pro-v30-details-side"><span class="pro-eyebrow">TECHNICAL / FACTS</span><h2>基本资料</h2><div class="pro-specs">{% for row in specs %}<div><span>{{row.label}}</span><strong>{{row.value}}</strong></div>{% else %}<p class="pro-muted">更多资料请通过联系页面咨询。</p>{% endfor %}</div></aside></div></section></div>
+82
View File
@@ -6,3 +6,85 @@
.pro-minimal-hero{background:#efeee8!important}.pro-minimal-hero .pro-wrap{background-image:url("./visual/hero.svg");background-repeat:no-repeat;background-size:48% auto;background-position:right 56%}.pro-minimal-hero h1{max-width:930px;position:relative;text-shadow:0 1px #ffffff70}.pro-card{border:0;border-bottom:1px solid #c8c7c0;background:transparent;border-radius:0}.pro-card-cover{background:#e7e5dc}.pro-art{background:linear-gradient(155deg,#e8e7e0,#c8c9bd);color:#585d55}.pro-card-body{padding-left:0;padding-right:0}.pro-featured{background:#faf9f5}.pro-section-head h2{font-weight:400}.pro-statement{border-block:1px solid #dddcd2;background:#f1efe7}.pro-footer{background:#22251e;color:#f6f4ec}.pro-button,.pro-header-cta{border-radius:0}
@media(max-width:700px){.pro-minimal-hero .pro-wrap{background-size:80% auto;background-position:center bottom;padding-bottom:250px}}
/* V8.29 presentation refinement: minimal. Preserve per-theme design language. */
body.pro-minimal{--pro-studio-ring:rgba(45,45,42,.13);--pro-focus-color:#35352d;--pro-interact-radius:2px}
body.pro-minimal .pro-wrap{max-width:100%;min-width:0}
body.pro-minimal .pro-hero-copy,body.pro-minimal .pro-card-body,body.pro-minimal .pro-card-copy{min-width:0;overflow-wrap:anywhere}
body.pro-minimal .pro-hero-copy h1{font-size:clamp(2.45rem,5.15vw,5.6rem);line-height:1.08;max-width:18ch;text-wrap:balance}
body.pro-minimal .pro-section-head h2{font-size:clamp(1.85rem,3vw,3.25rem);text-wrap:balance}
body.pro-minimal .pro-card,body.pro-minimal .pro-product-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
@media(hover:hover){body.pro-minimal .pro-card:hover,body.pro-minimal .pro-product-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px var(--pro-studio-ring)}}
body.pro-minimal :where(button,a,input,select,textarea):focus-visible{outline:3px solid var(--pro-focus-color);outline-offset:3px}
body.pro-minimal img{max-width:100%;height:auto}
body.pro-minimal .pro-card-cover img,body.pro-minimal .pro-gallery-main img{object-fit:cover;max-height:100%}
body.pro-minimal .pro-mobile-toggle,body.pro-minimal .pro-nav-disclose{min-height:44px;min-width:44px}
@media(max-width:860px){body.pro-minimal .pro-home-grid,body.pro-minimal .pro-product-layout,body.pro-minimal .pro-inquiry-wrap{min-width:0}body.pro-minimal .pro-card-grid,body.pro-minimal .pro-grid{gap:clamp(12px,3vw,23px)}}
@media(max-width:560px){body.pro-minimal .pro-wrap{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}body.pro-minimal .pro-hero-copy h1{font-size:clamp(2rem,9vw,3.2rem)}body.pro-minimal .pro-section-head h2{font-size:clamp(1.75rem,7vw,2.5rem)}body.pro-minimal .pro-section{padding-block:clamp(34px,9vw,60px)}body.pro-minimal .pro-card-cover{height:auto;aspect-ratio:4/3}body.pro-minimal .pro-card-cover img{width:100%;height:100%;object-fit:cover}}
@media(prefers-reduced-motion:reduce){body.pro-minimal .pro-card,body.pro-minimal .pro-product-card{transition:none!important;transform:none!important}}
/* V8.30 REAL PAGE COMPOSITION. Built-in theme version 1.3.0 only.
Content-driven sections do not invent client names, certifications or KPIs. */
.pro-v30-page{--v30-ink:var(--pro-text);--v30-secondary:var(--pro-muted);--v30-line:var(--pro-border);--v30-panel:var(--pro-surface);--v30-max:1180px;color:var(--v30-ink);overflow:clip}
.pro-v30-page .pro-wrap{max-width:var(--v30-max);min-width:0}
.pro-v30-page h1,.pro-v30-page h2{overflow-wrap:anywhere;text-wrap:balance;line-height:1.11}
.pro-v30-page h1{font-size:clamp(2.55rem,5.2vw,5.6rem);margin:18px 0 22px;letter-spacing:-.035em}
.pro-v30-page h2{font-size:clamp(1.8rem,3.3vw,3rem);margin:16px 0 26px;letter-spacing:-.02em}
.pro-v30-page p{line-height:1.75;overflow-wrap:anywhere}
.pro-v30-page img{max-width:100%}
.pro-v30-intro-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:8vw;align-items:end}
.pro-v30-page-intro{padding:clamp(68px,10vw,128px) 0 clamp(55px,8vw,94px);background:var(--v30-panel)}
.pro-v30-intro-main>p{max-width:610px;font-size:clamp(16px,2vw,21px);color:var(--v30-secondary)}
.pro-v30-intro-aside{border-left:1px solid var(--v30-line);padding-left:27px;display:grid;gap:8px;align-content:end;min-height:120px}
.pro-v30-overline,.pro-v30-caption{font-size:11px;letter-spacing:.12em;color:var(--v30-secondary)}
.pro-v30-index-number{font-size:64px;line-height:1;font-weight:650;letter-spacing:-.08em}
.pro-v30-index-toolbar{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:28px}
.pro-v30-index-body{background:var(--pro-background)}
.pro-v30-index-body .pro-section-head,.pro-v30-index-toolbar h2{margin:8px 0}
.pro-v30-subtle-link,.pro-v30-text-action{display:inline-flex;gap:10px;text-decoration:none;font-weight:750;font-size:13px;align-items:center;min-height:44px}
.pro-v30-subtle-link:hover,.pro-v30-text-action:hover{text-decoration:underline}
.pro-v30-results{margin-top:clamp(28px,5vw,54px)}
.pro-v30-product-top{padding:26px 0 clamp(60px,8vw,110px);background:var(--v30-panel)}
.pro-v30-crumb{display:flex;flex-wrap:wrap;gap:11px;align-items:center;font-size:12px;color:var(--v30-secondary);margin:8px 0 46px}
.pro-v30-crumb a{text-decoration:underline;text-underline-offset:4px}
.pro-v30-product-head{display:grid;grid-template-columns:minmax(290px,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(30px,6vw,90px)}
.pro-v30-product-intro>p{font-size:clamp(16px,2vw,19px);color:var(--v30-secondary);max-width:48ch}
.pro-v30-tags{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 30px}.pro-v30-tags span{padding:8px 13px;border:1px solid var(--v30-line);font-size:12px;border-radius:2px}
.pro-v30-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px}
.pro-v30-main-media{background:var(--pro-surface);aspect-ratio:4/3;overflow:hidden;display:grid;place-items:center;border-radius:var(--pro-radius)}
.pro-v30-main-media .pro-photo{width:100%;height:100%;object-fit:contain}
.pro-v30-product-details{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);gap:clamp(30px,7vw,104px)}
.pro-v30-details-main .pro-rich{max-width:760px}.pro-v30-details-side{align-self:start;border-top:3px solid var(--pro-accent);padding-top:25px}
.pro-v30-details-side .pro-specs>div{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px}.pro-v30-details-side .pro-specs strong{overflow-wrap:anywhere}
.pro-v30-reading-head{padding:clamp(50px,8vw,100px) 0 clamp(60px,8vw,100px);background:var(--v30-panel)}
.pro-v30-reading-title{max-width:940px;margin:auto}.pro-v30-reading-title>p{font-size:clamp(16px,2.1vw,22px);max-width:65ch;color:var(--v30-secondary)}
.pro-v30-reading-title time{display:block;margin-top:24px;font-size:13px;color:var(--v30-secondary)}
.pro-v30-reading-layout{display:grid;grid-template-columns:180px minmax(0,750px);gap:clamp(35px,7vw,110px);padding-block:clamp(55px,8vw,110px)}
.pro-v30-reading-aside{display:flex;flex-direction:column;gap:18px;align-self:start;position:sticky;top:30px;font-size:13px}
.pro-v30-reading-rule{height:1px;background:var(--v30-line)}
.pro-v30-reading-content{min-width:0}.pro-v30-reading-content figure{margin:0 0 45px}.pro-v30-reading-content figure img{display:block;width:100%;height:auto;max-height:550px;object-fit:cover}
.pro-v30-reading-content .pro-rich{line-height:1.9;font-size:clamp(16px,1.75vw,18px)}.pro-v30-reading-content .pro-rich>*+*{margin-top:1.3em}
.pro-v30-about-opening{padding:clamp(75px,10vw,130px) 0;background:var(--v30-panel)}
.pro-v30-about-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:9%;align-items:end}.pro-v30-about-heading>p{font-size:clamp(17px,2vw,23px);color:var(--v30-secondary);padding-bottom:12px}
.pro-v30-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,8vw,120px);align-items:center}
.pro-v30-about-media{min-height:360px;aspect-ratio:5/4;background:var(--v30-panel);overflow:hidden}.pro-v30-about-media img{width:100%;height:100%;object-fit:cover}
.pro-v30-media-placeholder{height:100%;min-height:360px;display:grid;place-items:center;color:var(--v30-secondary);letter-spacing:.18em;font-size:12px;border:1px solid var(--v30-line)}
.pro-v30-about-copy .pro-rich{max-width:620px}.pro-v30-about-cases{background:var(--v30-panel)}
.pro-v30-contact-header{background:var(--v30-panel);padding:clamp(75px,10vw,135px) 0}.pro-v30-contact-header p{font-size:clamp(17px,2vw,21px);max-width:58ch;color:var(--v30-secondary)}
.pro-v30-contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,8vw,120px)}
.pro-v30-contact-channel{display:grid;gap:10px;margin-top:45px;border-top:1px solid var(--v30-line);padding-top:25px}.pro-v30-contact-channel span{font-size:12px;color:var(--v30-secondary)}.pro-v30-contact-channel a{font-size:clamp(15px,2vw,24px);overflow-wrap:anywhere;font-weight:650}
.pro-v30-contact-form-wrap{padding:clamp(22px,4vw,48px);background:var(--v30-panel);min-width:0}
.pro-v30-contact-form-wrap .pro-inquiry{margin-top:22px}.pro-v30-contact-form-wrap .pro-inquiry input,.pro-v30-contact-form-wrap textarea{background:var(--pro-background)}
.pro-v30-contact-note{display:grid;align-content:space-between;min-height:270px;gap:24px}.pro-v30-decorative-number{font-size:90px;line-height:1;justify-self:end;color:var(--pro-accent)}
.pro-v30-home-editorial{background:var(--pro-surface)}
.pro-v30-page :where(a,button,input,textarea,select):focus-visible{outline:3px solid var(--pro-accent);outline-offset:3px}
@media(max-width:950px){.pro-v30-product-head,.pro-v30-product-details,.pro-v30-about-grid,.pro-v30-contact-layout{grid-template-columns:1fr;gap:38px}.pro-v30-product-visual{order:-1}.pro-v30-about-heading{grid-template-columns:1fr;gap:4px}.pro-v30-about-media{max-height:430px}.pro-v30-reading-layout{grid-template-columns:1fr;gap:24px}.pro-v30-reading-aside{position:static;flex-direction:row;align-items:center;flex-wrap:wrap}.pro-v30-reading-rule{display:none}}
@media(max-width:600px){.pro-v30-page .pro-wrap{padding-inline:max(18px,env(safe-area-inset-left));}.pro-v30-page h1{font-size:clamp(2.2rem,9.2vw,3.4rem)}.pro-v30-intro-layout{grid-template-columns:1fr;gap:18px}.pro-v30-intro-aside{display:none}.pro-v30-index-toolbar{align-items:start;flex-direction:column;gap:0}.pro-v30-crumb{margin-bottom:24px}.pro-v30-product-top{padding-bottom:42px}.pro-v30-main-media{aspect-ratio:5/4}.pro-v30-product-details{gap:45px}.pro-v30-reading-title{margin:0}.pro-v30-reading-content figure{margin-bottom:22px}.pro-v30-about-media,.pro-v30-media-placeholder{min-height:220px}.pro-v30-contact-form-wrap{padding:20px}.pro-v30-contact-layout{gap:30px}}
@media(prefers-reduced-motion:reduce){.pro-v30-page *{scroll-behavior:auto!important}}
/* Theme-specific editorial composition */
.pro-v30-editorial-index{--v30-max:1260px}.pro-v30-editorial-index .pro-v30-page-intro{background:#f0efe8}.pro-v30-editorial-index h1,.pro-v30-article-minimal h1,.pro-v30-about-minimal h1,.pro-v30-product-minimal h1{font-family:Georgia,Times,serif;font-weight:400;letter-spacing:-.06em}.pro-v30-editorial-index .pro-v30-index-number{font-family:Georgia,serif;font-weight:400}.pro-v30-product-minimal .pro-v30-product-top{background:#f1f0ea}.pro-v30-product-minimal .pro-v30-main-media{border-radius:0;background:#eae9e1}.pro-v30-article-minimal .pro-v30-reading-head{background:#f3f1e9}.pro-v30-article-minimal .pro-v30-reading-layout{grid-template-columns:160px minmax(0,700px)}.pro-v30-about-minimal .pro-v30-about-opening{border-bottom:1px solid #d8d8ce}.pro-v30-about-minimal .pro-v30-about-media{filter:saturate(.8)}.pro-v30-contact-minimal .pro-v30-contact-form-wrap{border:1px solid #d7d6ce;background:transparent}
/* Retain existing gallery runtime behavior with re-composed product layout. */
.pro-v30-page .pro-product-media{height:auto;min-height:0}
+3
View File
@@ -1 +1,4 @@
*{box-sizing:border-box}body{margin:0;color:#171717;background:#faf9f6;font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1260px,90%);margin:auto}.header{height:110px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #cccac4}.brand{font-family:Georgia,"Times New Roman",serif;font-size:30px;font-weight:bold;letter-spacing:-1px}.brand span{font-size:12px;vertical-align:top}.header nav{display:flex;gap:33px;font-size:12px;flex-wrap:wrap}.header nav a:hover{text-decoration:underline}.contact{font-size:12px;font-weight:bold;border-bottom:1px solid black;padding-bottom:5px}.hero{padding:48px 0 0}.topline{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2.3px;font-weight:bold}.hero h1,.inner-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(65px,9.1vw,155px);line-height:1;letter-spacing:-8px;font-weight:400;margin:85px 0 40px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin:35px 0 64px;gap:25px}.hero-bottom p{font-size:18px;max-width:490px;margin:0}.hero-bottom a{font-size:12px;letter-spacing:1.5px;border-bottom:1px solid black;padding-bottom:8px}.hero-image{height:425px;background:#deddd4;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.hero-image img{height:100%;width:100%;object-fit:cover}.graphic{background:#cec8bc}.shape{position:absolute;border-radius:50%;background:linear-gradient(125deg,#ede9e1,#98918a);box-shadow:25px 30px 40px #59544c22}.shape.a{height:550px;width:550px;left:5%;top:-230px}.shape.b{width:280px;height:280px;right:15%;bottom:-120px;background:#989e97}.shape.c{width:160px;height:160px;right:40%;top:0;background:#ece9e3}.graphic>span{position:relative;font-size:25px;letter-spacing:7px;font-weight:500;line-height:1.5}.inner-hero{padding:80px 0;border-bottom:1px solid #d3d0ca}.inner-hero h1{font-size:clamp(48px,8vw,115px);margin:40px 0}.inner-hero p{font-size:18px;color:#777;max-width:660px}.content{padding:70px 0 130px}.list-head{display:grid;grid-template-columns:1fr 2fr;align-items:center;margin:30px 0 40px;border-bottom:1px solid black}.list-head span{font-size:10px;letter-spacing:2px}.list-head h2{font-family:Georgia,serif;font-weight:400;font-size:54px;letter-spacing:-2px}.list{display:grid;grid-template-columns:repeat(2,1fr);gap:80px 35px}.item{display:block}.item:hover h3{text-decoration:underline}.thumb{height:290px;background:#e3e1d8;display:grid;place-items:center}.thumb img{width:100%;height:100%;object-fit:contain}.thumb span{font-family:Georgia,serif;font-size:140px;color:#c0bcb2}.info{padding:25px 0}.info>span{font-size:10px;letter-spacing:1.5px}.info h3{font-family:Georgia,serif;font-size:36px;font-weight:400;margin:12px 0}.info p{color:#666;max-width:400px}.info b{font-size:11px;letter-spacing:1px}.rich-content{margin:25px 0}.section{padding:45px 0}.block-hero{padding:50px 0}.block-hero h1{font-family:Georgia,serif;font-size:60px;font-weight:400}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.feature{border-top:1px solid #8f8a84;padding-top:20px}.feature-mark{font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr)}.stat strong{font-family:Georgia,serif;display:block;font-size:47px;font-weight:400}.stat span{font-size:11px;letter-spacing:1px}.cta{padding:55px;background:#e4e0d8}.cta h2{font-family:Georgia,serif;font-weight:400;font-size:44px}.btn{display:inline-block;background:#222;color:white;padding:13px 20px;font-size:12px}.detail-img img{max-width:100%;max-height:550px}footer{border-top:1px solid #b9b5ae;padding:70px 0 25px}.footer-lead{font-family:Georgia,serif;font-size:clamp(45px,6vw,90px);line-height:1.05;letter-spacing:-4px}.footer-lead span{color:#909084}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #d5d1c9;margin-top:90px;padding-top:25px;font-size:11px;color:#777}@media(max-width:850px){.header{height:auto;padding:26px 0;flex-wrap:wrap}.header nav{order:3;width:100%}.hero h1{letter-spacing:-4px;margin-top:60px}.hero-image{height:320px}.list{gap:35px}.list-head{grid-template-columns:1fr}.footer-lead{letter-spacing:-2px}}@media(max-width:560px){.list,.feature-grid,.stats{grid-template-columns:1fr}.hero h1{font-size:67px}.hero-bottom,.topline,.footer-bottom{flex-direction:column;align-items:start;gap:15px}.hero-image{height:240px}.list-head h2{font-size:40px}.inner-hero{padding:50px 0}}
/* V8.29 baseline: accessible touch/focus and reduced motion */
:where(a,button,input,select,textarea):focus-visible{outline:3px solid currentColor;outline-offset:3px}@media(max-width:560px){img{max-width:100%;height:auto}body{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}
@@ -0,0 +1,54 @@
{
"id": "minimal",
"name": "极简创意",
"description": "商业主题体验升级:独立视觉素材、响应式排版、产品列表筛选、多级导航、可访问性与交付检查(需真实内容验收)",
"version": "1.1.0",
"style": "editorial",
"entry": "pro.html",
"styles": [
"theme.css",
"blocks.css"
],
"page_templates": [
"home",
"about",
"contact",
"listing",
"category",
"product",
"article",
"brand",
"case",
"service",
"faq",
"standard",
"notfound"
],
"blocks": [
"hero",
"richtext",
"features",
"stats",
"collection",
"image_text",
"gallery",
"faq",
"cta",
"attributes",
"spacer"
],
"responsive": true,
"auto_binding": true,
"professional_layout": true,
"commercial_ui": true,
"commercial_features": [
"responsive-design",
"product-detail",
"brand-collections",
"gallery",
"content-facets",
"mega-navigation",
"contact-integration",
"readiness-audit"
]
}
@@ -0,0 +1,273 @@
{
"home": [
{
"id": "612f6ea910",
"type": "hero",
"visible": true,
"title": "少即是多,体验至上",
"subtitle": "DESIGN THAT MATTERS",
"description": "{{site.tagline}}",
"button": "探索作品",
"href": "/product/",
"align": "left"
},
{
"id": "a448a548e5",
"type": "image_text",
"visible": true,
"title": "设计不止于外观",
"subtitle": "OUR PHILOSOPHY",
"description": "展示业务流程和服务理念。",
"image": "",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "8a2f9a939b",
"type": "collection",
"visible": true,
"title": "精选项目",
"subtitle": "SELECTED WORK",
"source": "case",
"limit": 6,
"columns": 3,
"button": "查看全部",
"href": "/product/"
},
{
"id": "e27cec0c11",
"type": "gallery",
"visible": true,
"title": "视觉记录",
"images": [],
"columns": 3
},
{
"id": "2bb8c1f33e",
"type": "cta",
"visible": true,
"title": "有一个新的想法?",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "联系我们",
"href": "/contact/"
}
],
"about": [
{
"id": "35e7b20667",
"type": "image_text",
"visible": true,
"title": "认识我们",
"subtitle": "OUR APPROACH",
"description": "展示业务流程和服务理念。",
"image": "",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "61ff3a5f5c",
"type": "stats",
"visible": true,
"title": "我们的实力",
"items": [
{
"value": "50,000+",
"label": "服务案例"
},
{
"value": "70+",
"label": "市场覆盖"
},
{
"value": "30+",
"label": "合作伙伴"
}
]
},
{
"id": "8bceb456e8",
"type": "features",
"visible": true,
"title": "我们的优势",
"items": [
{
"title": "专业服务",
"text": "从咨询到交付"
},
{
"title": "品质保障",
"text": "严格的质量流程"
},
{
"title": "全球网络",
"text": "连接不同市场"
}
]
}
],
"contact": [
{
"id": "a6a53010e6",
"type": "richtext",
"visible": true,
"title": "联系我们",
"body": "<p>请填写企业联系方式与地址。</p>"
},
{
"id": "17485c5650",
"type": "cta",
"visible": true,
"title": "欢迎联系",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "联系我们",
"href": "/contact/"
}
],
"listing": [
{
"id": "10c25d0a3c",
"type": "collection",
"visible": true,
"title": "全部作品",
"subtitle": "为客户提供适合的解决方案",
"source": "case",
"limit": 24,
"columns": 2,
"button": "查看全部",
"href": "/product/"
}
],
"product": [
{
"id": "3ee3cf11c4",
"type": "image_text",
"visible": true,
"title": "产品介绍",
"subtitle": "OUR APPROACH",
"description": "{{page.summary}}",
"image": "{{page.cover}}",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "04dee2c7f5",
"type": "attributes",
"visible": true,
"title": "产品规格与参数"
},
{
"id": "8282854cb4",
"type": "richtext",
"visible": true,
"title": "产品详情",
"body": "{{page.body}}"
},
{
"id": "7cbffd4a6b",
"type": "cta",
"visible": true,
"title": "开启新的合作",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "联系我们",
"href": "/contact/"
}
],
"article": [
{
"id": "7b72e8bf3f",
"type": "richtext",
"visible": true,
"title": "{{page.title}}",
"body": "{{page.body}}"
}
],
"brand": [
{
"id": "6c6b62b1f7",
"type": "image_text",
"visible": true,
"title": "{{page.title}}",
"subtitle": "OUR APPROACH",
"description": "{{page.summary}}",
"image": "{{page.cover}}",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "1e8d347355",
"type": "collection",
"visible": true,
"title": "品牌产品",
"subtitle": "为客户提供适合的解决方案",
"source": "product",
"limit": 6,
"columns": 3,
"button": "查看全部",
"href": "/product/"
}
],
"standard": [
{
"id": "82c5bbcae8",
"type": "richtext",
"visible": true,
"title": "{{page.title}}",
"body": "{{page.body}}"
}
],
"notfound": [
{
"id": "d197054638",
"type": "cta",
"visible": true,
"title": "页面暂时无法访问",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "返回首页",
"href": "/"
}
],
"case": [
{
"type": "image_text",
"title": "{{page.title}}",
"image": "{{page.cover}}",
"description": "{{page.summary}}"
},
{
"type": "richtext",
"title": "项目概述",
"body": "{{page.body}}"
}
],
"service": [
{
"type": "richtext",
"title": "{{page.title}}",
"body": "{{page.body}}"
},
{
"type": "cta",
"title": "了解更多",
"href": "/contact/"
}
],
"faq": [
{
"type": "faq",
"title": "常见问题",
"items": []
}
],
"category": [
{
"type": "collection",
"title": "分类产品",
"source": "product",
"limit": 24
}
]
}
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
@@ -0,0 +1 @@
<section class="pro-article-hero"><div class="pro-wrap pro-article-width"><span class="pro-eyebrow">LATEST NEWS / INSIGHTS</span><h1>{{page.title}}</h1><p>{{page.summary}}</p>{% if fields.get('publish_date') %}<time>{{fields.get('publish_date')}}</time>{% endif %}</div></section><article class="pro-wrap pro-article-content">{% if page.cover %}<img class="pro-article-cover" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}{{body_copy(content,page)}}<a class="pro-text-link" href="/news/">← 返回新闻</a></article>
@@ -0,0 +1 @@
<section class="pro-inner-hero pro-brand-hero"><div class="pro-wrap pro-brand-hero-grid"><div><span class="pro-eyebrow">BRAND PROFILE / PARTNERS</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div><div class="pro-brand-media">{{cover(page,'brand')}}</div></div></section><section class="pro-section"><div class="pro-wrap">{{body_copy(content,page)}}{% if related %}{{section_title('PRODUCT LINE','相关产品','/products/')}}{{grid(related,'product')}}{% endif %}</div></section>
@@ -0,0 +1 @@
<section class="pro-inner-hero"><div class="pro-wrap"><span class="pro-eyebrow">SELECTED WORK / PROJECT</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section><section class="pro-section"><div class="pro-wrap pro-case-detail">{% if page.cover %}<img src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}<div class="pro-case-meta">{% if fields.get('location') %}<span>项目地点<br><strong>{{fields.get('location')}}</strong></span>{% endif %}{% if fields.get('industry') %}<span>所属行业<br><strong>{{fields.get('industry')}}</strong></span>{% endif %}</div>{{body_copy(content,page)}}<a class="pro-text-link" href="/cases/">浏览更多案例 →</a></div></section>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-listing-hero"><div class="pro-wrap"><span class="pro-eyebrow">DISCOVER / {{'CATEGORY' if kind=='category' else 'COLLECTION'}}</span><h1>{{page.title}}</h1><p>{{page.summary or '查看此栏目的全部已发布内容。'}}</p><div class="pro-breadcrumb"><a href="/">首页</a><span>/</span><strong>{{page.title}}</strong></div></div></section>
<section class="pro-section pro-list-section"><div class="pro-wrap">{{ filters() }}<div class="pro-filter-scope">{{grid(listing,'catalog')}}</div>{% if pagination and pagination.pages>1 %}<nav class="pro-pages-nav" aria-label="商品列表分页">{% if pagination.previous %}<a href="{{pagination.previous}}" rel="prev">← 上一页</a>{% endif %}<span>第 {{pagination.page}} / {{pagination.pages}} 页</span>{% if pagination.next %}<a href="{{pagination.next}}" rel="next">下一页 →</a>{% endif %}</nav>{% endif %}</div></section>
@@ -0,0 +1,7 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
{% if form_endpoint %}
<section class="pro-section"><div class="pro-wrap pro-inquiry-wrap"><div><span class="pro-eyebrow">CONTACT FORM</span><h2>提交业务咨询</h2><p>提交内容将直接发送到网站管理员配置的外部表单服务。</p></div>
<form class="pro-inquiry" action="{{form_endpoint}}" method="POST"><label>姓名 <input name="name" autocomplete="name" required maxlength="100"></label><label>邮箱 <input name="email" type="email" autocomplete="email" required maxlength="180"></label><label>咨询内容 <textarea name="message" required minlength="6" maxlength="5000"></textarea></label><input name="website" tabindex="-1" autocomplete="off" class="pro-honeypot" aria-hidden="true"><button type="submit" class="pro-button">提交咨询 ↗</button><p>表单提交由外部服务处理,请确认其隐私政策及垃圾信息过滤设置。</p></form></div></section>
{% endif %}
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
@@ -0,0 +1,3 @@
<section class="pro-home-hero pro-minimal-hero"><div class="pro-wrap"><div class="pro-minimal-meta"><span>INDEPENDENT / CREATIVE / CONSIDERED</span><span>NO. 001 — ESTABLISH A PRESENCE</span></div><h1>{{page.title if page.title not in (site.name,'首页','Home') else site.name}}<br><em>MAKE IT MATTER.</em></h1><div class="pro-minimal-bottom"><p>{{page.summary or site.tagline or '简洁而清晰地呈现品牌与作品。'}}</p><a href="/cases/">EXPLORE WORK <span>↗</span></a></div></div></section>
<section class="pro-section pro-featured"><div class="pro-wrap">{{section_title('01 / INDEX','精选展示','/cases/')}}{{grid(cases if cases else showcase,'case')}}</div></section>
<section class="pro-section pro-statement"><div class="pro-wrap pro-statement-layout"><span class="pro-eyebrow">02 / ABOUT</span><div><h2>少一点噪音,多一点重点。</h2><p>{{site.tagline or '在这里介绍企业与品牌的核心价值。'}}</p><a class="pro-text-link" href="/about/">READ OUR STORY ↗</a></div></div></section>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-listing-hero"><div class="pro-wrap"><span class="pro-eyebrow">DISCOVER / {{'CATEGORY' if kind=='category' else 'COLLECTION'}}</span><h1>{{page.title}}</h1><p>{{page.summary or '查看此栏目的全部已发布内容。'}}</p><div class="pro-breadcrumb"><a href="/">首页</a><span>/</span><strong>{{page.title}}</strong></div></div></section>
<section class="pro-section pro-list-section"><div class="pro-wrap">{{ filters() }}<div class="pro-filter-scope">{{grid(listing,'catalog')}}</div>{% if pagination and pagination.pages>1 %}<nav class="pro-pages-nav" aria-label="商品列表分页">{% if pagination.previous %}<a href="{{pagination.previous}}" rel="prev">← 上一页</a>{% endif %}<span>第 {{pagination.page}} / {{pagination.pages}} 页</span>{% if pagination.next %}<a href="{{pagination.next}}" rel="next">下一页 →</a>{% endif %}</nav>{% endif %}</div></section>
@@ -0,0 +1 @@
<section class="pro-404 pro-wrap"><span>ERROR / 404</span><h1>404</h1><p>抱歉,你访问的页面不存在,或者已被移动。</p><a class="pro-button" href="/">返回首页 ↗</a></section>
@@ -0,0 +1,3 @@
<section class="pro-section pro-product-layout"><div class="pro-wrap"><div class="pro-breadcrumb"><a href="/">首页</a><span>/</span><a href="/products/">产品中心</a><span>/</span><strong>{{page.title}}</strong></div>
<div class="pro-product-hero"><div class="pro-product-gallery"><div class="pro-product-media">{{cover(page,'product')}}</div>{% if gallery|length>1 %}<div class="pro-gallery-thumbs" aria-label="产品图片画廊">{% for photo in gallery %}<button type="button" data-gallery-image="{{photo}}" aria-label="查看第{{loop.index}}张图片"><img src="{{photo}}" alt="{{page.title}} · 图{{loop.index}}" loading="lazy"></button>{% endfor %}</div>{% endif %}</div><div class="pro-product-summary"><span class="pro-eyebrow">PRODUCT DETAILS / {{fields.get('brand') or 'COLLECTION'}}</span><h1>{{page.title}}</h1><p>{{page.summary or '在此查看产品详细资料。'}}</p>{% if fields.get('brand') %}<p class="pro-product-brand">品牌 · {{fields.get('brand')}}</p>{% endif %}<a class="pro-button" href="/contact/">咨询该产品 <span>↗</span></a></div></div>
<div class="pro-detail-layout"><div><span class="pro-eyebrow">OVERVIEW</span><h2>产品介绍</h2>{{body_copy(content,page)}}</div><div><span class="pro-eyebrow">SPECIFICATIONS</span><h2>规格参数</h2><div class="pro-specs">{% for row in specs %}<div><span>{{row.label}}</span><strong>{{row.value}}</strong></div>{% else %}<p class="pro-muted">尚未填写详细参数。</p>{% endfor %}</div></div></div></div></section>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero"><div class="pro-wrap"><span class="pro-eyebrow">SEARCH / CONTENT</span><h1>站内搜索</h1><p>搜索本网站的产品、品牌、新闻和案例。</p></div></section>
<main id="main-content" class="sf-search-page pro-wrap"><label for="sf-search">输入关键词</label><input type="search" id="sf-search" placeholder="搜索产品、品牌、新闻、案例……" autofocus><div id="sf-search-count" aria-live="polite"></div><div id="sf-search-results"></div></main>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
+8
View File
@@ -0,0 +1,8 @@
:root{--pro-text:#272722;--pro-muted:#797972;--pro-border:#d9d8d0;--pro-background:#fafaf7;--pro-surface:#f0f0eb;--pro-accent:#282923;--pro-hero:#272722;--pro-radius:0;--pro-headings:Georgia,Times New Roman,serif;--pro-font:Arial,sans-serif;--pro-wide:1380px}
.pro-header{background:#fafaf7;color:#292920}.pro-head-inner{min-height:96px}.pro-logo{min-width:200px}.pro-logo-symbol{font-family:Georgia,serif;color:#272722;font-size:40px;font-weight:400}.pro-logo-name{font-family:Georgia,serif;font-size:23px;font-weight:500}.pro-logo-name small{font-family:Arial,sans-serif;font-size:9px}.pro-navigation a{font-size:12px;font-weight:550}.pro-header-cta{border-radius:0;background:transparent;color:#262621!important;border-bottom:1px solid #222;padding:10px 0}.pro-minimal-hero{background:#f4f3ec;color:#252521;border-bottom:1px solid #d7d7cc}.pro-minimal-hero>.pro-wrap{padding-top:68px;padding-bottom:90px}.pro-minimal-meta{display:flex;justify-content:space-between;color:#727267;font-size:10px;letter-spacing:.16em}.pro-minimal-hero h1{font-weight:400;font-family:Georgia,serif;letter-spacing:-.072em;font-size:clamp(65px,10vw,153px);line-height:1.03;margin:100px 0 85px}.pro-minimal-hero h1 em{font-weight:400;font-style:italic;color:#8f8e82}.pro-minimal-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;border-top:1px solid #c9c8bf;padding-top:28px}.pro-minimal-bottom p{font-size:17px;max-width:450px;margin:0}.pro-minimal-bottom a{font-weight:750;font-size:11px;letter-spacing:.11em;white-space:nowrap}.pro-minimal-bottom a span{padding-left:25px}.pro-section-head h2{font-weight:400;font-size:clamp(40px,5vw,70px)}.pro-grid{gap:34px 20px}.pro-card{border:0;background:transparent;border-radius:0}.pro-card:hover{box-shadow:none}.pro-card-cover{height:310px;background:#eae9e1}.pro-card-body{padding:23px 0}.pro-card h3{font-family:Georgia,serif;font-size:27px;font-weight:400}.pro-art{background:linear-gradient(145deg,#deddd2,#ebeae5)}.pro-art-ring{border-color:#ffffff8a}.pro-art-center{color:#aba89b}.pro-card-link{border-color:#c7c6bf}.pro-statement{background:#e9e7dc}.pro-statement h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(43px,6vw,83px)}.pro-statement .pro-text-link{color:#292a22}.pro-inner-hero{background:#f0efe8;border-bottom:1px solid #deddd3}.pro-inner-hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(60px,9vw,117px)}.pro-article-hero{background:#eeede5}.pro-article-hero h1{font-family:Georgia,serif;font-weight:400}.pro-article-content{max-width:830px}.pro-product-summary h1{font-family:Georgia,serif;font-weight:400}.pro-footer{background:#242520}.pro-footer h2{font-family:Georgia,serif;font-size:40px;font-weight:400}.pro-end-cta{background:#282822}.pro-end-cta h2{font-family:Georgia,serif;font-weight:400}.pro-end-cta a{background:#fff;color:#242520!important}.pro-404 h1{font-family:Georgia,serif;font-weight:400;color:#8f8e82}.pro-dot{color:#a8a595}
/* SiteForge V5 commercial signature */
.pro-minimal-hero .pro-hero-art{background-image:url("./visual/hero.svg")!important;background-position:center;background-size:cover;}
.pro-minimal-hero{background:#efeee8!important}.pro-minimal-hero .pro-wrap{background-image:url("./visual/hero.svg");background-repeat:no-repeat;background-size:48% auto;background-position:right 56%}.pro-minimal-hero h1{max-width:930px;position:relative;text-shadow:0 1px #ffffff70}.pro-card{border:0;border-bottom:1px solid #c8c7c0;background:transparent;border-radius:0}.pro-card-cover{background:#e7e5dc}.pro-art{background:linear-gradient(155deg,#e8e7e0,#c8c9bd);color:#585d55}.pro-card-body{padding-left:0;padding-right:0}.pro-featured{background:#faf9f5}.pro-section-head h2{font-weight:400}.pro-statement{border-block:1px solid #dddcd2;background:#f1efe7}.pro-footer{background:#22251e;color:#f6f4ec}.pro-button,.pro-header-cta{border-radius:0}
@media(max-width:700px){.pro-minimal-hero .pro-wrap{background-size:80% auto;background-position:center bottom;padding-bottom:250px}}
+13
View File
@@ -0,0 +1,13 @@
<!doctype html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><base href="/"><title>{{ seo_title }}</title><meta name="description" content="{{ seo_description }}"><meta property="og:type" content="{{ 'article' if kind in ('article','case') else 'website' }}"><meta property="og:title" content="{{ seo_title }}"><meta property="og:description" content="{{ seo_description }}">{% if canonical %}<meta property="og:url" content="{{canonical}}">{% endif %}<meta name="theme-color" content="{{theme_color}}"><meta name="robots" content="{{ 'noindex,follow' if noindex else page.get('robots','index,follow') }}">{% if canonical and not noindex %}<link rel="canonical" href="{{ canonical }}">{% endif %}<link rel="stylesheet" href="assets/theme.css"><link rel="stylesheet" href="assets/blocks.css"><link rel="stylesheet" href="assets/factory.css"><link rel="stylesheet" href="assets/pro-base.css"><link rel="stylesheet" href="assets/pro.css"><link rel="stylesheet" href="assets/commercial.css">{% if theme_overrides %}<link rel="stylesheet" href="assets/theme-overrides.css">{% endif %}<link rel="stylesheet" href="assets/custom.css"></head><body class="sf-theme-minimal pro-minimal"><a class="pro-skip" href="#main-content">跳转至正文</a>
{% from '_professional_components.html' import card,cover,grid,section_title,filters,footer_links,body_copy with context %}
{% if chrome_is_custom %}<div class="pro-utility"{% if not chrome.header.show_announcement %} hidden{% endif %}><div class="pro-wrap"><span>{{ chrome.header.announcement }}</span></div></div>{% else %}{% endif %}
<header class="sf-site-head pro-header"><div class="pro-wrap pro-head-inner"><a class="pro-logo" href="/" aria-label="{{site.name}} 首页">{% if safe_image(site.logo) %}<img class="pro-brand-logo" src="{{safe_image(site.logo)}}" alt="{{site.name}} Logo">{% else %}<span class="pro-logo-symbol">◌</span>{% endif %}<span class="pro-logo-name">{{site.name}}<small> / STUDIO</small></span></a><button class="pro-mobile-toggle" type="button" data-pro-menu aria-controls="pro-navigation" aria-expanded="false" aria-label="打开导航">☰</button><nav id="pro-navigation" class="pro-navigation" aria-label="主导航">{% for link in nav %}{% if link.children %}<div class="pro-nav-group"><a href="{{link.route}}">{{link.title}}</a><button type="button" class="pro-nav-disclose" aria-expanded="false" aria-label="展开{{link.title}}子菜单">▾</button><div class="pro-nav-children" hidden>{% for child in link.children %}<a href="{{child.route}}">{{child.title}}</a>{% for leaf in child.children %}<a class="pro-nav-leaf" href="{{leaf.route}}">— {{leaf.title}}</a>{% endfor %}{% endfor %}</div></div>{% else %}<a href="{{link.route}}">{{link.title}}</a>{% endif %}{% endfor %}<a href="/search/">⌕ 搜索</a>{% if chrome.header.show_search %}<a class="pro-search-link" href="/search/" aria-label="站内搜索">⌕</a>{% endif %}</nav>{% if chrome_is_custom %}{% if chrome.header.show_cta %}<a href="{{chrome.header.cta_href}}" class="pro-header-cta">{{chrome.header.cta_text}} <span>↗</span></a>{% endif %}{% else %}<a href="/contact/" class="pro-header-cta">LET'S TALK ↗</a>{% endif %}</div></header>
{% if not designer_replace %}{% include 'minimal/pages/' ~ kind ~ '.html' %}{% endif %}
{% if has_custom and kind!='notfound' %}<main id="main-content" class="sf-canvas pro-custom-content">{{custom_blocks}}</main>{% else %}<main id="main-content" class="sf-canvas pro-custom-content" aria-hidden="true"></main>{% endif %}
{% if kind not in ('notfound','search') %}<section class="pro-end-cta"><div class="pro-wrap"><div><span class="pro-eyebrow">LET'S CONNECT</span><h2>从这里开始下一步。</h2><p>{{site.tagline or '了解更多产品、服务与合作信息。'}}</p></div><a href="/contact/">联系我们 <span>↗</span></a></div></section>{% endif %}
<footer class="sf-site-foot pro-footer"><div class="pro-wrap"><div class="pro-footer-top"><div><span class="pro-eyebrow">STAY CURIOUS</span><h2>{{chrome.footer.title or site.name}}<span class="pro-dot">.</span></h2><p>{{footer_text}}</p></div><div class="pro-footer-links">{{footer_links(footer_nav)}}</div><div><span class="pro-eyebrow">SAY HELLO</span><p>{{footer_email or '请在后台配置企业联系方式'}}</p></div></div><div class="pro-footer-bottom"><span>© {{year}} {{site.name}}</span><span>MADE WITH INTENTION</span></div></div></footer>
{% if chrome.mobile_tabs['enabled'] and chrome.mobile_tabs['items'] %}<nav class="sf-mobile-tabs" style="--sf-mobile-tab-count:{{ chrome.mobile_tabs['items']|length }}" aria-label="手机底部快捷导航" data-mobile-tabs>
{% for tab in chrome.mobile_tabs['items'] %}{% if tab.action == 'menu' %}<button type="button" class="sf-mobile-tab" data-mobile-open-menu aria-label="{{tab.title}}"><span class="sf-tab-icon" aria-hidden="true">{{ mobile_tab_icons[tab.icon] }}</span><span class="sf-tab-label">{{tab.title}}</span></button>{% else %}<a class="sf-mobile-tab" href="{{tab.route}}"{% if tab.route == route %} aria-current="page"{% endif %}><span class="sf-tab-icon" aria-hidden="true">{{ mobile_tab_icons[tab.icon] }}</span><span class="sf-tab-label">{{tab.title}}</span></a>{% endif %}{% endfor %}</nav>{% endif %}
<script defer src="assets/site-runtime.js"></script><script defer src="assets/pro.js"></script></body></html>
+8
View File
@@ -0,0 +1,8 @@
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><base href="/"><title>{{seo_title}}</title><meta name="description" content="{{seo_description}}"><meta name="robots" content="{{'noindex,follow' if mode=='notfound' else (page.robots or 'index,follow')}}">{% if canonical %}<link rel="canonical" href="{{canonical}}">{% endif %}<link rel="stylesheet" href="assets/theme.css"><link rel="stylesheet" href="assets/blocks.css"><link rel="stylesheet" href="assets/custom.css"></head><body>
<header class="container header"><a href="./" class="brand">{{site.name}}<span>®</span></a><nav><a href="./">Index</a>{% for n in nav if n.route!='/' %}<a href="{{link(n.route)}}">{{n.title}}</a>{% endfor %}{% if entries|selectattr('type','equalto','product')|list %}<a href="product/">Collection</a>{% endif %}{% if entries|selectattr('type','equalto','post')|list %}<a href="post/">Journal</a>{% endif %}</nav><a class="contact" href="mailto:{{site.email or "info@example.com"}}">CONTACT ↗</a></header>
{% if blueprint_mode %}{% elif mode=='home' %}<section class="container hero"><div class="topline"><span>ESTABLISHED IN IDEAS.</span><span>DESIGNED FOR CHANGE.</span></div><h1>{{page.title if page.title!=site.name else 'Less, but better.'}}</h1><div class="hero-bottom"><p>{{page.summary or site.tagline or 'Thoughtfully made. Beautifully simple. Designed to make an impact.'}}</p><a href="product/">EXPLORE THE WORK <b>↗</b></a></div>{% if page.cover %}<div class="hero-image"><img src="{{asset(page.cover)}}" alt="{{page.title}}"></div>{% else %}<div class="hero-image graphic"><div class="shape a"></div><div class="shape b"></div><div class="shape c"></div><span>SIMPLICITY<br>IS INTENTIONAL.</span></div>{% endif %}</section>
{% else %}<section class="container inner-hero"><span class="topline">{{type_names.get(page.type,'THE STUDIO')|upper}} <b>—</b> {{'INDEX' if mode=='listing' else 'ABOUT'}}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></section>{% endif %}
{% if blueprint_mode %}<main class="sf-canvas">{{blocks}}</main>{% else %}<main class="container content">{% if mode in ['detail','home'] and (content or blocks) %}<article class="rich-content">{{blocks}}{{content}}</article>{% endif %}{% if mode=='detail' and page.cover %}<div class="detail-img"><img src="{{asset(page.cover)}}" alt="{{page.title}}"></div>{% endif %}
{% set picks=listing_items if mode=='listing' else entries|selectattr('type','equalto','product')|list if mode=='home' else [] %}
{% if picks %}<div class="list-head"><span>01 / SELECTED WORK</span><h2>{{'Our collection' if mode=='home' else page.title}}</h2></div><div class="list">{% for item in picks[:12] %}<a href="{{link(item.route)}}" class="item"><div class="thumb">{% if item.cover %}<img src="{{asset(item.cover)}}" alt="{{item.title}}">{% else %}<span>{{'%02d' % loop.index}}</span>{% endif %}</div><div class="info"><span>COLLECTION / {{'%02d' % loop.index}}</span><h3>{{item.title}}</h3><p>{{item.summary|truncate(110)}}</p><b>VIEW PROJECT ↗</b></div></a>{% endfor %}</div>{% endif %}
</main>{% endif %}<footer class="container"><div class="footer-lead">Good design<br>means business. <span>↗</span></div><div class="footer-bottom"><span>{{site.name}} — {{site.tagline}}</span><span>© {{site.name}} · SITEFORGE</span></div></footer></body></html>
+1
View File
@@ -0,0 +1 @@
*{box-sizing:border-box}body{margin:0;color:#171717;background:#faf9f6;font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1260px,90%);margin:auto}.header{height:110px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #cccac4}.brand{font-family:Georgia,"Times New Roman",serif;font-size:30px;font-weight:bold;letter-spacing:-1px}.brand span{font-size:12px;vertical-align:top}.header nav{display:flex;gap:33px;font-size:12px;flex-wrap:wrap}.header nav a:hover{text-decoration:underline}.contact{font-size:12px;font-weight:bold;border-bottom:1px solid black;padding-bottom:5px}.hero{padding:48px 0 0}.topline{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2.3px;font-weight:bold}.hero h1,.inner-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(65px,9.1vw,155px);line-height:1;letter-spacing:-8px;font-weight:400;margin:85px 0 40px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin:35px 0 64px;gap:25px}.hero-bottom p{font-size:18px;max-width:490px;margin:0}.hero-bottom a{font-size:12px;letter-spacing:1.5px;border-bottom:1px solid black;padding-bottom:8px}.hero-image{height:425px;background:#deddd4;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.hero-image img{height:100%;width:100%;object-fit:cover}.graphic{background:#cec8bc}.shape{position:absolute;border-radius:50%;background:linear-gradient(125deg,#ede9e1,#98918a);box-shadow:25px 30px 40px #59544c22}.shape.a{height:550px;width:550px;left:5%;top:-230px}.shape.b{width:280px;height:280px;right:15%;bottom:-120px;background:#989e97}.shape.c{width:160px;height:160px;right:40%;top:0;background:#ece9e3}.graphic>span{position:relative;font-size:25px;letter-spacing:7px;font-weight:500;line-height:1.5}.inner-hero{padding:80px 0;border-bottom:1px solid #d3d0ca}.inner-hero h1{font-size:clamp(48px,8vw,115px);margin:40px 0}.inner-hero p{font-size:18px;color:#777;max-width:660px}.content{padding:70px 0 130px}.list-head{display:grid;grid-template-columns:1fr 2fr;align-items:center;margin:30px 0 40px;border-bottom:1px solid black}.list-head span{font-size:10px;letter-spacing:2px}.list-head h2{font-family:Georgia,serif;font-weight:400;font-size:54px;letter-spacing:-2px}.list{display:grid;grid-template-columns:repeat(2,1fr);gap:80px 35px}.item{display:block}.item:hover h3{text-decoration:underline}.thumb{height:290px;background:#e3e1d8;display:grid;place-items:center}.thumb img{width:100%;height:100%;object-fit:contain}.thumb span{font-family:Georgia,serif;font-size:140px;color:#c0bcb2}.info{padding:25px 0}.info>span{font-size:10px;letter-spacing:1.5px}.info h3{font-family:Georgia,serif;font-size:36px;font-weight:400;margin:12px 0}.info p{color:#666;max-width:400px}.info b{font-size:11px;letter-spacing:1px}.rich-content{margin:25px 0}.section{padding:45px 0}.block-hero{padding:50px 0}.block-hero h1{font-family:Georgia,serif;font-size:60px;font-weight:400}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.feature{border-top:1px solid #8f8a84;padding-top:20px}.feature-mark{font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr)}.stat strong{font-family:Georgia,serif;display:block;font-size:47px;font-weight:400}.stat span{font-size:11px;letter-spacing:1px}.cta{padding:55px;background:#e4e0d8}.cta h2{font-family:Georgia,serif;font-weight:400;font-size:44px}.btn{display:inline-block;background:#222;color:white;padding:13px 20px;font-size:12px}.detail-img img{max-width:100%;max-height:550px}footer{border-top:1px solid #b9b5ae;padding:70px 0 25px}.footer-lead{font-family:Georgia,serif;font-size:clamp(45px,6vw,90px);line-height:1.05;letter-spacing:-4px}.footer-lead span{color:#909084}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #d5d1c9;margin-top:90px;padding-top:25px;font-size:11px;color:#777}@media(max-width:850px){.header{height:auto;padding:26px 0;flex-wrap:wrap}.header nav{order:3;width:100%}.hero h1{letter-spacing:-4px;margin-top:60px}.hero-image{height:320px}.list{gap:35px}.list-head{grid-template-columns:1fr}.footer-lead{letter-spacing:-2px}}@media(max-width:560px){.list,.feature-grid,.stats{grid-template-columns:1fr}.hero h1{font-size:67px}.hero-bottom,.topline,.footer-bottom{flex-direction:column;align-items:start;gap:15px}.hero-image{height:240px}.list-head h2{font-size:40px}.inner-hero{padding:50px 0}}
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 740"><defs><linearGradient id="bg" x1="0" y1="0" x2="1" y2="1"><stop stop-color="#e4e2d8"/><stop offset="1" stop-color="#c7c5b8"/></linearGradient><linearGradient id="shape" x1="0" y1="0" x2="1" y2="1"><stop stop-color="#717569"/><stop offset="1" stop-color="#30392e"/></linearGradient></defs><rect width="1000" height="740" fill="url(#bg)"/><path d="M118 665V140h442v525Z" fill="#deddd3"/><path d="M240 665V235h320v430Z" fill="#bbbcb0"/><path d="M370 665V98h280v567Z" fill="#f6f4e9"/><path d="M530 665V180h300v485Z" fill="url(#shape)"/><path d="M530 665V180l110-82v566Z" fill="#d6d3c4"/><path d="M650 665V260h180v405Z" fill="#3e493e"/><circle cx="504" cy="335" r="104" fill="none" stroke="#f3f1e8" stroke-width="26"/><path d="M120 665h775" stroke="#373a32" stroke-width="4"/><text x="70" y="74" fill="#5d6156" font-size="13" font-family="Georgia" letter-spacing="6">STUDIES IN FORM</text></svg>

After

Width:  |  Height:  |  Size: 954 B

@@ -0,0 +1,54 @@
{
"id": "minimal",
"name": "极简创意",
"description": "四套主题移动端抽屉/可选 Tabs 与 V8.29 手机排版、卡片、可访问性增强;上线前需核对真实内容。",
"version": "1.2.0",
"style": "editorial",
"entry": "pro.html",
"styles": [
"theme.css",
"blocks.css"
],
"page_templates": [
"home",
"about",
"contact",
"listing",
"category",
"product",
"article",
"brand",
"case",
"service",
"faq",
"standard",
"notfound"
],
"blocks": [
"hero",
"richtext",
"features",
"stats",
"collection",
"image_text",
"gallery",
"faq",
"cta",
"attributes",
"spacer"
],
"responsive": true,
"auto_binding": true,
"professional_layout": true,
"commercial_ui": true,
"commercial_features": [
"responsive-design",
"product-detail",
"brand-collections",
"gallery",
"content-facets",
"mega-navigation",
"contact-integration",
"readiness-audit"
]
}
@@ -0,0 +1,273 @@
{
"home": [
{
"id": "612f6ea910",
"type": "hero",
"visible": true,
"title": "少即是多,体验至上",
"subtitle": "DESIGN THAT MATTERS",
"description": "{{site.tagline}}",
"button": "探索作品",
"href": "/product/",
"align": "left"
},
{
"id": "a448a548e5",
"type": "image_text",
"visible": true,
"title": "设计不止于外观",
"subtitle": "OUR PHILOSOPHY",
"description": "展示业务流程和服务理念。",
"image": "",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "8a2f9a939b",
"type": "collection",
"visible": true,
"title": "精选项目",
"subtitle": "SELECTED WORK",
"source": "case",
"limit": 6,
"columns": 3,
"button": "查看全部",
"href": "/product/"
},
{
"id": "e27cec0c11",
"type": "gallery",
"visible": true,
"title": "视觉记录",
"images": [],
"columns": 3
},
{
"id": "2bb8c1f33e",
"type": "cta",
"visible": true,
"title": "有一个新的想法?",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "联系我们",
"href": "/contact/"
}
],
"about": [
{
"id": "35e7b20667",
"type": "image_text",
"visible": true,
"title": "认识我们",
"subtitle": "OUR APPROACH",
"description": "展示业务流程和服务理念。",
"image": "",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "61ff3a5f5c",
"type": "stats",
"visible": true,
"title": "我们的实力",
"items": [
{
"value": "50,000+",
"label": "服务案例"
},
{
"value": "70+",
"label": "市场覆盖"
},
{
"value": "30+",
"label": "合作伙伴"
}
]
},
{
"id": "8bceb456e8",
"type": "features",
"visible": true,
"title": "我们的优势",
"items": [
{
"title": "专业服务",
"text": "从咨询到交付"
},
{
"title": "品质保障",
"text": "严格的质量流程"
},
{
"title": "全球网络",
"text": "连接不同市场"
}
]
}
],
"contact": [
{
"id": "a6a53010e6",
"type": "richtext",
"visible": true,
"title": "联系我们",
"body": "<p>请填写企业联系方式与地址。</p>"
},
{
"id": "17485c5650",
"type": "cta",
"visible": true,
"title": "欢迎联系",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "联系我们",
"href": "/contact/"
}
],
"listing": [
{
"id": "10c25d0a3c",
"type": "collection",
"visible": true,
"title": "全部作品",
"subtitle": "为客户提供适合的解决方案",
"source": "case",
"limit": 24,
"columns": 2,
"button": "查看全部",
"href": "/product/"
}
],
"product": [
{
"id": "3ee3cf11c4",
"type": "image_text",
"visible": true,
"title": "产品介绍",
"subtitle": "OUR APPROACH",
"description": "{{page.summary}}",
"image": "{{page.cover}}",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "04dee2c7f5",
"type": "attributes",
"visible": true,
"title": "产品规格与参数"
},
{
"id": "8282854cb4",
"type": "richtext",
"visible": true,
"title": "产品详情",
"body": "{{page.body}}"
},
{
"id": "7cbffd4a6b",
"type": "cta",
"visible": true,
"title": "开启新的合作",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "联系我们",
"href": "/contact/"
}
],
"article": [
{
"id": "7b72e8bf3f",
"type": "richtext",
"visible": true,
"title": "{{page.title}}",
"body": "{{page.body}}"
}
],
"brand": [
{
"id": "6c6b62b1f7",
"type": "image_text",
"visible": true,
"title": "{{page.title}}",
"subtitle": "OUR APPROACH",
"description": "{{page.summary}}",
"image": "{{page.cover}}",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "1e8d347355",
"type": "collection",
"visible": true,
"title": "品牌产品",
"subtitle": "为客户提供适合的解决方案",
"source": "product",
"limit": 6,
"columns": 3,
"button": "查看全部",
"href": "/product/"
}
],
"standard": [
{
"id": "82c5bbcae8",
"type": "richtext",
"visible": true,
"title": "{{page.title}}",
"body": "{{page.body}}"
}
],
"notfound": [
{
"id": "d197054638",
"type": "cta",
"visible": true,
"title": "页面暂时无法访问",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "返回首页",
"href": "/"
}
],
"case": [
{
"type": "image_text",
"title": "{{page.title}}",
"image": "{{page.cover}}",
"description": "{{page.summary}}"
},
{
"type": "richtext",
"title": "项目概述",
"body": "{{page.body}}"
}
],
"service": [
{
"type": "richtext",
"title": "{{page.title}}",
"body": "{{page.body}}"
},
{
"type": "cta",
"title": "了解更多",
"href": "/contact/"
}
],
"faq": [
{
"type": "faq",
"title": "常见问题",
"items": []
}
],
"category": [
{
"type": "collection",
"title": "分类产品",
"source": "product",
"limit": 24
}
]
}
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
@@ -0,0 +1 @@
<section class="pro-article-hero"><div class="pro-wrap pro-article-width"><span class="pro-eyebrow">LATEST NEWS / INSIGHTS</span><h1>{{page.title}}</h1><p>{{page.summary}}</p>{% if fields.get('publish_date') %}<time>{{fields.get('publish_date')}}</time>{% endif %}</div></section><article class="pro-wrap pro-article-content">{% if page.cover %}<img class="pro-article-cover" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}{{body_copy(content,page)}}<a class="pro-text-link" href="/news/">← 返回新闻</a></article>
@@ -0,0 +1 @@
<section class="pro-inner-hero pro-brand-hero"><div class="pro-wrap pro-brand-hero-grid"><div><span class="pro-eyebrow">BRAND PROFILE / PARTNERS</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div><div class="pro-brand-media">{{cover(page,'brand')}}</div></div></section><section class="pro-section"><div class="pro-wrap">{{body_copy(content,page)}}{% if related %}{{section_title('PRODUCT LINE','相关产品','/products/')}}{{grid(related,'product')}}{% endif %}</div></section>
@@ -0,0 +1 @@
<section class="pro-inner-hero"><div class="pro-wrap"><span class="pro-eyebrow">SELECTED WORK / PROJECT</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section><section class="pro-section"><div class="pro-wrap pro-case-detail">{% if page.cover %}<img src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}<div class="pro-case-meta">{% if fields.get('location') %}<span>项目地点<br><strong>{{fields.get('location')}}</strong></span>{% endif %}{% if fields.get('industry') %}<span>所属行业<br><strong>{{fields.get('industry')}}</strong></span>{% endif %}</div>{{body_copy(content,page)}}<a class="pro-text-link" href="/cases/">浏览更多案例 →</a></div></section>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-listing-hero"><div class="pro-wrap"><span class="pro-eyebrow">DISCOVER / {{'CATEGORY' if kind=='category' else 'COLLECTION'}}</span><h1>{{page.title}}</h1><p>{{page.summary or '查看此栏目的全部已发布内容。'}}</p><div class="pro-breadcrumb"><a href="/">首页</a><span>/</span><strong>{{page.title}}</strong></div></div></section>
<section class="pro-section pro-list-section"><div class="pro-wrap">{{ filters() }}<div class="pro-filter-scope">{{grid(listing,'catalog')}}</div>{% if pagination and pagination.pages>1 %}<nav class="pro-pages-nav" aria-label="商品列表分页">{% if pagination.previous %}<a href="{{pagination.previous}}" rel="prev">← 上一页</a>{% endif %}<span>第 {{pagination.page}} / {{pagination.pages}} 页</span>{% if pagination.next %}<a href="{{pagination.next}}" rel="next">下一页 →</a>{% endif %}</nav>{% endif %}</div></section>
@@ -0,0 +1,7 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
{% if form_endpoint %}
<section class="pro-section"><div class="pro-wrap pro-inquiry-wrap"><div><span class="pro-eyebrow">CONTACT FORM</span><h2>提交业务咨询</h2><p>提交内容将直接发送到网站管理员配置的外部表单服务。</p></div>
<form class="pro-inquiry" action="{{form_endpoint}}" method="POST"><label>姓名 <input name="name" autocomplete="name" required maxlength="100"></label><label>邮箱 <input name="email" type="email" autocomplete="email" required maxlength="180"></label><label>咨询内容 <textarea name="message" required minlength="6" maxlength="5000"></textarea></label><input name="website" tabindex="-1" autocomplete="off" class="pro-honeypot" aria-hidden="true"><button type="submit" class="pro-button">提交咨询 ↗</button><p>表单提交由外部服务处理,请确认其隐私政策及垃圾信息过滤设置。</p></form></div></section>
{% endif %}
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
@@ -0,0 +1,3 @@
<section class="pro-home-hero pro-minimal-hero"><div class="pro-wrap"><div class="pro-minimal-meta"><span>INDEPENDENT / CREATIVE / CONSIDERED</span><span>NO. 001 — ESTABLISH A PRESENCE</span></div><h1>{{page.title if page.title not in (site.name,'首页','Home') else site.name}}<br><em>MAKE IT MATTER.</em></h1><div class="pro-minimal-bottom"><p>{{page.summary or site.tagline or '简洁而清晰地呈现品牌与作品。'}}</p><a href="/cases/">EXPLORE WORK <span>↗</span></a></div></div></section>
<section class="pro-section pro-featured"><div class="pro-wrap">{{section_title('01 / INDEX','精选展示','/cases/')}}{{grid(cases if cases else showcase,'case')}}</div></section>
<section class="pro-section pro-statement"><div class="pro-wrap pro-statement-layout"><span class="pro-eyebrow">02 / ABOUT</span><div><h2>少一点噪音,多一点重点。</h2><p>{{site.tagline or '在这里介绍企业与品牌的核心价值。'}}</p><a class="pro-text-link" href="/about/">READ OUR STORY ↗</a></div></div></section>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-listing-hero"><div class="pro-wrap"><span class="pro-eyebrow">DISCOVER / {{'CATEGORY' if kind=='category' else 'COLLECTION'}}</span><h1>{{page.title}}</h1><p>{{page.summary or '查看此栏目的全部已发布内容。'}}</p><div class="pro-breadcrumb"><a href="/">首页</a><span>/</span><strong>{{page.title}}</strong></div></div></section>
<section class="pro-section pro-list-section"><div class="pro-wrap">{{ filters() }}<div class="pro-filter-scope">{{grid(listing,'catalog')}}</div>{% if pagination and pagination.pages>1 %}<nav class="pro-pages-nav" aria-label="商品列表分页">{% if pagination.previous %}<a href="{{pagination.previous}}" rel="prev">← 上一页</a>{% endif %}<span>第 {{pagination.page}} / {{pagination.pages}} 页</span>{% if pagination.next %}<a href="{{pagination.next}}" rel="next">下一页 →</a>{% endif %}</nav>{% endif %}</div></section>
@@ -0,0 +1 @@
<section class="pro-404 pro-wrap"><span>ERROR / 404</span><h1>404</h1><p>抱歉,你访问的页面不存在,或者已被移动。</p><a class="pro-button" href="/">返回首页 ↗</a></section>
@@ -0,0 +1,3 @@
<section class="pro-section pro-product-layout"><div class="pro-wrap"><div class="pro-breadcrumb"><a href="/">首页</a><span>/</span><a href="/products/">产品中心</a><span>/</span><strong>{{page.title}}</strong></div>
<div class="pro-product-hero"><div class="pro-product-gallery"><div class="pro-product-media">{{cover(page,'product')}}</div>{% if gallery|length>1 %}<div class="pro-gallery-thumbs" aria-label="产品图片画廊">{% for photo in gallery %}<button type="button" data-gallery-image="{{photo}}" aria-label="查看第{{loop.index}}张图片"><img src="{{photo}}" alt="{{page.title}} · 图{{loop.index}}" loading="lazy"></button>{% endfor %}</div>{% endif %}</div><div class="pro-product-summary"><span class="pro-eyebrow">PRODUCT DETAILS / {{fields.get('brand') or 'COLLECTION'}}</span><h1>{{page.title}}</h1><p>{{page.summary or '在此查看产品详细资料。'}}</p>{% if fields.get('brand') %}<p class="pro-product-brand">品牌 · {{fields.get('brand')}}</p>{% endif %}<a class="pro-button" href="/contact/">咨询该产品 <span>↗</span></a></div></div>
<div class="pro-detail-layout"><div><span class="pro-eyebrow">OVERVIEW</span><h2>产品介绍</h2>{{body_copy(content,page)}}</div><div><span class="pro-eyebrow">SPECIFICATIONS</span><h2>规格参数</h2><div class="pro-specs">{% for row in specs %}<div><span>{{row.label}}</span><strong>{{row.value}}</strong></div>{% else %}<p class="pro-muted">尚未填写详细参数。</p>{% endfor %}</div></div></div></div></section>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero"><div class="pro-wrap"><span class="pro-eyebrow">SEARCH / CONTENT</span><h1>站内搜索</h1><p>搜索本网站的产品、品牌、新闻和案例。</p></div></section>
<main id="main-content" class="sf-search-page pro-wrap"><label for="sf-search">输入关键词</label><input type="search" id="sf-search" placeholder="搜索产品、品牌、新闻、案例……" autofocus><div id="sf-search-count" aria-live="polite"></div><div id="sf-search-results"></div></main>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
+24
View File
@@ -0,0 +1,24 @@
:root{--pro-text:#272722;--pro-muted:#797972;--pro-border:#d9d8d0;--pro-background:#fafaf7;--pro-surface:#f0f0eb;--pro-accent:#282923;--pro-hero:#272722;--pro-radius:0;--pro-headings:Georgia,Times New Roman,serif;--pro-font:Arial,sans-serif;--pro-wide:1380px}
.pro-header{background:#fafaf7;color:#292920}.pro-head-inner{min-height:96px}.pro-logo{min-width:200px}.pro-logo-symbol{font-family:Georgia,serif;color:#272722;font-size:40px;font-weight:400}.pro-logo-name{font-family:Georgia,serif;font-size:23px;font-weight:500}.pro-logo-name small{font-family:Arial,sans-serif;font-size:9px}.pro-navigation a{font-size:12px;font-weight:550}.pro-header-cta{border-radius:0;background:transparent;color:#262621!important;border-bottom:1px solid #222;padding:10px 0}.pro-minimal-hero{background:#f4f3ec;color:#252521;border-bottom:1px solid #d7d7cc}.pro-minimal-hero>.pro-wrap{padding-top:68px;padding-bottom:90px}.pro-minimal-meta{display:flex;justify-content:space-between;color:#727267;font-size:10px;letter-spacing:.16em}.pro-minimal-hero h1{font-weight:400;font-family:Georgia,serif;letter-spacing:-.072em;font-size:clamp(65px,10vw,153px);line-height:1.03;margin:100px 0 85px}.pro-minimal-hero h1 em{font-weight:400;font-style:italic;color:#8f8e82}.pro-minimal-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;border-top:1px solid #c9c8bf;padding-top:28px}.pro-minimal-bottom p{font-size:17px;max-width:450px;margin:0}.pro-minimal-bottom a{font-weight:750;font-size:11px;letter-spacing:.11em;white-space:nowrap}.pro-minimal-bottom a span{padding-left:25px}.pro-section-head h2{font-weight:400;font-size:clamp(40px,5vw,70px)}.pro-grid{gap:34px 20px}.pro-card{border:0;background:transparent;border-radius:0}.pro-card:hover{box-shadow:none}.pro-card-cover{height:310px;background:#eae9e1}.pro-card-body{padding:23px 0}.pro-card h3{font-family:Georgia,serif;font-size:27px;font-weight:400}.pro-art{background:linear-gradient(145deg,#deddd2,#ebeae5)}.pro-art-ring{border-color:#ffffff8a}.pro-art-center{color:#aba89b}.pro-card-link{border-color:#c7c6bf}.pro-statement{background:#e9e7dc}.pro-statement h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(43px,6vw,83px)}.pro-statement .pro-text-link{color:#292a22}.pro-inner-hero{background:#f0efe8;border-bottom:1px solid #deddd3}.pro-inner-hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(60px,9vw,117px)}.pro-article-hero{background:#eeede5}.pro-article-hero h1{font-family:Georgia,serif;font-weight:400}.pro-article-content{max-width:830px}.pro-product-summary h1{font-family:Georgia,serif;font-weight:400}.pro-footer{background:#242520}.pro-footer h2{font-family:Georgia,serif;font-size:40px;font-weight:400}.pro-end-cta{background:#282822}.pro-end-cta h2{font-family:Georgia,serif;font-weight:400}.pro-end-cta a{background:#fff;color:#242520!important}.pro-404 h1{font-family:Georgia,serif;font-weight:400;color:#8f8e82}.pro-dot{color:#a8a595}
/* SiteForge V5 commercial signature */
.pro-minimal-hero .pro-hero-art{background-image:url("./visual/hero.svg")!important;background-position:center;background-size:cover;}
.pro-minimal-hero{background:#efeee8!important}.pro-minimal-hero .pro-wrap{background-image:url("./visual/hero.svg");background-repeat:no-repeat;background-size:48% auto;background-position:right 56%}.pro-minimal-hero h1{max-width:930px;position:relative;text-shadow:0 1px #ffffff70}.pro-card{border:0;border-bottom:1px solid #c8c7c0;background:transparent;border-radius:0}.pro-card-cover{background:#e7e5dc}.pro-art{background:linear-gradient(155deg,#e8e7e0,#c8c9bd);color:#585d55}.pro-card-body{padding-left:0;padding-right:0}.pro-featured{background:#faf9f5}.pro-section-head h2{font-weight:400}.pro-statement{border-block:1px solid #dddcd2;background:#f1efe7}.pro-footer{background:#22251e;color:#f6f4ec}.pro-button,.pro-header-cta{border-radius:0}
@media(max-width:700px){.pro-minimal-hero .pro-wrap{background-size:80% auto;background-position:center bottom;padding-bottom:250px}}
/* V8.29 presentation refinement: minimal. Preserve per-theme design language. */
body.pro-minimal{--pro-studio-ring:rgba(45,45,42,.13);--pro-focus-color:#35352d;--pro-interact-radius:2px}
body.pro-minimal .pro-wrap{max-width:100%;min-width:0}
body.pro-minimal .pro-hero-copy,body.pro-minimal .pro-card-body,body.pro-minimal .pro-card-copy{min-width:0;overflow-wrap:anywhere}
body.pro-minimal .pro-hero-copy h1{font-size:clamp(2.45rem,5.15vw,5.6rem);line-height:1.08;max-width:18ch;text-wrap:balance}
body.pro-minimal .pro-section-head h2{font-size:clamp(1.85rem,3vw,3.25rem);text-wrap:balance}
body.pro-minimal .pro-card,body.pro-minimal .pro-product-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
@media(hover:hover){body.pro-minimal .pro-card:hover,body.pro-minimal .pro-product-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px var(--pro-studio-ring)}}
body.pro-minimal :where(button,a,input,select,textarea):focus-visible{outline:3px solid var(--pro-focus-color);outline-offset:3px}
body.pro-minimal img{max-width:100%;height:auto}
body.pro-minimal .pro-card-cover img,body.pro-minimal .pro-gallery-main img{object-fit:cover;max-height:100%}
body.pro-minimal .pro-mobile-toggle,body.pro-minimal .pro-nav-disclose{min-height:44px;min-width:44px}
@media(max-width:860px){body.pro-minimal .pro-home-grid,body.pro-minimal .pro-product-layout,body.pro-minimal .pro-inquiry-wrap{min-width:0}body.pro-minimal .pro-card-grid,body.pro-minimal .pro-grid{gap:clamp(12px,3vw,23px)}}
@media(max-width:560px){body.pro-minimal .pro-wrap{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}body.pro-minimal .pro-hero-copy h1{font-size:clamp(2rem,9vw,3.2rem)}body.pro-minimal .pro-section-head h2{font-size:clamp(1.75rem,7vw,2.5rem)}body.pro-minimal .pro-section{padding-block:clamp(34px,9vw,60px)}body.pro-minimal .pro-card-cover{height:auto;aspect-ratio:4/3}body.pro-minimal .pro-card-cover img{width:100%;height:100%;object-fit:cover}}
@media(prefers-reduced-motion:reduce){body.pro-minimal .pro-card,body.pro-minimal .pro-product-card{transition:none!important;transform:none!important}}
+13
View File
@@ -0,0 +1,13 @@
<!doctype html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><base href="/"><title>{{ seo_title }}</title><meta name="description" content="{{ seo_description }}"><meta property="og:type" content="{{ 'article' if kind in ('article','case') else 'website' }}"><meta property="og:title" content="{{ seo_title }}"><meta property="og:description" content="{{ seo_description }}">{% if canonical %}<meta property="og:url" content="{{canonical}}">{% endif %}<meta name="theme-color" content="{{theme_color}}"><meta name="robots" content="{{ 'noindex,follow' if noindex else page.get('robots','index,follow') }}">{% if canonical and not noindex %}<link rel="canonical" href="{{ canonical }}">{% endif %}<link rel="stylesheet" href="assets/theme.css"><link rel="stylesheet" href="assets/blocks.css"><link rel="stylesheet" href="assets/factory.css"><link rel="stylesheet" href="assets/pro-base.css"><link rel="stylesheet" href="assets/pro.css"><link rel="stylesheet" href="assets/commercial.css">{% if theme_overrides %}<link rel="stylesheet" href="assets/theme-overrides.css">{% endif %}<link rel="stylesheet" href="assets/custom.css"></head><body class="sf-theme-minimal pro-minimal"><a class="pro-skip" href="#main-content">跳转至正文</a>
{% from '_professional_components.html' import card,cover,grid,section_title,filters,footer_links,body_copy with context %}
{% if chrome_is_custom %}<div class="pro-utility"{% if not chrome.header.show_announcement %} hidden{% endif %}><div class="pro-wrap"><span>{{ chrome.header.announcement }}</span></div></div>{% else %}{% endif %}
<header class="sf-site-head pro-header"><div class="pro-wrap pro-head-inner"><a class="pro-logo" href="/" aria-label="{{site.name}} 首页">{% if safe_image(site.logo) %}<img class="pro-brand-logo" src="{{safe_image(site.logo)}}" alt="{{site.name}} Logo">{% else %}<span class="pro-logo-symbol">◌</span>{% endif %}<span class="pro-logo-name">{{site.name}}<small> / STUDIO</small></span></a><button class="pro-mobile-toggle" type="button" data-pro-menu aria-controls="pro-navigation" aria-expanded="false" aria-label="打开导航">☰</button><nav id="pro-navigation" class="pro-navigation" aria-label="主导航">{% for link in nav %}{% if link.children %}<div class="pro-nav-group"><a href="{{link.route}}">{{link.title}}</a><button type="button" class="pro-nav-disclose" aria-expanded="false" aria-label="展开{{link.title}}子菜单">▾</button><div class="pro-nav-children" hidden>{% for child in link.children %}<a href="{{child.route}}">{{child.title}}</a>{% for leaf in child.children %}<a class="pro-nav-leaf" href="{{leaf.route}}">— {{leaf.title}}</a>{% endfor %}{% endfor %}</div></div>{% else %}<a href="{{link.route}}">{{link.title}}</a>{% endif %}{% endfor %}<a href="/search/">⌕ 搜索</a>{% if chrome.header.show_search %}<a class="pro-search-link" href="/search/" aria-label="站内搜索">⌕</a>{% endif %}</nav>{% if chrome_is_custom %}{% if chrome.header.show_cta %}<a href="{{chrome.header.cta_href}}" class="pro-header-cta">{{chrome.header.cta_text}} <span>↗</span></a>{% endif %}{% else %}<a href="/contact/" class="pro-header-cta">LET'S TALK ↗</a>{% endif %}</div></header>
{% if not designer_replace %}{% include 'minimal/pages/' ~ kind ~ '.html' %}{% endif %}
{% if has_custom and kind!='notfound' %}<main id="main-content" class="sf-canvas pro-custom-content">{{custom_blocks}}</main>{% else %}<main id="main-content" class="sf-canvas pro-custom-content" aria-hidden="true"></main>{% endif %}
{% if kind not in ('notfound','search') %}<section class="pro-end-cta"><div class="pro-wrap"><div><span class="pro-eyebrow">LET'S CONNECT</span><h2>从这里开始下一步。</h2><p>{{site.tagline or '了解更多产品、服务与合作信息。'}}</p></div><a href="/contact/">联系我们 <span>↗</span></a></div></section>{% endif %}
<footer class="sf-site-foot pro-footer"><div class="pro-wrap"><div class="pro-footer-top"><div><span class="pro-eyebrow">STAY CURIOUS</span><h2>{{chrome.footer.title or site.name}}<span class="pro-dot">.</span></h2><p>{{footer_text}}</p></div><div class="pro-footer-links">{{footer_links(footer_nav)}}</div><div><span class="pro-eyebrow">SAY HELLO</span><p>{{footer_email or '请在后台配置企业联系方式'}}</p></div></div><div class="pro-footer-bottom"><span>© {{year}} {{site.name}}</span><span>MADE WITH INTENTION</span></div></div></footer>
{% if chrome.mobile_tabs['enabled'] and chrome.mobile_tabs['items'] %}<nav class="sf-mobile-tabs" style="--sf-mobile-tab-count:{{ chrome.mobile_tabs['items']|length }}" aria-label="手机底部快捷导航" data-mobile-tabs>
{% for tab in chrome.mobile_tabs['items'] %}{% if tab.action == 'menu' %}<button type="button" class="sf-mobile-tab" data-mobile-open-menu aria-label="{{tab.title}}"><span class="sf-tab-icon" aria-hidden="true">{{ mobile_tab_icons[tab.icon] }}</span><span class="sf-tab-label">{{tab.title}}</span></button>{% else %}<a class="sf-mobile-tab" href="{{tab.route}}"{% if tab.route == route %} aria-current="page"{% endif %}><span class="sf-tab-icon" aria-hidden="true">{{ mobile_tab_icons[tab.icon] }}</span><span class="sf-tab-label">{{tab.title}}</span></a>{% endif %}{% endfor %}</nav>{% endif %}
<script defer src="assets/site-runtime.js"></script><script defer src="assets/pro.js"></script></body></html>
+8
View File
@@ -0,0 +1,8 @@
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><base href="/"><title>{{seo_title}}</title><meta name="description" content="{{seo_description}}"><meta name="robots" content="{{'noindex,follow' if mode=='notfound' else (page.robots or 'index,follow')}}">{% if canonical %}<link rel="canonical" href="{{canonical}}">{% endif %}<link rel="stylesheet" href="assets/theme.css"><link rel="stylesheet" href="assets/blocks.css"><link rel="stylesheet" href="assets/custom.css"></head><body>
<header class="container header"><a href="./" class="brand">{{site.name}}<span>®</span></a><nav><a href="./">Index</a>{% for n in nav if n.route!='/' %}<a href="{{link(n.route)}}">{{n.title}}</a>{% endfor %}{% if entries|selectattr('type','equalto','product')|list %}<a href="product/">Collection</a>{% endif %}{% if entries|selectattr('type','equalto','post')|list %}<a href="post/">Journal</a>{% endif %}</nav><a class="contact" href="mailto:{{site.email or "info@example.com"}}">CONTACT ↗</a></header>
{% if blueprint_mode %}{% elif mode=='home' %}<section class="container hero"><div class="topline"><span>ESTABLISHED IN IDEAS.</span><span>DESIGNED FOR CHANGE.</span></div><h1>{{page.title if page.title!=site.name else 'Less, but better.'}}</h1><div class="hero-bottom"><p>{{page.summary or site.tagline or 'Thoughtfully made. Beautifully simple. Designed to make an impact.'}}</p><a href="product/">EXPLORE THE WORK <b>↗</b></a></div>{% if page.cover %}<div class="hero-image"><img src="{{asset(page.cover)}}" alt="{{page.title}}"></div>{% else %}<div class="hero-image graphic"><div class="shape a"></div><div class="shape b"></div><div class="shape c"></div><span>SIMPLICITY<br>IS INTENTIONAL.</span></div>{% endif %}</section>
{% else %}<section class="container inner-hero"><span class="topline">{{type_names.get(page.type,'THE STUDIO')|upper}} <b>—</b> {{'INDEX' if mode=='listing' else 'ABOUT'}}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></section>{% endif %}
{% if blueprint_mode %}<main class="sf-canvas">{{blocks}}</main>{% else %}<main class="container content">{% if mode in ['detail','home'] and (content or blocks) %}<article class="rich-content">{{blocks}}{{content}}</article>{% endif %}{% if mode=='detail' and page.cover %}<div class="detail-img"><img src="{{asset(page.cover)}}" alt="{{page.title}}"></div>{% endif %}
{% set picks=listing_items if mode=='listing' else entries|selectattr('type','equalto','product')|list if mode=='home' else [] %}
{% if picks %}<div class="list-head"><span>01 / SELECTED WORK</span><h2>{{'Our collection' if mode=='home' else page.title}}</h2></div><div class="list">{% for item in picks[:12] %}<a href="{{link(item.route)}}" class="item"><div class="thumb">{% if item.cover %}<img src="{{asset(item.cover)}}" alt="{{item.title}}">{% else %}<span>{{'%02d' % loop.index}}</span>{% endif %}</div><div class="info"><span>COLLECTION / {{'%02d' % loop.index}}</span><h3>{{item.title}}</h3><p>{{item.summary|truncate(110)}}</p><b>VIEW PROJECT ↗</b></div></a>{% endfor %}</div>{% endif %}
</main>{% endif %}<footer class="container"><div class="footer-lead">Good design<br>means business. <span>↗</span></div><div class="footer-bottom"><span>{{site.name}} — {{site.tagline}}</span><span>© {{site.name}} · SITEFORGE</span></div></footer></body></html>
+4
View File
@@ -0,0 +1,4 @@
*{box-sizing:border-box}body{margin:0;color:#171717;background:#faf9f6;font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1260px,90%);margin:auto}.header{height:110px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #cccac4}.brand{font-family:Georgia,"Times New Roman",serif;font-size:30px;font-weight:bold;letter-spacing:-1px}.brand span{font-size:12px;vertical-align:top}.header nav{display:flex;gap:33px;font-size:12px;flex-wrap:wrap}.header nav a:hover{text-decoration:underline}.contact{font-size:12px;font-weight:bold;border-bottom:1px solid black;padding-bottom:5px}.hero{padding:48px 0 0}.topline{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2.3px;font-weight:bold}.hero h1,.inner-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(65px,9.1vw,155px);line-height:1;letter-spacing:-8px;font-weight:400;margin:85px 0 40px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin:35px 0 64px;gap:25px}.hero-bottom p{font-size:18px;max-width:490px;margin:0}.hero-bottom a{font-size:12px;letter-spacing:1.5px;border-bottom:1px solid black;padding-bottom:8px}.hero-image{height:425px;background:#deddd4;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.hero-image img{height:100%;width:100%;object-fit:cover}.graphic{background:#cec8bc}.shape{position:absolute;border-radius:50%;background:linear-gradient(125deg,#ede9e1,#98918a);box-shadow:25px 30px 40px #59544c22}.shape.a{height:550px;width:550px;left:5%;top:-230px}.shape.b{width:280px;height:280px;right:15%;bottom:-120px;background:#989e97}.shape.c{width:160px;height:160px;right:40%;top:0;background:#ece9e3}.graphic>span{position:relative;font-size:25px;letter-spacing:7px;font-weight:500;line-height:1.5}.inner-hero{padding:80px 0;border-bottom:1px solid #d3d0ca}.inner-hero h1{font-size:clamp(48px,8vw,115px);margin:40px 0}.inner-hero p{font-size:18px;color:#777;max-width:660px}.content{padding:70px 0 130px}.list-head{display:grid;grid-template-columns:1fr 2fr;align-items:center;margin:30px 0 40px;border-bottom:1px solid black}.list-head span{font-size:10px;letter-spacing:2px}.list-head h2{font-family:Georgia,serif;font-weight:400;font-size:54px;letter-spacing:-2px}.list{display:grid;grid-template-columns:repeat(2,1fr);gap:80px 35px}.item{display:block}.item:hover h3{text-decoration:underline}.thumb{height:290px;background:#e3e1d8;display:grid;place-items:center}.thumb img{width:100%;height:100%;object-fit:contain}.thumb span{font-family:Georgia,serif;font-size:140px;color:#c0bcb2}.info{padding:25px 0}.info>span{font-size:10px;letter-spacing:1.5px}.info h3{font-family:Georgia,serif;font-size:36px;font-weight:400;margin:12px 0}.info p{color:#666;max-width:400px}.info b{font-size:11px;letter-spacing:1px}.rich-content{margin:25px 0}.section{padding:45px 0}.block-hero{padding:50px 0}.block-hero h1{font-family:Georgia,serif;font-size:60px;font-weight:400}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.feature{border-top:1px solid #8f8a84;padding-top:20px}.feature-mark{font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr)}.stat strong{font-family:Georgia,serif;display:block;font-size:47px;font-weight:400}.stat span{font-size:11px;letter-spacing:1px}.cta{padding:55px;background:#e4e0d8}.cta h2{font-family:Georgia,serif;font-weight:400;font-size:44px}.btn{display:inline-block;background:#222;color:white;padding:13px 20px;font-size:12px}.detail-img img{max-width:100%;max-height:550px}footer{border-top:1px solid #b9b5ae;padding:70px 0 25px}.footer-lead{font-family:Georgia,serif;font-size:clamp(45px,6vw,90px);line-height:1.05;letter-spacing:-4px}.footer-lead span{color:#909084}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #d5d1c9;margin-top:90px;padding-top:25px;font-size:11px;color:#777}@media(max-width:850px){.header{height:auto;padding:26px 0;flex-wrap:wrap}.header nav{order:3;width:100%}.hero h1{letter-spacing:-4px;margin-top:60px}.hero-image{height:320px}.list{gap:35px}.list-head{grid-template-columns:1fr}.footer-lead{letter-spacing:-2px}}@media(max-width:560px){.list,.feature-grid,.stats{grid-template-columns:1fr}.hero h1{font-size:67px}.hero-bottom,.topline,.footer-bottom{flex-direction:column;align-items:start;gap:15px}.hero-image{height:240px}.list-head h2{font-size:40px}.inner-hero{padding:50px 0}}
/* V8.29 baseline: accessible touch/focus and reduced motion */
:where(a,button,input,select,textarea):focus-visible{outline:3px solid currentColor;outline-offset:3px}@media(max-width:560px){img{max-width:100%;height:auto}body{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 740"><defs><linearGradient id="bg" x1="0" y1="0" x2="1" y2="1"><stop stop-color="#e4e2d8"/><stop offset="1" stop-color="#c7c5b8"/></linearGradient><linearGradient id="shape" x1="0" y1="0" x2="1" y2="1"><stop stop-color="#717569"/><stop offset="1" stop-color="#30392e"/></linearGradient></defs><rect width="1000" height="740" fill="url(#bg)"/><path d="M118 665V140h442v525Z" fill="#deddd3"/><path d="M240 665V235h320v430Z" fill="#bbbcb0"/><path d="M370 665V98h280v567Z" fill="#f6f4e9"/><path d="M530 665V180h300v485Z" fill="url(#shape)"/><path d="M530 665V180l110-82v566Z" fill="#d6d3c4"/><path d="M650 665V260h180v405Z" fill="#3e493e"/><circle cx="504" cy="335" r="104" fill="none" stroke="#f3f1e8" stroke-width="26"/><path d="M120 665h775" stroke="#373a32" stroke-width="4"/><text x="70" y="74" fill="#5d6156" font-size="13" font-family="Georgia" letter-spacing="6">STUDIES IN FORM</text></svg>

After

Width:  |  Height:  |  Size: 954 B