﻿@import url("../common.css");

.hero {
      width: min(var(--max), calc(100% - 40px));
      margin: 0 auto;
      padding: clamp(48px, 8vw, 96px) 0 clamp(56px, 9vw, 104px);
      position: relative;
    }
    .eyebrow {
      margin: 0 0 18px;
      color: var(--accent);
      font-size: 0.86rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
    }
    h1 {
      margin: 0;
      font-size: clamp(2.4rem, 7vw, 5rem);
      line-height: 1.18;
      font-weight: 700;
      letter-spacing: 0.02em;
    }
    h1 .small {
      display: block;
      margin-top: 12px;
      color: var(--muted);
      font-size: clamp(1.1rem, 2vw, 1.5rem);
      letter-spacing: 0.16em;
    }
    .lead {
      max-width: 44rem;
      margin: 24px 0 0;
      color: #30494b;
      font-size: clamp(1rem, 1.7vw, 1.12rem);
    }
    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 34px;
    }
    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 46px;
      padding: 0 22px;
      border: 1px solid var(--button-accent);
      background: var(--button-accent);
      color: #f8f6ee;
      font-size: 0.92rem;
      letter-spacing: 0.09em;
      transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
    }
    .button:hover { transform: translateY(-2px); background: var(--button-accent-hover); }
    .button.ghost {
      background: rgba(248, 246, 238, 0.36);
      color: var(--text);
      border-color: var(--line);
    }
    .button.ghost:hover {
      border-color: var(--accent);
      color: var(--accent);
      background: rgba(248, 246, 238, 0.56);
    }
    .content-area {
      position: relative;
      padding: 32px 0 24px;
      color: var(--ink);
      background:
        radial-gradient(circle at 12% 0%, rgba(153, 193, 205, 0.26), transparent 29rem),
        radial-gradient(circle at 88% 10%, rgba(199, 227, 236, 0.32), transparent 26rem),
        linear-gradient(180deg, var(--paper-strong), var(--paper));
    }
    .content-area::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: -40px;
      height: 110px;
      background: linear-gradient(180deg, rgba(128, 171, 169, 0), var(--paper-strong));
      pointer-events: none;
    }

    .content-area .section-title h2 {
      display: inline-block;
      padding: 5px 12px;
      background: linear-gradient(90deg, var(--air-accent), rgba(31, 119, 116, 0.7) 70%, rgba(31, 119, 116, 0.28));
      color: #f9feff;
    }
    .section {
      position: relative;
      width: min(var(--max), calc(100% - 40px));
      margin: 0 auto;
      padding: 72px 0;
      border-top: 1px solid var(--line-soft);
    }
    .section-title {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 32px;
    }
    .section-title h2 {
      margin: 0;
      font-size: clamp(1.55rem, 3vw, 2.4rem);
      font-weight: 700;
      letter-spacing: 0.12em;
    }
    .section-title p {
      margin: 0;
      color: var(--ink-muted);
      font-size: 0.9rem;
    }
    .grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
    }
    .grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .panel {
      border: 1px solid var(--line-soft);
      background: rgba(255, 255, 255, 0.85);
      box-shadow: 0 14px 34px var(--air-shadow);
      padding: 26px;
    }
    .panel .num {
      color: var(--air-accent);
      font-size: 0.86rem;
      letter-spacing: 0.2em;
    }
    .panel h3 {
      margin: 14px 0 10px;
      font-size: 1.14rem;
      font-weight: 700;
      letter-spacing: 0.12em;
    }
    .panel p {
      margin: 0;
      color: var(--ink-muted);
      font-size: 0.95rem;
    }
    .flow {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 10px;
    }
    .step {
      border: 1px solid var(--line-soft);
      background: rgba(255, 255, 255, 0.78);
      padding: 16px 12px;
      color: var(--ink);
      text-align: center;
      font-size: 0.92rem;
      letter-spacing: 0.08em;
    }
    .note {
      border: 1px solid #e5d7bd;
      background: #fff8ec;
      padding: 20px 24px;
      color: #5c4a2c;
    }
    .doc-links {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }
    .doc-links a,
    .doc-card {
      display: block;
      border: 1px solid var(--line-soft);
      background: rgba(255, 255, 255, 0.86);
      box-shadow: 0 14px 34px var(--air-shadow);
      padding: 24px;
    }
    .doc-links strong {
      display: block;
      margin-bottom: 8px;
      font-weight: 700;
      letter-spacing: 0.1em;
    }
    .doc-links span {
      color: var(--ink-muted);
      font-size: 0.95rem;
    }
@media (max-width: 820px) {
.grid,
      .grid.two,
      .doc-links,
      .flow { grid-template-columns: 1fr; }
      .section-title { display: block; }
      .section-title p { margin-top: 8px; }
}