.gracias-page{background:var(--cream)}
.g-hero{padding:130px 0 34px;text-align:center;background:radial-gradient(900px 400px at 50% 0,#ffe3ea 0,transparent 70%)}
.g-hero h1{font-size:clamp(2rem,5vw,3.4rem);max-width:18em;margin:0 auto 16px}
.g-lead{max-width:40em;margin:0 auto;font-size:1.15rem;color:var(--muted)}
.g-lead b{color:var(--rose-d);font-size:1.3em}
.g-stats{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.g-stats div{background:#fff;border:1px solid var(--line);border-radius:99px;padding:8px 20px;font-size:.92rem;color:var(--plum-2)}
.g-stats b{font:800 1.2rem var(--serif);color:var(--rose-d);margin-right:4px}

.g-map-sec{padding:20px 0 50px}
.map-box{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);border:1px solid #3a1d44;height:clamp(420px,62vh,620px);background:#1b0b21;touch-action:pan-y;user-select:none;cursor:grab}
.map-box.drag{cursor:grabbing}
#camino{width:100%;height:100%;display:block}
.demo-badge{position:absolute;left:14px;top:14px;background:rgba(255,217,138,.95);color:#3a1d44;font-weight:700;font-size:.78rem;padding:6px 12px;border-radius:99px;z-index:3}
.zoomer{position:absolute;right:14px;bottom:14px;display:flex;background:rgba(255,247,243,.95);border-radius:99px;box-shadow:0 8px 24px -8px rgba(0,0,0,.5);z-index:3}
.zoomer button{width:44px;height:44px;border:0;background:none;font:600 1.3rem var(--sans);color:var(--plum);cursor:pointer;border-radius:50%}
.zoomer button:hover{background:var(--sand)}
.tipcard{position:absolute;z-index:4;max-width:min(280px,80%);background:#fff7f3;color:var(--ink);border-radius:14px;padding:12px 16px;box-shadow:0 14px 34px -10px rgba(0,0,0,.6);transform:translate(-50%,-115%);pointer-events:none;font-size:.9rem}
.tipcard b{font:600 1.1rem var(--serif);color:var(--plum);display:block}
.tipcard small{color:var(--muted)}
.tipcard p{margin:6px 0 4px;font-style:italic;color:#4a3a4c}
.tipcard::after{content:'';position:absolute;left:50%;bottom:-7px;width:14px;height:14px;background:#fff7f3;transform:translateX(-50%) rotate(45deg)}

/* elementos del SVG */
#camino .ruta-base{fill:none;stroke:#5a2f66;stroke-width:5;stroke-dasharray:2 14;stroke-linecap:round}
#camino .ruta-luz{fill:none;stroke:#ffd98a;stroke-width:6;stroke-linecap:round;opacity:.9}
#camino .ruta-halo{fill:none;stroke:#ffb347;stroke-width:22;stroke-linecap:round;opacity:.18}
#camino .lamp{cursor:pointer;opacity:0;animation:lampIn .7s forwards}
@keyframes lampIn{to{opacity:1}}
#camino .lamp .core{fill:#fff3cf}
#camino .lamp .aura{fill:url(#glow);opacity:.75}
#camino .lamp:hover .aura,#camino .lamp.sel .aura{opacity:1}
#camino .lamp:hover .core,#camino .lamp.sel .core{fill:#fff}
#camino .lamp.star .aura{animation:pulse2 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes pulse2{50%{transform:scale(1.5);opacity:.5}}
#camino .lamp.found .ring{opacity:1;animation:ring 1.4s 3}
#camino .ring{fill:none;stroke:#fff;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
@keyframes ring{from{transform:scale(.6);opacity:1}to{transform:scale(2.4);opacity:0}}
#camino .nombre{font:600 30px 'Caveat',cursive;fill:#ffe9b8;pointer-events:none;paint-order:stroke;stroke:#1b0b21;stroke-width:5px}
#camino .sign line{stroke:#7a4a85;stroke-width:3}
#camino .sign .flag{fill:#3a1d44;stroke:#7a4a85;stroke-width:2}
#camino .sign text{font:600 17px var(--sans);fill:#c9aad0}
#camino .sign.ok line{stroke:#ffd98a}
#camino .sign.ok .flag{fill:#6d3a14;stroke:#ffd98a}
#camino .sign.ok text{fill:#ffe9b8}
#camino .sign .pct{font:800 14px var(--sans);fill:#ffb347}
#camino .door-glow{fill:url(#glow)}
#camino .door{fill:#2b1230;stroke:#ffd98a;stroke-width:3}
#camino .lbl{font:italic 600 26px var(--serif);fill:#ffe9b8}
#camino .lbl-s{font:600 17px var(--sans);fill:#c9aad0}
#camino .twinkle{fill:#fff;animation:tw 4s ease-in-out infinite}
@keyframes tw{50%{opacity:.15}}

.g-find{display:grid;grid-template-columns:1.1fr 1fr;gap:20px 40px;margin-top:26px;align-items:start}
.g-find form{grid-column:1}
.g-find label{display:block;font-weight:700;color:var(--plum);margin-bottom:6px}
.find-row{display:flex;gap:10px}
.find-row input{flex:1;font:400 1rem var(--sans);padding:13px 16px;border:1.5px solid var(--line);border-radius:99px;background:#fff;min-width:0}
.find-row input:focus{outline:0;border-color:var(--rose);box-shadow:0 0 0 4px rgba(214,51,108,.15)}
#findMsg{display:block;margin-top:8px;min-height:1.3em;color:var(--rose-d);font-weight:600}
.g-notes{grid-column:2;grid-row:1/span 3;list-style:none;padding:0;margin:0;display:grid;gap:8px;color:var(--muted);font-size:.93rem}
.btn-lg{padding:16px 34px;font-size:1.1rem;justify-self:start}
.muted-s{color:var(--muted);grid-column:1}
.people{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.people button{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;font:inherit;transition:.2s;display:block}
.people button:hover{border-color:var(--rose);transform:translateY(-3px);box-shadow:var(--shadow)}
.people b{color:var(--rose-d);display:block}
.people small{color:var(--muted)}
.people p{margin:4px 0 0;font-style:italic;font-size:.92rem;color:#4a3a4c}
.soft{font:400 .5em var(--sans);color:var(--muted)}
.center{text-align:center;margin-top:24px}
.empty-g{text-align:center;color:var(--muted);font-size:1.1rem}
.desk{display:none}
@media(hover:hover){.desk{display:inline}}
@media(max-width:800px){.g-find{grid-template-columns:1fr}.g-notes{grid-column:1;grid-row:auto}.g-hero{padding-top:110px}}
@media(prefers-reduced-motion:reduce){#camino .lamp{opacity:1;animation:none}}
.g-find>*{min-width:0}
@media(max-width:800px){.g-find{grid-template-columns:minmax(0,1fr)}.find-row{flex-wrap:wrap}.find-row .btn{flex:1 0 100%}}
