.sz-h25 {
--bg: #f7f0e0;
--bg-elevated: #efe4ca;
--bg-deep: #e7d9b6;
--ink: #251b0e;
--ink-soft: #42321f;
--ink-mute: #735e3f;
--gold: #b88a3a;
--gold-deep: #8e6720;
--line: rgba(37, 27, 14, 0.13);
--line-strong: rgba(37, 27, 14, 0.31);
--display: 'Cormorant Garamond', Georgia, serif;
--mono: 'JetBrains Mono', ui-monospace, monospace;
--sans: 'Manrope', system-ui, sans-serif;
position: relative;
min-height: 100vh;
min-height: 100svh;
background:
radial-gradient(ellipse 85% 60% at 78% 29%, rgba(184, 138, 58, 0.09) 0%, transparent 60%),
radial-gradient(ellipse 60% 70% at 11% 90%, rgba(107, 122, 74, 0.07) 0%, transparent 70%),
linear-gradient(180deg, var(--bg) 0%, #f2ead4 100%);
color: var(--ink);
font-family: var(--sans);
font-size: 17px;
line-height: 1.6;
overflow: hidden;
isolation: isolate;
margin: 0;
}
.sz-h25 *, .sz-h25 *::before, .sz-h25 *::after { box-sizing: border-box; }
.sz-h25 a, .sz-h25 a:hover, .sz-h25 a:visited, .sz-h25 a * { text-decoration: none !important; }
.sz-h25::before {
content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
background-image: url("data:image/svg+xml;utf8,");
mix-blend-mode: multiply;
opacity: 0.40;
}
.sz-h25-ribbon {
position: relative; z-index: 2;
display: flex; justify-content: space-between; align-items: center;
padding: 22px 48px 18px;
border-bottom: 1px solid var(--line);
font-family: var(--mono); font-size: 12px; font-weight: 500;
letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-mute);
}
.sz-h25-stamp { display: flex; gap: 14px; align-items: center; }
.sz-h25-stamp svg { display: block; opacity: 0.85; color: var(--gold-deep); }
.sz-h25-meta { display: flex; gap: 36px; }
.sz-h25-meta span { color: var(--ink-soft); }
.sz-h25-canvas {
position: relative; z-index: 1;
max-width: 1480px; margin: 0 auto;
padding: 88px 48px 130px;
display: grid;
grid-template-columns: minmax(420px, 1.05fr) minmax(380px, 0.95fr);
gap: 96px; align-items: center;
}
.sz-h25-text { display: flex; flex-direction: column; gap: 36px; max-width: 620px; }
.sz-h25-eyebrow {
display: flex; align-items: center; gap: 18px;
font-family: var(--mono); font-size: 13px; font-weight: 500;
letter-spacing: 0.24em; text-transform: uppercase; color: var(--gold-deep);
opacity: 0; animation: szh25-rise 0.9s 0.2s cubic-bezier(.2,.8,.2,1) forwards;
}
.sz-h25-eyebrow::before { content: ""; width: 36px; height: 1px; background: var(--gold); }
.sz-h25-headline {
font-family: var(--display); font-weight: 400;
font-size: clamp(54px, 7.5vw, 108px); line-height: 0.96;
letter-spacing: -0.015em; color: var(--ink);
margin: 0;
}
.sz-h25-headline em {
font-style: italic; font-weight: 500; color: var(--gold-deep);
display: inline-block;
}
.sz-h25-headline span {
display: inline-block; opacity: 0; transform: translateY(0.4em);
animation: szh25-rise 0.9s cubic-bezier(.2,.8,.2,1) forwards;
}
.sz-h25-headline span:nth-child(1) { animation-delay: 0.35s; }
.sz-h25-headline span:nth-child(2) { animation-delay: 0.50s; }
.sz-h25-headline span:nth-child(3) { animation-delay: 0.65s; }
.sz-h25-lede {
font-family: var(--display); font-style: italic; font-weight: 400;
font-size: 21px; line-height: 1.5; color: var(--ink-soft);
max-width: 480px; margin: 0;
opacity: 0; animation: szh25-rise 0.9s 0.85s cubic-bezier(.2,.8,.2,1) forwards;
}
.sz-h25-cta-row {
display: flex; align-items: center; gap: 28px; margin-top: 12px;
flex-wrap: wrap;
opacity: 0; animation: szh25-rise 0.9s 1.05s cubic-bezier(.2,.8,.2,1) forwards;
}
.sz-h25-btn {
display: inline-flex; align-items: center; gap: 14px;
padding: 20px 34px;
background: var(--ink); color: var(--bg);
font-family: var(--mono); font-size: 13px; font-weight: 500;
letter-spacing: 0.20em; text-transform: uppercase;
text-decoration: none;
border: 1px solid var(--ink);
transition: all 0.4s cubic-bezier(.2,.8,.2,1);
position: relative; overflow: hidden;
}
.sz-h25-btn::after {
content: ""; position: absolute; inset: 0;
background: var(--gold-deep);
transform: translateY(101%);
transition: transform 0.4s cubic-bezier(.2,.8,.2,1); z-index: -1;
}
.sz-h25-btn:hover { color: var(--bg); border-color: var(--gold-deep); }
.sz-h25-btn:hover::after { transform: translateY(0); }
.sz-h25-btn svg { transition: transform 0.4s cubic-bezier(.2,.8,.2,1); }
.sz-h25-btn:hover svg { transform: translateX(4px); }
.sz-h25-meta-link {
font-family: var(--mono); font-size: 12px; font-weight: 500;
letter-spacing: 0.20em; text-transform: uppercase;
color: var(--ink-soft); text-decoration: none;
border-bottom: 1px solid var(--line-strong);
padding-bottom: 3px; transition: all 0.3s;
}
.sz-h25-meta-link:hover { color: var(--gold-deep); border-bottom-color: var(--gold-deep); }
.sz-h25-specimens { display: flex; flex-direction: column; gap: 14px; }
.sz-h25-specimen {
position: relative;
display: grid; grid-template-columns: 88px 1fr auto;
align-items: stretch; gap: 28px;
padding: 30px 32px 30px 28px;
background: var(--bg-elevated);
border: 1px solid var(--line);
text-decoration: none; color: var(--ink);
transition: all 0.5s cubic-bezier(.2,.8,.2,1);
opacity: 0; transform: translateY(20px);
animation: szh25-rise 0.9s cubic-bezier(.2,.8,.2,1) forwards;
overflow: hidden;
box-shadow: 0 1px 0 rgba(255,255,255,0.5) inset, 0 3px 12px -8px rgba(37,27,14,0.08);
}
.sz-h25-specimen:nth-child(1) { animation-delay: 0.55s; }
.sz-h25-specimen:nth-child(2) { animation-delay: 0.70s; }
.sz-h25-specimen:nth-child(3) { animation-delay: 0.85s; }
.sz-h25-specimen::before {
content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
background: var(--gold); transform: scaleY(0.18); transform-origin: top;
transition: transform 0.6s cubic-bezier(.2,.8,.2,1);
}
.sz-h25-specimen:hover {
background: var(--bg-deep); border-color: var(--line-strong);
transform: translateY(-2px);
box-shadow: 0 1px 0 rgba(255,255,255,0.5) inset, 0 8px 22px -8px rgba(37,27,14,0.16);
}
.sz-h25-specimen:hover::before { transform: scaleY(1); }
.sz-h25-glyph {
display: flex; align-items: center; justify-content: center;
color: var(--gold-deep); opacity: 0.85;
transition: all 0.5s cubic-bezier(.2,.8,.2,1);
}
.sz-h25-specimen:hover .sz-h25-glyph { color: var(--gold); opacity: 1; transform: scale(1.05); }
.sz-h25-glyph svg { width: 64px; height: 64px; }
.sz-h25-spec-body { display: flex; flex-direction: column; justify-content: center; gap: 10px; }
.sz-h25-spec-cat {
font-family: var(--mono); font-size: 12px; font-weight: 500;
letter-spacing: 0.20em; text-transform: uppercase; color: var(--ink-mute);
display: flex; gap: 14px; align-items: center;
}
.sz-h25-spec-cat-dot { width: 5px; height: 5px; background: var(--gold); border-radius: 50%; }
.sz-h25-spec-name {
font-family: var(--display); font-size: 30px; font-weight: 500;
letter-spacing: -0.01em; color: var(--ink); line-height: 1;
}
.sz-h25-spec-latin {
font-family: var(--display); font-style: italic;
font-size: 16px; color: var(--ink-soft); margin-top: 2px;
}
.sz-h25-spec-arrow { align-self: center; color: var(--ink-mute); transition: all 0.4s cubic-bezier(.2,.8,.2,1); }
.sz-h25-specimen:hover .sz-h25-spec-arrow { color: var(--gold-deep); transform: translateX(3px); }
.sz-h25-spec-arrow svg { display: block; }
.sz-h25-footer-line {
position: absolute; bottom: 0; left: 0; right: 0; z-index: 2;
padding: 22px 48px;
border-top: 1px solid var(--line);
display: flex; justify-content: space-between; align-items: center;
font-family: var(--mono); font-size: 12px; font-weight: 500;
letter-spacing: 0.20em; text-transform: uppercase; color: var(--ink-mute);
background: linear-gradient(180deg, transparent, rgba(231, 217, 182, 0.5));
}
.sz-h25-footer-line span:first-child { color: var(--ink-soft); }
.sz-h25-scroll { display: flex; align-items: center; gap: 12px; color: var(--ink-mute); }
.sz-h25-scroll-arrow {
width: 1px; height: 28px;
background: linear-gradient(180deg, transparent, var(--gold) 50%, transparent);
animation: szh25-pulse 2.4s ease-in-out infinite;
}
@keyframes szh25-rise { to { opacity: 1; transform: translateY(0); } }
@keyframes szh25-pulse { 0%, 100% { opacity: 0.4; } 50% { opacity: 1; } }
@media (max-width: 1100px) {
.sz-h25-canvas { grid-template-columns: 1fr; gap: 72px; padding: 64px 36px 100px; }
.sz-h25-text { max-width: 100%; }
.sz-h25-meta { gap: 18px; }
.sz-h25-meta span:nth-child(2) { display: none; }
}
@media (max-width: 720px) {
.sz-h25 { font-size: 16px; }
.sz-h25-ribbon { padding: 16px 24px 12px; }
.sz-h25-meta span:first-child { display: none; }
.sz-h25-canvas { padding: 56px 24px 96px; gap: 56px; }
.sz-h25-headline { font-size: clamp(44px, 11vw, 72px); }
.sz-h25-lede { font-size: 19px; }
.sz-h25-cta-row { flex-direction: column; align-items: flex-start; gap: 22px; }
.sz-h25-specimen { grid-template-columns: 64px 1fr auto; gap: 18px; padding: 24px 22px 24px 20px; }
.sz-h25-glyph svg { width: 48px; height: 48px; }
.sz-h25-spec-name { font-size: 26px; }
.sz-h25-footer-line { padding: 16px 24px; font-size: 11px; }
.sz-h25-footer-line span:nth-child(2) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
.sz-h25 *, .sz-h25 *::before, .sz-h25 *::after {
animation-duration: 0.01ms !important; transition-duration: 0.01ms !important;
}
.sz-h25-eyebrow, .sz-h25-lede, .sz-h25-cta-row, .sz-h25-headline span, .sz-h25-specimen { opacity: 1; transform: none; }
}