Theme Name: Speranza
Theme URI: https://sdesperanza.org/
Author: Speranza
Description: Tema editorial de una sola página para Speranza.
Version: 0.4.10
Text Domain: speranza
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Montserrat:wght@500;600&family=Nunito+Sans:wght@400;600;700&display=swap');

:root{--espresso:#3a2d28;--camel:#cbad8d;--taupe:#d1c7bd;--arena:#ebe3db;--white:#f8f8f8;--ink:#332723;--muted:#75685f;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Nunito Sans",Arial,sans-serif;--label:"Montserrat",Arial,sans-serif;--wrap:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}body.intro-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(var(--wrap),calc(100% - 48px));margin:auto}.eyebrow{margin:0 0 16px;color:#977653;font:600 11px/1.4 var(--label);letter-spacing:.22em;text-transform:uppercase}.display{margin:0;color:var(--espresso);font:600 clamp(42px,6.5vw,88px)/.96 var(--serif);letter-spacing:-.025em}.section-title{margin:0 0 22px;color:var(--espresso);font:600 clamp(38px,5vw,64px)/1 var(--serif)}.lede{max-width:650px;margin:0;color:#5f534b;font-size:clamp(18px,2vw,21px)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:1px solid var(--espresso);background:var(--espresso);color:var(--white);font:600 11px var(--label);letter-spacing:.14em;text-transform:uppercase;transition:.25s}.button:hover{background:var(--camel);border-color:var(--camel);color:var(--espresso)}

.site-header{position:sticky;z-index:60;top:0;background:rgba(248,248,248,.94);border-bottom:1px solid var(--taupe);backdrop-filter:blur(8px)}body.admin-bar .site-header{top:32px}.header-inner{height:104px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.brand{display:flex;flex-direction:column;align-items:center;line-height:1}.brand-name{font:600 25px var(--serif);letter-spacing:.24em}.brand-sub{margin-top:7px;color:var(--camel);font:600 8px var(--label);letter-spacing:.34em}.nav{display:flex;align-items:center;gap:24px}.nav.right{justify-content:flex-end}.nav a{font:500 12px var(--label);letter-spacing:.13em;text-transform:uppercase;transition:.2s}.nav a:hover{color:var(--camel)}.nav .nav-cta{padding:11px 16px;border:1px solid var(--espresso)}.nav .nav-cta:hover{background:var(--espresso);color:var(--arena)}.menu-toggle{display:none;border:0;background:none;color:var(--espresso);font-size:24px;cursor:pointer}

.hero{padding:70px 0 34px;background:var(--white)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}.hero-copy .display{max-width:15ch;font-size:clamp(44px,5.6vw,76px);line-height:1.08}.hero-copy .lede{margin:22px 0 30px;max-width:44ch;font-size:19px}.hero-art{position:relative;aspect-ratio:4/5;min-height:0;overflow:hidden;background:var(--arena);background-size:cover;background-position:center;border:1px dashed #c3b4a4;border-radius:0}.hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 68%,rgba(58,45,40,.12));border:0;border-radius:0}.hero-art.has-image:before{background:linear-gradient(180deg,transparent 62%,rgba(58,45,40,.5))}.hero-art:after{content:"Sonsoles Queipo de Llano · Fundadora";position:absolute;left:0;right:auto;bottom:26px;padding:10px 16px;background:var(--espresso);color:var(--arena);font:600 11px var(--label);letter-spacing:.16em;text-transform:uppercase}.hero-art.has-image:after{color:var(--arena);text-shadow:none}.hero-art.has-image .hero-mark{display:none}.hero-mark{position:absolute;top:50%;left:50%;width:70%;height:auto;transform:translate(-50%,-50%);border:0;text-align:center}.hero-mark:before{content:"IMAGEN · RETRATO DE SONSOLES\A Plano medio, luz natural, fondo arena. Presencia serena, mirada directa.";display:block;white-space:pre-line;color:var(--muted);font:600 11px/1.7 var(--label);letter-spacing:.08em;text-transform:uppercase;background:none}.hero-mark:after{display:none}.hero-note{display:inline-block;margin:0 0 0 18px;color:var(--muted);font:600 10px var(--label);letter-spacing:.14em;text-transform:uppercase}.brand-logo{display:block;width:auto;max-width:230px;max-height:72px}

.triad{border-top:1px solid var(--taupe);border-bottom:1px solid var(--taupe)}.triad-grid{display:grid;grid-template-columns:repeat(3,1fr)}.triad article{padding:42px;text-align:center;border-right:1px solid var(--taupe)}.triad article:last-child{border:0}.triad h2{margin:0;color:var(--espresso);font:600 38px var(--serif)}.triad p{margin:5px 0 0;color:var(--muted);font-size:14px}

.manifesto{padding:120px 0;background:var(--espresso);color:var(--white)}.manifesto-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.manifesto .eyebrow{color:var(--camel)}.manifesto blockquote{margin:0;font:500 clamp(38px,5.4vw,70px)/1.05 var(--serif)}.manifesto blockquote em{color:var(--camel)}

.services{padding:120px 0;background:var(--arena)}.services-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:60px}.keys{counter-reset:key;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #b9aa9c}.key{counter-increment:key;padding:34px 24px 30px 0;border-right:1px solid #b9aa9c}.key:last-child{border:0}.key:before{content:"0" counter(key);display:block;margin-bottom:32px;color:#9b7958;font:500 28px var(--serif)}.key h3{margin:0 0 12px;font:600 19px/1.15 var(--serif)}.key p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}

.sonsoles{padding:120px 0}.sonsoles-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.portrait{aspect-ratio:4/5;position:relative;overflow:hidden;background:linear-gradient(145deg,#d7c5b4,#f4ede5 50%,#9b816b)}.portrait:after{content:"Sonsoles Queipo de Llano";position:absolute;inset:auto 0 24px;padding:18px 24px;background:rgba(58,45,40,.9);color:var(--white);font:600 11px var(--label);letter-spacing:.15em;text-transform:uppercase}.sonsoles-copy p{max-width:610px;color:#5e534b}.roles{margin:28px 0;color:#8f6c49;font:600 11px/1.9 var(--label);letter-spacing:.1em;text-transform:uppercase}

.proof{padding:100px 0;background:var(--white);border-top:1px solid var(--taupe)}.proof-grid{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.quote{padding:30px;border:1px solid var(--taupe)}.quote p{margin:0 0 24px;font:500 21px/1.35 var(--serif)}.quote span{color:var(--muted);font:600 10px var(--label);letter-spacing:.12em;text-transform:uppercase}

.contact{padding:120px 0;background:var(--espresso);color:var(--white);text-align:center}.contact .section-title{color:var(--white);max-width:850px;margin:0 auto 22px}.contact .lede{color:#d9cdc2;margin:0 auto 36px}.contact .button{background:var(--camel);border-color:var(--camel);color:var(--espresso)}.contact .button:hover{background:var(--white);border-color:var(--white)}.site-footer{padding:42px 0;background:#2b211d;color:#bfae9f}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-links{display:flex;gap:18px;font-size:13px}

.intro{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:#2b211d;color:var(--white);perspective:1800px}.intro.hidden{pointer-events:none;visibility:hidden}.door{position:absolute;top:0;bottom:0;width:50.2%;background:linear-gradient(90deg,#241b18,#3a2d28 45%,#2b211d);box-shadow:inset 0 0 110px rgba(0,0,0,.45);transition:transform 1.5s cubic-bezier(.55,0,.12,1)}.door.left{left:0;transform-origin:left}.door.right{right:0;transform-origin:right}.intro.open .door.left{transform:rotateY(-104deg)}.intro.open .door.right{transform:rotateY(104deg)}.intro-seal{position:relative;z-index:2;text-align:center;transition:.5s}.intro.open .intro-seal{opacity:0;transform:scale(1.05)}.intro-name{display:block;font:600 clamp(30px,5vw,52px) var(--serif);letter-spacing:.28em}.intro-sub{display:block;margin-top:10px;color:var(--camel);font:600 9px var(--label);letter-spacing:.35em;text-transform:uppercase}.skip-intro{position:absolute;z-index:3;right:26px;bottom:22px;border:0;background:none;color:#d9cdc2;font:600 9px var(--label);letter-spacing:.15em;text-transform:uppercase;cursor:pointer}

@media(max-width:900px){.header-inner{grid-template-columns:1fr auto}.header-inner>.brand{grid-column:1;grid-row:1}.menu-toggle{display:block;grid-column:2;grid-row:1}.nav{display:none}.site-header.menu-open .header-inner{height:auto;min-height:82px;padding-top:20px;padding-bottom:20px}.site-header.menu-open .nav{display:flex;grid-column:1/-1;flex-direction:column;align-items:flex-start;gap:16px;padding:12px 0}.site-header.menu-open .nav.right{align-items:flex-start}.brand{align-items:flex-start}.hero-grid,.manifesto-grid,.sonsoles-grid{grid-template-columns:1fr}.hero-grid{gap:36px}.hero-art{aspect-ratio:16/11}.keys{grid-template-columns:1fr 1fr}.key{border-bottom:1px solid #b9aa9c}.proof-grid{grid-template-columns:1fr}.services-head{display:block}.services-head .lede{margin-top:20px}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:560px){.wrap{width:min(100% - 30px,var(--wrap))}.header-inner{height:78px}.brand-name{font-size:20px}.hero{padding:46px 0 24px}.hero-copy .display{font-size:clamp(42px,13vw,62px)}.hero-note{display:block;margin:18px 0 0}.hero-art{aspect-ratio:4/5}.triad-grid,.keys{grid-template-columns:1fr}.triad article,.key{border-right:0;border-bottom:1px solid var(--taupe)}.manifesto,.services,.sonsoles,.proof,.contact{padding:82px 0}.footer-inner{align-items:flex-start;flex-direction:column}.intro-name{letter-spacing:.18em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro{display:none!important}body.intro-open{overflow:auto}.door,.intro-seal{transition:none}}
.hero-copy .display em{font-style:normal;color:inherit}

/* Speranza — movimiento editorial. No altera la composición ni las medidas. */
.elementor-14 #inicio.sp-motion-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-image: none !important;
}
.elementor-14 #inicio.sp-motion-hero::before,
.elementor-14 #inicio.sp-motion-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  pointer-events: none;
}
.elementor-14 #inicio.sp-motion-hero::before {
  z-index: 0;
  background-image: var(--sp-motion-hero-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform-origin: 64% 52%;
  animation: sp-hero-breathe 26s ease-in-out infinite alternate;
  will-change: transform;
}
.elementor-14 #inicio.sp-motion-hero::after {
  z-index: 1;
  background-image: var(--sp-motion-hero-overlay);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.elementor-14 #inicio.sp-motion-hero > * {
  position: relative;
  z-index: 2;
}
@keyframes sp-hero-breathe {
  from { transform: scale(1); }
  to   { transform: scale(1.055); }
}
html.sp-motion-ready .elementor-14 .sp-reveal {
  opacity: 0;
  transition: opacity .9s ease;
  transition-delay: var(--sp-motion-delay, 0ms);
}
html.sp-motion-ready .elementor-14 .sp-reveal:not(.sp-reveal-image) {
  transform: translate3d(0, 18px, 0);
  transition:
    opacity .9s ease,
    transform 1.05s cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--sp-motion-delay, 0ms);
}
html.sp-motion-ready .elementor-14 .sp-reveal.sp-reveal-image {
  transition-duration: 1.1s;
}
html.sp-motion-ready .elementor-14 .sp-reveal.is-visible {
  opacity: 1;
}
html.sp-motion-ready .elementor-14 .sp-reveal:not(.sp-reveal-image).is-visible {
  transform: translate3d(0, 0, 0);
}
@media (max-width: 767px) {
  .elementor-14 #inicio.sp-motion-hero::before {
    animation-duration: 30s;
    transform-origin: 68% 50%;
  }
  html.sp-motion-ready .elementor-14 .sp-reveal:not(.sp-reveal-image) {
    transform: translate3d(0, 12px, 0);
    transition-duration: .75s, .85s;
  }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-14 #inicio.sp-motion-hero::before {
    animation: none !important;
    transform: none !important;
    will-change: auto;
  }
  html.sp-motion-ready .elementor-14 .sp-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* La fotografía de portada respira con un ritmo visible y delicado. */
.elementor-14 #inicio.sp-motion-hero::before { animation-duration: 10s; }
@keyframes sp-hero-breathe {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to { transform: translate3d(-1.2%, 0, 0) scale(1.06); }
}
@media (max-width: 767px) {
  .elementor-14 #inicio.sp-motion-hero::before { animation-duration: 11s; }
}

/* Solo el hero: los dos renglones editoriales se mantienen en todos los tamaños. */
.elementor-14 #inicio [data-interaction-id="871611d"] {
  font-size: clamp(36px, 4.5vw, 60px) !important;
  text-wrap: normal !important;
}
@media (max-width: 767px) {
  .elementor-14 #inicio [data-interaction-id="871611d"] {
    font-size: clamp(24px, 8vw, 40px) !important;
  }
  .elementor-14 #inicio [data-interaction-id="681f502"] {
    font-size: clamp(9px, 2.7vw, 12px) !important;
    letter-spacing: .13em !important;
  }
}

/* El concepto Acceso conserva el círculo original y muestra una llave lineal. */
.elementor-14 #icon-acceso {
  font-size: 0 !important;
  line-height: 32px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' fill='none' stroke='%23A9815B' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='9' r='4.5'/%3E%3Cpath d='M12.3 12.3 22 22m-2.8-2.8-2.3 2.3'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 25px 25px !important;
}

/* El título del sistema comparte la tipografía editorial de la tarjeta de Sonsoles. */
.elementor-14 [data-interaction-id="dfe038a"] {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 38px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
}
@media (max-width: 767px) {
  .elementor-14 [data-interaction-id="dfe038a"] {
    font-size: clamp(28px, 7vw, 38px) !important;
    line-height: 1.1 !important;
  }
}

/* Escalera Speranza: seis etapas con el estilo editorial de numeración. */
.elementor-14 [data-interaction-id="97c6d6d"] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  counter-reset: sp-escalera;
}
.elementor-14 [data-interaction-id="97c6d6d"] > p:not([data-interaction-id="22164bc"]) {
  counter-increment: sp-escalera;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 13px !important;
  min-height: 118px !important;
  margin: 0 !important;
  padding: 22px 20px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
  font: 600 16.8px/22.68px "Nunito Sans", Arial, sans-serif !important;
}
.elementor-14 [data-interaction-id="97c6d6d"] > p:not([data-interaction-id="22164bc"])::before {
  content: counter(sp-escalera, decimal-leading-zero);
  display: block;
  color: #a9815b;
  font: italic 500 26px/1 "Cormorant Garamond", Georgia, serif;
}
.elementor-14 [data-interaction-id="97c6d6d"] > p:nth-of-type(3n+1):not([data-interaction-id="22164bc"]),
.elementor-14 [data-interaction-id="97c6d6d"] > p:nth-of-type(3n+2):not([data-interaction-id="22164bc"]) {
  border-right: 1px solid rgba(169, 129, 91, .3) !important;
}
.elementor-14 [data-interaction-id="97c6d6d"] > p:nth-of-type(-n+3) {
  border-bottom: 1px solid rgba(169, 129, 91, .3) !important;
}
@media (max-width: 767px) {
  .elementor-14 [data-interaction-id="97c6d6d"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .elementor-14 [data-interaction-id="97c6d6d"] > p:not([data-interaction-id="22164bc"]) {
    min-height: 112px !important;
    padding: 18px 12px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
  }
  .elementor-14 [data-interaction-id="97c6d6d"] > p:not([data-interaction-id="22164bc"]) {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(169, 129, 91, .3) !important;
  }
  .elementor-14 [data-interaction-id="97c6d6d"] > p:nth-of-type(odd):not([data-interaction-id="22164bc"]) {
    border-right: 1px solid rgba(169, 129, 91, .3) !important;
  }
  .elementor-14 [data-interaction-id="97c6d6d"] > p:nth-of-type(n+5):not([data-interaction-id="22164bc"]) {
    border-bottom: 0 !important;
  }
}
@media (max-width: 340px) {
  .elementor-14 [data-interaction-id="97c6d6d"] {
    grid-template-columns: 1fr !important;
  }
  .elementor-14 [data-interaction-id="97c6d6d"] > p:not([data-interaction-id="22164bc"]) {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(169, 129, 91, .3) !important;
  }
  .elementor-14 [data-interaction-id="97c6d6d"] > p:nth-of-type(6) {
    border-bottom: 0 !important;
  }
}
