@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root{
  --ink:#0b0b0c; --paper:#f4f1ea; --white:#fff; --acid:#e9ed6f;
  --line:rgba(12,12,13,.18); --muted:#6d6d68;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper)}
a{color:inherit;text-decoration:none} button{font:inherit}
.wrap{width:min(1240px,calc(100% - 48px));margin:auto}
.noise{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.topbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;

  background: #000000;
  backdrop-filter: blur(8px);
  mix-blend-mode: normal;

  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 14px 4%;
}
.topbar a {
  color: #ffffff !important;
  opacity: 1 !important;
  text-decoration: none;
}
.logo{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.08em;font-size:.9rem}
.logo img {
  height: 70px;
  width: auto;
  display: block;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.logo-mark{width:28px;height:28px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:.7rem}
.nav{display:flex;gap:26px;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}
.menu-btn{display:none;border:0;background:none;width:36px;height:30px}
.menu-btn span{display:block;height:1px;background:#fff;margin:8px 0}
.hero{min-height:100vh;background:#080809;color:#fff;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.hero-art{position:absolute;inset:0}.orb{position:absolute;border-radius:50%;filter:blur(6px)}
.orb-a{width:48vw;height:48vw;right:-5vw;top:7vh;background:radial-gradient(circle at 35% 35%,#57575b 0,#1e1e22 40%,#050506 72%)}
.orb-b{width:28vw;height:28vw;right:31vw;bottom:-11vw;border:1px solid #5b5b60}
.frame{position:absolute;border:1px solid rgba(255,255,255,.16);transform:rotate(12deg)}
.frame-a{width:37vw;height:59vh;right:9vw;top:17vh}.frame-b{width:25vw;height:36vh;right:20vw;top:29vh;transform:rotate(-8deg)}
.hero-word{position:absolute;right:-2vw;top:17vh;font:800 min(26vw,430px)/.8 Manrope,sans-serif;letter-spacing:-.09em;color:rgba(255,255,255,.025)}
.hero-inner{position:relative;z-index:3;padding-bottom:8vh}
.eyebrow,.index{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.hero h1,.section h2,.join h2,.contact-title{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.07em;line-height:.88;margin:.16em 0 0}
.hero h1{font-size:clamp(4.6rem,10.6vw,10.8rem)}
.hero h1 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.9)}
.hero-bottom{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-top:34px}
.hero-bottom p{max-width:520px;color:#b8b8bb;font-size:1rem;line-height:1.65}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.button{min-height:50px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.08em;border:1px solid transparent}
.button.primary{background:#fff;color:#050506}.button.primary:hover{background:var(--acid)}
.button.ghost{border-color:#626267;color:#fff}.button.ghost:hover{background:#fff;color:#050506}
.scroll{position:absolute;z-index:4;right:4vw;bottom:3vh;font-size:.64rem;letter-spacing:.14em;color:#aaa}.scroll span{margin-left:8px}
.section{padding:120px 0}.light{background:#f4f1ea}.cream{background:#e9e6df}.dark{background:#0c0c0d;color:#fff}.acid{background:var(--acid)}
.section-head{display:grid;grid-template-columns:.32fr 1fr;gap:40px;align-items:start}
.section h2,.join h2,.contact-title{font-size:clamp(3.7rem,7.5vw,7.8rem)}
.lead{max-width:650px;font-size:1.13rem;line-height:1.7;color:#444;margin:30px 0 0}.muted{color:#9b9b9e}
.numbers{display:grid;grid-template-columns:repeat(4,1fr);margin-top:90px;border-top:1px solid var(--line)}
.number-card{padding:28px 10px 0 0;border-right:1px solid var(--line);min-height:130px}
.number-card:last-child{border-right:0}.number-card strong{font:800 2.5rem/1 Manrope,sans-serif;display:block}.number-card span{color:#71716d;font-size:.85rem;margin-top:10px;display:block}
.inverted .index{color:#8c8c90}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border:1px solid #29292c}
.service{min-height:330px;padding:26px;display:flex;flex-direction:column;border-right:1px solid #29292c}.service:last-child{border-right:0}
.service>span{font-size:.7rem;color:#6f6f74}.service h3{margin:auto 0 12px;font:800 1.6rem Manrope,sans-serif}.service p{color:#99999e;font-size:.88rem;line-height:1.6}
.split-title{display:flex;justify-content:space-between;gap:60px;align-items:flex-end}.narrow{max-width:420px;margin-bottom:12px}
.talent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:66px}
.portrait{height:560px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:24px;background:#222}
.portrait:before,.portrait:after{display:none;}
.portrait span{position:relative;z-index:2;font:800 clamp(2rem,4vw,4rem)/.9 Manrope;color:rgba(255,255,255,.9);letter-spacing:-.07em}
.p1{
  background-image:url("./images/gin.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;}
  .p2{background-image:url("./images/sora.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;}
  .p3{
  background-image:url("./images/asa.png");
  background-size:cover;
  background-position:center ;
  background-repeat:no-repeat;
}

.talent-info{display:grid;grid-template-columns:1fr auto;grid-template-areas:"h b" "p b";padding-top:18px;border-top:1px solid var(--line)}
.talent-info h3{grid-area:h;margin:0;font:800 1.05rem Manrope}.talent-info p{grid-area:p;margin:4px 0 0;color:#757570;font-size:.75rem}.talent-info b{grid-area:b;font-size:.7rem;color:#888}
.awards{margin-top:80px;border-top:1px solid rgba(0,0,0,.28)}.awards article{display:grid;grid-template-columns:90px 1fr 40px;gap:30px;align-items:center;padding:27px 0;border-bottom:1px solid rgba(0,0,0,.28)}
.awards span{font-size:.72rem;font-weight:700}.awards h3{font:800 1.35rem Manrope;margin:0}.awards p{margin:6px 0 0;color:#595a30}.awards i{font-style:normal;font-size:1.3rem}
.events{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:14px;margin-top:66px}.event{min-height:510px;padding:28px;display:flex;flex-direction:column;justify-content:space-between}
.event span {
  font-size: .68em;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.event h3 a {
  color: inherit;
  text-decoration: none;
  font: inherit;
  letter-spacing: inherit;
  text-transform: none;
},.event a{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.event h3{font:800 clamp(2.5rem,4.5vw,4.9rem)/.88 Manrope;margin:auto 0;letter-spacing:-.065em}
.event-1{background:#0d0d0e;color:#fff}.event-2{background:#d3d0ca}.event-3{background:var(--acid)}
.join{min-height:85vh;position:relative;display:flex;align-items:center;background:#080809;color:white;overflow:hidden}.join-bg{position:absolute;inset:0;background:radial-gradient(circle at 78% 50%,#404044 0,#151517 31%,#080809 62%)}
.join-bg:after{content:"";position:absolute;width:42vw;height:42vw;border:1px solid #5b5b60;border-radius:50%;right:8vw;top:12vh}
.join-inner{position:relative;z-index:2}.join .index{color:#999}.join p:not(.index){max-width:550px;color:#aaa;line-height:1.7;margin:28px 0}.join .button{margin-top:6px}
.contact-title{margin-top:48px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:80px;padding-top:28px}
.contact-grid>div{min-height:120px}.contact-grid span{font-size:.65rem;letter-spacing:.12em;font-weight:700;color:#777;display:block;margin-bottom:18px}.contact-grid a{display:block;margin:7px 0}.contact-grid p{margin:0}
footer{background:#080809;color:#fff;padding:28px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-logo img {
  height: 45px;
  width: auto;
  display: block;
}.footer-inner p,.footer-inner>a{font-size:.68rem;color:#818186}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
/* =========================================================
   STARSTREAM — COLOR + MOBILE RESPONSIVE FIX
   DÁN NGUYÊN KHỐI NÀY Ở CUỐI styles.css
========================================================= */


/* =========================
   SECTION COLORS
========================= */

.light {
  background-color: #ffffff !important;
}

.cream {
  background-color: #f5f5f2 !important;
}

.acid {
  background-color: #e9ed6f !important;
}

.dark {
  background-color: #0c0c0d !important;
  color: #ffffff;
}

/* Màu riêng Achievements */
#achievements {
  background-color: #E6ED9F !important;
}


/* =========================================================
   MOBILE / TABLET
========================================================= */

@media (max-width: 900px) {

  /* =========================
     CHỐNG TRÀN NGANG
  ========================= */

  html,
  body {
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

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


  /* =========================
     TOPBAR
  ========================= */

  .topbar {
    position: fixed !important;

    top: 0 !important;
    left: 0 !important;
    right: 0 !important;

    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;

    margin: 0 !important;
    padding: 0 16px !important;

    background: #000000 !important;
    background-color: #000000 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    mix-blend-mode: normal !important;

    overflow: visible !important;

    z-index: 9999 !important;
  }


  /* =========================
     LOGO TOPBAR
  ========================= */

  .topbar .logo {
    display: flex !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 0 !important;

    flex: 0 0 auto !important;
  }

  .topbar .logo img {
    display: block !important;

    height: 24px !important;
    width: auto !important;

    max-width: 105px !important;

    object-fit: contain !important;
  }


  /* =========================
     NÚT 3 GẠCH
  ========================= */

  .menu-btn {
    display: flex !important;

    width: 30px !important;
    height: 30px !important;

    margin: 0 !important;
    padding: 5px !important;

    border: 0 !important;
    outline: 0 !important;

    background: transparent !important;

    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 4px !important;

    cursor: pointer !important;

    position: relative !important;

    flex: 0 0 auto !important;

    z-index: 10001 !important;
  }

  .menu-btn span {
    display: block !important;

    width: 18px !important;
    height: 2px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff !important;

    border-radius: 0 !important;
  }


  /* =========================
     MENU MOBILE
  ========================= */

  .nav {
    position: fixed !important;

    top: 48px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding:
      26px
      20px
      calc(30px + env(safe-area-inset-bottom))
      20px !important;

    background: #000000 !important;
    background-color: #000000 !important;

    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;

    mix-blend-mode: normal !important;

    display: flex !important;
    flex-direction: column !important;

    align-items: flex-start !important;
    justify-content: flex-start !important;

    gap: 20px !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;

    transform: none !important;
    -webkit-transform: none !important;

    transition:
      opacity 0.2s ease,
      visibility 0.2s ease !important;

    z-index: 9998 !important;
  }


  /* MENU SAU KHI BẤM NÚT */

  .nav.open {
    opacity: 1 !important;
    visibility: visible !important;

    pointer-events: auto !important;

    background: #000000 !important;
    background-color: #000000 !important;
  }


  /* TỪNG DÒNG MENU */

  .nav a {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 5px 0 !important;

    background: transparent !important;

    color: #ffffff !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    line-height: 1.25 !important;

    text-decoration: none !important;

    white-space: normal !important;

    opacity: 1 !important;
  }


  /* =========================
     CONTAINER CHÍNH
  ========================= */

  .wrap {
    width: calc(100% - 30px) !important;
    max-width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
  }


  /* =========================
     SECTION
  ========================= */

  .section {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding: 82px 0 !important;

    box-sizing: border-box !important;
  }

  .section-head {
    grid-template-columns: 1fr !important;
  }


  /* =========================
     HERO
  ========================= */

  .hero-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .hero-inner {
    padding-bottom: 11vh !important;
  }

  .hero h1 {
    max-width: 100% !important;

    font-size: clamp(3.2rem, 16vw, 5.3rem) !important;

    line-height: 0.9 !important;

    white-space: normal !important;

    overflow-wrap: break-word !important;
  }

  .hero-word {
    top: 25vh !important;
  }

  .orb-a {
    width: 90vw !important;
    height: 90vw !important;

    max-width: 100% !important;
  }


  /* =========================
     TYPOGRAPHY
  ========================= */

  .section h1,
  .section h2,
  .section h3,
  .section p,
  .section span,
  .section a {
    max-width: 100% !important;

    white-space: normal !important;

    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
  }

  .section h2,
  .join h2,
  .contact-title {
    font-size: clamp(2.8rem, 13vw, 5rem) !important;

    line-height: 0.95 !important;
  }

  .section h3 {
    font-size: clamp(1.1rem, 5.5vw, 1.8rem) !important;

    line-height: 1.1 !important;
  }

  .section p {
    font-size: 14px !important;

    line-height: 1.5 !important;
  }


  /* =========================
     NUMBERS
  ========================= */

  .numbers {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    width: 100% !important;

    margin-top: 58px !important;
  }

  .number-card {
    min-width: 0 !important;
  }

  .number-card:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
  }


  /* =========================
     SERVICES
  ========================= */

  .service-grid {
    grid-template-columns: 1fr !important;

    width: 100% !important;
  }

  .service {
    width: 100% !important;
    min-width: 0 !important;

    border-right: 0 !important;
    border-bottom: 1px solid #29292c !important;
  }

  .service:last-child {
    border-bottom: 0 !important;
  }


  /* =========================
     TALENTS
  ========================= */

  .talent-grid {
    grid-template-columns: 1fr !important;

    width: 100% !important;
  }

  .portrait {
    width: 100% !important;
    min-width: 0 !important;

    height: min(115vw, 680px) !important;

    overflow: hidden !important;
  }


  /* =========================
     ACHIEVEMENTS
  ========================= */

  .awards {
    width: 100% !important;
  }

  .awards article {
    width: 100% !important;

    min-width: 0 !important;

    grid-template-columns: 48px minmax(0, 1fr) 20px !important;

    gap: 12px !important;
  }

  .awards h3 {
    min-width: 0 !important;

    font-size: 1rem !important;

    white-space: normal !important;

    overflow-wrap: break-word !important;
  }


  /* =========================
     EVENTS
  ========================= */

  .events {
    width: 100% !important;

    grid-template-columns: 1fr !important;
  }

  .event {
    width: 100% !important;
    min-width: 0 !important;

    min-height: 390px !important;

    overflow: hidden !important;
  }

  .event h3,
  .event p,
  .event span,
  .event a {
    max-width: 100% !important;

    white-space: normal !important;

    overflow-wrap: break-word !important;
  }


  /* =========================
     SPLIT TITLE
  ========================= */

  .split-title {
    flex-direction: column !important;
    align-items: flex-start !important;
  }


  /* =========================
     CONTACT
  ========================= */

  .contact-grid {
    grid-template-columns: 1fr !important;

    gap: 26px !important;
  }


  /* =========================
     IMAGES
  ========================= */

  img {
    max-width: 100%;
  }


  /* =========================
     FOOTER
  ========================= */

  .footer-inner {
    flex-direction: column !important;

    align-items: flex-start !important;

    gap: 16px !important;
  }

}