.hero h1 {
  font-size: clamp(4rem, 8vw, 7.3rem);
  line-height: .78;
  margin-bottom: -55px;
}

.hero h1 small {
  display: block;
  font: 400 clamp(2.5rem, 5vw, 5.2rem)/.7 Italiana, serif;
  letter-spacing: -.03em;
}

.hero h1 small em { font-size: 1.25em; }
.hero h1 > span { display: block; }
.hero-stage { min-height: 465px; }

@media (max-width: 760px) {
  .hero h1 {
    font-size: 12vw;
    line-height: .83;
    margin-top: 38px;
    margin-bottom: -12px;
  }

  .hero h1 small { font-size: 8vw; }
  .hero-stage { min-height: 430px; }
}

/* Paleta oficial María Paula
   Vino · azul nube · rosa empolvado · crema · terracota */
:root {
  --paper: #f4eadf;
  --wine: #4b091a;
  --dark: #260c14;
  --sand: #d9a7aa;
  --sky: #d9e8ef;
  --blush: #d7a1a7;
  --clay: #9a6048;
  --line: rgba(75, 9, 26, .24);
}

body { background: #d8a7ab; }
.page-shell { background: var(--paper); border-color: var(--wine); box-shadow: 0 30px 90px rgba(75, 9, 26, .22); }
.header { background: rgba(244, 234, 223, .94); }
.hero { background: var(--paper); }
.portrait-main { background: var(--blush); }
.portrait-art { background: linear-gradient(145deg, #dcaeb0, #f1d5ca); }
.portrait-art i { background: #a96e54; }
.portrait-art i:before { background: #4b221d; }
.portrait-art span { background: var(--sky); }
.editorial-photo { background: linear-gradient(115deg, rgba(75,9,26,.08), rgba(75,9,26,.5)), repeating-linear-gradient(110deg, #d9a7aa 0, #d9a7aa 80px, #9a6048 80px, #9a6048 85px); }
.values { background: var(--blush); }
.value-grid article { background: var(--wine); }
.value-grid article:nth-child(2), .value-grid article:nth-child(5) { background: var(--clay); }
.value-grid article:nth-child(3), .value-grid article:nth-child(6) { background: var(--sky); color: var(--wine); }
.socials a { background: var(--wine); }
.socials a:last-child { background: var(--sky); color: var(--wine); }
.why { background: var(--blush); }
.why-photo { background: linear-gradient(160deg, transparent, rgba(75,9,26,.45)), repeating-linear-gradient(70deg, #9a6048 0, #9a6048 60px, #d8a7ab 60px, #d8a7ab 64px); }
.contact { background: var(--wine); }

.lavender { background: var(--sky); }
.ochre { background: var(--clay); color: var(--paper); }
.rust { background: var(--blush); color: var(--wine); }
.acid { background: var(--wine); color: var(--paper); }
.visual-mom { background-image: linear-gradient(135deg, transparent, rgba(75,9,26,.72)), repeating-linear-gradient(45deg, #d9a7aa 0, #d9a7aa 40px, #9a6048 40px, #9a6048 44px); }
.visual-style { background-image: linear-gradient(145deg, transparent, rgba(75,9,26,.8)), repeating-linear-gradient(100deg, #9a6048 0, #9a6048 55px, #e5bac0 55px, #e5bac0 100px); }
.visual-create { background-image: linear-gradient(135deg, rgba(75,9,26,.05), rgba(75,9,26,.6)), repeating-linear-gradient(25deg, #d9e8ef 0, #d9e8ef 45px, #d9a7aa 45px, #d9a7aa 80px); }
.visual-life { background-image: linear-gradient(160deg, transparent, rgba(75,9,26,.72)), repeating-linear-gradient(70deg, #d9a7aa 0, #d9a7aa 35px, #9a6048 35px, #9a6048 70px); }
.pillar-modal { background: var(--paper); border-color: var(--wine); box-shadow: 0 25px 90px rgba(75,9,26,.38); }
.pillar-modal::backdrop { background: rgba(38,12,20,.72); }
.modal-content-grid article { background: var(--wine); }
.modal-content-grid article:nth-child(2) { background: var(--clay); }
.modal-content-grid article:nth-child(3) { background: var(--sky); color: var(--wine); }

.pillars { background: var(--paper); padding-bottom: 90px; }
.pillars-ticker { overflow: hidden; white-space: nowrap; padding: 9px 0; border-block: 1px solid var(--dark); font-size: .54rem; letter-spacing: .16em; }
.pillars-heading { display: grid; grid-template-columns: 70px 1.4fr .7fr; gap: 30px; align-items: end; padding: 75px 7% 45px; }
.pillars-heading .script-title { text-align: left; margin: 0; }
.pillars-heading h2 { margin: 0; color: var(--wine); font: 400 clamp(3rem, 5vw, 5.2rem)/.9 Italiana, serif; }
.pillars-heading > p { font-size: .72rem; line-height: 1.7; max-width: 270px; }
.pillar-grid { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 7%; }
.pillar-card { border: 0; border-radius: 0; min-height: 270px; padding: 24px; color: var(--dark); text-align: left; cursor: pointer; position: relative; overflow: hidden; transition: transform .25s, filter .25s; }
.pillar-card:hover { transform: translateY(-7px); filter: saturate(1.15); z-index: 2; }
.pillar-card:focus-visible { outline: 3px solid var(--wine); outline-offset: -5px; }
.text-card { display: flex; flex-direction: column; justify-content: space-between; }
.text-card small { font-size: .52rem; letter-spacing: .13em; }
.text-card strong { font: 400 1.65rem/1.04 Italiana, serif; }
.text-card strong em { font-style: italic; }
.text-card > span { font-size: .58rem; letter-spacing: .1em; }
.lavender { background: #d6d2e6; }.ochre { background: #a68d47; color: #fff; }.rust { background: #88452c; color: #fff; }.acid { background: #d4d438; }
.visual-card { display: flex; align-items: flex-end; color: #fff; background-color: #807468; background-size: cover; }
.visual-card:before { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 45%, rgba(20,15,12,.72)); }
.visual-card span { position: relative; font: 400 1.3rem/1.05 Italiana, serif; }
.visual-mom { background-image: linear-gradient(135deg,transparent,#745e50),repeating-linear-gradient(45deg,#bca795 0,#bca795 40px,#8d7768 40px,#8d7768 44px); }
.visual-style { background-image: linear-gradient(145deg,transparent,#352b27),repeating-linear-gradient(100deg,#936b55 0,#936b55 55px,#c3ab91 55px,#c3ab91 100px); }
.visual-create { background-image: linear-gradient(135deg,rgba(94,52,41,.1),rgba(40,30,25,.65)),repeating-linear-gradient(25deg,#a98265 0,#a98265 45px,#e0cdb5 45px,#e0cdb5 80px); }
.visual-life { background-image: linear-gradient(160deg,transparent,#4d4038),repeating-linear-gradient(70deg,#79836f 0,#79836f 35px,#bdad91 35px,#bdad91 70px); }

.pillar-modal { width: min(850px, calc(100% - 30px)); max-height: 88vh; border: 2px solid var(--dark); border-radius: 12px; padding: 45px; background: var(--paper); color: var(--dark); box-shadow: 0 25px 90px rgba(0,0,0,.35); }
.pillar-modal::backdrop { background: rgba(22,18,15,.7); backdrop-filter: blur(5px); }
.modal-close { position: absolute; right: 20px; top: 16px; border: 1px solid var(--dark); width: 34px; height: 34px; border-radius: 50%; background: transparent; font-size: 1.4rem; cursor: pointer; }
.modal-number { font-size: .55rem; letter-spacing: .15em; }
.pillar-modal .script-title { text-align: left; margin: 18px 0 -5px; }
.pillar-modal h2 { font: 400 clamp(2.4rem, 5vw, 4.4rem)/.9 Italiana, serif; color: var(--wine); margin: 0 0 20px; }
.modal-description { max-width: 580px; font-size: .78rem; line-height: 1.65; }
.modal-content-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 30px; }
.modal-content-grid article { min-height: 160px; padding: 18px; background: var(--wine); color: var(--paper); display: flex; flex-direction: column; }
.modal-content-grid article:nth-child(2) { background: #a37969; }.modal-content-grid article:nth-child(3) { background: #a68d47; }
.modal-content-grid article span,.modal-content-grid article small { font-size: .48rem; letter-spacing: .12em; }
.modal-content-grid article strong { margin: auto 0; font: 400 1.25rem/1.05 Italiana, serif; }
.modal-formats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.modal-formats span { border: 1px solid var(--dark); border-radius: 99px; padding: 7px 12px; font-size: .55rem; text-transform: uppercase; letter-spacing: .1em; }

@media (max-width: 760px) {
  .pillars { padding-bottom: 60px; }
  .pillars-heading { grid-template-columns: 35px 1fr; padding: 60px 6% 35px; }
  .pillars-heading > p { grid-column: 2; }
  .pillar-grid { grid-template-columns: 1fr 1fr; padding: 0 5%; }
  .pillar-card { min-height: 210px; padding: 17px; }
  .text-card strong { font-size: 1.15rem; }
  .pillar-modal { padding: 40px 20px 25px; }
  .modal-content-grid { grid-template-columns: 1fr; }
  .modal-content-grid article { min-height: 115px; }
}
