/* ParrotClass™ — style.css
   Plain CSS, no frameworks, no external fonts (system font stack only). */
:root{
  --blue-50:#EEF6FD; --blue-100:#DCEBFA; --blue-200:#BFDCF5; --blue-300:#A5CDF0;
  --blue-600:#2B66A8; --blue-700:#1F4F86;
  --cream:#FFF8EC; --cream-2:#FFF1DA; --white:#FFFFFF;
  --ink:#1F3550; --ink-soft:#4A6079;
  --peach:#FFB679; --peach-d:#F29A52; --butter:#FFE3A1; --rose:#F9C6D0; --mint:#CBEBDD; --lilac:#DCD3F3;
  --radius:22px; --radius-s:14px;
  --shadow:0 8px 24px rgba(43,102,168,.12); --shadow-s:0 3px 10px rgba(43,102,168,.12);
  --font:ui-rounded,"SF Pro Rounded","Nunito","Quicksand","Varela Round","Hiragino Maru Gothic ProN","Arial Rounded MT Bold","Segoe UI",system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Noto Sans CJK SC",Roboto,"Helvetica Neue",Arial,sans-serif;
  --max:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--cream);line-height:1.6;font-size:1.0625rem}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue-600);text-underline-offset:3px}
a:hover{color:var(--blue-700)}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .5em;color:var(--ink);font-weight:800}
h1{font-size:clamp(1.9rem,6vw,3.2rem)}
h2{font-size:clamp(1.5rem,4.2vw,2.2rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
ul,ol{padding-left:1.25em;margin:0 0 1em}
li{margin-bottom:.35em}
:focus-visible{outline:3px solid #1F4F86;outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:.7em 1.1em;border-radius:10px;z-index:100;text-decoration:none}
.skip:focus{left:8px}
.wrap{width:min(100% - 2rem,var(--max));margin-inline:auto}
.narrow{width:min(100% - 2rem,780px);margin-inline:auto}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- bilingual ---------- */
/* Every text has an English (.en) and a 华语 (.zh) version.
   data-lang on <html>: both (default) | en | zh */
html[data-lang="en"] .zh{display:none!important}
html[data-lang="zh"] .en{display:none!important}
h1 .en,h1 .zh,h2 .en,h2 .zh,h3 .en,h3 .zh,.eyebrow .en,.eyebrow .zh,.block .en,.block .zh{display:block}
h1 .zh,h2 .zh,h3 .zh{font-size:.78em;font-weight:700;color:var(--blue-600);margin-top:.15em}
p.zh,li .zh.block,.sub.zh{color:var(--ink-soft)}
p.zh{margin-top:-.45em}
li .zh{display:block;color:var(--ink-soft);font-size:.95em}
.btn .zh::before,.chip .zh::before,.tag .zh::before,.badge .zh::before{content:" · "}
.badge .zh,.badge .en{display:inline}
.btn .zh,.btn .en,.chip .en,.chip .zh{display:inline}
.btn{flex-wrap:wrap}
html[data-lang="en"] .zh::before,html[data-lang="zh"] .zh::before{content:none!important}
.stack .zh{display:block}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,248,236,.94);backdrop-filter:blur(8px);border-bottom:2px solid var(--blue-200)}
.bar{display:flex;align-items:center;gap:.75rem;min-height:64px;flex-wrap:wrap;padding-block:.35rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);font-weight:900;font-size:1.25rem}
.brand img{width:44px;height:44px;border-radius:50%;border:2px solid var(--blue-300);background:#fff}
.brand sup{font-size:.5em;font-weight:700}
.nav-toggle{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--white);border:2px solid var(--blue-300);border-radius:50%;padding:0;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;min-height:44px}
.nav-toggle svg{width:24px;height:24px;fill:var(--ink)}
.nav{order:3;width:100%}
.nav ul{list-style:none;padding:0;margin:.3rem 0 .6rem;display:flex;flex-direction:column;gap:.25rem}
.nav a{display:block;padding:.7rem .9rem;border-radius:14px;text-decoration:none;font-weight:700;color:var(--ink);min-height:44px}
.nav a .zh{display:block;font-size:.8em;font-weight:600;color:var(--ink-soft)}
.nav a:hover{background:var(--blue-100)}
.nav a[aria-current="page"]{background:var(--blue-200);color:var(--ink)}
.js .nav{display:none}
.js .nav.open{display:block}
.lang{display:inline-flex;border:2px solid var(--blue-300);border-radius:999px;overflow:hidden;background:#fff}
.lang button{font:inherit;font-size:.82rem;font-weight:800;border:0;background:transparent;color:var(--ink);padding:.5rem .7rem;cursor:pointer;min-height:40px;min-width:40px}
.lang button[aria-pressed="true"]{background:var(--blue-600);color:#fff}
.lang button:focus-visible{outline-offset:-3px}
.no-js .lang{display:none}
.no-js .nav-toggle{display:none}
@media (min-width:900px){
  .nav-toggle{display:none}
  .js .nav{display:block}
  .nav{order:0;width:auto;margin-left:auto}
  .nav ul{flex-direction:row;margin:0;gap:.1rem}
  .nav a{padding:.45rem .7rem;font-size:.95rem;text-align:center;min-height:0}
  .lang{margin-left:.25rem}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;font:inherit;font-weight:800;border-radius:999px;padding:.8rem 1.4rem;min-height:48px;border:2px solid transparent;cursor:pointer;line-height:1.25;text-align:center;transition:transform .12s ease, box-shadow .12s ease, background .12s}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-s)}
.btn svg{width:22px;height:22px;flex:none}
.btn-primary{background:var(--peach);color:#1F3550;border-color:#E58A3E}
.btn-primary:hover{background:#FFC38F;color:#1F3550}
.btn-blue{background:var(--blue-600);color:#fff}
.btn-blue:hover{background:var(--blue-700);color:#fff}
.btn-ghost{background:#fff;color:var(--blue-700);border-color:var(--blue-300)}
.btn-ghost:hover{background:var(--blue-50)}
.btn.is-disabled,.btn[aria-disabled="true"]{background:#E8EDF3;color:#55657A;border-color:#CBD5E1;cursor:not-allowed;box-shadow:none;transform:none}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.btn-sm{padding:.55rem 1.05rem;min-height:44px;font-size:.95rem}

/* ---------- sections ---------- */
section{padding-block:clamp(2.2rem,6vw,4rem)}
.band{background:var(--blue-50)}
.band-cream{background:var(--cream-2)}
.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--blue-700);margin-bottom:.6rem}
.eyebrow .zh{text-transform:none;letter-spacing:.02em}
.sec-head{max-width:46rem;margin-bottom:1.75rem}
.sec-head.center{margin-inline:auto;text-align:center}
.hero{padding-top:clamp(1.5rem,5vw,3rem);background:linear-gradient(180deg,var(--blue-100) 0%,var(--cream) 100%);overflow:hidden}
.hero-grid{display:grid;gap:2rem;align-items:center}
.hero .lead{font-size:1.15rem}
.hero-art{position:relative}
.hero-art img{border-radius:36px;border:6px solid #fff;box-shadow:var(--shadow);width:100%;aspect-ratio:1500/1118;object-fit:cover}
.badge{position:absolute;background:#fff;border-radius:999px;padding:.35rem .9rem;font-weight:800;font-size:.9rem;box-shadow:var(--shadow-s);border:2px solid var(--blue-200)}
.badge.b1{left:-.3rem;bottom:1.2rem;background:var(--blue-200)}
.badge.b2{right:-.3rem;top:1.2rem;background:var(--butter)}
@media (min-width:860px){.hero-grid{grid-template-columns:1.05fr .95fr}}
.strip{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0;margin:1.2rem 0 0}
.strip li{margin:0;background:#fff;border:2px solid var(--blue-200);border-radius:999px;padding:.3rem .9rem;font-weight:700;font-size:.92rem}
.strip li .zh{display:inline;font-size:1em;color:var(--ink-soft)}
.strip li .zh::before{content:" · "}
html[data-lang="en"] .strip li .zh::before,html[data-lang="zh"] .strip li .zh::before{content:none}

.grid{display:grid;gap:1.1rem}
.g2{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.g3{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.g4{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.card{background:#fff;border:2px solid var(--blue-200);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-s);display:flex;flex-direction:column}
.card h3{margin-bottom:.4rem}
.card .push{margin-top:auto;padding-top:1rem}
.card.warm{background:#FFFAF0;border-color:#F7D9A8}
.card.feature{border-color:var(--peach);box-shadow:var(--shadow)}
.step-n{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--butter);font-weight:900;font-size:1.2rem;margin-bottom:.6rem;border:2px solid #F0C877}
.price{font-size:1.5rem;font-weight:900;color:var(--ink)}
.price small{font-size:.8rem;font-weight:700;color:var(--ink-soft)}
.tag{display:inline-block;align-self:flex-start;background:var(--mint);border-radius:999px;padding:.15rem .75rem;font-size:.8rem;font-weight:800;margin-bottom:.6rem}
.tag.hot{background:var(--butter)}
.tag.blue{background:var(--blue-200)}
.cover{display:grid;place-items:center;border-radius:var(--radius-s);aspect-ratio:2.6/1;margin-bottom:1rem;font-weight:900;color:var(--ink);text-align:center;padding:.5rem;background:var(--blue-100);position:relative;overflow:hidden}
.cover svg{width:56px;height:56px}
.cover .num{font-size:2.6rem;line-height:1}
.cover.c0{background:var(--blue-200)}.cover.c1{background:var(--butter)}.cover.c2{background:var(--rose)}.cover.c3{background:var(--mint)}.cover.c4{background:var(--lilac)}.cover.c5{background:var(--cream-2)}
.cover .mini{font-size:.8rem;font-weight:800;opacity:.8}
.cover.big{aspect-ratio:4/3}
.cover.big .num{font-size:4.5rem}

.split{display:grid;gap:1.75rem;align-items:center}
@media (min-width:800px){.split{grid-template-columns:1fr 1fr}.split.flip>:first-child{order:2}}
.photo{border-radius:30px;border:5px solid #fff;box-shadow:var(--shadow);overflow:hidden;background:#fff}
.chars{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.char{background:#fff;border-radius:var(--radius);border:2px solid var(--blue-200);overflow:hidden;box-shadow:var(--shadow-s)}
.char.penny{border-color:#F4DFB8}
.char .body{padding:1.1rem 1.25rem 1.3rem}
.char .photo{border:0;border-radius:0;box-shadow:none}
.char img{width:100%;aspect-ratio:4/3;object-fit:cover}

.chips{display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;padding:0;margin:0}
.chip{margin:0;background:#fff;border:2px solid var(--blue-200);border-radius:999px;padding:.35rem .9rem;font-weight:700;font-size:.92rem;text-decoration:none;color:var(--ink);display:inline-block}
a.chip:hover{background:var(--blue-100)}
.chip b{color:var(--blue-700);margin-right:.3rem}

.cta{background:linear-gradient(135deg,var(--blue-200),var(--butter));border-radius:32px;padding:clamp(1.5rem,5vw,3rem);display:grid;gap:1.5rem;align-items:center;box-shadow:var(--shadow)}
@media (min-width:800px){.cta{grid-template-columns:1.3fr .7fr}}
.cta .cover-pdf{background:#fff;border-radius:18px;padding:1.2rem;border:3px solid #fff;box-shadow:var(--shadow-s);text-align:center;transform:rotate(2deg)}
.cover-pdf strong{display:block;font-size:2.6rem;line-height:1;color:var(--blue-700)}
.small{font-size:.9rem;color:var(--ink-soft)}
.note{background:#fff;border-left:6px solid var(--peach);border-radius:12px;padding:.9rem 1.1rem;margin:1.2rem 0;box-shadow:var(--shadow-s)}
.note p:last-child{margin-bottom:0}

.social-list{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.social-card{display:flex;flex-direction:column;gap:.5rem}
.social-card .ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--blue-100)}
.social-card .ico svg{width:30px;height:30px;fill:var(--ink)}
.social-card .handle{font-weight:800;word-break:break-word}
.social-card.off{opacity:.85;background:#F6F8FB;border-style:dashed}

/* prose / legal */
.page-title{background:linear-gradient(180deg,var(--blue-100),var(--cream));padding-block:clamp(2rem,6vw,3.5rem)}
.prose h2{margin-top:1.8em;font-size:1.5rem}
.prose h3{margin-top:1.3em}
.prose .zh{display:block}
.prose p.zh{margin-top:-.4em}
.draft-badge{display:inline-block;background:var(--butter);border:2px solid #F0C877;border-radius:10px;padding:.2rem .6rem;font-weight:800;font-size:.85rem;margin-bottom:1rem}
details{background:#fff;border:2px solid var(--blue-200);border-radius:var(--radius-s);padding:.2rem 1rem;margin-bottom:.7rem}
summary{cursor:pointer;font-weight:800;padding:.8rem 0;min-height:44px}
summary .zh{display:block;font-weight:600;color:var(--ink-soft);font-size:.92em}
details[open] summary{border-bottom:1px dashed var(--blue-200);margin-bottom:.7rem}
dl.facts{display:grid;gap:.5rem 1rem;grid-template-columns:auto 1fr;margin:0}
dl.facts dt{font-weight:800}
dl.facts dd{margin:0}
.contact-box{font-size:clamp(.8rem,3.7vw,1.5rem);font-weight:900;word-break:break-all}

/* product page */
.prod{display:grid;gap:2rem}
@media (min-width:800px){.prod{grid-template-columns:.9fr 1.1fr;align-items:start}}
.crumbs{font-size:.92rem;margin-bottom:1rem}
.checklist{list-style:none;padding:0}
.checklist li{padding-left:1.8rem;position:relative}
.checklist li::before{content:"";position:absolute;left:0;top:.3em;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%231F3550' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}

/* footer */
.site-footer{background:var(--ink);color:#EAF2FB;padding-block:2.5rem 1.5rem;margin-top:0}
.site-footer a{color:#fff}
.site-footer h2{font-size:1rem;color:#fff;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.06em}
.site-footer h2 .zh{font-size:.9em;color:#BFD6EE;text-transform:none;letter-spacing:0;display:inline;margin-left:.4rem}
.site-footer h2 .zh,.site-footer h2 .en{display:inline}
.foot-grid{display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.foot-grid ul{list-style:none;padding:0;margin:0}
.foot-grid li{margin-bottom:.15rem}
.foot-grid li a{display:inline-block;padding:.3rem 0;min-height:32px}
.foot-grid li .zh{display:inline;color:#BFD6EE;font-size:.88em}
.foot-grid li .zh::before{content:" · "}
html[data-lang="en"] .foot-grid .zh::before,html[data-lang="zh"] .foot-grid .zh::before{content:none}
.socials{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}
.socials a{width:46px;height:46px;border-radius:50%;background:#2D4A6B;display:grid;place-items:center}
.socials a:hover{background:var(--blue-600)}
.socials svg{width:24px;height:24px;fill:#fff}
.socials a[hidden]{display:none}
.tm{border-top:1px solid #3A5878;margin-top:1.75rem;padding-top:1.1rem;font-size:.88rem;color:#CFE0F2}
.tm p{margin-bottom:.5em}
.tm .zh{color:#BFD6EE}

.hero-404{text-align:center;padding-block:3rem}
.hero-404 img{margin:0 auto 1.5rem;border-radius:50%;width:180px;height:180px;object-fit:cover;border:6px solid #fff;box-shadow:var(--shadow)}
@media print{.site-header,.site-footer,.btn-row{display:none}body{background:#fff}}
.narrow-text{max-width:46rem}
.pad-s{padding-block:1.5rem 0}
.center-row{justify-content:center}

.btn .lbl{display:block;text-align:center}
.btn .lbl .en,.btn .lbl .zh{display:block}
.btn .lbl .zh{font-size:.82em;font-weight:700;opacity:.92}
.btn .lbl .zh::before{content:none!important}
.price small .zh::before{content:" · "}
.price small .en,.price small .zh{display:inline}
@media (max-width:480px){.bar{gap:.5rem}.lang button{padding:.45rem .42rem;min-width:34px;font-size:.74rem}.brand{font-size:1.05rem;gap:.45rem}.brand img{width:38px;height:38px}.nav-toggle{width:46px;height:46px}}
[hidden]{display:none!important}
.page-title+.pad-s{padding-top:0}
.crumbs .zh{margin-left:.35em}
html[data-lang="zh"] h1 .zh,html[data-lang="zh"] h2 .zh,html[data-lang="zh"] h3 .zh{font-size:1em;color:var(--ink);margin-top:0}
html[data-lang="zh"] p.zh,html[data-lang="zh"] li .zh{margin-top:0;color:var(--ink)}
html[data-lang="zh"] .nav a .zh,html[data-lang="zh"] .eyebrow .zh{font-size:inherit;color:inherit}
html[data-lang="zh"] .nav a .zh{font-size:1em}
html[data-lang="zh"] .eyebrow .zh{color:var(--blue-700)}

/* ---------- Free / Paid zones ---------- */
.zones{display:grid;gap:1.5rem;align-items:start}
@media (min-width:860px){.zones{grid-template-columns:1fr 1fr;gap:1.75rem}}
.zone{border-radius:28px;padding:1.25rem;border:3px solid transparent}
.zone-free{background:linear-gradient(180deg,#E8F8F0,#F4FBF7);border-color:#9DD4B8}
.zone-paid{background:linear-gradient(180deg,#F8F0FF,#FFF8F0);border-color:#E0C4F0}
.zone-head{margin-bottom:1rem}
.zone-head h2{margin-bottom:.35rem}
.zone-head .zh,.zone-head .en{display:block}
.zone-items{display:grid;gap:1rem}
.zone-free .offer-card{border-color:#9DD4B8}
.zone-paid .offer-card{border-color:#E0C4F0}
.offer-card .tag .en,.offer-card .tag .zh{display:inline}
.buy-row{flex-direction:column;align-items:stretch}
@media (min-width:520px){.buy-row{flex-direction:row;align-items:center}}
.buy-row .btn{justify-content:center}
.intl-price{font-weight:700;color:var(--ink-soft)}
.hero-logo img{aspect-ratio:1/1!important;object-fit:contain;background:#fff}
.photo-logo img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff}

/* ---------- Cast / Meet the Friends ---------- */
.cast-stars{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin-bottom:1.75rem}
.cast-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr))}
.cast-card{background:#fff;border:2px solid var(--blue-200);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-s);display:flex;flex-direction:column}
.cast-card.star{border-color:var(--peach)}
.cast-photo{background:var(--blue-50)}
.cast-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.cast-card.star .cast-photo img{aspect-ratio:4/3}
.cast-card h3{padding:.7rem 1rem 0;margin:0;font-size:1.1rem}
.cast-card h3 .en,.cast-card h3 .zh{display:block}
.cast-card h3 .zh{font-size:.85em;color:var(--blue-600);font-weight:700}
.cast-role{padding:0 1rem;margin:.2rem 0 .4rem;font-weight:700;font-size:.92rem;color:var(--ink-soft)}
.cast-card > p{padding:0 1rem 1rem;margin:0;font-size:.95rem}
.cast-sub{margin:1.5rem 0 .9rem;text-align:center}
.cast-group{margin:2rem 0 0;text-align:center}
.cast-group img{width:100%;border-radius:24px;border:5px solid #fff;box-shadow:var(--shadow)}
.cast-group-labels{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem .9rem;margin-top:.85rem;font-weight:800;font-size:.92rem;color:var(--ink-soft)}

/* ---------- Netflix-style video rows ---------- */
.video-band{background:#0F1C2E;color:#EAF2FB;padding-block:clamp(2.2rem,6vw,4rem)}
.video-band .sec-head{max-width:46rem}
.video-band h2,.video-band .eyebrow{color:#fff}
.video-band .eyebrow{color:#A5CDF0}
.video-band h2 .zh{color:#BFDCF5}
.video-band p.en,.video-band p.zh{color:#CFE0F2}
.vrows{display:grid;gap:1.6rem;min-width:0;max-width:100%}
.vrow{min-width:0;max-width:100%}
.vrow-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.7rem;flex-wrap:wrap}
.vrow-head h3{display:inline-flex;align-items:center;gap:.5rem;margin:0;color:#fff;font-size:1.15rem}
.vrow-head h3 svg{width:22px;height:22px;fill:#fff}
.vrow-track-wrap{position:relative;min-width:0;max-width:100%;overflow:hidden}
.vrow-track{display:flex;gap:.85rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:.25rem .15rem 1rem;scrollbar-width:thin;max-width:100%;width:100%}
.vrow-track::-webkit-scrollbar{height:8px}
.vrow-track::-webkit-scrollbar-thumb{background:#3A5878;border-radius:999px}
.vcard{flex:0 0 min(72vw,260px);scroll-snap-align:start;background:#1A2B44;border-radius:18px;overflow:hidden;text-decoration:none;color:#fff;border:2px solid #2D4A6B;display:flex;flex-direction:column;transition:transform .12s ease,border-color .12s}
a.vcard:hover{transform:translateY(-3px);border-color:var(--blue-300)}
.vcard.is-soon{opacity:.85;border-style:dashed}
.vcard-thumb{aspect-ratio:16/10;background:#243552;overflow:hidden}
.vcard-thumb img{width:100%;height:100%;object-fit:cover}
.vcard-body{padding:.7rem .85rem 1rem}
.vcard-title{margin:0;font-weight:800;font-size:.95rem;line-height:1.3;color:#fff}
.vcard-soon{margin:.35rem 0 0;font-size:.82rem;color:#BFD6EE}
.vrow-arrow{position:absolute;top:40%;transform:translateY(-50%);z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-s)}
.vrow-arrow svg{width:22px;height:22px;fill:var(--ink)}
.vrow-arrow.prev{left:.2rem}
.vrow-arrow.next{right:.2rem}
.vrow-arrow:disabled{opacity:.35;cursor:not-allowed}
.video-band .btn-ghost{background:transparent;color:#fff;border-color:#5A7A9E}
.video-band .btn-ghost:hover{background:#243552;color:#fff}
.video-band .btn.is-disabled{background:#243552;color:#8AA0B8;border-color:#3A5878}

/* ---------- Like / Share / Subscribe promo ---------- */
.promo-band{background:linear-gradient(165deg,var(--butter) 0%,var(--rose) 42%,var(--lilac) 100%);padding-block:clamp(2.2rem,6vw,3.6rem);overflow:hidden}
.promo-band .sec-head{margin-bottom:1.4rem}
.promo-speakers{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));margin:0 0 1.1rem;min-width:0}
.promo-speak{margin:0;background:#fff;border:2px solid var(--blue-200);border-radius:var(--radius);padding:1rem .9rem .85rem;box-shadow:var(--shadow-s);display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.promo-avatar{width:96px;height:96px;border-radius:50%;overflow:hidden;border:4px solid #fff;box-shadow:0 4px 14px rgba(43,102,168,.18);background:var(--blue-50)}
.promo-avatar img{width:100%;height:100%;object-fit:cover;object-position:center top}
.speech{position:relative;margin:.85rem 0 .35rem;padding:.65rem .85rem;background:var(--cream);border:2px solid var(--peach);border-radius:18px;font-weight:800;font-size:clamp(.95rem,2.8vw,1.05rem);color:var(--ink);line-height:1.35;max-width:100%}
.speech::after{content:"";position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);border:10px solid transparent;border-top-color:var(--peach);border-bottom:0}
.speech .en,.speech .zh{display:inline}
.speech .zh{color:var(--blue-600);font-weight:700}
html[data-lang="en"] .speech .zh{display:none!important}
html[data-lang="zh"] .speech .en{display:none!important}
.promo-speak figcaption{font-weight:800;font-size:.92rem;color:var(--ink-soft);margin-top:.15rem}
.promo-friends{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin:0 0 1.35rem}
.promo-friends img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:center top;border:3px solid #fff;box-shadow:var(--shadow-s);background:#fff}
.promo-actions{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));min-width:0;max-width:100%}
.promo-card{appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1rem .7rem;border-radius:var(--radius-s);border:2px solid transparent;background:#fff;color:var(--ink);text-decoration:none;font:inherit;font-weight:800;cursor:pointer;box-shadow:var(--shadow-s);min-width:0;max-width:100%;transition:transform .12s ease,box-shadow .12s ease;text-align:center}
.promo-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);color:var(--ink)}
.promo-card svg{width:28px;height:28px;fill:currentColor;flex:0 0 auto}
.promo-card .lbl{display:flex;flex-wrap:wrap;justify-content:center;gap:0;line-height:1.2}
.promo-card .lbl .en,.promo-card .lbl .zh{display:inline}
.promo-card .lbl .zh::before{content:" · "}
html[data-lang="en"] .promo-card .lbl .zh,html[data-lang="zh"] .promo-card .lbl .zh{/* keep */ }
html[data-lang="en"] .promo-card .lbl .zh{display:none!important}
html[data-lang="zh"] .promo-card .lbl .en{display:none!important}
html[data-lang="en"] .promo-card .lbl .zh::before,html[data-lang="zh"] .promo-card .lbl .zh::before{content:none!important}
.promo-card small{font-weight:700;font-size:.78rem;color:var(--ink-soft)}
.promo-yt{border-color:#F5B4B4;color:#C62828}
.promo-tt{border-color:#B8C4D4;color:#111}
.promo-fb{border-color:#A8C4F0;color:#1877F2}
.promo-share{border-color:var(--peach);color:var(--blue-700);background:var(--cream)}
.share-toast{position:fixed;left:50%;bottom:1.4rem;transform:translateX(-50%);z-index:80;background:var(--ink);color:#fff;padding:.7em 1.2em;border-radius:999px;font-weight:800;box-shadow:var(--shadow);max-width:min(92vw,360px);text-align:center}
.share-toast[hidden]{display:none!important}

/* compact (shop) */
.promo-compact{padding-block:clamp(1.4rem,4vw,2.2rem)}
.promo-compact-inner{display:grid;gap:1rem;align-items:center;min-width:0}
.promo-compact-cast{display:flex;justify-content:center;gap:.4rem}
.promo-compact-cast img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:center top;border:3px solid #fff;box-shadow:var(--shadow-s);background:#fff}
.promo-compact-copy{text-align:center;min-width:0}
.promo-compact-copy h2{margin-bottom:.25rem;font-size:clamp(1.25rem,3.5vw,1.7rem)}
.promo-compact-copy p{margin:0;font-size:.95rem}
.promo-compact-copy p.zh{margin-top:.15rem}
.promo-actions-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.promo-actions-compact .promo-card{padding:.75rem .5rem;flex-direction:row;gap:.45rem}
.promo-actions-compact .promo-card svg{width:22px;height:22px}
.promo-actions-compact .promo-card small{display:none}
@media (min-width:700px){
  .promo-compact-inner{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"cast copy" "actions actions"}
  .promo-compact-cast{grid-area:cast}
  .promo-compact-copy{grid-area:copy;text-align:left}
  .promo-actions-compact{grid-area:actions;grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:900px){
  .promo-compact-inner{grid-template-columns:auto minmax(0,1.2fr) minmax(0,1.6fr);grid-template-areas:"cast copy actions";align-items:center}
  .promo-actions-compact{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* pc-deploy 2026-10-30-promo */
