219 lines
5.1 KiB
CSS
219 lines
5.1 KiB
CSS
.hero {
|
|
position: relative;
|
|
background:
|
|
radial-gradient(900px 400px at 0% -10%, color-mix(in srgb, var(--brand) 12%, transparent), transparent 60%),
|
|
radial-gradient(800px 350px at 110% 0%, rgba(0,0,0,0.05), transparent 60%);
|
|
overflow: visible;
|
|
min-height: clamp(300px, 40svh, 450px);
|
|
display: grid;
|
|
align-items: center;
|
|
z-index: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.heroContainer {
|
|
max-width: 1280px;
|
|
position: relative;
|
|
z-index: 1;
|
|
overflow: visible;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.copyWrap {
|
|
max-width: 600px;
|
|
overflow: visible;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.kickerRow { margin-bottom: .25rem; }
|
|
.kickerBadge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
background: color-mix(in srgb, var(--brand) 12%, #fff);
|
|
color: var(--brand);
|
|
padding: 6px 10px;
|
|
border-radius: 999px;
|
|
font-weight: 600;
|
|
font-size: 0.78rem;
|
|
letter-spacing: 0.06em;
|
|
}
|
|
|
|
.title {
|
|
font-weight: 800;
|
|
line-height: 1.15;
|
|
letter-spacing: -0.02em;
|
|
/* Fluid type: min 24px → max 40px, ensure 1-line on desktop */
|
|
font-size: clamp(1.8rem, 2vw + 0.8rem, 2.8rem);
|
|
background: linear-gradient(92deg, var(--text) 0%, color-mix(in srgb, var(--brand) 70%, #0f172a) 100%);
|
|
-webkit-background-clip: text;
|
|
background-clip: text;
|
|
color: transparent;
|
|
white-space: normal;
|
|
}
|
|
|
|
.lead {
|
|
margin-top: 1rem;
|
|
color: var(--muted);
|
|
font-size: clamp(0.95rem, 0.5vw + 0.9rem, 1.1rem);
|
|
max-width: 60ch;
|
|
}
|
|
|
|
.bulletList {
|
|
display: grid;
|
|
gap: 6px;
|
|
margin: 10px 0 0 0;
|
|
padding: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
.bulletItem {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
color: #334155; /* slate-700 */
|
|
font-size: 0.95rem;
|
|
}
|
|
|
|
.bulletIcon {
|
|
width: 18px; height: 18px;
|
|
border-radius: 50%;
|
|
border: 2px solid var(--brand);
|
|
box-shadow: inset 0 0 0 2px #fff;
|
|
}
|
|
|
|
.ctaGroup {
|
|
margin-top: 0.75rem;
|
|
position: relative;
|
|
z-index: 2;
|
|
}
|
|
|
|
.ctaPrimary {
|
|
background: var(--brand) !important;
|
|
color: #fff !important;
|
|
border: 1px solid var(--brand) !important;
|
|
border-radius: 12px !important;
|
|
padding: 0.45rem 0.8rem !important;
|
|
font-weight: 600 !important;
|
|
letter-spacing: 0.02em;
|
|
transition: background-color .16s ease, border-color .16s ease;
|
|
margin-right: .5rem;
|
|
box-shadow: var(--shadow-neutral-s);
|
|
position: relative;
|
|
z-index: 2;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.ctaPrimary:hover {
|
|
background: var(--brand-600) !important;
|
|
border-color: var(--brand-600) !important;
|
|
}
|
|
|
|
.ctaSecondary {
|
|
background: transparent !important;
|
|
color: var(--brand) !important;
|
|
border: 1px solid var(--brand) !important;
|
|
border-radius: 12px !important;
|
|
padding: 0.45rem 0.8rem !important;
|
|
font-weight: 600 !important;
|
|
letter-spacing: 0.02em;
|
|
transition: color .16s ease, border-color .16s ease, background-color .16s ease;
|
|
box-shadow: var(--shadow-neutral-s);
|
|
position: relative;
|
|
z-index: 2;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.ctaSecondary:hover {
|
|
color: #fff !important;
|
|
background: #3399ff !important; /* Lebih muda dari brand-600 */
|
|
border-color: #3399ff !important;
|
|
}
|
|
|
|
.ctaPrimary:hover,
|
|
.ctaPrimary:focus-visible,
|
|
.ctaSecondary:hover,
|
|
.ctaSecondary:focus-visible {
|
|
box-shadow: var(--shadow-neutral-s);
|
|
transform: none;
|
|
}
|
|
|
|
.imageWrap {
|
|
position: relative;
|
|
display: grid;
|
|
place-items: center;
|
|
isolation: isolate;
|
|
width: 100%;
|
|
max-width: 650px;
|
|
margin-left: auto;
|
|
z-index: -1;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.imageWrap::before, .imageWrap::after { content: none; }
|
|
|
|
.imageFrame {
|
|
position: relative;
|
|
border-radius: calc(var(--radius-2xl) + 6px);
|
|
overflow: hidden;
|
|
mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
|
|
-webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
|
|
z-index: -1;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.heroImage {
|
|
display: block;
|
|
width: 100%;
|
|
height: auto;
|
|
aspect-ratio: 4 / 3;
|
|
object-fit: cover;
|
|
border-radius: calc(var(--radius-2xl) - 4px);
|
|
}
|
|
|
|
.glow {
|
|
position: absolute;
|
|
inset: auto 10% -10% 10%;
|
|
height: 40%;
|
|
filter: blur(40px);
|
|
z-index: -1;
|
|
background: radial-gradient(60% 60% at 50% 0%, color-mix(in srgb, var(--brand) 30%, transparent), transparent 60%);
|
|
}
|
|
|
|
.stats {
|
|
margin-top: 12px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
color: #64748b; /* slate-500 */
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
.statItem strong { color: #0f172a; font-weight: 700; margin-right: 4px; }
|
|
.statDot { width: 4px; height: 4px; border-radius: 2px; background: #cbd5e1; }
|
|
|
|
/* Fine-tuned responsive spacing */
|
|
@media (min-width: 992px) {
|
|
.copyWrap { padding-right: 1rem; }
|
|
}
|
|
|
|
@media (max-width: 575.98px) {
|
|
.hero { padding-top: 1.25rem; }
|
|
.ctaGroup { display: grid; gap: 8px; }
|
|
.ctaPrimary, .ctaSecondary { width: 100% !important; text-align: center; }
|
|
}
|
|
|
|
@media (max-width: 767.98px) {
|
|
.imageWrap::before,
|
|
.imageWrap::after { display: none; }
|
|
.title { font-size: clamp(1.4rem, 1.8vw + 1rem, 2.1rem); line-height: 1.12; }
|
|
.lead { font-size: clamp(0.93rem, 0.4vw + 0.84rem, 1.03rem); }
|
|
.bulletItem { font-size: 0.92rem; }
|
|
.mesh, .grid { display: none; }
|
|
}
|
|
|
|
.imageFrame:hover { box-shadow: none; transform: none; }
|
|
|
|
@media (min-width: 1400px) {
|
|
.imageWrap { max-width: 720px; }
|
|
} |