:root{
  --bg:#f8f7f4;
  --surface:#ffffff;
  --text:#30323a;
  --muted:#686b72;
  --green:#7f8f5a;
  --green-dark:#657244;
  --violet:#75658e;
  --rose:#a66f82;
  --border:rgba(48,50,58,.12);
  --container:1180px;
  --radius:20px;
  --shadow:0 18px 50px rgba(35,37,43,.08);
  --transition:180ms ease;
}

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

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  min-height:100vh;
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

img,
svg{
  display:block;
  max-width:100%;
}

a{
  color:inherit;
}

button,
input,
select,
textarea{
  font:inherit;
}

.container{
  width:min(calc(100% - 40px),var(--container));
  margin-inline:auto;
}

.skip-link{
  position:fixed;
  top:12px;
  left:12px;
  z-index:9999;
  padding:.75rem 1rem;
  border-radius:10px;
  background:var(--text);
  color:#fff;
  transform:translateY(-160%);
}

.skip-link:focus{
  transform:translateY(0);
}

/* HEADER */

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(248,247,244,.92);
  border-bottom:1px solid transparent;
  backdrop-filter:blur(18px);
  transition:border-color var(--transition),box-shadow var(--transition);
}

.site-header.is-scrolled{
  border-color:var(--border);
  box-shadow:0 8px 30px rgba(35,37,43,.05);
}

.site-header__inner{
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
}

.brand{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  line-height:1.1;
}

.brand__doctor{
  color:var(--green-dark);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.brand__program{
  margin-top:.35rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.45rem;
}

.primary-nav{
  display:flex;
  align-items:center;
  gap:clamp(1rem,2vw,2rem);
}

.primary-nav>a:not(.btn){
  position:relative;
  color:var(--muted);
  font-size:.92rem;
  text-decoration:none;
}

.primary-nav>a:not(.btn)::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-.45rem;
  height:1px;
  background:var(--violet);
  transition:right var(--transition);
}

.primary-nav>a:not(.btn):hover::after,
.primary-nav>a:not(.btn):focus-visible::after{
  right:0;
}

/* BUTTONS */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:.8rem 1.35rem;
  border:1px solid transparent;
  border-radius:999px;
  font-weight:650;
  text-decoration:none;
  transition:transform var(--transition),background var(--transition),box-shadow var(--transition);
}

.btn:hover{
  transform:translateY(-1px);
}

.btn--primary{
  background:var(--green-dark);
  color:#fff;
  box-shadow:0 8px 22px rgba(101,114,68,.18);
}

.btn--primary:hover{
  background:#59663b;
  box-shadow:0 12px 28px rgba(101,114,68,.24);
}

.nav-toggle{
  display:none;
  width:48px;
  height:48px;
  padding:12px;
  border:0;
  background:transparent;
  cursor:pointer;
}

.nav-toggle span{
  display:block;
  width:100%;
  height:1px;
  margin:6px 0;
  background:var(--text);
}

/* TYPOGRAPHY */

.eyebrow{
  margin:0 0 1rem;
  color:var(--green-dark);
  font-size:.76rem;
  font-weight:750;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.display-title{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3rem,7vw,6.3rem);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.025em;
}

.section-title{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.25rem,4.5vw,4rem);
  font-weight:400;
  line-height:1.08;
}

.lead{
  color:var(--muted);
  font-size:clamp(1.05rem,2vw,1.3rem);
}

/* FOOTER */

.site-footer{
  margin-top:0;
  padding:4.5rem 0 1.5rem;
  border-top:1px solid var(--border);
  background:#f1f0ec;
}

.site-footer__grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:3rem;
}

.site-footer__brand{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.7rem;
}

.site-footer__doctor{
  margin:.4rem 0 0;
  color:var(--green-dark);
}

.site-footer__disclaimer{
  max-width:680px;
  margin:0;
  color:var(--muted);
  font-size:.92rem;
}

.site-footer__bottom{
  margin-top:3rem;
  padding-top:1.5rem;
  border-top:1px solid var(--border);
  display:flex;
  justify-content:space-between;
  gap:1.5rem;
  color:var(--muted);
  font-size:.82rem;
}

.site-footer__bottom p{
  margin:0;
}

.site-footer__bottom nav{
  display:flex;
  gap:1.3rem;
}

.site-footer__bottom a{
  text-decoration:none;
}

/* RESPONSIVE */

@media(max-width:900px){
  .site-header__inner{
    min-height:68px;
  }

  .nav-toggle{
    display:block;
  }

  .primary-nav{
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    padding:1.5rem 20px 2rem;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:.5rem;
    background:rgba(248,247,244,.99);
    border-bottom:1px solid var(--border);
    box-shadow:var(--shadow);
  }

  .primary-nav.is-open{
    display:flex;
  }

  .primary-nav>a:not(.btn){
    padding:.85rem 0;
    font-size:1rem;
  }

  .site-footer__grid{
    grid-template-columns:1fr;
    gap:1.5rem;
  }

  .site-footer__bottom{
    margin-top:2rem;
    padding-top:1.25rem;
    flex-direction:column;
    gap:1rem;
  }
}

@media(max-width:520px){
  .container{
    width:min(calc(100% - 28px),var(--container));
  }

  .brand__program{
    font-size:1.25rem;
  }
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    transition:none!important;
  }
}

/* HOME / HERO */

.hero{
  position:relative;
  overflow:hidden;
  padding:4.5rem 0 5rem;
}

.hero::before,
.hero::after{
  content:"";
  position:absolute;
  border-radius:50%;
  filter:blur(4px);
  pointer-events:none;
}

.hero::before{
  width:520px;
  height:520px;
  top:-220px;
  left:-200px;
  background:rgba(127,143,90,.10);
}

.hero::after{
  width:520px;
  height:520px;
  right:-180px;
  bottom:-240px;
  background:rgba(117,101,142,.10);
}

.hero__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
  gap:clamp(2.75rem,4.5vw,4.5rem);
  align-items:center;
}

.hero .display-title{
  max-width:18ch;
  font-size:clamp(3.6rem,4.4vw,4.65rem);
  line-height:.98;
}

.hero__lead{
  max-width:650px;
  margin:1.4rem 0 0;
  color:var(--muted);
  font-size:clamp(1.05rem,1.5vw,1.22rem);
  line-height:1.7;
}

.hero__actions{
  margin-top:1.5rem;
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
}

.btn--secondary{
  border-color:var(--border);
  background:rgba(255,255,255,.62);
}

.btn--secondary:hover{
  background:#fff;
  box-shadow:0 10px 28px rgba(35,37,43,.07);
}

.hero__note{
  margin:1.5rem 0 0;
  color:var(--muted);
  font-size:.84rem;
}

.hero-card{
  width:100%;
  max-width:440px;
  justify-self:end;
  padding:clamp(1.7rem,3vw,2.5rem);
  border:1px solid rgba(255,255,255,.75);
  border-radius:28px;
  background:rgba(255,255,255,.66);
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
}

.hero-card__label{
  margin:0 0 1.5rem;
  color:var(--green-dark);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.hero-card__item{
  display:grid;
  grid-template-columns:40px 1fr;
  gap:1rem;
  padding:1.4rem 0;
  border-top:1px solid var(--border);
}

.hero-card__number{
  color:var(--rose);
  font-family:Georgia,"Times New Roman",serif;
  font-size:.92rem;
}

.hero-card h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.45rem;
  font-weight:400;
}

.hero-card p{
  margin:.35rem 0 0;
  color:var(--muted);
  font-size:.9rem;
}

/* INTRO */

.intro-section{
  padding:4.75rem 0;
  background:var(--surface);
}

.intro-section__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(3rem,8vw,8rem);
  align-items:start;
}

.intro-section__copy{
  max-width:600px;
  color:var(--muted);
  font-size:1.05rem;
}

.intro-section__copy p:first-child{
  margin-top:0;
}

.intro-section .section-title{
  max-width:14ch;
  font-size:clamp(2.6rem,3.4vw,3.45rem);
  line-height:1.04;
}

/* HOW IT WORKS */

.process-section{
  padding:4.75rem 0;
  background:#f1f0eb;
}

.process-section__head{
  max-width:760px;
}

.process-section .section-title{
  max-width:15ch;
  font-size:clamp(2.6rem,3.4vw,3.45rem);
  line-height:1.04;
}

.process-section__head .lead{
  max-width:690px;
  margin-bottom:0;
}

.process-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:2.5rem;
}

.process-step{
  padding:1.8rem;
  border:1px solid var(--border);
  border-radius:24px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 24px rgba(35,37,43,.03);
  transition:
    transform 220ms ease,
    box-shadow 220ms ease,
    background-color 220ms ease,
    border-color 220ms ease;
}

@media (hover:hover) and (pointer:fine){
  .process-step:hover{
    transform:translateY(-5px);
    background:rgba(255,255,255,.96);
    border-color:rgba(117,101,142,.22);
    box-shadow:0 18px 42px rgba(35,37,43,.10);
  }
}

.process-step__number{
  display:block;
  margin-bottom:1.2rem;
  color:#a66f82;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.12em;
}

.process-step h3{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.55rem;
  font-weight:400;
  line-height:1.15;
}

.process-step p{
  margin:1rem 0 0;
  color:var(--muted);
  line-height:1.65;
}
/* FIT / PARA QUIÉN */

.fit-section{
  padding:4.75rem 0;
  background:var(--surface);
}

.fit-section__head{
  max-width:800px;
}

.fit-section .section-title{
  max-width:19ch;
  font-size:clamp(2.45rem,3vw,3.15rem);
  line-height:1.04;
}

.fit-section__head .lead{
  max-width:720px;
  margin-bottom:0;
}

.fit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:2.5rem;
}

.fit-card{
  padding:1.65rem 1.75rem;
  border:1px solid var(--border);
  border-radius:24px;
  background:rgba(255,255,255,.78);
}

.fit-card--soft{
  background:rgba(166,111,130,.045);
}

.fit-card__label{
  margin:0 0 1.35rem;
  color:var(--green-dark);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.fit-card--soft .fit-card__label{
  color:var(--rose);
}

.fit-list{
  margin:0;
  padding:0;
  list-style:none;
}

.fit-list li{
  position:relative;
  margin-top:1rem;
  padding-left:1.35rem;
  color:var(--muted);
  line-height:1.6;
}

.fit-list li:first-child{
  margin-top:0;
}

.fit-list li::before{
  content:"";
  position:absolute;
  top:.7em;
  left:0;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--green);
}

.fit-card--soft .fit-list li::before{
  background:var(--rose);
}

.fit-section__note{
  max-width:760px;
  margin:1.75rem 0 0;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.6;
}
/* DOCTOR */

.doctor-section{
  padding:4.5rem 0;
}

.doctor-section__grid{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:clamp(3rem,5vw,5rem);
  align-items:center;
}

.doctor-photo{
  width:min(100%,400px);
  aspect-ratio:4/5;
  justify-self:start;
  overflow:hidden;
  border-radius:28px;
  background:#efeee9;
  box-shadow:0 18px 45px rgba(35,37,43,.08);
}

.doctor-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.doctor-section__content{
  max-width:620px;
}

.doctor-section .section-title{
  font-size:clamp(2.6rem,3.3vw,3.4rem);
  line-height:1.04;
}

.doctor-section__content>p:last-child{
  color:var(--muted);
}

/* FAQ */

.faq-section{
  padding:4.75rem 0;
  background:#f5f4f0;
}

.faq-section__grid{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(3rem,6vw,6rem);
  align-items:start;
}

.faq-section__head{
  max-width:520px;
}

.faq-section .section-title{
  max-width:14ch;
  font-size:clamp(2.45rem,3vw,3.15rem);
  line-height:1.04;
}

.faq-section__head .lead{
  margin-bottom:0;
}

.faq-list{
  border-top:1px solid var(--border);
}

.faq-item{
  border-bottom:1px solid var(--border);
}

.faq-item summary{
  position:relative;
  padding:1.35rem 3rem 1.35rem 0;
  list-style:none;
  cursor:pointer;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.3rem;
  line-height:1.25;
}

.faq-item summary::-webkit-details-marker{
  display:none;
}

.faq-item summary::after{
  content:"+";
  position:absolute;
  top:50%;
  right:.25rem;
  transform:translateY(-50%);
  color:var(--green-dark);
  font-family:Arial,sans-serif;
  font-size:1.55rem;
  font-weight:300;
  transition:transform 200ms ease;
}

.faq-item[open] summary::after{
  transform:translateY(-50%) rotate(45deg);
}

.faq-item__content{
  max-width:680px;
  padding:0 3rem 1.4rem 0;
  color:var(--muted);
}

.faq-item__content p{
  margin:0;
  line-height:1.65;
}

.faq-item summary:focus-visible{
  outline:2px solid var(--violet);
  outline-offset:4px;
  border-radius:4px;
}

@media (hover:hover) and (pointer:fine){
  .faq-item summary:hover{
    color:var(--green-dark);
  }
}
/* VALUATION */

.valuation-section{
  padding:4.75rem 0;
}

.valuation-cta{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:clamp(2.5rem,6vw,5rem);
  align-items:center;
  padding:clamp(2.3rem,5vw,4.2rem);
  border:1px solid var(--border);
  border-radius:28px;
  background:#eeece7;
}

.valuation-cta__content{
  max-width:760px;
}

.valuation-section .section-title{
  max-width:15ch;
  font-size:clamp(2.45rem,3.2vw,3.3rem);
  line-height:1.04;
}

.valuation-section .lead{
  max-width:680px;
  margin:1.25rem 0 0;
}

.valuation-cta__note{
  max-width:650px;
  margin:1rem 0 0;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.6;
}

.valuation-cta__action{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}

.valuation-cta__action .btn{
  min-width:220px;
}

.valuation-cta__action p{
  max-width:260px;
  margin:.85rem 0 0;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.5;
}

@media(max-width:900px){

  .valuation-section{
    padding:3.25rem 0;
  }

  .valuation-cta{
    grid-template-columns:1fr;
    gap:1.8rem;
    padding:2rem;
  }

  .valuation-section .section-title{
    max-width:17ch;
    font-size:clamp(1.9rem,6.5vw,2.35rem);
  }

  .valuation-cta__action{
    align-items:flex-start;
  }

}

@media(max-width:520px){

  .valuation-section{
    padding:2.5rem 0;
  }

  .valuation-cta{
    padding:1.6rem 1.35rem;
    border-radius:22px;
  }

  .valuation-cta__action,
  .valuation-cta__action .btn{
    width:100%;
  }

  .valuation-cta__action p{
    max-width:none;
  }

}


/* HOME RESPONSIVE */

@media(max-width:900px){
  .hero{
    padding:2.4rem 0 3.25rem;
  }

  .hero .display-title{
    max-width:100%;
    font-size:clamp(1.95rem,7.8vw,2.85rem);
    line-height:1.01;
  }

  .hero__lead{
    margin-top:1rem;
    font-size:1rem;
    line-height:1.58;
  }

  .hero__actions{
    margin-top:1.25rem;
  }

  .hero__note{
    margin-top:1.1rem;
  }

  .intro-section{
    padding:3.25rem 0;
  }

  .doctor-section{
    padding:3.25rem 0 2rem;
  }

  .valuation-section{
    padding:1.5rem 0 3rem;
  }

  .intro-section .section-title{
    max-width:17ch;
    font-size:clamp(1.95rem,7.2vw,2.35rem);
    line-height:1.04;
  }

  .intro-section__copy{
    font-size:1rem;
    line-height:1.65;
  }

  .process-section{
    padding:3.25rem 0;
  }

  .process-section .section-title{
    max-width:18ch;
    font-size:clamp(1.85rem,6.8vw,2.2rem);
    line-height:1.04;
  }

  .process-steps{
    grid-template-columns:1fr;
    gap:.7rem;
    margin-top:1.5rem;
  }

  .process-step{
    padding:1.3rem 1.35rem;
  }

  .process-step__number{
    margin-bottom:.8rem;
  }

  .process-step h3{
    font-size:1.35rem;
    line-height:1.15;
  }

  .process-step p{
    margin-top:.75rem;
    font-size:.96rem;
    line-height:1.55;
  }

  .fit-section{
    padding:3.25rem 0;
  }

  .fit-section .section-title{
    max-width:20ch;
    font-size:clamp(1.7rem,6.1vw,2rem);
    line-height:1.04;
  }

  .fit-grid{
    grid-template-columns:1fr;
    gap:.7rem;
    margin-top:1.45rem;
  }

  .fit-card{
    padding:1.15rem 1.2rem;
  }

  .fit-card__label{
    margin-bottom:.8rem;
    font-size:.72rem;
  }

  .fit-list li{
    margin-top:.65rem;
    padding-left:1.15rem;
    font-size:.9rem;
    line-height:1.48;
  }

  .fit-section__note{
    margin-top:1.4rem;
    font-size:.88rem;
  }

  .hero__grid,
  .intro-section__grid,
  .doctor-section__grid{
    grid-template-columns:1fr;
  }

  .intro-section__grid{
    gap:1.75rem;
  }

  .doctor-section__grid{
    gap:1.5rem;
  }

  .hero-card{
    width:100%;
    max-width:620px;
    justify-self:start;
  }

  .doctor-photo{
    width:min(76%,300px);
    margin-inline:auto;
  }

  .doctor-section .section-title{
    font-size:clamp(2.05rem,8vw,2.45rem);
    line-height:1.04;
  }

  .doctor-section .lead{
    font-size:1rem;
    line-height:1.55;
  }

  .faq-section{
    padding:3.25rem 0;
  }

  .faq-section__grid{
    grid-template-columns:1fr;
    gap:1.75rem;
  }

  .faq-section .section-title{
    max-width:18ch;
    font-size:clamp(1.7rem,6.1vw,2rem);
    line-height:1.04;
  }

  .faq-item summary{
    padding:1.15rem 2.5rem 1.15rem 0;
    font-size:1.12rem;
  }

  .faq-item__content{
    padding:0 2.5rem 1.15rem 0;
    font-size:.92rem;
  }

  .valuation-section__inner{
    align-items:flex-start;
    flex-direction:column;
  }

  .site-footer{
    margin-top:0;
    padding-top:2.75rem;
  }
}

@media(max-width:520px){
  .hero{
    padding-top:2.05rem;
  }

  .hero__actions{
    flex-direction:column;
  }

  .hero__actions .btn{
    width:100%;
  }

  .hero-card{
    border-radius:22px;
  }

  .valuation-section__inner{
    padding:2rem 1.4rem;
    border-radius:22px;
  }
}

/* PUBLIC VALUATION PAGE */

.valuation-page{
  padding:clamp(2.6rem,3.5vw,3.5rem) 0 clamp(2.4rem,3.2vw,3rem);
  background:
    radial-gradient(circle at 8% 15%,rgba(127,143,90,.08),transparent 30%),
    radial-gradient(circle at 92% 85%,rgba(166,111,130,.06),transparent 28%),
    var(--surface);
}

.valuation-main + .site-footer{
  margin-top:0;
  padding-top:3rem;
}

.valuation-page__grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:clamp(3rem,7vw,7rem);
  align-items:start;
}

.valuation-page__intro{
  position:sticky;
  top:130px;
  max-width:580px;
  padding-top:.6rem;
}

.valuation-page .section-title{
  max-width:13ch;
  font-size:clamp(2.7rem,4vw,4.1rem);
  line-height:1.02;
}

.valuation-page__intro>.lead{
  max-width:540px;
  margin:1.4rem 0 0;
  font-size:1.12rem;
  line-height:1.65;
}

.valuation-page__privacy-note{
  max-width:530px;
  margin-top:2rem;
  padding:1.2rem 1.35rem;
  border-left:3px solid var(--green);
  border-radius:0 14px 14px 0;
  background:rgba(127,143,90,.055);
}

.valuation-page__privacy-note strong{
  display:block;
  color:var(--green-dark);
  font-size:.92rem;
}

.valuation-page__privacy-note p{
  margin:.45rem 0 0;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.55;
}


/* PUBLIC REQUEST CARD */

.public-request-card{
  padding:clamp(1.8rem,3vw,2.6rem);
  border:1px solid var(--border);
  border-radius:26px;
  background:rgba(255,255,255,.82);
  box-shadow:0 22px 55px rgba(35,37,43,.07);
  backdrop-filter:blur(8px);
}

.public-request-card__head{
  max-width:560px;
  padding-bottom:1.7rem;
  border-bottom:1px solid var(--border);
}

.public-request-card__step{
  margin:0 0 .65rem;
  color:var(--green-dark);
  font-size:.73rem;
  font-weight:750;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.public-request-card__head h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.75rem,2.6vw,2.25rem);
  font-weight:400;
  line-height:1.1;
}

.public-request-card__head>p:last-child{
  margin:.8rem 0 0;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.55;
}


/* FORM */

.public-request-form{
  margin-top:1.7rem;
}

.public-request-form__details{
  margin-top:1.35rem;
}

.public-field{
  min-width:0;
  margin-top:1.2rem;
}

.public-field:first-child{
  margin-top:0;
}

.public-field label,
.public-request-form__group legend{
  display:block;
  margin-bottom:.5rem;
  color:var(--text);
  font-size:.9rem;
  font-weight:650;
  line-height:1.4;
}

.public-field input{
  width:100%;
  min-height:50px;
  padding:.75rem .9rem;
  border: 1px solid rgba(48,50,58,.56);
  border-radius:13px;
  background:rgba(255,255,255,.9);
  color:var(--text);
  font:inherit;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease;
}

.public-field input:hover:not(:disabled){
  border-color:rgba(101,114,68,.8);
}

.public-field input:focus{
  outline:none;
  border-color:var(--green-dark);
  background:#fff;
  box-shadow:0 0 0 3px rgba(101,114,68,.11);
}

.public-field input:disabled{
  cursor:not-allowed;
  opacity:.62;
}

.public-field input[readonly]{
  background:rgba(127,143,90,.08);
  color:var(--green-dark);
  font-weight:700;
}

.public-field input[aria-invalid="true"]{
  border-color:#9b2f3b;
  background:#fffafa;
  box-shadow:0 0 0 3px rgba(155,47,59,.09);
}

.public-field__help,
.public-field__error{
  margin:.45rem 0 0;
  font-size:.78rem;
  line-height:1.5;
}

.public-field__help{
  color:var(--muted);
}

.public-field__help--gate{
  margin-left:.1rem;
}

.public-field__error{
  color:#8f2733;
  font-weight:650;
}

.public-phone-fields{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:.75rem;
}

.public-phone-fields .public-field{
  margin-top:0;
}


/* CONTACT METHOD */

.public-request-form__group{
  min-width:0;
  margin:1.3rem 0 0;
  padding:0;
  border:0;
}

.public-contact-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
}

.public-contact-options label{
  position:relative;
  display:flex;
  align-items:center;
  min-height:48px;
  padding:.75rem .9rem;
  border:1px solid var(--border);
  border-radius:13px;
  background:rgba(255,255,255,.68);
  cursor:pointer;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    box-shadow 180ms ease;
}

.public-contact-options input{
  width:1rem;
  height:1rem;
  margin:0 .65rem 0 0;
  accent-color:var(--green-dark);
}

.public-contact-options label:has(input:checked){
  border-color:rgba(101,114,68,.62);
  background:rgba(127,143,90,.08);
  box-shadow:0 0 0 2px rgba(101,114,68,.05);
}

.public-contact-options label:has(input:focus-visible){
  outline:2px solid var(--violet);
  outline-offset:3px;
}


/* AGE */

.public-check{
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  margin-top:1.4rem;
  padding:1rem 1.05rem;
  border:1px solid var(--border);
  border-radius:13px;
  background:rgba(127,143,90,.045);
  cursor:pointer;
  font-size:.9rem;
  line-height:1.45;
}

.public-check--gate{
  margin-top:0;
}

.public-check input{
  flex:0 0 auto;
  width:1.05rem;
  height:1.05rem;
  margin:.08rem 0 0;
  accent-color:var(--green-dark);
}

.public-check:has(input:checked){
  border-color:rgba(101,114,68,.52);
  background:rgba(127,143,90,.08);
}

.public-check:has(input:focus-visible){
  outline:2px solid var(--violet);
  outline-offset:3px;
}


/* ACTION */

.public-request-form__actions{
  margin-top:1.6rem;
  padding-top:1.5rem;
  border-top:1px solid var(--border);
}

.public-request-form__actions--compact{
  padding-top:0;
  border-top:0;
}

.public-request-form__actions .btn{
  width:100%;
}

.public-request-form__actions .btn:disabled{
  opacity:.52;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

.public-request-form__actions p{
  margin:.7rem 0 0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.5;
}


/* PUBLIC VALUATION RESPONSIVE */

@media(max-width:900px){

  .valuation-page{
    padding:2.5rem 0 3rem;
  }

  .valuation-page__grid{
    grid-template-columns:1fr;
    gap:2.2rem;
  }

  .valuation-page__intro{
    position:static;
    max-width:680px;
    padding-top:0;
  }

  .valuation-page .section-title{
    max-width:16ch;
    font-size:clamp(2.15rem,7vw,2.85rem);
  }

  .public-request-card{
    max-width:680px;
  }

}

@media(max-width:620px){

  .valuation-page{
    padding:1.65rem 0 2.5rem;
  }

  .valuation-page__grid{
    gap:1.65rem;
  }

  .valuation-page__intro>.lead{
    margin-top:1rem;
    font-size:1rem;
    line-height:1.55;
  }

  .valuation-page__privacy-note{
    margin-top:1.1rem;
    padding:1rem 1.1rem;
  }

  .public-request-card{
    padding:1.4rem;
    border-radius:20px;
  }

  .public-contact-options{
    grid-template-columns:1fr;
  }

  .public-phone-fields{
    grid-template-columns:105px minmax(0,1fr);
    gap:.6rem;
  }

}

@media(max-width:520px){

  .valuation-page .section-title{
    font-size:clamp(1.9rem,7.3vw,2.2rem);
    line-height:1.02;
  }

  .public-request-card{
    padding:1.25rem 1rem;
  }

  .public-phone-fields{
    grid-template-columns:92px minmax(0,1fr);
  }

}

/* LEGAL INFORMATION PAGES */


.legal-page{
  padding:2.5rem 0 2.25rem;
}

.legal-main+.site-footer{
  margin-top:0;
  padding-top:3rem;
}

.legal-main+.site-footer .site-footer__bottom{
  margin-top:1.5rem;
  padding-top:1.25rem;
}


.legal-page__inner{
  max-width:960px;
}

.legal-page__header{
  max-width:760px;
  margin-bottom:1.75rem;
}

.legal-page__header .section-title{
  margin-bottom:1rem;
}

.legal-page__updated{
  margin:1.25rem 0 0;
  color:var(--muted);
  font-size:.82rem;
}

.legal-content{
  padding:clamp(1.5rem,3vw,2.5rem);
  border:1px solid var(--border);
  border-radius:26px;
  background:rgba(255,255,255,.82);
  box-shadow:var(--shadow);
}

.legal-content section+section{
  margin-top:1.4rem;
  padding-top:1.4rem;
  border-top:1px solid var(--border);
}

.legal-content h2{
  margin:0 0 .85rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.4rem,2.5vw,1.8rem);
  font-weight:400;
  line-height:1.2;
}

.legal-content p,
.legal-content li{
  color:var(--muted);
  font-size:1rem;
  line-height:1.65;
}

.legal-content p{
  margin:.7rem 0 0;
}

.legal-content a{
  color:var(--green-dark);
  text-underline-offset:3px;
}

.legal-content code{
  padding:.12rem .35rem;
  border-radius:5px;
  background:rgba(101,114,68,.1);
  color:var(--text);
  font-size:.9em;
}

@media(max-width:640px){


  .legal-page{
    padding:1.75rem 0 1.75rem;
  }

  .legal-main+.site-footer{
    padding-top:2.25rem;
  }


  .legal-page__header{
    margin-bottom:1.35rem;
  }

  .legal-content{
    padding:1.25rem;
    border-radius:20px;
  }

  .legal-content section+section{
    margin-top:1.2rem;
    padding-top:1.2rem;
  }

}


/* METODO RESPIRA V1: inicio */
#metodo-respira{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  grid-template-rows:auto 1fr;
  gap:1.75rem clamp(2rem,5vw,5rem);
  margin-top:clamp(2.5rem,5vw,4rem);
  padding-top:clamp(2.5rem,5vw,3.5rem);
  border-top:1px solid var(--border,#dcded3);
  scroll-margin-top:8rem;
}
#metodo-respira .respira-method__intro{grid-column:1;grid-row:1;}
#metodo-respira .respira-method__title{
  margin:0 0 1.25rem;
  color:var(--text,#30323a);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,3.3vw,2.7rem);
  font-weight:400;
  line-height:1.16;
}
#metodo-respira .respira-method__title span{color:var(--green-dark,#657244);}
#metodo-respira .respira-method__description{
  max-width:44ch;
  margin:0;
  color:var(--muted,#61656b);
  font-size:1rem;
  line-height:1.7;
}
#metodo-respira .respira-method__list{
  grid-column:2;grid-row:1 / span 2;
  min-width:0;
}
#metodo-respira .respira-method__item{
  margin:0;
  border:0;
  border-bottom:1px solid var(--border,#dcded3);
  background:transparent;
}
#metodo-respira .respira-method__item:first-child{
  border-top:1px solid var(--border,#dcded3);
}
#metodo-respira .respira-method__item summary{
  display:grid;
  grid-template-columns:2.3rem minmax(0,1fr) 1rem;
  align-items:center;
  gap:.9rem;
  min-height:4.1rem;
  padding:.75rem .55rem;
  color:var(--text,#30323a);
  list-style:none;
  cursor:pointer;
}
#metodo-respira .respira-method__item summary::-webkit-details-marker{display:none;}
#metodo-respira .respira-method__item summary::marker{content:"";}
#metodo-respira .respira-method__item summary:focus-visible{
  outline:2px solid var(--green-dark,#657244);
  outline-offset:-2px;
  border-radius:8px;
}
#metodo-respira .respira-method__letter{
  display:grid;
  place-items:center;
  width:2.3rem;height:2.3rem;
  border-radius:9px;
  background:rgba(101,114,68,.08);
  color:var(--green-dark,#657244);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.5rem;
  line-height:1;
}
#metodo-respira .respira-method__label{
  font-size:1rem;
  font-weight:600;
  line-height:1.45;
  overflow-wrap:break-word;
}
#metodo-respira .respira-method__toggle::before{
  display:block;
  color:var(--green-dark,#657244);
  content:"+";
  font-size:1.4rem;
  font-weight:400;
  line-height:1;
  text-align:center;
}
#metodo-respira .respira-method__item[open] .respira-method__toggle::before{content:"−";}
#metodo-respira .respira-method__item[open] .respira-method__letter{
  background:var(--green-dark,#657244);
  color:#fff;
}
#metodo-respira .respira-method__item>p{
  margin:0;
  padding:0 1rem 1.1rem 3.75rem;
  color:var(--muted,#61656b);
  font-size:.96rem;
  line-height:1.65;
}
#metodo-respira .respira-method__goal{
  grid-column:1;grid-row:2;
  align-self:start;
  max-width:44ch;
  margin:0;
  padding:.15rem 0 .15rem 1rem;
  border-left:2px solid var(--green-dark,#657244);
  color:var(--muted,#61656b);
  font-size:.95rem;
  line-height:1.65;
}
#metodo-respira .respira-method__goal strong{
  display:block;
  margin-bottom:.4rem;
  color:var(--green-dark,#657244);
  font-size:.95rem;
  font-weight:600;
}
@media(hover:hover){
  #metodo-respira .respira-method__item summary:hover{
    background:rgba(101,114,68,.045);
    border-radius:8px;
  }
}
@media(max-width:900px){
  #metodo-respira{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto;
    gap:1.5rem;
    margin-top:2.5rem;
    padding-top:2.5rem;
    scroll-margin-top:6rem;
  }
  #metodo-respira .respira-method__intro,
  #metodo-respira .respira-method__list,
  #metodo-respira .respira-method__goal{grid-column:1;grid-row:auto;}
  #metodo-respira .respira-method__description,
  #metodo-respira .respira-method__goal{max-width:65ch;}
}
@media(max-width:520px){
  #metodo-respira .respira-method__item summary{
    grid-template-columns:2rem minmax(0,1fr) .85rem;
    gap:.65rem;
    padding:.8rem .25rem;
  }
  #metodo-respira .respira-method__letter{
    width:2rem;height:2rem;font-size:1.35rem;
  }
  #metodo-respira .respira-method__item>p{
    padding:0 .25rem 1rem 2.9rem;
    font-size:.94rem;
  }
}
/* METODO RESPIRA V1: fin */
