:root{
  --premium-bg:#05091b;
  --premium-panel:#0d1534;
  --premium-panel-2:#111c42;
  --premium-line:rgba(151,170,244,.2);
  --premium-text:#f4f7ff;
  --premium-muted:#aeb9dc;
  --premium-blue:#5d8dff;
  --premium-violet:#ad6cff;
  --premium-cyan:#59ddff;
}

body.detail-premium{
  --ink:var(--premium-text);
  --muted:var(--premium-muted);
  --base:#080e28;
  --card:var(--premium-panel);
  --line:var(--premium-line);
  color:var(--premium-text);
  background:
    radial-gradient(900px 620px at 8% 5%,rgba(47,113,255,.16),transparent 70%),
    radial-gradient(820px 620px at 92% 18%,rgba(172,79,255,.14),transparent 68%),
    var(--premium-bg);
}
body.detail-premium::before,
body.detail-premium::after{
  content:"";
  position:fixed;
  z-index:-2;
  width:44vw;
  height:44vw;
  border-radius:50%;
  filter:blur(36px);
  opacity:.42;
  pointer-events:none;
  animation:premium-orbit 22s ease-in-out infinite alternate;
}
body.detail-premium::before{left:-18vw;top:20vh;background:radial-gradient(circle,rgba(43,154,255,.25),transparent 68%)}
body.detail-premium::after{right:-20vw;top:56vh;background:radial-gradient(circle,rgba(174,76,255,.2),transparent 68%);animation-delay:-9s}
body.detail-premium main{position:relative;isolation:isolate;overflow:hidden}
body.detail-premium main::before{
  content:"";
  position:absolute;
  z-index:-3;
  inset:0;
  background-image:linear-gradient(rgba(120,145,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(120,145,255,.032) 1px,transparent 1px);
  background-size:56px 56px;
  pointer-events:none;
}

body.detail-premium .site-header{
  border-bottom-color:rgba(140,158,224,.18);
  background:rgba(5,9,27,.86);
  box-shadow:0 18px 52px rgba(0,0,0,.18);
}
body.detail-premium .brand-name{color:#fff}
body.detail-premium .brand-name small{color:#929fc8}
body.detail-premium .brand-mark{box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 32px rgba(111,104,255,.36)}
body.detail-premium .menu-button{color:#fff}
body.detail-premium .detail-header-phone{color:#f4f7ff;opacity:1}
body.detail-premium .detail-header-phone span,
body.detail-premium .detail-header-phone small{color:#aeb9dc}
body.detail-premium .detail-header-phone:hover{color:#8fb4ff}

body.detail-premium .detail-hero{
  min-height:min(780px,92vh);
  display:grid;
  align-items:center;
  background:
    linear-gradient(100deg,rgba(5,9,28,.99) 0%,rgba(7,12,36,.93) 49%,rgba(9,14,43,.74) 100%),
    radial-gradient(800px 520px at 84% 24%,rgba(130,84,255,.3),transparent 70%),
    #060a20;
}
body.detail-premium .detail-hero::after{
  content:"";
  position:absolute;
  inset:auto -8% -42% 35%;
  height:72%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(65,127,255,.22),rgba(170,72,255,.12) 38%,transparent 72%);
  filter:blur(24px);
  animation:premium-breathe 8s ease-in-out infinite;
}
body.detail-premium .detail-hero-grid{z-index:1}
body.detail-premium .hero-panel,
body.detail-premium .delivery-board,
body.detail-premium .pricing-axis{
  border:1px solid rgba(157,176,255,.25);
  background:linear-gradient(145deg,rgba(25,38,88,.78),rgba(7,13,38,.86));
  box-shadow:0 34px 92px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08),0 0 54px rgba(97,86,255,.1);
  backdrop-filter:blur(18px) saturate(1.15);
}
body.detail-premium .hero-mini-flow li,
body.detail-premium .pricing-axis-card{
  border-color:rgba(158,174,237,.18);
  background:linear-gradient(135deg,rgba(31,45,97,.74),rgba(13,23,57,.8));
}

body.detail-premium .section{
  position:relative;
  color:var(--premium-text);
  background:linear-gradient(180deg,rgba(6,10,29,.64),rgba(7,12,34,.86));
}
body.detail-premium .section:nth-of-type(3n+1){background:linear-gradient(135deg,rgba(10,18,48,.94),rgba(5,9,27,.92))}
body.detail-premium .section:nth-of-type(3n+2){background:linear-gradient(225deg,rgba(17,18,55,.9),rgba(5,10,31,.94))}
body.detail-premium .section::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(520px 240px at var(--section-glow-x,86%) 20%,rgba(103,82,255,.12),transparent 74%);
  pointer-events:none;
}
body.detail-premium .section:nth-of-type(even){--section-glow-x:14%}
body.detail-premium .section>.wrap,
body.detail-premium .section>.narrow{position:relative;z-index:1}
body.detail-premium .section-head .section-title,
body.detail-premium .pricing-section-head h2{color:#f7f9ff}
body.detail-premium .section-lead,
body.detail-premium .pricing-section-head p{color:var(--premium-muted)}
body.detail-premium .eyebrow{color:#8fb0ff}

body.detail-premium :is(.card,.step,.feature-group,.link-card,.video-card,.industry-output-card,.model-card,.support-card,.case-study,.quote,.faq-list details,.cost-card,.calc,.plan-card,.pricing-plan-card,.topup-card,.implementation-subscription-card,.selection-card,.cost-option,.expiry-card,.consult-plan-shell,.support-promise,.support-model-card,.support-roadmap-phase,.support-meeting,.support-rule-detail,.support-team-role,.partner-fit-card,.partner-type-card,.need-card,.service-card,.deliverable-card,.delivery-step){
  border-color:rgba(146,166,239,.19);
  color:var(--premium-text);
  background:linear-gradient(145deg,rgba(19,31,72,.93),rgba(9,16,42,.96));
  box-shadow:0 22px 58px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.045);
}
body.detail-premium :is(.card,.step,.feature-group,.link-card,.video-card,.industry-output-card,.model-card,.support-card,.case-study,.quote,.faq-list details,.cost-card,.plan-card,.pricing-plan-card,.topup-card,.implementation-subscription-card,.selection-card,.cost-option,.expiry-card,.support-promise,.support-model-card,.support-roadmap-phase,.support-meeting,.support-rule-detail,.support-team-role,.partner-fit-card,.partner-type-card,.need-card,.service-card,.deliverable-card,.delivery-step):hover{
  border-color:rgba(126,150,255,.38);
  box-shadow:0 28px 72px rgba(0,0,0,.28),0 0 38px rgba(94,104,255,.09),inset 0 1px 0 rgba(255,255,255,.07);
}
body.detail-premium :is(.card,.step,.feature-group,.link-card,.video-copy,.model-card,.support-card,.case-block,.feature-item,.pricing-plan-card,.topup-card,.selection-card,.cost-option,.expiry-card,.support-promise,.support-model-card,.support-roadmap-phase,.support-meeting,.support-rule-detail,.support-team-role,.need-card,.service-card,.deliverable-card,.delivery-step) p,
body.detail-premium :is(.check-list li,.fine,.faq-answer){color:var(--premium-muted)}

/* STEP expiry cards: retain the midnight surface while restoring the
   information hierarchy that was lost when the light cards became dark. */
body.detail-premium.pricing-page .expiry-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(126,157,255,.32);
  background:
    radial-gradient(240px 150px at 100% 0,rgba(122,86,255,.16),transparent 72%),
    linear-gradient(145deg,rgba(19,33,78,.98),rgba(9,17,45,.98));
  box-shadow:
    0 22px 54px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.07);
}
body.detail-premium.pricing-page .expiry-card::after{
  content:"";
  position:absolute;
  top:0;
  left:24px;
  width:72px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#5d8dff,#b76cff);
  box-shadow:0 0 15px rgba(112,126,255,.7);
}
body.detail-premium.pricing-page .expiry-card span{
  color:#8fb1ff;
  text-shadow:0 0 16px rgba(93,141,255,.3);
}
body.detail-premium.pricing-page .expiry-card h3{color:#f7f9ff}
body.detail-premium.pricing-page .expiry-card b{
  color:#c4d6ff;
  background:linear-gradient(90deg,#8fb8ff 0%,#c498ff 72%,#e4b2ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 0 24px rgba(99,132,255,.2);
}
body.detail-premium.pricing-page .expiry-card p{
  color:#c1cbea;
  font-size:11px;
  line-height:1.8;
}
@media(max-width:560px){
  body.detail-premium.pricing-page .expiry-card{padding:24px 23px}
  body.detail-premium.pricing-page .expiry-card b{font-size:27px}
}
body.detail-premium .feature-item{background:rgba(255,255,255,.045)}
body.detail-premium .tag{color:#cad3f5;border-color:rgba(160,177,238,.2);background:rgba(255,255,255,.05)}
body.detail-premium .compare-wrap,
body.detail-premium .reward-table-wrap{border-color:rgba(149,168,237,.2);background:#0b1434;box-shadow:0 24px 62px rgba(0,0,0,.25)}
body.detail-premium .compare-table th,
body.detail-premium .compare-table td,
body.detail-premium .reward-table th,
body.detail-premium .reward-table td{border-color:rgba(155,173,235,.16);color:#dce3ff;background:rgba(12,21,52,.92)}
body.detail-premium .compare-table th,
body.detail-premium .reward-table th{color:#aeb9df;background:rgba(23,36,81,.95)}
body.detail-premium .compare-table th:last-child,
body.detail-premium .compare-table td:last-child{background:linear-gradient(135deg,rgba(48,63,135,.94),rgba(38,28,92,.94))}
body.detail-premium .faq-list summary{color:#f4f7ff}
body.detail-premium .quote{border-left-color:#8b78ff;background:linear-gradient(135deg,rgba(29,43,91,.92),rgba(16,23,60,.92))}
body.detail-premium .site-footer{background:#030617}

/* A page-specific visual stage, injected from existing HOME assets. */
.premium-proof{padding:84px 0!important;background:linear-gradient(180deg,#070c24,#0a1030)!important}
.premium-proof::after{
  content:"";
  position:absolute;
  inset:12% -10% auto 44%;
  height:74%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(72,155,255,.19),rgba(157,77,255,.12) 42%,transparent 72%);
  filter:blur(18px);
  pointer-events:none;
}
.premium-proof-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(30px,5vw,76px);align-items:center}
.premium-proof-copy{max-width:520px}
.premium-proof-copy h2{max-width:12em;margin:0 0 18px;font-size:clamp(31px,4vw,48px);line-height:1.28;text-wrap:balance}
.premium-proof-copy>p{color:var(--premium-muted);font-size:15px;line-height:1.9}
.premium-proof-list{display:grid;gap:10px;margin:25px 0 0}
.premium-proof-list li{display:flex;gap:11px;align-items:center;color:#e6ebff;font-size:13px;font-weight:700}
.premium-proof-list li::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--premium-cyan),var(--premium-violet));box-shadow:0 0 18px rgba(89,221,255,.65)}
.premium-proof-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:28px}
.premium-proof-actions .btn{min-width:190px;justify-content:center;box-shadow:0 14px 36px rgba(83,108,255,.28)}
.premium-text-link{display:inline-flex;align-items:center;gap:8px;padding:10px 2px;color:#cbd5ff;font-size:12px;font-weight:800;letter-spacing:.02em;transition:color .2s,transform .2s}
.premium-text-link:hover{color:#fff;transform:translateY(2px)}
.premium-proof-media{position:relative;overflow:hidden;padding:12px;border:1px solid rgba(156,176,255,.28);border-radius:30px;background:linear-gradient(135deg,rgba(81,153,255,.26),rgba(169,72,255,.3));box-shadow:0 32px 84px rgba(0,0,0,.36),0 0 52px rgba(105,98,255,.17)}
.premium-proof-media::before{content:"";position:absolute;inset:-40% -25%;background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.2) 48%,transparent 60%);transform:translateX(-70%);animation:premium-sheen 7s ease-in-out infinite;pointer-events:none}
.premium-proof-media video,.premium-proof-media img{position:relative;width:100%;aspect-ratio:var(--media-ratio,16/9);object-fit:cover;border-radius:20px;background:#050918}
.premium-proof-media figcaption{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 8px 3px;color:#e9edff;font-size:12px;font-weight:700}
.premium-proof-media figcaption small{color:#9da8d2;font-size:10px;font-weight:500}
.premium-audio-toggle{position:absolute;z-index:3;left:25px;top:25px;display:flex;align-items:center;gap:7px;min-height:38px;padding:8px 13px;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;background:rgba(7,12,38,.72);box-shadow:0 9px 24px rgba(0,0,0,.22);backdrop-filter:blur(12px);cursor:pointer;font-size:11px;font-weight:800}
.premium-media-badge{position:absolute;z-index:3;right:25px;top:25px;padding:8px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#eef3ff;background:rgba(7,12,38,.7);box-shadow:0 9px 24px rgba(0,0,0,.2);backdrop-filter:blur(12px);font-size:10px;font-weight:800}

/* Staged glow and CTA motion. */
.premium-glow-group>.premium-glow-item{position:relative;overflow:hidden;isolation:isolate;animation:premium-card-cycle var(--glow-duration,16s) ease-in-out infinite;animation-delay:var(--glow-delay,0s)}
.premium-glow-group>.premium-glow-item::after{content:"";position:absolute;z-index:-1;inset:-35%;background:radial-gradient(circle at 50% 50%,rgba(107,137,255,.3),rgba(167,83,255,.16) 32%,transparent 67%);opacity:0;transform:scale(.7);animation:premium-card-aura var(--glow-duration,16s) ease-in-out infinite;animation-delay:var(--glow-delay,0s);pointer-events:none}
body.detail-premium :is(.detail-hero,.final-cta) :is(.btn-line,.btn-primary),
body.detail-premium .mobile-cta,
body.detail-premium :is(.price-payment-btn,.topup-buy,.consult-buttons a,.partner-submit){animation:premium-cta 5.2s ease-in-out infinite;box-shadow:0 12px 34px rgba(83,108,255,.3),0 0 0 1px rgba(255,255,255,.14) inset}
body.detail-premium .final-cta{background:radial-gradient(640px 340px at 50% 0,rgba(114,99,255,.38),transparent 74%),linear-gradient(180deg,#080d29,#030616)}
body.detail-premium .final-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.055) 50%,transparent 65%);background-size:230% 100%;animation:premium-cta-sheen 8s linear infinite;pointer-events:none}

.premium-swipe-hint{display:none;align-items:center;justify-content:center;gap:10px;margin-top:16px;color:#9eabd4;font-size:10px;font-weight:700;letter-spacing:.04em}
.premium-swipe-hint::before{content:"↔";display:grid;place-items:center;width:28px;height:24px;border:1px solid rgba(148,168,237,.22);border-radius:999px;color:#8fb4ff;background:rgba(255,255,255,.04)}

@keyframes premium-orbit{0%{transform:translate3d(0,-3%,0) scale(.94)}100%{transform:translate3d(9%,8%,0) scale(1.08)}}
@keyframes premium-breathe{0%,100%{opacity:.55;transform:scale(.94)}50%{opacity:.9;transform:scale(1.04)}}
@keyframes premium-sheen{0%,58%{transform:translateX(-70%) rotate(7deg)}78%,100%{transform:translateX(72%) rotate(7deg)}}
@keyframes premium-card-cycle{0%,10%,100%{border-color:rgba(146,166,239,.19);box-shadow:0 22px 58px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.045)}15%,30%{border-color:rgba(124,160,255,.68);box-shadow:0 24px 62px rgba(0,0,0,.25),0 0 34px rgba(94,128,255,.25),inset 0 0 22px rgba(133,98,255,.1)}}
@keyframes premium-card-aura{0%,10%,100%{opacity:0;transform:scale(.7)}16%,29%{opacity:1;transform:scale(1)}}
@keyframes premium-cta{0%,87%,100%{transform:translate3d(0,0,0);filter:brightness(1)}90%{transform:translate3d(-2px,0,0) rotate(-.3deg);filter:brightness(1.08)}92%{transform:translate3d(2px,0,0) rotate(.3deg)}94%{transform:translate3d(-1px,0,0)}96%{transform:translate3d(1px,0,0)}}
@keyframes premium-cta-sheen{0%{background-position:210% 0}100%{background-position:-30% 0}}

@media (max-width:1100px){
  .premium-proof-grid{gap:34px;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr)}
}

@media (max-width:820px){
  body.detail-premium::before,body.detail-premium::after{width:88vw;height:88vw;filter:blur(24px)}
  body.detail-premium .global-nav{border-top:1px solid rgba(145,163,230,.16);background:rgba(5,9,27,.985)}
  body.detail-premium .detail-hero{min-height:auto;padding:118px 0 70px}
  body.detail-premium .detail-hero-grid{gap:30px}
  body.detail-premium .detail-hero h1{font-size:clamp(35px,10.4vw,48px);line-height:1.24}
  body.detail-premium .hero-lead{font-size:14px;line-height:1.82}
  body.detail-premium .section{padding:68px 0}
  body.detail-premium .section-title{font-size:clamp(27px,7.8vw,36px);line-height:1.36}
  body.detail-premium .section-lead{font-size:13px;line-height:1.78}
  .premium-proof{padding:64px 0!important}
  .premium-proof-grid{grid-template-columns:1fr;gap:26px}
  .premium-proof-media{order:-1;padding:8px;border-radius:23px}
  .premium-proof-media video,.premium-proof-media img{border-radius:16px}
  .premium-proof-copy h2{font-size:clamp(29px,8vw,38px)}
  .premium-proof-copy>p{font-size:13px;line-height:1.8}
  .premium-audio-toggle{left:16px;top:16px;min-height:34px;padding:7px 11px}
  .premium-media-badge{right:16px;top:16px;padding:7px 10px}
  .premium-proof-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:24px}
  .premium-proof-actions .btn{width:100%;min-width:0}
  .premium-text-link{justify-content:center}
  .premium-swipe-hint{display:flex}
  body.detail-premium .industry-output-grid{
    display:grid;
    grid-auto-flow:column;
    grid-template-columns:none;
    grid-template-rows:repeat(2,minmax(0,1fr));
    grid-auto-columns:min(78vw,320px);
    gap:12px;
    width:calc(100vw - 15px);
    margin-right:calc((100vw - 100% - 15px) * -1);
    padding:4px 15px 15px 0;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  body.detail-premium .industry-output-grid::-webkit-scrollbar{display:none}
  body.detail-premium .industry-output-card{scroll-snap-align:start}
  body.detail-premium :is(.pricing-plan-grid,.topup-grid,.implementation-subscription-grid){scroll-padding-inline:0}
  body.detail-premium .compare-wrap{border-radius:18px}
  body.detail-premium .final-cta{padding:72px 0 104px}
  body.detail-premium .final-cta p{font-size:13px;line-height:1.8}
}

@media (max-width:560px){
  body.detail-premium .wrap,body.detail-premium .narrow{width:min(100% - 26px,680px)}
  body.detail-premium .card,body.detail-premium .feature-group{padding:21px}
  body.detail-premium .premium-proof-list li{font-size:12px}
  body.detail-premium .premium-proof-media figcaption{display:grid;gap:2px}
  body.detail-premium .premium-proof-media figcaption small{font-size:9px}
}

@media (prefers-reduced-motion:reduce){
  body.detail-premium::before,body.detail-premium::after,
  .premium-proof-media::before,
  .premium-glow-group>.premium-glow-item,
  .premium-glow-group>.premium-glow-item::after,
  body.detail-premium :is(.detail-hero,.final-cta) :is(.btn-line,.btn-primary),
  body.detail-premium .mobile-cta,
  body.detail-premium :is(.price-payment-btn,.topup-buy,.consult-buttons a,.partner-submit),
  body.detail-premium .final-cta::before{animation:none!important}
}

/* Photo-to-presenter comparison used on the generated-video detail page. */
.photo-presenter-showcase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start;margin-top:42px}
.photo-presenter-pair{display:grid;grid-template-rows:auto 42px auto;min-width:0}
.photo-presenter-frame{position:relative;overflow:hidden;aspect-ratio:16/9;margin:0;border:1px solid rgba(151,174,255,.3);border-radius:22px;background:#090f2b;box-shadow:0 24px 55px rgba(1,4,20,.28),inset 0 1px 0 rgba(255,255,255,.08)}
.photo-presenter-frame::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 34px rgba(92,118,255,.08);pointer-events:none}
.photo-presenter-frame img,.photo-presenter-frame video{display:block;width:100%;height:100%;object-fit:cover;background:#070b20}
.photo-presenter-frame figcaption{position:absolute;z-index:2;top:0;left:18px;max-width:calc(100% - 36px);padding:9px 15px;border-radius:0 0 12px 12px;color:#fff;background:linear-gradient(135deg,#5f71f4,#bd5de1);box-shadow:0 10px 24px rgba(82,70,225,.28);font-size:11px;font-weight:900;letter-spacing:.02em}
.photo-presenter-arrow{display:grid;place-items:center;width:34px;height:34px;margin:4px auto;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#fff;background:linear-gradient(135deg,#5d71ff,#c05ee2);box-shadow:0 10px 28px rgba(111,88,248,.3);font-size:20px;font-weight:900}
.photo-presenter-result{box-shadow:0 26px 64px rgba(2,5,24,.34),0 0 34px rgba(97,82,222,.13)}
.photo-presenter-audio{position:absolute;z-index:3;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#fff;background:rgba(6,10,33,.72);box-shadow:0 8px 20px rgba(0,0,0,.24);backdrop-filter:blur(12px);cursor:pointer;font:800 10px/1 'Noto Sans JP',sans-serif;transition:transform .2s,background .2s,border-color .2s}
.photo-presenter-audio:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.42);background:rgba(17,24,62,.84)}
.photo-presenter-audio[aria-pressed="true"]{border-color:rgba(116,218,255,.72);background:linear-gradient(135deg,rgba(63,113,225,.9),rgba(142,77,219,.9));box-shadow:0 8px 24px rgba(83,130,255,.3)}

@media (max-width:820px){
  .photo-presenter-showcase{grid-template-columns:1fr;gap:26px;width:min(100%,560px);margin:30px auto 0}
  .photo-presenter-pair{grid-template-rows:auto 38px auto}
  .photo-presenter-frame{border-radius:18px}
  .photo-presenter-frame figcaption{left:14px;max-width:calc(100% - 28px);padding:8px 12px;font-size:10px}
  .photo-presenter-arrow{width:30px;height:30px;font-size:17px}
}

@media (prefers-reduced-motion:reduce){.photo-presenter-audio{transition:none}}

/* ========================================================================== 
   HOME-COLOR ALIGNMENT / NON-HOME DETAIL PAGES
   HOMEの濃紺・青紫・シアンを基準に、ページ固有CSSに残っていた白い面を
   「セクション / カード / 補助枠」の三段階で統一する。
   ========================================================================== */
body.detail-premium{
  --detail-deep:#060b20;
  --detail-section:#09122f;
  --detail-card:#101b43;
  --detail-card-2:#14244f;
  --detail-line:rgba(136,158,242,.25);
  --detail-text:#f7f9ff;
  --detail-muted:#b7c2e3;
  --detail-blue:#73a8ff;
  --detail-violet:#b174ff;
}

/* Section surfaces: remove isolated white bands while retaining depth. */
body.detail-premium :is(
  .speed-section,
  .partner-fit-section,
  .partner-types-section,
  .partner-support-section,
  .partner-flow-section,
  .partner-faq-section,
  .partner-form-section,
  .support-intro,
  .support-deliverables,
  .topup-section,
  .selection-section,
  .legal-note
){
  color:var(--detail-text);
  background:
    radial-gradient(680px 300px at 90% 0,rgba(161,91,244,.09),transparent 72%),
    linear-gradient(180deg,rgba(12,22,57,.92),rgba(7,13,36,.96));
}

/* Reusable HOME-like cards. */
body.detail-premium :is(
  .partner-fit-card,
  .partner-type-card,
  .partner-support-grid article,
  .partner-flow-list li,
  .business-form.partner-form,
  .philosophy-panel,
  .company-table,
  .job-card,
  .environment-card,
  .selection-step,
  .support-promise,
  .support-model-card,
  .support-meeting,
  .support-review-band,
  .support-deliverable,
  .support-boundary,
  .support-rule,
  .support-rule-detail,
  .reward-schedule,
  .topup-card,
  .consult-detail-card,
  .selection-card
){
  color:var(--detail-text);
  border-color:var(--detail-line);
  background:
    radial-gradient(280px 150px at 100% 0,rgba(158,91,244,.13),transparent 75%),
    linear-gradient(145deg,rgba(20,34,80,.98),rgba(9,17,46,.99));
  box-shadow:0 20px 52px rgba(0,4,24,.32),inset 0 1px 0 rgba(255,255,255,.06);
}

/* Secondary surfaces sit one level above each card, never bright white. */
body.detail-premium :is(
  .partner-conditional,
  .employment-note,
  .support-model-result,
  .support-review-metric,
  .support-boundary-note,
  .reward-rule,
  .topup-note,
  .consult-feature-list li
){
  color:var(--detail-muted);
  border-color:rgba(138,160,238,.2);
  background:rgba(104,125,210,.1);
}

/* Company page was the last page still using a light editorial system. */
body.detail-premium .company-row{border-color:rgba(136,158,242,.18)}
body.detail-premium .company-row dt{
  color:#c8d2f2;
  background:rgba(82,105,185,.18);
}
body.detail-premium .company-row dd,
body.detail-premium .company-row a{color:#eef3ff}
body.detail-premium .job-head{
  border-color:rgba(136,158,242,.2);
  background:linear-gradient(135deg,rgba(70,94,185,.18),rgba(148,77,218,.1));
}
body.detail-premium :is(.job-head h3,.job-column h4,.environment-card h3,.selection-step h3){color:var(--detail-text)}
body.detail-premium :is(.job-catch,.job-column li,.environment-card p,.selection-step p){color:var(--detail-muted)}
body.detail-premium .selection-step:not(:last-child)::after{background:var(--detail-card)}

/* Partner form: dark shell with clearly legible, familiar controls. */
body.detail-premium .business-form.partner-form :is(h2,h3,h4,label,strong){color:var(--detail-text)}
body.detail-premium .business-form.partner-form :is(p,small,.field-help){color:var(--detail-muted)}
body.detail-premium .business-form.partner-form :is(input,select,textarea){
  color:#f7f9ff;
  border-color:rgba(145,165,242,.32);
  background:#0b1536;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body.detail-premium .business-form.partner-form :is(input,textarea)::placeholder{color:#7f8db7}
body.detail-premium .business-form.partner-form :is(input,select,textarea):focus{
  border-color:#778eff;
  outline:3px solid rgba(105,125,255,.17);
}
body.detail-premium .partner-type-card :is(h3,dt,strong),
body.detail-premium .partner-support-grid article h3,
body.detail-premium .partner-flow-list h3{color:var(--detail-text)}
body.detail-premium .partner-type-card :is(p,dd,li),
body.detail-premium .partner-support-grid article p,
body.detail-premium .partner-flow-list p{color:var(--detail-muted)}

/* Production page: keep the channel-launch summary inside the HOME palette. */
body.detail-premium .channel-support-list li{
  border-color:rgba(136,158,242,.24);
  background:linear-gradient(145deg,rgba(18,32,70,.98),rgba(10,20,47,.98));
  box-shadow:0 14px 30px rgba(2,8,28,.28);
}
body.detail-premium .channel-support-list b{color:#dce7ff}
body.detail-premium .channel-support-list span{color:#aebde0}

/* Partner rewards and application controls must follow the same dark hierarchy. */
body.detail-premium .type-reward{
  color:var(--detail-text);
  border-color:rgba(136,158,242,.22);
  background:linear-gradient(145deg,rgba(22,37,83,.96),rgba(10,19,51,.98));
}
body.detail-premium .type-reward-title{border-color:rgba(136,158,242,.18)}
body.detail-premium .type-reward-title :is(small,b),
body.detail-premium .type-rate-list :is(span,strong),
body.detail-premium .type-stepup>p b{color:var(--detail-text)}
body.detail-premium .type-rate-list>div,
body.detail-premium .type-rate-list>div.is-consultation{
  border-color:rgba(136,158,242,.2);
  background:rgba(89,111,201,.12);
}
body.detail-premium .type-rate-list .is-primary{
  border-color:rgba(120,137,255,.42);
  background:linear-gradient(110deg,rgba(91,111,246,.22),rgba(176,82,225,.18));
}
body.detail-premium .type-rate-list .is-consultation strong{color:#dce5ff}
body.detail-premium .type-rate-list .is-primary strong{color:#91b7ff}
body.detail-premium .type-stepup span{
  border:1px solid rgba(136,158,242,.18);
  color:var(--detail-text);
  background:rgba(83,105,190,.13);
  box-shadow:none;
}
body.detail-premium .type-stepup span small{color:var(--detail-muted)}
body.detail-premium .type-stepup span strong{color:#91b7ff}
body.detail-premium .partner-form .form-choice>span,
body.detail-premium .partner-form .partner-inline-checks span{
  color:var(--detail-text);
  border-color:rgba(145,165,242,.24);
  background:rgba(12,23,57,.95);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body.detail-premium .partner-form .form-choice>span::before,
body.detail-premium .partner-form .partner-inline-checks span::before{
  border-color:#7182bd;
  background:#0b1536;
}
body.detail-premium .partner-form .form-choice input:checked+span,
body.detail-premium .partner-form .partner-inline-checks input:checked+span{
  color:#fff;
  border-color:#8094ff;
  background:linear-gradient(120deg,rgba(80,104,228,.3),rgba(165,81,223,.2));
  box-shadow:inset 0 0 0 1px rgba(137,153,255,.65),0 12px 28px rgba(46,61,167,.18);
}
body.detail-premium .consultation-date-row,
body.detail-premium .consultation-date-row.is-required,
body.detail-premium .consent-panel{
  color:var(--detail-text);
  border-color:rgba(136,158,242,.22);
  background:rgba(12,23,57,.95);
}
body.detail-premium .consultation-date-label b,
body.detail-premium .consent-check span{color:var(--detail-text)}
body.detail-premium .consultation-date-label small,
body.detail-premium .consultation-schedule-note,
body.detail-premium .consent-panel>p,
body.detail-premium .consent-check-optional small{color:var(--detail-muted)}
body.detail-premium .consent-check-optional{border-color:rgba(136,158,242,.16)}
body.detail-premium .partner-form .form-status{
  color:#ffc9d1;
  border-color:rgba(245,115,137,.28);
  background:rgba(132,32,61,.2);
}

/* Training/support: stronger contrast for long operational content. */
body.detail-premium :is(.support-meeting,.support-review-band,.support-deliverable,.support-boundary,.support-rule,.support-rule-detail) :is(h3,strong){color:var(--detail-text)}
body.detail-premium :is(.support-meeting,.support-review-band,.support-deliverable,.support-boundary,.support-rule,.support-rule-detail) :is(p,li,span){color:var(--detail-muted)}
body.detail-premium .support-boundary li{border-color:rgba(137,157,233,.14)}
body.detail-premium .support-review-metric strong{color:#91b7ff}

/* Pricing: retain table readability without reintroducing white blocks. */
body.detail-premium.pricing-page .pricing-jump{
  border-color:var(--detail-line);
  background:rgba(8,15,41,.9);
  box-shadow:0 18px 48px rgba(0,4,24,.32),inset 0 1px 0 rgba(255,255,255,.05);
}
body.detail-premium.pricing-page .pricing-jump a{color:#bdc8ea}
body.detail-premium.pricing-page .pricing-jump a:hover{color:#fff}
body.detail-premium .reward-schedule-head h3,
body.detail-premium .reward-schedule-head p{color:var(--detail-text)}
body.detail-premium .reward-schedule-head p{color:var(--detail-muted)}
body.detail-premium .reward-table-wrap{border-color:rgba(136,158,242,.22)}
body.detail-premium .reward-table{background:#0c1638}
body.detail-premium .reward-table th{color:#eef3ff;background:#17254f}
body.detail-premium .reward-table td,
body.detail-premium .reward-table td:not(:first-child){color:#dce4ff;border-color:rgba(136,158,242,.16)}
body.detail-premium .reward-table tr:nth-child(even) td{color:#eef2ff;background:rgba(95,117,199,.1)}
body.detail-premium .reward-table tr:last-child td{color:#9ac5ff;background:rgba(64,112,215,.16)}
body.detail-premium .topup-card-tag,
body.detail-premium .topup-meta,
body.detail-premium .topup-price span{color:#aab6da}
body.detail-premium .topup-price,
body.detail-premium .topup-price b,
body.detail-premium .selection-card h3{color:var(--detail-text)}
body.detail-premium .topup-buy,
body.detail-premium .consult-buttons .talk{
  color:#e5ebff;
  border-color:rgba(145,165,242,.3);
  background:rgba(87,109,195,.14);
}
body.detail-premium .consult-detail-card>p,
body.detail-premium .selection-card p{color:var(--detail-muted)}
body.detail-premium .selection-card b{color:#8fb4ff}
body.detail-premium .expiry-important{
  color:#c2cdeb;
  border-color:#668cff;
  background:linear-gradient(90deg,rgba(55,91,194,.19),rgba(80,101,184,.08));
}
body.detail-premium .expiry-important strong{color:#eff3ff}

/* Small legal bands need contrast, but must remain visually subordinate. */
body.detail-premium .legal-note{color:#9da9cf}

@media (max-width:820px){
  body.detail-premium :is(
    .partner-types-section,.partner-support-section,.partner-faq-section,
    .support-deliverables,.topup-section,.selection-section,.legal-note
  ){background-color:rgba(8,15,42,.94)}
}

/* ONE VIDEO, EVERY LANGUAGE — 多言語展開セクション ----------------------------
   4本の動画を重ねて置き、再生位置を引き継いだままフェードで入れ替える。 */
.lang-switch{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(26px,4vw,54px);align-items:center;margin-top:clamp(30px,4vw,46px)}
.lang-switch-stage{position:relative;margin:0}
.lang-switch-videos{position:relative;overflow:hidden;aspect-ratio:16/9;border:1px solid rgba(151,174,255,.28);border-radius:22px;background:#070c22;box-shadow:0 26px 62px rgba(1,4,20,.3)}
.lang-switch-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .28s ease}
.lang-switch-video.is-active{opacity:1}
.lang-switch-audio{position:absolute;z-index:3;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#fff;background:rgba(6,10,33,.72);box-shadow:0 8px 20px rgba(0,0,0,.24);backdrop-filter:blur(12px);cursor:pointer;font:800 10px/1 'Noto Sans JP',sans-serif;transition:transform .2s,background .2s}
.lang-switch-audio:hover{transform:translateY(-1px);background:rgba(10,16,48,.85)}
.lang-switch-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.lang-switch-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 8px;border:1px solid rgba(151,174,255,.26);border-radius:14px;color:#e9edff;background:rgba(15,24,58,.72);cursor:pointer;font:800 13px/1 'Noto Sans JP',sans-serif;transition:transform .18s,background .18s,border-color .18s}
.lang-switch-button span{font-size:15px;line-height:1}
.lang-switch-button:hover{transform:translateY(-1px);border-color:rgba(148,172,255,.55)}
.lang-switch-button.is-active{border-color:transparent;color:#fff;background:linear-gradient(135deg,#5367f2,#9b67ee);box-shadow:0 12px 28px rgba(83,103,242,.42)}
.lang-switch-points{display:grid;gap:16px;margin:0 0 22px;padding:0;list-style:none}
.lang-switch-points li{display:grid;gap:5px;padding-left:17px;border-left:2px solid rgba(123,150,255,.5)}
.lang-switch-points b{color:#eef2ff;font-size:15px}
.lang-switch-points span{color:#b9c4e6;font-size:13px;line-height:1.85}
.lang-switch-for{display:inline-block;margin:0 0 20px;padding:7px 13px;border-radius:999px;color:#cdd6ff;background:rgba(123,150,255,.14);font-size:12px;font-weight:700}
.lang-list{grid-column:1/-1;margin-top:clamp(24px,3vw,36px);padding:clamp(20px,2.6vw,28px);border:1px solid rgba(151,174,255,.22);border-radius:20px;background:rgba(12,20,52,.5);text-align:center}
.lang-list-title{margin:0 0 14px;color:#eef2ff;font-size:14px;font-weight:800;letter-spacing:.04em}
.lang-list-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-width:820px;margin:0 auto;padding:0;list-style:none}
.lang-list-items li{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border:1px solid rgba(151,174,255,.24);border-radius:999px;color:#e3e9ff;background:rgba(20,30,68,.62);font-size:13px;font-weight:700}
.lang-list-items li span{font-size:15px;line-height:1}
.lang-list-note{margin:16px 0 0;color:#b9c4e6;font-size:12px;line-height:1.9}
@media (max-width:900px){
  .lang-switch{grid-template-columns:1fr;gap:26px}
  .lang-list{padding:18px 14px}
  .lang-list-items{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lang-list-items li{padding:7px 8px;font-size:12px}
  .lang-switch-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .lang-switch-button{min-height:42px;font-size:12px}
  .lang-switch-points li{padding-left:14px}
}
@media (prefers-reduced-motion:reduce){
  .lang-switch-video,.lang-switch-audio,.lang-switch-button{transition:none}
}
