:root {
      --bg: #0b0d10;
      --bg-soft: #111419;
      --panel: #14181e;
      --panel-2: #1a2027;
      --text: #f6f4ee;
      --muted: #a9adb5;
      --line: rgba(255,255,255,.12);
      --accent: #d7ff45;
      --accent-2: #7dd3fc;
      --max: 1280px;
      --radius: 24px;
      --shadow: 0 24px 80px rgba(0,0,0,.28);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      background:
        radial-gradient(circle at 12% 0%, rgba(125,211,252,.10), transparent 30rem),
        radial-gradient(circle at 88% 8%, rgba(215,255,69,.08), transparent 28rem),
        var(--bg);
      color: var(--text);
      font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      overflow-x: hidden;
    }

    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }
    button, input { font: inherit; }
    ::selection { background: var(--accent); color: #0b0d10; }
    :focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; border-radius: 6px; }

    .shell { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }

    .site-header {
      position: fixed;
      z-index: 50;
      inset: 18px 0 auto;
      pointer-events: none;
    }
    .nav {
      pointer-events: auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      padding: 12px 14px 12px 18px;
      border: 1px solid var(--line);
      background: rgba(11,13,16,.72);
      backdrop-filter: blur(18px);
      border-radius: 999px;
      box-shadow: 0 10px 30px rgba(0,0,0,.16);
    }
    .brand {
      display: flex;
      align-items: center;
      gap: 11px;
      font-weight: 800;
      letter-spacing: -.02em;
      font-size: 14px;
    }
    .brand-mark {
      width: 34px; height: 34px;
      display: grid; place-items: center;
      color: #090b0d; background: var(--accent);
      border-radius: 50%; font-weight: 900;
    }
    .nav-links { display: flex; align-items: center; gap: 6px; }
    .nav-links a {
      padding: 10px 13px;
      border-radius: 999px;
      color: #d9dce1;
      font-size: 13px;
      transition: background .2s ease, color .2s ease;
    }
    .nav-links a:hover { background: rgba(255,255,255,.08); color: white; }
    .nav-cta { background: var(--text) !important; color: #0b0d10 !important; font-weight: 800; }

    .hero {
      min-height: 88svh;
      display: flex;
      align-items: center;
      padding: 150px 0 84px;
      position: relative;
      overflow: hidden;
    }
    .hero > .shell { position:relative; z-index:2; }
    .hero::before {
      content: "";
      position: absolute;
      width: min(58vw, 760px);
      height: min(58vw, 760px);
      border: 1px solid rgba(255,255,255,.045);
      border-radius: 50%;
      right: -18vw;
      top: -20vw;
      box-shadow: inset 0 0 0 86px rgba(255,255,255,.006), inset 0 0 0 172px rgba(255,255,255,.004);
      pointer-events:none;
    }
    .hero-brand-visual {
      position:absolute;
      z-index:1;
      right:clamp(24px, 5vw, 82px);
      top:clamp(96px, 12vh, 132px);
      width:clamp(300px, 29vw, 440px);
      aspect-ratio:1;
      display:grid;
      place-items:center;
      pointer-events:none;
      isolation:isolate;
    }
    .hero-brand-orb {
      display:none;
    }
    .hero-brand-ring {
      position:absolute;
      inset:0;
      border-radius:50%;
      border:clamp(10px, .9vw, 15px) solid var(--accent);
      box-shadow:0 0 34px rgba(215,255,69,.12), inset 0 0 34px rgba(215,255,69,.035);
    }
    .hero-brand-ring::after {
      content:"";
      position:absolute;
      inset:clamp(10px, 1vw, 16px);
      border-radius:50%;
      border:1px solid rgba(215,255,69,.18);
    }
    .hero-brand-word {
      position:relative;
      z-index:2;
      color:var(--paper);
      font-size:clamp(118px, 12vw, 184px);
      line-height:.72;
      font-weight:950;
      letter-spacing:-.04em;
      transform:none;
      text-shadow:0 0 26px rgba(215,255,69,.08);
    }
    .hero-brand-label {
      position:absolute;
      left:50%;
      bottom:-36px;
      transform:translateX(-50%);
      color:#cdd1d6;
      font-size:10px;
      line-height:1;
      text-transform:uppercase;
      letter-spacing:.18em;
      font-weight:850;
      white-space:nowrap;
    }

    .eyebrow {
      display: inline-flex;
      gap: 10px;
      align-items: center;
      margin-bottom: 22px;
      color: var(--muted);
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .16em;
      font-weight: 800;
    }
    .eyebrow::before { content:""; width: 36px; height: 1px; background: var(--accent); }

    .hero h1 {
      max-width: 1050px;
      margin: 0;
      font-size: clamp(62px, 9.3vw, 148px);
      line-height: .86;
      letter-spacing: -.035em;
      font-weight: 800;
    }
    .hero h1 .outline {
      color: transparent;
      -webkit-text-stroke: 1px rgba(246,244,238,.8);
      text-stroke: 1px rgba(246,244,238,.8);
    }
    .hero h1 .accent { color: var(--accent); }

    .hero-lower {
      margin-top: 36px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 30px;
      align-items: end;
    }
    .hero-copy { max-width: 650px; font-size: clamp(18px, 2.1vw, 26px); line-height: 1.45; color: #c8ccd3; letter-spacing: -.02em; }
    .hero-copy strong { color: var(--text); }
    .hero-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
    .button {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 13px 16px;
      min-height: 48px;
      border: 1px solid var(--line);
      border-radius: 999px;
      font-size: 13px;
      font-weight: 800;
      transition: transform .2s ease, background .2s ease, border-color .2s ease;
    }
    .button:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.3); }
    .button.primary { background: var(--accent); color: #0b0d10; border-color: transparent; }
    .arrow { font-size: 16px; transition: transform .2s ease; }
    .button:hover .arrow { transform: translate(3px,-3px); }

    .ticker-wrap { border-block: 1px solid var(--line); overflow: hidden; background: rgba(255,255,255,.018); }
    .ticker { display: flex; width: max-content; animation: ticker 28s linear infinite; }
    .ticker span { display: inline-flex; align-items:center; gap: 18px; padding: 18px 28px; color: #c4c8cf; font-size: 12px; text-transform: uppercase; letter-spacing: .16em; font-weight: 800; white-space: nowrap; }
    .ticker i { width: 6px; height: 6px; background: var(--accent); border-radius: 50%; }
    @keyframes ticker { to { transform: translateX(-50%); } }

    section { padding: 110px 0; }
    .section-head { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 42px; }
    .section-kicker { color: var(--accent); text-transform: uppercase; letter-spacing: .18em; font-size: 11px; font-weight: 900; }
    .section-head h2 { margin: 9px 0 0; font-size: clamp(42px, 5vw, 76px); line-height: .96; letter-spacing: -.055em; }
    .section-head p { max-width: 430px; margin: 0; color: var(--muted); line-height: 1.65; font-size: 15px; }

    .featured-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
    .project {
      position: relative;
      border: 1px solid var(--line);
      background: var(--panel);
      border-radius: var(--radius);
      overflow: hidden;
      min-height: 520px;
      box-shadow: var(--shadow);
      cursor: pointer;
      isolation: isolate;
      content-visibility: auto;
      contain-intrinsic-size: 520px;
    }
    .project.large { grid-column: span 7; }
    .project.medium { grid-column: span 5; }
    .project.full { grid-column: span 12; min-height: 600px; }
    .project-media { position: absolute; inset: 0; overflow: hidden; background: #15191f; }
    .project-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .4s ease; }
    .project:hover .project-media img { transform: scale(1.035); }
    .project-media::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, transparent 34%, rgba(7,9,11,.88) 100%); }
    .project-info { position: absolute; inset: auto 0 0; padding: 28px; z-index: 3; }
    .project-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 13px; }
    .pill { padding: 7px 9px; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; font-weight: 900; background: rgba(10,12,15,.38); backdrop-filter: blur(10px); }
    .project h3 { margin: 0; font-size: clamp(30px, 3vw, 54px); letter-spacing: -.045em; line-height: .98; }
    .project p { color: #c5c9cf; margin: 12px 0 0; max-width: 560px; line-height: 1.55; font-size: 14px; }
    .project-open {
      position: absolute; right: 20px; top: 20px; z-index: 4;
      width: 44px; height: 44px; border-radius: 50%;
      display:grid; place-items:center; border: 1px solid rgba(255,255,255,.18); background: rgba(9,11,13,.42); backdrop-filter: blur(10px);
      transition: transform .25s ease, background .25s ease;
    }
    .project:hover .project-open { transform: rotate(45deg); background: var(--accent); color:#0b0d10; }

    .jamber-art { position:absolute; inset:0; background: linear-gradient(135deg, #eef0e9 0 62%, #d7ff45 62% 100%); color:#111; padding: 56px 46px 130px; overflow:hidden; }
    .browser-bar { display:flex; align-items:center; gap:7px; height: 40px; padding: 0 14px; background:#101317; color:#7d838b; border-radius: 12px 12px 0 0; font-size: 10px; letter-spacing:.08em; }
    .browser-dot { width:7px;height:7px;border-radius:50%;background:#59606a; }
    .browser-url { margin-left: 9px; padding: 7px 12px; border-radius:999px; background:#1a1e24; flex:1; }
    .jamber-page { height: calc(100% - 40px); min-height: 320px; background:#f8f8f3; border-radius:0 0 12px 12px; padding: 34px; position:relative; overflow:hidden; }
    .jamber-page::after { content:""; position:absolute; width:230px; height:230px; border-radius:50%; background:#d7ff45; right:-50px; bottom:-60px; }
    .jamber-mini-nav { display:flex; justify-content:space-between; align-items:center; font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:900; }
    .jamber-word { font-size:13px; letter-spacing:.18em; }
    .jamber-links { color:#6e747a; }
    .jamber-hero { margin-top: 64px; max-width: 520px; position:relative; z-index:2; }
    .jamber-hero small { display:block; text-transform:uppercase; letter-spacing:.16em; font-weight:800; color:#70747a; margin-bottom:14px; }
    .jamber-hero b { display:block; font-size:clamp(32px,4vw,64px); line-height:.92; letter-spacing:-.055em; }
    .jamber-hero em { display:inline-block; margin-top:24px; padding:10px 14px; background:#111; color:#fff; border-radius:999px; font-size:10px; text-transform:uppercase; letter-spacing:.14em; font-style:normal; font-weight:900; }

    .roses-media {
      display: grid;
      place-items: center;
      padding: 28px;
      background:
        radial-gradient(circle at 82% 14%, rgba(255,74,224,.35), transparent 22rem),
        radial-gradient(circle at 16% 78%, rgba(121,46,141,.55), transparent 28rem),
        #211623;
    }
    .roses-media img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      border-radius: 14px;
      box-shadow: 0 28px 80px rgba(0,0,0,.44);
      transform: none !important;
    }
    .roses-media::after {
      background: linear-gradient(180deg, rgba(9,7,10,.02) 42%, rgba(9,7,10,.82) 100%);
    }

    .pba-media::after {
      background: linear-gradient(180deg, rgba(7,9,11,.04) 24%, rgba(7,9,11,.2) 52%, rgba(7,9,11,.92) 100%);
    }
    .pba-badges {
      position:absolute;
      top:22px;
      left:22px;
      z-index:3;
      display:flex;
      gap:10px;
    }
    .pba-badge {
      width:58px;
      height:58px;
      padding:9px;
      display:grid;
      place-items:center;
      border:1px solid rgba(255,255,255,.16);
      border-radius:15px;
      background:rgba(8,10,12,.66);
      backdrop-filter:blur(10px);
      box-shadow:0 12px 35px rgba(0,0,0,.2);
    }
    .pba-badge img { width:100%; height:100%; object-fit:contain; }
    .pba-logo-row {
      display:flex;
      gap:14px;
      flex-wrap:wrap;
      margin-top:24px;
    }
    .pba-logo-chip {
      min-width:104px;
      height:78px;
      padding:12px 16px;
      display:grid;
      place-items:center;
      border:1px solid var(--line);
      border-radius:16px;
      background:rgba(255,255,255,.025);
    }
    .pba-logo-chip img { max-width:78px; max-height:54px; object-fit:contain; }
    .case-grid-three {
      display:grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap:18px;
    }
    .westshore-photo-block { margin-top: 10px; }
    .westshore-photo-head {
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:24px;
      margin: 34px 0 18px;
    }
    .westshore-photo-head h4 {
      margin: 4px 0 0;
      font-size: clamp(26px,3vw,38px);
      letter-spacing: -.035em;
    }
    .westshore-photo-head p {
      max-width: 520px;
      margin: 0;
      color:#9da3ab;
      font-size:14px;
      line-height:1.6;
    }
    .westshore-portrait-layout {
      display:grid;
      grid-template-columns: .9fr 1.1fr;
      gap:18px;
      align-items:stretch;
    }
    .westshore-portrait-feature,
    .westshore-portrait-grid { min-width:0; }
    .westshore-portrait-feature .case-figure { height:100%; }
    .westshore-portrait-feature .case-figure img {
      width:100%;
      height:100%;
      min-height: 720px;
      object-fit:cover;
      object-position:center top;
    }
    .westshore-portrait-grid {
      display:grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap:18px;
    }
    .westshore-portrait-grid .case-figure img {
      width:100%;
      aspect-ratio: 4 / 5;
      object-fit:cover;
      object-position:center top;
    }
    .westshore-portrait-layout .case-figure figcaption {
      padding:13px 15px;
      font-size:10px;
    }


.westshore-logo-stack {
  display:grid;
  grid-template-columns: 1fr;
  gap:18px;
  margin-top: 18px;
}
.westshore-logo-stack .case-figure img {
  width:100%;
  height:auto;
}

    .heart-media-grid {
      position:absolute;
      inset:0;
      display:grid;
      grid-template-columns: repeat(5, minmax(0,1fr));
      background:#0d1014;
    }
    .heart-media-grid img {
      width:100%;
      height:100%;
      object-fit:cover;
      min-width:0;
      filter:saturate(.95) contrast(1.03);
      transition:transform .7s cubic-bezier(.2,.8,.2,1), filter .4s ease;
    }
    .project:hover .heart-media-grid img { transform:scale(1.035); filter:saturate(1.08) contrast(1.04); }
    .heart-media-grid::after {
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, rgba(7,9,11,.18), rgba(7,9,11,.02) 45%, rgba(7,9,11,.15)),
        linear-gradient(180deg, rgba(7,9,11,.02) 28%, rgba(7,9,11,.9) 100%);
    }
    .heart-brand-lockup {
      position:absolute;
      z-index:3;
      left:24px;
      top:22px;
      display:flex;
      align-items:center;
      gap:10px;
      pointer-events:none;
    }
    .heart-brand-chip {
      display:grid;
      place-items:center;
      min-height:68px;
      padding:10px 14px;
      border:1px solid rgba(255,255,255,.17);
      border-radius:16px;
      background:rgba(8,10,12,.72);
      backdrop-filter:blur(12px);
      box-shadow:0 14px 40px rgba(0,0,0,.24);
    }
    .heart-brand-chip.event { width:92px; }
    .heart-brand-chip.venue { width:176px; }
    .heart-brand-chip img { width:100%; max-height:48px; object-fit:contain; }
    .heart-hero {
      position:absolute;
      inset:0;
      overflow:hidden;
      background:#0c1015;
    }
    .heart-hero .heart-media-grid { position:absolute; }
    .heart-hero .heart-brand-lockup { top:26px; left:28px; }

    .heart-metrics {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
      margin-top:26px;
    }
    .heart-metric {
      padding:18px 16px;
      border:1px solid var(--line);
      border-radius:16px;
      background:rgba(255,255,255,.025);
      min-width:0;
    }
    .heart-metric b {
      display:block;
      font-size:clamp(26px,3vw,40px);
      line-height:1;
      letter-spacing:-.045em;
      color:#ff405d;
      white-space:nowrap;
    }
    .heart-metric span {
      display:block;
      margin-top:8px;
      color:#aeb3bb;
      font-size:10px;
      line-height:1.4;
      text-transform:uppercase;
      letter-spacing:.12em;
      font-weight:900;
    }
    .social-section {
      margin-top:42px;
      padding-top:34px;
      border-top:1px solid var(--line);
    }
    .social-section-head {
      display:flex;
      justify-content:space-between;
      gap:28px;
      align-items:end;
      margin-bottom:22px;
    }
    .social-section-head h3 {
      margin:8px 0 0;
      font-size:clamp(32px,4vw,52px);
      letter-spacing:-.045em;
      line-height:.98;
    }
    .social-section-head p {
      margin:0;
      max-width:430px;
      color:#aeb3bb;
      font-size:13px;
      line-height:1.6;
    }
    .social-player-layout {
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);
      gap:18px;
      align-items:start;
    }
    .social-video-stage {
      position:relative;
      min-height:620px;
      display:grid;
      place-items:center;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:22px;
      background:
        radial-gradient(circle at 20% 14%, rgba(255,64,93,.11), transparent 20rem),
        linear-gradient(145deg,#090b0f,#11151b);
    }
    .social-video-stage video {
      display:block;
      width:100%;
      height:620px;
      object-fit:contain;
      background:#06080a;
    }
    .social-video-meta {
      position:absolute;
      left:16px;
      top:16px;
      z-index:2;
      padding:8px 10px;
      border:1px solid rgba(255,255,255,.14);
      border-radius:999px;
      background:rgba(5,7,9,.72);
      backdrop-filter:blur(10px);
      color:#e9ebee;
      font-size:10px;
      letter-spacing:.12em;
      text-transform:uppercase;
      font-weight:900;
      pointer-events:none;
    }
    .social-playlist {
      display:grid;
      gap:10px;
    }
    .social-track {
      width:100%;
      display:grid;
      grid-template-columns:104px minmax(0,1fr) auto;
      gap:12px;
      align-items:center;
      padding:9px;
      border:1px solid var(--line);
      border-radius:16px;
      background:rgba(255,255,255,.018);
      color:var(--text);
      text-align:left;
      cursor:pointer;
      transition:border-color .2s ease, background .2s ease, transform .2s ease;
    }
    .social-track:hover { border-color:rgba(255,255,255,.3); transform:translateY(-1px); }
    .social-track.active { border-color:rgba(215,255,69,.6); background:rgba(215,255,69,.055); }
    .social-track img {
      width:104px;
      height:78px;
      object-fit:cover;
      border-radius:10px;
    }
    .social-track strong { display:block; font-size:13px; letter-spacing:-.01em; }
    .social-track small { display:block; margin-top:4px; color:#858c95; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
    .social-track time { color:#858c95; font-size:10px; font-variant-numeric:tabular-nums; }
    .heart-partner-line {
      display:flex;
      align-items:center;
      gap:14px;
      flex-wrap:wrap;
      margin-top:26px;
    }
    .heart-partner-line span {
      color:#777e87;
      font-size:10px;
      text-transform:uppercase;
      letter-spacing:.13em;
      font-weight:900;
    }
    .heart-partner-line img { max-height:42px; max-width:145px; object-fit:contain; }

    .case-study-extra { margin-top: 52px; }
    .case-study-extra:empty { display: none; }
    .case-intro {
      display: grid;
      grid-template-columns: .78fr 1.22fr;
      gap: 42px;
      align-items: start;
      padding-top: 34px;
      border-top: 1px solid var(--line);
    }
    .case-intro h3 {
      margin: 8px 0 0;
      font-size: clamp(32px, 4vw, 54px);
      letter-spacing: -.045em;
      line-height: .98;
    }
    .case-intro p { margin: 0; color:#c4c8ce; line-height:1.7; font-size:15px; }

    .case-scope {
      margin-top:24px;
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
    }
    .case-scope-item {
      padding:18px 16px;
      border:1px solid var(--line);
      border-radius:16px;
      background:rgba(255,255,255,.025);
    }
    .case-scope-item strong {
      display:block;
      color:#f2f1ed;
      font-size:14px;
      line-height:1.25;
    }
    .case-scope-item span {
      display:block;
      margin-top:6px;
      color:#9298a1;
      font-size:11px;
      line-height:1.45;
    }

    .stat-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap: 12px;
      margin-top: 28px;
    }
    .stat-card {
      min-height: 144px;
      padding: 18px 16px 16px;
      border: 1px solid var(--line);
      border-radius: 16px;
      background: rgba(255,255,255,.025);
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      overflow: hidden;
    }
    .stat-card b {
      display: block;
      color: #ff62df;
      font-size: clamp(24px,2.2vw,36px);
      line-height: .95;
      letter-spacing: -.04em;
      white-space: nowrap;
      font-variant-numeric: tabular-nums;
    }
    .stat-card span {
      display: block;
      margin-top: 14px;
      color: #aeb3bb;
      font-size: 10px;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .12em;
      line-height: 1.45;
      max-width: 10ch;
    }
    .case-gallery { display:grid; gap:18px; margin-top:38px; }
    .case-grid-two {
      display:grid;
      grid-template-columns: 1.08fr .92fr;
      gap:18px;
    }
    .case-figure {
      margin: 0;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 20px;
      background: #0d1014;
    }
    .case-figure img { width:100%; height:auto; }
    .case-figure.contain-pad {
      padding: clamp(18px,2.4vw,28px);
      background:
        radial-gradient(circle at 20% 18%, rgba(62,184,255,.12), transparent 14rem),
        #0d1014;
    }
    .case-figure.contain-pad img {
      display:block;
      width:100%;
      height:auto;
      object-fit:contain;
    }
    .case-figure figcaption {
      display:flex;
      justify-content:space-between;
      gap:20px;
      padding:16px 18px;
      color:#8f969f;
      font-size:11px;
      letter-spacing:.04em;
    }
    .case-figure figcaption strong { color:#dfe2e6; }
    .dialog-hero.showcase-hero {
      min-height: 520px;
      padding: 28px;
      display:grid;
      place-items:center;
      background:
        radial-gradient(circle at 20% 24%, rgba(62,184,255,.18), transparent 24rem),
        linear-gradient(135deg, #07111b 0%, #0a111a 42%, #11141a 100%);
    }
    .dialog-hero.showcase-hero img {
      width:100%;
      height:100%;
      max-height: 470px;
      object-fit:contain;
      border-radius: 14px;
      box-shadow:0 30px 90px rgba(0,0,0,.48);
    }



    /* Run 4 Roses flagship case study */
    .r4r-case {
      --r4r-pink:#ff48c5;
      --r4r-pink-2:#ff8bdd;
      --r4r-purple:#8d55ff;
      --r4r-blue:#6fd6ff;
      margin-top:52px;
    }
    .r4r-case .section-kicker { color:var(--r4r-pink); }
    .r4r-section {
      margin-top:52px;
      padding-top:40px;
      border-top:1px solid var(--line);
      scroll-margin-top:24px;
    }
    .r4r-section-head {
      display:grid;
      grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
      gap:42px;
      align-items:start;
      margin-bottom:26px;
    }
    .r4r-section-head h3 {
      margin:8px 0 0;
      font-size:clamp(34px,4.2vw,56px);
      line-height:.96;
      letter-spacing:-.05em;
    }
    .r4r-section-head p {
      margin:0;
      color:#c4c8ce;
      font-size:15px;
      line-height:1.72;
    }
    .r4r-stat-grid {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
      margin-top:28px;
    }
    .r4r-stat {
      min-height:142px;
      padding:20px 17px;
      border:1px solid rgba(255,72,197,.18);
      border-radius:18px;
      background:
        radial-gradient(circle at 100% 0%, rgba(255,72,197,.10), transparent 8rem),
        rgba(255,255,255,.022);
    }
    .r4r-stat b {
      display:block;
      color:var(--r4r-pink);
      font-size:clamp(27px,2.6vw,39px);
      line-height:.95;
      letter-spacing:-.045em;
      white-space:nowrap;
      font-variant-numeric:tabular-nums;
    }
    .r4r-stat span {
      display:block;
      margin-top:14px;
      color:#aeb3bb;
      font-size:10px;
      line-height:1.45;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.11em;
    }
    .r4r-impact-strip {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      margin-top:14px;
      border:1px solid var(--line);
      border-radius:20px;
      overflow:hidden;
      background:linear-gradient(135deg,rgba(255,72,197,.055),rgba(141,85,255,.025));
    }
    .r4r-impact-item {
      padding:20px 18px;
      min-height:110px;
      border-right:1px solid var(--line);
    }
    .r4r-impact-item:last-child { border-right:0; }
    .r4r-impact-item strong {
      display:block;
      color:#f7f5f0;
      font-size:clamp(21px,2vw,30px);
      letter-spacing:-.035em;
    }
    .r4r-impact-item span {
      display:block;
      margin-top:8px;
      color:#858c95;
      font-size:10px;
      line-height:1.45;
      text-transform:uppercase;
      letter-spacing:.1em;
      font-weight:900;
    }
    .r4r-feature-video {
      margin-top:26px;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:22px;
      background:#07090c;
      box-shadow:0 26px 80px rgba(0,0,0,.26);
    }
    .r4r-feature-video video {
      display:block;
      width:100%;
      aspect-ratio:16/9;
      object-fit:contain;
      background:#050608;
    }
    .r4r-video-caption {
      display:flex;
      justify-content:space-between;
      gap:18px;
      align-items:flex-start;
      padding:17px 19px 18px;
      border-top:1px solid var(--line);
    }
    .r4r-video-caption strong { font-size:14px; color:#f2f1ed; }
    .r4r-video-caption span { color:#858c95; font-size:11px; line-height:1.5; text-align:right; }
    .r4r-short-grid {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:14px;
      margin-top:16px;
    }
    .r4r-short-card {
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:20px;
      background:#090b0f;
    }
    .r4r-short-card video {
      display:block;
      width:100%;
      aspect-ratio:9/16;
      object-fit:cover;
      background:#050608;
    }
    .r4r-short-card div { padding:14px 15px 16px; }
    .r4r-short-card strong { display:block; font-size:13px; }
    .r4r-short-card span { display:block; margin-top:5px; color:#858c95; font-size:10px; line-height:1.45; text-transform:uppercase; letter-spacing:.09em; }
    .r4r-social-grid {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
      margin-top:18px;
    }
    .r4r-social-grid figure {
      margin:0;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:18px;
      background:#0b0d10;
    }
    .r4r-social-grid img {
      width:100%;
      aspect-ratio:4/5;
      object-fit:cover;
      transition:transform .35s ease;
    }
    .r4r-social-grid figure:hover img { transform:scale(1.018); }
    .r4r-social-grid figcaption {
      min-height:58px;
      padding:12px 13px;
      color:#a3a8b0;
      font-size:10px;
      line-height:1.4;
    }
    .r4r-social-grid figcaption strong { display:block; color:#eceee9; font-size:11px; margin-bottom:3px; }
    .r4r-broadcast-metrics {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
      margin-top:24px;
    }
    .r4r-broadcast-metric {
      padding:19px 17px;
      border-radius:17px;
      border:1px solid var(--line);
      background:linear-gradient(145deg,rgba(141,85,255,.06),rgba(255,255,255,.016));
    }
    .r4r-broadcast-metric b { display:block; color:var(--r4r-pink-2); font-size:clamp(24px,2.4vw,36px); letter-spacing:-.04em; }
    .r4r-broadcast-metric span { display:block; margin-top:8px; color:#959ba3; font-size:10px; line-height:1.4; text-transform:uppercase; letter-spacing:.1em; font-weight:900; }
    .r4r-deck-grid {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:16px;
      margin-top:24px;
    }
    .r4r-deck-grid .case-figure { background:#ececec; }
    .r4r-deck-grid .case-figure img { width:100%; aspect-ratio:16/9; object-fit:cover; }
    .r4r-deck-grid .case-figure figcaption { background:#0d1014; }
    .r4r-concert-panel {
      padding:clamp(24px,4vw,42px);
      border:1px solid rgba(255,72,197,.20);
      border-radius:24px;
      background:
        radial-gradient(circle at 100% 0%, rgba(255,72,197,.14), transparent 24rem),
        radial-gradient(circle at 0% 100%, rgba(141,85,255,.12), transparent 26rem),
        #0b0d11;
    }
    .r4r-concert-panel .r4r-section-head { margin-bottom:22px; }
    .r4r-concert-points {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
      margin-top:22px;
    }
    .r4r-concert-point {
      padding:17px 16px;
      border:1px solid rgba(255,255,255,.08);
      border-radius:16px;
      background:rgba(255,255,255,.025);
    }
    .r4r-concert-point strong {
      display:block;
      color:#f4f2ef;
      font-size:12px;
      line-height:1.35;
    }
    .r4r-concert-point span {
      display:block;
      margin-top:6px;
      color:#8f959e;
      font-size:10px;
      line-height:1.45;
      text-transform:uppercase;
      letter-spacing:.09em;
    }
    .r4r-concert-panel .r4r-feature-video { margin-top:26px; }

    .r4r-close {
      margin-top:52px;
      padding:clamp(28px,4vw,48px);
      border:1px solid rgba(255,72,197,.20);
      border-radius:24px;
      background:
        radial-gradient(circle at 90% 10%, rgba(255,72,197,.15), transparent 22rem),
        radial-gradient(circle at 15% 100%, rgba(141,85,255,.12), transparent 24rem),
        #101318;
    }
    .r4r-close .section-kicker { color:var(--r4r-pink); }
    .r4r-close h3 {
      margin:9px 0 16px;
      max-width:780px;
      font-size:clamp(38px,5vw,65px);
      line-height:.94;
      letter-spacing:-.055em;
    }
    .r4r-close p { margin:0; max-width:780px; color:#c4c8ce; font-size:15px; line-height:1.72; }

    .easy2-cover {
      display:grid;
      place-items:center;
      overflow:hidden;
      background:#eceeef;
    }
    .easy2-cover::after { display:none; }
    .easy2-card-logo {
      width:100% !important;
      height:100% !important;
      object-fit:cover !important;
      transform:none !important;
      filter:none;
    }
    .archive-card:hover .easy2-card-logo { transform:scale(1.018) !important; }

    .easy2-hero-image {
      width:100% !important;
      height:430px !important;
      object-fit:cover !important;
      border-radius:0 !important;
      box-shadow:none !important;
    }
    .easy2-note {
      margin-top:24px;
      padding:18px 20px;
      border-left:3px solid #e4701e;
      background:rgba(228,112,30,.06);
      color:#c4c8ce;
      line-height:1.65;
      font-size:14px;
    }



    .jamber-project-media { background:#130d31; }
    .jamber-project-media img {
      object-position:center center;
      filter:none;
    }
    .dialog-hero.jamber-hero {
      width:100%;
      max-width:none;
      min-height:0;
      height:auto;
      margin-top:0;
      padding:0;
      display:block;
      background:#17124b;
    }
    .dialog-hero.jamber-hero img {
      display:block;
      width:100%;
      height:auto;
      max-height:none;
      object-fit:cover;
      object-position:center;
      border-radius:0;
      box-shadow:none;
    }
    .jamber-scope {
      margin-top:24px;
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
    }
    .jamber-scope-item {
      padding:18px 16px;
      border:1px solid var(--line);
      border-radius:16px;
      background:rgba(255,255,255,.025);
    }
    .jamber-scope-item strong {
      display:block;
      color:#f2f1ed;
      font-size:14px;
      line-height:1.25;
    }
    .jamber-scope-item span {
      display:block;
      margin-top:6px;
      color:#9298a1;
      font-size:11px;
      line-height:1.45;
    }
    .jamber-tech-note {
      margin-top:18px;
      padding:20px 22px;
      border:1px solid rgba(139,93,255,.25);
      border-radius:16px;
      background:linear-gradient(135deg,rgba(66,38,158,.13),rgba(31,89,255,.06));
      color:#c7cbd2;
      line-height:1.65;
      font-size:14px;
    }

    .filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom: 24px; }
    .filter-btn { border: 1px solid var(--line); background: transparent; color:#b9bdc4; border-radius:999px; padding:10px 13px; cursor:pointer; font-size:12px; font-weight:800; }
    .filter-btn.active, .filter-btn:hover { background: var(--text); color:#0b0d10; border-color:transparent; }
    .archive-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; }
    .archive-card { border:1px solid var(--line); background:var(--panel); border-radius:20px; overflow:hidden; transition: transform .25s ease, border-color .25s ease; cursor:pointer; }
    .archive-card:hover { transform:translateY(-5px); border-color:rgba(255,255,255,.26); }
    .archive-card.hide { display:none; }
    .archive-image { aspect-ratio: 4/3; background:#1b2026; overflow:hidden; position:relative; }
    .archive-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }

.archive-image.p2c-cover {
  background: linear-gradient(135deg, #f1f1f1 0%, #e5e5e5 100%);
}
.archive-image.p2c-cover img {
  object-fit: contain;
}
.dialog-hero.p2c-hero {
  min-height: 520px;
  padding: 22px;
  display:grid;
  place-items:center;
  background: linear-gradient(135deg, #efefef 0%, #dcdcdc 100%);
}
.dialog-hero.p2c-hero img {
  width:100%;
  height:100%;
  max-height: 476px;
  object-fit:contain;
  border-radius:14px;
  box-shadow:0 28px 70px rgba(0,0,0,.18);
}
.p2c-scope {
  margin-top: 24px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:12px;
}
.p2c-scope-item {
  padding:18px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.025);
}
.p2c-scope-item strong {
  display:block;
  color:#f2f1ed;
  font-size:14px;
  line-height:1.25;
}
.p2c-scope-item span {
  display:block;
  margin-top:6px;
  color:#9298a1;
  font-size:11px;
  line-height:1.45;
}


.dialog-hero.lig-hero {
  min-height: 520px;
  padding: 0;
  display:grid;
  place-items:center;
  background: radial-gradient(circle at 50% 42%, #eeeeee 0%, #dddddd 60%, #cccccc 100%);
}
.dialog-hero.lig-hero img {
  width:100%;
  height:520px;
  object-fit:contain;
  object-position:center;
  border-radius:0;
  box-shadow:none;
}
.lig-scope {
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.lig-scope-item {
  padding:18px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.025);
}
.lig-scope-item strong {
  display:block;
  color:#f2f1ed;
  font-size:14px;
  line-height:1.25;
}
.lig-scope-item span {
  display:block;
  margin-top:6px;
  color:#9298a1;
  font-size:11px;
  line-height:1.45;
}

    .archive-image.contain-thumb {
      background:
        radial-gradient(circle at 18% 22%, rgba(62,184,255,.18), transparent 18rem),
        linear-gradient(135deg, #07111b 0%, #0a111a 38%, #11141a 100%);
      padding: 18px;
    }
    .archive-image.contain-thumb img { object-fit: contain; }
    .archive-card:hover img { transform:scale(1.03); }
    .archive-body { padding:20px; }
    .archive-type { color:var(--accent); text-transform:uppercase; letter-spacing:.13em; font-size:9px; font-weight:900; }
    .archive-card h3 { margin:7px 0 0; font-size:23px; letter-spacing:-.03em; }
    .archive-card p { color:var(--muted); font-size:13px; line-height:1.55; margin:10px 0 0; }

    .profile { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.016); }
    .profile-grid { display:grid; grid-template-columns: 1.25fr .75fr; gap:80px; align-items:start; }
    .profile h2 { margin:0; font-size:clamp(48px,6vw,90px); line-height:.95; letter-spacing:-.06em; }
    .profile h2 span { color:var(--accent); }
    .profile-copy { margin-top:30px; max-width:760px; color:#c2c6cc; font-size:19px; line-height:1.6; letter-spacing:-.01em; }
    .cap-list { display:grid; gap:0; border-top:1px solid var(--line); }
    .cap { display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); color:#d6d9de; }
    .cap b { font-size:14px; }
    .cap span { color:#777e87; font-size:12px; }

    .contact { padding:120px 0 80px; }
    .contact-card { position:relative; overflow:hidden; padding:clamp(34px,6vw,82px); border-radius:32px; background:var(--accent); color:#0b0d10; min-height:430px; display:flex; flex-direction:column; justify-content:space-between; }
    .contact-card::after { content:"BIZ"; position:absolute; right:-.05em; bottom:-.27em; font-size:clamp(180px,30vw,520px); line-height:1; font-weight:950; letter-spacing:-.1em; color:rgba(0,0,0,.065); pointer-events:none; }
    .contact-card h2 { position:relative; z-index:2; margin:0; max-width:880px; font-size:clamp(46px,7.4vw,110px); line-height:.9; letter-spacing:-.065em; }
    .contact-row { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:end; gap:20px; margin-top:70px; }
    .contact-row p { margin:0; max-width:530px; font-size:15px; line-height:1.6; }
    .contact-link { background:#0b0d10; color:#fff; border:0; border-radius:999px; padding:16px 20px; font-size:13px; font-weight:900; white-space:nowrap; cursor:pointer; transition:transform .2s ease, background .2s ease; }
    .contact-link:hover { transform:translateY(-2px); background:#171a1f; }

    footer { padding:0 0 34px; color:#787e86; font-size:11px; }
    .footer-row { display:flex; justify-content:space-between; gap:20px; padding-top:24px; border-top:1px solid var(--line); }

    .reveal { opacity:0; transform:translateY(24px); transition:opacity .75s ease, transform .75s cubic-bezier(.2,.75,.2,1); }
    .reveal.visible { opacity:1; transform:none; }

    dialog {
      width:min(1040px, calc(100% - 28px));
      max-height:calc(100dvh - 28px);
      padding:0;
      color:var(--text);
      background:#11151a;
      border:1px solid rgba(255,255,255,.16);
      border-radius:24px;
      box-shadow:0 50px 120px rgba(0,0,0,.7);
      overflow:hidden;
    }
    .dialog-scroll {
      width:100%;
      height:min(920px, calc(100dvh - 28px));
      max-height:calc(100dvh - 28px);
      min-height:0;
      overflow-y:scroll;
      overflow-x:hidden;
      overscroll-behavior:contain;
      -webkit-overflow-scrolling:touch;
      scrollbar-gutter:stable;
      touch-action:pan-y;
    }
    dialog::backdrop { background:rgba(2,4,6,.82); backdrop-filter:blur(7px); }
    .dialog-close { position:sticky; z-index:6; top:14px; float:right; margin:14px 14px -60px 0; width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.16); background:rgba(8,10,12,.62); color:#fff; cursor:pointer; backdrop-filter:blur(10px); }
    .dialog-hero { min-height:430px; background:#20252c; position:relative; overflow:hidden; }
    .dialog-hero img { width:100%; height:430px; object-fit:cover; }
    .dialog-body { padding:clamp(26px,5vw,64px); }
    .dialog-body h2 { font-size:clamp(40px,6vw,78px); line-height:.95; letter-spacing:-.055em; margin:8px 0 18px; }
    .dialog-body p { color:#c4c8ce; line-height:1.65; font-size:16px; max-width:820px; }
    .dialog-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:50px; margin-top:36px; padding-top:34px; border-top:1px solid var(--line); }
    .dialog-list { display:grid; gap:12px; align-content:start; }
    .dialog-list div { display:flex; justify-content:space-between; gap:20px; padding-bottom:11px; border-bottom:1px solid var(--line); font-size:12px; }
    .dialog-list span { color:#858c95; }
    .dialog-list b { text-align:right; }
    .dialog-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }

    @media (max-width: 900px) {
      .nav-links a:not(.nav-cta) { display:none; }
      .hero { min-height:auto; padding:165px 0 70px; }
      .hero-brand-visual { width:290px; right:-42px; top:96px; opacity:.72; }
      .hero-brand-word { font-size:120px; }
      .hero-brand-label { display:none; }
      .hero-lower, .profile-grid, .dialog-grid { grid-template-columns:1fr; }
      .hero-actions { justify-content:flex-start; }
      .featured-grid { grid-template-columns:1fr; }
      .project.large, .project.medium, .project.full { grid-column:auto; min-height:520px; }
      .archive-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
      .profile-grid { gap:50px; }
      .section-head { align-items:start; flex-direction:column; }
      .case-intro { grid-template-columns:1fr; gap:20px; }
      .stat-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
      .case-grid-two { grid-template-columns:1fr; }
      .case-grid-three { grid-template-columns:1fr; }
      .lig-scope { grid-template-columns:1fr 1fr; }
      .jamber-scope { grid-template-columns:1fr 1fr; }
      .case-scope { grid-template-columns:1fr 1fr; }
      .westshore-photo-head { align-items:start; flex-direction:column; }
      .westshore-portrait-layout { grid-template-columns:1fr; }
      .westshore-portrait-feature .case-figure img { min-height:0; aspect-ratio:4/5; }
      .heart-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .social-player-layout { grid-template-columns:1fr; }
      .social-video-stage { min-height:560px; }
      .social-video-stage video { height:560px; }
      .social-section-head { align-items:start; flex-direction:column; }
      .r4r-section-head { grid-template-columns:1fr; gap:20px; }
      .r4r-stat-grid, .r4r-impact-strip, .r4r-broadcast-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .r4r-impact-item:nth-child(2) { border-right:0; }
      .r4r-impact-item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
      .r4r-short-grid { grid-template-columns:1fr 1fr; }
      .r4r-short-grid .r4r-short-card:last-child { grid-column:1 / -1; max-width:420px; width:100%; justify-self:center; }
      .r4r-social-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .r4r-deck-grid { grid-template-columns:1fr; }
      .r4r-concert-points { grid-template-columns:1fr; }
    }
    @media (max-width: 620px) {
      .shell { width:min(100% - 24px, var(--max)); }
      .site-header { inset:10px 0 auto; }
      .nav { padding:10px 10px 10px 13px; }
      .brand-text { display:none; }
      .hero { padding:150px 0 52px; }
      .hero-brand-visual { width:92px; right:8px; top:66px; opacity:.84; }
      .hero-brand-ring { border-width:6px; }
      .hero-brand-ring::after { inset:6px; }
      .hero-brand-word { font-size:40px; }
      .eyebrow, .hero h1, .hero-lower { max-width:calc(100% - 96px); }
      .hero h1 { font-size:clamp(48px,14vw,70px); line-height:.88; }
      .hero-copy { font-size:17px; }
      section { padding:78px 0; }
      .project, .project.large, .project.medium, .project.full { min-height:480px; }
      .project-info { padding:22px; }
      .lig-scope { grid-template-columns:1fr; }
      .jamber-scope { grid-template-columns:1fr; }
      .case-scope { grid-template-columns:1fr; }
      .archive-grid { grid-template-columns:1fr; }
      .jamber-art { padding:56px 18px 130px; }
      .jamber-page { padding:24px; }
      .jamber-links { display:none; }
      .contact-row, .footer-row { align-items:flex-start; flex-direction:column; }
      .contact-link { white-space:normal; }
  
.westshore-logo-stack {
  display:grid;
  grid-template-columns: 1fr;
  gap:18px;
  margin-top: 18px;
}
.westshore-logo-stack .case-figure img {
  width:100%;
  height:auto;
}

    .heart-media-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
      .heart-media-grid img:nth-child(4), .heart-media-grid img:nth-child(5) { display:none; }
      .heart-brand-lockup { left:14px; top:14px; gap:7px; }
      .heart-brand-chip.event { width:74px; min-height:58px; }
      .heart-brand-chip.venue { width:138px; min-height:58px; }
      .heart-brand-chip img { max-height:38px; }
      .heart-metrics { grid-template-columns:1fr 1fr; }
      .social-video-stage { min-height:480px; }
      .social-video-stage video { height:480px; }
      .social-track { grid-template-columns:86px minmax(0,1fr) auto; }
      .social-track img { width:86px; height:68px; }
      .r4r-stat-grid, .r4r-impact-strip, .r4r-broadcast-metrics, .r4r-short-grid, .r4r-social-grid { grid-template-columns:1fr; }
      .r4r-short-grid .r4r-short-card:last-child { grid-column:auto; max-width:none; }
      .r4r-impact-item { border-right:0; border-bottom:1px solid var(--line); }
      .r4r-impact-item:last-child { border-bottom:0; }
      .r4r-video-caption { flex-direction:column; }
      .r4r-video-caption span { text-align:left; }
    }


    @media (max-width: 420px) {
      .hero-brand-visual { width:82px; right:6px; top:68px; opacity:.8; }
      .hero-brand-ring { border-width:5px; }
      .hero-brand-ring::after { inset:5px; }
      .hero-brand-word { font-size:34px; }
      .eyebrow, .hero h1, .hero-lower { max-width:calc(100% - 84px); }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior:auto; }
      *, *::before, *::after { animation:none !important; transition-duration:.01ms !important; }
      .reveal { opacity:1; transform:none; }
    }
