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

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Inter","Noto Sans JP",sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(calc(100% - 48px),1180px);margin-inline:auto}

/* Header / wordmark */
.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(44,36,66,.08)}
.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between}
.wordmark{display:inline-flex;align-items:center;font-size:25px;font-weight:900;letter-spacing:-.06em;line-height:1;filter:drop-shadow(0 3px 0 rgba(255,255,255,.95))}
.wordmark .vivi{background:linear-gradient(180deg,#ff8bc2 0%,var(--accent) 85%);-webkit-background-clip:text;color:transparent;-webkit-text-stroke:1px #9e3769}
.wordmark .con{background:linear-gradient(180deg,#7be2ff 0%,#189ae7 85%);-webkit-background-clip:text;color:transparent;-webkit-text-stroke:1px #3367ba}
.global-nav{display:flex;gap:29px;align-items:center;font-size:11px;font-weight:900;letter-spacing:.13em}
.global-nav>a:not(.nav-x):hover{color:var(--accent)}
.nav-x{padding:10px 16px;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--accent2),#2f9cff)}
.menu-toggle{display:none;background:none;border:0;padding:6px}
.menu-toggle span{display:block;width:24px;height:1px;background:var(--ink);margin:5px 0}

/* Hero */
.hero{padding:106px 0 46px}
.hero-stage{min-height:735px;position:relative;overflow:hidden;border-radius:42px;padding:72px;background:
  radial-gradient(circle at 8% 8%,rgba(255,101,168,.18),transparent 26%),
  radial-gradient(circle at 43% 18%,rgba(255,216,74,.23),transparent 27%),
  linear-gradient(120deg,#fff8fb 0%,#fffbed 45%,#edfaff 100%);
  border:1px solid rgba(44,36,66,.06)}
.hero-stage::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,101,168,.13) 1.5px,transparent 1.5px);background-size:22px 22px;opacity:.28;mask-image:linear-gradient(90deg,#000,transparent 62%);pointer-events:none}
.hero-copy{position:relative;z-index:6;width:51%;padding-top:36px}
.eyebrow,.section-kicker{margin:0 0 22px;font-size:10px;font-weight:900;letter-spacing:.22em;color:var(--accent)}
.hero h1{margin:0;display:grid;gap:2px;font-size:clamp(64px,6.9vw,110px);line-height:.83;letter-spacing:-.075em;font-weight:900}
.hero-line{display:block}
.hero-line.pink{color:#f62e8d}
.hero-line.blue{color:#188ff0}
.hero-line.yellow{color:#f2b600}
.hero-lead{max-width:590px;margin:30px 0 32px;color:#60576d;font-size:14px;font-weight:500}
.hero-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.button{min-height:55px;padding:0 24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:28px;font-size:11px;font-weight:900;letter-spacing:.09em;transition:.2s}
.button:hover{transform:translateY(-2px)}
.button-pink{background:linear-gradient(135deg,#ff4299,var(--accent));color:#fff;box-shadow:0 13px 30px rgba(255,101,168,.21)}
.button-white{background:#fff;border:1px solid rgba(44,36,66,.12);box-shadow:0 8px 20px rgba(44,36,66,.05)}
.hero-x{font-size:11px;font-weight:900;padding:9px 3px}

.hero-art{position:absolute;z-index:4;right:-5px;top:25px;width:57%;height:650px;border-radius:60px 25px 35px 80px;overflow:hidden}
.concept-art,.custom-hero-image{width:100%;height:100%;object-fit:cover;display:block;mix-blend-mode:multiply}
.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,0) 23%);pointer-events:none}
.hero-watermark{position:absolute;left:40px;bottom:-70px;font-size:215px;line-height:1;font-weight:900;letter-spacing:-.09em;color:rgba(255,101,168,.065);z-index:1}
.hero-ribbon{position:absolute;z-index:2;height:22px;border-radius:999px;filter:blur(.1px)}
.ribbon-1{width:210px;right:30%;top:43px;background:linear-gradient(90deg,var(--accent),#ffb2d7);transform:rotate(-24deg)}
.ribbon-2{width:160px;right:12%;bottom:36px;background:linear-gradient(90deg,var(--accent3),#fff0a4);transform:rotate(21deg)}
.float-shape{position:absolute;z-index:5}
.sparkle{font-size:32px}.sp1{left:45%;top:83px;color:var(--accent3);transform:rotate(15deg)}.sp2{right:3%;top:28%;color:var(--accent)}
.heart{font-size:30px}.ht1{left:44%;bottom:12%;color:var(--accent)}
.bubble{border-radius:50%;border:1px solid rgba(46,157,232,.23);background:rgba(255,255,255,.26);box-shadow:inset 7px 8px 18px rgba(255,255,255,.6)}
.b1{width:58px;height:58px;left:53%;bottom:7%}.b2{width:31px;height:31px;right:4%;top:13%}

/* Shared sections */
.section{padding:112px 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.section h2{margin:0;font-size:clamp(42px,5.2vw,75px);line-height:1.03;letter-spacing:-.055em}
.about-section{position:relative;overflow:hidden;color:#fff;background:
  radial-gradient(circle at 88% 25%,rgba(89,207,255,.22),transparent 25%),
  radial-gradient(circle at 72% 110%,rgba(255,101,168,.22),transparent 33%),
  var(--dark)}
.about-section::after{content:"✦";position:absolute;right:6%;bottom:-95px;color:rgba(255,216,74,.09);font-size:310px}
.about-section .section-kicker{color:var(--accent3)}
.about-copy{font-size:16px;color:rgba(255,255,255,.78);max-width:650px}
.about-copy p{margin:0 0 24px}
.about-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}
.about-tags span{padding:7px 10px;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.13em}

.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:52px}
.section-description{max-width:430px;color:var(--muted);font-size:14px;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card{min-height:330px;position:relative;overflow:hidden;padding:28px;border:1px solid rgba(44,36,66,.11);border-radius:29px;background:#fff;display:flex;flex-direction:column;transition:.23s}
.service-card::before{content:"";position:absolute;inset:0 0 auto;height:8px;background:var(--accent)}
.service-card.theme-2::before{background:var(--accent2)}
.service-card.theme-3::before{background:var(--accent3)}
.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 50px rgba(44,36,66,.09)}
.service-card.theme-1:hover{background:#fff2f8}.service-card.theme-2:hover{background:#effaff}.service-card.theme-3:hover{background:#fffbea}
.service-number{font-size:10px;font-weight:900;letter-spacing:.15em;color:var(--muted)}
.service-arrow{position:absolute;right:25px;top:25px;font-size:20px;opacity:.45}
.service-icon{position:absolute;right:27px;bottom:26px;font-size:52px;line-height:1;color:rgba(255,101,168,.12)}
.service-card.theme-2 .service-icon{color:rgba(89,207,255,.16)}.service-card.theme-3 .service-icon{color:rgba(255,216,74,.24)}
.service-card h3{margin:auto 0 17px;font-size:24px;line-height:1.15;letter-spacing:-.035em;max-width:86%}
.service-card p{margin:0;max-width:90%;color:var(--muted);font-size:13px}

.event-panel{min-height:390px;position:relative;overflow:hidden;border-radius:40px;padding:65px;background:
  radial-gradient(circle at 84% 8%,rgba(255,255,255,.25),transparent 21%),
  linear-gradient(120deg,#ff4b9f 0%,#ff8fc3 35%,#65d9ff 100%);
  color:#fff;display:grid;grid-template-columns:1fr auto;gap:55px;align-items:center}
.event-panel::before{content:"";position:absolute;right:-60px;bottom:-130px;width:390px;height:390px;border-radius:50%;border:45px solid rgba(255,255,255,.08)}
.event-deco{position:absolute;right:28%;top:10px;font-size:240px;line-height:1;color:rgba(255,240,125,.12);transform:rotate(13deg)}
.event-copy{position:relative;z-index:2}.event-panel .section-kicker{color:#fff4ae}.event-panel p{max-width:680px;color:rgba(255,255,255,.9)}
.event-action{min-width:260px;position:relative;z-index:2;text-align:center}
.event-button{width:100%;background:#fff;color:var(--ink)}
.event-action small{display:block;margin-top:10px;font-size:9px;font-weight:900;letter-spacing:.15em}

.contact-box{padding:62px;border-radius:32px;border:1px solid rgba(44,36,66,.1);background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}
.contact-box p{max-width:620px;color:var(--muted)}
.contact-actions{display:grid;gap:12px}
.contact-mail{position:relative;padding:22px 40px 22px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.contact-mail span{display:block;color:var(--muted);font-size:9px;letter-spacing:.16em}
.contact-mail strong{font-size:clamp(18px,2.3vw,31px)}
.contact-mail b{position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:24px}
.contact-x{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:999px;background:linear-gradient(135deg,#30bff1,#2c8ef4);color:#fff;font-size:11px;font-weight:900}

.site-footer{padding:28px 0 36px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(44,36,66,.1);padding-top:26px}
.footer-wordmark{font-size:24px}.site-footer p{margin:0;color:var(--muted);font-size:9px}

/* Works */
.works-page{padding:130px 0 80px}
.works-hero{position:relative;padding:45px 0 62px;border-bottom:1px solid rgba(44,36,66,.11)}
.back-link{display:inline-block;margin-bottom:42px;font-size:10px;font-weight:900}
.works-hero h1{margin:0;font-size:clamp(78px,11vw,155px);line-height:.8;letter-spacing:-.08em}
.works-hero>p:last-of-type{max-width:750px;margin:36px 0 0;color:var(--muted);font-size:14px}
.works-sparkles{position:absolute;right:3%;top:30%;display:flex;gap:25px;align-items:center}
.works-sparkles span:nth-child(1){color:var(--accent);font-size:42px}.works-sparkles span:nth-child(2){color:var(--accent3);font-size:70px}.works-sparkles span:nth-child(3){color:var(--accent2);font-size:38px}
.works-category{scroll-margin-top:100px;padding:70px 0 84px;border-bottom:1px solid rgba(44,36,66,.11)}
.works-category-head{display:grid;grid-template-columns:60px 1fr;gap:20px}
.works-category-head>span{padding-top:10px;color:var(--accent);font-size:10px;font-weight:900}
.works-category-head h2{margin:0;font-size:clamp(34px,4.5vw,66px);line-height:1.02;letter-spacing:-.055em}
.works-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px 0 0 80px}
.work-card{padding:17px;border:1px solid rgba(44,36,66,.11);border-radius:25px;background:#fff}
.work-thumb{aspect-ratio:4/3;border-radius:18px;position:relative;display:grid;place-items:center;background:#fff0f7;overflow:hidden;color:var(--accent)}
.work-card.theme-2 .work-thumb{background:#edfaff;color:#159dcc}.work-card.theme-3 .work-thumb{background:#fff9df;color:#ae8000}
.work-mark{position:absolute;font-size:110px;opacity:.12}.work-thumb strong{position:relative;font-size:11px;letter-spacing:.12em}
.work-card h3{margin:17px 0 4px}.work-card p{margin:0;color:var(--muted);font-size:12px}

@media(max-width:980px){
  .hero-stage{min-height:710px;padding:52px}.hero-copy{width:56%}.hero-art{width:55%;height:620px}
  .service-grid{grid-template-columns:repeat(2,1fr)}.split,.contact-box{grid-template-columns:1fr}
  .event-panel{grid-template-columns:1fr}.works-cards{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:720px){
  .container{width:min(calc(100% - 26px),1180px)}
  .header-inner{height:68px}.wordmark{font-size:22px}.menu-toggle{display:block;z-index:4}
  .global-nav{position:fixed;inset:68px 0 auto;padding:25px 20px 30px;background:rgba(255,255,255,.98);display:none;flex-direction:column;align-items:flex-start;gap:18px;border-bottom:1px solid rgba(44,36,66,.1)}.global-nav.is-open{display:flex}
  .hero{padding:84px 0 28px}.hero-stage{min-height:auto;padding:26px 20px 34px;border-radius:30px}
  .hero-art{position:relative;right:auto;top:auto;width:100%;height:350px;border-radius:26px;margin-bottom:20px;order:0}
  .hero-stage{display:flex;flex-direction:column}.hero-copy{width:100%;padding-top:0;order:1}.hero h1{font-size:14.6vw}
  .hero-art::after{background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.2))}
  .hero-lead{font-size:12px;line-height:1.75}.hero-actions{gap:9px}.hero-actions .button{min-height:49px;padding:0 18px}
  .hero-x{width:100%;padding-top:5px}.hero-ribbon,.sp1,.sp2,.ht1,.b1,.b2{display:none}.hero-watermark{font-size:105px;bottom:-20px;left:12px}
  .section{padding:80px 0}.section h2{font-size:12vw}.split{gap:38px}.section-heading{display:block}.section-description{margin-top:18px}
  .service-grid{grid-template-columns:1fr}.service-card{min-height:255px}
  .event-panel{min-height:auto;padding:35px 24px;border-radius:29px}.event-action{min-width:0}
  .contact-box{padding:35px 24px;gap:34px}.footer-inner{display:block}.footer-inner p{margin-top:15px}
  .works-page{padding-top:102px}.works-hero h1{font-size:22vw}.works-sparkles{display:none}
  .works-category{padding:52px 0 62px}.works-category-head{grid-template-columns:35px 1fr}.works-cards{grid-template-columns:1fr;margin-left:0}
}


/* v18: simple rounded wordmark only */
.wordmark{
  display:inline-flex;
  align-items:center;
  gap:0;
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
  transform:none;
  filter:none;
  font-family:"Fredoka","Inter",sans-serif;
  font-size:25px;
  font-weight:700;
  letter-spacing:-.055em;
  line-height:1;
}
.wordmark::before,
.wordmark::after{
  content:none;
}
.wordmark:hover{
  transform:none;
  box-shadow:none;
}
.wordmark .vivi,
.wordmark .con{
  display:inline-block;
  -webkit-text-stroke:0;
  text-shadow:none;
}
.wordmark .vivi{
  background:linear-gradient(180deg,#ff92c5 0%,#ff5aa7 62%,#ef3f91 100%);
  -webkit-background-clip:text;
  color:transparent;
}
.wordmark .con{
  background:linear-gradient(180deg,#92eaff 0%,#4bcdf7 55%,#259ce8 100%);
  -webkit-background-clip:text;
  color:transparent;
}
.footer-wordmark{
  font-size:24px;
}
@media(max-width:720px){
  .wordmark{font-size:22px;}
}


/* v19: remove center ViviCon logo, use translucent colorful abstract art only */
.hero-art{
  background:transparent;
  overflow:visible;
}
.hero-art::after{
  content:none;
}
.hero-art-abstract{
  position:absolute;
  z-index:4;
  right:0;
  top:15px;
  width:58%;
  height:670px;
  pointer-events:none;
}

/* soft color field */
.hero-art-abstract::before{
  content:"";
  position:absolute;
  inset:5% 0 2% 5%;
  border-radius:46% 54% 50% 50% / 43% 42% 58% 57%;
  background:
    radial-gradient(circle at 35% 30%,rgba(255,101,168,.26),transparent 34%),
    radial-gradient(circle at 72% 40%,rgba(89,207,255,.29),transparent 35%),
    radial-gradient(circle at 58% 78%,rgba(255,216,74,.24),transparent 34%);
  filter:blur(8px);
}

.abstract-orbit{
  position:absolute;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.55);
  box-shadow:0 0 0 1px rgba(44,36,66,.05);
  backdrop-filter:blur(2px);
}
.orbit-pink{
  width:450px;
  height:270px;
  right:8%;
  top:20%;
  border-color:rgba(255,101,168,.35);
  transform:rotate(-18deg);
}
.orbit-blue{
  width:520px;
  height:240px;
  right:-2%;
  top:38%;
  border-color:rgba(89,207,255,.38);
  transform:rotate(12deg);
}
.orbit-yellow{
  width:360px;
  height:360px;
  right:15%;
  top:16%;
  border-color:rgba(255,216,74,.27);
}

.abstract-bubble{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.82);
  box-shadow:
    inset 9px 10px 22px rgba(255,255,255,.5),
    0 8px 26px rgba(44,36,66,.06);
  backdrop-filter:blur(7px);
}
.bubble-pink{
  width:175px;
  height:175px;
  right:43%;
  top:30%;
  background:rgba(255,101,168,.22);
}
.bubble-blue{
  width:245px;
  height:245px;
  right:9%;
  top:24%;
  background:rgba(89,207,255,.22);
}
.bubble-yellow{
  width:125px;
  height:125px;
  right:27%;
  bottom:12%;
  background:rgba(255,216,74,.25);
}

.abstract-star{
  position:absolute;
  line-height:1;
  text-shadow:0 7px 18px rgba(44,36,66,.08);
}
.star-pink{
  right:7%;
  top:12%;
  color:rgba(255,101,168,.86);
  font-size:64px;
  transform:rotate(11deg);
}
.star-blue{
  right:48%;
  top:14%;
  color:rgba(89,207,255,.82);
  font-size:44px;
  transform:rotate(-12deg);
}
.star-yellow{
  right:29%;
  bottom:8%;
  color:rgba(255,216,74,.91);
  font-size:80px;
  transform:rotate(8deg);
}

.abstract-ribbon{
  position:absolute;
  height:24px;
  border-radius:999px;
  opacity:.5;
  filter:blur(.2px);
}
.ribbon-pink{
  width:280px;
  right:10%;
  top:12%;
  background:linear-gradient(90deg,transparent,rgba(255,101,168,.78),transparent);
  transform:rotate(-24deg);
}
.ribbon-blue{
  width:330px;
  right:5%;
  bottom:19%;
  background:linear-gradient(90deg,transparent,rgba(89,207,255,.74),transparent);
  transform:rotate(18deg);
}
.ribbon-yellow{
  width:210px;
  right:38%;
  bottom:11%;
  background:linear-gradient(90deg,transparent,rgba(255,216,74,.75),transparent);
  transform:rotate(-8deg);
}

.abstract-glow{
  position:absolute;
  border-radius:50%;
  filter:blur(35px);
}
.glow-center{
  width:260px;
  height:260px;
  right:19%;
  top:31%;
  background:radial-gradient(circle,rgba(255,255,255,.72) 0%,rgba(255,255,255,.15) 42%,transparent 70%);
}

/* remove concept image-related visual traces */
.concept-art,
.custom-hero-image{
  display:none !important;
}

@media(max-width:980px){
  .hero-art-abstract{
    width:54%;
    height:610px;
  }
  .orbit-pink{width:360px;height:220px}
  .orbit-blue{width:420px;height:205px}
  .orbit-yellow{width:300px;height:300px}
  .bubble-pink{width:145px;height:145px}
  .bubble-blue{width:200px;height:200px}
}

@media(max-width:720px){
  .hero-art-abstract{
    position:relative;
    right:auto;
    top:auto;
    width:100%;
    height:320px;
    margin-bottom:8px;
    order:0;
  }
  .hero-copy{
    order:1;
  }
  .hero-art-abstract::before{
    inset:0 2% 0;
  }
  .orbit-pink{
    width:260px;height:145px;right:13%;top:25%;
  }
  .orbit-blue{
    width:290px;height:130px;right:2%;top:42%;
  }
  .orbit-yellow{
    width:190px;height:190px;right:18%;top:16%;
  }
  .bubble-pink{
    width:100px;height:100px;right:47%;top:31%;
  }
  .bubble-blue{
    width:145px;height:145px;right:11%;top:24%;
  }
  .bubble-yellow{
    width:80px;height:80px;right:29%;bottom:5%;
  }
  .star-pink{font-size:42px;right:5%;top:8%}
  .star-blue{font-size:32px;right:55%;top:12%}
  .star-yellow{font-size:54px;right:31%;bottom:3%}
  .abstract-ribbon{height:17px}
  .ribbon-pink{width:180px;right:10%;top:9%}
  .ribbon-blue{width:220px;right:4%;bottom:15%}
  .ribbon-yellow{width:140px;right:43%;bottom:8%}
  .glow-center{width:170px;height:170px;right:21%;top:29%}
}


/* v20: typography-only hero */
.hero-stage{
  min-height:720px;
  background:
    linear-gradient(120deg,#fffafc 0%,#fffdf3 48%,#f4fbff 100%);
}

.hero-stage::before{
  opacity:.13;
}

.hero-type-field{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  overflow:hidden;
}

.scatter{
  position:absolute;
  display:block;
  font-weight:900;
  line-height:.9;
  letter-spacing:-.055em;
  white-space:nowrap;
  user-select:none;
}

.word-cosplay{
  right:7%;
  top:9%;
  font-size:82px;
  color:rgba(255,101,168,.16);
  transform:rotate(3deg);
}
.word-casting{
  right:10%;
  top:27%;
  font-size:34px;
  color:var(--accent);
  transform:rotate(-4deg);
}
.word-management{
  right:-2%;
  top:37%;
  font-size:58px;
  color:rgba(44,36,66,.12);
  transform:rotate(2deg);
}
.word-photo{
  right:28%;
  top:51%;
  font-size:44px;
  color:var(--accent2);
  transform:rotate(-3deg);
}
.word-movie{
  right:7%;
  top:58%;
  font-size:72px;
  color:rgba(89,207,255,.18);
  transform:rotate(4deg);
}
.word-fansite{
  right:25%;
  bottom:19%;
  font-size:29px;
  color:#dfaa00;
  transform:rotate(3deg);
}
.word-event{
  right:3%;
  bottom:23%;
  font-size:48px;
  color:var(--accent);
  transform:rotate(-5deg);
}
.word-goods{
  left:5%;
  bottom:7%;
  font-size:31px;
  color:rgba(255,101,168,.22);
  transform:rotate(-4deg);
}
.word-studio{
  left:31%;
  bottom:6%;
  font-size:58px;
  color:rgba(89,207,255,.18);
  transform:rotate(2deg);
}
.word-community{
  right:1%;
  bottom:4%;
  font-size:92px;
  color:rgba(255,216,74,.18);
  transform:rotate(-2deg);
}
.word-creative{
  left:43%;
  top:11%;
  font-size:28px;
  color:rgba(44,36,66,.16);
  transform:rotate(5deg);
}

/* Main copy stays dominant above scattered words */
.hero-copy{
  position:relative;
  z-index:6;
  width:54%;
}
.hero h1{
  position:relative;
  z-index:7;
}
.hero-lead,
.hero-actions,
.eyebrow{
  position:relative;
  z-index:7;
}

/* Remove all decorative graphics from previous versions */
.hero-art,
.hero-art-abstract,
.abstract-orbit,
.abstract-bubble,
.abstract-star,
.abstract-ribbon,
.abstract-glow,
.hero-ribbon,
.float-shape,
.hero-logo-wrap,
.hero-logo,
.hero-logo-halo,
.sticker,
.concept-art,
.custom-hero-image{
  display:none !important;
}

.hero-watermark{
  z-index:1;
  opacity:.65;
}

@media(max-width:980px){
  .word-cosplay{font-size:66px;right:4%}
  .word-management{font-size:44px}
  .word-movie{font-size:56px}
  .word-community{font-size:74px}
  .hero-copy{width:61%}
}

@media(max-width:720px){
  .hero-stage{
    min-height:720px;
    display:block;
  }
  .hero-copy{
    width:100%;
    padding-top:58px;
  }
  .hero-type-field{
    position:absolute;
    inset:0;
  }
  .word-cosplay{
    right:-3%;
    top:5%;
    font-size:43px;
  }
  .word-casting{
    right:6%;
    top:17%;
    font-size:20px;
  }
  .word-management{
    right:-8%;
    top:25%;
    font-size:30px;
  }
  .word-photo{
    right:5%;
    top:49%;
    font-size:25px;
  }
  .word-movie{
    right:-4%;
    top:56%;
    font-size:40px;
  }
  .word-fansite{
    right:7%;
    bottom:22%;
    font-size:18px;
  }
  .word-event{
    right:-2%;
    bottom:14%;
    font-size:30px;
  }
  .word-goods{
    left:3%;
    bottom:6%;
    font-size:19px;
  }
  .word-studio{
    left:30%;
    bottom:5%;
    font-size:34px;
  }
  .word-community{
    right:-3%;
    bottom:1%;
    font-size:45px;
  }
  .word-creative{
    left:5%;
    top:31%;
    font-size:18px;
  }
}


/* v21: header ViviCon typography aligned with main hero heading */
.wordmark{
  font-family:"Inter","Noto Sans JP",sans-serif !important;
  font-size:24px;
  font-weight:900;
  letter-spacing:-.075em;
  line-height:.86;
}
.wordmark .vivi,
.wordmark .con{
  font-family:"Inter","Noto Sans JP",sans-serif !important;
  font-weight:900;
  letter-spacing:-.075em;
}
.footer-wordmark{
  font-size:23px;
  font-weight:900;
}
@media(max-width:720px){
  .wordmark{
    font-size:21px;
  }
}

.vivicon-uploaded-hero{position:absolute;right:0;top:0;width:48%;height:100%;object-fit:cover;border-radius:24px;z-index:2}
@media(max-width:720px){.vivicon-uploaded-hero{position:relative;width:100%;height:260px;margin-top:24px}}
