Parcourir la source

Загрузить файлы 'site breaking bad'

Matvey il y a 3 mois
Parent
commit
90fc573a5b

+ 151 - 0
site breaking bad/history.html

@@ -0,0 +1,151 @@
+<!DOCTYPE html>
+<html lang="ru">
+<head>
+  <meta charset="UTF-8" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Полная история Хайзенберга | Breaking Bad</title>
+  <link rel="preconnect" href="https://fonts.googleapis.com" />
+  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
+  <link href="https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Orbitron:wght@400;600;800&family=Oswald:wght@300;400;500;700&display=swap" rel="stylesheet" />
+  <link rel="stylesheet" href="./styles.css" />
+</head>
+<body class="history-page">
+  <div class="noise"></div>
+  <div class="scanlines"></div>
+  <canvas id="particles" aria-hidden="true"></canvas>
+
+  <header class="navbar">
+    <a class="brand" href="./index.html#hero" aria-label="Вернуться на главный экран">
+      <span>Br</span><span>Ba</span>
+    </a>
+    <nav class="navlinks" aria-label="Навигация истории">
+      <a href="./index.html#hero">ГЛАВНАЯ</a>
+      <a href="./index.html#characters">ПЕРСОНАЖИ</a>
+      <a href="./index.html#timeline">ХРОНОЛОГИЯ</a>
+      <a href="./index.html#dea">ДОСЬЕ DEA</a>
+    </nav>
+  </header>
+
+  <main class="history">
+    <section class="history-hero">
+      <img src="./Фотки/ВОлтер%20конец%20сериала.jpg" alt="Уолтер Уайт в финале сериала" />
+      <div class="history-hero__content">
+        <p class="eyebrow">ПОЛНАЯ ИСТОРИЯ</p>
+        <h1>Breaking Bad — полная история Хайзенберга</h1>
+        <p>Путь Уолтера Уайта от униженного учителя химии до человека, чье имя стало символом страха.</p>
+      </div>
+    </section>
+
+    <section class="history-content">
+      <article>
+        <h2>Начало</h2>
+        <p>До того как мир узнал имя Хайзенберг, Уолтер Уайт был обычным человеком. Когда-то он считался талантливым химиком и участвовал в создании компании Gray Matter Technologies вместе с Эллиотом Шварцем и Гретхен. Их исследования могли принести ему огромное состояние и мировое признание.</p>
+        <p>Но Уолтер внезапно ушёл из компании, продав свою долю за бесценок. Позже Gray Matter превратилась в многомиллиардную корпорацию, а сам Уолтер остался ни с чем.</p>
+        <p>Прошли годы. Теперь он жил в Альбукерке, работал школьным учителем химии и подрабатывал на автомойке. Его семья состояла из беременной жены Скайлер и сына Уолтера-младшего. Жизнь казалась скучной, серой и унизительной.</p>
+        <p>В день своего 50-летия Уолтер узнаёт страшный диагноз — неоперабельный рак лёгких. Он понимает: после его смерти семья останется без денег. Именно в этот момент внутри него начинает рождаться другой человек.</p>
+      </article>
+
+      <article>
+        <h2>Знакомство с Джесси</h2>
+        <p>Во время рейда DEA вместе с Хэнком Шрейдером — агентом DEA и мужем сестры Скайлер — Уолтер замечает бывшего ученика Джесси Пинкмана, который убегает с места производства наркотиков.</p>
+        <p>Уолтер предлагает ему сделку: Джесси занимается продажей, а Уолтер варит лучший метамфетамин в истории. Они начинают работать в старом трейлере посреди пустыни.</p>
+        <p>Первая же партия производит шок: мет оказывается почти идеальной чистоты — 99.1%. Синий цвет продукта быстро становится легендой улиц.</p>
+      </article>
+
+      <article>
+        <h2>Первые убийства</h2>
+        <p>Очень быстро Уолтер сталкивается с жестокостью криминального мира. После конфликта с дилерами Крейзи-8 и Эмилио он впервые убивает человека. Крейзи-8 оказывается прикованным в подвале дома Джесси.</p>
+        <p>Несколько дней Уолтер пытается убедить себя отпустить его. Но когда понимает, что Крейзи-8 собирался его убить, он душит его собственными руками. Именно в этот момент умирает прежний Уолтер Уайт.</p>
+      </article>
+
+      <article>
+        <h2>Туко Саламанка</h2>
+        <p>Чтобы расширить бизнес, Джесси связывается с Туко Саламанкой — психически нестабильным и крайне жестоким наркоторговцем. Туко восхищается качеством синего мета, но сотрудничество быстро превращается в кошмар: избиения, угрозы, убийства и постоянный страх.</p>
+        <p>Туко собирается увезти Уолтера и Джесси в Мексику, чтобы заставить их работать на картель. Но всё заканчивается перестрелкой. Хэнк Шрейдер убивает Туко, а расследование Хайзенберга становится главным делом DEA.</p>
+      </article>
+
+      <article>
+        <h2>Семья и ложь</h2>
+        <p>Пока Уолтер строит наркоимперию, его семья постепенно начинает разрушаться. Скайлер замечает постоянную ложь, исчезновения, странные деньги и агрессию мужа.</p>
+        <p>Уолтер пытается оправдать всё заботой о семье, но правда намного страшнее: ему начинает нравиться власть.</p>
+      </article>
+
+      <article>
+        <h2>Джейн и катастрофа</h2>
+        <p>Джесси влюбляется в Джейн Марголис — девушку с наркотической зависимостью. Вместе они начинают употреблять героин и планируют сбежать с деньгами Уолтера.</p>
+        <p>Когда Уолтер приходит к Джесси, он видит Джейн без сознания. Она начинает захлёбываться собственной рвотой. Уолтер мог её спасти, но не делает этого. Он просто стоит и смотрит, как она умирает.</p>
+        <p>Позже выясняется, что отец Джейн — авиадиспетчер. После смерти дочери он допускает ошибку, которая приводит к столкновению двух самолётов над Альбукерке. Это становится символом того, как решения Уолтера уничтожают жизни даже незнакомых людей.</p>
+      </article>
+
+      <article>
+        <h2>Гус Фринг</h2>
+        <p>Вскоре Уолтер выходит на Гуса Фринга — владельца сети ресторанов Los Pollos Hermanos. На публике Гус выглядит спокойным бизнесменом и филантропом. Но на самом деле он — крупнейший наркобарон региона.</p>
+        <p>Гус предоставляет огромную подпольную лабораторию, защиту и миллионы долларов. Уолтер начинает работать вместе с талантливым химиком Гейлом Беттикером. Но Гус постепенно понимает: Хайзенберг слишком опасен.</p>
+      </article>
+
+      <article>
+        <h2>Майк Эрмантраут</h2>
+        <p>Правая рука Гуса — Майк Эрмантраут. Бывший полицейский, хладнокровный профессионал и человек, который решает любые проблемы.</p>
+        <p>Майк презирает Уолтера за его импульсивность и эгоизм, но вынужден работать с ним.</p>
+      </article>
+
+      <article>
+        <h2>Война с Гусом</h2>
+        <p>После серии конфликтов Гус решает устранить Уолтера и оставить Джесси работать отдельно. Понимая, что его скоро убьют, Уолтер идёт на крайние меры.</p>
+        <p>Чтобы не дать Гусу заменить его Гейлом, Уолтер заставляет Джесси убить Гейла Беттикера. После этого начинается открытая война между Хайзенбергом и Гусом Фрингом.</p>
+      </article>
+
+      <article>
+        <h2>Месть Гуса</h2>
+        <p>Много лет назад картель убил Макса — партнёра и, вероятно, самого близкого человека Гуса. С тех пор Фринг строил империю ради мести.</p>
+        <p>Во время встречи с лидерами картеля он отравляет их текилой и уничтожает почти всё руководство. Но главной проблемой для него всё ещё остаётся Хайзенберг.</p>
+      </article>
+
+      <article>
+        <h2>Гектор Саламанка и взрыв</h2>
+        <p>Уолтер понимает: обычным способом победить Гуса невозможно. Тогда он обращается к Гектору Саламанке — старому врагу Фринга.</p>
+        <p>Гектор прикован к инвалидному креслу и может общаться только звонком колокольчика. Он вызывает Гуса в дом престарелых. Фринг приходит лично. Гектор начинает яростно звонить в колокольчик. Через секунду происходит взрыв.</p>
+        <p>Гус Фринг погибает. После этого Уолтер произносит: “I won.” Теперь именно Хайзенберг становится главным человеком в наркобизнесе Альбукерке.</p>
+      </article>
+
+      <article>
+        <h2>Империя Хайзенберга</h2>
+        <p>Уолтер, Джесси и Майк создают собственную систему производства. Деньги текут рекой. Уолтер покупает автомойку для отмывания денег. Его эго становится всё сильнее.</p>
+        <p>Он больше не делает это ради семьи. Теперь ему нравится быть Хайзенбергом.</p>
+      </article>
+
+      <article>
+        <h2>Смерть Майка</h2>
+        <p>Когда DEA начинает выходить на след бывших людей Гуса, Майк хочет исчезнуть. Но Уолтеру нужны имена заключённых, которым платили за молчание.</p>
+        <p>Во время ссоры Уолтер в ярости убивает Майка у реки. Почти сразу он понимает, что мог получить нужную информацию без убийства. Но уже слишком поздно.</p>
+      </article>
+
+      <article>
+        <h2>Хэнк узнаёт правду</h2>
+        <p>Долгое время Хэнк ищет Хайзенберга, даже не подозревая, что преступник — его собственный родственник. Однажды в туалете дома Уолтера он замечает книгу с подписью Гейла Беттикера.</p>
+        <p>Именно тогда всё складывается воедино. Хэнк начинает тайное расследование против Уолтера.</p>
+      </article>
+
+      <article>
+        <h2>Конец империи</h2>
+        <p>Хэнк заманивает Уолтера в пустыню и арестовывает его. Но Уолтер вызывает банду неонацистов Джека Уэлкера. Начинается перестрелка.</p>
+        <p>Хэнк погибает на глазах Уолтера. Джесси попадает в плен. Неонацисты забирают деньги Уолтера и заставляют Джесси варить мет. Скайлер узнаёт всю правду. Семья окончательно отворачивается от Уолтера.</p>
+        <p>Хайзенберг теряет всё: деньги, семью, империю, уважение и самого себя.</p>
+      </article>
+
+      <article>
+        <h2>Финал Хайзенберга</h2>
+        <p>Скрываясь в одиночестве, Уолтер живёт в маленькой хижине среди снегов Нью-Гэмпшира. Но перед смертью он решает закончить свою историю.</p>
+        <p>Он возвращается в Альбукерке: передаёт деньги сыну через Gray Matter, прощается со Скайлер и признаётся, что делал всё ради себя.</p>
+        <p>Затем он отправляется спасать Джесси. На базе неонацистов Уолтер использует автоматическую турель из пулемёта M60, спрятанную в багажнике автомобиля. Пулемёт уничтожает почти всю банду.</p>
+        <p>Джесси получает свободу. Сам Уолтер получает смертельное ранение. Последние минуты жизни он проводит в лаборатории, среди оборудования и химии — там, где когда-то родился Хайзенберг.</p>
+        <p>Так заканчивается история человека, который хотел оставить семье деньги, но в итоге создал одну из самых опасных криминальных империй в истории телевидения.</p>
+      </article>
+
+      <a class="button button--primary history-back" href="./index.html#lab">ВЕРНУТЬСЯ НА САЙТ</a>
+    </section>
+  </main>
+
+  <script src="./script.js"></script>
+</body>
+</html>

+ 264 - 0
site breaking bad/index.html

@@ -0,0 +1,264 @@
+<!DOCTYPE html>
+<html lang="ru">
+<head>
+  <meta charset="UTF-8" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Хайзенберг | Cinematic Experience</title>
+  <link rel="preconnect" href="https://fonts.googleapis.com" />
+  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
+  <link href="https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Orbitron:wght@400;600;800&family=Oswald:wght@300;400;500;700&display=swap" rel="stylesheet" />
+  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" />
+  <link rel="stylesheet" href="./styles.css" />
+</head>
+<body>
+  <div class="loader" aria-label="Загрузка сайта">
+    <div class="loader__formula">C<sub>10</sub>H<sub>15</sub>N</div>
+    <div class="loader__line"><span></span></div>
+    <p>ИНИЦИАЛИЗАЦИЯ ЛАБОРАТОРИИ</p>
+  </div>
+
+  <div class="noise"></div>
+  <div class="scanlines"></div>
+  <div class="mouse-glow" aria-hidden="true"></div>
+  <canvas id="particles" aria-hidden="true"></canvas>
+
+  <header class="navbar">
+    <a class="brand" href="#hero" aria-label="На главный экран">
+      <span>Br</span><span>Ba</span>
+    </a>
+    <nav class="navlinks" aria-label="Основная навигация">
+      <a href="#hero">ГЛАВНАЯ</a>
+      <a href="#lab">ЛАБОРАТОРИЯ</a>
+      <a href="#characters">ПЕРСОНАЖИ</a>
+      <a href="#timeline">ХРОНОЛОГИЯ</a>
+      <a href="#dea">ДОСЬЕ DEA</a>
+    </nav>
+    <button class="nav-toggle" type="button" aria-label="Открыть меню">
+      <span></span><span></span>
+    </button>
+  </header>
+
+  <main>
+    <section class="hero section" id="hero">
+      <video class="hero__video" src="./Видео/Video%20Project%201.mp4" autoplay muted loop playsinline></video>
+      <div class="hero__smoke"></div>
+      <div class="hero__content">
+        <p class="eyebrow reveal">ОФИЦИАЛЬНЫЙ КРИМИНАЛЬНЫЙ ОПЫТ</p>
+        <h1 class="hero__title reveal">ХАЙЗЕНБЕРГ</h1>
+        <p class="hero__quote reveal">Я — не в опасности. Я и есть опасность.</p>
+        <div class="hero__actions reveal">
+          <a class="button button--primary" href="#lab">ВОЙТИ В ЛАБОРАТОРИЮ</a>
+          <button class="button button--ghost" type="button" data-open-trailer>СМОТРЕТЬ ЭДИТ</button>
+        </div>
+      </div>
+      <a class="scroll-indicator" href="#lab" aria-label="Прокрутить к лаборатории">
+        <span></span>
+        ПРОКРУТИТЬ
+      </a>
+    </section>
+
+    <section class="lab story-preview section" id="lab">
+      <div class="section__head">
+        <p class="eyebrow">ИСТОРИЯ СОБЫТИЙ</p>
+        <h2>Короткая история Уолтера Уайта</h2>
+      </div>
+      <div class="story-preview__grid">
+        <div class="story-preview__copy">
+          <div class="formula formula--one">C<sub>10</sub>H<sub>15</sub>N</div>
+          <p>Уолтер Уайт — талантливый химик и бывший сооснователь компании Gray Matter Technologies, который после ухода из компании остался обычным учителем химии в Альбукерке. Узнав о смертельном раке лёгких, он решает обеспечить семью деньгами и начинает производить метамфетамин вместе с бывшим учеником Джесси Пинкманом.</p>
+          <p>Их синий мет с чистотой 99.1% быстро становится известен по всему Нью-Мексико. Постепенно Уолтер превращается в Хайзенберга — одного из самых опасных людей в криминальном мире.</p>
+          <p>Он сталкивается с Туко Саламанкой, работает на наркобарона Гуса Фринга, строит собственную империю и уничтожает всех, кто пытается его остановить. Понимая, что Гус собирается избавиться от него, Уолтер объединяется с Гектором Саламанкой и устраивает взрыв в доме престарелых, убивая Фринга.</p>
+          <p>После этого Хайзенберг становится главным производителем метамфетамина в регионе. Но власть и жажда контроля постепенно разрушают его семью, отношения с Джесси и собственную жизнь.</p>
+          <p>Когда агент DEA Хэнк Шрейдер узнаёт, что Хайзенберг — это Уолтер, начинается финальное противостояние. Империя рушится, Хэнк погибает, Джесси попадает в плен, а сам Уолтер теряет всё, ради чего когда-то начал этот путь.</p>
+          <p>В финале Уолтер возвращается в Альбукерке, спасает Джесси, уничтожает банду неонацистов и умирает в лаборатории, рядом с химией, которая когда-то превратила его в Хайзенберга.</p>
+        </div>
+        <div class="story-preview__poster">
+          <img src="./Фотки/уолт%20обычный.jpg" alt="Уолтер Уайт до превращения в Хайзенберга" />
+        </div>
+      </div>
+      <a class="story-preview__button button button--primary" href="./history.html">ПРОЧИТАТЬ ПОЛНЫЙ СЮЖЕТ СЕРИАЛА</a>
+    </section>
+
+    <section class="characters section" id="characters">
+      <div class="section__head">
+        <p class="eyebrow">ПЕРСОНАЖИ</p>
+        <h2>Игроки империи</h2>
+      </div>
+      <div class="swiper character-swiper">
+        <div class="swiper-wrapper">
+          <article class="swiper-slide character-card" style="--portrait:url('./Фотки/волт%20фото.jpg')" data-quote="Скажи мое имя.">
+            <div class="character-card__shade"></div>
+            <h3>Уолтер Уайт</h3>
+            <p>Учитель химии, который построил империю из страха, гения и ярости.</p>
+            <button class="bio-link" type="button" data-bio="walter">ОТКРЫТЬ БИОГРАФИЮ</button>
+          </article>
+          <article class="swiper-slide character-card" style="--portrait:url('./Фотки/Джесси%20пинкман%20фото.webp')" data-quote="Да, наука!">
+            <div class="character-card__shade"></div>
+            <h3>Джесси Пинкман</h3>
+            <p>Партнер, чья совесть пережила то, что должно было ее уничтожить.</p>
+            <button class="bio-link" type="button" data-bio="jesse">ОТКРЫТЬ БИОГРАФИЮ</button>
+          </article>
+          <article class="swiper-slide character-card" style="--portrait:url('./Фотки/Гус%20фринг%20фото.webp')" data-quote="Страх не лучший мотиватор.">
+            <div class="character-card__shade"></div>
+            <h3>Густаво Фринг</h3>
+            <p>Безупречная улыбка, железная дисциплина и холодная архитектура власти.</p>
+            <button class="bio-link" type="button" data-bio="gus">ОТКРЫТЬ БИОГРАФИЮ</button>
+          </article>
+          <article class="swiper-slide character-card" style="--portrait:url('./Фотки/солл%20гудман.jpg')" data-quote="Лучше звоните Солу.">
+            <div class="character-card__shade"></div>
+            <h3>Сол Гудман</h3>
+            <p>Адвокат, который превращает хаос в сделку и всегда оставляет выход.</p>
+            <button class="bio-link" type="button" data-bio="saul">ОТКРЫТЬ БИОГРАФИЮ</button>
+          </article>
+          <article class="swiper-slide character-card" style="--portrait:url('./Фотки/Майк%20эрментрауцт.webp')" data-quote="Никаких полумер.">
+            <div class="character-card__shade"></div>
+            <h3>Майк Эрмантраут</h3>
+            <p>Тихий профессионал, для которого порядок важнее громких обещаний.</p>
+            <button class="bio-link" type="button" data-bio="mike">ОТКРЫТЬ БИОГРАФИЮ</button>
+          </article>
+        </div>
+        <div class="swiper-pagination"></div>
+      </div>
+    </section>
+
+    <section class="supporting section" id="supporting">
+      <div class="section__head">
+        <h2>Второстепенные персонажи</h2>
+      </div>
+      <div class="supporting__grid">
+        <article class="support-card support-card--jane" style="--support:url('./Фотки/Джейн%20Марголис.webp')"><h3>Джейн Марголис</h3><p>Любовь Джесси и трагедия, которая показывает, насколько далеко Уолт готов зайти ради контроля.</p></article>
+        <article class="support-card support-card--skyler" style="--support:url('./Фотки/Скайлер%20Уайт.webp')"><h3>Скайлер Уайт</h3><p>Жена Уолта, оказавшаяся между защитой семьи, страхом и соучастием в отмывании денег.</p></article>
+        <article class="support-card" style="--support:url('./Фотки/тодд.webp')"><h3>Тодд</h3><p>Вежливый и пугающе пустой исполнитель, который превращает насилие в бытовую процедуру.</p></article>
+        <article class="support-card" style="--support:url('./Фотки/Туко%20Саламанка.webp')"><h3>Туко Саламанка</h3><p>Первый крупный дилер, который вводит Уолта и Джесси в мир картеля и настоящего страха.</p></article>
+        <article class="support-card" style="--support:url('./Фотки/Гектор%20Саламанка.webp')"><h3>Гектор Саламанка</h3><p>Старейшина клана Саламанка, чья ненависть к Гусу становится оружием финального удара.</p></article>
+        <article class="support-card" style="--support:url('./Фотки/Уолтер%20Уайт-младший.jpg')"><h3>Уолтер Уайт-младший</h3><p>Сын Уолта, ради которого отец оправдывает преступления, пока семья окончательно не рушится.</p></article>
+        <article class="support-card" style="--support:url('./Фотки/Мари%20Шрэдер.webp')"><h3>Мари Шрэдер</h3><p>Сестра Скайлер и жена Хэнка, через которую семейная драма сталкивается с расследованием DEA.</p></article>
+        <article class="support-card" style="--support:url('./Фотки/Эладио%20Вуэнте.jpg')"><h3>Эладио Вуэнте</h3><p>Глава картеля, чья встреча с Гусом запускает одну из самых холодных линий мести в сериале.</p></article>
+      </div>
+    </section>
+
+    <section class="timeline section" id="timeline">
+      <div class="section__head">
+        <p class="eyebrow">ХРОНОЛОГИЯ</p>
+        <h2>Путь к имени</h2>
+      </div>
+      <div class="timeline__rail">
+        <article class="timeline__item"><span>01</span><h3>Диагноз</h3><p>Уолтер Уайт, школьный учитель химии из Альбукерке, узнает о раке легких. Страх оставить семью без денег толкает его к бывшему ученику Джесси Пинкману и первому вару метамфетамина в пустыне.</p></article>
+        <article class="timeline__item"><span>02</span><h3>Первые деньги</h3><p>Синяя формула быстро приносит прибыль, но вместе с ней приходят дилеры, насилие и необходимость лгать семье. Уолт впервые понимает, что преступный мир не про формулу, а про власть.</p></article>
+        <article class="timeline__item"><span>03</span><h3>Туко и картель</h3><p>Туко Саламанка открывает героям вход в опасный рынок. После его смерти след ведет к Хэнку, а Уолт все глубже прячет вторую жизнь за образом больного и тихого семьянина.</p></article>
+        <article class="timeline__item"><span>04</span><h3>Гус Фринг</h3><p>Гус строит для Уолта идеальную подземную лабораторию. Деньги становятся огромными, но дисциплина Фринга превращает Уолта из партнера в ресурс, который можно заменить.</p></article>
+        <article class="timeline__item"><span>05</span><h3>Война за империю</h3><p>Уолт сталкивает Гуса с Гектором Саламанкой и уничтожает главного конкурента. После этого имя Хайзенберг становится символом страха, а Джесси окончательно видит цену его решений.</p></article>
+        <article class="timeline__item"><span>06</span><h3>Разоблачение</h3><p>Хэнк находит книгу с посвящением Гейла и понимает, что Уолт связан с делом Heisenberg. Семья раскалывается, деньги уже не спасают, а каждая ложь возвращается уликой.</p></article>
+        <article class="timeline__item"><span>07</span><h3>Финал</h3><p>Уолт теряет империю, семью и имя. В последней операции он освобождает Джесси, уничтожает банду Джека и умирает в лаборатории рядом с тем, что когда-то называл своим делом.</p></article>
+      </div>
+    </section>
+
+    <section class="trailer section" id="trailer">
+      <video class="trailer__video" src="./Видео/Видео%20конца%20сериала.mp4" muted loop playsinline></video>
+      <div class="trailer__content">
+        <p class="eyebrow">ЭДИТ</p>
+        <h2>Пустыня помнит каждую сделку</h2>
+        <button class="play-button" type="button" data-open-ending aria-label="Воспроизвести эдит событий конца сериала">
+          <span></span>
+        </button>
+      </div>
+    </section>
+
+    <section class="dea section" id="dea">
+      <div class="section__head">
+        <p class="eyebrow">ДОСЬЕ DEA</p>
+        <h2>Расследование</h2>
+      </div>
+      <div class="dea__grid">
+        <img src="./Фотки/хэнк%20фото.webp" alt="Агент DEA Хэнк Шрейдер" />
+        <div class="dea__panel">
+          <h3>Как Хэнк вышел на Уолта</h3>
+          <p>Хэнк Шрейдер был одним из лучших агентов DEA в Альбукерке. С самого начала расследования он охотился за загадочным производителем синего метамфетамина, который быстро захватил улицы Нью-Мексико. DEA называло его Хайзенбергом — человеком, о котором никто ничего не знал.</p>
+          <p>Пока агенты искали связи с картелями и мексиканскими поставщиками, настоящий Хайзенберг находился прямо рядом с Хэнком. Уолтер Уайт — тихий школьный учитель химии, семьянин и человек, которого никто не мог заподозрить в создании крупнейшей наркоимперии региона.</p>
+          <p>Уолт использовал своё положение как идеальное прикрытие. Он скрывал деньги через автомойку, манипулировал уликами, исчезал под предлогом лечения и всегда находился на шаг впереди расследования. Пока Хэнк выходил на Туко Саламанку, Гуса Фринга и мексиканский картель, Хайзенберг постепенно устранял всех, кто мог раскрыть его личность.</p>
+          <p>После смерти Туко расследование стало серьёзнее. Появление синего мета с чистотой 99.1% говорило о том, что за производством стоит настоящий профессионал в химии. Хэнк начал понимать, что имеет дело не с обычными уличными дилерами, а с человеком, способным строить целую систему.</p>
+          <p>Позже следы привели к Гусу Фрингу — владельцу Los Pollos Hermanos. Для Хэнка Фринг выглядел идеальным подозреваемым: спокойный бизнесмен, связи с поставками, идеальная репутация и огромные ресурсы. Но доказательств оказалось недостаточно, а сам Гус продолжал скрывать свою империю под видом сети ресторанов.</p>
+          <p>Тем временем Уолтер всё глубже превращался в Хайзенберга. Он организовал убийство Гейла Беттикера, уничтожил лабораторию Гуса и вместе с Гектором Саламанкой устроил взрыв в доме престарелых, в котором погиб Гус Фринг. После этого именно Уолтер стал главным производителем метамфетамина в регионе.</p>
+          <p>Хэнк продолжал расследование даже после закрытия дела Фринга. Его не покидало чувство, что настоящая история ещё не закончена. Переломный момент произошёл случайно — не в лаборатории и не во время спецоперации, а дома у Уолтера. В ванной комнате Хэнк находит книгу Уолта Уитмена с посвящением от Гейла Беттикера.</p>
+          <p>Именно тогда всё складывается воедино: знания химии, исчезновения Уолтера, деньги, связь с Гейлом и поведение после смерти Гуса. Хэнк понимает страшную правду — Хайзенберг всё это время был членом его собственной семьи.</p>
+          <p>С этого момента расследование перестаёт быть просто работой DEA. Оно становится личной войной. Хэнк собирает доказательства против Уолтера, пытается вывести его на признание и в итоге выходит на место хранения денег в пустыне. Но именно там история достигает трагической развязки.</p>
+          <p>Во время ареста Уолтер вызывает банду Джека Уэлкера. Начинается перестрелка, в которой погибают агенты DEA. Даже понимая, что проиграл, Хэнк отказывается умолять о пощаде. Так заканчивается история человека, который почти поймал Хайзенберга, но слишком поздно понял, что всё это время смотрел ему прямо в глаза.</p>
+        </div>
+      </div>
+    </section>
+
+    <section class="ending section" id="ending">
+      <img class="ending__image" src="./Фотки/ВОлтер%20конец%20сериала.jpg" alt="Уолтер Уайт в финале сериала" />
+      <button class="ending__play play-button" type="button" data-open-ending aria-label="Посмотреть эдит событий конца сериала">
+        <span></span>
+      </button>
+      <div class="ending__caption">
+        <p class="eyebrow">ФИНАЛЬНЫЙ ЭДИТ</p>
+        <h2>Что произошло в конце</h2>
+        <p>В финале Уолт возвращается из изгнания, чтобы закрыть долги перед семьей и освободить Джесси. Он устраивает ловушку банде Джека, спасает бывшего напарника и погибает в лаборатории, где его путь к Хайзенбергу приходит к последней точке.</p>
+        <button class="button button--primary" type="button" data-open-ending>ПОСМОТРЕТЬ ЭДИТ КОНЦА СЕРИАЛА</button>
+      </div>
+    </section>
+
+    <section class="legacy section" id="legacy">
+      <img class="legacy__emmy-bg" src="./Фотки/Эмми.png" alt="" aria-hidden="true" />
+      <div class="legacy__image">
+        <img src="./Фотки/Получение%20наград%20джесси%20и%20волта.webp" alt="Брайан Крэнстон и Аарон Пол с наградами" />
+      </div>
+      <div class="legacy__copy">
+        <p class="eyebrow">НАСЛЕДИЕ</p>
+        <h2>Премии и популярность</h2>
+        <p>«Во все тяжкие» стал не просто успешным сериалом, а настоящим культурным феноменом. После выхода финальных сезонов проект получил статус одного из величайших сериалов в истории телевидения. Критики отмечали напряжённый сюжет, операторскую работу, развитие персонажей и атмосферу, которая с каждым сезоном становилась всё мрачнее и масштабнее.</p>
+        <p>Финальный сезон получил 99/100 на Metacritic, а многие эпизоды вошли в списки лучших телевизионных серий всех времён. Последняя серия — “Felina” — получила одну из самых высоких пользовательских оценок в истории IMDb.</p>
+        <p>За время выхода сериал получил 16 премий Primetime Emmy, 2 премии Golden Globe, множество наград Critics’ Choice Television Awards и Satellite Awards. Брайан Крэнстон четыре раза получил Emmy за роль Уолтера Уайта, Аарон Пол трижды выигрывал награду за роль Джесси Пинкмана. Анна Ганн также дважды получила Emmy за роль Скайлер Уайт.</p>
+        <p>Популярность сериала продолжала расти даже после финала. Образ Хайзенберга, жёлтые защитные костюмы, Los Pollos Hermanos и фразы “I am the one who knocks” и “Say my name” стали частью мировой поп-культуры. В 2014 году проект также выиграл «Золотой глобус» как лучший драматический сериал.</p>
+      </div>
+      <div class="quote-marquee" aria-label="Культовые фразы">
+        <div class="quote-marquee__track">
+          <span>I AM THE ONE WHO KNOCKS • SAY MY NAME • TREAD LIGHTLY • YEAH SCIENCE •</span>
+          <span>I AM THE ONE WHO KNOCKS • SAY MY NAME • TREAD LIGHTLY • YEAH SCIENCE •</span>
+          <span>I AM THE ONE WHO KNOCKS • SAY MY NAME • TREAD LIGHTLY • YEAH SCIENCE •</span>
+          <span>I AM THE ONE WHO KNOCKS • SAY MY NAME • TREAD LIGHTLY • YEAH SCIENCE •</span>
+          <span>I AM THE ONE WHO KNOCKS • SAY MY NAME • TREAD LIGHTLY • YEAH SCIENCE •</span>
+          <span>I AM THE ONE WHO KNOCKS • SAY MY NAME • TREAD LIGHTLY • YEAH SCIENCE •</span>
+        </div>
+      </div>
+    </section>
+  </main>
+
+  <footer class="footer">
+    <div class="brand brand--footer"><span>Br</span><span>Ba</span></div>
+    <p>Кинематографический фан-сайт на русском языке. Все материалы использованы локально из проекта.</p>
+    <div class="socials" aria-label="Социальные ссылки">
+      <a href="#" aria-label="Telegram">TG</a>
+      <a href="#" aria-label="VK">VK</a>
+      <a href="#" aria-label="YouTube">YT</a>
+    </div>
+  </footer>
+
+  <div class="trailer-modal" aria-hidden="true">
+    <button class="modal-close" type="button" aria-label="Закрыть эдит">ЗАКРЫТЬ</button>
+    <video src="./Видео/Video%20Project%201.mp4" controls playsinline></video>
+  </div>
+
+  <div class="ending-modal" aria-hidden="true">
+    <button class="modal-close ending-close" type="button" aria-label="Закрыть финальный эдит">ЗАКРЫТЬ</button>
+    <video src="./Видео/Видео%20конца%20сериала.mp4" controls playsinline></video>
+  </div>
+
+  <div class="bio-modal" aria-hidden="true">
+    <div class="bio-modal__panel">
+      <button class="modal-close bio-close" type="button" aria-label="Закрыть биографию">ЗАКРЫТЬ</button>
+      <p class="eyebrow">БИОГРАФИЯ</p>
+      <h2></h2>
+      <p class="bio-modal__text"></p>
+    </div>
+  </div>
+
+  <script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
+  <script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js"></script>
+  <script src="https://cdn.jsdelivr.net/npm/@studio-freight/lenis@1.0.42/dist/lenis.min.js"></script>
+  <script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
+  <script src="./script.js"></script>
+</body>
+</html>

+ 243 - 0
site breaking bad/script.js

@@ -0,0 +1,243 @@
+const loader = document.querySelector(".loader");
+const glow = document.querySelector(".mouse-glow");
+const navToggle = document.querySelector(".nav-toggle");
+const navlinks = document.querySelector(".navlinks");
+const modal = document.querySelector(".trailer-modal");
+const modalVideo = modal?.querySelector("video");
+const endingModal = document.querySelector(".ending-modal");
+const endingModalVideo = endingModal?.querySelector("video");
+const trailerVideo = document.querySelector(".trailer__video");
+const bioModal = document.querySelector(".bio-modal");
+const bioTitle = bioModal?.querySelector("h2");
+const bioText = bioModal?.querySelector(".bio-modal__text");
+
+const biographies = {
+  walter: {
+    title: "Уолтер Уайт",
+    text: "Школьный учитель химии узнает о смертельном диагнозе и начинает варить метамфетамин, чтобы оставить деньги семье. Постепенно мотивация меняется: Уолт уже не просто выживает, а строит империю, уничтожает конкурентов, манипулирует Джесси и становится Хайзенбергом. Его главный вклад в сюжет — превращение обычного человека в центр преступной системы, которую он сам же и разрушает.",
+  },
+  jesse: {
+    title: "Джесси Пинкман",
+    text: "Бывший ученик Уолта и его первый партнер в производстве. Джесси проходит путь от мелкого дилера до человека, который видит настоящую цену империи Хайзенберга. Через него сериал показывает совесть, зависимость, вину и попытку вырваться из мира, где взрослые используют его как расходный материал.",
+  },
+  gus: {
+    title: "Густаво Фринг",
+    text: "Владелец Los Pollos Hermanos и один из самых опасных игроков наркорынка. Гус дает Уолту промышленный масштаб, лабораторию и систему сбыта, но требует абсолютной дисциплины. Его противостояние с Уолтом превращает сериал из истории выживания в войну интеллектов.",
+  },
+  saul: {
+    title: "Сол Гудман",
+    text: "Криминальный адвокат, который легализует хаос вокруг Уолта и Джесси: связи, отмывание денег, фальшивые легенды, исчезновение людей. Сол делает преступную империю управляемой с юридической стороны и постоянно напоминает, что в этом мире у всего есть цена.",
+  },
+  mike: {
+    title: "Майк Эрмантраут",
+    text: "Бывший полицейский, fixer и правая рука Гуса. Майк отвечает за порядок, безопасность и грязную работу, но живет по собственному кодексу. Его конфликт с Уолтом показывает разницу между профессиональной преступностью и эго человека, которому всегда нужно побеждать.",
+  },
+};
+
+window.addEventListener("load", () => {
+  if (loader) setTimeout(() => loader.classList.add("is-hidden"), 900);
+});
+
+document.addEventListener("mousemove", (event) => {
+  if (!glow) return;
+  glow.style.left = `${event.clientX}px`;
+  glow.style.top = `${event.clientY}px`;
+});
+
+if (navToggle && navlinks) {
+  navToggle.addEventListener("click", () => {
+    navlinks.classList.toggle("is-open");
+    document.body.classList.toggle("menu-open", navlinks.classList.contains("is-open"));
+  });
+}
+
+document.querySelectorAll(".navlinks a").forEach((link) => {
+  link.addEventListener("click", () => {
+    navlinks.classList.remove("is-open");
+    document.body.classList.remove("menu-open");
+  });
+});
+
+const openTrailer = () => {
+  if (!modal || !modalVideo) return;
+  modal.classList.add("is-open");
+  modal.setAttribute("aria-hidden", "false");
+  modalVideo.currentTime = 0;
+  modalVideo.play();
+};
+
+const closeTrailer = () => {
+  if (!modal || !modalVideo) return;
+  modal.classList.remove("is-open");
+  modal.setAttribute("aria-hidden", "true");
+  modalVideo.pause();
+};
+
+const openEnding = () => {
+  if (!endingModal || !endingModalVideo) return;
+  endingModal.classList.add("is-open");
+  endingModal.setAttribute("aria-hidden", "false");
+  endingModalVideo.currentTime = 0;
+  endingModalVideo.play();
+};
+
+const closeEnding = () => {
+  if (!endingModal || !endingModalVideo) return;
+  endingModal.classList.remove("is-open");
+  endingModal.setAttribute("aria-hidden", "true");
+  endingModalVideo.pause();
+};
+
+const openBio = (key) => {
+  const bio = biographies[key];
+  if (!bio || !bioModal || !bioTitle || !bioText) return;
+  bioTitle.textContent = bio.title;
+  bioText.textContent = bio.text;
+  bioModal.classList.add("is-open");
+  bioModal.setAttribute("aria-hidden", "false");
+};
+
+const closeBio = () => {
+  if (!bioModal) return;
+  bioModal.classList.remove("is-open");
+  bioModal.setAttribute("aria-hidden", "true");
+};
+
+document.querySelectorAll("[data-open-trailer], [data-play-trailer]").forEach((button) => {
+  button.addEventListener("click", openTrailer);
+});
+
+document.querySelectorAll("[data-open-ending]").forEach((button) => {
+  button.addEventListener("click", openEnding);
+});
+
+modal?.querySelector(".modal-close")?.addEventListener("click", closeTrailer);
+document.querySelector(".ending-close")?.addEventListener("click", closeEnding);
+document.querySelector(".bio-close")?.addEventListener("click", closeBio);
+modal?.addEventListener("click", (event) => {
+  if (event.target === modal) closeTrailer();
+});
+endingModal?.addEventListener("click", (event) => {
+  if (event.target === endingModal) closeEnding();
+});
+bioModal?.addEventListener("click", (event) => {
+  if (event.target === bioModal) closeBio();
+});
+
+document.querySelectorAll("[data-bio]").forEach((button) => {
+  button.addEventListener("click", () => openBio(button.dataset.bio));
+});
+
+document.addEventListener("keydown", (event) => {
+  if (event.key === "Escape" && modal?.classList.contains("is-open")) closeTrailer();
+  if (event.key === "Escape" && endingModal?.classList.contains("is-open")) closeEnding();
+  if (event.key === "Escape" && bioModal?.classList.contains("is-open")) closeBio();
+});
+
+if (window.Lenis) {
+  const lenis = new Lenis({ lerp: 0.08, wheelMultiplier: 0.85 });
+  const raf = (time) => {
+    lenis.raf(time);
+    requestAnimationFrame(raf);
+  };
+  requestAnimationFrame(raf);
+}
+
+if (window.Swiper) {
+  new Swiper(".character-swiper", {
+    slidesPerView: 1.08,
+    spaceBetween: 18,
+    centeredSlides: false,
+    pagination: { el: ".swiper-pagination", clickable: true },
+    breakpoints: {
+      760: { slidesPerView: 2.15, spaceBetween: 22 },
+      1120: { slidesPerView: 3.18, spaceBetween: 26 },
+    },
+  });
+}
+
+if (window.gsap) {
+  gsap.registerPlugin(ScrollTrigger);
+
+  gsap.from(".reveal", {
+    y: 42,
+    opacity: 0,
+    duration: 1.15,
+    stagger: 0.16,
+    ease: "power3.out",
+    delay: 0.55,
+  });
+
+  gsap.utils.toArray(".section__head, .glass-card, .support-card, .timeline__item, .dea__grid, .ending__caption, .legacy__image, .legacy__copy").forEach((element) => {
+    gsap.from(element, {
+      scrollTrigger: { trigger: element, start: "top 82%" },
+      y: 70,
+      opacity: 0,
+      duration: 0.95,
+      ease: "power3.out",
+    });
+  });
+
+  gsap.to(".hero__video", {
+    scrollTrigger: { trigger: ".hero", start: "top top", end: "bottom top", scrub: true },
+    scale: 1.18,
+    yPercent: 10,
+  });
+
+  gsap.to(".trailer__video", {
+    scrollTrigger: {
+      trigger: ".trailer",
+      start: "top 65%",
+      onEnter: () => trailerVideo?.play(),
+      onLeaveBack: () => trailerVideo?.pause(),
+    },
+  });
+
+  gsap.utils.toArray(".formula").forEach((formula, index) => {
+    gsap.to(formula, {
+      scrollTrigger: { trigger: ".lab", start: "top bottom", end: "bottom top", scrub: true },
+      xPercent: index % 2 ? -24 : 24,
+      yPercent: index % 2 ? 40 : -35,
+    });
+  });
+}
+
+const canvas = document.getElementById("particles");
+const ctx = canvas.getContext("2d");
+let particles = [];
+
+function resizeCanvas() {
+  canvas.width = window.innerWidth;
+  canvas.height = window.innerHeight;
+  particles = Array.from({ length: Math.min(90, Math.floor(window.innerWidth / 16)) }, () => ({
+    x: Math.random() * canvas.width,
+    y: Math.random() * canvas.height,
+    r: Math.random() * 1.7 + 0.35,
+    vx: (Math.random() - 0.5) * 0.25,
+    vy: Math.random() * -0.35 - 0.05,
+    a: Math.random() * 0.5 + 0.15,
+  }));
+}
+
+function drawParticles() {
+  ctx.clearRect(0, 0, canvas.width, canvas.height);
+  particles.forEach((particle) => {
+    particle.x += particle.vx;
+    particle.y += particle.vy;
+    if (particle.y < -10) particle.y = canvas.height + 10;
+    if (particle.x < -10) particle.x = canvas.width + 10;
+    if (particle.x > canvas.width + 10) particle.x = -10;
+
+    ctx.beginPath();
+    ctx.arc(particle.x, particle.y, particle.r, 0, Math.PI * 2);
+    ctx.fillStyle = `rgba(215, 255, 54, ${particle.a})`;
+    ctx.shadowBlur = 12;
+    ctx.shadowColor = "rgba(21, 255, 128, 0.8)";
+    ctx.fill();
+  });
+  requestAnimationFrame(drawParticles);
+}
+
+resizeCanvas();
+drawParticles();
+window.addEventListener("resize", resizeCanvas);

+ 1603 - 0
site breaking bad/styles.css

@@ -0,0 +1,1603 @@
+:root {
+  --black: #020403;
+  --graphite: #101614;
+  --deep-green: #05241b;
+  --green: #15ff80;
+  --acid: #d7ff36;
+  --muted: #b8c3b7;
+  --glass: rgba(8, 22, 17, 0.55);
+  --line: rgba(188, 255, 83, 0.22);
+}
+
+* {
+  box-sizing: border-box;
+}
+
+html {
+  scroll-behavior: auto;
+}
+
+body {
+  margin: 0;
+  background: var(--black);
+  color: #f4fff6;
+  font-family: "Oswald", Arial, sans-serif;
+  overflow-x: hidden;
+}
+
+body.menu-open {
+  overflow: hidden;
+}
+
+a {
+  color: inherit;
+  text-decoration: none;
+}
+
+button {
+  color: inherit;
+  font: inherit;
+}
+
+.loader {
+  position: fixed;
+  inset: 0;
+  z-index: 1000;
+  display: grid;
+  place-content: center;
+  gap: 24px;
+  text-align: center;
+  background: radial-gradient(circle at center, #0b3a22 0%, #020403 58%);
+  transition: opacity 0.8s ease, visibility 0.8s ease;
+}
+
+.loader.is-hidden {
+  opacity: 0;
+  visibility: hidden;
+}
+
+.loader__formula {
+  font-family: "Orbitron", sans-serif;
+  font-size: 96px;
+  color: var(--acid);
+  text-shadow: 0 0 34px rgba(215, 255, 54, 0.75);
+}
+
+.loader p,
+.eyebrow {
+  margin: 0;
+  font-family: "Orbitron", sans-serif;
+  font-size: 12px;
+  letter-spacing: 0.22em;
+  color: var(--acid);
+}
+
+.loader__line {
+  width: min(420px, 70vw);
+  height: 2px;
+  background: rgba(255, 255, 255, 0.14);
+  overflow: hidden;
+}
+
+.loader__line span {
+  display: block;
+  width: 45%;
+  height: 100%;
+  background: linear-gradient(90deg, transparent, var(--green), transparent);
+  animation: loadline 1.1s infinite;
+}
+
+.noise,
+.scanlines,
+.mouse-glow {
+  position: fixed;
+  inset: 0;
+  pointer-events: none;
+  z-index: 20;
+}
+
+.noise {
+  opacity: 0.16;
+  mix-blend-mode: overlay;
+  background-image:
+    radial-gradient(circle at 25% 20%, rgba(255,255,255,.22) 0 1px, transparent 1px),
+    radial-gradient(circle at 70% 60%, rgba(255,255,255,.13) 0 1px, transparent 1px);
+  background-size: 3px 3px, 5px 5px;
+  animation: grain 0.45s steps(2) infinite;
+}
+
+.scanlines {
+  opacity: 0.12;
+  background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(170,255,92,.16) 4px);
+}
+
+.mouse-glow {
+  width: 460px;
+  height: 460px;
+  inset: auto;
+  border-radius: 50%;
+  opacity: 0.42;
+  filter: blur(46px);
+  background: radial-gradient(circle, rgba(37, 255, 129, 0.34), transparent 68%);
+  transform: translate(-50%, -50%);
+}
+
+#particles {
+  position: fixed;
+  inset: 0;
+  z-index: 3;
+  pointer-events: none;
+}
+
+.navbar {
+  position: fixed;
+  top: 18px;
+  left: 50%;
+  z-index: 60;
+  width: min(1180px, calc(100% - 32px));
+  transform: translateX(-50%);
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: 10px 12px 10px 16px;
+  border: 1px solid rgba(191, 255, 63, 0.18);
+  border-radius: 8px;
+  background: rgba(2, 9, 7, 0.54);
+  backdrop-filter: blur(20px);
+  box-shadow: 0 0 32px rgba(21, 255, 128, 0.08);
+}
+
+.brand {
+  display: flex;
+  gap: 7px;
+  font-family: "Orbitron", sans-serif;
+  font-weight: 800;
+}
+
+.brand span {
+  display: grid;
+  place-items: center;
+  width: 38px;
+  aspect-ratio: 1;
+  border: 1px solid var(--acid);
+  background: linear-gradient(135deg, rgba(21,255,128,.24), rgba(215,255,54,.07));
+  color: var(--acid);
+  box-shadow: inset 0 0 18px rgba(21,255,128,.12), 0 0 18px rgba(215,255,54,.18);
+}
+
+.navlinks {
+  display: flex;
+  gap: 28px;
+  align-items: center;
+}
+
+.navlinks a {
+  position: relative;
+  font-family: "Orbitron", sans-serif;
+  font-size: 12px;
+  color: rgba(246, 255, 247, 0.78);
+  transition: color .25s ease, text-shadow .25s ease;
+}
+
+.navlinks a::after {
+  content: "";
+  position: absolute;
+  left: 0;
+  bottom: -8px;
+  width: 100%;
+  height: 1px;
+  transform: scaleX(0);
+  transform-origin: left;
+  background: var(--acid);
+  box-shadow: 0 0 14px var(--green);
+  transition: transform .25s ease;
+}
+
+.navlinks a:hover {
+  color: #fff;
+  text-shadow: 0 0 14px var(--green);
+}
+
+.navlinks a:hover::after {
+  transform: scaleX(1);
+}
+
+.nav-toggle {
+  display: none;
+  width: 44px;
+  aspect-ratio: 1;
+  border: 1px solid var(--line);
+  background: rgba(255,255,255,.03);
+}
+
+.nav-toggle span {
+  display: block;
+  width: 20px;
+  height: 1px;
+  margin: 7px auto;
+  background: var(--acid);
+}
+
+.section {
+  position: relative;
+  min-height: 100vh;
+  padding: 120px max(24px, 6vw);
+  overflow: hidden;
+}
+
+.section__head {
+  position: relative;
+  z-index: 5;
+  max-width: 850px;
+  margin-bottom: 52px;
+}
+
+.section__head h2,
+.trailer h2,
+.ending h2 {
+  margin: 10px 0 0;
+  font-family: "Bebas Neue", sans-serif;
+  font-size: 112px;
+  line-height: .86;
+  letter-spacing: 0;
+}
+
+.hero {
+  display: grid;
+  place-items: center;
+  text-align: center;
+}
+
+.hero::after,
+.trailer::after,
+.ending::after {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background:
+    radial-gradient(circle at 50% 52%, transparent 0 22%, rgba(2,4,3,.72) 72%),
+    linear-gradient(180deg, rgba(2,4,3,.2), var(--black));
+  z-index: 1;
+}
+
+.hero__video,
+.trailer__video {
+  position: absolute;
+  inset: 0;
+  width: 100%;
+  height: 100%;
+  object-fit: cover;
+  filter: saturate(.72) contrast(1.15) brightness(.58);
+  transform: scale(1.04);
+}
+
+.hero__smoke {
+  position: absolute;
+  inset: -15%;
+  z-index: 2;
+  opacity: .42;
+  filter: blur(22px);
+  background:
+    radial-gradient(circle at 18% 70%, rgba(180, 255, 87, .22), transparent 25%),
+    radial-gradient(circle at 82% 28%, rgba(21, 255, 128, .15), transparent 22%);
+  animation: smoke 9s ease-in-out infinite alternate;
+}
+
+.hero__content {
+  position: relative;
+  z-index: 5;
+  max-width: 1080px;
+}
+
+.hero__title {
+  margin: 10px 0 0;
+  font-family: "Bebas Neue", sans-serif;
+  font-size: 210px;
+  line-height: .8;
+  letter-spacing: 0;
+  text-shadow: 0 0 38px rgba(21,255,128,.24), 0 20px 60px rgba(0,0,0,.7);
+}
+
+.hero__quote {
+  margin: 20px auto 34px;
+  max-width: 780px;
+  color: rgba(246, 255, 247, .86);
+  font-size: 34px;
+  font-weight: 300;
+}
+
+.hero__actions {
+  display: flex;
+  justify-content: center;
+  gap: 16px;
+  flex-wrap: wrap;
+}
+
+.button,
+.modal-close {
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  min-height: 54px;
+  padding: 0 24px;
+  border: 1px solid rgba(215, 255, 54, .38);
+  border-radius: 4px;
+  background: transparent;
+  color: #fff;
+  cursor: pointer;
+  font-family: "Orbitron", sans-serif;
+  font-size: 12px;
+  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
+}
+
+.button--primary {
+  background: linear-gradient(90deg, rgba(21,255,128,.96), rgba(215,255,54,.88));
+  color: #03110b;
+  box-shadow: 0 0 32px rgba(21, 255, 128, .35);
+}
+
+.button:hover,
+.modal-close:hover {
+  transform: translateY(-3px);
+  box-shadow: 0 0 28px rgba(215, 255, 54, .27);
+}
+
+.scroll-indicator {
+  position: absolute;
+  right: max(24px, 6vw);
+  bottom: 38px;
+  z-index: 5;
+  display: grid;
+  justify-items: center;
+  gap: 10px;
+  font-family: "Orbitron", sans-serif;
+  font-size: 10px;
+  color: rgba(255,255,255,.72);
+}
+
+.scroll-indicator span {
+  width: 1px;
+  height: 54px;
+  background: linear-gradient(var(--acid), transparent);
+  animation: scrollmark 1.6s infinite;
+}
+
+.lab {
+  background:
+    linear-gradient(115deg, rgba(2,4,3,.92), rgba(5,36,27,.85)),
+    radial-gradient(circle at 78% 35%, rgba(21,255,128,.2), transparent 28%);
+}
+
+.story-preview {
+  display: grid;
+  align-content: center;
+  gap: 32px;
+  background:
+    radial-gradient(circle at 78% 22%, rgba(215,255,54,.12), transparent 24%),
+    radial-gradient(circle at 12% 70%, rgba(21,255,128,.1), transparent 28%),
+    linear-gradient(135deg, rgba(2,4,3,.96), rgba(5,36,27,.86));
+}
+
+.story-preview__grid {
+  position: relative;
+  z-index: 5;
+  display: grid;
+  grid-template-columns: minmax(0, 1.1fr) 430px;
+  gap: 42px;
+  align-items: stretch;
+}
+
+.story-preview__copy {
+  position: relative;
+  min-height: 540px;
+  padding: 36px;
+  border: 1px solid rgba(215,255,54,.18);
+  border-radius: 8px;
+  background:
+    linear-gradient(90deg, rgba(2,4,3,.76), rgba(2,4,3,.36)),
+    rgba(255,255,255,.026);
+  backdrop-filter: blur(16px);
+  box-shadow: 0 32px 90px rgba(0,0,0,.28);
+}
+
+.story-preview__copy p {
+  max-width: 920px;
+  margin: 0 0 18px;
+  color: rgba(232, 244, 231, .86);
+  font-size: 20px;
+  line-height: 1.55;
+}
+
+.story-preview__copy .formula {
+  position: relative;
+  top: auto;
+  left: auto;
+  display: block;
+  margin-bottom: 18px;
+}
+
+.story-preview__poster {
+  position: relative;
+  min-height: 540px;
+  overflow: hidden;
+  border: 1px solid rgba(215,255,54,.2);
+  border-radius: 8px;
+  background: rgba(255,255,255,.03);
+  box-shadow: 0 0 70px rgba(21,255,128,.13);
+}
+
+.story-preview__poster img {
+  width: 100%;
+  height: 100%;
+  min-height: 540px;
+  object-fit: cover;
+  filter: brightness(.62) saturate(.82) contrast(1.12);
+  transform: scale(1.04);
+}
+
+.story-preview__poster::after {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background: linear-gradient(180deg, transparent 20%, rgba(2,4,3,.88));
+}
+
+.story-preview__stats {
+  position: absolute;
+  left: 22px;
+  right: 22px;
+  bottom: 22px;
+  z-index: 2;
+  display: grid;
+  grid-template-columns: repeat(3, 1fr);
+  gap: 12px;
+}
+
+.story-preview__stats span,
+.story-preview__stats strong {
+  display: block;
+}
+
+.story-preview__stats span {
+  color: var(--acid);
+  font-family: "Orbitron", sans-serif;
+  font-size: 10px;
+}
+
+.story-preview__stats strong {
+  margin-top: 6px;
+  color: #fff;
+  font-family: "Bebas Neue", sans-serif;
+  font-size: 34px;
+  line-height: .9;
+}
+
+.story-preview__button {
+  position: relative;
+  z-index: 5;
+  width: min(520px, 100%);
+  justify-self: center;
+  margin-top: 8px;
+}
+
+.lab__stage {
+  position: relative;
+  min-height: 560px;
+  display: grid;
+  grid-template-columns: minmax(0, 1fr) 420px;
+  grid-template-areas:
+    "copy reactor"
+    "cards reactor";
+  gap: 28px 52px;
+  align-items: center;
+}
+
+.lab__copy {
+  position: relative;
+  z-index: 5;
+  grid-area: copy;
+  max-width: 760px;
+}
+
+.lab__copy p {
+  max-width: 660px;
+  color: var(--muted);
+  font-size: 24px;
+  line-height: 1.55;
+}
+
+.lab__reactor {
+  position: relative;
+  z-index: 4;
+  grid-area: reactor;
+  min-height: 520px;
+  display: grid;
+  place-items: center;
+  border: 1px solid rgba(215,255,54,.14);
+  border-radius: 8px;
+  background:
+    radial-gradient(circle at center, rgba(21,255,128,.18), transparent 58%),
+    rgba(255,255,255,.025);
+  box-shadow: inset 0 0 80px rgba(21,255,128,.07);
+}
+
+.formula {
+  position: absolute;
+  z-index: 1;
+  font-family: "Orbitron", sans-serif;
+  font-size: 60px;
+  color: rgba(215, 255, 54, .2);
+  text-shadow: 0 0 24px rgba(21,255,128,.22);
+  animation: float 6s ease-in-out infinite;
+}
+
+.formula--one { top: -36px; left: 0; }
+.formula--two { right: 0; bottom: -20px; animation-delay: -2s; }
+.formula--three { top: 44px; right: 26px; animation-delay: -4s; }
+
+.story-preview__copy .formula {
+  top: auto;
+  left: auto;
+  right: auto;
+  bottom: auto;
+}
+
+.beaker {
+  position: relative;
+  width: 280px;
+  aspect-ratio: .72;
+  border: 1px solid rgba(215,255,54,.36);
+  border-top: 0;
+  border-radius: 0 0 34px 34px;
+  background: rgba(255,255,255,.035);
+  box-shadow: inset 0 0 45px rgba(21,255,128,.12), 0 0 80px rgba(21,255,128,.1);
+  overflow: hidden;
+}
+
+.liquid {
+  position: absolute;
+  inset: auto 0 0;
+  height: 52%;
+  background: linear-gradient(180deg, rgba(215,255,54,.75), rgba(21,255,128,.4));
+  filter: drop-shadow(0 0 26px rgba(215,255,54,.55));
+}
+
+.liquid::before {
+  content: "";
+  position: absolute;
+  inset: -18px -20% auto;
+  height: 38px;
+  background: rgba(255,255,255,.16);
+  border-radius: 50%;
+  animation: wave 2.8s ease-in-out infinite;
+}
+
+.bubble {
+  position: absolute;
+  z-index: 2;
+  bottom: 18%;
+  width: 18px;
+  aspect-ratio: 1;
+  border: 1px solid rgba(255,255,255,.7);
+  border-radius: 50%;
+  animation: bubble 3s linear infinite;
+}
+
+.bubble--one { left: 25%; }
+.bubble--two { left: 55%; animation-delay: -1.2s; transform: scale(.75); }
+.bubble--three { left: 72%; animation-delay: -2.1s; transform: scale(1.2); }
+
+.lab__cards {
+  position: relative;
+  z-index: 5;
+  grid-area: cards;
+  display: grid;
+  grid-template-columns: repeat(3, minmax(0, 1fr));
+  gap: 18px;
+  max-width: 920px;
+}
+
+.glass-card {
+  min-height: 220px;
+  padding: 26px;
+  border: 1px solid var(--line);
+  border-radius: 8px;
+  background: var(--glass);
+  backdrop-filter: blur(18px);
+  box-shadow: 0 24px 80px rgba(0,0,0,.28);
+}
+
+.glass-card span,
+.dea__panel span {
+  font-family: "Orbitron", sans-serif;
+  color: var(--acid);
+  font-size: 11px;
+}
+
+.glass-card strong {
+  display: block;
+  margin: 16px 0;
+  font-family: "Bebas Neue", sans-serif;
+  font-size: 46px;
+}
+
+.glass-card p,
+.character-card p,
+.timeline__item p,
+.dea__panel p,
+.footer p {
+  color: var(--muted);
+  font-size: 18px;
+  line-height: 1.55;
+}
+
+.characters {
+  background: linear-gradient(180deg, #020403, #06150f 55%, #020403);
+}
+
+.character-swiper {
+  position: relative;
+  z-index: 5;
+  overflow: visible;
+}
+
+.character-card {
+  position: relative;
+  min-height: 620px;
+  padding: 32px;
+  display: flex;
+  flex-direction: column;
+  justify-content: flex-end;
+  border: 1px solid rgba(215,255,54,.16);
+  border-radius: 8px;
+  overflow: hidden;
+  background: #09100d;
+  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
+}
+
+.character-card::before {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background-image: var(--portrait);
+  background-size: cover;
+  background-position: center;
+  filter: grayscale(.1) saturate(.78) contrast(1.08);
+  transform: scale(1.02);
+  transition: transform .6s ease, filter .35s ease;
+}
+
+.character-card::after {
+  content: attr(data-quote);
+  position: absolute;
+  left: 24px;
+  right: 24px;
+  top: 28px;
+  padding: 14px 16px;
+  border: 1px solid rgba(215,255,54,.22);
+  background: rgba(2,4,3,.56);
+  color: var(--acid);
+  font-family: "Orbitron", sans-serif;
+  opacity: 0;
+  transform: translateY(-14px);
+  transition: opacity .32s ease, transform .32s ease;
+}
+
+.character-card__shade {
+  position: absolute;
+  inset: 0;
+  background: linear-gradient(180deg, transparent 25%, rgba(2,4,3,.82) 72%, #020403 100%);
+}
+
+.character-card h3,
+.character-card p {
+  position: relative;
+  z-index: 2;
+}
+
+.character-card h3 {
+  margin: 0;
+  font-family: "Bebas Neue", sans-serif;
+  font-size: 66px;
+}
+
+.bio-link {
+  position: relative;
+  z-index: 3;
+  width: fit-content;
+  margin-top: 18px;
+  padding: 12px 14px;
+  border: 1px solid rgba(215,255,54,.35);
+  border-radius: 4px;
+  background: rgba(2,4,3,.42);
+  color: var(--acid);
+  cursor: pointer;
+  font-family: "Orbitron", sans-serif;
+  font-size: 11px;
+  transition: background .25s ease, box-shadow .25s ease;
+}
+
+.bio-link:hover {
+  background: rgba(215,255,54,.13);
+  box-shadow: 0 0 18px rgba(21,255,128,.25);
+}
+
+.supporting {
+  background:
+    radial-gradient(circle at 15% 25%, rgba(215,255,54,.11), transparent 24%),
+    linear-gradient(180deg, #020403, #06150f);
+}
+
+.supporting__grid {
+  position: relative;
+  z-index: 5;
+  display: grid;
+  grid-template-columns: repeat(4, minmax(0, 1fr));
+  gap: 18px;
+}
+
+.support-card {
+  position: relative;
+  min-height: 360px;
+  display: flex;
+  flex-direction: column;
+  justify-content: flex-end;
+  padding: 22px;
+  overflow: hidden;
+  border: 1px solid rgba(215,255,54,.18);
+  border-radius: 8px;
+  background: #07110d;
+}
+
+.support-card::before {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background-image: var(--support);
+  background-size: cover;
+  background-position: center;
+  filter: saturate(.75) contrast(1.08);
+  transition: transform .45s ease;
+}
+
+.support-card--jane::before {
+  background-position: center 22%;
+}
+
+.support-card--skyler::before {
+  background-position: center 18%;
+}
+
+.support-card--empty::before {
+  background:
+    linear-gradient(135deg, rgba(21,255,128,.18), rgba(215,255,54,.06)),
+    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 18px);
+}
+
+.support-card::after {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background: linear-gradient(180deg, transparent 20%, rgba(2,4,3,.9) 78%);
+}
+
+.support-card h3,
+.support-card p {
+  position: relative;
+  z-index: 2;
+}
+
+.support-card h3 {
+  margin: 0;
+  font-family: "Bebas Neue", sans-serif;
+  font-size: 42px;
+}
+
+.support-card p {
+  margin-bottom: 0;
+  color: var(--muted);
+  line-height: 1.45;
+}
+
+.support-card:hover::before {
+  transform: scale(1.08);
+}
+
+.character-card:hover {
+  transform: translateY(-14px) scale(1.015);
+  border-color: rgba(215,255,54,.55);
+  box-shadow: 0 0 44px rgba(21,255,128,.22);
+}
+
+.character-card:hover::before {
+  transform: scale(1.11);
+  filter: saturate(1) contrast(1.18);
+}
+
+.character-card:hover::after {
+  opacity: 1;
+  transform: translateY(0);
+}
+
+.swiper-pagination-bullet {
+  background: var(--acid);
+}
+
+.timeline {
+  background:
+    radial-gradient(circle at 20% 20%, rgba(215,255,54,.12), transparent 24%),
+    linear-gradient(180deg, #020403, #07110d);
+}
+
+.timeline__rail {
+  position: relative;
+  z-index: 5;
+  max-width: 960px;
+  margin: 0 auto;
+}
+
+.timeline__rail::before {
+  content: "";
+  position: absolute;
+  left: 34px;
+  top: 0;
+  bottom: 0;
+  width: 1px;
+  background: linear-gradient(transparent, var(--acid), transparent);
+  box-shadow: 0 0 22px rgba(215,255,54,.45);
+}
+
+.timeline__item {
+  position: relative;
+  margin: 0 0 28px 82px;
+  padding: 26px 30px;
+  border: 1px solid rgba(215,255,54,.18);
+  border-radius: 8px;
+  background: rgba(255,255,255,.035);
+  backdrop-filter: blur(12px);
+}
+
+.timeline__item span {
+  position: absolute;
+  left: -74px;
+  top: 24px;
+  display: grid;
+  place-items: center;
+  width: 52px;
+  aspect-ratio: 1;
+  border: 1px solid var(--acid);
+  background: #06150f;
+  color: var(--acid);
+  font-family: "Orbitron", sans-serif;
+  box-shadow: 0 0 24px rgba(21,255,128,.24);
+}
+
+.timeline__item h3 {
+  margin: 0;
+  font-family: "Bebas Neue", sans-serif;
+  font-size: 44px;
+}
+
+.trailer {
+  display: grid;
+  place-items: center;
+  text-align: center;
+  background: #020403;
+}
+
+.trailer__video {
+  opacity: .56;
+}
+
+.trailer__content {
+  position: relative;
+  z-index: 5;
+  max-width: 900px;
+}
+
+.play-button {
+  width: 106px;
+  aspect-ratio: 1;
+  border: 1px solid rgba(215,255,54,.55);
+  border-radius: 50%;
+  background: rgba(21,255,128,.08);
+  cursor: pointer;
+  box-shadow: 0 0 50px rgba(21,255,128,.22);
+  transition: transform .25s ease, background .25s ease;
+}
+
+.play-button span {
+  display: block;
+  width: 0;
+  height: 0;
+  margin-left: 40px;
+  border-top: 18px solid transparent;
+  border-bottom: 18px solid transparent;
+  border-left: 28px solid var(--acid);
+}
+
+.play-button:hover {
+  transform: scale(1.08);
+  background: rgba(215,255,54,.13);
+}
+
+.dea {
+  background: linear-gradient(140deg, #020403, #071c14);
+}
+
+.dea__grid {
+  position: relative;
+  z-index: 5;
+  display: grid;
+  grid-template-columns: minmax(280px, .86fr) 1fr;
+  gap: 34px;
+  align-items: stretch;
+}
+
+.dea__grid img {
+  width: 100%;
+  min-height: 520px;
+  object-fit: cover;
+  border-radius: 8px;
+  filter: saturate(.8) contrast(1.1);
+}
+
+.dea__panel {
+  padding: 56px;
+  border: 1px solid rgba(215,255,54,.2);
+  border-radius: 8px;
+  background: rgba(2,4,3,.58);
+  backdrop-filter: blur(14px);
+}
+
+.dea__panel h3 {
+  margin: 12px 0 18px;
+  font-family: "Bebas Neue", sans-serif;
+  font-size: 88px;
+  line-height: .9;
+}
+
+.dea__stats {
+  display: grid;
+  grid-template-columns: repeat(3, 1fr);
+  gap: 18px;
+  margin-top: 38px;
+}
+
+.dea__stats strong {
+  display: block;
+  color: var(--acid);
+  font-family: "Bebas Neue", sans-serif;
+  font-size: 56px;
+}
+
+.dea__stats small {
+  color: var(--muted);
+}
+
+.ending {
+  display: grid;
+  align-items: end;
+  background: #020403;
+}
+
+.ending__image {
+  position: absolute;
+  inset: 0;
+  width: 100%;
+  height: 100%;
+  object-fit: cover;
+  object-position: center;
+  filter: brightness(.62) saturate(.78) contrast(1.08);
+  transform: scale(1.02);
+}
+
+.ending__caption {
+  position: relative;
+  z-index: 5;
+  max-width: 820px;
+}
+
+.ending__caption p:not(.eyebrow) {
+  color: rgba(246,255,247,.86);
+  font-size: 24px;
+  line-height: 1.55;
+}
+
+.ending__caption .button {
+  margin-top: 22px;
+}
+
+.ending__play {
+  position: absolute;
+  z-index: 6;
+  right: 24%;
+  top: 48%;
+  transform: translate(50%, -50%);
+}
+
+.ending__play:hover {
+  transform: translate(50%, -50%) scale(1.08);
+}
+
+.legacy {
+  position: relative;
+  display: grid;
+  grid-template-columns: minmax(280px, .9fr) 1fr;
+  gap: 48px;
+  align-items: center;
+  padding-bottom: 150px;
+  background: linear-gradient(135deg, #020403, #06150f 62%, #020403);
+}
+
+.legacy__emmy-bg {
+  position: absolute;
+  right: 6%;
+  top: 50%;
+  z-index: 1;
+  width: min(560px, 34vw);
+  opacity: .09;
+  filter: saturate(.85) drop-shadow(0 0 42px rgba(215,255,54,.32));
+  transform: translateY(-50%) rotate(-8deg);
+  pointer-events: none;
+}
+
+.legacy__image,
+.legacy__copy {
+  position: relative;
+  z-index: 5;
+}
+
+.legacy__image img {
+  width: 100%;
+  min-height: 560px;
+  object-fit: cover;
+  border-radius: 8px;
+  border: 1px solid rgba(215,255,54,.18);
+  filter: brightness(.74) saturate(.76);
+}
+
+.legacy__copy h2 {
+  margin: 12px 0 24px;
+  font-family: "Bebas Neue", sans-serif;
+  font-size: 104px;
+  line-height: .9;
+}
+
+.legacy__copy p:not(.eyebrow) {
+  color: var(--muted);
+  font-size: 20px;
+  line-height: 1.55;
+}
+
+.quote-marquee {
+  position: absolute;
+  left: 0;
+  right: 0;
+  bottom: 44px;
+  z-index: 6;
+  overflow: hidden;
+  border-top: 1px solid rgba(215,255,54,.18);
+  border-bottom: 1px solid rgba(215,255,54,.18);
+  background: rgba(2, 4, 3, .52);
+  box-shadow: 0 0 42px rgba(21,255,128,.08);
+}
+
+.quote-marquee__track {
+  display: flex;
+  width: max-content;
+  animation: marquee 24s linear infinite;
+}
+
+.quote-marquee span {
+  padding: 18px 24px;
+  color: var(--acid);
+  font-family: "Orbitron", sans-serif;
+  font-size: 18px;
+  white-space: nowrap;
+  text-shadow: 0 0 18px rgba(215,255,54,.35);
+}
+
+.footer {
+  position: relative;
+  z-index: 5;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  gap: 22px;
+  padding: 32px max(24px, 6vw);
+  background: #020403;
+  border-top: 1px solid rgba(215,255,54,.16);
+}
+
+.brand--footer span {
+  width: 34px;
+}
+
+.footer p {
+  max-width: 620px;
+  margin: 0;
+  font-size: 14px;
+}
+
+.socials {
+  display: flex;
+  gap: 10px;
+}
+
+.socials a {
+  display: grid;
+  place-items: center;
+  width: 42px;
+  aspect-ratio: 1;
+  border: 1px solid rgba(215,255,54,.28);
+  color: var(--acid);
+  font-family: "Orbitron", sans-serif;
+  font-size: 12px;
+  transition: background .25s ease, box-shadow .25s ease;
+}
+
+.socials a:hover {
+  background: rgba(215,255,54,.12);
+  box-shadow: 0 0 18px rgba(21,255,128,.22);
+}
+
+.trailer-modal,
+.ending-modal {
+  position: fixed;
+  inset: 0;
+  z-index: 200;
+  display: grid;
+  place-items: center;
+  padding: 24px;
+  background: rgba(0,0,0,.9);
+  opacity: 0;
+  visibility: hidden;
+  transition: opacity .3s ease, visibility .3s ease;
+}
+
+.bio-modal {
+  position: fixed;
+  inset: 0;
+  z-index: 210;
+  display: grid;
+  place-items: center;
+  padding: 22px;
+  background: rgba(0,0,0,.84);
+  opacity: 0;
+  visibility: hidden;
+  transition: opacity .3s ease, visibility .3s ease;
+}
+
+.bio-modal.is-open {
+  opacity: 1;
+  visibility: visible;
+}
+
+.bio-modal__panel {
+  position: relative;
+  width: min(840px, 94vw);
+  padding: 48px;
+  border: 1px solid rgba(215,255,54,.28);
+  border-radius: 8px;
+  background:
+    radial-gradient(circle at 100% 0%, rgba(21,255,128,.16), transparent 40%),
+    rgba(3, 12, 9, .96);
+  box-shadow: 0 0 70px rgba(21,255,128,.18);
+}
+
+.bio-modal__panel h2 {
+  margin: 12px 0 18px;
+  font-family: "Bebas Neue", sans-serif;
+  font-size: 78px;
+  line-height: .9;
+}
+
+.bio-modal__text {
+  color: var(--muted);
+  font-size: 22px;
+  line-height: 1.65;
+}
+
+.history-page {
+  background:
+    radial-gradient(circle at 15% 10%, rgba(215,255,54,.11), transparent 24%),
+    linear-gradient(180deg, #020403, #06150f 42%, #020403);
+}
+
+.history {
+  position: relative;
+  z-index: 4;
+}
+
+.history-hero {
+  position: relative;
+  min-height: 100vh;
+  display: grid;
+  align-items: end;
+  padding: 130px max(24px, 6vw) 80px;
+  overflow: hidden;
+}
+
+.history-hero img {
+  position: absolute;
+  inset: 0;
+  width: 100%;
+  height: 100%;
+  object-fit: cover;
+  filter: brightness(.5) saturate(.76) contrast(1.08);
+}
+
+.history-hero::after {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background:
+    radial-gradient(circle at 65% 36%, transparent 0 18%, rgba(2,4,3,.62) 62%),
+    linear-gradient(180deg, rgba(2,4,3,.08), #020403 96%);
+}
+
+.history-hero__content {
+  position: relative;
+  z-index: 2;
+  max-width: 1060px;
+}
+
+.history-hero h1 {
+  margin: 12px 0 18px;
+  font-family: "Bebas Neue", sans-serif;
+  font-size: 132px;
+  line-height: .86;
+}
+
+.history-hero p:not(.eyebrow) {
+  max-width: 760px;
+  color: rgba(246,255,247,.86);
+  font-size: 26px;
+  line-height: 1.45;
+}
+
+.history-content {
+  width: min(1080px, calc(100% - 44px));
+  margin: 0 auto;
+  padding: 80px 0 120px;
+}
+
+.history-content article {
+  position: relative;
+  margin: 0 0 24px;
+  padding: 34px 38px;
+  border: 1px solid rgba(215,255,54,.16);
+  border-radius: 8px;
+  background:
+    linear-gradient(90deg, rgba(2,4,3,.74), rgba(5,36,27,.32)),
+    rgba(255,255,255,.026);
+  backdrop-filter: blur(14px);
+}
+
+.history-content article::before {
+  content: "";
+  position: absolute;
+  left: 0;
+  top: 28px;
+  bottom: 28px;
+  width: 2px;
+  background: var(--acid);
+  box-shadow: 0 0 18px rgba(215,255,54,.55);
+}
+
+.history-content h2 {
+  margin: 0 0 18px;
+  color: #f4fff6;
+  font-family: "Bebas Neue", sans-serif;
+  font-size: 58px;
+  line-height: .95;
+}
+
+.history-content p {
+  margin: 0 0 16px;
+  color: var(--muted);
+  font-size: 21px;
+  line-height: 1.65;
+}
+
+.history-content p:last-child {
+  margin-bottom: 0;
+}
+
+.history-back {
+  margin: 28px auto 0;
+}
+
+.trailer-modal.is-open,
+.ending-modal.is-open {
+  opacity: 1;
+  visibility: visible;
+}
+
+.trailer-modal video,
+.ending-modal video {
+  width: min(1100px, 94vw);
+  max-height: 78vh;
+  border: 1px solid rgba(215,255,54,.32);
+  box-shadow: 0 0 60px rgba(21,255,128,.22);
+}
+
+.modal-close {
+  position: absolute;
+  top: 22px;
+  right: 22px;
+}
+
+@keyframes loadline {
+  from { transform: translateX(-120%); }
+  to { transform: translateX(260%); }
+}
+
+@keyframes grain {
+  0% { transform: translate(0, 0); }
+  100% { transform: translate(2px, -3px); }
+}
+
+@keyframes smoke {
+  from { transform: translate3d(-2%, 1%, 0) scale(1); }
+  to { transform: translate3d(2%, -1%, 0) scale(1.08); }
+}
+
+@keyframes scrollmark {
+  0%, 100% { transform: scaleY(.45); opacity: .4; }
+  50% { transform: scaleY(1); opacity: 1; }
+}
+
+@keyframes float {
+  0%, 100% { transform: translateY(0); }
+  50% { transform: translateY(-24px); }
+}
+
+@keyframes bubble {
+  from { transform: translateY(0) scale(.7); opacity: 0; }
+  20% { opacity: .9; }
+  to { transform: translateY(-210px) scale(1.25); opacity: 0; }
+}
+
+@keyframes wave {
+  0%, 100% { transform: translateX(-8%); }
+  50% { transform: translateX(8%); }
+}
+
+@keyframes marquee {
+  from { transform: translateX(0); }
+  to { transform: translateX(-33.333%); }
+}
+
+@media (max-width: 900px) {
+  .loader__formula {
+    font-size: 62px;
+  }
+
+  .nav-toggle {
+    display: block;
+  }
+
+  .navlinks {
+    position: fixed;
+    inset: 72px 16px auto;
+    display: grid;
+    gap: 0;
+    padding: 12px;
+    border: 1px solid var(--line);
+    border-radius: 8px;
+    background: rgba(2, 9, 7, .92);
+    backdrop-filter: blur(18px);
+    transform: translateY(-18px);
+    opacity: 0;
+    pointer-events: none;
+    transition: transform .25s ease, opacity .25s ease;
+  }
+
+  .navlinks.is-open {
+    transform: translateY(0);
+    opacity: 1;
+    pointer-events: auto;
+  }
+
+  .navlinks a {
+    padding: 16px;
+  }
+
+  .lab__cards,
+  .dea__grid,
+  .dea__stats,
+  .legacy,
+  .supporting__grid,
+  .story-preview__grid {
+    grid-template-columns: 1fr;
+  }
+
+  .section__head h2,
+  .trailer h2,
+  .ending h2,
+  .legacy__copy h2 {
+    font-size: 72px;
+  }
+
+  .legacy {
+    padding-bottom: 132px;
+  }
+
+  .legacy__emmy-bg {
+    right: 50%;
+    top: 58%;
+    width: 420px;
+    transform: translate(50%, -50%) rotate(-8deg);
+  }
+
+  .hero__title {
+    font-size: 118px;
+  }
+
+  .hero__quote {
+    font-size: 26px;
+  }
+
+  .lab__stage {
+    grid-template-columns: 1fr;
+    grid-template-areas:
+      "copy"
+      "reactor"
+      "cards";
+  }
+
+  .lab__reactor {
+    min-height: 420px;
+  }
+
+  .story-preview__copy,
+  .story-preview__poster,
+  .story-preview__poster img {
+    min-height: auto;
+  }
+
+  .story-preview__poster img {
+    height: 520px;
+  }
+
+  .history-hero h1 {
+    font-size: 82px;
+  }
+
+  .character-card {
+    min-height: 560px;
+  }
+
+  .character-card h3 {
+    font-size: 54px;
+  }
+
+  .dea__panel {
+    padding: 34px;
+  }
+
+  .dea__panel h3 {
+    font-size: 68px;
+  }
+
+  .footer {
+    align-items: flex-start;
+    flex-direction: column;
+  }
+
+  .ending__play {
+    right: 50%;
+    top: 43%;
+  }
+}
+
+@media (max-width: 560px) {
+  .section {
+    padding: 108px 18px;
+  }
+
+  .hero__actions {
+    display: grid;
+  }
+
+  .hero__title {
+    font-size: 74px;
+  }
+
+  .hero__quote,
+  .lab__copy p,
+  .ending__caption p:not(.eyebrow),
+  .legacy__copy p:not(.eyebrow),
+  .bio-modal__text {
+    font-size: 19px;
+  }
+
+  .section__head h2,
+  .trailer h2,
+  .ending h2,
+  .legacy__copy h2 {
+    font-size: 56px;
+  }
+
+  .quote-marquee span {
+    font-size: 14px;
+    padding: 14px 18px;
+  }
+
+  .formula {
+    font-size: 38px;
+  }
+
+  .beaker {
+    width: 220px;
+  }
+
+  .support-card {
+    min-height: 330px;
+  }
+
+  .bio-modal__panel {
+    padding: 30px 22px;
+  }
+
+  .bio-modal__panel h2 {
+    font-size: 54px;
+  }
+
+  .story-preview__copy {
+    padding: 24px;
+  }
+
+  .story-preview__copy p,
+  .history-content p {
+    font-size: 18px;
+  }
+
+  .story-preview__poster img {
+    height: 390px;
+  }
+
+  .story-preview__stats {
+    grid-template-columns: 1fr;
+  }
+
+  .history-hero h1 {
+    font-size: 58px;
+  }
+
+  .history-hero p:not(.eyebrow) {
+    font-size: 20px;
+  }
+
+  .history-content article {
+    padding: 26px 22px;
+  }
+
+  .history-content h2 {
+    font-size: 44px;
+  }
+
+  .button {
+    width: min(100%, 330px);
+  }
+
+  .scroll-indicator {
+    right: 18px;
+  }
+
+  .timeline__rail::before {
+    left: 24px;
+  }
+
+  .timeline__item {
+    margin-left: 64px;
+    padding: 22px;
+  }
+
+  .timeline__item span {
+    left: -62px;
+    width: 46px;
+  }
+}

BIN
site breaking bad/ВОлтер конец сериала.jpg


BIN
site breaking bad/Гектор Саламанка.webp


BIN
site breaking bad/Гус фринг фото.webp


BIN
site breaking bad/Джейн Марголис.webp


BIN
site breaking bad/Джесси и волт сидят на диване.jpg


BIN
site breaking bad/Джесси пинкман фото.webp


BIN
site breaking bad/Майк эрментрауцт.webp


BIN
site breaking bad/Мари Шрэдер.webp


BIN
site breaking bad/Получение наград джесси и волта.webp


BIN
site breaking bad/Скайлер Уайт.webp


BIN
site breaking bad/Туко Саламанка.webp


BIN
site breaking bad/Уолтер Уайт-младший.jpg


BIN
site breaking bad/Эладио Вуэнте.jpg


BIN
site breaking bad/Эмми.png


BIN
site breaking bad/волт фото.jpg


BIN
site breaking bad/солл гудман.jpg


BIN
site breaking bad/тодд.webp


BIN
site breaking bad/уолт обычный.jpg


BIN
site breaking bad/хэнк фото.webp