Files
Greenlens/greenlns-landing/app/press/press.module.css
2026-07-30 10:03:37 +02:00

289 lines
5.2 KiB
CSS

.page {
min-height: 100vh;
color: #12332e;
background: #f7f5ef;
}
.hero {
position: relative;
overflow: hidden;
min-height: 430px;
color: #f7f5ef;
background: #0e1b24;
}
.hero::after {
position: absolute;
inset: 0;
content: '';
pointer-events: none;
background: radial-gradient(circle at 70% 48%, rgba(47, 165, 114, 0.09), transparent 30%);
}
.contour {
position: absolute;
right: -5%;
bottom: -45%;
width: min(720px, 65vw);
aspect-ratio: 1;
opacity: 0.48;
border: 1px solid rgba(111, 205, 151, 0.35);
border-radius: 54% 46% 58% 42%;
box-shadow:
42px -32px 0 -1px rgba(111, 205, 151, 0.26),
88px -70px 0 -1px rgba(111, 205, 151, 0.18),
132px -114px 0 -1px rgba(111, 205, 151, 0.12);
transform: rotate(-18deg);
}
.heroInner,
.content {
position: relative;
z-index: 1;
width: min(1180px, calc(100% - 48px));
margin: 0 auto;
}
.nav {
display: flex;
align-items: center;
justify-content: space-between;
padding: 26px 0;
border-bottom: 1px solid rgba(247, 245, 239, 0.13);
}
.brand {
display: inline-flex;
align-items: center;
gap: 10px;
color: #fff;
font-family: var(--body);
font-size: 1.28rem;
font-weight: 800;
letter-spacing: -0.04em;
}
.brandMark,
.sectionIcon,
.bullet {
display: inline-grid;
place-items: center;
color: #61c98c;
}
.brandMark { width: 27px; height: 27px; }
.brandMark svg { width: 100%; height: 100%; }
.navLinks {
display: flex;
align-items: center;
gap: 26px;
}
.navLinks a {
color: rgba(247, 245, 239, 0.76);
font-size: 0.86rem;
font-weight: 600;
transition: color 160ms ease;
}
.navLinks a:hover { color: #fff; }
.heroCopy {
max-width: 630px;
padding: 74px 0 88px;
}
.kicker {
margin-bottom: 17px;
color: #78d8a1;
font-size: 0.7rem;
font-weight: 800;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.heroCopy h1 {
color: #fff;
font-family: var(--body);
font-size: clamp(3.4rem, 7vw, 6.6rem);
font-weight: 800;
letter-spacing: -0.075em;
line-height: 0.9;
}
.rule {
width: 58px;
height: 3px;
margin: 28px 0 23px;
border-radius: 4px;
background: #61c98c;
}
.heroCopy > p:last-child {
max-width: 530px;
color: rgba(247, 245, 239, 0.77);
font-size: 1.08rem;
line-height: 1.65;
}
.releases { padding: 72px 0 110px; }
.sectionHeading {
display: flex;
align-items: center;
gap: 13px;
margin-bottom: 28px;
}
.sectionIcon {
width: 42px;
height: 42px;
border: 1px solid #8acdae;
border-radius: 50%;
}
.sectionIcon svg { width: 22px; height: 22px; }
.sectionHeading h2 {
color: #12332e;
font-family: var(--body);
font-size: clamp(1.45rem, 2vw, 1.9rem);
font-weight: 750;
letter-spacing: -0.04em;
}
.headingLine {
height: 1px;
flex: 1;
margin-left: 18px;
background: #9ad1b5;
}
.releaseCard {
padding: clamp(28px, 5vw, 58px);
border: 1px solid #d0dbd3;
border-radius: 16px;
background: #fffefa;
box-shadow: 0 18px 55px rgba(14, 51, 42, 0.06);
}
.releaseList {
display: grid;
gap: 22px;
}
.releaseMeta,
.releaseFooter {
display: flex;
align-items: center;
justify-content: space-between;
gap: 18px;
}
.releaseMeta time {
color: #587069;
font-size: 0.88rem;
font-weight: 600;
}
.releaseMeta span {
padding: 7px 11px;
border: 1px solid #c5d6cd;
border-radius: 7px;
color: #276e51;
font-size: 0.69rem;
font-weight: 800;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.releaseCard h3 {
max-width: 880px;
margin: 27px 0 16px;
color: #12332e;
font-family: var(--body);
font-size: clamp(1.75rem, 4vw, 3rem);
font-weight: 760;
letter-spacing: -0.055em;
line-height: 1.08;
}
.lede {
max-width: 820px;
color: #536762;
font-size: 1.05rem;
line-height: 1.7;
}
.keyPoints {
margin-top: 38px;
padding: 25px 0 27px;
border-top: 1px solid #d8e1da;
border-bottom: 1px solid #d8e1da;
}
.keyPoints h4 {
margin-bottom: 17px;
color: #2b7a58;
font-family: var(--body);
font-size: 0.7rem;
font-weight: 800;
letter-spacing: 0.13em;
text-transform: uppercase;
}
.keyPoints ul {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px 28px;
}
.keyPoints li {
display: flex;
align-items: flex-start;
gap: 9px;
color: #4a5f59;
font-size: 0.92rem;
line-height: 1.52;
}
.bullet { width: 16px; min-width: 16px; height: 16px; margin-top: 3px; }
.bullet svg { width: 100%; height: 100%; }
.releaseFooter { padding-top: 24px; }
.releaseFooter p {
color: #697b75;
font-size: 0.84rem;
}
.releaseFooter strong { color: #347c5b; }
.releaseLink {
display: inline-flex;
align-items: center;
gap: 10px;
color: #236f50;
font-size: 0.9rem;
font-weight: 750;
}
.releaseLink span { font-size: 1.2rem; transition: transform 160ms ease; }
.releaseLink:hover span { transform: translateX(4px); }
@media (max-width: 640px) {
.hero { min-height: 390px; }
.heroInner, .content { width: min(100% - 32px, 1180px); }
.nav { padding: 19px 0; }
.navLinks { gap: 14px; }
.navLinks a { font-size: 0.75rem; }
.navLinks a:first-child { display: none; }
.heroCopy { padding: 62px 0 68px; }
.releases { padding: 48px 0 72px; }
.headingLine { display: none; }
.releaseMeta, .releaseFooter { align-items: flex-start; flex-direction: column; }
.releaseMeta { gap: 12px; }
.keyPoints ul { grid-template-columns: 1fr; }
}