@font-face {
  font-family: 'CS Claire Mono Drawn';
  src: url('images/CSClaireMonoDrawn-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Restart Soft';
  src: url('images/RestartSoft-Regular.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

:root {
  --bg: #ebeae7;
  --chrome-border: #b6b6b6;
  --chrome-border-w: 0.59px;
  --text-color: #000000;
  --logo-color: #2d2b2c;
  --input-bg: rgba(255, 255, 255, 0.4);
  --input-border: rgba(255, 255, 255, 0.5);
  --btn-bg: #d2ff56;
  --btn-text: #000000;
  --placeholder: #656a73;
  --font-mono: 'CS Claire Mono Drawn', monospace;
  --font-soft: 'Restart Soft', sans-serif;
}

*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: var(--bg);
  margin: 0;
  padding: 0;
  min-height: 100vh;
  font-family: var(--font-mono);
}

/* The whole page is the frame — thin border on all sides */
.browser-frame {
  position: relative;
  min-height: 100vh;
  background: var(--bg);
  border: var(--chrome-border-w) solid var(--chrome-border);
  box-sizing: border-box;
}

.tab {
  border-bottom: var(--chrome-border-w) solid var(--chrome-border);
  border-right: var(--chrome-border-w) solid var(--chrome-border);
}

/* Bottom bar */
.browser-bottom-bar-line {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  border-top: var(--chrome-border-w) solid var(--chrome-border);
}

/* Side panel outline (right column decorative border) */
.browser-side-panel {
  position: absolute;
  right: 8px;
  bottom: 9px;
  width: 326px;
  height: 334px;
  border-left: var(--chrome-border-w) solid var(--chrome-border);
  border-top: var(--chrome-border-w) solid var(--chrome-border);
}

/* Page Content */
.page {
  position: relative;
  height: 100vh;
  min-height: 1024px;
}

/* Header */
.header {
  position: absolute;
  top: 13px;
  left: 13px;
  z-index: 10;
}

.logo {
  display: flex;
  align-items: center;
  gap: 6px;
}

.logo-icon {
  width: 19px;
  height: 19px;
  object-fit: contain;
}

.logo-wordmark {
  width: 53px;
  height: 14px;
}

/* Hero Section */
.hero {
  position: relative;
  width: 100%;
  height: 100%;
}

.hero-center {
  position: absolute;
  top: 162px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.hero-logo {
  width: 393px;
  height: 393px;
  object-fit: contain;
}

.subscribe-label {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: normal;
  letter-spacing: 1.8px;
  color: var(--text-color);
  margin-top: 0;
}

.subscribe-form {
  display: flex;
  align-items: center;
  gap: 3px;
  margin-top: 24px;
}

.input-wrapper {
  width: 311px;
  height: 44px;
  border-radius: 138px;
  background: var(--input-bg);
  border: 0.86px solid var(--input-border);
  display: flex;
  align-items: center;
  padding: 0 16.5px;
}

.email-input {
  width: 100%;
  background: transparent;
  border: none;
  outline: none;
  font-family: var(--font-soft);
  font-size: 13.75px;
  line-height: 1;
  color: var(--text-color);
}

.email-input::placeholder {
  color: var(--placeholder);
}

.subscribe-btn {
  height: 44px;
  padding: 0 16.5px;
  border-radius: 138px;
  background: var(--btn-bg);
  border: 0.86px solid var(--input-border);
  font-family: var(--font-soft);
  font-size: 13.75px;
  font-weight: 500;
  line-height: 1;
  color: var(--btn-text);
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 0.2s;
}

.subscribe-btn:hover {
  opacity: 0.85;
}

/* Manifesto */
.manifesto {
  position: absolute;
  right: 8px;
  bottom: 0;
  width: 308px;
  padding-bottom: 130px;
}

.manifesto-tagline {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: normal;
  letter-spacing: 1.8px;
  line-height: 1.6;
  color: var(--text-color);
  margin-bottom: 80px;
}

.manifesto-body {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: normal;
  letter-spacing: -0.4px;
  line-height: 1.45;
  color: var(--text-color);
  width: 256px;
}

/* Footer */
.footer {
  position: absolute;
  bottom: 12px;
  left: 9px;
}

.footer-email {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: normal;
  letter-spacing: -0.4px;
  color: var(--text-color);
  text-decoration: none;
}

.footer-email:hover {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .browser-frame { border: none; }

  .page {
    height: auto;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
  }

  .header {
    position: relative;
    top: auto;
    left: auto;
    padding: 24px 20px 0;
  }

  .hero {
    flex: 1;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 32px 20px 0;
  }

  .hero-center {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .hero-logo {
    width: 200px;
    height: 200px;
    margin-bottom: 28px;
  }

  .subscribe-label {
    margin-top: 0;
    margin-bottom: 12px;
    text-align: center;
  }

  .subscribe-form {
    width: 100%;
    margin-top: 0;
    flex-wrap: wrap;
    gap: 8px;
  }

  .input-wrapper {
    width: 100%;
    border-radius: 12px;
  }

  .subscribe-btn {
    width: 100%;
    border-radius: 12px;
    text-align: center;
  }

  .manifesto {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    padding: 40px 20px 80px;
  }

  .manifesto-body { width: 100%; }
  .manifesto-tagline { margin-bottom: 24px; }

  .footer {
    position: relative;
    bottom: auto;
    padding: 16px 20px;
    border-top: var(--chrome-border-w) solid var(--chrome-border);
  }
}
