/*
Theme Name: Dr. Suresh D.S. — Blue Prestige
Theme URI: https://www.cittumkur.org
Author: Dr. Suresh D.S.
Author URI: https://www.cittumkur.org
Description: Official executive portfolio theme for Dr. Suresh D.S., Director & Principal, Channabasaveshwara Institute of Technology, Gubbi. Blue Prestige design system.
Version: 1.0
License: Private
Text Domain: drsuresh
*/

/* ============================================================
   DR. SURESH D.S. — EXECUTIVE PORTFOLIO
   Design System v4 — Blue Prestige Theme
   Palette: #001B48 / #02457A / #018ABE / #97CADB / #D6E8EE
============================================================ */

:root {
  --navy:       #001B48;
  --blue-mid:   #02457A;
  --blue:       #018ABE;
  --blue-light: #97CADB;
  --blue-pale:  #D6E8EE;
  --bg:         #F5FAFB;
  --bg2:        #EBF4F8;
  --bg3:        #D6E8EE;
  --surface:    rgba(1,138,190,0.06);
  --surface2:   rgba(1,138,190,0.10);
  --border:     rgba(2,69,122,0.12);
  --border2:    rgba(2,69,122,0.20);
  --txt:        #001B48;
  --txt2:       rgba(0,27,72,0.65);
  --txt3:       rgba(0,27,72,0.38);
  --gold:       #018ABE;
  --gold2:      #0fa8e8;
  --gold3:      rgba(1,138,190,0.12);
  --ff-display: 'Syne', sans-serif;
  --ff-serif:   'DM Serif Display', serif;
  --ff-body:    'DM Sans', sans-serif;
  --ease:      cubic-bezier(0.25,0.46,0.45,0.94);
  --ease-out:  cubic-bezier(0,0,0.2,1);
  --spring:    cubic-bezier(0.34,1.56,0.64,1);
  --nav-h: 74px;
  --max:   1240px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }
body {
  font-family: var(--ff-body);
  background: var(--bg);
  color: var(--txt);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--bg2); }
::-webkit-scrollbar-thumb { background: var(--blue); border-radius: 4px; }

/* CURSOR */
.cursor-dot  { width:8px; height:8px; border-radius:50%; background:var(--blue); position:fixed; top:0; left:0; pointer-events:none; z-index:9999; transition:transform .1s var(--ease); }
.cursor-ring { width:36px; height:36px; border-radius:50%; border:1.5px solid rgba(1,138,190,0.45); position:fixed; top:0; left:0; pointer-events:none; z-index:9998; transition:transform .18s var(--ease); }

/* NOISE */
body::before { content:''; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.018; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* ---- NAVBAR ---- */
.navbar { position:fixed; top:0; left:0; right:0; z-index:1000; height:var(--nav-h); display:flex; align-items:center; padding:0 48px; transition:all .4s var(--ease); }
.navbar.scrolled { background:rgba(245,250,251,0.95); backdrop-filter:blur(20px); border-bottom:1px solid var(--border); box-shadow:0 2px 24px rgba(0,27,72,0.07); }
.nav-inner { max-width:var(--max); width:100%; margin:0 auto; display:flex; align-items:center; justify-content:space-between; }
.nav-logo { display:flex; flex-direction:column; gap:1px; }
.nav-logo-name { font-family:var(--ff-display); font-size:1rem; font-weight:700; color:var(--navy); letter-spacing:-.01em; }
.nav-logo-title { font-size:.65rem; font-weight:400; color:var(--blue); letter-spacing:.16em; text-transform:uppercase; }
.nav-links { display:flex; align-items:center; gap:2px; }
.nav-links a { font-size:.78rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:var(--txt2); padding:8px 16px; border-radius:40px; transition:all .3s var(--ease); }
.nav-links a:hover { color:var(--txt); background:var(--surface); }
.nav-links a.active { background:var(--surface2); color:var(--blue); }
.nav-cta { font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:10px 22px; background:var(--navy); color:#fff; border-radius:40px; transition:all .3s var(--spring); }
.nav-cta:hover { background:var(--blue); transform:scale(1.04); }
.nav-hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; }
.nav-hamburger span { width:22px; height:1.5px; background:var(--txt); border-radius:2px; transition:all .3s; display:block; }
.nav-mobile { display:none; position:fixed; inset:0; background:var(--bg); z-index:999; flex-direction:column; align-items:center; justify-content:center; gap:8px; }
.nav-mobile.open { display:flex; }
.nav-mobile a { font-family:var(--ff-display); font-size:1.6rem; font-weight:700; color:var(--txt2); padding:12px 24px; transition:color .3s; }
.nav-mobile a:hover { color:var(--blue); }

/* ---- LAYOUT ---- */
.container { max-width:var(--max); margin:0 auto; padding:0 48px; }
.eyebrow { display:inline-flex; align-items:center; gap:12px; font-size:.7rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--blue); margin-bottom:20px; }
.eyebrow::before { content:''; display:block; width:28px; height:1px; background:var(--blue); }
.h2 { font-family:var(--ff-display); font-size:clamp(2rem,4vw,3.8rem); font-weight:700; line-height:1; letter-spacing:-.03em; color:var(--txt); }
.body-lg { font-size:1.05rem; color:var(--txt2); line-height:1.75; font-weight:300; }
.body-sm { font-size:.87rem; color:var(--txt2); line-height:1.7; }
.italic-serif { font-family:var(--ff-serif); font-style:italic; color:var(--blue); }
.gold-line { width:48px; height:2px; background:linear-gradient(90deg,var(--blue),transparent); margin:20px 0 32px; }

/* BUTTONS */
.btn { display:inline-flex; align-items:center; gap:10px; padding:14px 32px; border-radius:40px; font-family:var(--ff-body); font-size:.82rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; border:none; transition:all .3s var(--spring); }
.btn-blue { background:var(--blue); color:#fff; }
.btn-blue:hover { background:var(--gold2); transform:translateY(-2px) scale(1.02); box-shadow:0 12px 32px rgba(1,138,190,0.30); }
.btn-navy { background:var(--navy); color:#fff; }
.btn-navy:hover { background:var(--blue-mid); transform:translateY(-2px) scale(1.02); }
.btn-ghost { background:transparent; color:var(--txt); border:1px solid var(--border2); }
.btn-ghost:hover { background:var(--surface2); border-color:var(--blue); color:var(--blue); }

/* GLASS */
.glass { background:rgba(255,255,255,0.72); border:1px solid var(--border); border-radius:16px; backdrop-filter:blur(12px); transition:all .4s var(--ease); }
.glass:hover { background:rgba(255,255,255,0.92); border-color:rgba(1,138,190,0.22); transform:translateY(-4px); box-shadow:0 24px 60px rgba(0,27,72,0.09); }

/* STATS */
.stat-box { text-align:center; }
.stat-num { font-family:var(--ff-display); font-size:clamp(2.5rem,4vw,4rem); font-weight:800; letter-spacing:-.04em; color:var(--txt); line-height:1; }
.stat-num sup { font-size:.45em; color:var(--blue); }
.stat-lbl { font-size:.72rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--txt3); margin-top:6px; }

/* TAGS */
.tag { display:inline-block; padding:4px 12px; border-radius:20px; font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.tag-blue { background:var(--gold3); color:var(--blue); border:1px solid rgba(1,138,190,0.22); }
.tag-dim  { background:var(--surface); color:var(--txt3); border:1px solid var(--border); }

/* REVEAL */
.reveal      { opacity:0; transform:translateY(40px);  transition:opacity .8s var(--ease-out),transform .8s var(--ease-out); }
.reveal.visible { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
.reveal-delay-4 { transition-delay:.4s; }
.reveal-left    { opacity:0; transform:translateX(-50px); transition:opacity .9s var(--ease-out),transform .9s var(--ease-out); }
.reveal-left.visible { opacity:1; transform:none; }
.reveal-right   { opacity:0; transform:translateX(50px);  transition:opacity .9s var(--ease-out),transform .9s var(--ease-out); }
.reveal-right.visible { opacity:1; transform:none; }

/* MARQUEE */
.marquee-section { border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:18px 0; overflow:hidden; background:var(--bg2); }
.marquee-track { display:flex; animation:marquee 30s linear infinite; width:max-content; }
.marquee-item { display:flex; align-items:center; gap:16px; padding:0 36px; white-space:nowrap; font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--txt3); }
.marquee-item::before { content:'✦'; color:var(--blue); font-size:.6rem; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* CTA BAND */
.cta-band { padding:80px 0; background:linear-gradient(135deg,var(--navy) 0%,var(--blue-mid) 100%); position:relative; overflow:hidden; }
.cta-band::before { content:'CONNECT'; font-family:var(--ff-display); font-size:12rem; font-weight:800; color:rgba(255,255,255,0.04); letter-spacing:-.05em; position:absolute; right:-40px; top:50%; transform:translateY(-50%); white-space:nowrap; pointer-events:none; }
.cta-glow { position:absolute; bottom:-80px; left:-80px; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle,rgba(1,138,190,0.25) 0%,transparent 70%); pointer-events:none; }
.cta-band-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; position:relative; z-index:1; }
.cta-band-title { font-family:var(--ff-display); font-size:clamp(1.8rem,3.5vw,3rem); font-weight:800; color:#fff; line-height:1; letter-spacing:-.03em; }
.btn-cta-light { background:var(--bg); color:var(--navy); padding:16px 36px; border-radius:40px; font-size:.82rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; transition:all .3s var(--spring); flex-shrink:0; }
.btn-cta-light:hover { background:var(--blue-pale); transform:translateY(-2px); }
.btn-cta-outline { background:transparent; color:var(--blue-light); border:1px solid rgba(151,202,219,0.4); padding:16px 36px; border-radius:40px; font-size:.82rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; transition:all .3s var(--spring); flex-shrink:0; }
.btn-cta-outline:hover { background:rgba(1,138,190,0.15); }

/* FOOTER */
footer { background:var(--navy); padding:72px 48px 40px; }
.footer-inner { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,0.08); }
.footer-brand-name  { font-family:var(--ff-display); font-size:1.3rem; font-weight:800; color:#fff; margin-bottom:6px; }
.footer-brand-title { font-size:.72rem; color:var(--blue-light); letter-spacing:.14em; text-transform:uppercase; margin-bottom:16px; }
.footer-brand p     { font-size:.84rem; color:rgba(255,255,255,0.35); line-height:1.7; max-width:280px; }
.footer-col h5 { font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,0.28); margin-bottom:18px; }
.footer-col ul { display:flex; flex-direction:column; gap:10px; }
.footer-col ul a { font-size:.84rem; color:rgba(255,255,255,0.50); transition:color .3s; }
.footer-col ul a:hover { color:var(--blue-light); }
.footer-bottom { max-width:var(--max); margin:32px auto 0; display:flex; justify-content:space-between; align-items:center; font-size:.75rem; color:rgba(255,255,255,0.25); }
.footer-bottom a { color:var(--blue-light); }

/* RESPONSIVE */
@media (max-width:1024px) {
  .hero-inner { grid-template-columns:1fr; gap:60px; }
  .hero-photo-side { max-width:380px; margin:0 auto; }
  .hero-stats-row { grid-template-columns:repeat(2,1fr); }
  .about-strip-grid { grid-template-columns:1fr; gap:60px; }
  .footer-inner { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
  .container { padding:0 32px; }
  .navbar { padding:0 32px; }
}
@media (max-width:768px) {
  .nav-links,.nav-cta { display:none; }
  .nav-hamburger { display:flex; }
  .container { padding:0 24px; }
  .navbar { padding:0 24px; }
  footer { padding:56px 24px 32px; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:32px; }
  .highlights-grid { grid-template-columns:1fr; }
  .awards-teaser-grid { grid-template-columns:1fr; gap:48px; }
  .expertise-grid { grid-template-columns:1fr; }
  .cta-band-inner { flex-direction:column; text-align:center; }
  .hero-inner { padding:100px 24px 60px; }
  .hero-name { font-size:clamp(2rem,9vw,3.2rem); white-space:normal; }
}
@media (max-width:480px) {
  .footer-inner { grid-template-columns:1fr; }
}
