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

html { 
  scroll-behavior: smooth; 
  font-size: 16px; 
}

body {
  font-family: var(--font-sans);
  background: var(--bg);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "ss01", "cv11";
  overflow-x: hidden;
}

::selection { 
  background: var(--clay); 
  color: var(--bg); 
}

img { 
  display: block; 
  max-width: 100%; 
  height: auto; 
}

a { 
  color: inherit; 
  text-decoration: none; 
}

button { 
  font-family: inherit; 
  cursor: pointer; 
}

ul, ol { 
  list-style: none; 
}
:root {
  /* Paleta arquitectónica warm */
  --bg:        oklch(0.985 0.006 80);   /* off-white cream */
  --ink:       oklch(0.16 0.012 60);    /* warm dark ink */
  --ink-soft:  oklch(0.45 0.012 60);
  --sand:      oklch(0.93 0.018 75);
  --clay:      oklch(0.55 0.115 45);    /* terracota accent */
  --border:    oklch(0.86 0.012 70);
  --footer-bg: #2b2725;

  /* Tipografia */
  --font-disp: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-sans: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Layout */
  --max:        1400px;
  --pad-x:      clamp(1.5rem, 4vw, 3rem);
  --pad-x-lg:   3rem;

  /* Radius mínimo como no Lovable */
  --radius: 2px;
}
.container {
  max-width: var(--max);
  margin: 0 auto;
  padding-left: var(--pad-x);
  padding-right: var(--pad-x);
}

.grid-12 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 3rem;
  align-items: center;
}
@media (max-width: 1023px) {
  .grid-12 { grid-template-columns: 1fr; gap: 2rem; }
}

.col-4  { grid-column: span 4; }
.col-5  { grid-column: span 5; }
.col-6  { grid-column: span 6; }
.col-7  { grid-column: span 7; }
.col-8  { grid-column: span 8; }
.col-start-7 { grid-column-start: 7; }
@media (max-width: 1023px) {
  [class*="col-"] { grid-column: unset; }
  .col-start-7    { grid-column-start: unset; }
}
