@font-face{font-family:DM Serif;src:url('fonts/DMSerifDisplay-Regular.ttf')}@font-face{font-family:DM Serif;src:url('fonts/DMSerifDisplay-Italic.ttf');font-style:italic}@font-face{font-family:Inter;src:url('fonts/Inter_24pt-Regular.ttf');font-weight:400}@font-face{font-family:Inter;src:url('fonts/Inter_18pt-SemiBold.ttf');font-weight:600}
:root{--ink:#28261f;--paper:#e2deda;--coral:#ff5757;--white:#f8f6f2;--line:rgba(40,38,31,.22);--serif:'DM Serif',Georgia,serif;--sans:Inter,Arial,sans-serif;--pad:clamp(1.25rem,4vw,4.5rem);--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:50;top:-5rem;left:1rem;background:var(--coral);padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{height:82px;position:absolute;z-index:10;top:0;left:0;width:100%;padding:13px var(--pad);display:flex;align-items:center;justify-content:space-between;color:var(--paper)}.brand,.footer-brand{display:block;background:#fff;line-height:0}.brand img{width:116px;height:54px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2.5rem);font-size:.78rem}.main-nav a{border-bottom:1px solid transparent;padding:.3rem 0}.main-nav a:hover,.main-nav a:focus-visible{border-color:currentColor}.main-nav .nav-contact{background:var(--coral);color:var(--ink);padding:.55rem .8rem;border-radius:99px;border:0}.menu-toggle{display:none}.hero{min-height:900px;position:relative;overflow:hidden;padding:175px var(--pad) 70px;color:var(--paper);background:var(--ink)}.hero-inner{position:relative;z-index:2;max-width:800px}.eyebrow,.section-label{margin:0;font-size:.75rem;line-height:1.3;letter-spacing:.04em;text-transform:uppercase}.hero h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.015em}.hero h1{font-size:clamp(3.7rem,8.4vw,8.9rem);line-height:.88;margin:.18em 0 .28em}.hero em,h2 em{font-weight:400}.hero-copy{max-width:385px;font-size:1.05rem}.text-link{display:inline-flex;margin-top:1.8rem;gap:.75rem;border-bottom:1px solid var(--paper);padding-bottom:.3rem}.text-link span{font-size:1.4rem;line-height:.7}.thoughts{position:absolute;z-index:1;right:3%;top:113px;width:min(51vw,740px);height:710px}.thought{position:absolute;width:clamp(180px,19vw,285px);aspect-ratio:1;border-radius:48% 52% 50% 50%/53% 45% 55% 47%;display:grid;place-items:center;text-align:center;padding:1.4rem;font-size:clamp(.75rem,1.1vw,1rem);line-height:1.25;box-shadow:0 8px 20px rgba(0,0,0,.06);animation:float 8s ease-in-out infinite}.thought span{display:block}.coral{background:var(--coral)}.pale{background:var(--paper)}.t1{left:2%;top:6%;transform:rotate(-9deg);animation-delay:-3s}.t1 span{transform:rotate(9deg)}.t2{right:1%;top:0;transform:rotate(10deg);animation-delay:-6s}.t2 span{transform:rotate(-10deg)}.t3{left:14%;top:42%;transform:rotate(8deg);animation-delay:-1s}.t3 span{transform:rotate(-8deg)}.t4{right:0;top:47%;transform:rotate(-8deg);animation-delay:-5s}.t4 span{transform:rotate(8deg)}@keyframes float{50%{translate:0 -12px}}
.section,.contact,.cases{padding:clamp(5rem,11vw,10rem) var(--pad)}.section-label{margin-bottom:clamp(3rem,7vw,7rem)}.intro{background:var(--paper)}.dark{color:#5a554b;margin-bottom:1rem}.intro-grid,.who-grid,.price-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,9vw,12rem);max-width:var(--max);margin:auto}.section h2{font-size:clamp(3rem,6vw,6.8rem);line-height:.92;margin:0}.prose{font-size:clamp(1rem,1.5vw,1.25rem)}.prose p:first-child{margin-top:0}.method{border-top:1px solid var(--line);margin:clamp(5rem,11vw,10rem) auto 0;padding-top:1.2rem;display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,9vw,12rem);max-width:var(--max)}.method-title{font-family:var(--serif);font-size:clamp(2rem,4vw,4.5rem);line-height:.9;margin:0}.method p{margin-top:0}.big-note{font-family:var(--serif);font-size:clamp(2.8rem,6vw,6.2rem);line-height:.9;max-width:950px;margin:clamp(7rem,15vw,13rem) auto 0;text-align:center}.result{color:var(--paper);background:var(--ink);overflow:hidden}.result h2{max-width:1000px}.formats{min-height:390px;position:relative;margin:4rem auto 1rem;max-width:1350px}.formats span{font-family:var(--serif);position:absolute;line-height:.85;letter-spacing:-.04em}.formats span:nth-child(1){font-size:clamp(4rem,11vw,11rem);left:2%;top:0;color:var(--coral)}.formats span:nth-child(2){font-size:clamp(2.5rem,6vw,6.5rem);right:10%;top:9%;font-style:italic}.formats span:nth-child(3){font-size:clamp(2.1rem,5vw,5rem);left:27%;top:38%;color:var(--coral)}.formats span:nth-child(4){font-size:clamp(4rem,9vw,9rem);right:1%;top:45%}.formats span:nth-child(5){font-family:var(--sans);font-size:clamp(1.2rem,2.8vw,2.8rem);left:6%;bottom:2%;text-transform:uppercase}.formats span:nth-child(6){font-size:clamp(1.5rem,3vw,3.3rem);right:29%;bottom:0;line-height:.9}.formats span:nth-child(7){font-size:clamp(1.4rem,2.7vw,3rem);left:45%;top:8%;transform:rotate(-11deg)}.result-copy{max-width:390px;margin:0 7% 0 auto;font-size:1.15rem}.cases{background:var(--paper)}.cases-top{max-width:var(--max);margin:auto}.cases-top h2{max-width:1000px}.case{position:relative;max-width:var(--max);margin:clamp(6rem,12vw,12rem) auto 0;display:grid;grid-template-columns:70px minmax(300px,.72fr) 1.28fr;gap:clamp(1.5rem,4vw,5rem);border-top:1px solid var(--line);padding-top:1.2rem}.case-number{font-family:var(--serif);font-size:1.8rem}.case-name{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin:0 0 2.2rem}.case h3{font-size:clamp(2rem,3.2vw,3.7rem);line-height:.95;margin:0 0 2.5rem}.case-copy{font-size:.92rem}.case-close{font-family:var(--serif);font-size:1.45rem;line-height:1.05;margin-top:2.5rem}.case-visual{min-height:510px;position:relative;overflow:hidden}.browser{background:#d2ccc6;width:75%;height:70%;position:absolute;top:3%;left:5%;padding:14px;border:1px solid var(--ink)}.browser span{display:inline-block;width:7px;height:7px;border-radius:99px;background:var(--ink);margin-right:3px}.browser b{font-family:var(--serif);font-size:clamp(2.3rem,5vw,5rem);line-height:.8;display:block;margin:20% 8%}.browser i{font-size:.6rem;position:absolute;bottom:1rem;left:1rem}.image-placeholder{background:var(--coral);display:grid;place-items:center;font-size:.63rem;letter-spacing:.1em}.photo-one{width:38%;height:46%;right:1%;top:17%;position:absolute}.photo-two{width:35%;height:42%;right:21%;bottom:0;position:absolute;background:#887d70}.sophia-visual{background:#d9cec2}.logo-placeholder{font-family:var(--serif);font-size:clamp(3rem,6vw,7rem);line-height:.65;position:absolute;left:5%;top:14%;color:#865758}.logo-placeholder em{font-size:.7em}.pdf-placeholder{background:#fff8ef;position:absolute;width:38%;height:62%;right:8%;top:3%;padding:1rem;font-family:var(--serif);font-size:1.6rem}.pdf-placeholder small{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.08em;position:absolute;bottom:1rem}.web-placeholder{background:#865758;color:#fff8ef;position:absolute;width:55%;height:43%;bottom:0;left:19%;padding:1rem;font-size:.7rem;letter-spacing:.1em}.web-placeholder span{font-family:var(--serif);font-size:5rem;display:block;margin:2rem}.lab-visual{background:#373a34;color:#efe9dd}.lab-object{position:absolute;width:44%;aspect-ratio:1;display:grid;place-items:center;left:7%;top:7%;background:#ff5757;border-radius:47% 53% 58% 42%/44% 41% 59% 56%;font-family:var(--serif);font-size:8rem;transform:rotate(-9deg)}.lab-book{position:absolute;width:43%;height:65%;right:6%;top:9%;padding:1.1rem;background:#e8e0d4;color:#28261f;font-family:var(--serif);font-size:clamp(1.6rem,4vw,4rem);line-height:.82}.lab-book small{font-family:var(--sans);font-size:.52rem;letter-spacing:.08em;line-height:1.2;position:absolute;bottom:1rem}.lab-disc{position:absolute;bottom:-5%;left:28%;width:38%;aspect-ratio:1;border-radius:50%;background:#b6b2a8;color:#28261f;display:grid;place-content:center;text-align:center;font-family:var(--serif);font-size:1.2rem;line-height:.8}.own-tag{display:inline-block;color:var(--paper);background:var(--ink);padding:.22rem .4rem;margin-left:.4rem;font-size:.61rem}.who{color:var(--paper);background:var(--ink)}.who-close{max-width:800px;margin:clamp(7rem,14vw,12rem) auto 0;font-family:var(--serif);font-size:clamp(1.9rem,3.7vw,4rem);line-height:1}.who-close strong{display:block;color:var(--coral);font-weight:400;margin-top:2rem}.price{background:var(--coral)}.price-close{font-family:var(--serif);font-size:clamp(2.8rem,6vw,6rem);line-height:.9;max-width:1000px;margin:clamp(6rem,14vw,12rem) auto 0}.contact{color:var(--paper);background:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,10vw,13rem)}.contact .section-label{margin-bottom:4rem}.contact h2{margin:.25em 0}.contact-intro>p:not(.eyebrow):not(.contact-close){max-width:480px;font-size:1.08rem}.contact-close{font-family:var(--serif);font-size:1.7rem;line-height:1.05;margin-top:3rem}.contact-form{align-self:end;padding-top:4rem}.field{border-bottom:1px solid rgba(226,222,218,.45);margin-bottom:1.8rem}.field label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem}.field input,.field textarea{font:inherit;font-size:1.1rem;color:var(--paper);background:none;border:0;outline:0;width:100%;resize:vertical;padding:0 0 .7rem}.field:focus-within{border-color:var(--coral)}.form-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem}.file-label{font-size:.75rem;cursor:pointer}.file-label span{opacity:.65}.file-label input{display:block;margin-top:.5rem;max-width:230px}.button{border:0;background:var(--coral);padding:.8rem 1rem;font:inherit;color:var(--ink);cursor:pointer}.button span{font-size:1.3rem}.form-status{min-height:1.5em;font-size:.8rem;margin-top:1rem}.form-status[data-state=error]{color:#ff9898}.form-status[data-state=success]{color:#bce7b2}.site-footer{background:var(--paper);padding:2rem var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:2rem;font-size:.82rem}.footer-brand img{width:125px;height:60px;object-fit:contain}.site-footer>div:not(.legal){display:flex;gap:2rem;justify-content:flex-end}.site-footer a:hover{text-decoration:underline}.legal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1rem;display:flex;justify-content:space-between;color:#5a554b;font-size:.7rem}
@media(max-width:850px){.site-header{height:70px}.brand img{width:98px;height:45px}.menu-toggle{z-index:11;display:grid;gap:4px;border:0;background:var(--paper);padding:10px;cursor:pointer}.menu-toggle>span:not(.sr-only){width:21px;height:1px;background:var(--ink);display:block}.main-nav{display:none}.main-nav.is-open{position:fixed;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:var(--paper);color:var(--ink);padding:var(--pad);font-family:var(--serif);font-size:clamp(2.2rem,8vw,4rem);line-height:1.1}.main-nav .nav-contact{font-family:var(--sans);font-size:1rem;margin-top:1rem}.hero{min-height:700px;padding-top:140px}.thoughts{opacity:.65;right:-12%;top:90px;width:70vw}.thought{width:190px}.t3{display:none}.intro-grid,.who-grid,.price-grid,.method,.contact{grid-template-columns:1fr;gap:2rem}.method{margin-top:5rem}.method-title{margin-bottom:1rem}.formats{min-height:310px}.case{grid-template-columns:35px 1fr;gap:1.2rem}.case-visual{grid-column:2;min-height:450px}.contact-form{padding-top:0}.contact .section-label{margin-bottom:2.5rem}}
@media(max-width:570px){.hero{min-height:680px;padding-top:125px}.hero h1{font-size:clamp(3.5rem,15vw,5.5rem)}.hero-copy{font-size:.95rem}.thoughts{display:none}.section,.contact,.cases{padding-top:5rem;padding-bottom:5rem}.section-label{margin-bottom:2.8rem}.section h2{font-size:clamp(2.7rem,12vw,4.5rem)}.big-note{margin-top:6rem}.formats{margin-top:3rem;min-height:310px}.formats span:nth-child(1){left:0}.formats span:nth-child(2){right:0;top:16%}.formats span:nth-child(3){left:3%;top:37%}.formats span:nth-child(4){right:0;top:53%}.formats span:nth-child(5){left:0;bottom:0}.formats span:nth-child(6){right:0;bottom:-2%;font-size:1.35rem}.formats span:nth-child(7){left:37%;top:7%;font-size:1.25rem}.result-copy{margin:0;font-size:1rem}.case{margin-top:5rem;grid-template-columns:25px 1fr;gap:.8rem}.case h3{font-size:2.2rem}.case-visual{min-height:320px}.case-copy{font-size:.88rem}.browser{height:73%}.logo-placeholder{font-size:3rem}.pdf-placeholder{height:58%}.lab-object{font-size:5.5rem}.contact h2{font-size:3rem}.form-bottom{align-items:flex-start;flex-direction:column}.site-footer{grid-template-columns:1fr}.site-footer>div:not(.legal){justify-content:flex-start}.legal{display:grid;gap:.5rem}.footer-brand img{width:110px;height:52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.thought{animation:none}}
.hero .pale{color:#28261F}
.cases .case:first-of-type{border-top:0}
.case-beatriz .case-copy a{border-bottom:1px solid currentColor}
.case-links{display:flex;gap:1rem;margin-top:1.5rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.case-links a{border-bottom:1px solid currentColor;padding-bottom:.18rem}

.beatriz-vertical-gallery{display:block;overflow:visible;min-height:0;outline:none}
.vertical-gallery-label{margin:0 0 .65rem;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}
.vertical-gallery-stage{width:100%;display:flex;align-items:center;justify-content:center;gap:.8rem;overflow:visible}
.vertical-gallery-image{display:block;width:auto;height:auto;max-width:calc(100% - 3.5rem);max-height:min(72vh,760px);object-fit:contain;transition:opacity .18s ease,transform .18s ease}
.vertical-gallery-image.is-changing{opacity:.45;transform:translateY(.45rem)}
.vertical-gallery-controls{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;flex:0 0 auto}
.vertical-gallery-prev,.vertical-gallery-next{width:2rem;height:2rem;border:0;border-bottom:1px solid var(--ink);padding:0;background:transparent;color:var(--ink);font:inherit;font-size:1.05rem;line-height:1;cursor:pointer}
.vertical-gallery-prev:hover,.vertical-gallery-prev:focus-visible,.vertical-gallery-next:hover,.vertical-gallery-next:focus-visible{color:var(--coral);border-color:var(--coral)}
.vertical-gallery-counter{font-size:.68rem;letter-spacing:.05em;white-space:nowrap}
.mobile-arrow{display:none}

@media(max-width:850px){
  .vertical-gallery-stage{flex-direction:column;align-items:stretch;gap:.55rem}
  .vertical-gallery-image{width:100%;max-width:100%;max-height:68vh;margin:auto;object-fit:contain}
  .vertical-gallery-controls{flex-direction:row;justify-content:flex-end;gap:.7rem}
  .vertical-gallery-prev,.vertical-gallery-next{width:2.4rem;height:2.4rem}
  .desktop-arrow{display:none}
  .mobile-arrow{display:inline}
}

@media(max-width:570px){
  .vertical-gallery-label{margin-bottom:.5rem}
  .vertical-gallery-image{max-height:64vh}
}

/* Beatriz case: horizontal title + calmer two-column reading */
.case-beatriz{grid-template-columns:70px minmax(300px,.68fr) 1.32fr;column-gap:clamp(2.5rem,5.5vw,6.5rem);row-gap:1.5rem;align-items:start}
.case-beatriz .case-number{grid-column:1;grid-row:1}
.case-beatriz .case-heading{grid-column:2 / 4;grid-row:1;margin-bottom:1.5rem}
.case-beatriz .case-name{margin:0 0 1.35rem}
.case-beatriz .case-heading h3{max-width:1200px;margin:0;font-size:clamp(2.7rem,4.7vw,5.6rem);line-height:1;letter-spacing:-.015em}
.case-beatriz .case-info{grid-column:2;grid-row:2;max-width:470px}
.case-beatriz .case-visual{grid-column:3;grid-row:2;min-height:0}
.case-beatriz .vertical-gallery-label{margin:0 0 .65rem}

@media(max-width:850px){
  .case-beatriz{grid-template-columns:35px 1fr;gap:1.2rem}
  .case-beatriz .case-number{grid-column:1;grid-row:1}
  .case-beatriz .case-heading{grid-column:2;grid-row:1;margin-bottom:1.5rem}
  .case-beatriz .case-heading h3{font-size:clamp(2.5rem,8vw,4.4rem)}
  .case-beatriz .case-info{grid-column:2;grid-row:2;max-width:none}
  .case-beatriz .case-visual{grid-column:2;grid-row:3;margin-top:1.5rem}
}

@media(max-width:570px){
  .case-beatriz{grid-template-columns:25px 1fr;gap:.8rem}
  .case-beatriz .case-heading h3{font-size:2.65rem;line-height:.96}
}

/* Fix gallery structure after aligning label with image */
.beatriz-vertical-gallery{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:.8rem;
  align-items:center;
  overflow:visible;
  min-height:0;
  outline:none;
}
.vertical-gallery-media{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.vertical-gallery-media .vertical-gallery-label{
  width:100%;
  margin:0 0 .65rem;
}
.vertical-gallery-media .vertical-gallery-image{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:min(72vh,760px);
  object-fit:contain;
}
.vertical-gallery-controls{
  align-self:center;
}

@media(max-width:850px){
  .beatriz-vertical-gallery{
    display:block;
  }
  .vertical-gallery-media{
    width:100%;
  }
  .vertical-gallery-media .vertical-gallery-image{
    width:100%;
    max-width:100%;
    max-height:68vh;
  }
  .vertical-gallery-controls{
    margin-top:.55rem;
  }
}

@media(max-width:570px){
  .vertical-gallery-media .vertical-gallery-image{
    max-height:64vh;
  }
}

/* CASOS: jerarquía limpia. La numeración pertenece a la sección y a las galerías, no a cada caso. */
.cases-top .section-label{
  margin-bottom:0;
}

.cases .case{
  grid-template-columns:minmax(300px,.72fr) 1.28fr;
}

.cases .case:first-of-type{
  margin-top:clamp(1.5rem,2.5vw,2.75rem);
}

/* Beatriz: titular a todo el ancho, contenido + galería debajo */
.case-beatriz{
  grid-template-columns:minmax(300px,.68fr) 1.32fr;
  column-gap:clamp(2.5rem,5.5vw,6.5rem);
  row-gap:1.5rem;
  align-items:start;
}

.case-beatriz .case-heading{
  grid-column:1 / 3;
  grid-row:1;
  margin-bottom:1.5rem;
}

.case-beatriz .case-info{
  grid-column:1;
  grid-row:2;
  max-width:470px;
}

.case-beatriz .case-visual{
  grid-column:2;
  grid-row:2;
  min-height:0;
}

/* Los casos siguientes mantienen dos columnas limpias */
.case-sophia .case-info,
.case-53 .case-info{
  grid-column:1;
}

.case-sophia .case-visual,
.case-53 .case-visual{
  grid-column:2;
}

@media(max-width:850px){
  .cases .case,
  .case-beatriz{
    grid-template-columns:1fr;
    gap:1.2rem;
  }

  .case-beatriz .case-heading{
    grid-column:1;
    grid-row:1;
    margin-bottom:1.5rem;
  }

  .case-beatriz .case-info{
    grid-column:1;
    grid-row:2;
    max-width:none;
  }

  .case-beatriz .case-visual{
    grid-column:1;
    grid-row:3;
    margin-top:1.5rem;
  }

  .case-sophia .case-info,
  .case-sophia .case-visual,
  .case-53 .case-info,
  .case-53 .case-visual{
    grid-column:1;
  }

  .case-visual{
    grid-column:1;
  }
}

@media(max-width:570px){
  .cases .case,
  .case-beatriz{
    grid-template-columns:1fr;
    gap:.8rem;
  }
}



/* Sophia Perenne: mismo sistema editorial que Beatriz */
.case-sophia{
  grid-template-columns:minmax(300px,.68fr) 1.32fr;
  column-gap:clamp(2.5rem,5.5vw,6.5rem);
  row-gap:1.5rem;
  align-items:start;
}
.case-sophia .case-heading{
  grid-column:1 / 3;
  grid-row:1;
  margin-bottom:1.5rem;
}
.case-sophia .case-name{
  margin:0 0 1.35rem;
}
.case-sophia .case-heading h3{
  max-width:1200px;
  margin:0;
  font-size:clamp(2.7rem,4.7vw,5.6rem);
  line-height:1;
  letter-spacing:-.015em;
}
.case-sophia .case-info{
  grid-column:1;
  grid-row:2;
  max-width:470px;
}
.case-sophia .case-visual{
  grid-column:2;
  grid-row:2;
  min-height:0;
}
.sophia-vertical-gallery{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:.8rem;
  align-items:center;
  overflow:visible;
  min-height:0;
  outline:none;
  background:transparent;
}
.sophia-vertical-gallery .vertical-gallery-media{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.sophia-vertical-gallery .vertical-gallery-media .vertical-gallery-label{
  width:100%;
  margin:0 0 .65rem;
}
.sophia-vertical-gallery .vertical-gallery-media .vertical-gallery-image{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:min(72vh,760px);
  object-fit:contain;
}
@media(max-width:850px){
  .case-sophia{
    grid-template-columns:1fr;
    gap:1.2rem;
  }
  .case-sophia .case-heading{
    grid-column:1;
    grid-row:1;
    margin-bottom:1.5rem;
  }
  .case-sophia .case-heading h3{
    font-size:clamp(2.5rem,8vw,4.4rem);
  }
  .case-sophia .case-info{
    grid-column:1;
    grid-row:2;
    max-width:none;
  }
  .case-sophia .case-visual{
    grid-column:1;
    grid-row:3;
    margin-top:1.5rem;
  }
  .sophia-vertical-gallery{
    display:block;
  }
  .sophia-vertical-gallery .vertical-gallery-media{
    width:100%;
  }
  .sophia-vertical-gallery .vertical-gallery-media .vertical-gallery-image{
    width:100%;
    max-width:100%;
    max-height:68vh;
  }
}
@media(max-width:570px){
  .case-sophia{
    grid-template-columns:1fr;
    gap:.8rem;
  }
  .case-sophia .case-heading h3{
    font-size:2.65rem;
    line-height:.96;
  }
  .sophia-vertical-gallery .vertical-gallery-media .vertical-gallery-image{
    max-height:64vh;
  }
}

/* Ajuste Sophia: más aire tras la línea divisoria */
.case-sophia{padding-top:2.5rem}

/* 53 Design Lab: mismo sistema editorial que Beatriz y Sophia */
.case-53{grid-template-columns:minmax(300px,.68fr) 1.32fr;column-gap:clamp(2.5rem,5.5vw,6.5rem);row-gap:1.5rem;align-items:start;padding-top:2.5rem}
.case-53 .case-heading{grid-column:1 / 3;grid-row:1;margin-bottom:1.5rem}
.case-53 .case-name{margin:0 0 1.35rem}
.case-53 .case-heading h3{max-width:1200px;margin:0;font-size:clamp(2.7rem,4.7vw,5.6rem);line-height:1;letter-spacing:-.015em}
.case-53 .case-info{grid-column:1;grid-row:2;max-width:470px}
.case-53 .case-visual{grid-column:2;grid-row:2;min-height:0}
.lab-vertical-gallery{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.8rem;align-items:center;overflow:visible;min-height:0;outline:none;background:transparent}
.lab-vertical-gallery .vertical-gallery-media{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.lab-vertical-gallery .vertical-gallery-media .vertical-gallery-label{width:100%;margin:0 0 .65rem}
.lab-vertical-gallery .vertical-gallery-media .vertical-gallery-image{display:block;width:auto;height:auto;max-width:100%;max-height:min(72vh,760px);object-fit:contain}
@media(max-width:850px){.case-53{grid-template-columns:1fr;gap:1.2rem}.case-53 .case-heading{grid-column:1;grid-row:1;margin-bottom:1.5rem}.case-53 .case-heading h3{font-size:clamp(2.5rem,8vw,4.4rem)}.case-53 .case-info{grid-column:1;grid-row:2;max-width:none}.case-53 .case-visual{grid-column:1;grid-row:3;margin-top:1.5rem}.lab-vertical-gallery{display:block}.lab-vertical-gallery .vertical-gallery-media{width:100%}.lab-vertical-gallery .vertical-gallery-media .vertical-gallery-image{width:100%;max-width:100%;max-height:68vh}}
@media(max-width:570px){.case-53{grid-template-columns:1fr;gap:.8rem}.case-53 .case-heading h3{font-size:2.65rem;line-height:.96}.lab-vertical-gallery .vertical-gallery-media .vertical-gallery-image{max-height:64vh}}

/* Protección de datos en formulario */
.privacy-note{
  margin:1.4rem 0 1rem;
  padding-top:1rem;
  border-top:1px solid rgba(226,222,218,.28);
  font-size:.72rem;
  line-height:1.45;
  color:rgba(226,222,218,.82);
}
.privacy-note p{margin:.3rem 0}
.privacy-note p:first-child{margin-top:0;color:var(--paper)}
.privacy-note a,.privacy-check a{border-bottom:1px solid currentColor}
.privacy-check{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  margin:0 0 1.5rem;
  font-size:.75rem;
  line-height:1.4;
  cursor:pointer;
}
.privacy-check input{
  margin:.18rem 0 0;
  flex:0 0 auto;
  accent-color:var(--coral);
}
.legal-links{display:flex;gap:1.2rem}

/* Páginas legales */
.legal-page{
  min-height:100vh;
  background:var(--paper);
  color:var(--ink);
}
.legal-header{
  position:relative;
  height:auto;
  min-height:82px;
  background:var(--ink);
}
.legal-main{
  max-width:980px;
  margin:0 auto;
  padding:clamp(7rem,12vw,11rem) var(--pad) clamp(6rem,10vw,9rem);
}
.legal-kicker{
  margin:0 0 1.25rem;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.legal-main h1{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(3.2rem,7vw,7rem);
  line-height:.92;
  letter-spacing:-.015em;
  margin:0 0 clamp(3rem,7vw,6rem);
}
.legal-content{
  max-width:760px;
}
.legal-content h2{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(1.8rem,3vw,2.7rem);
  line-height:1;
  letter-spacing:-.01em;
  margin:3.2rem 0 1rem;
}
.legal-content h2:first-child{margin-top:0}
.legal-content p,.legal-content li{
  font-size:1rem;
  line-height:1.65;
}
.legal-content ul{padding-left:1.15rem}
.legal-content a{border-bottom:1px solid currentColor}
.legal-updated{
  margin-top:4rem;
  padding-top:1rem;
  border-top:1px solid var(--line);
  font-size:.78rem;
  color:#5a554b;
}
.legal-page .site-footer{
  border-top:1px solid var(--line);
}
.legal-page .footer-brand{background:#fff}

@media(max-width:570px){
  .legal-links{display:grid;gap:.4rem}
  .legal-main{padding-top:6rem}
}



/* Ajuste final: privacidad y footer */
.privacy-note{
  margin:1.15rem 0 .7rem;
  padding-top:.9rem;
  border-top:1px solid rgba(226,222,218,.28);
  font-size:.72rem;
  line-height:1.45;
  color:rgba(226,222,218,.78);
}
.privacy-note p{margin:0}
.privacy-note strong{color:var(--paper);font-weight:600}
.privacy-note a{
  color:var(--paper);
  border-bottom:1px solid currentColor;
}
.privacy-check{
  display:flex;
  align-items:flex-start;
  gap:.6rem;
  margin:0 0 1.4rem;
  font-size:.72rem;
  line-height:1.35;
  cursor:pointer;
}
.privacy-check input{
  margin:.15rem 0 0;
  flex:0 0 auto;
  accent-color:var(--coral);
}
.footer-top-links{
  display:flex !important;
  justify-content:flex-end !important;
}
.legal-links{
  display:flex;
  align-items:center;
  gap:.7rem;
  flex-wrap:wrap;
}
.legal-links a{
  border-bottom:1px solid transparent;
  padding-bottom:.1rem;
}
.legal-links a:hover,
.legal-links a:focus-visible{
  border-color:currentColor;
}
@media(max-width:570px){
  .footer-top-links{
    justify-content:flex-start !important;
  }
  .legal-links{
    gap:.5rem;
  }
}


/* Ajuste final formulario: una sola línea y más aire antes del botón */
.privacy-note{
  border-top:0;
  padding-top:0;
  margin-top:1.35rem;
}
.privacy-check{
  margin-bottom:2.2rem;
}


/* Logos finales */
.brand{
  background:transparent;
}
.footer-brand{
  background:transparent;
}
.brand img,
.footer-brand img{
  object-fit:contain;
}


/* Ritmo visual: más aire entre una línea divisoria y el contenido que abre */
.method{
  padding-top:28px;
}

.cases .case:not(:first-of-type){
  padding-top:28px;
}

@media(max-width:570px){
  .method{
    padding-top:22px;
  }

  .cases .case:not(:first-of-type){
    padding-top:22px;
  }
}


.formats span:nth-child(7){
    left:auto;
    right:0;
    top:auto;
    bottom:-5%;
    font-size:.95rem;
  }
}


}


/* CONTACTO: más peso al cierre y email como vía alternativa */
#contacto h2{
  font-size:clamp(3.8rem,6.4vw,7rem);
  line-height:.94;
  max-width:8ch;
  margin:0;
}

#contacto .contact-email{
  margin-top:1.5rem;
  font-size:clamp(1rem,1.2vw,1.15rem);
  line-height:1.4;
}

#contacto .contact-email a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:.18em;
}

@media(max-width:570px){
  #contacto h2{
    font-size:clamp(2.7rem,13vw,4.2rem);
    max-width:9ch;
  }

  #contacto .contact-email{
    margin-top:1rem;
  }
}


/* CONTACTO: tamaño final del titular */
#contacto .contact-intro #contacto-title{
  font-size:clamp(4.4rem,7.2vw,8rem) !important;
  line-height:.92 !important;
  max-width:8ch;
  margin:0 !important;
}

@media(max-width:570px){
  #contacto .contact-intro #contacto-title{
    font-size:clamp(3rem,14vw,4.8rem) !important;
    max-width:9ch;
  }
}


/* CONTACTO: botón */
#contacto .contact-form button span{
  font-size:1.05em;
}


/* HERO: ajustes responsive para tablet y móvil */
@media (max-width: 900px) {
  .thoughts,
  .thought {
    display: none !important;
  }

  .hero {
    min-height: auto;
    height: auto;
    padding-bottom: 5rem;
  }
}

@media (max-width: 570px) {
  .hero {
    min-height: auto;
    height: auto;
    padding-bottom: 4rem;
  }
}


/* HERO: más aire entre líneas del titular en tablet */
@media (min-width: 571px) and (max-width: 900px) {
  .hero h1 {
    line-height: .92;
  }
}


/* HERO: corrección efectiva del interlineado en tablet */
@media (min-width: 571px) and (max-width: 900px) {
  #hero-title {
    line-height: 1.02 !important;
  }
}


/* LEGAL: navegación y logos correctos en tablet y móvil */
.legal-page .legal-header .brand,
.legal-page .legal-header .footer-brand,
.legal-page .site-footer .footer-brand{
  background:transparent;
}

.legal-page .legal-header .brand img,
.legal-page .site-footer .footer-brand img{
  display:block;
}

@media (max-width: 900px){
  .legal-page .legal-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  .legal-page .legal-header .main-nav{
    display:flex !important;
    position:static;
    width:auto;
    height:auto;
    padding:0;
    background:transparent;
    color:var(--paper);
    transform:none;
    opacity:1;
    visibility:visible;
  }

  .legal-page .legal-header .main-nav a{
    display:inline-block;
    font-size:.82rem;
    white-space:nowrap;
  }

  .legal-page .legal-header .brand img{
    width:108px;
    height:auto;
  }
}

@media (max-width: 570px){
  .legal-page .legal-header{
    height:82px;
    padding:14px 1.25rem;
  }

  .legal-page .legal-header .brand img{
    width:100px;
  }

  .legal-page .legal-header .main-nav a{
    font-size:.76rem;
  }
}


/* WEB3FORMS: honeypot antispam oculto */
.form-botcheck{
  display:none !important;
}


/* MOBILE: mejorar legibilidad de textos pequeños */
@media (max-width: 570px) {
  /* Etiquetas de sección: 01 / LA FORMA, 06 / CONTACTO, etc. */
  .section-label,
  .eyebrow,
  .case-name,
  .vertical-gallery-label,
  .field label {
    font-size: .875rem;
    line-height: 1.35;
  }

  /* Texto secundario y enlaces pequeños */
  .main-nav,
  .case-links,
  .legal-links,
  .footer-top-links,
  .contact-email,
  .privacy-note,
  .privacy-check,
  .form-status,
  .legal-updated {
    font-size: .875rem;
    line-height: 1.45;
  }

  /* Cuerpo de texto: asegurar un mínimo cómodo */
  .prose,
  .case-copy,
  .who-grid,
  .price-grid,
  .legal-content,
  .contact-form input,
  .contact-form textarea {
    font-size: 1rem;
    line-height: 1.5;
  }

  /* Controles de galería y contador */
  .vertical-gallery-counter,
  .vertical-gallery-prev,
  .vertical-gallery-next {
    font-size: .875rem;
  }

  /* Pie legal en páginas legales */
  .legal-page .site-footer,
  .legal-page .legal-links,
  .legal-page .footer-top-links {
    font-size: .875rem;
    line-height: 1.45;
  }
}


/* COOKIE CONSENT */
.cookie-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:9999;
  padding:1rem var(--pad);
  background:rgba(40,38,31,.98);
  color:var(--paper);
  border-top:1px solid rgba(226,222,218,.18);
}

.cookie-banner[hidden]{
  display:none !important;
}

.cookie-banner__inner{
  max-width:var(--max);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem 2rem;
}

.cookie-banner__text{
  margin:0;
  max-width:760px;
  font-size:.95rem;
  line-height:1.45;
}

.cookie-banner__actions{
  display:flex;
  gap:.75rem;
  flex-shrink:0;
}

.cookie-button{
  appearance:none;
  border:1px solid var(--coral);
  background:var(--coral);
  color:var(--ink);
  font:inherit;
  padding:.72rem 1rem;
  cursor:pointer;
}

.cookie-button--secondary{
  background:transparent;
  color:var(--paper);
  border-color:rgba(226,222,218,.55);
}

.cookie-button:focus-visible{
  outline:2px solid var(--paper);
  outline-offset:2px;
}


@media(max-width:700px){
  .cookie-banner__inner{
    align-items:flex-start;
    flex-direction:column;
  }

  .cookie-banner__actions{
    width:100%;
  }

  .cookie-button{
    flex:1;
  }

  .cookie-banner__text{
    font-size:.9rem;
  }
}


/* FOOTER: comportamiento uniforme de los enlaces legales */
.site-footer .legal-links a{
  text-decoration:none !important;
  border-bottom:1px solid transparent;
  padding-bottom:.1rem;
}

.site-footer .legal-links a:hover,
.site-footer .legal-links a:focus-visible{
  text-decoration:none !important;
  border-bottom-color:currentColor;
}


/* FOOTER: reset definitivo para evitar doble subrayado */
.site-footer .legal-links a,
.site-footer .legal-links a:visited{
  text-decoration:none !important;
  border:0 !important;
  box-shadow:none !important;
  padding-bottom:0 !important;
}

.site-footer .legal-links a:hover,
.site-footer .legal-links a:focus,
.site-footer .legal-links a:focus-visible{
  text-decoration:none !important;
  border:0 !important;
  box-shadow:inset 0 -1px 0 currentColor !important;
}
