:root{--header-gradient:linear-gradient(90deg,#FF5757,#8C52FF);--check-ink:#116453;--teal-ink:#087c68;--button-hover:#7f164f}
*{box-sizing:border-box}
body{margin:0}
button,select{font:inherit}
a{color:var(--primary-0)}
.slide{background:#fff url('brand/assets/background.png') center/cover no-repeat}
.header-band,.slide.cover .band{height:120px;padding:0 80px;background:var(--header-gradient);display:flex;align-items:center;justify-content:space-between;color:#fff;font:700 30px 'Noto Sans JP',sans-serif}
.header-band .header-logo,.slide.cover .band-logo{width:auto;height:56px;object-fit:contain}
.slide.cover .band-logo{height:64px}
.band-meta{font-size:24px;font-weight:500}
.body{padding:64px 96px 72px;height:960px}
.kicker{font-size:24px;letter-spacing:.12em;color:var(--primary-0);font-weight:700;margin-bottom:18px}
.slide-title{font-size:68px;line-height:1.2;margin:0 0 38px;color:var(--neutral-0)}
.lead{font-size:35px;line-height:1.5;margin:0 0 32px;color:var(--neutral-0)}
.minor{font-size:26px;line-height:1.55;color:var(--neutral-2);margin:24px 0 0}
.catalog-action{margin:26px 0 0;font-size:30px;font-weight:700;line-height:1.4}
.catalog-action a{display:inline-block;padding:15px 22px;background:var(--primary-0);color:#fff;border-radius:10px;text-decoration:none}
.catalog-action a:hover{background:var(--button-hover)}
.cover-body{height:960px;padding:128px 96px 80px;position:relative}
.cover-body .eyebrow{font-size:32px;font-weight:700;letter-spacing:.15em;color:var(--primary-0);margin-bottom:36px}
.cover-body h1{font-size:100px;line-height:1.32;letter-spacing:-.02em;margin:0 0 36px;max-width:1280px;color:var(--neutral-0)}
.cover-body h1 strong{color:var(--primary-0)}
.cover-sub{font-size:36px;margin:0 0 100px;color:var(--neutral-1)}
.cover-meta{font-size:26px;color:var(--neutral-2)}
.cover-emoji{position:absolute;right:105px;top:210px;width:380px;height:380px;object-fit:contain;filter:drop-shadow(0 14px 18px #3333)}
.pageno{position:absolute;right:75px;bottom:25px;font-size:23px;color:var(--neutral-2);font-variant-numeric:tabular-nums}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.hero-number{font-size:125px;color:var(--primary-0);font-weight:700;margin:20px 0}
.hero-number span{font-size:48px}
.image-card{padding:28px;border-radius:22px;background:var(--primary-9);display:flex;align-items:center;justify-content:center;min-height:600px}
.slide-image{max-width:100%;max-height:100%;object-fit:contain}
.image-card .slide-image{max-height:640px}
.cue{padding:20px 28px;background:var(--secondary-9);font-size:28px;line-height:1.45;color:var(--check-ink);border-radius:10px;margin-top:25px}
.two-blocks{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.large-panel{background:var(--primary-9);border-radius:20px;padding:54px 58px;min-height:540px}
.large-panel.teal{background:var(--secondary-9)}
.large-panel .phase{font-size:30px;color:var(--primary-0);font-weight:700}
.large-panel.teal .phase{color:var(--teal-ink)}
.large-panel h3{font-size:51px;line-height:1.3;margin:20px 0 28px}
.large-panel p{font-size:34px;line-height:1.8;margin:0}
.large-panel .minor{font-size:26px;line-height:1.5;margin-top:28px}
.four-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 52px}
.step{display:flex;align-items:flex-start;gap:22px}
.four-grid .step{padding:28px;background:var(--primary-9);border-radius:14px;min-height:240px}
.step-n{width:68px;height:68px;border:2px solid var(--primary-0);border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:27px;color:var(--primary-0);font-weight:700}
.step b{font-size:35px;line-height:1.3}
.step p{font-size:28px;line-height:1.5;margin:14px 0 0}
.source-mini{font-size:23px;margin:28px 0 0}
.tag-cloud{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:45px 0}
.tag-cloud span{text-align:center;padding:23px 10px;font-size:37px;font-weight:700;background:var(--primary-9);color:var(--primary-0);border-radius:12px}
.note-panel{background:var(--secondary-9);padding:30px 36px;border-radius:15px;font-size:30px;line-height:1.5}
.note-panel b{font-size:34px}
.note-panel p{margin:10px 0 0}
.note-panel.compact{padding:24px 30px}
.note-panel.compact b{font-size:29px}
.note-panel.compact p{font-size:26px}
.prompt-preview{padding:42px;background:var(--primary-9);border-radius:14px;color:var(--primary-0);font-size:39px;font-weight:700;line-height:1.65;margin-bottom:32px}
.copy-prompt{display:inline-block;border:0;background:var(--primary-0);color:#fff;padding:23px 35px;min-height:76px;border-radius:10px;font-size:30px;font-weight:700;cursor:pointer}
.copy-prompt:hover{background:var(--button-hover)}
.copy-prompt:focus-visible,.controls button:focus-visible,.controls select:focus-visible,a:focus-visible{outline:2px solid #ffcf00;box-shadow:0 0 0 4px #000}
.feature-list p{font-size:32px;line-height:1.5;border-bottom:1px solid var(--neutral-8);margin:0;padding:17px 0}
.feature-list b{color:var(--primary-0)}
.sheet-card{min-height:500px}
.compact-sheet{min-height:450px}
.comparison{display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;gap:18px}
.comparison section{min-height:495px;background:var(--primary-9);border-radius:18px;padding:50px}
.comparison .chosen{background:var(--secondary-9)}
.compare-label{font-size:32px;font-weight:700}
.comparison .big{font-size:65px;font-weight:700;color:var(--primary-0);margin:28px 0}
.comparison .chosen .big{color:var(--teal-ink)}
.comparison section>p:last-child{font-size:30px;line-height:1.6}
.vs{text-align:center;font-size:40px;color:var(--primary-0);font-weight:700}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:15px 0 40px}
.metrics>div{min-height:340px;padding:40px 28px;background:var(--primary-9);border-radius:18px;text-align:center}
.metrics strong{display:block;color:var(--primary-0);font-size:90px;line-height:1.2}
.metrics span{font-size:32px;line-height:1.55}
.preview-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.preview-layout .image-card{min-height:610px}
.preview-layout .image-card img{max-height:600px}
.divider-body{padding:150px 96px}
.workshop-divider{background:var(--primary-9) url('brand/assets/background.png') center/cover no-repeat}
.divider-kicker{font-size:38px;color:var(--primary-0);font-weight:700;letter-spacing:.1em}
.divider-body h2{font-size:105px;line-height:1.3;margin:48px 0;color:var(--neutral-0)}
.divider-summary{font-size:42px;color:var(--neutral-1)}
.divider-action{margin:44px 0 0;font-size:34px;font-weight:700}
.divider-action a{display:inline-block;padding:20px 30px;border-radius:12px;background:var(--primary-0);color:#fff;text-decoration:none}
.divider-action a:hover{background:var(--button-hover)}
.registration-flow{display:grid;grid-template-columns:1fr 1fr;gap:35px 55px;margin:30px 0 36px}
.registration-flow .step{padding:26px;background:var(--primary-9);border-radius:14px;min-height:185px}
.registration-flow .step b{font-size:34px}
.registration-flow .step p{font-size:27px}
.screenshot-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}
.screen-frame{height:640px;padding:16px;background:#fff;border:1px solid var(--neutral-8);border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 22px #00000014}
.screen-frame img{max-height:605px;max-width:100%}
.product-copy b{font-size:31px;color:var(--primary-0);display:block;margin:14px 0}
.product-copy p{font-size:31px;line-height:1.35;margin:0 0 16px}
.product-copy small{display:block;font-size:22px;line-height:1.5;margin-bottom:25px}
.status-word{font-size:92px;color:var(--primary-0);font-weight:700;margin:0 0 25px}
.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px}
.qa-grid>div{min-height:270px;background:var(--primary-9);border-radius:14px;padding:28px}
.qa-grid b{font-size:32px}
.qa-grid p{font-size:26px;line-height:1.55;margin:17px 0 0}
.reference-list{display:grid;grid-template-columns:1fr 1fr;gap:22px 50px;margin:20px 0 40px}
.reference-list p{margin:0;padding:20px 22px;background:var(--primary-9);border-radius:12px;font-size:29px}
.reference-list a{text-decoration-thickness:2px;text-underline-offset:6px}
.controls{position:fixed;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:6px;align-items:center;z-index:2147483646;background:#fff;padding:6px;border:1px solid #ddd;border-radius:10px;box-shadow:0 2px 14px #0002;font-family:'Noto Sans JP',sans-serif}
.controls button,.controls select{min-height:44px;font-size:16px;border:0;background:var(--primary-9);color:var(--primary-0);border-radius:6px;padding:6px 12px}
.controls select{max-width:280px}
.controls button{cursor:pointer}
@media screen and (max-width:1200px), screen and (max-height:700px){
  .slide{width:100%;height:auto;min-height:0;overflow:visible}
  .header-band,.slide.cover .band{height:auto;min-height:64px;padding:12px 24px;gap:12px;background:var(--primary-0);font-size:16px}
  .header-band>span:first-child{font-size:13px;white-space:nowrap}
  .header-band .header-logo,.slide.cover .band-logo{height:28px;max-width:88px}
  .band-meta{font-size:14px}
  .body,.cover-body,.divider-body{height:auto;padding:24px}
  .slide-title,.divider-body h2{font-size:30px;margin:0 0 22px}
  .kicker,.cover-body .eyebrow,.divider-kicker{font-size:16px;margin:0 0 14px}
  .cover-body h1{font-size:35px;margin:0 0 20px}
  .cover-sub,.lead,.divider-summary{font-size:19px;margin:0 0 22px}
  .divider-action{font-size:17px;margin:20px 0 0}.divider-action a{padding:13px 17px}
  .cover-meta,.minor,.source-mini,.product-copy small{font-size:15px}
  .catalog-action{font-size:17px;margin-top:18px}.catalog-action a{padding:12px 16px}
  .cover-emoji{position:static;width:160px;height:160px;margin-top:20px}
  .duo,.two-blocks,.four-grid,.tag-cloud,.comparison,.metrics,.preview-layout,.registration-flow,.screenshot-layout,.qa-grid,.reference-list{display:grid;grid-template-columns:1fr;gap:18px}
  .step,.four-grid .step,.registration-flow .step{min-height:0;padding:18px}
  .step-n{width:42px;height:42px;font-size:17px}
  .step b,.feature-list p,.note-panel b,.large-panel h3,.product-copy b,.qa-grid b,.reference-list p{font-size:21px}
  .step p,.large-panel p,.note-panel p,.product-copy p,.qa-grid p{font-size:17px;line-height:1.55}
  .hero-number{font-size:70px;margin:5px 0}.hero-number span{font-size:25px}
  .image-card,.screen-frame,.preview-layout .image-card{min-height:0;height:auto;padding:12px}
  .image-card img,.screen-frame img,.preview-layout .image-card img{max-height:430px}
  .cue,.note-panel,.large-panel,.qa-grid>div{padding:18px;min-height:0;font-size:17px}
  .large-panel .phase,.tag-cloud span,.compare-label,.comparison .big,.metrics span,.status-word{font-size:23px}
  .tag-cloud{grid-template-columns:1fr 1fr}
  .tag-cloud span{padding:14px}
  .prompt-preview{padding:20px;font-size:21px}
  .copy-prompt{font-size:17px;min-height:48px;padding:12px 18px}
  .comparison .vs{font-size:22px}
  .comparison section{min-height:0;padding:22px}
  .comparison section>p:last-child{font-size:17px}
  .metrics>div{min-height:0;padding:20px}
  .metrics strong{font-size:48px}
  .screen-frame{order:-1}
  .product-copy b{margin:12px 0}
  .pageno{position:static;text-align:right;padding:0 24px 20px;font-size:15px}
  .controls{width:calc(100% - 16px);max-width:600px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}
  .controls select{width:100%;max-width:none;min-width:0}.controls #print{grid-column:1/-1}
}
@media print{.controls,.copy-prompt{display:none!important}a{color:inherit;text-decoration:none}}
