:root {
  --green: #00a84f;
  --green-dark: #007d3a;
  --ink: #17221c;
  --muted: #657068;
  --cream: #f5f1e8;
  --line: rgba(23, 34, 28, 0.14);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }

.hero {
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
}

.hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(48px, 7vw, 112px);
}

.logo {
  width: clamp(230px, 32vw, 430px);
  height: auto;
  margin-bottom: clamp(54px, 8vh, 92px);
}

.status {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 18px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.status__dot {
  width: 8px;
  height: 8px;
  background: var(--green);
  border-radius: 50%;
  box-shadow: 0 0 0 6px rgba(0, 168, 79, .12);
}

h1 {
  max-width: 780px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(58px, 6vw, 108px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.055em;
}

.intro {
  max-width: 610px;
  margin: 30px 0 42px;
  color: var(--muted);
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.6;
}

.newsletter {
  width: min(100%, 650px);
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 20px;
  padding: 24px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, .48);
}

.newsletter__icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: white;
  background: var(--green);
  border-radius: 50%;
}

.newsletter__icon svg { width: 24px; fill: currentColor; }
.newsletter h2 { margin: 1px 0 5px; font-size: 19px; }
.newsletter p { margin: 0 0 12px; color: var(--muted); line-height: 1.5; }

.mail-link {
  color: var(--green-dark);
  font-weight: 750;
  text-underline-offset: 4px;
}

.hero__aside {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: 48px;
  color: white;
  background: var(--green);
}

.hero__aside::before,
.hero__aside::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
}

.hero__aside::before { width: 50vw; height: 50vw; top: -30vw; right: -23vw; }
.hero__aside::after { width: 34vw; height: 34vw; bottom: -23vw; left: -18vw; }

.hero__aside > p {
  position: absolute;
  right: 48px;
  bottom: 40px;
  margin: 0;
  text-align: right;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2.5vw, 38px);
  font-style: italic;
  line-height: 1.15;
}

.plate {
  position: relative;
  width: min(27vw, 390px);
  aspect-ratio: 1;
  border: clamp(26px, 3vw, 46px) solid rgba(255,255,255,.94);
  border-radius: 50%;
  box-shadow: 0 30px 80px rgba(0, 74, 35, .24), inset 0 0 0 2px rgba(0,0,0,.06);
  transform: rotate(-7deg);
}

.plate__stem {
  position: absolute;
  width: 4px;
  height: 48%;
  left: 49%;
  top: 28%;
  background: var(--green-dark);
  border-radius: 99px;
  transform: rotate(18deg);
}

.plate__leaf {
  position: absolute;
  z-index: 1;
  width: 25%;
  height: 42%;
  background: var(--green-dark);
  border-radius: 100% 0 100% 0;
}

.plate__leaf--one { left: 25%; top: 23%; transform: rotate(-24deg); }
.plate__leaf--two { left: 50%; top: 38%; transform: rotate(50deg) scale(.85); }
.plate__leaf--three { left: 28%; top: 51%; transform: rotate(-42deg) scale(.68); }

.imprint {
  display: grid;
  grid-template-columns: minmax(180px, .45fr) 1.55fr;
  gap: clamp(30px, 7vw, 120px);
  padding: clamp(60px, 8vw, 120px);
  color: #e9f0eb;
  background: #17221c;
}

.eyebrow {
  margin: 0 0 12px;
  color: #6ed99a;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.imprint h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(40px, 5vw, 70px);
  font-weight: 400;
}

.imprint__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(28px, 4vw, 64px);
  padding-top: 8px;
  color: #b8c3bc;
  line-height: 1.75;
}

.imprint address { font-style: normal; }
.imprint strong { color: white; }
.imprint__grid p { margin: 0 0 14px; }
.imprint__grid span { display: block; color: #78867d; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.imprint__grid a { color: #e9f0eb; text-underline-offset: 4px; }
.imprint .dispute { margin-top: 25px; font-size: 13px; line-height: 1.6; }

footer {
  display: flex;
  justify-content: space-between;
  padding: 24px clamp(28px, 7vw, 112px);
  color: #7c887f;
  background: #111a15;
  font-size: 13px;
}

footer a { text-underline-offset: 4px; }

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; }
  .hero__content { min-height: 100svh; padding: 42px 28px 56px; }
  .hero__aside { min-height: 480px; }
  .plate { width: min(62vw, 350px); }
  .hero__aside > p { right: 28px; bottom: 28px; }
  .imprint { grid-template-columns: 1fr; }
  .imprint__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  .logo { margin-bottom: 58px; }
  h1 { font-size: clamp(54px, 18vw, 76px); }
  .newsletter { grid-template-columns: 1fr; }
  .imprint { padding: 60px 28px; }
  .imprint__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: no-preference) {
  .status__dot { animation: pulse 2.6s ease-out infinite; }
  @keyframes pulse { 70%, 100% { box-shadow: 0 0 0 12px rgba(0, 168, 79, 0); } }
}
