/* ═══════════════════════════════════════════════════════════
   insomnisec · insomnisec.com · Shared Stylesheet v1.0
   Brand: insomnisec (parent) · moonlit teal dominant
═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,200;0,300;0,400;0,500;0,600;1,300&family=Share+Tech+Mono&family=Barlow:wght@300;400;500&family=Barlow+Condensed:wght@300;400;500;600&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

:root{
  --void:         #080A12;
  --deep-void:    #060810;
  --card:         #10151F;
  --card-raised:  #161C2A;
  --border:       #1E2638;
  --border-sub:   #131826;

  /* teal is primary for insomnisec */
  --teal:         #5B9EA4;
  --teal-deep:    #3D7E84;
  --teal-glow:    rgba(91,158,164,0.12);
  --teal-border:  rgba(91,158,164,0.30);
  --teal-strong:  rgba(91,158,164,0.20);

  /* gold is secondary / accent */
  --gold:         #C09860;
  --gold-deep:    #A07840;
  --gold-glow:    rgba(192,152,96,0.10);
  --gold-border:  rgba(192,152,96,0.28);

  --slate:        #3E4A6A;

  --text-bright:  #E8EDF6;
  --text-body:    #C4CCDE;
  --text-mid:     #7E8A9E;
  --text-dim:     #4A5470;

  --nav-h:        72px;
  --page-max:     1120px;
  --section-gap:  96px;
  --ease-out:     cubic-bezier(0.16,1,0.3,1);
}

body{
  background:var(--void);
  color:var(--text-body);
  font-family:'Barlow',sans-serif;
  font-weight:300;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

body::before{
  content:'';
  position:fixed;inset:0;
  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)' opacity='1'/%3E%3C/svg%3E");
  opacity:0.020;pointer-events:none;z-index:9999;
}

/* ── Type helpers ── */
.font-exo  {font-family:'Exo 2',sans-serif;}
.font-mono {font-family:'Share Tech Mono',monospace;}
.font-cond {font-family:'Barlow Condensed',sans-serif;}

/* ── Layout ── */
.container{max-width:var(--page-max);margin:0 auto;padding:0 36px;}
.section{padding:var(--section-gap) 0;}

/* ── Section labels ── */
.section-label{
  font-family:'Share Tech Mono',monospace;
  font-size:10px;letter-spacing:0.24em;color:var(--text-dim);
  text-transform:uppercase;display:flex;align-items:center;gap:14px;margin-bottom:20px;
}
.section-label::before{content:'';width:24px;height:1px;background:var(--teal);}
.section-label.gold-label::before{background:var(--gold);}

.section-heading{
  font-family:'Exo 2',sans-serif;
  font-weight:200;font-size:clamp(28px,4vw,44px);letter-spacing:0.06em;
  color:var(--text-bright);text-transform:lowercase;line-height:1.15;margin-bottom:16px;
}
.section-heading em{font-style:normal;color:var(--teal);}
.section-heading .gold{color:var(--gold);}

.section-sub{font-size:16px;color:var(--text-mid);max-width:580px;line-height:1.72;font-weight:300;}

/* ── Insomnisec crescent mark ── */
.insomni-mark{display:block;flex-shrink:0;}

/* ══════════════════
   NAV
══════════════════ */
.nav{
  position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:1000;
  display:flex;align-items:center;transition:background 0.3s,border-color 0.3s;
}
.nav.scrolled{
  background:rgba(6,8,16,0.94);backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-sub);
}
.nav-inner{
  max-width:var(--page-max);margin:0 auto;padding:0 36px;width:100%;
  display:flex;align-items:center;justify-content:space-between;
}
.nav-logo{display:flex;align-items:center;gap:12px;}
.nav-wordmark{
  font-family:'Exo 2',sans-serif;font-weight:300;font-size:20px;
  letter-spacing:0.08em;color:var(--text-bright);text-transform:lowercase;
}
.nav-wordmark .teal{color:var(--teal);}
.nav-links{display:flex;align-items:center;gap:34px;list-style:none;}
.nav-links a{
  font-family:'Barlow Condensed',sans-serif;font-weight:400;font-size:13px;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--text-mid);
  transition:color 0.2s;position:relative;padding-bottom:2px;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-2px;left:0;right:0;height:1px;
  background:var(--teal);transform:scaleX(0);transform-origin:left;
  transition:transform 0.25s var(--ease-out);
}
.nav-links a:hover{color:var(--text-bright);}
.nav-links a:hover::after{transform:scaleX(1);}
.nav-links a.active{color:var(--text-bright);}
.nav-links a.active::after{transform:scaleX(1);}
.nav-cta{
  font-family:'Barlow Condensed',sans-serif;font-weight:500;font-size:12px;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--teal) !important;
  border:1px solid var(--teal-border);padding:8px 20px;
  transition:background 0.2s,color 0.2s !important;
}
.nav-cta::after{display:none !important;}
.nav-cta:hover{background:var(--teal-glow) !important;color:var(--text-bright) !important;}

.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;}
.nav-toggle span{display:block;width:24px;height:1.5px;background:var(--text-mid);transition:transform 0.3s,opacity 0.3s;}
.nav-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.nav-mobile{
  display:none;position:fixed;top:var(--nav-h);left:0;right:0;
  background:rgba(6,8,16,0.97);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border-sub);padding:24px 36px 32px;
  flex-direction:column;gap:0;z-index:999;
}
.nav-mobile.open{display:flex;}
.nav-mobile a{
  font-family:'Barlow Condensed',sans-serif;font-weight:400;font-size:18px;
  letter-spacing:0.14em;text-transform:uppercase;color:var(--text-mid);
  padding:14px 0;border-bottom:1px solid var(--border-sub);transition:color 0.2s;
}
.nav-mobile a:hover{color:var(--text-bright);}
.nav-mobile a.cta-mobile{color:var(--teal);margin-top:16px;border-bottom:none;}

/* ══════════════════
   BUTTONS
══════════════════ */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Barlow Condensed',sans-serif;font-weight:500;font-size:13px;
  letter-spacing:0.18em;text-transform:uppercase;padding:14px 32px;
  cursor:pointer;transition:all 0.2s var(--ease-out);border:none;text-decoration:none;
}
.btn-primary{background:var(--teal);color:var(--void);}
.btn-primary:hover{background:#6FB8BF;transform:translateY(-1px);box-shadow:0 8px 28px rgba(91,158,164,0.28);}
.btn-gold{background:var(--gold);color:var(--void);}
.btn-gold:hover{background:#D4AC78;transform:translateY(-1px);box-shadow:0 8px 28px rgba(192,152,96,0.28);}
.btn-outline{background:transparent;color:var(--text-bright);border:1px solid var(--border);}
.btn-outline:hover{border-color:var(--teal);color:var(--teal);}
.btn-ghost{background:transparent;color:var(--text-mid);padding-left:0;padding-right:0;}
.btn-ghost:hover{color:var(--text-bright);}
.btn-arrow::after{content:'→';}

/* ══════════════════
   CARDS
══════════════════ */
.card{
  background:var(--card);border:1px solid var(--border-sub);
  padding:36px 32px;position:relative;overflow:hidden;
  transition:border-color 0.2s,transform 0.2s;
}
.card:hover{border-color:var(--border);transform:translateY(-2px);}
.card-teal::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--teal),transparent);}
.card-gold::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent);}

.card-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--teal);}
.card-icon.gold{color:var(--gold);}
.card-title{font-family:'Exo 2',sans-serif;font-weight:400;font-size:17px;letter-spacing:0.06em;color:var(--text-bright);text-transform:lowercase;margin-bottom:12px;}
.card-body{font-size:14px;color:var(--text-mid);line-height:1.72;}

/* ══════════════════
   TAGS
══════════════════ */
.tag{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:0.18em;text-transform:uppercase;padding:4px 12px;border:1px solid;display:inline-block;}
.tag-teal{color:var(--teal);border-color:var(--teal-border);background:var(--teal-glow);}
.tag-gold{color:var(--gold);border-color:var(--gold-border);background:var(--gold-glow);}
.tag-dim{color:var(--text-dim);border-color:var(--border);}

/* ══════════════════
   FORMS
══════════════════ */
.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.form-label{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:0.20em;text-transform:uppercase;color:var(--text-dim);}
.form-input,.form-select,.form-textarea{
  background:var(--card);border:1px solid var(--border);color:var(--text-body);
  font-family:'Barlow',sans-serif;font-weight:300;font-size:14px;padding:13px 16px;
  outline:none;transition:border-color 0.2s;width:100%;appearance:none;
  -webkit-appearance:none;border-radius:0;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--teal);}
.form-input::placeholder,.form-textarea::placeholder{color:var(--text-dim);}
.form-textarea{resize:vertical;min-height:120px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

/* ══════════════════
   HERO
══════════════════ */
.hero{
  min-height:100vh;display:flex;align-items:center;
  position:relative;overflow:hidden;padding-top:var(--nav-h);
}
.hero-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(var(--border-sub) 1px,transparent 1px),linear-gradient(90deg,var(--border-sub) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 80%);
  opacity:0.4;
}
.hero-glow{
  position:absolute;top:-200px;left:-200px;width:700px;height:700px;
  border-radius:50%;background:radial-gradient(circle,rgba(91,158,164,0.10) 0%,transparent 65%);
  pointer-events:none;
}
.hero-glow-r{
  position:absolute;bottom:-150px;right:-100px;width:600px;height:600px;
  border-radius:50%;background:radial-gradient(circle,rgba(192,152,96,0.06) 0%,transparent 65%);
  pointer-events:none;
}
.hero-content{
  position:relative;z-index:2;max-width:var(--page-max);margin:0 auto;padding:80px 36px;
  display:grid;grid-template-columns:1fr 400px;gap:64px;align-items:center;width:100%;
}
.hero-eyebrow{
  font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:0.28em;
  color:var(--teal);text-transform:uppercase;margin-bottom:20px;
  display:flex;align-items:center;gap:12px;
  opacity:0;animation:fadeUp 0.8s var(--ease-out) 0.1s forwards;
}
.hero-eyebrow::before{content:'';width:32px;height:1px;background:var(--teal);}
.hero-headline{
  font-family:'Exo 2',sans-serif;font-weight:200;
  font-size:clamp(36px,5vw,62px);letter-spacing:0.04em;color:var(--text-bright);
  text-transform:lowercase;line-height:1.1;margin-bottom:24px;
  opacity:0;animation:fadeUp 0.8s var(--ease-out) 0.2s forwards;
}
.hero-headline .teal{color:var(--teal);}
.hero-headline .gold{color:var(--gold);}
.hero-lead{
  font-size:17px;color:var(--text-mid);line-height:1.75;max-width:520px;margin-bottom:36px;
  opacity:0;animation:fadeUp 0.8s var(--ease-out) 0.3s forwards;
}
.hero-actions{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  opacity:0;animation:fadeUp 0.8s var(--ease-out) 0.4s forwards;
}
.hero-tagline{
  margin-top:28px;font-family:'Barlow Condensed',sans-serif;font-weight:300;
  font-size:12px;letter-spacing:0.28em;color:var(--text-dim);text-transform:lowercase;
  opacity:0;animation:fadeUp 0.8s var(--ease-out) 0.5s forwards;
}

/* hero visual — crescent mark large */
.hero-visual{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;
  opacity:0;animation:fadeIn 1.2s var(--ease-out) 0.3s forwards;
}
.hero-mark-wrap{position:relative;display:flex;align-items:center;justify-content:center;}
.hero-mark-wrap::before{
  content:'';position:absolute;inset:-48px;border-radius:50%;
  background:radial-gradient(circle,rgba(91,158,164,0.10) 0%,transparent 65%);
  animation:pulse 4s ease-in-out infinite;
}
.hero-mark{position:relative;z-index:1;}

/* ══════════════════
   PAGE HERO (inner)
══════════════════ */
.page-hero{
  padding:calc(var(--nav-h) + 64px) 0 64px;
  position:relative;overflow:hidden;border-bottom:1px solid var(--border-sub);
}
.page-hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border-sub) 1px,transparent 1px),linear-gradient(90deg,var(--border-sub) 1px,transparent 1px);background-size:60px 60px;opacity:0.25;}
.page-hero-glow{position:absolute;top:-100px;left:0;width:500px;height:400px;background:radial-gradient(circle,rgba(91,158,164,0.08) 0%,transparent 65%);pointer-events:none;}
.page-hero-inner{position:relative;z-index:2;max-width:var(--page-max);margin:0 auto;padding:0 36px;}
.page-hero-tag{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:0.24em;color:var(--teal);text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:12px;}
.page-hero-tag::before{content:'';width:24px;height:1px;background:var(--teal);}
.page-hero-title{font-family:'Exo 2',sans-serif;font-weight:200;font-size:clamp(32px,5vw,56px);letter-spacing:0.06em;color:var(--text-bright);text-transform:lowercase;line-height:1.1;margin-bottom:16px;}
.page-hero-title em{font-style:normal;color:var(--teal);}
.page-hero-title .gold{color:var(--gold);}
.page-hero-sub{font-size:16px;color:var(--text-mid);max-width:560px;line-height:1.72;}

/* ══════════════════
   STAT STRIP
══════════════════ */
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-sub);}
.stat-block{background:var(--card);padding:40px 32px;position:relative;}
.stat-block::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--teal),transparent);opacity:0.5;}
.stat-number{font-family:'Exo 2',sans-serif;font-weight:200;font-size:48px;color:var(--teal);letter-spacing:0.02em;line-height:1;margin-bottom:8px;}
.stat-number.gold{color:var(--gold);}
.stat-label{font-size:13px;color:var(--text-mid);line-height:1.5;font-weight:300;}
.stat-source{font-family:'Share Tech Mono',monospace;font-size:8px;letter-spacing:0.14em;color:var(--text-dim);text-transform:uppercase;margin-top:8px;}

/* ══════════════════
   SERVICES
══════════════════ */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border-sub);}

/* Service detail layout */
.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;padding:64px 0;border-bottom:1px solid var(--border-sub);}
.service-detail:last-child{border-bottom:none;}
.service-detail-num{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:0.22em;color:var(--teal);text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.service-detail-num::before{content:'→';}
.service-detail-title{font-family:'Exo 2',sans-serif;font-weight:200;font-size:clamp(24px,3vw,36px);letter-spacing:0.06em;color:var(--text-bright);text-transform:lowercase;line-height:1.1;margin-bottom:16px;}
.service-detail-title em{font-style:normal;color:var(--teal);}
.service-detail-body{font-size:15px;color:var(--text-mid);line-height:1.75;margin-bottom:24px;}
.service-bullets{list-style:none;display:flex;flex-direction:column;gap:10px;}
.service-bullets li{font-size:13px;color:var(--text-mid);display:flex;gap:10px;line-height:1.55;}
.service-bullets li::before{content:'→';font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--teal);opacity:0.6;flex-shrink:0;margin-top:1px;}
.service-panel{background:var(--card);border:1px solid var(--border-sub);border-top:2px solid var(--teal);padding:36px;align-self:start;}
.service-panel.gold-top{border-top-color:var(--gold);}

/* ══════════════════
   APPROACH STEPS
══════════════════ */
.approach-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-sub);}
.approach-step{background:var(--card);padding:44px 36px;}
.step-num{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:0.20em;color:var(--teal);margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.step-num::before{content:'→';}
.step-title{font-family:'Exo 2',sans-serif;font-weight:400;font-size:18px;color:var(--text-bright);text-transform:lowercase;letter-spacing:0.06em;margin-bottom:12px;}
.step-body{font-size:14px;color:var(--text-mid);line-height:1.72;}

/* ══════════════════
   CROWDSOC CALLOUT
══════════════════ */
.crowdsoc-band{
  background:var(--card);border-top:2px solid var(--gold);border-bottom:1px solid var(--border-sub);
  position:relative;overflow:hidden;
}
.crowdsoc-band::after{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(192,152,96,0.05) 0%,transparent 70%);pointer-events:none;}
.crowdsoc-band-inner{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
  padding:64px 36px;max-width:var(--page-max);margin:0 auto;position:relative;z-index:1;
}
.crowdsoc-band-visual{display:flex;flex-direction:column;align-items:center;gap:16px;}
.crowdsoc-band-owl{width:120px;filter:drop-shadow(0 8px 32px rgba(192,152,96,0.20));}

/* ══════════════════
   BLOG CARDS
══════════════════ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border-sub);}
.blog-card{background:var(--card);padding:32px;display:flex;flex-direction:column;gap:14px;transition:background 0.2s;}
.blog-card:hover{background:var(--card-raised);}
.blog-card-tag{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:0.18em;color:var(--teal);text-transform:uppercase;}
.blog-card-title{font-family:'Exo 2',sans-serif;font-weight:400;font-size:17px;color:var(--text-bright);line-height:1.35;letter-spacing:0.03em;text-transform:lowercase;}
.blog-card-excerpt{font-size:13px;color:var(--text-mid);line-height:1.65;flex:1;}
.blog-card-meta{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:0.14em;color:var(--text-dim);text-transform:uppercase;display:flex;align-items:center;gap:12px;margin-top:4px;}
.blog-card-meta span::before{content:'·';margin-right:12px;}
.blog-card-meta span:first-child::before{content:none;}

/* ══════════════════
   CTA BAND
══════════════════ */
.cta-band{
  background:var(--card);border-top:1px solid var(--border-sub);border-bottom:1px solid var(--border-sub);
  padding:72px 0;text-align:center;position:relative;overflow:hidden;
}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 120% at 50% 50%,rgba(91,158,164,0.05) 0%,transparent 65%);pointer-events:none;}
.cta-band-eyebrow{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:0.24em;color:var(--text-dim);text-transform:uppercase;margin-bottom:16px;}
.cta-band-title{font-family:'Exo 2',sans-serif;font-weight:200;font-size:clamp(28px,4vw,44px);letter-spacing:0.08em;color:var(--text-bright);text-transform:lowercase;margin-bottom:12px;}
.cta-band-title em{font-style:normal;color:var(--teal);}
.cta-band-sub{font-size:15px;color:var(--text-mid);max-width:500px;margin:0 auto 36px;line-height:1.72;}

/* ══════════════════
   ABOUT / TEAM
══════════════════ */
.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--border-sub);}

/* ══════════════════
   CONTACT
══════════════════ */
.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:2px;background:var(--border-sub);align-items:start;}
.contact-info{background:var(--card);padding:52px 44px;}
.contact-form-wrap{background:var(--card);padding:52px 48px;}
.contact-detail{margin-bottom:32px;}
.contact-detail-label{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:0.22em;color:var(--teal);text-transform:uppercase;margin-bottom:8px;}
.contact-detail-value{font-size:14px;color:var(--text-body);line-height:1.65;}

/* ══════════════════
   FOOTER
══════════════════ */
.footer{background:var(--deep-void);border-top:1px solid var(--border-sub);padding:64px 0 36px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px;}
.footer-brand-logo{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.footer-tagline{font-family:'Barlow Condensed',sans-serif;font-weight:300;font-size:12px;letter-spacing:0.22em;color:var(--text-dim);text-transform:lowercase;margin-bottom:20px;}
.footer-address{font-size:12px;color:var(--text-dim);line-height:1.8;font-style:normal;font-family:'Share Tech Mono',monospace;letter-spacing:0.08em;}
.footer-col-title{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:0.22em;color:var(--text-dim);text-transform:uppercase;margin-bottom:20px;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-links a{font-size:13px;color:var(--text-dim);transition:color 0.2s;text-transform:lowercase;font-family:'Exo 2',sans-serif;font-weight:300;letter-spacing:0.04em;}
.footer-links a:hover{color:var(--text-body);}
.footer-bottom{padding-top:28px;border-top:1px solid var(--border-sub);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.footer-copy{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:0.16em;color:var(--text-dim);text-transform:uppercase;}
.footer-legal-links{display:flex;gap:20px;}
.footer-legal-links a{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:0.14em;color:var(--text-dim);text-transform:uppercase;transition:color 0.2s;}
.footer-legal-links a:hover{color:var(--text-mid);}

/* ══════════════════
   LEGAL
══════════════════ */
.legal-content{max-width:720px;}
.legal-content h2{font-family:'Exo 2',sans-serif;font-weight:400;font-size:18px;color:var(--text-bright);text-transform:lowercase;letter-spacing:0.06em;margin:36px 0 12px;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p{font-size:14px;color:var(--text-mid);line-height:1.75;margin-bottom:14px;}
.legal-content ul{list-style:none;margin-bottom:14px;}
.legal-content ul li{font-size:14px;color:var(--text-mid);line-height:1.7;padding:6px 0 6px 20px;position:relative;}
.legal-content ul li::before{content:'→';position:absolute;left:0;font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--teal);opacity:0.6;}

/* ══════════════════
   ANIMATIONS
══════════════════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.05);opacity:0.8;}}

.reveal{opacity:1;transform:none;transition:opacity 0.7s var(--ease-out),transform 0.7s var(--ease-out);}
@media(prefers-reduced-motion:no-preference){
  .reveal-anim{opacity:0;transform:translateY(24px);}
  .reveal-anim.visible{opacity:1;transform:translateY(0);}
  .reveal-anim.reveal-delay-1{transition-delay:0.1s;}
  .reveal-anim.reveal-delay-2{transition-delay:0.2s;}
  .reveal-anim.reveal-delay-3{transition-delay:0.3s;}
}

/* ══════════════════
   UTILITY
══════════════════ */
.text-teal{color:var(--teal);}.text-gold{color:var(--gold);}.text-bright{color:var(--text-bright);}.text-mid{color:var(--text-mid);}.text-center{text-align:center;}
.mt-16{margin-top:16px;}.mt-24{margin-top:24px;}.mt-32{margin-top:32px;}.mt-48{margin-top:48px;}
.mb-16{margin-bottom:16px;}.mb-24{margin-bottom:24px;}.mb-32{margin-bottom:32px;}.mb-48{margin-bottom:48px;}

/* ══════════════════
   RESPONSIVE
══════════════════ */
@media(max-width:900px){
  :root{--section-gap:64px;}
  .nav-links{display:none;}
  .nav-toggle{display:flex;}
  .hero-content{grid-template-columns:1fr;gap:48px;text-align:center;}
  .hero-visual{order:-1;}
  .hero-lead{margin:0 auto 36px;}
  .hero-actions{justify-content:center;}
  .hero-tagline{text-align:center;}
  .stat-strip{grid-template-columns:1fr 1fr;}
  .services-grid{grid-template-columns:1fr 1fr;}
  .approach-steps{grid-template-columns:1fr;}
  .service-detail{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .crowdsoc-band-inner{grid-template-columns:1fr;padding:40px 36px;}
  .values-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .container{padding:0 20px;}
  .stat-strip{grid-template-columns:1fr;}
  .services-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:32px;}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center;}
}
