/* Guodong video / editorial motion journal - original responsive design */
:root {
  color-scheme:dark;
  --bg:#10101a;
  --surface:#191927;
  --surface2:#202030;
  --surface3:#2b2b3d;
  --text:#f4f0ec;
  --muted:#b7b3ba;
  --subtle:#89879a;
  --line:rgba(240,235,230,.16);
  --line-strong:rgba(240,235,230,.32);
  --warm:#f7b98a;
  --orange:#ff8e68;
  --lavender:#b9b1ff;
  --blue:#8cc6e9;
  --nav-height:86px;
  --max-width:1440px;
  --page-pad:clamp(24px,5.2vw,92px);
  --radius:20px;
  --radius-large:36px;
  --shadow:0 35px 90px rgba(0,0,0,.24);
  --transition:220ms cubic-bezier(.2,.8,.2,1);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
*,*::before,*::after {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:100px}
body {background:var(--bg);color:var(--text);margin:0;min-width:320px;line-height:1.76}
::selection {background:var(--orange);color:#181521}
a {color:inherit;text-decoration:none}
button,input,textarea {font:inherit}
button {cursor:pointer}
img {max-width:100%;height:auto;display:block}
figure,blockquote,p,h1,h2,h3,h4 {margin-top:0}
p {margin-bottom:1.15em}
h1,h2,h3,h4 {line-height:1.28;letter-spacing:-.045em;font-weight:700}
h1 {font-size:clamp(54px,6vw,108px)}
h2 {font-size:clamp(31px,3.8vw,64px)}
h3 {font-size:clamp(22px,2vw,29px)}
ul {padding-left:1.5em}
[hidden] {display:none!important}
:focus-visible {outline:3px solid var(--warm);outline-offset:5px;border-radius:3px}
.skip {position:absolute;top:-100px;left:20px;background:var(--warm);padding:12px 24px;color:var(--bg);z-index:1000}
.skip:focus {top:12px}
.site-shell {max-width:1900px;margin-inline:auto;overflow:clip}
.site-head {height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-pad);position:relative;z-index:30;border-bottom:1px solid var(--line);gap:30px}
.brand {display:inline-flex;align-items:center;gap:14px;white-space:nowrap;font-weight:800;font-size:22px;letter-spacing:-.06em}
.brand small {font-size:9px;letter-spacing:.19em;font-weight:700;color:var(--subtle);writing-mode:vertical-rl;line-height:1.1}
.brand-icon {width:38px;height:38px;border-radius:12px;background:var(--orange);display:flex;gap:3px;align-items:center;justify-content:center;transform:rotate(-9deg);box-shadow:0 6px 20px rgba(255,142,104,.15)}
.brand-icon span {display:block;width:5px;border-radius:8px;background:var(--bg)}
.brand-icon span:first-child {height:10px}.brand-icon span:nth-child(2){height:19px}.brand-icon span:last-child{height:14px}
.primary-nav {display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,2.5vw,39px)}
.primary-nav a {color:#c1bdc6;font-size:13px;font-weight:650;white-space:nowrap;padding:12px 0;position:relative;transition:color var(--transition)}
.primary-nav a:after {content:'';height:2px;position:absolute;bottom:5px;left:0;right:100%;background:var(--orange);transition:right var(--transition)}
.primary-nav a:hover,.primary-nav a[aria-current=page] {color:var(--text)}
.primary-nav a:hover:after,.primary-nav a[aria-current=page]:after {right:0}
.nav-toggle {display:none;width:44px;height:44px;align-items:center;flex-direction:column;justify-content:center;gap:6px;color:var(--text);background:transparent;border:1px solid var(--line-strong);border-radius:12px}
.nav-toggle span {height:2px;width:18px;background:currentColor;transition:transform var(--transition),opacity var(--transition)}
.nav-toggle.is-open span:first-child {transform:translateY(8px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2) {opacity:0}
.nav-toggle.is-open span:last-child {transform:translateY(-8px) rotate(-45deg)}
.section-pad {padding:clamp(75px,9vw,148px) var(--page-pad)}
.eyebrow {font-size:11px;line-height:1.5;letter-spacing:.21em;text-transform:uppercase;font-weight:800;color:var(--warm);display:inline-block}
.dot-label:before {content:'';display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:12px;vertical-align:2px}
.hero {position:relative;isolation:isolate}
.home-hero {min-height:680px;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:center;padding:70px var(--page-pad) 85px;gap:4vw;overflow:hidden}
.home-hero:before {content:'';position:absolute;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,rgba(109,95,164,.17),transparent 70%);width:74%;height:100%;left:-25%;top:-20%}
.hero-copy {position:relative;z-index:2}
.hero-kicker {font-size:15px;letter-spacing:.08em;color:var(--lavender);margin:32px 0 8px}
.hero h1 {max-width:840px;font-size:clamp(55px,6.2vw,111px);margin:0 0 30px;line-height:1.16;letter-spacing:-.07em}
.hero h1 em,.page-masthead h1 em {font-style:normal;color:var(--orange)}
.hero-lead {color:#ccc5ce;font-size:clamp(15px,1.25vw,18px);line-height:2;max-width:550px;margin-bottom:32px}
.hero-actions {display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.button {display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:55px;padding:12px 25px;border:1px solid transparent;border-radius:100px;font-weight:750;font-size:13px;letter-spacing:.01em;transition:background var(--transition),color var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition)}
.button:hover {transform:translateY(-3px)}
.button-primary {background:var(--orange);color:#19131a}
.button-primary:hover {background:#ffae8f;box-shadow:0 12px 30px rgba(255,142,104,.18)}
.button-outline {border-color:var(--line-strong);background:transparent;color:var(--text)}
.button-outline:hover {background:#282638;border-color:var(--lavender)}
.button-light {background:#f6eee7;color:#15111b}
.button-light:hover {background:#fff}
.hero-art {height:590px;max-width:630px;width:100%;justify-self:center;display:flex;align-items:center;justify-content:center;position:relative}
.hero-art:before,.hero-art:after {content:'';position:absolute;border-radius:50%;width:400px;height:400px;filter:blur(75px);opacity:.2;pointer-events:none}
.hero-art:before {background:#7c69d9;top:8%;right:-18%}
.hero-art:after {background:#fa9966;bottom:-13%;left:-25%;opacity:.1}
.art-frame {width:min(100%,520px);aspect-ratio:1/1.02;border:1px solid rgba(255,255,255,.18);border-radius:46% 46% 42% 42%;background:radial-gradient(ellipse at 70% 25%,rgba(183,139,255,.22),transparent 45%),linear-gradient(145deg,#28243d,#13141f 75%);position:relative;overflow:hidden;box-shadow:inset 0 0 80px rgba(255,255,255,.035),var(--shadow);transform:rotate(-8deg)}
.art-frame:after {content:'';position:absolute;width:80%;height:23%;background:linear-gradient(180deg,rgba(255,170,124,.6),rgba(230,101,97,.05));filter:blur(24px);left:10%;bottom:-14%;border-radius:50%}
.art-number {position:absolute;top:10%;left:13%;color:#dbd2d8;letter-spacing:.25em;font-size:10px;font-weight:750;z-index:4}
.art-orbit {position:absolute;border:1px solid rgba(244,214,233,.28);height:72%;width:72%;border-radius:50%;top:14%;left:14%;transform:rotate(35deg) skew(4deg,24deg)}
.art-orbit:before,.art-orbit:after {content:'';position:absolute;border:1px solid rgba(244,214,233,.13);inset:12%;border-radius:50%}
.art-orbit:after {inset:24%}
.art-disc {position:absolute;top:24%;left:22%;width:55%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 23%,#ffe0c1,#edaa8c 24%,#b26b8c 56%,#60476e 75%,#30293c 100%);box-shadow:inset -20px -30px 45px rgba(37,25,66,.4),0 20px 60px rgba(244,165,171,.12)}
.art-disc:before {content:'';position:absolute;inset:14%;border-radius:50%;border:1px solid rgba(255,248,231,.23)}
.art-disc:after {content:'';position:absolute;inset:30%;border-radius:50%;border:1px solid rgba(255,248,231,.24)}
.art-caption {position:absolute;bottom:12%;right:9%;font-size:11px;letter-spacing:.27em;z-index:4;color:#f1d6c5;transform:rotate(-7deg)}
.editorial-intro {border-top:1px solid var(--line);display:grid;grid-template-columns:1.3fr .7fr;gap:8%;align-items:end}
.editorial-intro h2 {margin:18px 0 0}
.editorial-intro .intro-side {padding-bottom:5px;max-width:420px}
.intro-side p {font-size:17px;color:var(--muted);line-height:2;margin:0 0 26px}
.text-link {display:inline-flex;align-items:center;gap:10px;font-weight:750;font-size:14px;color:var(--warm);border-bottom:1px solid rgba(247,185,138,.45);padding:7px 0;transition:color var(--transition),gap var(--transition)}
.text-link:hover {color:#fff;gap:16px}
.home-feature {display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:0;padding-bottom:0;background:#292333}
.feature-image {position:relative;min-height:580px;overflow:hidden;background:linear-gradient(155deg,#352b45,#61434f)}
.feature-image img {width:100%;height:100%;position:absolute;object-fit:cover;object-position:center;filter:saturate(.9);transition:transform .75s ease}
.feature-image:hover img {transform:scale(1.04)}
.feature-image:after {content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(12,11,20,.6))}
.image-label {position:absolute;bottom:32px;left:35px;z-index:1;font-size:11px;font-weight:750;letter-spacing:.23em}
.feature-content {min-height:580px;display:flex;flex-direction:column;justify-content:center;align-items:start;padding:60px clamp(36px,6vw,100px);background:radial-gradient(ellipse at 100% 0%,rgba(211,145,157,.16),transparent 55%),#292333}
.feature-content h2 {margin:23px 0 28px}
.feature-content>p {font-size:17px;color:#d4cad1;line-height:2;max-width:480px;margin-bottom:28px}
.feature-meta {font-size:12px;color:#a9a1b1;letter-spacing:.12em;margin-top:50px}
.section-ink {background:linear-gradient(#141420,#10101a)}
.section-topline {display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:47px}
.section-topline h2 {margin:14px 0 0}
.story-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.story-card {border:1px solid var(--line);padding:clamp(26px,3vw,43px);min-height:345px;display:flex;flex-direction:column;align-items:flex-start;position:relative;background:rgba(255,255,255,.013);transition:background var(--transition),border-color var(--transition),transform var(--transition)}
.story-card:hover {background:#222233;border-color:rgba(255,185,138,.55);transform:translateY(-5px)}
.story-card:before {content:'';position:absolute;top:0;left:0;width:0;height:3px;background:var(--orange);transition:width var(--transition)}
.story-card:hover:before {width:100%}
.story-top {display:flex;align-items:center;justify-content:space-between;width:100%;gap:15px}
.story-top .eyebrow {font-size:10px}
.reading {font-size:11px;color:var(--subtle);white-space:nowrap}
.story-card h3 {margin:42px 0 18px;font-size:clamp(21px,1.8vw,29px);line-height:1.45;letter-spacing:-.04em}
.story-card h3 a:hover {color:var(--warm)}
.story-card p {font-size:14px;line-height:1.9;color:var(--muted);margin:0 0 35px}
.story-card .text-link {margin-top:auto}
.discovery-band {display:grid;grid-template-columns:.2fr 1fr auto;gap:4%;align-items:center;background:#d6beb3;color:#201923;position:relative;overflow:hidden}
.discovery-band .eyebrow {color:#6c4545}
.discovery-band h2 {font-size:clamp(32px,3.2vw,56px);margin:10px 0 14px}
.discovery-band p {max-width:640px;color:#564650;font-size:16px;line-height:1.9;margin:0}
.discovery-band .button-primary {background:#241c2a;color:#fff}
.discovery-band .button-primary:hover {background:#493548}
.discovery-mark {font-size:clamp(80px,10vw,160px);line-height:1;opacity:.2;transform:rotate(-18deg);font-weight:200;text-align:center}
.closing-section {background:radial-gradient(ellipse at 90% 50%,rgba(110,87,133,.14),transparent 50%),#141421}
.closing-section h2 {margin:25px 0 40px}
.closing-columns {display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1000px;color:#c1bac7;font-size:17px;line-height:2}
.closing-columns p {margin-bottom:20px}
.inline-links {display:flex;gap:40px;flex-wrap:wrap;margin-top:20px}
.inline-links a {font-size:14px;color:var(--warm);border-bottom:1px solid var(--line-strong);padding-bottom:8px;font-weight:700}
.inline-links a:hover {color:#fff}
.site-footer {background:#0b0b12;padding:74px var(--page-pad) 28px}
.footer-upper {display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-bottom:80px}
.footer-brand {font-size:26px;font-weight:850;letter-spacing:-.04em}
.footer-brand span {font-size:10px;letter-spacing:.21em;color:var(--subtle);vertical-align:middle;margin-left:13px}
.footer-upper p {color:var(--subtle);font-size:14px;margin:20px 0 0}
.footer-upper nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px;row-gap:23px;align-content:start}
.footer-upper nav a {font-size:13px;color:#c2bdc8;transition:color var(--transition)}
.footer-upper nav a:hover {color:var(--warm)}
.footer-bottom {border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#85808d;font-size:12px}
.footer-bottom a {color:#d2cbd4}
.footer-bottom a:hover {color:var(--warm)}
/* Shared inner page vocabulary */
.interior {min-height:60vh}
.crumbs {display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#bab0c0;margin-bottom:72px;align-items:center}
.crumbs>a:hover {color:var(--warm)}
.crumbs [aria-current] {color:#f1e5e9}
.page-masthead {padding:36px var(--page-pad) clamp(76px,9vw,140px);position:relative;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.page-masthead:before {content:'';position:absolute;z-index:-1;right:-15%;top:-40%;width:70%;height:150%;background:radial-gradient(ellipse,rgba(159,105,150,.19),transparent 67%);pointer-events:none}
.page-masthead h1 {font-size:clamp(50px,6vw,100px);max-width:1050px;margin:16px 0 35px}
.page-masthead>p {max-width:700px;color:#c9bdc9;line-height:2;font-size:18px;margin:0}
.masthead-short {background:radial-gradient(ellipse at 100% 100%,rgba(201,127,111,.13),transparent 40%)}
.masthead-short:after {content:'S';font:900 clamp(260px,35vw,600px)/1 Georgia,serif;position:absolute;right:-1%;bottom:-27%;opacity:.035;z-index:-1;transform:rotate(-9deg)}
.masthead-genre {background:#161522}
.masthead-genre:before {background:radial-gradient(ellipse,rgba(104,105,188,.23),transparent 60%)}
.masthead-watch {background:linear-gradient(130deg,#151722,#1e1d2a)}
.masthead-watch:before {background:radial-gradient(ellipse,rgba(92,157,188,.18),transparent 65%)}
.masthead-library {background:linear-gradient(110deg,#201b29,#10101a 70%)}
.masthead-library:before {background:radial-gradient(ellipse,rgba(237,153,119,.14),transparent 65%)}
.masthead-about {background:radial-gradient(ellipse at 95% 5%,#302a3e 0%,#141420 50%)}
.dual-feature {display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,130px);align-items:center}
.dual-visual {height:min(780px,66vw);min-height:520px;background:#3f364b;border-radius:300px 300px 10px 10px;overflow:hidden;position:relative}
.dual-visual:before {content:'';position:absolute;inset:15px;border:1px solid rgba(255,255,255,.25);border-radius:300px 300px 10px 10px;z-index:1;pointer-events:none}
.dual-visual img {height:100%;width:100%;object-fit:cover;object-position:center}
.dual-copy h2 {font-size:clamp(30px,3.1vw,52px);margin:20px 0 25px}
.dual-copy p {max-width:490px;color:var(--muted);line-height:2;font-size:16px}
.dual-copy .button {margin:20px 0 55px}
.dual-copy hr {border:0;border-top:1px solid var(--line);margin:10px 0 50px}
.page-outro {padding:35px var(--page-pad) 75px;display:flex;justify-content:space-between;gap:30px;align-items:center;color:#b8afbc;font-size:14px}
.page-outro a {font-weight:700;color:var(--warm)}
.page-outro a:hover {color:#fff}
/* Genre landing page */
.genre-layout {display:grid;grid-template-columns:.7fr 1.3fr;gap:7%;align-items:start}
.genre-lead {position:sticky;top:40px}
.genre-lead h2 {margin:22px 0 30px;font-size:clamp(30px,3.4vw,54px)}
.genre-lead p {line-height:2;color:var(--muted);max-width:420px;margin-bottom:25px;font-size:16px}
.genre-tiles {display:grid;grid-template-columns:1fr 1fr;gap:14px}
.genre-tile {min-height:320px;padding:35px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;position:relative;overflow:hidden;transition:transform var(--transition)}
.genre-tile:hover {transform:translateY(-5px)}
.genre-tile:after {content:'';position:absolute;border:1px solid currentColor;opacity:.16;width:230px;height:230px;border-radius:50%;right:-120px;top:-80px}
.genre-tile span {font-size:10px;letter-spacing:.19em;font-weight:800;opacity:.73}
.genre-tile h3 {font-size:clamp(38px,4vw,65px);margin:0 0 5px}
.genre-tile p {font-size:14px;margin:0;opacity:.78}
.tile-one {background:#d6b0a1;color:#302333}.tile-two {background:#626083;color:#f9edf0}.tile-three {background:#a9bdc8;color:#24313a}.tile-four {background:#485d5e;color:#e5eee7}
.tile-one:before {content:'●';position:absolute;right:18px;top:30px;font-size:70px;opacity:.09}
.tile-two:before {content:'?';position:absolute;right:30px;top:10px;font:900 110px/1 Georgia,serif;opacity:.14}
.tile-three:before {content:'✳';position:absolute;right:25px;top:35px;font-size:100px;opacity:.12}
.tile-four:before {content:'⌁';position:absolute;right:25px;top:18px;font-size:130px;opacity:.12}
.genre-bottom {display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;background:#1d1c29}
.genre-bottom h2 {margin:23px 0 24px;font-size:clamp(33px,3.6vw,58px)}
.genre-bottom p {max-width:540px;color:var(--muted);font-size:16px;line-height:2;margin-bottom:25px}
.genre-bottom img {width:100%;height:460px;object-fit:cover;border-radius:200px 200px 0 0;background:#393448}
/* Viewing experience / safety */
.watching-guide {display:grid;grid-template-columns:.15fr .85fr 1fr;gap:5%;align-items:center}
.watching-number {align-self:start;font:400 clamp(70px,9vw,140px)/1 Georgia,serif;color:var(--orange);opacity:.7}
.watching-guide h2 {margin:22px 0 26px;font-size:clamp(32px,3.4vw,55px)}
.watching-guide p {font-size:16px;color:var(--muted);line-height:2;max-width:480px}
.watching-image {border-radius:50% 50% 10px 10px;overflow:hidden;background:#353447;height:580px}
.watching-image img {width:100%;height:100%;object-fit:cover}
.safety-strip {background:#28243b;display:flex;justify-content:space-between;align-items:center;gap:9%}
.safety-strip>div {max-width:850px}
.safety-strip h2 {margin:20px 0;font-size:clamp(31px,3.5vw,59px)}
.safety-strip p {font-size:16px;line-height:2;color:#c6bbd4;max-width:740px;margin:0}
.safety-strip .button {flex:0 0 auto}
.family-strip {border-bottom:1px solid var(--line)}
.family-strip h2 {max-width:1000px;margin:20px 0 25px}
.family-strip p {max-width:750px;font-size:18px;color:var(--muted);line-height:2}
/* Catalogue */
.library-section {padding-top:90px}
.library-toolbar {display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px}
.library-toolbar h2 {margin:14px 0 0}
.library-toolbar h2 span {font-size:16px;white-space:nowrap;color:var(--subtle);font-weight:500;letter-spacing:0}
.filter-label {font-size:12px;font-weight:750;color:var(--subtle);display:flex;flex-direction:column;gap:10px;min-width:min(320px,100%)}
.filter-label input {border:1px solid var(--line-strong);border-radius:0;background:#202031;color:var(--text);min-height:50px;padding:12px 18px;min-width:0;width:100%;outline:0}
.filter-label input:focus {border-color:var(--warm);box-shadow:0 0 0 2px rgba(247,185,138,.08)}
.filter-label input::placeholder {color:#888494}
.library-list {border-top:1px solid var(--line)}
.library-item {display:grid;grid-template-columns:65px 1fr 50px;gap:30px;align-items:start;padding:38px 15px;border-bottom:1px solid var(--line);transition:background var(--transition),padding var(--transition)}
.library-item:hover {background:rgba(255,255,255,.03);padding-left:25px}
.library-index {font:400 28px/1.4 Georgia,serif;color:#8a8194}
.library-item .eyebrow {font-size:10px}
.library-item h3 {margin:9px 0 12px;font-size:clamp(22px,2.2vw,33px)}
.library-item h3 a:hover {color:var(--warm)}
.library-item p {max-width:850px;margin:0;color:var(--muted);font-size:14px;line-height:1.9}
.library-arrow {font-size:26px;color:var(--warm);justify-self:end;transition:transform var(--transition)}
.library-arrow:hover {transform:translate(4px,-4px)}
.filter-empty {color:var(--muted);padding:25px 0;font-size:15px}
/* About page */
.about-body {display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.about-art {background:#3e354b;border-radius:300px 300px 0 0;overflow:hidden;height:720px}
.about-art img {height:100%;width:100%;object-fit:cover}
.about-copy h2 {margin:24px 0 32px}
.about-copy p {color:var(--muted);font-size:16px;line-height:2.05;margin-bottom:23px}
.about-copy .button {margin-top:20px}
/* Editorial articles */
.article-main {background:radial-gradient(ellipse at 80% 0%,rgba(110,79,133,.12),transparent 33%)}
.article-outer {max-width:1320px;margin:0 auto;padding:35px var(--page-pad) 100px}
.article-outer>.crumbs {margin-bottom:100px}
.article-heading {max-width:920px;margin-bottom:90px}
.article-heading h1 {font-size:clamp(42px,5.1vw,76px);line-height:1.29;letter-spacing:-.055em;margin:24px 0 30px}
.article-heading>p {font-size:clamp(17px,1.6vw,22px);line-height:1.85;color:#d0c5d0;max-width:790px}
.article-meta {display:flex;gap:32px;flex-wrap:wrap;font-size:12px;color:var(--subtle);letter-spacing:.08em;margin-top:30px}
.article-meta span+span:before {content:'•';margin-right:30px;color:var(--orange)}
.article-layout {display:grid;grid-template-columns:240px minmax(0,760px);gap:clamp(45px,7vw,110px);align-items:start}
.article-aside {border-top:1px solid var(--line);padding-top:25px;color:var(--muted);font-size:14px}
.article-aside-sticky {position:sticky;top:30px}
.article-aside p {font-size:19px;color:#e7dbe1;font-weight:700;margin:16px 0 35px}
.article-aside a {font-size:12px;color:var(--warm);border-bottom:1px solid rgba(247,185,138,.3);padding-bottom:5px}
.article-aside a:hover {color:#fff}
.article-prose {font-size:17px;line-height:2.12;color:#ddd4dc;min-width:0}
.article-prose>p {margin-bottom:28px}
.article-prose h2 {font-size:clamp(27px,2.7vw,38px);margin:72px 0 23px;line-height:1.47;letter-spacing:-.035em;color:var(--text)}
.article-prose h2:first-child {margin-top:0}
.article-prose h3 {font-size:24px;margin:50px 0 19px}
.article-prose ul {margin:30px 0 40px;padding:28px 35px 28px 60px;background:#1d1d2b;border-left:2px solid var(--warm)}
.article-prose li {margin:10px 0;padding-left:5px}
.article-prose li::marker {color:var(--warm)}
.article-prose blockquote {font:500 italic clamp(21px,2.4vw,32px)/1.7 Georgia,'Songti SC',serif;margin:52px 0;padding:10px 0 10px 40px;color:#f7c6ac;border-left:3px solid var(--orange)}
.article-prose a {color:var(--warm);text-decoration:underline;text-underline-offset:4px}
.article-end {margin-top:85px;padding-top:28px;border-top:1px solid var(--line)}
.article-end span {font-size:11px;font-weight:800;letter-spacing:.21em;color:var(--warm)}
.article-end p {font-size:14px;color:var(--subtle);line-height:1.9;margin:16px 0 0}
.related-section {margin-top:145px;padding-top:60px;border-top:1px solid var(--line)}
.related-section .story-card {min-height:320px;padding:29px}
.related-section .story-card h3 {font-size:23px}
.not-found {min-height:68vh;padding:115px var(--page-pad);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:radial-gradient(ellipse at 90% 30%,rgba(206,127,127,.15),transparent 48%)}
.not-found h1 {font-size:clamp(50px,7vw,100px);margin:25px 0 20px}
.not-found p {color:var(--muted);font-size:17px;max-width:560px;margin-bottom:35px}
/* Focus, hover, print and small accessibility details */
@media (hover:hover) {
  .footer-bottom a:hover,.page-outro a:hover,.article-aside a:hover {text-decoration:underline;text-underline-offset:5px}
  .brand:hover .brand-icon {transform:rotate(0deg)}
  .brand-icon {transition:transform var(--transition)}
}
@media (prefers-reduced-motion:no-preference) {
  .can-reveal {opacity:0;transform:translateY(20px);transition:opacity 500ms ease,transform 500ms ease,border-color var(--transition),background var(--transition)}
  .can-reveal.has-appeared {opacity:1;transform:translateY(0)}
  .can-reveal.story-card:hover,.can-reveal.genre-tile:hover {transform:translateY(-4px)}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*::before,*::after {animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
/* Width <= 1280 */
@media (max-width:1280px) {
  :root {--page-pad:clamp(26px,4.6vw,65px)}
  .brand {font-size:20px;gap:10px}
  .primary-nav {gap:20px}
  .home-hero {min-height:610px;gap:1vw}
  .hero-art {height:500px}
  .story-card {min-height:365px;padding:27px}
  .story-card h3 {margin-top:31px}
  .story-grid {gap:13px}
  .feature-image,.feature-content {min-height:520px}
  .feature-content {padding-inline:45px}
  .genre-layout {gap:5%}
  .genre-tile {min-height:290px;padding:27px}
  .watching-guide {gap:3%}
  .watching-image {height:510px}
  .article-layout {grid-template-columns:200px 1fr;gap:60px}
}
/* Tablet and compact desktop */
@media (max-width:960px) {
  :root {--nav-height:75px;--page-pad:clamp(22px,5vw,50px)}
  .site-head {position:relative}
  .nav-toggle {display:flex;margin-left:auto}
  .primary-nav {display:none;position:absolute;left:0;right:0;top:calc(var(--nav-height) - 1px);background:#1c1b2a;border-bottom:1px solid var(--line-strong);padding:20px var(--page-pad) 26px;flex-direction:column;gap:0;align-items:stretch;box-shadow:var(--shadow);z-index:10}
  .primary-nav.is-open {display:flex}
  .primary-nav a {font-size:16px;padding:13px 0;border-bottom:1px solid var(--line)}
  .primary-nav a:last-child {border-bottom:0}
  .primary-nav a:after {display:none}
  .section-pad {padding-block:90px}
  .home-hero {grid-template-columns:1.1fr .9fr;min-height:580px;gap:0;padding-block:70px}
  .hero h1 {font-size:clamp(50px,6vw,75px)}
  .hero-art {height:430px}
  .art-frame {border-radius:43%}
  .editorial-intro {gap:40px}
  .home-feature {grid-template-columns:1fr 1fr;padding-block:0}
  .feature-image,.feature-content {min-height:470px}
  .feature-content {padding:45px 35px}
  .feature-content h2 {font-size:clamp(30px,3.6vw,43px)}
  .feature-content>p {font-size:15px}
  .feature-meta {margin-top:26px}
  .story-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .story-card {min-height:330px}
  .discovery-band {grid-template-columns:1fr auto}
  .discovery-mark {display:none}
  .page-masthead h1 {font-size:clamp(52px,6.7vw,79px)}
  .page-masthead .crumbs {margin-bottom:55px}
  .dual-feature {gap:5%}
  .dual-visual {min-height:560px;height:650px}
  .dual-copy p {font-size:15px}
  .genre-layout {grid-template-columns:1fr;gap:50px}
  .genre-lead {position:static;max-width:650px}
  .genre-tiles {grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .genre-tile {min-height:240px;padding:20px}
  .genre-tile h3 {font-size:35px}
  .genre-tile p {font-size:12px}
  .genre-bottom img {height:390px}
  .watching-guide {grid-template-columns:.12fr 1fr 1fr;gap:18px}
  .watching-number {font-size:64px}
  .watching-image {height:440px}
  .safety-strip {gap:20px}
  .safety-strip .button {padding-inline:16px}
  .about-art {height:600px}
  .article-outer>.crumbs {margin-bottom:75px}
  .article-heading {margin-bottom:65px}
  .article-layout {grid-template-columns:150px 1fr;gap:40px}
  .article-prose {font-size:16px}
  .article-prose h2 {margin-top:57px}
  .related-section {margin-top:100px}
}
/* Tablet portrait */
@media (max-width:760px) {
  .home-hero {display:flex;flex-direction:column;align-items:stretch;padding-top:75px;padding-bottom:0}
  .hero-copy {max-width:670px}
  .hero h1 {font-size:clamp(56px,10vw,88px)}
  .hero-lead {font-size:16px}
  .hero-art {align-self:center;max-width:480px;height:410px;margin-top:20px}
  .art-frame {max-width:380px}
  .editorial-intro {grid-template-columns:1fr;gap:25px}
  .editorial-intro .intro-side {max-width:650px}
  .home-feature {grid-template-columns:1fr}
  .feature-image {min-height:400px}
  .feature-content {min-height:420px;padding:60px var(--page-pad)}
  .feature-content h2 {font-size:clamp(37px,7vw,58px)}
  .feature-content>p {max-width:680px}
  .section-topline {align-items:start;flex-direction:column;gap:18px;margin-bottom:32px}
  .discovery-band {grid-template-columns:1fr;gap:30px}
  .closing-columns {gap:35px}
  .footer-upper {gap:30px}
  .footer-upper nav {grid-template-columns:repeat(2,1fr)}
  .page-masthead {padding-bottom:90px}
  .page-masthead h1 {font-size:clamp(49px,8vw,73px)}
  .dual-feature {grid-template-columns:1fr}
  .dual-visual {height:420px;min-height:0;max-width:600px}
  .dual-copy {max-width:650px}
  .dual-copy .button {margin-bottom:40px}
  .genre-tiles {grid-template-columns:repeat(2,1fr)}
  .genre-tile {min-height:275px;padding:26px}
  .genre-tile h3 {font-size:48px}
  .genre-tile p {font-size:14px}
  .genre-bottom {grid-template-columns:1fr}
  .genre-bottom img {max-width:600px;height:340px}
  .watching-guide {grid-template-columns:1fr 1fr}
  .watching-number {grid-column:1/-1;font-size:72px}
  .watching-image {height:430px}
  .safety-strip {flex-direction:column;align-items:flex-start}
  .safety-strip .button {margin-top:10px}
  .about-body {grid-template-columns:1fr}
  .about-art {height:480px;max-width:600px}
  .about-copy {max-width:700px}
  .article-outer>.crumbs {margin-bottom:60px}
  .article-heading {margin-bottom:50px}
  .article-layout {grid-template-columns:1fr;gap:35px}
  .article-aside {border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}
  .article-aside-sticky {display:flex;align-items:center;gap:20px;flex-wrap:wrap}
  .article-aside p {margin:0;font-size:16px}
  .article-aside a {margin-left:auto}
  .article-prose {max-width:760px}
}
/* Handsets */
@media (max-width:540px) {
  :root {--page-pad:22px;--nav-height:69px}
  body {font-size:14px}
  .brand {font-size:20px}
  .brand-icon {width:33px;height:33px;border-radius:10px}
  .brand small {display:none}
  .nav-toggle {width:42px;height:42px}
  .section-pad {padding-block:67px}
  .home-hero {padding-top:63px}
  .hero-kicker {font-size:13px;margin:23px 0 10px}
  .hero h1 {font-size:clamp(48px,12.2vw,69px);line-height:1.21;letter-spacing:-.07em;margin-bottom:25px}
  .hero-lead {line-height:1.85;font-size:15px}
  .hero-actions {gap:10px}
  .hero-actions .button {padding:11px 19px;min-height:50px;font-size:12px}
  .hero-art {height:320px;margin-top:35px}
  .art-frame {max-width:310px}
  .editorial-intro h2 {font-size:clamp(32px,8.5vw,46px)}
  .intro-side p {font-size:15px}
  .feature-image {min-height:330px}
  .feature-content {padding:55px 22px;min-height:390px}
  .feature-content h2 {font-size:37px;margin:18px 0 19px}
  .feature-content>p {font-size:15px}
  .feature-meta {margin-top:30px}
  .section-topline h2 {font-size:36px}
  .story-grid {grid-template-columns:1fr;gap:13px}
  .story-card {min-height:0;padding:27px}
  .story-card h3 {font-size:24px;margin:25px 0 14px}
  .story-card p {font-size:14px;margin-bottom:18px}
  .discovery-band h2 {font-size:36px}
  .discovery-band p {font-size:15px}
  .closing-section h2 {font-size:36px}
  .closing-columns {grid-template-columns:1fr;gap:0;font-size:15px}
  .inline-links {gap:16px;flex-direction:column;align-items:start}
  .site-footer {padding-top:52px}
  .footer-upper {grid-template-columns:1fr;padding-bottom:55px;gap:45px}
  .footer-upper nav {grid-template-columns:repeat(2,1fr)}
  .footer-bottom {align-items:start;gap:12px;flex-wrap:wrap}
  .footer-bottom span:nth-child(2) {display:none}
  .page-masthead {padding-top:27px;padding-bottom:75px}
  .page-masthead .crumbs {margin-bottom:50px}
  .page-masthead h1 {font-size:clamp(45px,10.7vw,64px);margin:17px 0 25px}
  .page-masthead>p {font-size:16px;line-height:1.85}
  .dual-visual {height:350px;border-radius:250px 250px 8px 8px}
  .dual-copy h2 {font-size:37px}
  .dual-copy p {font-size:15px}
  .page-outro {padding:30px var(--page-pad) 65px;align-items:start;flex-direction:column;gap:8px}
  .genre-lead h2 {font-size:37px}
  .genre-tiles {gap:10px}
  .genre-tile {min-height:235px;padding:20px}
  .genre-tile h3 {font-size:39px}
  .genre-tile p {font-size:13px;line-height:1.6}
  .genre-tile span {font-size:9px;letter-spacing:.08em}
  .genre-bottom h2 {font-size:37px}
  .genre-bottom img {height:320px}
  .watching-guide {grid-template-columns:1fr;gap:22px}
  .watching-number {grid-column:auto;font-size:67px}
  .watching-guide h2 {font-size:35px}
  .watching-guide p {font-size:15px}
  .watching-image {height:340px;max-width:500px}
  .safety-strip h2 {font-size:36px}
  .safety-strip p,.family-strip p {font-size:15px}
  .family-strip h2 {font-size:35px}
  .library-section {padding-top:70px}
  .library-toolbar {flex-direction:column;align-items:stretch;gap:20px}
  .library-toolbar h2 {font-size:35px}
  .filter-label {width:100%}
  .library-item {grid-template-columns:30px 1fr 25px;gap:14px;padding:27px 0}
  .library-item:hover {padding-left:0}
  .library-index {font-size:19px}
  .library-item h3 {font-size:22px}
  .library-item p {font-size:13px}
  .library-arrow {font-size:20px}
  .about-art {height:420px}
  .about-copy h2 {font-size:37px}
  .about-copy p {font-size:15px}
  .article-outer {padding-top:25px;padding-bottom:70px}
  .article-outer>.crumbs {margin-bottom:50px}
  .article-heading {margin-bottom:36px}
  .article-heading h1 {font-size:clamp(38px,9vw,53px);margin:22px 0}
  .article-heading>p {font-size:17px;line-height:1.85}
  .article-meta {gap:12px;font-size:11px}
  .article-meta span+span:before {margin-right:12px}
  .article-aside-sticky .eyebrow {display:none}
  .article-aside a {font-size:11px}
  .article-prose {font-size:15px;line-height:2.02}
  .article-prose h2 {font-size:27px;margin-top:49px}
  .article-prose h3 {font-size:22px}
  .article-prose>p {margin-bottom:22px}
  .article-prose ul {padding:22px 22px 22px 42px;margin:25px 0 30px}
  .article-prose blockquote {font-size:22px;padding-left:20px}
  .article-end {margin-top:60px}
  .related-section {margin-top:75px;padding-top:45px}
  .not-found {padding-block:85px}
  .not-found h1 {font-size:48px}
  .not-found p {font-size:15px}
}
/* Very narrow devices and localized large text */
@media (max-width:360px) {
  :root {--page-pad:17px}
  .brand {font-size:18px}
  .hero h1 {font-size:46px}
  .hero-actions .button {width:100%}
  .hero-art {height:270px}
  .art-frame {max-width:260px}
  .genre-tile {padding:14px;min-height:205px}
  .genre-tile h3 {font-size:32px}
  .genre-tile p {font-size:12px}
  .genre-tile span {font-size:8px}
  .library-item {grid-template-columns:24px 1fr 18px;gap:8px}
  .library-item h3 {font-size:20px}
  .article-heading h1 {font-size:37px}
}
/* Wide cinematic layouts */
@media (min-width:1500px) {
  .home-hero {min-height:800px}
  .hero-art {height:690px}
  .art-frame {width:570px}
  .editorial-intro {gap:12%}
  .feature-image,.feature-content {min-height:660px}
  .story-grid {gap:22px}
  .story-card {min-height:380px}
  .genre-tile {min-height:370px}
  .dual-visual {height:850px}
  .page-masthead {padding-bottom:155px}
}
/* Landscape phones: allow content to flow rather than forcing fixed art heights */
@media (max-height:520px) and (orientation:landscape) and (max-width:960px) {
  .home-hero {min-height:0;padding-top:55px}
  .hero-art {height:260px}
  .art-frame {max-width:245px}
  .page-masthead {padding-bottom:55px}
  .primary-nav {max-height:calc(100vh - var(--nav-height));overflow-y:auto}
  .dual-visual {min-height:0;height:400px}
  .about-art {height:400px}
}
/* Higher contrast preferences */
@media (prefers-contrast:more) {
  :root {--muted:#e0dde4;--subtle:#cac6d1;--line:rgba(255,255,255,.35);--line-strong:rgba(255,255,255,.65)}
  .eyebrow,.text-link,.inline-links a {color:#ffd0ab}
  .button-primary {background:#ffc3a4}
  .genre-tile p,.genre-tile span {opacity:1}
}
/* Print-friendly articles */
@media print {
  :root {color-scheme:light;--bg:white;--text:#111;--muted:#333;--subtle:#555;--line:#bbb;--warm:#555}
  body {background:white;color:#111;font-size:12pt}
  .site-head,.site-footer,.hero-actions,.related-section,.article-aside,.primary-nav,.nav-toggle,.skip {display:none!important}
  .article-outer {max-width:none;padding:0}
  .article-heading {margin-bottom:30px}
  .article-heading h1 {font-size:30pt}
  .article-heading p,.article-meta,.article-prose {color:#111}
  .article-prose h2 {font-size:19pt;break-after:avoid}
  .article-prose p,.article-prose ul,.article-prose blockquote {orphans:3;widows:3}
  .article-prose ul {border:1px solid #ddd;background:#fff}
  .article-prose blockquote {color:#333}
  .article-layout {display:block}
  .article-end {margin-top:30px}
  a {color:#111}
  .crumbs {display:none}
  @page {margin:20mm}
}
