/* ============================================================
   CROWN DIGITAL SOLUTIONS — SHARED STYLES v5
   Brand Colors: #fcb31e (Yellow/Gold) · #4ba8ff (Blue)
   Light mode: pure white | Dark mode toggle
============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=DM+Mono:ital,wght@0,400;0,500;1,400&family=Syne:wght@400;600;700;800&display=swap');
@import url('https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css');

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

/* ── TOKENS ── */
:root {
  --bg:        #ffffff;
  --bg2:       #f8f8f8;
  --bg3:       #f0f0f0;
  --surface:   #ffffff;
  --surface2:  #f5f5f5;
  --border:    rgba(0,0,0,0.07);
  --border2:   rgba(0,0,0,0.12);
  --text:      #0e0b07;
  --text2:     #4a4030;
  --text3:     #8a7a60;

  --gold:      #d4950a;
  --gold2:     #fcb31e;
  --gold-glow: rgba(252,179,30,0.22);

  --blue:      #4ba8ff;
  --blue2:     #74bcff;
  --blue-dark: #2a7fd4;
  --blue-glow: rgba(75,168,255,0.22);

  --red:       #d42840;
  --teal:      #00897b;
  --black:     #0a0805;
  --white:     #ffffff;
  --nav-h:     72px;
  --font-d:    'Bebas Neue', sans-serif;
  --font-b:    'Syne', sans-serif;
  --font-a:    'Cormorant Garamond', serif;
  --font-m:    'DM Mono', monospace;
  --ease:      cubic-bezier(0.16,1,0.3,1);
  --ease2:     cubic-bezier(0.4,0,0.2,1);
  --r:         6px;
  --shadow:    0 2px 20px rgba(0,0,0,0.06), 0 1px 4px rgba(0,0,0,0.03);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.10), 0 4px 16px rgba(0,0,0,0.05);
}

[data-theme="dark"] {
  --bg:        #070503;
  --bg2:       #0e0b07;
  --bg3:       #181208;
  --surface:   #111009;
  --surface2:  #1c1710;
  --border:    rgba(255,255,255,0.07);
  --border2:   rgba(255,255,255,0.12);
  --text:      #f0e8d8;
  --text2:     #b8a888;
  --text3:     #706050;
  --gold:      #fcb31e;
  --gold2:     #ffd166;
  --gold-glow: rgba(252,179,30,0.25);
  --blue:      #4ba8ff;
  --blue2:     #80c4ff;
  --blue-dark: #74bcff;
  --blue-glow: rgba(75,168,255,0.25);
  --red:       #e8284a;
  --teal:      #00c9b1;
  --shadow:    0 2px 20px rgba(0,0,0,0.4), 0 1px 4px rgba(0,0,0,0.2);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.6), 0 4px 16px rgba(0,0,0,0.3);
}

html { scroll-behavior: smooth; font-size: 17px; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-b);
  overflow-x: hidden;
  cursor: none;
  transition: background 0.4s, color 0.4s;
}

/* ── CURSOR ── */
#cs-cursor {
  position: fixed; width: 10px; height: 10px;
  background: var(--blue); border-radius: 50%;
  pointer-events: none; z-index: 99999;
  transform: translate(-50%,-50%);
  transition: width .25s var(--ease), height .25s var(--ease), background .25s;
  mix-blend-mode: multiply;
}
[data-theme="dark"] #cs-cursor { mix-blend-mode: difference; }
#cs-ring {
  position: fixed; width: 34px; height: 34px;
  border: 1.5px solid rgba(75,168,255,0.5); border-radius: 50%;
  pointer-events: none; z-index: 99998;
  transform: translate(-50%,-50%);
  transition: left .1s, top .1s, width .3s var(--ease), height .3s var(--ease), border-color .3s;
}
body.c-hover #cs-cursor { width: 20px; height: 20px; background: var(--gold2); }
body.c-hover #cs-ring { width: 52px; height: 52px; border-color: rgba(252,179,30,0.6); }

/* ── LOADER (enhanced) ── */
#cs-loader {
  position: fixed; inset: 0;
  background: #070503;
  z-index: 9999;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  overflow: hidden;
}
/* particle dots bg */
#cs-loader::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(252,179,30,0.08) 1px, transparent 1px),
                    radial-gradient(circle, rgba(75,168,255,0.05) 1px, transparent 1px);
  background-size: 40px 40px, 60px 60px;
  background-position: 0 0, 20px 20px;
  animation: ldBgDrift 8s linear infinite;
}
@keyframes ldBgDrift { to { background-position: 40px 40px, 60px 60px; } }

.ld-logo-wrap {
  position: relative; width: 110px; height: 110px;
  display: flex; align-items: center; justify-content: center;
}
.ld-ring  { position:absolute; inset:-10px; border-radius:50%; border:2px solid transparent; border-top-color:#fcb31e; border-right-color:#d4950a; animation:ldSpinA 1s linear infinite; }
.ld-ring2 { position:absolute; inset:-24px; border-radius:50%; border:1px solid transparent; border-bottom-color:rgba(75,168,255,0.7); border-left-color:rgba(75,168,255,0.3); animation:ldSpinB 1.8s linear infinite; }
.ld-ring3 { position:absolute; inset:-40px; border-radius:50%; border:1px dashed rgba(252,179,30,0.18); animation:ldSpinA 3.2s linear infinite; }
/* new: inner pulse ring */
.ld-ring4 { position:absolute; inset:-2px; border-radius:50%; border:1px solid rgba(252,179,30,0.3); animation:ldPulseRing 2s ease-in-out infinite; }
@keyframes ldPulseRing { 0%,100%{transform:scale(1);opacity:.3} 50%{transform:scale(1.15);opacity:1} }
@keyframes ldSpinA { to { transform:rotate(360deg); } }
@keyframes ldSpinB { to { transform:rotate(-360deg); } }

.ld-logo-img { width:78px; height:78px; object-fit:contain; position:relative; z-index:1; }

.ld-word {
  margin-top: 28px;
  font-family: var(--font-d);
  font-size: 2.8rem; letter-spacing:.45em;
  color: #f8f4ed;
  clip-path: inset(0 100% 0 0);
  animation: ldReveal .9s var(--ease) .5s forwards;
}
.ld-sub {
  font-family: var(--font-m); font-size:.92rem; letter-spacing:.38em;
  color: #fcb31e; text-transform:uppercase;
  opacity:0; animation: ldFade .6s ease 1.3s forwards;
  margin-top: 6px;
}
@keyframes ldReveal { to { clip-path:inset(0 0% 0 0); } }
@keyframes ldFade   { to { opacity:1; } }

.ld-bar-track { margin-top: 36px; width: 260px; height: 2px; background: rgba(255,255,255,.06); overflow:hidden; border-radius:1px; }
.ld-bar-fill  { height:100%; width:0; background:linear-gradient(90deg,#fcb31e,#4ba8ff,#fcb31e); background-size:200% 100%; animation:ldBar 2.2s var(--ease2) .2s forwards, ldBarShimmer 1.5s linear .2s infinite; box-shadow:0 0 12px #fcb31e88; }
@keyframes ldBar { to { width:100%; } }
@keyframes ldBarShimmer { to { background-position:-200% 0; } }
.ld-pct-wrap { margin-top:10px; display:flex; align-items:center; gap:8px; }
#ld-pct { font-family:var(--font-m); font-size:.76rem; color:rgba(255,255,255,.2); }

/* ld glitch line */
.ld-glitch {
  position:absolute; bottom:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,#fcb31e,#4ba8ff,transparent);
  animation:ldGlitch 2.5s ease-in-out infinite;
}
@keyframes ldGlitch {
  0%,100%{transform:translateX(-100%);opacity:0}
  40%{opacity:1}
  60%{transform:translateX(100%);opacity:0}
}

#cs-loader.ld-out { animation: ldOut .7s ease-out forwards; }
@keyframes ldOut {
  0%   { opacity:1; transform:scale(1); }
  60%  { opacity:0; transform:scale(1.05); }
  100% { opacity:0; transform:scale(1.05); visibility:hidden; pointer-events:none; }
}

/* ── NAV ── */
#cs-nav {
  position: fixed; top:0; left:0; right:0;
  height: var(--nav-h);
  z-index: 1000;
  display: flex; align-items: center;
  padding: 0 48px;
  justify-content: space-between;
  transition: background .4s, box-shadow .4s, padding .3s;
}
#cs-nav.scrolled {
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(20px);
  box-shadow: 0 1px 0 var(--border);
}
[data-theme="dark"] #cs-nav.scrolled { background: rgba(7,5,3,0.96); }

/* ── LOGO SWITCHING ── */
.nav-brand { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo-light { display:none; }
.logo-dark  { display:block; }
[data-theme="dark"] .logo-light { display:block; }
[data-theme="dark"] .logo-dark  { display:none; }

/* ── NAV LINKS ── */
.nav-links { display:flex; gap:0; list-style:none; align-items:center; }
.nav-links > li { position: relative; }

.nav-links > li > a {
  font-family:var(--font-m); font-size:.60rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--text2);
  text-decoration:none; position:relative;
  transition: color .3s;
  padding: 28px 14px;
  display: flex; align-items: center; gap: 5px;
}
.nav-links > li > a::after {
  content:''; position:absolute; bottom:18px; left:14px; right:14px;
  height:1px; background:var(--blue);
  transform:scaleX(0); transform-origin:left;
  transition: transform .3s var(--ease);
}
.nav-links > li > a:hover,
.nav-links > li > a.active { color:var(--blue); }
.nav-links > li > a:hover::after,
.nav-links > li > a.active::after { transform:scaleX(1); }

.nav-links > li > a .dd-arrow {
  font-size:.76rem; transition: transform .3s var(--ease);
  margin-left:2px;
}
.nav-links > li:hover > a .dd-arrow { transform: rotate(180deg); }

/* ── DROPDOWN PANEL ── */
.nav-dropdown {
  position: absolute; top: calc(var(--nav-h) - 4px); left: 50%;
  transform: translateX(-50%) translateY(-8px);
  background: var(--surface);
  border: 1px solid var(--border2);
  border-top: 2px solid var(--blue);
  min-width: 240px;
  padding: 8px 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s var(--ease), transform .3s var(--ease);
  box-shadow: 0 24px 60px rgba(0,0,0,0.12), 0 4px 16px rgba(0,0,0,0.06);
  z-index: 999;
}
.nav-links > li.has-wide-dd .nav-dropdown { min-width: 280px; }
.nav-links > li:hover .nav-dropdown {
  opacity: 1;
  pointer-events: all;
  transform: translateX(-50%) translateY(0);
}

.nav-dropdown a {
  display: flex; align-items: center; gap: 12px;
  padding: 11px 20px;
  font-family: var(--font-m); font-size: .50rem; letter-spacing: .18em;
  text-transform: uppercase; color: var(--text2);
  text-decoration: none;
  transition: background .2s, color .2s, padding-left .25s var(--ease);
  position: relative;
}
.nav-dropdown a::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0;
  width: 0; background: linear-gradient(90deg, var(--blue-glow), transparent);
  transition: width .3s var(--ease);
}
.nav-dropdown a:hover { color: var(--blue); padding-left: 28px; background: var(--bg2); }
.nav-dropdown a:hover::before { width: 100%; }
.nav-dropdown a i { font-size: .9rem; color: var(--blue); flex-shrink: 0; transition: transform .3s var(--ease); }
.nav-dropdown a:hover i { transform: scale(1.2) rotate(-5deg); }

.nav-dropdown .dd-divider { height: 1px; background: var(--border); margin: 6px 16px; }
.nav-dropdown .dd-label {
  font-family: var(--font-m); font-size: .45rem; letter-spacing: .3em;
  text-transform: uppercase; color: var(--text3); padding: 10px 20px 4px;
}

.nav-right { display:flex; align-items:center; gap:16px; }

/* Theme toggle */
.theme-toggle {
  width: 44px; height: 24px;
  background: var(--bg3); border: 1px solid var(--border2);
  border-radius: 12px; cursor:none;
  position:relative; transition: background .3s;
  flex-shrink:0;
}
.theme-toggle::after {
  content:''; position:absolute; top:3px; left:3px;
  width:16px; height:16px; border-radius:50%;
  background: var(--gold2);
  transition: transform .3s var(--ease);
}
[data-theme="dark"] .theme-toggle::after { transform:translateX(20px); background:var(--blue); }

.nav-cta {
  font-family:var(--font-m); font-size:.60rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--black); background:var(--gold2);
  padding: 9px 22px; text-decoration:none;
  clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);
  transition: background .3s, box-shadow .3s, transform .2s;
}
.nav-cta:hover { background:var(--blue); color:#fff; box-shadow:0 0 24px var(--blue-glow); transform:translateY(-1px); }

/* Hamburger */
.hamburger {
  display:none; cursor:none; background:none; border:none;
  width:36px; height:36px; position:relative;
}
.ham-dots {
  display:grid; grid-template-columns:1fr 1fr;
  gap:6px; width:20px; height:20px;
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  transition: transform .5s var(--ease);
}
.ham-dot {
  width:7px; height:7px; border-radius:50%;
  background:var(--text);
  transition: transform .4s var(--ease), background .3s, border-radius .3s;
}
.hamburger.open .ham-dots { transform:translate(-50%,-50%) rotate(45deg); }
.hamburger.open .ham-dot  { background:var(--gold2); border-radius:1px; }
.hamburger.open .ham-dot:nth-child(2) { transform:translateX(-100%) translateY(100%); opacity:0; }
.hamburger.open .ham-dot:nth-child(3) { transform:translateX(100%) translateY(-100%); opacity:0; }

/* ── MOBILE NAV (redesigned: compact, scrollable, properly sized) ── */
.mob-nav {
  position:fixed; top: var(--nav-h); right:0; bottom:0; left:0;
  background: var(--bg);
  z-index:997;
  transform:translateX(100%);
  transition: transform .45s var(--ease);
  display:flex; flex-direction:column;
  overflow-y: auto;
  padding: 16px 0 32px;
}
[data-theme="dark"] .mob-nav { background: #0a0805; }
.mob-nav.open { transform:translateX(0); }

/* top border accent */
.mob-nav::before {
  content: ''; display:block;
  width:100%; height:2px;
  background: linear-gradient(90deg, var(--gold2), var(--blue));
  flex-shrink:0;
}

.mob-nav > a {
  font-family:var(--font-d); font-size:1.8rem; letter-spacing:.08em;
  color:var(--text); text-decoration:none;
  display:flex; align-items:center; gap:14px;
  padding: 14px 24px;
  border-bottom: 1px solid var(--border);
  transition: color .3s, background .3s;
}
.mob-nav > a:hover { color:var(--blue); background:var(--bg2); }
.mob-nav > a .mn-icon { font-size:1.2rem; color:var(--gold2); flex-shrink:0; width:24px; }

/* mobile dropdown */
.mob-dd-toggle {
  font-family:var(--font-d); font-size:1.8rem; letter-spacing:.08em;
  color:var(--text); background:none; border:none; cursor:none;
  display:flex; align-items:center; gap:14px;
  padding: 14px 24px;
  border-bottom: 1px solid var(--border);
  transition: color .3s, background .3s; width:100%; text-align:left;
}
.mob-dd-toggle:hover { color:var(--blue); background:var(--bg2); }
.mob-dd-toggle .mn-icon { font-size:1.2rem; color:var(--gold2); flex-shrink:0; width:24px; }
.mob-dd-toggle .mob-dd-arrow { font-size:.9rem; margin-left:auto; transition:transform .3s var(--ease); color:var(--text3); }
.mob-dd-toggle.open { color:var(--blue); }
.mob-dd-toggle.open .mob-dd-arrow { transform:rotate(90deg); color:var(--blue); }

.mob-dd-items {
  max-height:0; overflow:hidden;
  transition: max-height .4s var(--ease);
  background: var(--bg2);
  border-bottom: 1px solid var(--border);
}
.mob-dd-items.open { max-height: 900px; }
.mob-dd-items a {
  display:flex; align-items:center; gap:12px;
  font-family:var(--font-m); font-size:.84rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--text2);
  text-decoration:none; padding:12px 24px 12px 36px;
  border-bottom:1px solid var(--border);
  transition: color .3s, background .3s, padding-left .25s;
}
.mob-dd-items a:hover { color:var(--blue); background:var(--bg3); padding-left:44px; }
.mob-dd-items a i { color:var(--blue); font-size:.85rem; width:16px; flex-shrink:0; }

.mob-nav-footer {
  margin-top:auto; padding:20px 24px 8px;
  display:flex; flex-direction:column; gap:10px;
}
.mob-cta {
  font-family:var(--font-m); font-size:.92rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--black); background:var(--gold2);
  padding:16px 24px; text-decoration:none; display:block; text-align:center;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition: background .3s;
}
.mob-cta:hover { background:var(--blue); color:#fff; }

/* ── BUTTONS ── */
.btn-gold {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-m); font-size:.90rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--black); background:var(--gold2);
  padding:14px 32px; text-decoration:none; cursor:none;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  border:none; position:relative; overflow:hidden;
  transition: transform .3s, box-shadow .3s;
}
.btn-gold::before {
  content:''; position:absolute; inset:0;
  background:var(--blue); transform:translateX(-100%) skewX(-12deg);
  transition: transform .4s var(--ease);
}
.btn-gold:hover { transform:translateY(-2px); box-shadow:0 0 28px var(--gold-glow); color:#fff; }
.btn-gold:hover::before { transform:translateX(0) skewX(0); }
.btn-gold span { position:relative; z-index:1; }

.btn-blue {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-m); font-size:.90rem; letter-spacing:.2em;
  text-transform:uppercase; color:#fff; background:var(--blue);
  padding:14px 32px; text-decoration:none; cursor:none;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  border:none; position:relative; overflow:hidden;
  transition: transform .3s, box-shadow .3s;
}
.btn-blue::before {
  content:''; position:absolute; inset:0;
  background:var(--gold2); transform:translateX(-100%) skewX(-12deg);
  transition: transform .4s var(--ease);
}
.btn-blue:hover { transform:translateY(-2px); box-shadow:0 0 28px var(--blue-glow); color:var(--black); }
.btn-blue:hover::before { transform:translateX(0) skewX(0); }
.btn-blue span { position:relative; z-index:1; }

.btn-outline {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-m); font-size:.75rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--text);
  border:1px solid var(--border2); padding:13px 32px;
  text-decoration:none; cursor:none; background:none;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition: border-color .3s, color .3s, box-shadow .3s, transform .3s;
}
.btn-outline:hover { border-color:var(--blue); color:var(--blue); box-shadow:0 0 20px var(--blue-glow); transform:translateY(-2px); }

/* ── SECTION UTILITIES ── */
.s-label {
  font-family:var(--font-m); font-size:.75rem; letter-spacing:.4em;
  text-transform:uppercase; color:var(--blue);
  display:flex; align-items:center; gap:12px; margin-bottom:14px;
}
.s-label::before { content:''; width:28px; height:1px; background:var(--blue); display:inline-block; }
.s-label.gold-label { color:var(--gold2); }
.s-label.gold-label::before { background:var(--gold2); }

.s-title {
  font-family:var(--font-d); font-size:clamp(2.4rem,6vw,5.5rem);
  line-height:.92; margin-bottom:20px; color:var(--text);
}
.s-title .outline { -webkit-text-stroke:1.5px var(--gold2); color:transparent; }
.s-title .outline-blue { -webkit-text-stroke:1.5px var(--blue); color:transparent; }

/* ── REVEAL ── */
.reveal { opacity:0; transform:translateY(36px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in { opacity:1; transform:translateY(0); }
.rd1{transition-delay:.1s} .rd2{transition-delay:.2s} .rd3{transition-delay:.3s}
.rd4{transition-delay:.4s} .rd5{transition-delay:.5s}

/* ── MARQUEE ── */
.cs-marquee { background:var(--gold2); padding:14px 0; overflow:hidden; }
.cs-marquee-inner { display:flex; animation:mRun 20s linear infinite; white-space:nowrap; }
.cs-marquee-item {
  font-family:var(--font-d); font-size:1rem; letter-spacing:.15em;
  color:var(--black); padding:0 28px; display:flex; align-items:center; gap:18px; flex-shrink:0;
}
.cs-marquee-item .mdot { width:5px; height:5px; background:var(--black); border-radius:50%; opacity:.4; }
.cs-marquee-item:nth-child(even) .mdot { background:var(--blue-dark); opacity:.6; }
@keyframes mRun { to { transform:translateX(-50%); } }

/* ── 3D FLIP CARD (shared across pages) ── */
.flip-card {
  perspective: 1000px;
  cursor: none;
}
.flip-card-inner {
  position: relative;
  width: 100%; height: 100%;
  transform-style: preserve-3d;
  transition: transform .7s var(--ease);
}
.flip-card:hover .flip-card-inner { transform: rotateY(180deg); }
.flip-card-front,
.flip-card-back {
  position: absolute; inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.flip-card-back { transform: rotateY(180deg); }

/* ── FOOTER ── */
#cs-footer {
  background: var(--bg3);
  border-top:1px solid var(--border);
  padding:60px 48px 28px;
}
[data-theme="dark"] #cs-footer { background:var(--surface); }
.ft-top { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:40px; margin-bottom:48px; padding-bottom:40px; border-bottom:1px solid var(--border); }
.ft-brand p { font-family:var(--font-a); font-size:.9rem; color:var(--text3); margin-top:10px; max-width:260px; line-height:1.6; }
.ft-col h4 { font-family:var(--font-m); font-size:.65rem; letter-spacing:.25em; text-transform:uppercase; color:var(--gold2); margin-bottom:16px; }
.ft-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.ft-col a { font-family:var(--font-b); font-size:.82rem; color:var(--text2); text-decoration:none; transition:color .3s; }
.ft-col a:hover { color:var(--blue); }
.ft-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.ft-copy { font-family:var(--font-m); font-size:.65rem; letter-spacing:.12em; color:var(--text3); }
.ft-copy a { color:var(--gold2); text-decoration:none; }
.ft-copy a:hover { color:var(--blue); }
.ft-socials { display:flex; gap:12px; margin-top:16px; }
.ft-soc-link { width:36px; height:36px; border:1px solid var(--border2); display:flex; align-items:center; justify-content:center; color:var(--text3); font-size:.95rem; text-decoration:none; transition:border-color .3s, color .3s, background .3s; }
.ft-soc-link:hover { border-color:var(--gold2); color:var(--gold2); background:var(--gold-glow); }

.ft-logo-light { display:none; }
.ft-logo-dark  { display:block; }
[data-theme="dark"] .ft-logo-light { display:block; }
[data-theme="dark"] .ft-logo-dark  { display:none; }

/* ── PAGE HERO ── */
.pg-hero {
  padding: 120px 48px 90px;
  position: relative; overflow: hidden;
  border-bottom: 1px solid var(--border);
  min-height: 480px;
  display: flex; align-items: flex-end;
}
.pg-hero-bg-img {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  background-repeat: no-repeat;
}
.pg-hero-bg-img::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.94) 0%, rgba(255,255,255,0.76) 50%, rgba(255,255,255,0.52) 100%);
}
[data-theme="dark"] .pg-hero-bg-img::after {
  background: linear-gradient(135deg, rgba(7,5,3,0.94) 0%, rgba(7,5,3,0.78) 50%, rgba(7,5,3,0.55) 100%);
}
.pg-hero-grid { position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px); background-size:48px 48px; mask-image:radial-gradient(ellipse 70% 80% at 70% 50%,black,transparent 70%); animation:gD 18s linear infinite; z-index:2; }
@keyframes gD { to { background-position:48px 48px; } }
.pg-hero-inner { max-width:1100px; margin:0 auto; position:relative; z-index:3; width:100%; }
.pg-hero-inner::before {
  content: ''; display: block;
  width: 60px; height: 3px;
  background: linear-gradient(90deg, var(--gold2), var(--blue));
  margin-bottom: 20px;
}
.pg-hero-title { font-family:var(--font-d); font-size:clamp(3.5rem,10vw,9rem); line-height:.88; }
.pg-hero-title .blue-stroke { -webkit-text-stroke:2px var(--blue); color:transparent; }
.pg-hero-title .gold-stroke { -webkit-text-stroke:2px var(--gold2); color:transparent; }
.pg-hero-sub { font-family:var(--font-a); font-size:1.1rem; color:var(--text2); max-width:500px; line-height:1.7; margin-top:20px; }

.pg-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-m); font-size: .76rem; letter-spacing: .3em;
  text-transform: uppercase; color: var(--blue);
  border: 1px solid var(--blue); padding: 6px 14px;
  margin-bottom: 20px;
}
.pg-hero-badge .badge-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--blue); animation: bdPulse 1.5s ease-in-out infinite;
}
@keyframes bdPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.7)} }

/* ── RESPONSIVE ── */
@media(max-width:900px){
  #cs-nav { padding:0 20px; }
  .nav-links, .nav-cta { display:none; }
  .hamburger { display:flex; }
  .pg-hero { padding:100px 20px 60px; min-height:380px; }
  #cs-footer { padding:40px 20px 20px; }
}
@media(max-width:640px){
  .ft-top { flex-direction:column; }
  .pg-hero { min-height:320px; padding:90px 16px 50px; }
  .mob-nav > a, .mob-dd-toggle { font-size:1.5rem; padding:12px 20px; }
  .mob-dd-items a { padding:10px 20px 10px 32px; }
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after { animation-duration:.001ms!important; transition-duration:.001ms!important; }
}
