*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#121826;background:#fff}.container{width:min(1180px,calc(100% - 48px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid #eef1f4}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:18px;text-decoration:none;color:#111827}.brand-name{font:800 26px/1 Inter,sans-serif;letter-spacing:-.03em}.brand-divider{width:1px;height:22px;background:#b8c0cc}.brand-role{font:500 15px/1 Inter,sans-serif;letter-spacing:.04em;color:#536071}.nav a{text-decoration:none;color:#202939;font-weight:600;font-size:15px}.hero{position:relative;overflow:hidden;background:linear-gradient(90deg,#fff 0%,#fbfcfd 50%,#f4f7f9 100%);border-bottom:1px solid #f0f2f4}.hero-visual{position:absolute;inset:0 0 0 52%;background:radial-gradient(circle at 50% 48%,rgba(185,195,206,.28),rgba(255,255,255,0) 42%),linear-gradient(135deg,rgba(211,218,226,.28),rgba(255,255,255,.85));filter:saturate(.7)}.hero-visual:before{content:"";position:absolute;width:360px;height:220px;right:120px;top:72px;border:16px solid rgba(95,108,124,.12);border-radius:18px;transform:rotate(-5deg);box-shadow:0 36px 80px rgba(55,65,81,.12)}.hero-visual:after{content:"";position:absolute;width:9px;height:160px;background:rgba(61,72,88,.1);right:280px;top:260px;transform:rotate(18deg);border-radius:10px}.hero-inner{position:relative;min-height:430px;display:flex;align-items:center;justify-content:space-between}.hero-copy{padding:78px 0 64px;max-width:650px}.hero-kicker{margin:0 0 16px;font-size:18px;color:#556070}.hero h1{margin:0;font-size:clamp(46px,6vw,78px);line-height:1.06;letter-spacing:-.045em}.hero-lead{margin:22px 0 0;font-size:20px;line-height:1.8;color:#5c6675}.hero-script{position:absolute;right:40px;top:135px;display:flex;flex-direction:column;align-items:flex-end;transform:rotate(-5deg);color:#7d8ba3;opacity:.75}.script-main{font:400 70px/1 "Sacramento",cursive}.script-sub{margin-top:8px;font-size:15px;letter-spacing:.12em}.works{padding:44px 0 84px}.filters{display:flex;gap:14px;margin-bottom:34px}.filter-btn{border:0;background:#f2f4f7;color:#344054;border-radius:999px;padding:13px 28px;font:600 15px/1 "Noto Sans JP",sans-serif;cursor:pointer;transition:.2s}.filter-btn:hover{transform:translateY(-1px)}.filter-btn.active{background:#121826;color:white}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 40px}.work-card{min-width:0}.thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:14px;overflow:hidden;text-decoration:none;color:white;background:#d9dee5;box-shadow:0 10px 24px rgba(16,24,40,.08);isolation:isolate}.thumb:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(0,0,0,.15),rgba(0,0,0,.02));z-index:-1}.thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.42),rgba(0,0,0,0) 55%);z-index:-1}.thumb-copy{position:absolute;left:28px;bottom:24px;display:flex;flex-direction:column;gap:7px;text-shadow:0 2px 10px rgba(0,0,0,.25)}.thumb-copy strong{font-size:clamp(24px,3vw,42px);line-height:1.12;letter-spacing:-.03em}.thumb-copy small{font:600 12px/1.3 Inter,sans-serif;letter-spacing:.12em}.thumb-script{font:400 36px/1 Sacramento,cursive}.center-copy{top:50%;bottom:auto;transform:translateY(-50%)}.duration{position:absolute;right:14px;bottom:13px;background:rgba(14,18,24,.85);padding:5px 8px;border-radius:6px;font:700 12px/1 Inter,sans-serif}.work-meta{padding:16px 3px 0}.tag{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;color:#fff;margin-bottom:8px}.tag-pink{background:#ff5b6e}.tag-blue{background:#4d8ef7}.tag-green{background:#38b889}.tag-orange{background:#ffab2e}.tag-purple{background:#ab5cf5}.work-meta h2{margin:0;font-size:20px;line-height:1.5;letter-spacing:-.02em}.work-meta p{margin:6px 0 0;color:#6a7381;font-size:14px;line-height:1.7}.thumb-travel{background:linear-gradient(150deg,#66b1e9 0%,#337ec7 38%,#163d6f 72%,#0f273e 100%)}.thumb-interview{background:radial-gradient(circle at 70% 35%,#f7d9c7 0 15%,transparent 16%),linear-gradient(135deg,#6b513f,#c99470 45%,#f1d3b9)}.thumb-brand{background:linear-gradient(135deg,#b7d8ef,#e9f1f7 50%,#aebcc8)}.thumb-coffee{background:linear-gradient(135deg,#5b3926,#a86a3f 55%,#d3a46d)}.thumb-game{background:radial-gradient(circle at 70% 45%,#2c50ff 0 12%,transparent 13%),linear-gradient(135deg,#06172f,#0c4580 45%,#7c1d3b)}.thumb-vlog{background:linear-gradient(135deg,#c3b39d,#7e6851 48%,#3b3029)}.thumb-fitness{background:linear-gradient(135deg,#15202f,#38455b 55%,#8a675f)}.thumb-craft{background:linear-gradient(135deg,#2f2b27,#6f4d35 52%,#151312)}.site-footer{border-top:1px solid #eef1f4;padding:28px 0 34px;background:#fff}.footer-inner{display:flex;align-items:center;justify-content:space-between}.footer-brand .brand-name{font-size:20px}.footer-brand .brand-role{font-size:13px}.footer-inner p{margin:0;color:#8b95a4;font-size:12px}.hidden{display:none!important}@media (max-width:900px){.hero-inner{min-height:360px}.hero-visual{left:45%;opacity:.7}.hero-script{display:none}.hero h1{font-size:48px}.work-grid{grid-template-columns:1fr}.filters{flex-wrap:wrap}}@media (max-width:640px){.container{width:min(100% - 28px,1180px)}.header-inner{height:72px}.brand-role,.brand-divider{display:none}.nav a{font-size:14px}.hero-visual{left:15%;opacity:.18}.hero-inner{min-height:330px}.hero-copy{padding:54px 0 44px}.hero-kicker{font-size:14px}.hero h1{font-size:40px}.hero-lead{font-size:16px}.works{padding:28px 0 60px}.filters{gap:8px;margin-bottom:24px}.filter-btn{padding:11px 18px;font-size:13px}.work-grid{gap:28px}.work-meta h2{font-size:18px}.footer-inner{gap:20px}.footer-inner p{text-align:right}}

.real-thumb{background:#111}
.real-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.real-thumb:hover img{transform:scale(1.025)}
.real-thumb:before,.real-thumb:after{display:none}
.play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(17,24,39,.78);color:#fff;font-size:20px;padding-left:4px;box-shadow:0 10px 28px rgba(0,0,0,.22);backdrop-filter:blur(8px)}
.social-placeholder{display:grid;place-items:center;background:#121826}
.social-placeholder.tiktok{background:linear-gradient(135deg,#0c0c0f,#1a1a22)}
.social-placeholder.instagram{background:linear-gradient(135deg,#5133a6,#d8498a 55%,#f59b45)}
.platform-card{text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center}
.platform-name{font:700 14px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.platform-card strong{font:700 32px/1.1 Inter,sans-serif}
.platform-card small{font-size:13px;opacity:.75}


/* ===== Portfolio hero redesign ===== */
.site-header .brand-name,
.footer-brand .brand-name{
  font-size:20px;
  letter-spacing:-.02em;
}
.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 28%, rgba(226,231,238,.95), rgba(255,255,255,0) 32%),
    linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%);
  border-bottom:1px solid #eef1f4;
}
.hero-inner{
  min-height:370px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
  gap:70px;
  align-items:center;
}
.hero-copy{
  padding:52px 0 48px;
  max-width:720px;
}
.hero-kicker{
  margin:0 0 12px;
  font:700 12px/1 Inter,sans-serif;
  letter-spacing:.18em;
  color:#8a94a3;
}
.hero h1{
  margin:0;
  font:800 clamp(54px,5.8vw,82px)/.96 Inter,"Noto Sans JP",sans-serif;
  letter-spacing:-.055em;
  color:#121826;
}
.hero-lead{
  margin:24px 0 0;
  font-size:22px;
  line-height:1.65;
  font-weight:600;
  color:#30394a;
}
.hero-detail{
  margin:14px 0 0;
  color:#6c7685;
  font-size:14px;
  line-height:1.85;
}
.hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
}
.hero-tags span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border:1px solid #e3e7ec;
  border-radius:999px;
  background:#fff;
  color:#525d6d;
  font:600 11px/1 Inter,sans-serif;
  letter-spacing:.02em;
  box-shadow:0 4px 12px rgba(16,24,40,.03);
}
.hero-showcase{
  position:relative;
  min-height:310px;
}
.screen-card{
  position:absolute;
  background:#151b26;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 24px 70px rgba(17,24,39,.16);
}
.screen-wide{
  width:390px;
  height:235px;
  right:48px;
  top:26px;
  border-radius:20px;
  transform:rotate(-3deg);
  overflow:hidden;
}
.screen-top{
  height:34px;
  background:#202836;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 14px;
}
.screen-top span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#687386;
}
.screen-body{
  height:calc(100% - 34px);
  padding:14px;
  display:grid;
  grid-template-rows:1fr 60px;
  gap:12px;
}
.preview-pane{
  position:relative;
  border-radius:12px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,0)),
    linear-gradient(135deg,#38485f,#151b26 65%);
  overflow:hidden;
}
.preview-pane:before{
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  right:34px;
  top:18px;
}
.preview-label{
  position:absolute;
  left:16px;
  bottom:14px;
  padding:5px 8px;
  border-radius:6px;
  background:rgba(0,0,0,.38);
  color:#fff;
  font:700 10px/1 Inter,sans-serif;
}
.timeline{
  display:grid;
  gap:5px;
}
.track{
  border-radius:5px;
  background:#2d3748;
  position:relative;
  overflow:hidden;
}
.track:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:68%;
  background:#697789;
}
.track-2:before{width:48%}
.track-3:before{width:82%}
.screen-vertical{
  width:150px;
  height:250px;
  right:0;
  top:78px;
  border-radius:22px;
  transform:rotate(6deg);
  padding:10px;
  z-index:2;
}
.vertical-preview{
  height:170px;
  border-radius:14px;
  background:linear-gradient(160deg,#737f91,#1e2530);
  display:grid;
  place-items:center;
  color:#fff;
  font:700 12px/1 Inter,sans-serif;
}
.vertical-lines{
  display:grid;
  gap:7px;
  margin-top:12px;
}
.vertical-lines i{
  height:7px;
  border-radius:99px;
  background:#394354;
}
.vertical-lines i:nth-child(2){width:75%}
.vertical-lines i:nth-child(3){width:55%}
.showcase-note{
  position:absolute;
  left:18px;
  bottom:4px;
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#7b8797;
}
.showcase-note span{
  font:800 12px/1 Inter,sans-serif;
  letter-spacing:.18em;
}
.showcase-note strong{
  font:600 12px/1.3 Inter,sans-serif;
  color:#4f5a69;
}
.works{
  padding-top:28px;
}
@media (max-width:980px){
  .hero-inner{
    grid-template-columns:1fr;
    gap:10px;
  }
  .hero-copy{
    padding-bottom:20px;
  }
  .hero-showcase{
    min-height:280px;
    margin-bottom:20px;
  }
  .screen-wide{
    left:0;
    right:auto;
  }
  .screen-vertical{
    right:10%;
  }
}
@media (max-width:640px){
  .hero-inner{min-height:auto}
  .hero-copy{padding:42px 0 18px}
  .hero h1{font-size:44px}
  .hero-lead{font-size:18px}
  .hero-detail br{display:none}
  .hero-showcase{min-height:210px}
  .screen-wide{
    width:290px;
    height:175px;
  }
  .screen-body{grid-template-rows:1fr 46px}
  .screen-vertical{
    width:108px;
    height:185px;
    right:0;
    top:44px;
  }
  .vertical-preview{height:120px}
  .showcase-note{display:none}
}


/* ===== Stylish hero showcase redesign ===== */
.hero-showcase{
  position:relative;
  min-height:340px;
  isolation:isolate;
}
.showcase-glow{
  position:absolute;
  border-radius:999px;
  filter:blur(34px);
  opacity:.8;
  z-index:0;
}
.glow-1{
  width:220px;
  height:220px;
  right:20px;
  top:24px;
  background:rgba(105,136,214,.18);
}
.glow-2{
  width:180px;
  height:180px;
  left:36px;
  bottom:18px;
  background:rgba(86,199,176,.16);
}
.hero-panel{
  position:absolute;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 26px 70px rgba(15,23,42,.12);
  backdrop-filter:blur(18px);
  z-index:1;
}
.hero-panel-main{
  width:430px;
  height:274px;
  right:34px;
  top:18px;
  border-radius:28px;
  padding:16px;
}
.panel-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}
.panel-header p{
  margin:0;
  font:600 12px/1 Inter,sans-serif;
  letter-spacing:.06em;
  color:#687386;
}
.panel-dots{
  display:flex;
  gap:6px;
}
.panel-dots span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#c6ced8;
}
.panel-preview{
  width:100%;
  border-radius:18px;
}
.panel-landscape{
  height:142px;
  background:
    linear-gradient(180deg,rgba(10,14,20,.06),rgba(10,14,20,.34)),
    url("https://img.youtube.com/vi/4DsAnD_0wOw/maxresdefault.jpg") center/cover no-repeat;
}
.panel-meta{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:14px;
}
.panel-meta span,
.panel-phone-meta span{
  font:700 11px/1 Inter,sans-serif;
  letter-spacing:.12em;
  color:#8a94a3;
  text-transform:uppercase;
}
.panel-meta strong,
.panel-phone-meta strong{
  color:#121826;
  font:700 16px/1.35 "Noto Sans JP", Inter, sans-serif;
}
.panel-timeline{
  display:grid;
  gap:6px;
  margin-top:14px;
}
.panel-timeline i{
  display:block;
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg,#3b4a5e 0 58%, #d8dee6 58% 100%);
}
.panel-timeline i:nth-child(2){
  background:linear-gradient(90deg,#6f8197 0 42%, #d8dee6 42% 100%);
}
.panel-timeline i:nth-child(3){
  background:linear-gradient(90deg,#1e2a3a 0 76%, #d8dee6 76% 100%);
}
.hero-panel-vertical{
  width:186px;
  height:300px;
  left:12px;
  bottom:0;
  border-radius:30px;
  padding:14px;
  transform:rotate(-6deg);
}
.panel-phone-preview{
  width:100%;
  height:208px;
  border-radius:22px;
  background:
    linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.28)),
    url("https://img.youtube.com/vi/1Mu2jjWC_P0/maxresdefault.jpg") center/cover no-repeat;
}
.panel-phone-meta{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:14px;
}
.hero-chip{
  position:absolute;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 16px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(231,236,241,.95);
  box-shadow:0 14px 30px rgba(15,23,42,.08);
  color:#4d5868;
  font:600 12px/1 Inter,sans-serif;
  letter-spacing:.02em;
  z-index:2;
}
.hero-chip-1{
  right:24px;
  bottom:-4px;
}
.hero-chip-2{
  left:118px;
  top:12px;
}
@media (max-width:980px){
  .hero-showcase{
    min-height:300px;
  }
  .hero-panel-main{
    width:360px;
    height:246px;
    right:18px;
  }
  .hero-panel-vertical{
    width:154px;
    height:258px;
    left:0;
  }
  .panel-phone-preview{
    height:172px;
  }
}
@media (max-width:640px){
  .hero-showcase{
    min-height:240px;
  }
  .hero-panel-main{
    width:270px;
    height:190px;
    right:0;
    top:10px;
    border-radius:22px;
    padding:12px;
  }
  .panel-landscape{
    height:90px;
    border-radius:14px;
  }
  .panel-meta strong,
  .panel-phone-meta strong{
    font-size:12px;
  }
  .panel-header p,
  .panel-meta span,
  .panel-phone-meta span{
    font-size:10px;
  }
  .panel-timeline{
    margin-top:10px;
  }
  .panel-timeline i{
    height:6px;
  }
  .hero-panel-vertical{
    width:110px;
    height:190px;
    padding:10px;
    border-radius:22px;
  }
  .panel-phone-preview{
    height:120px;
    border-radius:14px;
  }
  .hero-chip{
    font-size:10px;
    min-height:30px;
    padding:0 12px;
  }
  .hero-chip-1{
    right:4px;
    bottom:-8px;
  }
  .hero-chip-2{
    left:72px;
    top:0;
  }
}


/* ===== Premium photo hero redesign ===== */
.hero{
  background:
    radial-gradient(circle at 86% 24%, rgba(210,217,229,.42), rgba(255,255,255,0) 32%),
    linear-gradient(180deg,#ffffff 0%, #f8fafc 100%);
  border-bottom:1px solid #edf1f5;
}
.hero-inner{
  min-height:560px;
  grid-template-columns:minmax(0,0.95fr) minmax(480px,1.05fr);
  gap:56px;
}
.hero-copy{
  padding:70px 0 58px;
  max-width:650px;
}
.hero-kicker{
  margin:0 0 14px;
  font:700 12px/1 Inter,sans-serif;
  letter-spacing:.22em;
  color:#8e97a6;
}
.hero h1{
  margin:0;
  font:800 clamp(52px,6vw,78px)/.96 Inter,"Noto Sans JP",sans-serif;
  letter-spacing:-.055em;
  color:#0f1726;
}
.hero-lead{
  margin:24px 0 0;
  font-size:22px;
  line-height:1.7;
  font-weight:600;
  color:#2f3a4a;
}
.hero-detail{
  margin:16px 0 0;
  color:#697485;
  font-size:14px;
  line-height:1.9;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.hero-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  text-decoration:none;
  border:1px solid transparent;
  font:700 14px/1 Inter,"Noto Sans JP",sans-serif;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.hero-btn:hover{
  transform:translateY(-1px);
}
.hero-btn.primary{
  background:#121826;
  color:#fff;
  box-shadow:0 14px 28px rgba(17,24,39,.14);
}
.hero-btn.ghost{
  background:#fff;
  color:#243041;
  border-color:#dde4ec;
}
.hero-stats{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.hero-stat{
  min-width:160px;
  padding:14px 16px;
  border:1px solid #e8edf3;
  border-radius:18px;
  background:rgba(255,255,255,.78);
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.hero-stat strong{
  display:block;
  margin-bottom:6px;
  color:#101828;
  font:800 16px/1.2 Inter,sans-serif;
}
.hero-stat span{
  color:#6d7787;
  font:500 12px/1.4 Inter,sans-serif;
}
.hero-showcase{
  position:relative;
  min-height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
  isolation:isolate;
}
.hero-photo-card{
  position:relative;
  width:100%;
  max-width:620px;
  aspect-ratio: 16 / 9;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 30px 90px rgba(15,23,42,.20);
  transform-style:preserve-3d;
  transition:transform .18s ease-out;
  background:#0f1623;
}
.hero-photo-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(4,11,20,.74) 0%, rgba(4,11,20,.42) 36%, rgba(4,11,20,.18) 62%, rgba(4,11,20,.38) 100%),
    linear-gradient(0deg, rgba(3,9,16,.24), rgba(3,9,16,.24)),
    url("hero-top-reference.png") center/cover no-repeat;
  transform:scale(1.02);
}
.hero-photo-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.08), rgba(255,255,255,0) 22%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0));
  pointer-events:none;
}
.hero-photo-copy{
  position:absolute;
  left:34px;
  top:34px;
  z-index:2;
  color:#fff;
}
.photo-kicker{
  display:inline-block;
  margin-bottom:16px;
  font:700 10px/1 Inter,sans-serif;
  letter-spacing:.25em;
  color:rgba(255,255,255,.72);
}
.hero-photo-copy h2{
  margin:0;
  font:700 clamp(34px,3.4vw,48px)/1.08 "Noto Sans JP",Inter,sans-serif;
  letter-spacing:-.04em;
}
.hero-photo-copy p{
  margin:16px 0 0;
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.8;
}
.hero-play-button{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:92px;
  height:92px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.55);
  background:rgba(10,16,24,.24);
  backdrop-filter:blur(6px);
  display:grid;
  place-items:center;
  z-index:2;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.play-triangle{
  color:#fff;
  font-size:28px;
  padding-left:6px;
  line-height:1;
}
.hero-photo-note{
  position:absolute;
  right:28px;
  bottom:24px;
  z-index:2;
  color:#fff;
  text-align:right;
}
.hero-photo-note span{
  display:block;
  font:400 28px/1 "Sacramento",cursive;
  color:rgba(255,255,255,.9);
}
.hero-photo-note strong{
  display:block;
  margin-top:6px;
  font:700 10px/1.2 Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:.22em;
  color:rgba(255,255,255,.62);
}
.floating-card{
  position:absolute;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(233,238,244,.95);
  box-shadow:0 20px 40px rgba(15,23,42,.10);
  backdrop-filter:blur(16px);
  z-index:3;
}
.floating-card span{
  color:#7a8698;
  font:700 10px/1 Inter,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.floating-card strong{
  color:#121826;
  font:700 13px/1.45 Inter,"Noto Sans JP",sans-serif;
}
.floating-card-top{
  right:4px;
  top:24px;
}
.floating-card-bottom{
  left:10px;
  bottom:12px;
}

/* reveal animation */
.hero .reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .65s ease, transform .65s ease;
}
.hero .reveal.in-view{
  opacity:1;
  transform:translateY(0);
}

@media (max-width:1100px){
  .hero-inner{
    grid-template-columns:1fr;
    gap:20px;
    min-height:auto;
  }
  .hero-copy{
    max-width:unset;
    padding:54px 0 10px;
  }
  .hero-showcase{
    min-height:360px;
    padding-bottom:16px;
  }
}
@media (max-width:720px){
  .hero-lead{
    font-size:18px;
  }
  .hero-detail br{
    display:none;
  }
  .hero-stats{
    display:grid;
    grid-template-columns:1fr;
  }
  .hero-showcase{
    min-height:250px;
  }
  .hero-photo-copy{
    left:18px;
    top:18px;
  }
  .hero-photo-copy h2{
    font-size:28px;
  }
  .hero-photo-copy p{
    font-size:12px;
    line-height:1.7;
  }
  .hero-play-button{
    width:66px;
    height:66px;
  }
  .play-triangle{
    font-size:20px;
  }
  .hero-photo-note{
    right:14px;
    bottom:12px;
  }
  .hero-photo-note span{
    font-size:22px;
  }
  .floating-card{
    display:none;
  }
}


/* ===== Cinematic hero only ===== */
.hero-cinematic{
  position:relative;
  min-height:470px;
  overflow:hidden;
  background:#07101b;
  border-bottom:1px solid #e9edf2;
}
.hero-cinematic-bg{
  position:absolute;
  inset:0;
  background:url("hero-cinematic.png") center center/cover no-repeat;
  transform:scale(1.015);
}
.hero-cinematic-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(4,10,18,.92) 0%, rgba(4,10,18,.78) 27%, rgba(4,10,18,.28) 55%, rgba(4,10,18,.08) 100%),
    linear-gradient(180deg, rgba(4,10,18,.08), rgba(4,10,18,.24));
}
.hero-cinematic-inner{
  position:relative;
  z-index:2;
  min-height:470px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.hero-cinematic-copy{
  width:min(660px,62%);
  padding:70px 0 64px;
  color:#fff;
}
.hero-cinematic-kicker{
  margin:0 0 18px;
  font-size:18px;
  line-height:1.6;
  font-weight:500;
  color:rgba(255,255,255,.82);
  letter-spacing:.02em;
}
.hero-cinematic h1{
  margin:0;
  font:800 clamp(50px,6vw,78px)/1.06 "Noto Sans JP",Inter,sans-serif;
  letter-spacing:-.05em;
  color:#fff;
  text-shadow:0 5px 24px rgba(0,0,0,.25);
}
.hero-cinematic-lead{
  margin:24px 0 0;
  font-size:19px;
  line-height:1.8;
  color:rgba(255,255,255,.84);
}
.hero-cinematic-accent{
  position:absolute;
  right:16px;
  bottom:28px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  color:rgba(255,255,255,.72);
  letter-spacing:.2em;
  text-align:right;
}
.hero-cinematic-accent span{
  font:500 10px/1.3 Inter,sans-serif;
}
.hero-cinematic-accent strong{
  margin-top:6px;
  font:700 13px/1.3 Inter,sans-serif;
}
@media (max-width:800px){
  .hero-cinematic{
    min-height:420px;
  }
  .hero-cinematic-inner{
    min-height:420px;
  }
  .hero-cinematic-overlay{
    background:
      linear-gradient(90deg, rgba(4,10,18,.90) 0%, rgba(4,10,18,.72) 50%, rgba(4,10,18,.34) 100%),
      linear-gradient(180deg, rgba(4,10,18,.10), rgba(4,10,18,.24));
  }
  .hero-cinematic-copy{
    width:78%;
    padding:56px 0 50px;
  }
}
@media (max-width:640px){
  .hero-cinematic{
    min-height:380px;
  }
  .hero-cinematic-inner{
    min-height:380px;
  }
  .hero-cinematic-copy{
    width:92%;
  }
  .hero-cinematic-kicker{
    font-size:14px;
  }
  .hero-cinematic h1{
    font-size:42px;
  }
  .hero-cinematic-lead{
    font-size:15px;
  }
  .hero-cinematic-accent{
    display:none;
  }
}
