:root { --ink:#111214; --muted:#70737a; --line:#d9dadd; --paper:#f6f5f1; --accent:#ff5a2a; --blue:#2d59ff }
* { box-sizing:border-box }
body { margin:0; background:#fff; color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif }
button,a,input,select,textarea { font:inherit }
.pv-hero {
    min-height:760px;
    padding:88px max(5vw,24px);
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:70px;
    align-items:center;
    background:linear-gradient(135deg,#f7f5f0 0 58%,#e9e7e0 58%)
}
.pv-kicker,.pv-section-head span,.rail-label,.launch-sequence>div>span,.product-lock>div>span { font-size:12px; font-weight:800; letter-spacing:.18em }
.pv-hero h1 { font-size:clamp(58px,7vw,110px); line-height:.87; letter-spacing:-.065em; margin:24px 0 }
.pv-hero h1 em { color:var(--accent); font-style:normal }
.pv-hero p { max-width:620px; font-size:19px; line-height:1.65; color:#555 }
.pv-actions { display:flex; gap:24px; align-items:center; margin-top:34px }
.pv-primary {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--ink);
    color:#fff;
    text-decoration:none;
    border:0;
    padding:16px 24px;
    border-radius:999px;
    font-weight:800;
    cursor:pointer
}
.pv-link { color:var(--ink); font-weight:750; text-decoration:none }
.launch-stage { height:600px; position:relative; display:grid; place-items:center; overflow:hidden }
.stage-light {
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;
    background:radial-gradient(circle,#fff 0 25%,rgba(255,255,255,.55) 35%,transparent 70%);
    filter:blur(2px)
}
.pedestal { position:relative; width:380px; height:470px; display:flex; flex-direction:column; align-items:center; justify-content:center }
.product-disc { width:330px; height:330px; border-radius:50%; overflow:hidden; background:#111; box-shadow:0 42px 80px rgba(0,0,0,.22); z-index:2 }
.product-disc video { width:100%; height:100%; object-fit:cover }
.plinth {
    width:280px;
    height:88px;
    margin-top:-5px;
    background:linear-gradient(#d6d2c8,#aaa69d);
    border-radius:50%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    box-shadow:0 25px 45px rgba(0,0,0,.2)
}
.plinth strong { font-size:11px; letter-spacing:.16em }
.plinth span { font-weight:800 }
.orbit { position:absolute; width:440px; height:250px; border:1px solid rgba(17,18,20,.25); border-radius:50%; transform:rotate(-12deg); animation:spin 12s linear infinite }
.orbit-b { width:520px; height:300px; transform:rotate(18deg); animation-direction:reverse; animation-duration:17s }
@keyframes spin {
    to { rotate:360deg }
}
.source-card,.film-card {
    position:absolute;
    background:rgba(255,255,255,.9);
    backdrop-filter:blur(14px);
    border:1px solid #fff;
    padding:14px;
    border-radius:18px;
    box-shadow:0 18px 45px rgba(0,0,0,.12);
    display:flex;
    flex-direction:column;
    gap:7px
}
.source-card { left:0; top:110px; width:160px }
.source-card img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:12px }
.source-card small,.film-card small { font-size:9px; font-weight:900; letter-spacing:.15em }
.source-card b,.film-card b { font-size:12px }
.film-card { right:0; bottom:100px; width:180px }
.film-card span { font-size:12px; color:#666 }
.pv-builder { padding:100px max(5vw,24px); background:#fff }
.pv-section-head { display:flex; justify-content:space-between; align-items:end; margin-bottom:45px }
.pv-section-head h2,.launch-sequence h2,.product-lock h2,.pv-note h2 { font-size:clamp(36px,5vw,70px); letter-spacing:-.045em; margin:8px 0 }
.builder-grid { display:grid; grid-template-columns:1.2fr repeat(3,1fr); border:1px solid var(--line) }
.upload-tile,.decision { min-height:280px; padding:26px; border-right:1px solid var(--line) }
.upload-tile { cursor:pointer; background:#f5f3ee; display:grid; place-items:center; text-align:center }
.upload-tile input { display:none }
.upload-tile span { font-size:40px }
.upload-tile b,.upload-tile small { display:block; margin-top:8px }
.upload-tile img { max-width:100%; max-height:220px; border-radius:10px }
.decision>span { font-size:12px; font-weight:900; letter-spacing:.14em }
.chip-row { display:flex; flex-direction:column; gap:10px; margin-top:22px }
.chip-row button { padding:13px 15px; border:1px solid var(--line); background:#fff; text-align:left; cursor:pointer }
.chip-row button.active { background:var(--ink); color:#fff }
.builder-bottom { display:flex; justify-content:space-between; align-items:center; padding:26px; background:#111; color:#fff }
.builder-bottom p { max-width:850px; color:#bbb; margin:7px 0 0 }
.builder-bottom .pv-primary { background:var(--accent) }
.launch-sequence { padding:100px max(5vw,24px); display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; background:var(--paper) }
.launch-sequence p { color:#666; line-height:1.7 }
.sequence-track { position:relative; display:grid; grid-template-columns:repeat(4,1fr); align-items:center }
.sequence-track i { position:absolute; left:4%; right:4%; height:2px; background:#bbb }
.sequence-track div { position:relative; background:var(--paper); padding:18px 8px; text-align:center }
.sequence-track b,.sequence-track strong,.sequence-track small { display:block }
.sequence-track b { font-size:12px; color:var(--accent) }
.sequence-track strong { margin:12px 0 }
.sequence-track small { color:#777 }
.product-lock { padding:90px max(5vw,24px); background:#111; color:#fff; display:grid; grid-template-columns:140px 1fr 1fr; gap:50px; align-items:center }
.lock-mark { width:120px; height:120px; border-radius:50%; border:1px solid #777; display:grid; place-items:center; font-size:26px; font-weight:900; color:var(--accent) }
.product-lock p { color:#aaa }
.lock-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px }
.lock-grid span { padding:13px; border-bottom:1px solid #333 }
.film-library { padding:100px max(5vw,24px) }
.filter-row { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:30px }
.filter-row button { border:1px solid var(--line); background:#fff; padding:10px 16px; border-radius:999px; cursor:pointer }
.filter-row button.active { background:var(--ink); color:#fff }
.film-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px }
.film-item { position:relative; overflow:hidden; background:#eee; aspect-ratio:1; border-radius:6px; cursor:pointer }
.film-item video,.film-item img { width:100%; height:100%; object-fit:cover }
.film-info { position:absolute; left:0; right:0; bottom:0; padding:55px 15px 14px; color:#fff; background:linear-gradient(transparent,rgba(0,0,0,.78)) }
.film-info b,.film-info small { display:block }
.film-info small { opacity:.8; margin-top:5px }
.load-more { display:block; margin:35px auto 0; padding:14px 25px; border:1px solid var(--ink); background:#fff; border-radius:999px; cursor:pointer }
.channel-strip {
    display:flex;
    justify-content:space-around;
    gap:20px;
    padding:35px max(5vw,24px);
    background:var(--accent);
    color:#fff;
    font-weight:900;
    letter-spacing:.08em;
    overflow:auto
}
.pv-note { text-align:center; padding:110px max(5vw,24px); background:#eceae3 }
.pv-note p { max-width:850px; margin:0 auto 28px; color:#666; line-height:1.7 }
/* create */
.bay-page { background:#efeee9; min-height:100vh }
.bay-header { height:72px; padding:0 28px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #cbc9c1; background:#fff }
.bay-header a { color:#111; text-decoration:none; font-weight:700 }
.bay-header>div { display:flex; gap:24px; align-items:center; font-size:12px; letter-spacing:.12em }
.launch-bay { display:grid; grid-template-columns:250px minmax(420px,1fr) 310px; min-height:680px }
.source-rail,.campaign-panel { padding:24px; background:#fff; border-right:1px solid #d1cfc7; display:flex; flex-direction:column; gap:18px }
.campaign-panel { border-left:1px solid #d1cfc7; border-right:0 }
.source-upload { height:220px; background:#f2f1ed; border:1px dashed #aaa; position:relative; display:grid; place-items:center; cursor:pointer; overflow:hidden }
.source-upload input { display:none }
.source-empty { text-align:center }
.source-empty b { display:block; font-size:34px }
.source-upload img { width:100%; height:100%; object-fit:contain }
.source-rail>button { border:0; background:none; text-decoration:underline; cursor:pointer }
.source-rail label,.campaign-panel label { display:flex; flex-direction:column; gap:7px; font-size:12px; font-weight:800 }
.source-rail select,.source-rail input,.campaign-panel select,.campaign-panel textarea { border:1px solid #ccc; background:#fff; padding:11px }
.campaign-panel fieldset { border:1px solid #ccc; display:grid; grid-template-columns:1fr 1fr; gap:8px }
.campaign-panel .check { display:block; font-weight:500 }
.bay-stage {
    position:relative;
    min-height:680px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:radial-gradient(circle at 50% 25%,#fff 0,#e6e3da 42%,#c6c2b7 100%)
}
.bay-light {
    position:absolute;
    top:-20%;
    width:430px;
    height:650px;
    clip-path:polygon(35% 0,65% 0,100% 100%,0 100%);
    background:linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,0));
    filter:blur(10px)
}
.bay-monitor { width:min(72%,620px); aspect-ratio:1; position:relative; display:grid; place-items:center; z-index:2 }
.stage-result { width:72%; height:72%; border-radius:50%; overflow:hidden; background:#111; display:grid; place-items:center; color:#fff; box-shadow:0 35px 80px rgba(0,0,0,.22) }
.stage-result video,.stage-result img { width:100%; height:100%; object-fit:contain }
.stage-placeholder { text-align:center; padding:25px }
.stage-placeholder span,.stage-placeholder b,.stage-placeholder small { display:block }
.stage-placeholder span { letter-spacing:.2em; font-size:11px; color:#f47a4d }
.stage-placeholder b { font-size:22px; margin:15px 0 }
.stage-placeholder small { color:#aaa }
.stage-tags { position:absolute; top:4%; left:0; right:0; display:flex; justify-content:space-between; font-size:10px; font-weight:900; letter-spacing:.12em }
.turntable {
    position:absolute;
    width:76%;
    height:17%;
    bottom:9%;
    border-radius:50%;
    background:linear-gradient(#d4d0c5,#97938b);
    box-shadow:0 25px 35px rgba(0,0,0,.23);
    z-index:-1
}
.launch-timeline { position:absolute; bottom:24px; left:8%; right:8%; display:grid; grid-template-columns:repeat(4,1fr) }
.timeline-line { position:absolute; left:5%; right:5%; top:16px; height:1px; background:#8d8980 }
.launch-timeline button { position:relative; border:0; background:transparent; text-align:center }
.launch-timeline b { display:inline-grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#c5c1b7; font-size:10px }
.launch-timeline button.active b { background:var(--accent); color:#fff }
.launch-timeline span { display:block; font-size:11px; margin-top:6px }
.launch-controls { display:grid; grid-template-columns:120px 120px 1fr auto auto; gap:14px; padding:18px 26px; background:#111; color:#fff; align-items:end }
.launch-controls label { display:flex; flex-direction:column; gap:6px; font-size:11px }
.launch-controls select { padding:10px; background:#232323; color:#fff; border:1px solid #444 }
.launch-controls small { color:#aaa }
.audio-check { display:block!important; padding-bottom:10px }
.launch-button { background:var(--accent); border:0; color:#fff; padding:14px 22px; font-weight:900; cursor:pointer }
.bay-status { text-align:center; padding:15px; margin:0; background:#fff }
.result-card { padding:30px }
.loading-gen { text-align:center; padding:40px }
.spinner { width:35px; height:35px; border:3px solid #ccc; border-top-color:var(--accent); border-radius:50%; animation:spin 1s linear infinite; margin:0 auto 18px }
@media(max-width:980px) {
    .pv-hero { grid-template-columns:1fr }
    .launch-stage { height:520px }
    .builder-grid { grid-template-columns:1fr 1fr }
    .upload-tile,.decision { border-bottom:1px solid var(--line) }
    .launch-sequence,.product-lock { grid-template-columns:1fr }
    .film-grid { grid-template-columns:repeat(2,1fr) }
    .launch-bay { grid-template-columns:1fr }
    .source-rail,.campaign-panel { border:0; border-bottom:1px solid #ccc }
    .bay-stage { min-height:620px }
    .launch-controls { grid-template-columns:1fr 1fr }
    .launch-controls .launch-button { grid-column:1/-1 }
}
@media(max-width:600px) {
    .pv-hero { padding-top:55px }
    .pv-hero h1 { font-size:54px }
    .launch-stage { height:440px }
    .pedestal { transform:scale(.78) }
    .source-card { left:-10px }
    .film-card { right:-10px }
    .builder-grid { grid-template-columns:1fr }
    .builder-bottom { align-items:flex-start; flex-direction:column; gap:20px }
    .pv-section-head { display:block }
    .film-grid { grid-template-columns:1fr 1fr; gap:8px }
    .channel-strip { justify-content:flex-start }
    .launch-controls { grid-template-columns:1fr }
    .source-rail,.campaign-panel { padding:18px }
    .bay-header>div span { display:none }
}


/* Product Video 2026-08-07 compact refinement */
:root{--pv-shell:1280px;--pv-side:20px}
main>section{width:min(var(--pv-shell),100%);margin-left:auto;margin-right:auto}
.pv-hero{min-height:520px;padding:42px var(--pv-side);grid-template-columns:.92fr 1.08fr;gap:44px;background:linear-gradient(135deg,#f7f5f0 0 58%,#e9e7e0 58%)}
.pv-hero h1{font-size:clamp(48px,6vw,84px);margin:16px 0 18px}
.pv-hero p{font-size:17px}
.pv-actions{margin-top:24px}
.launch-stage{height:430px}
.pedestal{width:320px;height:390px}
.product-disc{width:270px;height:270px}
.orbit{width:360px;height:210px}.orbit-b{width:430px;height:250px}
.source-card{top:74px;width:142px}.film-card{bottom:62px;width:165px}
.launch-sequence,.product-lock,.film-library,.pv-note,.pv-faq{padding-left:var(--pv-side);padding-right:var(--pv-side)}
.launch-sequence{padding-top:66px;padding-bottom:66px;gap:54px}
.product-lock{padding-top:62px;padding-bottom:62px;grid-template-columns:110px 1fr 1fr;gap:38px}
.lock-mark{width:96px;height:96px;font-size:21px}
.film-library{padding-top:68px;padding-bottom:68px}
.pv-section-head{margin-bottom:24px}
.pv-section-head h2,.launch-sequence h2,.product-lock h2,.pv-note h2{font-size:clamp(30px,4vw,52px)}
.channel-strip{width:min(var(--pv-shell),100%);margin:0 auto;padding:24px var(--pv-side)}
.pv-note{padding-top:72px;padding-bottom:72px}

/* Make the shared current-page studio visually belong to Product Video */
.t67-vscene-studio{margin:0 auto;background:#fff}
.t67-vscene-head{margin-bottom:16px}
.t67-vscene-head h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.035em}
.t67-vscene-grid{gap:16px}
.t67-vscene-upload,.t67-vscene-controls{border:1px solid #cfcfcf;border-radius:4px;box-shadow:none;background:#fff}
.t67-vscene-drop{border-radius:2px;border:1px dashed #999;background:#f5f3ee;min-height:300px}
.t67-vscene-prompt{border-radius:2px;border:1px solid #bbb;background:#fff;min-height:132px}
.t67-vscene-sample,.t67-vscene-clear{border-radius:2px}
.t67-vscene-row.pv-control-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.pv-camera-slot{display:contents}
.t67-vscene-field{gap:5px}
.t67-vscene-field span{font-size:10px;letter-spacing:.12em;font-weight:850}
.t67-vscene-field select{height:38px;border-radius:2px;border:1px solid #aaa;padding:0 9px;background:#fff;color:#111;font-size:12px}
.t67-vscene-model-info{margin-top:8px;font-size:12px}
.t67-vscene-generate{border-radius:2px;background:#111;color:#fff;min-height:46px;margin-top:12px}
.t67-vscene-result{margin-top:16px}
.t67-vscene-result-stage{border-radius:4px;max-height:450px}

/* Library: no filters, no accumulating tag buttons */
.film-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.film-item{border-radius:4px;border:1px solid #ddd;background:#eee}
.film-item>video,.film-item>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-item>video{z-index:1}.film-info{z-index:2}
.load-more{border-radius:2px;padding:12px 20px;font-weight:800}

/* FAQ */
.pv-faq{padding-top:68px;padding-bottom:68px;background:#f6f5f1}
.pv-faq-head{display:block}
.pv-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pv-faq details{border:1px solid #d7d5cf;background:#fff;padding:0 18px}
.pv-faq summary{cursor:pointer;list-style:none;padding:17px 0;font-weight:800}
.pv-faq summary::-webkit-details-marker{display:none}
.pv-faq summary:after{content:'+';float:right;font-size:20px;font-weight:500}
.pv-faq details[open] summary:after{content:'−'}
.pv-faq p{margin:0 0 18px;color:#666;line-height:1.7;font-size:14px}

/* Theme compatibility */
html[data-theme="dark"] body,.dark body{background:#111;color:#f2f2f2}
html[data-theme="dark"] .pv-hero,.dark .pv-hero{background:linear-gradient(135deg,#151515 0 58%,#1d1d1d 58%)}
html[data-theme="dark"] .pv-hero p,.dark .pv-hero p,html[data-theme="dark"] .launch-sequence p,.dark .launch-sequence p,html[data-theme="dark"] .pv-note p,.dark .pv-note p{color:#aaa}
html[data-theme="dark"] .pv-link,.dark .pv-link{color:#f3f3f3}
html[data-theme="dark"] .source-card,html[data-theme="dark"] .film-card,.dark .source-card,.dark .film-card{background:rgba(20,20,20,.9);border-color:#333}
html[data-theme="dark"] .launch-sequence,.dark .launch-sequence,html[data-theme="dark"] .sequence-track div,.dark .sequence-track div{background:#181818}
html[data-theme="dark"] .film-library,.dark .film-library{background:#111}
html[data-theme="dark"] .load-more,.dark .load-more{background:#191919;color:#fff;border-color:#666}
html[data-theme="dark"] .pv-note,.dark .pv-note{background:#191919}
html[data-theme="dark"] .pv-faq,.dark .pv-faq{background:#161616}
html[data-theme="dark"] .pv-faq details,.dark .pv-faq details{background:#1d1d1d;border-color:#383838}
html[data-theme="dark"] .pv-faq p,.dark .pv-faq p{color:#aaa}
html[data-theme="dark"] .t67-vscene-studio,.dark .t67-vscene-studio,html[data-theme="dark"] .t67-vscene-upload,html[data-theme="dark"] .t67-vscene-controls,.dark .t67-vscene-upload,.dark .t67-vscene-controls{background:#141414;color:#f2f2f2}
html[data-theme="dark"] .t67-vscene-upload,html[data-theme="dark"] .t67-vscene-controls,.dark .t67-vscene-upload,.dark .t67-vscene-controls{border-color:#3a3a3a}
html[data-theme="dark"] .t67-vscene-drop,.dark .t67-vscene-drop{background:#1a1a1a;border-color:#555}
html[data-theme="dark"] .t67-vscene-prompt,.dark .t67-vscene-prompt,html[data-theme="dark"] .t67-vscene-field select,.dark .t67-vscene-field select{background:#1a1a1a;color:#eee;border-color:#555}
html[data-theme="dark"] .t67-vscene-generate,.dark .t67-vscene-generate{background:#f2f2f2;color:#111}

@media(max-width:980px){
  .pv-hero{min-height:0;padding-top:32px;padding-bottom:32px;gap:22px}
  .launch-stage{height:390px}
  .t67-vscene-row.pv-control-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-faq-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  :root{--pv-side:14px}
  .pv-hero{padding-top:26px}.pv-hero h1{font-size:46px}
  .launch-stage{height:360px}.pedestal{transform:scale(.72)}
  .source-card{left:0;top:54px}.film-card{right:0;bottom:44px}
  .launch-sequence,.product-lock{padding-top:48px;padding-bottom:48px}
  .film-library,.pv-faq,.pv-note{padding-top:52px;padding-bottom:52px}
  .film-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .t67-vscene-studio{padding-top:26px;padding-bottom:26px}
}


/* Product Video mobile/layout micro-tuning 2026-08-07c */
/* Shared studio: remove the outer rounded card and let the two inner panels define the workspace. */
.t67-vscene-studio{
  width:min(var(--pv-shell),calc(100% - (var(--pv-side) * 2)));
  max-width:var(--pv-shell);
  margin:30px auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.t67-vscene-grid{
  width:100%;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.38fr);
  gap:14px;
  align-items:stretch;
}
.t67-vscene-upload,.t67-vscene-controls{
  border:1px solid #cfcfcf!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.t67-vscene-result{margin-top:14px}
.t67-vscene-result-stage{border-radius:0!important}

/* Mobile hero: copy first, visual stage as its own full-width row underneath. */
@media(max-width:980px){
  .pv-hero{
    grid-template-columns:1fr!important;
    align-items:start;
  }
  .pv-hero-copy{width:100%}
  .launch-stage{
    width:100%;
    max-width:760px;
    justify-self:center;
    margin-top:4px;
  }
  .t67-vscene-studio{
    width:min(var(--pv-shell),calc(100% - (var(--pv-side) * 2)));
    margin:30px auto!important;
  }
  .t67-vscene-grid{grid-template-columns:1fr;gap:12px}
}

@media(max-width:700px){
  /* 03 · PRODUCT LOCK is secondary information on small screens. */
  .product-lock{display:none!important}
}

@media(max-width:600px){
  .pv-hero{padding-bottom:22px}
  .launch-stage{
    width:100%;
    height:350px;
    margin-top:0;
    overflow:hidden;
  }
  .t67-vscene-studio{
    width:calc(100% - 28px);
    margin:30px auto!important;
    padding:0!important;
  }
  .t67-vscene-upload,.t67-vscene-controls{border-radius:0!important}
}
