/* ============================================
   MAHBUB ALAM — Premium Personal Brand Website
   ============================================ */

:root{
  --bg-primary:#0a0d12;
  --bg-secondary:#12161f;
  --bg-elevated:#161b26;
  --text-primary:#f5f3ec;
  --text-secondary:#9aa3b2;
  --gold:#c9a227;
  --gold-light:#e8c766;
  --green:#1f6d4c;
  --green-soft:#2a8a63;
  --navy:#0d1b2e;
  --glass:rgba(255,255,255,0.045);
  --glass-strong:rgba(255,255,255,0.08);
  --border:rgba(201,162,39,0.18);
  --border-soft:rgba(255,255,255,0.08);
  --shadow:0 30px 80px rgba(0,0,0,0.45);
  --font-display:'Playfair Display', serif;
  --font-body:'Manrope', sans-serif;
  --ease:cubic-bezier(.16,.84,.44,1);
  color-scheme: dark;
}

[data-theme="light"]{
  --bg-primary:#faf7f0;
  --bg-secondary:#ffffff;
  --bg-elevated:#f2ede1;
  --text-primary:#14181f;
  --text-secondary:#5a6270;
  --gold:#a9821c;
  --gold-light:#8a6a15;
  --green:#1f6d4c;
  --green-soft:#186b46;
  --navy:#0d1b2e;
  --glass:rgba(13,27,46,0.035);
  --glass-strong:rgba(13,27,46,0.06);
  --border:rgba(169,130,28,0.25);
  --border-soft:rgba(13,27,46,0.08);
  --shadow:0 30px 80px rgba(20,24,31,0.12);
  color-scheme: light;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;}

body{
  background:var(--bg-primary);
  color:var(--text-primary);
  font-family:var(--font-body);
  line-height:1.6;
  transition:background .5s var(--ease), color .5s var(--ease);
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
ul{list-style:none;}

.container{max-width:1280px;margin:0 auto;padding:0 32px;}

.skip-link{
  position:absolute;left:-999px;top:0;background:var(--gold);color:#0a0d12;
  padding:12px 20px;z-index:2000;font-weight:700;
}
.skip-link:focus{left:12px;top:12px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
}

/* ===== LOADER ===== */
#loader{
  position:fixed;inset:0;z-index:9999;background:#0a0d12;
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  transition:opacity .8s var(--ease), visibility .8s var(--ease);
}
#loader.hidden{opacity:0;visibility:hidden;pointer-events:none;}
.loader-inner{text-align:center;}
.loader-name{
  display:block;font-family:var(--font-display);font-weight:700;
  font-size:clamp(28px,5vw,48px);letter-spacing:0.12em;color:#f5f3ec;
  opacity:0;animation:loaderFade .8s var(--ease) forwards .1s;
}
.loader-tag{
  display:block;margin-top:10px;font-size:12px;letter-spacing:0.25em;text-transform:uppercase;
  color:var(--gold-light);opacity:0;animation:loaderFade .8s var(--ease) forwards .35s;
}
.loader-line{width:180px;height:1px;background:rgba(255,255,255,0.15);margin:28px auto 0;overflow:hidden;}
.loader-line span{display:block;height:100%;width:0;background:var(--gold);animation:loaderLine 1.1s var(--ease) forwards .5s;}
@keyframes loaderFade{to{opacity:1;transform:translateY(0);}from{opacity:0;transform:translateY(8px);}}
@keyframes loaderLine{to{width:100%;}}

/* ===== CURSOR ===== */
.cursor-dot,.cursor-ring{
  position:fixed;top:0;left:0;pointer-events:none;z-index:9998;
  transform:translate(-50%,-50%);border-radius:50%;
}
.cursor-dot{width:6px;height:6px;background:var(--gold);}
.cursor-ring{
  width:38px;height:38px;border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
  transition:width .25s var(--ease),height .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease);
}
.cursor-ring #cursorLabel{
  font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-light);opacity:0;transition:opacity .2s;
}
.cursor-ring.grow{width:80px;height:80px;background:rgba(201,162,39,0.08);}
.cursor-ring.grow #cursorLabel{opacity:1;}
@media (hover:none), (pointer:coarse){
  .cursor-dot,.cursor-ring{display:none;}
}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:16px 34px;border-radius:2px;font-size:13px;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;transition:all .35s var(--ease);
  cursor:pointer;
}
.btn-gold{background:var(--gold);color:#0a0d12;}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px);}
.btn-outline{border:1px solid var(--border-soft);color:var(--text-primary);}
.btn-outline:hover{border-color:var(--gold);color:var(--gold-light);transform:translateY(-2px);}

/* ===== NAVIGATION ===== */
.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  padding:26px 0;transition:all .4s var(--ease);
}
.site-nav.scrolled{
  padding:14px 0;background:color-mix(in srgb, var(--bg-primary) 78%, transparent);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border-soft);
}
.nav-inner{
  max-width:1280px;margin:0 auto;padding:0 32px;
  display:flex;align-items:center;justify-content:space-between;
}
.nav-logo{
  font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:0.08em;color:var(--text-primary);
}
.nav-logo span{color:var(--gold);}
.nav-menu{display:flex;gap:38px;}
.nav-menu a{
  font-size:13px;font-weight:600;letter-spacing:0.05em;color:var(--text-secondary);
  position:relative;transition:color .3s;
}
.nav-menu a::after{
  content:'';position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);transition:width .3s var(--ease);
}
.nav-menu a:hover{color:var(--text-primary);}
.nav-menu a:hover::after{width:100%;}
.nav-actions{display:flex;align-items:center;gap:18px;}
.theme-toggle{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--border-soft);
  display:flex;align-items:center;justify-content:center;position:relative;color:var(--text-primary);
}
.theme-toggle i{position:absolute;transition:opacity .3s,transform .3s;font-size:14px;}
.theme-toggle .fa-sun{opacity:0;transform:rotate(-90deg);}
.theme-toggle .fa-moon{opacity:1;transform:rotate(0);}
[data-theme="light"] .theme-toggle .fa-sun{opacity:1;transform:rotate(0);}
[data-theme="light"] .theme-toggle .fa-moon{opacity:0;transform:rotate(90deg);}
.nav-contact{padding:11px 24px;font-size:11px;}
.mobile-toggle{
  display:none;width:38px;height:38px;flex-direction:column;justify-content:center;gap:5px;
}
.mobile-toggle span{width:100%;height:1px;background:var(--text-primary);transition:all .3s var(--ease);}
.mobile-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.mobile-toggle.open span:nth-child(2){opacity:0;}
.mobile-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.mobile-menu{
  position:fixed;inset:0;z-index:850;background:var(--bg-primary);
  display:flex;flex-direction:column;justify-content:center;padding:32px;
  transform:translateY(-100%);transition:transform .5s var(--ease);
}
.mobile-menu.open{transform:translateY(0);}
.mobile-menu nav{display:flex;flex-direction:column;gap:8px;}
.mobile-menu nav a{
  font-family:var(--font-display);font-size:clamp(28px,9vw,44px);font-weight:600;padding:10px 0;
  border-bottom:1px solid var(--border-soft);opacity:0;transform:translateY(20px);
  transition:opacity .5s var(--ease),transform .5s var(--ease);
}
.mobile-menu.open nav a{opacity:1;transform:translateY(0);}
.mobile-menu.open nav a:nth-child(1){transition-delay:.08s;}
.mobile-menu.open nav a:nth-child(2){transition-delay:.14s;}
.mobile-menu.open nav a:nth-child(3){transition-delay:.2s;}
.mobile-menu.open nav a:nth-child(4){transition-delay:.26s;}
.mobile-menu.open nav a:nth-child(5){transition-delay:.32s;}
.mobile-menu.open nav a:nth-child(6){transition-delay:.38s;}
.mobile-menu.open nav a:nth-child(7){transition-delay:.44s;}
.mobile-cta{margin-top:32px;align-self:flex-start;}

/* ===== HERO ===== */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  overflow:hidden;padding-top:110px;
}
#heroCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:0.85;}
.hero-vignette{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(circle at 30% 40%, transparent 0%, var(--bg-primary) 78%),
             linear-gradient(180deg, transparent 0%, var(--bg-primary) 96%);
}
.hero-inner{
  position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:0 32px;
  display:grid;grid-template-columns:1.15fr 0.85fr;gap:60px;align-items:center;width:100%;
}
.eyebrow{
  font-size:12px;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold-light);
  margin-bottom:22px;font-weight:600;
}
.hero-title{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(42px,7vw,86px);line-height:0.98;letter-spacing:-0.01em;
  margin-bottom:20px;
}
.hero-role{
  font-size:clamp(16px,2vw,20px);color:var(--gold-light);font-weight:600;
  margin-bottom:22px;letter-spacing:0.01em;
}
.hero-desc{
  max-width:520px;color:var(--text-secondary);font-size:16px;margin-bottom:36px;
}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap;}

.hero-portrait{position:relative;display:flex;align-items:center;justify-content:center;}
.portrait-frame{
  position:relative;width:min(400px,80vw);aspect-ratio:3/4;border-radius:4px;overflow:hidden;
  border:1px solid var(--border);box-shadow:var(--shadow);
  transform-style:preserve-3d;
}
.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.portrait-glass{
  position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,0.08), transparent 40%, rgba(0,0,0,0.15));
  pointer-events:none;
}
.portrait-ring{
  position:absolute;width:min(460px,88vw);aspect-ratio:1/1;border:1px solid rgba(201,162,39,0.3);
  border-radius:50%;animation:ringSpin 30s linear infinite;
}
.portrait-ring::before{
  content:'';position:absolute;top:-2px;left:50%;width:6px;height:6px;background:var(--gold);border-radius:50%;
}
@keyframes ringSpin{to{transform:rotate(360deg);}}
.portrait-particles{position:absolute;inset:-40px;pointer-events:none;}

.scroll-cue{
  position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-secondary);
}
.scroll-cue span{
  width:1px;height:34px;background:linear-gradient(var(--gold),transparent);
  animation:scrollCue 1.8s ease-in-out infinite;
}
@keyframes scrollCue{0%{opacity:0;transform:scaleY(0.3);transform-origin:top;}50%{opacity:1;transform:scaleY(1);}100%{opacity:0;transform:scaleY(0.3);transform-origin:bottom;}}

/* ===== SECTIONS GENERAL ===== */
.section{position:relative;padding:130px 0;}
.section-eyebrow{
  font-size:12px;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold-light);
  font-weight:600;margin-bottom:18px;
}
.section-title{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(32px,5.4vw,64px);line-height:1.04;margin-bottom:56px;letter-spacing:-0.01em;
}

[data-reveal]{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease), transform .9s var(--ease);}
[data-reveal].in-view{opacity:1;transform:translateY(0);}

/* ===== ABOUT ===== */
.about-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:44px;}
.about-block{
  padding-top:22px;border-top:1px solid var(--border-soft);position:relative;
}
.about-num{
  font-family:var(--font-display);font-size:13px;color:var(--gold);letter-spacing:0.1em;display:block;margin-bottom:14px;
}
.about-block p{font-size:19px;line-height:1.55;color:var(--text-primary);}
.about-block strong{color:var(--gold-light);font-weight:700;}

/* ===== STAT HERO ===== */
.stat-hero{background:var(--bg-secondary);}
.stat-hero-inner{text-align:center;}
.stat-number{font-family:var(--font-display);font-weight:800;font-size:clamp(90px,18vw,220px);line-height:1;color:var(--gold);}
.stat-number .plus{font-size:0.4em;vertical-align:top;position:relative;top:0.15em;}
.stat-label{font-size:clamp(18px,2.4vw,26px);letter-spacing:0.06em;margin-top:8px;text-transform:uppercase;}
.stat-sub{color:var(--text-secondary);margin-top:18px;font-size:14px;letter-spacing:0.04em;}

/* ===== EXPERTISE ===== */
.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border-soft);}
.exp-card{
  background:var(--bg-primary);padding:44px 34px;transition:transform .1s linear, background .3s;
}
.exp-card i{font-size:28px;color:var(--gold);margin-bottom:20px;display:block;}
.exp-card h3{font-family:var(--font-display);font-size:22px;margin-bottom:10px;}
.exp-card p{color:var(--text-secondary);font-size:14.5px;}
.exp-card:hover{background:var(--glass-strong);}

/* ===== BRIDGE (BD x MY) ===== */
.bridge-visual{
  position:relative;height:340px;border-radius:6px;overflow:hidden;
  border:1px solid var(--border-soft);background:var(--bg-secondary);margin-bottom:36px;
}
#bridgeCanvas{width:100%;height:100%;}
.bridge-label{
  position:absolute;top:50%;transform:translateY(-50%);
  font-family:var(--font-display);font-weight:700;font-size:clamp(16px,2.4vw,26px);
  letter-spacing:0.04em;color:var(--text-primary);
}
.bridge-label-left{left:5%;}
.bridge-label-right{right:5%;}
.bridge-tags{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:70px;}
.bridge-tags span{
  padding:9px 20px;border:1px solid var(--border-soft);border-radius:30px;font-size:13px;color:var(--text-secondary);
}
.bridge-feature h3{font-family:var(--font-display);font-size:clamp(22px,3vw,32px);margin-bottom:16px;}
.bridge-feature p{color:var(--text-secondary);max-width:680px;font-size:16px;margin-bottom:36px;}
.bridge-cards{display:flex;flex-wrap:wrap;gap:16px;}
.bridge-card{
  flex:1 1 160px;padding:26px 20px;border:1px solid var(--border-soft);border-radius:4px;
  text-align:center;transition:border-color .3s, transform .3s;
}
.bridge-card:hover{border-color:var(--gold);transform:translateY(-4px);}
.bridge-card i{font-size:22px;color:var(--gold);display:block;margin-bottom:12px;}
.bridge-card span{font-size:13px;letter-spacing:0.04em;text-transform:uppercase;font-weight:600;}

/* ===== GLOBAL REACH ===== */
.global-reach{background:var(--navy);color:#f5f3ec;text-align:center;}
[data-theme="light"] .global-reach{color:#f5f3ec;}
.global-reach .section-eyebrow{color:var(--gold-light);}
.global-reach .section-title{max-width:760px;margin-left:auto;margin-right:auto;}
.global-stat{font-family:var(--font-display);}
.global-stat .counter,.global-stat .plus{font-size:clamp(70px,14vw,150px);font-weight:800;color:var(--gold);}
.global-stat p{font-size:16px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(245,243,236,0.7);margin-top:6px;}

/* ===== COMMERCE ===== */
.commerce-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.commerce-card{
  padding:40px 28px;border:1px solid var(--border-soft);border-radius:6px;
  transition:transform .1s linear, border-color .3s, background .3s;
}
.commerce-card:hover{border-color:var(--gold);background:var(--glass);}
.commerce-card i{font-size:26px;color:var(--gold);margin-bottom:18px;display:block;}
.commerce-card h3{font-family:var(--font-display);font-size:19px;}

/* ===== TIMELINE ===== */
.timeline{position:relative;max-width:920px;}
.timeline::before{
  content:'';position:absolute;left:34px;top:10px;bottom:10px;width:1px;
  background:linear-gradient(var(--gold), transparent);
}
.timeline-item{display:flex;gap:34px;padding-bottom:56px;position:relative;}
.timeline-item:last-child{padding-bottom:0;}
.tl-num{
  font-family:var(--font-display);font-size:14px;color:var(--gold);
  width:68px;flex-shrink:0;padding-top:4px;position:relative;z-index:1;
}
.tl-num::after{
  content:'';position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:50%;
  background:var(--bg-primary);border:2px solid var(--gold);margin-left:24px;
}
.tl-content i{font-size:18px;color:var(--gold);margin-bottom:10px;display:block;}
.tl-content h3{font-family:var(--font-display);font-size:24px;margin-bottom:4px;}
.tl-org{color:var(--gold-light);font-size:14px;font-weight:600;margin-bottom:10px;}
.tl-content p:not(.tl-org){color:var(--text-secondary);font-size:15px;max-width:560px;}

/* ===== PUBLIC LEADERSHIP ===== */
.public-leadership{background:var(--bg-secondary);}
.pl-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:start;}
.pl-text p{font-size:18px;color:var(--text-primary);margin-bottom:20px;line-height:1.6;}
.pl-text strong{color:var(--gold-light);}
.pl-tags{display:flex;flex-direction:column;gap:14px;}
.pl-tags span{
  display:flex;align-items:center;gap:14px;padding:16px 22px;border:1px solid var(--border-soft);
  border-radius:4px;font-size:14px;font-weight:600;
}
.pl-tags i{color:var(--gold);width:18px;}

/* ===== COMMUNITY ===== */
.community-desc{max-width:640px;color:var(--text-secondary);font-size:17px;margin-bottom:50px;}
.community-visual{
  position:relative;height:460px;border-radius:6px;border:1px solid var(--border-soft);
  background:var(--bg-secondary);overflow:hidden;
}
#communityCanvas{width:100%;height:100%;}
.community-center{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--gold);
  padding:14px 22px;border:1px solid var(--gold);border-radius:30px;background:var(--bg-primary);
  letter-spacing:0.05em;z-index:2;
}
.community-node{
  position:absolute;top:var(--y);left:var(--x);transform:translate(-50%,-50%);
  font-size:12px;color:var(--text-secondary);background:var(--bg-primary);
  padding:8px 14px;border:1px solid var(--border-soft);border-radius:20px;z-index:2;white-space:nowrap;
}

/* ===== EDUCATION ===== */
.edu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.edu-card{padding:40px 30px;border:1px solid var(--border-soft);border-radius:6px;}
.edu-card i{font-size:26px;color:var(--gold);margin-bottom:18px;display:block;}
.edu-card h3{font-family:var(--font-display);font-size:20px;margin-bottom:8px;}
.edu-card p{color:var(--text-secondary);font-size:14px;}

/* ===== LANGUAGES ===== */
.languages{text-align:center;}
.lang-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 30px;}
.lang-row span{
  font-family:var(--font-display);font-size:clamp(20px,3vw,32px);color:var(--text-secondary);
  transition:color .3s, transform .3s;
}
.lang-row span:hover{color:var(--gold);transform:translateY(-4px);}

/* ===== GALLERY ===== */
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px;}
.gallery-filters button{
  padding:10px 20px;border:1px solid var(--border-soft);border-radius:30px;font-size:13px;
  color:var(--text-secondary);transition:all .3s;
}
.gallery-filters button.active,.gallery-filters button:hover{border-color:var(--gold);color:var(--gold-light);}
.gallery-grid{
  columns:3 280px;column-gap:16px;
}
.gallery-item{
  display:block;width:100%;margin-bottom:16px;break-inside:avoid;position:relative;
  border-radius:6px;overflow:hidden;border:1px solid var(--border-soft);
}
.gallery-item img{width:100%;display:block;transition:transform .6s var(--ease);}
.gallery-item:hover img{transform:scale(1.06);}
.gi-tag{
  position:absolute;bottom:12px;left:12px;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;
  background:rgba(10,13,18,0.7);color:#fff;padding:6px 12px;border-radius:20px;
}
.gallery-item.hide{display:none;}

/* ===== FEATURED STORY ===== */
.featured-story{position:relative;min-height:70vh;display:flex;align-items:center;padding:0;overflow:hidden;}
.fs-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.fs-overlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(10,13,18,0.92) 20%, rgba(10,13,18,0.55) 100%);}
.fs-content{position:relative;z-index:1;color:#f5f3ec;}
.fs-content h2{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,5vw,58px);line-height:1.08;margin-bottom:20px;}
.fs-content p{font-size:18px;color:rgba(245,243,236,0.75);margin-bottom:30px;}

/* ===== MEDIA ===== */
.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.media-card{border:1px solid var(--border-soft);border-radius:6px;overflow:hidden;}
.media-img{height:200px;background-size:cover;background-position:center;}
.media-card span.media-cat{
  display:inline-block;margin:20px 0 0 24px;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-light);
}
.media-card h3{font-family:var(--font-display);font-size:19px;margin:8px 24px 6px;}
.media-placeholder{margin:0 24px 24px;color:var(--text-secondary);font-size:13px;}

/* ===== SOCIAL ===== */
.social-inner{text-align:center;}
.social-links{display:flex;justify-content:center;gap:20px;}
.social-links a{
  display:flex;align-items:center;gap:10px;padding:14px 26px;border:1px solid var(--border-soft);
  border-radius:30px;font-size:14px;font-weight:600;transition:all .3s;
}
.social-links a:hover{border-color:var(--gold);color:var(--gold-light);}

/* ===== BRAND STATEMENT ===== */
.brand-statement{padding:100px 0;text-align:center;}
.brand-statement p{
  font-family:var(--font-display);font-style:italic;font-weight:500;
  font-size:clamp(22px,3.6vw,40px);max-width:900px;margin:0 auto;color:var(--gold-light);line-height:1.3;
}

/* ===== CONTACT ===== */
.contact{position:relative;background:var(--navy);color:#f5f3ec;overflow:hidden;}
[data-theme="light"] .contact{color:#f5f3ec;}
#contactCanvas{position:absolute;inset:0;width:100%;height:100%;opacity:0.5;}
.contact .section-eyebrow{color:var(--gold-light);}
.contact-inner{position:relative;z-index:1;}
.contact-sub{color:rgba(245,243,236,0.65);font-size:17px;margin-top:-30px;margin-bottom:56px;max-width:560px;}
.contact-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:60px;}
.contact-info{display:flex;flex-direction:column;gap:22px;}
.ci-item{display:flex;align-items:center;gap:16px;font-size:16px;}
.ci-item i{color:var(--gold);width:20px;}
.ci-item a:hover{color:var(--gold-light);}

.contact-form{display:flex;flex-direction:column;gap:20px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-field{display:flex;flex-direction:column;gap:8px;}
.form-field label{font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(245,243,236,0.6);}
.form-field input,.form-field textarea{
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.14);border-radius:4px;
  padding:14px 16px;color:#fff;font-family:inherit;font-size:14px;transition:border-color .3s;
}
.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--gold);}
.form-field input.invalid,.form-field textarea.invalid{border-color:#d9534f;}
.form-error{font-size:12px;color:#e8867f;min-height:14px;}
.form-status{font-size:14px;color:var(--gold-light);min-height:20px;}
.contact-form .btn{align-self:flex-start;}

/* ===== LIGHTBOX ===== */
.lightbox{
  position:fixed;inset:0;z-index:5000;background:rgba(6,8,11,0.96);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;
  opacity:0;visibility:hidden;transition:opacity .4s var(--ease), visibility .4s var(--ease);
}
.lightbox.open{opacity:1;visibility:visible;}
.lightbox img{max-width:88vw;max-height:78vh;object-fit:contain;border-radius:4px;}
.lightbox p{color:var(--text-secondary);font-size:14px;max-width:600px;text-align:center;}
.lb-close{
  position:absolute;top:26px;right:32px;font-size:32px;color:#fff;line-height:1;
}
.lb-nav{
  position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;
  border:1px solid rgba(255,255,255,0.2);color:#fff;display:flex;align-items:center;justify-content:center;
  transition:border-color .3s;
}
.lb-nav:hover{border-color:var(--gold);color:var(--gold-light);}
.lb-prev{left:24px;}
.lb-next{right:24px;}

/* ===== FOOTER ===== */
.site-footer{padding:80px 0 0;border-top:1px solid var(--border-soft);}
.footer-grid{
  display:grid;grid-template-columns:1fr 2fr auto;gap:40px;align-items:start;padding-bottom:50px;
}
.footer-logo{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:0.06em;}
.footer-brand p{color:var(--text-secondary);font-size:13px;margin-top:8px;}
.footer-nav{display:flex;flex-wrap:wrap;gap:20px 26px;}
.footer-nav a{font-size:13px;color:var(--text-secondary);transition:color .3s;}
.footer-nav a:hover{color:var(--gold-light);}
.footer-social{display:flex;gap:12px;}
.footer-social a{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--border-soft);
  display:flex;align-items:center;justify-content:center;transition:all .3s;
}
.footer-social a:hover{border-color:var(--gold);color:var(--gold-light);}
.footer-bottom{
  border-top:1px solid var(--border-soft);padding:22px 32px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
  font-size:12.5px;color:var(--text-secondary);
}
.footer-credit i{color:var(--gold);margin:0 2px;}
.footer-credit a{color:var(--gold-light);font-weight:600;}
.footer-credit a:hover{text-decoration:underline;}

/* ===== RESPONSIVE ===== */
@media (max-width:1024px){
  .hero-inner{grid-template-columns:1fr;text-align:center;}
  .hero-text{order:2;}
  .hero-portrait{order:1;}
  .hero-desc{margin-left:auto;margin-right:auto;}
  .hero-actions{justify-content:center;}
  .about-grid,.commerce-grid,.edu-grid{grid-template-columns:repeat(2,1fr);}
  .expertise-grid{grid-template-columns:repeat(2,1fr);}
  .pl-grid,.contact-grid,.media-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
}

@media (max-width:768px){
  .nav-menu,.nav-contact{display:none;}
  .mobile-toggle{display:flex;}
  .container{padding:0 22px;}
  .section{padding:90px 0;}
  .about-grid,.commerce-grid,.expertise-grid,.edu-grid{grid-template-columns:1fr;}
  .expertise-grid{background:none;gap:14px;}
  .exp-card{border:1px solid var(--border-soft);border-radius:6px;}
  .form-row{grid-template-columns:1fr;}
  .gallery-grid{columns:1 100%;}
  .community-visual{height:520px;}
  .community-node{font-size:10.5px;padding:6px 10px;}
  .footer-bottom{flex-direction:column;text-align:center;}
}

@media (max-width:480px){
  .hero{padding-top:100px;}
  .hero-title{font-size:clamp(38px,11vw,52px);}
}
