@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Marcellus&display=swap');

:root {
  --ah-display: 'Marcellus', 'Palatino Linotype', Palatino, Georgia, serif;
  --ah-sans: 'Manrope', 'Avenir Next', 'Segoe UI', sans-serif;
  --ah-ink: #28211e;
  --ah-muted: #726861;
  --ah-paper: #fffdf9;
  --ah-ivory: #f6f0e8;
  --ah-mist: #ebe4dc;
  --ah-plum: #563247;
  --ah-blue: #29495e;
  --ah-green: #344f45;
  --ah-clay: #9a634f;
  --ah-gold: #b3884f;
  --ah-line: rgba(62, 45, 36, .15);
  --ah-shadow: 0 26px 80px rgba(56, 39, 30, .11);
  --ah-section: clamp(54px, 7vw, 94px);
}

html { scroll-behavior: smooth; }
body {
  color: var(--ah-ink);
  font-family: var(--ah-sans) !important;
  font-optical-sizing: auto;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  background:
    radial-gradient(circle at 8% 6%, rgba(179, 136, 79, .045), transparent 26rem),
    linear-gradient(180deg, #fffdf9 0%, #faf6f0 48%, #fffdf9 100%);
}

h1, h2, h3, h4,
.brand, .footer-brand,
[class*='title'], [class*='heading'] h1, [class*='heading'] h2 {
  font-family: var(--ah-display) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: -.014em;
}
h1 { letter-spacing: -.022em; }
h2 { letter-spacing: -.016em; }
h3, h4 { letter-spacing: -.01em; }

p, li, label, input, textarea, select, button { font-family: var(--ah-sans); }
p { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }

/* A tighter, editorial rhythm across the full site. */
main > section,
.subpage > section,
section + section { margin-top: 0; }
.section-heading,
.split-heading,
[class*='section-heading'] {
  margin-bottom: clamp(22px, 3vw, 38px) !important;
}
main > section:not(:first-child),
.subpage > section:not(:first-child) {
  padding-top: clamp(38px, 5.3vw, 72px) !important;
  padding-bottom: clamp(38px, 5.3vw, 72px) !important;
}

/* Crafted controls instead of browser-default form elements. */
button,
.primary-button,
.secondary-button,
.soft-button,
a[class*='button'] {
  border-radius: 999px !important;
  letter-spacing: .005em;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease;
}
button:hover:not(:disabled),
a[class*='button']:hover { transform: translateY(-2px); }
button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid rgba(179, 136, 79, .34) !important;
  outline-offset: 3px;
}

input:not([type='checkbox']):not([type='radio']),
textarea,
select {
  width: 100%;
  min-height: 52px;
  padding: .82rem 1rem;
  border: 1px solid rgba(72, 52, 43, .2) !important;
  border-radius: 16px !important;
  color: var(--ah-ink) !important;
  background-color: rgba(255, 253, 249, .94) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 10px 28px rgba(57, 39, 31, .055);
  font-size: .96rem;
  line-height: 1.45;
  appearance: none;
  -webkit-appearance: none;
}
textarea { min-height: 116px; resize: vertical; }
select {
  padding-right: 3.2rem;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--ah-gold) 50%),
    linear-gradient(135deg, var(--ah-gold) 50%, transparent 50%),
    linear-gradient(to right, rgba(72,52,43,.1), rgba(72,52,43,.1));
  background-position:
    calc(100% - 21px) calc(50% - 3px),
    calc(100% - 15px) calc(50% - 3px),
    calc(100% - 44px) 50%;
  background-size: 6px 6px, 6px 6px, 1px 26px;
  background-repeat: no-repeat;
}
input[type='date']::-webkit-calendar-picker-indicator {
  opacity: .72;
  filter: sepia(.35) saturate(.75);
}
label {
  color: #4d423d;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .008em;
}
::placeholder { color: #9b918a !important; opacity: 1; }

article,
[class*='card'],
[class*='panel'] { border-color: var(--ah-line); }
.product-card,
.shop-card,
.article-card,
.sign-card,
.moment-card {
  overflow: hidden;
  box-shadow: 0 18px 54px rgba(59, 40, 31, .075);
}

.ah-sketch-divider {
  width: min(420px, 78vw);
  height: 46px;
  margin: 10px auto 2px;
  display: block;
  opacity: .68;
  background: center / contain no-repeat url('/illustrations/sketch-divider.svg');
}
.ah-section-sketch {
  position: absolute;
  z-index: 0;
  width: clamp(74px, 9vw, 126px);
  aspect-ratio: 1;
  opacity: .18;
  pointer-events: none;
  background: center / contain no-repeat;
}
.ah-section-sketch--moon { background-image: url('/illustrations/sketch-moon.svg'); }
.ah-section-sketch--branch { background-image: url('/illustrations/sketch-branch.svg'); }
.ah-section-sketch--mirror { background-image: url('/illustrations/sketch-mirror.svg'); }

.ah-premium-note {
  position: relative;
  width: min(calc(100% - 32px), 1160px);
  margin: 0 auto;
  padding: clamp(26px, 4.6vw, 48px);
  overflow: hidden;
  border: 1px solid var(--ah-line);
  border-radius: 28px;
  background:
    radial-gradient(circle at 88% 14%, rgba(179,136,79,.13), transparent 25%),
    linear-gradient(145deg, #fffdf9, #f3ece4);
  box-shadow: var(--ah-shadow);
}
.ah-premium-note::before {
  content: '';
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(179,136,79,.16);
  border-radius: 20px;
  pointer-events: none;
}
.ah-premium-note > * { position: relative; z-index: 1; }
.ah-premium-note h2 { margin: 0 0 12px; font-size: clamp(2rem, 4.5vw, 3.7rem); }
.ah-premium-note p { max-width: 790px; margin: 0; color: var(--ah-muted); line-height: 1.72; }

@media (max-width: 760px) {
  :root { --ah-section: 52px; }
  main > section:not(:first-child),
  .subpage > section:not(:first-child) {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }
  input:not([type='checkbox']):not([type='radio']), textarea, select {
    min-height: 50px;
    border-radius: 14px !important;
    font-size: 16px;
  }
  .ah-premium-note { width: min(calc(100% - 20px), 1160px); border-radius: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
