/* ============================================================
   TOKENS — Navy + Gold (derived from GO KENE 2026 logo)
   ============================================================ */
:root{
  --navy        : #0B2036;
  --navy-2      : #142E4A;
  --navy-3      : #1E3D5E;
  --cream       : #F5EFE2;
  --cream-70    : rgba(245,239,226,.70);
  --cream-45    : rgba(245,239,226,.45);
  --cream-15    : rgba(245,239,226,.10);
  --gold        : #D4A24E;
  --gold-light  : #F3CD86;
  --gold-soft   : rgba(212,162,78,.16);
  --taupe       : #B5A083;
  --radius      : 20px;
  --radius-sm   : 12px;
  --max         : 1180px;
}

/* ============================================================
   RESET / BASE
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  font-family:'Plus Jakarta Sans',sans-serif;
  background:var(--navy);
  color:var(--cream);
  overflow-x:hidden;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block;}
a{color:inherit;}

::selection{background:var(--gold);color:var(--navy);}

.sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Grain texture overlay — adds depth to the dark surface */
.grain{
  position:fixed;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.05;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Utility */
.eyebrow{
  font-family:'Space Mono',monospace;
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--taupe);
  margin-bottom:.9rem;
}
.center{text-align:center;}

.btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.95rem 1.7rem;
  border-radius:100px;
  text-decoration:none;
  font-weight:600;
  font-size:.92rem;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
  white-space:nowrap;
}
.btn-primary{
  background:var(--gold);
  color:var(--navy);
  box-shadow:0 0 0 0 rgba(212,162,78,0);
}
.btn-primary:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px -10px rgba(212,162,78,.55);
}
.btn-ghost{
  background:transparent;
  border:1px solid var(--cream-15);
  color:var(--cream);
}
.btn-ghost:hover{
  border-color:var(--gold-light);
  color:var(--gold-light);
  transform:translateY(-3px);
}

/* Reveal-on-scroll */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  *{animation-duration:.01ms !important;}
}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  background:rgba(11,32,54,.70);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--cream-15);
}
.nav-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:.7rem 1.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.nav-logo{
  display:flex;
  align-items:center;
  gap:.65rem;
  text-decoration:none;
  color:var(--cream);
}
.nav-logo-img{
  height:46px;width:46px;
  border-radius:50%;
  display:block;
  flex-shrink:0;
}
.nav-logo-text{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:1.2rem;
  letter-spacing:.04em;
}
.nav-logo-text span{color:var(--gold);}

.nav-right{
  display:flex;
  align-items:center;
  gap:1.4rem;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:2rem;
}
.nav-links a{
  text-decoration:none;
  font-size:.85rem;
  font-weight:500;
  letter-spacing:.03em;
  color:var(--cream-70);
  transition:color .2s ease;
}
.nav-links a:hover{color:var(--cream);}

/* Language switcher */
.lang-switch{
  display:flex;
  align-items:center;
  gap:.4rem;
  border:1px solid var(--cream-15);
  border-radius:100px;
  padding:.45rem .8rem;
  font-family:'Space Mono',monospace;
  font-size:.74rem;
  letter-spacing:.06em;
  flex-shrink:0;
}
.lang-icon{
  width:15px;height:15px;
  color:var(--gold-light);
  flex-shrink:0;
}
.lang-link{
  text-decoration:none;
  color:var(--cream-45);
  padding:0 .12rem;
  transition:color .2s ease;
}
.lang-link:hover{color:var(--cream);}
.lang-link.active{color:var(--gold);font-weight:700;}
.lang-sep{color:var(--cream-15);}

.nav-cta{
  border:1px solid var(--gold-light);
  color:var(--cream);
  padding:.6rem 1.3rem;
  border-radius:100px;
  text-decoration:none;
  font-size:.82rem;
  font-weight:600;
  transition:.25s ease;
  white-space:nowrap;
}
.nav-cta:hover{background:var(--gold);border-color:var(--gold);color:var(--navy);}

.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:.4rem;
}
.nav-toggle span{
  width:22px;height:2px;background:var(--cream);
  border-radius:2px;
  transition:.25s ease;
}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width:860px){
  .nav-links{
    position:absolute;
    top:100%;
    left:0; right:0;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    background:var(--navy-2);
    border-bottom:1px solid var(--cream-15);
    padding:.5rem 1.5rem;
    max-height: calc(100vh - 70px);
    overflow-y: auto;

    opacity: 0;
    visibility: hidden;
    transform: translateY(-15px);
    transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
  }

  .nav-links.open{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .nav-links a{
    width:100%;
    padding:.9rem 0;
    border-bottom:1px solid var(--cream-15);
  }
  .nav-cta{display:none;}
  .nav-links .nav-cta-mobile{display:block;margin:1rem 0;text-align:center;border:1px solid var(--gold-light);}
  .nav-toggle{display:flex;}
  .nav-logo-text{display:none;}
}
@media (min-width:861px){
  .nav-cta-mobile{display:none;}
}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:120px 1.5rem 0;
  position:relative;
  background-color:var(--navy);
  background-image:
    radial-gradient(ellipse 120% 55% at 50% 0%, var(--navy-3) 0%, transparent 62%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cg fill='none' stroke='%23D4A24E' stroke-opacity='0.05' stroke-width='1'%3E%3Cpath d='M0,70 C110,30 210,110 420,55'/%3E%3Cpath d='M0,135 C110,95 210,175 420,120'/%3E%3Cpath d='M0,200 C110,160 210,240 420,185'/%3E%3Cpath d='M0,265 C110,225 210,305 420,250'/%3E%3Cpath d='M0,330 C110,290 210,370 420,315'/%3E%3Cpath d='M0,395 C110,355 210,420 420,380'/%3E%3C/g%3E%3C/svg%3E");
  background-size:auto, 900px 900px;
  background-repeat:no-repeat, repeat;
}
.hero-inner{
  max-width:var(--max);
  width:100%;
  margin:0 auto;
  padding-bottom:3.5rem;
}
.hero-title{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:clamp(3.4rem,11vw,6.8rem);
  line-height:.98;
  letter-spacing:-.01em;
}
.hero-signature{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(1.05rem,2.6vw,1.5rem);
  color:var(--gold-light);
  margin-top:.85rem;
}
.hero-sub{
  max-width:560px;
  margin-top:1.4rem;
  color:var(--cream-70);
  font-size:1rem;
  line-height:1.8;
}
.hero-ctas{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:2.4rem;
}

/* ============================================================
   SECTION SHELL
   ============================================================ */
.section{
  max-width:var(--max);
  margin:0 auto;
  padding:6.5rem 1.5rem;
}
.section-head{margin-bottom:3.5rem;}
.section-head h2{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:clamp(1.9rem,4.2vw,2.7rem);
  max-width:640px;
}
.section-head.center{margin-left:auto;margin-right:auto;}
.section-head.center h2{margin:0 auto;}

/* ============================================================
   PILLARS — "what we cover"
   ============================================================ */
.pillar-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2.5rem;
}
.pillar-num{
  display:block;
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:3.2rem;
  line-height:1;
  color:transparent;
  -webkit-text-stroke:1.5px var(--gold-light);
  margin-bottom:1rem;
}
.pillar h3{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:1.3rem;
  margin-bottom:.7rem;
}
.pillar p{
  color:var(--cream-70);
  font-size:.95rem;
  line-height:1.8;
}
@media (max-width:860px){
  .pillar-list{grid-template-columns:1fr;gap:2.6rem;}
}

/* ============================================================
   FEATURED CONTENT
   ============================================================ */
.featured-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:1.25rem;
}
.feature-stack{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.feature{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:var(--radius);
  text-decoration:none;
  color:var(--cream);
  background:var(--navy-2);
}
.feature-lg{aspect-ratio:4/5;}
.feature-stack .feature{aspect-ratio:16/9;flex:1;}
.feature img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .6s ease;
}
.feature:hover img{transform:scale(1.05);}
.feature-overlay{
  position:absolute;left:0;right:0;bottom:0;
  padding:1.5rem;
  background:linear-gradient(transparent, rgba(11,32,54,.92) 78%);
}
.feature-tag{
  display:inline-block;
  font-family:'Space Mono',monospace;
  font-size:.65rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  border:1px solid var(--gold);
  border-radius:100px;
  padding:.22rem .7rem;
  margin-bottom:.6rem;
}
.feature-overlay h3{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:1.35rem;
  margin-bottom:.15rem;
}
.feature-overlay p{
  font-size:.82rem;
  color:var(--cream-70);
}
@media (max-width:860px){
  .featured-grid{grid-template-columns:1fr;}
  .feature-lg{aspect-ratio:16/10;}
}

/* ============================================================
   BLOG / ARTICLES
   ============================================================ */
.blog{background:var(--navy-2);}
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.blog-card{
  display:flex;
  flex-direction:column;
  background:var(--navy);
  border:1px solid var(--cream-15);
  border-radius:var(--radius);
  overflow:hidden;
  text-decoration:none;
  color:var(--cream);
  transition:transform .25s ease, border-color .25s ease;
}
.blog-card:hover{
  transform:translateY(-4px);
  border-color:var(--gold-light);
}
.blog-thumb{aspect-ratio:16/10;overflow:hidden;background:var(--navy-3);}
.blog-thumb img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.blog-card:hover .blog-thumb img{transform:scale(1.05);}
.blog-body{
  padding:1.4rem;
  display:flex;
  flex-direction:column;
  gap:.6rem;
  flex:1;
}
.blog-tag{
  display:inline-block;
  align-self:flex-start;
  font-family:'Space Mono',monospace;
  font-size:.62rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  border:1px solid var(--gold);
  border-radius:100px;
  padding:.2rem .65rem;
}
.blog-body h3{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:1.15rem;
  line-height:1.35;
}
.blog-excerpt{
  color:var(--cream-70);
  font-size:.88rem;
  line-height:1.75;
  flex:1;
}
.blog-meta{
  font-family:'Space Mono',monospace;
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cream-45);
}
.blog-readmore{
  font-weight:600;
  font-size:.85rem;
  color:var(--gold-light);
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin-top:.2rem;
}
.blog-footer-cta{
  display:flex;
  justify-content:center;
  margin-top:2.75rem;
}
@media (max-width:860px){
  .blog-grid{grid-template-columns:1fr;}
}

/* ============================================================
   COLLAB — "for brands"
   ============================================================ */
.collab{background:var(--navy-2);}
.collab-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:3.5rem;
  align-items:start;
}
.collab-copy h2{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:clamp(1.9rem,4vw,2.6rem);
  margin-bottom:1.6rem;
  max-width:520px;
}
.collab-points{list-style:none;}
.collab-points li{
  position:relative;
  padding-left:1.8rem;
  margin-bottom:1.15rem;
  color:var(--cream-70);
  line-height:1.8;
  font-size:.97rem;
}
.collab-points li::before{
  content:'→';
  position:absolute;
  left:0;top:0;
  color:var(--gold-light);
  font-family:'Space Mono',monospace;
}
.collab-points strong{color:var(--cream);}
.collab-copy .btn{margin-top:1rem;}

/* Spec sheet card — camera-style readout */
.spec-sheet{
  background:var(--navy);
  border:1px solid var(--cream-15);
  border-radius:var(--radius);
  padding:2.2rem;
}
.spec-head{
  display:flex;align-items:center;gap:.6rem;
  font-family:'Space Mono',monospace;
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--taupe);
  margin-bottom:1.8rem;
}
.spec-head .dot{
  width:8px;height:8px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 3px var(--gold-soft);
}
.spec-list{display:flex;flex-direction:column;gap:.95rem;}
.spec-list div{
  display:flex;justify-content:space-between;align-items:baseline;
  gap:1rem;
  border-bottom:1px dashed var(--cream-15);
  padding-bottom:.85rem;
}
.spec-list dt{
  font-family:'Space Mono',monospace;
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--cream-45);
  white-space:nowrap;
}
.spec-list dd{
  font-size:.86rem;
  font-weight:500;
  text-align:right;
  color:var(--cream);
}
@media (max-width:860px){
  .collab-grid{grid-template-columns:1fr;gap:3rem;}
}
@media (max-width:480px){
  .spec-list div{flex-direction:column;align-items:flex-start;gap:.25rem;}
  .spec-list dd{text-align:left;}
}

/* ============================================================
   CONTACT
   ============================================================ */
.contact-sub{
  color:var(--cream-70);
  max-width:520px;
  margin:0 auto;
  font-size:.97rem;
  line-height:1.8;
}
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.1rem;
  max-width:680px;
  margin:0 auto 2.6rem;
}
.contact-card{
  display:flex;
  align-items:center;
  gap:1rem;
  background:var(--navy-2);
  border:1px solid var(--cream-15);
  border-radius:var(--radius-sm);
  padding:1.25rem 1.4rem;
}
.contact-icon{
  flex-shrink:0;
  width:42px;height:42px;
  border-radius:10px;
  background:var(--gold-soft);
  display:flex;align-items:center;justify-content:center;
}
.contact-icon svg{width:20px;height:20px;}
.contact-text{min-width:0;}
.contact-label{
  display:block;
  font-family:'Space Mono',monospace;
  font-size:.62rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--cream-45);
  margin-bottom:.2rem;
}
.contact-text a{
  text-decoration:none;
  font-weight:500;
  font-size:.92rem;
  color:var(--cream);
  word-break:break-word;
}
.contact-text a:hover{color:var(--gold-light);}

.social-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  max-width:680px;
  margin:0 auto;
}
.social-card{
  display:flex;
  align-items:center;
  gap:.85rem;
  background:var(--navy-2);
  border:1px solid var(--cream-15);
  border-radius:var(--radius-sm);
  padding:1.1rem 1.2rem;
  text-decoration:none;
  color:var(--cream);
  transition:border-color .25s ease, transform .2s ease;
}
.social-card:hover{transform:translateY(-3px);}
.social-card .icon{
  flex-shrink:0;
  width:38px;height:38px;
  border-radius:10px;
  background:rgba(245,239,226,.06);
  display:flex;align-items:center;justify-content:center;
}
.social-card .icon svg{width:19px;height:19px;}
.social-card .label{font-weight:600;font-size:.88rem;display:block;}
.social-card .stat{font-size:.74rem;color:var(--cream-45);}
.social-card.yt:hover{border-color:#FF0000;}
.social-card.tt:hover{border-color:#EE1D52;}
.social-card.ig:hover{border-color:#C13584;}

@media (max-width:640px){
  .contact-grid{grid-template-columns:1fr;}
  .social-grid{grid-template-columns:1fr;}
}

/* ============================================================
   FOOTER
   ============================================================ */
footer{
  border-top:1px solid var(--cream-15);
  padding:3rem 1.5rem;
}
.footer-inner{
  max-width:var(--max);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:.85rem;
}
.footer-logo{
  height:84px;width:84px;
  border-radius:50%;
  margin-bottom:.4rem;
}
.footer-brand{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:1.3rem;
}
.footer-brand span{color:var(--gold);}
.footer-tagline{
  font-family:'Fraunces',serif;
  font-style:italic;
  color:var(--gold-light);
  font-size:.95rem;
}
.footer-links{display:flex;gap:1.6rem;}
.footer-links a{
  text-decoration:none;
  color:var(--cream-70);
  font-size:.85rem;
  transition:color .2s ease;
}
.footer-links a:hover{color:var(--cream);}
.footer-copy{
  font-family:'Space Mono',monospace;
  font-size:.7rem;
  letter-spacing:.08em;
  color:var(--cream-45);
  margin-top:.5rem;
}