/* 数隅 · 首页艺术方向
   构图来自方向「句子即版式」；配色与字体取自产品自身：深绿 + 纸面 + 中文黑体 */

body.home {
  --g900: #0e3529;
  --g800: #144537;
  --g700: #25604a;
  --paper: #f2f4f0;
  --paper2: #e7ebdf;
  --ink: #152a21;
  --ink2: #42584b;
  --paper-ink: #f2f4ea;
  --paper-dim: #b9c8ba;
  --focus: #d9a441;

  --step-small: 14px;
  --step-body: clamp(16px, 1.05vw, 18px);
  --step-lead: clamp(19px, 1.5vw, 23px);
  --step-head: clamp(34px, 4.2vw, 62px);
  --step-title: clamp(44px, 7.4vw, 112px);
  --step-display: clamp(62px, 10.6vw, 158px);

  background: var(--paper);
  color: var(--ink);
  font-size: var(--step-body);
  line-height: 1.7;
}

/* 固定导航：锚点落点让开导航高度 */
html { scroll-padding-top: 96px; }

body.home .container { max-width: none; padding: 0 48px; }
body.home h1, body.home h2, body.home h3 { font-weight: 650; letter-spacing: -0.02em; }
body.home a:focus-visible, body.home button:focus-visible,
body.home input:focus-visible, body.home summary:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
}

/* ---------- 导航 ---------- */

.home .site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 60;
  background: transparent;
  border: 0;
  transition: background-color 0.25s ease;
}

.home .site-header.is-stuck { background: var(--g900); }

.home .site-header .container { height: 92px; gap: 40px; transition: height 0.25s ease; }
.home .site-header.is-stuck .container { height: 72px; }
.home .brand-text { color: var(--paper-ink); font-size: 17px; letter-spacing: 1px; }
.home .brand-text em { color: var(--paper-dim); font-family: inherit; font-size: 13px; letter-spacing: 1.4px; }
.home .brand-mark { background: var(--paper-ink); width: 24px; height: 24px; }
.home .brand-mark::after { background: rgba(14, 53, 41, 0.75); }
.home .site-nav { gap: 30px; font-size: 15px; color: var(--paper-dim); }
.home .site-nav a:hover { color: var(--paper-ink); }
.home .site-nav a.nav-cta { background: var(--paper-ink); color: var(--g900); padding: 9px 17px; }
.home .site-nav a.nav-cta:hover { background: #fff; color: var(--g900); }
.home .nav-toggle { background: var(--paper-ink); border: 0; color: var(--g900); }

.nav-toggle { width: 44px; height: 38px; padding: 0; align-items: center; justify-content: center; }
.nav-bars,
.nav-bars::before,
.nav-bars::after {
  display: block;
  width: 19px;
  height: 2px;
  background: currentColor;
}
.nav-bars { position: relative; }
.nav-bars::before,
.nav-bars::after { content: ""; position: absolute; left: 0; }
.nav-bars::before { top: -6px; }
.nav-bars::after { top: 6px; }

/* ---------- 首屏：句子即版式 ---------- */

.hero2 {
  background: var(--g900);
  color: var(--paper-ink);
  min-height: 96svh;
  display: flex;
  flex-direction: column;
  padding-top: 128px;
}

/* 超宽屏给首屏内容设上限，避免整窗截图右侧空出一大片 */
body.home .hero2 .container { max-width: 1600px; }

.hero2 .stage { flex: 1; display: flex; flex-direction: column; justify-content: center; padding-bottom: 44px; }

.hero-head {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  gap: 56px;
  align-items: end;
}

.hero-side { min-width: 0; padding-bottom: 6px; }

.hero2 h1 {
  font-size: clamp(44px, 6.8vw, 120px);
  line-height: 1.04;
  letter-spacing: -0.035em;
  font-weight: 650;
}

.hero2 h1 .line { display: block; overflow: hidden; }
.hero2 h1 .line > span { display: inline-block; }

.hero-shot { margin: 44px 0 0; }
.hero-shot img {
  display: block;
  width: 100%;
  height: auto;
  background: var(--g800);
}
.hero-shot figcaption {
  margin-top: 14px;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--paper-dim);
  letter-spacing: 0.02em;
}

.hero2 .lede {
  margin-top: 30px;
  max-width: 620px;
  font-size: clamp(18px, 1.4vw, 21px);
  line-height: 1.7;
  color: var(--paper-dim);
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere;
  text-wrap: wrap;
}

/* 中文按正常断行规则排版；长标识符也不得撑出首屏网格。 */

.hero2 .lede strong { color: var(--paper-ink); font-weight: 500; }

.hero2 .actions { display: flex; align-items: center; gap: 28px; margin-top: 40px; flex-wrap: wrap; }

.btn-solid {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 28px;
  font-size: 16px;
  font-weight: 550;
  background: var(--paper-ink);
  color: var(--g900);
  transition: transform 0.18s ease, background 0.18s;
}

.btn-solid:hover { transform: translateY(-2px); background: #fff; }
.btn-solid:active { transform: translateY(0); }

.btn-dark { background: var(--g900); color: var(--paper-ink); }
.btn-dark:hover { background: var(--g800); }

.link-plain { font-size: 16px; color: var(--paper-dim); text-decoration: underline; text-decoration-color: rgba(242, 244, 234, 0.35); text-underline-offset: 6px; }
.link-plain:hover { color: var(--paper-ink); text-decoration-color: var(--paper-ink); }

.hero2 .foot {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: 46px;
  padding: 0 0 34px;
  font-size: var(--step-small);
  color: var(--paper-dim);
}

/* ---------- 三个整版色块 ---------- */

.field {
  min-height: 62svh;
  padding: 56px 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.field .note { max-width: 34ch; font-size: var(--step-lead); line-height: 1.65; margin-left: auto; }
.field h2 {
  text-wrap: balance;
  font-size: var(--step-title);
  line-height: 0.98;
  letter-spacing: -0.035em;
  margin-top: 72px;
}

.field.paper { background: var(--paper); color: var(--ink); }
.field.paper .note { color: var(--ink2); }
.field.deep { background: var(--g800); color: var(--paper-ink); }
.field.deep .note { color: var(--paper-dim); }
.field.mid { background: var(--paper2); color: var(--ink); }
.field.mid .note { color: var(--ink2); }

.field.mirror h2 { text-align: right; }
.field.mirror .note { margin-left: 0; margin-right: auto; }

/* ---------- 三步：一条流程带 ---------- */

.stages { padding: 170px 0 150px; background: var(--paper); }
.stages h2 { font-size: var(--step-head); line-height: 1.1; max-width: 16ch; text-wrap: balance; }

.stagebar { display: flex; gap: 6px; margin-top: 72px; min-height: 22vh; }

.stagebar .seg { padding: 24px; color: var(--paper-ink); display: flex; align-items: flex-start; }
.stagebar .seg p { font-size: clamp(19px, 1.8vw, 28px); line-height: 1.3; font-weight: 550; }
.stagebar .seg.a { background: var(--g900); flex: 3; }
.stagebar .seg.b { background: var(--g700); flex: 2; }
.stagebar .seg.c { background: #7d967f; flex: 4; color: #10281e; }

.stage-clauses { display: flex; gap: 6px; margin-top: 26px; }
.stage-clauses > div { padding: 0 24px 0 0; }
.stage-clauses .ca { flex: 3; }
.stage-clauses .cb { flex: 2; }
.stage-clauses .cc { flex: 4; }
.stage-clauses p { font-size: 16px; line-height: 1.75; color: var(--ink2); max-width: 34ch; }
.stage-clauses strong { display: block; color: var(--ink); font-weight: 600; margin-bottom: 6px; font-size: 16px; }

/* ---------- 互动：输入场景，生成示例合约 ---------- */

.try { background: var(--g900); color: var(--paper-ink); padding: 150px 0; }

.try h2 { font-size: var(--step-small); font-weight: 400; color: var(--paper-dim); margin-bottom: 26px; }

.try-presets { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

.try-presets button {
  background: var(--g800);
  border: 0;
  color: var(--paper-dim);
  padding: 10px 18px;
  font-size: 15px;
  transition: background 0.16s, color 0.16s, transform 0.16s;
}

.try-presets button:hover, .try-presets button.on { background: var(--paper-ink); color: var(--g900); transform: translateY(-2px); }

.try-answer { margin-top: 56px; display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 1fr); gap: 64px; align-items: start; }

.contract-ui { background: var(--paper); color: var(--ink); padding: 30px 32px; }
.contract-ui .c-title { font-size: 19px; font-weight: 650; }
.contract-ui dl { margin-top: 20px; }
.contract-ui .row { display: flex; justify-content: space-between; gap: 24px; padding: 11px 0; font-size: 15px; }
.contract-ui .row + .row { border-top: 1px solid #dfe3d6; /* taste-skill-ignore: real contract interface */ }
.contract-ui dt { color: var(--ink2); }
.contract-ui dd { margin: 0; text-align: right; font-weight: 550; }
.contract-ui .c-foot { margin-top: 20px; padding-top: 14px; border-top: 1px solid #dfe3d6; /* taste-skill-ignore: real contract interface */ font-size: 13px; color: var(--ink2); }

.try-note { font-size: 16px; line-height: 1.8; color: var(--paper-dim); max-width: 36ch; }
.try-note strong { display: block; color: var(--paper-ink); font-size: 20px; font-weight: 550; margin-bottom: 12px; }

/* ---------- 界面 ---------- */

.ui-show { padding: 160px 0; background: var(--paper); }
.ui-show h2 { font-size: var(--step-head); line-height: 1.12; max-width: 16ch; text-wrap: balance; }
.ui-grid { display: grid; grid-template-columns: 1.65fr 1fr; gap: 28px; margin-top: 64px; align-items: start; }
.ui-grid figure { margin: 0; }
.ui-grid .stack { display: grid; gap: 28px; }
.ui-grid img { display: block; width: 100%; height: auto; background: #fff; }
.ui-grid figcaption { margin-top: 12px; font-size: 14px; color: var(--ink2); }

/* ---------- 场景：说明 + 右推表格 ---------- */

.scenes2 { padding: 40px 0 170px; background: var(--paper); }
.scenes2 h2 { font-size: var(--step-head); line-height: 1.1; max-width: 10em; text-wrap: balance; }

.scenes-wrap { display: grid; grid-template-columns: 1fr 1.25fr; gap: 64px; margin-top: 80px; align-items: end; }

.scenes-wrap figure img { display: block; width: 100%; height: auto; background: #fff; }
.scenes-wrap figcaption { margin-top: 12px; font-size: 14px; color: var(--ink2); }

.scene-table { width: 100%; border-collapse: collapse; }
.scene-table th, .scene-table td { text-align: left; padding: 18px 0; vertical-align: top; }
.scene-table thead th { font-size: 13px; font-weight: 400; color: var(--ink2); padding-bottom: 14px; }
.scene-table td { font-size: 16px; line-height: 1.6; padding-right: 22px; }
.scene-table td.ind { font-weight: 600; color: var(--ink); white-space: nowrap; }
.scene-table td.out { color: var(--ink2); }
.scene-table tbody tr + tr td { border-top: 1px solid #dfe3d6; }

.scenes-note { margin-top: 26px; font-size: 14px; color: var(--ink2); }

/* ---------- 文档 ---------- */

.docs2 { background: var(--paper2); padding: 140px 0 150px; }
.docs2 h2 { font-size: var(--step-head); line-height: 1.1; text-wrap: balance; }
.docs2 .sub { margin-top: 20px; font-size: var(--step-lead); color: var(--ink2); max-width: 46ch; }

.docs-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; margin-top: 70px; }
.docs-cols h3 { font-size: 17px; font-weight: 650; margin-bottom: 16px; }
.docs-cols ul { list-style: none; margin: 0; padding: 0; }
.docs-cols li { margin-bottom: 12px; }
.docs-cols a { font-size: 15px; color: var(--ink2); text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px; transition: color 0.15s, text-decoration-color 0.15s; }
.docs-cols a:hover { color: var(--g900); text-decoration-color: var(--g700); }

/* ---------- 常见问题 ---------- */

.faq2 { padding: 160px 0; background: var(--paper); }
.faq2 h2 { font-size: var(--step-head); line-height: 1.08; max-width: 12ch; text-wrap: balance; }
.faq-list { margin-top: 80px; margin-left: 26%; max-width: 900px; }
.faq-list details { margin-bottom: 30px; }
.faq-list summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  font-size: clamp(19px, 1.7vw, 24px);
  font-weight: 550;
  line-height: 1.5;
  padding: 6px 0;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary .chev { flex: none; font-size: 20px; color: var(--ink2); transition: transform 0.18s; }
.faq-list details[open] summary .chev { transform: rotate(45deg); }
.faq-list details[open] { background: var(--paper2); padding: 18px 24px 24px; margin-left: -24px; margin-right: -24px; }
.faq-list .ans { margin-top: 12px; font-size: 16.5px; line-height: 1.8; color: var(--ink2); max-width: 56ch; }

/* ---------- 联系 ---------- */

.contact2 { background: var(--paper2); padding: 150px 0; }
.contact-head h2 { font-size: var(--step-title); line-height: 1.02; max-width: 10em; text-wrap: balance; }
.contact-head > p { margin-top: 30px; max-width: 46ch; font-size: var(--step-lead); line-height: 1.7; color: var(--ink2); }

.contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 80px;
  margin-top: 72px;
  align-items: end;
}

.contact-list {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 38px 64px;
}
.contact-list dt { font-size: 13px; color: var(--ink2); margin-bottom: 8px; }
.contact-list dd { margin: 0; font-size: clamp(17px, 1.35vw, 21px); line-height: 1.55; font-weight: 550; color: var(--ink); }
.contact-list a { text-decoration: underline; text-decoration-color: var(--g700); text-underline-offset: 5px; }
.contact-list a:hover { color: var(--g700); }

.wechat-block { margin: 0; display: flex; align-items: center; gap: 24px; }
.wechat-block img { width: 196px; height: 196px; display: block; flex: none; background: #fff; }
.wechat-block figcaption { max-width: 22ch; }
.wechat-block strong { display: block; font-size: 18px; font-weight: 650; line-height: 1.4; }
.wechat-block span { display: block; margin-top: 10px; font-size: 14px; line-height: 1.75; color: var(--ink2); }
.contact-company { margin-top: 54px; font-size: 14px; color: var(--ink2); }
.contact-company a { text-decoration: underline; text-underline-offset: 4px; }
.contact-company a:hover { color: var(--g700); }

/* ---------- 收尾 ---------- */

.close { background: var(--g900); color: var(--paper-ink); padding: 150px 0 0; overflow: hidden; }
.close h2 { font-size: var(--step-title); line-height: 1.0; letter-spacing: -0.035em; max-width: 12ch; }
.close-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-top: 90px; flex-wrap: wrap; }
.close-row p { max-width: 44ch; font-size: var(--step-lead); color: var(--paper-dim); }
.close-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }

.close-links { display: flex; gap: 34px; flex-wrap: wrap; margin-top: 120px; font-size: 15px; color: var(--paper-dim); }
.close-links a:hover { color: var(--paper-ink); }
.close-meta { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-top: 24px; font-size: 13px; color: #8fa596; }
.close-meta a { text-decoration: underline; text-underline-offset: 3px; }
.close-meta a:hover { color: var(--paper-ink); }
.close-legal { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-top: 26px; font-size: 13px; color: #7e9887; }

.wordmark {
  font-size: 47vw;
  line-height: 0.9;
  font-weight: 700;
  letter-spacing: -0.02em;
  white-space: nowrap;
  color: #17473a;
  user-select: none;
  margin-top: 48px;
  /* 中文字面比行盒高，留出下沿，避免被区块裁掉 */
  padding-bottom: 0.2em;
}
.wordmark::before { content: "数隅"; }

/* ---------- 动效 ---------- */

.rise { opacity: 0; transform: translateY(26px); transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); }
.rise.in { opacity: 1; transform: none; }
.rise.d1 { transition-delay: 0.07s; }
.rise.d2 { transition-delay: 0.14s; }
.rise.d3 { transition-delay: 0.21s; }

.hero2 h1 .line > span { transform: translateY(105%); animation: maskup 0.95s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.hero2 h1 .line.l2 > span { animation-delay: 0.12s; }
@keyframes maskup { to { transform: translateY(0); } }

.hero2 .lede, .hero2 .actions, .hero2 .foot { animation: fadeup 0.9s ease 0.35s both; }
@keyframes fadeup { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

/* ---------- 响应式 ---------- */

@media (max-width: 1080px) {
  body.home .container { padding: 0 28px; }
  .hero-head { grid-template-columns: 1fr; gap: 26px; align-items: start; }
  .hero2 h1 { font-size: 9vw; }
  .hero-shot { margin-top: 40px; }
  .hero2 .stage { padding-bottom: 0; }
  .hero2 .foot { margin-top: 34px; }
  .field { min-height: 0; padding: 64px 0; }
  .field h2 { margin-top: 44px; }
  .stages { padding: 120px 0 110px; }
  .contact-grid { grid-template-columns: 1fr; gap: 50px; }
  .wechat-block { max-width: 560px; }
  .try-answer { grid-template-columns: 1fr; gap: 34px; }
  .ui-grid { grid-template-columns: 1fr; }
  .scenes-wrap { grid-template-columns: 1fr; gap: 44px; align-items: start; }
  .docs-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; }
  .faq-list { margin-left: 0; }
  .stagebar { min-height: 18vh; }
}

@media (max-width: 720px) {
  body.home .container { padding: 0 20px; }
  .home .site-header .container { height: 74px; }
  /* 手机：右侧只留菜单图标，导航收进下拉面板 */
  .home .site-nav {
    display: none;
    position: absolute;
    top: 100%; left: 0; right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 6px 20px 16px;
    background: var(--g900);
    font-size: 16px;
  }
  .home .site-nav.open { display: flex; }
  .home .site-nav a { display: block; padding: 13px 0; color: var(--paper-ink); }
  .home .site-nav a + a { border-top: 1px solid rgba(242, 244, 234, 0.12); }
  .home .site-nav a.nav-cta {
    margin-top: 12px;
    padding: 12px;
    text-align: center;
    background: var(--paper-ink);
    color: var(--g900);
  }
  .home .site-nav a.nav-cta:hover { background: #fff; }
  .hero2 { padding-top: 104px; min-height: 0; }
  .hero2 h1 { font-size: 14vw; }
  .hero-shot figcaption { margin-top: 10px; font-size: 13px; }
  .hero2 .lede { margin-top: 24px; font-size: 18px; }
  .hero2 .foot { display: none; }
  .field { min-height: 0; padding: 52px 0; }
  .field h2 { font-size: 12.5vw; margin-top: 36px; }
  .field .note { max-width: 100%; font-size: 18px; }
  .stages { padding: 90px 0; }
  .stagebar { flex-direction: column; min-height: 0; }
  .stagebar .seg { min-height: 84px; }
  .stage-clauses { flex-direction: column; gap: 20px; }
  .try { padding: 90px 0; }
  .ui-show, .faq2, .contact2 { padding: 90px 0; }
  .scenes2 { padding: 20px 0 90px; }
  .docs2 { padding: 80px 0; }
  .docs-cols { grid-template-columns: 1fr; gap: 26px; }
  .contact-grid { gap: 42px; margin-top: 50px; }
  .contact-list { grid-template-columns: 1fr; gap: 26px; }
  .contact-list dd { font-size: 17px; }
  .wechat-block { align-items: flex-start; gap: 18px; }
  .wechat-block img { width: 150px; height: 150px; }
  .wechat-block figcaption { max-width: 18ch; }
  .close { padding-top: 90px; }
  .close h2 { font-size: 12vw; }
  .close-row { margin-top: 50px; }
  .wordmark { font-size: 45vw; margin-top: 32px; }
  .scene-table td { font-size: 14.5px; }
}

@media (max-width: 360px) {
  .wechat-block { flex-direction: column; align-items: flex-start; }
  .wechat-block figcaption { max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .hero2 h1 .line > span, .hero2 .lede, .hero2 .actions, .hero2 .foot { animation: none; transform: none; }
  .rise { opacity: 1; transform: none; transition: none; }
}

/* Product selection follows the existing green / paper editorial layout. */
.product-choice { padding: 110px 0 100px; background: var(--paper); }
.section-intro { display:grid; grid-template-columns:1.15fr 1fr; gap:80px; align-items:end; }
.section-intro h2, .media-heading h2 { font-size:var(--step-head); line-height:1.15; text-wrap:balance; }
.section-intro > p { max-width:40ch; color:var(--ink2); font-size:var(--step-lead); }
.product-options { margin-top:56px; border-top:1px solid #b8c6b8; }
.product-options details { border-bottom:1px solid #b8c6b8; }
.product-options summary { display:grid; grid-template-columns:1.2fr 1fr 24px; align-items:center; gap:24px; padding:25px 0; cursor:pointer; list-style:none; }
.product-options summary::-webkit-details-marker { display:none; }
.product-options summary > span:first-child { font-size:clamp(22px,2.3vw,34px); font-weight:600; letter-spacing:-.02em; }
.product-purpose { font-size:16px; color:var(--ink2); }
.product-options summary svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; }
.product-options details[open] summary svg { transform:rotate(45deg); }
.product-options summary:hover { color:var(--g700); }
.product-content { display:grid; grid-template-columns:1fr 1.15fr; gap:64px; padding:12px 0 38px; }
.product-content h3 { font-size:23px; line-height:1.5; margin-bottom:16px; }
.product-content p { color:var(--ink2); max-width:48ch; }
.product-content dl { margin:24px 0; }
.product-content dl > div { display:grid; grid-template-columns:80px 1fr; gap:16px; margin:12px 0; font-size:15px; }
.product-content dt { color:var(--ink2); }
.product-content .product-boundary { font-size:14px; margin-bottom:20px; }
.product-content img { display:block; width:100%; height:auto; }
.product-content figcaption { margin-top:10px; color:var(--ink2); font-size:13px; }
.section-note { color:var(--ink2); font-size:14px; margin-top:25px; max-width:90ch; }
.integration-note { background:var(--paper2); padding:28px; align-self:start; }
.integration-note ul { padding-left:20px; margin:0 0 24px; }
.integration-note li { margin:10px 0; }
.integration-note p { font-size:14px; }
.media-story { background:var(--g900); color:var(--paper-ink); padding:100px 0; }
.media-heading { display:grid; grid-template-columns:1.15fr 1fr; gap:80px; align-items:start; }
.media-heading p { font-size:var(--step-lead); max-width:40ch; color:var(--paper-dim); }
.media-heading .delivery-state { font-size:14px; margin-top:24px; line-height:1.8; }
.media-rows { margin-top:52px; border-top:1px solid #527465; }
.media-rows > div { display:grid; grid-template-columns:.7fr 1fr 1.5fr; gap:28px; padding:25px 0; align-items:baseline; border-bottom:1px solid #527465; }
.media-rows h3 { font-size:24px; }
.media-rows p { color:var(--paper-dim); }
.media-footer { display:flex; gap:40px; justify-content:space-between; align-items:start; margin-top:30px; }
.media-footer p { color:var(--paper-dim); font-size:14px; max-width:80ch; }
.media-footer a { flex:none; color:var(--paper-ink); }
.try-description { margin:22px 0; color:var(--paper-dim); }
.inquiry-builder { margin-top:48px; max-width:1100px; padding:32px 0; border-top:1px solid #b8c6b8; border-bottom:1px solid #b8c6b8; }
.inquiry-builder fieldset { padding:0; margin:0 0 28px; border:0; min-width:0; }
.inquiry-builder legend { font-size:24px; font-weight:600; margin-bottom:20px; }
.inquiry-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.inquiry-builder label { display:block; font-size:14px; color:var(--ink2); }
.inquiry-builder select, .inquiry-builder textarea { display:block; width:100%; font:inherit; font-size:16px; border:1px solid #849a86; border-radius:6px; background:var(--paper); color:var(--ink); padding:12px; margin-top:8px; }
.inquiry-builder select { min-height:48px; cursor:pointer; }
.inquiry-builder textarea { line-height:1.8; min-height:130px; resize:vertical; }
.inquiry-actions { display:flex; gap:24px; align-items:center; margin-top:18px; }
.inquiry-actions [hidden] { display:none; }
.inquiry-actions p { color:var(--ink2); font-size:14px; }
.inquiry-actions button { font:inherit; border:0; background:var(--g900); color:var(--paper-ink); cursor:pointer; }
.inquiry-actions button:disabled { opacity:.65; cursor:wait; }
.home textarea:focus-visible, .home select:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.home ::selection { background:#cbdabf; color:#0e3529; }
.home select, .home textarea { caret-color:var(--g700); }
.home .rise { opacity:1; transform:none; transition:none; }
.home .try-presets button { min-height:44px; }
.home .hero2 h1 { font-size:clamp(44px,6.8vw,96px); }
@media(min-width:721px) and (max-width:1100px) {
 .home .site-header .container { gap:22px; }
 .home .site-nav { gap:15px; font-size:14px; }
}
@media(max-width:1080px) {
 .section-intro, .media-heading { gap:36px; }
 .product-content { gap:30px; }
}
@media(max-width:720px) {
 .product-choice, .media-story { padding:72px 0; }
 .section-intro, .media-heading, .product-content { grid-template-columns:1fr; gap:24px; }
 .section-intro h2, .media-heading h2 { font-size:36px; }
 .product-options { margin-top:32px; }
 .product-options summary { grid-template-columns:1fr 24px; gap:8px 12px; padding:22px 0; }
 .product-options summary > span:first-child { font-size:24px; }
 .product-purpose { grid-row:2; font-size:14px; }
 .product-options summary svg { grid-column:2; grid-row:1 / span 2; }
 .product-content h3 { font-size:21px; }
 .media-rows > div { grid-template-columns:1fr; gap:6px; padding:22px 0; }
 .media-rows h3 { font-size:24px; }
 .media-rows { margin-top:30px; }
 .media-footer, .inquiry-actions { flex-direction:column; gap:18px; }
 .inquiry-fields { grid-template-columns:1fr; gap:18px; }
 .inquiry-builder { margin-top:32px; }
 .home .hero2 h1 { font-size:14vw; }
 .scene-table { min-width:0; }
 .scene-table .ind { white-space:normal; }
}
.home .try h2 { font-size:var(--step-head); line-height:1.2; font-weight:650; color:var(--paper-ink); max-width:20ch; }
.home .skip-link { position:fixed; top:8px; left:8px; z-index:100; padding:10px 18px; background:var(--paper); color:var(--g900); transform:translateY(-150%); }
.home .skip-link:focus { transform:none; }
@media(max-width:720px) {
 html:not(.site-enhanced) .home .site-header { position:static; background:var(--g900); }
 html:not(.site-enhanced) .home .site-header .container { height:auto; padding-top:20px; flex-wrap:wrap; gap:20px; }
 html:not(.site-enhanced) .home .site-nav { display:flex; position:static; width:100%; padding:0 0 20px; }
 html:not(.site-enhanced) .home .nav-toggle { display:none; }
 html:not(.site-enhanced) .home .hero2 { padding-top:35px; }
 .contract-ui { padding:24px 20px; }
 .contract-ui .row { gap:16px; }
 .contract-ui dt { flex-shrink:0; }
}
.media-word { white-space:nowrap; }
/* Search intent entry points, concise product explanation. */
.home .hero2 h1 { font-size:clamp(42px,6.1vw,88px); }
.trust-overview { padding:100px 0; background:var(--paper2); }
.trust-overview h2 { font-size:var(--step-head); line-height:1.18; text-wrap:balance; }
.trust-rows { margin-top:45px; }
.trust-rows > div { display:grid; grid-template-columns:.8fr 1.5fr; gap:70px; padding:25px 0; border-top:1px solid #b8c6b8; }
.trust-rows h3 { font-size:26px; }
.trust-rows p { color:var(--ink2); max-width:58ch; }
.search-hub { background:var(--paper); padding:110px 0; }
.search-hub-links { display:grid; grid-template-columns:1fr 1fr; column-gap:70px; margin-top:50px; }
.search-hub-links article { border-top:1px solid #b8c6b8; padding:25px 0 30px; }
.search-hub-links h3 { font-size:23px; line-height:1.55; max-width:24em; }
.search-hub-links a { text-decoration:underline; text-decoration-color:#8aa48c; text-underline-offset:6px; }
.search-hub-links a:hover { color:var(--g700); }
.search-hub-links p { color:var(--ink2); font-size:15px; line-height:1.9; margin-top:12px; max-width:55ch; }
@media(max-width:720px) {
 .home .hero2 h1 { font-size:12.5vw; }
 .trust-overview,.search-hub { padding:72px 0; }
 .trust-overview h2 { font-size:36px; }
 .trust-rows > div { grid-template-columns:1fr; gap:12px; }
 .trust-rows h3 { font-size:24px; }
 .search-hub-links { grid-template-columns:1fr; margin-top:32px; }
 .search-hub-links h3 { font-size:22px; }
}
