﻿/* Main site bundle */
@import url("/assets/css/base.css");

/* Dark luxury refresh for core pages (excluding ImagiCORE and channel pages). */
body.page-home,
body.page-about,
body.page-contact,
body.page-youtube {
  --bg-1: #050808;
  --bg-2: #071010;
  --ink: #f5f7f7;
  --muted: #a7b5b5;
  --surface: #0a1a1ae6;
  --surface-strong: #0a1a1a;
  --line: #123332;
  --accent: #015d57;
  --menu-surface: #05100fee;
  --accent-2: #049095;
  background:
    radial-gradient(circle at 12% 6%, #04909522 0%, transparent 32%),
    radial-gradient(circle at 84% 2%, #015d572e 0%, transparent 36%),
    linear-gradient(165deg, #071010 0%, #050808 55%, #071010 100%);
  background-attachment: fixed;
}

body.page-home .bg-layer,
body.page-about .bg-layer,
body.page-contact .bg-layer,
body.page-youtube .bg-layer {
  --blob-speed: 1;
  --noise-frame: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='2' seed='11' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  background:
    var(--noise-frame),
    radial-gradient(circle at 18% 14%, #0f2a2933 0%, transparent 38%),
    linear-gradient(to bottom, #030606f4, #020404fc);
  background-size: 220px 220px, 100% 100%, 100% 100%;
  background-position: 0 0, center, center;
  animation: grainSeedStep 2.4s steps(1, end) infinite;
}

body.page-home .bg-layer::before,
body.page-about .bg-layer::before,
body.page-contact .bg-layer::before,
body.page-youtube .bg-layer::before {
  content: none;
}

body.page-home .bg-layer.random-blob-enabled,
body.page-about .bg-layer.random-blob-enabled,
body.page-contact .bg-layer.random-blob-enabled,
body.page-youtube .bg-layer.random-blob-enabled {
  overflow: hidden;
}

body.page-home .bg-layer .blob-field,
body.page-about .bg-layer .blob-field,
body.page-contact .bg-layer .blob-field,
body.page-youtube .bg-layer .blob-field {
  position: absolute;
  inset: -10% -10%;
  pointer-events: none;
}


body.page-home .bg-layer .blob-field::before,
body.page-about .bg-layer .blob-field::before,
body.page-contact .bg-layer .blob-field::before,
body.page-youtube .bg-layer .blob-field::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.9' numOctaves='2' seed='41' stitchTiles='stitch'/></filter><rect width='128' height='128' filter='url(%23n)'/></svg>");
  background-size: 110px 110px;
  opacity: 0.10;
  mix-blend-mode: hard-light;
  animation: blobFieldDither 1.1s steps(2, end) infinite;
}
body.page-home .bg-layer .blob-node,
body.page-about .bg-layer .blob-node,
body.page-contact .bg-layer .blob-node,
body.page-youtube .bg-layer .blob-node {
  position: absolute;
  width: var(--blob-size, 280px);
  height: var(--blob-size, 280px);
  border-radius: 999px;
  overflow: hidden;
  opacity: var(--blob-opacity, 0.52);
  filter: blur(96px) saturate(140%);
  mix-blend-mode: normal;
  transform: translate3d(0, 0, 0);
  will-change: transform;
  background: radial-gradient(circle at 34% 32%, #0f7f7abf 0%, #0a5d59b5 44%, #0a5d5900 74%);
}

body.page-home .bg-layer .blob-node::after,
body.page-about .bg-layer .blob-node::after,
body.page-contact .bg-layer .blob-node::after,
body.page-youtube .bg-layer .blob-node::after {
  content: "";
  position: absolute;
  inset: -8%;
  border-radius: inherit;
  pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.55' numOctaves='2' seed='19' stitchTiles='stitch'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");
  background-size: 120px 120px;
  opacity: 0.10;
  mix-blend-mode: overlay;
  animation: blobNoiseDrift 1.4s steps(2, end) infinite;
}
body.page-home .bg-layer::after,
body.page-about .bg-layer::after,
body.page-contact .bg-layer::after,
body.page-youtube .bg-layer::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 14% 18%, #ffffff26 0 0.9px, transparent 1.5px),
    radial-gradient(circle at 72% 64%, #ffffff20 0 0.9px, transparent 1.5px),
    radial-gradient(circle at 48% 42%, #00000040 0 1.1px, transparent 1.7px),
    repeating-linear-gradient(0deg, #ffffff12 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, #ffffff10 0 1px, transparent 1px 4px),
    radial-gradient(circle at 28% 32%, #ffffff0f 0 1px, transparent 1px 100%),
    radial-gradient(circle at 66% 74%, #00000033 0 1px, transparent 1px 100%);
  background-size: 120px 120px, 150px 150px, 180px 180px, 190px 190px, 240px 240px, 100% 100%, 100% 100%;
  background-position: center;
  opacity: 0.34;
  mix-blend-mode: overlay;
  pointer-events: none;
}

@keyframes lavaBlobFlow {
  0% {
    transform: translate3d(-6%, 1%, 0) scale(0.98) rotate(-4deg);
    background-position: 18% 68%, 43% 28%, 69% 70%, 84% 34%;
  }
  50% {
    transform: translate3d(4%, -4%, 0) scale(1.08) rotate(3deg);
    background-position: 30% 48%, 58% 24%, 54% 78%, 76% 44%;
  }
  100% {
    transform: translate3d(-2%, 4%, 0) scale(1.04) rotate(-2deg);
    background-position: 14% 60%, 36% 36%, 72% 62%, 88% 32%;
  }
}

@keyframes lavaBlobPulse {
  0%,
  100% {
    filter: blur(48px) saturate(128%);
    opacity: 0.42;
  }
  50% {
    filter: blur(58px) saturate(138%);
    opacity: 0.54;
  }
}

body.page-home .topbar,
body.page-about .topbar,
body.page-contact .topbar,
body.page-youtube .topbar {
  background: var(--menu-surface);
  border-bottom: 1px solid #134241;
}

body.page-home .brand,
body.page-about .brand,
body.page-contact .brand,
body.page-youtube .brand {
  letter-spacing: 0.09em;
}

body.page-home .topbar nav a,
body.page-about .topbar nav a,
body.page-contact .topbar nav a,
body.page-youtube .topbar nav a {
  color: #b8c7c7;
}

body.page-home .topbar nav a:hover,
body.page-home .topbar nav a.active,
body.page-about .topbar nav a:hover,
body.page-about .topbar nav a.active,
body.page-contact .topbar nav a:hover,
body.page-contact .topbar nav a.active,
body.page-youtube .topbar nav a:hover,
body.page-youtube .topbar nav a.active {
  color: var(--ink);
  border-color: #1e6662;
  background: #0b2322;
}

body.page-home .topbar .nav-submenu,
body.page-about .topbar .nav-submenu,
body.page-contact .topbar .nav-submenu,
body.page-youtube .topbar .nav-submenu {
  border-color: #1e6662;
  background: #071715f7;
}

body.page-home .eyebrow,
body.page-about .eyebrow,
body.page-contact .eyebrow,
body.page-youtube .eyebrow,
body.page-home .section-kicker,
body.page-about .section-kicker,
body.page-contact .section-kicker,
body.page-youtube .section-kicker {
  color: var(--accent-2);
}

body.page-home .section,
body.page-about .section,
body.page-contact .section,
body.page-youtube .section {
  position: relative;
}

body.page-home .section::before,
body.page-about .section::before,
body.page-contact .section::before,
body.page-youtube .section::before {
  content: "";
  position: absolute;
  left: 0;
  top: -0.3rem;
  width: min(280px, 48%);
  height: 1px;
  background: linear-gradient(90deg, #04909599 0%, #04909500 100%);
}

body.page-home .card,
body.page-about .card,
body.page-contact .card,
body.page-youtube .card {
  background: var(--menu-surface);
  border: 1px solid #1b4747;
  box-shadow: 0 12px 30px #0205055e;
  backdrop-filter: blur(10px) saturate(112%);
  -webkit-backdrop-filter: blur(10px) saturate(112%);
}

body.page-home .card:hover,
body.page-about .card:hover,
body.page-contact .card:hover,
body.page-youtube .card:hover {
  border-color: #2c726f;
  box-shadow: 0 16px 35px #02100f80;
}

body.page-home .btn,
body.page-about .btn,
body.page-contact .btn,
body.page-youtube .btn {
  border-color: #1f4f4d;
  background: #0a1b1b;
}

body.page-home .btn.primary,
body.page-about .btn.primary,
body.page-contact .btn.primary,
body.page-youtube .btn.primary,
body.page-home .btn-imagicore,
body.page-about .btn-imagicore,
body.page-contact .btn-imagicore,
body.page-youtube .btn-imagicore,
body.page-home .btn-youtube,
body.page-about .btn-youtube,
body.page-contact .btn-youtube,
body.page-youtube .btn-youtube {
  background: linear-gradient(160deg, #015d57 0%, #049095 100%);
  border-color: #17a2a3;
  color: #e9fafa;
}

body.page-home .btn-youtube-outline,
body.page-about .btn-youtube-outline,
body.page-contact .btn-youtube-outline,
body.page-youtube .btn-youtube-outline,
body.page-home .btn-imagicore-outline,
body.page-about .btn-imagicore-outline,
body.page-contact .btn-imagicore-outline,
body.page-youtube .btn-imagicore-outline {
  background: #0a1919;
  border-color: #226765;
  color: #d4e4e4;
}

body.page-home .btn:hover,
body.page-about .btn:hover,
body.page-contact .btn:hover,
body.page-youtube .btn:hover {
  border-color: #2f8a87;
  box-shadow: 0 0 0 1px #2f8a8740, 0 9px 24px #0222216b;
}

body.page-home .hero,
body.page-about .page-hero,
body.page-contact .page-hero,
body.page-youtube .page-hero {
  position: relative;
}

body.page-home .hero::before,
body.page-about .page-hero::before,
body.page-contact .page-hero::before,
body.page-youtube .page-hero::before {
  content: none;
}

body.page-home .hero::after {
  content: "";
  position: absolute;
  right: clamp(0.2rem, 1vw, 0.8rem);
  bottom: clamp(-0.8rem, -1vw, -0.2rem);
  width: clamp(120px, 14vw, 180px);
  aspect-ratio: 1;
  background: url("/assets/images/DS_sign.webp") center/contain no-repeat;
  opacity: 0.16;
  filter: saturate(0.8) brightness(1.14);
  pointer-events: none;
}

body.page-home .section-title-row h2,
body.page-about .section-title-row h2,
body.page-contact .section-title-row h2,
body.page-youtube .section-title-row h2 {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
}

body.page-home .section-title-row h2::after,
body.page-about .section-title-row h2::after,
body.page-contact .section-title-row h2::after,
body.page-youtube .section-title-row h2::after {
  content: none;
}

body.page-home a:not(.btn),
body.page-about a:not(.btn),
body.page-contact a:not(.btn),
body.page-youtube a:not(.btn) {
  text-decoration-color: #04909566;
  text-underline-offset: 0.22em;
}

body.page-home a:not(.btn):hover,
body.page-about a:not(.btn):hover,
body.page-contact a:not(.btn):hover,
body.page-youtube a:not(.btn):hover {
  text-decoration-color: #049095;
}

body.page-home footer,
body.page-about footer,
body.page-contact footer,
body.page-youtube footer {
  border-top: 1px solid #12403f;
}

@media (max-width: 900px) {
  body.page-home .hero::after {
    width: 104px;
    opacity: 0.12;
  }

  body.page-home .section::before,
  body.page-about .section::before,
  body.page-contact .section::before,
  body.page-youtube .section::before {
    width: min(170px, 55%);
  }
}

/* V2 polish: remove remaining blue/pink drift on shared pages. */
body.page-home .hero-art img,
body.page-about .card img,
body.page-contact .card img,
body.page-youtube .card img {
  border-color: #215957;
}

body.page-home .moon,
body.page-about .moon,
body.page-contact .moon,
body.page-youtube .moon {
  opacity: 0.5;
  filter: saturate(0.45) hue-rotate(-22deg);
}

body.page-home .shooting-star,
body.page-about .shooting-star,
body.page-contact .shooting-star,
body.page-youtube .shooting-star {
  opacity: 0.1;
  filter: saturate(0.55) hue-rotate(-26deg);
}

body.page-youtube .section-title-row {
  border-bottom-color: #1d4f4d;
}

body.page-youtube .channel-hub-section {
  background:
    radial-gradient(120% 90% at 12% 0%, #095e582b 0%, transparent 56%),
    radial-gradient(120% 90% at 88% 100%, #0a3d3b33 0%, transparent 58%),
    linear-gradient(180deg, #091616d8, #081313d6);
}

body.page-youtube .channel-card {
  border-color: #215957;
  background: var(--menu-surface);
  backdrop-filter: blur(10px) saturate(115%);
  -webkit-backdrop-filter: blur(10px) saturate(115%);
}

body.page-youtube .channel-card.ds {
  background: var(--menu-surface);
}

body.page-youtube .channel-card.af {
  background: var(--menu-surface);
}

body.page-contact main::before {
  background:
    radial-gradient(circle at 14% 22%, #0da19d1f 0 2px, transparent 3px),
    radial-gradient(circle at 84% 28%, #0b7a731a 0 2px, transparent 3px),
    radial-gradient(circle at 34% 76%, #1f5f5c19 0 1px, transparent 2px),
    radial-gradient(circle at 70% 82%, #14575314 0 1px, transparent 2px);
}

body.page-contact .contact-card {
  border-color: #215957;
  background: var(--menu-surface);
  box-shadow: 0 14px 30px #01090970;
  backdrop-filter: blur(11px) saturate(115%);
  -webkit-backdrop-filter: blur(11px) saturate(115%);
}

body.page-contact .contact-card-imagicore {
  border-color: #26706d;
  background: var(--menu-surface);
}

body.page-contact .contact-card-imagicore::after {
  background: linear-gradient(92deg, #061111eb 0%, #061111d8 48%, #06111173 100%);
}

body.page-contact .contact-card-imagicore .contact-card-portrait {
  filter: drop-shadow(0 0 18px #04909552);
}

body.page-contact .contact-card-imagicore .contact-card-mark {
  background: #7fd7d5;
}

body.page-contact .contact-card-lines a {
  color: #d7eceb;
  border-color: #2a7673;
  background: #0c2322bc;
}

body.page-contact .contact-card-general {
  border-color: #1f6360;
  background: var(--menu-surface);
}

body.page-contact .contact-card-general::after {
  background: linear-gradient(92deg, #061111ee 0%, #061111db 50%, #06111169 100%);
}

body.page-contact .contact-card-general .contact-card-portrait {
  filter: drop-shadow(0 0 18px #0e676349);
}

body.page-contact .contact-card-wedding {
  border-color: #2a6d68;
  background: var(--menu-surface);
}

body.page-contact .contact-card-wedding::before {
  background: radial-gradient(80% 100% at 50% 100%, #0e746c6e 0%, #0e746c00 72%);
}

body.page-contact .contact-card-wedding::after {
  background: radial-gradient(90% 100% at 50% 0%, #0a5e5868 0%, #0a5e5800 74%);
}

body.page-contact .contact-card-wedding h3 {
  color: #e7f1f1;
}

body.page-contact .contact-card-wedding p {
  color: #bad0d0;
}

body.page-contact .contact-card-wedding .contact-card-wedding-logo {
  color: #79b9b6;
}

body.page-contact .btn-sweet {
  background: linear-gradient(160deg, #015d57 0%, #049095 100%);
  border-color: #17a2a3;
  color: #e9fafa;
}

body.page-home .topbar.has-mobile-menu > nav .nav-social-link,
body.page-about .topbar.has-mobile-menu > nav .nav-social-link,
body.page-contact .topbar.has-mobile-menu > nav .nav-social-link,
body.page-youtube .topbar.has-mobile-menu > nav .nav-social-link {
  border-color: #215957;
  background: #081a1a;
}

body.page-home .topbar.has-mobile-menu > nav .nav-social-icon,
body.page-about .topbar.has-mobile-menu > nav .nav-social-icon,
body.page-contact .topbar.has-mobile-menu > nav .nav-social-icon,
body.page-youtube .topbar.has-mobile-menu > nav .nav-social-icon {
  background-color: #88cecc;
}

/* Fix: homepage 'Roviden Rolam' section used legacy blue .contact style. */
body.page-home .contact,
body.page-home .contact-box {
  background: var(--menu-surface);
  border-color: #1b4747;
  backdrop-filter: blur(10px) saturate(110%);
  -webkit-backdrop-filter: blur(10px) saturate(110%);
}

body.page-home .contact .page-links .btn.ghost {
  background: #0b1b1a;
  border-color: #245e5b;
}


/* Homepage-only border alignment (no global overrides). */
body.page-home .section {
  border-color: #1e4b49;
}

body.page-home .section-title-row {
  border-bottom-color: #1d4f4d;
}

body.page-home .cards .card {
  border-color: #1f5452;
}

body.page-home .cards .card img,
body.page-home .hero-art img {
  border: 0 !important;
  box-shadow: none;
  position: relative;
  z-index: 1;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}





@keyframes grainSeedStep {
  0% {
    --noise-frame: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='2' seed='11' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  }
  25% {
    --noise-frame: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='2' seed='37' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  }
  50% {
    --noise-frame: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='2' seed='73' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  }
  75% {
    --noise-frame: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='2' seed='119' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  }
  100% {
    --noise-frame: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='2' seed='151' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  }
}











/* Homepage glass treatment for the highlighted content blocks only. */
body.page-home main > section.section.reveal:not(.contact) {
  overflow: hidden;
  isolation: isolate;
  background: #06141380;
  border-color: #246b68;
  box-shadow: 0 14px 34px #01090959;
  backdrop-filter: blur(14px) saturate(122%);
  -webkit-backdrop-filter: blur(14px) saturate(122%);
}

body.page-home main > section.section.reveal:not(.contact)::before {
  content: none;
}

body.page-home main > section.section.reveal:not(.contact)::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(160deg, #ffffff1f 0%, #ffffff0a 24%, #ffffff00 54%),
    radial-gradient(150% 90% at 8% -6%, #d9ffff24 0%, #d9ffff00 52%),
    radial-gradient(120% 86% at 88% 108%, #a7f3ef1a 0%, #a7f3ef00 54%);
  mix-blend-mode: normal;
  opacity: 0.58;
}

body.page-home main > section.section.reveal:not(.contact) > * {
  position: relative;
  z-index: 1;
}

body.page-home main > section.section.reveal:not(.contact) .section-title-row {
  background: #07181778;
  border: 1px solid #1e5a58;
  border-radius: 10px;
  padding: 0.72rem 0.82rem;
  backdrop-filter: blur(10px) saturate(118%);
  -webkit-backdrop-filter: blur(10px) saturate(118%);
}

body.page-home main > section.section.reveal:not(.contact) .cards .card {
  background: #0513128c;
  border-color: #2a716e;
  box-shadow: inset 0 1px 0 #7ad5d51a, 0 10px 22px #00000042;
  backdrop-filter: blur(10px) saturate(118%);
  -webkit-backdrop-filter: blur(10px) saturate(118%);
}




/* Global frost panels for home/about/contact pages (overrides older home-only block). */
body.page-home main > section.section.reveal,
body.page-about main > section.section.reveal,
body.page-contact main > section.section.reveal {
  overflow: hidden;
  isolation: isolate;
  background: #06141380;
  border-color: #246b68;
  box-shadow: 0 14px 34px #01090959;
  backdrop-filter: blur(14px) saturate(122%);
  -webkit-backdrop-filter: blur(14px) saturate(122%);
}

body.page-home main > section.section.reveal::before,
body.page-about main > section.section.reveal::before,
body.page-contact main > section.section.reveal::before {
  content: none;
}

body.page-home main > section.section.reveal::after,
body.page-about main > section.section.reveal::after,
body.page-contact main > section.section.reveal::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(160deg, #ffffff1f 0%, #ffffff0a 24%, #ffffff00 54%),
    radial-gradient(150% 90% at 8% -6%, #d9ffff24 0%, #d9ffff00 52%),
    radial-gradient(120% 86% at 88% 108%, #a7f3ef1a 0%, #a7f3ef00 54%);
  mix-blend-mode: normal;
  opacity: 0.58;
}

body.page-home main > section.section.reveal > *,
body.page-about main > section.section.reveal > *,
body.page-contact main > section.section.reveal > * {
  position: relative;
  z-index: 1;
}

body.page-home main > section.section.reveal .section-title-row,
body.page-about main > section.section.reveal .section-title-row,
body.page-contact main > section.section.reveal .section-title-row {
  background: #07181778;
  border: 1px solid #1e5a58;
  border-radius: 10px;
  padding: 0.72rem 0.82rem;
  backdrop-filter: blur(10px) saturate(118%);
  -webkit-backdrop-filter: blur(10px) saturate(118%);
}

body.page-home main > section.section.reveal .cards .card,
body.page-about main > section.section.reveal .cards .card,
body.page-contact main > section.section.reveal .cards .card,
body.page-contact main > section.section.reveal .contact-card {
  background: #0513128c;
  border-color: #2a716e;
  box-shadow: inset 0 1px 0 #7ad5d51a, 0 10px 22px #00000042;
  backdrop-filter: blur(10px) saturate(118%);
  -webkit-backdrop-filter: blur(10px) saturate(118%);
}









@keyframes blobNoiseDrift {
  0% { background-position: 0 0; }
  33% { background-position: 7px -5px; }
  66% { background-position: -6px 6px; }
  100% { background-position: 0 0; }
}

@keyframes blobFieldDither {
  0% { background-position: 0 0; }
  50% { background-position: 6px -4px; }
  100% { background-position: 0 0; }
}















/* Homepage content hierarchy refresh */
body.page-home .home-identity .hero-lead {
  max-width: 56ch;
}

body.page-home .home-badges {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

body.page-home .home-badges li {
  border: 1px solid #2a6f6b;
  background: #07201f99;
  color: #d5e8e7;
  border-radius: 999px;
  padding: 0.36rem 0.72rem;
  font-size: 0.84rem;
  letter-spacing: 0.01em;
}
body.page-home .home-since {
  margin: 0.72rem 0 0;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: #9eb7b6;
  font-size: 0.74rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.82;
}

body.page-home .home-since::before {
  content: "";
  width: 26px;
  height: 1px;
  background: #5f7d7b;
  opacity: 0.85;
}

body.page-home .home-hero-cta {
  margin-top: 1.25rem;
}

body.page-home .platform-grid {
  align-items: stretch;
}

body.page-home .platform-card {
  display: grid;
  gap: 0.65rem;
}

body.page-home .platform-handle {
  color: #9ed8d6;
  font-size: 0.92rem;
  letter-spacing: 0.01em;
}

body.page-home .metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.page-home .metric-card {
  text-align: left;
}

body.page-home .metric-card small {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #8ab9b7;
  font-size: 0.68rem;
}

body.page-home .metric-card h3 {
  margin-top: 0.5rem;
  font-size: clamp(1.2rem, 2.2vw, 1.7rem);
}

body.page-home .showreel-card {
  display: grid;
  gap: 0.9rem;
}

body.page-home .showreel-card img {
  width: 100%;
  max-height: 320px;
  object-fit: cover;
}

body.page-home .home-route-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-home .home-route-card {
  display: grid;
  align-content: start;
  gap: 0.8rem;
  min-height: 100%;
}

body.page-home .home-route-card .btn {
  justify-self: start;
  margin-top: 0.2rem;
}

@media (max-width: 900px) {
  body.page-home .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-home .home-route-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  body.page-home .home-badges li {
    width: 100%;
  }

  body.page-home .metric-grid {
    grid-template-columns: 1fr;
  }
}

/* Homepage signature placement + clean portrait frame */
body.page-home .hero::after {
  content: none;
}

body.page-home .hero-art {
  position: relative;
  overflow: visible;
}

body.page-home .hero-art::after {
  content: "";
  position: absolute;
  left: 42%;
  top: -24%;
  width: 420%;
  aspect-ratio: 2.8 / 1;
  transform: translateX(-50%);
  background: url("/assets/images/DS_sign.webp") center/contain no-repeat;
  opacity: 0.42;
  filter: saturate(0.9) brightness(1.3) contrast(1.14) drop-shadow(0 0 18px #8ce5e044);
  mix-blend-mode: screen;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  z-index: -1;
}

body.page-home .hero-art img {
  border: 0 !important;
  box-shadow: none;
  position: relative;
  z-index: 1;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}









body.page-home .hero {
  isolation: isolate;
}

/* Homepage box visibility: keep layout, hide panel visuals. */
body.page-home main > section.section.reveal {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

body.page-home main > section.section.reveal::after {
  opacity: 0;
}

body.page-home main > section.section.reveal .section-title-row {
  background: transparent;
  border-color: transparent;
}

body.page-home main > section.section.reveal .cards .card {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

/* Homepage box invisibility (structure kept): hard override. */
body.page-home main > section.section.reveal {
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.page-home main > section.section.reveal::before,
body.page-home main > section.section.reveal::after {
  content: none !important;
  opacity: 0 !important;
}

body.page-home main > section.section.reveal .section-title-row,
body.page-home main > section.section.reveal .cards .card {
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Homepage: keep only the large glass section panels, hide inner boxes. */
body.page-home main > section.section.reveal {
  overflow: hidden !important;
  isolation: isolate !important;
  background: #06141380 !important;
  border: 1px solid #246b68 !important;
  box-shadow: 0 14px 34px #01090959 !important;
  backdrop-filter: blur(14px) saturate(122%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(122%) !important;
}

body.page-home main > section.section.reveal::before {
  content: none !important;
}

body.page-home main > section.section.reveal::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background:
    linear-gradient(160deg, #ffffff1f 0%, #ffffff0a 24%, #ffffff00 54%),
    radial-gradient(150% 90% at 8% -6%, #d9ffff24 0%, #d9ffff00 52%),
    radial-gradient(120% 86% at 88% 108%, #a7f3ef1a 0%, #a7f3ef00 54%) !important;
  mix-blend-mode: normal !important;
  opacity: 0.58 !important;
}

body.page-home main > section.section.reveal > * {
  position: relative;
  z-index: 1;
}

body.page-home main > section.section.reveal .section-title-row,
body.page-home main > section.section.reveal .cards .card {
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Homepage Instagram embed block */
body.page-home .insta-embed-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

body.page-home .insta-avatar {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid #3a8f8a;
}

body.page-home .insta-post-grid {
  margin-top: 0.35rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

body.page-home .insta-post-grid a {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  background: #062120;
}

body.page-home .insta-post-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform 0.25s ease;
}

body.page-home .insta-post-grid a:hover img {
  transform: scale(1.035);
}

/* Instagram spotlight (dark, no bright iframe) */
body.page-home .insta-spotlight {
  position: relative;
  display: block;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  background: #071716;
  border: 1px solid #1c504d;
}

body.page-home .insta-spotlight img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  filter: saturate(0.9) contrast(1.04) brightness(0.82);
  transition: transform 0.35s ease, filter 0.35s ease;
}

body.page-home .insta-spotlight::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 42%, #020807c7 100%);
  pointer-events: none;
}

body.page-home .insta-spotlight-cta {
  position: absolute;
  left: 0.8rem;
  right: 0.8rem;
  bottom: 0.8rem;
  z-index: 1;
  display: inline-block;
  padding: 0.45rem 0.65rem;
  border-radius: 10px;
  border: 1px solid #2e7f7b;
  background: #071d1cba;
  color: #d5ecea;
  font-size: 0.84rem;
  text-align: center;
}

body.page-home .insta-spotlight:hover img {
  transform: scale(1.02);
  filter: saturate(0.96) contrast(1.08) brightness(0.9);
}

/* Follow section: single Instagram embed + meta */
body.page-home .insta-feature {
  display: grid;
  grid-template-columns: minmax(280px, 360px) 1fr;
  align-items: start;
  gap: 1rem;
}



@media (max-width: 900px) {
  body.page-home .insta-feature {
    grid-template-columns: 1fr;
  }
}

body.page-home .insta-embed-note {
  margin: 0.85rem 0 0;
  max-width: 56ch;
  color: #c6d8d8;
  line-height: 1.55;
}


/* No diamond title icons */
body.page-home .section-title-row h2::after,
body.page-about .section-title-row h2::after,
body.page-contact .section-title-row h2::after,
body.page-youtube .section-title-row h2::after {
  content: none;
}








body.page-about .about-story-card {
  display: grid;
  align-content: start;
  gap: 0.85rem;
}

body.page-about .about-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.35rem;
}

body.page-about .about-pill-row span {
  border: 1px solid #2a6f6b;
  background: #07201f99;
  color: #d5e8e7;
  border-radius: 999px;
  padding: 0.4rem 0.8rem;
  font-size: 0.84rem;
}

body.page-about .about-closing-card {
  display: grid;
  gap: 0.9rem;
}

@media (max-width: 640px) {
  body.page-about .about-pill-row span {
    width: 100%;
    text-align: center;
  }
}

body.page-about .about-free-layout {
  width: min(1120px, 92vw);
}

body.page-about .about-hero {
  padding-bottom: 0.5rem;
}

body.page-about .about-lede,
body.page-about .about-editorial,
body.page-about .about-closing {
  position: relative;
  margin: clamp(2.5rem, 7vw, 5.5rem) 0;
}

body.page-about .about-lede {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}

body.page-about .about-lede::before {
  content: "";
  position: absolute;
  left: 18%;
  top: -10%;
  width: 46%;
  height: 120%;
  background: radial-gradient(circle, #0b5a5652 0%, #0b5a5600 72%);
  filter: blur(48px);
  pointer-events: none;
  z-index: -1;
}

body.page-about .about-lede-visual img {
  width: 100%;
  max-width: 420px;
  display: block;
  border: 0;
  box-shadow: 0 24px 60px #00000045;
}

body.page-about .about-lede-copy h2,
body.page-about .about-editorial-main h2,
body.page-about .about-closing h2 {
  max-width: 16ch;
  font-size: clamp(1.9rem, 4vw, 3.4rem);
  line-height: 1.02;
}

body.page-about .about-lede-copy p,
body.page-about .about-editorial-main p,
body.page-about .about-closing p {
  max-width: 62ch;
  font-size: 1.02rem;
  line-height: 1.75;
}

body.page-about .about-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1rem;
}

body.page-about .about-pill-row span {
  border-bottom: 1px solid #2c726f;
  color: #d6ebea;
  padding: 0 0 0.28rem;
  font-size: 0.88rem;
  letter-spacing: 0.03em;
}

body.page-about .about-editorial {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(220px, 0.6fr);
  gap: clamp(1.25rem, 4vw, 3rem);
  align-items: start;
}

body.page-about .about-editorial.is-reverse {
  grid-template-columns: minmax(220px, 0.6fr) minmax(0, 1.4fr);
}

body.page-about .about-editorial.is-reverse .about-editorial-main {
  order: 2;
}

body.page-about .about-editorial.is-reverse .about-editorial-side {
  order: 1;
}

body.page-about .about-editorial-side {
  padding-top: 0.5rem;
}

body.page-about .about-side-label {
  margin: 0 0 0.9rem;
  color: #8ab9b7;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

body.page-about .about-editorial-side ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

body.page-about .about-editorial-side li {
  padding-left: 1.1rem;
  position: relative;
  color: #d4e4e4;
}

body.page-about .about-editorial-side li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72rem;
  width: 0.45rem;
  height: 1px;
  background: #49a5a0;
}

body.page-about .about-closing {
  max-width: 900px;
  padding-top: 0.8rem;
}

body.page-about .about-closing::before {
  content: "";
  display: block;
  width: min(220px, 32vw);
  height: 1px;
  margin-bottom: 1.4rem;
  background: linear-gradient(90deg, #49a5a0 0%, #49a5a000 100%);
}

body.page-about main > section.section.reveal,
body.page-about main > section.section.reveal::after,
body.page-about main > section.section.reveal::before,
body.page-about main > section.section.reveal .section-title-row,
body.page-about main > section.section.reveal .cards .card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.page-about main > section.section.reveal {
  padding: 0 !important;
}

@media (max-width: 900px) {
  body.page-about .about-lede,
  body.page-about .about-editorial,
  body.page-about .about-editorial.is-reverse {
    grid-template-columns: 1fr;
  }

  body.page-about .about-editorial.is-reverse .about-editorial-main,
  body.page-about .about-editorial.is-reverse .about-editorial-side {
    order: initial;
  }

  body.page-about .about-lede-copy h2,
  body.page-about .about-editorial-main h2,
  body.page-about .about-closing h2 {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  body.page-about .about-pill-row {
    display: grid;
    gap: 0.45rem;
  }

  body.page-about .about-pill-row span {
    width: fit-content;
  }

  body.page-about .about-lede-visual img {
    max-width: 100%;
  }
}

body.page-home .home-free-layout {
  width: min(1140px, 92vw);
}

body.page-home .home-free-hero,
body.page-home .home-editorial,
body.page-home .home-spotlight,
body.page-home .home-showcase,
body.page-home .home-route-ribbon {
  position: relative;
  margin: clamp(2.5rem, 7vw, 5.5rem) 0;
}

body.page-home .home-free-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  padding-top: 1.5rem;
}

body.page-home .home-free-copy h1 {
  max-width: 100%;
  font-size: clamp(2.5rem, 4.8vw, 4.9rem);
  line-height: 0.98;
}

body.page-home .home-free-copy .hero-lead {
  max-width: 60ch;
  font-size: 1.03rem;
  line-height: 1.78;
}

body.page-home .home-free-pills {
  margin-top: 1.2rem;
}

body.page-home .home-free-art::before {
  content: "";
  position: absolute;
  inset: 12% 4% 12% 12%;
  background: radial-gradient(circle, #0f5f5a5e 0%, #0f5f5a00 72%);
  filter: blur(56px);
  z-index: -1;
}

body.page-home .home-editorial {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(220px, 0.65fr);
  gap: clamp(1.25rem, 4vw, 3rem);
  align-items: start;
}

body.page-home .home-editorial.is-reverse {
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
}

body.page-home .home-editorial-main h2,
body.page-home .home-spotlight-copy h2,
body.page-home .home-showcase-copy h2 {
  max-width: 15ch;
  font-size: clamp(1.9rem, 4vw, 3.4rem);
  line-height: 1.02;
}

body.page-home .home-editorial-main p,
body.page-home .home-spotlight-copy p,
body.page-home .home-showcase-copy p {
  max-width: 62ch;
  font-size: 1.02rem;
  line-height: 1.75;
}

body.page-home .home-side-label {
  margin: 0 0 0.9rem;
  color: #8ab9b7;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

body.page-home .home-editorial-side ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

body.page-home .home-editorial-side li {
  padding-left: 1.1rem;
  position: relative;
  color: #d4e4e4;
}

body.page-home .home-editorial-side li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72rem;
  width: 0.45rem;
  height: 1px;
  background: #49a5a0;
}

body.page-home .home-spotlight {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: clamp(1.5rem, 4vw, 3.4rem);
  align-items: center;
}

body.page-home .home-spotlight-visual {
  max-width: 360px;
  justify-self: end;
}

body.page-home .home-metric-strip {
  display: grid;
  gap: 1rem;
}

body.page-home .home-metric-strip div {
  padding: 0.15rem 0 0.85rem;
  border-bottom: 1px solid #1f5d5a;
}

body.page-home .home-metric-strip small {
  display: block;
  margin-bottom: 0.35rem;
  color: #8ab9b7;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.page-home .home-metric-strip strong {
  font-size: clamp(1.2rem, 2.2vw, 1.8rem);
  color: #f3f7f7;
}

body.page-home .home-showcase {
  display: grid;
  grid-template-columns: minmax(300px, 0.92fr) minmax(0, 1.08fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}

body.page-home .home-showcase-media img {
  width: 100%;
  display: block;
  border: 0;
  max-height: 460px;
  object-fit: cover;
  box-shadow: 0 26px 64px #0000004a;
}

body.page-home .home-route-ribbon {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  padding-top: 1rem;
}

body.page-home .home-route-ribbon::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, #49a5a0 0%, #49a5a000 100%);
}

body.page-home .home-route-link {
  text-decoration: none;
  padding: 0.8rem 0 0.35rem;
}

body.page-home .home-route-link small {
  display: block;
  margin-bottom: 0.4rem;
  color: #8ab9b7;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.page-home .home-route-link span {
  color: #f5f7f7;
  font-size: 1.14rem;
}

body.page-home .home-route-link:hover span {
  color: #9ce4df;
}

body.page-home main > section.section.reveal,
body.page-home main > section.section.reveal::after,
body.page-home main > section.section.reveal::before,
body.page-home main > section.section.reveal .section-title-row,
body.page-home main > section.section.reveal .cards .card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.page-home main > section.section.reveal {
  padding: 0 !important;
}

@media (max-width: 900px) {
  body.page-home .home-free-hero,
  body.page-home .home-editorial,
  body.page-home .home-editorial.is-reverse,
  body.page-home .home-spotlight,
  body.page-home .home-showcase,
  body.page-home .home-route-ribbon {
    grid-template-columns: 1fr;
  }

  body.page-home .home-spotlight-visual {
    justify-self: start;
  }

  body.page-home .home-editorial-main h2,
  body.page-home .home-spotlight-copy h2,
  body.page-home .home-showcase-copy h2,
  body.page-home .home-free-copy h1 {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  body.page-home .home-route-ribbon {
    gap: 0.4rem;
  }

  body.page-home .home-route-link {
    padding: 0.8rem 0;
    border-bottom: 1px solid #184948;
  }
}





body.page-about .about-timeline {
  margin: clamp(3rem, 8vw, 6rem) 0;
}

body.page-about .about-timeline-intro {
  max-width: 760px;
  margin-bottom: clamp(1.5rem, 4vw, 3rem);
}

body.page-about .about-timeline-intro h2 {
  max-width: 14ch;
  font-size: clamp(2rem, 4.2vw, 3.6rem);
  line-height: 1.02;
}

body.page-about .about-timeline-intro p {
  max-width: 62ch;
  line-height: 1.75;
}

body.page-about .about-timeline-layout {
  position: relative;
  display: block;
}

body.page-about .about-timeline-rail {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 0;
  transform: translateX(-50%);
  pointer-events: none;
}

body.page-about .about-timeline-line,
body.page-about .about-timeline-progress {
  position: absolute;
  left: 0;
  top: 0;
  width: 2px;
  border-radius: 999px;
}

body.page-about .about-timeline-line {
  bottom: 0;
  background: linear-gradient(180deg, #204f4c 0%, #153735 100%);
  opacity: 0.9;
}

body.page-about .about-timeline-progress {
  height: calc(var(--timeline-progress, 0) * 100%);
  background: linear-gradient(180deg, #b8fff8 0%, #52d8cf 45%, #0e5a56 100%);
  box-shadow: 0 0 24px #63d9d37a;
}

body.page-about .about-timeline-list {
  position: relative;
  display: grid;
  gap: 0.35rem;
}

body.page-about .about-timeline-item {
  --focus: 0;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px minmax(0, 1fr);
  gap: 0;
  min-height: 144px;
  opacity: 0.38;
  transform: translateY(22px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

body.page-about .about-timeline-item.is-focus {
  opacity: 1;
  transform: translateY(0);
}

body.page-about .about-timeline-year {
  grid-column: 1;
  justify-self: end;
  align-self: start;
  margin-right: 2.4rem;
  padding-top: 0.8rem;
  color: #87a6a5;
  font-size: 0.84rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

body.page-about .about-timeline-node {
  grid-column: 2;
  position: relative;
  min-height: 100%;
}

body.page-about .about-timeline-node::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 1rem;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #97f6ef;
  box-shadow: 0 0 0 6px #081817, 0 0 22px #62dfd866;
  transform: translateX(-50%) scale(calc(0.7 + (var(--focus) * 0.45)));
  transition: transform 0.45s ease, box-shadow 0.45s ease, background 0.45s ease;
}

body.page-about .about-timeline-node::after {
  content: "";
  position: absolute;
  top: 1.25rem;
  left: 50%;
  width: clamp(44px, 8vw, 94px);
  height: 2px;
  background: linear-gradient(90deg, #61d2cb 0%, #61d2cb00 100%);
  transform-origin: left center;
  transform: translateX(0) scaleX(var(--focus));
  opacity: calc(0.2 + (var(--focus) * 0.9));
  transition: transform 0.45s ease, opacity 0.45s ease;
}

body.page-about .about-timeline-content {
  grid-column: 3;
  max-width: min(540px, 100%);
  padding: 0.15rem 0 2.2rem 2.4rem;
  opacity: calc(0.18 + (var(--focus) * 0.82));
  transform: translateX(calc((1 - var(--focus)) * 26px));
  transition: opacity 0.45s ease, transform 0.45s ease;
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-year {
  grid-column: 3;
  justify-self: start;
  margin-left: 2.4rem;
  margin-right: 0;
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-content {
  grid-column: 1;
  justify-self: end;
  text-align: right;
  padding: 0.15rem 2.4rem 2.2rem 0;
  transform: translateX(calc((1 - var(--focus)) * -26px));
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-node::after {
  left: auto;
  right: 50%;
  background: linear-gradient(90deg, #61d2cb00 0%, #61d2cb 100%);
  transform-origin: right center;
}

body.page-about .about-timeline-label {
  margin: 0 0 0.45rem;
  color: #84c9c5;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

body.page-about .about-timeline-content h3 {
  margin: 0;
  color: #f5f7f7;
  line-height: 1.04;
}

body.page-about .about-timeline-content p {
  max-width: 60ch;
  line-height: 1.7;
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-content p {
  margin-left: auto;
}

body.page-about .about-timeline-meta {
  color: #a8c9c8;
  font-size: 0.95rem;
}

body.page-about .about-timeline-item.is-major .about-timeline-year {
  color: #d8f5f4;
}

body.page-about .about-timeline-item.is-major .about-timeline-content h3 {
  font-size: clamp(1.7rem, 2.9vw, 2.55rem);
  font-weight: 800;
}

body.page-about .about-timeline-item.is-major .about-timeline-node::before {
  width: 14px;
  height: 14px;
  background: #c1fff9;
  box-shadow: 0 0 0 8px #081817, 0 0 34px #8bf2eb80;
}

body.page-about .about-timeline-item.is-medium .about-timeline-content h3 {
  font-size: clamp(1.22rem, 2vw, 1.72rem);
}

body.page-about .about-timeline-item.is-minor .about-timeline-content h3 {
  font-size: clamp(1rem, 1.45vw, 1.18rem);
  color: #d8e3e3;
}

body.page-about .about-timeline-item.is-minor .about-timeline-content p {
  font-size: 0.96rem;
}

body.page-about .about-timeline-item.is-faded-branch .about-timeline-content,
body.page-about .about-timeline-item.is-faded-branch .about-timeline-year {
  opacity: 0.72;
}

body.page-about .about-timeline-item.is-faded-branch .about-timeline-node::after {
  background: linear-gradient(90deg, #4b777500 0%, #4b7775 100%);
}

body.page-about .about-timeline-item.is-focus .about-timeline-content,
body.page-about .about-timeline-item.is-focus .about-timeline-year {
  opacity: 1;
}

@media (max-width: 900px) {
  body.page-about .about-timeline-item {
    grid-template-columns: 78px 54px minmax(0, 1fr);
    min-height: 132px;
  }

  body.page-about .about-timeline-rail {
    left: 105px;
    transform: none;
  }

  body.page-about .about-timeline-year,
  body.page-about .about-timeline-item:nth-child(even) .about-timeline-year {
    grid-column: 1;
    justify-self: start;
    margin: 0;
    padding-top: 0.95rem;
  }

  body.page-about .about-timeline-content,
  body.page-about .about-timeline-item:nth-child(even) .about-timeline-content {
    grid-column: 3;
    justify-self: start;
    text-align: left;
    padding: 0.15rem 0 2rem 1.5rem;
    transform: translateX(calc((1 - var(--focus)) * 20px));
  }

  body.page-about .about-timeline-item:nth-child(even) .about-timeline-content p {
    margin-left: 0;
  }

  body.page-about .about-timeline-node {
    grid-column: 2;
  }

  body.page-about .about-timeline-node::after,
  body.page-about .about-timeline-item:nth-child(even) .about-timeline-node::after {
    left: 50%;
    right: auto;
    width: 32px;
    background: linear-gradient(90deg, #61d2cb 0%, #61d2cb00 100%);
    transform-origin: left center;
  }
}

@media (max-width: 640px) {
  body.page-about .about-timeline-intro h2 {
    max-width: 100%;
  }

  body.page-about .about-timeline-item {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-left: 2.2rem;
  }

  body.page-about .about-timeline-rail {
    left: 10px;
  }

  body.page-about .about-timeline-year,
  body.page-about .about-timeline-item:nth-child(even) .about-timeline-year {
    grid-column: 1;
    padding-top: 0;
    margin-bottom: 0.35rem;
  }

  body.page-about .about-timeline-node {
    position: absolute;
    left: -2.2rem;
    top: 0.1rem;
    width: 32px;
    min-height: 100%;
  }

  body.page-about .about-timeline-content,
  body.page-about .about-timeline-item:nth-child(even) .about-timeline-content {
    grid-column: 1;
    padding: 0 0 2rem 0;
    text-align: left;
    transform: translateX(calc((1 - var(--focus)) * 18px));
  }

  body.page-about .about-timeline-node::after,
  body.page-about .about-timeline-item:nth-child(even) .about-timeline-node::after {
    width: 20px;
  }
}
body.page-home .bg-layer,
body.page-about .bg-layer,
body.page-contact .bg-layer,
body.page-youtube .bg-layer {
  --blob-speed: 1;
  --noise-frame: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='2' seed='11' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  background:
    var(--noise-frame),
    radial-gradient(circle at 18% 14%, #0f2a2933 0%, transparent 38%),
    linear-gradient(to bottom, #030606f4, #020404fc);
  background-size: 220px 220px, 100% 100%, 100% 100%;
  background-position: 0 0, center, center;
  animation: grainSeedStep 2.4s steps(1, end) infinite;
}

body.page-home .bg-layer::before,
body.page-about .bg-layer::before,
body.page-contact .bg-layer::before,
body.page-youtube .bg-layer::before {
  content: none;
}

body.page-home .bg-layer.random-blob-enabled,
body.page-about .bg-layer.random-blob-enabled,
body.page-contact .bg-layer.random-blob-enabled,
body.page-youtube .bg-layer.random-blob-enabled {
  overflow: hidden;
}

body.page-home .bg-layer .blob-field,
body.page-about .bg-layer .blob-field,
body.page-contact .bg-layer .blob-field,
body.page-youtube .bg-layer .blob-field {
  position: absolute;
  inset: -10% -10%;
  pointer-events: none;
}


body.page-home .bg-layer .blob-field::before,
body.page-about .bg-layer .blob-field::before,
body.page-contact .bg-layer .blob-field::before,
body.page-youtube .bg-layer .blob-field::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.9' numOctaves='2' seed='41' stitchTiles='stitch'/></filter><rect width='128' height='128' filter='url(%23n)'/></svg>");
  background-size: 110px 110px;
  opacity: 0.10;
  mix-blend-mode: hard-light;
  animation: blobFieldDither 1.1s steps(2, end) infinite;
}
body.page-home .bg-layer .blob-node,
body.page-about .bg-layer .blob-node,
body.page-contact .bg-layer .blob-node,
body.page-youtube .bg-layer .blob-node {
  position: absolute;
  width: var(--blob-size, 280px);
  height: var(--blob-size, 280px);
  border-radius: 999px;
  overflow: hidden;
  opacity: var(--blob-opacity, 0.52);
  filter: blur(96px) saturate(140%);
  mix-blend-mode: normal;
  transform: translate3d(0, 0, 0);
  will-change: transform;
  background: radial-gradient(circle at 34% 32%, #0f7f7abf 0%, #0a5d59b5 44%, #0a5d5900 74%);
}

body.page-home .bg-layer .blob-node::after,
body.page-about .bg-layer .blob-node::after,
body.page-contact .bg-layer .blob-node::after,
body.page-youtube .bg-layer .blob-node::after {
  content: "";
  position: absolute;
  inset: -8%;
  border-radius: inherit;
  pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.55' numOctaves='2' seed='19' stitchTiles='stitch'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");
  background-size: 120px 120px;
  opacity: 0.10;
  mix-blend-mode: overlay;
  animation: blobNoiseDrift 1.4s steps(2, end) infinite;
}
body.page-home .bg-layer::after,
body.page-about .bg-layer::after,
body.page-contact .bg-layer::after,
body.page-youtube .bg-layer::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 14% 18%, #ffffff26 0 0.9px, transparent 1.5px),
    radial-gradient(circle at 72% 64%, #ffffff20 0 0.9px, transparent 1.5px),
    radial-gradient(circle at 48% 42%, #00000040 0 1.1px, transparent 1.7px),
    repeating-linear-gradient(0deg, #ffffff12 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, #ffffff10 0 1px, transparent 1px 4px),
    radial-gradient(circle at 28% 32%, #ffffff0f 0 1px, transparent 1px 100%),
    radial-gradient(circle at 66% 74%, #00000033 0 1px, transparent 1px 100%);
  background-size: 120px 120px, 150px 150px, 180px 180px, 190px 190px, 240px 240px, 100% 100%, 100% 100%;
  background-position: center;
  opacity: 0.34;
  mix-blend-mode: overlay;
  pointer-events: none;
}

@keyframes lavaBlobFlow {
  0% {
    transform: translate3d(-6%, 1%, 0) scale(0.98) rotate(-4deg);
    background-position: 18% 68%, 43% 28%, 69% 70%, 84% 34%;
  }
  50% {
    transform: translate3d(4%, -4%, 0) scale(1.08) rotate(3deg);
    background-position: 30% 48%, 58% 24%, 54% 78%, 76% 44%;
  }
  100% {
    transform: translate3d(-2%, 4%, 0) scale(1.04) rotate(-2deg);
    background-position: 14% 60%, 36% 36%, 72% 62%, 88% 32%;
  }
}

@keyframes lavaBlobPulse {
  0%,
  100% {
    filter: blur(48px) saturate(128%);
    opacity: 0.42;
  }
  50% {
    filter: blur(58px) saturate(138%);
    opacity: 0.54;
  }
}

@keyframes grainSeedStep {
  0% {
    --noise-frame: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='2' seed='11' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  }
  25% {
    --noise-frame: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='2' seed='37' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  }
  50% {
    --noise-frame: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='2' seed='73' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  }
  75% {
    --noise-frame: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='2' seed='119' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  }
  100% {
    --noise-frame: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='2' seed='151' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  }
}











/* Homepage glass treatment for the highlighted content blocks only. */
body.page-home main > section.section.reveal:not(.contact) {
  overflow: hidden;
  isolation: isolate;
  background: #06141380;
  border-color: #246b68;
  box-shadow: 0 14px 34px #01090959;
  backdrop-filter: blur(14px) saturate(122%);
  -webkit-backdrop-filter: blur(14px) saturate(122%);
}

body.page-home main > section.section.reveal:not(.contact)::before {
  content: none;
}

body.page-home main > section.section.reveal:not(.contact)::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(160deg, #ffffff1f 0%, #ffffff0a 24%, #ffffff00 54%),
    radial-gradient(150% 90% at 8% -6%, #d9ffff24 0%, #d9ffff00 52%),
    radial-gradient(120% 86% at 88% 108%, #a7f3ef1a 0%, #a7f3ef00 54%);
  mix-blend-mode: normal;
  opacity: 0.58;
}

body.page-home main > section.section.reveal:not(.contact) > * {
  position: relative;
  z-index: 1;
}

body.page-home main > section.section.reveal:not(.contact) .section-title-row {
  background: #07181778;
  border: 1px solid #1e5a58;
  border-radius: 10px;
  padding: 0.72rem 0.82rem;
  backdrop-filter: blur(10px) saturate(118%);
  -webkit-backdrop-filter: blur(10px) saturate(118%);
}

body.page-home main > section.section.reveal:not(.contact) .cards .card {
  background: #0513128c;
  border-color: #2a716e;
  box-shadow: inset 0 1px 0 #7ad5d51a, 0 10px 22px #00000042;
  backdrop-filter: blur(10px) saturate(118%);
  -webkit-backdrop-filter: blur(10px) saturate(118%);
}




/* Global frost panels for home/about/contact pages (overrides older home-only block). */
body.page-home main > section.section.reveal,
body.page-about main > section.section.reveal,
body.page-contact main > section.section.reveal {
  overflow: hidden;
  isolation: isolate;
  background: #06141380;
  border-color: #246b68;
  box-shadow: 0 14px 34px #01090959;
  backdrop-filter: blur(14px) saturate(122%);
  -webkit-backdrop-filter: blur(14px) saturate(122%);
}

body.page-home main > section.section.reveal::before,
body.page-about main > section.section.reveal::before,
body.page-contact main > section.section.reveal::before {
  content: none;
}

body.page-home main > section.section.reveal::after,
body.page-about main > section.section.reveal::after,
body.page-contact main > section.section.reveal::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(160deg, #ffffff1f 0%, #ffffff0a 24%, #ffffff00 54%),
    radial-gradient(150% 90% at 8% -6%, #d9ffff24 0%, #d9ffff00 52%),
    radial-gradient(120% 86% at 88% 108%, #a7f3ef1a 0%, #a7f3ef00 54%);
  mix-blend-mode: normal;
  opacity: 0.58;
}

body.page-home main > section.section.reveal > *,
body.page-about main > section.section.reveal > *,
body.page-contact main > section.section.reveal > * {
  position: relative;
  z-index: 1;
}

body.page-home main > section.section.reveal .section-title-row,
body.page-about main > section.section.reveal .section-title-row,
body.page-contact main > section.section.reveal .section-title-row {
  background: #07181778;
  border: 1px solid #1e5a58;
  border-radius: 10px;
  padding: 0.72rem 0.82rem;
  backdrop-filter: blur(10px) saturate(118%);
  -webkit-backdrop-filter: blur(10px) saturate(118%);
}

body.page-home main > section.section.reveal .cards .card,
body.page-about main > section.section.reveal .cards .card,
body.page-contact main > section.section.reveal .cards .card,
body.page-contact main > section.section.reveal .contact-card {
  background: #0513128c;
  border-color: #2a716e;
  box-shadow: inset 0 1px 0 #7ad5d51a, 0 10px 22px #00000042;
  backdrop-filter: blur(10px) saturate(118%);
  -webkit-backdrop-filter: blur(10px) saturate(118%);
}









@keyframes blobNoiseDrift {
  0% { background-position: 0 0; }
  33% { background-position: 7px -5px; }
  66% { background-position: -6px 6px; }
  100% { background-position: 0 0; }
}

@keyframes blobFieldDither {
  0% { background-position: 0 0; }
  50% { background-position: 6px -4px; }
  100% { background-position: 0 0; }
}















/* Homepage content hierarchy refresh */
body.page-home .home-identity .hero-lead {
  max-width: 56ch;
}

body.page-home .home-badges {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

body.page-home .home-badges li {
  border: 1px solid #2a6f6b;
  background: #07201f99;
  color: #d5e8e7;
  border-radius: 999px;
  padding: 0.36rem 0.72rem;
  font-size: 0.84rem;
  letter-spacing: 0.01em;
}
body.page-home .home-since {
  margin: 0.72rem 0 0;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: #9eb7b6;
  font-size: 0.74rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.82;
}

body.page-home .home-since::before {
  content: "";
  width: 26px;
  height: 1px;
  background: #5f7d7b;
  opacity: 0.85;
}

body.page-home .home-hero-cta {
  margin-top: 1.25rem;
}

body.page-home .platform-grid {
  align-items: stretch;
}

body.page-home .platform-card {
  display: grid;
  gap: 0.65rem;
}

body.page-home .platform-handle {
  color: #9ed8d6;
  font-size: 0.92rem;
  letter-spacing: 0.01em;
}

body.page-home .metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.page-home .metric-card {
  text-align: left;
}

body.page-home .metric-card small {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #8ab9b7;
  font-size: 0.68rem;
}

body.page-home .metric-card h3 {
  margin-top: 0.5rem;
  font-size: clamp(1.2rem, 2.2vw, 1.7rem);
}

body.page-home .showreel-card {
  display: grid;
  gap: 0.9rem;
}

body.page-home .showreel-card img {
  width: 100%;
  max-height: 320px;
  object-fit: cover;
}

body.page-home .home-route-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-home .home-route-card {
  display: grid;
  align-content: start;
  gap: 0.8rem;
  min-height: 100%;
}

body.page-home .home-route-card .btn {
  justify-self: start;
  margin-top: 0.2rem;
}

@media (max-width: 900px) {
  body.page-home .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-home .home-route-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  body.page-home .home-badges li {
    width: 100%;
  }

  body.page-home .metric-grid {
    grid-template-columns: 1fr;
  }
}

/* Homepage signature placement + clean portrait frame */
body.page-home .hero::after {
  content: none;
}

body.page-home .hero-art {
  position: relative;
  overflow: visible;
}

body.page-home .hero-art::after {
  content: "";
  position: absolute;
  left: 42%;
  top: -24%;
  width: 420%;
  aspect-ratio: 2.8 / 1;
  transform: translateX(-50%);
  background: url("/assets/images/DS_sign.webp") center/contain no-repeat;
  opacity: 0.42;
  filter: saturate(0.9) brightness(1.3) contrast(1.14) drop-shadow(0 0 18px #8ce5e044);
  mix-blend-mode: screen;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  z-index: -1;
}

body.page-home .hero-art img {
  border: 0 !important;
  box-shadow: none;
  position: relative;
  z-index: 1;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}









body.page-home .hero {
  isolation: isolate;
}

/* Homepage box visibility: keep layout, hide panel visuals. */
body.page-home main > section.section.reveal {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

body.page-home main > section.section.reveal::after {
  opacity: 0;
}

body.page-home main > section.section.reveal .section-title-row {
  background: transparent;
  border-color: transparent;
}

body.page-home main > section.section.reveal .cards .card {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

/* Homepage box invisibility (structure kept): hard override. */
body.page-home main > section.section.reveal {
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.page-home main > section.section.reveal::before,
body.page-home main > section.section.reveal::after {
  content: none !important;
  opacity: 0 !important;
}

body.page-home main > section.section.reveal .section-title-row,
body.page-home main > section.section.reveal .cards .card {
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Homepage: keep only the large glass section panels, hide inner boxes. */
body.page-home main > section.section.reveal {
  overflow: hidden !important;
  isolation: isolate !important;
  background: #06141380 !important;
  border: 1px solid #246b68 !important;
  box-shadow: 0 14px 34px #01090959 !important;
  backdrop-filter: blur(14px) saturate(122%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(122%) !important;
}

body.page-home main > section.section.reveal::before {
  content: none !important;
}

body.page-home main > section.section.reveal::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background:
    linear-gradient(160deg, #ffffff1f 0%, #ffffff0a 24%, #ffffff00 54%),
    radial-gradient(150% 90% at 8% -6%, #d9ffff24 0%, #d9ffff00 52%),
    radial-gradient(120% 86% at 88% 108%, #a7f3ef1a 0%, #a7f3ef00 54%) !important;
  mix-blend-mode: normal !important;
  opacity: 0.58 !important;
}

body.page-home main > section.section.reveal > * {
  position: relative;
  z-index: 1;
}

body.page-home main > section.section.reveal .section-title-row,
body.page-home main > section.section.reveal .cards .card {
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Homepage Instagram embed block */
body.page-home .insta-embed-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

body.page-home .insta-avatar {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid #3a8f8a;
}

body.page-home .insta-post-grid {
  margin-top: 0.35rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

body.page-home .insta-post-grid a {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  background: #062120;
}

body.page-home .insta-post-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform 0.25s ease;
}

body.page-home .insta-post-grid a:hover img {
  transform: scale(1.035);
}

/* Instagram spotlight (dark, no bright iframe) */
body.page-home .insta-spotlight {
  position: relative;
  display: block;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  background: #071716;
  border: 1px solid #1c504d;
}

body.page-home .insta-spotlight img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  filter: saturate(0.9) contrast(1.04) brightness(0.82);
  transition: transform 0.35s ease, filter 0.35s ease;
}

body.page-home .insta-spotlight::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 42%, #020807c7 100%);
  pointer-events: none;
}

body.page-home .insta-spotlight-cta {
  position: absolute;
  left: 0.8rem;
  right: 0.8rem;
  bottom: 0.8rem;
  z-index: 1;
  display: inline-block;
  padding: 0.45rem 0.65rem;
  border-radius: 10px;
  border: 1px solid #2e7f7b;
  background: #071d1cba;
  color: #d5ecea;
  font-size: 0.84rem;
  text-align: center;
}

body.page-home .insta-spotlight:hover img {
  transform: scale(1.02);
  filter: saturate(0.96) contrast(1.08) brightness(0.9);
}

/* Follow section: single Instagram embed + meta */
body.page-home .insta-feature {
  display: grid;
  grid-template-columns: minmax(280px, 360px) 1fr;
  align-items: start;
  gap: 1rem;
}



@media (max-width: 900px) {
  body.page-home .insta-feature {
    grid-template-columns: 1fr;
  }
}

body.page-home .insta-embed-note {
  margin: 0.85rem 0 0;
  max-width: 56ch;
  color: #c6d8d8;
  line-height: 1.55;
}


/* No diamond title icons */
body.page-home .section-title-row h2::after,
body.page-about .section-title-row h2::after,
body.page-contact .section-title-row h2::after,
body.page-youtube .section-title-row h2::after {
  content: none;
}








body.page-about .about-story-card {
  display: grid;
  align-content: start;
  gap: 0.85rem;
}

body.page-about .about-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.35rem;
}

body.page-about .about-pill-row span {
  border: 1px solid #2a6f6b;
  background: #07201f99;
  color: #d5e8e7;
  border-radius: 999px;
  padding: 0.4rem 0.8rem;
  font-size: 0.84rem;
}

body.page-about .about-closing-card {
  display: grid;
  gap: 0.9rem;
}

@media (max-width: 640px) {
  body.page-about .about-pill-row span {
    width: 100%;
    text-align: center;
  }
}

body.page-about .about-free-layout {
  width: min(1120px, 92vw);
}

body.page-about .about-hero {
  padding-bottom: 0.5rem;
}

body.page-about .about-lede,
body.page-about .about-editorial,
body.page-about .about-closing {
  position: relative;
  margin: clamp(2.5rem, 7vw, 5.5rem) 0;
}

body.page-about .about-lede {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}

body.page-about .about-lede::before {
  content: "";
  position: absolute;
  left: 18%;
  top: -10%;
  width: 46%;
  height: 120%;
  background: radial-gradient(circle, #0b5a5652 0%, #0b5a5600 72%);
  filter: blur(48px);
  pointer-events: none;
  z-index: -1;
}

body.page-about .about-lede-visual img {
  width: 100%;
  max-width: 420px;
  display: block;
  border: 0;
  box-shadow: 0 24px 60px #00000045;
}

body.page-about .about-lede-copy h2,
body.page-about .about-editorial-main h2,
body.page-about .about-closing h2 {
  max-width: 16ch;
  font-size: clamp(1.9rem, 4vw, 3.4rem);
  line-height: 1.02;
}

body.page-about .about-lede-copy p,
body.page-about .about-editorial-main p,
body.page-about .about-closing p {
  max-width: 62ch;
  font-size: 1.02rem;
  line-height: 1.75;
}

body.page-about .about-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1rem;
}

body.page-about .about-pill-row span {
  border-bottom: 1px solid #2c726f;
  color: #d6ebea;
  padding: 0 0 0.28rem;
  font-size: 0.88rem;
  letter-spacing: 0.03em;
}

body.page-about .about-editorial {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(220px, 0.6fr);
  gap: clamp(1.25rem, 4vw, 3rem);
  align-items: start;
}

body.page-about .about-editorial.is-reverse {
  grid-template-columns: minmax(220px, 0.6fr) minmax(0, 1.4fr);
}

body.page-about .about-editorial.is-reverse .about-editorial-main {
  order: 2;
}

body.page-about .about-editorial.is-reverse .about-editorial-side {
  order: 1;
}

body.page-about .about-editorial-side {
  padding-top: 0.5rem;
}

body.page-about .about-side-label {
  margin: 0 0 0.9rem;
  color: #8ab9b7;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

body.page-about .about-editorial-side ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

body.page-about .about-editorial-side li {
  padding-left: 1.1rem;
  position: relative;
  color: #d4e4e4;
}

body.page-about .about-editorial-side li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72rem;
  width: 0.45rem;
  height: 1px;
  background: #49a5a0;
}

body.page-about .about-closing {
  max-width: 900px;
  padding-top: 0.8rem;
}

body.page-about .about-closing::before {
  content: "";
  display: block;
  width: min(220px, 32vw);
  height: 1px;
  margin-bottom: 1.4rem;
  background: linear-gradient(90deg, #49a5a0 0%, #49a5a000 100%);
}

body.page-about main > section.section.reveal,
body.page-about main > section.section.reveal::after,
body.page-about main > section.section.reveal::before,
body.page-about main > section.section.reveal .section-title-row,
body.page-about main > section.section.reveal .cards .card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.page-about main > section.section.reveal {
  padding: 0 !important;
}

@media (max-width: 900px) {
  body.page-about .about-lede,
  body.page-about .about-editorial,
  body.page-about .about-editorial.is-reverse {
    grid-template-columns: 1fr;
  }

  body.page-about .about-editorial.is-reverse .about-editorial-main,
  body.page-about .about-editorial.is-reverse .about-editorial-side {
    order: initial;
  }

  body.page-about .about-lede-copy h2,
  body.page-about .about-editorial-main h2,
  body.page-about .about-closing h2 {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  body.page-about .about-pill-row {
    display: grid;
    gap: 0.45rem;
  }

  body.page-about .about-pill-row span {
    width: fit-content;
  }

  body.page-about .about-lede-visual img {
    max-width: 100%;
  }
}

body.page-home .home-free-layout {
  width: min(1140px, 92vw);
}

body.page-home .home-free-hero,
body.page-home .home-editorial,
body.page-home .home-spotlight,
body.page-home .home-showcase,
body.page-home .home-route-ribbon {
  position: relative;
  margin: clamp(2.5rem, 7vw, 5.5rem) 0;
}

body.page-home .home-free-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  padding-top: 1.5rem;
}

body.page-home .home-free-copy h1 {
  max-width: 100%;
  font-size: clamp(2.5rem, 4.8vw, 4.9rem);
  line-height: 0.98;
}

body.page-home .home-free-copy .hero-lead {
  max-width: 60ch;
  font-size: 1.03rem;
  line-height: 1.78;
}

body.page-home .home-free-pills {
  margin-top: 1.2rem;
}

body.page-home .home-free-art::before {
  content: "";
  position: absolute;
  inset: 12% 4% 12% 12%;
  background: radial-gradient(circle, #0f5f5a5e 0%, #0f5f5a00 72%);
  filter: blur(56px);
  z-index: -1;
}

body.page-home .home-editorial {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(220px, 0.65fr);
  gap: clamp(1.25rem, 4vw, 3rem);
  align-items: start;
}

body.page-home .home-editorial.is-reverse {
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
}

body.page-home .home-editorial-main h2,
body.page-home .home-spotlight-copy h2,
body.page-home .home-showcase-copy h2 {
  max-width: 15ch;
  font-size: clamp(1.9rem, 4vw, 3.4rem);
  line-height: 1.02;
}

body.page-home .home-editorial-main p,
body.page-home .home-spotlight-copy p,
body.page-home .home-showcase-copy p {
  max-width: 62ch;
  font-size: 1.02rem;
  line-height: 1.75;
}

body.page-home .home-side-label {
  margin: 0 0 0.9rem;
  color: #8ab9b7;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

body.page-home .home-editorial-side ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

body.page-home .home-editorial-side li {
  padding-left: 1.1rem;
  position: relative;
  color: #d4e4e4;
}

body.page-home .home-editorial-side li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72rem;
  width: 0.45rem;
  height: 1px;
  background: #49a5a0;
}

body.page-home .home-spotlight {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: clamp(1.5rem, 4vw, 3.4rem);
  align-items: center;
}

body.page-home .home-spotlight-visual {
  max-width: 360px;
  justify-self: end;
}

body.page-home .home-metric-strip {
  display: grid;
  gap: 1rem;
}

body.page-home .home-metric-strip div {
  padding: 0.15rem 0 0.85rem;
  border-bottom: 1px solid #1f5d5a;
}

body.page-home .home-metric-strip small {
  display: block;
  margin-bottom: 0.35rem;
  color: #8ab9b7;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.page-home .home-metric-strip strong {
  font-size: clamp(1.2rem, 2.2vw, 1.8rem);
  color: #f3f7f7;
}

body.page-home .home-showcase {
  display: grid;
  grid-template-columns: minmax(300px, 0.92fr) minmax(0, 1.08fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}

body.page-home .home-showcase-media img {
  width: 100%;
  display: block;
  border: 0;
  max-height: 460px;
  object-fit: cover;
  box-shadow: 0 26px 64px #0000004a;
}

body.page-home .home-route-ribbon {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  padding-top: 1rem;
}

body.page-home .home-route-ribbon::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, #49a5a0 0%, #49a5a000 100%);
}

body.page-home .home-route-link {
  text-decoration: none;
  padding: 0.8rem 0 0.35rem;
}

body.page-home .home-route-link small {
  display: block;
  margin-bottom: 0.4rem;
  color: #8ab9b7;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.page-home .home-route-link span {
  color: #f5f7f7;
  font-size: 1.14rem;
}

body.page-home .home-route-link:hover span {
  color: #9ce4df;
}

body.page-home main > section.section.reveal,
body.page-home main > section.section.reveal::after,
body.page-home main > section.section.reveal::before,
body.page-home main > section.section.reveal .section-title-row,
body.page-home main > section.section.reveal .cards .card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.page-home main > section.section.reveal {
  padding: 0 !important;
}

@media (max-width: 900px) {
  body.page-home .home-free-hero,
  body.page-home .home-editorial,
  body.page-home .home-editorial.is-reverse,
  body.page-home .home-spotlight,
  body.page-home .home-showcase,
  body.page-home .home-route-ribbon {
    grid-template-columns: 1fr;
  }

  body.page-home .home-spotlight-visual {
    justify-self: start;
  }

  body.page-home .home-editorial-main h2,
  body.page-home .home-spotlight-copy h2,
  body.page-home .home-showcase-copy h2,
  body.page-home .home-free-copy h1 {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  body.page-home .home-route-ribbon {
    gap: 0.4rem;
  }

  body.page-home .home-route-link {
    padding: 0.8rem 0;
    border-bottom: 1px solid #184948;
  }
}





body.page-about .about-timeline {
  margin: clamp(3rem, 8vw, 6rem) 0;
}

body.page-about .about-timeline-intro {
  max-width: 760px;
  margin-bottom: clamp(1.5rem, 4vw, 3rem);
}

body.page-about .about-timeline-intro h2 {
  max-width: 14ch;
  font-size: clamp(2rem, 4.2vw, 3.6rem);
  line-height: 1.02;
}

body.page-about .about-timeline-intro p {
  max-width: 62ch;
  line-height: 1.75;
}

body.page-about .about-timeline-layout {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2.2rem);
}

body.page-about .about-timeline-rail {
  position: sticky;
  top: 140px;
  height: calc(100vh - 180px);
  min-height: 420px;
}

body.page-about .about-timeline-line,
body.page-about .about-timeline-progress {
  position: absolute;
  left: 56px;
  top: 0;
  width: 1px;
  border-radius: 999px;
}

body.page-about .about-timeline-line {
  bottom: 0;
  background: linear-gradient(180deg, #2f7b77 0%, #153b39 100%);
  opacity: 0.45;
}

body.page-about .about-timeline-progress {
  height: calc(var(--timeline-progress, 0) * 100%);
  background: linear-gradient(180deg, #8ff3ec 0%, #2db5ac 45%, #0f5b57 100%);
  box-shadow: 0 0 18px #65d8d26b;
}

body.page-about .about-timeline-list {
  display: grid;
  gap: 1.4rem;
}

body.page-about .about-timeline-item {
  --focus: 0.18;
  position: relative;
  display: grid;
  grid-template-columns: 92px 32px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  min-height: 112px;
  opacity: calc(0.16 + (var(--focus) * 0.92));
  filter: blur(calc((1 - var(--focus)) * 3px));
  transform: translateY(calc((1 - var(--focus)) * 28px));
  transition: opacity 0.45s ease, filter 0.45s ease, transform 0.45s ease;
}

body.page-about .about-timeline-item.is-focus {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}

body.page-about .about-timeline-year {
  padding-top: 0.28rem;
  color: #97b6b5;
  font-size: 0.92rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.page-about .about-timeline-node {
  position: relative;
  min-height: 100%;
}

body.page-about .about-timeline-node::before {
  content: "";
  position: absolute;
  left: -3px;
  top: 1rem;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #8ef0ea;
  box-shadow: 0 0 0 5px #0a1e1d, 0 0 22px #5ce1db4d;
}

body.page-about .about-timeline-node::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 1.2rem;
  width: clamp(28px, 6vw, 66px);
  height: 1px;
  background: linear-gradient(90deg, #59c7c1 0%, #59c7c100 100%);
  transform-origin: left center;
  transform: scaleX(calc(0.45 + (var(--focus) * 0.75)));
  transition: transform 0.45s ease, opacity 0.45s ease;
  opacity: calc(0.35 + (var(--focus) * 0.85));
}

body.page-about .about-timeline-content {
  padding-bottom: 1.2rem;
}

body.page-about .about-timeline-label {
  margin: 0 0 0.45rem;
  color: #84c9c5;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

body.page-about .about-timeline-content h3 {
  margin: 0;
  color: #f5f7f7;
  line-height: 1.05;
}

body.page-about .about-timeline-content p {
  max-width: 64ch;
  line-height: 1.72;
}

body.page-about .about-timeline-meta {
  color: #a8c9c8;
  font-size: 0.95rem;
}

body.page-about .about-timeline-item.is-major .about-timeline-year {
  color: #cfeeed;
}

body.page-about .about-timeline-item.is-major .about-timeline-content h3 {
  font-size: clamp(1.55rem, 2.8vw, 2.4rem);
  font-weight: 800;
}

body.page-about .about-timeline-item.is-major .about-timeline-node::before {
  width: 13px;
  height: 13px;
  left: -5px;
  background: #b6fbf7;
  box-shadow: 0 0 0 7px #0a1e1d, 0 0 32px #80efe885;
}

body.page-about .about-timeline-item.is-medium .about-timeline-content h3 {
  font-size: clamp(1.22rem, 2vw, 1.7rem);
}

body.page-about .about-timeline-item.is-minor .about-timeline-content h3 {
  font-size: clamp(1.02rem, 1.5vw, 1.2rem);
  color: #d8e3e3;
}

body.page-about .about-timeline-item.is-minor .about-timeline-content p {
  font-size: 0.96rem;
}

body.page-about .about-timeline-item.is-faded-branch .about-timeline-content {
  opacity: 0.82;
}

body.page-about .about-timeline-item.is-faded-branch .about-timeline-node::after {
  background: linear-gradient(90deg, #4b7775 0%, #4b777500 100%);
}

@media (max-width: 900px) {
  body.page-about .about-timeline-layout {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  body.page-about .about-timeline-rail {
    top: 110px;
    height: auto;
    min-height: 100%;
  }

  body.page-about .about-timeline-line,
  body.page-about .about-timeline-progress {
    left: 34px;
  }

  body.page-about .about-timeline-item {
    grid-template-columns: 72px 26px minmax(0, 1fr);
    gap: 0.8rem;
  }
}

@media (max-width: 640px) {
  body.page-about .about-timeline-layout {
    grid-template-columns: 1fr;
  }

  body.page-about .about-timeline-rail {
    display: none;
  }

  body.page-about .about-timeline-list {
    gap: 1.9rem;
  }

  body.page-about .about-timeline-item {
    grid-template-columns: 64px 20px minmax(0, 1fr);
  }

  body.page-about .about-timeline-node::after {
    width: 24px;
  }
}


/* About timeline final override: centered trunk with readable branch reveals */
body.page-about .about-timeline {
  margin: clamp(3rem, 8vw, 6rem) 0 !important;
}

body.page-about .about-timeline-layout {
  position: relative !important;
  display: block !important;
}

body.page-about .about-timeline-rail {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 50% !important;
  width: 2px !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

body.page-about .about-timeline-line,
body.page-about .about-timeline-progress {
  position: absolute !important;
  inset-inline-start: 0 !important;
  top: 0 !important;
  width: 2px !important;
  border-radius: 999px !important;
}

body.page-about .about-timeline-line {
  bottom: 0 !important;
  background: linear-gradient(180deg, #234d4b 0%, #173735 100%) !important;
  opacity: 1 !important;
}

body.page-about .about-timeline-progress {
  height: calc(var(--timeline-progress, 0) * 100%) !important;
  background: linear-gradient(180deg, #b9fffa 0%, #55d9d0 45%, #0f5d59 100%) !important;
  box-shadow: 0 0 22px #5edbd46b !important;
}

body.page-about .about-timeline-list {
  position: relative !important;
  display: grid !important;
  gap: 0 !important;
}

body.page-about .about-timeline-item {
  --focus: 0.2;
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 96px minmax(0, 1fr) !important;
  align-items: start !important;
  min-height: 148px !important;
  opacity: 0.82 !important;
  transform: translateY(10px) !important;
  transition: opacity 0.35s ease, transform 0.35s ease !important;
}

body.page-about .about-timeline-item.is-focus {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

body.page-about .about-timeline-year {
  grid-column: 1 !important;
  justify-self: end !important;
  margin-right: 1.75rem !important;
  padding-top: 0.85rem !important;
  color: #95b6b4 !important;
  font-size: 0.84rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  opacity: calc(0.68 + (var(--focus) * 0.32)) !important;
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-year {
  grid-column: 3 !important;
  justify-self: start !important;
  margin-left: 1.75rem !important;
  margin-right: 0 !important;
}

body.page-about .about-timeline-node {
  grid-column: 2 !important;
  position: relative !important;
  min-height: 100% !important;
}

body.page-about .about-timeline-node::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 1rem !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 999px !important;
  background: #97f6ef !important;
  border: 2px solid #081817 !important;
  box-shadow: 0 0 18px #62dfd855 !important;
  transform: translateX(-50%) scale(calc(0.88 + (var(--focus) * 0.25))) !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}

body.page-about .about-timeline-node::after {
  content: "" !important;
  position: absolute !important;
  top: 1.25rem !important;
  left: 50% !important;
  width: clamp(46px, 7vw, 88px) !important;
  height: 2px !important;
  background: linear-gradient(90deg, #69d8d1 0%, #69d8d100 100%) !important;
  transform-origin: left center !important;
  transform: translateX(0) scaleX(calc(0.2 + (var(--focus) * 0.8))) !important;
  opacity: calc(0.35 + (var(--focus) * 0.65)) !important;
  transition: transform 0.35s ease, opacity 0.35s ease !important;
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-node::after {
  left: auto !important;
  right: 50% !important;
  background: linear-gradient(90deg, #69d8d100 0%, #69d8d1 100%) !important;
  transform-origin: right center !important;
}

body.page-about .about-timeline-content {
  grid-column: 3 !important;
  max-width: min(520px, 100%) !important;
  padding: 0.05rem 0 2.2rem 1.9rem !important;
  opacity: calc(0.3 + (var(--focus) * 0.7)) !important;
  transform: translateX(calc((1 - var(--focus)) * 12px)) !important;
  transition: opacity 0.35s ease, transform 0.35s ease !important;
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-content {
  grid-column: 1 !important;
  justify-self: end !important;
  text-align: right !important;
  padding: 0.05rem 1.9rem 2.2rem 0 !important;
  transform: translateX(calc((1 - var(--focus)) * -12px)) !important;
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-content p {
  margin-left: auto !important;
}

body.page-about .about-timeline-label {
  margin: 0 0 0.45rem !important;
  color: #84c9c5 !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

body.page-about .about-timeline-content h3 {
  margin: 0 !important;
  color: #f5f7f7 !important;
  line-height: 1.04 !important;
}

body.page-about .about-timeline-content p {
  max-width: 58ch !important;
  line-height: 1.68 !important;
  color: #c7d6d6 !important;
}

body.page-about .about-timeline-item.is-major .about-timeline-content h3 {
  font-size: clamp(1.65rem, 2.7vw, 2.3rem) !important;
  font-weight: 800 !important;
}

body.page-about .about-timeline-item.is-major .about-timeline-node::before {
  width: 14px !important;
  height: 14px !important;
  border: 3px solid #081817 !important;
  box-shadow: 0 0 24px #8bf2eb73 !important;
}

body.page-about .about-timeline-item.is-medium .about-timeline-content h3 {
  font-size: clamp(1.18rem, 1.8vw, 1.55rem) !important;
}

body.page-about .about-timeline-item.is-minor .about-timeline-content h3 {
  font-size: clamp(1rem, 1.35vw, 1.12rem) !important;
}

body.page-about .about-timeline-item.is-minor .about-timeline-content p {
  font-size: 0.95rem !important;
}

body.page-about .about-timeline-item.is-faded-branch .about-timeline-content,
body.page-about .about-timeline-item.is-faded-branch .about-timeline-year {
  opacity: calc(0.42 + (var(--focus) * 0.4)) !important;
}

body.page-about .about-timeline-item.is-faded-branch .about-timeline-node::after {
  background: linear-gradient(90deg, #50797700 0%, #507977 100%) !important;
}

@media (max-width: 900px) {
  body.page-about .about-timeline-rail {
    left: 94px !important;
    transform: none !important;
  }

  body.page-about .about-timeline-item {
    grid-template-columns: 74px 40px minmax(0, 1fr) !important;
    min-height: 132px !important;
  }

  body.page-about .about-timeline-year,
  body.page-about .about-timeline-item:nth-child(even) .about-timeline-year {
    grid-column: 1 !important;
    justify-self: start !important;
    margin: 0 !important;
    padding-top: 0.85rem !important;
  }

  body.page-about .about-timeline-content,
  body.page-about .about-timeline-item:nth-child(even) .about-timeline-content {
    grid-column: 3 !important;
    justify-self: start !important;
    text-align: left !important;
    padding: 0.05rem 0 2rem 1.2rem !important;
    transform: translateX(calc((1 - var(--focus)) * 10px)) !important;
  }

  body.page-about .about-timeline-item:nth-child(even) .about-timeline-content p {
    margin-left: 0 !important;
  }

  body.page-about .about-timeline-node::after,
  body.page-about .about-timeline-item:nth-child(even) .about-timeline-node::after {
    left: 50% !important;
    right: auto !important;
    width: 28px !important;
    background: linear-gradient(90deg, #69d8d1 0%, #69d8d100 100%) !important;
    transform-origin: left center !important;
  }
}

@media (max-width: 640px) {
  body.page-about .about-timeline-rail {
    left: 10px !important;
  }

  body.page-about .about-timeline-item {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    padding-left: 2rem !important;
  }

  body.page-about .about-timeline-year,
  body.page-about .about-timeline-item:nth-child(even) .about-timeline-year {
    grid-column: 1 !important;
    margin: 0 0 0.35rem !important;
    padding-top: 0 !important;
  }

  body.page-about .about-timeline-node {
    position: absolute !important;
    left: -2rem !important;
    top: 0.15rem !important;
    width: 28px !important;
  }

  body.page-about .about-timeline-content,
  body.page-about .about-timeline-item:nth-child(even) .about-timeline-content {
    grid-column: 1 !important;
    padding: 0 0 1.9rem 0 !important;
    text-align: left !important;
    transform: translateX(calc((1 - var(--focus)) * 8px)) !important;
  }
}



/* About timeline viewport mask: entries emerge from and dissolve into the page gradient */
body.page-about .about-timeline-layout {
  --timeline-fade-top: 11%;
  --timeline-fade-bottom: 18%;
}

body.page-about .about-timeline-rail,
body.page-about .about-timeline-list {
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    #000000 var(--timeline-fade-top),
    #000000 calc(100% - var(--timeline-fade-bottom)),
    transparent 100%
  ) !important;
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    #000000 var(--timeline-fade-top),
    #000000 calc(100% - var(--timeline-fade-bottom)),
    transparent 100%
  ) !important;
}

@media (max-width: 900px) {
  body.page-about .about-timeline-layout {
    --timeline-fade-top: 8%;
    --timeline-fade-bottom: 14%;
  }
}

@media (max-width: 640px) {
  body.page-about .about-timeline-layout {
    --timeline-fade-top: 4%;
    --timeline-fade-bottom: 10%;
  }
}

/* About timeline viewport overlay instead of list mask */
body.page-about .about-timeline-layout {
  --timeline-fade-top: 16vh;
  --timeline-fade-bottom: 20vh;
}

body.page-about .about-timeline-rail,
body.page-about .about-timeline-list {
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

body.page-about .about-timeline-viewport-fade {
  position: sticky;
  top: 0;
  z-index: 4;
  height: 100vh;
  margin-bottom: -100vh;
  pointer-events: none;
  background:
    linear-gradient(
      to bottom,
      #020606 0,
      #031010 8vh,
      #03101000 var(--timeline-fade-top),
      #03101000 calc(100% - var(--timeline-fade-bottom)),
      #031010 92vh,
      #020606 100%
    );
}

@media (max-width: 900px) {
  body.page-about .about-timeline-layout {
    --timeline-fade-top: 12vh;
    --timeline-fade-bottom: 14vh;
  }
}

@media (max-width: 640px) {
  body.page-about .about-timeline-viewport-fade {
    display: none;
  }
}

/* About timeline final focus behavior: no mask, blur and opacity fade together */
body.page-about .about-timeline-viewport-fade {
  display: none !important;
}

body.page-about .about-timeline-rail,
body.page-about .about-timeline-list {
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

body.page-about .about-timeline-item {
  opacity: calc(0.16 + (var(--focus) * 0.84)) !important;
  filter: blur(calc((1 - var(--focus)) * 3.2px)) !important;
  transform: translateY(calc((1 - var(--focus)) * 14px)) !important;
  transition: opacity 0.32s ease, filter 0.32s ease, transform 0.32s ease !important;
}

body.page-about .about-timeline-item.is-focus {
  opacity: 1 !important;
  filter: blur(0) !important;
  transform: translateY(0) !important;
}

body.page-about .about-timeline-year {
  opacity: calc(0.22 + (var(--focus) * 0.78)) !important;
  transition: opacity 0.32s ease, filter 0.32s ease, transform 0.32s ease !important;
}

body.page-about .about-timeline-content {
  opacity: calc(0.22 + (var(--focus) * 0.78)) !important;
  filter: blur(calc((1 - var(--focus)) * 2.4px)) !important;
  transition: opacity 0.32s ease, filter 0.32s ease, transform 0.32s ease !important;
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-content {
  filter: blur(calc((1 - var(--focus)) * 2.4px)) !important;
}

body.page-about .about-timeline-node::before,
body.page-about .about-timeline-node::after {
  opacity: calc(0.08 + (var(--focus) * 0.92)) !important;
  transition: opacity 0.32s ease, transform 0.32s ease, box-shadow 0.32s ease !important;
}


/* About timeline readability + continuous trunk override */
body.page-about .about-timeline-rail {
  width: 2px !important;
  background: linear-gradient(180deg, #244f4d 0%, #173735 100%) !important;
  opacity: 1 !important;
  z-index: 1 !important;
}

body.page-about .about-timeline-line {
  display: none !important;
}

body.page-about .about-timeline-progress {
  left: 0 !important;
  width: 2px !important;
  z-index: 2 !important;
}

body.page-about .about-timeline-node {
  z-index: 3 !important;
}

body.page-about .about-timeline-content,
body.page-about .about-timeline-year {
  will-change: opacity, filter, transform;
}

body.page-about .about-timeline-item.is-readable .about-timeline-content,
body.page-about .about-timeline-item.is-readable .about-timeline-year {
  opacity: 1 !important;
  filter: blur(0) !important;
}

body.page-about .about-timeline-item.is-readable .about-timeline-content,
body.page-about .about-timeline-item.is-readable:nth-child(even) .about-timeline-content {
  transform: translateX(0) !important;
}

/* About timeline trunk fix: draw the full vertical line on the layout itself */
body.page-about .about-timeline-layout::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #244f4d 0%, #173735 100%);
  opacity: 1;
  z-index: 0;
  pointer-events: none;
}

body.page-about .about-timeline-rail {
  background: transparent !important;
  top: 0 !important;
  bottom: 0 !important;
  min-height: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
}

@media (max-width: 900px) {
  body.page-about .about-timeline-layout::before {
    left: 94px;
    transform: none;
  }
}

@media (max-width: 640px) {
  body.page-about .about-timeline-layout::before {
    left: 10px;
    transform: none;
  }
}

/* About timeline progress glow: brighter streak with a luminous head */
body.page-about .about-timeline-progress {
  background: linear-gradient(180deg, #d8fffd00 0%, #c7fffc14 14%, #aefcf66b 42%, #7ef2ebc2 72%, #96fff7 100%) !important;
  box-shadow:
    0 0 5px #8bf4ee2e,
    0 0 12px #44d7cf24,
    0 0 18px #1bbab118 !important;
}

body.page-about .about-timeline-progress::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 12px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(180deg, #d8fffd00 0%, #cafffb00 18%, #a4fbf63a 48%, #74efe79a 78%, #a5fff8 100%);
  opacity: 0.32;
  filter: blur(4px);
}

body.page-about .about-timeline-progress::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #ffffff 0%, #d8fffd 22%, #99fff8 46%, #48ddd4 70%, #48ddd400 100%);
  box-shadow: 0 0 10px #c8fffc66, 0 0 20px #48ddd444;
}





/* About timeline spacing polish: keep nodes clear from text blocks */
body.page-about .about-timeline-node::after {
  width: clamp(38px, 5vw, 64px) !important;
  top: 1.18rem !important;
}

body.page-about .about-timeline-content {
  padding: 0.05rem 0 2.2rem 2.7rem !important;
  max-width: min(500px, 100%) !important;
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-content {
  padding: 0.05rem 2.7rem 2.2rem 0 !important;
}

body.page-about .about-timeline-label {
  margin-bottom: 0.5rem !important;
}

@media (max-width: 900px) {
  body.page-about .about-timeline-content,
  body.page-about .about-timeline-item:nth-child(even) .about-timeline-content {
    padding: 0.05rem 0 2rem 1.7rem !important;
    max-width: min(540px, 100%) !important;
  }

  body.page-about .about-timeline-node::after,
  body.page-about .about-timeline-item:nth-child(even) .about-timeline-node::after {
    width: 24px !important;
  }
}

/* About timeline node geometry fix: node starts at top, branch exits from true center */
body.page-about .about-timeline-node {
  --timeline-node-size: 10px;
}

body.page-about .about-timeline-item.is-major .about-timeline-node {
  --timeline-node-size: 14px;
}

body.page-about .about-timeline-node::before {
  top: 0 !important;
  width: var(--timeline-node-size) !important;
  height: var(--timeline-node-size) !important;
  box-sizing: border-box !important;
  transform: translateX(-50%) scale(calc(0.88 + (var(--focus) * 0.25))) !important;
  transform-origin: center center !important;
}

body.page-about .about-timeline-node::after {
  top: calc((var(--timeline-node-size) / 2) - 1px) !important;
  left: calc(50% + (var(--timeline-node-size) / 2)) !important;
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-node::after {
  right: calc(50% + (var(--timeline-node-size) / 2)) !important;
  left: auto !important;
}

/* About timeline final node alignment lock */
body.page-about .about-timeline-node {
  --timeline-node-size: 12px !important;
  display: block !important;
}

body.page-about .about-timeline-item.is-major .about-timeline-node {
  --timeline-node-size: 16px !important;
}

body.page-about .about-timeline-node::before {
  top: 0 !important;
  left: 50% !important;
  width: var(--timeline-node-size) !important;
  height: var(--timeline-node-size) !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.page-about .about-timeline-node::after {
  top: calc((var(--timeline-node-size) / 2) - 1px) !important;
  left: calc(50% + (var(--timeline-node-size) / 2)) !important;
  right: auto !important;
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-node::after {
  left: auto !important;
  right: calc(50% + (var(--timeline-node-size) / 2)) !important;
}

body.page-about .about-timeline-content {
  padding-top: 0 !important;
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-content {
  padding-top: 0 !important;
}



/* About timeline year alignment */
body.page-about .about-timeline-node::after {
  background: linear-gradient(90deg, #7ae3dc 0%, #7ae3dc00 100%) !important;
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-node::after {
  background: linear-gradient(90deg, #7ae3dc00 0%, #7ae3dc 100%) !important;
}

body.page-about .about-timeline-item {
  --timeline-node-top: 1rem !important;
  --timeline-node-size: 12px !important;
  overflow: visible !important;
}

body.page-about .about-timeline-item.is-major {
  --timeline-node-size: 14px !important;
}

body.page-about .about-timeline-year,
body.page-about .about-timeline-item:nth-child(even) .about-timeline-year {
  position: absolute !important;
  grid-column: auto !important;
  top: calc(var(--timeline-node-top) + (var(--timeline-node-size) / 2) - 0.94em) !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: max-content !important;
  z-index: 6 !important;
}

body.page-about .about-timeline-year {
  left: auto !important;
  right: calc(50% + 1.08rem) !important;
  text-align: right !important;
  justify-self: auto !important;
  transform: none !important;
}

body.page-about .about-timeline-item:nth-child(even) .about-timeline-year {
  left: calc(50% + 1.08rem) !important;
  right: auto !important;
  text-align: left !important;
  justify-self: auto !important;
  transform: none !important;
}

@media (max-width: 900px) {
  body.page-about .about-timeline-year,
  body.page-about .about-timeline-item:nth-child(even) .about-timeline-year {
    position: relative !important;
    top: 0.85rem !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    text-align: left !important;
  }
}

/* About media blocks */
body.page-about .about-media-strip {
  display: grid;
  gap: 1rem;
  margin-top: 1.6rem;
}

body.page-about .about-media-strip-parkour {
  grid-template-columns: 1.2fr 0.9fr 0.9fr;
}

body.page-about .about-media-strip-rock {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-about .about-media-card {
  margin: 0;
}

body.page-about .about-media-card img,
body.page-about .about-media-card video {
  width: 100%;
  display: block;
  border: 1px solid #1e4f4d;
  background: #071110;
  box-shadow: 0 20px 40px #00000033;
}

body.page-about .about-media-card-video video {
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

body.page-about .about-media-card figcaption {
  margin-top: 0.55rem;
  color: #8ab9b7;
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  body.page-about .about-media-strip-parkour,
  body.page-about .about-media-strip-rock {
    grid-template-columns: 1fr;
  }
}

/* About media blocks polish */
body.page-about .about-media-strip {
  align-items: stretch;
  gap: clamp(0.9rem, 2vw, 1.25rem);
  margin-top: 2rem;
}

body.page-about .about-media-strip-parkour {
  grid-template-columns: minmax(0, 1.35fr) minmax(220px, 0.7fr);
  grid-template-areas:
    "primary secondary"
    "primary tertiary";
  align-items: stretch;
}

body.page-about .about-media-strip-rock {
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: end;
  gap: clamp(1rem, 2vw, 1.5rem);
}

body.page-about .about-media-card {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 26px;
  border: 1px solid #225856;
  background:
    linear-gradient(180deg, #10312f 0%, #081312 100%);
  box-shadow:
    0 26px 60px #00000040,
    inset 0 1px 0 #9fe2dd10;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

body.page-about .about-media-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #8cf0ea10 0%, #8cf0ea00 26%, #00000005 100%);
  pointer-events: none;
  z-index: 1;
}

body.page-about .about-media-card:hover {
  transform: translateY(-4px);
  border-color: #3c8883;
  box-shadow:
    0 30px 70px #00000052,
    0 0 0 1px #8cf0ea14 inset;
}

body.page-about .about-media-card img,
body.page-about .about-media-card video {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  background: #071110;
  object-fit: cover;
}

body.page-about .about-media-card figcaption {
  position: absolute;
  left: 0.9rem;
  right: 0.9rem;
  bottom: 0.9rem;
  z-index: 2;
  margin: 0;
  padding: 0.55rem 0.7rem;
  width: fit-content;
  max-width: calc(100% - 1.8rem);
  border-radius: 999px;
  background: #061110cc;
  border: 1px solid #3b7b77;
  color: #d7f1ef;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

body.page-about .about-media-card-primary {
  grid-area: primary;
  min-height: 31rem;
}

body.page-about .about-media-card-primary video {
  aspect-ratio: auto;
}

body.page-about .about-media-card-secondary {
  grid-area: secondary;
  min-height: 14.5rem;
  transform: translateY(1.1rem);
}

body.page-about .about-media-card-tertiary {
  grid-area: tertiary;
  min-height: 17rem;
}

body.page-about .about-media-card-rock-left {
  min-height: 24rem;
  transform: translateY(2rem);
}

body.page-about .about-media-card-rock-right {
  min-height: 30rem;
}

body.page-about .about-media-card-rock-left img,
body.page-about .about-media-card-rock-right img {
  aspect-ratio: 4 / 5;
}

@media (max-width: 900px) {
  body.page-about .about-media-strip-parkour {
    width: 100%;
    margin-left: 0;
    grid-template-columns: 1fr;
    grid-template-areas:
      "primary"
      "secondary"
      "tertiary";
  }

  body.page-about .about-media-strip-rock {
    grid-template-columns: 1fr;
  }

  body.page-about .about-media-card-primary,
  body.page-about .about-media-card-secondary,
  body.page-about .about-media-card-tertiary,
  body.page-about .about-media-card-rock-left,
  body.page-about .about-media-card-rock-right {
    min-height: auto;
    transform: none;
  }

  body.page-about .about-media-card video,
  body.page-about .about-media-card img {
    aspect-ratio: 4 / 3;
  }

  body.page-about .about-media-card figcaption {
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
  }
}

/* Parkour editorial layout override */
body.page-about .about-editorial.is-reverse:has(.about-media-strip-parkour) .about-media-strip-parkour {
  width: min(1040px, calc(100% + clamp(180px, 18vw, 320px)));
  margin-left: calc(clamp(180px, 18vw, 320px) * -1);
  margin-top: 2.4rem;
  grid-template-columns: minmax(0, 1.28fr) minmax(220px, 0.72fr);
  grid-template-areas:
    "primary secondary"
    "primary tertiary";
  align-items: stretch;
}

body.page-about .about-editorial.is-reverse:has(.about-media-strip-parkour) .about-media-card-primary {
  min-height: 34rem;
}

body.page-about .about-editorial.is-reverse:has(.about-media-strip-parkour) .about-media-card-secondary {
  min-height: 13.5rem;
  transform: translateY(1.4rem);
}

body.page-about .about-editorial.is-reverse:has(.about-media-strip-parkour) .about-media-card-tertiary {
  min-height: 15.75rem;
  transform: translateX(1.1rem);
}

body.page-about .about-editorial.is-reverse:has(.about-media-strip-parkour) .about-media-card-primary video {
  object-position: center 32%;
}

@media (max-width: 900px) {
  body.page-about .about-editorial.is-reverse:has(.about-media-strip-parkour) .about-media-strip-parkour {
    width: 100%;
    margin-left: 0;
  }

  body.page-about .about-editorial.is-reverse:has(.about-media-strip-parkour) .about-media-card-tertiary {
    transform: none;
  }
}
