@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Jost:wght@300;400;500;600&display=swap";:root{--ink:#17100f;--ink-2:#3d2f2c;--muted:#7d6d69;--ivory:#fbf7f4;--ivory-2:#f4ece7;--line:#17100f1a;--rose:#b76e79;--rose-deep:#8f4f5c;--rose-soft:#e7c0c4;--gold:#c9a227;--champagne:#e8d5c4;--grad-rose:linear-gradient(120deg, #b76e79 0%, #d79ba1 45%, #e0c3a3 100%);--grad-dark:linear-gradient(160deg, #201513 0%, #2e1d1c 55%, #3a2422 100%);--shadow-sm:0 2px 10px #17100f0f;--shadow-md:0 14px 40px #17100f1a;--shadow-lg:0 30px 80px #17100f29;--radius:18px;--radius-lg:28px;--nav-h:76px;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"Jost", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px)}body{font-family:var(--font-body);background:var(--ivory);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}::selection{background:var(--rose-soft);color:var(--ink)}.wrap{width:min(1200px,100% - 2.5rem);margin-inline:auto}section{position:relative}.section-pad{padding:clamp(4.5rem,9vw,8rem) 0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:500;line-height:1.1}.eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--rose);align-items:center;gap:.6rem;font-size:.72rem;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--rose);opacity:.6;width:34px;height:1px}.section-title{margin:1rem 0 .9rem;font-size:clamp(2.2rem,5vw,3.6rem)}.section-lead{color:var(--muted);max-width:56ch;font-size:1.02rem;font-weight:300;line-height:1.75}.head-center{text-align:center;flex-direction:column;align-items:center;display:flex}.head-center .section-lead{margin-inline:auto}.shimmer{background:var(--grad-rose);color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:7s linear infinite shimmer}@keyframes shimmer{to{background-position:200%}}.btn{letter-spacing:.04em;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.95rem 1.7rem;font-size:.9rem;font-weight:500;transition:transform .25s,box-shadow .25s,background .25s,color .25s,border-color .25s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--grad-rose);color:#fff;box-shadow:0 12px 30px #b76e7959}.btn-primary:hover{box-shadow:0 18px 44px #b76e7973}.btn-ghost{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff12;border-color:#ffffff59}.btn-ghost:hover{background:#ffffff29}.btn-outline{border-color:var(--line);color:var(--ink);background:0 0}.btn-outline:hover{border-color:var(--rose);color:var(--rose)}.btn-dark{background:var(--ink);color:#fff}.btn-sm{padding:.6rem 1.1rem;font-size:.82rem}.btn-block{width:100%}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}.nav{height:var(--nav-h);z-index:90;align-items:center;transition:background .35s,box-shadow .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s;display:flex;position:fixed;inset:0 0 auto}.nav-inner{justify-content:space-between;align-items:center;gap:1.5rem;width:min(1200px,100% - 2.5rem);margin-inline:auto;display:flex}.nav.scrolled{-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);box-shadow:0 1px 0 var(--line), 0 10px 30px #17100f0d;background:#fbf7f4d9}.brand{font-family:var(--font-display);align-items:center;gap:.7rem;line-height:1;display:flex}.brand-mark{background:var(--grad-rose);color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:1.05rem;display:grid;box-shadow:0 8px 20px #b76e7959}.brand-text b{font-size:1.15rem;font-weight:600;display:block}.brand-text span{font-family:var(--font-body);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-size:.6rem}.nav-links{align-items:center;gap:1.9rem;display:flex}.nav-links a{letter-spacing:.03em;color:var(--ink-2);padding:.2rem 0;font-size:.86rem;position:relative}.nav-links a:after{content:"";background:var(--rose);width:0;height:1px;transition:width .3s;position:absolute;bottom:-3px;left:0}.nav-links a:hover:after{width:100%}.nav-cta{align-items:center;gap:.6rem;display:flex}.nav-burger{color:var(--ink);background:0 0;border:none;padding:.4rem;display:none}.nav:not(.scrolled) .nav-links a,.nav:not(.scrolled) .brand-text b,.nav:not(.scrolled) .nav-burger{color:#fff}.nav:not(.scrolled) .brand-text span{color:#ffffffa6}.mobile-menu{z-index:95;background:var(--grad-dark);flex-direction:column;justify-content:center;gap:.4rem;padding:2rem;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.mobile-menu a{font-family:var(--font-display);color:#fff;border-bottom:1px solid #ffffff14;padding:.5rem 0;font-size:2rem}.mobile-close{color:#fff;background:0 0;border:none;position:absolute;top:1.6rem;right:1.6rem}@keyframes fadeIn{0%{opacity:0}}@media (width<=900px){.nav-links,.nav-cta .btn{display:none}.nav-burger{display:block}}.hero{text-align:center;color:#fff;background:var(--grad-dark);min-height:100svh;padding:calc(var(--nav-h) + 3rem) 0 4rem;place-items:center;display:grid;position:relative;overflow:hidden}.hero-bg{opacity:.35;background-image:url(https://images.unsplash.com/photo-1560066984-138dadb4c035?auto=format&fit=crop&w=2000&q=80);background-position:50%;background-size:cover;animation:22s ease-in-out infinite alternate kenburns;position:absolute;inset:0;transform:scale(1.08)}@keyframes kenburns{to{transform:scale(1.2)translate(2%,-2%)}}.hero:after{content:"";background:radial-gradient(120% 90% at 50% 10%, #20151340 0%, #201513d1 70%), linear-gradient(to bottom, transparent 55%, var(--ivory) 100%);position:absolute;inset:0}.blob{filter:blur(70px);opacity:.5;pointer-events:none;border-radius:50%;animation:16s ease-in-out infinite float;position:absolute}.blob-1{background:#b76e798c;width:420px;height:420px;top:-80px;left:-60px}.blob-2{background:#c9a22759;width:360px;height:360px;animation-delay:-6s;bottom:-60px;right:-40px}@keyframes float{50%{transform:translate(28px,-34px)scale(1.12)}}.hero-inner{z-index:2;flex-direction:column;align-items:center;gap:1.3rem;display:flex;position:relative}.hero-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.16em;text-transform:uppercase;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:.55rem;padding:.45rem 1rem;font-size:.74rem;display:inline-flex}.hero h1{font-size:clamp(3rem,10vw,6.6rem);font-weight:400;line-height:.98}.hero h1 em{font-style:italic;display:block}.hero p{color:#ffffffd1;max-width:54ch;margin:0;font-weight:300;line-height:1.8}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:.5rem;display:flex}.hero-review{-webkit-backdrop-filter:blur(14px)saturate(1.3);backdrop-filter:blur(14px)saturate(1.3);background:#ffffff17;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:.95rem;margin-top:1.4rem;padding:.85rem 1.5rem .85rem 1.25rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .3s,background .3s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 12px 34px #00000040}.hero-review:before{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 20%,#ffffff47 50%,#0000 80%);animation:4.5s ease-in-out infinite sweep;position:absolute;inset:0;transform:translate(-120%)}@keyframes sweep{60%,to{transform:translate(120%)}}.hero-review:hover{border-color:var(--rose-soft);background:#ffffff29;transform:translateY(-3px)}.hero-review-stars{color:#f5c518;flex:none;gap:.15rem;display:inline-flex}.hero-review-stars svg{fill:currentColor;filter:drop-shadow(0 1px 3px #00000059)}.hero-review-stars svg:first-child{animation:3.2s ease-in-out infinite starPop}.hero-review-stars svg:nth-child(2){animation:3.2s ease-in-out .1s infinite starPop}.hero-review-stars svg:nth-child(3){animation:3.2s ease-in-out .2s infinite starPop}.hero-review-stars svg:nth-child(4){animation:3.2s ease-in-out .3s infinite starPop}.hero-review-stars svg:nth-child(5){animation:3.2s ease-in-out .4s infinite starPop}@keyframes starPop{0%,70%,to{transform:scale(1)}80%{transform:scale(1.28)}}.hero-review-text{text-align:left;flex-direction:column;line-height:1.3;display:flex}.hero-review-text b{color:#fff;font-size:.94rem;font-weight:500}.hero-review-text small{color:#ffffff9e;letter-spacing:.02em;font-size:.74rem}.hero-review-go{color:var(--rose-soft);flex:none;font-size:1.1rem;transition:transform .3s}.hero-review:hover .hero-review-go{transform:translate(4px)}@media (width<=520px){.hero-review{gap:.7rem;padding:.75rem 1.1rem}.hero-review-stars{gap:.05rem}.hero-review-text b{font-size:.85rem}.hero-review-text small{font-size:.68rem}}@media (prefers-reduced-motion:reduce){.hero-review:before,.hero-review-stars svg{animation:none!important}}.hero-stats{border-top:1px solid #ffffff24;flex-wrap:wrap;justify-content:center;gap:clamp(1.5rem,5vw,3.5rem);width:min(760px,100%);margin-top:2.5rem;padding-top:2rem;display:flex}.hero-stat b{font-family:var(--font-display);font-size:clamp(1.7rem,4vw,2.4rem);font-weight:500;display:block}.hero-stat span{letter-spacing:.16em;text-transform:uppercase;color:#fff9;font-size:.72rem}.scroll-hint{z-index:2;letter-spacing:.28em;text-transform:uppercase;color:#ffffff8c;place-items:center;gap:.5rem;font-size:.62rem;display:grid;position:absolute;bottom:1.6rem;left:50%;transform:translate(-50%)}.scroll-hint i{background:linear-gradient(#0000,#ffffffb3);width:1px;height:42px;animation:2s ease-in-out infinite scrollLine;display:block}@keyframes scrollLine{0%,to{opacity:.25;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}.marquee{background:var(--ink);color:var(--champagne);white-space:nowrap;padding:.95rem 0;overflow:hidden}.marquee-track{font-family:var(--font-display);letter-spacing:.06em;gap:3rem;font-size:1.15rem;animation:32s linear infinite marquee;display:inline-flex}.marquee-track span{align-items:center;gap:3rem;display:inline-flex}.marquee-track span:after{content:"✦";color:var(--rose);font-size:.8rem}@keyframes marquee{to{transform:translate(-50%)}}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,5rem);display:grid}.about-media{position:relative}.about-media img{object-fit:cover;border-radius:var(--radius-lg);width:100%;height:clamp(360px,52vw,560px);box-shadow:var(--shadow-lg)}.about-media:before{content:"";border:1px solid var(--rose-soft);border-radius:var(--radius-lg);z-index:-1;position:absolute;inset:18px -18px -18px 18px}.about-badge{border-radius:var(--radius);box-shadow:var(--shadow-md);background:#fff;align-items:center;gap:.85rem;padding:1.1rem 1.4rem;display:flex;position:absolute;bottom:28px;right:-18px}.about-badge b{font-family:var(--font-display);font-size:1.7rem;line-height:1}.about-badge span{color:var(--muted);letter-spacing:.08em;font-size:.74rem}.value-list{gap:1rem;margin:2rem 0;padding:0;list-style:none;display:grid}.value-list li{align-items:flex-start;gap:.9rem;display:flex}.value-list .ico{background:var(--ivory-2);width:40px;height:40px;color:var(--rose);border-radius:12px;flex:none;place-items:center;display:grid}.value-list b{font-size:.98rem;font-weight:500;display:block}.value-list p{color:var(--muted);margin:.2rem 0 0;font-size:.9rem;font-weight:300;line-height:1.6}@media (width<=880px){.about-grid{grid-template-columns:1fr}.about-media:before{display:none}.about-badge{right:14px}}.filters{flex-wrap:wrap;justify-content:center;gap:.55rem;margin:2.4rem 0 2.8rem;display:flex}.chip{border:1px solid var(--line);color:var(--ink-2);background:0 0;border-radius:999px;padding:.55rem 1.15rem;font-size:.82rem;transition:all .25s}.chip:hover{border-color:var(--rose);color:var(--rose)}.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;gap:.7rem;padding:1.6rem;transition:transform .35s,box-shadow .35s,border-color .35s;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:var(--grad-rose);transform-origin:0;height:3px;transition:transform .4s;position:absolute;inset:0 0 auto;transform:scaleX(0)}.card:hover{box-shadow:var(--shadow-md);border-color:#0000;transform:translateY(-6px)}.card:hover:before{transform:scaleX(1)}.card-cat{letter-spacing:.16em;text-transform:uppercase;color:var(--rose);font-size:.68rem}.card h3{font-size:1.45rem}.card p{color:var(--muted);flex:1;margin:0;font-size:.9rem;font-weight:300;line-height:1.65}.card-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:.4rem;padding-top:.9rem;display:flex}.price{font-family:var(--font-display);font-size:1.65rem;font-weight:600;line-height:1}.price small{font-size:.8rem;font-family:var(--font-body);font-weight:400}.price-old{color:var(--muted);font-size:.85rem;font-family:var(--font-body);margin-right:.45rem;font-weight:400;text-decoration:line-through}.duration{color:var(--muted);align-items:center;gap:.35rem;font-size:.78rem;display:inline-flex}.tag-off{background:var(--grad-rose);color:#fff;letter-spacing:.1em;padding:.3rem 2.4rem;font-size:.68rem;position:absolute;top:1.1rem;right:-2.2rem;transform:rotate(38deg);box-shadow:0 6px 16px #b76e7959}.tag-star{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.3rem;font-size:.68rem;display:inline-flex}.campaigns{background:var(--grad-dark);color:#fff;overflow:hidden}.campaigns .section-lead{color:#ffffffa6}.campaign-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.4rem;margin-top:3rem;display:grid}.campaign{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1f;padding:2.2rem;transition:transform .35s,border-color .35s;position:relative;overflow:hidden}.campaign:hover{border-color:var(--rose);transform:translateY(-6px)}.campaign:after{content:"";filter:blur(60px);background:#b76e7966;border-radius:50%;width:200px;height:200px;position:absolute;top:-60px;right:-60px}.campaign>*{z-index:1;position:relative}.campaign-off{font-family:var(--font-display);background:var(--grad-rose);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:.6rem;font-size:2.6rem;line-height:1;display:inline-block}.campaign h3{font-size:1.7rem}.campaign .sub{color:var(--rose-soft);letter-spacing:.06em;margin:.25rem 0 .9rem;font-size:.85rem}.campaign p{color:#ffffffb3;margin:0 0 1.4rem;font-size:.9rem;font-weight:300;line-height:1.7}.campaign .valid{color:#ffffff80;margin-bottom:1rem;font-size:.75rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:3rem;display:grid}.g-item{aspect-ratio:3/4;border-radius:var(--radius);background:var(--ivory-2);cursor:zoom-in;position:relative;overflow:hidden}.g-item img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.22,1,.36,1)}.g-item:hover img{transform:scale(1.08)}.g-item figcaption{color:#fff;background:linear-gradient(#0000,#17100fd9);padding:2.5rem 1.1rem 1.1rem;font-size:.85rem;transition:transform .4s;position:absolute;inset:auto 0 0;transform:translateY(100%)}.g-item:hover figcaption{transform:none}.g-item:nth-child(6n+1){aspect-ratio:3/5;grid-row:span 2}.lightbox{z-index:120;background:#0f0a09f0;place-items:center;padding:2rem;animation:.25s fadeIn;display:grid;position:fixed;inset:0}.lightbox img{border-radius:var(--radius);object-fit:contain;max-width:100%;max-height:88vh}.lightbox button{color:#fff;background:#ffffff1f;border:none;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:1.5rem;right:1.5rem}.empty-note{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);margin-top:2.5rem;padding:3rem 1.5rem;font-weight:300}.reviews{background:var(--ivory-2)}.review-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(2rem,5vw,4rem);padding:clamp(2.2rem,5vw,4rem);display:grid;position:relative;overflow:hidden}.review-panel:after{content:"";background:var(--rose-soft);filter:blur(90px);opacity:.5;border-radius:50%;width:320px;height:320px;position:absolute;bottom:-140px;left:-100px}.review-panel>*{z-index:1;position:relative}.stars{color:var(--gold);gap:.25rem;margin-bottom:1rem;display:flex}.stars svg{fill:currentColor}.google-card{border:1px solid var(--line);border-radius:var(--radius);text-align:center;background:var(--ivory);padding:1.8rem}.google-logo{font-family:var(--font-body);letter-spacing:-.02em;margin-bottom:.4rem;font-size:1.6rem;font-weight:600}.google-logo i:first-child{color:#4285f4;font-style:normal}.google-logo i:nth-child(2){color:#ea4335;font-style:normal}.google-logo i:nth-child(3){color:#fbbc05;font-style:normal}.google-logo i:nth-child(4){color:#4285f4;font-style:normal}.google-logo i:nth-child(5){color:#34a853;font-style:normal}.google-logo i:nth-child(6){color:#ea4335;font-style:normal}.google-card p{color:var(--muted);margin:.6rem 0 1.4rem;font-size:.88rem;font-weight:300;line-height:1.7}.star-pick{justify-content:center;gap:.4rem;margin-bottom:1.3rem;display:flex}.star-pick button{color:#d8d0cc;background:0 0;border:none;padding:0;transition:transform .2s,color .2s}.star-pick button svg{fill:currentColor}.star-pick button:hover{transform:scale(1.18)translateY(-2px)}.star-pick button.lit{color:var(--gold)}@media (width<=880px){.review-panel{grid-template-columns:1fr}}.contact-grid{grid-template-columns:.95fr 1.05fr;align-items:stretch;gap:clamp(2rem,5vw,3.5rem);display:grid}.info-list{gap:1rem;margin:2rem 0;display:grid}.info-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:flex-start;gap:1rem;padding:1.1rem 1.2rem;transition:border-color .3s,transform .3s;display:flex}.info-row:hover{border-color:var(--rose);transform:translate(4px)}.info-row .ico{background:var(--grad-rose);color:#fff;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.info-row b{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:500}.info-row span{margin-top:.2rem;font-size:.98rem;line-height:1.5;display:block}.map-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:var(--ivory-2);flex-direction:column;min-height:460px;display:flex;position:relative;overflow:hidden}.map-card iframe{border:0;flex:1;width:100%;min-height:380px}.map-bar{border-top:1px solid var(--line);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:1rem 1.2rem;display:flex}.map-bar p{color:var(--muted);max-width:32ch;margin:0;font-size:.85rem;line-height:1.5}.hours{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:.15rem;margin-top:1.5rem;padding:1.2rem 1.3rem;display:grid}.hours-row{border-bottom:1px dashed var(--line);justify-content:space-between;gap:1rem;padding:.42rem 0;font-size:.88rem;display:flex}.hours-row:last-child{border-bottom:none}.hours-row.today{color:var(--rose);font-weight:500}.hours-row .closed{color:#c0392b}@media (width<=900px){.contact-grid{grid-template-columns:1fr}}.footer{background:var(--ink);color:#ffffffb8;padding:4.5rem 0 2rem}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;display:grid}.footer h4{color:#fff;font-size:1.15rem;font-family:var(--font-body);letter-spacing:.02em;margin-bottom:1rem;font-weight:500}.footer p,.footer li{font-size:.88rem;font-weight:300;line-height:1.85}.footer ul{margin:0;padding:0;list-style:none}.footer a:hover{color:var(--rose-soft)}.footer .brand-text b{color:#fff}.social-row{gap:.6rem;margin-top:1.2rem;display:flex}.social-row a{border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:42px;height:42px;transition:all .3s;display:grid}.social-row a:hover{background:var(--grad-rose);color:#fff;border-color:#0000;transform:translateY(-3px)}.footer-bottom{color:#ffffff73;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;font-size:.78rem;display:flex}@media (width<=780px){.footer-grid{grid-template-columns:1fr}}.bubbles{z-index:80;flex-direction:column-reverse;align-items:flex-end;gap:.75rem;display:flex;position:fixed;bottom:clamp(.9rem,3vw,1.6rem);right:clamp(.9rem,3vw,1.6rem)}.bubble{color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;animation:3.6s ease-in-out infinite bob;display:grid;position:relative;box-shadow:0 10px 26px #00000038}.bubble:hover{transform:scale(1.12)translateY(-3px)}.bubble.wa{background:linear-gradient(145deg,#25d366,#128c7e);animation-delay:0s}.bubble.ig{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);animation-delay:-1.2s}.bubble.tel{background:var(--grad-rose);animation-delay:-2.4s}@keyframes bob{50%{transform:translateY(-7px)}}.bubble:before,.bubble:after{content:"";opacity:0;pointer-events:none;border:2px solid;border-radius:50%;animation:2.6s ease-out infinite ring;position:absolute;inset:0}.bubble:after{animation-delay:1.3s}@keyframes ring{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.85)}}.bubble .tip{background:var(--ink);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;border-radius:8px;padding:.45rem .8rem;font-size:.76rem;transition:all .28s;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)translate(8px)}.bubble:hover .tip{opacity:1;transform:translateY(-50%)}.to-top{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;background:#fff;border-radius:50%;place-items:center;transition:opacity .3s,transform .3s;display:grid}.to-top.show{opacity:1;pointer-events:auto}.to-top:hover{transform:translateY(-3px)}@media (prefers-reduced-motion:reduce){.bubble,.bubble:before,.bubble:after,.hero-bg,.blob,.marquee-track,.shimmer{animation:none!important}}.admin{background:#f6f3f1;min-height:100vh}.admin-top{z-index:20;background:var(--ink);color:#fff;padding:.9rem 0;position:sticky;top:0}.admin-top .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-top .brand-text b{color:#fff}.admin-user{color:#ffffffa6;align-items:center;gap:.8rem;font-size:.82rem;display:flex}.admin-tabs{flex-wrap:wrap;gap:.4rem;padding:1.6rem 0 0;display:flex}.admin-tabs button{border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:999px;padding:.6rem 1.2rem;font-size:.85rem;transition:all .2s}.admin-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin:1.6rem 0 3rem;padding:1.6rem}.panel h3{font-family:var(--font-body);margin-bottom:1.1rem;font-size:1.05rem;font-weight:600}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;display:grid}.field{flex-direction:column;gap:.35rem;display:flex}.field.span-2{grid-column:span 2}.field label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.74rem;font-weight:500}.field input,.field textarea,.field select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;outline:none;width:100%;padding:.7rem .85rem;font-family:inherit;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--rose);box-shadow:0 0 0 3px #b76e7921}.field textarea{resize:vertical;min-height:84px}.check{flex-direction:row;align-items:center;gap:.55rem}.check input{width:18px;height:18px;accent-color:var(--rose)}.check label{text-transform:none;letter-spacing:0;color:var(--ink-2);font-size:.88rem}.form-actions{flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;display:flex}.table{border-collapse:collapse;width:100%;font-size:.88rem}.table-scroll{overflow-x:auto}.table th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:.6rem .7rem;font-size:.7rem}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.75rem .7rem}.table tr:hover td{background:#faf7f5}.row-actions{gap:.4rem;display:flex}.icon-btn{border:1px solid var(--line);width:34px;height:34px;color:var(--ink-2);background:#fff;border-radius:9px;place-items:center;transition:all .2s;display:grid}.icon-btn:hover{border-color:var(--rose);color:var(--rose)}.icon-btn.danger:hover{color:#c0392b;border-color:#c0392b}.pill{background:var(--ivory-2);color:var(--ink-2);border-radius:999px;padding:.18rem .6rem;font-size:.7rem;display:inline-block}.pill.on{color:#1e7a45;background:#e4f5e9}.pill.off{color:#a33;background:#f7e6e6}.thumb{object-fit:cover;border-radius:8px;width:56px;height:56px}.alert{border-radius:10px;margin-bottom:1rem;padding:.8rem 1rem;font-size:.87rem}.alert.err{color:#a12c2c;background:#fbeaea}.alert.ok{color:#1e7a45;background:#e6f5ec}.alert.info{color:#34506e;background:#eef2f8}.qr-admin{grid-template-columns:auto 1fr;align-items:start;gap:2rem;margin-top:1.2rem;display:grid}.qr-admin .qr-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;place-items:center;gap:.7rem;padding:1.1rem;display:grid}.qr-admin .qr-card small{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:.68rem}@media (width<=720px){.qr-admin{grid-template-columns:1fr}}.login-wrap{background:var(--grad-dark);place-items:center;min-height:100vh;padding:2rem;display:grid}.login-card{border-radius:var(--radius-lg);width:min(420px,100%);box-shadow:var(--shadow-lg);background:#fff;padding:2.4rem}.login-card h2{margin-bottom:.4rem;font-size:1.8rem}.login-card>p{color:var(--muted);margin:0 0 1.6rem;font-size:.88rem}.login-card .field{margin-bottom:.9rem}.admin-hint{color:var(--muted);margin-top:1.2rem;font-size:.8rem;line-height:1.6}@media (width<=600px){.field.span-2{grid-column:span 1}}
