/* ==========================================================================
   PAYAL PHOTOGRAPHY + SOCIAL MEDIA + DIGITAL MARKETING
   Design tokens: Black / White / Gold / Purple-Pink Gradient
   ========================================================================== */

:root{
  --ink:#0a0a0d;
  --ink-soft:#131317;
  --ink-card:#17171c;
  --paper:#faf9f6;
  --white:#ffffff;
  --gold:#d4af37;
  --gold-light:#f3e0a8;
  --gold-deep:#a3812a;
  --purple:#7b2ff7;
  --pink:#c13584;
  --violet:#4b1fb0;
  --grad-brand: linear-gradient(120deg, #7b2ff7 0%, #c13584 55%, #d4af37 100%);
  --grad-brand-soft: linear-gradient(120deg, rgba(123,47,247,.15) 0%, rgba(193,53,132,.15) 55%, rgba(212,175,55,.15) 100%);
  --grad-dark: linear-gradient(180deg, rgba(10,10,13,0) 0%, rgba(10,10,13,.92) 100%);
  --text-muted: #a7a5ad;
  --border-soft: rgba(212,175,55,.18);
  --shadow-gold: 0 8px 30px rgba(212,175,55,.15);
  --shadow-deep: 0 20px 60px rgba(0,0,0,.45);
  --radius-lg: 22px;
  --radius-md: 14px;
  --radius-sm: 8px;
  --font-display: 'Playfair Display', serif;
  --font-body: 'Poppins', sans-serif;
  --font-script: 'Alex Brush', cursive;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family: var(--font-body);
  background:var(--paper);
  color:#232025;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--gold); color:#0a0a0d;}

h1,h2,h3,h4,h5,h6{font-family:var(--font-display); font-weight:700; letter-spacing:.2px;}
a{text-decoration:none;}
img{max-width:100%; display:block;}

.container-xl{max-width:1320px;}

/* ---------- Focus states ---------- */
a:focus-visible, button:focus-visible, .btn:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

/* ==========================================================================
   UTILITIES
   ========================================================================== */
.text-grad{
  background:var(--grad-brand);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.text-gold{color:var(--gold) !important;}
.bg-ink{background:var(--ink) !important;}
.bg-ink-soft{background:var(--ink-soft) !important;}
.eyebrow{
  font-family:var(--font-body);
  text-transform:uppercase;
  letter-spacing:3px;
  font-size:.78rem;
  font-weight:600;
  color:var(--gold-deep);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:"";
  width:28px;
  height:1px;
  background:var(--grad-brand);
  display:inline-block;
}
.section-title{
  font-size:clamp(2rem, 3.4vw, 3rem);
  font-weight:700;
  margin-top:.6rem;
  line-height:1.15;
}
.section-pad{padding:100px 0;}
@media(max-width:767px){ .section-pad{padding:64px 0;} }

.divider-ring{
  width:64px; height:64px; border-radius:50%;
  border:1.5px solid var(--gold);
  position:relative;
}
.divider-ring::after{
  content:"";
  position:absolute; inset:8px;
  border:1.5px solid var(--purple);
  border-radius:50%;
}

/* ==========================================================================
   NAVBAR
   ========================================================================== */
.navbar-payal{
  position:sticky; top:0; z-index:1050;
  background:rgba(10,10,13,.72);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(212,175,55,.15);
  transition:padding .3s ease, background .3s ease;
  padding:10px 0;
}
.navbar-payal.scrolled{
  padding:2px 0;
  background:rgba(8,8,10,.92);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.navbar-payal .navbar-brand img{
  height:52px;
  width:auto;
  transition:height .3s ease;
  border-radius:6px;
}
.navbar-payal.scrolled .navbar-brand img{height:42px;}

.navbar-payal .nav-link{
  color:#eee7d6 !important;
  font-weight:500;
  font-size:.92rem;
  letter-spacing:.4px;
  margin:0 6px;
  padding:8px 4px !important;
  position:relative;
}
.navbar-payal .nav-link::after{
  content:"";
  position:absolute; left:4px; bottom:2px;
  width:0; height:2px;
  background:var(--grad-brand);
  transition:width .3s ease;
}
.navbar-payal .nav-link:hover::after,
.navbar-payal .nav-link.active::after{width:calc(100% - 8px);}
.navbar-payal .nav-link.active{color:var(--gold) !important;}

.btn-book{
  background:var(--grad-brand);
  color:#fff !important;
  font-weight:600;
  font-size:.88rem;
  padding:10px 26px;
  border-radius:40px;
  border:none;
  letter-spacing:.5px;
  box-shadow:0 6px 20px rgba(123,47,247,.35);
  transition:transform .25s ease, box-shadow .25s ease;
  white-space:nowrap;
}
.btn-book:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(212,175,55,.4);
  color:#fff;
}
.navbar-toggler{border:none; box-shadow:none !important; color:var(--gold);}
.navbar-toggler .bi{font-size:1.6rem; color:var(--gold-light);}

.offcanvas-payal{
  background:var(--ink);
  color:#fff;
}
.offcanvas-payal .nav-link{color:#eee7d6 !important; font-size:1.05rem; padding:14px 0 !important; border-bottom:1px solid rgba(255,255,255,.06);}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.btn-gold{
  background:var(--grad-brand);
  color:#fff;
  border:none;
  padding:14px 34px;
  border-radius:44px;
  font-weight:600;
  letter-spacing:.4px;
  font-size:.95rem;
  transition:transform .25s ease, box-shadow .25s ease;
  box-shadow:0 8px 24px rgba(123,47,247,.32);
}
.btn-gold:hover{transform:translateY(-3px); box-shadow:0 14px 30px rgba(212,175,55,.4); color:#fff;}

.btn-outline-light-gold{
  background:transparent;
  border:1.5px solid var(--gold-light);
  color:#fff;
  padding:13px 32px;
  border-radius:44px;
  font-weight:600;
  font-size:.95rem;
  letter-spacing:.4px;
  transition:all .25s ease;
}
.btn-outline-light-gold:hover{background:var(--gold-light); color:#0a0a0d; border-color:var(--gold-light);}

.btn-whatsapp{
  background:#25D366; color:#fff; border:none; border-radius:44px;
  padding:11px 22px; font-weight:600; font-size:.85rem; display:inline-flex; align-items:center; gap:8px;
  transition:transform .2s ease;
}
.btn-whatsapp:hover{transform:translateY(-2px); color:#fff;}

/* ==========================================================================
   HERO (HOME)
   ========================================================================== */
.hero{
  position:relative;
  min-height:100vh;
  display:flex; align-items:center;
  background:#000 url('https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=1920&q=80') center/cover no-repeat;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(6,6,8,.92) 15%, rgba(20,10,30,.65) 55%, rgba(10,10,13,.85) 100%);
}
.hero::after{
  content:"";
  position:absolute; inset:0;
  background:var(--grad-dark);
}
.hero-content{position:relative; z-index:3;}
.hero-eyebrow{
  color:var(--gold-light);
  letter-spacing:4px;
  text-transform:uppercase;
  font-size:.8rem;
  font-weight:600;
  margin-bottom:18px;
  display:inline-flex; align-items:center; gap:12px;
}
.hero-eyebrow::before{content:""; width:40px; height:1px; background:var(--gold-light);}
.hero h1{
  color:#fff;
  font-size:clamp(2.4rem, 5.4vw, 4.6rem);
  line-height:1.08;
  font-weight:700;
}
.hero h1 .script{
  font-family:var(--font-script);
  font-weight:400;
  background:var(--grad-brand);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  font-size:1.35em;
  line-height:.8;
  display:inline-block;
}
.hero p.lead{
  color:#d9d6de;
  font-size:1.12rem;
  max-width:560px;
  margin:26px 0 36px;
  font-weight:300;
}
.hero-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(70px);
  opacity:.5;
  z-index:1;
}
.orb-1{width:420px; height:420px; background:var(--purple); top:-100px; right:-80px;}
.orb-2{width:340px; height:340px; background:var(--gold); bottom:-120px; left:10%;}

.hero-ring{
  position:absolute; z-index:2;
  border-radius:50%;
  border:1px solid rgba(212,175,55,.35);
}
.hero-scroll{
  position:absolute; bottom:34px; left:50%; transform:translateX(-50%);
  z-index:3; color:var(--gold-light); text-align:center; font-size:.72rem;
  letter-spacing:2px; text-transform:uppercase;
}
.hero-scroll .bi{display:block; margin:8px auto 0; font-size:1.3rem; animation:bounceDown 2s infinite;}
@keyframes bounceDown{0%,100%{transform:translateY(0);} 50%{transform:translateY(8px);}}

/* Page (inner) hero */
.page-hero{
  position:relative;
  padding:170px 0 90px;
  background:#050506 url('https://images.unsplash.com/photo-1554048612-b6a482bc67e5?auto=format&fit=crop&w=1600&q=70') center/cover;
  overflow:hidden;
}
.page-hero::before{content:""; position:absolute; inset:0; background:linear-gradient(120deg, rgba(6,6,8,.94), rgba(30,12,45,.78));}
.page-hero .container{position:relative; z-index:2;}
.page-hero h1{color:#fff; font-size:clamp(2.1rem,4vw,3.2rem);}
.page-hero .breadcrumb{background:none; padding:0; margin-top:14px;}
.page-hero .breadcrumb a{color:var(--gold-light);}
.page-hero .breadcrumb-item.active{color:#bbb;}
.page-hero .breadcrumb-item + .breadcrumb-item::before{color:#777;}

/* ==========================================================================
   CARDS - SERVICES
   ========================================================================== */
.service-card{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:38px 30px;
  height:100%;
  position:relative;
  border:1px solid #eee5cf;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  overflow:hidden;
}
.service-card::before{
  content:"";
  position:absolute; inset:0;
  background:var(--grad-brand-soft);
  opacity:0;
  transition:opacity .35s ease;
}
.service-card:hover{transform:translateY(-10px); box-shadow:var(--shadow-deep); border-color:transparent;}
.service-card:hover::before{opacity:1;}
.service-card .icon-wrap{
  width:64px; height:64px; border-radius:18px;
  display:flex; align-items:center; justify-content:center;
  background:var(--grad-brand);
  color:#fff; font-size:1.6rem;
  margin-bottom:22px;
  position:relative; z-index:1;
  box-shadow:0 10px 24px rgba(123,47,247,.28);
}
.service-card h3{font-size:1.24rem; position:relative; z-index:1;}
.service-card p{color:#6b6870; font-size:.94rem; position:relative; z-index:1; margin-bottom:0;}
.service-card .learn{position:relative; z-index:1; font-size:.85rem; font-weight:600; color:var(--gold-deep); display:inline-flex; align-items:center; gap:6px; margin-top:16px;}

/* dark variant */
.service-card.dark{background:var(--ink-card); border-color:rgba(212,175,55,.12);}
.service-card.dark h3{color:#fff;}
.service-card.dark p{color:var(--text-muted);}

/* ==========================================================================
   WHY CHOOSE / STATS
   ========================================================================== */
.feature-row{display:flex; gap:18px; align-items:flex-start; margin-bottom:34px;}
.feature-row .num{
  font-family:var(--font-display);
  font-size:1.05rem; font-weight:700;
  width:52px; height:52px; min-width:52px;
  border-radius:50%;
  border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center;
  color:var(--gold);
}
.feature-row h4{font-size:1.08rem; margin-bottom:6px;}
.feature-row p{color:#6b6870; font-size:.92rem; margin-bottom:0;}

.stat-box{text-align:center; padding:20px;}
.stat-box .stat-num{
  font-family:var(--font-display);
  font-size:clamp(2.2rem, 4vw, 3.2rem);
  font-weight:700;
  background:var(--grad-brand);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stat-box .stat-label{
  text-transform:uppercase; letter-spacing:2px; font-size:.76rem; color:var(--text-muted); font-weight:600;
}

/* ==========================================================================
   PACKAGES / PRICING
   ========================================================================== */
.pricing-card{
  background:var(--white);
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid #eee5cf;
  height:100%;
  transition:transform .35s ease, box-shadow .35s ease;
  display:flex; flex-direction:column;
}
.pricing-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-deep);}
.pricing-card .pc-img{height:210px; overflow:hidden; position:relative;}
.pricing-card .pc-img img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.pricing-card:hover .pc-img img{transform:scale(1.08);}
.pricing-card .pc-badge{
  position:absolute; top:16px; left:16px;
  background:var(--grad-brand); color:#fff; font-size:.72rem; font-weight:600;
  padding:6px 14px; border-radius:30px; letter-spacing:.5px;
}
.pricing-card .pc-body{padding:28px; flex:1; display:flex; flex-direction:column;}
.pricing-card h3{font-size:1.2rem; margin-bottom:4px;}
.pricing-card .price{
  font-family:var(--font-display);
  font-size:2.1rem; font-weight:700; color:var(--gold-deep); margin:10px 0 16px;
}
.pricing-card .price span{font-size:.9rem; color:#999; font-family:var(--font-body); font-weight:400;}
.pricing-card ul{list-style:none; padding:0; margin:0 0 24px; flex:1;}
.pricing-card ul li{
  font-size:.88rem; color:#585560; padding:7px 0; display:flex; gap:10px; align-items:flex-start;
  border-bottom:1px dashed #eee;
}
.pricing-card ul li:last-child{border-bottom:none;}
.pricing-card ul li .bi{color:var(--purple); margin-top:3px;}
.pricing-card .pc-actions{display:flex; gap:10px;}
.pricing-card .pc-actions .btn-gold{flex:1; padding:11px; font-size:.85rem; text-align:center;}

/* ==========================================================================
   GALLERY
   ========================================================================== */
.gallery-filters{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:44px;}
.gallery-filters button{
  background:transparent; border:1.5px solid #ddd2ab; color:#5a5560;
  padding:9px 22px; border-radius:40px; font-size:.85rem; font-weight:600;
  transition:all .25s ease; cursor:pointer;
}
.gallery-filters button.active, .gallery-filters button:hover{
  background:var(--grad-brand); color:#fff; border-color:transparent;
}
.gallery-item{
  border-radius:16px; overflow:hidden; position:relative; margin-bottom:24px; cursor:pointer;
  break-inside:avoid;
}
.gallery-item img{width:100%; display:block; transition:transform .6s ease;}
.gallery-item .g-overlay{
  position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(10,10,13,.88) 0%, rgba(10,10,13,0) 55%);
  display:flex; align-items:flex-end; padding:20px;
  opacity:0; transition:opacity .35s ease;
}
.gallery-item:hover .g-overlay{opacity:1;}
.gallery-item:hover img{transform:scale(1.1);}
.gallery-item .g-cat{color:var(--gold-light); font-size:.72rem; letter-spacing:2px; text-transform:uppercase; font-weight:600;}
.gallery-item .g-title{color:#fff; font-family:var(--font-display); font-size:1.1rem;}
.gallery-item .g-zoom{
  position:absolute; top:14px; right:14px; width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.15); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center; color:#fff; opacity:0; transition:opacity .3s ease;
}
.gallery-item:hover .g-zoom{opacity:1;}
.masonry{column-count:3; column-gap:24px;}
@media(max-width:991px){.masonry{column-count:2;}}
@media(max-width:575px){.masonry{column-count:1;}}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.review-card{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:32px;
  border:1px solid #eee5cf;
  height:100%;
}
.review-card .stars{color:var(--gold); font-size:.9rem; margin-bottom:14px; letter-spacing:2px;}
.review-card p.quote{color:#524f58; font-size:.95rem; font-style:italic; min-height:96px;}
.review-card .reviewer{display:flex; align-items:center; gap:14px; margin-top:20px;}
.review-card .reviewer img{width:50px; height:50px; border-radius:50%; object-fit:cover; border:2px solid var(--gold);}
.review-card .reviewer h6{margin-bottom:2px; font-family:var(--font-body); font-weight:600;}
.review-card .reviewer span{font-size:.78rem; color:#999;}
.review-card .google-badge{font-size:.72rem; color:#4285F4; font-weight:600; display:flex; align-items:center; gap:5px; margin-top:16px;}

/* ==========================================================================
   CTA BAND
   ========================================================================== */
.cta-band{
  position:relative;
  background:var(--ink);
  padding:90px 0;
  overflow:hidden;
}
.cta-band::before{
  content:""; position:absolute; inset:0;
  background:var(--grad-brand);
  opacity:.16;
}
.cta-band h2{color:#fff; font-size:clamp(1.8rem,3.2vw,2.7rem);}
.cta-band p{color:var(--text-muted);}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
.about-photo{
  position:relative; border-radius:var(--radius-lg); overflow:hidden;
}
.about-photo img{width:100%; height:100%; object-fit:cover; border-radius:var(--radius-lg);}
.about-badge{
  position:absolute; bottom:-24px; right:-24px;
  background:var(--white); border-radius:var(--radius-md);
  padding:20px 26px; box-shadow:var(--shadow-deep);
  text-align:center;
}
.about-badge .num{font-family:var(--font-display); font-size:2.1rem; font-weight:700; color:var(--gold-deep);}
.about-badge .lbl{font-size:.72rem; letter-spacing:1.5px; text-transform:uppercase; color:#777;}
.about-photo-frame{
  position:absolute; top:-20px; left:-20px; width:70%; height:70%;
  border:2px solid var(--gold); border-radius:var(--radius-lg); z-index:-1;
}
.chip-list{display:flex; flex-wrap:wrap; gap:12px; margin-top:10px;}
.chip-list span{
  background:#fff; border:1px solid #eee5cf; padding:9px 18px; border-radius:30px; font-size:.84rem; color:#555; font-weight:500;
}
.chip-list span .bi{color:var(--purple); margin-right:6px;}

.mv-card{
  background:var(--ink-card); color:#fff; border-radius:var(--radius-lg); padding:34px; height:100%;
  border:1px solid rgba(212,175,55,.14);
}
.mv-card .icon{font-size:1.8rem; color:var(--gold); margin-bottom:14px;}
.mv-card h3{font-size:1.3rem; margin-bottom:12px;}
.mv-card p{color:var(--text-muted); font-size:.94rem; margin-bottom:0;}

/* ==========================================================================
   CONTACT
   ========================================================================== */
.contact-card{
  background:var(--white); border-radius:var(--radius-lg); border:1px solid #eee5cf; padding:40px;
  box-shadow:var(--shadow-deep);
}
.form-control, .form-select{
  border:1.5px solid #e7e0c9; border-radius:12px; padding:13px 16px; font-size:.92rem;
  background:#fdfcf9;
}
.form-control:focus, .form-select:focus{
  border-color:var(--purple); box-shadow:0 0 0 4px rgba(123,47,247,.12);
}
.form-label{font-size:.85rem; font-weight:600; color:#3a3740; margin-bottom:6px;}
.info-card{
  background:var(--ink); color:#fff; border-radius:var(--radius-lg); padding:36px; height:100%;
}
.info-item{display:flex; gap:16px; margin-bottom:26px;}
.info-item .ic{
  width:46px; height:46px; min-width:46px; border-radius:12px; background:var(--grad-brand);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
}
.info-item h6{margin-bottom:4px; font-size:.95rem;}
.info-item span, .info-item a{color:var(--text-muted); font-size:.86rem;}
.info-item a{color:var(--text-muted);}
.info-item a:hover{color:var(--gold-light);}
.social-circle{
  width:40px; height:40px; border-radius:50%; border:1px solid rgba(212,175,55,.35);
  display:flex; align-items:center; justify-content:center; color:var(--gold-light); transition:all .25s ease;
}
.social-circle:hover{background:var(--grad-brand); border-color:transparent; color:#fff; transform:translateY(-3px);}
.map-frame{border-radius:var(--radius-lg); overflow:hidden; height:340px; filter:grayscale(.3);}
.map-frame iframe{width:100%; height:100%; border:0;}

/* Floating buttons */
.floating-btns{position:fixed; right:22px; bottom:26px; z-index:1200; display:flex; flex-direction:column; gap:14px;}
.fab{
  width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.4rem; box-shadow:var(--shadow-deep); transition:transform .25s ease;
}
.fab:hover{transform:scale(1.1); color:#fff;}
.fab-whatsapp{background:#25D366;}
.fab-call{background:var(--grad-brand);}
.fab-top{
  width:44px; height:44px; border-radius:50%; background:var(--ink); color:var(--gold);
  display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden;
  transition:all .3s ease; position:fixed; right:26px; bottom:96px; z-index:1199; border:1px solid var(--gold);
}
.fab-top.show{opacity:1; visibility:visible;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{background:var(--ink); color:#c9c6d0; padding:80px 0 0;}
.site-footer h5{color:#fff; font-family:var(--font-body); font-weight:600; font-size:1rem; margin-bottom:22px;}
.site-footer p{color:var(--text-muted); font-size:.9rem;}
.site-footer .footer-logo img{height:54px; margin-bottom:18px; border-radius:6px;}
.site-footer ul{list-style:none; padding:0; margin:0;}
.site-footer ul li{margin-bottom:12px;}
.site-footer ul li a{color:var(--text-muted); font-size:.9rem; transition:color .2s ease;}
.site-footer ul li a:hover{color:var(--gold-light); padding-left:4px;}
.footer-newsletter .form-control{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:#fff; border-radius:30px 0 0 30px;
}
.footer-newsletter .btn{border-radius:0 30px 30px 0; background:var(--grad-brand); color:#fff; border:none; padding:0 22px;}
.footer-newsletter .form-control::placeholder{color:#8a8790;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08); margin-top:50px; padding:22px 0; font-size:.82rem; color:#8a8790;}
.footer-bottom a{color:var(--gold-light);}
.footer-social{display:flex; gap:10px;}

/* ==========================================================================
   MISC
   ========================================================================== */
.counter-observed{opacity:1;}
.section-label-center{text-align:center; margin-bottom:56px;}
.section-label-center .eyebrow{justify-content:center;}
.section-label-center .eyebrow::before{display:none;}
.section-label-center .eyebrow::after{content:""; width:28px; height:1px; background:var(--grad-brand); display:inline-block;}

.swiper-pagination-bullet{background:var(--gold);}
.swiper-button-next, .swiper-button-prev{color:var(--gold) !important;}

.gform-toast{
  position:fixed; top:100px; right:24px; z-index:2000; background:var(--ink); color:#fff; padding:16px 22px;
  border-radius:12px; border-left:4px solid var(--gold); box-shadow:var(--shadow-deep);
  transform:translateX(140%); transition:transform .4s ease;
}
.gform-toast.show{transform:translateX(0);}

.preloader{
  position:fixed; inset:0; z-index:9999; background:var(--ink); display:flex; align-items:center; justify-content:center;
  transition:opacity .5s ease, visibility .5s ease;
}
.preloader.hide{opacity:0; visibility:hidden;}
.preloader img{height:70px; animation:pulseLogo 1.4s ease-in-out infinite;}
@keyframes pulseLogo{0%,100%{transform:scale(1); opacity:1;} 50%{transform:scale(1.06); opacity:.75;}}

.glass-card{
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-lg);
}
