/* ============ RESET & VARIABLES ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0a0a10;--bg-surface:#12121c;--bg-card:#181825;
  --border:rgba(255,255,255,.07);--border-hover:rgba(255,255,255,.15);
  --text:#eeeef2;--text-secondary:#9a9ab0;--text-muted:#65657a;
  --accent:#c9a96e;--accent-light:#e0c88a;--accent-dim:rgba(201,169,110,.12);
  --radius:12px;--radius-lg:20px;
  --font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --nav-h:56px;
}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:var(--accent);text-decoration:none}
ul{list-style:none}

/* ============ NAVIGATION ============ */
.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);background:rgba(10,10,16,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:100;display:flex;align-items:center}
.nav-inner{width:100%;max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.nav-logo img{height:28px;width:auto}
.nav-links{display:flex;gap:4px}
.nav-links a{padding:6px 14px;font-size:13px;font-weight:500;color:var(--text-secondary);border-radius:6px;transition:.2s}
.nav-links a:hover,.nav-links a.active{color:var(--text);background:rgba(255,255,255,.06)}
.nav-links a.active{color:var(--accent)}
.nav-progress{font-size:12px;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}

/* ============ SLIDE CONTROLS ============ */
.slide-controls{position:fixed;bottom:32px;right:32px;display:flex;gap:8px;z-index:90}
.slide-controls button{width:44px;height:44px;border:1px solid var(--border);border-radius:50%;background:rgba(10,10,16,.8);backdrop-filter:blur(12px);color:var(--text);font-size:18px;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center}
.slide-controls button:hover{border-color:var(--accent);color:var(--accent)}

/* ============ SLIDE BASE ============ */
.slide{min-height:100vh;display:flex;align-items:center;padding:calc(var(--nav-h) + 48px) 0 48px;position:relative}
.slide .container{width:100%;max-width:1120px;margin:0 auto;padding:0 32px}
.slide-num{position:absolute;top:calc(var(--nav-h) + 24px);left:32px;font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase}

/* ============ TYPOGRAPHY ============ */
.slide-title{font-size:clamp(2rem,4.5vw,3.2rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:20px}
.slide-subtitle{font-size:clamp(1rem,2vw,1.25rem);color:var(--text-secondary);line-height:1.6;max-width:680px;margin-bottom:32px}
.slide-body ul{display:flex;flex-direction:column;gap:12px}
.slide-body li{padding-left:24px;position:relative;color:var(--text-secondary);font-size:1.05rem;line-height:1.6}
.slide-body li::before{content:'';position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:.7}

/* ============ TEMPLATE A: TEXT-ONLY ============ */
.tpl-text .slide-content{max-width:760px}

/* ============ TEMPLATE B: MEDIA + TEXT ============ */
.tpl-media .slide-content{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.tpl-media .slide-content.reverse{direction:rtl}
.tpl-media .slide-content.reverse>*{direction:ltr}

/* ============ TEMPLATE C: BENEFIT GRID ============ */
.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
.benefit-card{padding:32px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:.25s}
.benefit-card:hover{border-color:var(--border-hover);transform:translateY(-3px)}
.benefit-card .card-num{font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.08em;margin-bottom:12px;display:block}
.benefit-card h3{font-size:1.15rem;font-weight:600;margin-bottom:10px;line-height:1.3}
.benefit-card p{font-size:.95rem;color:var(--text-secondary);line-height:1.65}

/* ============ TEMPLATE D: SECTION DIVIDER ============ */
.tpl-divider{background:var(--bg-surface);text-align:center;justify-content:center}
.tpl-divider .divider-label{display:inline-block;padding:8px 20px;border:1px solid var(--accent);border-radius:100px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:24px}
.tpl-divider .divider-title{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--accent-light),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tpl-divider .divider-sub{margin-top:16px;font-size:1.1rem;color:var(--text-secondary);max-width:560px;margin-left:auto;margin-right:auto;line-height:1.6}

/* ============ TITLE SLIDE ============ */
.tpl-title{text-align:center;justify-content:center}
.tpl-title .slide-title{font-size:clamp(2.4rem,5vw,3.6rem);max-width:820px;margin-left:auto;margin-right:auto}
.tpl-title .slide-subtitle{max-width:640px;margin-left:auto;margin-right:auto}
.tpl-title .title-logo{margin-bottom:40px}
.tpl-title .title-logo img{height:56px;margin:0 auto}
.tpl-title .title-footer{margin-top:48px;font-size:14px;color:var(--text-muted);letter-spacing:.06em}

/* ============ SLIDE 2: KEY INSIGHTS (4 prominent cards) ============ */
.insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.insight-card{padding:28px 24px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:.25s;position:relative;overflow:hidden}
.insight-card::before{content:'';position:absolute;left:0;top:0;width:4px;height:100%;background:var(--accent);opacity:.8}
.insight-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.25)}
.insight-card .insight-num{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.1em;margin-bottom:10px;display:block}
.insight-card h3{font-size:1.2rem;font-weight:600;margin-bottom:8px;line-height:1.3}
.insight-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.55}

/* slide 02 layout overrides */
#slide-02 .slide-content{max-width:100%}
#slide-02 .slide-subtitle{max-width:860px}
#slide-02 .insights-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;margin-top:32px;grid-auto-rows:1fr}
#slide-02 .insight-card{display:flex;flex-direction:column;justify-content:flex-start;min-height:220px}

/* ============ SLIDE 3: THREE COLUMNS WITH BACKGROUND IMAGES ============ */
.three-col-category{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:24px;align-items:stretch}
.category-col{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--bg-card)}
.category-col-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-color:var(--bg-surface);opacity:.92}
.category-col-bg + *{position:relative;z-index:1}
.category-col-inner{padding:24px;background:linear-gradient(transparent 0%,rgba(10,10,16,.75) 55%,var(--bg-card) 100%);position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:flex-end}
.category-col h3{font-size:1.15rem;font-weight:600;margin-bottom:10px;color:var(--text)}
.category-col p{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0}

/* ============ JOURNEY SLIDE ============ */
.journey-grid{display:flex;flex-direction:column;gap:0;margin-top:8px;counter-reset:journey}
.journey-step{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;padding:24px 0;border-bottom:1px solid var(--border)}
.journey-step:last-child{border-bottom:none}
.journey-num{font-size:1.6rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
.journey-step h3{font-size:1.05rem;font-weight:600;margin-bottom:4px}
.journey-step p{font-size:.95rem;color:var(--text-secondary);line-height:1.6}

/* ============ SLIDE 04: JOURNEY FULL-HEIGHT (title + description top, 5 steps fill rest) ============ */
#slide-04.slide{align-items:stretch;padding-top:calc(var(--nav-h) + 32px);padding-bottom:32px}
#slide-04 .container{display:flex;flex-direction:column;align-items:stretch;flex:1;min-height:0}
#slide-04 .slide-content{display:flex;flex-direction:column;flex:1;min-height:0;max-width:100%}
#slide-04 .slide-journey-top{flex-shrink:0;margin-bottom:20px}
#slide-04 .journey-grid{flex:1;display:grid;grid-template-rows:repeat(5,1fr);gap:0;margin-top:0;min-height:0}
#slide-04 .journey-step{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border);min-height:0}
#slide-04 .journey-step:last-child{border-bottom:none}
#slide-04 .journey-step > div{display:flex;flex-direction:column;justify-content:center;min-height:0}
#slide-04 .slide-result{flex-shrink:0;margin-top:20px;padding-top:20px;border-top:1px solid var(--border);font-weight:600;color:var(--accent-light);font-size:1.1rem}

/* ============ MEDIA SLOT ============ */
.media-slot{border:2px dashed var(--border-hover);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-card);position:relative;min-height:280px;display:flex;align-items:center;justify-content:center}
.media-slot video{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.media-slot.has-video{border:none;min-height:0;aspect-ratio:16/9;position:relative}
.media-slot.media-slot-img{border:none;min-height:140px;aspect-ratio:16/10;overflow:hidden;position:relative;width:100%;display:block}
.media-slot.media-slot-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;display:block}
.media-slot.vertical{aspect-ratio:9/16;max-height:480px;min-height:240px;width:100%;margin:0 auto}
.media-slot.vertical video{object-fit:contain;background:#000}
.media-slot-label{font-size:13px;color:var(--text-muted);letter-spacing:.06em;text-align:center;padding:24px;z-index:1}
/* video controls */
.media-slot.has-video .video-controls{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(transparent,rgba(0,0,0,.75));z-index:2;opacity:.95;transition:opacity .3s ease,transform .3s ease}
.media-slot.has-video .video-controls.hidden{opacity:0;transform:translateY(8px);pointer-events:none}
.media-slot.has-video .video-play-btn,.media-slot.has-video .video-fullscreen-btn{flex-shrink:0;width:36px;height:36px;border:none;border-radius:50%;background:var(--accent);color:var(--bg);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .2s}
.media-slot.has-video .video-play-btn:hover,.media-slot.has-video .video-fullscreen-btn:hover{background:var(--accent-light)}
.media-slot.has-video .video-fullscreen-btn{font-size:16px;line-height:1}
.media-slot.has-video .video-seek-wrap{flex:1;height:6px;background:rgba(255,255,255,.2);border-radius:3px;cursor:pointer;position:relative;overflow:hidden}
.media-slot.has-video .video-seek-progress{height:100%;background:var(--accent);border-radius:3px;width:0%;transition:width .1s}
.media-slot.has-video .video-time{flex-shrink:0;font-size:11px;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.idea-price{margin-top:20px;padding-top:14px;border-top:1px solid var(--border);font-size:13px;color:var(--text-muted)}
.idea-price .idea-price-value{color:var(--accent);font-weight:600}
.media-slot-label span{display:block;margin-top:6px;font-size:11px;opacity:.6}

/* media sub-sections within a slide */
.media-col{display:flex;flex-direction:column;gap:16px}
.impact-box{margin-top:24px;padding:20px;background:var(--accent-dim);border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0}
.impact-box h4{font-size:13px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.impact-box li{font-size:.95rem;color:var(--text-secondary);padding-left:20px;position:relative;margin-bottom:6px}
.impact-box li::before{content:'';position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.5}

/* content modes */
.content-modes{display:flex;flex-direction:column;gap:14px;margin:16px 0}
.content-mode{padding:14px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}
.content-mode strong{color:var(--accent-light);font-size:.9rem}
.content-mode p{font-size:.9rem;color:var(--text-secondary);margin-top:4px}

/* slide 11 layout overrides */
#slide-11 .slide-11-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:start}
#slide-11 .slide-subtitle{max-width:none;margin-bottom:18px}
#slide-11 .modes-title{font-size:12px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}
#slide-11 .slide-11-modes{gap:12px;margin:0 0 18px}
#slide-11 .slide-11-modes .content-mode{padding:16px 18px}
#slide-11 .slide-11-media{aspect-ratio:16/10;min-height:320px}
#slide-11 .slide-11-media video{object-fit:contain;background:#08080f}

/* feature list */
.feature-list{margin:16px 0}
.feature-list li{padding:8px 0 8px 24px;position:relative;color:var(--text-secondary);font-size:1rem;border-bottom:1px solid var(--border)}
.feature-list li:last-child{border-bottom:none}
.feature-list li::before{content:'›';position:absolute;left:4px;color:var(--accent);font-weight:700}

/* closing slide */
.closing-line{margin-top:40px;padding-top:24px;border-top:1px solid var(--border);font-size:1.1rem;color:var(--text-secondary);line-height:1.6;max-width:680px;font-style:italic}

/* why-it-works list */
.works-list{display:flex;flex-direction:column;gap:0;margin-top:16px}
.works-item{display:flex;gap:20px;align-items:start;padding:20px 0;border-bottom:1px solid var(--border)}
.works-item:last-child{border-bottom:none}
.works-item .works-icon{flex-shrink:0;width:40px;height:40px;background:var(--accent-dim);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:16px;font-weight:700}
.works-item p{font-size:1.05rem;color:var(--text-secondary);line-height:1.6}

/* ============ ANIMATIONS ============ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ============ RESPONSIVE ============ */
@media(max-width:900px){
  .tpl-media .slide-content{grid-template-columns:1fr;gap:32px}
  .tpl-media .slide-content.reverse{direction:ltr}
  .benefit-grid{grid-template-columns:1fr}
  .insights-grid{grid-template-columns:1fr}
  .three-col-category{grid-template-columns:1fr}
  .category-col{min-height:320px}
  .nav-links{display:none}
  .slide-controls{bottom:16px;right:16px}
  .slide{padding-top:calc(var(--nav-h) + 32px);padding-bottom:32px}
  .slide .container{padding:0 20px}
  .slide-num{left:20px}
  .media-slot.vertical{max-height:360px}
  #slide-11 .slide-11-media{min-height:220px}
}
@media(max-width:600px){
  .journey-step{grid-template-columns:44px 1fr;gap:12px}
}
