:root{--linen: #f7f3ec;--cream: #efe6d8;--beige: #e3d3bd;--tan: #c8a97e;--gold: #b8935a;--brown-light: #8a6a4a;--brown: #4a3526;--ink: #17120e;--muted: #6e6257;--sidebar-w: 96px;--serif: "Bodoni Moda", "Didot", Georgia, serif;--sans: "Jost", system-ui, sans-serif;--gold-grad: linear-gradient(160deg, #d9bd8c 0%, #b8935a 45%, #e2c899 100%)}*{-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--linen);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:1.05rem}.app-shell{min-height:100vh}.content{margin-right:var(--sidebar-w);padding:0 1.5rem 3rem;max-width:760px;outline:none}@media (min-width: 900px){.content{margin:0 auto;padding-right:calc(var(--sidebar-w) + 2rem)}}.fade-in{animation:fade .45s ease}@keyframes fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sidebar{position:fixed;top:0;right:0;bottom:0;width:var(--sidebar-w);background:var(--ink);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:.75rem 0;z-index:10}.nav-btn{position:relative;overflow:hidden;width:100%;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.85rem .25rem;color:#d8cfc4;text-decoration:none;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;text-align:center;line-height:1.25;transition:color .25s,transform .15s}.nav-btn svg{transition:transform .25s}.nav-btn:hover{color:var(--tan)}.nav-btn:hover svg{transform:translateY(-2px)}.nav-btn.active{color:var(--tan)}.nav-btn:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:#c8a97e59;transform:translate(-50%,-50%) scale(0);opacity:0;transition:transform .45s ease,opacity .6s ease}.nav-btn:active:after{transform:translate(-50%,-50%) scale(14);opacity:1;transition:0s}.nav-btn:active{transform:scale(.94)}.nav-cta{margin-top:1.25rem;width:72px;padding:1.25rem .25rem;border-radius:40px;background:var(--gold-grad);color:var(--ink)!important;font-weight:500}.nav-cta span{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.3em;font-size:.72rem}.brand-bar{padding:1.75rem 0 1rem}.brand{font-family:var(--serif);font-style:italic;font-size:1.7rem;color:var(--ink);text-decoration:none}.brand span{color:var(--gold);font-style:normal}.display{font-family:var(--serif);font-weight:400;line-height:1.05}.display em{color:var(--gold);font-style:italic}.eyebrow{text-transform:uppercase;letter-spacing:.35em;font-size:.75rem;color:var(--muted);margin-bottom:.6rem}.eyebrow.light{color:#bdb3a7}.lead-soft{color:var(--muted);font-size:1.1rem;max-width:32rem;margin:1rem auto 0}.section-head{padding:2.5rem 0 2rem}.section-head .display{font-size:clamp(2.4rem,9vw,3.6rem)}.hero{padding-top:1.5rem}.avatar-ring{width:min(70vw,300px);aspect-ratio:1;margin:0 auto;border-radius:50%;padding:10px;background:var(--gold-grad);box-shadow:0 30px 60px -25px #4a352673}.avatar-ring .ph{border-radius:50%;border:6px solid var(--linen);width:100%;height:100%}.flags{font-size:1.5rem;letter-spacing:.3rem;margin:1.5rem 0 .5rem}.hero-name{font-size:clamp(3rem,13vw,4.8rem);margin:0}.subtitle{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--brown-light);margin:.5rem 0 1.5rem}.bio{text-align:left;line-height:1.8;color:#3c322a}.btn-cta{display:inline-block;margin:1.5rem 0 1rem;padding:1rem 2.6rem;border-radius:50px;border:0;background:var(--ink);color:var(--linen);text-transform:uppercase;letter-spacing:.3em;font-size:.85rem;text-decoration:none;transition:background .25s,transform .15s}.btn-cta:hover{background:var(--brown);color:var(--linen)}.btn-cta:active{transform:scale(.97)}.gallery-section{padding-top:3rem}.h-section{font-size:clamp(2rem,8vw,2.8rem);margin-bottom:1.5rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.ph{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--cream),var(--beige));display:grid;place-items:center;color:var(--brown-light)}.ph img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.ph-icon{opacity:.5}.tile{aspect-ratio:1;border-radius:4px}.tile.empty{border:1px dashed var(--tan);background:transparent;flex-direction:column;gap:.25rem}.tile.empty small{font-size:.7rem;color:var(--muted)}.tile img{transition:transform .5s}.tile:hover img{transform:scale(1.05)}.site-footer{text-align:center;padding-top:3rem}.divider{border:0;border-top:1px solid var(--tan);opacity:.6;width:60%;margin:0 auto 2.5rem}.footer-name{font-family:var(--serif);font-style:italic;font-size:2.4rem;margin-bottom:1rem}.site-footer .eyebrow{margin-bottom:.35rem}.contact-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin:1.75rem 0 1rem}.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border:1px solid var(--beige);border-radius:50px;color:var(--ink);text-decoration:none;transition:border-color .2s,background .2s}.pill svg{width:20px;height:20px}.pill:hover{border-color:var(--gold);background:#fff8}.schedule{color:var(--muted);font-size:.9rem}.admin-link{color:var(--muted);font-size:.85rem;text-decoration:none}.admin-link:hover{color:var(--gold)}.timeline{list-style:none;padding:0 0 0 1.75rem;border-left:1px solid var(--tan);margin:0}.milestone{position:relative;padding-bottom:3rem}.milestone:before{content:"";position:absolute;left:calc(-1.75rem - 7px);top:.25rem;width:13px;height:13px;border-radius:50%;background:var(--gold)}.milestone-title{font-family:var(--serif);font-size:1.8rem;line-height:1.15}.milestone-text{color:#3c322a;line-height:1.8}.milestone-place{font-style:italic;color:var(--brown-light)}.achievements{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.card-soft{background:linear-gradient(180deg,#f6e9dc,#f1e1d0);border-radius:18px;padding:1.75rem 1.5rem}.h-card{font-size:2rem;margin-bottom:1.25rem}.empty-note{color:var(--muted);font-size:1.1rem;margin-bottom:2rem}.rating{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem}.rating-opt{border:1px solid var(--beige);border-radius:10px;padding:.7rem .25rem;text-align:center;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;background:#fffaf3}.btn-check:checked+.rating-opt{border-color:var(--ink)}.stars{color:var(--gold);letter-spacing:.1em}.stars .off{color:var(--beige)}.field{background:#fffaf3;border:1px solid var(--beige);border-radius:10px;padding:.85rem 1rem;margin-bottom:.8rem;font-weight:300}.field:focus{border-color:var(--gold);box-shadow:0 0 0 .2rem #b8935a26;background:#fff}.upload{display:flex;align-items:center;gap:.75rem;border:1px dashed var(--tan);border-radius:10px;padding:1rem;margin-bottom:1rem;cursor:pointer;background:#fffaf3}.form-hint{font-size:.85rem;color:var(--muted);text-align:center;margin:0}.form-msg{text-align:center;margin-top:.75rem;color:var(--brown)}.member-card{background:var(--ink);color:#fff;border-radius:22px;padding:2rem 2rem 1.75rem;border-top:4px solid var(--gold);box-shadow:0 30px 50px -25px #00000080;margin-bottom:2.5rem}.card-club{font-family:var(--serif);font-style:italic;font-size:3rem;color:var(--tan);margin:.75rem 0 1.25rem}.card-club em{font-style:italic}.card-name{letter-spacing:.3em;text-transform:uppercase;margin:0;font-size:.85rem}.levels{display:grid;gap:1rem}.level{background:#fffaf3;border:1px solid var(--beige)}.level-n{font-family:var(--serif);font-size:2.6rem;color:var(--gold)}.level-title{font-size:1.15rem;font-weight:500}.notice{margin-top:1.5rem;padding:1.25rem;border-left:3px solid var(--gold);background:var(--cream);border-radius:6px;line-height:1.7}@media (max-width: 420px){:root{--sidebar-w: 82px}.content{padding:0 1rem 3rem}.nav-btn{font-size:.58rem}.nav-cta{width:62px}}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .25 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.content{position:relative;z-index:1}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d, 0ms)}.reveal.visible{opacity:1;transform:none}.display em,.brand span,.card-club{background:linear-gradient(100deg,#b8935a 20%,#f1dcb0,#b8935a 60%) 0 0 / 250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:goldsheen 6s linear infinite;padding-right:.08em}@keyframes goldsheen{to{background-position:-250% 0}}.avatar-ring{position:relative;background:none;isolation:isolate}.avatar-ring:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;z-index:-1;background:conic-gradient(from 0deg,#d9bd8c,#8a6a4a,#f1dcb0,#b8935a,#d9bd8c);animation:spin 12s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.avatar-ring .ph{animation:floaty 7s ease-in-out infinite}@keyframes floaty{50%{transform:translateY(-4px)}}.btn-cta.shine{position:relative;overflow:hidden}.btn-cta.shine:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(241,220,176,.45),transparent);transform:skew(-20deg);animation:sweep 3.5s ease-in-out infinite}@keyframes sweep{60%,to{left:130%}}.nav-cta{animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #c8a97e73}50%{box-shadow:0 0 0 10px #c8a97e00}}.nav-btn.active:not(.nav-cta):before{content:"";position:absolute;left:0;top:25%;bottom:25%;width:2px;background:var(--tan);border-radius:2px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;text-align:center;padding:2.5rem 0 .5rem;border-bottom:1px solid var(--beige)}.stats strong{display:block;font-family:var(--serif);font-size:2.6rem;font-weight:400;color:var(--gold);line-height:1}.stats span{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.tile-btn{display:block;padding:0;border:0;background:none;cursor:zoom-in;border-radius:4px;overflow:hidden}.tile-btn .tile{border-radius:4px}.tile-btn:hover .tile img{transform:scale(1.07)}.tile-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.gallery .tile-btn:nth-child(1){grid-column:span 2;grid-row:span 2}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#17120ee0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .3s}.lightbox.open{opacity:1;pointer-events:auto}.lightbox img{max-width:90vw;max-height:85vh;border-radius:8px;transform:scale(.92);transition:transform .35s cubic-bezier(.2,.7,.2,1);box-shadow:0 30px 80px #00000080}.lightbox.open img{transform:none}.lb-close{position:absolute;top:1rem;right:1.25rem;background:none;border:0;color:#f7f3ec;font-size:2.5rem;line-height:1}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:var(--ink);transition:opacity .7s ease,visibility .7s}.intro .brand{color:var(--linen);font-size:2.6rem;animation:introIn 1s ease both}.intro.done{opacity:0;visibility:hidden}@keyframes introIn{0%{opacity:0;letter-spacing:.4em}to{opacity:1;letter-spacing:0}}.member-card{position:relative;overflow:hidden;transition:transform .2s ease-out;transform-style:preserve-3d}.card-glare{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at var(--gx, 30%) var(--gy, 20%),rgba(241,220,176,.25),transparent 55%)}.level{transition:transform .3s,box-shadow .3s}.level:hover{transform:translateY(-4px);box-shadow:0 18px 30px -20px #4a352680}.reviews{display:grid;gap:1rem;margin-bottom:2.5rem}.review{background:#fffaf3;border:1px solid var(--beige);border-radius:16px;padding:1.5rem;margin:0}.review blockquote{font-family:var(--serif);font-style:italic;font-size:1.2rem;line-height:1.5;margin:.5rem 0 1rem}.review figcaption{color:var(--muted);font-size:.9rem;letter-spacing:.05em}.review-photo{width:120px;margin-bottom:1rem}.vip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.vip-card{position:relative;text-align:center;padding:1.75rem 1rem 1.25rem;border-radius:18px;background:var(--ink);color:var(--linen);border-top:3px solid var(--gold);transition:transform .3s}.vip-card:hover{transform:translateY(-4px)}.vip-monogram{display:grid;place-items:center;width:64px;height:64px;margin:0 auto .75rem;border-radius:50%;border:1px solid var(--tan);font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--tan)}.vip-card h2{font-family:var(--serif);font-size:1.2rem;margin-bottom:.25rem}.vip-card p{font-size:.8rem;color:#bdb3a7;margin-bottom:.6rem}.vip-level{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--tan)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.flags{display:flex;justify-content:center;gap:.6rem;letter-spacing:0}.flag svg{display:block;border-radius:3px;box-shadow:0 2px 6px #4a352640;transition:transform .25s}.flag:hover svg{transform:translateY(-3px) rotate(-4deg)}.steps{display:flex;justify-content:space-between;list-style:none;padding:0;margin:0 0 1.5rem;counter-reset:s;position:relative}.steps:before{content:"";position:absolute;left:12%;right:12%;top:16px;height:1px;background:var(--beige)}.steps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex:1}.steps li span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--linen);border:1px solid var(--beige);font-family:var(--serif);font-size:.95rem;transition:all .3s}.steps li.active{color:var(--ink)}.steps li.active span{background:var(--ink);color:var(--linen);border-color:var(--ink);transform:scale(1.1)}.steps li.done span{background:var(--gold-grad);border-color:transparent;color:var(--ink)}.bk-body{min-height:260px}.bk-anim{animation:fade .4s ease}.bk-title{font-family:var(--serif);font-size:1.7rem;margin:.5rem 0 1rem}.bk-summary{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.chip-edit{border:1px solid var(--tan);background:#fffaf3;border-radius:30px;padding:.3rem .85rem;font-size:.8rem;color:var(--brown)}.chip-edit:after{content:" ✎";color:var(--gold)}.link-btn{background:none;border:0;padding:0;color:var(--gold);text-decoration:underline}.bk-loading{display:grid;place-items:center;padding:3rem 0}.bk-loading span{width:34px;height:34px;border-radius:50%;border:2px solid var(--beige);border-top-color:var(--gold);animation:spin .8s linear infinite}.bk-error{background:#f8e4dc;border:1px solid #e2b7a6;color:#7a3420;border-radius:10px;padding:.8rem 1rem;margin-top:.75rem}.svc-list{display:grid;gap:.6rem}.svc{display:flex;justify-content:space-between;align-items:center;gap:1rem;text-align:left;background:#fffaf3;border:1px solid var(--beige);border-radius:14px;padding:1rem 1.1rem;transition:border-color .2s,transform .15s,box-shadow .2s}.svc:hover{border-color:var(--tan);box-shadow:0 12px 24px -18px #4a352699;transform:translateY(-2px)}.svc.selected{border-color:var(--ink)}.svc-main{display:flex;flex-direction:column;gap:.15rem}.svc-main strong{font-weight:500}.svc-main small,.svc-meta small{color:var(--muted);font-size:.8rem}.svc-meta{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.svc-meta b{font-family:var(--serif);font-size:1.25rem;font-weight:400;color:var(--brown)}.days{display:grid;grid-template-columns:repeat(6,1fr);gap:.4rem}.days .month{grid-column:1 / -1;margin:.75rem 0 .1rem;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--brown-light);text-transform:capitalize}.day{display:flex;flex-direction:column;align-items:center;padding:.55rem 0;border-radius:12px;background:#fffaf3;border:1px solid var(--beige);transition:all .2s}.day small{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.day strong{font-family:var(--serif);font-size:1.3rem;font-weight:400}.day:hover:not(.off){border-color:var(--gold);transform:translateY(-2px)}.day.selected{background:var(--ink);color:var(--linen);border-color:var(--ink)}.day.selected small{color:var(--tan)}.day.off{opacity:.35;text-decoration:line-through;cursor:not-allowed}.times{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}.time{padding:.65rem 0;border-radius:30px;background:#fffaf3;border:1px solid var(--beige);font-variant-numeric:tabular-nums;transition:all .2s}.time:hover{border-color:var(--gold);background:#fff}.time.selected{background:var(--ink);color:var(--linen)}.bk-total{display:flex;justify-content:space-between;align-items:baseline;padding:.8rem .25rem;border-top:1px solid var(--beige);margin-top:.25rem}.bk-total strong{font-family:var(--serif);font-size:1.6rem;font-weight:400;color:var(--brown)}.bk-form .btn-cta{margin-top:.5rem}.btn-cta:disabled{opacity:.6}.bk-done{text-align:center}.bk-done .display{font-size:2.6rem;margin-top:1rem}.check svg{width:76px;height:76px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.check circle{stroke-dasharray:151;stroke-dashoffset:151;animation:draw .7s ease forwards}.check path{stroke-dasharray:40;stroke-dashoffset:40;animation:draw .4s .6s ease forwards}@keyframes draw{to{stroke-dashoffset:0}}.ticket{text-align:left;background:#fffaf3;border:1px solid var(--beige);border-radius:16px;padding:.5rem 1.25rem;margin:1.5rem 0 0;position:relative}.ticket>div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px dashed var(--beige)}.ticket>div:last-child{border-bottom:0}.ticket dt{font-weight:300;color:var(--muted);font-size:.85rem}.ticket dd{margin:0;text-align:right;font-weight:500}.ticket dd:first-letter{text-transform:uppercase}.ticket .code{font-family:ui-monospace,monospace;letter-spacing:.1em;color:var(--brown)}@media (max-width: 420px){.days{grid-template-columns:repeat(4,1fr)}.times{grid-template-columns:repeat(3,1fr)}.svc{padding:.85rem}}.club-check{margin-top:2rem}.club-check .field{flex:1}.club-card{background:#fffaf3;border:1px solid var(--beige);border-radius:16px;padding:1.25rem}.dots{display:grid;grid-template-columns:repeat(10,1fr);gap:.3rem}.dot{aspect-ratio:1;border-radius:50%;border:1px solid var(--tan);display:grid;place-items:center;font-size:.55rem;font-weight:500;color:var(--brown-light);background:#fff;transition:all .3s}.dot.prize{border-width:2px;border-color:var(--gold)}.dot.on{background:var(--gold-grad);border-color:transparent;color:var(--ink)}.coupon-list{display:grid;gap:.6rem}.coupon-mini{display:flex;gap:.9rem;align-items:center;padding:.7rem;border-radius:14px;background:var(--ink);color:var(--linen);text-decoration:none;border-top:3px solid var(--gold);transition:transform .2s}.coupon-mini:hover{transform:translateY(-2px);color:var(--linen)}.coupon-mini .qr{width:64px;height:64px;flex:none;background:#fffaf3;border-radius:8px;padding:3px}.coupon-mini .qr svg{width:100%;height:100%;display:block}.coupon-mini strong{display:block;font-weight:500;color:var(--tan)}.coupon-mini small{color:#bdb3a7;font-size:.75rem;letter-spacing:.05em}.coupon-page{padding:1rem 0 3rem}.coupon-card{position:relative;text-align:center;background:var(--ink);color:var(--linen);border-radius:24px;padding:2rem 1.5rem 1.75rem;border-top:4px solid var(--gold);box-shadow:0 30px 60px -25px #0000008c;max-width:420px;margin:0 auto}.coupon-card .card-club{font-size:clamp(1.7rem,7vw,2.3rem);margin:.5rem 0;line-height:1.15}.coupon-desc{color:#d8cfc4}.coupon-qr{width:min(64vw,240px);margin:1.25rem auto .75rem;background:#fffaf3;padding:10px;border-radius:14px}.coupon-qr svg{display:block;width:100%;height:auto}.coupon-code{font-family:ui-monospace,Menlo,monospace;letter-spacing:.2em;font-size:1.1rem;color:var(--tan);margin-bottom:.5rem}.coupon-status{display:inline-block;margin-top:.75rem;padding:.25rem .9rem;border-radius:30px;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;background:#2d6a3a;color:#fff}.coupon-status.st-canjeado,.coupon-status.st-anulado{background:#6e6257}.coupon-card.used .coupon-qr{opacity:.25;filter:grayscale(1)}.coupon-mini small{display:block}
