:root{
  --pink:#F55288;
  --pink-strong:#EB467D;
  --pink-dark:#D93870;
  --pink-soft:#FADDE7;
  --pink-pale:#FFF1F5;
  --cream:#FFF9FB;
  --white:#FFFFFF;
  --ink:#151217;
  --muted:#6F6570;
  --line:#F1C7D5;
  --shadow:0 24px 70px rgba(97,28,53,.12);
  --shadow-small:0 12px 30px rgba(97,28,53,.09);
  --radius-xl:34px;
  --radius-lg:24px;
  --radius-md:18px;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  color:var(--ink);
  background:var(--cream);
  font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;
  overflow-x:hidden;
}

body.menu-open{overflow:hidden}

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

a{color:inherit}
button,input,select,textarea{font:inherit}
::selection{background:var(--pink);color:#fff}

.page-noise{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.025;
  z-index:999;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
}

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

.section{padding:118px 0}

h1,h2,h3,p{margin-top:0}

h1,h2{
  font-family:"Playfair Display",Georgia,serif;
  letter-spacing:-.035em;
  line-height:1.02;
}

h1{
  font-size:clamp(56px,6.25vw,92px);
  margin-bottom:28px;
}

h2{
  font-size:clamp(44px,5vw,70px);
  margin-bottom:24px;
}

h1 em,h2 em{
  font-style:normal;
  color:var(--pink);
}

p{font-size:16px}
.muted{color:var(--muted)}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  border-bottom:1px solid rgba(244,197,211,.72);
  background:rgba(255,249,251,.88);
  backdrop-filter:blur(18px);
}

.header-inner{
  height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.brand{
  display:flex;
  align-items:center;
  gap:11px;
  text-decoration:none;
  flex:none;
}

.brand img{
  width:52px;
  height:52px;
  object-fit:cover;
  border-radius:50%;
  box-shadow:0 6px 18px rgba(235,70,125,.12);
}

.brand div{
  display:grid;
  line-height:1;
}

.brand strong{
  font-family:"Playfair Display",Georgia,serif;
  color:var(--pink);
  font-size:21px;
  letter-spacing:.01em;
}

.brand span{
  font-size:10px;
  font-weight:800;
  letter-spacing:.22em;
  margin-top:5px;
}

.main-nav{
  display:flex;
  align-items:center;
  gap:26px;
}

.main-nav a{
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  transition:.2s ease;
}

.main-nav a:not(.nav-button):hover{
  color:var(--pink);
}

.nav-button{
  background:var(--pink);
  color:#fff!important;
  padding:12px 18px;
  border-radius:999px;
  box-shadow:0 10px 24px rgba(245,82,136,.22);
}

.nav-button:hover{
  transform:translateY(-1px);
  background:var(--pink-strong);
}

.menu-toggle{
  display:none;
  border:0;
  background:transparent;
  width:46px;
  height:46px;
  border-radius:50%;
  padding:11px;
}

.menu-toggle span{
  display:block;
  height:2px;
  background:var(--ink);
  margin:5px 0;
  border-radius:999px;
}

.eyebrow{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  color:var(--pink-dark);
  margin-bottom:19px;
}

.eyebrow span{
  width:28px;
  height:2px;
  background:currentColor;
  border-radius:999px;
}

/* HERO */

.hero{
  position:relative;
  min-height:790px;
  display:flex;
  align-items:center;
  padding:78px 0 86px;
  background:
    radial-gradient(circle at 79% 21%,rgba(245,82,136,.11),transparent 29%),
    linear-gradient(180deg,#FFF6F9 0%,#FFF9FB 100%);
  overflow:hidden;
}

.hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:58px;
  align-items:center;
  position:relative;
  z-index:3;
}

.hero-copy{max-width:680px}

.hero-lead{
  max-width:655px;
  color:var(--muted);
  font-size:18px;
  line-height:1.72;
}

.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:34px;
}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:52px;
  padding:0 21px;
  border-radius:999px;
  border:1px solid transparent;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  cursor:pointer;
  transition:.23s ease;
}

.button span{
  font-size:18px;
  transition:.23s ease;
}

.button:hover span{
  transform:translateX(4px);
}

.button-primary{
  background:var(--pink);
  color:#fff;
  box-shadow:0 13px 30px rgba(245,82,136,.23);
}

.button-primary:hover{
  background:var(--pink-strong);
  transform:translateY(-2px);
}

.button-ghost,
.button-outline{
  background:rgba(255,255,255,.74);
  border-color:var(--line);
}

.button-ghost:hover,
.button-outline:hover{
  border-color:var(--pink);
  color:var(--pink-dark);
  transform:translateY(-2px);
}

.button-dark{
  background:var(--ink);
  color:#fff;
  width:100%;
}

.button-dark:hover{
  background:#2a232b;
}

.hero-trust{
  display:flex;
  flex-wrap:wrap;
  gap:15px 22px;
  margin-top:31px;
}

.hero-trust div{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
}

.hero-trust span{
  width:23px;
  height:23px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--pink-soft);
  color:var(--pink-dark);
  font-weight:900;
}

.hero-art{
  height:590px;
  position:relative;
}

.hero-orb{
  position:absolute;
  right:-20px;
  top:42px;
  width:485px;
  height:485px;
  border-radius:50%;
  background:linear-gradient(135deg,#FFD9E5 0%,#F59BBB 42%,#F55288 100%);
  box-shadow:0 50px 100px rgba(208,53,106,.18);
}

.hero-orb:before{
  content:"";
  position:absolute;
  inset:32px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.5);
}

.tax-paper{
  position:absolute;
  right:38px;
  top:96px;
  width:330px;
  min-height:380px;
  background:#fff;
  border-radius:20px;
  padding:28px 28px 26px;
  transform:rotate(2.5deg);
  box-shadow:0 34px 60px rgba(91,29,51,.18);
  z-index:4;
}

.paper-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}

.paper-top small{
  display:block;
  color:var(--pink-dark);
  font-weight:800;
  letter-spacing:.13em;
  font-size:10px;
}

.paper-top h3{
  font-family:"Playfair Display",Georgia,serif;
  font-size:38px;
  line-height:1;
  margin:7px 0 0;
}

.paper-check{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--pink);
  color:#fff;
  font-weight:900;
}

.paper-rule{
  height:1px;
  background:#F0D3DC;
  margin:25px 0 15px;
}

.metric{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:17px 0;
  border-bottom:1px solid #F3DCE3;
  font-size:12px;
}

.metric span{color:var(--muted)}
.metric strong{color:var(--pink-dark)}

.paper-badge{
  position:absolute;
  right:-22px;
  top:64px;
  background:var(--pink);
  color:#fff;
  font-family:"Playfair Display",Georgia,serif;
  font-size:24px;
  font-weight:800;
  padding:12px 17px;
  border-radius:10px;
  transform:rotate(7deg);
  box-shadow:0 10px 22px rgba(193,48,98,.18);
}

.calculator{
  position:absolute;
  left:0;
  bottom:55px;
  width:175px;
  background:#F36D9A;
  border:7px solid #F8A6C0;
  border-radius:22px;
  padding:16px;
  transform:rotate(-7deg);
  box-shadow:0 26px 48px rgba(103,27,55,.2);
  z-index:5;
}

.calculator-display{
  height:48px;
  border-radius:8px;
  background:#E5D8DC;
  color:#72666B;
  padding:9px 12px;
  text-align:right;
  font-weight:800;
  font-size:20px;
  margin-bottom:13px;
}

.calculator-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
}

.calculator-grid span{
  height:28px;
  border-radius:6px;
  background:#FFF3F7;
  display:grid;
  place-items:center;
  color:#D33F73;
  font-size:10px;
  font-weight:800;
}

.desk-note{
  position:absolute;
  right:7px;
  bottom:10px;
  width:190px;
  min-height:132px;
  background:#fff6ef;
  border-radius:5px;
  padding:27px 20px 20px;
  text-align:center;
  transform:rotate(-5deg);
  box-shadow:0 24px 46px rgba(78,30,45,.14);
  z-index:6;
}

.desk-note:before{
  content:"";
  position:absolute;
  width:68px;
  height:17px;
  background:rgba(245,82,136,.25);
  top:-6px;
  left:60px;
  transform:rotate(2deg);
}

.desk-note span{
  display:block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  color:var(--pink-dark);
}

.desk-note strong{
  display:block;
  font-family:"Playfair Display",Georgia,serif;
  font-size:20px;
  line-height:1.15;
  margin-top:7px;
}

.floating-chip{
  position:absolute;
  z-index:8;
  background:#fff;
  color:var(--pink-dark);
  padding:10px 14px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  box-shadow:var(--shadow-small);
  border:1px solid #F7D5DF;
}

.chip-one{right:4px;top:28px}
.chip-two{left:44px;top:84px}
.chip-three{left:147px;top:11px}

.scribble-heart{
  position:absolute;
  right:-24px;
  top:170px;
  font-family:Georgia,serif;
  color:#fff;
  font-size:72px;
  z-index:7;
  transform:rotate(13deg);
}

.accent-lines{
  position:absolute;
  left:128px;
  bottom:190px;
  z-index:7;
  display:flex;
  gap:8px;
  transform:rotate(-24deg);
}

.accent-lines i{
  display:block;
  width:3px;
  height:28px;
  background:#fff;
  border-radius:999px;
}

.accent-lines i:nth-child(2){
  height:40px;
}

.organic{
  position:absolute;
  background:var(--pink);
  z-index:1;
}

.organic-one{
  width:250px;
  height:205px;
  border-radius:0 0 75% 0;
  left:-78px;
  top:-78px;
  transform:rotate(-7deg);
}

.organic-two{
  width:330px;
  height:180px;
  border-radius:65% 0 0 65%;
  right:-180px;
  bottom:20px;
  background:#FAD5E1;
}

.dot-grid-one{
  position:absolute;
  right:58px;
  top:115px;
  width:70px;
  height:70px;
  z-index:2;
  background-image:radial-gradient(var(--pink) 2px,transparent 2.5px);
  background-size:14px 14px;
}

/* BENEFICIOS */

.benefits{
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.benefit-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}

.benefit-grid article{
  min-height:116px;
  padding:25px 22px;
  display:flex;
  align-items:center;
  gap:15px;
  border-right:1px solid var(--line);
}

.benefit-grid article:last-child{border-right:0}

.benefit-grid article>span{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--pink-pale);
  color:var(--pink-dark);
  font-weight:800;
  font-size:11px;
}

.benefit-grid div{display:grid}

.benefit-grid b{font-size:13px}

.benefit-grid small{
  color:var(--muted);
  font-size:11px;
  margin-top:3px;
}

/* SERVICIOS */

.services{background:#FFF8FA}

.section-heading{
  max-width:760px;
  margin-bottom:50px;
}

.section-heading p{
  color:var(--muted);
  font-size:17px;
  max-width:650px;
}

.section-heading.centered{
  text-align:center;
  margin-inline:auto;
}

.section-heading.centered .eyebrow{
  justify-content:center;
}

.service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.service-card{
  min-height:300px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:30px;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
  transition:.25s ease;
}

.service-card:after{
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  border-radius:50%;
  background:var(--pink-pale);
  right:-70px;
  bottom:-70px;
  transition:.25s ease;
}

.service-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
}

.service-card:hover:after{
  transform:scale(1.22);
}

.service-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  background:var(--pink-pale);
  color:var(--pink-dark);
  display:grid;
  place-items:center;
  font-family:"Playfair Display",Georgia,serif;
  font-size:22px;
  font-weight:800;
}

.service-number{
  position:absolute;
  right:28px;
  top:28px;
  color:#C9A2AF;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
}

.service-card h3{
  font-family:"Playfair Display",Georgia,serif;
  font-size:30px;
  line-height:1.06;
  margin:30px 0 12px;
}

.service-card p{
  color:var(--muted);
  font-size:14px;
}

.service-card a{
  margin-top:auto;
  text-decoration:none;
  color:var(--pink-dark);
  font-size:13px;
  font-weight:800;
  position:relative;
  z-index:2;
}

.service-card-featured{
  background:var(--pink);
  color:#fff;
  border-color:var(--pink);
  box-shadow:0 24px 50px rgba(245,82,136,.2);
}

.service-card-featured:after{
  background:rgba(255,255,255,.14);
}

.service-card-featured .service-icon{
  background:#fff;
  color:var(--pink);
}

.service-card-featured .service-number,
.service-card-featured p,
.service-card-featured a{
  color:#fff;
}

/* EMPRESAS */

.companies{background:var(--pink-pale)}

.split-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:76px;
  align-items:center;
}

.split-copy>p{
  color:var(--muted);
  font-size:17px;
  max-width:590px;
}

.check-list{
  list-style:none;
  padding:0;
  margin:28px 0 32px;
}

.check-list li{
  display:flex;
  gap:12px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid #F1CED9;
  font-weight:600;
}

.check-list li span{
  width:26px;
  height:26px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--pink-dark);
  font-size:12px;
  box-shadow:var(--shadow-small);
}

.dashboard-card{
  background:#fff;
  border:1px solid #F0CBD7;
  border-radius:30px;
  padding:30px;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}

.dashboard-card:before{
  content:"";
  position:absolute;
  width:170px;
  height:170px;
  background:var(--pink-soft);
  border-radius:50%;
  right:-90px;
  top:-95px;
  opacity:.75;
}

.dashboard-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  position:relative;
  z-index:1;
}

.dashboard-head div{display:grid}

.dashboard-head small{
  color:var(--pink-dark);
  font-weight:800;
  letter-spacing:.14em;
  font-size:9px;
}

.dashboard-head b{
  font-family:"Playfair Display",Georgia,serif;
  font-size:25px;
  margin-top:4px;
}

.dashboard-head>span{
  align-self:start;
  background:#EAF9EF;
  color:#268C49;
  font-size:10px;
  font-weight:800;
  padding:8px 10px;
  border-radius:999px;
}

.dashboard-score{
  margin:44px 0 34px;
}

.dashboard-score strong{
  font-family:"Playfair Display",Georgia,serif;
  font-size:86px;
  line-height:1;
  color:var(--pink);
}

.dashboard-score p{
  font-weight:800;
  margin:3px 0 0;
}

.progress-group{
  display:grid;
  gap:14px;
}

.progress-group>div{
  display:flex;
  justify-content:space-between;
  font-size:11px;
  font-weight:800;
}

.progress-group i{
  height:9px;
  background:#F7E2E9;
  border-radius:999px;
  overflow:hidden;
}

.progress-group em{
  display:block;
  height:100%;
  background:linear-gradient(90deg,var(--pink),#F68FB1);
  border-radius:999px;
}

.dashboard-footer{
  margin-top:31px;
  padding-top:20px;
  border-top:1px solid #F0D3DC;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:11px;
}

.dashboard-footer span{color:var(--muted)}

/* PERSONAS */

.people{background:#fff}

.split-reverse .quote-card{order:1}
.split-reverse .split-copy{order:2}

.quote-card{
  min-height:475px;
  border-radius:34px;
  background:linear-gradient(145deg,var(--pink) 0%,#ED4B82 100%);
  color:#fff;
  padding:52px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  overflow:hidden;
  box-shadow:var(--shadow);
}

.quote-card:before,
.quote-card:after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.1);
}

.quote-card:before{
  width:260px;
  height:260px;
  right:-145px;
  bottom:-135px;
}

.quote-card:after{
  width:130px;
  height:130px;
  left:-70px;
  top:-70px;
}

.quote-mark{
  font-family:Georgia,serif;
  font-size:72px;
  line-height:.7;
  opacity:.65;
}

.quote-card p{
  font-family:"Playfair Display",Georgia,serif;
  font-size:36px;
  line-height:1.22;
  margin:24px 0 18px;
  position:relative;
  z-index:2;
}

.quote-card>span{
  color:#FFE4ED;
  font-size:13px;
}

.quote-heart{
  position:absolute;
  right:34px;
  top:27px;
  font-size:32px;
}

.pill-list{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:28px 0 31px;
}

.pill-list span{
  background:var(--pink-pale);
  border:1px solid var(--line);
  border-radius:999px;
  padding:9px 13px;
  font-size:12px;
  font-weight:700;
}

/* PROCESO */

.process{background:var(--pink-pale)}

.process-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.process-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:32px;
  min-height:255px;
}

.process-card>span{
  font-family:"Playfair Display",Georgia,serif;
  font-size:52px;
  line-height:1;
  color:var(--pink);
}

.process-line{
  width:54px;
  height:3px;
  background:var(--pink);
  border-radius:999px;
  margin:25px 0 27px;
}

.process-card h3{
  font-family:"Playfair Display",Georgia,serif;
  font-size:25px;
  margin-bottom:10px;
}

.process-card p{
  color:var(--muted);
  font-size:14px;
}

/* SOBRE IGNACIA */

.about{
  background:#FFF8FA;
  overflow:hidden;
}

.about-grid{
  display:grid;
  grid-template-columns:minmax(300px,430px) minmax(0,1fr);
  gap:56px;
  align-items:center;
}

.photo-frame{
  position:relative;
  width:100%;
  height:500px;
  min-width:0;
}

.photo-shape{
  position:relative;
  width:100%;
  height:100%;
  border-radius:46% 54% 48% 52% / 38% 42% 58% 62%;
  background:linear-gradient(145deg,#F9BCD0,#FCE2EA);
  overflow:hidden;
  box-shadow:0 28px 60px rgba(97,28,53,.12);
}

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

.photo-placeholder{
  height:100%;
  display:grid;
  place-items:center;
  text-align:center;
  color:#A34E6C;
  font-weight:800;
}

.photo-placeholder small{
  display:block;
  font-weight:600;
  font-size:11px;
  margin-top:8px;
  color:#B37A8E;
}

.photo-badge{
  position:absolute;
  right:-10px;
  top:42px;
  width:65px;
  height:65px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--pink);
  background:#fff;
  box-shadow:var(--shadow);
  font-size:22px;
  z-index:3;
}

.photo-dots{
  position:absolute;
  left:-14px;
  bottom:30px;
  width:78px;
  height:78px;
  background-image:radial-gradient(var(--pink) 2px,transparent 2.5px);
  background-size:15px 15px;
  z-index:2;
}

.about .split-copy{
  max-width:660px;
  min-width:0;
  align-self:center;
}

.about .split-copy h2{
  font-size:clamp(42px,4.6vw,68px);
}

.signature{
  font-family:"Playfair Display",Georgia,serif;
  color:var(--pink-dark);
  font-size:39px;
  margin-top:30px;
}

.signature span{color:var(--pink)}

/* FAQ */

.faq{background:#fff}

.faq-layout{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:76px;
}

.faq-title p{
  color:var(--muted);
  max-width:400px;
}

.accordion{
  border-top:1px solid var(--line);
}

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

.faq-item button{
  width:100%;
  border:0;
  background:transparent;
  padding:23px 0;
  display:flex;
  justify-content:space-between;
  gap:25px;
  text-align:left;
  cursor:pointer;
  color:var(--ink);
  font-weight:800;
}

.faq-item button b{
  font-size:24px;
  color:var(--pink);
  font-weight:400;
}

.faq-answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .25s ease;
}

.faq-answer p{
  overflow:hidden;
  color:var(--muted);
  margin:0;
  font-size:14px;
}

.faq-item.open .faq-answer{
  grid-template-rows:1fr;
}

.faq-item.open .faq-answer p{
  padding-bottom:22px;
}

/* CONTACTO */

.contact{
  position:relative;
  padding:112px 0;
  background:linear-gradient(140deg,#EE4A81 0%,var(--pink) 55%,#F76999 100%);
  color:#fff;
  overflow:hidden;
}

.contact-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:68px;
  align-items:center;
  position:relative;
  z-index:3;
}

.eyebrow-light{color:#fff}

.contact h2{
  font-size:clamp(48px,5.2vw,76px);
}

.contact h2 em{
  color:#fff;
  text-decoration:underline;
  text-decoration-thickness:4px;
  text-underline-offset:8px;
}

.contact-copy>p{
  color:#FFE7EF;
  font-size:17px;
}

.contact-info{
  display:grid;
  gap:8px;
  margin-top:30px;
}

.contact-info a,
.contact-info span{
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
}

.contact-form{
  background:#fff;
  color:var(--ink);
  border-radius:28px;
  padding:30px;
  box-shadow:0 36px 72px rgba(90,22,47,.24);
}

.form-heading{
  display:grid;
  margin-bottom:20px;
}

.form-heading span{
  font-family:"Playfair Display",Georgia,serif;
  font-size:30px;
  font-weight:800;
}

.form-heading small{color:var(--muted)}

.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
}

.contact-form label{
  display:grid;
  gap:7px;
  font-size:11px;
  font-weight:800;
  margin-bottom:13px;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  border:1px solid #EFC7D4;
  background:#FFF9FB;
  border-radius:13px;
  padding:13px 14px;
  outline:none;
  color:var(--ink);
  transition:.2s ease;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:var(--pink);
  box-shadow:0 0 0 3px rgba(245,82,136,.09);
}

.form-note{
  display:block;
  color:var(--muted);
  text-align:center;
  margin-top:9px;
}

.contact-decor{
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.11);
}

.contact-decor-one{
  width:360px;
  height:360px;
  left:-180px;
  top:-150px;
}

.contact-decor-two{
  width:460px;
  height:460px;
  right:-230px;
  bottom:-230px;
}

/* FOOTER */

footer{
  background:#151217;
  color:#fff;
  padding:31px 0;
}

.footer-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  gap:20px;
}

.brand-footer img{
  width:45px;
  height:45px;
}

.brand-footer strong{color:#FF8FB4}

.footer-grid p{
  font-size:12px;
  color:#C9BDC4;
  margin:0;
}

.footer-grid p:last-child{
  text-align:right;
}

/* WHATSAPP */

.whatsapp-welcome{
  position:fixed;
  right:22px;
  bottom:92px;
  width:min(310px,calc(100vw - 44px));
  padding:20px 20px 18px;
  background:#fff;
  color:#181318;
  border:1px solid #eadfe4;
  border-radius:14px;
  z-index:61;
  box-shadow:0 18px 45px rgba(24,19,24,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px) scale(.96);
  transform-origin:bottom right;
  transition:opacity .25s ease,transform .25s ease,visibility .25s ease;
}

.whatsapp-welcome.open{
  opacity:1;
  visibility:visible;
  transform:none;
}

.whatsapp-welcome::after{
  content:"";
  position:absolute;
  right:22px;
  bottom:-8px;
  width:15px;
  height:15px;
  background:#fff;
  border-right:1px solid #eadfe4;
  border-bottom:1px solid #eadfe4;
  transform:rotate(45deg);
}

.whatsapp-welcome strong{
  display:block;
  margin-bottom:7px;
  font-size:15px;
}

.whatsapp-welcome p{
  margin:0 24px 15px 0;
  color:#6f6269;
  font-size:13px;
  line-height:1.5;
}

.whatsapp-welcome-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#b92d61;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}

.whatsapp-welcome-link span{
  font-size:17px;
}

.whatsapp-welcome-close{
  position:absolute;
  top:10px;
  right:11px;
  width:25px;
  height:25px;
  padding:0;
  border:0;
  background:transparent;
  color:#8d7e85;
  cursor:pointer;
  font-size:21px;
  line-height:1;
}

.whatsapp-float{
  position:fixed;
  right:22px;
  bottom:22px;
  width:58px;
  height:58px;
  border-radius:50%;
  background:#181318;
  color:#fff;
  display:grid;
  place-items:center;
  text-decoration:none;
  font-size:26px;
  z-index:60;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
  transition:.22s ease;
}

.whatsapp-float:hover{
  transform:translateY(-4px);
  background:var(--pink);
}

@media (max-width:520px){
  .whatsapp-welcome{
    right:16px;
    bottom:88px;
    width:calc(100vw - 32px);
  }

  .whatsapp-float{
    right:16px;
    bottom:16px;
  }
}

/* ANIMACIONES */

.reveal{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .65s ease,transform .65s ease;
}

.reveal.visible{
  opacity:1;
  transform:none;
}

/* TABLET / PANTALLAS MEDIANAS */

@media (max-width:1000px){

  .main-nav{
    position:fixed;
    top:84px;
    left:0;
    right:0;
    bottom:0;
    height:calc(100dvh - 84px);
    min-height:calc(100vh - 84px);
    z-index:101;
    background:#FFF9FB;
    box-shadow:0 18px 30px rgba(97,28,53,.12);
    isolation:isolate;
    overflow-y:auto;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:20px 24px 30px;
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    transition:.22s ease;
  }

  .main-nav.open{
    opacity:1;
    visibility:visible;
    transform:none;
  }

  .main-nav a{
    padding:16px 8px;
    border-bottom:1px solid var(--line);
    font-size:16px;
  }

  .main-nav .nav-button{
    margin-top:18px;
    text-align:center;
    border-bottom:0;
  }

  .menu-toggle{display:block}

  .hero{padding-top:58px}

.hero-grid,
.split-layout,
.faq-layout,
.contact-grid{
  grid-template-columns:1fr;
}

  .hero-grid{gap:24px}

  .hero-art{
    height:575px;
    max-width:620px;
    width:100%;
    margin:0 auto;
  }

  .benefit-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .benefit-grid article:nth-child(2){
    border-right:0;
  }

  .benefit-grid article:nth-child(-n+2){
    border-bottom:1px solid var(--line);
  }

  .service-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .split-reverse .quote-card,
  .split-reverse .split-copy{
    order:initial;
  }

  /* IMPORTANTE:
     Sobre Ignacia NO pasa a una columna aquí */

  .about-grid{
    grid-template-columns:minmax(260px,38%) minmax(0,1fr);
    gap:36px;
  }

  .photo-frame{
    height:440px;
  }

  .about .split-copy h2{
    font-size:clamp(38px,5vw,58px);
  }

  .faq-layout{gap:35px}
  .contact-grid{gap:42px}
}

/* ENTRE TABLET Y MÓVIL */

@media (max-width:800px){

  .about-grid{
    grid-template-columns:minmax(230px,36%) minmax(0,1fr);
    gap:28px;
  }

  .photo-frame{
    height:390px;
  }

  .about .split-copy h2{
    font-size:clamp(34px,5.5vw,48px);
  }

  .about .split-copy>p{
    font-size:15px;
  }
}

/* MÓVIL */

@media (max-width:700px){

  .container{
    width:min(100% - 26px,1180px);
  }

  .section{
    padding:78px 0;
  }

  .header-inner{
    height:76px;
  }

  .main-nav{
    top:76px;
    height:calc(100dvh - 76px);
    min-height:calc(100vh - 76px);
  }

  .brand img{
    width:46px;
    height:46px;
  }

  .brand strong{
    font-size:18px;
  }

  h1{font-size:48px}
  h2{font-size:42px}

  .hero{
    min-height:auto;
    padding:50px 0 35px;
  }

  .hero-lead{
    font-size:16px;
  }

  .hero-actions .button{
    width:100%;
  }

  .hero-trust{
    display:grid;
    grid-template-columns:1fr;
  }

  .hero-art{
    height:510px;
    margin-top:9px;
  }

  .hero-orb{
    width:355px;
    height:355px;
    right:-52px;
    top:73px;
  }

  .tax-paper{
    width:275px;
    right:8px;
    top:108px;
    min-height:327px;
    padding:22px;
  }

  .paper-top h3{
    font-size:31px;
  }

  .metric{
    font-size:10px;
  }

  .calculator{
    width:135px;
    left:-4px;
    bottom:55px;
    padding:12px;
    border-width:5px;
  }

  .calculator-display{
    height:38px;
    font-size:16px;
  }

  .calculator-grid{
    gap:5px;
  }

  .calculator-grid span{
    height:21px;
  }

  .desk-note{
    width:155px;
    right:-3px;
    bottom:8px;
    min-height:110px;
    padding:24px 15px 15px;
  }

  .desk-note strong{
    font-size:16px;
  }

  .floating-chip{
    padding:8px 10px;
    font-size:9px;
  }

  .chip-one{
    right:4px;
    top:62px;
  }

  .chip-two{
    left:4px;
    top:95px;
  }

  .chip-three{
    left:96px;
    top:34px;
  }

  .scribble-heart{
    right:-8px;
    top:180px;
    font-size:58px;
  }

  .benefit-grid{
    grid-template-columns:1fr;
  }

  .benefit-grid article{
    border-right:0;
    border-bottom:1px solid var(--line)!important;
    min-height:96px;
  }

  .benefit-grid article:last-child{
    border-bottom:0!important;
  }

  .service-grid,
  .process-grid{
    grid-template-columns:1fr;
  }

  .service-card{
    min-height:260px;
  }

  .quote-card{
    min-height:400px;
    padding:34px;
  }

  .quote-card p{
    font-size:29px;
  }

  .dashboard-card{
    padding:22px;
  }

  .dashboard-score strong{
    font-size:72px;
  }

  /* AQUÍ recién Sobre Ignacia pasa a una columna */

  .about-grid{
    grid-template-columns:1fr;
    gap:38px;
  }

  .photo-frame{
    width:100%;
    max-width:430px;
    height:450px;
    margin:0 auto;
  }

  .about .split-copy{
    max-width:100%;
  }

  .about .split-copy h2{
    font-size:42px;
  }

  .photo-badge{
    right:2px;
  }

  .photo-dots{
    left:-4px;
  }

  .form-row{
    grid-template-columns:1fr;
  }

  .contact-form{
    padding:21px;
  }

  .footer-grid{
    grid-template-columns:1fr;
  }

  .footer-grid p:last-child{
    text-align:left;
  }

  .organic-one{
    width:175px;
    height:145px;
  }

  .dot-grid-one{
    display:none;
  }
}

@media (max-width:480px){

  h1{font-size:43px}
  h2{font-size:38px}

  .photo-frame{
    height:410px;
  }

  .about .split-copy h2{
    font-size:38px;
  }
}

@media (prefers-reduced-motion:reduce){

  html{
    scroll-behavior:auto;
  }

  .reveal{
    opacity:1;
    transform:none;
    transition:none;
  }

  *{
    animation:none!important;
    transition:none!important;
  }
}

/* =========================================================
   SOBRE IGNACIA — AJUSTE AISLADO DEFINITIVO
   NO AFECTA NINGUNA OTRA PARTE DE LA WEB
========================================================= */

/* Pantalla normal / tablet horizontal / escritorio */
@media (min-width:600px){

  #sobre-mi .about-grid{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:50px !important;
  }

  /* FOTO - COLUMNA IZQUIERDA */
  #sobre-mi .photo-frame{
    order:1 !important;
    position:relative !important;

    flex:0 0 40% !important;

    width:40% !important;
    max-width:430px !important;

    height:500px !important;
    min-height:500px !important;

    margin:0 !important;
  }

  #sobre-mi .photo-shape{
    position:relative !important;
    inset:auto !important;

    width:100% !important;
    height:100% !important;

    overflow:hidden !important;

    border-radius:
      46% 54% 48% 52% /
      38% 42% 58% 62% !important;
  }

  #sobre-mi .about-photo{
    display:block !important;

    width:100% !important;
    height:100% !important;

    object-fit:cover !important;
    object-position:center 20% !important;
  }

  /* TEXTO - COLUMNA DERECHA */
  #sobre-mi .split-copy{
    order:2 !important;
    flex:1 1 0 !important;

    width:auto !important;
    max-width:650px !important;
    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;

    align-self:center !important;
  }

  #sobre-mi .split-copy h2{
    margin-top:0 !important;
  }

}


/* AJUSTE PARA PANTALLAS INTERMEDIAS */
@media (min-width:600px) and (max-width:900px){

  #sobre-mi .about-grid{
    gap:28px !important;
  }

  #sobre-mi .photo-frame{
    flex-basis:38% !important;
    width:38% !important;

    height:390px !important;
    min-height:390px !important;
  }

  #sobre-mi .split-copy h2{
    font-size:clamp(34px,5vw,46px) !important;
  }

  #sobre-mi .split-copy p{
    font-size:14px !important;
  }

}


/* SOLO CELULAR */
@media (max-width:599px){

  #sobre-mi .about-grid{
    display:block !important;
  }

  #sobre-mi .photo-frame{
    position:relative !important;

    width:100% !important;
    max-width:400px !important;

    height:430px !important;
    min-height:430px !important;

    margin:0 auto 35px !important;
  }

  #sobre-mi .photo-shape{
    position:relative !important;
    inset:auto !important;

    width:100% !important;
    height:100% !important;

    overflow:hidden !important;
  }

  #sobre-mi .about-photo{
    width:100% !important;
    height:100% !important;

    object-fit:cover !important;
    object-position:center 20% !important;
  }

  #sobre-mi .split-copy{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }

}