/*
Theme Name: Ganesh VV UX Consultant
Theme URI: https://ganeshvv.com/
Author: Ganesh Velayudhan
Description: A responsive, one-page portfolio theme for a senior UX designer and consultant. Built with Bootstrap 5 and custom CSS.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: ganeshvv-ux
*/
:root{--gv-navy:#0b2343;--gv-blue:#1877f2;--gv-ink:#122b4e;--gv-muted:#5b7190;--gv-pale:#f2f7fc;--gv-border:#dce6f1;--gv-white:#fff}
html{scroll-behavior:smooth;scroll-padding-top:85px}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--gv-ink);line-height:1.65;background:#fff}
a{color:var(--gv-blue);text-decoration:none}a:hover{color:var(--gv-navy)}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(220,230,241,.75)}
.brand{font-weight:850;font-size:1.8rem;letter-spacing:-.07em;color:var(--gv-navy)}.brand span{color:var(--gv-blue)}
.navbar .nav-link{font-weight:600;font-size:.93rem;color:var(--gv-ink);padding:.7rem .85rem!important}.navbar .nav-link:hover{color:var(--gv-blue)}
.btn-gv{display:inline-flex;align-items:center;gap:.6rem;border-radius:999px;padding:.8rem 1.25rem;font-weight:700;border:1px solid var(--gv-navy);background:var(--gv-navy);color:#fff;transition:.2s}
.btn-gv:hover{background:var(--gv-blue);border-color:var(--gv-blue);color:#fff;transform:translateY(-1px)}
.btn-gv-outline{background:transparent;color:var(--gv-navy);border-color:#a9bfd8}.btn-gv-outline:hover{color:#fff}
.hero{padding:4.4rem 0 4rem;background:radial-gradient(circle at 75% 25%,#edf4fb 0,transparent 32%),linear-gradient(120deg,#fff 0%,#f8fbff 100%);overflow:hidden}
.eyebrow{display:flex;align-items:center;gap:.7rem;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:var(--gv-blue);margin-bottom:1rem}.eyebrow:before{content:"";width:25px;height:1px;background:var(--gv-blue)}
.hero h1{font-size:clamp(2.55rem,4.4vw,4.5rem);line-height:1.06;letter-spacing:-.055em;font-weight:800;color:var(--gv-navy);max-width:690px;margin-bottom:1.3rem}.hero h1 .accent{color:var(--gv-blue)}
.hero-copy{font-size:1.08rem;color:var(--gv-muted);max-width:570px}
.hero-photo-wrap{position:relative;max-width:530px;margin-left:auto}
.hero-photo{width:100%;height:500px;object-fit:cover;object-position:center 25%;border-radius:28px;box-shadow:0 25px 65px rgba(12,39,73,.13)}
.signature{position:absolute;right:-16px;bottom:24px;background:#fff;padding:.65rem 1rem;border-radius:12px;box-shadow:0 8px 30px #0b23431a;color:var(--gv-navy);font-family:cursive;font-size:1.1rem;transform:rotate(-5deg)}
.hero-stats{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:2rem;color:var(--gv-muted);font-size:.85rem}.hero-stats strong{color:var(--gv-navy)}
.section{padding:5rem 0}.section-pale{background:var(--gv-pale)}
.section-title{font-size:clamp(2rem,3vw,3rem);font-weight:800;line-height:1.15;letter-spacing:-.045em;color:var(--gv-navy)}
.section-lead{color:var(--gv-muted);max-width:680px}
.about-copy{color:var(--gv-muted)}.service-card{height:100%;padding:1.5rem;border:1px solid #e6edf5;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(11,35,67,.035);transition:transform .2s,box-shadow .2s}
.service-card:hover,.project-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px rgba(11,35,67,.09)}
.service-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#eaf3ff;color:var(--gv-blue);font-size:1.25rem;margin-bottom:1rem}
.service-card h3{font-size:1.05rem;font-weight:800;color:var(--gv-navy)}.service-card p{font-size:.92rem;color:var(--gv-muted);margin-bottom:0}
.expertise-panel{height:100%;padding:2.4rem;border-radius:20px;background:var(--gv-navy);color:#fff}.expertise-panel .section-title{color:#fff}.expertise-panel p{color:#c3d1e4}
.skill-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.5rem}.skill-tags span{border:1px solid #ffffff40;border-radius:99px;padding:.35rem .75rem;font-size:.78rem;color:#e8f0fb}
.industry-list{list-style:none;padding:0;margin:0}.industry-list li{display:flex;justify-content:space-between;gap:1rem;padding:.78rem 0;border-bottom:1px solid var(--gv-border);color:var(--gv-muted)}.industry-list li strong{color:var(--gv-ink);font-weight:650}
.project-card{height:100%;border:1px solid var(--gv-border);border-radius:16px;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s}.project-visual{height:175px;display:grid;place-items:center;background:linear-gradient(135deg,#dfeafa,#f5f8fc);padding:1rem}.dashboard{width:92%;height:125px;border-radius:9px;background:#fff;box-shadow:0 8px 20px #0b23431c;padding:12px;display:flex;gap:9px}.dashboard-side{width:24%;border-radius:4px;background:var(--gv-navy)}.dashboard-main{flex:1}.dash-line{height:7px;background:#dce8f8;border-radius:3px;margin:6px 0;width:80%}.dash-line.short{width:45%}.dash-chart{height:48px;margin-top:12px;border-bottom:2px solid #b4d4ff;background:linear-gradient(165deg,transparent 44%,#4d91ee 45%,#4d91ee 48%,transparent 49%)}.project-content{padding:1.25rem}.project-category{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--gv-blue)}.project-content h3{font-size:1.1rem;font-weight:800;color:var(--gv-navy)}.project-content p{font-size:.9rem;color:var(--gv-muted)}
.quote-card{background:#f3f7fc;border-radius:16px;padding:2rem;color:var(--gv-muted)}.quote-mark{font-size:2.5rem;color:var(--gv-blue);line-height:1}
.cta-section{background:linear-gradient(120deg,#0b2343,#143b68);color:#fff;padding:4rem 0}.cta-section h2{font-weight:800;letter-spacing:-.04em;font-size:clamp(2rem,3vw,3rem)}.cta-section p{color:#c9d7e8}
.site-footer{background:#071a32;color:#dce7f5;padding:2rem 0}.site-footer a{color:#dce7f5}.site-footer a:hover{color:#fff}.footer-brand{font-size:1.4rem;font-weight:850;letter-spacing:-.06em;color:#fff}
.contact-list{list-style:none;padding:0;margin:0}.contact-list li{margin:.65rem 0}.contact-list a{color:#e4edf8}
@media(max-width:991.98px){.hero{padding:3.2rem 0}.hero-photo{height:420px}.hero-photo-wrap{margin:2rem auto 0}.section{padding:3.8rem 0}.signature{right:10px}}
@media(max-width:575.98px){.hero h1{font-size:2.6rem}.hero-photo{height:360px;border-radius:20px}.hero-stats{gap:.75rem}.hero-stats span{width:45%}.section{padding:3rem 0}.expertise-panel{padding:1.5rem}}
