:root{
  --ink:#3b302e;
  --ink-soft:#766b66;
  --sand:#d8b68c;
  --sand-soft:#f0dfc9;
  --lavender:#c7a3dd;
  --lavender-soft:#ede2f3;
  --cream:#faf7f3;
  --cream-deep:#f3ede7;
  --white:#fff;
  --line:rgba(59,48,46,.11);
  --shadow:0 26px 80px rgba(82,61,54,.12);
  --radius-xl:34px;
  --radius-lg:26px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--cream)}
body{
  margin:0;
  color:var(--ink);
  font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 82% 5%,rgba(199,163,221,.19),transparent 30rem),
    radial-gradient(circle at 10% 18%,rgba(216,182,140,.14),transparent 28rem),
    linear-gradient(180deg,#fffdfb 0%,var(--cream) 100%);
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
a{color:inherit}
button,input,textarea,select{font:inherit}
img,svg{max-width:100%}
.skip-link{position:fixed;left:12px;top:-60px;z-index:9999;background:#fff;padding:10px 14px;border-radius:12px}
.skip-link:focus{top:12px}

.announcement{
  height:34px;
  display:flex;align-items:center;justify-content:center;gap:9px;
  padding:0 16px;
  color:#6c5a55;
  background:linear-gradient(90deg,#f7ead9,#efe4f4);
  font-size:.76rem;font-weight:700;
}
.announcement-halo{
  width:12px;height:12px;border:1.5px solid var(--lavender);border-radius:50%;
  box-shadow:0 0 0 3px rgba(216,182,140,.18);
}

.site-header{
  position:sticky;top:0;z-index:1000;
  padding:10px 14px;
  background:rgba(255,253,251,.82);
  border-bottom:1px solid rgba(59,48,46,.07);
  backdrop-filter:blur(18px);
}
.header-inner{width:min(1200px,100%);margin:auto;display:flex;align-items:center;gap:18px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;min-width:max-content}
.brand-symbol{
  width:42px;height:42px;display:grid;place-items:center;
  color:#b389cb;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(255,255,255,.8);
  box-shadow:0 12px 30px rgba(75,56,50,.08);
}
.brand-symbol svg{width:32px;height:32px}
.brand-wordmark{display:grid;line-height:1}
.brand-wordmark>span{
  font-family:"Manrope",sans-serif;
  font-size:1.25rem;font-weight:400;letter-spacing:.13em;text-transform:lowercase;
}
.brand-wordmark>span>span{color:var(--lavender)}
.brand-wordmark small{
  margin-top:5px;color:#9d918a;
  font-size:.52rem;font-weight:700;letter-spacing:.28em;
}
.desktop-nav{margin-left:auto;display:none;align-items:center;gap:28px}
.desktop-nav a{text-decoration:none;color:#665a56;font-size:.88rem;font-weight:700}
.header-cta{display:none}
.menu-button{
  margin-left:auto;width:43px;height:43px;border:1px solid var(--line);
  border-radius:14px;background:#fff;display:grid;place-content:center;gap:6px;
}
.menu-button span{display:block;width:18px;height:2px;border-radius:999px;background:var(--ink);transition:.25s ease}
.menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-menu{
  position:fixed;inset:98px 12px auto;padding:18px;display:grid;gap:8px;
  border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.97);
  box-shadow:var(--shadow);transform:translateY(-12px) scale(.98);opacity:0;
  pointer-events:none;transition:.25s ease;
}
.mobile-menu.is-open{opacity:1;transform:none;pointer-events:auto}
.mobile-menu>a:not(.button){padding:14px 12px;text-decoration:none;border-bottom:1px solid var(--line);font-weight:750}

.button{
  min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 18px;border:1px solid transparent;border-radius:999px;
  text-decoration:none;font-weight:800;transition:.2s ease;
}
.button:active{transform:scale(.97)}
.button-primary{
  color:#fff;
  background:linear-gradient(135deg,#c395d9,#b48acb 48%,#caa87e);
  box-shadow:0 14px 34px rgba(180,138,203,.24);
}
.button-primary:hover{box-shadow:0 18px 42px rgba(180,138,203,.32)}
.button-ghost{color:var(--ink);background:rgba(255,255,255,.72);border-color:var(--line);backdrop-filter:blur(12px)}
.button-light{color:var(--ink);background:#fff;box-shadow:0 16px 34px rgba(60,44,39,.13)}
.button-large{min-height:52px;padding:14px 22px}

.hero{
  min-height:calc(100svh - 98px);position:relative;padding:54px 20px 82px;
  display:grid;align-items:center;gap:46px;overflow:hidden;
}
.hero-copy,.hero-visual{position:relative;z-index:2}
.hero-aura{position:absolute;border-radius:50%;pointer-events:none}
.aura-one{
  width:390px;height:390px;right:-170px;top:7%;
  border:1px solid rgba(199,163,221,.16);
  box-shadow:0 0 0 46px rgba(199,163,221,.045),0 0 0 92px rgba(216,182,140,.025);
}
.aura-two{
  width:270px;height:270px;left:-170px;bottom:8%;
  background:radial-gradient(circle,rgba(216,182,140,.2),transparent 70%);
  filter:blur(5px);
}
.eyebrow{
  margin:0 0 14px;color:#a87fbe;font-size:.73rem;font-weight:850;
  letter-spacing:.13em;text-transform:uppercase;
}
.hero h1,.section h2,.final-cta h2{
  margin:0;font-family:"Manrope",sans-serif;letter-spacing:-.055em;text-wrap:balance;
}
.hero h1{font-size:clamp(3rem,14vw,6.6rem);line-height:.91;font-weight:500}
.hero h1 span{
  color:transparent;
  background:linear-gradient(135deg,#b98ccf,#d7b786);
  -webkit-background-clip:text;background-clip:text;
}
.hero-lead{max-width:610px;margin:24px 0 0;color:var(--ink-soft);font-size:clamp(1.02rem,4vw,1.27rem);line-height:1.62}
.hero-actions{margin-top:28px;display:grid;gap:10px}
.hero-proof{margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.hero-proof>div{
  padding:15px 10px;border:1px solid var(--line);border-radius:18px;
  background:rgba(255,255,255,.68);backdrop-filter:blur(12px);
}
.hero-proof strong{display:block;font-family:"Manrope";font-size:1.15rem}
.hero-proof span{display:block;margin-top:4px;color:#8a7f78;font-size:.68rem;line-height:1.25}

.hero-visual{min-height:490px;display:grid;place-items:center}
.visual-aura{
  width:min(88vw,430px);aspect-ratio:1;position:relative;display:grid;place-items:center;
}
.ring{position:absolute;border-radius:50%;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,var(--sand),var(--lavender)) border-box}
.ring-1{inset:2%;opacity:.35;animation:auraPulse 6s ease-in-out infinite}
.ring-2{inset:17%;opacity:.62;animation:auraPulse 6s ease-in-out 1s infinite}
.ring-3{inset:32%;opacity:.95;animation:auraPulse 6s ease-in-out 2s infinite}
.smile-orbit{
  width:58%;position:relative;z-index:3;
  filter:drop-shadow(0 22px 34px rgba(89,65,57,.15));
}
.scan-card{
  position:absolute;left:4%;bottom:8%;z-index:4;
  width:190px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;
  border:1px solid rgba(255,255,255,.8);border-radius:18px;
  background:rgba(255,255,255,.82);box-shadow:0 18px 48px rgba(77,58,51,.12);backdrop-filter:blur(14px);
}
.scan-card small{display:block;color:#9b8f89;font-size:.68rem}
.scan-card strong{display:block;margin-top:3px;font-family:"Manrope";font-size:.98rem}
.scan-status{padding:7px 9px;border-radius:999px;background:#f2e8f6;color:#9f75b6;font-size:.65rem;font-weight:850}
.floating-note{
  position:absolute;padding:11px 14px;border:1px solid rgba(255,255,255,.8);border-radius:999px;
  background:rgba(255,255,255,.82);box-shadow:0 15px 38px rgba(70,52,47,.11);
  backdrop-filter:blur(14px);font-size:.74rem;font-weight:850;
}
.note-one{left:0;top:17%;animation:float 4.5s ease-in-out infinite}
.note-two{right:0;bottom:16%;animation:float 5.3s ease-in-out infinite reverse}
.scroll-hint{
  position:absolute;left:50%;bottom:18px;transform:translateX(-50%);
  display:flex;align-items:center;gap:8px;color:#9b8f89;font-size:.7rem;font-weight:750;white-space:nowrap;
}
.scroll-hint span{width:18px;height:28px;border:1px solid rgba(59,48,46,.2);border-radius:999px;position:relative}
.scroll-hint span::after{
  content:"";position:absolute;left:50%;top:6px;width:3px;height:6px;border-radius:999px;
  background:var(--lavender);transform:translateX(-50%);animation:scrollDot 1.8s infinite;
}

.trust-strip{
  display:flex;gap:10px;padding:18px 20px;overflow-x:auto;scrollbar-width:none;
  border-block:1px solid var(--line);background:rgba(255,255,255,.66);
}
.trust-strip::-webkit-scrollbar{display:none}
.trust-strip div{min-width:max-content;padding:10px 14px;border-radius:999px;background:#f6eef7;color:#6e6260;font-size:.76rem;font-weight:800}
.trust-strip span{margin-right:7px;color:#b58bca}

.section{padding:84px 20px}
.section-heading{max-width:720px}
.section-heading h2,.process-intro h2,.professional-copy h2{font-size:clamp(2.3rem,10vw,5rem);line-height:1;font-weight:500}
.section-heading>p:last-child,.process-intro>p:last-child,.professional-copy>p{margin:20px 0 0;color:var(--ink-soft);font-size:1rem;line-height:1.65}
.section-heading.compact{margin-bottom:32px}

.benefit-grid{margin-top:38px;display:grid;gap:14px}
.benefit-card{
  min-height:245px;padding:22px;position:relative;overflow:hidden;
  border:1px solid var(--line);border-radius:var(--radius-lg);
  background:rgba(255,255,255,.78);box-shadow:0 12px 40px rgba(74,54,48,.055);
}
.benefit-card.featured{
  min-height:330px;color:#fff;
  background:linear-gradient(145deg,#a77cbb,#c7a3dd 55%,#d2ad7f);
}
.benefit-card h3{margin:76px 0 10px;font-family:"Manrope";font-size:1.55rem;font-weight:600}
.benefit-card.featured h3{margin-top:140px}
.benefit-card p{max-width:300px;margin:0;color:#81746f;line-height:1.55}
.benefit-card.featured p{color:rgba(255,255,255,.82)}
.card-index{position:absolute;right:20px;top:20px;color:#9e918b;font-size:.72rem;font-weight:800}
.featured .card-index{color:rgba(255,255,255,.72)}
.benefit-icon{width:48px;height:48px;display:grid;place-items:center;color:#a67fba;border-radius:16px;background:#f1e8f5;font-size:1.5rem}
.feature-halo{position:absolute;inset:15px 0 auto;height:170px;display:grid;place-items:center}
.feature-halo span{position:absolute;border:2px solid rgba(255,255,255,.68);border-radius:50%}
.feature-halo span:nth-child(1){width:145px;height:145px;opacity:.36}
.feature-halo span:nth-child(2){width:105px;height:105px;opacity:.62}
.feature-halo span:nth-child(3){width:65px;height:65px;opacity:1}

.process-section{background:#413634;color:#fff}
.process-section .eyebrow{color:#d5b4e5}
.process-intro>p:last-child{color:rgba(255,255,255,.65)}
.process-list{margin-top:44px}
.process-step{border-top:1px solid rgba(255,255,255,.14)}
.process-step:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.process-step button{
  width:100%;padding:20px 0;display:grid;grid-template-columns:42px 1fr 28px;gap:10px;
  align-items:center;color:#fff;border:0;background:none;text-align:left;
}
.step-number{color:#d8b4e7;font-size:.75rem;font-weight:850}
.step-title{font-family:"Manrope";font-size:1.2rem;font-weight:600}
.step-toggle{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%}
.step-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.step-content p{min-height:0;margin:0 38px 0 52px;overflow:hidden;color:rgba(255,255,255,.66);line-height:1.6}
.process-step.is-active .step-content{grid-template-rows:1fr}
.process-step.is-active .step-content p{padding-bottom:24px}

.candidate-card{
  position:relative;overflow:hidden;color:#fff;border-radius:var(--radius-xl);
  background:linear-gradient(135deg,#ab82bd,#d2ae84);box-shadow:var(--shadow);
}
.candidate-copy{padding:34px 24px}
.candidate-copy .eyebrow{color:#f6e9ff}
.candidate-copy h2{font-family:"Manrope";font-size:clamp(2.5rem,11vw,5rem);line-height:.98;letter-spacing:-.055em;font-weight:500}
.candidate-copy>p{margin:20px 0 0;color:rgba(255,255,255,.78);line-height:1.65}
.candidate-tags{margin:24px 0;display:flex;flex-wrap:wrap;gap:8px}
.candidate-tags span{padding:9px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.09);font-size:.76rem;font-weight:800}
.candidate-visual{min-height:290px;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.2),transparent 55%)}
.tooth-aura{width:230px;height:230px;position:relative;display:grid;place-items:center}
.tooth-glow{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.65),rgba(237,226,243,.28) 48%,transparent 72%)}
.tooth-aura svg{width:170px;position:relative;z-index:2;filter:drop-shadow(0 20px 30px rgba(65,46,41,.14))}

.professional-section{display:grid;gap:30px}
.professional-photo{min-height:420px;border-radius:var(--radius-xl);overflow:hidden;background:linear-gradient(145deg,#efe2f4,#f1dfc9)}
.photo-placeholder{
  min-height:420px;display:grid;place-content:center;text-align:center;color:#82746f;
  background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.8),transparent 26%),linear-gradient(135deg,rgba(255,255,255,.24),rgba(59,48,46,.04));
}
.photo-placeholder span{font-family:"Manrope";font-size:1.2rem;font-weight:700}
.photo-placeholder small{margin-top:6px}
.professional-copy{align-self:center}
.professional-facts{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.professional-facts>div{padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.72)}
.professional-facts strong{display:block;font-family:"Manrope";font-size:1.15rem}
.professional-facts span{display:block;margin-top:5px;color:#8e817b;font-size:.76rem}

.faq-list{display:grid;gap:10px}
.faq-list details{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.76)}
.faq-list summary{padding:18px 20px;list-style:none;cursor:pointer;font-family:"Manrope";font-weight:650}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";float:right;color:#ad82c1}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{margin:0;padding:0 20px 20px;color:var(--ink-soft);line-height:1.6}

.final-cta{
  margin:20px;padding:76px 24px;position:relative;overflow:hidden;text-align:center;
  color:#fff;border-radius:var(--radius-xl);background:#3d3331;
}
.final-cta>*{position:relative;z-index:2}
.final-cta .eyebrow{color:#d8b4e7}
.final-cta h2{font-size:clamp(2.55rem,11vw,5.6rem);line-height:.95;font-weight:500}
.final-cta>p:not(.eyebrow){max-width:620px;margin:22px auto 28px;color:rgba(255,255,255,.68);line-height:1.65}
.final-halo{position:absolute;border-radius:50%}
.halo-a{width:230px;height:230px;right:-100px;top:-80px;border:1px solid rgba(199,163,221,.25);box-shadow:0 0 0 38px rgba(199,163,221,.035),0 0 0 76px rgba(216,182,140,.02)}
.halo-b{width:260px;height:260px;left:-130px;bottom:-130px;background:radial-gradient(circle,rgba(216,182,140,.22),transparent 70%)}

.site-footer{padding:34px 20px 110px;display:flex;flex-direction:column;gap:24px;color:#8b7e78}
.footer-brand{color:var(--ink)}
.site-footer p{margin:4px 0;font-size:.75rem}
.bottom-nav{
  position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:900;
  padding:7px;display:grid;grid-template-columns:1fr 1fr 1.2fr;border:1px solid rgba(59,48,46,.1);
  border-radius:22px;background:rgba(255,255,255,.93);box-shadow:0 18px 48px rgba(73,53,47,.17);backdrop-filter:blur(18px);
}
.bottom-nav a{min-height:47px;display:grid;place-items:center;gap:2px;color:#786c67;text-decoration:none;border-radius:16px;font-size:.67rem;font-weight:800}
.bottom-nav span{font-size:1rem}
.bottom-nav .bottom-primary{color:#fff;background:linear-gradient(135deg,#bf93d3,#cda77f)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1)}
.reveal.is-visible{opacity:1;transform:none}

@keyframes auraPulse{50%{transform:scale(1.035);opacity:.78}}
@keyframes float{50%{transform:translateY(-9px)}}
@keyframes scrollDot{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,9px)}}

@media(min-width:640px){
  .hero-actions{display:flex}
  .benefit-grid{grid-template-columns:1fr 1fr}
  .benefit-card.featured{grid-row:span 2}
  .candidate-copy{padding:52px}
  .site-footer{flex-direction:row;justify-content:space-between;align-items:end}
}
@media(min-width:900px){
  .announcement{height:38px}
  .site-header{padding:12px 26px}
  .desktop-nav{display:flex}
  .header-cta{display:inline-flex}
  .menu-button,.mobile-menu{display:none}
  .hero{min-height:calc(100vh - 108px);grid-template-columns:1.05fr .95fr;gap:28px;padding:70px max(42px,calc((100vw - 1200px)/2)) 80px}
  .hero h1{font-size:clamp(4.8rem,7.2vw,7rem)}
  .hero-visual{min-height:610px}
  .trust-strip{justify-content:center}
  .section{padding:120px max(42px,calc((100vw - 1160px)/2))}
  .benefit-grid{grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:1fr 1fr}
  .benefit-card.featured{grid-row:span 2}
  .process-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}
  .process-list{margin-top:0}
  .candidate-card{display:grid;grid-template-columns:1fr .9fr}
  .professional-section{grid-template-columns:.95fr 1.05fr;gap:76px}
  .faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
  .final-cta{margin:30px max(30px,calc((100vw - 1200px)/2));padding:110px 60px}
  .bottom-nav{display:none}
  .site-footer{padding-bottom:40px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Pack 008: logo horizontal oficial */

/* Pack 009: logo horizontal transparente, integrado al fondo del sitio */
.brand{display:inline-flex;align-items:center;text-decoration:none;min-width:0}
.brand-logo{display:block;width:auto;height:50px;max-width:min(62vw,300px);object-fit:contain;background:transparent}
.footer-brand .brand-logo{height:66px;max-width:min(80vw,400px)}
@media(max-width:520px){
  .brand-logo{height:42px;max-width:64vw}
}
@media(min-width:900px){
  .brand-logo{height:58px;max-width:340px}
  .footer-brand .brand-logo{height:76px;max-width:440px}
}

/* Pack 010: ubicación, contacto y FormSubmit */
.location-section{display:grid;gap:34px;background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(244,236,246,.54))}
.location-heading h2,.contact-intro h2{margin:0;font-family:"Manrope",sans-serif;font-size:clamp(2.35rem,10vw,5rem);font-weight:500;line-height:1;letter-spacing:-.055em}
.location-heading>p:not(.eyebrow),.contact-intro>p:not(.eyebrow){color:var(--ink-soft);line-height:1.65;margin:20px 0 0;max-width:650px}
.location-details{display:grid;gap:10px;margin:28px 0}
.location-detail{display:flex;gap:14px;align-items:flex-start;padding:17px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.74)}
.detail-icon,.contact-card-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:#a77cbb;background:linear-gradient(145deg,#f3e7f7,#f6eadb);font-size:1.2rem}
.location-detail small,.contact-card small{display:block;color:#998d87;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.location-detail strong,.contact-card strong{display:block;margin-top:4px;font-family:"Manrope";font-size:.94rem}
.location-detail span:not(.detail-icon),.contact-card span:not(.contact-card-icon){display:block;margin-top:3px;color:#8a7d78;font-size:.77rem}
.map-card{min-height:410px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-xl);background:#eee6e0;box-shadow:var(--shadow)}
.map-card iframe{width:100%;height:100%;min-height:410px;border:0;filter:saturate(.78) contrast(.96)}
.map-label{position:absolute;left:16px;right:16px;bottom:16px;padding:13px 15px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.75);border-radius:17px;background:rgba(255,255,255,.9);box-shadow:0 15px 35px rgba(59,48,46,.14);backdrop-filter:blur(15px)}
.map-label>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#f1e7f5;color:#a57cbc}
.map-label strong,.map-label small{display:block}.map-label small{margin-top:2px;color:#8c807a}
.contact-section{display:grid;gap:34px}
.contact-cards{display:grid;gap:10px;margin-top:30px}
.contact-card{padding:15px;display:flex;gap:13px;align-items:center;text-decoration:none;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.72);transition:.2s ease}
.contact-card:active{transform:scale(.985)}
.form-shell{padding:20px;border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-xl);background:linear-gradient(150deg,rgba(255,255,255,.94),rgba(244,235,247,.78));box-shadow:var(--shadow)}
.form-topline{margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;font-family:"Manrope";font-size:.9rem;font-weight:700}
.form-secure{color:#958782;font-family:"DM Sans";font-size:.66rem}.form-secure::first-letter{color:#83af8d}
.contact-form{display:grid;gap:15px}.form-row{display:grid;gap:15px}
.contact-form label{display:grid;gap:7px;color:#5b4e4a;font-size:.76rem;font-weight:800}
.contact-form input,.contact-form textarea{width:100%;padding:14px 15px;color:var(--ink);border:1px solid rgba(59,48,46,.14);border-radius:15px;outline:none;background:rgba(255,255,255,.82);transition:border-color .2s ease,box-shadow .2s ease}
.contact-form textarea{resize:vertical;min-height:130px}
.contact-form input:focus,.contact-form textarea:focus{border-color:#bd94d0;box-shadow:0 0 0 4px rgba(199,163,221,.14)}
.contact-form input:user-invalid,.contact-form textarea:user-invalid{border-color:#c66a6a}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.consent-field{grid-template-columns:22px 1fr!important;align-items:start!important;gap:9px!important;color:#7e716c!important;font-weight:500!important;line-height:1.45}
.consent-field input{width:18px;height:18px;margin:1px 0 0;padding:0;accent-color:#ae82c2}
.form-submit{width:100%;position:relative}.form-submit.is-loading{pointer-events:none;opacity:.76}
.submit-loader{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:formSpin .8s linear infinite}
.form-submit.is-loading .submit-loader{display:block}.form-submit.is-loading .submit-label{display:none}
.form-note{margin:0;text-align:center;color:#948781;font-size:.68rem}
.form-status{display:none;padding:13px 14px;border-radius:15px;font-size:.78rem;line-height:1.45}
.form-status.is-success{display:block;color:#336e52;background:#e5f5eb;border:1px solid #c4e7d1}
.form-status.is-error{display:block;color:#8b4141;background:#faeaea;border:1px solid #efcaca}
.footer-main{display:grid;gap:26px}.footer-brand-block>p{margin:13px 0 0;color:#8b7e78;font-size:.82rem}
.footer-column{display:grid;gap:8px}.footer-column strong{font-family:"Manrope";font-size:.82rem}.footer-column a,.footer-column span{color:#8b7e78;text-decoration:none;font-size:.78rem;line-height:1.55}
.footer-bottom{padding-top:22px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.footer-bottom p{margin:0}
@keyframes formSpin{to{transform:rotate(360deg)}}
@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr}.contact-cards{grid-template-columns:1fr 1fr}.contact-card:last-child{grid-column:1/-1}.footer-main{grid-template-columns:1.4fr 1fr 1fr}.footer-column:last-child{grid-column:2/-1}}
@media(min-width:900px){.location-section,.contact-section{grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.contact-section{grid-template-columns:.9fr 1.1fr}.map-card iframe{min-height:520px}.map-card{min-height:520px}.form-shell{padding:32px}.contact-cards{grid-template-columns:1fr}.contact-card:last-child{grid-column:auto}.footer-main{grid-template-columns:1.5fr 1fr 1.25fr .9fr;gap:52px}.footer-column:last-child{grid-column:auto}.footer-bottom{flex-direction:row;justify-content:space-between}.site-footer{display:block}}

/* Pack 011: página de confirmación FormSubmit */
.thanks-page{
  min-height:100svh;
  background:
    radial-gradient(circle at 80% 10%,rgba(199,163,221,.18),transparent 28rem),
    radial-gradient(circle at 15% 80%,rgba(216,182,140,.16),transparent 26rem),
    #faf7f3;
}
.thanks-shell{
  min-height:100svh;
  width:min(760px,100%);
  margin:auto;
  padding:32px 20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:28px;
}
.thanks-logo img{width:min(290px,72vw);height:auto;display:block}
.thanks-card{
  width:100%;
  padding:42px 24px;
  text-align:center;
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  background:rgba(255,255,255,.82);
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
}
.thanks-check{
  width:72px;height:72px;margin:0 auto 22px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,#c395d9,#caa87e);
  box-shadow:0 18px 44px rgba(180,138,203,.24);
  font-size:2rem;font-weight:800;
  animation:thanksPop .55s cubic-bezier(.2,.8,.2,1) both;
}
.thanks-card h1{
  margin:0;
  font-family:"Manrope",sans-serif;
  font-size:clamp(2.3rem,10vw,4.6rem);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:500;
}
.thanks-card>p:not(.eyebrow){
  max-width:560px;
  margin:20px auto 0;
  color:var(--ink-soft);
  line-height:1.65;
  font-size:1.03rem;
}
.thanks-actions{margin-top:28px;display:grid;gap:10px}
@media(min-width:640px){.thanks-card{padding:58px}.thanks-actions{display:flex;justify-content:center}}
@keyframes thanksPop{from{opacity:0;transform:scale(.55) rotate(-8deg)}to{opacity:1;transform:none}}
