/* ============================================================
   Crystal Queen — Massage Studio
   Dancing Script · Cormorant Garamond · Manrope
   Galaxy Nebula · Liquid Glass
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Manrope:wght@300;400;500;600;700&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --font-script:'Dancing Script',cursive;
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'Manrope',sans-serif;
  /* Brighter, gentler background */
  --bg:#10082a;
  --bg-soft:#1e1040;
  /* Gold palette — titles only */
  --gold:#c9a050;
  --gold-light:#dbb96c;
  --gold-deep:#a88a38;
  --gold-pale:#ecd8a2;
  --gold-glow:rgba(218,185,108,0.45);
  --gold-glow-soft:rgba(201,160,78,0.22);
  /* Accent colors */
  --accent-purple:#b890e0;
  --accent-pink:#e8a0c0;
  --accent-lav:#c8aaf0;
  --accent-blue:#80b8e0;
  --accent-cyan:#70d0d8;
  --accent-rose:#f0a8c0;
  --plum:#1a0a1f;
  /* Text colors — NOT gold */
  --text:#ede8f6;
  --text2:#c8c0dc;
  --text3:#a098b8;
  --radius:20px;
  --radius-sm:14px;
  --section-gap:clamp(32px,5vh,52px);
  --container:1100px;
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:72px}

body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  min-height:100vh;min-height:100dvh;
  -webkit-font-smoothing:antialiased;
}

/* ── Galaxy Nebula — brighter, gentler ─────────────────────── */
.bg-layer{position:fixed;inset:0;pointer-events:none;z-index:0}
.bg-base{
  background:
    radial-gradient(ellipse 80% 70% at 50% 40%, #221050 0%, #160838 35%, #0e0520 65%, #080314 100%);
}
.bg-crystals{
  background:
    radial-gradient(ellipse 55% 65% at 10% 12%, rgba(255,150,195,0.50), transparent 55%),
    radial-gradient(ellipse 48% 58% at 72% 18%, rgba(255,170,205,0.42), transparent 52%),
    radial-gradient(ellipse 42% 50% at 35% 68%, rgba(240,130,185,0.36), transparent 54%),
    radial-gradient(ellipse 52% 62% at 82% 10%, rgba(90,225,245,0.46), transparent 54%),
    radial-gradient(ellipse 46% 54% at 18% 42%, rgba(110,205,255,0.40), transparent 56%),
    radial-gradient(ellipse 40% 48% at 62% 72%, rgba(70,195,235,0.34), transparent 52%),
    radial-gradient(ellipse 48% 58% at 48% 28%, rgba(180,110,245,0.42), transparent 56%),
    radial-gradient(ellipse 38% 48% at 76% 52%, rgba(190,130,255,0.32), transparent 54%),
    radial-gradient(ellipse 28% 34% at 55% 82%, rgba(255,90,185,0.28), transparent 50%),
    radial-gradient(ellipse 26% 32% at 65% 38%, rgba(110,235,225,0.22), transparent 50%),
    radial-gradient(ellipse 20% 26% at 42% 48%, rgba(218,185,108,0.16), transparent 48%),
    radial-gradient(ellipse 40% 46% at 50% 50%, rgba(130,70,210,0.18), transparent 60%);
}

/* Stars — varied sizes, offset flash */
.bg-facets{
  background:
    radial-gradient(circle 2.0px at 8% 10%, rgba(218,185,108,0.95) 0 2px, transparent 2.1px),
    radial-gradient(circle 1.8px at 35% 8%, rgba(255,215,130,0.90) 0 1.8px, transparent 1.9px),
    radial-gradient(circle 2.2px at 62% 14%, rgba(218,185,108,0.92) 0 2.2px, transparent 2.3px),
    radial-gradient(circle 1.9px at 88% 9%, rgba(255,215,130,0.88) 0 1.9px, transparent 2px),
    radial-gradient(circle 1.4px at 5% 42%, rgba(218,185,108,0.82) 0 1.4px, transparent 1.5px),
    radial-gradient(circle 1.2px at 22% 46%, rgba(255,215,130,0.78) 0 1.2px, transparent 1.3px),
    radial-gradient(circle 1.5px at 48% 40%, rgba(218,185,108,0.84) 0 1.5px, transparent 1.6px),
    radial-gradient(circle 0.8px at 12% 58%, rgba(218,185,108,0.70) 0 0.8px, transparent 0.9px),
    radial-gradient(circle 0.6px at 30% 62%, rgba(255,215,130,0.64) 0 0.6px, transparent 0.7px),
    radial-gradient(circle 1.0px at 50% 56%, rgba(218,185,108,0.72) 0 1px, transparent 1.1px),
    radial-gradient(circle 0.5px at 15% 75%, rgba(218,185,108,0.55) 0 0.5px, transparent 0.6px),
    radial-gradient(circle 0.4px at 40% 78%, rgba(255,215,130,0.50) 0 0.4px, transparent 0.5px);
  animation:starsLayer1 3s ease-in-out infinite;
}
.bg-stars2{
  position:fixed;inset:0;pointer-events:none;z-index:1;
  background:
    radial-gradient(circle 1.6px at 14% 52%, rgba(218,185,108,0.88) 0 1.6px, transparent 1.7px),
    radial-gradient(circle 1.0px at 32% 58%, rgba(255,215,130,0.76) 0 1px, transparent 1.1px),
    radial-gradient(circle 1.4px at 52% 54%, rgba(218,185,108,0.82) 0 1.4px, transparent 1.5px),
    radial-gradient(circle 0.8px at 70% 50%, rgba(255,215,130,0.68) 0 0.8px, transparent 0.9px),
    radial-gradient(circle 1.6px at 88% 56%, rgba(218,185,108,0.86) 0 1.6px, transparent 1.7px),
    radial-gradient(circle 0.7px at 26% 66%, rgba(218,185,108,0.62) 0 0.7px, transparent 0.8px),
    radial-gradient(circle 1.2px at 44% 72%, rgba(255,215,130,0.80) 0 1.2px, transparent 1.3px),
    radial-gradient(circle 0.6px at 62% 68%, rgba(218,185,108,0.56) 0 0.6px, transparent 0.7px),
    radial-gradient(circle 1.0px at 80% 74%, rgba(255,215,130,0.72) 0 1px, transparent 1.1px),
    radial-gradient(circle 0.5px at 92% 70%, rgba(218,185,108,0.50) 0 0.5px, transparent 0.6px);
  animation:starsLayer2 5s ease-in-out infinite;
}
@keyframes starsLayer1{
  0%,100%{opacity:0.5;filter:brightness(0.9)}
  30%{opacity:0.75;filter:brightness(1.1)}
  60%{opacity:1;filter:brightness(1.3) drop-shadow(0 0 4px rgba(218,185,108,0.4))}
  80%{opacity:0.65;filter:brightness(1.0)}
}
@keyframes starsLayer2{
  0%,100%{opacity:0.55;filter:brightness(0.92)}
  25%{opacity:0.8;filter:brightness(1.15)}
  50%{opacity:0.6;filter:brightness(0.95)}
  75%{opacity:1;filter:brightness(1.35) drop-shadow(0 0 5px rgba(255,215,130,0.45))}
}

.bg-vignette{background:radial-gradient(ellipse 90% 88% at 50% 50%,transparent 58%,rgba(8,4,20,0.40) 100%)}
.edge-shine{position:fixed;pointer-events:none;z-index:1;width:1px;top:0;bottom:0;filter:blur(8px);opacity:.85}
.edge-shine--left{left:0;background:linear-gradient(to bottom,transparent,rgba(255,255,255,0.80) 18%,rgba(184,144,224,0.38) 38%,rgba(232,160,192,0.30) 62%,rgba(255,255,255,0.60) 85%,transparent);box-shadow:0 0 14px rgba(255,255,255,0.60)}
.edge-shine--right{right:0;background:linear-gradient(to bottom,transparent,rgba(200,170,240,0.42) 22%,rgba(255,255,255,0.75) 45%,rgba(232,160,192,0.30) 68%,transparent);box-shadow:0 0 14px rgba(255,255,255,0.50)}
.edge-shine--top{top:0;left:0;right:0;height:1px;width:auto;bottom:auto;background:linear-gradient(to right,transparent,rgba(255,255,255,0.75) 20%,rgba(184,144,224,0.26) 50%,rgba(255,255,255,0.50) 80%,transparent);filter:blur(6px)}
.crystal-field{display:none}

/* ── Utility ───────────────────────────────────────────────── */
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}
.section{position:relative;z-index:2;max-width:var(--container);margin:0 auto;padding:0 16px;margin-bottom:var(--section-gap)}
.section-head{text-align:center;margin-bottom:clamp(18px,3vh,28px)}
.section-head h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.5rem,3.5vw,2.1rem);color:var(--gold-light);letter-spacing:.01em;line-height:1.15;text-shadow:0 0 24px var(--gold-glow-soft),0 0 48px rgba(201,160,78,0.10),0 2px 8px rgba(0,0,0,0.22)}
.section-head em{font-family:var(--font-display);font-style:italic;color:var(--gold-pale);font-weight:500}
.section-head .line{width:48px;height:2px;margin:10px auto 0;border-radius:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.85}
.section-head .subline{margin-top:6px;font-size:.80rem;color:var(--text3);letter-spacing:.08em;text-transform:uppercase;font-weight:500}

/* ── Header — centered evenly ──────────────────────────────── */
.site-header{position:sticky;top:0;z-index:100;backdrop-filter:blur(18px) saturate(140%) brightness(1.04);-webkit-backdrop-filter:blur(18px) saturate(140%) brightness(1.04);background:rgba(18,10,36,0.84);border-bottom:1px solid rgba(255,255,255,0.07);box-shadow:0 1px 0 rgba(255,255,255,0.04) inset,0 5px 20px rgba(0,0,0,0.25)}
.header-inner{max-width:var(--container);margin:0 auto;padding:8px 16px;display:flex;align-items:center;gap:12px}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0}
.logo-img{width:38px;height:38px;border-radius:10px;object-fit:cover;box-shadow:0 3px 10px rgba(0,0,0,0.2);border:1px solid rgba(255,255,255,0.10)}
.logo-text{display:flex;flex-direction:column;line-height:1.05}
.logo-w{font-family:var(--font-display);font-size:.90rem;color:var(--gold-light);letter-spacing:.01em}
.logo-q{font-family:var(--font-display);font-size:.90rem;color:var(--gold);letter-spacing:.01em}
.site-header nav{flex:1;display:flex;justify-content:center}
.site-header nav ul{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;max-width:500px}
.site-header nav a{display:flex;align-items:center;justify-content:center;padding:6px 14px;font-size:.80rem;font-weight:500;color:var(--text2);border-radius:999px;transition:all .2s;white-space:nowrap;flex:1;text-align:center}
.site-header nav a:hover{color:var(--text);background:rgba(184,144,224,0.08)}
.site-header nav a.active{color:var(--text);background:rgba(184,144,224,0.10);border:1px solid rgba(255,255,255,0.06)}

/* ── Hero — Dancing Script title, logo left desktop ────────── */
.hero{position:relative;z-index:2;max-width:var(--container);margin:0 auto;padding:clamp(14px,3vh,24px) 16px 0}
.hero-glass{position:relative;border-radius:24px;overflow:hidden;padding:22px 24px;background:linear-gradient(160deg,rgba(200,180,240,0.10),rgba(180,160,220,0.05) 40%,rgba(160,180,240,0.07));backdrop-filter:blur(16px) saturate(140%) brightness(1.04);-webkit-backdrop-filter:blur(16px) saturate(140%) brightness(1.04);border:1px solid rgba(255,255,255,0.16);box-shadow:inset 0 1px 0 rgba(255,255,255,0.55),inset 0 0 20px rgba(200,180,240,0.04),0 18px 48px rgba(0,0,0,0.28),0 6px 16px rgba(0,0,0,0.14)}
.hero-glass::before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,0.14) 0%,rgba(255,255,255,0.04) 4%,transparent 12%),linear-gradient(135deg,rgba(200,180,255,0.05) 0%,transparent 25%,rgba(180,220,255,0.03) 50%,transparent 75%);z-index:1}
.hero-glass::after{display:none}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;text-align:right}
.hero-logo-wrap{position:relative;width:clamp(180px,28vw,280px);height:clamp(180px,28vw,280px);flex-shrink:0;display:flex;align-items:center;justify-content:center;order:2}
.hero-logo{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 32px rgba(0,0,0,0.38)) drop-shadow(0 5px 14px rgba(140,80,200,0.18))}
.hero-logo-glow{position:absolute;inset:-18px;z-index:-1;background:radial-gradient(circle,rgba(218,185,108,0.22),rgba(180,140,224,0.10) 40%,transparent 70%);filter:blur(14px);border-radius:50%}
.hero-copy{order:1}
.hero-copy h1{font-family:var(--font-script);font-size:clamp(2.2rem,6vw,3.4rem);font-weight:700;color:var(--gold-light);line-height:1.08;letter-spacing:.005em;margin-bottom:2px;text-shadow:0 0 28px var(--gold-glow-soft),0 0 56px rgba(201,160,78,0.10),0 2px 8px rgba(0,0,0,0.22)}
.hero-copy h1 span{color:var(--gold-light);font-style:italic}
.hero-copy .byline{font-family:var(--font-display);font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;text-shadow:0 0 14px var(--gold-glow-soft)}
.hero-copy .subtitle{font-size:.86rem;color:var(--text2);line-height:1.5;max-width:380px;margin-left:auto;margin-bottom:12px}
.cta{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:999px;font-weight:600;font-size:.84rem;color:#fff;background:linear-gradient(135deg,var(--accent-purple),var(--accent-pink));box-shadow:0 5px 16px rgba(155,110,216,0.32);transition:transform .2s,box-shadow .2s;min-height:44px}
.cta:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(155,110,216,0.42)}
.cta-secondary{display:inline-flex;align-items:center;padding:10px 18px;border-radius:999px;font-weight:600;font-size:.82rem;color:var(--text);background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.10);margin-left:8px;transition:all .2s;min-height:44px}
.cta-secondary:hover{background:rgba(255,255,255,0.10);transform:translateY(-1px)}

/* ═══ GLASS CARDS — transparent, glossy, not frosty ═══════════ */
.glass-card{position:relative;background:rgba(255,255,255,0.055);backdrop-filter:blur(12px) saturate(130%) brightness(1.03);-webkit-backdrop-filter:blur(12px) saturate(130%) brightness(1.03);border:1px solid rgba(255,255,255,0.16);border-radius:var(--radius);box-shadow:inset 0 1px 0 rgba(255,255,255,0.50),0 14px 44px rgba(0,0,0,0.22),0 4px 10px rgba(0,0,0,0.10);overflow:hidden}
.glass-card::before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,0.16) 0%,rgba(255,255,255,0.05) 3%,transparent 10%),radial-gradient(ellipse 65% 30% at 25% 18%,rgba(255,255,255,0.06),transparent 55%);z-index:2}
.glass-card::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:var(--radius);border:1px solid rgba(255,255,255,0.08);background:radial-gradient(ellipse 45% 20% at 50% 98%,rgba(200,180,255,0.05),transparent 70%);z-index:1}

/* About */
.about-card{padding:clamp(14px,3vw,24px);font-size:.94rem;color:var(--text);line-height:1.68}
.about-card p+p{margin-top:8px}
.about-card strong{color:var(--text);font-weight:600}

/* Iveto */
.iveto-grid{display:grid;grid-template-columns:240px 1fr;gap:18px;align-items:stretch}
.iveto-photo{position:relative;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,rgba(24,12,44,0.45),rgba(100,60,160,0.16));border:1px solid rgba(255,255,255,0.08);box-shadow:0 6px 22px rgba(0,0,0,0.20);min-height:280px;display:flex;align-items:center;justify-content:center}
.iveto-avatar-fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;background:radial-gradient(ellipse 60% 50% at 50% 30%,rgba(201,160,78,0.06),transparent 60%),linear-gradient(135deg,rgba(24,12,44,0.45),rgba(100,60,160,0.16))}
.iveto-avatar-fallback .av{width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,0.05);border:2px solid rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;margin-bottom:10px;color:var(--gold-light);backdrop-filter:blur(6px)}
.iveto-avatar-fallback .av svg{width:40px;height:40px}
.iveto-bio{padding:clamp(14px,3vw,22px)}
.iveto-bio h3{font-family:var(--font-display);font-size:1.3rem;color:var(--gold-light);margin-bottom:3px;font-weight:600;text-shadow:0 0 18px var(--gold-glow-soft),0 1px 5px rgba(0,0,0,0.18)}
.iveto-bio .role{font-size:.78rem;letter-spacing:.10em;text-transform:uppercase;color:var(--text3);font-weight:600;margin-bottom:8px}
.iveto-bio p{color:var(--text2);line-height:1.62;font-size:.90rem}
.iveto-bio p+p{margin-top:7px}
.iveto-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.iveto-tag{padding:4px 11px;border-radius:999px;font-size:.76rem;font-weight:500;color:var(--text2);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08)}

/* Service Cards — transparent glossy */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.crystal-card{position:relative;border-radius:var(--radius);overflow:hidden;min-height:auto;display:flex;align-items:flex-end;transition:transform .3s ease,box-shadow .3s ease;background:rgba(255,255,255,0.06);backdrop-filter:blur(12px) saturate(130%) brightness(1.03);-webkit-backdrop-filter:blur(12px) saturate(130%) brightness(1.03);border:1px solid rgba(255,255,255,0.14);box-shadow:inset 0 1px 0 rgba(255,255,255,0.48),0 14px 40px rgba(0,0,0,0.24),0 5px 14px rgba(0,0,0,0.12)}
.crystal-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,0.60),0 20px 50px rgba(0,0,0,0.28),0 8px 24px rgba(160,140,220,0.05);border-color:rgba(255,255,255,0.20)}
.crystal-card::before,.crystal-card::after{display:none}
.card-gloss,.card-caustic,.card-prismatic{display:none}
.cc-featured{background:rgba(255,255,255,0.075);border-color:rgba(255,255,255,0.18)}
.card-content{position:relative;z-index:3;padding:16px 16px 14px;width:100%;background:rgba(255,255,255,0.04);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,0.07)}
.card-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;color:var(--gold-light);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:9px}
.card-icon svg{width:17px;height:17px}
.card-content h3{font-family:var(--font-display);font-size:1.08rem;font-weight:600;color:var(--gold-light);margin-bottom:3px;text-shadow:0 0 16px var(--gold-glow-soft),0 1px 3px rgba(0,0,0,0.18)}
.card-content p{font-size:.83rem;color:var(--text2);line-height:1.52;margin-bottom:8px}
.price-tag{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.74rem;font-weight:600;color:var(--text2);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);margin-bottom:8px}
.card-btn{display:block;text-align:center;padding:9px 0;border-radius:999px;font-weight:600;font-size:.82rem;color:#fff;background:linear-gradient(135deg,rgba(155,110,216,0.32),rgba(232,160,184,0.32));box-shadow:0 3px 10px rgba(155,110,216,0.15);transition:transform .2s,box-shadow .2s;min-height:42px}
.card-btn:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(155,110,216,0.25)}

/* ── Contact ───────────────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form{padding:clamp(14px,3vw,22px)}
.fg{margin-bottom:12px}
.fg label{display:block;margin-bottom:4px;font-size:.80rem;font-weight:500;color:var(--text2)}
.fg input,.fg select{width:100%;padding:9px 11px;border-radius:10px;border:1px solid rgba(255,255,255,0.10);background:rgba(255,255,255,0.035);color:var(--text);font-family:var(--font-body);font-size:.86rem;transition:border-color .2s;outline:none}
.fg input:focus,.fg select:focus{border-color:rgba(218,185,108,0.35)}
.fg input::placeholder{color:var(--text3)}
.fg select{appearance:none;cursor:pointer}
.submit-btn{width:100%;padding:11px;border-radius:999px;border:none;font-weight:600;font-size:.86rem;color:#fff;background:linear-gradient(135deg,rgba(155,110,216,0.42),rgba(232,160,184,0.42));cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 14px rgba(155,110,216,0.20);min-height:46px}
.submit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(155,110,216,0.28)}
.contact-info{padding:clamp(14px,3vw,22px)}
.contact-info h3{font-family:var(--font-display);font-size:1.12rem;color:var(--gold-light);margin-bottom:14px;font-weight:600;text-shadow:0 0 14px var(--gold-glow-soft)}
.ci-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}
.ci-icon{width:17px;height:17px;flex-shrink:0;margin-top:2px;color:var(--text3)}
.ci-item strong{display:block;font-size:.82rem;color:var(--text);margin-bottom:1px;font-weight:600}
.ci-item p{font-size:.84rem;color:var(--text2);line-height:1.5}
.ci-item .small{font-size:.76rem;color:var(--text3);margin-top:2px}
.social-row{display:flex;gap:7px;margin-top:14px}
.social-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:rgba(255,255,255,0.035);border:1px solid rgba(255,255,255,0.08);color:var(--text3);transition:all .2s}
.social-btn:hover{background:rgba(255,255,255,0.07);transform:translateY(-1px)}
.social-btn svg{width:15px;height:15px}

/* ── Footer ────────────────────────────────────────────────── */
.site-footer{position:relative;z-index:2;text-align:center;padding:22px 14px 16px;border-top:1px solid rgba(255,255,255,0.04);margin-top:6px;background:rgba(8,4,18,0.60);backdrop-filter:blur(8px)}
.footer-logo{display:flex;justify-content:center;margin-bottom:8px}
.footer-logo-img{width:40px;height:40px;border-radius:10px;object-fit:cover;opacity:.85;border:1px solid rgba(255,255,255,0.06)}
.special-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:8px;padding:6px 16px;border-radius:999px;font-size:.78rem;font-weight:600;color:var(--text2);border:1px solid rgba(255,255,255,0.06);background:rgba(255,255,255,0.025);transition:all .2s;min-height:38px}
.special-link:hover{background:rgba(255,255,255,0.05)}
.site-footer p{font-size:.76rem;color:var(--text3)}

/* ── Toast ─────────────────────────────────────────────────── */
.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%) translateY(60px);padding:9px 18px;border-radius:999px;background:rgba(18,10,36,0.92);border:1px solid rgba(184,144,224,0.16);color:var(--text);font-weight:500;font-size:.82rem;backdrop-filter:blur(14px);box-shadow:0 8px 24px rgba(0,0,0,0.30);transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .35s;opacity:0;z-index:200;pointer-events:none}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1}

/* ── Encyclopedia preview ──────────────────────────────────── */
.ency-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}
.ency-preview-text h3{font-family:var(--font-display);font-size:1.05rem;color:var(--gold-light);font-weight:600;margin-bottom:2px;text-shadow:0 0 12px var(--gold-glow-soft)}
.ency-preview-text p{font-size:.84rem;color:var(--text2)}
.ency-preview-arrow{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,rgba(155,110,216,0.42),rgba(232,160,184,0.42));color:#fff;transition:transform .2s}
.ency-preview:hover .ency-preview-arrow{transform:translateX(3px)}

/* ── Encyclopedia page ─────────────────────────────────────── */
.ency-article{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:start;padding:18px}
.ency-article.reverse{grid-template-columns:.9fr 1.1fr}
.ency-article.reverse .ency-photo{order:-1}
.ency-photo{border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(135deg,rgba(24,12,44,0.40),rgba(100,60,160,0.14));border:1px solid rgba(255,255,255,0.08);box-shadow:0 5px 18px rgba(0,0,0,0.20);position:relative}
.ency-photo img{width:100%;height:100%;object-fit:cover}
.ency-photo-fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px;text-align:center;background:radial-gradient(ellipse 50% 40% at 50% 30%,rgba(201,160,78,0.05),transparent 60%),linear-gradient(135deg,rgba(24,12,44,0.40),rgba(100,60,160,0.14))}
.ency-photo-fallback svg{width:36px;height:36px;color:var(--text3);opacity:.5;margin-bottom:6px}
.ency-text h3{font-family:var(--font-display);font-size:1.12rem;color:var(--gold-light);margin-bottom:3px;font-weight:600;text-shadow:0 0 12px var(--gold-glow-soft)}
.ency-text .meta{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);font-weight:600;margin-bottom:6px}
.ency-text p{color:var(--text2);font-size:.88rem;line-height:1.62}
.ency-text ul{margin-top:6px;padding-left:14px;color:var(--text2);font-size:.86rem;line-height:1.62}
.ency-text ul li{margin-bottom:2px}
.benefits{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.benefit{padding:4px 9px;border-radius:999px;font-size:.74rem;font-weight:500;color:var(--text2);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08)}

/* ── Gallery page ──────────────────────────────────────────── */
.gallery-hero{max-width:1100px;margin:0 auto;padding:18px 16px 0;position:relative;z-index:2}
.gallery-hero-card{border-radius:22px;padding:20px;text-align:center}
.gallery-hero-card h1{font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,2.1rem);color:var(--gold-light);font-weight:600;text-shadow:0 0 20px var(--gold-glow-soft)}
.gallery-hero-card p{color:var(--text2);max-width:520px;margin:5px auto 0;line-height:1.5;font-size:.88rem}
.gallery-toolbar{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.pill-btn{padding:6px 13px;border-radius:999px;font-size:.80rem;font-weight:600;border:1px solid rgba(184,144,224,0.12);background:rgba(255,255,255,0.04);color:var(--text2);cursor:pointer;transition:all .2s;min-height:38px}
.pill-btn.active{background:linear-gradient(135deg,var(--accent-purple),var(--accent-pink));color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(155,110,216,0.28)}
.admin-bar{margin:14px auto 0;max-width:1100px;padding:0 16px;position:relative;z-index:2}
.admin-card{padding:12px 14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.admin-card .left{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.admin-badge{padding:4px 9px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(184,144,224,0.08);color:var(--accent-purple);border:1px solid rgba(184,144,224,0.12)}
.admin-actions{display:flex;gap:5px;flex-wrap:wrap}
.btn-small{padding:7px 13px;border-radius:999px;font-size:.80rem;font-weight:600;border:none;cursor:pointer;transition:all .2s;min-height:38px}
.btn-primary{background:linear-gradient(135deg,var(--accent-purple),var(--accent-pink));color:#fff}
.btn-ghost{background:rgba(255,255,255,0.04);color:var(--text2);border:1px solid rgba(184,144,224,0.10)}
.gallery-grid{max-width:1100px;margin:14px auto;padding:0 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;position:relative;z-index:2}
.g-item{border-radius:16px;overflow:hidden;position:relative;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);box-shadow:0 8px 26px rgba(0,0,0,0.20);backdrop-filter:blur(10px) saturate(130%);transition:transform .3s}
.g-item:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(0,0,0,0.26)}
.g-item .pic{aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,rgba(24,12,44,0.30),rgba(100,60,160,0.10));position:relative}
.g-item .pic img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.g-item:hover .pic img{transform:scale(1.03)}
.g-item .meta{padding:10px 12px}
.g-item .meta h3{font-family:var(--font-display);font-size:.95rem;color:var(--gold-light);font-weight:600;margin-bottom:2px;text-shadow:0 0 10px var(--gold-glow-soft)}
.g-item .meta p{font-size:.82rem;color:var(--text2);line-height:1.45}
.g-item .meta .tag{display:inline-block;margin-top:5px;padding:3px 8px;border-radius:999px;font-size:.70rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:rgba(184,144,224,0.06);color:var(--accent-purple);border:1px solid rgba(184,144,224,0.10)}
.upload-zone{border:1.5px dashed rgba(184,144,224,0.20);border-radius:12px;padding:12px;background:rgba(255,255,255,0.025);display:grid;gap:7px}
.upload-zone input,.upload-zone textarea{width:100%;padding:8px 10px;border-radius:9px;border:1px solid rgba(184,144,224,0.10);background:rgba(255,255,255,0.03);font-family:var(--font-body);font-size:.86rem;color:var(--text)}
.upload-zone.hidden{display:none}
.lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:14px;background:rgba(8,4,18,0.85);backdrop-filter:blur(12px)}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:84vh;border-radius:12px;box-shadow:0 16px 44px rgba(0,0,0,0.50);border:1px solid rgba(255,255,255,0.08)}
.lightbox .close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,0.9);color:var(--plum);font-size:16px;cursor:pointer}

/* ── Splash — compact with big kiss animation ──────────────── */
.splash-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:14px;opacity:1;transition:opacity .5s ease,visibility .5s ease}
.splash-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}
.splash-bg-layers{position:fixed;inset:0;z-index:0;pointer-events:none}
.splash-bg-layers .bg-layer{position:fixed;inset:0}
.splash-content{position:relative;z-index:1;width:100%;max-width:240px;max-height:85vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.splash-card{padding:14px 12px;text-align:center;border-radius:16px}
.splash-icon{width:28px;height:28px;margin:0 auto 8px;opacity:.65}
.splash-icon svg{width:100%;height:100%}
.splash-to{font-family:var(--font-script);font-size:.85rem;color:var(--accent-pink);margin-bottom:2px}
.splash-title{font-family:var(--font-script);font-size:clamp(1.2rem,4.5vw,1.6rem);font-weight:700;color:var(--gold-light);line-height:1.1;margin-bottom:2px;text-shadow:0 0 20px var(--gold-glow-soft),0 2px 6px rgba(0,0,0,0.20)}
.splash-title em{font-style:italic;color:var(--gold-pale)}
.splash-sub{font-size:.64rem;color:var(--accent-purple);margin-bottom:6px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.splash-divider{display:flex;align-items:center;justify-content:center;gap:5px;margin-bottom:6px}
.cd-line{width:20px;height:1px;background:rgba(184,144,224,0.20)}
.cd-dot{width:3px;height:3px;border-radius:50%;background:var(--accent-purple);opacity:.35}
.splash-msg{font-size:.74rem;color:var(--text2);line-height:1.48;margin-bottom:6px;max-width:200px;margin-left:auto;margin-right:auto}
.splash-wish{padding:8px 10px;border-radius:10px;margin:6px auto;max-width:190px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.10);box-shadow:inset 0 1px 0 rgba(255,255,255,0.30),0 4px 14px rgba(0,0,0,0.14)}
.splash-wish-text{display:block;font-family:var(--font-script);font-size:.92rem;color:var(--gold-light);margin-bottom:2px;font-weight:600;text-shadow:0 0 12px var(--gold-glow-soft)}
.splash-wish-sig{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);font-weight:600}

/* Big flash kiss animation */
.splash-kiss{position:relative;display:inline-block}
.splash-kiss svg{animation:kissFlash 1.8s ease-in-out infinite}
@keyframes kissFlash{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 4px rgba(255,100,160,0.3))}
  15%{transform:scale(1.6) rotate(-8deg);filter:drop-shadow(0 0 20px rgba(255,80,150,0.8)) drop-shadow(0 0 40px rgba(255,120,180,0.5))}
  30%{transform:scale(1.3) rotate(5deg);filter:drop-shadow(0 0 12px rgba(255,100,160,0.6))}
  50%{transform:scale(1.8) rotate(-3deg);filter:drop-shadow(0 0 24px rgba(255,60,140,0.9)) drop-shadow(0 0 50px rgba(255,100,170,0.6))}
  70%{transform:scale(1.1) rotate(2deg);filter:drop-shadow(0 0 8px rgba(255,100,160,0.4))}
}
.splash-hearts{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px 0 10px}
.splash-hearts span{display:inline-block}
.splash-btn{display:inline-flex;align-items:center;gap:5px;padding:9px 20px;border-radius:999px;border:none;font-weight:600;font-size:.78rem;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--accent-purple),var(--accent-pink));box-shadow:0 4px 14px rgba(155,110,216,0.32),inset 0 1px 0 rgba(255,255,255,0.35);transition:transform .2s,box-shadow .2s;min-height:40px}
.splash-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(155,110,216,0.42)}

/* ── Responsive ────────────────────────────────────────────── */
@media(max-width:900px){
  .iveto-grid{grid-template-columns:1fr}
  .iveto-photo{min-height:220px}
  .contact-grid{grid-template-columns:1fr}
  .hero-inner{grid-template-columns:1fr;text-align:center;justify-items:center}
  .hero-logo-wrap{width:120px;height:120px;order:0}
  .hero-copy{text-align:center;order:0}
  .hero-copy .subtitle{margin:0 auto 12px}
  .ency-article,.ency-article.reverse{grid-template-columns:1fr}
  .ency-article.reverse .ency-photo{order:0}
}
@media(max-width:768px){
  .header-inner{padding:6px 10px}
  .site-header nav ul{gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .site-header nav ul::-webkit-scrollbar{display:none}
  .site-header nav a{padding:5px 8px;font-size:.76rem;min-height:36px;flex:none;width:auto}
  .services-grid{grid-template-columns:1fr}
  .about-card{padding:14px 12px}
  .iveto-bio{padding:14px 12px}
  .contact-form,.contact-info{padding:14px 12px}
  .gallery-grid{grid-template-columns:1fr}
  .site-footer{padding:18px 12px 14px}
}
@media(max-width:480px){
  :root{--section-gap:28px}
  .hero{padding-top:10px}
  .hero-glass{padding:18px 14px;border-radius:20px}
  .hero-logo-wrap{width:100px;height:100px}
  .hero-copy h1{font-size:2rem}
  .hero-copy .byline{font-size:.74rem}
  .hero-copy .subtitle{font-size:.84rem}
  .cta{padding:9px 16px;font-size:.80rem}
  .cta-secondary{padding:9px 14px;font-size:.78rem;margin-left:0;margin-top:5px}
  .section{padding:0 10px}
  .section-head h2{font-size:1.3rem}
  .card-content{padding:12px 12px 10px}
  .card-content h3{font-size:.98rem}
  .card-content p{font-size:.80rem}
  .gallery-hero-card{padding:16px 12px}
  .gallery-toolbar{gap:4px}
  .pill-btn{padding:5px 11px;font-size:.76rem}
  .splash-content{max-width:220px}
  .splash-card{padding:12px 10px}
  .splash-title{font-size:1.1rem}
  .splash-btn{width:100%;justify-content:center}
}
@media(hover:none) and (pointer:coarse){
  .site-header nav a{min-height:44px}
  .cta,.cta-secondary{min-height:46px}
  .card-btn{min-height:44px}
  .submit-btn{min-height:48px}
  .pill-btn{min-height:42px}
  .social-btn{min-width:42px;min-height:42px}
  .btn-small{min-height:42px}
  .special-link{min-height:42px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0s!important;transition-duration:0s!important}}
@supports(padding:max(0px)){.site-header,.site-footer{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}}
