/* T02 · Architectural monograph — a reusable professional services layout
   配色：冷石灰岩 #e8e6e1 / 混凝土面 #dedad3 / 玄武岩墨黑 #141514 / 石膏白 #ffffff / 矿物赭石 #9e6b47 / 建筑基准线 #c2beaf / 次要灰 #6b6e68
   字体：Syne（建筑雕塑展示）+ 系统无衬线（正文）
   作用域：.template-t02 */

@font-face {
  font-family: 'T02Syne';
  src: url('fonts/t02-syne.ttf') format('truetype');
  font-weight: 400 800;
  font-display: swap;
}

.template-t02 {
  --t02-limestone: #e8e6e1;
  --t02-concrete: #dedad3;
  --t02-basalt: #141514;
  --t02-ink: #141514;
  --t02-muted: #6b6e68;
  --t02-line: #c2beaf;
  --t02-ochre: #9e6b47;
  --t02-white: #ffffff;
  --t02-wrap: min(1320px, calc(100% - 80px));
  --t02-display: 'T02Syne', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --t02-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --t02-ease: cubic-bezier(0.16, 1, 0.3, 1);
  background: var(--t02-limestone);
  color: var(--t02-basalt);
  font-family: var(--t02-body);
  font-size: 17px;
  line-height: 1.65;
}

.template-t02 main {
  display: block;
  overflow-x: clip;
}

.template-t02 p {
  color: var(--t02-muted);
}

.template-t02 h1,
.template-t02 h2,
.template-t02 h3,
.template-t02 h4 {
  color: var(--t02-ink);
  font-family: var(--t02-display);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.template-t02 ::selection {
  background: var(--t02-basalt);
  color: var(--t02-limestone);
}

.template-t02 a:focus-visible,
.template-t02 button:focus-visible,
.template-t02 summary:focus-visible,
.template-t02 input:focus-visible,
.template-t02 textarea:focus-visible {
  outline: 2px solid var(--t02-basalt);
  outline-offset: 4px;
}

.template-t02 .t02-wrap {
  width: var(--t02-wrap);
  margin-inline: auto;
}

/* ---------------------------------------------------------------- 页眉（Header） */
.template-t02 .site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 40;
  width: auto;
  margin: 0;
  padding: 28px max(40px, calc((100% - 1320px) / 2));
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  border-bottom: 1px solid var(--t02-line);
  background: transparent;
  color: var(--t02-basalt);
}

.template-t02 .site-header .brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--t02-display);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--t02-basalt);
  text-decoration: none;
}

.template-t02 .site-header .nav-links {
  display: flex;
  align-items: center;
  gap: 36px;
  font-family: var(--t02-display);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--t02-muted);
}

.template-t02 .site-header .nav-links a {
  padding: 8px 0;
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}

.template-t02 .site-header .nav-links a:hover,
.template-t02 .site-header .nav-links a[aria-current="page"] {
  color: var(--t02-basalt);
}

.template-t02 .site-header .header-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 22px;
  font-family: var(--t02-display);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--t02-basalt);
  color: var(--t02-limestone);
  border: 1px solid var(--t02-basalt);
  border-radius: 0;
  text-decoration: none;
  transition: all 0.22s var(--t02-ease);
}

.template-t02 .site-header .header-action:hover {
  background: transparent;
  color: var(--t02-basalt);
}

.template-t02 .site-header .button > span[aria-hidden] {
  display: none;
}

/* ---------------------------------------------------------------- 基础按键与标注 */
.template-t02 .t02-plate-tag {
  display: inline-block;
  font-family: var(--t02-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t02-ochre);
  margin-bottom: 24px;
}

.template-t02 .t02-eyebrow {
  display: block;
  font-family: var(--t02-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t02-ochre);
  margin-bottom: 16px;
}

.template-t02 .t02-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 30px;
  border-radius: 0;
  font-family: var(--t02-display);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.22s var(--t02-ease);
}

.template-t02 .t02-btn-solid {
  background: var(--t02-basalt);
  color: var(--t02-limestone);
  border: 1px solid var(--t02-basalt);
}

.template-t02 .t02-btn-solid:hover {
  background: var(--t02-ochre);
  border-color: var(--t02-ochre);
  color: #fff;
  transform: translateY(-1px);
}

.template-t02 .t02-btn-ghost {
  background: transparent;
  color: var(--t02-basalt);
  border: 1px solid var(--t02-basalt);
}

.template-t02 .t02-btn-ghost:hover {
  background: var(--t02-basalt);
  color: var(--t02-limestone);
}

.template-t02 .t02-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 4px;
  border-bottom: 1.5px solid currentColor;
  font-size: 15px;
  font-weight: 500;
  color: var(--t02-basalt);
  text-decoration: none;
  transition: color 0.2s;
}

.template-t02 .t02-link:hover {
  color: var(--t02-ochre);
}

.template-t02 .t02-link-bold {
  font-family: var(--t02-display);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.template-t02 .t02-caption {
  font-size: 13px;
  letter-spacing: 0.02em;
  color: var(--t02-muted);
  margin-top: 10px;
}

/* ---------------------------------------------------------------- 首屏：建筑专著画幅 + 标尺 */
.template-t02 .t02-hero {
  position: relative;
  padding-top: clamp(140px, 14vw, 190px);
  padding-bottom: 60px;
  border-bottom: 1px solid var(--t02-line);
}

.template-t02 .t02-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.95fr);
  gap: 64px clamp(48px, 6vw, 96px);
  align-items: center;
  margin-bottom: clamp(64px, 8vw, 110px);
}

.template-t02 .t02-hero-title {
  font-size: clamp(42px, 5.4vw, 78px);
  line-height: 1.04;
  margin: 0 0 24px;
  color: var(--t02-basalt);
}

.template-t02 .t02-hero-lede {
  font-size: clamp(18px, 1.5vw, 21px);
  line-height: 1.6;
  color: var(--t02-muted);
  max-width: 580px;
  margin: 0 0 36px;
}

.template-t02 .t02-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
}

.template-t02 .t02-hero-figure {
  margin: 0;
  position: relative;
}

.template-t02 .t02-hero-frame {
  position: relative;
  background: var(--t02-concrete);
  border: 1px solid var(--t02-line);
  padding: 16px;
}

.template-t02 .t02-hero-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  filter: contrast(1.05) grayscale(20%);
}

.template-t02 .t02-hero-plate-label {
  padding-top: 12px;
  font-family: var(--t02-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--t02-muted);
  text-align: right;
}

/* 标尺尺度条 */
.template-t02 .t02-axis-scale {
  position: relative;
  padding-top: 28px;
}

.template-t02 .t02-ruler-ticks {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background-image: repeating-linear-gradient(90deg, var(--t02-line) 0px, var(--t02-line) 1px, transparent 1px, transparent 16px);
  border-top: 1px solid var(--t02-line);
}

.template-t02 .t02-axis-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px 48px;
}

.template-t02 .t02-axis-col {
  padding-top: 8px;
}

.template-t02 .t02-axis-idx {
  display: block;
  font-family: var(--t02-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--t02-ochre);
  margin-bottom: 8px;
}

.template-t02 .t02-axis-col p {
  font-size: 15px;
  line-height: 1.5;
  color: var(--t02-basalt);
  margin: 0;
}

/* ---------------------------------------------------------------- 核心业务：专著画册 Folio */
.template-t02 .t02-practice {
  padding-block: clamp(96px, 11vw, 160px);
}

.template-t02 .t02-sec-head {
  max-width: 760px;
  margin-bottom: clamp(56px, 7vw, 96px);
}

.template-t02 .t02-sec-head h2 {
  font-size: clamp(34px, 4.2vw, 60px);
  margin: 0 0 18px;
}

.template-t02 .t02-sec-head p {
  font-size: 19px;
  line-height: 1.6;
  margin: 0;
}

.template-t02 .t02-sec-head-center {
  margin-inline: auto;
  text-align: center;
}

.template-t02 .t02-practice-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 40px;
}

.template-t02 .t02-service-plate {
  background: var(--t02-white);
  border: 1px solid var(--t02-line);
  padding: 40px 36px 36px;
  display: flex;
  flex-direction: column;
  transition: transform 0.28s var(--t02-ease), box-shadow 0.28s, border-color 0.25s;
}

.template-t02 .t02-service-plate:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(20, 21, 20, 0.08);
  border-color: var(--t02-basalt);
}

.template-t02 .t02-service-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--t02-line);
  font-family: var(--t02-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.template-t02 .t02-service-num {
  color: var(--t02-ochre);
}

.template-t02 .t02-service-category {
  color: var(--t02-muted);
}

.template-t02 .t02-service-body {
  padding: 24px 0 20px;
  flex: 1;
}

.template-t02 .t02-service-body h3 {
  font-size: 24px;
  margin: 0 0 12px;
}

.template-t02 .t02-service-body h3 a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}

.template-t02 .t02-service-body h3 a:hover {
  color: var(--t02-ochre);
}

.template-t02 .t02-service-body p {
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
}

.template-t02 .t02-service-scope {
  padding: 20px 0 24px;
  border-top: 1px solid #f0eee8;
}

.template-t02 .t02-scope-label {
  display: block;
  font-family: var(--t02-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--t02-muted);
  margin-bottom: 10px;
}

.template-t02 .t02-service-scope ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.template-t02 .t02-service-scope li {
  font-size: 14px;
  color: var(--t02-basalt);
  display: flex;
  align-items: center;
  gap: 8px;
}

.template-t02 .t02-service-scope li::before {
  content: '—';
  color: var(--t02-ochre);
  font-size: 12px;
}

.template-t02 .t02-service-foot {
  padding-top: 20px;
  border-top: 1px solid var(--t02-line);
}

.template-t02 .t02-plate-link {
  display: inline-block;
  font-family: var(--t02-display);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--t02-basalt);
  text-decoration: none;
  border-bottom: 1.5px solid var(--t02-basalt);
  padding-bottom: 2px;
  transition: all 0.2s;
}

.template-t02 .t02-plate-link:hover {
  color: var(--t02-ochre);
  border-color: var(--t02-ochre);
}

/* ---------------------------------------------------------------- 玄武岩巨石段（Monolith Band） */
.template-t02 .t02-monolith-band {
  background: var(--t02-basalt);
  color: var(--t02-limestone);
  padding-block: clamp(96px, 12vw, 170px);
}

.template-t02 .t02-monolith-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr);
  gap: 64px clamp(48px, 6vw, 96px);
  align-items: center;
}

.template-t02 .t02-monolith-figure {
  margin: 0;
  position: relative;
}

.template-t02 .t02-monolith-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.template-t02 .t02-monolith-band .t02-caption {
  color: #8c8f8b;
}

.template-t02 .t02-monolith-eyebrow {
  display: block;
  font-family: var(--t02-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t02-ochre);
  margin-bottom: 16px;
}

.template-t02 .t02-monolith-content h2 {
  font-size: clamp(34px, 4.2vw, 58px);
  color: #fff;
  margin: 0 0 20px;
}

.template-t02 .t02-monolith-lead {
  font-size: 18px;
  line-height: 1.65;
  color: #adb2ac;
  margin: 0 0 40px;
}

.template-t02 .t02-theses-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.template-t02 .t02-thesis {
  margin: 0;
  padding: 20px 0 20px 24px;
  border-left: 2px solid var(--t02-ochre);
  background: rgba(255, 255, 255, 0.03);
}

.template-t02 .t02-thesis-num {
  display: block;
  font-family: var(--t02-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--t02-ochre);
  margin-bottom: 8px;
}

.template-t02 .t02-thesis p {
  font-family: var(--t02-display);
  font-size: clamp(18px, 1.8vw, 24px);
  line-height: 1.35;
  color: #fff;
  margin: 0;
}

/* ---------------------------------------------------------------- 交付序列（Sequence） */
.template-t02 .t02-sequence-sec {
  padding-block: clamp(96px, 11vw, 150px);
  border-bottom: 1px solid var(--t02-line);
}

.template-t02 .t02-sequence-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 40px;
  position: relative;
}

.template-t02 .t02-sequence-step {
  position: relative;
}

.template-t02 .t02-step-axis {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--t02-line);
  margin-bottom: 20px;
}

.template-t02 .t02-step-node {
  width: 10px;
  height: 10px;
  background: var(--t02-basalt);
}

.template-t02 .t02-step-code {
  font-family: var(--t02-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--t02-ochre);
}

.template-t02 .t02-sequence-step h3 {
  font-size: 22px;
  margin: 0 0 12px;
}

.template-t02 .t02-sequence-step p {
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}

/* ---------------------------------------------------------------- 展厅空间带（Pavilion Band） */
.template-t02 .t02-pavilion-band {
  position: relative;
  isolation: isolate;
  min-height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 80px 0;
}

.template-t02 .t02-pavilion-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.template-t02 .t02-pavilion-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.1) brightness(0.65);
}

.template-t02 .t02-pavilion-inner {
  position: relative;
  z-index: 2;
}

.template-t02 .t02-pavilion-card {
  max-width: 580px;
  background: rgba(232, 230, 225, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 48px;
  border: 1px solid var(--t02-line);
}

.template-t02 .t02-pavilion-card h3 {
  font-size: clamp(26px, 2.8vw, 38px);
  line-height: 1.15;
  margin: 0 0 16px;
}

.template-t02 .t02-pavilion-card p {
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 28px;
}

/* ---------------------------------------------------------------- 收尾与页脚（Closing & Footer） */
.template-t02 .t02-closing {
  padding-block: clamp(100px, 12vw, 170px);
  border-bottom: 1px solid var(--t02-line);
}

.template-t02 .t02-closing-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr);
  gap: 56px clamp(48px, 6vw, 96px);
  align-items: start;
}

.template-t02 .t02-closing-lead h2 {
  font-size: clamp(38px, 4.8vw, 68px);
  line-height: 1.05;
  margin: 0 0 20px;
}

.template-t02 .t02-closing-lead p {
  font-size: 19px;
  line-height: 1.6;
  max-width: 56ch;
  margin: 0 0 36px;
}

.template-t02 .t02-closing-coords dl {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 28px;
  border-top: 1px solid var(--t02-line);
  padding-top: 28px;
}

.template-t02 .t02-closing-coords dt {
  font-family: var(--t02-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--t02-muted);
  margin-bottom: 6px;
}

.template-t02 .t02-closing-coords dd {
  margin: 0;
  font-size: 17px;
  color: var(--t02-basalt);
}

.template-t02 .t02-closing-coords dd a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--t02-line);
  padding-bottom: 2px;
  transition: color 0.2s, border-color 0.2s;
}

.template-t02 .t02-closing-coords dd a:hover {
  color: var(--t02-ochre);
  border-color: var(--t02-ochre);
}

/* 底部 */
.template-t02 .site-footer {
  background: var(--t02-basalt);
  color: #8c8f8b;
  padding: 72px 0 40px;
  font-size: 14px;
}

.template-t02 .site-footer a {
  color: var(--t02-limestone);
  text-decoration: none;
  transition: color 0.2s;
}

.template-t02 .site-footer a:hover {
  color: var(--t02-ochre);
}

.template-t02 .footer-inner {
  width: var(--t02-wrap);
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.template-t02 .footer-brand {
  font-family: var(--t02-display);
  font-size: 19px;
  font-weight: 700;
  color: #fff;
}

.template-t02 .footer-cols {
  display: flex;
  flex-wrap: wrap;
  gap: 48px 64px;
}

.template-t02 .footer-col h4 {
  font-family: var(--t02-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--t02-ochre);
  margin: 0 0 16px;
}

.template-t02 .footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.template-t02 .footer-bar {
  width: var(--t02-wrap);
  margin-inline: auto;
  padding-top: 28px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
  font-size: 13px;
  color: #686b66;
}

/* ---------------------------------------------------------------- 内页共用（Intro / Details / About） */
.template-t02 .t02-intro {
  padding-top: clamp(140px, 14vw, 180px);
  padding-bottom: clamp(60px, 7vw, 96px);
  border-bottom: 1px solid var(--t02-line);
}

.template-t02 .t02-intro-title {
  font-size: clamp(38px, 4.8vw, 70px);
  line-height: 1.05;
  margin: 0 0 20px;
}

.template-t02 .t02-intro-lede {
  font-size: 20px;
  line-height: 1.6;
  color: var(--t02-muted);
  max-width: 680px;
  margin: 0;
}

/* About Essay */
.template-t02 .t02-about-essay {
  padding-block: clamp(88px, 10vw, 150px);
  border-bottom: 1px solid var(--t02-line);
}

.template-t02 .t02-essay-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr);
  gap: 56px clamp(48px, 6vw, 96px);
  align-items: center;
}

.template-t02 .t02-essay-copy h2 {
  font-size: clamp(32px, 3.8vw, 54px);
  margin: 0 0 24px;
}

.template-t02 .t02-lead-text {
  font-size: 20px;
  line-height: 1.55;
  color: var(--t02-basalt);
  margin-bottom: 20px;
}

.template-t02 .t02-essay-copy p {
  font-size: 16px;
  line-height: 1.65;
  margin-bottom: 20px;
}

.template-t02 .t02-essay-figure {
  margin: 0;
  background: var(--t02-concrete);
  border: 1px solid var(--t02-line);
  padding: 16px;
}

.template-t02 .t02-essay-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.template-t02 .t02-principles-sec {
  padding-block: clamp(88px, 10vw, 140px);
  border-bottom: 1px solid var(--t02-line);
}

.template-t02 .t02-principles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 36px;
}

.template-t02 .t02-principle-card {
  background: var(--t02-white);
  border: 1px solid var(--t02-line);
  padding: 36px 32px;
}

.template-t02 .t02-principle-code {
  font-family: var(--t02-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--t02-ochre);
  display: block;
  margin-bottom: 16px;
}

.template-t02 .t02-principle-card h3 {
  font-size: 22px;
  margin: 0 0 12px;
}

.template-t02 .t02-principle-card p {
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}

/* Service Detail Titleblock & Scope */
.template-t02 .t02-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.75fr);
  gap: 48px clamp(48px, 6vw, 88px);
  align-items: end;
}

.template-t02 .t02-titleblock {
  background: var(--t02-white);
  border: 1px solid var(--t02-line);
  padding: 32px;
}

.template-t02 .t02-titleblock dl {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px;
}

.template-t02 .t02-titleblock dt {
  font-family: var(--t02-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t02-muted);
}

.template-t02 .t02-titleblock dd {
  margin: 4px 0 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--t02-basalt);
}

.template-t02 .t02-detail-scope {
  padding-block: clamp(88px, 10vw, 140px);
  border-bottom: 1px solid var(--t02-line);
}

.template-t02 .t02-scope-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
  gap: 56px clamp(48px, 6vw, 96px);
  align-items: start;
}

.template-t02 .t02-scope-narrative h2 {
  font-size: clamp(30px, 3.6vw, 48px);
  margin: 0 0 20px;
}

.template-t02 .t02-scope-artifacts {
  background: var(--t02-white);
  border: 1px solid var(--t02-line);
  padding: 36px;
}

.template-t02 .t02-scope-artifacts h3 {
  font-size: 20px;
  margin: 0 0 20px;
}

.template-t02 .t02-deliverables-ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.template-t02 .t02-deliverables-ul li {
  font-size: 15px;
  color: var(--t02-basalt);
  padding-left: 20px;
  position: relative;
}

.template-t02 .t02-deliverables-ul li::before {
  content: '▪';
  position: absolute;
  left: 0;
  color: var(--t02-ochre);
}

.template-t02 .t02-faq-sec {
  padding-block: clamp(88px, 10vw, 140px);
  border-bottom: 1px solid var(--t02-line);
}

.template-t02 .t02-faq-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.25fr);
  gap: 48px clamp(48px, 6vw, 88px);
  align-items: start;
}

.template-t02 .t02-faq-grid h2 {
  font-size: clamp(30px, 3.6vw, 48px);
  margin: 0;
}

.template-t02 .t02-faq-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.template-t02 .t02-faq-list details {
  border-bottom: 1px solid var(--t02-line);
  padding-bottom: 16px;
}

.template-t02 .t02-faq-list summary {
  font-family: var(--t02-display);
  font-size: 18px;
  font-weight: 600;
  color: var(--t02-basalt);
  cursor: pointer;
  padding: 8px 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.template-t02 .t02-faq-list summary::-webkit-details-marker {
  display: none;
}

.template-t02 .t02-faq-list summary::after {
  content: '+';
  font-size: 20px;
  color: var(--t02-ochre);
}

.template-t02 .t02-faq-list details[open] summary::after {
  content: '−';
}

.template-t02 .t02-faq-list details p {
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.65;
  color: var(--t02-muted);
}

.template-t02 .t02-adj-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 24px;
  padding: 40px 0;
  border-bottom: 1px solid var(--t02-line);
}

.template-t02 .t02-adj-link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}

.template-t02 .t02-adj-dir {
  font-family: var(--t02-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t02-ochre);
  margin-bottom: 6px;
}

.template-t02 .t02-adj-title {
  font-size: 17px;
  font-weight: 600;
}

/* ---------------------------------------------------------------- 通用表单与法规支持 */
.template-t02 .page-intro {
  background: var(--t02-limestone);
  padding: clamp(140px, 14vw, 180px) 0 clamp(48px, 6vw, 80px);
  border-bottom: 1px solid var(--t02-line);
}

.template-t02 .page-intro .page-intro-inner {
  width: var(--t02-wrap);
  margin-inline: auto;
}

.template-t02 .page-intro h1 {
  font-size: clamp(38px, 4.6vw, 68px);
  margin: 0 0 16px;
}

.template-t02 .page-intro p {
  font-size: 19px;
  color: var(--t02-muted);
  max-width: 620px;
  margin: 0;
}

.template-t02 .contact-form,
.template-t02 .policy-doc,
.template-t02 .not-found {
  width: var(--t02-wrap);
  margin-inline: auto;
  padding: 64px 0 96px;
}

.template-t02 input[type="text"],
.template-t02 input[type="email"],
.template-t02 input[type="tel"],
.template-t02 textarea {
  width: 100%;
  padding: 14px 18px;
  background: var(--t02-white);
  border: 1px solid var(--t02-line);
  border-radius: 0;
  color: var(--t02-basalt);
  font-size: 16px;
  font-family: inherit;
  box-sizing: border-box;
}

.template-t02 input:focus,
.template-t02 textarea:focus {
  border-color: var(--t02-basalt);
}

/* ---------------------------------------------------------------- 响应式 */
@media (max-width: 1024px) {
  .template-t02 .site-header .header-action { display: none; }
  .template-t02 .t02-hero-grid,
  .template-t02 .t02-monolith-grid,
  .template-t02 .t02-essay-grid,
  .template-t02 .t02-scope-layout,
  .template-t02 .t02-detail-grid,
  .template-t02 .t02-faq-grid,
  .template-t02 .t02-closing-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

@media (max-width: 768px) {
  .template-t02 {
    --t02-wrap: calc(100% - 40px);
  }
  .template-t02 .site-header {
    padding: 18px 20px;
  }
  .template-t02 .site-header .brand { flex: 1; min-width: 0; max-width: calc(100% - 60px); }
  .template-t02 .t02-axis-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .template-t02 .t02-pavilion-card {
    padding: 32px 24px;
  }
}

/* Match the shared menu-toggle breakpoint so 761–768px keeps navigation. */
@media (max-width: 760px) {
  .template-t02 .site-header .nav-links { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .template-t02 *,
  .template-t02 *::before,
  .template-t02 *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

/* V7 / Atelier: an interactive reading leaf, with a stable mobile reading order. */
body.template-t02 .v7-atelier-guide{background:#d3d0c7;padding:100px 0}
.v7-atelier-guide-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:8vw;align-items:start}
.v7-atelier-guide header>p:first-child{font-size:14px;margin:8px 0 32px}.v7-atelier-guide h2{font-size:clamp(40px,4.5vw,64px);letter-spacing:-.04em;line-height:1.1;margin:0 0 30px}
.v7-atelier-guide header>p{font-size:17px;line-height:1.75;max-width:38ch}.v7-atelier-guide .t02-link{margin-top:24px}
.v7-atelier-book{background:#f6f5f0;color:#20221e;padding:44px 46px 22px;box-shadow:12px 14px 0 -7px #bcb9ae;min-width:0;border-left:6px solid #b4b3a8}
.v7-atelier-leaf{min-height:430px}.v7-atelier-subject{font-size:14px;margin:0 0 34px;color:#5d6258}.v7-atelier-leaf h3{font-size:clamp(28px,3vw,43px);line-height:1.16;letter-spacing:-.035em;max-width:23ch;margin:0 0 26px}
.v7-atelier-leaf>p:not(.v7-atelier-subject){font-size:17px;line-height:1.7;max-width:51ch}.v7-atelier-leaf>div{margin-top:30px;border-top:1px solid #cfcec5;padding-top:22px}.v7-atelier-leaf h4{font-size:14px;margin:0 0 16px}.v7-atelier-leaf ul{padding-left:18px;line-height:1.7}.v7-atelier-leaf li{margin-bottom:8px}
.v7-atelier-book .b4-folio-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:20px;margin-top:28px;border-top:1px solid #c3c5bb}
.v7-atelier-book button{min-height:44px;padding:10px 14px;border:1px solid #777c70;background:transparent;color:inherit;font:inherit;cursor:pointer}.v7-atelier-book button:disabled{opacity:.4;cursor:default}.v7-atelier-book button:hover:not(:disabled){background:#20221e;color:white}
body.flagship-v6.template-t02 .t02-about-essay{padding-top:25px}body.flagship-v6.template-t02 .t02-principle-card{background:transparent;border-top:1px solid #a8ada4;padding:28px 0;box-shadow:none}
body.flagship-v6.template-t02 .t02-principles-grid{gap:5vw}body.flagship-v6.template-t02 .t02-intro-title{max-width:17ch}
body.flagship-v6.template-t02 .t02-practice{padding-top:75px;padding-bottom:80px}
@media(max-width:760px){body.template-t02 .v7-atelier-guide{padding:64px 0}.v7-atelier-guide-grid{grid-template-columns:1fr;gap:34px}.v7-atelier-guide h2{font-size:40px}.v7-atelier-book{padding:28px 24px 20px}.v7-atelier-leaf{min-height:0}.v7-atelier-leaf h3{font-size:29px}.v7-atelier-guide header>p{max-width:none}.v7-atelier-book .b4-folio-controls{flex-wrap:wrap}}
body.template-t02 .site-footer .footer-bottom,body.template-t02 .site-footer .footer-bottom p{color:#b8bcb5;opacity:1}
