@import "./var.css"; :root { --main-max: 1200px; } main[data-page-content] { margin: 0 auto; max-width: var(--main-max); padding: 2rem 1.25rem; box-sizing: border-box; } .grid { display: block; } .hero { background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)); box-shadow: var(--shadow); border-radius: 1rem; padding: clamp(2rem, 4.5vw, 3.5rem); color: var(--text); } .hero-inner { width: 100%; } .eyebrow { color: var(--accent); font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; margin: 0 0 0.6rem; } .hero-title { font-family: "Georgia", "Palatino Linotype", serif; font-size: clamp(3rem, 8vw, 5rem); line-height: 0.95; margin: 0 0 0.25rem; color: var(--text); } .hero-subtitle { font-size: clamp(1rem, 2.2vw, 1.3rem); color: var(--muted); margin: 0 0 1rem; font-weight: 600; } .lead { color: var(--muted); max-width: 68ch; margin: 0 0 1.25rem; } .hero-actions { display: flex; gap: 0.75rem; flex-wrap: wrap; } .button { display: inline-flex; align-items: center; justify-content: center; padding: 0.8rem 1.2rem; border-radius: 999px; text-decoration: none; font-weight: 700; border: 1px solid transparent; } .button-primary { background: linear-gradient(145deg, var(--accent), var(--accent-strong)); color: #08101d; } .button-secondary { background: rgba(255,255,255,0.03); color: var(--text); } .features { margin-top: 1.5rem; display: flex; gap: 1rem; align-items: stretch; } .features .card { flex: 1 1 0; min-width: 0; min-height: 11rem; background: rgba(255,255,255,0.02); padding: 1.5rem; border-radius: 0.75rem; box-shadow: 0 8px 22px rgba(2,6,23,0.45); display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; cursor: pointer; transition: transform 220ms ease, box-shadow 220ms ease, opacity 220ms ease; } .features .card h2 { margin: 0; font-family: "Georgia", serif; font-size: clamp(1.25rem, 1.6vw, 1.6rem); line-height: 1.1; transition: transform 220ms ease; } .features .card p { margin: 0; font-size: clamp(0.95rem, 1.05vw, 1.08rem); line-height: 1.6; position: absolute; left: 1.5rem; right: 1.5rem; bottom: 1.35rem; padding: 0.85rem 1rem; opacity: 0; transform: translateY(0.5rem); transition: opacity 180ms ease, transform 220ms ease; pointer-events: none; } .features:not(:hover) .card:first-child, .features .card:first-child:hover, .features .card:first-child:focus { flex-grow: 2.6; justify-content: flex-start; } .features:not(:hover) .card:first-child p, .features .card:first-child:hover p, .features .card:first-child:focus p { opacity: 1; transform: translateY(0); } .features:hover .card:first-child:not(:hover):not(:focus) { flex-grow: 1; justify-content: center; } .features:hover .card:first-child:not(:hover):not(:focus) p { opacity: 0; transform: translateY(0.5rem); } .features .card:hover, .features .card:focus { flex-grow: 2.6; justify-content: flex-start; transform: translateY(-6px); box-shadow: 0 22px 60px rgba(2,6,23,0.55); z-index: 2; } .features .card:hover p, .features .card:focus p { opacity: 1; transform: translateY(0); } .features .card:focus { outline: 2px solid var(--accent); outline-offset: 3px; } @media (max-width: 980px) { .hero-title { font-size: clamp(2.2rem, 7vw, 4rem); } .features { flex-direction: column; } .features .card { cursor: default; } .features .card:hover, .features .card:focus { transform: none; } .features .card p { position: static; margin-top: 0.85rem; opacity: 1; transform: none; padding: 0; border: 0; background: transparent; box-shadow: none; pointer-events: auto; } }