@import url("colors_and_type.css");

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--empack-pale-1); }
body {
  font-family: var(--font-body);
  font-weight: 300;
  color: var(--color-fg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: 0; background: 0; padding: 0; color: inherit; }
img { display: block; max-width: 100%; }
ul { padding: 0; margin: 0; list-style: none; }
p { margin: 0; }

/* Page width */
.wrap { max-width: 82.5rem; margin: 0 auto; padding: 0 var(--sp-7); }
@media (max-width: 45rem) { .wrap { padding: 0 var(--sp-5); } }

/* Display + body helpers */
.display    { font-family: var(--font-display); font-weight: 500; letter-spacing: -0.01em; line-height: 0.98; }
.display-bd { font-family: var(--font-display); font-weight: 700; letter-spacing: -0.015em; line-height: 0.98; }
.body       { font-family: var(--font-body); font-weight: 300; line-height: 1.55; }
.body-bd    { font-family: var(--font-body); font-weight: 700; }
.eyebrow {
  font-family: var(--font-body); font-weight: 700;
  font-size: 0.6875rem; letter-spacing: 0.16em; text-transform: uppercase;
}
.kicker {
  font-family: var(--font-display); font-weight: 500;
  font-size: 0.8125rem; letter-spacing: 0.2em; text-transform: uppercase;
}

/* Buttons */
.btn {
  display: inline-flex; align-items: center; gap: 0.625rem;
  padding: var(--sp-4) var(--sp-5);
  font-family: var(--font-body); font-weight: 700;
  font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase;
  border-radius: var(--r-xs);
  background: var(--empack-fluo-green);
  color: var(--empack-mineral-blue);
  border: 2px solid var(--empack-fluo-green);
  transition: background var(--dur-fast) var(--ease-out),
              color var(--dur-fast) var(--ease-out),
              transform var(--dur-fast) var(--ease-out);
  white-space: nowrap;
}
.btn:hover { background: #fff; border-color: #fff; }
.btn:active { transform: translateY(1px); }
.btn--outline-dark {
  background: transparent; color: var(--empack-mineral-blue);
  border-color: var(--empack-mineral-blue);
}
.btn--outline-dark:hover { background: var(--empack-mineral-blue); color: #fff; }
.btn--outline-light {
  background: transparent; color: #fff; border-color: rgba(255,255,255,0.5);
}
.btn--outline-light:hover { background: #fff; color: var(--empack-mineral-blue); border-color: #fff; }
.btn--ghost {
  background: transparent; color: var(--empack-fluo-green);
  border-color: var(--empack-fluo-green);
}
.btn--ghost:hover { background: var(--empack-fluo-green); color: var(--empack-mineral-blue); }
.btn--sm { padding: 0.6875rem 1.125rem; font-size: 0.6875rem; }
.btn .arrow { transition: transform var(--dur-fast) var(--ease-out); }
.btn:hover .arrow { transform: translateX(3px); }

/* Fold-clip image container — square top-left, rounded elsewhere */
.fold-clip {
  border-radius: 0 var(--r-xl) var(--r-xl) var(--r-xl);
  overflow: hidden; display: block;
}
.fold-clip--lg {
  border-radius: 0 3rem 3rem 3rem;
}
.fold-clip--alt { /* square top-right instead */
  border-radius: var(--r-xl) 0 var(--r-xl) var(--r-xl);
}

/* Placeholder image (when real photo unavailable) */
.ph {
  position: relative; overflow: hidden;
  display: flex; align-items: flex-end; justify-content: flex-start;
  padding: var(--sp-4);
  background: var(--empack-ocean-blue);
  color: rgba(255,255,255,0.55);
  font-family: var(--font-body); font-weight: 700; font-size: 0.625rem;
  letter-spacing: 0.12em; text-transform: uppercase;
}
.ph::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(80% 60% at 20% 0%, rgba(170,255,0,0.18), transparent 60%),
    linear-gradient(135deg, var(--empack-ocean-blue) 0%, #0e3a4c 100%);
}
.ph > span { position: relative; z-index: 1; }

.ph--teal::before {
  background:
    radial-gradient(70% 50% at 80% 100%, rgba(170,255,0,0.16), transparent 60%),
    linear-gradient(135deg, var(--empack-light-teal) 0%, #006b75 100%);
}
.ph--mineral::before {
  background:
    radial-gradient(80% 60% at 0% 100%, rgba(0,131,143,0.45), transparent 60%),
    linear-gradient(135deg, var(--empack-mineral-blue) 0%, #1d1b27 100%);
}
.ph--warm::before {
  background:
    radial-gradient(80% 60% at 100% 0%, rgba(0,131,143,0.18), transparent 60%),
    linear-gradient(135deg, var(--empack-pale-2) 0%, #d8d3c9 100%);
}
.ph--warm { color: rgba(50,48,61,0.45); }

/* Section spacing */
.section { padding: 7rem 0; }
.section-sm { padding: 4.5rem 0; }
@media (max-width: 56.25rem) { .section { padding: 4.5rem 0; } .section-sm { padding: var(--sp-7) 0; } }

/* Hero diagonal cut bottom */
.diagonal-bottom { clip-path: polygon(0 0, 100% 0, 100% 96%, 0 100%); }
.diagonal-top    { clip-path: polygon(0 4%, 100% 0, 100% 100%, 0 100%); }

/* Pulse for live countdown */
@keyframes pulseDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.85); }
}
.live-dot { animation: pulseDot 1.4s ease-in-out infinite; }

/* Marquee */
@keyframes scrollX {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.marquee { display: flex; gap: var(--sp-8); animation: scrollX 60s linear infinite; }
.marquee:hover { animation-play-state: paused; }

/* Carousel arrow buttons */
.round-btn {
  width: 2.75rem; height: 2.75rem; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--empack-fluo-green); color: var(--empack-mineral-blue);
  transition: transform var(--dur-fast) var(--ease-out);
}
.round-btn:hover { transform: scale(1.06); }
.round-btn--ghost {
  background: transparent; color: var(--empack-mineral-blue);
  border: 1.5px solid rgba(50,48,61,0.25);
}
.round-btn--ghost:hover { background: var(--empack-mineral-blue); color: #fff; border-color: var(--empack-mineral-blue); }

/* Card */
.card {
  background: #fff;
  border-radius: var(--r-md);
  overflow: hidden;
  border: 1px solid var(--color-border);
  transition: transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out);
}
.card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }

/* form field */
.field { display: flex; flex-direction: column; gap: 0.375rem; }
.field label {
  font-family: var(--font-body); font-weight: 700;
  font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--color-fg-muted);
}
.field input, .field textarea {
  font: inherit; font-family: var(--font-body); font-weight: 400;
  border: 0; border-bottom: 1.5px solid var(--color-border-strong);
  padding: 0.625rem 0; background: transparent;
  color: var(--color-fg);
  outline: none;
  transition: border-color var(--dur-fast) var(--ease-out);
}
.field input:focus, .field textarea:focus { border-color: var(--empack-fluo-green); }
.field textarea { resize: vertical; min-height: 6.25rem; }

/* zone tag */
.tag-zone {
  display: inline-flex; align-items: center; gap: 0.375rem;
  padding: 0.3125rem 0.625rem;
  font-family: var(--font-body); font-weight: 700;
  font-size: 0.625rem; letter-spacing: 0.16em; text-transform: uppercase;
  background: var(--empack-fluo-green); color: var(--empack-mineral-blue);
  border-radius: var(--r-xs);
}
