:root{
  --bg: #F6F1EA;
  --bg2:#FFF9F2;
  --card: rgba(255,255,255,.62);
  --card2: rgba(255,255,255,.78);
  --ink: #1C1B1A;
  --muted:#5B5652;
  --topbar-h: 72px;

  --line: rgba(28,27,26,.10);
  --shadow: 0 18px 55px rgba(28,27,26,.12);
  --shadow2: 0 12px 30px rgba(28,27,26,.10);

  --accent: #C77D5D;       /* warm terracotta */
  --accent2:#E7B59E;       /* soft blush */
  --sage: #8FAF9A;
  --gold: #E7C97A;

  --radius: 20px;
  --radius2: 26px;

  --container: 1120px;
  --ease: cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ink);
  background: radial-gradient(1200px 800px at 10% 0%, #fff, transparent 60%),
              radial-gradient(1000px 700px at 90% 5%, rgba(231,181,158,.35), transparent 65%),
              linear-gradient(180deg, var(--bg), var(--bg2));
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none}
button{font:inherit}

.container{
  width:min(var(--container), calc(100% - 32px));
  margin-inline:auto;
}

.bg{position:fixed; inset:0; pointer-events:none; z-index:-1}
.bg__grain{
  position:absolute; inset:-20%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
  opacity:.20;
  mix-blend-mode:multiply;
  transform:translateZ(0);
}
.bg__grid{
  position:absolute; inset:0;
  background:
    radial-gradient(800px 500px at 50% 0%, rgba(255,255,255,.55), transparent 60%),
    linear-gradient(rgba(28,27,26,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(28,27,26,.04) 1px, transparent 1px);
  background-size:auto, 70px 70px, 70px 70px;
  opacity:.35;
}
.bg__orb{
  position:absolute;
  width: 560px; height: 560px;
  border-radius:999px;
  filter: blur(40px);
  opacity:.55;
  transform: translate3d(0,0,0);
}
.bg__orb--a{
  left:-160px; top:-160px;
  background: radial-gradient(circle at 30% 30%, rgba(231,181,158,.85), rgba(231,181,158,0) 62%);
}
.bg__orb--b{
  right:-220px; top:80px;
  width: 640px; height: 640px;
  background: radial-gradient(circle at 40% 40%, rgba(143,175,154,.70), rgba(143,175,154,0) 65%);
}
.bg__orb--c{
  left: 30%; bottom:-260px;
  width: 780px; height: 780px;
  background: radial-gradient(circle at 45% 45%, rgba(231,201,122,.55), rgba(231,201,122,0) 68%);
}

/* Sticky quick rail */
.rail{
  position:fixed;
  left:14px;
  bottom:14px;
  z-index:40;
  display:flex;
  gap:10px;
  padding:10px;
  border:1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(12px);
  border-radius:999px;
  box-shadow: var(--shadow2);
}
.rail__btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(28,27,26,.10);
  background: rgba(255,255,255,.65);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
}
.rail__btn:hover{ transform: translateY(-2px); box-shadow: 0 10px 25px rgba(28,27,26,.12); }
.rail__btn--primary{
  border-color: rgba(199,125,93,.35);
  background: linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,.50));
}
.rail__dot{
  width:10px; height:10px; border-radius:99px;
  background: radial-gradient(circle at 30% 30%, var(--accent2), var(--accent));
  box-shadow: 0 0 0 4px rgba(199,125,93,.15);
}
@media (max-width: 880px){
  .rail{left:10px; right:10px; bottom:10px; justify-content:space-between}
  .rail__btn{flex:1; justify-content:center}
}

/* Header */
.top{
  position:relative;
  top:0;
  z-index:35;
  backdrop-filter: blur(10px);
  background: rgba(246,241,234,.72);
  border-bottom: 1px solid rgba(28,27,26,.07);
}
.top__inner{
  display:flex;
  align-items:center;
  min-height: 64px;
  justify-content:space-between;
  gap:14px;
  padding: 12px 0;
}

.brand{display:flex; align-items:center; gap:12px}
.brand__mark{
  width:42px; height:42px;
  border-radius:14px;
  position:relative;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(28,27,26,.10);
  box-shadow: 0 10px 24px rgba(28,27,26,.10);
  overflow:hidden;
}
.brand__mark--small{width:36px;height:36px;border-radius:12px}
.brand__halo{
  position:absolute; inset:-20%;
  background: radial-gradient(circle at 30% 30%, rgba(231,181,158,.95), rgba(143,175,154,.75), rgba(231,201,122,.35));
  filter: blur(12px);
  opacity:.75;
}
.brand__leaf{
  position:absolute; inset:0;
  background:
    radial-gradient(10px 10px at 55% 40%, rgba(255,255,255,.95), rgba(255,255,255,0) 70%),
    radial-gradient(16px 14px at 45% 60%, rgba(255,255,255,.70), rgba(255,255,255,0) 72%),
    radial-gradient(100px 60px at 55% 60%, rgba(28,27,26,.08), transparent 70%);
  mask-image: radial-gradient(circle at 50% 60%, #000 55%, transparent 58%);
  opacity:.9;
}
.brand__text{display:flex; flex-direction:column; line-height:1.05}
.brand__name{
  font-family: Fraunces, serif;
  font-weight:600;
  letter-spacing:.2px;
}
.brand__sub{
  font-size:12px;
  color: var(--muted);
  margin-top:2px;
}
.navOverlay{
  position: fixed;
  inset: 0;
  z-index: 34; /* debajo del .nav que está en 35+ */
  background: rgba(28,27,26,.22);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s var(--ease);
}

.navOverlay.is-on{
  opacity: 1;
  pointer-events: auto;
}

.navBtn{
  width:46px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(28,27,26,.10);
  background: rgba(255,255,255,.62);
  display:none;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  position:relative;
  transition: transform .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease);
}

.navBtn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(28,27,26,.10);
}

.navBtn span{
  position:absolute;
  width:18px;
  height:2px;
  border-radius:999px;
  background: rgba(28,27,26,.78);
  transition: transform .22s var(--ease), opacity .18s var(--ease);
}

/* top / mid / bottom */
.navBtn span:nth-child(1){ transform: translateY(-6px); }
.navBtn span:nth-child(2){ transform: translateY(0); }
.navBtn span:nth-child(3){ transform: translateY(6px); }

/* OPEN state -> X */
.navBtn.is-open span:nth-child(1){ transform: translateY(0) rotate(45deg); }
.navBtn.is-open span:nth-child(2){ opacity:0; }
.navBtn.is-open span:nth-child(3){ transform: translateY(0) rotate(-45deg); }

.nav{
  display:flex;
  align-items:center;
  gap:12px;
}
.nav a:not(.btn){
  font-size:14px;
  color: rgba(28,27,26,.76);
  padding:10px 10px;
  border-radius:999px;
  transition: background .2s var(--ease), transform .2s var(--ease);
}
.nav a:not(.btn):hover{
  background: rgba(255,255,255,.55);
  transform: translateY(-1px);
}
.nav a.is-active{
  background: rgba(199,125,93,.14);
  color: rgba(28,27,26,.9);
  border: 1px solid rgba(199,125,93,.18);
}

@media (max-width: 980px){
  .navBtn{display:flex}
  .nav{
    position: fixed;
    right: 12px;
    left: 12px;
 top: calc(env(safe-area-inset-top) + 72px);
    max-height: calc(100dvh - (env(safe-area-inset-top) + 72px + 16px));
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    display: grid;
    gap: 10px;

    padding: 14px;
    border-radius: 20px;

    background: rgba(255,255,255,.62);
    backdrop-filter: blur(16px) saturate(1.25);
    -webkit-backdrop-filter: blur(16px) saturate(1.25);

    border: 1px solid rgba(255,255,255,.62);
    box-shadow: 0 24px 70px rgba(28,27,26,.18);

    transform: translateY(-10px) scale(.985);
    opacity: 0;
    pointer-events: none;

    transition: opacity .22s var(--ease), transform .22s var(--ease);
    z-index: 35;
  }
    .nav.is-open{
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }
    .nav a:not(.btn){
    padding: 12px 12px;
    border-radius: 14px;
    background: rgba(255,255,255,.40);
    border: 1px solid rgba(28,27,26,.08);
  }
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 12px 14px;
  border-radius: 999px;
  border: 1px solid rgba(28,27,26,.10);
  background: rgba(255,255,255,.65);
  transition: transform .22s var(--ease), box-shadow .22s var(--ease), background .22s var(--ease);
  cursor:pointer;
  user-select:none;
}
.btn:hover{transform: translateY(-2px); box-shadow: 0 14px 30px rgba(28,27,26,.12)}
.btn:active{transform: translateY(0)}
.btn--block{width:100%}
.btn__icon{opacity:.8}

.btn--primary{
  border-color: rgba(199,125,93,.35);
  background: linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.55));
  box-shadow: 0 18px 40px rgba(199,125,93,.18);
}
.btn--soft{
  background: rgba(255,255,255,.55);
}
.btn--ghost{
  background: rgba(255,255,255,.35);
}
.btn--shine{
  position:relative;
  overflow:hidden;
}
.btn--shine::after{
  content:"";
  position:absolute;
  inset:-2px;
  transform: translateX(-120%);
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.55), transparent);
  transition: transform .9s var(--ease);
}
.btn--shine:hover::after{transform: translateX(120%)}

/* Hero */
.hero{
  padding: 42px 0 18px;
  position:relative;
}
.hero__inner{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 22px;
  align-items:start;
}
.hero__copy{padding-top: 10px}

.pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.60);
  border: 1px solid rgba(28,27,26,.10);
  box-shadow: 0 10px 20px rgba(28,27,26,.08);
  font-size: 13px;
  color: rgba(28,27,26,.74);
}
.pill__dot{
  width:10px;height:10px;border-radius:99px;
  background: radial-gradient(circle at 30% 30%, var(--sage), var(--accent));
  box-shadow: 0 0 0 4px rgba(143,175,154,.14);
}

.hero__h1{
  margin: 14px 0 10px;
  font-family: Fraunces, serif;
  font-weight: 600;
  font-size: clamp(34px, 4.2vw, 54px);
  letter-spacing: -0.5px;
  line-height: 1.05;
}
.hero__p{
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.7;
  color: rgba(28,27,26,.76);
  max-width: 56ch;
}
.hero__cta{display:flex; gap:12px; flex-wrap:wrap; margin: 10px 0 16px}

.trust{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top: 16px;
}
.trust__item{
  flex:1 1 160px;
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.55);
  border:1px solid rgba(28,27,26,.10);
  box-shadow: 0 10px 22px rgba(28,27,26,.08);
}
.trust__k{display:block; font-weight:700}
.trust__v{display:block; margin-top:4px; font-size:13px; color: rgba(28,27,26,.68)}

.hero__card{position:relative}
.cardGlow{
  position:absolute; inset:-10%;
  background:
    radial-gradient(240px 220px at 30% 20%, rgba(231,181,158,.65), transparent 62%),
    radial-gradient(260px 240px at 70% 25%, rgba(143,175,154,.55), transparent 64%),
    radial-gradient(280px 250px at 55% 80%, rgba(231,201,122,.45), transparent 66%);
  filter: blur(18px);
  opacity:.75;
  z-index:0;
}
.heroCard{
  position:relative;
  z-index:1;
  border-radius: var(--radius2);
  border: 1px solid rgba(255,255,255,.72);
  background: linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.48));
  box-shadow: var(--shadow);
  overflow:hidden;
}
.heroCard::before{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(900px 240px at 50% 0%, rgba(255,255,255,.60), transparent 60%);
  opacity:.75;
  pointer-events:none;
}
.heroCard__top{padding: 18px 18px 10px}
.heroCard__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(199,125,93,.12);
  border: 1px solid rgba(199,125,93,.16);
  color: rgba(28,27,26,.78);
  font-size: 13px;
}
.heroCard__title{
  margin: 12px 0 6px;
  font-family: Fraunces, serif;
  font-size: 22px;
}
.heroCard__sub{margin:0; color: rgba(28,27,26,.72); line-height: 1.65}
.heroCard__rows{padding: 10px 18px 8px; display:grid; gap:10px}
.row{
  display:flex; gap:12px; align-items:center;
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.52);
  border: 1px solid rgba(28,27,26,.08);
}
.row__icon{
  width:36px;height:36px;border-radius:14px;
  display:grid;place-items:center;
  background: rgba(231,181,158,.22);
  border: 1px solid rgba(199,125,93,.16);
}
.row__t{font-weight:700}
.row__d{font-size:13px;color: rgba(28,27,26,.68); margin-top:2px}
.heroCard__actions{padding: 10px 18px 16px; display:grid; gap:10px}
.heroCard__fine{
  padding: 12px 18px 16px;
  font-size: 12px;
  color: rgba(28,27,26,.60);
  border-top: 1px solid rgba(28,27,26,.08);
  background: rgba(255,255,255,.45);
}

.hero__wave{
  height: 22px;
  margin-top: 26px;
  background:
    radial-gradient(18px 10px at 10% 50%, rgba(199,125,93,.14), transparent 70%),
    radial-gradient(20px 12px at 30% 50%, rgba(143,175,154,.14), transparent 70%),
    radial-gradient(20px 12px at 50% 50%, rgba(231,201,122,.14), transparent 70%),
    radial-gradient(18px 10px at 70% 50%, rgba(199,125,93,.14), transparent 70%),
    radial-gradient(20px 12px at 90% 50%, rgba(143,175,154,.14), transparent 70%);
  opacity:.9;
}

@media (max-width: 980px){
  .hero__inner{grid-template-columns:1fr}
}

/* Sections */
.section{padding: 56px 0}
.section--soft{
  background: linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,0));
  border-top: 1px solid rgba(28,27,26,.06);
  border-bottom: 1px solid rgba(28,27,26,.06);
}
.section__head{margin-bottom: 18px}
.h2{
  margin:0 0 8px;
  font-family: Fraunces, serif;
  font-size: clamp(24px, 2.7vw, 34px);
  letter-spacing: -.2px;
}
.h3{
  margin:0 0 8px;
  font-family: Fraunces, serif;
  font-size: 20px;
}
.sub{
  margin:0;
  color: rgba(28,27,26,.72);
  line-height:1.7;
  max-width: 70ch;
}
.p{margin: 10px 0; color: rgba(28,27,26,.72); line-height:1.75}

/* Tiles */
.grid4{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 16px;
}
.tile{
  padding: 16px 16px 14px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(28,27,26,.10);
  box-shadow: 0 12px 28px rgba(28,27,26,.08);
  cursor:pointer;
  transition: transform .22s var(--ease), box-shadow .22s var(--ease), background .22s var(--ease);
}
.tile:hover{transform: translateY(-4px) rotate(-.15deg); box-shadow: 0 18px 42px rgba(28,27,26,.12)}
.tile__icon{
  width:40px;height:40px;border-radius:16px;
  display:grid;place-items:center;
  background: rgba(143,175,154,.16);
  border: 1px solid rgba(143,175,154,.18);
  margin-bottom: 10px;
}
.tile h3{margin:0 0 6px}
.tile p{margin:0; color: rgba(28,27,26,.70); line-height:1.65}
.tile__link{
  display:inline-flex;
  margin-top: 12px;
  font-weight:600;
  color: rgba(28,27,26,.76);
  opacity:.9;
}
@media (max-width: 1020px){ .grid4{grid-template-columns: repeat(2, 1fr)} }
@media (max-width: 560px){ .grid4{grid-template-columns: 1fr} }

.note{
  margin-top: 14px;
  display:flex;
  gap:12px;
  padding: 14px 14px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.52);
  border: 1px solid rgba(28,27,26,.10);
}
.note__icon{
  width:40px;height:40px;border-radius:16px;
  display:grid;place-items:center;
  background: rgba(231,201,122,.18);
  border: 1px solid rgba(231,201,122,.20);
}

/* Steps */
.steps{
  position:relative;
  display:grid;
  gap:10px;
  margin-top: 18px;
  padding: 10px;
  border-radius: var(--radius2);
  background: rgba(255,255,255,.45);
  border: 1px solid rgba(28,27,26,.08);
  box-shadow: 0 12px 30px rgba(28,27,26,.08);
  overflow:hidden;
}
.steps__rail{
  position:absolute;
  left: 42px;
  top: 22px;
  bottom: 22px;
  width:2px;
  background: linear-gradient(180deg, rgba(199,125,93,.25), rgba(143,175,154,.18), rgba(231,201,122,.18));
  opacity:.6;
}
.step{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding: 14px 14px;
  border-radius: 18px;
  border: 1px solid rgba(28,27,26,.08);
  background: rgba(255,255,255,.55);
  cursor:pointer;
  text-align:left;
  transition: transform .22s var(--ease), box-shadow .22s var(--ease);
}
.step:hover{transform: translateY(-2px); box-shadow: 0 16px 34px rgba(28,27,26,.10)}
.step__ring{
  width:32px;height:32px;border-radius:999px;
  background: rgba(255,255,255,.60);
  border: 1px solid rgba(28,27,26,.14);
  position:relative;
  margin-top: 2px;
}
.step__ring::after{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:999px;
  background: radial-gradient(circle at 30% 30%, rgba(231,181,158,.95), rgba(199,125,93,.15));
  opacity: 0;
  transform: scale(.6);
  transition: transform .45s var(--ease), opacity .45s var(--ease);
}
.step.is-active .step__ring::after{
  opacity:1;
  transform: scale(1);
}
.step__t{display:block; font-weight:800}
.step__d{display:block; margin-top:4px; color: rgba(28,27,26,.70); line-height:1.55; font-size: 14px}
.step.is-active{
  transform: translateY(-2px) rotate(-.08deg);
  box-shadow: 0 18px 44px rgba(28,27,26,.12);
}

/* CTA card */
.ctaCard{
  margin-top: 16px;
  padding: 16px;
  border-radius: var(--radius2);
  background: linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.48));
  border: 1px solid rgba(28,27,26,.10);
  box-shadow: var(--shadow2);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.ctaCard__btns{display:flex; gap:10px; flex-wrap:wrap}
@media (max-width: 760px){
  .ctaCard{flex-direction:column; align-items:stretch}
  .ctaCard__btns .btn{width:100%}
}

/* Split panels */
.split{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 12px;
  margin-top: 16px;
}
.panel{
  padding: 18px;
  border-radius: var(--radius2);
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(28,27,26,.10);
  box-shadow: var(--shadow2);
}
.panel--accent{
  background: linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.46));
  border-color: rgba(199,125,93,.18);
}
.chips{
  list-style:none; padding:0; margin: 12px 0 0;
  display:flex; flex-wrap:wrap; gap:8px;
}
.chips li{
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(28,27,26,.10);
  background: rgba(255,255,255,.55);
  font-size: 13px;
}
.price{display:flex; align-items:flex-end; gap:10px; margin-top: 8px}
.price__big{font-size: 44px; font-weight:900; letter-spacing:-.7px}
.price__small{color: rgba(28,27,26,.66)}
.divider{height:1px; background: rgba(28,27,26,.10); margin: 14px 0}
.mini{display:flex; gap:10px; padding: 10px 0}
.mini__k{min-width:90px; font-weight:800}
.mini__v{color: rgba(28,27,26,.72); line-height:1.6}
.panel__btns{display:grid; gap:10px; margin-top: 10px}
@media (max-width: 980px){ .split{grid-template-columns:1fr} }

/* ============================
   ABOUT (UPDATED) — Big photo + Trust layout
   Desktop: 2 columns
   Tablet/Mobile: 1 column
   ============================ */
.about--v2{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 14px;
  margin-top: 16px;
  align-items:start;
}

/* LEFT CARD */
.aboutCard{
  border-radius: var(--radius2);
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(28,27,26,.10);
  box-shadow: var(--shadow2);
  overflow:hidden;
  position:relative;
}

/* subtle moving glow */
.aboutCard::before{
  content:"";
  position:absolute;
  inset:-30%;
  background:
    radial-gradient(circle at 30% 30%, rgba(231,181,158,.28), transparent 55%),
    radial-gradient(circle at 70% 60%, rgba(143,175,154,.22), transparent 60%),
    radial-gradient(circle at 55% 85%, rgba(231,201,122,.18), transparent 62%);
  filter: blur(26px);
  opacity:.55;
  transform: translate3d(0,0,0);
  animation: aboutGlow 10s var(--ease) infinite alternate;
  pointer-events:none;
}

@keyframes aboutGlow{
  from{ transform: translate3d(-8px,-6px,0) scale(1); opacity:.50; }
  to{ transform: translate3d(10px,8px,0) scale(1.02); opacity:.65; }
}

.aboutCard__top{
  padding: 18px 18px 0;
  position:relative;
  z-index:1;
}

.aboutCard__badge{
  display:inline-flex;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(143,175,154,.18);
  background: rgba(143,175,154,.12);
  font-size: 13px;
  margin-bottom: 12px;
}

/* ============================
   BIG IMAGE LAYOUT (FIX)
   ============================ */

/* before it was flex row; now stack (image big, then text) */
.aboutCard__id{
  display:grid;
  grid-template-columns: 1fr;
  gap: 14px;
  align-items:start;
}

/* BIG PORTRAIT IMAGE (full width) */
.aboutCard__passport{
  width: 100%;
  border-radius: 24px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.75);
  background: rgba(255,255,255,.40);
  box-shadow: 0 22px 58px rgba(28,27,26,.16);
  position:relative;

  /* tall rectangle */
  aspect-ratio: 4 / 5;
  max-height: 640px;
}

/* ensure image fills */
.aboutCard__passport img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* adjust this if face is too high/low */
  object-position: center 18%;
  display:block;
  transform: scale(1.01);
}

/* premium rim */
.aboutCard__passport::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.40),
    inset 0 0 0 999px rgba(0,0,0,.02);
  pointer-events:none;
}

/* text block under photo */
.aboutCard__who{
  min-width: 0;
}

.aboutCard__name{
  margin:0;
  font-family: Fraunces, serif;
  font-size: 24px;
  letter-spacing: -.2px;
}

.aboutCard__role{
  margin: 6px 0 0;
  font-size: 13px;
  color: rgba(28,27,26,.68);
  line-height: 1.6;
}

.aboutCard__micro{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top: 10px;
}

.microTag{
  display:inline-flex;
  align-items:center;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(28,27,26,.10);
  background: rgba(255,255,255,.52);
  font-size: 12.5px;
  color: rgba(28,27,26,.74);
  box-shadow: 0 8px 18px rgba(28,27,26,.08);
}

/* body */
.aboutCard__body{
  padding: 12px 18px 14px;
  position:relative;
  z-index:1;
}

.aboutCard__points{
  display:grid;
  gap:10px;
  margin-top: 12px;
}

/* pts (keep compatible) */
.pt{
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(28,27,26,.08);
  background: rgba(255,255,255,.50);
}

.pt--lift{
  transition: transform .22s var(--ease), box-shadow .22s var(--ease);
}
.pt--lift:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(28,27,26,.14);
}

/* CTA */
.aboutCard__cta{
  padding: 0 18px 14px;
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}

.aboutCard__fine{
  padding: 12px 18px 16px;
  font-size: 12px;
  color: rgba(28,27,26,.60);
  border-top: 1px solid rgba(28,27,26,.08);
  background: rgba(255,255,255,.45);
  position:relative;
  z-index:1;
}

/* RIGHT SIDE */
.aboutSide{
  display:block;
}

.trustStack{
  display:grid;
  gap: 12px;
}

/* Trust cards with soft motion */
.trustCard{
  padding: 16px;
  border-radius: var(--radius2);
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(28,27,26,.10);
  box-shadow: var(--shadow2);
  position:relative;
  overflow:hidden;
  transform: translate3d(0,0,0);
  transition: transform .22s var(--ease), box-shadow .22s var(--ease);
}

.trustCard:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(28,27,26,.14);
}

/* subtle shimmer sweep */
.trustCard::before{
  content:"";
  position:absolute;
  inset:-2px;
  transform: translateX(-120%);
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.38), transparent);
  opacity:.75;
  transition: transform 1.1s var(--ease);
  pointer-events:none;
}
.trustCard:hover::before{ transform: translateX(120%); }

.trustCard__head{
  display:flex;
  gap: 12px;
  align-items:flex-start;
}

.trustCard__icon{
  width: 38px;
  height: 38px;
  border-radius: 16px;
  display:grid;
  place-items:center;
  background: rgba(231,181,158,.18);
  border: 1px solid rgba(199,125,93,.16);
  flex: 0 0 auto;
}

.trustCard__k{
  font-weight: 900;
  margin: 0;
}

.trustCard__s{
  margin-top: 4px;
  color: rgba(28,27,26,.70);
  line-height: 1.6;
  font-size: 13.5px;
}

/* Quote variant */
.trustCard--quote{
  background: linear-gradient(180deg, rgba(231,181,158,.22), rgba(255,255,255,.48));
  border-color: rgba(199,125,93,.18);
}

.trustCard__mark{
  position:absolute;
  left: 14px;
  top: 6px;
  font-family: Fraunces, serif;
  font-size: 68px;
  line-height: 1;
  opacity: .18;
  pointer-events:none;
}

.trustCard__title{
  margin: 0;
  padding-top: 22px;
  font-family: Fraunces, serif;
  font-size: 20px;
  line-height: 1.25;
  position:relative;
  z-index:1;
}

.trustCard__sub{
  margin-top: 10px;
  color: rgba(28,27,26,.70);
  font-size: 13px;
  position:relative;
  z-index:1;
}

/* Privacy list */
.trustList{
  margin-top: 12px;
  display:grid;
  gap: 10px;
  position:relative;
  z-index:1;
}

.trustItem{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  color: rgba(28,27,26,.74);
  line-height: 1.6;
  font-size: 13.8px;
}

.trustDot{
  width:10px;
  height:10px;
  border-radius: 999px;
  margin-top: 5px;
  background: radial-gradient(circle at 30% 30%, var(--accent2), var(--accent));
  box-shadow: 0 0 0 4px rgba(199,125,93,.12);
  flex: 0 0 auto;
}

.trustNote{
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.45);
  border: 1px solid rgba(28,27,26,.08);
  display:flex;
  gap: 10px;
  align-items:flex-start;
  color: rgba(28,27,26,.72);
  font-size: 13.5px;
  line-height: 1.6;
  position:relative;
  z-index:1;
}

.trustNote .trustR{
  width:18px;
  height:18px;
  border-radius: 8px;
  display:grid;
  place-items:center;
  background: rgba(143,175,154,.18);
  border: 1px solid rgba(143,175,154,.18);
  flex: 0 0 auto;
}

/* Quick facts grid */
.trustGrid{
  margin-top: 12px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
  position:relative;
  z-index:1;
}

.trustMini{
  padding: 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.48);
  border: 1px solid rgba(28,27,26,.08);
  transition: transform .22s var(--ease), box-shadow .22s var(--ease);
}

.trustMini:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(28,27,26,.12);
}

.trustMini__k{
  font-weight: 900;
  font-size: 13px;
}

.trustMini__v{
  margin-top: 5px;
  color: rgba(28,27,26,.70);
  line-height: 1.55;
  font-size: 13.3px;
}

/* Bullet list refined */
.softBullets{
  margin: 12px 0 0;
  padding-left: 18px;
  color: rgba(28,27,26,.72);
  line-height: 1.9;
  position:relative;
  z-index:1;
}

/* ============================
   RESPONSIVE
   ============================ */

@media (max-width: 980px){
  .about--v2{
    grid-template-columns: 1fr;
  }

  /* keep image tall on tablet */
  .aboutCard__passport{
    border-radius: 22px;
    aspect-ratio: 3 / 4;
    max-height: 620px;
  }

  .trustGrid{
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px){
  .aboutCard__top{
    padding: 16px 16px 0;
  }
  .aboutCard__body{
    padding: 12px 16px 14px;
  }
  .aboutCard__cta{
    padding: 0 16px 14px;
    display:grid;
    gap: 10px;
  }
  .aboutCard__cta .btn{
    width:100%;
  }

  .aboutCard__name{
    font-size: 22px;
  }

  /* full-width big image on mobile */
  .aboutCard__passport{
    border-radius: 20px;
    aspect-ratio: 3 / 4;
    max-height: 560px;
  }

  .trustGrid{
    grid-template-columns: 1fr;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .aboutCard::before{ animation:none; }
  .trustCard, .trustMini, .pt--lift{ transition:none; }
  .trustCard::before{ transition:none; }
}


/* FAQ */
.faq{
  margin-top: 16px;
  border-radius: var(--radius2);
  overflow:hidden;
  border: 1px solid rgba(28,27,26,.10);
  background: rgba(255,255,255,.55);
  box-shadow: var(--shadow2);
}
.faq__q{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 16px 16px;
  background: transparent;
  border:0;
  border-bottom: 1px solid rgba(28,27,26,.08);
  cursor:pointer;
  text-align:left;
  font-weight:800;
}
.faq__q:hover{background: rgba(255,255,255,.38)}
.faq__icon{
  width:34px;height:34px;border-radius:14px;
  display:grid;place-items:center;
  border: 1px solid rgba(28,27,26,.12);
  background: rgba(255,255,255,.55);
}
.faq__a{
  padding: 0 16px 14px;
  color: rgba(28,27,26,.72);
  line-height:1.75;
  display:none;
}
.faq__item.is-open .faq__a{display:block}
.faq__item.is-open .faq__icon{transform: rotate(45deg)}

/* Contact */
.contact{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 12px;
  margin-top: 16px;
}
.contact__card{
  padding: 18px;
  border-radius: var(--radius2);
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(28,27,26,.10);
  box-shadow: var(--shadow2);
}
.contact__actions{display:grid; gap:10px; margin-top: 12px}
.contact__fine{margin-top: 10px; font-size: 12px; color: rgba(28,27,26,.60)}
.contact__side{display:grid; gap:12px}
.miniBlock{
  padding: 16px;
  border-radius: var(--radius2);
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(28,27,26,.10);
  box-shadow: var(--shadow2);
}
.miniBlock__k{font-weight:900}
.miniBlock__v{margin-top:6px; color: rgba(28,27,26,.72); line-height:1.65}
.miniBlock--warn{
  background: linear-gradient(180deg, rgba(231,201,122,.22), rgba(255,255,255,.48));
  border-color: rgba(231,201,122,.28);
}
.softCta{
  padding: 16px;
  border-radius: var(--radius2);
  background: rgba(255,255,255,.45);
  border: 1px solid rgba(28,27,26,.10);
  box-shadow: var(--shadow2);
}
.softCta__t{font-weight:900}
.softCta__d{margin-top:6px; color: rgba(28,27,26,.70); line-height:1.65}
@media (max-width: 980px){ .contact{grid-template-columns:1fr} }

/* Footer */
.footer{
  padding: 22px 0 90px;
  border-top: 1px solid rgba(28,27,26,.06);
}
.footer__inner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.footer__brand{display:flex; align-items:center; gap:10px}
.footer__name{font-weight:900}
.footer__sub{color: rgba(28,27,26,.62); font-size: 13px; margin-top:2px}
.footer__fine{margin-top: 8px; font-size: 12px; color: rgba(28,27,26,.60)}
.footer__right{display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end}
.footer__right a{padding:8px 10px; border-radius:999px}
.footer__right a:hover{background: rgba(255,255,255,.45)}
@media (max-width: 760px){
  .footer__inner{flex-direction:column}
  .footer__right{justify-content:flex-start}
}

/* Reveal animations */
.reveal{
  opacity:0;
  transform: translateY(14px) scale(.99);
  transition: opacity .8s var(--ease), transform .8s var(--ease);
  will-change: opacity, transform;
}
.reveal.is-in{
  opacity:1;
  transform: translateY(0) scale(1);
}

/* Modal */
.modal{
  position:fixed;
  inset:0;
  z-index:60;
  display:none;
}
.modal.is-open{display:block}
.modal__backdrop{
  position:absolute; inset:0;
  background: rgba(28,27,26,.22);
  backdrop-filter: blur(6px);
}
.modal__panel{
  position:absolute;
  left:50%; top:50%;
  transform: translate(-50%, -50%);
  width: min(700px, calc(100% - 26px));
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.65);
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.58));
  box-shadow: 0 30px 90px rgba(28,27,26,.22);
  overflow:hidden;
}
.modal__x{
  position:absolute;
  right:10px; top:10px;
  width:44px; height:44px;
  border-radius:16px;
  border: 1px solid rgba(28,27,26,.10);
  background: rgba(255,255,255,.60);
  cursor:pointer;
  transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}
.modal__x:hover{transform: translateY(-1px); box-shadow: 0 12px 26px rgba(28,27,26,.12)}
.modal__content{padding: 20px}
.modal__pill{
  display:inline-flex;
  padding: 8px 10px;
  border-radius:999px;
  border: 1px solid rgba(199,125,93,.16);
  background: rgba(199,125,93,.12);
  font-size: 13px;
}
.modal__h{
  margin: 12px 0 8px;
  font-family: Fraunces, serif;
  font-size: 28px;
  letter-spacing:-.2px;
}
.modal__p{
  margin:0;
  color: rgba(28,27,26,.74);
  line-height:1.75;
}
.modal__cta{display:flex; gap:10px; flex-wrap:wrap; margin-top: 14px}
.modal__fine{
  margin-top: 14px;
  font-size: 12px;
  color: rgba(28,27,26,.60);
  border-top: 1px solid rgba(28,27,26,.08);
  padding-top: 12px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal{transition:none}
  .btn,.tile,.step,.rail__btn{transition:none}
  .bg__grain{display:none}
}
/* estilos para anuncios */
/* ============================
   Sponsored Carousel (Warm / Light)
   ============================ */

.adSlot{
  padding: 14px 0 6px;
}

.adSlot__inner{
  width:min(var(--container), calc(100% - 32px));
  margin: 0 auto;
  border-radius: var(--radius2);
  border: 1px solid rgba(28,27,26,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.50));
  box-shadow: var(--shadow2);
  overflow: hidden;
  position: relative;
}

.adSlot__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(28,27,26,.08);
  background: rgba(255,255,255,.45);
}

.adSlot__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(199,125,93,.18);
  background: rgba(199,125,93,.12);
  font-size: 13px;
  font-weight: 800;
  color: rgba(28,27,26,.78);
}
.adSlot__badge::before{
  content:"";
  width:8px;height:8px;border-radius:99px;
  background: radial-gradient(circle at 30% 30%, var(--accent2), var(--accent));
  box-shadow: 0 0 0 4px rgba(199,125,93,.12);
}

.adSlot__controls{display:flex; gap:10px}

.adBtn{
  width:40px;height:40px;
  border-radius: 16px;
  border: 1px solid rgba(28,27,26,.12);
  background: rgba(255,255,255,.60);
  cursor:pointer;
  transition: transform .22s var(--ease), box-shadow .22s var(--ease);
  display:grid; place-items:center;
  font-size: 22px;
  line-height: 1;
  color: rgba(28,27,26,.75);
}
.adBtn:hover{transform: translateY(-1px); box-shadow: 0 12px 26px rgba(28,27,26,.12)}
.adBtn:active{transform: translateY(0)}

.adCarousel{
  position: relative;
  height: clamp(170px, 26vw, 240px);
  overflow: hidden;
}

.adTrack{
  height: 100%;
  display:flex;
  will-change: transform;
  transform: translate3d(0,0,0);
  transition: transform .75s var(--ease);
}

.adSlide{
  flex: 0 0 100%;
  height: 100%;
  position: relative;
  display:grid;
  place-items:center;
  padding: 16px;
}

.adSlide__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.70);
  box-shadow: 0 18px 45px rgba(28,27,26,.12);
}

.adSlide__overlay{
  position:absolute;
  inset: 0;
  border-radius: 0;
  pointer-events:none;
  background:
    radial-gradient(900px 240px at 40% 0%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(520px 360px at 90% 70%, rgba(231,181,158,.26), transparent 70%),
    linear-gradient(90deg, rgba(28,27,26,.14), transparent 45%, rgba(28,27,26,.10));
  opacity: .65;
}

.adMock{
  width: 100%;
  height: 100%;
  border-radius: 18px;
  border: 1px solid rgba(28,27,26,.10);
  background:
    radial-gradient(900px 260px at 30% 0%, rgba(255,255,255,.60), transparent 60%),
    radial-gradient(480px 360px at 80% 60%, rgba(143,175,154,.18), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,.44));
  box-shadow: 0 18px 45px rgba(28,27,26,.12);
  padding: 16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap: 10px;
  position: relative;
  overflow:hidden;
}

.adMock::before{
  content:"";
  position:absolute; inset:-40%;
  background: radial-gradient(circle at 30% 30%, rgba(231,181,158,.55), rgba(143,175,154,.42), rgba(231,201,122,.28));
  filter: blur(30px);
  opacity: .55;
}

.adMock__content{
  position: relative;
  z-index: 2;
  max-width: 62ch;
}

.adMock__title{
  margin:0;
  font-family: Fraunces, serif;
  font-size: clamp(18px, 2.2vw, 26px);
  letter-spacing: -.2px;
}
.adMock__text{
  margin:0;
  line-height: 1.75;
  color: rgba(28,27,26,.74);
  font-size: 14.5px;
}
.adMock__cta{
  margin-top: 10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* dots */
.adDots{
  display:flex;
  justify-content:center;
  gap:8px;
  padding: 12px 12px 14px;
  background: rgba(255,255,255,.34);
  border-top: 1px solid rgba(28,27,26,.06);
}
.adDot{
  width: 10px; height: 10px;
  border-radius: 99px;
  border: 1px solid rgba(28,27,26,.16);
  background: rgba(255,255,255,.70);
  cursor:pointer;
  transition: transform .25s var(--ease), width .25s var(--ease), opacity .25s var(--ease);
  opacity: .7;
}
.adDot.is-on{
  width: 26px;
  opacity: 1;
  background: radial-gradient(circle at 30% 30%, var(--accent2), var(--accent));
  border-color: rgba(199,125,93,.25);
}
.adDot:hover{transform: translateY(-1px)}

/* pause hint */
.adSlot__inner:hover .adSlot__badge{
  box-shadow: 0 12px 26px rgba(28,27,26,.10);
}
/* ============================
   FIX MOBILE — Sponsored Carousel
   Pega ESTO al final del CSS
   ============================ */

@media (max-width: 640px){

  .adSlot{
    padding: 10px 0 4px;
  }

  .adSlot__inner{
    width: calc(100% - 20px);
    border-radius: 22px;
  }

  .adSlot__head{
    padding: 10px 10px;
    gap: 10px;
  }

  .adSlot__badge{
    padding: 7px 9px;
    font-size: 12px;
  }

  .adSlot__controls{
    gap: 8px;
  }

  .adBtn{
    width: 38px;
    height: 38px;
    border-radius: 14px;
    font-size: 20px;
  }

  /* MÁS ALTO EN MOBILE para que no se corte el mock */
  .adCarousel{
    height: 280px;              /* <- clave */
  }

  .adSlide{
    padding: 10px;              /* menos padding */
  }

  .adSlide__img{
    border-radius: 16px;
  }

  .adMock{
    border-radius: 16px;
    padding: 12px;
    gap: 8px;
    justify-content: flex-start; /* evita que se “aplane” abajo */
  }

  /* content area: si el texto crece, no rompe el layout */
  .adMock__content{
    max-width: 100%;
    max-height: 100%;
    overflow: auto;
    padding-right: 2px;
    -webkit-overflow-scrolling: touch;
  }

  .adMock__title{
    font-size: 18px;
    line-height: 1.15;
  }

  .adMock__text{
    font-size: 13.5px;
    line-height: 1.65;
  }

  /* CTA en columna para que SIEMPRE se vea completo */
  .adMock__cta{
    margin-top: 10px;
    display: grid;
    gap: 10px;
  }

  .adMock__cta .btn{
    width: 100%;
  }

  .adDots{
    padding: 10px 10px 12px;
    gap: 7px;
  }

  .adDot{
    width: 9px;
    height: 9px;
  }

  .adDot.is-on{
    width: 24px;
  }
}

/* Extra-tight phones */
@media (max-width: 380px){
  .adCarousel{
    height: 300px; /* un poquito más para iPhone mini / Android pequeños */
  }
  .adSlot__inner{
    width: calc(100% - 16px);
  }
  .adSlide{
    padding: 9px;
  }
}
/* ============================
   Trust Chips — Calm & Secure
   ============================ */

.trustChips{
  margin: 26px auto 12px;
  width: min(760px, calc(100% - 32px));
  text-align: center;
}

.trustChips__note{
  margin: 0 0 14px;
  font-size: 14.5px;
  line-height: 1.7;
  color: rgba(28,27,26,.72);
}

.trustChips__row{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

/* CHIP */
.chip{
  position: relative;
  padding: 9px 14px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 600;
  color: rgba(28,27,26,.78);
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(28,27,26,.12);
  box-shadow: 0 8px 18px rgba(28,27,26,.08);
  cursor: default;
  overflow: hidden;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    color .25s ease;
}

/* glow layer */
.chip::before{
  content:"";
  position:absolute;
  inset:-40%;
  background:
    radial-gradient(circle at 30% 30%, rgba(231,181,158,.65), transparent 55%),
    radial-gradient(circle at 70% 60%, rgba(143,175,154,.45), transparent 60%);
  filter: blur(22px);
  opacity: 0;
  transition: opacity .6s ease;
  z-index: 0;
}

.chip span,
.chip{
  position: relative;
  z-index: 1;
}

/* active / pulse state */
.chip.is-active{
  transform: translateY(-1px);
  color: rgba(28,27,26,.92);
  box-shadow: 0 14px 34px rgba(28,27,26,.14);
}
.chip.is-active::before{
  opacity: 1;
}

/* hover (desktop) */
@media (hover:hover){
  .chip:hover{
    transform: translateY(-2px);
  }
  .chip:hover::before{
    opacity: .9;
  }
}

/* mobile tuning */
@media (max-width: 520px){
  .trustChips{
    margin-top: 20px;
  }
  .trustChips__note{
    font-size: 14px;
  }
  .chip{
    font-size: 13px;
    padding: 8px 12px;
  }
}



/* ============================
   CONSULT FORM (Warm + Premium)
   ============================ */

.consult{
  padding: 28px 14px 34px;
}

.consult__wrap{
  max-width: 1100px;
  margin: 0 auto;
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 16px;
  align-items:start;
}

/* Soft background behind content */
.consult__wrap::before{
  content:"";
  position:absolute;
  inset:auto;
}

/* LEFT */
.consult__info{
  border-radius: 26px;
  padding: 22px;
  background:
    radial-gradient(900px 260px at 20% 10%, rgba(231,181,158,.22), transparent 55%),
    radial-gradient(700px 260px at 85% 35%, rgba(143,175,154,.18), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,255,255,.44));
  border: 1px solid rgba(28,27,26,.10);
  box-shadow: var(--shadow2, 0 18px 50px rgba(0,0,0,.12));
  position:relative;
  overflow:hidden;
}

.consult__info::after{
  content:"";
  position:absolute;
  inset:-30%;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.70), transparent 55%),
    radial-gradient(circle at 70% 70%, rgba(255,255,255,.55), transparent 60%);
  filter: blur(22px);
  opacity:.55;
  pointer-events:none;
  animation: consultGlow 9s var(--ease, cubic-bezier(.2,.8,.2,1)) infinite alternate;
}

@keyframes consultGlow{
  from{ transform: translate3d(-10px,-8px,0) scale(1); }
  to{ transform: translate3d(10px,8px,0) scale(1.02); }
}

.consult__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(143,175,154,.14);
  border: 1px solid rgba(143,175,154,.20);
  font-size: 12.5px;
  color: rgba(28,27,26,.78);
  position:relative;
  z-index:1;
}

.consult__title{
  margin: 12px 0 6px;
  font-family: Fraunces, serif;
  font-size: clamp(24px, 3.2vw, 34px);
  letter-spacing: -.3px;
  position:relative;
  z-index:1;
}

.consult__sub{
  margin: 0 0 14px;
  color: rgba(28,27,26,.72);
  line-height: 1.7;
  position:relative;
  z-index:1;
}

.consult__alert{
  margin-top: 12px;
  padding: 14px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.48);
  border: 1px solid rgba(28,27,26,.08);
  position:relative;
  z-index:1;
}

.consult__alertHead{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom: 8px;
  color: rgba(28,27,26,.88);
}

.consult__dot{
  width:10px;
  height:10px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, rgba(231,181,158,1), rgba(199,125,93,1));
  box-shadow: 0 0 0 4px rgba(199,125,93,.12);
}

.consult__list{
  margin: 0;
  padding-left: 18px;
  color: rgba(28,27,26,.72);
  line-height: 1.8;
}

.consult__trust{
  margin-top: 14px;
  display:grid;
  gap: 10px;
  position:relative;
  z-index:1;
}

.consult__trustItem{
  display:flex;
  gap: 10px;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.46);
  border: 1px solid rgba(28,27,26,.08);
  transition: transform .22s var(--ease, cubic-bezier(.2,.8,.2,1)), box-shadow .22s var(--ease, cubic-bezier(.2,.8,.2,1));
}

.consult__trustItem:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(28,27,26,.10);
}

.consult__ico{
  width: 34px;
  height: 34px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  background: rgba(231,181,158,.16);
  border: 1px solid rgba(199,125,93,.16);
  flex: 0 0 auto;
}

.consult__trustK{ font-weight: 900; }
.consult__trustV{
  margin-top: 3px;
  font-size: 13.5px;
  color: rgba(28,27,26,.72);
  line-height: 1.55;
}

/* RIGHT CARD */
.consult__card{
  border-radius: 26px;
  background:
    radial-gradient(900px 260px at 80% 0%, rgba(231,201,122,.16), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.46));
  border: 1px solid rgba(28,27,26,.10);
  box-shadow: var(--shadow2, 0 18px 50px rgba(0,0,0,.12));
  overflow:hidden;
  position:relative;
}

.consult__card::before{
  content:"";
  position:absolute;
  inset:-35%;
  background:
    radial-gradient(circle at 25% 35%, rgba(231,181,158,.20), transparent 58%),
    radial-gradient(circle at 70% 65%, rgba(143,175,154,.16), transparent 60%);
  filter: blur(28px);
  opacity:.55;
  pointer-events:none;
  animation: consultGlow2 10s var(--ease, cubic-bezier(.2,.8,.2,1)) infinite alternate;
}

@keyframes consultGlow2{
  from{ transform: translate3d(12px,-6px,0) scale(1); }
  to{ transform: translate3d(-10px,10px,0) scale(1.02); }
}

.consultForm{
  padding: 20px;
  position:relative;
  z-index:1;
}

.consultForm__grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.field{ display:grid; gap: 8px; }
.field--full{ grid-column: 1 / -1; }

.field__label{
  font-size: 13px;
  font-weight: 800;
  color: rgba(28,27,26,.82);
}

.field__req{ font-weight: 700; color: rgba(199,125,93,.92); }
.field__opt{ font-weight: 700; color: rgba(28,27,26,.55); }

.field__input,
.field__textarea,
.field__select{
  width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(28,27,26,.12);
  background: rgba(255,255,255,.62);
  padding: 12px 12px;
  font-size: 14px;
  color: rgba(28,27,26,.86);
  outline: none;
  transition: transform .15s var(--ease, cubic-bezier(.2,.8,.2,1)), box-shadow .15s var(--ease, cubic-bezier(.2,.8,.2,1)), border-color .15s var(--ease, cubic-bezier(.2,.8,.2,1));
}

.field__textarea{ resize: vertical; min-height: 132px; }

.field__input:focus,
.field__textarea:focus,
.field__select:focus{
  border-color: rgba(199,125,93,.32);
  box-shadow:
    0 0 0 4px rgba(199,125,93,.12),
    0 14px 34px rgba(28,27,26,.10);
  transform: translateY(-1px);
}

.field__selectWrap{
  position:relative;
}

.field__select{
  appearance:none;
  padding-right: 38px;
}

.field__chev{
  position:absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  opacity: .55;
  pointer-events:none;
}

/* Actions */
.consultForm__actions{
  margin-top: 14px;
  display:grid;
  gap: 10px;
}

.consultBtn{
  border: 1px solid rgba(199,125,93,.24);
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.58));
  border-radius: 999px;
  padding: 12px 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  font-weight: 900;
  cursor:pointer;
  color: rgba(28,27,26,.86);
  box-shadow: 0 18px 44px rgba(28,27,26,.12);
  transition: transform .2s var(--ease, cubic-bezier(.2,.8,.2,1)), box-shadow .2s var(--ease, cubic-bezier(.2,.8,.2,1));
}

.consultBtn:hover{
  transform: translateY(-2px);
  box-shadow: 0 26px 60px rgba(28,27,26,.16);
}

.consultBtn:active{
  transform: translateY(0px);
}

.consultBtn__arrow{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  background: rgba(231,181,158,.18);
  border: 1px solid rgba(199,125,93,.16);
}

.consultForm__fine{
  margin: 0;
  font-size: 12.5px;
  color: rgba(28,27,26,.62);
  line-height: 1.6;
}

/* ============================
   Responsive
   ============================ */
@media (max-width: 980px){
  .consult__wrap{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px){
  .consultForm{
    padding: 16px;
  }
  .consult__info{
    padding: 18px;
  }
  .consultForm__grid{
    grid-template-columns: 1fr;
  }
  .consultBtn{
    width: 100%;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .consult__info::after,
  .consult__card::before{ animation:none; }
  .consult__trustItem,
  .consultBtn,
  .field__input,
  .field__textarea,
  .field__select{ transition:none; }
}
