/* MisterSa Flip Catalog — viewer styles (zero-build, vanilla) */
@font-face{font-family:"Estedad";src:url("../fonts/Estedad-Thin.woff2") format("woff2");font-weight:100;font-display:swap}
@font-face{font-family:"Estedad";src:url("../fonts/Estedad-Light.woff2") format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Estedad";src:url("../fonts/Estedad-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Estedad";src:url("../fonts/Estedad-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Estedad";src:url("../fonts/Estedad-SemiBold.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Estedad";src:url("../fonts/Estedad-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Estedad";src:url("../fonts/Estedad-ExtraBold.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Estedad";src:url("../fonts/Estedad-Black.woff2") format("woff2");font-weight:900;font-display:swap}

.msfc{--primary:#141e4b;--primary2:#4774ff;--accent:#ff8300;--accent2:#ffb15e;--mid:#be73ff;--deep:#080b1c;--ink:#f5f7ff;--muted:#a7b2da;--paper:#10173a;
  --gloss:.55;--gx:30%;--gy:20%;--s:.3;--W:360px;--H:640px;--stage-dim:.78;
  position:relative;box-sizing:border-box;font-family:"Estedad",Tahoma,sans-serif;color:var(--ink);background:var(--deep);
  overflow:hidden;isolation:isolate;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;
  display:grid;grid-template-rows:auto 1fr auto;width:100%;height:100%;min-height:420px;line-height:1.6}
.msfc *,.msfc *::before,.msfc *::after{box-sizing:border-box}
.msfc--full{position:fixed;inset:0;height:100vh;height:100dvh;z-index:1}
.msfc--embed{border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.msfc :where(button){font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}
.msfc :where(a){color:inherit;text-decoration:none}
.msfc svg{display:block}
.msfc :focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:12px}

/* ---------- stage (space) ---------- */
.msfc-space{position:absolute;inset:0;z-index:-1;overflow:hidden;background:
  radial-gradient(ellipse 60% 50% at 15% 20%,rgba(71,116,255,.30),transparent 70%),
  radial-gradient(ellipse 50% 45% at 90% 85%,rgba(255,131,0,.22),transparent 70%),
  radial-gradient(ellipse 40% 40% at 70% 10%,rgba(190,115,255,.16),transparent 70%),var(--deep)}
.msfc-space__img{position:absolute;inset:-4%;background-size:cover;background-position:center;opacity:calc(1 - var(--stage-dim));filter:saturate(1.2) blur(1px);transform:scale(1.06)}
.msfc-space__stars,.msfc-space__stars2{position:absolute;inset:-50%;background-image:
  radial-gradient(1.2px 1.2px at 20px 30px,#fff,transparent),radial-gradient(1px 1px at 120px 80px,#cfe0ff,transparent),
  radial-gradient(1.5px 1.5px at 200px 150px,#fff,transparent),radial-gradient(1px 1px at 60px 190px,#ffd9b0,transparent),
  radial-gradient(1px 1px at 260px 40px,#fff,transparent);background-size:300px 220px;opacity:.55;animation:msfc-drift 140s linear infinite}
.msfc-space__stars2{background-size:420px 360px;opacity:.35;animation-duration:220s;animation-direction:reverse}
@keyframes msfc-drift{to{transform:translate3d(300px,220px,0)}}

/* ---------- chrome ---------- */
.msfc-top,.msfc-bottom{display:flex;align-items:center;gap:12px;padding:14px clamp(12px,2.4vw,32px);position:relative;z-index:20}
.msfc-top{justify-content:space-between}
.msfc-brand{display:flex;align-items:center;gap:12px;min-width:0}
.msfc-brand img{height:clamp(26px,3.6vw,40px);width:auto;filter:drop-shadow(0 4px 18px rgba(71,116,255,.45))}
.msfc-tools{display:flex;align-items:center;gap:8px}
.msfc-ibtn{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16)!important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .2s,transform .2s,box-shadow .2s}
.msfc-ibtn:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}
.msfc-ibtn svg{width:22px;height:22px}
.msfc-ibtn--accent{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent!important;color:#1a0d00;box-shadow:0 0 0 1px rgba(255,131,0,.4),0 8px 26px rgba(255,131,0,.45)}
.msfc-ibtn--accent:hover{background:linear-gradient(135deg,#ff9524,#ffc283);box-shadow:0 0 30px rgba(255,131,0,.75)}
.msfc-ibtn[aria-pressed="false"] .msfc-i-on,.msfc-ibtn[aria-pressed="true"] .msfc-i-off{display:none}
.msfc-flags{display:flex;gap:6px;padding:5px;border-radius:40px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.msfc-flag{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;opacity:.55;transition:.2s;position:relative}
.msfc-flag span{width:28px;height:19px;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.msfc-flag span svg,.msfc-flag span img{width:100%;height:100%;object-fit:cover}
.msfc-flag[aria-pressed="true"]{opacity:1;background:rgba(255,131,0,.18);box-shadow:inset 0 0 0 2px var(--accent)}
.msfc-flag:hover{opacity:1}

.msfc-center{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(10px,3vw,48px);min-height:0;padding:4px 8px 10px;z-index:10}
.msfc-nav{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;flex:none;color:#1a0d00;
  background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 0 6px rgba(255,131,0,.12),0 12px 34px rgba(255,131,0,.5);transition:transform .2s,box-shadow .2s,opacity .2s}
.msfc-nav:hover{transform:scale(1.07);box-shadow:0 0 0 10px rgba(255,131,0,.16),0 0 46px rgba(255,131,0,.85)}
.msfc-nav:disabled{opacity:.25;box-shadow:none;cursor:default;transform:none}
.msfc-nav svg{width:28px;height:28px}
.msfc[dir="rtl"] .msfc-nav--next svg,.msfc[dir="ltr"] .msfc-nav--prev svg{transform:scaleX(-1)}
.msfc-bottom{justify-content:space-between;font-size:13px;color:var(--muted)}
.msfc-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.msfc-pill{padding:5px 12px;border-radius:30px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);white-space:nowrap}
.msfc-pill b{color:var(--accent2);font-weight:700}
.msfc-credit{color:var(--ink);font-weight:600;display:inline-flex;gap:6px;align-items:center;white-space:nowrap}
.msfc-credit:hover{color:var(--accent)}
.msfc-credit i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.msfc-progress{flex:1;max-width:360px;display:flex;align-items:center;gap:10px}
.msfc-progress__bar{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden}
.msfc-progress__bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--primary2),var(--accent));transition:width .5s}
.msfc[dir="rtl"] .msfc-progress__bar i{margin-inline-start:0}
.msfc-counter{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.msfc-mobnav{display:none}

/* ---------- book mockup ---------- */
.msfc-book{position:relative;width:var(--W);height:var(--H);perspective:calc(var(--W) * 4.2);flex:none;touch-action:pan-y;cursor:grab}
.msfc-book.is-drag{cursor:grabbing}
.msfc-book__stack{position:absolute;inset:0;pointer-events:none}
.msfc-book__stack i{position:absolute;inset:0;border-radius:6px 16px 16px 6px;background:linear-gradient(90deg,#d9dcea,#f6f7fc);box-shadow:0 1px 0 rgba(0,0,0,.2)}
.msfc[dir="rtl"] .msfc-book__stack i{border-radius:16px 6px 6px 16px}
.msfc-book__stack i:nth-child(1){transform:translate(calc(var(--side) * 9px),9px)}
.msfc-book__stack i:nth-child(2){transform:translate(calc(var(--side) * 6px),6px)}
.msfc-book__stack i:nth-child(3){transform:translate(calc(var(--side) * 3px),3px)}
.msfc{--side:-1}.msfc[dir="ltr"]{--side:1}
.msfc-book__shadow{position:absolute;inset:4% -4% -6% -4%;background:radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.7),transparent 70%);filter:blur(24px);z-index:-1;pointer-events:none}
.msfc-book__glow{position:absolute;inset:-12%;background:radial-gradient(closest-side,rgba(71,116,255,.30),transparent);z-index:-2;pointer-events:none;filter:blur(10px)}
.msfc-pages{position:absolute;inset:0;transform-style:preserve-3d}
.msfc-sheet{position:absolute;inset:0;overflow:hidden;border-radius:6px 16px 16px 6px;background:var(--paper);box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.msfc[dir="rtl"] .msfc-sheet{border-radius:16px 6px 6px 16px}
.msfc-sheet.is-current{z-index:2}
.msfc-sheet.is-under{z-index:1}
.msfc-spine{position:absolute;top:0;bottom:0;width:7%;z-index:6;pointer-events:none;left:0;background:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,.18) 40%,transparent)}
.msfc[dir="rtl"] .msfc-spine{left:auto;right:0;background:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,.18) 40%,transparent)}
.msfc-canvas{position:absolute;top:0;left:0;width:var(--LW,1080px);height:1920px;transform:scale(var(--s));transform-origin:0 0;overflow:hidden;direction:inherit}
/* gloss (glossy coated paper) */
.msfc-gloss{position:absolute;inset:0;pointer-events:none;z-index:5;mix-blend-mode:screen;opacity:var(--gloss);
  background:radial-gradient(circle at var(--gx) var(--gy),rgba(255,255,255,.34),rgba(255,255,255,.10) 18%,transparent 46%),
  linear-gradient(118deg,transparent calc(var(--gx) - 22%),rgba(255,255,255,.13) calc(var(--gx) - 8%),rgba(255,255,255,.02) calc(var(--gx) + 4%),transparent calc(var(--gx) + 12%));
  transition:background-position .1s}
.msfc-gloss::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.07),transparent 22%,transparent 80%,rgba(0,0,0,.18))}

/* leaf (the flipping sheet) — two hinged segments so the paper bends */
.msfc-leaf{position:absolute;inset:0;z-index:4;transform-style:preserve-3d;will-change:transform}
.msfc-seg{position:absolute;inset:0;transform-style:preserve-3d}
.msfc-seg--free{will-change:transform}
.msfc-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:inherit}
.msfc-face>.msfc-sheet{z-index:1}
.msfc-face .msfc-gloss{display:none}
.msfc-win{position:absolute;top:0;bottom:0;overflow:hidden}
.msfc-full{position:absolute;top:0;bottom:0}
.msfc-face__shade{position:absolute;inset:0;z-index:7;pointer-events:none;opacity:0;
  background:linear-gradient(var(--sd,to right),rgba(4,6,20,.30),rgba(4,6,20,.62) 62%,rgba(4,6,20,.82))}
.msfc-face__curl{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:0;mix-blend-mode:screen;
  background:linear-gradient(var(--sd,to right),transparent calc(var(--fold,58%) - 1%),rgba(255,255,255,.42) calc(var(--fold,58%) + 1.5%),rgba(255,255,255,.12) calc(var(--fold,58%) + 9%),transparent calc(var(--fold,58%) + 24%),rgba(255,255,255,.08) 97%,rgba(255,255,255,.22))}
.msfc-leaf__back{transform:rotateY(180deg);overflow:hidden;
  background:linear-gradient(100deg,#1a2353,#26316c 46%,#151c45);box-shadow:inset 0 0 70px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.08)}
.msfc[dir="rtl"] .msfc-leaf__back{border-radius:6px 16px 16px 6px}
.msfc[dir="ltr"] .msfc-leaf__back{border-radius:16px 6px 6px 16px}
.msfc-leaf__back::before{content:"";position:absolute;inset:0;background:var(--back-img) center/cover;opacity:.16;transform:scaleX(-1);filter:saturate(.7) blur(1px)}
.msfc-leaf__back .msfc-face__shade{background:linear-gradient(var(--sd,to right),rgba(10,14,40,.18),rgba(10,14,40,.45) 70%,rgba(10,14,40,.6))}
.msfc-cast{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;border-radius:inherit}
.msfc-fade{animation:msfc-fade .32s ease both}
@keyframes msfc-fade{from{opacity:0}to{opacity:1}}

.msfc-hint{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:12px;color:var(--muted);opacity:.8;white-space:nowrap;pointer-events:none;transition:opacity .6s}
.msfc-hint.is-hidden{opacity:0}

/* ---------- overlays ---------- */
.msfc-ov{position:absolute;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:clamp(12px,3vw,40px);
  background:rgba(6,9,26,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.msfc-ov.is-open{display:flex;animation:msfc-fade .25s ease}
.msfc-ov__close{position:absolute;top:14px;inset-inline-end:14px;z-index:3}
.msfc-share{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;max-width:560px;width:100%}
.msfc-share h2{margin:0;font-size:clamp(20px,3vw,30px);font-weight:900}
.msfc-share__qr{background:#fff;border-radius:28px;padding:22px;box-shadow:0 0 0 6px rgba(255,131,0,.25),0 0 70px rgba(255,131,0,.45),0 30px 80px rgba(0,0,0,.5);position:relative;
  width:min(var(--qr,360px),78vw,58vh);aspect-ratio:1}
.msfc-share__qr svg{width:100%;height:100%}
.msfc-share__qr .msfc-qr-logo{position:absolute;left:50%;top:50%;width:22%;height:22%;transform:translate(-50%,-50%);border-radius:20%;background:linear-gradient(145deg,#1b2766,var(--primary) 60%,#0b1030);
  display:grid;place-items:center;padding:3.2%;box-sizing:border-box;box-shadow:0 0 0 5px #fff,0 0 0 7px rgba(255,131,0,.55),0 6px 18px rgba(8,11,28,.35)}
.msfc-share__qr .msfc-qr-logo img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 0 6px rgba(255,255,255,.18))}
.msfc-share__qr .msfc-qr-logo img.is-whiten{filter:brightness(0) invert(1)}
.msfc-share__url{direction:ltr;font-size:13px;color:var(--muted);word-break:break-all;max-width:100%}
.msfc-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;border-radius:60px;font-weight:800;font-size:17px;color:#1a0d00!important;
  background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 0 1px rgba(255,177,94,.6),0 10px 36px rgba(255,131,0,.55);transition:.2s}
.msfc-cta:hover{box-shadow:0 0 0 1px #ffd2a3,0 0 50px rgba(255,131,0,.9);transform:translateY(-1px)}
.msfc-cta svg{width:22px;height:22px}
.msfc-cta.is-done{background:linear-gradient(135deg,#2ee59d,#9cf5c9)}
.msfc-ghost{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border-radius:40px;border:1px solid rgba(255,255,255,.25)!important;font-weight:600;font-size:15px}
.msfc-share__row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center}
.msfc-check{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);cursor:pointer}
.msfc-check input{accent-color:var(--accent);width:18px;height:18px}
.msfc-frame{position:relative;width:min(100%,1280px);height:min(100%,86vh);border-radius:20px;overflow:hidden;background:#000;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.msfc-frame.is-portrait{width:auto;aspect-ratio:9/16;height:min(100%,86vh);max-width:100%}
.msfc-frame iframe,.msfc-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.msfc-frame__bar{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:2}
.msfc-toc{width:min(1100px,100%);max-height:100%;overflow:auto;padding:10px 4px 30px;user-select:none}
.msfc-toc h2{margin:6px 6px 18px;font-weight:900;font-size:24px}
.msfc-toc__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.msfc-toc__item{display:flex;flex-direction:column;gap:6px;text-align:start;border-radius:14px;padding:6px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)!important;transition:.2s}
.msfc-toc__item:hover,.msfc-toc__item.is-current{border-color:var(--accent)!important;background:rgba(255,131,0,.08)}
.msfc-toc__thumb{aspect-ratio:9/16;border-radius:10px;background:var(--primary) center/cover;position:relative;overflow:hidden}
.msfc-toc__thumb b{position:absolute;top:6px;inset-inline-start:6px;background:rgba(0,0,0,.6);border-radius:20px;padding:0 9px;font-size:12px}
.msfc-toc__item span{font-size:13px;font-weight:600;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.msfc-toast{position:absolute;bottom:90px;left:50%;transform:translate(-50%,20px);opacity:0;z-index:120;padding:10px 20px;border-radius:30px;background:#0f1534;border:1px solid var(--accent);font-weight:700;transition:.3s;pointer-events:none}
.msfc-toast.is-show{opacity:1;transform:translate(-50%,0)}
.msfc-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- mobile ---------- */
@media (max-width:760px){
  .msfc-center>.msfc-nav{display:none}
  .msfc-brand img{height:22px}
  .msfc-tools{gap:6px}
  .msfc-flags{padding:3px;gap:2px}
  .msfc-flag{width:32px!important;height:32px!important}
  .msfc-flag span{width:24px;height:16px}
  .msfc-ibtn{width:38px!important;height:38px!important}
  .msfc-ibtn svg{width:19px;height:19px}
  .msfc-mobnav{display:flex;gap:10px}
  .msfc-mobnav .msfc-nav{width:46px;height:46px;box-shadow:0 0 0 4px rgba(255,131,0,.12),0 6px 20px rgba(255,131,0,.45)}.msfc-mobnav .msfc-nav svg{width:22px;height:22px}
  .msfc-top{padding:10px 12px}
  .msfc-tools .msfc-ibtn--fs{display:none}
  .msfc-bottom{padding:8px 12px calc(10px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px}
  .msfc-progress{order:-1;flex-basis:100%;max-width:none}
  .msfc-meta{font-size:11px;gap:6px}
  .msfc-pill{padding:4px 9px}
  .msfc-center{padding:0 6px 4px}
  .msfc-book__stack i:nth-child(1){display:none}
  .msfc-hint{display:none}
}
@media (max-height:520px){.msfc-bottom .msfc-meta{display:none}}
@media (prefers-reduced-motion:reduce){.msfc-space__stars,.msfc-space__stars2{animation:none}}

/* =================== PAGE CANVAS (1080×1920 logical) =================== */
.pg{position:absolute;inset:0;font-size:40px;line-height:1.85;color:var(--ink);overflow:hidden}
.pg-bg{position:absolute;inset:0;background:
  radial-gradient(ellipse 80% 40% at 100% 0%,rgba(71,116,255,.30),transparent 70%),
  radial-gradient(ellipse 70% 35% at 0% 100%,rgba(255,131,0,.16),transparent 70%),
  linear-gradient(180deg,var(--primary) 0%,var(--paper) 55%,var(--deep) 100%)}
.pg-bg::after{content:"";position:absolute;inset:0;opacity:.5;background-image:radial-gradient(2px 2px at 40px 60px,#fff,transparent),radial-gradient(2px 2px at 300px 200px,#cfe0ff,transparent),radial-gradient(3px 3px at 520px 90px,#fff,transparent),radial-gradient(2px 2px at 800px 330px,#ffd9b0,transparent),radial-gradient(2px 2px at 980px 140px,#fff,transparent);background-size:1080px 480px}
.pg-in{position:absolute;inset:0;padding:110px 84px 150px;display:flex;flex-direction:column;gap:30px}
.pg-foot{position:absolute;left:84px;right:84px;bottom:56px;display:flex;justify-content:space-between;align-items:center;font-size:26px;color:var(--muted);letter-spacing:.06em;z-index:4}
.pg-foot b{color:var(--ink);font-weight:800;font-size:30px}
.pg-foot i{flex:1;height:2px;margin:0 30px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent)}
.pg-kicker{font-size:30px;font-weight:700;color:var(--accent);letter-spacing:.04em;display:flex;align-items:center;gap:18px}
.pg-kicker::before{content:"";width:60px;height:4px;border-radius:4px;background:var(--accent);box-shadow:0 0 18px var(--accent)}
.pg-title{margin:0;font-size:84px;line-height:1.28;font-weight:900;letter-spacing:-.01em;text-shadow:0 6px 40px rgba(0,0,0,.45)}
.pg-title em{font-style:normal;color:var(--accent)}
.pg-sub{margin:0;font-size:40px;line-height:1.7;color:var(--muted);font-weight:500}
.pg-body{margin:0;font-size:41px;line-height:1.95;color:#dfe5ff;font-weight:400;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.pg-clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pg-clamp3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pg-media{position:relative;border-radius:44px;overflow:hidden;background:#0b1030;box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 2px rgba(255,255,255,.08);flex:none}
.pg-media img,.pg-media video{width:100%;height:100%;object-fit:cover;display:block}
.pg-media--169{aspect-ratio:16/9}
.pg-media__badge{position:absolute;top:28px;inset-inline-start:28px;padding:8px 26px;border-radius:40px;font-size:26px;font-weight:800;background:rgba(8,11,28,.7);backdrop-filter:blur(6px);border:2px solid rgba(255,255,255,.2)}
.pg-chips{display:flex;flex-wrap:wrap;gap:18px}
.pg-chip{padding:14px 34px;border-radius:60px;font-size:32px;font-weight:600;background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.14);display:flex;align-items:center;gap:14px}
.pg-chip::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent)}
.pg-actions{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:auto;flex-shrink:0}
.pg-in>*{flex-shrink:0}.pg-in>.pg-body,.pg-in>.pg-menu,.pg-in>.pg-gal,.pg-in>.pg-list,.pg-in>.pg-vgrid,.pg-in>.pg-plist,.pg-in>.pg-blocks{flex-shrink:1}
.pg-btn{display:flex;align-items:center;justify-content:center;gap:14px;min-height:108px;padding:0 30px;border-radius:80px;font-size:33px;min-width:0;white-space:nowrap;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative}
.pg-btn svg{width:42px;height:42px;flex:none}.pg-btn>span{overflow:hidden;text-overflow:ellipsis}
.pg-btn--neon{color:#1a0d00;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 0 3px rgba(255,177,94,.55),0 0 50px rgba(255,131,0,.65),0 18px 50px rgba(255,131,0,.4)}
.pg-btn--neon::after{content:"";position:absolute;inset:-10px;border-radius:inherit;border:3px solid rgba(255,131,0,.45);animation:msfc-pulse 2.4s ease-out infinite;pointer-events:none}
@keyframes msfc-pulse{0%{opacity:.9;transform:scale(.98)}100%{opacity:0;transform:scale(1.12)}}
.pg-btn--glass{color:var(--ink);background:rgba(255,255,255,.07);border:3px solid rgba(255,255,255,.22)}
.pg-btn--blue{color:#fff;background:linear-gradient(135deg,var(--primary2),var(--mid));box-shadow:0 0 44px rgba(71,116,255,.55)}
.pg-btn--wide{grid-column:1/-1}
.pg-btn:hover{transform:translateY(-3px)}
.pg-play{position:absolute;left:50%;top:50%;width:190px;height:190px;margin:-95px 0 0 -95px;border-radius:50%;display:grid;place-items:center;color:#1a0d00;cursor:pointer;
  background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 0 18px rgba(255,131,0,.18),0 0 90px rgba(255,131,0,.8);z-index:3}
.pg-play svg{width:80px;height:80px;margin-inline-start:10px}
[dir="rtl"] .pg-play svg{transform:none}

/* cover / back */
.pg--cover .pg-bgimg,.pg-full{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pg--cover::after,.pg--back::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,28,.25),transparent 30%,transparent 55%,rgba(8,11,28,.85));z-index:1}
.pg-cover{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding:120px 80px 150px}
.pg-cover__kicker{font-size:32px;font-weight:700;letter-spacing:.1em;padding:14px 40px;border-radius:60px;background:rgba(8,11,28,.45);border:2px solid rgba(255,255,255,.22);backdrop-filter:blur(8px)}
.pg-cover__logo{width:880px;max-width:100%;margin-top:auto;filter:drop-shadow(0 10px 60px rgba(71,116,255,.55))}
.pg-cover__tag{font-size:52px;font-weight:800;margin:36px 0 0;text-shadow:0 4px 30px rgba(0,0,0,.8)}
.pg-cover__latin{font-size:30px;letter-spacing:.5em;color:var(--muted);margin-top:16px;direction:ltr}
.pg-cover__play{margin-top:70px}
.pg-cover__meta{margin-top:auto;display:flex;gap:20px;align-items:center;font-size:30px;font-weight:600}
.pg-cover__meta span{padding:12px 34px;border-radius:50px;background:rgba(8,11,28,.55);border:2px solid rgba(255,255,255,.18)}
.pg-cover__meta span b{color:var(--accent)}
.pg-cover__hint{margin-top:36px;font-size:30px;color:var(--muted);display:flex;align-items:center;gap:16px;animation:msfc-nudge 1.8s ease-in-out infinite}
.pg-cover__hint svg{width:40px;height:40px}
[dir="ltr"] .pg-cover__hint svg{transform:scaleX(-1)}
@keyframes msfc-nudge{50%{transform:translateX(-18px)}}
[dir="ltr"] .pg-cover__hint{animation-name:msfc-nudge-l}
@keyframes msfc-nudge-l{50%{transform:translateX(18px)}}
.pg-back__qr{width:420px;height:420px;background:#fff;border-radius:40px;padding:30px;box-shadow:0 0 0 10px rgba(255,131,0,.25),0 0 90px rgba(255,131,0,.5);margin:60px auto 0;position:relative}
.pg-back__qr svg{width:100%;height:100%}

/* menu */
.pg-menu{display:grid;grid-template-columns:1fr 1fr;gap:26px;flex:1;min-height:0}
.pg-tile{position:relative;border-radius:36px;overflow:hidden;cursor:pointer;background:#0b1030;box-shadow:0 18px 50px rgba(0,0,0,.4),0 0 0 2px rgba(255,255,255,.08);transition:transform .25s,box-shadow .25s}
.pg-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pg-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(8,11,28,.92))}
.pg-tile span{position:absolute;inset-inline:26px;bottom:22px;z-index:2;font-size:33px;font-weight:800;line-height:1.4}
.pg-tile b{position:absolute;top:20px;inset-inline-start:20px;z-index:2;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:28px;background:var(--accent);color:#1a0d00;box-shadow:0 0 24px rgba(255,131,0,.8)}
.pg-tile:hover{transform:translateY(-6px);box-shadow:0 0 0 3px var(--accent),0 0 50px rgba(255,131,0,.5)}
.pg-tile:hover img{transform:scale(1.06)}

/* chapter */
.pg--chapter .pg-full{filter:saturate(1.15)}
.pg--chapter::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,28,.2),rgba(8,11,28,.55) 45%,rgba(8,11,28,.95));z-index:1}
.pg-chapter{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:0 90px 260px;gap:26px}
.pg-chapter__num{font-size:220px;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:4px var(--accent);text-shadow:0 0 60px rgba(255,131,0,.45);opacity:.95}
.pg-chapter .pg-title{font-size:104px}
.pg-chapter__line{width:240px;height:8px;border-radius:8px;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 30px var(--accent)}

/* product */
.pg--product .pg-in{padding-top:0}
.pg-hero{margin:0 -84px;height:700px;position:relative;flex:none}
.pg-hero img{width:100%;height:100%;object-fit:cover}
.pg-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,var(--primary))}
.pg-hero .pg-media__badge{z-index:2}

/* text-image */
.pg-ti__media{height:760px}
.pg-stats{display:flex;gap:22px}
.pg-stat{flex:1;padding:30px 20px;border-radius:32px;text-align:center;background:linear-gradient(160deg,rgba(71,116,255,.18),rgba(255,255,255,.03));border:2px solid rgba(255,255,255,.12)}
.pg-stat b{display:block;font-size:64px;font-weight:900;line-height:1.2;color:var(--accent2)}
.pg-stat span{font-size:28px;color:var(--muted)}

/* lifestyle */
.pg--lifestyle::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,28,.35),transparent 18%,transparent 52%,rgba(8,11,28,.94) 86%);z-index:1}
.pg-life{position:absolute;inset:auto 0 0 0;z-index:2;padding:0 84px 170px;display:flex;flex-direction:column;gap:22px}
.pg-life .pg-title{font-size:80px}
.pg-life__label{position:absolute;top:96px;inset-inline-start:84px;z-index:2;padding:12px 34px;border-radius:50px;font-size:28px;font-weight:800;background:rgba(255,131,0,.92);color:#1a0d00;box-shadow:0 0 40px rgba(255,131,0,.6)}

/* gallery */
.pg-gal{display:grid;grid-template-columns:1fr 1fr;gap:24px;flex:1;min-height:0;grid-auto-rows:1fr}
.pg-gal .pg-tile span{font-size:30px}

/* tours / videos list */
.pg-list{display:flex;flex-direction:column;gap:22px;flex:1;min-height:0}
.pg-row{display:flex;gap:30px;align-items:center;padding:16px;border-radius:34px;background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.1);cursor:pointer;flex:1;min-height:0;transition:.2s}
.pg-row:hover{border-color:var(--accent);background:rgba(255,131,0,.07)}
.pg-row__img{height:100%;aspect-ratio:16/10;border-radius:24px;overflow:hidden;flex:none;position:relative}
.pg-row__img img{width:100%;height:100%;object-fit:cover}
.pg-row__img i{position:absolute;inset:0;display:grid;place-items:center;background:rgba(8,11,28,.35)}
.pg-row__img i svg{width:72px;height:72px;color:#fff;filter:drop-shadow(0 0 16px var(--accent))}
.pg-row__t{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.pg-row__t b{font-size:36px;font-weight:800;line-height:1.4}
.pg-row__t span{font-size:28px;color:var(--accent2);font-weight:600}
.pg-vgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;flex:1;min-height:0;grid-auto-rows:1fr}
.pg-vcard{position:relative;border-radius:30px;overflow:hidden;cursor:pointer;background:#000;box-shadow:0 0 0 2px rgba(255,255,255,.1)}
.pg-vcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}
.pg-vcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,11,28,.95))}
.pg-vcard span{position:absolute;inset-inline:22px;bottom:18px;z-index:2;font-size:28px;font-weight:700;line-height:1.45}
.pg-vcard i{position:absolute;top:50%;left:50%;width:100px;height:100px;margin:-80px 0 0 -50px;border-radius:50%;z-index:2;display:grid;place-items:center;background:var(--accent);color:#1a0d00;box-shadow:0 0 40px rgba(255,131,0,.8)}
.pg-vcard i svg{width:44px;height:44px;margin-inline-start:6px}

/* video page */
.pg-video{aspect-ratio:16/9}
.pg-video.is-portrait{aspect-ratio:9/16;height:1000px;align-self:center}
.pg-video iframe,.pg-video video.pg-inline{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;z-index:4}

/* tour single */
.pg--tour .pg-full{filter:saturate(1.1)}
.pg--tour::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,28,.5),rgba(8,11,28,.15) 30%,rgba(8,11,28,.92) 70%);z-index:1}
.pg-tour{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:110px 84px 170px;gap:30px}
.pg-tour__360{position:absolute;top:50%;left:50%;width:300px;height:300px;margin:-330px 0 0 -150px;border-radius:50%;z-index:2;display:grid;place-items:center;cursor:pointer;
  border:4px dashed rgba(255,255,255,.55);animation:msfc-spin 18s linear infinite}
.pg-tour__360 b{width:220px;height:220px;border-radius:50%;display:grid;place-items:center;font-size:62px;font-weight:900;color:#1a0d00;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 80px rgba(255,131,0,.8);animation:msfc-spin 18s linear infinite reverse;direction:ltr}
@keyframes msfc-spin{to{transform:rotate(360deg)}}

/* 3D */
.pg-3d{height:900px;background:radial-gradient(circle at 50% 40%,rgba(71,116,255,.35),transparent 60%),#0b1030}
.pg-3d model-viewer{width:100%;height:100%;--poster-color:transparent;position:absolute;inset:0;z-index:4}
.pg-3d__cube{position:absolute;top:30px;inset-inline-end:30px;z-index:3;width:110px;height:110px;border-radius:30px;display:grid;place-items:center;background:rgba(8,11,28,.7);border:2px solid var(--accent);color:var(--accent)}
.pg-3d__cube svg{width:64px;height:64px}

/* audio */
.pg-audio{display:flex;align-items:center;gap:26px;padding:20px 26px;border-radius:60px;background:rgba(255,255,255,.07);border:2px solid rgba(255,255,255,.14)}
.pg-audio button{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#1a0d00;flex:none;box-shadow:0 0 30px rgba(255,131,0,.6)}
.pg-audio button svg{width:42px;height:42px}
.pg-audio__bar{flex:1;height:10px;border-radius:10px;background:rgba(255,255,255,.15);overflow:hidden}
.pg-audio__bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2))}
.pg-audio span{font-size:28px;color:var(--muted);font-weight:600}

/* contact */
.pg-contact__aisa{display:flex;align-items:center;gap:34px;padding:30px;border-radius:40px;background:linear-gradient(135deg,rgba(71,116,255,.22),rgba(190,115,255,.12));border:2px solid rgba(255,255,255,.12)}
.pg-contact__aisa img{width:200px;height:200px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 6px rgba(255,131,0,.6),0 0 50px rgba(255,131,0,.4)}
.pg-contact__aisa div{display:flex;flex-direction:column;gap:6px}
.pg-contact__aisa b{font-size:46px;font-weight:900}
.pg-contact__aisa span{font-size:30px;color:var(--muted)}
.pg-clist{display:flex;flex-direction:column;gap:20px}
.pg-cbtn{display:flex;align-items:center;gap:28px;min-height:128px;padding:0 36px;border-radius:40px;background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.13);cursor:pointer;transition:.2s}
.pg-cbtn:hover{border-color:var(--accent)}
.pg-cbtn i{width:84px;height:84px;border-radius:26px;display:grid;place-items:center;flex:none;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#1a0d00}
.pg-cbtn i svg{width:44px;height:44px}
.pg-cbtn div{display:flex;flex-direction:column;line-height:1.35;min-width:0}
.pg-cbtn b{font-size:36px;font-weight:800}
.pg-cbtn span{font-size:30px;color:var(--muted);direction:ltr;unicode-bidi:plaintext;text-align:start}
.pg-socials{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.pg-soc{width:112px;height:112px;border-radius:34px;display:grid;place-items:center;background:rgba(255,255,255,.07);border:2px solid rgba(255,255,255,.15);cursor:pointer;transition:.2s}
.pg-soc:hover{background:var(--accent);color:#1a0d00}
.pg-soc svg{width:52px;height:52px}
.pg-addr{text-align:center;font-size:30px;color:var(--muted)}

/* custom blocks */
.pg-blocks{display:flex;flex-direction:column;gap:30px;flex:1;min-height:0}
.pg-list-ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px}
.pg-list-ul li{display:flex;gap:20px;align-items:baseline;font-size:38px}
.pg-list-ul li::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent);transform:translateY(-6px)}

.pg-tour .pg-actions,.pg-life .pg-actions{margin-top:10px}
.pg--contact .pg-cbtn{min-height:150px}
.pg--contact .pg-clist{gap:24px}

/* ---------- in-page video player (v1.0.1) ---------- */
.pg-player{position:relative;width:100%;aspect-ratio:16/9;border-radius:40px;overflow:hidden;flex:none;background:#05071a;cursor:pointer;isolation:isolate;
  box-shadow:0 0 0 3px rgba(255,131,0,.6),0 0 0 11px rgba(255,131,0,.1),0 0 80px rgba(255,131,0,.32),0 36px 90px rgba(0,0,0,.6)}
.pg-player::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:7;box-shadow:inset 0 2px 0 rgba(255,255,255,.22),inset 0 0 0 2px rgba(255,255,255,.07)}
.pg-player.is-portrait{aspect-ratio:9/16;width:auto;height:1000px;align-self:center}
.pg-player__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease,filter .4s}
.pg-player__blank{background:radial-gradient(circle at 50% 40%,#22307a,#080b1c 70%)}
.pg-player:hover .pg-player__media{transform:scale(1.035)}
.pg-player__shade{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(8,11,28,0) 35%,rgba(8,11,28,.5) 100%),linear-gradient(180deg,rgba(8,11,28,.4),transparent 28%,transparent 55%,rgba(8,11,28,.92))}
.pg-player__badge{position:absolute;top:26px;inset-inline-start:26px;z-index:2;display:flex;align-items:center;gap:10px;padding:8px 22px 8px 16px;border-radius:40px;direction:ltr;
  font-size:24px;line-height:1.4;font-weight:800;letter-spacing:.06em;color:#fff;background:rgba(8,11,28,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.2)}
.pg-player__badge svg{width:28px;height:28px;color:var(--accent);flex:none}
.pg-player .pg-play{width:172px;height:172px;margin:-86px 0 0 -86px;transition:transform .25s ease,box-shadow .25s}
.pg-player .pg-play::after{content:"";position:absolute;inset:-16px;border-radius:50%;border:3px solid rgba(255,177,94,.7);animation:msfc-pulse 2.2s ease-out infinite;pointer-events:none}
.pg-player .pg-play svg{width:74px;height:74px}
.pg-player:hover .pg-play,.pg-player:focus-visible .pg-play{transform:scale(1.08);box-shadow:0 0 0 20px rgba(255,131,0,.22),0 0 120px rgba(255,131,0,.95)}
.pg-player__bar{position:absolute;inset-inline:32px;bottom:26px;z-index:2;display:flex;align-items:center;gap:20px;font-size:28px;line-height:1.4;font-weight:800;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.7)}
.pg-player__cap{flex:0 1 auto;max-width:58%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-player__track{flex:1;min-width:60px;height:7px;border-radius:7px;background:rgba(255,255,255,.22);overflow:hidden;position:relative}
.pg-player__track b{position:absolute;inset-block:0;inset-inline-start:0;width:9%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 12px var(--accent)}
.pg-player__hd{flex:none;font-size:19px;padding:3px 12px;border-radius:9px;border:2px solid rgba(255,255,255,.45);direction:ltr;letter-spacing:.05em}
.pg-player.is-playing{cursor:auto}
.pg-player.is-playing .pg-play,.pg-player.is-playing .pg-player__shade,.pg-player.is-playing .pg-player__badge,.pg-player.is-playing .pg-player__bar{display:none}
.pg-player.is-playing .pg-player__media{transform:none}
.pg-player.is-playing video.pg-player__media{z-index:6;object-fit:contain;background:#000}
.pg-player__frame{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:6;background:#000}
.pg-player--cover{width:860px;max-width:100%;margin-top:64px;border-radius:36px}
.pg-player--cover .pg-play{width:140px;height:140px;margin:-70px 0 0 -70px}
.pg-player--cover .pg-play svg{width:60px;height:60px}
.pg-in--player{padding-top:110px!important}
.pg-player.pg-ti__media{height:auto}
/* videos page: featured player + playlist */
.pg-plist{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;flex:1;min-height:0;grid-auto-rows:1fr}
.pg-pthumb{position:relative;border-radius:26px;overflow:hidden;cursor:pointer;background:#000;min-height:0;box-shadow:0 0 0 2px rgba(255,255,255,.1);transition:box-shadow .25s,transform .25s}
.pg-pthumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;transition:opacity .25s}
.pg-pthumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(8,11,28,.95))}
.pg-pthumb span{position:absolute;inset-inline:16px;bottom:12px;z-index:2;font-size:23px;font-weight:700;line-height:1.45}
.pg-pthumb i{position:absolute;top:16px;inset-inline-end:16px;width:58px;height:58px;border-radius:50%;z-index:2;display:grid;place-items:center;background:rgba(8,11,28,.6);border:2px solid rgba(255,255,255,.35);color:#fff}
.pg-pthumb i svg{width:26px;height:26px;margin-inline-start:4px}
.pg-pthumb:hover img{opacity:1}
.pg-pthumb.is-active{box-shadow:0 0 0 4px var(--accent),0 0 34px rgba(255,131,0,.55)}
.pg-pthumb.is-active i{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;color:#1a0d00}


/* =================== v1.0.2 =================== */
/* floating 3D stage (iOS-wallpaper-like), magazine dolly */
.msfc-center{perspective:1700px;perspective-origin:50% 45%}
.msfc-stage{position:relative;flex:none;transform-origin:50% 52%;will-change:transform;backface-visibility:hidden}
.msfc-space__img,.msfc-space__stars,.msfc-space__stars2{translate:var(--px,0) var(--py,0)}
.msfc-space__stars2{translate:calc(var(--px,0px) * 1.8) calc(var(--py,0px) * 1.8)}
.msfc-book__edge{position:absolute;top:0;bottom:0;width:16px;z-index:6;pointer-events:none;opacity:0;transition:opacity .6s;right:-2px;border-radius:0 10px 10px 0;
  background:linear-gradient(to left,rgba(255,255,255,.0),rgba(255,255,255,.28) 35%,rgba(0,0,0,.35) 70%,transparent)}
.msfc[dir="ltr"] .msfc-book__edge{right:auto;left:-2px;transform:scaleX(-1)}
.msfc.is-cover .msfc-book__edge{opacity:.85}
.msfc.is-cover .msfc-book__shadow{inset:8% -2% -9% -2%;filter:blur(30px)}
.msfc.is-cover .msfc-book__stack i:nth-child(1){transform:translate(calc(var(--side) * 12px),11px)}
.msfc.is-cover .msfc-book__stack i:nth-child(2){transform:translate(calc(var(--side) * 8px),7px)}
.msfc.is-cover .msfc-book__stack i:nth-child(3){transform:translate(calc(var(--side) * 4px),3.5px)}
.msfc-book__stack i{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
/* intro */
.msfc.is-intro .msfc-stage{animation:msfc-intro-in 1.5s cubic-bezier(.2,.7,.15,1) both}
@keyframes msfc-intro-in{from{opacity:0;filter:blur(6px) brightness(.6)}55%{filter:none}to{opacity:1;filter:none}}
.msfc-coverhint{position:absolute;left:50%;bottom:7%;z-index:30;display:none;align-items:center;gap:8px;white-space:nowrap;transform:translateX(-50%);
  padding:9px 16px 9px 14px;border-radius:40px;font-size:13.5px;font-weight:800;color:#1a0d00;cursor:pointer;
  background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 0 6px rgba(255,131,0,.16),0 10px 30px rgba(255,131,0,.55);animation:msfc-hint-bob 2.4s ease-in-out infinite}
.msfc-coverhint svg{width:20px;height:20px}
@keyframes msfc-hint-bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-6px)}}
.msfc-skip{position:absolute;bottom:-34px;inset-inline-end:2px;z-index:30;display:none;font-size:12px;font-weight:700;color:var(--muted);padding:3px 10px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)!important}
.msfc-skip:hover{color:#fff}
.msfc.is-intro.is-cover .msfc-coverhint{display:inline-flex}
.msfc.is-intro.is-cover .msfc-skip{display:block}
.msfc.is-cover .msfc-book{cursor:pointer}

/* small, single-line "open in new tab" */
.msfc-frame__bar{bottom:12px}
.msfc-frame__bar .msfc-cta{min-height:30px;padding:0 12px;gap:6px;font-size:12.5px;font-weight:700;white-space:nowrap;line-height:1;color:#fff!important;
  background:rgba(8,11,28,.66);border:1px solid rgba(255,255,255,.22);box-shadow:0 4px 16px rgba(0,0,0,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.msfc-frame__bar .msfc-cta svg{width:14px;height:14px;color:var(--accent)}
.msfc-frame__bar .msfc-cta:hover{background:rgba(255,131,0,.9);color:#1a0d00!important;box-shadow:0 0 22px rgba(255,131,0,.6)}
.msfc-frame__bar .msfc-cta:hover svg{color:#1a0d00}

/* Hoshma / Mistersa Player Pro inside the catalog */
.msfc .pg-hpp,.pg-hpp--portal{--mfp-primary:#ff8300;--mfp-accent:#ffb15e;--mfp-bg:#05071a;--mfp-fg:#f5f7ff;--mfp-controls-bg:rgba(8,11,28,.72);--mfp-controls-bg-rgb:8,11,28;--mfp-font:"Estedad",Tahoma,sans-serif;font-family:"Estedad",Tahoma,sans-serif}
.msfc .pg-hpp:not(.hoshmaplayerpro-ui-fake-fs):not(:fullscreen){position:absolute!important;left:0;top:0;z-index:8;margin:0!important;max-width:none!important;border-radius:0!important;
  width:calc(100% * var(--s))!important;height:calc(100% * var(--s))!important;aspect-ratio:auto!important;padding:0!important;
  transform:scale(calc(1 / var(--s)));transform-origin:0 0;background:#000;user-select:none}
.msfc .pg-hpp.pg-hpp--flat:not(.hoshmaplayerpro-ui-fake-fs):not(:fullscreen){width:100%!important;height:100%!important;transform:none}
.msfc .pg-hpp:fullscreen,.msfc .pg-hpp:-webkit-full-screen{transform:none!important;position:fixed!important;inset:0!important}
.pg-hpp video{object-fit:contain}
.pg-hpp--native video{position:absolute;inset:0;width:100%;height:100%;background:#000}
.msfc .pg-player.is-playing .pg-player__media{opacity:0}
.msfc .pg-player.is-loading::before{content:"";position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;z-index:9;border-radius:50%;
  border:10px solid rgba(255,255,255,.18);border-top-color:var(--accent);animation:msfc-spin .8s linear infinite}
.msfc .pg-hpp-host{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;cursor:auto}
.msfc .pg-hpp-host.is-loading::before{width:54px;height:54px;margin:-27px 0 0 -27px;border-width:5px}
@keyframes msfc-spin{to{transform:rotate(360deg)}}
.msfc-frame--video{aspect-ratio:16/9;height:auto;max-height:86vh;width:min(100%,1280px,calc(86vh * 16 / 9))}

/* search */
.msfc-ov.is-search{align-items:flex-start;padding-top:clamp(56px,9vh,110px)}
.msfc-search{width:min(720px,100%);max-height:100%;display:flex;flex-direction:column;gap:10px;user-select:text;-webkit-user-select:text}
.msfc-search__bar{display:flex;align-items:center;gap:10px;padding:0 10px 0 16px;height:58px;border-radius:20px;flex:none;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 4px rgba(255,131,0,.0),0 20px 60px rgba(0,0,0,.45);transition:box-shadow .2s,border-color .2s}
.msfc-search__bar:focus-within{border-color:rgba(255,131,0,.8);box-shadow:0 0 0 4px rgba(255,131,0,.18),0 20px 60px rgba(0,0,0,.45)}
.msfc-search__ico svg{width:22px;height:22px;color:var(--accent)}
.msfc-search__input{flex:1;min-width:0;height:100%;border:0;outline:0;background:none;color:var(--ink);font:inherit;font-size:17px;font-weight:600}
.msfc-search__input::placeholder{color:var(--muted);opacity:.85}
.msfc-search__input::-webkit-search-cancel-button{display:none}
.msfc .msfc-search__input:focus-visible{outline:0}
.msfc-search__clear{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08)}
.msfc-search__clear svg{width:16px;height:16px}
.msfc-search__meta{font-size:12px;color:var(--muted);padding:0 8px;min-height:16px}
.msfc-search__list{overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:6px;padding:2px 2px 14px;min-height:0}
.msfc-search__item{display:flex;align-items:center;gap:12px;text-align:start;padding:8px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)!important;transition:background .15s,border-color .15s}
.msfc-search__item.is-sel{background:rgba(255,131,0,.10);border-color:rgba(255,131,0,.65)!important}
.msfc-search__thumb{flex:none;width:46px;aspect-ratio:9/16;border-radius:8px;background:var(--primary) center/cover;position:relative;overflow:hidden}
.msfc-search__thumb b{position:absolute;bottom:3px;inset-inline-start:3px;background:rgba(0,0,0,.65);border-radius:10px;padding:0 6px;font-size:10.5px;line-height:1.6}
.msfc-search__txt{min-width:0;display:flex;flex-direction:column;gap:1px}
.msfc-search__txt small{font-size:11px;color:var(--accent2);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msfc-search__txt strong{font-size:15px;font-weight:800;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msfc-search__txt p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.msfc-search mark{background:rgba(255,131,0,.26);color:#fff;border-radius:4px;padding:0 2px;box-shadow:inset 0 -2px 0 var(--accent)}
.msfc-search__empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 10px 10px;color:var(--muted);text-align:center}
.msfc-search__empty svg{width:34px;height:34px;opacity:.5}
.msfc-search__empty p{margin:0;font-size:14px}
.msfc-search__chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:6px 0 10px}
.msfc-search__chip{padding:6px 14px;border-radius:30px;font-size:13px;font-weight:700;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16)!important}
.msfc-search__chip:hover{border-color:var(--accent)!important;color:var(--accent2)}
@media (max-width:760px){
  .msfc-ov.is-search{padding:58px 10px 10px}
  .msfc-search__bar{height:50px;border-radius:16px}
  .msfc-search__input{font-size:16px}
  .msfc-coverhint{font-size:12.5px;padding:8px 13px}
  .msfc-skip{bottom:auto;top:-30px}
}
@media (prefers-reduced-motion:reduce){
  .msfc-stage{transform:none!important}
  .msfc.is-intro .msfc-stage,.msfc-coverhint{animation:none}
  .msfc-space__img,.msfc-space__stars,.msfc-space__stars2{translate:none}
}

/* =================== v1.0.3 — two-page spread + corner curl =================== */
.msfc .msfc-book{width:var(--BW,var(--W));perspective:none}
.msfc .msfc-pages{transform-style:flat}
.msfc .msfc-pages>.msfc-sheet,.msfc .msfc-flapwrap>.msfc-sheet{inset:auto;top:0;left:0;width:var(--W);height:var(--H)}
.msfc .msfc-pages>.msfc-sheet.pos-r{left:var(--W)}
.msfc .msfc-sheet.sp-l{border-radius:3px 14px 14px 3px}
.msfc .msfc-sheet.sp-r{border-radius:14px 3px 3px 14px}
.msfc .sp-l>.msfc-spine{left:0;right:auto;width:8%;background:linear-gradient(to right,rgba(0,0,0,.55),rgba(0,0,0,.2) 35%,rgba(255,255,255,.04) 70%,transparent)}
.msfc .sp-r>.msfc-spine{right:0;left:auto;width:8%;background:linear-gradient(to left,rgba(0,0,0,.55),rgba(0,0,0,.2) 35%,rgba(255,255,255,.04) 70%,transparent)}
.msfc .msfc-sheet.is-turning{transform-origin:0 0;box-shadow:none}
.msfc-flapwrap{position:absolute;inset:0;z-index:5;pointer-events:none;filter:drop-shadow(0 0 16px rgba(0,0,0,.55)) drop-shadow(0 2px 3px rgba(0,0,0,.35))}
.msfc-flapwrap .msfc-gloss{opacity:calc(var(--gloss) * .6)}
.msfc-shd{position:absolute;pointer-events:none;z-index:9;transform-origin:0 50%}
/* mobile: facing page peeks past the hinge */
.msfc .msfc-sheet.is-facing{z-index:0}
.msfc .msfc-sheet.is-facing::after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;background:rgba(3,5,18,.35)}
/* blank endpaper */
.msfc-blank{background:radial-gradient(ellipse at 50% 40%,#18215a,#0e1438 70%)!important}
.msfc-blank__mark{position:absolute;left:0;right:0;top:50%;text-align:center;direction:ltr;letter-spacing:.5em;font-weight:800;font-size:calc(var(--W) * .045);color:rgba(255,255,255,.12)}
/* spread: page blocks under each half (thickness on the outer edges), hidden when a half is empty */
.msfc-book__half,.msfc-book__gutter{display:none}
.msfc.is-spread .msfc-book__stack,.msfc.is-spread .msfc-book__edge{display:none}
.msfc.is-spread .msfc-book__half{display:block;position:absolute;top:0;width:var(--W);height:var(--H);pointer-events:none;background:#10173a}
.msfc.is-spread .msfc-book__half--l{left:0;border-radius:14px 3px 3px 14px;box-shadow:-2px 2px 0 #d9dcea,-4px 4px 0 #bfc4d8,-6px 6px 0 #a8aec8,-10px 14px 34px rgba(0,0,0,.55)}
.msfc.is-spread .msfc-book__half--r{left:var(--W);border-radius:3px 14px 14px 3px;box-shadow:2px 2px 0 #d9dcea,4px 4px 0 #bfc4d8,6px 6px 0 #a8aec8,10px 14px 34px rgba(0,0,0,.55)}
.msfc.is-spread .msfc-book.is-empty-l .msfc-book__half--l,.msfc.is-spread .msfc-book.is-empty-r .msfc-book__half--r{display:none}
.msfc.is-spread .msfc-book__shadow{inset:6% 4% -5% 4%}
.msfc.is-spread .msfc-book.is-empty-l .msfc-book__shadow{left:52%}
.msfc.is-spread .msfc-book.is-empty-r .msfc-book__shadow{right:52%}
.msfc.is-spread .msfc-book__glow{inset:-8%}
/* compact page-turn buttons hugging the book (no overflow) */
.msfc .msfc-center{gap:14px}
.msfc .msfc-center>.msfc-nav{width:44px;height:44px;box-shadow:0 0 0 4px rgba(255,131,0,.12),0 8px 22px rgba(255,131,0,.42)}
.msfc .msfc-center>.msfc-nav svg{width:20px;height:20px}
.msfc .msfc-center>.msfc-nav:hover{box-shadow:0 0 0 6px rgba(255,131,0,.16),0 0 30px rgba(255,131,0,.7)}
@media (max-width:760px){
  .msfc .msfc-mobnav .msfc-nav{width:38px;height:38px}.msfc .msfc-mobnav .msfc-nav svg{width:18px;height:18px}
  .msfc .msfc-progress{gap:8px}
}
/* service pages: competitive-advantage bullets */
.pg-bullets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.pg-bullets li{position:relative;padding-inline-start:62px;font-size:37px;line-height:1.6;font-weight:600;color:var(--ink)}
.pg-bullets li::before{content:"";position:absolute;inset-inline-start:0;top:.32em;width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent2)) center/100% no-repeat;box-shadow:0 0 18px rgba(255,131,0,.45)}
.pg-bullets li::after{content:"";position:absolute;inset-inline-start:13px;top:calc(.32em + 9px);width:10px;height:18px;border:solid #1a0d00;border-width:0 5px 5px 0;transform:rotate(45deg)}
/* v1.0.3 videos page: wide (16:9) and portrait (9:16) cards, both open the full-screen player */
.pg-vcard{position:relative;border-radius:26px;overflow:hidden;cursor:pointer;background:#000;min-height:0;box-shadow:0 0 0 2px rgba(255,255,255,.1);transition:box-shadow .25s,transform .25s}
.pg-vcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.86;transition:opacity .25s,transform .4s}
.pg-vcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,11,28,.95))}
.pg-vcard span{position:absolute;inset-inline:18px;bottom:14px;z-index:2;font-size:25px;font-weight:700;line-height:1.45}
.pg-vcard em{position:absolute;top:16px;inset-inline-start:16px;z-index:2;font-style:normal;direction:ltr;font-size:19px;font-weight:800;padding:4px 12px;border-radius:99px;background:rgba(8,11,28,.6);color:#ffd7ad;border:1px solid rgba(255,131,0,.5)}
.pg-vcard i{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;z-index:2;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--accent),var(--accent2));color:#1a0d00;box-shadow:0 0 30px rgba(255,131,0,.6)}
.pg-vcard i svg{width:36px;height:36px;margin-inline-start:5px}
.pg-vcard:hover{box-shadow:0 0 0 4px var(--accent),0 0 34px rgba(255,131,0,.55)}.pg-vcard:hover img{opacity:1;transform:scale(1.04)}
.pg-vcard.is-wide{aspect-ratio:16/9}
.pg-vcard--feature span{font-size:32px}
.pg-vrow{display:flex;gap:20px;min-height:0;justify-content:center}
.pg-vrow--wide>.pg-vcard{flex:1 1 0;min-width:0}
.pg-vrow--wide>.pg-vcard i{width:62px;height:62px;margin:-31px 0 0 -31px}.pg-vrow--wide>.pg-vcard i svg{width:26px;height:26px}
.pg-vrow--wide>.pg-vcard span{font-size:21px}
.pg-in>.pg-vrow--tall{flex:1 1 auto;flex-shrink:1;align-items:stretch}
.pg-vrow--tall>.pg-vcard{height:100%;aspect-ratio:9/16;flex:0 1 auto;max-width:31%}
.pg-vrow--tall>.pg-vcard span{font-size:21px}
/* full-screen overlay player keeps the real aspect */
.msfc-ov.is-fs{padding:0;background:#000}
.msfc-ov.is-fs .msfc-frame--video{max-height:100vh;width:min(100%,calc(100vh * 16 / 9))}
.msfc-frame--video.is-portrait{aspect-ratio:9/16;width:auto;height:min(86vh,100%);max-width:100%}
.msfc-ov.is-fs .msfc-frame--video.is-portrait{height:100vh;max-height:100vh;width:auto}
.msfc .hoshmaplayerpro-ui-brand,.pg-hpp .hoshmaplayerpro-ui-brand,.pg-hpp--portal .hoshmaplayerpro-ui-brand{display:none!important}
/* v1.0.3 3D showcase */
.pg-in>.pg-m3dgrid{flex:1 1 auto;flex-shrink:1;min-height:0}
.pg-m3dgrid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.15fr 1fr;gap:22px}
.pg-m3d{position:relative;border-radius:30px;overflow:hidden;min-height:0;cursor:grab;touch-action:none;
  background:radial-gradient(ellipse at 50% 38%,rgba(255,131,0,.16),transparent 62%),linear-gradient(160deg,#1a2366,#0b1030 75%);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),0 18px 40px rgba(0,0,0,.35)}
.pg-m3d.is-grab{cursor:grabbing}
.pg-m3d--wide{grid-column:1 / -1}
.pg-m3d>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.5;transition:opacity .4s}
.pg-m3d.is-ready>img{opacity:0}
.pg-m3d__cv{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}
.pg-m3d__spin{position:absolute;left:50%;top:46%;width:110px;height:110px;margin:-55px 0 0 -55px;color:var(--accent);opacity:.8;animation:msfc-m3d 2.4s ease-in-out infinite;pointer-events:none}
.pg-m3d__spin svg{width:100%;height:100%}
.pg-m3d.is-ready .pg-m3d__spin{display:none}
.pg-m3d.is-failed .pg-m3d__spin{animation:none;opacity:.35}
@keyframes msfc-m3d{50%{transform:rotateY(180deg) scale(.9)}}
.pg-m3d__cap{position:absolute;inset-inline-start:22px;bottom:18px;z-index:2;font-size:30px;font-weight:800;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.pg-m3d__hint{position:absolute;top:16px;inset-inline-end:16px;z-index:2;font-style:normal;font-size:20px;font-weight:700;padding:6px 14px;border-radius:99px;pointer-events:none;
  background:rgba(8,11,28,.55);border:1px solid rgba(255,131,0,.55);color:#ffd7ad}
.pg-m3dgrid~.pg-body{font-size:24px;line-height:1.6;-webkit-line-clamp:2;opacity:.65}
.msfc-frame--img{background:transparent;box-shadow:none;display:grid;place-items:center;width:min(100%,1100px);height:min(86vh,100%)}.msfc-frame--img img{max-width:100%;max-height:100%;object-fit:contain;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.msfc .pg-credits{margin:10px 0 0;font:500 17px/1.45 system-ui,Arial,sans-serif;color:rgba(255,255,255,.5);text-align:start;unicode-bidi:plaintext}
/* small phones: the top bar must never widen the layout (keeps book + bottom nav inside the screen) */
.msfc{grid-template-columns:minmax(0,1fr)}
.msfc .msfc-top,.msfc .msfc-bottom{min-width:0;max-width:100%}
.msfc .msfc-brand{min-width:0;flex-shrink:1}
.msfc .msfc-brand img{max-width:100%}
@media (max-width:430px){
  .msfc .msfc-brand img{height:18px}
  .msfc .msfc-tools{gap:4px}
}
@media (max-width:380px){
  .msfc .msfc-brand img{height:15px}
  .msfc .msfc-ibtn{width:34px!important;height:34px!important}
  .msfc .msfc-flag{width:28px!important;height:28px!important}
  .msfc .msfc-top{padding:8px 8px}
}

/* ---------- v1.0.4/1.0.5: Three.js table intro (v1.0.5: luxury round table on parquet) ---------- */
.msfc-table{position:absolute;inset:0;z-index:80;overflow:hidden;cursor:grab;-webkit-tap-highlight-color:transparent;touch-action:none;user-select:none;-webkit-user-select:none;
  background:radial-gradient(120% 90% at 50% 45%,#7a4a2b 0%,#4a2b17 60%,#2a1a10 100%);transition:opacity .6s ease,filter .6s ease}
.msfc-table__cv{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;opacity:0;transition:opacity .9s ease}
.msfc-table.is-ready .msfc-table__cv{opacity:1}
.msfc-table.is-out{opacity:0;filter:blur(2px);pointer-events:none}
.msfc-table__load{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:14px;
  font:700 13px/1.4 Estedad,Tahoma,sans-serif;color:#7a6248;transition:opacity .4s}
.msfc-table__load i{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,131,0,.25);border-top-color:#ff8300;animation:msfc-tspin 1s linear infinite}
@keyframes msfc-tspin{to{transform:rotate(360deg)}}
.msfc-table.is-ready .msfc-table__load{opacity:0;pointer-events:none}
.msfc-table__hint{position:absolute;left:50%;bottom:9%;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transform:translateX(-50%);
  padding:11px 18px 11px 16px;border-radius:40px;font:800 14px/1 Estedad,Tahoma,sans-serif;color:#1a0d00;cursor:pointer;border:0;opacity:0;pointer-events:none;
  background:linear-gradient(135deg,var(--accent,#ff8300),var(--accent2,#ffb347));box-shadow:0 0 0 6px rgba(255,131,0,.18),0 12px 30px rgba(255,131,0,.45);transition:opacity .5s}
.msfc-table__hint svg{width:20px;height:20px}
.msfc-table.is-idle .msfc-table__hint{opacity:1;pointer-events:auto;animation:msfc-hint-bob 2.4s ease-in-out infinite}
.msfc-table.is-zoom .msfc-table__hint,.msfc-table.is-zoom .msfc-table__skip{opacity:0;pointer-events:none}
.msfc-table__skip{position:absolute;top:18px;inset-inline-start:18px;font:700 12px/1 Estedad,Tahoma,sans-serif;color:#6b5540;padding:7px 13px;border-radius:20px;cursor:pointer;
  background:rgba(255,255,255,.55);border:1px solid rgba(120,90,60,.2);backdrop-filter:blur(6px);transition:opacity .3s}
.msfc-table__skip:hover{background:#fff}
.msfc.is-table .msfc-top,.msfc.is-table .msfc-bottom{opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){.msfc-table__hint{animation:none!important}}

/* ---------- v1.0.5 ---------- */
.msfc-table.is-grab{cursor:grabbing}
.msfc-table.is-over-mag{cursor:pointer}
.msfc-table.is-zoom{cursor:default}
.msfc-table__load{color:#f3dcc0}
.msfc-table__drag{position:absolute;left:50%;bottom:calc(9% + 54px);transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  font:700 12px/1 Estedad,Tahoma,sans-serif;color:#fff3e3;padding:7px 13px;border-radius:20px;background:rgba(30,16,6,.45);backdrop-filter:blur(6px);opacity:0;transition:opacity .5s;pointer-events:none}
.msfc-table__drag i{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,243,227,.8);position:relative;animation:msfc-dragdot 2.6s ease-in-out infinite}
@keyframes msfc-dragdot{0%,100%{transform:translateX(-7px)}50%{transform:translateX(7px)}}
.msfc-table.is-idle .msfc-table__drag{opacity:1}
.msfc-table.is-zoom .msfc-table__drag{opacity:0}
.msfc-table__hint.is-nudge{animation:msfc-nudge .5s ease!important}
@keyframes msfc-nudge{0%,100%{transform:translateX(-50%)}25%{transform:translateX(calc(-50% - 8px))}75%{transform:translateX(calc(-50% + 8px))}}
.msfc-table__skip{color:#fff3e3;background:rgba(30,16,6,.45);border-color:rgba(255,220,180,.25)}
.msfc-table__skip:hover{background:rgba(30,16,6,.7)}
/* after hand-off the 3D room stays behind the opened magazine (no galaxy behind the first spread) */
.msfc-table.is-backdrop{z-index:5;pointer-events:none;cursor:default}
.msfc-table.is-backdrop .msfc-table__hint,.msfc-table.is-backdrop .msfc-table__skip,.msfc-table.is-backdrop .msfc-table__drag,.msfc-table.is-backdrop .msfc-table__load{display:none}
.msfc-table.is-backdrop.is-out{opacity:0;filter:none}
.msfc.is-tablebg .msfc-book__glow{opacity:0;transition:opacity .6s}
.msfc.is-tablebg .msfc-bottom{text-shadow:0 1px 6px rgba(0,0,0,.6)}
/* single-line clamp */
.pg-clamp1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
/* contents (TOC) page */
.pg-toc__list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:6px}
.pg-toc__ch{display:flex;align-items:center;gap:20px;padding:14px 22px;margin-top:8px;border-radius:22px;cursor:pointer;
  background:linear-gradient(90deg,rgba(255,131,0,.22),rgba(255,131,0,.04));border:2px solid rgba(255,131,0,.35);break-inside:avoid}
.pg-toc__ch b{font-size:40px;font-weight:900;color:var(--accent);min-width:64px;text-shadow:0 0 22px rgba(255,131,0,.6)}
.pg-toc__ch span{flex:1;font-size:38px;font-weight:900}
.pg-toc__ch em{font-style:normal;font-size:28px;font-weight:800;color:var(--muted)}
.pg-toc__row{display:flex;align-items:center;gap:20px;padding:6px 10px;border-radius:18px;cursor:pointer;transition:background .2s;break-inside:avoid}
.pg-toc__row:hover{background:rgba(255,255,255,.07)}
.pg-toc__th{flex:none;width:76px;height:76px;border-radius:18px;overflow:hidden;background:#0b1030;box-shadow:0 0 0 2px rgba(255,255,255,.1);display:grid;place-items:center;color:var(--accent)}
.pg-toc__th img{width:100%;height:100%;object-fit:cover;display:block}
.pg-toc__th i svg{width:36px;height:36px}
.pg-toc__t{flex:0 1 auto;font-size:33px;font-weight:700;line-height:1.5}
.pg-toc__dots{flex:1 1 30px;min-width:30px;height:0;border-bottom:3px dotted rgba(255,255,255,.22);font-style:normal}
.pg-toc__row b{flex:none;min-width:58px;text-align:center;font-size:28px;font-weight:800;color:var(--accent2);padding:4px 10px;border-radius:30px;background:rgba(255,131,0,.12)}
.pg-toc__list.is-dense .pg-toc__th{width:62px;height:62px;border-radius:14px}
.pg-toc__list.is-dense .pg-toc__t{font-size:30px}
.pg-toc__list.is-dense .pg-toc__ch{padding:10px 20px}
.pg-toc__list.is-dense .pg-toc__ch span{font-size:34px}
.pg-toc__acts{margin-top:6px}
.msfc.is-wideleaf .pg-toc__list{display:block;column-count:2;column-gap:44px;column-fill:balance}
.msfc.is-wideleaf .pg-toc__list>*{margin-bottom:10px}
.msfc.is-wideleaf .pg-toc__list.is-dense .pg-toc__th{width:70px;height:70px}
/* single 3D object: one large stage filling the page */
.pg-m3dgrid--one{grid-template-columns:1fr;grid-template-rows:1fr}
.pg-m3d--one{border-radius:40px;background:radial-gradient(ellipse 60% 50% at 50% 45%,rgba(255,131,0,.22),transparent 70%),linear-gradient(160deg,#1a2366,#0b1030 75%)}
.pg-m3d--one .pg-m3d__cap{font-size:36px;bottom:26px;inset-inline-start:30px}
.pg-m3d--one .pg-m3d__hint{font-size:24px;top:22px;inset-inline-end:22px}
/* v1.0.5: the contents list always fits the page — two balanced columns, compact rows on 9:16 leaves */
.pg-toc__list{display:block;column-count:2;column-gap:30px;column-fill:balance;overflow:hidden}
.pg-toc__list>*{margin-bottom:8px}
.msfc:not(.is-wideleaf) .pg-toc__th{width:54px;height:54px;border-radius:14px}
.msfc:not(.is-wideleaf) .pg-toc__t{font-size:28px}
.msfc:not(.is-wideleaf) .pg-toc__row{gap:12px;padding:4px 6px}
.msfc:not(.is-wideleaf) .pg-toc__row b{font-size:22px;min-width:44px;padding:3px 6px}
.msfc:not(.is-wideleaf) .pg-toc__dots{display:none}
.msfc:not(.is-wideleaf) .pg-toc__ch{padding:8px 14px;gap:12px}
.msfc:not(.is-wideleaf) .pg-toc__ch b{font-size:32px;min-width:44px}
.msfc:not(.is-wideleaf) .pg-toc__ch span{font-size:30px}
.msfc:not(.is-wideleaf) .pg-toc__ch em{font-size:22px}
/* ---------- v1.0.7: the catalog lives on the table (no galaxy stage) ---------- */
.msfc{background:#2a1a10}
.msfc-space.msfc-space--room{background:radial-gradient(ellipse 70% 60% at 50% 50%,#6a4527,#2a1a10 80%)}
.msfc-space__room{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}
.msfc-table.is-room .msfc-table__cv{transition:opacity .6s ease}
.msfc.is-tablebg .msfc-book__glow{opacity:0}
.msfc .msfc-book__shadow{opacity:.85}
/* softer paper gloss (less glare on the pages) */
.msfc .msfc-gloss{opacity:calc(var(--gloss) * .45)}
.msfc .msfc-flapwrap .msfc-gloss{opacity:calc(var(--gloss) * .3)}
/* chrome: flags top-left, logo top-centre, every tool in the bottom dock */
.msfc .msfc-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;direction:ltr;gap:10px}
.msfc .msfc-top>.msfc-flags{justify-self:start;grid-column:1}
.msfc .msfc-top>.msfc-brand{justify-self:center;grid-column:2;padding:7px 18px;border-radius:40px;background:rgba(26,15,7,.55);border:1px solid rgba(255,225,190,.16);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 24px rgba(0,0,0,.28)}
.msfc .msfc-top>.msfc-brand img{filter:none}
.msfc .msfc-top__end{grid-column:3}
.msfc .msfc-flags{background:rgba(26,15,7,.55);border-color:rgba(255,225,190,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.msfc .msfc-bottom{justify-content:center;gap:14px;flex-wrap:nowrap}
.msfc .msfc-dock{gap:8px;padding:6px;border-radius:40px;background:rgba(26,15,7,.58);border:1px solid rgba(255,225,190,.16);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(0,0,0,.32)}
.msfc .msfc-dock .msfc-counter{padding:0 12px;font-size:13px;color:#fff3e3;font-weight:800}
.msfc .msfc-progress,.msfc .msfc-meta,.msfc .msfc-credit{display:none}
@media (max-width:760px){
  .msfc .msfc-bottom{gap:8px;padding:6px 10px calc(8px + env(safe-area-inset-bottom))}
  .msfc .msfc-dock{gap:5px;padding:4px}
  .msfc .msfc-dock .msfc-counter{padding:0 6px;font-size:12px}
  .msfc .msfc-top>.msfc-brand{padding:6px 12px}
}
@media (max-width:360px){.msfc .msfc-dock .msfc-counter{display:none}}
/* phones/tablets: keep the page curl light so every frame of the turn is painted (no jump to the end) */
@media (max-width:760px),(hover:none) and (pointer:coarse){
  .msfc.is-flipping:not(.is-leafturn) .msfc-flapwrap{filter:none}
  .msfc.is-flipping .msfc-pages *{animation-play-state:paused!important}
  .msfc.is-flipping:not(.is-leafturn) .msfc-pages *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .msfc.is-flipping:not(.is-leafturn) .msfc-sheet.is-turning{box-shadow:none}
  .msfc-book{touch-action:none}
}
/* v1.0.8: mobile page turn is a hinge rotate of the live sheet (GPU), not a per-frame clip.
   Inner content stays put; only the sheet rotates. Desktop curl is untouched. */
.msfc.is-leafturn .msfc-pages{perspective:calc(var(--W) * 2.7);transform-style:preserve-3d;overflow:visible}
.msfc.is-leafturn .msfc-stage{backface-visibility:visible}
.msfc-turn{position:absolute;top:0;left:0;width:var(--W);height:var(--H);z-index:6;pointer-events:none;transform-style:preserve-3d;will-change:transform;visibility:hidden}
.msfc-turn--front{z-index:7}
.msfc-turn--front>.msfc-sheet{position:absolute;inset:0;width:100%;height:100%}
.msfc-turn--back{z-index:6;background:
  linear-gradient(180deg,rgba(255,255,255,.08),transparent 22%),
  linear-gradient(100deg,#1c274f 0%,#31407f 42%,#141b3d 100%);
  box-shadow:inset 0 0 28px rgba(0,0,0,.28);border-radius:6px 16px 16px 6px}
.msfc[dir="rtl"] .msfc-turn--back{border-radius:16px 6px 6px 16px}
.msfc-turn__fold{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:0;
  background:linear-gradient(to right,rgba(0,0,0,0),rgba(0,0,0,.16) 72%,rgba(0,0,0,.4))}
.msfc[dir="rtl"] .msfc-turn__fold{background:linear-gradient(to left,rgba(0,0,0,0),rgba(0,0,0,.16) 72%,rgba(0,0,0,.4))}
.msfc-turn__shade{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:0;
  background:linear-gradient(to right,rgba(2,3,12,.58),rgba(2,3,12,0) 48%)}
.msfc[dir="rtl"] .msfc-turn__shade{background:linear-gradient(to left,rgba(2,3,12,.58),rgba(2,3,12,0) 48%)}

/* 1.1.0 phones: the hinge turn moves only what must move. While a leaf swings, the turning sheet and the one under it
   drop glows, blurs and filters, iframes/videos are hidden, and both faces are separate GPU layers — light and smooth. */
@media (max-width:760px),(hover:none) and (pointer:coarse){
  .msfc.is-leafturn .msfc-turn,.msfc.is-leafturn .msfc-sheet.is-under{will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:flat}
  .msfc.is-leafturn .msfc-turn *,.msfc.is-leafturn .msfc-sheet.is-under *{box-shadow:none!important;text-shadow:none!important;filter:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:none!important}
  .msfc.is-leafturn .msfc-turn iframe,.msfc.is-leafturn .msfc-turn video,.msfc.is-leafturn .msfc-turn canvas,.msfc.is-leafturn .msfc-sheet.is-under iframe{visibility:hidden}
  .msfc.is-leafturn .msfc-turn__fold{will-change:opacity}
}

/* 1.1.0 calmer pages: more air around the content, fewer glows and less star noise, one accent at a time */
.pg-bg::after{opacity:.18}
.pg-in{padding:136px 104px 176px;gap:40px}
.pg-foot{left:104px;right:104px}
.pg-title{text-shadow:0 4px 22px rgba(0,0,0,.28)}
.pg-kicker::before{box-shadow:none}
.pg-sub{color:rgba(223,229,255,.72)}
.pg-body{-webkit-line-clamp:6;line-height:2.05}
.pg-media{box-shadow:0 22px 50px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.07)}
.pg-tile{box-shadow:0 12px 30px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.07)}
.pg-tile:hover{box-shadow:0 0 0 2px var(--accent),0 16px 34px rgba(0,0,0,.3)}
.pg-chip::before,.pg-chapter__line{box-shadow:none}
.pg-btn--neon{box-shadow:0 0 0 2px rgba(255,177,94,.4),0 14px 30px rgba(255,131,0,.32)}
.pg-btn--blue{box-shadow:0 14px 30px rgba(71,116,255,.3)}
.pg-toc__ch b{text-shadow:none}
.pg-toc__dots{border-bottom-color:rgba(255,255,255,.12)}
.pg-toc__row b{background:none;padding:0}
/* the single-page (phone) contents list shows titles and page numbers only — no thumbnails */
.msfc:not(.is-wideleaf) .pg-toc__th{display:none}
.msfc:not(.is-wideleaf) .pg-toc__row{padding:8px 6px}

/* 1.1.1 text + image page: the picture gives way so title, bullets and both buttons always fit inside the page */
.pg--text-image .pg-in>.pg-ti__media{flex:1 1 0;min-height:360px;max-height:760px;height:auto}
.pg--text-image .pg-ti__media img{width:100%;height:100%;object-fit:cover;display:block}
.pg--text-image .pg-in>.pg-player.pg-ti__media{flex:none}
/* 1.1.1 in-page video: no «more» (⋮) box over the picture; the progress bar and buttons sit in their own strip under it */
.pg-hpp .hoshmaplayerpro-ui-more-toggle{display:none!important}
.pg-hpp:not(.pg-hpp--portal):not(.hoshmaplayerpro-ui-fake-fs) .hoshmaplayerpro-ui-stage{bottom:64px}
.pg-hpp:not(.pg-hpp--portal):not(.hoshmaplayerpro-ui-fake-fs) .hoshmaplayerpro-ui-controls{top:auto!important;bottom:0!important;height:64px;padding:6px 10px 4px!important;background:#080b1c!important;opacity:1!important;visibility:visible!important;transform:none!important;box-sizing:border-box}
.pg-hpp:not(.pg-hpp--portal) .hoshmaplayerpro-ui-big-play{margin-top:-32px}
/* 1.1.1 all-pages overview: real page miniatures */
.msfc-toc__thumb.is-live{background:var(--paper)}
.msfc-toc__live{position:absolute;top:0;left:0;transform-origin:0 0;pointer-events:none}
.msfc-toc__thumb b{z-index:2}
