@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Josefin+Sans:wght@200;300;400;600&display=swap');
:root{
  --rose:#D4728A;--gold:#C9943A;--gold-l:#E8B86D;
  --plum:#1E0A14;--plum2:#3A1A24;--blush:#F2AABB;
  --cream:#FDF6F0;--cream2:#F5EDE4;--text:#2A0F18;--muted:#7A4055;
  --serif:'Cormorant Garamond',Georgia,serif;--sans:'Josefin Sans',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--cream);color:var(--text);overflow-x:hidden;line-height:1.65}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
button{border:none;cursor:pointer;font-family:var(--sans)}
address{font-style:normal}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:var(--rose);border-radius:3px}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes blob{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes pulse{0%{transform:scale(.85);opacity:.7}100%{transform:scale(1.6);opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes popUp{from{transform:translateY(14px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@keyframes skel{0%{background-position:-200% 0}100%{background-position:200% 0}}
.spinning{animation:spin 1s linear infinite;display:inline-block}

/* NAV */
#navbar{position:sticky;top:0;z-index:200;background:rgba(253,246,240,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(212,114,138,.14);transition:box-shadow .3s}
#navbar.scrolled{box-shadow:0 2px 18px rgba(42,15,24,.1)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:66px;max-width:1400px;margin:0 auto}
.nav-logo{display:flex;align-items:center;gap:10px}
.nav-logo-img{width:42px;height:42px;object-fit:contain;flex-shrink:0}
.nav-brand{font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:1.5px;color:var(--plum);white-space:nowrap}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-link{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);transition:color .2s;position:relative;padding-bottom:2px}
.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}
.nav-link:hover{color:var(--plum)}.nav-link:hover::after{width:100%}
.nav-cta{background:var(--plum);color:white;padding:9px 20px;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;border-radius:2px;transition:background .25s}
.nav-cta:hover{background:var(--plum2)}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;padding:6px;width:36px;height:36px}
.hamburger span{display:block;width:22px;height:2px;background:var(--plum);border-radius:2px;transition:transform .3s,opacity .3s;transform-origin:center}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;flex-direction:column;background:var(--cream);overflow:hidden;max-height:0;transition:max-height .4s ease;border-top:1px solid rgba(212,114,138,.12)}
.mobile-nav.open{max-height:300px}
.mobile-nav a{display:block;padding:14px 24px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid rgba(212,114,138,.1);transition:background .2s,color .2s}
.mobile-nav a:hover{background:var(--cream2);color:var(--plum)}

/* HERO */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 66px);position:relative;overflow:hidden}
.hero-blobs{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hblob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.15}
.hb1{width:520px;height:520px;background:var(--rose);top:-160px;right:-140px;animation:blob 11s ease-in-out infinite}
.hb2{width:340px;height:340px;background:var(--gold);bottom:-80px;left:-70px;animation:blob 9s ease-in-out infinite reverse}
.hero-content{display:flex;flex-direction:column;justify-content:center;padding:72px 52px 72px 64px;position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(212,114,138,.1);border:1px solid rgba(212,114,138,.28);padding:7px 15px;border-radius:40px;width:fit-content;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--rose);margin-bottom:26px;animation:fadeUp .8s ease both}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--rose);flex-shrink:0;position:relative}
.live-dot::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--rose);animation:pulse 2s ease-out infinite}
.hero-title{font-family:var(--serif);font-weight:300;color:var(--plum);font-size:clamp(44px,5.5vw,78px);line-height:1.0;margin-bottom:22px;animation:fadeUp .85s .1s ease both}
.hero-title em{font-style:italic;color:var(--rose);font-weight:400}
.hero-sub{font-size:15px;line-height:1.8;color:var(--muted);max-width:390px;margin-bottom:32px;animation:fadeUp .85s .2s ease both}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:42px;animation:fadeUp .85s .3s ease both}
.hero-stats{display:flex;align-items:center;gap:20px;flex-wrap:wrap;animation:fadeUp .85s .4s ease both}
.hstat{display:flex;flex-direction:column}.hnum{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--plum);line-height:1}.hlbl{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:2px}.hsdiv{width:1px;height:30px;background:rgba(212,114,138,.28)}
.hero-panel{background:var(--plum);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.hero-panel::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(212,114,138,.18) 0%,transparent 65%),radial-gradient(ellipse at 70% 80%,rgba(201,148,58,.14) 0%,transparent 65%)}
.hero-art-wrap{position:relative;z-index:1;width:72%;max-width:320px;animation:fadeUp 1s .3s ease both}
.art-badge{position:absolute;bottom:-13px;right:-13px;background:var(--gold);color:white;padding:9px 16px;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600}

/* BUTTONS */
.btn-gold{display:inline-block;background:linear-gradient(135deg,var(--rose),var(--gold));color:white;padding:13px 28px;font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:600;border-radius:2px;transition:transform .25s,box-shadow .25s}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(212,114,138,.36)}
.btn-outline{display:inline-block;border:1px solid rgba(42,15,24,.3);color:var(--plum);padding:13px 28px;font-size:11px;letter-spacing:3px;text-transform:uppercase;border-radius:2px;transition:all .25s}
.btn-outline:hover{background:var(--plum);color:white;transform:translateY(-2px)}
.btn-gold-sm{display:inline-block;background:linear-gradient(135deg,var(--rose),var(--gold));color:white;padding:9px 20px;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;border-radius:2px;transition:opacity .2s,transform .2s}
.btn-gold-sm:hover{opacity:.9;transform:translateY(-1px)}

/* TICKER */
.ticker-bar{background:var(--plum);overflow:hidden;padding:12px 0;border-top:1px solid rgba(201,148,58,.2);border-bottom:1px solid rgba(201,148,58,.2)}
.ticker-inner{display:inline-flex;white-space:nowrap;animation:ticker 28s linear infinite}
.ticker-inner span{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.6);padding:0 20px}
.ticker-inner b{color:var(--gold);font-weight:400}

/* SECTION */
.section{padding:88px 64px}
.sec-head{text-align:center;margin-bottom:52px}
.sec-tag{display:block;font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-weight:600}
.sec-tag--light{color:var(--gold-l)}
.sec-title{font-family:var(--serif);font-weight:400;color:var(--plum);font-size:clamp(28px,4vw,46px);line-height:1.1;margin-bottom:14px}
.sec-title--light{color:white}
.sec-sub{font-size:14px;color:var(--muted);max-width:460px;margin:0 auto;line-height:1.8}
.sec-sub--light{color:rgba(255,255,255,.6)}

/* SERVICES */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1200px;margin:0 auto}
.svc-skeleton{background:linear-gradient(90deg,#f0e8e2 25%,#faf4ef 50%,#f0e8e2 75%);background-size:200% 100%;animation:skel 1.4s ease infinite;border-radius:4px;min-height:220px}
.svc-card{background:white;border:1px solid rgba(212,114,138,.11);border-radius:4px;padding:26px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.svc-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--rose),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px rgba(42,15,24,.12)}.svc-card:hover::after{transform:scaleX(1)}
.svc-icon-img{width:60px;height:60px;border-radius:50%;overflow:hidden;border:2px solid rgba(212,114,138,.2);flex-shrink:0;margin-bottom:14px}
.svc-icon-img img{width:100%;height:100%;object-fit:cover;display:block}
.svc-icon-placeholder{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,rgba(212,114,138,.12),rgba(201,148,58,.12));display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:14px;flex-shrink:0}
.svc-card h3{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--plum);margin-bottom:9px}
.svc-card>p{font-size:13px;line-height:1.7;color:var(--muted);flex:1}
.svc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid rgba(212,114,138,.1)}
.svc-info{font-size:11px;color:var(--muted)}
.svc-btn{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--rose);font-weight:600;transition:letter-spacing .2s}.svc-btn:hover{letter-spacing:2.5px}
.svc-cta-card{background:linear-gradient(135deg,var(--plum),var(--plum2));border-color:rgba(201,148,58,.28)}
.svc-cta-inner{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;height:100%}
.svc-cta-card h3{font-family:var(--serif);font-size:22px;color:var(--gold-l);margin-bottom:9px}
.svc-cta-card p{font-size:13px;color:rgba(255,255,255,.65);margin-bottom:20px}

/* GALLERY */
.gallery-section{background:var(--plum);position:relative;overflow:hidden}
.gallery-section::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 12% 20%,rgba(212,114,138,.12) 0%,transparent 50%),radial-gradient(ellipse at 88% 78%,rgba(201,148,58,.1) 0%,transparent 50%)}
.gal-filters{display:flex;justify-content:center;gap:8px;margin-bottom:36px;flex-wrap:wrap;position:relative;z-index:1}
.gf{padding:8px 18px;font-size:11px;letter-spacing:2px;text-transform:uppercase;background:transparent;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.55);border-radius:40px;cursor:pointer;font-family:var(--sans);transition:all .2s}
.gf:hover,.gf.active{background:var(--gold);border-color:var(--gold);color:white}
.gal-grid,.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:1200px;margin:0 auto;position:relative;z-index:1}
.gal-card{position:relative;overflow:hidden;border-radius:4px;cursor:pointer;aspect-ratio:1/1;background:var(--plum2);transition:opacity .3s,transform .3s}
.gal-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}
.gal-card:hover img{transform:scale(1.07)}
.gal-info{position:absolute;bottom:0;left:0;right:0;padding:10px 14px;background:linear-gradient(transparent,rgba(18,4,12,.82));font-family:var(--serif);font-size:15px;font-style:italic;color:white;opacity:0;transition:opacity .3s}
.gal-card:hover .gal-info{opacity:1}
.gal-card.hidden{display:none}

/* BOOKING */
.booking-section{background:var(--plum);position:relative;overflow:hidden}
.booking-section::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 20%,rgba(212,114,138,.12) 0%,transparent 55%),radial-gradient(ellipse at 20% 80%,rgba(201,148,58,.1) 0%,transparent 55%)}
.booking-wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;max-width:1200px;margin:0 auto;position:relative;z-index:1}
.bk-title{font-family:var(--serif);font-weight:300;color:white;font-size:clamp(28px,3.5vw,46px);line-height:1.1;margin:12px 0 16px}
.bk-title em{color:var(--gold-l);font-style:italic}
.bk-desc{font-size:14px;color:rgba(255,255,255,.6);line-height:1.8;margin-bottom:22px}
.wa-cta{display:inline-flex;align-items:center;gap:9px;background:#25D366;color:white;padding:12px 20px;border-radius:3px;font-size:12px;letter-spacing:1.5px;font-weight:600;margin-bottom:20px;transition:background .2s,transform .2s}
.wa-cta:hover{background:#1fba59;transform:translateY(-2px)}

/* PAYMENT BUTTONS */
.pay-section{margin:18px 0 16px}
.pay-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:600;margin-bottom:4px;display:block}
.pay-sublabel{font-size:12px;color:rgba(255,255,255,.38);margin-bottom:12px}
.pay-methods{display:flex;flex-direction:column;gap:9px}
.pay-btn{display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:8px;font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;text-align:left;width:100%;border:1px solid transparent}
.pay-btn:hover{transform:translateY(-1px)}
.pay-btn:disabled{opacity:.65;cursor:not-allowed;transform:none!important}
.pay-btn svg{flex-shrink:0;border-radius:4px}
.pay-stripe{background:rgba(99,91,255,.2);border-color:rgba(99,91,255,.4);color:white}
.pay-stripe:hover{background:rgba(99,91,255,.35)}
.pay-zelle{background:rgba(107,27,237,.2);border-color:rgba(107,27,237,.4);color:white}
.pay-zelle:hover{background:rgba(107,27,237,.35)}
.pay-cashapp{background:rgba(0,214,79,.15);border-color:rgba(0,214,79,.35);color:white}
.pay-cashapp:hover{background:rgba(0,214,79,.28)}

.or-line{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.24);font-size:11px;letter-spacing:2px;text-transform:uppercase;margin:18px 0 16px}
.or-line::before,.or-line::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.1)}
.bk-contact{display:flex;flex-direction:column;gap:9px}
.bk-contact div{font-size:13px;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:9px}

/* BOOKING FORM */
.bk-form{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:32px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.fgroup{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.fgroup:last-of-type{margin-bottom:0}
.fgroup label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.45);font-weight:600}
.req{color:var(--rose)}
.fgroup input,.fgroup select,.fgroup textarea{width:100%;padding:12px 14px;background:rgba(255,255,255,.07);border:1px solid rgba(242,170,187,.2);border-radius:3px;color:white;font-size:13px;font-family:var(--sans);outline:none;-webkit-appearance:none;appearance:none;transition:border-color .2s,background .2s}
.fgroup input:focus,.fgroup select:focus,.fgroup textarea:focus{border-color:rgba(212,114,138,.65);background:rgba(255,255,255,.1)}
.fgroup input::placeholder,.fgroup textarea::placeholder{color:rgba(255,255,255,.28)}
.fgroup select option{background:var(--plum2);color:white}
.fgroup textarea{resize:vertical;min-height:80px}
.fbtns{display:flex;gap:10px;margin-top:18px}
.fbtn-primary{flex:1;padding:14px;background:linear-gradient(135deg,var(--rose),var(--gold));color:white;font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:600;border-radius:3px;display:flex;align-items:center;justify-content:center;gap:7px;transition:transform .25s,box-shadow .25s}
.fbtn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(212,114,138,.38)}
.fbtn-primary:disabled{opacity:.6;pointer-events:none}
.fbtn-wa{padding:14px 18px;background:#25D366;color:white;border-radius:3px;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;transition:background .2s;white-space:nowrap}
.fbtn-wa:hover{background:#1fba59}
.form-msg{margin-top:12px;padding:10px 14px;border-radius:4px;font-size:13px;display:none}
.form-msg.ok{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);color:#86efac;display:block}
.form-msg.err{background:rgba(212,114,138,.12);border:1px solid rgba(212,114,138,.3);color:var(--blush);display:block}

/* PAYMENT OVERLAY */
.pay-overlay{position:fixed;inset:0;z-index:9500;background:rgba(8,2,6,.92);display:none;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.pay-overlay-card{background:var(--cream);border-radius:16px;padding:40px 32px;text-align:center;max-width:400px;width:100%;position:relative;animation:popUp .3s ease}
.pay-overlay-icon{font-size:40px;margin-bottom:14px}
.pay-overlay-card h3{font-family:var(--serif);font-size:24px;color:var(--plum);margin-bottom:12px}
.pay-overlay-amount{font-family:var(--serif);font-size:44px;font-weight:600;color:var(--gold);line-height:1;margin:10px 0 4px}
.pay-overlay-handle{font-size:18px;font-weight:700;color:var(--plum);margin-bottom:14px;letter-spacing:1px}
.pay-overlay-msg{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:18px}
.pay-overlay-steps{background:var(--cream2);border-radius:8px;padding:14px 16px;margin-bottom:20px;text-align:left}
.pay-step{font-size:13px;color:var(--text);padding:6px 0;border-bottom:1px solid rgba(212,114,138,.12)}
.pay-step:last-child{border:none}
.pay-sent-btn{width:100%;padding:14px;background:linear-gradient(135deg,var(--rose),var(--gold));border:none;border-radius:6px;color:white;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:700;cursor:pointer;font-family:var(--sans);margin-bottom:10px;transition:transform .2s}
.pay-sent-btn:hover{transform:translateY(-1px)}
.pay-overlay-close{background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;font-family:var(--sans);padding:4px;display:block;width:100%;text-align:center;transition:color .2s}
.pay-overlay-close:hover{color:#ef4444}

/* REVIEWS */
.reviews-section{background:var(--cream2)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1200px;margin:0 auto}
.review-card{background:white;border:1px solid rgba(212,114,138,.1);border-radius:8px;padding:26px;box-shadow:0 2px 14px rgba(42,15,24,.06)}
.stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:13px}
.review-card>p{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--plum);line-height:1.65;margin-bottom:20px}
.reviewer{display:flex;align-items:center;gap:11px}
.reviewer-av{width:40px;height:40px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--rose),var(--gold));color:white;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.reviewer strong{display:block;font-size:13px;color:var(--plum);font-family:var(--sans)}
.reviewer span{font-size:11px;color:var(--muted);letter-spacing:.5px}

/* FOOTER */
.site-footer{background:#090208;color:white}
.footer-wrap{display:flex;flex-wrap:wrap;align-items:flex-start;gap:32px;padding:44px 64px;border-bottom:1px solid rgba(255,255,255,.06);max-width:1400px;margin:0 auto}
.footer-brand{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:200px}
.footer-logo-img{width:36px;height:36px;object-fit:contain;flex-shrink:0}
.footer-name{font-family:var(--serif);font-size:17px;color:white}
.footer-tag{font-size:11px;color:rgba(255,255,255,.36);margin-top:3px}
.footer-nav{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.footer-nav a{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.44);transition:color .2s}
.footer-nav a:hover{color:var(--gold)}.footer-admin{color:var(--gold)!important}
.footer-contact{display:flex;flex-direction:column;gap:7px;font-size:12px;color:rgba(255,255,255,.4);min-width:200px}
.footer-bottom{padding:16px 64px;font-size:11px;color:rgba(255,255,255,.26);text-align:center;max-width:1400px;margin:0 auto}

/* FLOATING WA */
.wa-float{position:fixed;bottom:22px;right:22px;z-index:400;background:#25D366;color:white;padding:13px 18px;border-radius:50px;display:flex;align-items:center;gap:8px;box-shadow:0 6px 26px rgba(37,211,102,.42);animation:fadeUp 1s 1.5s ease both;transition:background .2s,transform .2s}
.wa-float::before{content:'';position:absolute;inset:-5px;border-radius:50px;background:rgba(37,211,102,.18);animation:pulse 3s ease-out infinite;pointer-events:none}
.wa-float:hover{background:#1fba59;transform:translateY(-3px)}
.wa-txt{font-size:12px;font-weight:700;letter-spacing:.5px;white-space:nowrap}

/* LIGHTBOX */
.lightbox{position:fixed;inset:0;z-index:9000;background:rgba(6,1,4,.96);display:none;align-items:center;justify-content:center;gap:14px}
.lightbox.open{display:flex;animation:fadeIn .25s ease}
.lb-close{position:fixed;top:18px;right:18px;background:rgba(255,255,255,.1);color:white;width:40px;height:40px;border-radius:50%;font-size:15px;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lb-close:hover{background:var(--rose)}
.lb-arrow{background:rgba(255,255,255,.08);color:white;width:46px;height:46px;border-radius:50%;font-size:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.lb-arrow:hover{background:rgba(255,255,255,.18)}
.lb-body{max-width:70vw;max-height:85vh;position:relative}
.lb-body img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:3px;display:block}
.lb-cap{position:absolute;bottom:-32px;left:0;right:0;text-align:center;color:rgba(255,255,255,.6);font-family:var(--serif);font-size:14px;font-style:italic}

/* SUCCESS */
.success-overlay{position:fixed;inset:0;z-index:8000;background:rgba(6,1,4,.88);display:flex;align-items:center;justify-content:center;animation:fadeIn .3s}
.success-box{background:var(--cream);border-radius:14px;padding:48px 40px;text-align:center;max-width:380px;width:92%;animation:popUp .35s ease}
.success-check{width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,var(--rose),var(--gold));color:white;font-size:24px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.success-box h3{font-family:var(--serif);font-size:24px;color:var(--plum);margin-bottom:10px}
.success-box p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:24px}

/* RESPONSIVE ≤960 */
@media(max-width:960px){
  .nav-inner{padding:0 24px}.nav-links{display:none}.hamburger{display:flex}.mobile-nav{display:flex}
  .hero{grid-template-columns:1fr;min-height:auto}.hero-panel{display:none}.hero-content{padding:90px 36px 56px}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .gal-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}
  .booking-wrap{grid-template-columns:1fr;gap:32px}
  .reviews-grid{grid-template-columns:1fr;gap:14px}
  .footer-wrap{padding:36px;flex-direction:column}.footer-bottom{padding:14px 36px}
  .section{padding:66px 36px}
}
/* RESPONSIVE ≤600 */
@media(max-width:600px){
  .nav-inner{padding:0 16px;height:58px}.nav-brand{font-size:14px}
  .hero-content{padding:80px 18px 48px}.hero-title{font-size:clamp(36px,10vw,48px)}
  .hero-actions{flex-direction:column;align-items:stretch;text-align:center}
  .hero-stats{gap:14px}
  .svc-grid{grid-template-columns:1fr}
  .gal-grid,.gallery-grid{grid-template-columns:repeat(2,1fr);gap:7px}
  .gallery-section{padding:52px 16px}
  .booking-section{padding:52px 16px}
  .bk-form{padding:20px 16px}.frow{grid-template-columns:1fr;gap:0}.fbtns{flex-direction:column}.fbtn-wa{justify-content:center}
  .pay-overlay-card{padding:28px 20px}.pay-overlay-amount{font-size:36px}
  .reviews-section{padding:52px 16px}
  .footer-wrap{padding:30px 16px}.footer-nav{gap:12px}.footer-bottom{padding:14px 16px}
  .wa-txt{display:none}.wa-float{padding:13px;border-radius:50%;bottom:18px;right:18px}
  .lb-body{max-width:90vw}.lb-arrow{width:36px;height:36px;font-size:18px}
  .section{padding:52px 16px}.sec-head{margin-bottom:36px}
}
@media(max-width:380px){.gal-grid,.gallery-grid{grid-template-columns:1fr}.hero-title{font-size:34px}}

/* ── Payment inside form ── */
.pay-divider{display:flex;align-items:center;gap:12px;margin:18px 0 12px;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:600}
.pay-divider::before,.pay-divider::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.12)}
.pay-methods-form{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}
.pay-or-line{display:flex;align-items:center;gap:12px;margin:14px 0 8px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.28)}
.pay-or-line::before,.pay-or-line::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.08)}
@media(max-width:600px){.pay-methods-form{gap:6px}}
