/* Andrés personal - quiet studio tokens (andres-personal-quiet-studio) */
:root {
  --bg: #F4F2EE;
  --surface: #FFFFFF;
  --ink: #1A1A1A;
  --muted: #5C5A56;
  --accent: #2F4A5C;
  --line: #D8D4CC;
  --font: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 40px;
  --space-xl: 72px;
  --measure: 65ch;
  --content: 1080px;
  --radius: 0px;
}

/* Neutralize UA / leaked theme defaults without beating components */
:where(.am-html, .am-body, .am-site) {
  margin: 0;
  padding: 0;
  border: 0;
}

.am-html {
  background: var(--bg);
}

.am-body.am-personal-canvas,
.am-body {
  background: var(--bg) !important;
  color: var(--ink) !important;
  font-family: var(--font) !important;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

/* Kill common Airi/Woo chrome on canvas */
.am-personal-canvas .lahb-wrap,
.am-personal-canvas .lahb-screen-view,
.am-personal-canvas .site-footer,
.am-personal-canvas .footer-bottom,
.am-personal-canvas .la-overlay-global,
.am-personal-canvas .woocommerce-store-notice,
.am-personal-canvas .widget_shopping_cart,
.am-personal-canvas .header-cart,
.am-personal-canvas .la-cart-count,
.am-personal-canvas .wishlist-count,
.am-personal-canvas .search-button,
.am-personal-canvas .header-search,
.am-personal-canvas .la-wishlist-icon,
.am-personal-canvas .la-compare-icon,
.am-personal-canvas #wpadminbar ~ .lahb-wrap {
  display: none !important;
}

.am-site {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font);
}

.am-wrap {
  width: min(100% - 48px, var(--content));
  margin-inline: auto;
}

/* Header / nav */
.am-header {
  border-bottom: 1px solid var(--line);
  background: var(--bg);
  position: sticky;
  top: 0;
  z-index: 40;
}

.am-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  min-height: 64px;
  padding-block: 12px;
}

.am-logo {
  color: var(--ink);
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.am-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  align-items: center;
  justify-content: flex-end;
}

.am-nav a {
  color: var(--ink);
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
}

.am-nav a:hover,
.am-nav a:focus-visible {
  color: var(--accent);
}

.am-nav__ext {
  color: var(--accent) !important;
}

.am-nav-toggle {
  display: none;
  background: none;
  border: 0;
  padding: 8px;
  cursor: pointer;
}

.am-nav-toggle span {
  display: block;
  width: 18px;
  height: 1px;
  background: var(--ink);
  margin: 5px 0;
}

@media (max-width: 760px) {
  .am-nav-toggle { display: block; }
  .am-nav {
    display: none;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 16px;
  }
  .am-header__inner { flex-wrap: wrap; }
  .am-nav.is-open { display: flex; }
}

/* Typography */
.am-h1 {
  font-family: var(--font);
  font-weight: 600;
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 var(--space-md);
  color: var(--ink);
}

.am-h2 {
  font-family: var(--font);
  font-weight: 600;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  line-height: 1.15;
  margin: 0 0 var(--space-md);
  color: var(--ink);
}

.am-h3 {
  font-family: var(--font);
  font-weight: 600;
  font-size: 1.05rem;
  line-height: 1.25;
  margin: 0 0 8px;
}

.am-lede,
.am-prose {
  max-width: var(--measure);
  color: var(--ink);
}

.am-lede {
  font-size: 1.05rem;
  margin: 0 0 var(--space-lg);
}

.am-muted { color: var(--muted); }
.am-role {
  color: var(--muted);
  font-size: 1rem;
  margin: 0 0 var(--space-md);
}

/* Links / buttons */
.am-link {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.am-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin-top: var(--space-md);
}

.am-btn {
  display: inline-block;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 500;
  color: var(--accent);
  text-decoration: none;
  border: 1px solid var(--accent);
  background: transparent;
  padding: 10px 18px;
  border-radius: var(--radius);
  line-height: 1.2;
}

.am-btn:hover,
.am-btn:focus-visible {
  background: var(--accent);
  color: var(--bg);
}

.am-btn--text {
  border: 0;
  padding: 10px 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.am-btn--text:hover {
  background: transparent;
  color: var(--ink);
}

/* Sections */
.am-main { flex: 1; }
.am-section {
  padding-block: var(--space-xl);
}
.am-section--tight {
  padding-block: var(--space-lg);
}
.am-section + .am-section {
  border-top: 1px solid var(--line);
}
.am-hero {
  padding-top: clamp(48px, 10vh, 96px);
  padding-bottom: var(--space-xl);
}

.am-hero__grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--space-lg);
  align-items: end;
}

@media (max-width: 860px) {
  .am-hero__grid { grid-template-columns: 1fr; }
}

.am-figure {
  margin: 0;
}
.am-figure img {
  display: block;
  width: 100%;
  height: auto;
  background: var(--line);
}
.am-caption {
  margin-top: 8px;
  font-size: 13px;
  color: var(--muted);
}

/* Work grid: asymmetric 2-col, not three identical cards */
.am-work-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: var(--space-lg) var(--space-md);
}
.am-work-grid .am-work-item:first-child {
  grid-row: span 2;
}
@media (max-width: 760px) {
  .am-work-grid {
    grid-template-columns: 1fr;
  }
  .am-work-grid .am-work-item:first-child {
    grid-row: auto;
  }
}

.am-work-item a {
  color: inherit;
  text-decoration: none;
}
.am-work-item img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: var(--line);
}
.am-work-item__title {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 500;
}
.am-work-item__meta {
  font-size: 13px;
  color: var(--muted);
}

/* Press list */
.am-press-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 720px;
}
.am-press-list li {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
}
.am-press-list .am-year {
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.am-press-list a {
  color: var(--ink);
  text-decoration: none;
}
.am-press-list a:hover {
  color: var(--accent);
}

/* Handoff band */
.am-handoff {
  background: var(--surface);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding-block: var(--space-lg);
}
.am-handoff p {
  margin: 0 0 12px;
  max-width: var(--measure);
}

/* Contact */
.am-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
}
@media (max-width: 760px) {
  .am-contact-grid { grid-template-columns: 1fr; }
}
.am-contact-grid .wpcf7 input[type="text"],
.am-contact-grid .wpcf7 input[type="email"],
.am-contact-grid .wpcf7 textarea {
  width: 100%;
  font-family: var(--font);
  font-size: 15px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  padding: 10px 12px;
  border-radius: 0;
}
.am-contact-grid .wpcf7 input[type="submit"] {
  font-family: var(--font);
  font-size: 14px;
  color: var(--accent);
  background: transparent;
  border: 1px solid var(--accent);
  padding: 10px 18px;
  cursor: pointer;
  border-radius: 0;
}

/* Footer */
.am-footer {
  border-top: 1px solid var(--line);
  padding-block: var(--space-lg);
  margin-top: auto;
}
.am-footer__name {
  margin: 0 0 8px;
  font-weight: 600;
  font-size: 14px;
}
.am-footer__links {
  margin: 0;
  font-size: 13px;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  gap: 6px 4px;
  align-items: center;
}
.am-footer__links a {
  color: var(--muted);
  text-decoration: none;
}
.am-footer__links a:hover {
  color: var(--accent);
}
.am-sep { opacity: 0.5; padding-inline: 4px; }

/* Placeholder block (on-palette) */
.am-ph {
  aspect-ratio: 4 / 5;
  background: linear-gradient(160deg, #E8E4DC 0%, #D8D4CC 55%, #C9C4BA 100%);
  display: flex;
  align-items: flex-end;
  padding: 12px;
}
.am-ph span {
  font-size: 12px;
  color: var(--muted);
}

/* Admin bar safety */
html.admin-bar .am-header {
  top: 32px;
}
@media (max-width: 782px) {
  html.admin-bar .am-header { top: 46px; }
}
