/* Dental Avenue Clinic - Premium 3D Website */
:root {
    --primary: #7c3aed;
    --primary-light: #a855f7;
    --primary-dark: #5b21b6;
    --secondary: #06b6d4;
    --accent: #ec4899;
    --bg-primary: #0f051d;
    --bg-secondary: #130824;
    --bg-card: rgba(26, 16, 48, 0.7);
    --bg-glass: rgba(124, 58, 237, 0.08);
    --text-primary: #f8fafc;
    --text-secondary: #cbd5e1;
    --text-light: #94a3b8;
    --border: rgba(168, 85, 247, 0.3);
    --border-light: rgba(255, 255, 255, 0.1);
    --glow-primary: 0 0 80px rgba(124, 58, 237, 0.5);
    --glow-secondary: 0 0 80px rgba(6, 182, 212, 0.4);
    --shadow-card: 0 30px 80px -20px rgba(124, 58, 237, 0.4);
    --radius-xl: 32px;
    --radius-lg: 24px;
    --radius-md: 16px;
    --transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body {
    font-family: 'Inter', sans-serif;
    line-height: 1.8;
    color: var(--text-primary);
    background: radial-gradient(ellipse at top, #1a0b2e 0%, #0f051d 40%, #05020a 100%);
    overflow-x: hidden;
    position: relative;
    min-height: 100vh;
}

.bg-3d { position: fixed; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:0; overflow:hidden; }
.orb { position:absolute; border-radius:50%; filter: blur(120px); opacity:0.4; animation: orbFloat 25s ease-in-out infinite; }
.orb-1 { width:600px; height:600px; background: radial-gradient(circle, var(--primary-light) 0%, transparent 70%); top:-200px; right:-150px; }
.orb-2 { width:700px; height:700px; background: radial-gradient(circle, var(--secondary) 0%, transparent 70%); bottom:-250px; left:-200px; animation-delay:8s; }
.orb-3 { width:500px; height:500px; background: radial-gradient(circle, var(--accent) 0%, transparent 70%); top:50%; left:60%; transform:translate(-50%,-50%); animation-delay:16s; }
@keyframes orbFloat { 0%,100%{transform:translate(0,0) scale(1)} 25%{transform:translate(40px,-60px) scale(1.1)} 50%{transform:translate(-30px,30px) scale(.9)} 75%{transform:translate(60px,40px) scale(1.05)} }
.grid-bg { position:absolute; top:0; left:0; width:100%; height:100%; background-image: 
    linear-gradient(rgba(168,85,247,0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(168,85,247,0.1) 1px, transparent 1px);
    background-size: 60px 60px; opacity:0.15; animation: gridMove 30s linear infinite; }
@keyframes gridMove { 0%{transform:translateY(0)} 100%{transform:translateY(-60px)} }
.floating-geom { position:absolute; animation: geomFloat 12s ease-in-out infinite; }
.geom-1 { top:20%; left:8%; }
.cube { width:40px; height:40px; background:linear-gradient(135deg, var(--primary-light) 0%, transparent 70%); transform:rotate(45deg); filter: blur(2px); opacity:0.5; animation:cubeSpin 10s linear infinite; }
@keyframes cubeSpin { 0%{transform:rotate(45deg) rotateX(0) rotateY(0)} 100%{transform:rotate(45deg) rotateX(360deg) rotateY(360deg)} }
@keyframes geomFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-25px)} }

.container { max-width:1400px; margin:0 auto; padding:0 2rem; position:relative; z-index:2; }
.gradient-text { background: linear-gradient(135deg, var(--primary-light) 0%, var(--secondary) 50%, var(--accent) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; display:inline-block; }
h1,h2,h3,h4 { font-family:'Sora','Plus Jakarta Sans',sans-serif; font-weight:700; line-height:1.2; color:var(--text-primary); }

.btn { position:relative; display:inline-flex; align-items:center; gap:.75rem; padding:1rem 2rem; font-family:'Sora','Plus Jakarta Sans',sans-serif; font-size:1rem; font-weight:600; text-decoration:none; border:none; border-radius:100px; cursor:pointer; overflow:hidden; transition:var(--transition); z-index:1; }
.btn-content { position:relative; z-index:3; display:flex; align-items:center; gap:.75rem; }
.btn-shine { position:absolute; top:0; left:-150%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent); transform:skewX(-20deg); transition:left .8s ease; z-index:2; }
.btn:hover .btn-shine { left:150%; }
.btn-premium { background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color:#fff; box-shadow:var(--shadow-card), 0 0 0 1px rgba(168,85,247,.4) inset; }
.btn-premium:hover { transform:translateY(-6px); box-shadow:0 40px 100px -20px rgba(124,58,237,.6); }
.btn-glow { background:rgba(124,58,237,.2); backdrop-filter:blur(20px); border:2px solid var(--primary-light); color:#fff; box-shadow:0 0 40px rgba(168,85,247,.3); }
.btn-glow:hover { transform:translateY(-6px); box-shadow:0 0 60px rgba(168,85,247,.5); }
.btn-lg { padding:1.125rem 2.75rem; font-size:1.125rem; }
.btn-xl { padding:1.25rem 3.25rem; font-size:1.125rem; }
.btn-full { width:100%; justify-content:center; }

.navbar { position:fixed; top:1rem; left:50%; transform:translateX(-50%); width:calc(100% - 4rem); max-width:1400px; background:rgba(15,5,29,.8); backdrop-filter:blur(30px); border:1px solid var(--border); border-radius:100px; box-shadow:var(--shadow-card); z-index:1000; transition:var(--transition); }
.navbar.scrolled { top:.5rem; width:calc(100% - 2rem); background:rgba(15,5,29,.95); }
.navbar .container { display:flex; align-items:center; justify-content:space-between; padding:.75rem 2rem; }
.nav-logo { display:flex; align-items:center; gap:.875rem; }
.logo-glow { position:relative; padding:.375rem; background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%); border-radius:14px; box-shadow:var(--glow-primary); }
.logo { width:48px; height:48px; border-radius:10px; background:#fff; padding:6px; display:block; }
.logo-text h2 { margin:0; font-size:1.25rem; font-weight:800; background:linear-gradient(135deg,var(--primary-light) 0%,var(--secondary) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.logo-text span { font-size:.75rem; color:var(--text-light); font-weight:600; text-transform:uppercase; letter-spacing:.25em; }
.nav-menu { display:flex; list-style:none; gap:1.75rem; }
.nav-link { text-decoration:none; color:var(--text-secondary); font-weight:600; font-size:.95rem; padding:.625rem 0; position:relative; font-family:'Sora',sans-serif; transition:var(--transition); }
.nav-link::before { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:0; height:2px; background:linear-gradient(90deg,var(--primary-light),var(--secondary)); border-radius:2px; transition:width .4s ease; box-shadow:0 0 10px rgba(168,85,247,.6); }
.nav-link:hover { color:#fff; }
.nav-link:hover::before { width:80%; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:.5rem; }
.hamburger span { width:28px; height:3px; background:var(--text-primary); border-radius:2px; transition:var(--transition); }

.hero { padding:200px 0 120px; }
.hero .container { display:grid; grid-template-columns:1.15fr .85fr; gap:5rem; align-items:center; }
.hero-badge { display:inline-flex; align-items:center; gap:.75rem; padding:.75rem 1.75rem; background:var(--bg-glass); backdrop-filter:blur(25px); border:1px solid var(--border); border-radius:100px; margin-bottom:2rem; font-weight:600; font-family:'Sora',sans-serif; box-shadow:0 0 40px rgba(124,58,237,.2); position:relative; overflow:hidden; }
.badge-pulse { position:absolute; top:0; left:0; width:100%; height:2px; background:linear-gradient(90deg,transparent,var(--primary-light),transparent); animation:pulse 2s linear infinite; }
@keyframes pulse { 0%{transform:translateX(-100%)} 100%{transform:translateX(100%)} }
.hero-badge i { color:var(--secondary); font-size:1rem; }
.hero-content h1 { font-size:clamp(2.75rem,6vw,4.75rem); margin-bottom:1.5rem; letter-spacing:-.03em; line-height:1.15; }
.hero-subtitle { font-size:1.125rem; color:var(--text-secondary); margin-bottom:2rem; line-height:1.9; }
.hero-features { display:flex; flex-wrap:wrap; gap:.875rem; margin-bottom:2.25rem; }
.feature-pill { display:flex; align-items:center; gap:.5rem; padding:.625rem 1.25rem; background:rgba(26,16,48,.6); backdrop-filter:blur(15px); border:1px solid var(--border-light); border-radius:100px; font-weight:500; font-size:.9rem; transition:var(--transition); }
.feature-pill:hover { transform:translateY(-3px); border-color:var(--primary-light); box-shadow:0 10px 40px rgba(124,58,237,.3); }
.feature-pill i { color:var(--primary-light); }
.hero-buttons { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.75rem; }
.hero-stats { display:flex; gap:1.25rem; flex-wrap:wrap; }
.stat-glass { padding:1rem 2rem; background:var(--bg-glass); backdrop-filter:blur(20px); border:1px solid var(--border); border-radius:var(--radius-lg); text-align:center; flex:1; min-width:140px; box-shadow:0 20px 60px rgba(124,58,237,.2); }
.stat-value { font-size:1.75rem; font-weight:800; font-family:'Sora',sans-serif; background:linear-gradient(135deg,var(--primary-light) 0%,var(--secondary) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.stat-glass p { margin:0; font-size:.875rem; color:var(--text-light); font-weight:600; }

.hero-image-3d { position:relative; perspective:1200px; }
.hero-scene { position:relative; transform-style:preserve-3d; animation:heroFloat 7s ease-in-out infinite; }
@keyframes heroFloat { 0%,100%{transform:translateY(0) rotateX(2deg) rotateY(-2deg)} 50%{transform:translateY(-25px) rotateX(-1deg) rotateY(2deg)} }
.hero-img-frame { position:relative; border-radius:var(--radius-xl); overflow:hidden; box-shadow:0 60px 120px -40px rgba(124,58,237,.7); border:3px solid transparent; background:linear-gradient(135deg,var(--primary),var(--secondary)) border-box; }
.hero-img-frame::before { content:''; position:absolute; inset:3px; background:#0f051d; border-radius:calc(var(--radius-xl) - 3px); z-index:-1; }
.hero-img { width:100%; height:700px; object-fit:cover; display:block; transition:transform .8s ease; }
.hero-img-frame:hover .hero-img { transform:scale(1.08); }
.img-noise { position:absolute; top:0; left:0; width:100%; height:100%; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"); opacity:.4; pointer-events:none; }
.frame-glow { position:absolute; top:-50%; left:-50%; width:200%; height:200%; background:conic-gradient(from 0deg, transparent, rgba(168,85,247,.4), transparent, rgba(6,182,212,.4), transparent); animation:spinGlow 8s linear infinite; pointer-events:none; }
@keyframes spinGlow { 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} }
.hero-img-frame > * { position:relative; z-index:1; }
.frame-glow { z-index:0; }

.floating-card { position:absolute; background:rgba(26,16,48,.9); backdrop-filter:blur(25px); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1rem 1.25rem; display:flex; align-items:center; gap:.875rem; box-shadow:var(--shadow-card); animation:cardFloat 4s ease-in-out infinite; z-index:10; overflow:hidden; }
.card-shine { position:absolute; top:0; left:-100%; width:50%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent); transform:skewX(-20deg); animation:shine 3s ease-in-out infinite; }
@keyframes shine { 0%,100%{left:-100%} 50%{left:150%} }
.floating-card i { font-size:1.75rem; background:linear-gradient(135deg,var(--primary-light) 0%,var(--secondary) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.floating-card h4 { margin:0; font-size:.875rem; }
.floating-card p { margin:0; font-size:.75rem; color:var(--text-light); }
.card-1 { top:2rem; left:-3rem; animation-delay:0s; }
.card-2 { top:50%; right:-3rem; transform:translateY(-50%); animation-delay:1.3s; }
.card-3 { bottom:2rem; left:1rem; animation-delay:2.6s; }
@keyframes cardFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }

.booking-section, .services-section, .reviews-section { padding:120px 0; }
.section-header { text-align:center; margin-bottom:4rem; max-width:800px; margin-left:auto; margin-right:auto; }
.section-badge-premium { display:inline-flex; align-items:center; gap:.75rem; padding:.75rem 1.75rem; background:var(--bg-glass); backdrop-filter:blur(25px); border:1px solid var(--border); border-radius:100px; margin-bottom:1.75rem; font-weight:600; font-family:'Sora',sans-serif; box-shadow:0 0 40px rgba(124,58,237,.2); }
.dot { width:8px; height:8px; background:radial-gradient(circle,var(--secondary) 0%,var(--primary-light) 100%); border-radius:50%; box-shadow:0 0 20px var(--secondary); animation:pulseDot 2s ease-in-out infinite; }
@keyframes pulseDot { 0%,100%{transform:scale(1); opacity:1} 50%{transform:scale(1.3); opacity:.7} }
.section-header h2 { font-size:clamp(2.25rem,4.5vw,3.75rem); margin-bottom:1rem; letter-spacing:-.02em; }
.section-header p { font-size:1.125rem; color:var(--text-secondary); line-height:1.9; }

.booking-wrapper { perspective:1400px; }
.booking-card-premium { position:relative; background:linear-gradient(135deg, rgba(26,16,48,.9) 0%, rgba(15,5,29,.95) 100%); backdrop-filter:blur(40px); border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--shadow-card); border:1px solid var(--border); }
.booking-border { position:absolute; top:0; left:0; width:100%; height:2px; background:linear-gradient(90deg,transparent,var(--primary-light),var(--secondary),var(--accent),transparent); animation:borderFlow 4s linear infinite; }
@keyframes borderFlow { 0%{background-position:0% 0} 100%{background-position:200% 0} }
.booking-content { display:grid; grid-template-columns:1fr 1.3fr; gap:4rem; padding:3.5rem; position:relative; z-index:1; }
.booking-left h3 { font-size:2rem; margin-bottom:2rem; }
.booking-benefits { display:flex; flex-direction:column; gap:1.5rem; margin-bottom:2.5rem; }
.benefit-item-premium { display:flex; gap:1rem; align-items:flex-start; padding:1.25rem; background:var(--bg-glass); backdrop-filter:blur(15px); border:1px solid var(--border-light); border-radius:var(--radius-md); transition:var(--transition); }
.benefit-item-premium:hover { transform:translateX(8px); border-color:var(--primary-light); box-shadow:0 15px 50px rgba(124,58,237,.3); }
.benefit-icon-premium { width:52px; height:52px; background:linear-gradient(135deg,var(--primary-light) 0%,var(--secondary) 100%); border-radius:14px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.375rem; flex-shrink:0; box-shadow:0 15px 40px -10px rgba(168,85,247,.6); }
.benefit-item-premium h4 { margin:0 0 .25rem 0; font-size:1.05rem; }
.benefit-item-premium p { margin:0; font-size:.9rem; color:var(--text-light); line-height:1.6; }
.booking-orb { width:140px; height:140px; background:radial-gradient(circle, rgba(168,85,247,.4) 0%, transparent 70%); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto; position:relative; }
.booking-orb::before { content:''; position:absolute; inset:20px; background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%); border-radius:50%; box-shadow:var(--glow-primary); }
.booking-orb i { position:relative; z-index:1; font-size:3rem; color:#fff; }
.booking-form-premium { background:rgba(15,5,29,.6); backdrop-filter:blur(20px); border:1px solid var(--border); border-radius:var(--radius-xl); padding:2.75rem; box-shadow:inset 0 1px 0 rgba(255,255,255,.1); }
.booking-form-premium h3 { font-size:1.875rem; margin-bottom:2rem; }
.form-grid-premium { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-bottom:1.5rem; }
.input-wrapper { display:flex; flex-direction:column; gap:.625rem; position:relative; }
.input-wrapper.full-width { grid-column:1/-1; margin-bottom:1.5rem; }
.input-wrapper label { display:flex; align-items:center; gap:.5rem; font-weight:600; color:var(--text-secondary); font-size:.9rem; font-family:'Sora',sans-serif; }
.input-wrapper label i { color:var(--primary-light); }
.input-wrapper input, .input-wrapper select, .input-wrapper textarea { padding:1rem 1.125rem; font-family:'Inter',sans-serif; font-size:.95rem; background:rgba(26,16,48,.6); border:1px solid var(--border-light); border-radius:14px; color:var(--text-primary); outline:none; transition:var(--transition); resize:vertical; }
.input-wrapper input:focus, .input-wrapper select:focus, .input-wrapper textarea:focus { border-color:var(--primary-light); background:rgba(26,16,48,.8); box-shadow:0 0 0 4px rgba(168,85,247,.2); }
.input-line { position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:0; height:1px; background:linear-gradient(90deg,var(--primary-light),var(--secondary)); transition:width .4s ease; }
.input-wrapper input:focus ~ .input-line, .input-wrapper select:focus ~ .input-line, .input-wrapper textarea:focus ~ .input-line { width:100%; }
.secure-note { text-align:center; margin-top:1rem; font-size:.875rem; color:var(--text-light); display:flex; align-items:center; justify-content:center; gap:.5rem; }

.services-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(350px,1fr)); gap:2rem; }
.service-card-premium { position:relative; background:linear-gradient(135deg, rgba(26,16,48,.8) 0%, rgba(15,5,29,.9) 100%); backdrop-filter:blur(25px); border:1px solid var(--border-light); border-radius:var(--radius-xl); padding:2.75rem; transition:var(--transition); overflow:hidden; }
.service-bg { position:absolute; top:-50%; right:-50%; width:200px; height:200px; background:radial-gradient(circle, rgba(168,85,247,.3) 0%, transparent 70%); filter:blur(40px); transition:var(--transition); }
.service-card-premium:hover { transform:translateY(-10px); border-color:var(--primary-light); box-shadow:var(--shadow-card); }
.service-card-premium:hover .service-bg { transform:scale(2); opacity:.6; }
.service-icon-wrap { position:relative; width:80px; height:80px; margin-bottom:1.5rem; display:flex; align-items:center; justify-content:center; }
.service-icon-ring { position:absolute; inset:0; border-radius:50%; background:conic-gradient(from 0deg, transparent, var(--primary-light), transparent); animation:spinRing 6s linear infinite; }
.service-icon-wrap::before { content:''; position:absolute; inset:3px; border-radius:50%; background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%); }
.service-icon-wrap i { position:relative; z-index:1; font-size:2rem; color:#fff; }
@keyframes spinRing { 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} }
.service-card-premium h3 { font-size:1.5rem; margin-bottom:.875rem; }
.service-card-premium p { color:var(--text-secondary); line-height:1.8; margin:0; font-size:.95rem; }

.reviews-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:2rem; margin-bottom:2.75rem; }
.review-card-premium { background:linear-gradient(135deg, rgba(26,16,48,.8) 0%, rgba(15,5,29,.9) 100%); backdrop-filter:blur(25px); border:1px solid var(--border-light); border-radius:var(--radius-xl); padding:2.25rem; transition:var(--transition); }
.review-card-premium:hover { transform:translateY(-8px); border-color:var(--primary-light); box-shadow:var(--shadow-card); }
.review-stars { display:flex; gap:.375rem; color:var(--secondary); font-size:1.125rem; margin-bottom:1rem; }
.review-card-premium p { color:var(--text-secondary); line-height:1.9; font-style:italic; margin-bottom:1.25rem; }
.review-author h4 { margin:0; font-size:1rem; }
.review-author span { font-size:.875rem; color:var(--text-light); }
.reviews-cta { text-align:center; }

.footer-premium { position:relative; background:linear-gradient(180deg, transparent 0%, #05020a 100%); padding:80px 0 30px; margin-top:80px; }
.footer-bg { position:absolute; top:0; left:0; width:100%; height:100%; background-image:radial-gradient(ellipse at top, rgba(124,58,237,.15) 0%, transparent 70%); pointer-events:none; }
.footer-main { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:3rem; margin-bottom:3rem; position:relative; z-index:1; }
.footer-logo { display:flex; align-items:center; gap:1rem; margin-bottom:1.25rem; }
.footer-logo img { width:54px; height:54px; border-radius:12px; padding:6px; background:#fff; }
.footer-logo h3 { margin:0; font-size:1.375rem; background:linear-gradient(135deg,var(--primary-light) 0%,var(--secondary) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.footer-logo span { font-size:.75rem; color:var(--text-light); text-transform:uppercase; letter-spacing:.2em; }
.footer-brand p { color:var(--text-secondary); line-height:1.9; margin-bottom:1.25rem; }
.footer-badges { display:flex; gap:.875rem; flex-wrap:wrap; }
.f-badge { display:flex; align-items:center; gap:.5rem; padding:.5rem 1rem; background:var(--bg-glass); border:1px solid var(--border-light); border-radius:100px; font-size:.875rem; color:var(--text-secondary); }
.footer-links h4, .footer-services h4, .footer-contact h4 { margin:0 0 1.25rem 0; font-size:1.125rem; }
.footer-links ul, .footer-services ul { list-style:none; }
.footer-links li, .footer-services li { margin-bottom:.875rem; }
.footer-links a, .footer-services a { text-decoration:none; color:var(--text-secondary); transition:var(--transition); display:inline-block; }
.footer-links a:hover, .footer-services a:hover { color:var(--primary-light); transform:translateX(5px); }
.contact-item-f { display:flex; gap:.875rem; margin-bottom:1rem; align-items:flex-start; }
.contact-item-f i { color:var(--primary-light); margin-top:.25rem; flex-shrink:0; }
.contact-item-f p, .contact-item-f a { color:var(--text-secondary); text-decoration:none; margin:0; line-height:1.7; }
.footer-social { display:flex; gap:.75rem; margin-top:1.25rem; }
.social-btn { width:44px; height:44px; background:var(--bg-glass); border:1px solid var(--border-light); border-radius:12px; display:flex; align-items:center; justify-content:center; color:var(--text-primary); text-decoration:none; transition:var(--transition); }
.social-btn:hover { background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%); transform:translateY(-3px); box-shadow:0 10px 30px rgba(124,58,237,.4); }
.footer-bottom { padding-top:2rem; border-top:1px solid var(--border-light); display:flex; flex-direction:column; gap:.5rem; text-align:center; position:relative; z-index:1; }
.footer-bottom p { color:var(--text-light); margin:0; font-size:.875rem; }
.footer-bottom i { color:var(--accent); }

.floating-book-btn { position:fixed; bottom:2rem; right:2rem; z-index:999; display:none; }
.floating-btn-premium { position:relative; display:flex; align-items:center; padding:1rem 1.75rem; background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%); color:#fff; text-decoration:none; border-radius:100px; box-shadow:0 30px 80px -20px rgba(124,58,237,.9); overflow:hidden; animation:pulseFloat 2.5s ease-in-out infinite; }
.floating-shine { position:absolute; top:0; left:-150%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent); transform:skewX(-20deg); animation:shineFloat 3s ease-in-out infinite; }
@keyframes shineFloat { 0%,100%{left:-150%} 50%{left:150%} }
@keyframes pulseFloat { 0%,100%{transform:scale(1)} 50%{transform:scale(1.08)} }
.floating-content { display:flex; align-items:center; gap:.75rem; z-index:2; font-weight:700; font-family:'Sora',sans-serif; }

@media (max-width:1200px) {
    .hero .container { grid-template-columns:1fr; gap:4rem; }
    .hero-image-3d { order:-1; }
    .hero-img { height:550px; }
    .booking-content { grid-template-columns:1fr; gap:3rem; padding:2.5rem; }
    .footer-main { grid-template-columns:1fr 1fr; gap:2.5rem; }
}
@media (max-width:968px) {
    .nav-menu { position:fixed; left:-100%; top:0; height:100vh; width:80%; max-width:350px; flex-direction:column; background:rgba(15,5,29,.98); backdrop-filter:blur(40px); box-shadow:var(--shadow-card); padding:7rem 2rem 2rem; gap:1rem; transition:var(--transition); z-index:999; }
    .nav-menu.active { left:0; }
    .nav-cta { display:none; }
    .hamburger { display:flex; z-index:1001; }
    .hamburger.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)} .hamburger.active span:nth-child(2){opacity:0} .hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(9px,-9px)}
    .navbar { width:calc(100% - 2rem); top:.5rem; border-radius:20px; }
    .form-grid-premium { grid-template-columns:1fr; }
    .services-grid { grid-template-columns:1fr; }
    .floating-book-btn { display:block; }
    .floating-content span { display:none; }
    .floating-btn-premium { padding:1rem; border-radius:50%; width:58px; height:58px; justify-content:center; }
}
@media (max-width:640px) {
    .container { padding:0 1rem; }
    .hero { padding:150px 0 80px; }
    .hero-img { height:380px; }
    .card-1, .card-2, .card-3 { position:relative; left:auto; right:auto; top:auto; bottom:auto; margin-top:1rem; width:100%; animation:none; }
    .booking-content, .booking-form-premium, .service-card-premium { padding:1.75rem; }
    .footer-main { grid-template-columns:1fr; }
    .grid-bg { opacity:.1; }
}