* {
  box-sizing: border-box;
  }

html {
scroll-behavior: smooth;
}

body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
background: #f5f1ea;
color: #1f1f1f;
}

.page {
width: 100%;
min-height: 100vh;
padding: 48px;
}

.hero {
min-height: 78vh;
padding: 72px;
border-radius: 40px;
background:
radial-gradient(circle at top right, rgba(255, 192, 156, 0.65), transparent 30%),
radial-gradient(circle at bottom left, rgba(196, 166, 126, 0.35), transparent 28%),
linear-gradient(135deg, #fff8ef 0%, #f0e2cc 48%, #d7bea0 100%);
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
overflow: hidden;
}

.hero::after {
content: "";
position: absolute;
right: -140px;
bottom: -140px;
width: 440px;
height: 440px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.38);
}

.tag {
width: fit-content;
padding: 10px 18px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.72);
font-size: 14px;
letter-spacing: 0.08em;
text-transform: uppercase;
margin-bottom: 32px;
color: #6e543b;
}

h1 {
font-size: clamp(48px, 8vw, 108px);
line-height: 1.02;
margin: 0;
letter-spacing: -0.06em;
max-width: 900px;
position: relative;
z-index: 1;
}

h1 span {
color: #8a5a35;
}

.intro {
max-width: 720px;
font-size: 20px;
line-height: 1.8;
color: #4f4a43;
margin: 32px 0;
position: relative;
z-index: 1;
}

.keywords {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-bottom: 36px;
position: relative;
z-index: 1;
}

.keywords span {
padding: 10px 16px;
border: 1px solid rgba(31, 31, 31, 0.14);
border-radius: 999px;
background: rgba(255, 255, 255, 0.48);
font-size: 14px;
}

.buttons {
display: flex;
gap: 16px;
flex-wrap: wrap;
position: relative;
z-index: 1;
}

a {
text-decoration: none;
}

.primary-button,
.secondary-button {
padding: 16px 24px;
border-radius: 18px;
font-weight: 600;
transition: 0.25s ease;
}

.primary-button {
background: #1f1f1f;
color: #ffffff;
}

.primary-button:hover {
transform: translateY(-2px);
box-shadow: 0 12px 30px rgba(31, 31, 31, 0.18);
}

.secondary-button {
background: rgba(255, 255, 255, 0.68);
color: #1f1f1f;
}

.secondary-button:hover {
background: rgba(255, 255, 255, 0.95);
}

.work-section {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
gap: 24px;
margin-top: 24px;
}

.work-card {
min-height: 220px;
border-radius: 32px;
background: #ffffff;
padding: 32px;
box-shadow: 0 18px 50px rgba(74, 54, 33, 0.08);
}

.dark-card {
background: #1f1f1f;
color: #ffffff;
}

.card-label {
color: #9a7b5d;
font-size: 14px;
margin: 0 0 24px;
text-transform: uppercase;
letter-spacing: 0.08em;
}

.dark-card .card-label {
color: #d6b58f;
}

.work-card h2,
.work-card h3 {
margin: 0 0 16px;
}

.work-card h2 {
font-size: 36px;
}

.work-card h3 {
font-size: 24px;
line-height: 1.35;
}

.work-card p {
line-height: 1.7;
}

.pdf-section {
margin-top: 72px;
}

.pdf-section h2 {
font-size: 36px;
margin-bottom: 8px;
}

.pdf-section p {
color: #666666;
}

iframe {
width: 100%;
height: 86vh;
border: none;
border-radius: 28px;
background: #ffffff;
box-shadow: 0 18px 50px rgba(74, 54, 33, 0.1);
}

@media (max-width: 900px) {
.page {
padding: 20px;
}

.hero {
padding: 40px 24px;
border-radius: 28px;
}

.intro {
font-size: 16px;
}

.work-section {
grid-template-columns: 1fr;
}

iframe {
height: 72vh;
}
}
