/* Photo-first conference presentation. Existing RFH and CMAKE brand palette. */
#hero-title{font-size:clamp(3rem,5.9vw,6.3rem);max-width:900px;line-height:1.03;letter-spacing:-.065em}
.hero-bottom-copy h2{font-size:clamp(1.1rem,1.9vw,1.65rem)}
.presentation-section .slide-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.slide-tile{position:relative;isolation:isolate;min-height:230px;padding:22px;justify-content:flex-end;overflow:hidden;background:linear-gradient(145deg,#311052,#130520);border:1px solid #ffffff24;border-radius:5px;text-align:left;display:flex;flex-direction:column}
.slide-tile.photo-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#130520ed);z-index:-1}
.slide-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .3s}
.slide-tile:hover img{transform:scale(1.04)}
.slide-tile span{font-size:11px;line-height:1.5;letter-spacing:.09em;color:#e8ccff}
.slide-tile strong{font-size:19px;line-height:1.2;margin-top:10px;color:white}
#presenter{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:0;border:0;background:#130520;overflow:hidden}
#presenter[open]{display:grid;grid-template-rows:68px minmax(0,1fr) 65px}
#presenter .presenter-top{position:relative;inset:auto;min-height:0;padding:10px 28px;background:#160625;border-bottom:1px solid #ffffff15;z-index:4}
#presenter .presenter-brand{padding:4px 10px;height:44px;width:auto;border-radius:3px;gap:10px}
#presenter .presenter-brand img{width:72px;height:34px;object-fit:contain}
#presenter .presenter-top>div{display:flex;gap:7px}
#presenter button{font-size:13px;min-height:38px;color:#fff;border-color:#ffffff36;border-radius:4px;background:#ffffff08}
#presenter button:hover{background:#ffffff22}
#presenter #autoplay[aria-pressed=true]{background:#f23339;border-color:#f23339}
#presenter .cinema-stage{position:relative;width:100%;height:100%;max-width:none;padding:0;margin:0;overflow:auto;display:block;min-height:0;background:radial-gradient(ellipse at 90% 10%,#351064,#130520 65%);animation:cinema-in .35s ease both}
.photo-slide{position:relative;width:100%;height:100%;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;isolation:isolate;overflow:hidden}
.photo-backdrop{position:absolute;inset:-45px;background-size:cover;background-position:center;filter:blur(28px);opacity:.19;z-index:-2}
.photo-backdrop:after{content:'';position:absolute;inset:0;background:#13052044}
.photo-frame{min-height:0;width:100%;padding:16px 28px 0;display:flex;align-items:center;justify-content:center}
.photo-frame img{display:block;width:100%;height:100%;object-fit:contain;max-height:100%;filter:none;border-radius:2px;box-shadow:none;animation:cinema-in .4s ease both}
#presenter .photo-slide figcaption{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 40px 22px;background:linear-gradient(90deg,#210a36f7,#130520c4);border-top:1px solid #ffffff13}
.photo-chapter{color:#c391f3;font-size:12px!important;font-weight:650;letter-spacing:.15em;line-height:1.5;text-transform:uppercase;margin:0 0 8px!important}
#presenter .photo-slide h2{font-size:clamp(24px,3vw,43px);line-height:1.1;letter-spacing:-.035em;font-weight:650;margin:0;max-width:none;color:#fff}
.photo-caption{font-size:clamp(14px,1.2vw,18px)!important;line-height:1.5;color:#e8dcec;margin:8px 0 0!important;max-width:900px}
.photo-signature{font-size:11px;white-space:nowrap;letter-spacing:.14em;color:#c0a6d4;border-left:3px solid #f23339;padding:5px 0 5px 16px}
#presenter .word-slide{min-height:100%;padding:5vh 8vw;display:flex;flex-direction:column;justify-content:center;position:relative;isolation:isolate}
.word-slide:after{content:'';position:absolute;right:0;top:0;width:40%;height:100%;background:linear-gradient(150deg,#0e54ae30,transparent 70%);z-index:-1}
#presenter .word-slide h2{font-size:clamp(40px,6.3vw,92px);letter-spacing:-.06em;line-height:1.06;color:#fff;max-width:1100px;margin:15px 0 20px;white-space:normal}
.word-caption{font-size:clamp(19px,2vw,28px);line-height:1.6;color:#d8bfeb;max-width:940px;margin:0;white-space:normal}
.word-rule{display:block;height:5px;width:100px;margin-top:36px;background:linear-gradient(90deg,#f23339 55%,#0e54ae 55%)}
#presenter .price-slide h2{font-size:clamp(30px,4vw,56px)}
#presenter .price-slide{padding:4vh 6vw}
#presenter .slide-price{margin:10px 0;overflow-x:auto;max-width:100%}
#presenter .slide-price table{width:100%;min-width:680px;font-size:clamp(14px,1.6vw,23px)}
#presenter .slide-price th{font-size:clamp(11px,1.15vw,16px);white-space:normal;background:#ffffff0d}
#presenter .slide-price td,#presenter .slide-price th{padding:19px 15px;border-color:#ffffff20}
#presenter .presenter-bottom{position:relative;inset:auto;padding:12px 28px;background:#160625;z-index:4;border-top:1px solid #ffffff15}
#presenter .progress-track{position:absolute;bottom:0;left:0;right:0;height:3px;z-index:5}
#presenter #present-list{position:absolute;inset:68px 0 65px;z-index:10;overflow:auto;padding:25px;background:#130520fa;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
#presenter #present-list:not([hidden]){display:grid}
#presenter #present-list[hidden]{display:none!important}
.presentation-hint{font-size:13px;color:#d8bfeb;margin-top:15px}
.cms-link{white-space:nowrap}
@keyframes cinema-in{from{opacity:.2}to{opacity:1}}
@media(min-width:1600px){.photo-frame{padding-top:20px}.photo-slide figcaption{padding-block:28px}}
@media(max-width:900px){.presentation-section .slide-grid,#presenter #present-list{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-signature{display:none}#presenter .photo-slide figcaption{padding:18px 24px}.photo-frame{padding:10px 12px 0}#presenter .word-slide{padding:5vh 7vw}}
@media(max-width:600px){#hero-title{font-size:clamp(2.8rem,12vw,4.7rem);letter-spacing:-.06em}.presentation-section .slide-grid{gap:12px}.slide-tile{min-height:210px;padding:16px}.slide-tile strong{font-size:17px}#presenter[open]{grid-template-rows:62px minmax(0,1fr) 58px}#presenter .presenter-top{padding:8px 10px;gap:6px}#presenter .presenter-brand{gap:5px;padding:3px 5px;height:36px}#presenter .presenter-brand img{width:42px;height:28px}#presenter .presenter-brand b{font-size:10px}#presenter button{font-size:11px;padding:8px 9px;min-height:36px}#presenter .presenter-top>div{gap:4px}#presenter .presenter-bottom{padding:10px 16px}#presenter #slide-chapter{display:none}#presenter .photo-slide figcaption{padding:20px 20px 24px}#presenter .photo-slide h2{font-size:27px}.photo-chapter{font-size:10px!important}.photo-caption{font-size:14px!important}.photo-frame{padding:8px 0 0}#presenter .word-slide h2{font-size:clamp(34px,9.6vw,57px)}.word-caption{font-size:19px}#presenter .price-slide{padding:25px 20px}.photo-slide{grid-template-rows:minmax(0,1fr) auto}#presenter #present-list{inset:62px 0 58px;padding:15px;gap:12px}.presentation-hint{max-width:250px}}
@media(prefers-reduced-motion:reduce){#presenter .cinema-stage,.photo-frame img{animation:none}.slide-tile img{transition:none}}
@media(max-width:600px){#presenter .presenter-top>div button:first-child{display:inline-flex;align-items:center}#presenter .presenter-top>div{flex-wrap:nowrap}#presenter #fullscreen{font-size:0;min-width:35px}#presenter #fullscreen:after{content:'⛶';font-size:18px;line-height:1}}
