:root{
  --violet:#7143a8;
  --violet-deep:#53317a;
  --violet-soft:#f0e7fb;
  --lilac:#fbf6ff;
  --green:#97c95d;
  --green-deep:#62853a;
  --green-soft:#e4f2c8;
  --gold:#c7a14b;
  --gold-soft:#f7e8b8;
  --cream:#fffaf3;
  --cream-2:#fef6ea;
  --pearl:#fffdf9;
  --wood:#b98c5e;
  --wood-deep:#8b6542;
  --ink:#34273f;
  --muted:#6c6176;
  --white:#fff;
  --shadow:0 22px 60px rgba(74,44,91,.14);
  --shadow-soft:0 14px 34px rgba(74,44,91,.10);
  --radius:30px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Nunito Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  line-height:1.68;
  background:
    radial-gradient(circle at 8% 12%, rgba(255,224,169,.42), transparent 20%),
    radial-gradient(circle at 92% 14%, rgba(183,154,222,.26), transparent 22%),
    radial-gradient(circle at 84% 84%, rgba(151,201,93,.18), transparent 16%),
    linear-gradient(180deg,#fffdf9 0%,#fcf5ee 38%,#faf5ff 68%,#fffaf4 100%);
  overflow-x:hidden;
}
body::before,
body::after{
  content:"";
  position:fixed;
  pointer-events:none;
  z-index:-1;
  inset:auto;
  opacity:.75;
}
body::before{
  left:-80px;top:26%;width:280px;height:280px;
  background:radial-gradient(circle, rgba(151,201,93,.18), transparent 65%);
  filter:blur(12px);
}
body::after{
  right:-80px;top:52%;width:320px;height:320px;
  background:radial-gradient(circle, rgba(113,67,168,.16), transparent 68%);
  filter:blur(12px);
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 36px));margin:auto}
.eyebrow{
  font-size:.82rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--gold);
  margin-bottom:10px;
}
h1,h2,h3{
  font-family:"Marcellus",Georgia,"Times New Roman",serif;
  line-height:1.13;
  margin:0 0 16px;
  color:var(--violet-deep);
}
h1{font-size:clamp(2.95rem,6vw,5.6rem);letter-spacing:-.04em}
h2{font-size:clamp(2.15rem,4vw,3.75rem);letter-spacing:-.03em}
h3{font-size:1.42rem}
p{margin:0 0 1rem}
.lead{font-size:clamp(1.08rem,2vw,1.2rem);color:#564e5e;max-width:760px}
.muted{color:var(--muted)}
.accent,.gold{
  background:linear-gradient(90deg,var(--gold) 0%, #e7cb84 35%, var(--green) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
::selection{background:rgba(226,210,145,.38);color:var(--ink)}

.site-header{
  position:sticky;top:0;z-index:80;
  background:rgba(255,251,245,.8);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(113,67,168,.08);
}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:14px;font-family:"Marcellus",Georgia,serif;color:var(--violet-deep)}
.brand img{width:60px;height:60px;object-fit:contain;padding:4px;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 12px 28px rgba(74,44,91,.12)}
.brand span{font-size:1.38rem;letter-spacing:.08em}
.nav-links{display:flex;align-items:center;gap:24px;font-size:.97rem;font-weight:700}
.nav-links a{position:relative;color:#53485d}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:2px;background:linear-gradient(90deg,var(--gold),var(--green));border-radius:999px;transform:scaleX(0);transform-origin:left;transition:.2s ease}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--violet-deep)}
.nav-links a:hover::after,.nav-links a:focus-visible::after{transform:scaleX(1)}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:13px 22px;border:1px solid transparent;font-weight:800;cursor:pointer;transition:.22s ease}
.btn-primary,.nav-cta{background:linear-gradient(135deg,var(--violet-deep),var(--violet) 60%,var(--gold) 130%);color:#fff;box-shadow:0 14px 34px rgba(83,49,122,.24)}
.btn-primary:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(83,49,122,.30)}
.btn-secondary{border-color:rgba(113,67,168,.14);background:rgba(255,255,255,.88);color:var(--violet-deep);box-shadow:0 10px 24px rgba(89,68,110,.08)}
.btn-secondary:hover{background:var(--lilac);transform:translateY(-2px)}
.menu-btn{display:none;border:0;background:none;font-size:1.6rem;color:var(--violet-deep)}

.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 15% 14%, rgba(255,225,175,.32), transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(183,154,222,.24), transparent 27%),
    linear-gradient(180deg,#fffdf8 0%,#fbf2ec 48%,#f8f2ff 100%);
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(164,130,94,.08) 0, rgba(164,130,94,.08) 1px, transparent 1px, transparent 130px),
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,247,235,.55) 76%, rgba(255,247,235,0) 100%);
  opacity:.36;
  pointer-events:none;
}
.hero-grid{
  display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:58px;
  padding:60px; margin:34px auto 60px;
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.65), transparent 26%),
    radial-gradient(circle at 88% 12%, rgba(151,201,93,.14), transparent 20%),
    linear-gradient(135deg, rgba(255,250,243,.96), rgba(249,243,255,.94));
  border-radius:40px;
  box-shadow:var(--shadow);
  border:1px solid rgba(113,67,168,.08);
  position:relative;
}
.hero-grid::after{
  content:"";position:absolute;left:22px;right:22px;bottom:18px;height:12px;border-radius:999px;
  background:linear-gradient(90deg, rgba(199,161,75,.16), rgba(151,201,93,.16), rgba(113,67,168,.14));
  filter:blur(8px);
}
.hero h1{max-width:9.5ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.trust-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;color:#62586b;font-size:.92rem}
.trust-row span{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.62);padding:8px 12px;border-radius:999px;border:1px solid rgba(199,161,75,.12)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.hero-visual{position:relative;max-width:530px;justify-self:end}
.hero-visual .frame,.photo-card,.detail-img,.service-card .thumb{position:relative;overflow:hidden;background:
  radial-gradient(circle at 20% 16%, rgba(255,255,255,.68), transparent 28%),
  radial-gradient(circle at 80% 14%, rgba(255,231,183,.28), transparent 18%),
  linear-gradient(180deg,#fff9f1 0%,#faf0ff 42%,#f3f7ea 100%);
}
.hero-visual .frame{border-radius:34px;aspect-ratio:4/5;padding:14px 14px 0;border:1px solid rgba(113,67,168,.08);box-shadow:var(--shadow-soft)}
.hero-visual .frame img,
.photo-card img,
.detail-img img,
.service-card img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 30px rgba(76,48,94,.12))}
.hero-visual .logo-float{position:absolute;left:-28px;bottom:20px;width:185px;background:rgba(255,255,255,.9);padding:16px;border-radius:24px;box-shadow:var(--shadow-soft);border:1px solid rgba(199,161,75,.16);backdrop-filter:blur(8px)}
.spark{position:absolute;width:15px;height:15px;background:var(--gold-soft);transform:rotate(45deg);border-radius:2px;box-shadow:0 0 24px rgba(247,232,184,.9)}
.spark.s1{right:-8px;top:18%}
.spark.s2{left:-18px;top:8%;background:#d8b5f2}

.section{padding:42px 0;position:relative}
.section > .container,
.detail-hero > .container{
  position:relative;
  padding:44px;
  border-radius:36px;
  background:
    radial-gradient(circle at 12% 12%, rgba(255,255,255,.68), transparent 24%),
    radial-gradient(circle at 86% 14%, rgba(255,231,183,.22), transparent 18%),
    linear-gradient(135deg, rgba(255,249,242,.95), rgba(251,244,255,.94));
  border:1px solid rgba(113,67,168,.08);
  box-shadow:var(--shadow-soft);
}
.section > .container::before,
.detail-hero > .container::before{
  content:"";position:absolute;inset:0;border-radius:36px;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(166,130,94,.06) 0, rgba(166,130,94,.06) 1px, transparent 1px, transparent 120px);
  opacity:.35;
}
.section-soft > .container{background:
  radial-gradient(circle at 16% 14%, rgba(255,255,255,.68), transparent 24%),
  radial-gradient(circle at 86% 16%, rgba(151,201,93,.18), transparent 20%),
  linear-gradient(135deg, rgba(248,242,255,.96), rgba(244,249,235,.95));
}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px;position:relative;z-index:1}
.section-head p{max-width:650px;margin:0}
#serviceSearch{width:100%;max-width:520px;border:1px solid rgba(113,67,168,.12)!important;border-radius:999px;padding:15px 19px!important;background:rgba(255,255,255,.92)!important;color:var(--ink);box-shadow:0 12px 28px rgba(89,68,110,.06);outline:none;position:relative;z-index:1}
#serviceSearch:focus{border-color:rgba(113,67,168,.35)!important;box-shadow:0 14px 30px rgba(91,43,130,.12)}
.pill-row{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0;position:relative;z-index:1}
.pill{border:1px solid rgba(113,67,168,.12);background:rgba(255,255,255,.88);color:#655a69;border-radius:999px;padding:10px 16px;cursor:pointer;font-size:.89rem;font-weight:700;box-shadow:0 8px 20px rgba(89,68,110,.05);transition:.2s ease}
.pill.active,.pill:hover{background:linear-gradient(135deg,var(--violet),var(--violet-deep));color:#fff;border-color:transparent}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:1}
.service-card{position:relative;background:rgba(255,255,255,.9);border:1px solid rgba(113,67,168,.08);border-radius:var(--radius);overflow:hidden;box-shadow:0 14px 34px rgba(52,37,61,.07);transition:.25s ease;display:flex;flex-direction:column;backdrop-filter:blur(6px)}
.service-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg, rgba(255,255,255,.15), transparent 35%, rgba(199,161,75,.05) 100%)}
.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.service-card .thumb{aspect-ratio:4/5;padding:14px 14px 0}
.service-card img{transition:.35s ease}
.service-card:hover img{transform:translateY(-2px) scale(1.01)}
.service-body{padding:22px 21px 24px;display:flex;flex-direction:column;flex:1;position:relative;z-index:1}
.service-body .cat{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--gold)}
.service-body h3{margin:8px 0 8px;color:var(--violet-deep)}
.service-body p{color:#665d69;font-size:.96rem;margin:0 0 16px}
.card-link{margin-top:auto;color:var(--violet-deep);font-weight:800;font-size:.92rem}
.card-link:hover{text-decoration:underline}
.hide{display:none!important}

.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:64px;align-items:center;position:relative;z-index:1}
.photo-card{border-radius:34px;box-shadow:var(--shadow);aspect-ratio:4/5;padding:14px 14px 0;border:1px solid rgba(113,67,168,.08)}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.mini{padding:18px;border-radius:18px;background:rgba(255,255,255,.88);border:1px solid rgba(113,67,168,.08);box-shadow:0 12px 26px rgba(89,68,110,.05)}
.mini strong{display:block;color:var(--violet-deep);margin-bottom:3px}
.quote{padding:30px;border-radius:28px;background:
  radial-gradient(circle at 86% 14%, rgba(255,220,150,.18), transparent 20%),
  linear-gradient(135deg,var(--violet-deep),#7347a5 55%,#876029 130%);
  color:white;box-shadow:var(--shadow);position:relative;overflow:hidden}
.quote::after{content:"✦";position:absolute;right:24px;top:18px;font-size:1.2rem;color:rgba(255,255,255,.62)}
.quote p{font-family:"Marcellus",Georgia,serif;font-size:1.65rem;line-height:1.3;margin:0 0 8px}
.quote small{opacity:.84}

.process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;z-index:1}
.step{background:rgba(255,255,255,.9);padding:24px;border-radius:24px;border:1px solid rgba(113,67,168,.08);box-shadow:0 12px 24px rgba(89,68,110,.06)}
.step .n{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold-soft),#f1f8df);color:var(--violet-deep);font-weight:900;margin-bottom:15px}
.step p{margin:0;color:var(--muted);font-size:.94rem}

.faq{max-width:850px;margin:auto;background:rgba(255,255,255,.72);padding:14px 28px;border-radius:28px;box-shadow:var(--shadow-soft);border:1px solid rgba(113,67,168,.06);position:relative;z-index:1}
.faq-item{border-bottom:1px solid rgba(113,67,168,.12)}
.faq-item:last-child{border-bottom:0}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:22px 0;font-weight:800;color:var(--ink);display:flex;justify-content:space-between;gap:20px;cursor:pointer}
.faq-q span{font-size:1.08rem;color:var(--gold)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--muted)}
.faq-a p{margin:0 0 22px}
.faq-item.open .faq-a{max-height:280px}
.faq-item.open .faq-q{color:var(--violet-deep)}

.cta-panel{padding:52px;border-radius:34px;background:
  radial-gradient(circle at 15% 10%, rgba(255,224,169,.32), transparent 28%),
  radial-gradient(circle at 85% 16%, rgba(183,154,222,.28), transparent 22%),
  linear-gradient(135deg,#fff8ef,#f4f0ff 60%,#f2f7e6 100%);
  display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;border:1px solid rgba(113,67,168,.09);box-shadow:var(--shadow)}
.cta-panel h2{font-size:clamp(2.1rem,4vw,3.2rem)}
.footer{padding:62px 0 26px;background:linear-gradient(180deg,#3a2847,#2b1d35);color:#eee7f0}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:44px}
.footer a{color:#ddd0e4}.footer a:hover{color:white}
.foot-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.foot-brand img{width:72px;border-radius:16px;background:rgba(255,255,255,.08);padding:4px}
.fine{border-top:1px solid rgba(255,255,255,.1);margin-top:35px;padding-top:22px;font-size:.82rem;color:#c9bdcd}

.detail-hero{padding:42px 0 18px;background:transparent}
.breadcrumbs{font-size:.85rem;color:#817786;margin-bottom:20px}
.detail-grid{display:grid;grid-template-columns:1fr .85fr;gap:60px;align-items:center;position:relative;z-index:1}
.detail-hero h1{font-size:clamp(2.7rem,5.5vw,4.9rem)}
.detail-img{border-radius:34px;box-shadow:var(--shadow);aspect-ratio:4/5;padding:14px 14px 0;border:1px solid rgba(113,67,168,.08)}
.benefit-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}
.benefit{background:rgba(255,255,255,.92);padding:17px;border-radius:18px;border:1px solid rgba(113,67,168,.08);font-weight:700;box-shadow:0 10px 22px rgba(89,68,110,.05)}
.notice{padding:18px 20px;border-left:4px solid var(--gold);background:#fffaf1;border-radius:14px;color:#5f6659;box-shadow:0 12px 22px rgba(89,68,110,.05)}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;z-index:1}
.related a{padding:18px;background:rgba(255,255,255,.92);border:1px solid rgba(113,67,168,.09);border-radius:18px;font-weight:800;box-shadow:0 10px 24px rgba(89,68,110,.05);transition:.2s ease}
.related a:hover{border-color:var(--violet);color:var(--violet-deep);transform:translateY(-2px)}
.whatsapp-fab{position:fixed;right:20px;bottom:20px;z-index:90;border:0;border-radius:999px;padding:15px 18px;background:linear-gradient(135deg,var(--violet-deep),var(--violet));color:white;font-weight:800;box-shadow:0 16px 36px rgba(91,43,130,.32);cursor:pointer;transition:.22s ease}
.whatsapp-fab:hover{transform:translateY(-2px)}
.toast{position:fixed;right:20px;bottom:82px;z-index:120;background:#2d2134;color:white;padding:14px 18px;border-radius:14px;max-width:330px;box-shadow:var(--shadow);display:none}
.toast.show{display:block}

@media(max-width:950px){
  .nav-links{display:none;position:absolute;left:18px;right:18px;top:72px;background:rgba(255,255,255,.97);border-radius:24px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;border:1px solid rgba(113,67,168,.08)}
  .nav-links.open{display:flex}
  .menu-btn{display:block}
  .hero-grid,.split,.detail-grid{grid-template-columns:1fr}
  .hero-visual{justify-self:stretch;max-width:620px;margin:auto}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .process{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .cta-panel{grid-template-columns:1fr}
  .related{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .container{width:min(100% - 24px,var(--max))}
  .nav{height:74px}
  .brand span{display:none}
  .hero-grid{padding:28px 22px 32px;margin:16px auto 38px}
  .hero-visual .logo-float{left:8px;bottom:14px;width:140px}
  .section{padding:16px 0 28px}
  .section > .container,
  .detail-hero > .container{padding:28px 20px}
  .section-head{display:block}
  .service-grid,.mini-grid,.benefit-list,.process,.related,.footer-grid{grid-template-columns:1fr}
  .cta-panel{padding:30px}
  .whatsapp-fab{right:12px;bottom:12px}
  .faq{padding:10px 20px}
}

/* --- richer interactivity, icons and ambient motion --- */
.hero,
.section,
.detail-hero{overflow:hidden}
.hero .ambient-stars,
.section .ambient-stars,
.detail-hero .ambient-stars{position:absolute;inset:0;pointer-events:none;z-index:0}
.float-star{
  position:absolute;display:block;width:14px;height:14px;transform:rotate(45deg);
  background:linear-gradient(135deg,var(--gold-soft),#fff7d8);
  border-radius:2px;opacity:.7;animation:drift 7s ease-in-out infinite;
  box-shadow:0 0 16px rgba(247,232,184,.85)
}
.float-star.alt{background:linear-gradient(135deg,#e3cef7,#fff7d8)}
@keyframes drift{0%,100%{transform:translateY(0) rotate(45deg);opacity:.45}50%{transform:translateY(-12px) rotate(45deg);opacity:.88}}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}

.icon-inline,.icon-circle,.icon-soft{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.icon-inline{width:18px;height:18px;margin-right:8px;vertical-align:-3px;color:var(--gold)}
.icon-circle{
  width:42px;height:42px;border-radius:50%;
  background:linear-gradient(135deg,#fff7ea,#f3f8e8);
  color:var(--violet-deep);border:1px solid rgba(199,161,75,.16);
  box-shadow:0 8px 18px rgba(89,68,110,.08)
}
.icon-circle.small{width:32px;height:32px}
.icon-soft{width:22px;height:22px;color:var(--gold);margin-right:8px}
.icon-inline svg,.icon-circle svg,.icon-soft svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-card .icon-circle.card-icon{position:absolute;top:18px;right:18px;z-index:2;background:rgba(255,255,255,.82);backdrop-filter:blur(5px)}
.service-card{--mx:50%;--my:50%}
.service-card::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s ease;
  background:radial-gradient(circle at var(--mx) var(--my), rgba(255,255,255,.32), transparent 34%);
}
.service-card:hover::after{opacity:1}
.service-body .cat{display:flex;align-items:center}
.mini strong,.benefit,.trust-row span,.step-title,.detail-stat{display:flex;align-items:center;gap:10px}
.step .step-icon{margin-bottom:12px}
.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 8px}
.detail-stat{padding:14px 16px;background:rgba(255,255,255,.86);border:1px solid rgba(113,67,168,.08);border-radius:18px;box-shadow:0 10px 22px rgba(89,68,110,.05);font-weight:700;color:#5f5767}
.detail-stat b{display:block;color:var(--violet-deep);font-weight:800}

.guide-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:22px;position:relative;z-index:1}
.guide-panel,.guide-result{
  background:rgba(255,255,255,.84);border:1px solid rgba(113,67,168,.08);
  border-radius:28px;box-shadow:0 14px 30px rgba(89,68,110,.08)
}
.guide-panel{padding:22px}
.guide-panel h3,.guide-result h3{margin-bottom:10px}
.guide-options{display:grid;gap:12px;margin-top:18px}
.guide-option{
  display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;width:100%;text-align:left;
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(248,244,255,.92));
  border:1px solid rgba(113,67,168,.08);border-radius:22px;padding:16px;cursor:pointer;transition:.22s ease;color:inherit
}
.guide-option:hover,.guide-option.active{transform:translateY(-2px);border-color:rgba(199,161,75,.28);box-shadow:0 12px 24px rgba(89,68,110,.08)}
.guide-option strong{display:block;color:var(--violet-deep);margin-bottom:4px}
.guide-result{padding:28px 26px;position:relative;overflow:hidden}
.guide-result::after{content:"";position:absolute;right:-32px;bottom:-30px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(199,161,75,.12),transparent 68%)}
.guide-label{display:inline-flex;align-items:center;gap:8px;background:rgba(199,161,75,.12);color:#8a6b22;padding:8px 12px;border-radius:999px;font-size:.84rem;font-weight:800;margin-bottom:14px}
.guide-tags{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 24px}
.guide-tag{padding:10px 14px;border-radius:999px;background:#fff8ea;border:1px solid rgba(199,161,75,.22);font-size:.88rem;font-weight:700;color:#7a6436}
.guide-actions{display:flex;flex-wrap:wrap;gap:12px}
.guide-links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}
.guide-links a{padding:14px;border-radius:18px;background:rgba(255,255,255,.82);border:1px solid rgba(113,67,168,.08);font-weight:700;transition:.2s ease}
.guide-links a:hover{transform:translateY(-2px);border-color:rgba(113,67,168,.18)}

.lightbox{position:fixed;inset:0;background:rgba(29,19,39,.72);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:28px;z-index:200}
.lightbox.open{display:flex}
.lightbox-inner{max-width:min(92vw,760px);max-height:88vh;position:relative}
.lightbox img{max-width:100%;max-height:88vh;border-radius:24px;box-shadow:0 28px 70px rgba(0,0,0,.35)}
.lightbox-close{position:absolute;top:-12px;right:-12px;width:42px;height:42px;border-radius:50%;border:0;background:white;color:var(--violet-deep);font-size:1.2rem;cursor:pointer;box-shadow:var(--shadow)}

.to-top{position:fixed;left:18px;bottom:18px;z-index:90;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--violet-deep);box-shadow:var(--shadow-soft);display:none;cursor:pointer}
.to-top.show{display:grid;place-items:center}
.to-top svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:950px){
  .guide-grid{grid-template-columns:1fr}
  .detail-stats{grid-template-columns:1fr}
}

/* --- v5 real consultorio / Dey sections --- */
.hero-visual .frame.real-frame,
.real-photo-card,
.gallery-card,
.portrait-card{
  padding:10px;
  border-radius:34px;
  border:1px solid rgba(113,67,168,.08);
  box-shadow:var(--shadow-soft);
}
.hero-visual .frame.real-frame img,
.real-photo-card img,
.gallery-card img,
.portrait-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:26px;
  filter:none;
}
.hero-visual .frame.real-frame{aspect-ratio:4/5}
.hero-visual .frame.real-frame img{object-position:center center}
.hero-visual .logo-float small{display:block;margin-top:4px;color:#6e6179;line-height:1.45}
.section-note{
  display:flex;align-items:flex-start;gap:12px;margin:0 0 24px;
  padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.88);
  border:1px solid rgba(199,161,75,.18);box-shadow:0 12px 24px rgba(89,68,110,.05);position:relative;z-index:1
}
.section-note p{margin:0;color:#5f5767}
.free-services{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;position:relative;z-index:1}
.free-card{
  position:relative;padding:26px;border-radius:28px;background:rgba(255,255,255,.9);
  border:1px solid rgba(113,67,168,.08);box-shadow:var(--shadow-soft);overflow:hidden
}
.free-card::after{
  content:"";position:absolute;right:-30px;bottom:-36px;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(199,161,75,.14),transparent 70%);
}
.free-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.free-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff8ea;border:1px solid rgba(199,161,75,.22);font-size:.82rem;font-weight:800;color:#886a29}
.free-card h3{margin-bottom:8px}
.free-card p{color:#645b68}
.free-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;position:relative;z-index:1}
.free-actions .btn{padding:11px 18px}
.free-card .mini-list{display:grid;gap:10px;margin:16px 0 0}
.free-card .mini-list span{display:flex;align-items:flex-start;gap:10px;color:#5e5664;font-size:.95rem}
.consultorio-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;align-items:start;position:relative;z-index:1}
.consultorio-copy .lead{max-width:unset}
.consultorio-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.consultorio-features .mini{padding:16px}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.gallery-card{aspect-ratio:4/5;position:relative;overflow:hidden;background:rgba(255,255,255,.92)}
.gallery-card figcaption{
  position:absolute;left:16px;right:16px;bottom:16px;
  background:rgba(255,255,255,.88);backdrop-filter:blur(6px);padding:10px 12px;border-radius:16px;
  font-size:.88rem;font-weight:800;color:var(--violet-deep);box-shadow:0 8px 20px rgba(52,37,61,.10)
}
.portrait-card{aspect-ratio:4/5}
.about-highlights{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:26px}
.about-highlights .mini p{margin:0;color:var(--muted);font-size:.94rem}
.timeline-badges{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 4px}
.timeline-badges span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(113,67,168,.08);font-size:.87rem;font-weight:700;color:#62596a;box-shadow:0 8px 18px rgba(89,68,110,.05)}
.mini kbd{font-family:inherit;background:#fff8ea;padding:2px 8px;border-radius:999px;border:1px solid rgba(199,161,75,.18);color:#8c6c23;font-weight:800}
.quote .author-line{display:block;margin-top:10px;font-size:.96rem;opacity:.88}
.free-inline{
  display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;border-radius:999px;
  background:rgba(151,201,93,.15);color:var(--green-deep);font-weight:800;font-size:.84rem
}
@media(max-width:950px){
  .free-services,.consultorio-layout{grid-template-columns:1fr}
  .consultorio-features,.about-highlights{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .free-services,.gallery-grid,.consultorio-features,.about-highlights{grid-template-columns:1fr}
  .section-note{padding:14px 16px}
}

/* --- v6 CTA, timeline and consultorio mosaic --- */
.hero .hero-actions .btn-primary,
.nav-cta,
.whatsapp-fab{
  box-shadow:0 18px 34px rgba(112,78,24,.18), 0 10px 22px rgba(91,43,130,.16);
}
.timeline-showcase{
  margin:26px 0 28px;
  padding:24px;
  border-radius:30px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(252,248,238,.92));
  border:1px solid rgba(113,67,168,.09);
  box-shadow:var(--shadow-soft);
  position:relative;
  overflow:hidden;
}
.timeline-showcase::before,
.timeline-showcase::after{
  content:"";position:absolute;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle, rgba(199,161,75,.16), transparent 70%);
}
.timeline-showcase::before{width:220px;height:220px;right:-80px;top:-80px}
.timeline-showcase::after{width:180px;height:180px;left:-70px;bottom:-60px}
.timeline-intro h3{margin:.15rem 0 1rem;font-size:1.28rem}
.timeline-visual{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}
.timeline-visual::before{
  content:"";position:absolute;left:calc(50% - 1px);top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg, rgba(151,201,93,.55), rgba(91,43,130,.26), rgba(199,161,75,.55));
}
.time-card{
  position:relative;z-index:1;
  padding:18px 18px 18px 22px;
  border-radius:24px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(113,67,168,.09);
  box-shadow:0 12px 26px rgba(89,68,110,.07);
}
.time-card::before{
  content:"";position:absolute;top:28px;width:16px;height:16px;border-radius:50%;
  background:linear-gradient(135deg, #caa64a, #8dc44d);border:3px solid #fff;box-shadow:0 0 0 3px rgba(91,43,130,.12);
}
.time-card:nth-child(odd)::before{right:-25px}
.time-card:nth-child(even)::before{left:-25px}
.time-year{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;padding:8px 12px;
  border-radius:999px;background:#fff7e7;border:1px solid rgba(199,161,75,.22);
  color:#8b6b1f;font-weight:800;font-size:.82rem;letter-spacing:.02em
}
.time-card h4{margin:0 0 8px;font-size:1.02rem;color:var(--violet-deep)}
.time-card p{margin:0;color:#5f5767;font-size:.95rem;line-height:1.65}
.gallery-grid{
  grid-template-columns:1.15fr .85fr;
  grid-template-rows:repeat(3, minmax(0, 1fr));
  grid-template-areas:
    "main card2"
    "main card3"
    "main card4";
  align-items:stretch;
}
.gallery-card{min-height:0;transition:transform .25s ease, box-shadow .25s ease}
.gallery-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(52,37,61,.12)}
.gallery-card:nth-child(1){grid-area:main;aspect-ratio:auto;height:100%}
.gallery-card:nth-child(2){grid-area:card2}
.gallery-card:nth-child(3){grid-area:card3}
.gallery-card:nth-child(4){grid-area:card4}
.gallery-card img{transition:transform .45s ease}
.gallery-card:hover img{transform:scale(1.03)}
.gallery-main figcaption{font-size:.92rem}
.cta-panel{
  flex-wrap:wrap;
}
.cta-panel .btn-secondary{background:#fff}
@media(max-width:950px){
  .timeline-visual{grid-template-columns:1fr}
  .timeline-visual::before{left:12px;top:10px;bottom:10px}
  .time-card{padding-left:28px}
  .time-card::before{left:4px!important;right:auto!important}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;grid-template-areas:"main main" "card2 card3" "card4 card4"}
}
@media(max-width:620px){
  .timeline-showcase{padding:18px}
  .gallery-grid{grid-template-columns:1fr;grid-template-areas:"main" "card2" "card3" "card4"}
  .gallery-card,.gallery-card:nth-child(1){aspect-ratio:4/5;height:auto}
}

/* --- v7 hero / consultorio / Dey refinements --- */
.hero-visual .frame.illustration-frame{
  aspect-ratio:4/5;
  padding:14px 14px 0;
}
.hero-visual .frame.illustration-frame img{
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 18px 34px rgba(76,48,94,.12));
}
.hero-visual .frame.illustration-frame::after{
  content:"";
  position:absolute;
  inset:auto 10% 4% 10%;
  height:22px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(199,161,75,.22), rgba(113,67,168,.10), transparent 72%);
  filter:blur(10px);
}

/* uniform consultorio gallery */
#consultorio .gallery-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  grid-template-areas:none;
  gap:18px;
}
#consultorio .gallery-card,
#consultorio .gallery-card:nth-child(1){
  grid-area:auto;
  aspect-ratio:4/5;
  height:auto;
}
#consultorio .gallery-card img{
  object-position:center center;
}
#consultorio .gallery-card figcaption{
  font-size:.86rem;
}

/* Dey section redesign */
#sobre-kuralma .split{
  align-items:start;
}
.dey-profile{
  position:sticky;
  top:110px;
  display:grid;
  gap:18px;
}
.dey-profile .portrait-card{
  aspect-ratio:4/5;
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.68), transparent 28%),
    linear-gradient(180deg,#fffaf3 0%, #faf1ff 52%, #f2f8e7 100%);
}
.dey-profile .portrait-card img{
  object-fit:cover;
  object-position:center top;
}
.dey-profile-copy{
  padding:24px;
  border-radius:28px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(113,67,168,.08);
  box-shadow:var(--shadow-soft);
  position:relative;
  overflow:hidden;
}
.dey-profile-copy::after{
  content:"";
  position:absolute;
  right:-44px;
  top:-44px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(199,161,75,.18), transparent 68%);
}
.dey-profile-copy h3{
  margin:.25rem 0 .65rem;
  color:var(--violet-deep);
}
.dey-profile-copy p{
  margin:0;
  color:#5e5566;
}
.dey-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0 20px;
}
.dey-badges span{
  display:inline-flex;
  align-items:center;
  padding:9px 13px;
  border-radius:999px;
  background:#fff8ea;
  border:1px solid rgba(199,161,75,.22);
  color:#7a6526;
  font-size:.84rem;
  font-weight:800;
}
#sobre-kuralma .quote{
  margin-top:24px;
}

@media(max-width:950px){
  .dey-profile{
    position:relative;
    top:auto;
  }
}
@media(max-width:620px){
  #consultorio .gallery-grid{
    grid-template-columns:1fr;
  }
  .dey-profile-copy{
    padding:20px;
  }
}

/* --- v7.1 consultorio proportions cleanup --- */
#consultorio .gallery-card,
#consultorio .gallery-card:nth-child(1){
  aspect-ratio:468 / 833;
  padding:10px 10px 14px;
  display:flex;
  flex-direction:column;
}
#consultorio .gallery-card img{
  flex:1;
  width:100%;
  height:auto;
  object-fit:cover;
  border-radius:22px;
}
#consultorio .gallery-card figcaption{
  position:static;
  margin-top:10px;
  background:none;
  backdrop-filter:none;
  padding:0 4px;
  border-radius:0;
  box-shadow:none;
  color:#5f5568;
  font-weight:700;
}

/* --- v8 consultorio interactive redesign --- */
.consultorio-experience{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:26px;
  align-items:start;
  position:relative;
  z-index:1;
}
.consultorio-stage,
.consultorio-selector,
.dey-copy-panel,
.dey-storyboard{
  position:relative;
  border-radius:32px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(113,67,168,.08);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.consultorio-stage{padding:18px}
.consultorio-stage-frame{
  position:relative;
  aspect-ratio:4/5;
  border-radius:26px;
  overflow:hidden;
  background:linear-gradient(180deg,#fffaf3 0%,#faf2ff 55%,#f0f7e5 100%);
}
.consultorio-stage-frame img{
  width:100%;height:100%;object-fit:cover;object-position:center center;display:block;
  transition:transform .45s ease, opacity .35s ease;
}
.consultorio-stage-frame:hover img{transform:scale(1.03)}
.consultorio-stage-overlay{
  position:absolute;left:18px;right:18px;bottom:18px;padding:18px 18px 16px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(27,18,35,.72));
  border-radius:22px;color:white;backdrop-filter:blur(8px);
}
.stage-kicker{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;padding:7px 11px;border-radius:999px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.24);font-size:.8rem;font-weight:800;letter-spacing:.03em
}
.consultorio-stage-overlay h3{margin:0 0 7px;font-size:1.3rem;color:#fff}
.consultorio-stage-overlay p{margin:0;color:rgba(255,255,255,.9);line-height:1.6;font-size:.95rem}
.consultorio-stage-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.stage-pill{
  display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:#fff8ea;
  border:1px solid rgba(199,161,75,.2);font-size:.86rem;font-weight:800;color:#7b6428
}
.consultorio-selector{padding:18px;display:grid;gap:12px}
.room-tab{
  width:100%;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;text-align:left;cursor:pointer;
  padding:16px 16px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(248,243,255,.9));
  border:1px solid rgba(113,67,168,.08);transition:.22s ease;color:inherit;position:relative;overflow:hidden
}
.room-tab::after{
  content:"";position:absolute;inset:0;opacity:0;transition:opacity .22s ease;
  background:radial-gradient(circle at top right, rgba(199,161,75,.18), transparent 34%);
}
.room-tab:hover,.room-tab.active{transform:translateY(-2px);border-color:rgba(199,161,75,.26);box-shadow:0 16px 28px rgba(89,68,110,.08)}
.room-tab:hover::after,.room-tab.active::after{opacity:1}
.room-n{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;
  background:linear-gradient(135deg,#f4ebcf,#ecf4db);color:var(--violet-deep);font-weight:900
}
.room-tab strong,.story-tab strong{display:block;color:var(--violet-deep);margin-bottom:4px}
.room-tab small,.story-tab small{display:block;color:#655d67;line-height:1.55}
.consultorio-copy-card{
  margin-top:6px;padding:20px;border-radius:26px;background:linear-gradient(145deg,rgba(112,67,168,.06),rgba(151,201,93,.08));
  border:1px solid rgba(113,67,168,.08)
}
.consultorio-copy-card h3{margin-bottom:8px}
.consultorio-copy-card p{margin:0 0 16px;color:#605766}

/* --- v8 Dey interactive redesign --- */
.dey-experience{
  display:grid;grid-template-columns:.92fr 1.08fr;gap:28px;align-items:start;position:relative;z-index:1
}
.dey-copy-panel,.dey-storyboard{padding:24px}
.dey-copy-panel::before,.dey-storyboard::before{
  content:"";position:absolute;inset:auto auto -60px -60px;width:180px;height:180px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle, rgba(113,67,168,.10), transparent 70%);
}
.dey-mini-profile{
  display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;margin-bottom:18px
}
.dey-photo-mini{
  width:120px;height:140px;border-radius:24px;overflow:hidden;padding:8px;
  background:linear-gradient(180deg,#fffaf3 0%,#faf2ff 52%,#f1f8e6 100%);border:1px solid rgba(113,67,168,.08);box-shadow:0 12px 24px rgba(89,68,110,.07)
}
.dey-photo-mini img{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:18px;display:block}
.dey-role{
  display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#fff8ea;border:1px solid rgba(199,161,75,.2);
  font-size:.82rem;font-weight:800;color:#7e6725;margin-bottom:8px
}
.dey-mini-profile h3{margin:0 0 6px;color:var(--violet-deep)}
.dey-mini-profile p{margin:0;color:#605867}
.dey-seo-points{display:grid;gap:12px;margin:22px 0}
.seo-point{
  padding:16px 18px;border-radius:22px;background:rgba(255,255,255,.86);border:1px solid rgba(113,67,168,.08);
  box-shadow:0 10px 22px rgba(89,68,110,.05)
}
.seo-point strong{display:block;color:var(--violet-deep);margin-bottom:5px}
.seo-point span{color:#605967;font-size:.95rem;line-height:1.55}
.dey-story-head{margin-bottom:14px}
.story-kicker{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;margin-bottom:10px;
  background:linear-gradient(135deg,#fff7e8,#f4f8e8);border:1px solid rgba(199,161,75,.2);font-size:.82rem;font-weight:800;color:#7c6527
}
.dey-story-head h3{margin:0 0 8px;color:var(--violet-deep);font-size:1.38rem}
.dey-story-head p{margin:0;color:#605867;line-height:1.65}
.dey-story-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.story-chip{
  padding:10px 14px;border-radius:999px;background:rgba(112,67,168,.08);border:1px solid rgba(113,67,168,.12);
  font-size:.85rem;font-weight:800;color:var(--violet-deep)
}
.dey-timeline-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.story-tab{
  width:100%;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;text-align:left;cursor:pointer;
  padding:14px 14px;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(248,243,255,.92));
  border:1px solid rgba(113,67,168,.08);transition:.22s ease;color:inherit;position:relative;overflow:hidden
}
.story-tab span:first-child{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(135deg,#f6ecd1,#edf4dd);font-weight:900;color:var(--violet-deep)
}
.story-tab::after{
  content:"";position:absolute;inset:0;opacity:0;transition:opacity .2s ease;
  background:radial-gradient(circle at bottom right, rgba(113,67,168,.14), transparent 36%)
}
.story-tab:hover,.story-tab.active{transform:translateY(-2px);border-color:rgba(199,161,75,.26);box-shadow:0 16px 28px rgba(89,68,110,.08)}
.story-tab:hover::after,.story-tab.active::after{opacity:1}
.dey-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}

.panel-swap{animation:panelSwap .35s ease}
@keyframes panelSwap{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}

@media(max-width:950px){
  .consultorio-experience,.dey-experience{grid-template-columns:1fr}
  .dey-timeline-tabs{grid-template-columns:1fr}
}
@media(max-width:620px){
  .consultorio-stage,.consultorio-selector,.dey-copy-panel,.dey-storyboard{padding:16px}
  .consultorio-stage-overlay{left:12px;right:12px;bottom:12px;padding:14px}
  .dey-mini-profile{grid-template-columns:1fr}
  .dey-photo-mini{width:100%;max-width:180px;height:210px}
}

/* --- v9 Dey premium redesign --- */
.dey-premium{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:30px;
  align-items:start;
  position:relative;
  z-index:1;
}
.dey-visual-panel,
.dey-content-panel{
  position:relative;
}
.dey-portrait-stage,
.dey-presence-card,
.dey-content-panel{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(113,67,168,.08);
  box-shadow:var(--shadow-soft);
}
.dey-portrait-stage{
  position:relative;
  border-radius:36px;
  padding:14px;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.75), transparent 26%),
    linear-gradient(180deg,#fffaf3 0%, #faf2ff 52%, #eef7e1 100%);
}
.dey-portrait-glow{
  position:absolute;
  inset:auto -10% -10% auto;
  width:240px;
  height:240px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(199,161,75,.22), rgba(113,67,168,.12), transparent 72%);
  filter:blur(22px);
  pointer-events:none;
}
.dey-portrait-stage img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
  border-radius:28px;
}
.dey-floating-card{
  position:absolute;
  z-index:2;
  min-width:200px;
  max-width:240px;
  padding:14px 16px;
  border-radius:22px;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(10px);
  border:1px solid rgba(113,67,168,.08);
  box-shadow:0 16px 28px rgba(89,68,110,.12);
}
.dey-floating-card span{
  display:block;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.03em;
  color:#8d6c20;
  margin-bottom:4px;
}
.dey-floating-card strong{
  display:block;
  color:var(--violet-deep);
  line-height:1.4;
}
.dey-floating-card.card-a{left:-12px;top:46px}
.dey-floating-card.card-b{right:-10px;bottom:150px}
.dey-presence-card{
  margin-top:18px;
  padding:24px;
  border-radius:28px;
  overflow:hidden;
  position:relative;
}
.dey-presence-card::after{
  content:"";
  position:absolute;
  right:-40px;
  top:-40px;
  width:140px;
  height:140px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(151,201,93,.18), transparent 70%);
}
.dey-presence-card h3{margin:.2rem 0 .55rem;color:var(--violet-deep)}
.dey-presence-card p{margin:0;color:#5f5767}
.dey-badges-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.dey-badges-row span{
  display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;
  background:#fff8ea;border:1px solid rgba(199,161,75,.22);font-size:.84rem;font-weight:800;color:#7d6628
}
.dey-content-panel{
  border-radius:34px;
  padding:28px;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(113,67,168,.08), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(254,250,243,.95));
}
.dey-intro-block h3{font-size:1.35rem;color:var(--violet-deep);margin-bottom:10px}
.dey-intro-block .lead{max-width:unset;margin-bottom:10px}
.dey-intro-block p:last-child{margin-bottom:0;color:#5d5665}
.dey-content-panel .dey-storyboard.refined{
  margin-top:24px;
  padding:22px;
  border-radius:28px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(113,67,168,.08);
  box-shadow:0 12px 24px rgba(89,68,110,.06);
}
.dey-content-panel .dey-storyboard.refined::before{display:none}
.dey-content-panel .dey-actions{margin-top:22px}
#sobre-kuralma .section-head .muted{max-width:760px}

@media(max-width:1100px){
  .dey-floating-card.card-a{left:10px;top:18px}
  .dey-floating-card.card-b{right:10px;bottom:170px}
}
@media(max-width:950px){
  .dey-premium{grid-template-columns:1fr}
  .dey-floating-card{position:static;max-width:none;margin-top:14px}
  .dey-content-panel{padding:22px}
}
@media(max-width:620px){
  .dey-presence-card,.dey-content-panel .dey-storyboard.refined,.dey-content-panel{padding:18px}
  .dey-portrait-stage{padding:10px}
}

/* --- v10 Dey structured hierarchy --- */
.dey-organized{position:relative;z-index:1;display:grid;gap:22px}
.dey-header-card,
.dey-path-card,
.dey-closing-strip{
  border:1px solid rgba(113,67,168,.08);
  box-shadow:var(--shadow-soft);
  background:rgba(255,255,255,.92);
}
.dey-header-card{
  display:grid;
  grid-template-columns:1fr 240px;
  gap:30px;
  align-items:center;
  padding:32px;
  border-radius:34px;
  background:
    radial-gradient(circle at 92% 10%,rgba(199,161,75,.14),transparent 22%),
    radial-gradient(circle at 8% 90%,rgba(151,201,93,.12),transparent 22%),
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(251,246,255,.94));
}
.dey-header-copy h2{max-width:850px;margin-bottom:14px}
.dey-header-copy .lead{max-width:860px;margin-bottom:0}
.dey-header-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.dey-photo-compact{
  position:relative;
  width:100%;
  max-width:230px;
  justify-self:end;
  padding:10px;
  border-radius:28px;
  background:linear-gradient(180deg,#fff8ee 0%,#f8f0ff 54%,#eef7e2 100%);
  border:1px solid rgba(113,67,168,.08);
  box-shadow:0 14px 28px rgba(89,68,110,.10)
}
.dey-photo-compact img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
  border-radius:21px;
  display:block
}
.dey-photo-caption{
  display:flex;justify-content:space-between;gap:12px;align-items:center;
  padding:12px 4px 2px;font-size:.85rem;color:#675e6e
}
.dey-photo-caption strong{color:var(--violet-deep);font-size:.98rem}

.dey-credentials-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px
}
.dey-credential{
  padding:22px;
  border-radius:26px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(113,67,168,.08);
  box-shadow:0 12px 24px rgba(89,68,110,.06)
}
.dey-credential-kicker{
  display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;
  background:#fff8ea;border:1px solid rgba(199,161,75,.20);
  color:#806924;font-weight:800;font-size:.8rem;margin-bottom:12px
}
.dey-credential strong{display:block;color:var(--violet-deep);font-size:1.05rem;margin-bottom:7px}
.dey-credential p{margin:0;color:#615969;font-size:.94rem;line-height:1.6}

.dey-path-card{padding:28px;border-radius:32px}
.dey-path-intro{margin-bottom:18px}
.dey-path-intro h3{margin:.2rem 0 .45rem;color:var(--violet-deep)}
.dey-path-intro p{margin:0;color:#615969}
.dey-path-layout{
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:20px;
  align-items:stretch
}
.dey-path-tabs{display:grid;gap:10px}
.dey-path-card .story-tab{
  grid-template-columns:42px 1fr;
  min-height:82px;
  align-items:center;
  padding:13px 14px
}
.dey-path-detail{
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px;
  border-radius:26px;
  background:
    radial-gradient(circle at 88% 12%,rgba(199,161,75,.16),transparent 24%),
    linear-gradient(135deg,#fffaf2 0%,#f8f1ff 62%,#f1f7e8 100%);
  border:1px solid rgba(113,67,168,.08)
}
.dey-path-detail h3{font-size:1.55rem;margin:6px 0 10px;color:var(--violet-deep)}
.dey-path-detail p{margin:0;color:#5e5665;font-size:1rem;line-height:1.75}
.dey-path-detail .dey-story-meta{margin:0 0 6px}

.dey-closing-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px 28px;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(255,249,239,.96),rgba(244,239,252,.96))
}
.dey-closing-strip h3{margin:0;color:var(--violet-deep)}
.dey-closing-strip .eyebrow{margin-bottom:4px}

@media(max-width:950px){
  .dey-header-card{grid-template-columns:1fr}
  .dey-photo-compact{justify-self:start;max-width:200px}
  .dey-credentials-row{grid-template-columns:1fr}
  .dey-path-layout{grid-template-columns:1fr}
  .dey-closing-strip{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .dey-header-card,.dey-path-card{padding:20px}
  .dey-photo-compact{max-width:170px}
  .dey-path-detail{padding:20px}
  .dey-header-actions{display:grid;grid-template-columns:1fr}
  .dey-header-actions .btn,.dey-closing-strip .btn{width:100%}
}

/* --- v11 Dey photo fix: no crop, less visual weight --- */
.dey-header-card{
  grid-template-columns:1fr 190px;
  align-items:start;
}
.dey-photo-compact{
  max-width:180px;
  justify-self:end;
  padding:8px;
  border-radius:24px;
}
.dey-photo-compact img{
  aspect-ratio:auto;
  height:auto;
  max-height:235px;
  object-fit:contain;
  object-position:center top;
  background:linear-gradient(180deg,#fffaf3 0%,#faf2ff 55%,#eef7e1 100%);
  padding:0;
}
.dey-photo-caption{
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  padding:10px 4px 2px;
}
.dey-header-copy h2{max-width:760px}
.dey-header-copy .lead{max-width:760px}

@media(max-width:950px){
  .dey-header-card{
    grid-template-columns:1fr;
  }
  .dey-photo-compact{
    justify-self:start;
    max-width:150px;
  }
}
@media(max-width:620px){
  .dey-photo-compact{
    max-width:130px;
  }
  .dey-photo-caption strong{font-size:.92rem}
  .dey-photo-caption span{font-size:.8rem}
}

/* --- v12 final review polish --- */
html, body{
  overflow-x:hidden;
}
img{
  max-width:100%;
  height:auto;
}
.story-chip,
.stage-pill,
.dey-credential-kicker,
.free-tag,
.dey-badges-row span{
  line-height:1.35;
}
@media(max-width:950px){
  .hero-actions,
  .dey-actions,
  .guide-actions,
  .free-actions,
  .cta-panel{
    gap:10px;
  }
}
@media(max-width:620px){
  .hero-actions .btn,
  .dey-actions .btn,
  .guide-actions .btn,
  .free-actions .btn,
  .cta-panel .btn,
  .consultorio-copy-card .btn{
    width:100%;
  }
  .room-tab,
  .story-tab{
    padding:13px;
  }
  .consultorio-stage-meta,
  .dey-story-meta{
    gap:8px;
  }
}

/* --- v14 warmer, more soulful Kuralma atmosphere --- */
:root{
  --violet:#76509c;
  --violet-deep:#56386f;
  --violet-soft:#efe4f4;
  --lilac:#f8eff7;
  --green:#98bd61;
  --green-deep:#637b42;
  --green-soft:#e7efd4;
  --gold:#c59a45;
  --gold-soft:#f1dfad;
  --cream:#fff6e9;
  --cream-2:#f9eddf;
  --pearl:#fffaf3;
  --wood:#b77e4e;
  --wood-deep:#80583b;
  --ink:#3f303e;
  --muted:#756776;
  --shadow:0 22px 58px rgba(112,72,55,.15);
  --shadow-soft:0 14px 32px rgba(112,72,55,.10);
}
body{
  background:
    radial-gradient(circle at 8% 10%, rgba(245,199,132,.34), transparent 24%),
    radial-gradient(circle at 88% 16%, rgba(184,151,197,.24), transparent 25%),
    radial-gradient(circle at 80% 78%, rgba(151,189,97,.18), transparent 22%),
    linear-gradient(180deg,#fff9ef 0%,#f8eee4 35%,#f8f0f6 68%,#fff5e8 100%);
}
body::before{
  background:radial-gradient(circle,rgba(151,189,97,.22),transparent 65%);
}
body::after{
  background:radial-gradient(circle,rgba(197,154,69,.15),rgba(118,80,156,.10),transparent 70%);
}
.site-header{
  background:rgba(255,247,235,.9);
  border-bottom:1px solid rgba(128,88,59,.12);
  box-shadow:0 8px 26px rgba(104,68,52,.05);
}
.brand img{
  background:#fff8ef;
  border:1px solid rgba(197,154,69,.16);
}
.hero{
  background:
    radial-gradient(circle at 10% 10%,rgba(245,197,124,.32),transparent 27%),
    radial-gradient(circle at 86% 14%,rgba(186,154,200,.28),transparent 29%),
    radial-gradient(circle at 80% 88%,rgba(151,189,97,.16),transparent 23%),
    linear-gradient(180deg,#fff8ec 0%,#f8ede5 53%,#f4eaf5 100%);
}
.hero-grid{
  background:
    radial-gradient(circle at 14% 15%,rgba(255,255,255,.72),transparent 28%),
    linear-gradient(135deg,rgba(255,247,235,.98),rgba(247,237,245,.95));
  border:1px solid rgba(197,154,69,.14);
  box-shadow:0 28px 70px rgba(104,68,52,.14);
}
.hero-grid::before{
  content:"";
  position:absolute;
  left:34px;top:26px;width:82px;height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
  box-shadow:0 8px 0 rgba(151,189,97,.5);
}
.btn-primary,.nav-cta{
  background:linear-gradient(135deg,#67427f 0%,#7c55a1 58%,#a77a45 125%);
  box-shadow:0 14px 34px rgba(92,55,83,.24), inset 0 1px rgba(255,255,255,.18);
}
.btn-secondary{
  background:rgba(255,248,238,.9);
  border-color:rgba(197,154,69,.2);
  color:#5c3d70;
}
.btn-secondary:hover{background:#fff2df}
.trust-row span{
  background:rgba(255,247,234,.8);
  border-color:rgba(197,154,69,.18);
}
.section{
  padding:48px 0;
}
.section > .container,
.detail-hero > .container{
  background:
    radial-gradient(circle at 12% 10%,rgba(255,255,255,.68),transparent 24%),
    radial-gradient(circle at 90% 14%,rgba(240,211,165,.18),transparent 20%),
    linear-gradient(135deg,rgba(255,247,236,.96),rgba(249,240,246,.93));
  border:1px solid rgba(197,154,69,.12);
  box-shadow:0 18px 42px rgba(105,70,54,.09);
}
.section-soft > .container{
  background:
    radial-gradient(circle at 14% 12%,rgba(255,255,255,.7),transparent 25%),
    radial-gradient(circle at 88% 18%,rgba(151,189,97,.14),transparent 22%),
    linear-gradient(135deg,rgba(247,235,245,.96),rgba(241,244,224,.94));
}
.section-head h2::after{
  content:"✦  ❋  ✦";
  display:block;
  margin-top:12px;
  color:rgba(197,154,69,.66);
  font-family:Georgia,serif;
  font-size:.64rem;
  letter-spacing:.6em;
}
.eyebrow{
  color:#a27831;
}
.accent,.gold{
  background:linear-gradient(90deg,#b88732 0%,#d7b76b 38%,#7b9d50 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.guide-panel,.guide-result,.free-card,.service-card,.mini,.step,.faq,.dey-header-card,.dey-credential,.dey-path-card{
  border-color:rgba(197,154,69,.13);
}
.guide-panel,.guide-result,.free-card,.service-card,.mini,.step,.dey-credential{
  background:linear-gradient(155deg,rgba(255,250,243,.96),rgba(250,242,235,.9));
}
.service-card:nth-child(3n+1){background:linear-gradient(155deg,#fff9ef,#f7eef8)}
.service-card:nth-child(3n+2){background:linear-gradient(155deg,#fff8ee,#f2f6e5)}
.service-card:nth-child(3n){background:linear-gradient(155deg,#fffaf2,#f7eee7)}
.service-card .thumb{
  background:
    radial-gradient(circle at 50% 18%,rgba(255,255,255,.85),transparent 26%),
    linear-gradient(180deg,#fff5e7 0%,#f2e9f4 50%,#edf2dd 100%);
}
.service-body .cat{color:#9b732e}
.free-card{
  box-shadow:0 16px 34px rgba(119,78,56,.08);
}
.free-tag,.stage-pill,.story-chip,.dey-credential-kicker{
  background:#fff0d5;
  border-color:rgba(197,154,69,.25);
  color:#87631e;
}
#consultorio > .container{
  position:relative;
  overflow:hidden;
}
#consultorio > .container::after{
  content:"";
  position:absolute;right:-70px;bottom:-80px;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(197,154,69,.12),rgba(151,189,97,.08),transparent 72%);
  pointer-events:none;
}
.consultorio-stage,.consultorio-selector{
  background:linear-gradient(155deg,rgba(255,248,238,.96),rgba(248,238,244,.93));
  border-color:rgba(197,154,69,.16);
}
.consultorio-stage-frame{
  background:#f6eadb;
  box-shadow:inset 0 0 0 1px rgba(128,88,59,.08);
}
.consultorio-stage-overlay{
  background:linear-gradient(180deg,rgba(63,42,50,.04),rgba(57,37,46,.78));
}
.room-tab{
  background:linear-gradient(135deg,rgba(255,249,239,.98),rgba(246,237,244,.93));
  border-color:rgba(197,154,69,.14);
}
.room-tab:hover,.room-tab.active{
  background:linear-gradient(135deg,#fff1dc,#f2e8f3);
  border-color:rgba(197,154,69,.32);
}
.consultorio-copy-card{
  background:linear-gradient(145deg,rgba(237,222,196,.45),rgba(227,235,206,.5));
  border-color:rgba(197,154,69,.18);
}
#sobre-kuralma > .container{
  background:
    radial-gradient(circle at 90% 12%,rgba(240,208,150,.19),transparent 20%),
    radial-gradient(circle at 10% 88%,rgba(151,189,97,.14),transparent 22%),
    linear-gradient(135deg,rgba(255,246,232,.97),rgba(247,236,245,.95));
}
.dey-header-card{
  background:
    radial-gradient(circle at 90% 10%,rgba(221,184,113,.18),transparent 24%),
    linear-gradient(135deg,#fff7e9,#f4e9f3 68%,#eef3df);
}
.dey-photo-compact{
  background:linear-gradient(180deg,#f7dfbf 0%,#e9dcec 57%,#e4ecd1 100%);
  border-color:rgba(197,154,69,.2);
}
.dey-credential{
  box-shadow:0 14px 30px rgba(109,72,55,.08);
}
.dey-path-card{
  background:linear-gradient(155deg,rgba(255,248,237,.96),rgba(246,238,244,.94));
}
.dey-path-detail{
  background:
    radial-gradient(circle at 88% 12%,rgba(197,154,69,.16),transparent 25%),
    linear-gradient(135deg,#fff4df 0%,#f5e9f5 62%,#edf2db 100%);
}
.dey-closing-strip{
  background:linear-gradient(135deg,#fff0d8,#efe2f1 55%,#e5edd2);
  border-color:rgba(197,154,69,.18);
}
.quote{
  background:
    radial-gradient(circle at 88% 14%,rgba(236,190,109,.20),transparent 22%),
    linear-gradient(135deg,#5a3a68,#76508b 52%,#927147 125%);
}
.footer{
  background:linear-gradient(180deg,#4b3549,#35252f 68%,#2d2028);
}
@media(max-width:620px){
  .section{padding:22px 0 30px}
  .section > .container,.detail-hero > .container{padding:26px 18px}
  .section-head h2::after{letter-spacing:.4em}
}

/* --- v15 custom Kuralma ornaments, favicon feel and cursor --- */
:root{
  --orn-heart:url("../images/kuralma-heart-isolated.png");
  --orn-lotus:url("../images/ornament-lotus.png");
  --orn-leaves:url("../images/ornament-leaves-berries.png");
  --orn-spiral:url("../images/ornament-spiral.png");
  --orn-leaf:url("../images/ornament-leaf-swoosh.png");
  --orn-star:url("../images/ornament-star-diamond.png");
  --orn-stars:url("../images/ornament-stars-trio.png");
  --orn-wave:url("../images/ornament-wave-ribbon.png");
}

@media (pointer:fine){
  html,body{cursor:url("../images/kuralma-cursor-32.png") 16 16, auto}
  a,button,.pill,.guide-option,.room-tab,.story-tab,.faq-q,.service-card,.gallery-card,input,textarea,select,label{
    cursor:url("../images/kuralma-cursor-32.png") 16 16, pointer;
  }
}

.site-header{position:sticky}
.site-header::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-11px;
  width:140px;
  height:28px;
  transform:translateX(-50%);
  background:var(--orn-wave) center/contain no-repeat;
  opacity:.28;
  pointer-events:none;
}
.brand,
.foot-brand{gap:14px}
.brand img,
.foot-brand img,
.hero-visual .logo-float img{
  background:transparent;
  border:none;
  box-shadow:none;
  padding:0;
  object-fit:contain;
  filter:drop-shadow(0 10px 24px rgba(92,55,83,.16));
}
.brand img{width:64px;height:64px}
.foot-brand img{width:70px;height:70px}
.hero-visual .logo-float{
  left:auto;
  right:-18px;
  bottom:24px;
  width:195px;
  text-align:center;
}
.hero-visual .logo-float::before{
  content:"";
  position:absolute;
  top:-22px;
  right:-18px;
  width:74px;
  height:74px;
  background:var(--orn-stars) center/contain no-repeat;
  opacity:.9;
  pointer-events:none;
}
.hero-visual .logo-float::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-14px;
  width:116px;
  height:24px;
  transform:translateX(-50%);
  background:var(--orn-wave) center/contain no-repeat;
  opacity:.55;
  pointer-events:none;
}
.hero-visual .logo-float img{width:88px;margin:0 auto 8px}
.hero-grid,
.section > .container,
.detail-hero > .container,
.dey-header-card,
.dey-path-card,
.dey-closing-strip,
.consultorio-stage,
.consultorio-selector,
.free-card,
.service-card,
.timeline-showcase,
.faq,
.cta-panel{
  isolation:isolate;
}
.hero-grid::before{
  content:"";
  position:absolute;
  top:-26px;
  right:18px;
  width:132px;
  height:132px;
  background:var(--orn-stars) center/contain no-repeat;
  opacity:.95;
  z-index:0;
  pointer-events:none;
  animation:kuralma-float 7s ease-in-out infinite;
}
.hero-grid > *{position:relative;z-index:1}
.hero::after{
  content:"";
  position:absolute;
  left:-26px;
  bottom:22px;
  width:220px;
  height:220px;
  background:var(--orn-leaf) center/contain no-repeat;
  opacity:.22;
  pointer-events:none;
}
.hero-visual::before{
  content:"";
  position:absolute;
  left:-34px;
  bottom:-28px;
  width:170px;
  height:170px;
  background:var(--orn-lotus) center/contain no-repeat;
  opacity:.42;
  pointer-events:none;
  z-index:0;
}
.hero-visual::after{
  content:"";
  position:absolute;
  right:-8px;
  top:58px;
  width:70px;
  height:70px;
  background:var(--orn-star) center/contain no-repeat;
  opacity:.88;
  pointer-events:none;
  animation:kuralma-twinkle 4.6s ease-in-out infinite;
}
.hero .eyebrow,
.section-head .eyebrow,
.consultorio-copy-card .eyebrow,
.dey-path-intro .eyebrow,
.dey-closing-strip .eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
}
.hero .eyebrow::before,
.section-head .eyebrow::before,
.consultorio-copy-card .eyebrow::before,
.dey-path-intro .eyebrow::before,
.dey-closing-strip .eyebrow::before{
  content:"";
  width:26px;
  height:26px;
  flex:0 0 auto;
  background:var(--orn-star) center/contain no-repeat;
}
#gratuitos .section-head .eyebrow::before{background-image:var(--orn-heart)}
#servicios .section-head .eyebrow::before{background-image:var(--orn-lotus)}
#consultorio .section-head .eyebrow::before{background-image:var(--orn-leaves)}
#sobre-kuralma .section-head .eyebrow::before{background-image:var(--orn-stars)}
#preguntas .section-head .eyebrow::before{background-image:var(--orn-star)}

#gratuitos > .container::after,
#servicios > .container::after,
#sobre-kuralma > .container::after,
#preguntas > .container::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
}
#gratuitos > .container::after{
  right:-18px;
  top:-14px;
  width:126px;
  height:126px;
  background:var(--orn-stars) center/contain no-repeat;
  opacity:.32;
}
#servicios > .container::after{
  left:-18px;
  bottom:-12px;
  width:138px;
  height:138px;
  background:var(--orn-wave) center/contain no-repeat;
  opacity:.38;
}
#sobre-kuralma > .container::after{
  right:-12px;
  bottom:-18px;
  width:150px;
  height:150px;
  background:var(--orn-leaf) center/contain no-repeat;
  opacity:.26;
}
#preguntas > .container::after{
  right:26px;
  top:20px;
  width:84px;
  height:84px;
  background:var(--orn-star) center/contain no-repeat;
  opacity:.3;
}
.section > .container > *,
.detail-hero > .container > *{position:relative;z-index:1}

.guide-panel::before,
.guide-result::before,
.free-card::before,
.service-card .thumb::before,
.consultorio-stage::before,
.consultorio-selector::before,
.dey-header-card::before,
.dey-path-card::before,
.dey-closing-strip::before,
.cta-panel::before,
.faq::before{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}
.guide-panel::before{
  right:-8px;top:-8px;width:96px;height:96px;background-image:var(--orn-star);opacity:.18;
}
.guide-result::before{
  left:-16px;bottom:-16px;width:118px;height:118px;background-image:var(--orn-wave);opacity:.28;
}
.free-card::before{
  right:12px;top:10px;width:78px;height:78px;background-image:var(--orn-stars);opacity:.18;
}
.service-card .thumb{position:relative}
.service-card .thumb::before{
  left:14px;top:12px;width:52px;height:52px;background-image:var(--orn-star);opacity:.78;z-index:2;
}
.service-card:nth-child(3n+2) .thumb::before{background-image:var(--orn-lotus)}
.service-card:nth-child(3n) .thumb::before{background-image:var(--orn-heart)}

.consultorio-stage::before{
  right:-24px;top:-20px;width:128px;height:128px;background-image:var(--orn-leaves);opacity:.32;
}
.consultorio-selector::before{
  left:-22px;bottom:-24px;width:128px;height:128px;background-image:var(--orn-spiral);opacity:.16;
}
.gallery-card{position:relative}
.gallery-card::after{
  content:"";
  position:absolute;
  right:10px;
  top:10px;
  width:54px;
  height:54px;
  background:var(--orn-stars) center/contain no-repeat;
  opacity:.68;
  pointer-events:none;
  z-index:2;
}
.gallery-card figcaption{position:relative;z-index:2}

.dey-header-card::before{
  left:-18px;bottom:-18px;width:138px;height:138px;background-image:var(--orn-wave);opacity:.3;
}
.dey-photo-compact{position:relative}
.dey-photo-compact::after{
  content:"";
  position:absolute;
  right:-10px;
  bottom:-12px;
  width:58px;
  height:58px;
  background:var(--orn-star) center/contain no-repeat;
  opacity:.85;
  pointer-events:none;
}
.dey-path-card::before{
  right:16px;top:14px;width:76px;height:76px;background-image:var(--orn-lotus);opacity:.3;
}
.dey-closing-strip{position:relative;overflow:hidden}
.dey-closing-strip::before{
  left:18px;bottom:-4px;width:132px;height:30px;background-image:var(--orn-wave);opacity:.46;
}
.faq::before{
  left:20px;top:-16px;width:92px;height:92px;background-image:var(--orn-stars);opacity:.16;
}
.cta-panel::before{
  right:22px;top:10px;width:110px;height:110px;background-image:var(--orn-heart);opacity:.18;
}

.dey-path-detail,
.consultorio-stage,
.consultorio-selector,
.guide-panel,
.guide-result,
.free-card,
.service-card,
.cta-panel,
.faq,
.dey-header-card,
.dey-path-card,
.dey-closing-strip{position:relative}

@keyframes kuralma-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes kuralma-twinkle{
  0%,100%{opacity:.65;transform:scale(.96)}
  50%{opacity:1;transform:scale(1.06)}
}

@media(max-width:950px){
  .hero-visual .logo-float{right:10px;bottom:16px;width:170px}
  .hero-visual::before{width:120px;height:120px;left:-8px;bottom:-8px}
  .section-head{padding-right:0}
}
@media(max-width:620px){
  .site-header::after{display:none}
  .brand img{width:56px;height:56px}
  .hero-grid::before{width:94px;height:94px;top:-14px;right:8px}
  .hero::after{width:130px;height:130px;left:-14px;bottom:14px}
  .hero-visual::after{width:54px;height:54px;top:36px;right:4px}
  .hero-visual .logo-float{position:relative;right:auto;left:auto;bottom:auto;margin:14px auto 0;width:min(100%,220px)}
  .hero-visual .logo-float::before{width:58px;height:58px;top:-16px;right:-6px}
  .gallery-card::after{width:42px;height:42px}
  .section-head .eyebrow::before,
  .hero .eyebrow::before,
  .consultorio-copy-card .eyebrow::before,
  .dey-path-intro .eyebrow::before,
  .dey-closing-strip .eyebrow::before{width:22px;height:22px}
}

/* --- v16 overlap-safety review --- */
/* Decorative artwork always stays behind readable/interface content. */
.hero-grid::before,
.hero::after,
.hero-visual::before,
.hero-visual::after,
#gratuitos > .container::after,
#servicios > .container::after,
#sobre-kuralma > .container::after,
#preguntas > .container::after,
.guide-panel::before,
.guide-result::before,
.free-card::before,
.consultorio-stage::before,
.consultorio-selector::before,
.dey-header-card::before,
.dey-path-card::before,
.dey-closing-strip::before,
.faq::before,
.cta-panel::before{
  z-index:0 !important;
  pointer-events:none !important;
}

.hero-grid > *,
#gratuitos > .container > *,
#servicios > .container > *,
#sobre-kuralma > .container > *,
#preguntas > .container > *,
.guide-panel > *,
.guide-result > *,
.free-card > *,
.consultorio-stage > *,
.consultorio-selector > *,
.dey-header-card > *,
.dey-path-card > *,
.dey-closing-strip > *,
.faq > *,
.cta-panel > *{
  position:relative;
  z-index:2;
}

/* Keep the branded heart card in normal document flow instead of floating over artwork. */
.hero-visual .logo-float{
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  top:auto;
  width:min(100%,220px);
  margin:16px auto 0;
}
.hero-visual .logo-float::before,
.hero-visual .logo-float::after{
  pointer-events:none;
}

/* Give decorative corners a protected margin away from copy. */
#gratuitos > .container::after,
#preguntas > .container::after,
.dey-path-card::before,
.cta-panel::before{
  opacity:.14 !important;
}
.free-card::before,
.guide-panel::before,
.guide-result::before{
  opacity:.12 !important;
}
.consultorio-stage::before,
.consultorio-selector::before,
.dey-header-card::before{
  opacity:.18 !important;
}

/* Text panels should always be opaque enough for ornamented backgrounds. */
.consultorio-stage-overlay{
  background:linear-gradient(180deg,rgba(38,25,44,.16),rgba(38,25,44,.84));
}
.consultorio-stage-overlay,
.consultorio-stage-overlay h3,
.consultorio-stage-overlay p{
  text-shadow:0 1px 10px rgba(0,0,0,.24);
}

/* Prevent long labels/buttons from colliding or overflowing. */
.btn,.nav-cta,.pill,.guide-option,.room-tab,.story-tab,.stage-pill,.story-chip,.free-tag{
  max-width:100%;
  overflow-wrap:anywhere;
}
.room-tab > div,.story-tab > div,.dey-header-copy,.section-head > div{
  min-width:0;
}

/* Fixed controls should not cover meaningful mobile text. */
@media(max-width:620px){
  body{padding-bottom:76px}
  .whatsapp-fab{
    width:58px;
    height:58px;
    padding:0;
    border-radius:50%;
    font-size:0;
    background-image:var(--orn-heart),linear-gradient(135deg,var(--violet-deep),var(--violet));
    background-repeat:no-repeat,no-repeat;
    background-position:center,center;
    background-size:38px 38px,100% 100%;
    right:12px;
    bottom:12px;
  }
  .to-top{
    width:44px;
    height:44px;
    left:12px;
    bottom:18px;
  }
  .hero-grid::before,
  .hero::after,
  #gratuitos > .container::after,
  #servicios > .container::after,
  #sobre-kuralma > .container::after,
  #preguntas > .container::after{
    opacity:.09 !important;
  }
  .consultorio-stage-overlay{
    position:static;
    margin-top:10px;
    background:linear-gradient(135deg,#553a67,#745090);
    border-radius:18px;
    padding:14px;
  }
  .consultorio-stage-frame{
    display:flex;
    flex-direction:column;
    height:auto;
    aspect-ratio:auto;
    background:transparent;
  }
  .consultorio-stage-frame img{
    aspect-ratio:4/5;
    height:auto;
    object-fit:cover;
    border-radius:20px;
  }
  .dey-photo-compact::after,
  .gallery-card::after{
    width:36px;
    height:36px;
    opacity:.55;
  }
}

@media(max-width:420px){
  .section > .container,
  .detail-hero > .container,
  .hero-grid{
    border-radius:26px;
  }
  .room-tab,.story-tab{
    grid-template-columns:36px minmax(0,1fr);
  }
  .room-n,.story-tab span:first-child{
    width:36px;
    height:36px;
  }
  .hero .eyebrow,
  .section-head .eyebrow,
  .consultorio-copy-card .eyebrow,
  .dey-path-intro .eyebrow,
  .dey-closing-strip .eyebrow{
    align-items:flex-start;
  }
}

/* Header ornament stays inside the header so it never covers page content. */
.site-header::after{
  bottom:3px;
  width:110px;
  height:18px;
  opacity:.14;
}


/* --- v17 declutter requested by user --- */
/* Remove the extra decorative wave under the sticky header to avoid the double-arrow feel. */
.site-header::after{display:none !important;}

/* Reduce sparkle clutter in the main hero so text and imagery breathe. */
.hero .ambient-stars,
.hero .spark,
.hero-grid::before,
.hero-visual::after{display:none !important;}

/* Keep the Dey block cleaner and away from copy. */
#sobre-kuralma .ambient-stars,
.dey-photo-compact::after{display:none !important;}

/* Slightly soften other decorative overlays in Dey. */
.dey-header-card::before{opacity:.18 !important;}

/* Service links were showing a double arrow; keep only the text arrow. */
.card-link .icon-inline{display:none !important;}

/* Since FAQ was removed, do not reserve decorative assets for it. */
#preguntas{display:none !important;}

/* On small and large screens alike, keep floating ornaments from drifting over important copy. */
@media (min-width: 621px){
  .hero-visual .logo-float::before{opacity:.55 !important; right:-10px !important; top:-10px !important;}
}

/* --- v18 unified interaction + cursor consistency --- */
/* The Kuralma cursor must never switch to the browser hand, zoom icon, text cursor, etc. */
@media (pointer:fine){
  html,
  body,
  body *,
  body *::before,
  body *::after{
    cursor:url("../images/kuralma-cursor-32.png") 16 16, auto !important;
  }
}

/* Every button-like control uses the same motion language on hover. */
button,
.btn,
.nav-cta,
.pill,
.guide-option,
.room-tab,
.story-tab,
.whatsapp-fab,
.to-top,
.lightbox-close,
.menu-btn{
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    filter .22s ease,
    border-color .22s ease,
    background .22s ease !important;
}

/* Selected controls stay stable until the user actually hovers them. */
.pill.active,
.guide-option.active,
.room-tab.active,
.story-tab.active{
  transform:none !important;
}

@media (hover:hover) and (pointer:fine){
  button:hover,
  .btn:hover,
  .nav-cta:hover,
  .pill:hover,
  .guide-option:hover,
  .room-tab:hover,
  .story-tab:hover,
  .whatsapp-fab:hover,
  .to-top:hover,
  .lightbox-close:hover,
  .menu-btn:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 15px 30px rgba(83,49,122,.18) !important;
    filter:brightness(1.025) !important;
  }

  button:active,
  .btn:active,
  .nav-cta:active,
  .pill:active,
  .guide-option:active,
  .room-tab:active,
  .story-tab:active,
  .whatsapp-fab:active,
  .to-top:active,
  .lightbox-close:active,
  .menu-btn:active{
    transform:translateY(0) scale(.985) !important;
    box-shadow:0 8px 18px rgba(83,49,122,.14) !important;
  }
}

@media (prefers-reduced-motion:reduce){
  button,
  .btn,
  .nav-cta,
  .pill,
  .guide-option,
  .room-tab,
  .story-tab,
  .whatsapp-fab,
  .to-top,
  .lightbox-close,
  .menu-btn{
    transition:none !important;
  }
}

/* --- v18.1 absolute custom cursor lock --- */
html,
body,
body *,
body *::before,
body *::after{
  cursor:url("../images/kuralma-cursor-32.png") 16 16, auto !important;
}

/* --- v19 always-visible navigation --- */
html{
  scroll-padding-top:110px;
}
body{
  padding-top:82px;
}
.site-header{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:9999;
  background:rgba(255,251,245,.94);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 10px 28px rgba(83,49,122,.08);
  border-bottom:1px solid rgba(113,67,168,.10);
}
section[id]{
  scroll-margin-top:110px;
}
@media(max-width:950px){
  .nav-links{
    position:fixed;
    left:18px;
    right:18px;
    top:88px;
    z-index:10000;
  }
}
@media(max-width:620px){
  body{padding-top:74px;}
  html{scroll-padding-top:96px;}
  section[id]{scroll-margin-top:96px;}
  .nav-links{top:78px;}
}

/* --- v20 less yellow / softer warmth requested by user --- */
:root{
  --gold:#b88f52;
  --gold-soft:#efe0c4;
  --cream:#fff9f4;
  --cream-2:#f7efe9;
  --pearl:#fffdfb;
}

body{
  background:
    radial-gradient(circle at 8% 10%, rgba(231,198,150,.16), transparent 24%),
    radial-gradient(circle at 88% 16%, rgba(184,151,197,.22), transparent 25%),
    radial-gradient(circle at 80% 78%, rgba(151,189,97,.14), transparent 22%),
    linear-gradient(180deg,#fffdfb 0%,#f7f2ef 36%,#f7eff7 68%,#fffaf7 100%) !important;
}
body::after{
  background:radial-gradient(circle,rgba(184,143,82,.10),rgba(118,80,156,.10),transparent 70%) !important;
}
.site-header{
  background:rgba(255,250,246,.92) !important;
  box-shadow:0 8px 24px rgba(104,68,52,.04) !important;
}
.hero{
  background:
    radial-gradient(circle at 10% 10%,rgba(233,197,140,.18),transparent 27%),
    radial-gradient(circle at 86% 14%,rgba(186,154,200,.26),transparent 29%),
    radial-gradient(circle at 80% 88%,rgba(151,189,97,.14),transparent 23%),
    linear-gradient(180deg,#fffcf8 0%,#f8f2ee 53%,#f4eef6 100%) !important;
}
.hero-grid,
.section > .container,
.detail-hero > .container,
.dey-header-card,
.dey-path-card,
.dey-closing-strip,
.consultorio-stage,
.consultorio-selector,
.free-card,
.service-card,
.timeline-showcase,
.cta-panel,
.guide-panel,
.guide-result,
.mini,
.step,
.dey-credential{
  background-image:
    radial-gradient(circle at 12% 10%,rgba(255,255,255,.72),transparent 24%),
    radial-gradient(circle at 90% 14%,rgba(232,205,166,.10),transparent 18%),
    linear-gradient(135deg,rgba(255,250,246,.97),rgba(248,242,248,.95)) !important;
}
.section-soft > .container,
.dey-path-detail,
.consultorio-copy-card,
.room-tab,
.room-tab:hover,
.room-tab.active{
  background-image:
    radial-gradient(circle at 14% 12%,rgba(255,255,255,.72),transparent 24%),
    radial-gradient(circle at 88% 18%,rgba(151,189,97,.12),transparent 22%),
    linear-gradient(135deg,rgba(248,242,248,.96),rgba(241,244,232,.95)) !important;
}
.service-card:nth-child(3n+1),
.service-card:nth-child(3n+2),
.service-card:nth-child(3n){
  background-image:
    linear-gradient(155deg,rgba(255,250,246,.98),rgba(247,241,247,.93)) !important;
}
.service-card .thumb,
.consultorio-stage-frame,
.dey-photo-compact,
.dey-photo-mini,
.hero-visual .frame,
.photo-card,
.detail-img{
  background:
    radial-gradient(circle at 50% 18%,rgba(255,255,255,.86),transparent 26%),
    linear-gradient(180deg,#fff8f3 0%,#f3edf6 52%,#edf3e2 100%) !important;
}
.trust-row span,
.btn-secondary,
.notice,
.guide-links a,
.timeline-showcase,
.dey-content-panel .dey-storyboard.refined,
.seo-point,
.dey-profile-copy,
.dey-presence-card,
.faq,
.story-tab,
.guide-option,
.benefit,
.time-card{
  background:rgba(255,251,248,.92) !important;
}
.free-tag,
.stage-pill,
.story-chip,
.dey-credential-kicker,
.dey-badges-row span,
.dey-role,
.story-kicker,
.time-year,
.guide-label,
.guide-tag,
.timeline-badges span{
  background:#fbf1df !important;
  color:#7d6332 !important;
  border-color:rgba(184,143,82,.22) !important;
}
.accent,.gold{
  background:linear-gradient(90deg,#b68a46 0%,#c9af78 38%,#7f9f56 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
}
.quote{
  background:
    radial-gradient(circle at 88% 14%,rgba(223,182,115,.16),transparent 22%),
    linear-gradient(135deg,#5a3a68,#76508b 56%,#8d7252 125%) !important;
}
.footer{
  background:linear-gradient(180deg,#473449,#31242f 68%,#2a2028) !important;
}
