/* ===================== HERO — foto + overlay oscuro, texto blanco ===================== */
.hero{ background:var(--white); padding:28px 0 64px; }
.hero__wrap{
  position:relative; overflow:hidden;
  padding:56px 48px;
  border-radius:var(--radius-l); border:1.5px solid rgba(255,255,255,.14);
  background-color:#2e5c4e;
  /* Solo el hero: el overlay baja a opacidad 0 hacia la derecha para que
     se vea la foto entera — el resto de los módulos CTA usan --cta-overlay
     tal cual, sin este fade. */
  background-image:
    linear-gradient(45deg, rgba(30,62,52,.96) 0%, rgba(46,110,85,.75) 45%, rgba(60,130,102,0) 100%),
    url('../img/hero-cuidado.jpg');
  background-size:cover;
  background-position:center;
}
.hero__content{ max-width:66ch; }
.hero__wrap .eyebrow{ color:var(--mint); }
.hero__wrap .eyebrow::before{ background:var(--mint); }
.hero__wrap .h1{ color:var(--white); }

@media (max-width:600px){
  .hero__wrap{
    padding:32px 22px;
    /* foto vertical propia para mobile: la de desktop (horizontal) queda desproporcionada en un módulo tan alto y angosto */
    background-image:
      linear-gradient(45deg, rgba(30,62,52,.96) 0%, rgba(46,110,85,.75) 45%, rgba(60,130,102,0) 100%),
      url('../img/hero-mobile.webp');
    background-position:center top;
  }
}
.hero__badges{ display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.hero__badge{
  display:inline-flex; align-items:center; gap:7px;
  font-size:12.5px; font-weight:700; color:var(--white);
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(6px);
  padding:8px 13px; border-radius:999px;
}
.hero__badge svg{ flex:none; color:var(--mint); }
.hero__sub{ font-size:18px; line-height:1.6; color:rgba(255,255,255,.86); max-width:48ch; margin-top:16px; }
.hero .btn-row{ margin-top:28px; }
.hero .btn--ghost{ background:rgba(255,255,255,.1); color:var(--white); border-color:rgba(255,255,255,.3); backdrop-filter:blur(6px); }
.hero .btn--ghost:hover{ background:rgba(255,255,255,.18); border-color:var(--white); color:var(--white); }

/* ---- Barra de cotización rápida: fila única, sin labels, glassy ---- */
.hero-bar{
  margin-top:40px;
  display:flex; align-items:stretch; flex-wrap:wrap;
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1.5px solid rgba(255,255,255,.5);
  border-radius:var(--radius-l);
  padding:6px;
  gap:2px;
}
.hero-bar__field{ position:relative; flex:1 1 150px; display:flex; align-items:center; padding:12px 18px; }
.hero-bar__field--select{ flex:1 1 180px; }
.hero-bar__field + .hero-bar__field::before{
  content:''; position:absolute; left:0; top:22%; bottom:22%; width:1.5px; background:var(--line);
}
.hero-bar__field input, .hero-bar__field select{
  width:100%; border:0; background:transparent; outline:none;
  font-family:var(--f-body); font-size:14.5px; font-weight:500; color:var(--ink);
}
.hero-bar__field input::placeholder{ color:var(--ink-soft); }
.hero-bar__submit{
  flex:none; border:0; border-radius:calc(var(--radius-l) - 6px);
  background:var(--mint); color:var(--ink); font-family:var(--f-body);
  font-weight:700; font-size:14.5px; padding:0 26px; cursor:pointer;
  transition:background .18s var(--ease), transform .18s var(--ease);
}
.hero-bar__submit:hover{ background:#7ba495; transform:translateY(-1.5px); }

@media (max-width:820px){
  .hero-bar{ flex-direction:column; padding:8px; }
  .hero-bar__field{ padding:11px 14px; flex:none; }
  .hero-bar__field + .hero-bar__field::before{ left:14px; right:14px; top:0; bottom:auto; width:auto; height:1.5px; }
  .hero-bar__submit{ padding:14px; margin-top:2px; }
}

/* ===================== FOOTER — cierre con cotizador ===================== */
.footer-quote{ padding:66px 0 54px; position:relative; }
.footer-quote::after{
  content:''; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:64px; height:2px; background:var(--mint); border-radius:2px;
}
.footer-quote__inner{
  max-width:820px; margin-inline:auto; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:26px;
}
.footer-quote__text .eyebrow{ color:var(--mint); justify-content:center; }
.footer-quote__text .eyebrow::before{ background:var(--mint); }
.footer-quote__text .h2{ color:var(--white); margin-top:12px; }
.footer-quote__text p{ color:rgba(255,255,255,.72); margin-top:12px; font-size:15.5px; line-height:1.6; }

/* ---- Cotizador completo del footer: grilla de 2 filas x 3 campos ---- */
.quote-grid{ width:100%; max-width:760px; display:flex; flex-direction:column; gap:12px; }
.quote-grid__row{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.quote-grid__field{
  width:100%; font-family:var(--f-body); font-size:14.5px; font-weight:500; color:var(--white);
  background:rgba(255,255,255,.08); border:1.5px solid rgba(255,255,255,.2);
  border-radius:var(--radius-s); padding:13px 16px; outline:none;
  transition:border-color .18s var(--ease), background .18s var(--ease);
}
.quote-grid__field::placeholder{ color:rgba(255,255,255,.55); }
.quote-grid__field:focus{ border-color:var(--mint); background:rgba(255,255,255,.13); }
.quote-grid__field option{ color:var(--ink); }
.quote-grid__submit{
  border:0; border-radius:var(--radius-s); background:var(--mint); color:var(--ink);
  font-family:var(--f-body); font-weight:700; font-size:15px; padding:15px; cursor:pointer;
  transition:background .18s var(--ease), transform .18s var(--ease);
}
.quote-grid__submit:hover{ background:#7ba495; transform:translateY(-1.5px); }

@media (max-width:820px){
  .footer-quote{ padding:48px 0 40px; }
  .quote-grid__row{ grid-template-columns:1fr; }
}

/* ===================== TRUST STRIP ===================== */
.trust{ background:var(--bar-dark); }
.trust__row{
  max-width:1400px; margin-inline:auto; padding:26px 24px;
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px 32px;
}
.trust__item{
  display:flex; align-items:center; gap:11px;
  font-size:15.5px; font-weight:600; color:rgba(255,255,255,.92);
  letter-spacing:-.005em;
}
.trust__item svg{ flex:none; color:var(--mint); }

@media (max-width:760px){
  .trust__row{ padding:20px 24px; justify-content:flex-start; }
  .trust__item{ font-size:14px; }
}

/* ===================== NOSOTROS ===================== */
.about{
  /* el padding vertical ya lo pone .section — antes se duplicaba acá */
  display:grid; grid-template-columns:1fr .92fr; gap:64px; align-items:center;
}
.about__photo-wrap{ position:relative; }
.about__photo{
  border-radius:var(--radius-l); overflow:hidden; border:1.5px solid var(--line);
  aspect-ratio:4/5; background-size:cover; background-position:center 22%;
}

/* Sello rotativo: texto en loop alrededor del ícono de marca */
.spin-badge{
  position:absolute; top:-36px; right:-36px; width:140px; height:140px; z-index:2;
}
.spin-badge::before{
  content:''; position:absolute; inset:0; border-radius:50%;
  background:var(--paper); border:1.5px solid var(--line);
}
.spin-badge__ring{
  position:relative; width:100%; height:100%; display:block;
  animation:spin-badge-rotate 17s linear infinite;
}
.spin-badge__text{
  /* font-size en unidades del viewBox (200x200), no px reales: tiene que ir grande para leerse */
  font-family:var(--f-body); font-size:16px; font-weight:700; letter-spacing:5.5px;
  text-transform:uppercase; fill:var(--ink);
}
.spin-badge__disc{
  position:absolute; inset:0; margin:auto; width:78px; height:78px;
  display:flex; align-items:center; justify-content:center;
}
.spin-badge__disc img{ width:58px; height:58px; }
@keyframes spin-badge-rotate{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .spin-badge__ring{ animation:none; } }
@media (max-width:900px){
  .spin-badge{ width:118px; height:118px; top:-26px; right:-26px; }
  .spin-badge__disc{ width:66px; height:66px; }
  .spin-badge__disc img{ width:48px; height:48px; }
  .spin-badge__text{ font-size:15px; letter-spacing:5.5px; }
}
.stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:32px; }
.stat{
  padding:20px 18px; border:1.5px solid var(--line); border-radius:var(--radius-m);
  background:var(--paper); transition:border-color .25s var(--ease), background .25s var(--ease);
}
.stat:hover{ border-color:var(--mint); background:var(--mint-pale); }
/* #589880: mismo matiz/saturación que --mint, solo más oscuro — el tono
   más cercano a la marca que pasa 3:1 sobre paper y mint-pale (hover). */
.stat__n{ font-family:var(--f-display); font-weight:800; font-size:36px; color:#589880; line-height:1; }
.stat__l{ font-size:13px; color:var(--ink-soft); margin-top:8px; line-height:1.35; }

/* Chips de keywords: refuerzo semántico real (SEO) además de decorativo */
.keywords{ display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.keywords a, .keywords span{
  font-size:12.5px; font-weight:600; color:var(--mint-deep);
  background:var(--mint-pale); border:1.5px solid var(--line);
  padding:7px 13px; border-radius:999px;
}
/* Habilitaciones oficiales: refuerzo de confianza dentro de Nosotros */
.credentials{
  margin-top:24px; padding:18px 20px; border:1.5px solid var(--line);
  border-radius:var(--radius-m); background:var(--paper);
}
.credentials__head{
  display:flex; align-items:center; gap:9px; font-family:var(--f-display);
  font-weight:700; font-size:13px; letter-spacing:.04em; text-transform:uppercase;
  color:var(--mint-deep);
}
.credentials__head svg{ flex:none; }
.credentials__list{
  display:grid; grid-template-columns:1fr 1fr; gap:9px 18px; margin-top:13px;
}
.credentials__list li{
  display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:500; color:var(--ink-soft);
}
.credentials__list svg{ flex:none; color:var(--mint-mid); }
@media (max-width:520px){
  .stats{ grid-template-columns:1fr 1fr; } .stats .stat:last-child{ grid-column:1 / -1; }
  .credentials__list{ grid-template-columns:1fr; }
}

@media (max-width:900px){
  .about{ grid-template-columns:1fr; gap:32px; }
  .about__photo-wrap{ order:-1; }
  .about__photo{ aspect-ratio:16/14; background-position:bottom; }
}

/* ===================== MAPA DE COBERTURA ===================== */
.map-wrap{
  position:relative;
  margin-top:44px; border-radius:var(--radius-l); overflow:hidden;
  border:1.5px solid var(--line); height:480px; background:var(--paper);
}
#branches-map{ width:100%; height:100%; }
.map-popup{ font-family:var(--f-body); }
.map-popup__name{ font-family:var(--f-display); font-weight:700; font-size:14px; color:var(--ink); }
.map-popup__addr{ font-size:12.5px; color:var(--ink-soft); margin-top:2px; }
.map-popup__phone{ font-size:12.5px; color:var(--mint-deep); font-weight:600; margin-top:4px; display:inline-block; }

/* ---- Panel flotante sobre el mapa: 1 sucursal a la vez ---- */
.map-panel{
  position:absolute; z-index:410; left:24px; bottom:24px; width:320px;
  background:var(--white); border:1.5px solid var(--line); border-radius:var(--radius-l);
  padding:24px;
}
.map-panel__head{ display:flex; align-items:center; gap:10px; }
.map-panel__head svg{ flex:none; color:var(--mint-deep); }
.map-panel__head span{ font-family:var(--f-display); font-weight:700; font-size:19px; color:var(--ink); }
.map-panel__zone{
  display:inline-block; margin-top:12px; font-size:12px; font-weight:700;
  color:var(--mint-deep); background:var(--mint-pale); padding:5px 12px; border-radius:999px;
}
.map-panel__desc{ font-size:14px; line-height:1.55; color:var(--ink-soft); margin-top:14px; }
.map-panel__foot{ display:flex; align-items:center; justify-content:space-between; margin-top:20px; }
.map-panel__dots{ display:flex; gap:6px; }
.map-panel__dot{
  /* anima width, no transform: son 4 puntos de 8px, disparo poco frecuente
     (click de navegación) — el costo real de layout es insignificante y un
     scaleX() daría una elipse, no la píldora de lados planos que se busca. */
  width:8px; height:8px; border-radius:999px; border:0; padding:0; cursor:pointer;
  background:var(--line); transition:background .2s var(--ease), width .2s var(--ease);
}
.map-panel__dot.is-active{ width:22px; background:var(--mint-deep); }
.map-panel__nav{ display:flex; gap:8px; }
.map-panel__navbtn{
  width:34px; height:34px; border-radius:999px; border:1.5px solid var(--line);
  background:var(--white); color:var(--ink); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:border-color .2s var(--ease), color .2s var(--ease);
}
.map-panel__navbtn:hover{ border-color:var(--mint-deep); color:var(--mint-deep); }
.map-panel__navbtn svg{ width:15px; height:15px; }

@media (max-width:700px){
  .map-panel{ left:14px; right:14px; bottom:14px; width:auto; padding:20px; }
}

@media (max-width:600px){ .map-wrap{ height:340px; } }

/* ===================== SECTION SHELL ===================== */
.section{ padding-block:var(--section-py); }
.section--cream{ background:var(--mint-pale); }
.center{ text-align:center; max-width:640px; margin-inline:auto; }

@media (max-width:760px){ .section{ padding-block:var(--section-py-mobile); } }

/* ===================== SERVICIOS — grid de 3 ===================== */
.services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; }
.service-card{
  background:var(--white); border-radius:var(--radius-l); border:1.5px solid var(--line);
  padding:32px; transition:border-color .25s var(--ease), transform .25s var(--ease);
}
.service-card:hover{ border-color:var(--mint); transform:translateY(-3px); }
.service-card__icon{
  width:64px; height:64px;
  display:flex; align-items:center; justify-content:center; margin-bottom:20px;
}
.service-card__icon svg{ width:44px; height:44px; color:var(--mint-deep); }
.service-card__title{ font-family:var(--f-display); font-weight:700; font-size:18.5px; color:var(--ink); }
.service-card__text{ font-size:14.5px; line-height:1.65; color:var(--ink-soft); margin-top:10px; }

@media (max-width:900px){ .services-grid{ grid-template-columns:1fr; } }

/* ===================== DETALLE RÁPIDO (modalidad / carga / etc.) ===================== */
.detail-bar{
  display:grid; grid-template-columns:repeat(3,1fr);
  margin-top:22px; border:1.5px solid var(--line); border-radius:var(--radius-l);
  background:var(--white); overflow:hidden;
}
.detail-col{ padding:26px 28px; }
.detail-col + .detail-col{ border-left:1.5px solid var(--line); }
.detail-col__title{
  font-family:var(--f-display); font-weight:700; font-size:13.5px; color:var(--ink);
  margin-bottom:14px;
}
.detail-row{ display:flex; justify-content:space-between; gap:12px; font-size:13px; padding-block:6px; }
.detail-row + .detail-row{ border-top:1.5px solid var(--line-soft); }
.detail-row span{ color:var(--ink-soft); }
.detail-row strong{ color:var(--mint-deep); font-weight:700; text-align:right; }

@media (max-width:760px){
  .detail-bar{ grid-template-columns:1fr; }
  .detail-col + .detail-col{ border-left:0; border-top:1.5px solid var(--line); }
}

/* ===================== ALCANCE (insumos / profesionales) ===================== */
.scope{
  display:grid; grid-template-columns:1fr 1fr; gap:0 60px; margin-top:40px;
}
.scope__group + .scope__group{ margin-top:34px; }
.scope__title{ font-family:var(--f-display); font-weight:700; font-size:14px; color:var(--mint-deep); margin-bottom:14px; }
.scope__list{ display:flex; flex-direction:column; gap:11px; }
.scope__list li{
  display:flex; align-items:flex-start; gap:10px; font-size:14.5px; color:var(--ink-soft); line-height:1.5;
}
.scope__list svg{ flex:none; margin-top:2px; color:var(--mint-deep); }

@media (max-width:800px){ .scope{ grid-template-columns:1fr; gap:34px 0; } }

/* ===================== TESTIMONIOS — carrusel enfocado ===================== */
.testi-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.testi-nav{ display:flex; gap:10px; flex:none; }
.testi-nav__btn{
  width:44px; height:44px; border-radius:999px; border:1.5px solid var(--line);
  background:var(--white); color:var(--ink); display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:border-color .2s var(--ease), color .2s var(--ease), transform .18s var(--ease);
}
.testi-nav__btn:hover{ border-color:var(--mint-deep); color:var(--mint-deep); transform:translateY(-1.5px); }
.testi-nav__btn svg{ width:18px; height:18px; }

.testi-stage{
  position:relative; height:340px; margin-top:48px; overflow-x:hidden;
  display:flex; align-items:center; justify-content:center;
}
.testi-card{
  position:absolute; top:50%; left:50%; width:min(90vw,520px);
  background:var(--white); border-radius:var(--radius-l); border:1.5px solid var(--line);
  padding:34px; display:flex; flex-direction:column; gap:18px;
  transition:transform .5s var(--ease), opacity .5s var(--ease), filter .5s var(--ease);
}
.testi-card.is-center{ transform:translate(-50%,-50%) scale(1); opacity:1; filter:blur(0); z-index:3; }
.testi-card.is-next{ transform:translate(calc(-50% + 78%),-50%) scale(.86); opacity:.45; filter:blur(2.5px); z-index:2; }
.testi-card.is-prev{ transform:translate(calc(-50% - 78%),-50%) scale(.86); opacity:.45; filter:blur(2.5px); z-index:2; }

.testi-card__by{ display:flex; flex-direction:column; gap:2px; }
.testi-card__name{ font-family:var(--f-display); font-weight:700; font-size:16px; color:var(--ink); }
.testi-card__rel{ font-size:12.5px; color:var(--mint-deep); font-weight:600; }
.testi-card__stars{ font-size:15px; letter-spacing:2px; color:#d4af37; line-height:1; margin-top:2px; }
.testi-card__div{ height:1.5px; background:var(--line-soft); }
.testi-card__quote{ font-size:16px; line-height:1.6; color:var(--ink); }
.testi-card__mark{ align-self:flex-end; width:34px; height:34px; color:var(--mint); opacity:.5; margin-top:-6px; }

@media (max-width:760px){
  .testi-head{ flex-direction:column; align-items:flex-start; gap:16px; }
  .testi-stage{ height:auto; min-height:300px; }
  .testi-card{ width:min(88vw,420px); padding:26px; }
  .testi-card.is-next{ transform:translate(calc(-50% + 92%),-50%) scale(.82); opacity:.3; }
  .testi-card.is-prev{ transform:translate(calc(-50% - 92%),-50%) scale(.82); opacity:.3; }
}

/* ===================== STAFF — carrusel autoloop ===================== */
.marquee{
  margin-top:48px; overflow:hidden; position:relative;
  display:flex; /* los dos .marquee__track quedan uno al lado del otro */
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.marquee__track{
  display:flex; flex:none; gap:20px; padding-right:20px;
  animation:marquee 42s linear infinite;
}
.marquee:hover .marquee__track,
.marquee:focus-within .marquee__track{ animation-play-state:paused; }

/* -100% de CADA track (mismo ancho y contenido) = el segundo track queda
   exactamente donde arrancó el primero → el loop no muestra costura */
@keyframes marquee{
  from{ transform:translateX(0); }
  to{ transform:translateX(-100%); }
}

.staffer{
  position:relative; flex:none; width:230px; aspect-ratio:3/4;
  border-radius:var(--radius-m); overflow:hidden; border:1.5px solid var(--line);
}
.staffer__photo{ position:absolute; inset:0; }
.staffer__photo img{ width:100%; height:100%; object-fit:cover; }
.staffer__tag{
  position:absolute; left:12px; bottom:12px; right:12px;
  background:var(--white); border-radius:var(--radius-s); border:1.5px solid var(--line);
  padding:10px 14px;
  display:flex; flex-direction:column; gap:1px;
}
.staffer__name{ font-family:var(--f-display); font-weight:700; font-size:13.5px; color:var(--ink); line-height:1.2; }
.staffer__role{ font-size:11px; color:var(--mint-deep); font-weight:600; }

@media (max-width:600px){ .staffer{ width:168px; } }

/* ===================== CIERRE CTA — foto + overlay, como el hero ===================== */
.closing{
  position:relative; overflow:hidden; border-radius:var(--radius-l);
  border:1.5px solid rgba(255,255,255,.14);
  padding:60px 40px; text-align:center;
  background-color:#2e5c4e;
  background-image: var(--cta-overlay), url('../img/servicio-domiciliario.jpg');
  background-size:cover; background-position:center;
}
.closing .h2{ color:var(--white); max-width:22ch; margin-inline:auto; }
.closing p{ color:rgba(255,255,255,.78); max-width:46ch; margin:14px auto 28px; font-size:15.5px; line-height:1.6; }
.closing .btn-row{ justify-content:center; }

@media (max-width:600px){ .closing{ padding:44px 24px; } }

/* ===================== FRANJA OSCURA INTERMEDIA — corte visual ===================== */
.dark-band{
  position:relative; overflow:hidden;
  padding:var(--section-py) 24px;
  background-color:#2e5c4e;
  background-image: var(--cta-overlay), url('../img/servicio-paliativos.jpg');
  background-size:cover; background-position:center;
  text-align:center;
}
.dark-band__inner{ max-width:640px; margin-inline:auto; }
.dark-band .eyebrow{ color:var(--mint); justify-content:center; }
.dark-band .eyebrow::before{ background:var(--mint); }
.dark-band .h2{ color:var(--white); margin-top:16px; }
.dark-band p{ color:rgba(255,255,255,.82); margin:16px auto 30px; font-size:16px; line-height:1.65; max-width:48ch; }
.dark-band .btn-row{ justify-content:center; }

@media (max-width:760px){ .dark-band{ padding:var(--section-py-mobile) 22px; } }

/* ===================== LANDING COTIZADOR ===================== */
.quote-landing{ background:var(--mint-pale); }
.quote-landing__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;
}
.quote-landing__intro{ padding-top:16px; }
.quote-landing__checks{ display:flex; flex-direction:column; gap:14px; margin-top:32px; }
.quote-landing__checks li{ display:flex; align-items:center; gap:10px; font-size:15px; font-weight:500; color:var(--ink); }
.quote-landing__checks svg{ flex:none; color:var(--mint-deep); }

.quote-card{
  background:var(--white); border:1.5px solid var(--line); border-radius:var(--radius-l);
  padding:36px;
}
.quote-card__title{ font-family:var(--f-display); font-weight:800; font-size:24px; color:var(--ink); }
.quote-card__progress{ display:flex; gap:6px; margin-top:20px; }
.quote-card__progress span{ height:4px; flex:1; border-radius:2px; background:var(--line-soft); transition:background .3s var(--ease); }
.quote-card__progress span.is-active,
.quote-card__progress span.is-done{ background:var(--mint-deep); }
.quote-card__hint{ font-size:13px; font-weight:600; color:var(--mint-mid); margin-top:10px; }

.quote-card .step{ display:flex; flex-direction:column; gap:18px; margin-top:24px; }
.quote-card .step[hidden]{ display:none; }
.quote-card .field__input,
.quote-card .field__select{ width:100%; }
.quote-card textarea.field__input{ resize:vertical; min-height:90px; font-family:var(--f-body); }
.quote-card__actions{ display:flex; gap:12px; }
.quote-card__actions .btn--ghost{ flex:none; }
.quote-card__actions .btn--primary{ flex:1; }

@media (max-width:900px){
  .quote-landing__grid{ grid-template-columns:1fr; gap:36px; }
  .quote-card{ padding:26px 22px; }
}
