/* ============ CSS VARIABLES ============ */
:root {
    --bg: #f8fafc; --surface: #ffffff; --primary: #2563eb; --primary-hover: #1d4ed8;
    --primary-light: #eff6ff; --primary-soft: #dbeafe; --text: #0f172a;
    --text-secondary: #334155; --text-muted: #64748b; --border: #e2e8f0;
    --border-light: #f1f5f9; --shadow-xs: 0 1px 2px rgba(0,0,0,0.04);
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.03);
    --shadow: 0 4px 14px rgba(0,0,0,0.05), 0 2px 6px rgba(0,0,0,0.03);
    --shadow-md: 0 8px 22px rgba(0,0,0,0.06), 0 3px 10px rgba(0,0,0,0.03);
    --shadow-lg: 0 14px 35px rgba(37, 99, 235, 0.09), 0 5px 14px rgba(0,0,0,0.04);
    --shadow-xl: 0 22px 50px rgba(37, 99, 235, 0.12);
    --radius-xs: 6px; --radius-sm: 10px; --radius: 16px; --radius-lg: 22px;
    --radius-xl: 28px; --radius-full: 9999px;
    --transition: 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    --font-serif: 'Georgia', 'Times New Roman', serif;
    --font-sans: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
}

/* ============ RESET & LAYOUT ============ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased; display:flex; flex-direction:column; min-height:100vh;}
a{text-decoration:none;color:inherit;transition:var(--transition)}
img{max-width:100%;display:block}
ul{list-style:none}
button{cursor:pointer;border:none;font-family:inherit;background:none}

/* ============ NAVIGATION ============ */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,0.84);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid var(--border);transition:all 0.3s ease;}
.navbar.scrolled{box-shadow:0 4px 24px rgba(0,0,0,0.06)}
.nav-inner{max-width:1150px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:14px 28px;gap:18px;flex-wrap:wrap;}
.nav-logo{font-family:var(--font-serif);font-size:1.35rem;font-weight:700;color:var(--primary);letter-spacing:0.5px;display:flex;align-items:center;gap:8px;white-space:nowrap;}
.nav-logo .logo-star{font-size:1.1rem;color:#f59e0b;animation:logoPulse 2s ease-in-out infinite;display:inline-block;}
@keyframes logoPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:0.8}}
.nav-menu{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.nav-link{padding:9px 17px;font-size:0.88rem;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-xs);transition:var(--transition);letter-spacing:0.2px;white-space:nowrap;}
.nav-link:hover, .nav-link.active{background:var(--primary-light);color:var(--primary)}
.nav-contact-btn{margin-left:8px;background:var(--primary);color:#fff!important;border-radius:var(--radius-full);padding:10px 24px!important;font-weight:600;letter-spacing:0.3px;box-shadow:0 4px 15px rgba(37,99,235,0.25);}
.nav-contact-btn:hover{background:var(--primary-hover)!important;box-shadow:0 6px 22px rgba(37,99,235,0.35);transform:translateY(-1px);}

/* ============ HERO (Home) ============ */
.hero{padding:130px 24px 70px;text-align:center;background:linear-gradient(175deg,#eff6ff 0%,#dbeafe 30%,#f8fafc 70%,#f1f5f9 100%);position:relative;overflow:hidden; flex:1;}
.hero-bg-orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:0.45;pointer-events:none;}
.hero-bg-orb.orb-1{width:360px;height:360px;background:rgba(37,99,235,0.06);top:-110px;right:-70px}
.hero-bg-orb.orb-2{width:290px;height:290px;background:rgba(59,130,246,0.04);bottom:-90px;left:-60px}
.hero-content{position:relative;z-index:1;max-width:620px;margin:0 auto}
.hero-avatar-wrapper{position:relative;display:inline-block;margin-bottom:26px}
.hero-avatar{width:155px;height:155px;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:var(--shadow-xl);background:#bfdbfe;transition:transform 0.4s ease;}
.hero-avatar:hover{transform:scale(1.04)}
.hero h1{font-family:var(--font-serif);font-size:2.7rem;color:var(--text);font-weight:700;letter-spacing:-0.7px;margin-bottom:4px}
.hero .tagline{color:var(--text-muted);font-size:1rem;margin-top:6px;font-style:italic}
.hero-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
.hero-badge{background:#fff;color:var(--primary);padding:7px 19px;border-radius:var(--radius-full);font-size:0.85rem;font-weight:600;letter-spacing:0.3px;box-shadow:var(--shadow-sm);border:1px solid var(--border);display:flex;align-items:center;gap:7px;}
.hero .location{color:var(--text-muted);font-size:0.95rem;margin-top:13px;display:flex;align-items:center;justify-content:center;gap:6px}
.hero .motto{color:var(--primary);font-size:1.05rem;margin-top:20px;font-weight:600;font-style:italic;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.5}
.divider-dots{display:flex;justify-content:center;gap:6px;margin-top:24px}
.divider-dots span{width:6px;height:6px;background:var(--primary-soft);border-radius:50%}

/* ============ COMMON SECTIONS ============ */
.section{max-width:1050px;margin:0 auto;padding:75px 28px; flex:1;}
.section-page-top {padding-top: 130px; min-height: 80vh;}
.section-header{text-align:center;margin-bottom:48px}
.section-label{font-size:0.75rem;text-transform:uppercase;letter-spacing:2.5px;color:var(--primary);font-weight:700;margin-bottom:8px}
.section-header h2{font-family:var(--font-serif);font-size:1.9rem;color:var(--text);position:relative;display:inline-block}
.section-header h2::after{content:'';position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);width:48px;height:3px;background:linear-gradient(90deg,var(--primary),#60a5fa);border-radius:3px}
.section-header p{color:var(--text-muted);margin-top:14px;font-size:0.95rem}

/* ============ ABOUT ============ */
.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:44px;align-items:start}
.about-text p{color:var(--text-secondary);margin-bottom:15px;font-size:0.97rem;line-height:1.75}
.about-text .hl{color:var(--primary);font-weight:600;background:linear-gradient(to bottom,transparent 60%,var(--primary-soft) 60%);padding:0 2px}
.info-card{background:var(--surface);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-md);border:1px solid var(--border);position:sticky;top:100px;}
.info-card .info-title{font-family:var(--font-serif);font-size:1rem;font-weight:700;color:var(--text);margin-bottom:18px;padding-bottom:13px;border-bottom:2px solid var(--primary-light);letter-spacing:0.3px}
.info-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--border-light);font-size:0.9rem;gap:12px}
.info-row:last-child{border-bottom:none}
.info-key{font-weight:600;color:var(--text);font-size:0.8rem;text-transform:uppercase;letter-spacing:0.8px;white-space:nowrap}
.info-val{color:var(--text-secondary);text-align:right;font-weight:500}

/* ============ GALLERY ============ */
.recent-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:700px;margin:0 auto;}
.recent-card{border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:var(--transition);aspect-ratio:1;background:#e2e8f0;position:relative;width:155px;display:none;}
.recent-card.visible{display:block}
.recent-card::after{content:'';position:absolute;inset:0;background:rgba(37,99,235,0.08);opacity:0;transition:opacity 0.3s}
.recent-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.recent-card:hover::after{opacity:1}
.recent-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}
.recent-card:hover img{transform:scale(1.06)}
.view-more-wrapper{text-align:center;margin-top:26px}
.btn-view-more{display:inline-flex;align-items:center;gap:10px;background:var(--primary);color:#fff;padding:13px 32px;border-radius:var(--radius-full);font-size:0.92rem;font-weight:700;letter-spacing:0.4px;transition:var(--transition);box-shadow:0 8px 25px rgba(37,99,235,0.25);}
.btn-view-more:hover{background:var(--primary-hover);transform:translateY(-3px);box-shadow:0 14px 34px rgba(37,99,235,0.35)}

.tab-bar{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.tab-btn{padding:11px 26px;background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-full);font-size:0.9rem;font-weight:600;border:2px solid var(--border);transition:var(--transition);display:flex;align-items:center;gap:8px;}
.tab-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}
.tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 6px 20px rgba(37,99,235,0.25)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.gallery-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:var(--transition);aspect-ratio:1;background:#fff;position:relative;border:1px solid var(--border);}
.gallery-card::after{content:'';position:absolute;inset:0;background:rgba(37,99,235,0.08);opacity:0;transition:opacity 0.3s;border-radius:var(--radius)}
.gallery-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl)}
.gallery-card:hover::after{opacity:1}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}
.gallery-card:hover img{transform:scale(1.06)}
.gallery-card.placeholder{cursor:default;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed var(--border);}
.gallery-card.placeholder:hover{transform:none;box-shadow:var(--shadow)}
.gallery-card.placeholder::after{display:none}
.placeholder-content{text-align:center;color:var(--text-muted);padding:20px}
.placeholder-content i{font-size:2rem;color:#cbd5e1;margin-bottom:8px;display:block}
.placeholder-content span{font-size:0.8rem;font-weight:500;letter-spacing:0.5px;text-transform:uppercase}
.gallery-panel{display:none}
.gallery-panel.active{display:grid}

/* ============ LIGHTBOX ============ */
.lightbox-overlay{position:fixed;inset:0;background:rgba(15,23,42,0.94);z-index:9999;display:none;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;}
.lightbox-overlay.active{display:flex}
.lightbox-overlay img{max-width:90vw;max-height:80vh;border-radius:18px;box-shadow:0 25px 70px rgba(0,0,0,0.55)}
.lightbox-close{position:absolute;top:30px;right:45px;font-size:2.5rem;color:#fff;cursor:pointer;transition:transform 0.2s;z-index:10001}
.lightbox-close:hover{transform:scale(1.15) rotate(90deg)}
.lightbox-caption{color:#cbd5e1;margin-top:15px;font-size:0.95rem;font-style:italic}

/* ============ INTERESTS ============ */
.tags-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.tag{background:#fff;color:var(--text-secondary);padding:12px 24px;border-radius:var(--radius-full);font-size:0.93rem;font-weight:500;transition:var(--transition);box-shadow:var(--shadow-xs);border:1px solid var(--border);display:flex;align-items:center;gap:8px;}
.tag i{transition:var(--transition);font-size:1rem}
.tag .icon-travel{color:#f59e0b} .tag .icon-books{color:#8b5cf6} .tag .icon-poetry{color:#ec4899}
.tag .icon-cooking{color:#ef4444} .tag .icon-chai{color:#a16207} .tag .icon-nature{color:#22c55e}
.tag .icon-mountain{color:#6b7280} .tag .icon-animal{color:#f97316} .tag .icon-music{color:#3b82f6}
.tag .icon-star{color:#6366f1} .tag .icon-happy{color:#f43f5e} .tag .icon-dreams{color:#0ea5e9}
.tag .icon-joys{color:#10b981} .tag .icon-flowers{color:#d946ef}
.tag:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-3px);box-shadow:0 10px 28px rgba(37,99,235,0.25)}
.tag:hover i{color:#fff!important}

/* ============ SOCIAL STRIP ============ */
.social-strip{text-align:center;padding:30px 24px 55px}
.social-strip .strip-label{font-size:0.8rem;text-transform:uppercase;letter-spacing:2.5px;color:var(--text-muted);font-weight:700;margin-bottom:22px;}
.social-icons{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.social-icon-link{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;transition:var(--transition);box-shadow:0 6px 18px rgba(0,0,0,0.1);position:relative;}
.social-icon-link:hover{transform:translateY(-5px);box-shadow:0 12px 28px rgba(0,0,0,0.18)}
.social-icon-link.email{background:#2563eb} .social-icon-link.facebook{background:#1877f2}
.social-icon-link.instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}
.social-icon-link.whatsapp{background:#25d366}
.social-icon-link::after{content:attr(data-tooltip);position:absolute;bottom:115%;left:50%;transform:translateX(-50%) translateY(4px);background:var(--text);color:#fff;padding:5px 13px;border-radius:var(--radius-xs);font-size:0.7rem;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:all 0.25s ease;}
.social-icon-link:hover::after{opacity:1;transform:translateX(-50%) translateY(0)}

/* ============ CONTACT & APP PAGE ============ */
.contact-page-wrapper{min-height:100vh;display:flex; flex-direction:column; align-items:center;justify-content:center;padding:120px 24px 70px;background:linear-gradient(180deg,#eff6ff 0%,#f8fafc 40%); gap:30px;}
.contact-card-pro{background:var(--surface);max-width:540px;width:100%;padding:40px 38px;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);text-align:center;border:1px solid var(--border);position:relative;}
.contact-card-pro::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:65px;height:4px;background:linear-gradient(90deg,var(--primary),#60a5fa);border-radius:0 0 4px 4px;}
.contact-icon-ring{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--primary-light),var(--primary-soft));display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 22px;box-shadow:0 8px 28px rgba(37,99,235,0.12);}
.contact-card-pro h2{font-family:var(--font-serif);font-size:1.8rem;color:var(--text);margin-bottom:4px}
.contact-card-pro .subtitle-text{color:var(--text-muted);margin-bottom:32px;font-size:0.93rem}
.email-showcase{background:#f0f7ff;border:2px dashed var(--primary-soft);border-radius:var(--radius);padding:26px 22px;margin-bottom:26px;}
.email-showcase .email-label{font-size:0.7rem;text-transform:uppercase;letter-spacing:2.5px;color:var(--primary);font-weight:700;margin-bottom:8px}
.email-showcase .email-value{font-size:1.15rem;font-weight:700;color:var(--text);word-break:break-all;margin-bottom:16px}
.btn-send-email{display:inline-block;background:var(--primary);color:#fff;padding:13px 34px;border-radius:var(--radius-full);font-weight:600;font-size:0.9rem;transition:var(--transition);letter-spacing:0.3px; text-decoration: none;}
.btn-send-email:hover{background:var(--primary-hover);box-shadow:0 10px 26px rgba(37,99,235,0.3)}
.social-pills-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px}
.social-pill{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius-full);font-weight:600;font-size:0.86rem;color:#fff;transition:var(--transition);box-shadow:0 4px 12px rgba(0,0,0,0.08); text-decoration: none;}
.social-pill:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,0.15)}
.social-pill.facebook{background:#1877f2}
.social-pill.instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}
.social-pill.whatsapp{background:#25d366}

/* ============ FOOTER ============ */
.footer{text-align:center;padding:26px 24px;color:var(--text-muted);font-size:0.82rem;border-top:1px solid var(--border);background:var(--surface); margin-top: auto;}
.footer .heart{color:#ef4444;animation:pulse 1.5s infinite;display:inline-block}
.footer .brand{color:var(--primary);font-weight:600}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}

/* ============ RESPONSIVE ============ */
@media(max-width:900px){
    .about-grid{grid-template-columns:1fr;gap:30px}
    .info-card{position:static}
    .recent-card{width:140px}
}
@media(max-width:640px){
    .nav-inner{flex-direction:column;gap:8px;padding:10px 16px}
    .nav-menu{gap:2px;justify-content:center}
    .nav-link{font-size:0.78rem;padding:6px 10px}
    .nav-contact-btn{padding:8px 18px!important;font-size:0.8rem;margin-left:4px}
    .hero{padding:115px 18px 50px}
    .hero h1{font-size:2rem}
    .hero-avatar{width:125px;height:125px}
    .hero-badges{gap:6px}
    .hero-badge{font-size:0.76rem;padding:5px 13px}
    .section{padding:50px 16px}
    .section-page-top {padding-top: 100px;}
    .section-header h2{font-size:1.5rem}
    .recent-card{width:130px}
    .recent-grid{gap:10px}
    .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
    .tab-btn{padding:8px 16px;font-size:0.8rem}
    .tags-cloud{gap:8px}
    .tag{font-size:0.82rem;padding:9px 16px}
    .contact-card-pro{padding:35px 20px}
    .contact-card-pro h2{font-size:1.5rem}
    .social-icon-link{width:46px;height:46px;font-size:1.1rem}
    .social-icons{gap:12px}
    .social-pill{padding:10px 18px;font-size:0.8rem}
}
