/*
Theme Name: Lakar Studio
Theme URI: https://melakar.com/my/lakarstudio
Author: Melakar Studio
Author URI: https://www.melakar.com
Description: Official custom theme for Melakar Studio.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: LakarStudio
Tags: dark, portfolio, creative, studio, custom-post-types
*/

/* =============================================
   GOOGLE FONTS
   ============================================= */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=Inter:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');

/* =============================================
   DESIGN TOKENS
   ============================================= */
:root {
  /* ── Melakar Brand Palette (Fire / Ember) ── */
  --palette-1:  #03071e;
  --palette-2:  #370617;
  --palette-3:  #6a040f;
  --palette-4:  #9d0208;
  --palette-5:  #d00000;
  --palette-6:  #dc2f02;
  --palette-7:  #e85d04;
  --palette-8:  #f48c06;
  --palette-9:  #faa307;
  --palette-10: #ffba08;

  /* ── Backgrounds ── */
  --site-bg-image:      none;
  --site-bg-size:       cover;
  --site-bg-position:   center center;
  --site-bg-repeat:     no-repeat;
  --site-bg-attachment: scroll;
  --bg:            #0a0a0a;
  --bg-2:          #111111;
  --bg-3:          #181818;
  --bg-card:       #1a1a1a;
  --bg-card-hover: #242424;

  /* Header */
  --header-bg:          #0a0a0a;
  --header-bg-scrolled: #101010;
  --header-link:        #ffffff;
  --header-link-hover:  #ffffff;
  --header-hover-bg:    #242424;

  /* ── Borders ── */
  --border:        rgba(255,255,255,0.08);
  --border-light:  rgba(255,255,255,0.04);

  /* ── Accent / Brand — Red ── */
  --accent:        #d00000;
  --accent-light:  #dc2f02;
  --accent-dark:   #9d0208;
  --accent-muted:  rgba(208,0,0,0.12);
  --accent-rgb:    208 0 0;

  /* ── Interactive — Orange (buttons & links) ── */
  --color-btn:       #e85d04;
  --color-btn-hover: #f48c06;
  --button-text:     #0a0a0a;
  --partner-hero-primary-bg:      #ffffff;
  --partner-hero-primary-text:    #0a0a0a;
  --partner-hero-primary-hover:   #eeeeee;
  --partner-hero-secondary-bg:    #4f4f4f;
  --partner-hero-secondary-text:  #ffffff;
  --partner-hero-secondary-hover: #666666;

  /* ── Card thumbnail overlay button ── */
  --overlay-btn-bg:    #e85d04;
  --overlay-btn-color: #ffffff;

  /* ── Text ── */
  --text:          #ffffff;
  --text-muted:    #a7a7a7;
  --text-dim:      #535353;
  --title-color:   #ffffff;
  --section-label-color: #d00000;

  /* Homepage feature cards */
  --feature-card-bg:          #1a1a1a;
  --feature-card-bg-featured: #181818;
  --feature-card-bg-hover:    #242424;
  --feature-title-color:      #ffffff;
  --feature-text-color:       #a7a7a7;

  /* Partnership hero panel */
  --partner-panel-text:     #4a4a4a;
  --partner-panel-p-color:  #7a7a7a;
  --partner-panel-ul-color: #5e5e5e;

  /* Partnership directory */
  --partner-dir-bg:          #111111;
  --partner-sidebar-bg:      #ffffff;
  --partner-sidebar-heading: #111111;
  --partner-sidebar-text:    #6d6d6d;
  --partner-filter-text:     #555555;
  --partner-filter-active:   #111111;
  --partner-card-bg:         #ffffff;
  --partner-card-border:     #e8e8e3;
  --partner-single-content-bg:         #ffffff;
  --partner-single-content-heading:    #151515;
  --partner-single-content-text:       #242424;
  --partner-single-content-muted:      #666666;
  --partner-single-content-link:       #d00000;
  --partner-single-button-bg:          #d00000;
  --partner-single-button-text:        #ffffff;
  --partner-single-button-hover:       #dc2f02;
  --partner-single-button-hover-text:  #ffffff;
  --partner-hero-gradient-start:  #111111;
  --partner-hero-gradient-end:    #0a0a0a;
  --partner-hero-gradient-accent: #3a0606;
  --partner-hero-gradient-glow:   #4a0b0b;

  /* Contact */
  --contact-page-bg:              #0a0a0a;
  --contact-hero-gradient-start:  #111111;
  --contact-hero-gradient-end:    #0a0a0a;
  --contact-hero-gradient-accent: #3a0606;
  --contact-border:               #242424;
  --contact-title:                #ffffff;
  --contact-text:                 #a7a7a7;
  --contact-text-dim:             #535353;
  --contact-card-bg:              #1a1a1a;
  --contact-form-bg:              #1a1a1a;
  --contact-field-bg:             #111111;
  --contact-field-focus-bg:       #101010;
  --contact-field-text:           #ffffff;
  --contact-accent:               #dc2f02;
  --contact-success:              #4bd689;
  --contact-error:                #d00000;
  --contact-submit-bg:            #e85d04;
  --contact-submit-text:          #0a0a0a;
  --contact-submit-hover:         #f48c06;

  /* Portfolio */
  --portfolio-page-bg:        #050505;
  --portfolio-gradient-start: #111111;
  --portfolio-gradient-end:   #050505;
  --portfolio-gradient-accent:#3a0606;
  --portfolio-hero-glow:      #4a0b0b;
  --portfolio-hero-overlay:   #050505;
  --portfolio-border:         #242424;
  --portfolio-title:          #ffffff;
  --portfolio-text:           #d0d0d0;
  --portfolio-text-muted:     #9b9b9b;
  --portfolio-accent:         #d00000;
  --portfolio-feature-bg:     #101010;
  --portfolio-feature-label:  #fbbf24;
  --portfolio-card-bg:        #1a1a1a;
  --portfolio-card-hover:     #242424;
  --portfolio-card-title:     #ffffff;
  --portfolio-card-meta:      #737373;
  --portfolio-badge-bg:       rgba(16,185,129,0.12);
  --portfolio-badge-text:     #34d399;
  --portfolio-overlay-bg:     #d00000;
  --portfolio-overlay-icon:   #ffffff;
  --portfolio-filter-bg:      #111111;
  --portfolio-filter-text:    #d4d4d4;
  --portfolio-filter-active-bg:   #3a0606;
  --portfolio-filter-active-text: #ffffff;
  --portfolio-fact-bg:        #101010;
  --portfolio-action-bg:      #ffffff;
  --portfolio-action-text:    #d4d4d4;
  --portfolio-action-icon:    #111111;

  /* Blog */
  --blog-page-bg:             #0a0a0a;
  --blog-gradient-start:      #111111;
  --blog-gradient-end:        #0a0a0a;
  --blog-gradient-accent:     #3a0606;
  --blog-sidebar-title:       #ffffff;
  --blog-sidebar-text:        #a7a7a7;
  --blog-sidebar-border:      #242424;
  --blog-category-text:       #a7a7a7;
  --blog-category-active:     #ffffff;
  --blog-card-image-bg:       #181818;
  --blog-card-label:          #535353;
  --blog-card-title:          #ffffff;
  --blog-card-excerpt:        #a7a7a7;
  --blog-card-author:         #ffffff;
  --blog-card-meta:           #535353;
  --blog-accent:              #d00000;
  --blog-single-light-bg:     #f7f7f5;
  --blog-single-light-surface:#ffffff;
  --blog-single-light-soft:   #ededeb;
  --blog-single-light-border: #d7d7d2;
  --blog-single-light-title:  #191919;
  --blog-single-light-text:   #191919;
  --blog-single-light-muted:  #777777;
  --blog-single-light-button: #191919;
  --blog-single-light-button-hover:#3a3a38;
  --blog-single-light-button-text:#ffffff;
  --blog-single-dark-bg:      #0f0f0f;
  --blog-single-dark-surface: #191919;
  --blog-single-dark-soft:    #242424;
  --blog-single-dark-border:  #333333;
  --blog-single-dark-title:   #f4f1ea;
  --blog-single-dark-text:    #f4f1ea;
  --blog-single-dark-muted:   #9b968d;
  --blog-single-dark-button:  #f4f1ea;
  --blog-single-dark-button-hover:#ffffff;
  --blog-single-dark-button-text:#111111;
  --blog-comment-bg:          #101010;
  --blog-comment-reply-bg:    #151515;
  --blog-comment-border:      #333333;
  --blog-comment-author:      #f4f1ea;
  --blog-comment-meta:        #9b968d;
  --blog-comment-text:        #f4f1ea;
  --blog-comment-link:        #d00000;

  /* Product */
  --product-page-bg:         #050505;
  --product-gradient-start:  #111111;
  --product-gradient-end:    #050505;
  --product-gradient-accent: #3a0606;
  --product-gradient-glow:   #4a0b0b;
  --product-border:          #242424;
  --product-title:           #ffffff;
  --product-text:            #d7d2c8;
  --product-text-muted:      #a7a7a7;
  --product-accent:          #fbbf24;
  --product-card-bg:         #101010;
  --product-card-hover:      #17130a;
  --product-panel-bg:        #101010;
  --product-fact-bg:         #151515;
  --product-shelf-bg:        #101010;
  --product-shelf-accent:    #4a0b0b;
  --product-shelf-label:     #ffffff;
  --product-shelf-title:     #ffffff;
  --product-shelf-desc:      #d7d2c8;
  --product-shelf-cta:       #fbbf24;
  --product-new-label-bg:    #fbbf24;
  --product-new-label-text:  #111111;
  --product-featured-label-bg:   #ffffff;
  --product-featured-label-text: #111111;
  --product-button-bg:       #ffffff;
  --product-button-text:     #0a0a0a;
  --product-button-hover:    #eeeeee;
  --product-ghost-bg:        #4f4f4f;
  --product-ghost-text:      #ffffff;
  --product-ghost-hover:     #666666;

  /* Video / Series */
  --video-page-bg:            #050505;
  --video-gradient-start:     #141014;
  --video-gradient-end:       #050505;
  --video-gradient-accent:    #4a060a;
  --video-gradient-glow:      #7a1010;
  --video-hero-overlay:       #050505;
  --video-hero-text:          #ffffff;
  --video-hero-muted:         #e5e0d8;
  --video-border:             #262020;
  --video-title:              #ffffff;
  --video-text:               #d8d3cc;
  --video-text-muted:         #9f9990;
  --video-card-bg:            #151515;
  --video-card-title:         #ffffff;
  --video-card-hover:         #2a1111;
  --video-card-overlay:       #000000;
  --video-play-bg:            #f5c542;
  --video-play-text:          #090909;
  --video-secondary-bg:       #3b3b3b;
  --video-secondary-text:     #ffffff;
  --video-badge-bg:           #d00000;
  --video-badge-text:         #ffffff;
  --video-filter-bg:          #111111;
  --video-filter-text:        #d7d2c8;
  --video-filter-active-bg:   #3a0606;
  --video-filter-active-text: #ffffff;
  --video-player-bg:          #000000;
  --video-sidebar-bg:         #181818;
  --video-nav-card-bg:        #141414;
  --video-nav-card-text:      #ffffff;
  --video-nav-card-meta:      #9f9990;
  --video-nav-card-hover:     #242424;
  --video-nav-card-hover-text:#ffffff;
  --video-nav-card-hover-border:#d00000;
  --video-mobile-nav-bg:      #101010;

  /* Footer */
  --footer-bg:                #111111;
  --footer-bottom-bg:         #111111;
  --footer-border:            #242424;
  --footer-heading:           #ffffff;
  --footer-text:              #535353;
  --footer-link:              #535353;
  --footer-link-hover:        #d00000;
  --footer-icon:              #d00000;
  --footer-social-bg:         #181818;
  --footer-social-icon:       #a7a7a7;
  --footer-social-hover-bg:   #d00000;
  --footer-social-hover-icon: #0a0a0a;

  /* ── Typography ── */
  --font-display:  'Syne', system-ui, sans-serif;
  --font-body:     'Inter', system-ui, sans-serif;

  /* ── Shape ── */
  --radius:        8px;
  --radius-lg:     14px;
  --radius-xl:     24px;
  --radius-pill:   9999px;

  /* ── Motion ── */
  --ease:          0.25s ease;
  --ease-out:      0.35s cubic-bezier(0.22,1,0.36,1);

  /* ── Shadows ── */
  --shadow:        0 8px 32px rgba(0,0,0,0.6);
  --shadow-card:   0 2px 12px rgba(0,0,0,0.5);
  --shadow-hover:  0 16px 48px rgba(0,0,0,0.7);
}

/* =============================================
   RESET & BASE
   ============================================= */
*, *::before, *::after { box-sizing: border-box; }

html {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--bg);
  background-image: var(--site-bg-image);
  background-size: var(--site-bg-size);
  background-position: var(--site-bg-position);
  background-repeat: var(--site-bg-repeat);
  background-attachment: var(--site-bg-attachment);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--accent); text-decoration: none; transition: color var(--ease); }
a:hover { color: var(--accent-light); }

h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.2;
  margin-top: 0;
  color: var(--text);
}

p { margin-top: 0; }

#page { margin: 0; padding: 0; }

/* =============================================
   LAYOUT UTILITIES
   ============================================= */
.container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
}

body.lkr-layout-fixed .container {
  max-width: 1180px;
  padding-left: clamp(1.25rem, 5.2vw, 4.5rem);
  padding-right: clamp(1.25rem, 5.2vw, 4.5rem);
}

body.home.lkr-layout-fixed .container {
  max-width: 1220px;
  padding-left: clamp(1.25rem, 6vw, 5rem);
  padding-right: clamp(1.25rem, 6vw, 5rem);
}

body.lkr-layout-full-width .container {
  max-width: none;
  padding-left: clamp(1.25rem, 4vw, 4rem);
  padding-right: clamp(1.25rem, 4vw, 4rem);
}

body.home.lkr-layout-full-width .container {
  max-width: none;
  padding-left: clamp(1.25rem, 3.5vw, 4rem);
  padding-right: clamp(1.25rem, 3.5vw, 4rem);
}

.section {
  padding: 5rem 0;
}

.section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2.5rem;
}

.section-label {
  display: block;
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--section-label-color, var(--accent));
  margin-bottom: 0.4rem;
}

.section-title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  margin: 0;
  color: var(--title-color);
}

.section-desc {
  color: var(--text-muted);
  margin-top: 0.5rem;
  font-size: 0.95rem;
}

.see-all {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-muted);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--ease);
  padding-bottom: 0.2rem;
  border-bottom: 1px solid var(--border);
}
.see-all:hover { color: var(--text); border-color: var(--text); }

/* =============================================
   BUTTONS
   ============================================= */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.75rem;
  border-radius: var(--radius-pill);
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: all var(--ease);
  text-decoration: none;
  white-space: nowrap;
}

.btn-icon {
  flex-shrink: 0;
}

.btn-primary {
  background: var(--accent);
  color: var(--button-text);
}
.btn-primary:hover {
  background: var(--accent-light);
  color: var(--button-text);
  transform: scale(1.02);
}

.btn-ghost {
  background: transparent;
  color: var(--text);
  border: 1px solid rgba(255,255,255,0.25);
}
.btn-ghost:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.5);
  color: var(--text);
}

.btn-sm {
  padding: 0.45rem 1.1rem;
  font-size: 0.8rem;
}

/* =============================================
   BADGES / PILLS
   ============================================= */
.badge {
  display: inline-block;
  padding: 0.2rem 0.75rem;
  border-radius: var(--radius-pill);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.badge-accent  { background: var(--accent-muted); color: var(--accent); }
.badge-outline { background: transparent; border: 1px solid var(--border); color: var(--text-muted); }
.badge-dark    { background: var(--bg-3); color: var(--text-muted); }
.badge-event   { background: rgba(139,92,246,0.15); color: #a78bfa; }
.badge-video   { background: rgba(239,68,68,0.15); color: #f87171; }
.badge-portfolio { background: rgba(16,185,129,0.12); color: #34d399; }
.badge-product { background: rgba(250,163,7,0.14); color: #fbbf24; }

/* =============================================
   PORTFOLIO CATEGORY TABS
   ============================================= */
.portfolio-tabs {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2rem;
  border-bottom: 1px solid var(--border-light);
  gap: 0;
}

.portfolio-tab {
  padding: 0.65rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-muted);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color var(--ease), border-color var(--ease);
  white-space: nowrap;
}

.portfolio-tab:hover {
  color: var(--text);
  border-bottom-color: var(--border);
}

.portfolio-tab.is-active {
  color: var(--accent);
  border-bottom-color: var(--accent);
}

/* =============================================
   PORTFOLIO ARCHIVE HERO
   ============================================= */
.portfolio-archive-main {
  background: #050505;
}

.portfolio-archive-hero {
  position: relative;
  min-height: 72vh;
  min-height: 72svh;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background:
    radial-gradient(circle at 78% 18%, rgba(208,0,0,0.18), transparent 32rem),
    #050505;
}

.portfolio-archive-hero-bg {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  filter: saturate(1.05);
  transform: scale(1.02);
}

.portfolio-archive-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,5,5,0.96) 0%, rgba(5,5,5,0.72) 45%, rgba(5,5,5,0.25) 100%),
    linear-gradient(180deg, rgba(5,5,5,0.2) 0%, rgba(5,5,5,0.94) 100%);
}

.portfolio-archive-hero-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 28%;
  background: linear-gradient(180deg, transparent, #050505);
}

.portfolio-archive-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: end;
  padding-top: 8rem;
  padding-bottom: 4rem;
}

.portfolio-archive-copy {
  max-width: 820px;
}

.portfolio-archive-copy h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.6rem, 7vw, var(--portfolio-title-size, 6.4rem));
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.95;
}

.portfolio-archive-copy p {
  max-width: 660px;
  margin: 1.1rem 0 0;
  color: #d0d0d0;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.65;
}

.portfolio-archive-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.8rem;
}

.portfolio-feature-panel {
  display: grid;
  gap: 0.35rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: rgba(16,16,16,0.72);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 22px 60px rgba(0,0,0,0.36);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.portfolio-feature-panel:hover {
  border-color: rgba(255,255,255,0.24);
  color: #fff;
}

.portfolio-feature-panel span {
  color: #fbbf24;
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.portfolio-feature-panel strong {
  color: #fff;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.15;
}

.portfolio-feature-panel em {
  color: #bdbdbd;
  font-size: 0.86rem;
  font-style: normal;
  line-height: 1.5;
}

.portfolio-archive-list {
  padding-top: 2.5rem;
}

.portfolio-archive-list .card-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.85rem, 1.4vw, 1.15rem);
}

.portfolio-archive-list .card-thumb {
  aspect-ratio: 1 / 1;
}

.portfolio-category-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: 2rem;
}

.portfolio-category-pills a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  padding: 0.55rem 1rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  color: #d4d4d4;
  font-size: 0.84rem;
  font-weight: 800;
  text-decoration: none;
}

.portfolio-category-pills a:hover,
.portfolio-category-pills a.is-active {
  border-color: rgba(208,0,0,0.52);
  background: rgba(208,0,0,0.18);
  color: #fff;
}

@media (max-width: 900px) {
  .portfolio-archive-hero {
    min-height: 68vh;
    min-height: 68svh;
  }

  .portfolio-archive-hero-inner {
    grid-template-columns: 1fr;
    padding-top: 6.5rem;
    padding-bottom: 3rem;
  }
}

@media (max-width: 1024px) {
  .portfolio-archive-list .card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }
}

@media (max-width: 640px) {
  .portfolio-archive-hero {
    min-height: 62vh;
    min-height: 62svh;
  }

  .portfolio-archive-hero-inner {
    display: block;
    padding-top: 4rem;
    padding-bottom: 4.5rem;
  }

  .portfolio-archive-hero .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .portfolio-archive-copy {
    max-width: min(100%, 680px);
  }

  .portfolio-archive-copy h1 {
    font-size: clamp(2.1rem, 4.8vw, 4.8rem);
    line-height: 1;
  }

  .portfolio-archive-copy .nf-hero-desc {
    max-width: 520px;
    margin-bottom: 1rem;
    font-size: 0.88rem;
    line-height: 1.55;
  }

  .portfolio-archive-actions.nf-hero-actions {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .portfolio-archive-actions .nf-btn {
    width: auto;
    flex: 0 1 auto;
    justify-content: center;
    min-height: 44px;
    padding: 0.65rem 1rem;
    font-size: 0.88rem;
    white-space: nowrap;
  }

  .portfolio-archive-actions .nf-btn svg {
    width: 20px;
    height: 20px;
  }

  .portfolio-feature-panel {
    display: none;
  }

  .portfolio-archive-list .card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
  }

  .portfolio-archive-list .card-body {
    padding: 0.75rem 0.8rem 0.9rem;
  }

  .portfolio-archive-list .card-title {
    font-size: 0.84rem;
  }

  .portfolio-archive-list .card-meta,
  .portfolio-archive-list .card-excerpt {
    font-size: 0.72rem;
  }
}

/* =============================================
   PRODUCT ARCHIVE / SHELF
   ============================================= */
.product-archive-main {
  background:
    radial-gradient(circle at 82% 8%, rgba(250,163,7,0.12), transparent 32rem),
    #050505;
}

.product-shop-header {
  padding: 9rem 0 4.5rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.product-shop-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 520px);
  gap: 2rem;
  align-items: end;
}

.product-shop-title {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 6vw, 5rem);
  font-weight: 800;
  line-height: 0.98;
  letter-spacing: 0;
}

.product-shop-description {
  margin: 0;
  color: #d0d0d0;
  font-size: clamp(1rem, 1.45vw, 1.18rem);
  line-height: 1.65;
}

.product-filter-pills {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.25rem;
}

.product-filter-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.45rem;
  padding: 0.58rem 1rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  color: #d4d4d4;
  font-size: 0.84rem;
  font-weight: 800;
  text-decoration: none;
}

.product-filter-pill:hover,
.product-filter-pill.is-active {
  border-color: rgba(250,163,7,0.55);
  background: rgba(250,163,7,0.13);
  color: #fff;
}

.product-shelf-section {
  padding: 3rem 0 6rem;
}

.product-shelf-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.product-feature-card,
.product-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.09);
  background: #101010;
  transition: transform var(--ease-out), border-color var(--ease), background var(--ease), box-shadow var(--ease-out);
}

.product-feature-card:hover,
.product-card:hover {
  border-color: rgba(250,163,7,0.35);
  background: #151515;
  box-shadow: 0 18px 48px rgba(0,0,0,0.45);
  transform: translateY(-3px);
}

.product-feature-card {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1.05fr);
  min-height: 360px;
  border-radius: 16px;
}

.product-card {
  display: grid;
  grid-template-rows: auto 1fr;
  border-radius: 12px;
}

.product-card-media {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #181818, #27120a);
}

.product-card .product-card-media {
  aspect-ratio: 4 / 3;
}

.product-feature-card .product-card-media {
  min-height: 100%;
}

.product-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.product-feature-card:hover .product-card-media img,
.product-card:hover .product-card-media img {
  transform: scale(1.04);
}

.product-card-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  aspect-ratio: 4 / 3;
  color: #fbbf24;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.product-feature-card .product-card-placeholder {
  aspect-ratio: auto;
}

.product-card-content {
  display: flex;
  flex-direction: column;
  padding: 1.1rem;
}

.product-feature-card .product-card-content {
  justify-content: center;
  padding: clamp(1.5rem, 4vw, 3rem);
}

.product-card-category {
  margin-bottom: 0.8rem;
}

.product-card-title {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-size: 1.16rem;
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: 0;
}

.product-feature-card .product-card-title {
  max-width: 720px;
  font-size: clamp(1.9rem, 4vw, 3.35rem);
  line-height: 1.05;
}

.product-card-title a {
  color: inherit;
  text-decoration: none;
}

.product-card-title a:hover {
  color: #fbbf24;
}

.product-card-excerpt {
  margin: 0.75rem 0 0;
  color: #bfbfbf;
  font-size: 0.9rem;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-feature-card .product-card-excerpt {
  max-width: 620px;
  color: #d8d4ca;
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  -webkit-line-clamp: 4;
  line-clamp: 4;
}

.product-card-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-top: auto;
  padding-top: 1.15rem;
}

.product-card-meta {
  display: grid;
  gap: 0.18rem;
}

.product-card-price {
  color: #fbbf24;
  font-size: 1.06rem;
  font-weight: 900;
  line-height: 1.2;
}

.product-feature-card .product-card-price {
  font-size: 1.45rem;
}

.product-card-platform {
  color: #8f8f8f;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.35;
}

.product-card-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 2.35rem;
  padding: 0.52rem 0.85rem;
  border-radius: 999px;
  background: var(--product-button-bg);
  color: var(--product-button-text);
  font-size: 0.8rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.product-card-cta:hover {
  background: var(--product-button-hover);
  color: var(--product-button-text);
}

@media (max-width: 980px) {
  .product-shop-intro,
  .product-feature-card {
    grid-template-columns: 1fr;
  }

  .product-feature-card .product-card-media {
    min-height: auto;
    aspect-ratio: 16 / 9;
  }

  .product-shelf-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .product-shop-header {
    padding: 7rem 0 3rem;
  }

  .product-shop-title {
    font-size: clamp(2rem, 13vw, 3.1rem);
    line-height: 1.02;
  }

  .product-shelf-section {
    padding-top: 2rem;
  }

  .product-shelf-grid {
    grid-template-columns: 1fr;
  }

  .product-card-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .product-card-cta {
    width: 100%;
  }
}

/* Product marketplace layout */
.product-market-main {
  background:
    radial-gradient(circle at 82% 14%, var(--product-gradient-glow), transparent 34rem),
    linear-gradient(135deg, var(--product-gradient-accent), transparent 42%),
    linear-gradient(180deg, var(--product-gradient-start), var(--product-gradient-end));
  color: #f4f1ea;
  padding-bottom: 0;
}

.product-market-main .section-label {
  color: var(--section-label-color, var(--accent));
}

.product-market-header {
  padding: 9rem 0 4rem;
}

body.post-type-archive-product .product-market-header {
  position: relative;
  overflow: hidden;
}

body.post-type-archive-product .product-market-hero-bg {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  filter: saturate(1.05);
  transform: scale(1.02);
}

body.post-type-archive-product .product-market-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,5,5,0.94) 0%, rgba(5,5,5,0.7) 45%, rgba(5,5,5,0.26) 100%),
    linear-gradient(180deg, rgba(5,5,5,0.22) 0%, rgba(5,5,5,0.92) 100%);
}

body.post-type-archive-product .product-market-hero-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 28%;
  background: linear-gradient(180deg, transparent, #050505);
}

body.post-type-archive-product .product-market-header > .container {
  position: relative;
  z-index: 1;
}

.product-market-heading {
  max-width: 760px;
  margin-bottom: 1.4rem;
}

.product-category-header {
  padding-bottom: 0.8rem;
}

.product-back-link {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  width: fit-content;
  margin-bottom: 1.35rem;
  color: var(--product-text-muted);
  font-size: 0.84rem;
  font-weight: 800;
  text-decoration: none;
}

.product-back-link:hover {
  color: var(--product-title);
}

.product-market-heading h1 {
  margin: 0;
  color: var(--product-title);
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 7vw, 6.4rem);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: 0;
}

.product-market-heading p {
  max-width: 660px;
  margin: 1rem 0 0;
  color: var(--product-text-muted);
  font-size: 1rem;
  line-height: 1.7;
}

.product-category-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(190px, calc((100% - (0.85rem * 4)) / 5));
  gap: 0.85rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding-bottom: 0.3rem;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--product-accent) 40%, transparent) transparent;
}

.product-category-strip a {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  min-height: 92px;
  padding: 0.7rem;
  border: 1px solid var(--product-border);
  border-radius: 14px;
  background: var(--product-card-bg);
  color: var(--product-title);
  text-decoration: none;
  box-shadow: 0 12px 34px rgba(0,0,0,0.22);
  scroll-snap-align: start;
}

.product-category-strip a:hover {
  border-color: color-mix(in srgb, var(--product-accent) 45%, transparent);
  color: var(--product-title);
  transform: translateY(-2px);
}

.product-category-strip a.is-active {
  border-color: color-mix(in srgb, var(--product-accent) 55%, transparent);
  background: var(--product-card-hover);
}

.product-category-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  overflow: hidden;
  border-radius: 10px;
  background:
    radial-gradient(circle at 72% 24%, color-mix(in srgb, var(--product-accent) 28%, transparent), transparent 3.8rem),
    var(--product-fact-bg);
  color: var(--product-accent);
}

.product-category-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-category-thumb > span {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 900;
}

.product-category-info {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.product-category-info strong {
  color: var(--product-title);
  font-family: var(--font-body);
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: normal;
  overflow-wrap: anywhere;
}

.product-category-info small {
  color: var(--product-text-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.product-promo-section {
  position: relative;
  z-index: 4;
  margin-top: -2.2rem;
  padding: 0 0 2.4rem;
}

.product-promo-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) minmax(260px, 0.95fr);
  grid-template-rows: repeat(2, minmax(160px, 1fr));
  gap: 1rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, #ffffff 12%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, #050505 84%, transparent);
  box-shadow: 0 26px 64px rgba(0,0,0,0.42);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.product-promo-card {
  position: relative;
  display: block;
  min-height: 210px;
  overflow: hidden;
  border-radius: 12px;
  background: #101010;
  color: #fff;
  box-shadow: 0 18px 44px rgba(0,0,0,0.32);
}

.product-ad-card {
  background:
    radial-gradient(circle at 82% 20%, color-mix(in srgb, var(--product-shelf-accent) 38%, transparent), transparent 14rem),
    linear-gradient(135deg, var(--product-shelf-accent) 0%, var(--product-shelf-bg) 52%, var(--product-gradient-accent) 100%);
}

.product-promo-card.is-primary {
  grid-row: span 2;
  min-height: 340px;
}

.product-promo-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s ease;
}

.product-promo-card:hover img {
  transform: scale(1.04);
}

.product-promo-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.06), rgba(0,0,0,0.62));
}

.product-promo-card.is-primary .product-promo-shade {
  background: linear-gradient(90deg, rgba(5,5,5,0.92) 0%, rgba(5,5,5,0.68) 42%, rgba(0,0,0,0.12) 100%);
}

.product-ad-card .product-promo-shade {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.04), rgba(0,0,0,0.18)),
    radial-gradient(circle at 78% 22%, rgba(250,191,36,0.18), transparent 12rem);
}

.product-promo-content {
  position: absolute;
  inset: auto 1.1rem 1.1rem;
  display: grid;
  gap: 0.25rem;
  max-width: 520px;
}

.product-promo-card.is-primary .product-promo-content {
  inset: 2rem auto 2rem 2rem;
  color: #fff;
}

.product-promo-content small {
  color: var(--product-shelf-label);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.product-promo-label {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 0.28rem 0.58rem;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  background: rgba(255,255,255,0.1);
  color: #fff;
  line-height: 1;
}

.product-promo-label.is-new {
  border-color: var(--product-new-label-bg);
  background: var(--product-new-label-bg);
  color: var(--product-new-label-text);
  box-shadow: 0 8px 22px color-mix(in srgb, var(--product-accent) 24%, transparent);
}

.product-promo-label.is-featured {
  border-color: color-mix(in srgb, var(--product-featured-label-bg) 55%, transparent);
  background: var(--product-featured-label-bg);
  color: var(--product-featured-label-text);
  box-shadow: 0 8px 22px rgba(255,255,255,0.16);
}

.product-promo-content strong {
  color: var(--product-shelf-title);
  font-family: var(--font-body);
  font-size: clamp(1.25rem, 2.1vw, 2.1rem);
  font-weight: 700;
  line-height: 1.2;
}

.product-promo-card:not(.is-primary) .product-promo-content strong {
  font-size: 1.18rem;
}

.product-promo-content em {
  color: var(--product-shelf-desc);
  display: -webkit-box;
  font-size: 0.9rem;
  font-style: normal;
  line-height: 1.45;
  opacity: 0.86;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.product-promo-content b {
  color: var(--product-shelf-cta);
  font-size: 0.96rem;
  font-weight: 900;
}

.product-promo-grid-simple {
  grid-template-columns: 1fr;
  grid-template-rows: none;
}

.product-promo-grid-simple .product-promo-card.is-primary {
  min-height: 260px;
}

.product-all-section {
  padding: 1.3rem 0 2.4rem;
}

.product-row-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.4rem;
}

.product-row-header h2 {
  margin: 0;
  color: var(--product-title);
  font-family: var(--font-body);
  font-size: 1.05rem;
  font-weight: 900;
}

.product-filter-form {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.product-filter-form input[type="search"],
.product-filter-form select {
  min-height: 2.45rem;
  padding: 0.45rem 0.78rem;
  border: 1px solid var(--product-border);
  border-radius: 8px;
  background: #101114;
  color: var(--product-title);
  font-size: 0.82rem;
}

.product-filter-form select {
  color-scheme: dark;
}

.product-filter-form select option {
  background: #101114;
  color: #f4f1ea;
}

.product-filter-form input[type="search"] {
  min-width: 210px;
}

.product-filter-form input[type="search"]::placeholder {
  color: var(--product-text-muted);
}

.product-filter-form input[type="search"]:focus,
.product-filter-form select:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--product-accent) 50%, transparent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--product-accent) 22%, transparent);
}

.product-filter-reset {
  min-height: 2.45rem;
  padding: 0.45rem 0.88rem;
  border: 1px solid var(--product-border);
  border-radius: 8px;
  background: transparent;
  color: var(--product-title);
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
}

.product-filter-reset:hover,
.product-filter-reset:focus-visible {
  border-color: var(--product-button-bg);
  background: var(--product-button-bg);
  color: var(--product-button-text);
}

.product-results {
  position: relative;
}

.product-results.is-loading {
  opacity: 0.62;
  transition: opacity 120ms ease;
}

.product-filter-error {
  margin: 0.4rem 0 0;
  color: #f2b4b4;
  font-size: 0.9rem;
}

.product-row-header a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  padding: 0.45rem 1rem;
  border: 1px solid var(--product-border);
  border-radius: 999px;
  color: var(--product-title);
  font-size: 0.82rem;
  font-weight: 900;
  text-decoration: none;
}

.product-row-header a:hover {
  background: var(--product-button-bg);
  border-color: var(--product-button-bg);
  color: var(--product-button-text);
}

.product-market-main .pagination-wrap,
.product-market-main .nav-links {
  color: #f4f1ea;
}

.product-market-main .page-numbers {
  color: var(--product-text-muted);
}

.product-market-main .page-numbers.current {
  color: var(--product-button-text);
  background: var(--product-button-bg);
  border-color: var(--product-button-bg);
}

.product-market-main .page-numbers:hover {
  color: #fff;
}

.product-market-main .product-card {
  color: #f4f1ea;
}

.product-market-main .product-card-media {
  aspect-ratio: 1 / 1;
  position: relative;
  border: 1px solid color-mix(in srgb, #ffffff 14%, transparent);
  border-radius: 10px;
  background: var(--product-card-bg);
  box-shadow: 0 10px 24px rgba(0,0,0,0.22);
}

.product-card-format-badge {
  position: absolute;
  top: 0.55rem;
  left: 0.55rem;
  z-index: 2;
  display: inline-flex;
  max-width: calc(100% - 1.1rem);
  padding: 0.35rem 0.65rem;
  border: 1px solid color-mix(in srgb, var(--product-accent) 72%, #000);
  border-radius: 999px;
  background: var(--product-accent);
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.product-market-main .badge-product {
  background: transparent;
  color: var(--product-text-muted);
  padding: 0;
  font-size: 0.64rem;
}

.product-market-main .product-card-title {
  color: var(--product-title);
}

.product-market-main .product-card-title a:hover {
  color: var(--product-accent);
}

.product-market-main .product-card-price {
  color: var(--product-accent);
}

/* Override the earlier light marketplace card experiment. */
.product-market-main .product-card:hover {
  background: transparent;
  box-shadow: none;
  transform: none;
}

.product-market-main .product-card-content {
  display: block;
  padding: 0.55rem 0 0;
}

.product-market-main .product-card-category {
  margin-bottom: 0.35rem;
}

.tax-product_category .product-card-category {
  display: none;
}

.product-market-main .product-card-excerpt {
  display: none;
}

.product-market-main .product-card-footer {
  display: block;
  margin-top: 0.18rem;
  padding-top: 0;
}

.product-market-main .product-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: baseline;
}

.product-market-main .product-card-cta {
  display: none;
}

.product-market-main .product-card {
  display: block;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.product-market-main .product-card-media img {
  border-radius: inherit;
}

.product-market-main .product-card:hover .product-card-media img {
  transform: scale(1.03);
}

.product-market-main .product-card-title {
  font-family: var(--font-body);
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1.35;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.product-market-main .product-card-price {
  font-size: 1.02rem;
  font-weight: 900;
}

.product-market-main .product-card-platform {
  color: var(--product-text-muted);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.25;
}

.product-all-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.85rem, 1.4vw, 1.15rem);
}

@media (max-width: 900px) {
  .product-all-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }

  .product-promo-card.is-primary .product-promo-shade {
    background: linear-gradient(180deg, rgba(5,5,5,0.28), rgba(5,5,5,0.82));
  }
}

@media (max-width: 640px) {
  .product-market-header {
    padding: 7rem 0 3rem;
  }

  .product-row-header {
    align-items: stretch;
    flex-direction: column;
  }

  .product-filter-form {
    width: 100%;
  }

  .product-filter-form input[type="search"],
  .product-filter-form select,
  .product-filter-reset {
    width: 100%;
  }

  .product-all-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
  }

  .product-category-strip {
    grid-auto-columns: minmax(160px, calc((100% - 0.7rem) / 2));
    gap: 0.7rem;
  }

  .product-category-strip a {
    grid-template-columns: 56px minmax(0, 1fr);
    min-height: 78px;
    padding: 0.55rem;
  }

  .product-category-strip a:hover,
  .product-category-strip a.is-active {
    transform: none;
  }

  .product-category-thumb {
    width: 56px;
    height: 56px;
  }

  .product-category-info {
    gap: 0.1rem;
  }

  .product-category-info strong {
    max-width: 100%;
    font-family: var(--font-body);
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .product-category-info small {
    font-size: 0.7rem;
  }

  .product-promo-grid {
    padding: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    gap: 0.8rem;
  }

  .product-promo-card.is-primary {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 230px;
  }

  .product-promo-card:not(.is-primary) {
    min-height: 170px;
  }

  .product-promo-card.is-primary .product-promo-content,
  .product-promo-card:not(.is-primary) .product-promo-content {
    inset: auto 0.85rem 0.85rem;
  }

  .product-promo-content strong {
    font-size: 1.1rem;
    line-height: 1.2;
  }

  .product-promo-card.is-primary .product-promo-content strong {
    font-size: 1.55rem;
  }

  .product-market-heading h1 {
    font-size: clamp(2.1rem, 4.8vw, 4.8rem);
    line-height: 1;
  }

  .product-promo-content em {
    display: none;
  }

  .product-promo-label {
    padding: 0.24rem 0.48rem;
    font-size: 0.6rem;
  }

  .product-all-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
  }

  .product-market-main .product-card-title {
    font-size: 0.84rem;
  }

  .product-market-main .product-card-price {
    font-size: 0.86rem;
  }
}

@media (max-width: 900px) {
  .product-promo-section {
    margin-top: -1.45rem;
  }
}

@media (max-width: 460px) {
  .product-all-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }
}

@media (max-width: 360px) {
  .product-all-grid {
    grid-template-columns: 1fr;
  }
}

/*
   Legacy light product archive rules are intentionally overridden above to keep
   the product pages aligned with the rest of the dark theme.
*/

/* =============================================
   CARD GRID
   ============================================= */
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
}

.card-grid-4 {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.card-grid-2 {
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
}

/* =============================================
   CARD COMPONENT
   ============================================= */
.card {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: background var(--ease), transform var(--ease-out), box-shadow var(--ease-out);
  position: relative;
  border: 1px solid var(--border-light);
}

.card:hover {
  background: var(--bg-card-hover);
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}

.card-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--bg-3);
}

.card-thumb.square {
  aspect-ratio: 1/1;
}

.card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.card:hover .card-thumb img {
  transform: scale(1.05);
}

.card-thumb-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--ease);
}

.card:hover .card-thumb-overlay {
  background: rgba(0,0,0,0.55);
}

.card-thumb-overlay .overlay-btn {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--overlay-btn-bg);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  opacity: 0;
  transform: scale(0.7);
  transition: all 0.25s ease;
  text-decoration: none;
  color: var(--overlay-btn-color);
}

.card:hover .card-thumb-overlay .overlay-btn {
  opacity: 1;
  transform: scale(1);
}

.card-body {
  padding: 1.1rem 1.25rem 1.35rem;
}

.card-category {
  margin-bottom: 0.5rem;
}

.card-title {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 0.4rem;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.card-title a {
  color: inherit;
  text-decoration: none;
}
.card-title a:hover { color: var(--accent); }

.card-meta {
  font-size: 0.8rem;
  color: var(--text-dim);
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.card-excerpt {
  font-size: 0.875rem;
  color: var(--text-muted);
  line-height: 1.6;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* =============================================
   WORDPRESS CORE ALIGN CLASSES
   ============================================= */
.alignnone  { margin: 5px 20px 20px 0; }
.aligncenter, div.aligncenter { display: block; margin: 5px auto; }
.alignright { float: right; margin: 5px 0 20px 20px; }
.alignleft  { float: left;  margin: 5px 20px 20px 0; }
a img.alignright  { float: right; margin: 5px 0 20px 20px; }
a img.alignnone   { margin: 5px 20px 20px 0; }
a img.alignleft   { float: left;  margin: 5px 20px 20px 0; }
a img.aligncenter { display: block; margin-left: auto; margin-right: auto; }

.wp-caption { background: var(--bg-3); border: 1px solid var(--border); max-width: 96%; padding: 5px 3px 10px; text-align: center; }
.wp-caption img { border: 0; height: auto; margin: 0; max-width: 98.5%; padding: 0; width: auto; }
.wp-caption p.wp-caption-text { font-size: 11px; line-height: 17px; margin: 0; padding: 0 4px 5px; color: var(--text-muted); }

.sticky { border: 1px solid var(--accent-muted); background: var(--bg-card); padding: 10px; border-radius: var(--radius); }
.gallery-caption { font-style: italic; color: var(--text-dim); text-align: center; margin-top: 5px; }
.bypostauthor { border-left: 3px solid var(--accent); background: var(--accent-muted); padding: 5px; }

/* =============================================
   SCREEN READER TEXT
   ============================================= */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: var(--bg-3);
  clip: auto !important;
  clip-path: none;
  color: var(--text);
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* =============================================
   HEADER
   ============================================= */
.site-header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  background: color-mix(in srgb, var(--header-bg) 0%, transparent);
  transition: background var(--ease), backdrop-filter var(--ease), box-shadow var(--ease);
}

.site-header.scrolled {
  background: color-mix(in srgb, var(--header-bg-scrolled) 92%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 var(--border);
}

body.admin-bar .site-header { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 2rem;
  gap: 2rem;
}

.site-branding {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  flex-shrink: 0;
}

.site-branding .custom-logo-link img,
.site-branding .custom-logo {
  max-height: 42px;
  width: auto;
  height: auto;
}

.site-title {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--text);
  letter-spacing: -0.01em;
  margin: 0;
}

.site-title a { color: inherit; text-decoration: none; }
.site-title a:hover { color: var(--accent); }

.site-description {
  display: none;
}

/* =============================================
   NAVIGATION
   ============================================= */
.main-navigation {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.6rem;
  position: relative;
}

.main-navigation .menu-toggle {
  display: none;
  background: none;
  border: 1px solid var(--border);
  color: var(--header-link);
  font-size: 1rem;
  cursor: pointer;
  padding: 0.5rem 0.75rem;
  border-radius: var(--radius);
  transition: all var(--ease);
}

.main-navigation .menu-toggle:hover {
  background: var(--header-hover-bg);
  border-color: rgba(255,255,255,0.2);
}

.menu-toggle .menu-icon {
  display: inline-block;
  width: 20px;
  height: 2px;
  background: var(--header-link);
  position: relative;
}
.menu-toggle .menu-icon::before,
.menu-toggle .menu-icon::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background: var(--header-link);
  left: 0;
  transition: all 0.3s ease;
}
.menu-toggle .menu-icon::before { top: -6px; }
.menu-toggle .menu-icon::after  { bottom: -6px; }

.main-navigation.toggled .menu-icon { background: transparent; }
.main-navigation.toggled .menu-icon::before { transform: rotate(45deg); top: 0; }
.main-navigation.toggled .menu-icon::after  { transform: rotate(-45deg); top: 0; }

.main-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.25rem;
}

.main-navigation li { position: relative; }

.main-navigation a {
  display: block;
  text-decoration: none;
  color: var(--header-link);
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: var(--radius);
  transition: all var(--ease);
}

.main-navigation a:hover,
.main-navigation a:focus,
.main-navigation .current-menu-item > a,
.main-navigation .current-menu-ancestor > a {
  color: var(--text);
  background: var(--header-hover-bg);
}

/* Submenu */
.main-navigation ul.sub-menu {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 0.4rem;
  display: none;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  width: max-content;
  white-space: nowrap;
  box-shadow: var(--shadow);
  z-index: 9999;
  gap: 0;
}

.main-navigation ul.sub-menu li { width: 100%; }
.main-navigation ul.sub-menu a {
  padding: 0.55rem 1rem;
  border-radius: var(--radius);
  color: var(--text-muted);
  font-size: 0.85rem;
}
.main-navigation ul.sub-menu a:hover { color: var(--text); background: var(--bg-card-hover); }

.sub-menu li { border-bottom: 1px solid var(--border-light); padding: 0; }
.sub-menu li:last-child { border-bottom: none; }

.main-navigation .submenu-icon {
  width: 10px;
  height: 10px;
  margin-left: 0.4rem;
  vertical-align: middle;
  transition: transform 0.3s ease;
  filter: invert(1);
  opacity: 0.5;
}

@media (min-width: 769px) {
  .sub-menu.toggled, .menu-item.focus > .sub-menu { display: flex; opacity: 1; visibility: visible; }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .main-navigation li.menu-item-has-children:hover > .sub-menu,
  .main-navigation li.menu-item-has-children:focus-within > .sub-menu {
    display: none; opacity: 0; visibility: hidden;
  }
}

@media (min-width: 1025px) {
  .main-navigation li.menu-item-has-children:hover > .sub-menu,
  .main-navigation li.menu-item-has-children:focus-within > .sub-menu {
    display: flex; opacity: 1; visibility: visible;
  }
  .main-navigation li.menu-item-has-children:hover > a .submenu-icon,
  .main-navigation li.menu-item-has-children:focus-within > a .submenu-icon {
    transform: rotate(180deg) !important;
  }
}

.sub-menu.toggled { display: flex !important; opacity: 1 !important; visibility: visible !important; }

@media (max-width: 768px) {
  .main-navigation .menu-toggle { display: inline-flex; align-items: center; }

  .main-navigation ul {
    display: none;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(10,10,10,0.97);
    backdrop-filter: blur(20px);
    padding: 5rem 2rem 2rem;
    z-index: 999;
    gap: 0.25rem;
    align-items: flex-start;
    justify-content: flex-start;
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform 0.4s cubic-bezier(0.22,1,0.36,1);
  }

  .main-navigation.toggled ul {
    display: flex;
    transform: translateX(0);
  }

  .main-navigation a {
    font-size: 1.1rem;
    padding: 0.75rem 1rem;
    width: 100%;
  }

  .main-navigation .menu-item-has-children .sub-menu {
    position: static;
    background: var(--bg-3);
    border: none;
    box-shadow: none;
    padding: 0.25rem 0 0.25rem 1rem;
    opacity: 1;
    visibility: visible;
    width: 100%;
    display: none;
  }

  .main-navigation .menu-item-has-children .sub-menu.toggled { display: flex; }
  .main-navigation li.menu-item-has-children.toggled > a .submenu-icon { transform: rotate(180deg) !important; }
  .main-navigation li.menu-item-has-children:hover > a .submenu-icon,
  .main-navigation li.menu-item-has-children:focus-within > a .submenu-icon { transform: none !important; }
  .main-navigation li.menu-item-has-children.toggled:hover > a .submenu-icon { transform: rotate(180deg) !important; }
}

/* Nav CTA button */
.nav-cta {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1.2rem;
  background: var(--accent);
  color: #0a0a0a !important;
  border-radius: var(--radius-pill);
  font-weight: 700;
  font-size: 0.85rem;
  margin-left: 0.5rem;
  transition: all var(--ease);
}
.nav-cta:hover { background: var(--accent-light) !important; color: #0a0a0a !important; transform: scale(1.03); }

/* =============================================
   HERO SECTION
   ============================================= */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--bg);
}

.hero-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 120%, rgba(208,0,0,0.12) 0%, transparent 70%),
              radial-gradient(ellipse 50% 40% at 80% 20%, rgba(208,0,0,0.06) 0%, transparent 60%);
  pointer-events: none;
}

.hero-noise {
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
  pointer-events: none;
  opacity: 0.4;
}

.hero-content {
  position: relative;
  z-index: 1;
  max-width: 760px;
  padding-top: 5.5rem;
  padding-bottom: 4rem;
}

.hero-label {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1.5rem;
}

.hero-label::before {
  content: '';
  display: inline-block;
  width: 28px;
  height: 2px;
  background: var(--accent);
  border-radius: 2px;
}

.hero-title {
  font-family: var(--font-display);
  font-size: clamp(2.8rem, 7vw, var(--blog-title-size, 5.5rem));
  font-weight: 800;
  line-height: 1.05;
  margin: 0 0 1.5rem;
  letter-spacing: -0.03em;
  color: var(--text);
}

.hero-title em {
  font-style: normal;
  color: var(--accent);
}

.hero-desc {
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  color: var(--text-muted);
  margin-bottom: 2.5rem;
  max-width: 520px;
  line-height: 1.7;
}

.hero-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
}

.hero-scroll {
  position: absolute;
  bottom: 2.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  color: var(--text-dim);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  animation: heroScroll 2s ease-in-out infinite;
}

@keyframes heroScroll {
  0%,100% { opacity: 0.4; transform: translateX(-50%) translateY(0); }
  50% { opacity: 1; transform: translateX(-50%) translateY(6px); }
}

.hero-scroll svg { width: 20px; opacity: 0.5; }

/* =============================================
   SERVICES SECTION
   ============================================= */
.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
}

.service-card {
  background: var(--bg-card);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  padding: 1.75rem 1.5rem;
  transition: all var(--ease);
  position: relative;
  overflow: hidden;
}

.service-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--ease);
}

.service-card:hover { background: var(--bg-card-hover); transform: translateY(-3px); }
.service-card:hover::before { transform: scaleX(1); }

.service-icon {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  display: block;
}

.service-card h3 {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--text);
}

.service-card p {
  font-size: 0.85rem;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.6;
}

/* =============================================
   STATS BAR
   ============================================= */
.stats-bar {
  background: var(--bg-2);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 3rem 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 2rem;
  text-align: center;
}

.stat-number {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--accent);
  display: block;
  line-height: 1;
  margin-bottom: 0.4rem;
}

.stat-label {
  font-size: 0.8rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* =============================================
   VIDEO CARD SPECIAL
   ============================================= */
.video-card .card-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 50%);
  pointer-events: none;
}

.video-duration {
  position: absolute;
  bottom: 0.6rem;
  right: 0.6rem;
  background: rgba(0,0,0,0.8);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
  z-index: 2;
  font-family: var(--font-body);
}

.video-play-btn {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}

.video-play-btn .play-icon {
  width: 56px;
  height: 56px;
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(4px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--ease);
  border: 2px solid rgba(255,255,255,0.3);
}

.card:hover .video-play-btn .play-icon {
  background: var(--color-btn);
  border-color: var(--color-btn);
  transform: scale(1.1);
}

.play-icon svg { width: 20px; fill: #fff; margin-left: 3px; }

/* =============================================
   NETFLIX-INSPIRED VIDEO ARCHIVE
   ============================================= */
.netflix-dashboard {
  background: var(--bg);
  overflow: hidden;
}

.nf-hero {
  position: relative;
  min-height: 78vh;
  min-height: 78svh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #000;
}

.nf-hero-video-wrap,
.nf-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

.nf-hero-video-wrap iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;
  min-width: 177.78vh;
  min-height: 100vh;
  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none;
}

.nf-hero-img {
  background-size: cover;
  background-position: center;
}

.nf-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(10,10,10,0.92) 0%, rgba(10,10,10,0.55) 34%, rgba(10,10,10,0.18) 72%, rgba(10,10,10,0.6) 100%),
    linear-gradient(0deg, rgba(10,10,10,0.18), rgba(10,10,10,0.22));
  z-index: 1;
}

.nf-hero-fade-bottom {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 32%;
  background: linear-gradient(to bottom, transparent, var(--bg));
  z-index: 2;
  pointer-events: none;
}

.nf-hero-content {
  position: relative;
  z-index: 3;
  width: min(680px, calc(100% - 4rem));
  max-width: 1280px;
  margin-left: max(clamp(1.25rem, 4vw, 4rem), calc((100vw - 1280px) / 2 + 2rem));
  padding-top: 5rem;
}

body.lkr-layout-full-width .nf-hero-content {
  margin-left: clamp(1.25rem, 4vw, 4rem);
}

.nf-hero-title {
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 3.6vw, 3.6rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  color: var(--text);
  margin: 0 0 1rem;
  text-shadow: 0 6px 28px rgba(0,0,0,0.65);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.nf-hero-desc {
  max-width: 520px;
  color: rgba(255,255,255,0.82);
  font-size: clamp(0.95rem, 1.3vw, 1.12rem);
  line-height: 1.7;
  margin: 0 0 1.5rem;
  text-shadow: 0 3px 18px rgba(0,0,0,0.8);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.nf-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.nf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 48px;
  padding: 0.75rem 1.35rem;
  border-radius: var(--radius);
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  transition: transform var(--ease), background var(--ease), color var(--ease);
}

.nf-btn svg {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
}

.nf-btn-play {
  background: var(--text);
  color: #000;
}

.nf-btn-play:hover {
  background: rgba(255,255,255,0.82);
  color: #000;
  transform: translateY(-1px);
}

.nf-btn-info {
  background: rgba(255,255,255,0.22);
  color: var(--text);
  backdrop-filter: blur(8px);
}

.nf-btn-info:hover {
  background: rgba(255,255,255,0.32);
  color: var(--text);
  transform: translateY(-1px);
}

.nf-rows-wrap {
  position: relative;
  z-index: 5;
  margin-top: -8.5rem;
  padding: 0 max(clamp(1.25rem, 4vw, 4rem), calc((100vw - 1280px) / 2 + 2rem)) 4.5rem max(clamp(1.25rem, 4vw, 4rem), calc((100vw - 1280px) / 2 + 2rem));
}

body.lkr-layout-full-width .nf-rows-wrap {
  padding-left: clamp(1.25rem, 4vw, 4rem);
  padding-right: clamp(1.25rem, 4vw, 4rem);
}

.nf-row {
  margin-bottom: 2.2rem;
}

.nf-rows-wrap > .nf-row:first-child {
  margin-top: 40px;
}

.nf-row-header {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.nf-row-title {
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2vw, 1.75rem);
  font-weight: 800;
  margin: 0;
  color: var(--text);
}

.nf-row-title a {
  color: inherit;
}

.nf-row-see-all {
  color: var(--text-muted);
  font-size: 0.85rem;
  font-weight: 700;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity var(--ease), transform var(--ease), color var(--ease);
}

.nf-row:hover .nf-row-see-all {
  opacity: 1;
  transform: translateX(0);
}

.nf-row-see-all:hover {
  color: var(--color-btn-hover);
}

.nf-row-scroll-wrap {
  position: relative;
}

.nf-row-scroll {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: clamp(210px, 18vw, 320px);
  gap: 0.55rem;
  overflow-x: auto;
  overflow-y: visible;
  padding: 0.25rem 0 1rem 0;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.nf-row-scroll::-webkit-scrollbar {
  display: none;
}

.nf-scroll-btn {
  position: absolute;
  top: 0.25rem;
  bottom: 1rem;
  z-index: 6;
  width: 44px;
  border: 0;
  background: rgba(10,10,10,0.68);
  color: var(--text);
  font-size: 2.4rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  transition: opacity var(--ease), background var(--ease);
}

.nf-row-scroll-wrap:hover .nf-scroll-btn {
  opacity: 1;
}

.nf-scroll-btn:hover {
  background: rgba(10,10,10,0.86);
}

.nf-scroll-prev {
  left: 0;
}

.nf-scroll-next {
  right: 0;
}

.nf-thumb {
  min-width: 0;
  scroll-snap-align: start;
}

.nf-thumb-link {
  display: block;
  color: var(--text);
  text-decoration: none;
}

.nf-thumb-media {
  position: relative;
  display: block;
  aspect-ratio: 16/9;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--bg-3);
  box-shadow: var(--shadow-card);
  transition: transform var(--ease-out), box-shadow var(--ease-out);
}

.nf-thumb-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.62), transparent 55%);
  opacity: 0.78;
  pointer-events: none;
}

.nf-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.nf-thumb-link:hover .nf-thumb-media {
  transform: translateY(-5px) scale(1.035);
  box-shadow: var(--shadow-hover);
}

.nf-thumb-link:hover img {
  transform: scale(1.08);
}

.nf-thumb-play {
  position: absolute;
  left: 0.65rem;
  bottom: 0.55rem;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(232,93,4,0.92);
  color: #fff;
  opacity: 0;
  transform: scale(0.84);
  transition: opacity var(--ease), transform var(--ease), background var(--ease);
}

.nf-thumb-play svg {
  width: 17px;
  height: 17px;
  margin-left: 2px;
}

.nf-thumb-link:hover .nf-thumb-play {
  opacity: 1;
  transform: scale(1);
}

.nf-thumb-duration {
  position: absolute;
  right: 0.5rem;
  bottom: 0.55rem;
  z-index: 2;
  background: rgba(0,0,0,0.78);
  color: #fff;
  border-radius: 4px;
  padding: 0.12rem 0.42rem;
  font-size: 0.68rem;
  font-weight: 700;
}

.nf-series-badge {
  position: absolute;
  left: 0.55rem;
  top: 0.55rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0.15rem 0.55rem;
  border-radius: var(--radius);
  background: rgba(232,93,4,0.92);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.nf-series-card .nf-thumb-media::after {
  background:
    linear-gradient(to top, rgba(0,0,0,0.72), transparent 62%),
    linear-gradient(135deg, rgba(208,0,0,0.45), transparent 45%);
}

.nf-thumb-body {
  display: block;
  padding-top: 0.55rem;
  min-width: 0;
}

.nf-thumb-title {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.35;
}

.nf-thumb-meta {
  display: block;
  margin-top: 0.12rem;
  color: var(--text-dim);
  font-size: 0.72rem;
  font-weight: 600;
}

.nf-thumb-fallback {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: var(--text-dim);
  font-family: var(--font-display);
  font-weight: 800;
}

.nf-category-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.85fr);
  gap: 2rem;
  align-items: end;
  padding: 0 0 2rem 0;
}

.nf-category-title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  font-weight: 800;
  margin: 0 0 0.55rem;
}

.nf-category-desc {
  max-width: 620px;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.7;
}

.nf-category-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0;
  border-bottom: 1px solid var(--border-light);
}

.nf-series-switcher {
  justify-content: flex-start;
  margin: 0 0 1.6rem;
}

.nf-pagination {
  padding-right: 0;
}

@media (max-width: 900px) {
  .nf-hero { min-height: 68vh; min-height: 68svh; }
  .nf-rows-wrap { margin-top: -5.5rem; }
  .nf-category-intro { grid-template-columns: 1fr; align-items: start; }
  .nf-category-tabs { justify-content: flex-start; }
}

@media (max-width: 640px) {
  .nf-hero {
    min-height: 62vh;
    min-height: 62svh;
  }
  .nf-hero-content {
    width: calc(100% - 2rem);
    margin-left: 1rem;
    padding-top: 4rem;
  }
  .nf-hero-title {
    font-size: clamp(1.6rem, 7vw, 2.4rem);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }
  .nf-hero-desc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .nf-hero-actions {
    gap: 0.5rem;
  }
  .nf-btn {
    min-height: 44px;
    padding: 0.65rem 1rem;
    font-size: 0.88rem;
  }
  .nf-rows-wrap {
    margin-top: -3.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .nf-row-scroll {
    grid-auto-columns: 74vw;
  }
  .nf-scroll-btn {
    display: none;
  }
}

/* Video / Series Theme Style areas */
.netflix-dashboard,
body.post-type-archive-studio_video,
body.tax-video_category,
body.tax-video_series,
body.single-studio_video,
body.single-studio_video .site-main {
  background-color: var(--video-page-bg);
  color: var(--video-text);
}

.netflix-dashboard {
  background:
    radial-gradient(circle at 82% 8%, color-mix(in srgb, var(--video-gradient-glow) 42%, transparent), transparent 34rem),
    linear-gradient(135deg, color-mix(in srgb, var(--video-gradient-accent) 44%, transparent), transparent 40%),
    linear-gradient(180deg, var(--video-gradient-start), var(--video-page-bg) 42%, var(--video-gradient-end));
}

.nf-hero {
  background:
    radial-gradient(circle at 76% 16%, color-mix(in srgb, var(--video-gradient-glow) 40%, transparent), transparent 32rem),
    linear-gradient(180deg, var(--video-gradient-start), var(--video-page-bg));
}

.nf-hero-overlay {
  background:
    radial-gradient(circle at 76% 18%, color-mix(in srgb, var(--video-gradient-glow) 34%, transparent), transparent 30rem),
    linear-gradient(135deg, color-mix(in srgb, var(--video-gradient-accent) 48%, transparent), transparent 44%),
    linear-gradient(90deg, color-mix(in srgb, var(--video-hero-overlay) 94%, transparent) 0%, color-mix(in srgb, var(--video-hero-overlay) 60%, transparent) 36%, color-mix(in srgb, var(--video-hero-overlay) 12%, transparent) 72%, color-mix(in srgb, var(--video-hero-overlay) 62%, transparent) 100%),
    linear-gradient(0deg, color-mix(in srgb, var(--video-hero-overlay) 28%, transparent), color-mix(in srgb, var(--video-hero-overlay) 16%, transparent));
}

.nf-hero-fade-bottom {
  background: linear-gradient(to bottom, transparent, var(--video-page-bg));
}

.nf-hero-title,
.nf-row-title,
.nf-row-title a,
.nf-category-title,
.yt-title,
.yt-related-title {
  color: var(--video-title);
}

.nf-thumb-title {
  color: var(--video-card-title);
}

.nf-hero-title {
  color: var(--video-hero-text);
}

.nf-hero-desc {
  color: var(--video-hero-muted);
}

.nf-category-desc,
.yt-description,
.yt-description .entry-content,
.yt-description .entry-content p,
.yt-description .entry-content li {
  color: var(--video-text);
}

.nf-row-see-all,
.nf-thumb-meta,
.nf-thumb-fallback,
.yt-meta-item,
.yt-related-meta,
.yt-sidebar-heading {
  color: var(--video-text-muted);
}

.nf-row-see-all:hover,
.nf-row-title a:hover {
  color: var(--video-play-bg);
}

.nf-btn-play,
.nf-thumb-play,
.video-card:hover .video-play-btn .play-icon {
  background: var(--video-play-bg);
  border-color: var(--video-play-bg);
  color: var(--video-play-text);
}

.nf-btn-play:hover {
  background: color-mix(in srgb, var(--video-play-bg) 86%, #ffffff);
  color: var(--video-play-text);
}

.nf-btn-info {
  background: color-mix(in srgb, var(--video-secondary-bg) 76%, transparent);
  color: var(--video-secondary-text);
}

.nf-btn-info:hover {
  background: color-mix(in srgb, var(--video-secondary-bg) 92%, #ffffff 8%);
  color: var(--video-secondary-text);
}

.nf-thumb-media,
.video-card .card-thumb,
.yt-related-thumb {
  background: var(--video-card-bg);
}

.nf-thumb-media::after {
  background: linear-gradient(to top, color-mix(in srgb, var(--video-card-overlay) 70%, transparent), transparent 58%);
}

.nf-series-card .nf-thumb-media::after {
  background:
    linear-gradient(to top, color-mix(in srgb, var(--video-card-overlay) 76%, transparent), transparent 62%),
    linear-gradient(135deg, color-mix(in srgb, var(--video-gradient-accent) 64%, transparent), transparent 45%);
}

.nf-thumb-link:hover .nf-thumb-media {
  box-shadow: 0 22px 48px color-mix(in srgb, var(--video-card-hover) 62%, transparent);
}

.nf-series-badge,
.badge-video,
.yt-badge-platform {
  background: var(--video-badge-bg);
  color: var(--video-badge-text);
}

.nf-series-badge {
  background: var(--video-badge-bg);
}

.nf-category-tabs {
  border-bottom-color: color-mix(in srgb, var(--video-border) 70%, transparent);
}

.nf-category-tabs .portfolio-tab,
.nf-series-switcher .portfolio-tab {
  border-color: color-mix(in srgb, var(--video-border) 70%, transparent);
  background: var(--video-filter-bg);
  color: var(--video-filter-text);
}

.nf-category-tabs .portfolio-tab:hover,
.nf-category-tabs .portfolio-tab.is-active,
.nf-series-switcher .portfolio-tab:hover,
.nf-series-switcher .portfolio-tab.is-active {
  border-color: color-mix(in srgb, var(--video-badge-bg) 58%, transparent);
  background: var(--video-filter-active-bg);
  color: var(--video-filter-active-text);
}

.nf-scroll-btn {
  background: color-mix(in srgb, var(--video-page-bg) 72%, transparent);
  color: var(--video-title);
}

.nf-scroll-btn:hover {
  background: color-mix(in srgb, var(--video-page-bg) 88%, var(--video-card-hover));
}

.video-embed-wrap,
.yt-related-duration,
.video-duration {
  background: var(--video-player-bg);
}

.video-embed-wrap {
  box-shadow: 0 22px 54px color-mix(in srgb, var(--video-page-bg) 70%, transparent);
}

.yt-layout {
  color: var(--video-text);
}

.yt-layout .video-embed-wrap {
  border: 1px solid color-mix(in srgb, var(--video-border) 78%, transparent);
}

.yt-meta-row,
.yt-actions,
.yt-nav-wrap {
  border-color: color-mix(in srgb, var(--video-border) 72%, transparent);
}

.yt-actions .btn-ghost {
  border-color: color-mix(in srgb, var(--video-border) 82%, transparent);
  background: color-mix(in srgb, var(--video-filter-bg) 62%, transparent);
  color: var(--video-filter-text);
}

.yt-actions .btn-ghost:hover,
.yt-actions .btn-ghost:focus-visible {
  border-color: color-mix(in srgb, var(--video-badge-bg) 54%, transparent);
  background: color-mix(in srgb, var(--video-filter-active-bg) 70%, transparent);
  color: var(--video-filter-active-text);
}

body.single-studio_video .post-navigation .nav-previous a,
body.single-studio_video .post-navigation .nav-next a {
  border-color: color-mix(in srgb, var(--video-border) 82%, transparent);
  background: var(--video-nav-card-bg);
  color: var(--video-nav-card-text);
}

body.single-studio_video .post-navigation .nav-previous a:hover,
body.single-studio_video .post-navigation .nav-next a:hover {
  border-color: var(--video-nav-card-hover-border, color-mix(in srgb, var(--video-badge-bg) 54%, transparent)) !important;
  background: var(--video-nav-card-hover);
  color: var(--video-nav-card-hover-text, var(--video-nav-card-text)) !important;
}

body.single-studio_video .post-navigation .nav-previous a:hover .nav-subtitle,
body.single-studio_video .post-navigation .nav-next a:hover .nav-subtitle,
body.single-studio_video .post-navigation .nav-previous a:hover .nav-title,
body.single-studio_video .post-navigation .nav-next a:hover .nav-title {
  color: var(--video-nav-card-hover-text, var(--video-nav-card-text)) !important;
}

body.single-studio_video .post-navigation .nav-subtitle {
  color: var(--video-nav-card-meta);
}

body.single-studio_video .post-navigation .nav-title {
  color: var(--video-nav-card-text);
}

.yt-related-item:hover {
  background: var(--video-sidebar-bg);
}

.yt-nav-float {
  border-top-color: color-mix(in srgb, var(--video-border) 82%, transparent);
  background: color-mix(in srgb, var(--video-mobile-nav-bg) 84%, transparent);
}

.yt-nav-float-prev {
  border-right-color: color-mix(in srgb, var(--video-border) 82%, transparent);
}

.yt-nav-float-btn:not(.is-disabled) {
  color: var(--video-title);
}

/* =============================================
   EVENT CARD SPECIAL
   ============================================= */
.event-card {
  display: flex;
  gap: 0;
  overflow: hidden;
}

.event-date-block {
  flex-shrink: 0;
  width: 72px;
  background: var(--accent);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1rem 0.5rem;
  text-align: center;
}

.event-day {
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 800;
  color: #0a0a0a;
  line-height: 1;
}

.event-month {
  font-size: 0.65rem;
  font-weight: 700;
  color: rgba(10,10,10,0.7);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.event-card-body {
  padding: 1rem 1.25rem;
  flex: 1;
}

.event-card-title {
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0 0 0.35rem;
  color: var(--text);
}

.event-card-title a { color: inherit; }
.event-card-title a:hover { color: var(--accent); }

.event-card-meta {
  font-size: 0.78rem;
  color: var(--text-dim);
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.event-card-meta span { display: flex; align-items: center; gap: 0.3rem; }

/* =============================================
   MAIN CONTENT AREA
   ============================================= */
main#primary {
  margin-top: 0;
}

.site-main {
  padding: 0 0 4rem;
}

.page-header {
  padding: 5.5rem 0 2rem;
  background: var(--bg-2);
  border-bottom: 1px solid var(--border);
  text-align: left;
  margin-bottom: 0;
}

.page-title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 800;
  margin: 0 0 0.75rem;
  color: var(--text);
}

.archive-description {
  color: var(--text-muted);
  font-size: 1rem;
  margin: 0;
}

/* =============================================
   CONTACT PAGE
   ============================================= */
.contact-page {
  background: var(--contact-page-bg);
}

.contact-hero {
  padding: clamp(4rem, 8vw, 7rem) 0 3rem;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--contact-hero-gradient-accent) 46%, transparent), transparent 38%),
    linear-gradient(180deg, var(--contact-hero-gradient-start), var(--contact-hero-gradient-end));
  border-bottom: 1px solid var(--contact-border);
}

.contact-hero-inner,
.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 760px);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

body.lkr-layout-fixed .contact-hero-inner,
body.lkr-layout-fixed .contact-layout {
  grid-template-columns: minmax(0, 0.9fr) minmax(380px, 560px);
  gap: clamp(2rem, 4vw, 3.5rem);
}

body.lkr-layout-fixed .contact-form {
  max-width: 560px;
}

body.lkr-layout-fixed .contact-title {
  font-size: clamp(2.35rem, 6vw, 4.7rem);
}

.contact-info-panel {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}

.contact-title {
  color: var(--contact-title);
  font-size: clamp(2.4rem, 7vw, 5.75rem);
  line-height: 0.98;
  margin: 0;
  max-width: 8ch;
}

.contact-intro {
  color: var(--contact-text);
  font-size: clamp(1rem, 2vw, 1.18rem);
  max-width: 620px;
  margin: 1.25rem 0 0;
  overflow-wrap: break-word;
}

.contact-details {
  align-self: end;
  padding-top: 1.8rem;
  border-top: 1px solid var(--contact-border);
}

.contact-details p {
  color: var(--contact-text);
  margin: 0 0 0.65rem;
}

.contact-details p:last-child {
  margin-bottom: 0;
}

.contact-info-card {
  background: color-mix(in srgb, var(--contact-card-bg) 72%, transparent);
  border: 1px solid var(--contact-border);
  border-radius: 8px;
  padding: clamp(1.15rem, 2vw, 1.5rem);
  min-width: 0;
  overflow: hidden;
}

.contact-info-card h2,
.contact-form-heading h2 {
  color: var(--contact-title);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  margin: 0 0 0.85rem;
}

.contact-benefit-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.85rem;
}

.contact-benefit-list li {
  position: relative;
  color: var(--contact-text);
  padding-left: 2rem;
  line-height: 1.45;
  overflow-wrap: break-word;
}

.contact-benefit-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.1rem;
  width: 1.1rem;
  height: 1.1rem;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--contact-success) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--contact-success) 65%, transparent);
  color: var(--contact-success);
  font-size: 0.7rem;
  font-weight: 800;
}

.contact-response-card {
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
}

.contact-response-card p {
  color: var(--contact-text);
  margin: 0;
  overflow-wrap: break-word;
}

.contact-info-icon {
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--contact-accent) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--contact-accent) 35%, transparent);
  color: var(--contact-accent);
  font-weight: 800;
  font-style: italic;
}

.contact-section {
  padding-top: clamp(3rem, 6vw, 5rem);
}

.contact-content {
  grid-column: 1;
  max-width: 560px;
}

.contact-content:empty {
  display: none;
}

.contact-form {
  grid-column: 2;
  justify-self: end;
  width: 100%;
  background: var(--contact-form-bg);
  border: 1px solid var(--contact-border);
  border-radius: 8px;
  padding: clamp(1.25rem, 3vw, 2rem);
  box-shadow: var(--shadow-card);
}

.contact-form-heading {
  margin-bottom: 1.5rem;
}

.contact-form-heading p {
  color: var(--contact-text-dim);
  margin: -0.35rem 0 0;
}

.contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.contact-field {
  margin: 0;
}

.contact-field-wide {
  grid-column: 1 / -1;
}

.contact-field label {
  display: block;
  color: var(--contact-text);
  font-size: 0.82rem;
  font-weight: 600;
  margin-bottom: 0.45rem;
}

.contact-field label span {
  color: var(--contact-accent);
}

.contact-field input,
.contact-field textarea,
.contact-field select {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--contact-border);
  border-radius: 8px;
  background: var(--contact-field-bg);
  color: var(--contact-field-text);
  font: inherit;
  padding: 0.82rem 0.95rem;
  outline: none;
  transition: border-color var(--ease), box-shadow var(--ease), background var(--ease);
}

.contact-field textarea {
  min-height: 150px;
  resize: vertical;
}

.contact-field select {
  appearance: auto;
}

.contact-field input:focus,
.contact-field textarea:focus,
.contact-field select:focus {
  border-color: var(--contact-accent);
  background: var(--contact-field-focus-bg);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--contact-accent) 16%, transparent);
}

.contact-submit {
  background: var(--contact-submit-bg);
  border-radius: 8px;
  color: var(--contact-submit-text);
  margin-top: 1.25rem;
}

.contact-submit:hover,
.contact-submit:focus-visible {
  background: var(--contact-submit-hover);
  color: var(--contact-submit-text);
}

.contact-turnstile {
  margin-top: 1.25rem;
  min-height: 65px;
}

.contact-alert {
  border-radius: 8px;
  padding: 0.9rem 1rem;
  margin-bottom: 1.2rem;
  font-weight: 600;
}

.contact-alert-success {
  color: var(--contact-success);
  background: color-mix(in srgb, var(--contact-success) 18%, transparent);
  border: 1px solid color-mix(in srgb, var(--contact-success) 35%, transparent);
}

.contact-alert-error {
  color: var(--contact-error);
  background: color-mix(in srgb, var(--contact-error) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--contact-error) 35%, transparent);
}

.contact-hp-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

@media (max-width: 860px) {
  .contact-hero-inner,
  .contact-layout {
    grid-template-columns: 1fr;
  }

  body.lkr-layout-fixed .contact-hero-inner,
  body.lkr-layout-fixed .contact-layout {
    grid-template-columns: 1fr;
  }

  body.lkr-layout-fixed .contact-form {
    max-width: none;
  }

  body.lkr-layout-full-width .contact-layout .contact-form {
    grid-column: auto;
    justify-self: stretch;
    width: 100%;
  }

  .contact-form,
  .contact-info-panel,
  .contact-content {
    grid-column: auto;
  }

  .contact-title {
    max-width: none;
  }
}

@media (max-width: 560px) {
  .contact-hero {
    overflow: hidden;
  }

  .contact-page .container {
    width: 100vw;
    max-width: 100vw;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .contact-info-panel,
  .contact-form,
  .contact-info-card,
  .contact-copy,
  .contact-intro {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .contact-intro {
    max-width: calc(100vw - 2.5rem);
  }

  .contact-response-card {
    align-items: flex-start;
  }

  .contact-response-card > div {
    min-width: 0;
  }

  .contact-form-grid {
    grid-template-columns: 1fr;
  }

  .contact-form {
    padding: 1rem;
  }
}

/* =============================================
   POST GRID (BLOG)
   ============================================= */
.post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 2rem;
}

.post {
  background: var(--bg-card);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all var(--ease-out);
}

.post:hover { background: var(--bg-card-hover); transform: translateY(-3px); box-shadow: var(--shadow-card); }
.post:last-of-type { border-bottom: none; }

article { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

.post-thumbnail {
  display: block;
  overflow: hidden;
  aspect-ratio: 16/9;
}

.post-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.post:hover .post-thumbnail img { transform: scale(1.04); }

.entry-title {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--text);
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.entry-title a { color: inherit; text-decoration: none; }
.entry-title a:hover { color: var(--accent); }

.entry-meta {
  font-size: 0.8rem;
  color: var(--text-dim);
  margin-bottom: 0.75rem;
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  align-items: center;
}

.entry-meta a { color: var(--text-dim); }
.entry-meta a:hover { color: var(--accent); }

.entry-content {
  line-height: 1.75;
  color: var(--text);
  font-size: 0.95rem;
}

.entry-content p { margin-bottom: 1.2em; }

.entry-content a {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-color: rgba(208,0,0,0.4);
}

.entry-content a:hover { text-decoration-color: var(--accent); }

.entry-content h1,.entry-content h2,.entry-content h3,
.entry-content h4,.entry-content h5,.entry-content h6 {
  color: var(--title-color);
  margin-top: 2em;
}

.entry-content ul, .entry-content ol {
  color: var(--text);
  padding-left: 1.5rem;
}

.entry-content blockquote {
  border-left: 3px solid var(--accent);
  margin: 1.5rem 0;
  padding: 1rem 1.5rem;
  background: var(--accent-muted);
  border-radius: 0 var(--radius) var(--radius) 0;
  color: var(--text);
  font-style: italic;
}

.entry-content pre, .entry-content code {
  background: var(--bg-3);
  color: var(--accent-light);
  border-radius: var(--radius);
  font-family: 'Courier New', monospace;
}

.entry-content pre { padding: 1.25rem; overflow-x: auto; font-size: 0.875rem; }
.entry-content code { padding: 0.1em 0.4em; font-size: 0.875em; }

.entry-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.8rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
  color: var(--text-dim);
}

.tags-links a, .cat-links a {
  display: inline-block;
  background: var(--bg-3);
  color: var(--text-muted);
  padding: 0.2rem 0.65rem;
  margin: 0.15rem 0.2rem 0.15rem 0;
  border-radius: var(--radius-pill);
  font-size: 0.75rem;
  text-decoration: none;
  border: 1px solid var(--border);
  transition: all var(--ease);
}

.tags-links a:hover, .cat-links a:hover {
  background: var(--accent-muted);
  color: var(--accent);
  border-color: var(--accent-muted);
}

.cat-links a {
  background: var(--accent-muted);
  color: var(--accent);
  border-color: transparent;
}

.comments-link a, .edit-link a {
  display: inline-block;
  background: var(--bg-3);
  color: var(--text-muted);
  padding: 0.2rem 0.65rem;
  border-radius: var(--radius-pill);
  font-size: 0.75rem;
  text-decoration: none;
  border: 1px solid var(--border);
  transition: all var(--ease);
}

.comments-link a:hover { background: var(--accent-muted); color: var(--accent); }
.edit-link a:hover { background: rgba(139,92,246,0.1); color: #a78bfa; }

/* =============================================
   SINGLE POST
   ============================================= */
.single-hero {
  padding: 5.5rem 0 3rem;
  background: var(--bg-2);
  border-bottom: 1px solid var(--border);
}

.single-hero .entry-meta { margin-bottom: 1.5rem; }

.single-hero .entry-title {
  font-size: clamp(1.8rem, 4vw, 3rem);
  margin-bottom: 1.25rem;
}

.single-content {
  padding: 4rem 0;
}

.single-content .container {
  display: grid;
  grid-template-columns: 1fr min(680px, 100%);
  gap: 4rem;
}

@media (max-width: 900px) {
  .single-content .container { grid-template-columns: 1fr; }
}

/* =============================================
   POST NAVIGATION
   ============================================= */
.nav-links {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 1rem;
  margin-top: 3rem;
  padding: 1.5rem 0;
  border-top: 1px solid var(--border);
  flex-wrap: wrap;
}

.nav-previous, .nav-next { flex: 1; min-width: 200px; }
.nav-next { text-align: right; }

.nav-previous a, .nav-next a {
  display: inline-block;
  padding: 0.75rem 1.25rem;
  background: var(--bg-card);
  color: var(--text);
  text-decoration: none;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  transition: all var(--ease);
}

.nav-previous a:hover, .nav-next a:hover {
  background: var(--bg-card-hover);
  border-color: var(--accent-muted);
  color: var(--accent);
}

.nav-subtitle { display: block; font-size: 0.7rem; color: var(--text-dim); margin-bottom: 0.2rem; }
.nav-title { font-weight: 700; font-size: 0.9rem; font-family: var(--font-display); }

/* =============================================
   PAGINATION
   ============================================= */
.pagination-wrap {
  margin-top: 3rem;
  text-align: center;
}

.pagination-wrap .nav-links {
  display: flex;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 0;
  padding-top: 0;
  border-top: none;
  flex-wrap: wrap;
}

.pagination-wrap .nav-links a,
.pagination-wrap .nav-links span {
  padding: 0.5rem 0.9rem;
  border: 1px solid var(--border);
  text-decoration: none;
  color: var(--text-muted);
  border-radius: var(--radius);
  transition: all var(--ease);
  font-size: 0.875rem;
}

.pagination-wrap .nav-links a:hover { background: var(--bg-card); color: var(--text); }
.pagination-wrap .nav-links .current { background: var(--accent); color: #0a0a0a; border-color: var(--accent); font-weight: 700; }

/* =============================================
   SIDEBAR
   ============================================= */
.widget-area {
  background: var(--bg-card);
  padding: 1.5rem;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
}

.widget { margin-bottom: 2rem; }
.widget:last-child { margin-bottom: 0; }

.widget-title {
  font-family: var(--font-display);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--text);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--border);
}

.widget a { color: var(--text-muted); text-decoration: none; }
.widget a:hover { color: var(--accent); }

.widget ul { list-style: none; margin: 0; padding: 0; }
.widget ul li { margin-bottom: 0.5rem; font-size: 0.875rem; }

.tagcloud a {
  display: inline-block;
  background: var(--bg-3);
  color: var(--text-muted);
  padding: 0.25rem 0.65rem;
  margin: 0.2rem 0.2rem 0.2rem 0;
  border-radius: var(--radius-pill);
  font-size: 0.75rem !important;
  text-decoration: none;
  border: 1px solid var(--border);
  transition: all var(--ease);
}

/* =============================================
   BLOG LIST — NOTION-INSPIRED (sidebar + grid)
   ============================================= */

/* Two-column layout: sidebar | card grid */
.blog-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 5rem;
  padding: 7rem 0 6rem;
  align-items: start;
}

@media (max-width: 900px) {
  .blog-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 5rem 0 5rem;
  }
}

/* Sticky sidebar */
.blog-sidebar-sticky {
  position: sticky;
  top: 6rem;
}

.blog-site-name {
  font-family: var(--font-display);
  font-size: 1.9rem;
  line-height: 1.1;
  color: var(--text);
  margin-bottom: 0.75rem;
}

.blog-site-name strong {
  display: block;
  font-weight: 800;
}

.blog-site-name em {
  display: block;
  font-style: italic;
  font-weight: 400;
}

.blog-site-desc {
  font-size: 0.85rem;
  color: var(--text-muted);
  line-height: 1.65;
  margin-bottom: 1rem;
}

.blog-search-form {
  display: block;
  width: 100%;
}

.blog-search-form input[type="search"] {
  display: block;
  width: 100%;
  min-height: 2.45rem;
  padding: 0.5rem 0.72rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #101114;
  color: var(--text);
  font-size: 0.82rem;
}

.blog-search-form input[type="search"]::placeholder {
  color: var(--text-muted);
}

.blog-sidebar-divider {
  border: none;
  border-top: 1px solid var(--border);
  margin: 1.25rem 0;
}

/* Category nav links */
.blog-cat-nav {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
}

.blog-cat-link {
  display: block;
  padding: 0.3rem 0;
  font-size: 0.9rem;
  color: var(--text-muted);
  text-decoration: none;
  transition: color var(--ease);
}

.blog-cat-link:hover { color: var(--text); }

.blog-cat-link.active {
  color: var(--text);
  font-weight: 700;
}

@media (max-width: 900px) {
  .blog-cat-nav {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.4rem;
  }
  .blog-cat-link {
    padding: 0.3rem 0.85rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    font-size: 0.8rem;
  }
  .blog-cat-link.active {
    background: var(--text);
    border-color: var(--text);
    color: var(--bg);
  }
}

/* 2-column card grid */
.blog-main > .blog-search-form {
  max-width: none;
  width: 100%;
  margin-bottom: 1.25rem;
}

.blog-card-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem 2rem;
}

@media (min-width: 1200px) {
  body.lkr-layout-full-width .blog-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 580px) {
  .blog-card-grid { grid-template-columns: 1fr; }
}

/* Card — reset .card defaults */
.blog-card {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  transition: none !important;
  padding: 0;
}

.blog-card:hover {
  transform: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* Card image */
.blog-card-img-wrap {
  display: block;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--bg-3);
  margin-bottom: 0.9rem;
  text-decoration: none;
}

.blog-card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.blog-card:hover .blog-card-img-wrap img {
  transform: scale(1.04);
}

/* Card body */
.blog-card-body { padding: 0; }

.blog-card-cat {
  display: block;
  font-size: 0.78rem;
  color: var(--text-dim);
  margin-bottom: 0.35rem;
}

.blog-card-title {
  font-family: var(--font-body);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--text);
  margin: 0 0 0.45rem;
}

.blog-card-title a { color: inherit; text-decoration: none; }
.blog-card-title a:hover { color: var(--accent); }

.blog-card-excerpt {
  font-size: 0.875rem;
  color: var(--text-muted);
  line-height: 1.65;
  margin: 0 0 0.85rem;
}

/* Card author row */
.blog-card-author {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.blog-card-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
}

.blog-card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}

.blog-card-author-name {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text);
  text-decoration: none;
}

a.blog-card-author-name:hover { color: var(--text-muted); }

.blog-card-author-meta {
  display: block;
  font-size: 0.75rem;
  color: var(--text-dim);
}

.blog-card-event-meta {
  font-size: 0.78rem;
  color: var(--text-dim);
  line-height: 1.55;
  margin: 0 0 0.75rem;
}

.blog-card-event .blog-card-author {
  justify-content: space-between;
  align-items: flex-end;
  gap: 0.9rem;
  flex-wrap: wrap;
}

.blog-card-event .blog-card-author-name {
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-dim);
}

.blog-card-event .blog-card-author-meta {
  font-size: 0.8rem;
  color: var(--text);
}

.event-term-header {
  padding: 0;
  background: transparent;
  border: none;
  margin-bottom: 1.25rem;
}

.event-term-title {
  margin-bottom: 0.35rem;
}

/* =============================================
   SINGLE POST — NOTION-INSPIRED
   ============================================= */

/* Intro / hero */
.post-intro {
  padding: 5rem 0 3rem;
  border-bottom: 1px solid var(--border);
}

.post-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  color: var(--text-dim);
  text-decoration: none;
  margin-bottom: 2.5rem;
  transition: color var(--ease);
}
.post-back-link:hover { color: var(--text); }

.post-date-line {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1.25rem;
  font-size: 0.85rem;
  color: var(--text-dim);
}

.post-date-sep { color: var(--border); }

.post-headline {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--text);
  margin: 0 0 1.25rem;
}

.post-subheadline {
  font-size: 1.1rem;
  color: var(--text-muted);
  line-height: 1.75;
  margin: 0 0 2rem;
}

.post-byline {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-light);
}

.post-byline-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--bg-3);
  flex-shrink: 0;
}

.post-byline-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.post-byline-text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.post-byline-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text);
}

.post-byline-role {
  font-size: 0.8rem;
  color: var(--text-dim);
}

/* Featured image */
.post-featured-wrap {
  padding: 3rem 1.5rem;
}

.post-featured-inner {
  max-width: 960px;
  margin: 0 auto;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.post-featured-img {
  width: 100%;
  height: auto;
  max-height: 560px;
  object-fit: cover;
  display: block;
}

/* Body */
.post-body-wrap {
  padding: 3.5rem 0 6rem;
}

.post-body-wrap .entry-content {
  font-size: 1.025rem;
  line-height: 1.85;
}

.post-body-wrap .entry-content p {
  margin-bottom: 1.5em;
}

.post-body-wrap .entry-content h2 {
  font-size: clamp(1.3rem, 2.5vw, 1.6rem);
  margin-top: 2.5em;
  margin-bottom: 0.6em;
}

.post-body-wrap .entry-content h3 {
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  margin-top: 2em;
  margin-bottom: 0.5em;
}

.tagcloud a:hover { background: var(--accent-muted); color: var(--accent); border-color: transparent; }

/* =============================================
   COMMENTS
   ============================================= */
.comments-area {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid var(--border);
}

.comments-title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 2rem;
}

.comment-list { list-style: none; margin: 0; padding: 0; }

.comment-list .comment {
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
  padding-bottom: 1.5rem;
}

.comment-author { font-weight: 600; color: var(--text); }
.comment-meta { font-size: 0.8rem; color: var(--text-dim); margin-top: 0.2rem; }
.comment-meta a { color: var(--text-dim); }
.comment-content { margin-top: 0.75rem; font-size: 0.95rem; color: var(--text-muted); line-height: 1.7; }

.comment-reply-link {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.8rem;
  color: var(--accent);
  text-decoration: none;
}

#respond { margin-top: 2.5rem; }
#reply-title { font-family: var(--font-display); font-size: 1.15rem; color: var(--text); margin-bottom: 1.5rem; }

.comment-form label { display: block; margin-bottom: 0.4rem; font-weight: 500; font-size: 0.875rem; color: var(--text-muted); }

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  margin-bottom: 1.25rem;
  font-size: 0.95rem;
  font-family: var(--font-body);
  background: var(--bg-3);
  color: var(--text);
  transition: border-color var(--ease);
}

.comment-form input:focus, .comment-form textarea:focus {
  outline: none;
  border-color: var(--accent);
}

.comment-form textarea { min-height: 120px; resize: vertical; }

.comment-form input[type="submit"] {
  background: var(--accent);
  color: #0a0a0a;
  padding: 0.75rem 2rem;
  border: none;
  border-radius: var(--radius-pill);
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: all var(--ease);
  font-family: var(--font-body);
}

.comment-form input[type="submit"]:hover { background: var(--accent-light); transform: scale(1.02); }

/* =============================================
   SEARCH RESULTS
   ============================================= */
.search-results article {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  transition: all var(--ease);
}

.search-results article:hover { background: var(--bg-card-hover); }
.search-results .entry-title { font-size: 1.15rem; margin-bottom: 0.4rem; }
.search-results .entry-summary { font-size: 0.9rem; color: var(--text-muted); }
.search-results .entry-meta { font-size: 0.8rem; color: var(--text-dim); margin-bottom: 0.75rem; }

/* =============================================
   NO RESULTS / 404
   ============================================= */
.error404-standalone .site-main {
  display: flex;
  align-items: center;
  min-height: 100vh;
  min-height: 100svh;
  padding: 0;
}

.error404-standalone .section,
.error404-standalone .container {
  width: 100%;
}

.error404-standalone .error-404 {
  margin: 0 auto;
}

.no-results, .error-404 {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 4rem 2rem;
  margin: 4rem auto;
  max-width: 640px;
  text-align: center;
}

.error-404 {
  position: relative;
  overflow: hidden;
}

.error-404 > *:not(.error-404-bg) {
  position: relative;
  z-index: 1;
}

.error-404-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.18;
  pointer-events: none;
}

.error-404-bg dotlottie-player {
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
}

.error-404 .page-title {
  font-size: clamp(3rem, 10vw, 6rem);
  color: var(--accent);
  margin: 0;
  font-weight: 800;
  line-height: 1;
}

.error-404 .page-header {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(10rem, 28vw, 18rem);
  padding: 2rem;
  margin: 0 0 0.25rem;
  text-align: center;
  background: transparent;
  border-bottom: 0;
}

.no-results .page-title { font-size: 1.75rem; color: var(--text); }

.no-results .page-content p, .error-404 .page-content p { color: var(--text-muted); }

.search-form { display: flex; justify-content: center; gap: 0.5rem; flex-wrap: wrap; margin-top: 1.5rem; }

.search-form input[type="search"] {
  padding: 0.75rem 1.25rem;
  font-size: 0.95rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  background: var(--bg-3);
  color: var(--text);
  width: 280px;
  font-family: var(--font-body);
}

.search-form input[type="search"]:focus { outline: none; border-color: var(--accent); }

.search-form input[type="submit"] {
  padding: 0.75rem 1.5rem;
  background: var(--accent);
  color: #0a0a0a;
  border: none;
  border-radius: var(--radius-pill);
  cursor: pointer;
  font-weight: 700;
  font-family: var(--font-body);
  transition: all var(--ease);
}

.search-form input[type="submit"]:hover { background: var(--accent-light); }

/* =============================================
   PORTFOLIO SINGLE
   ============================================= */
.portfolio-project-main {
  background: #050505;
  padding-bottom: 0;
}

body.single-portfolio .site-header {
  background: rgba(5,5,5,0.92);
  border-bottom: 1px solid rgba(255,255,255,0.09);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: none;
}

body.single-portfolio .site-header.scrolled {
  background: rgba(5,5,5,0.96);
  border-bottom-color: rgba(255,255,255,0.12);
  box-shadow: none;
}

body.single-portfolio .site-title,
body.single-portfolio .site-title a,
body.single-portfolio .site-header .footer-logo,
body.single-portfolio .main-navigation a {
  color: #f4f1ea;
}

body.single-portfolio .main-navigation a:hover,
body.single-portfolio .main-navigation a:focus,
body.single-portfolio .main-navigation .current-menu-item > a,
body.single-portfolio .main-navigation .current-menu-ancestor > a {
  color: #fff;
  background: rgba(255,255,255,0.08);
}

body.single-portfolio .main-navigation .menu-toggle {
  border-color: rgba(255,255,255,0.18);
  color: #f4f1ea;
}

body.single-portfolio .main-navigation .menu-toggle:hover {
  background: rgba(255,255,255,0.08);
}

body.single-portfolio .menu-toggle .menu-icon,
body.single-portfolio .menu-toggle .menu-icon::before,
body.single-portfolio .menu-toggle .menu-icon::after {
  background: #f4f1ea;
}

body.single-portfolio .main-navigation.toggled .menu-icon {
  background: transparent;
}

.portfolio-project {
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

.portfolio-project:hover {
  background: transparent;
  box-shadow: none;
  transform: none;
}

.portfolio-project-header {
  position: relative;
  padding: 8rem 0 2.5rem;
  background: #050505;
  color: #fff;
  text-align: center;
}

.portfolio-project-titlebar {
  max-width: 920px;
}

.portfolio-project-back-wrap {
  position: absolute;
  inset: 6.1rem 0 auto;
  text-align: left;
}

.portfolio-project-back {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.42rem 0.78rem;
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  color: #9b9b9b;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.portfolio-project-back:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.22);
  color: #fff;
}

.portfolio-project-kicker {
  display: block;
  margin-bottom: 0.85rem;
  color: #d7d2c8;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-decoration: none;
  text-transform: uppercase;
}

.portfolio-project-title {
  margin: 0 auto;
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  overflow-wrap: break-word;
}

.portfolio-project-author-line {
  margin: 0.85rem 0 0;
  color: #9b9b9b;
  font-size: 0.9rem;
  line-height: 1.45;
}

.portfolio-project-share {
  display: none;
}

.portfolio-project-share-label {
  margin: 0 0 0.55rem;
  color: #9b9b9b;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  line-height: 1.2;
  text-transform: uppercase;
}

.portfolio-project-share-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
}

.portfolio-project-share-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.15rem;
  height: 1.15rem;
  color: #9b9b9b;
  font-size: 0.75rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
}

.portfolio-project-share-links a:hover {
  color: #fff;
}

.portfolio-project-visit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0.68rem 1.15rem;
  border-radius: 999px;
  background: #f4f1ea;
  color: #101010;
  font-size: 0.84rem;
  font-weight: 800;
  text-decoration: none;
}

.portfolio-project-visit:hover {
  background: #fff;
  color: #101010;
}

.portfolio-action-rail {
  position: fixed;
  top: 50%;
  right: 1.35rem;
  z-index: 1001;
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  transform: translateY(-50%);
}

.portfolio-action-button {
  display: inline-flex;
  align-items: center;
  flex-direction: column;
  gap: 0.4rem;
  border: 0;
  background: transparent;
  color: #d4d4d4;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  text-decoration: none;
}

.portfolio-action-button span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #fff;
  color: #111;
  font-size: 0.68rem;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(0,0,0,0.28);
}

.portfolio-action-button:hover {
  color: #fff;
}

.portfolio-action-share {
  position: relative;
}

.portfolio-share-menu {
  position: absolute;
  top: 50%;
  right: calc(100% + 0.85rem);
  display: grid;
  gap: 0.35rem;
  min-width: 150px;
  padding: 0.45rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  background: rgba(24,24,24,0.96);
  box-shadow: 0 18px 42px rgba(0,0,0,0.4);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%) translateX(8px);
  transition: opacity var(--ease), transform var(--ease);
}

.portfolio-action-share:hover .portfolio-share-menu,
.portfolio-action-share:focus-within .portfolio-share-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(-50%) translateX(0);
}

.portfolio-share-menu a {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.5rem 0.6rem;
  border-radius: 8px;
  color: #f4f1ea;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
}

.portfolio-share-menu a:hover {
  background: rgba(255,255,255,0.08);
  color: #fff;
}

.portfolio-share-menu span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  color: #111;
  font-size: 0.62rem;
  font-weight: 900;
}

.portfolio-project-stage {
  background: #050505;
  padding: 0 0 6rem;
}

.portfolio-project-canvas {
  width: min(1160px, calc(100% - 2rem));
  margin: 0 auto;
}

body.lkr-layout-full-width .portfolio-project-canvas {
  width: min(1360px, calc(100% - 2.5rem));
  max-width: 1360px;
  padding-left: clamp(1.25rem, 3vw, 3rem);
  padding-right: clamp(5.75rem, 8vw, 7rem);
}

.portfolio-project-summary {
  max-width: 760px;
  margin: 0 auto 2rem;
  color: #d0d0d0;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.65;
  text-align: center;
}

.portfolio-project-facts {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 0 auto 2rem;
}

.portfolio-project-facts div {
  min-width: 140px;
  padding: 0.75rem 1rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  background: #101010;
}

.portfolio-project-facts span {
  display: block;
  color: #888;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.portfolio-project-facts strong {
  display: block;
  color: #fff;
  font-size: 0.86rem;
  line-height: 1.35;
}

.portfolio-project-cover-frame {
  margin: 0 0 1.4rem;
  overflow: hidden;
  background: #050505;
}

.portfolio-project-cover-frame img {
  width: 100%;
  max-height: none;
  object-fit: contain;
}

.portfolio-project-content {
  color: #e8e8e8;
  font-size: 1.02rem;
  line-height: 1.75;
}

.portfolio-project-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 2rem;
}

.portfolio-project-tags a {
  display: inline-flex;
  padding: 0.3rem 0.58rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 999px;
  color: #aaa;
  font-size: 0.72rem;
  text-decoration: none;
}

.portfolio-project-tags a:hover {
  border-color: rgba(255,255,255,0.28);
  color: #fff;
}

.portfolio-project-content > * {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

.portfolio-project-content > .alignwide,
.portfolio-project-content > .alignfull,
.portfolio-project-content > figure,
.portfolio-project-content > .wp-block-image,
.portfolio-project-content > .wp-block-gallery,
.portfolio-project-content > .wp-block-embed,
.portfolio-project-content > .wp-block-video,
.portfolio-project-content > p:has(img) {
  max-width: 100%;
}

.portfolio-project-content p,
.portfolio-project-content li {
  color: #d0d0d0;
}

.portfolio-project-content h2,
.portfolio-project-content h3,
.portfolio-project-content h4 {
  color: #fff;
}

.portfolio-project-content a {
  color: #fff;
  text-decoration-color: rgba(255,255,255,0.35);
}

.portfolio-project-content img,
.portfolio-project-content video,
.portfolio-project-content iframe {
  border-radius: 0;
}

.portfolio-project-content figure,
.portfolio-project-content .wp-block-image,
.portfolio-project-content p:has(img) {
  margin: 0 auto 1.4rem;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.portfolio-project-content .wp-block-gallery {
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.portfolio-project-content .nav-links {
  border-top-color: rgba(255,255,255,0.12);
}

.portfolio-project-content .nav-previous a,
.portfolio-project-content .nav-next a {
  background: #111;
  border-color: rgba(255,255,255,0.12);
  color: #fff;
}

.portfolio-project-content .nav-previous a:hover,
.portfolio-project-content .nav-next a:hover {
  background: #1b1b1b;
  border-color: rgba(255,255,255,0.24);
  color: #fff;
}

@media (max-width: 600px) {
  body.single-portfolio .main-navigation.toggled ul {
    background: rgba(5,5,5,0.98);
  }

  body.single-portfolio .main-navigation .menu-item-has-children .sub-menu {
    background: #141414;
  }

  .portfolio-project-header {
    padding: 6.25rem 0 2rem;
    overflow: hidden;
  }

  .portfolio-project-titlebar {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .portfolio-project-title {
    font-size: clamp(1.85rem, 10vw, 2.35rem);
    line-height: 1.08;
  }

  .portfolio-project-back {
    margin: 0 0 1.5rem 1.25rem;
  }

  .portfolio-project-back-wrap {
    position: static;
    padding: 0;
  }

  .portfolio-action-rail {
    display: none;
  }

  .portfolio-project-share {
    display: block;
    margin-top: 1rem;
  }

  .portfolio-project-facts {
    align-items: stretch;
    flex-direction: column;
  }

  .portfolio-project-facts div {
    width: 100%;
    min-width: 0;
  }

  .portfolio-project-stage {
    padding-top: 0;
  }
}

@media (max-width: 900px) {
  .portfolio-action-rail {
    display: none;
  }

  body.lkr-layout-full-width .portfolio-project-canvas {
    width: min(1160px, calc(100% - 2rem));
    padding-left: 0;
    padding-right: 0;
  }
}

/* =============================================
   PRODUCT SINGLE
   ============================================= */
.product-single-main {
  background: var(--product-page-bg);
  padding-bottom: 0;
}

body.single-product .site-header {
  background: rgba(5,5,5,0.92);
  border-bottom: 1px solid rgba(255,255,255,0.09);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: none;
}

body.single-product .site-header.scrolled {
  background: rgba(5,5,5,0.96);
  border-bottom-color: rgba(255,255,255,0.12);
  box-shadow: none;
}

body.single-product .site-title,
body.single-product .site-title a,
body.single-product .site-header .footer-logo,
body.single-product .main-navigation a {
  color: #f4f1ea;
}

body.single-product .main-navigation a:hover,
body.single-product .main-navigation a:focus,
body.single-product .main-navigation .current-menu-item > a,
body.single-product .main-navigation .current-menu-ancestor > a {
  color: #fff;
  background: rgba(255,255,255,0.08);
}

.product-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(4rem, 8vw, 7rem) 0 3rem;
  background:
    radial-gradient(circle at 82% 14%, var(--product-gradient-glow), transparent 34rem),
    linear-gradient(135deg, var(--product-gradient-accent), transparent 42%),
    linear-gradient(180deg, var(--product-gradient-start), var(--product-gradient-end));
  border-bottom: 1px solid var(--product-border);
}

.product-hero.has-cinematic-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--product-hero-bg-image);
  background-size: cover;
  background-position: center;
  opacity: 0.28;
  transform: scale(1.03);
  filter: saturate(0.88) contrast(1.05);
}

.product-hero.has-cinematic-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at center, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.4) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.52) 0%, rgba(0, 0, 0, 0.68) 100%);
}

.product-hero > .container {
  position: relative;
  z-index: 1;
}

body.single-product .product-hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.9rem;
  align-items: start;
  max-width: 1180px;
  margin: 0 auto;
}

.product-gallery {
  position: relative;
  min-width: 0;
  width: 100%;
  padding: 0.72rem;
  border-radius: 20px;
  background:
    radial-gradient(120% 95% at 78% 6%, rgba(255, 255, 255, 0.26), rgba(255, 255, 255, 0) 60%),
    linear-gradient(150deg, rgba(10, 10, 10, 0.24), rgba(10, 10, 10, 0.06));
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: 0 24px 52px rgba(0, 0, 0, 0.22);
}

.product-gallery::before {
  content: "";
  position: absolute;
  inset: -28px 8% auto;
  height: 110px;
  border-radius: 999px;
  background: radial-gradient(ellipse at center, rgba(255, 176, 64, 0.24), rgba(255, 176, 64, 0));
  filter: blur(10px);
  pointer-events: none;
}

.product-gallery-track {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 0.72rem;
  align-items: start;
}

.product-gallery-thumbs {
  display: grid;
  gap: 0.58rem;
}

.product-gallery-thumb {
  display: block;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 14px;
  overflow: hidden;
  background: #f6f6f6;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.07);
  transition: border-color var(--ease), transform var(--ease), box-shadow var(--ease);
  cursor: pointer;
}

.product-gallery-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
}

.product-gallery-thumb:hover,
.product-gallery-thumb.is-active {
  border-color: rgba(255, 255, 255, 0.5);
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.14);
}

.product-hero-media {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 18px;
  overflow: hidden;
  background: #f1f1f1;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
}

.product-hero-media-badges {
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
  right: 0.8rem;
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  z-index: 2;
}

.product-media-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: rgba(255, 255, 255, 0.9);
  color: #1f2937;
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1;
}

.product-media-badge.is-featured {
  margin-left: auto;
  border-color: rgba(234, 179, 8, 0.42);
  background: #facc15;
  color: #78350f;
}

.product-hero-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(280px, 31vw, 500px);
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.product-hero-media-placeholder {
  display: grid;
  place-items: center;
  min-height: clamp(260px, 52vh, 560px);
  color: var(--product-text-muted);
  font-size: 0.95rem;
}

.product-hero-copy {
  max-width: 860px;
}

.product-shop-copy {
  width: 100%;
}

.product-back {
  display: flex;
  width: fit-content;
  margin-bottom: 1.8rem;
}

.product-kicker {
  display: inline-block;
  color: var(--product-accent);
  margin-bottom: 0.8rem;
}

.product-title {
  margin: 0;
  color: var(--product-title);
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 3.2vw, 2.7rem);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: 0;
  overflow-wrap: break-word;
}

.product-summary {
  max-width: 680px;
  margin: 1.25rem 0 0;
  color: var(--product-text);
  font-size: clamp(1rem, 1.7vw, 1.25rem);
  line-height: 1.65;
}

.product-highlight {
  max-width: 620px;
  margin: 1.2rem 0 0;
  padding-left: 1rem;
  border-left: 3px solid var(--product-accent);
  color: var(--product-title);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.55;
}

.product-hero-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-align: center;
  gap: 1rem;
  margin-top: 0.45rem;
}

.product-meta-inline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  align-items: stretch;
  margin-top: 0.4rem;
}

.product-meta-item {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  gap: 0.12rem 0.65rem;
  align-items: center;
  padding: 0.95rem 1rem;
  border: 1px solid #121212;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

.product-meta-item em {
  grid-column: 2;
  grid-row: 1;
  color: #5c5c5c;
  font-style: normal;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product-meta-item strong {
  grid-column: 2;
  grid-row: 2;
  color: #111111;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.35;
}

.product-meta-icon {
  position: relative;
  grid-column: 1;
  grid-row: 1 / span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: #111111;
}

.product-meta-icon::before,
.product-meta-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.product-meta-item--price .product-meta-icon::before {
  width: 0.88rem;
  height: 0.88rem;
  border: 2px solid #ffffff;
  border-radius: 999px;
}

.product-meta-item--price .product-meta-icon::after {
  width: 0.2rem;
  height: 0.2rem;
  border-radius: 999px;
  background: #ffffff;
}

.product-meta-item--format .product-meta-icon::before {
  width: 0.72rem;
  height: 0.88rem;
  border: 2px solid #ffffff;
  border-radius: 2px;
  transform: translate(-54%, -50%);
}

.product-meta-item--format .product-meta-icon::after {
  width: 0.26rem;
  height: 0.26rem;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: translate(0.02rem, -0.44rem) rotate(0deg);
  background: transparent;
}

.product-meta-item--delivery .product-meta-icon::before {
  width: 0.68rem;
  height: 0.15rem;
  border-radius: 999px;
  background: #ffffff;
  transform: translate(-58%, -50%);
}

.product-meta-item--delivery .product-meta-icon::after {
  width: 0;
  height: 0;
  border-top: 0.22rem solid transparent;
  border-bottom: 0.22rem solid transparent;
  border-left: 0.28rem solid #ffffff;
  transform: translate(0.16rem, -50%);
}

.product-details-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.7rem;
  padding: 0.64rem 1.05rem;
  border: 1px solid #111111;
  border-radius: 6px;
  background: transparent;
  color: #111111;
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
  line-height: 1;
}

.product-details-link:hover,
.product-details-link:focus-visible {
  color: #ffffff;
  background: #111111;
}

.product-details-title {
  margin: 0 0 1.2rem;
  text-align: center;
}

.product-body {
  padding: 2.5rem 0 6rem;
  background: var(--product-page-bg);
}

.product-body-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}

.product-body-simple {
  display: block;
}

.product-body-simple .product-content {
  position: relative;
  z-index: 1;
  max-width: 860px;
  margin: 0 auto;
}

.product-body-simple .product-content::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: -1.8rem;
  width: min(980px, 100% + 6rem);
  height: calc(100% + 1.5rem);
  transform: translateX(-50%);
  border-radius: 32px;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0) 72%);
  filter: blur(26px);
  pointer-events: none;
}

.product-content {
  color: var(--product-text);
  font-size: 1.02rem;
  line-height: 1.75;
}

.product-content > * {
  max-width: 820px;
}

.product-content > .alignwide,
.product-content > .alignfull,
.product-content > figure,
.product-content > .wp-block-image,
.product-content > .wp-block-gallery,
.product-content > .wp-block-embed,
.product-content > .wp-block-video,
.product-content > p:has(img) {
  max-width: 100%;
}

.product-content p,
.product-content li {
  color: var(--product-text);
}

.product-content h2,
.product-content h3,
.product-content h4 {
  color: var(--product-title);
}

.product-content a {
  color: var(--product-title);
  text-decoration-color: color-mix(in srgb, var(--product-title) 35%, transparent);
}

.product-content img,
.product-content video,
.product-content iframe {
  border-radius: 0;
}

.product-panel-cta {
  justify-content: center;
  width: 100%;
}

.product-tags {
  max-width: 820px;
}

.product-includes-section {
  padding: 0 0 3rem;
}

.product-includes-box {
  max-width: 860px;
  border: 1px solid var(--product-border);
  border-radius: 8px;
  padding: 1.25rem;
  background: color-mix(in srgb, var(--product-panel-bg) 78%, transparent);
}

.product-includes-box h2 {
  margin: 0 0 0.75rem;
  color: var(--product-title);
  font-size: 1.12rem;
}

.product-includes-box ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.product-includes-box li {
  position: relative;
  padding-left: 1.4rem;
  color: var(--product-text);
  font-size: 0.92rem;
  line-height: 1.5;
}

.product-includes-box li::before {
  content: "";
  position: absolute;
  top: 0.54rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: var(--product-accent);
}

.product-bottom-cta {
  padding: 0;
}

.product-bottom-cta-inner {
  position: fixed;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: min(1180px, calc(100vw - 2rem));
  padding: 1rem 1.1rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  background: rgba(8, 8, 8, 0.86);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.36);
}

.product-bottom-cta-inner span {
  display: block;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.85rem;
  font-weight: 700;
}

.product-bottom-cta-inner strong {
  display: block;
  margin-top: 0.12rem;
  color: #ffffff;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.7vw, 1.8rem);
}

body.single-product .product-bottom-cta-inner .btn-primary {
  background: #d00000;
  border-color: #d00000;
  color: #ffffff !important;
}

body.single-product .product-bottom-cta-inner .btn-primary:hover,
body.single-product .product-bottom-cta-inner .btn-primary:focus-visible {
  background: #a60000;
  border-color: #a60000;
  color: #ffffff !important;
}

body.single-product {
  padding-bottom: 8.5rem;
}

@media (max-width: 900px) {
  body.single-product .main-navigation.toggled ul {
    background: rgba(5,5,5,0.98);
  }

  body.single-product .main-navigation .menu-item-has-children .sub-menu {
    background: #141414;
  }

  .product-hero {
    padding: 6.25rem 0 2.5rem;
  }

  .product-hero .container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .product-hero-grid,
  .product-body-grid {
    grid-template-columns: 1fr;
  }

  .product-gallery-track {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .product-gallery {
    padding: 0.56rem;
    border-radius: 16px;
  }

  .product-gallery::before {
    display: none;
  }

  .product-gallery-thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    order: 2;
  }

  .product-back {
    margin-left: 0;
    margin-bottom: 1.7rem;
  }

  .product-hero-actions {
    flex-wrap: wrap;
    gap: 0.8rem;
  }

  .product-meta-inline {
    grid-template-columns: 1fr;
  }

  .product-hero-actions .btn-primary {
    justify-content: center;
    padding: 0.68rem 0.9rem;
    font-size: 0.82rem;
  }

  .product-includes-box ul {
    grid-template-columns: 1fr;
  }

  .product-bottom-cta-inner {
    width: calc(100vw - 1rem);
    bottom: 0.5rem;
    padding: 0.85rem 0.9rem;
    border-radius: 12px;
    flex-wrap: wrap;
  }

  .product-bottom-cta-inner .btn {
    justify-content: center;
    width: 100%;
  }
}

/* =============================================
   EVENT SINGLE
   ============================================= */
.event-hero {
  padding: 5.5rem 0 3rem;
  background: var(--bg-2);
  border-bottom: 1px solid var(--border);
}

.event-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 4rem;
  padding: 4rem 0;
  align-items: start;
}

@media (max-width: 900px) { .event-layout { grid-template-columns: 1fr; } }

.event-info-box {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  overflow: hidden;
  position: sticky;
  top: 6rem;
}

.event-info-header {
  background: var(--accent);
  padding: 1.5rem;
  text-align: center;
}

.event-info-header .event-big-date {
  font-family: var(--font-display);
  font-size: 3rem;
  font-weight: 800;
  color: #0a0a0a;
  line-height: 1;
  margin-bottom: 0.2rem;
}

.event-info-header .event-big-month {
  font-size: 0.9rem;
  font-weight: 700;
  color: rgba(10,10,10,0.7);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.event-info-body { padding: 1.5rem; }

.event-info-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border-light);
}

.event-info-row:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

.event-info-icon { font-size: 1rem; flex-shrink: 0; margin-top: 0.05rem; }

.event-info-text { flex: 1; }
.event-info-text strong { display: block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-dim); margin-bottom: 0.15rem; }
.event-info-text span { font-size: 0.9rem; color: var(--text-muted); }

.event-cta { padding: 1.25rem; border-top: 1px solid var(--border); }
.event-cta .btn { width: 100%; justify-content: center; }

.event-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.9rem;
  border-radius: var(--radius-pill);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.event-status-upcoming { background: rgba(16,185,129,0.15); color: #34d399; }
.event-status-ongoing  { background: rgba(208,0,0,0.15); color: var(--accent); }
.event-status-past     { background: var(--bg-3); color: var(--text-dim); }

.event-card-badges {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.event-ticketing-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.9rem;
  border-radius: var(--radius-pill);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.event-ticketing-open_public { background: rgba(16,185,129,0.14); color: #2f9f6b; }
.event-ticketing-registration { background: rgba(43,116,255,0.14); color: #2f67b2; }
.event-ticketing-paid { background: rgba(208,0,0,0.14); color: #b11c24; }
.event-ticketing-invitation { background: rgba(120,120,120,0.18); color: #4f4f4f; }

/* =============================================
   EVENT SINGLE - BLOG-STYLE VARIANT
   ============================================= */
body.single-studio_event .single-event-main {
  background: #0f0f0f;
  padding-top: clamp(5.6rem, 9vh, 7rem);
}

body.admin-bar.single-studio_event .single-event-main {
  padding-top: calc(clamp(5.6rem, 9vh, 7rem) + 32px);
}

@media screen and (max-width: 782px) {
  body.admin-bar.single-studio_event .single-event-main {
    padding-top: calc(clamp(5.6rem, 9vh, 7rem) + 46px);
  }
}

body.single-studio_event .single-event-article {
  color: #f4f1ea;
}

body.single-studio_event .single-event-shell {
  grid-template-columns: minmax(180px, 280px) minmax(0, 760px);
}

body.single-studio_event .single-event-rail .single-back-link {
  margin-bottom: 1rem;
}

body.single-studio_event .single-event-rail-card {
  position: sticky;
  top: 2rem;
  background: #f5f3ee;
  border-color: rgba(255,255,255,0.22);
}

body.single-studio_event .single-event-rail-card .event-info-header {
  background: #0f0f0f;
}

body.single-studio_event .single-event-rail-card .event-info-header .event-big-date,
body.single-studio_event .single-event-rail-card .event-info-header .event-big-month {
  color: #f4f1ea;
}

body.single-studio_event .single-event-rail-card .event-info-row {
  border-bottom-color: rgba(0,0,0,0.08);
}

body.single-studio_event .single-event-rail-card .event-info-text strong {
  color: #6d6860;
}

body.single-studio_event .single-event-rail-card .event-info-text span {
  color: #1f1f1f;
}

body.single-studio_event .single-event-rail-card .event-address-line {
  color: #5e5a53;
}

body.single-studio_event .single-event-rail-card .event-cta {
  border-top-color: rgba(0,0,0,0.08);
}

body.single-studio_event .single-event-rail-card .event-cta .btn-primary {
  background: var(--accent);
  border: 1px solid var(--accent);
  color: #ffffff;
}

body.single-studio_event .single-event-rail-card .event-cta .btn-primary:hover {
  background: #0f0f0f;
  border-color: #0f0f0f;
  color: #ffffff;
}

body.single-studio_event .single-event-taxonomy {
  margin: 0 0 0.7rem;
}

body.single-studio_event .single-event-taxonomy a {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.75rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.15);
  background: #191919;
  color: #d7d2c8;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-decoration: none;
}

body.single-studio_event .single-event-taxonomy a:hover {
  color: #d7d2c8;
  border-color: rgba(255,255,255,0.15);
  background: #191919;
}

body.single-studio_event .single-event-status-inline {
  margin-top: 1.1rem;
}

body.single-studio_event .event-address-line {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.82rem;
  color: #9b968d;
}

body.single-studio_event .single-event-ticket-disabled {
  width: 100%;
  justify-content: center;
  background: #bab5ad;
  border: 1px solid #bab5ad;
  color: #3f3b35;
  opacity: 1;
  cursor: default;
  pointer-events: none;
}

body.single-studio_event .post-navigation {
  margin-top: 3.5rem;
}

body.single-studio_event .post-navigation .nav-links {
  border-top-color: rgba(255,255,255,0.12);
}

body.single-studio_event .post-navigation .nav-previous a,
body.single-studio_event .post-navigation .nav-next a {
  background: #191919;
  border: 1px solid rgba(255,255,255,0.12);
  color: #f4f1ea;
  box-shadow: none;
}

body.single-studio_event .post-navigation .nav-previous a:hover,
body.single-studio_event .post-navigation .nav-next a:hover {
  background: #191919;
  border-color: rgba(255,255,255,0.12);
  color: #f4f1ea;
  transform: none;
}

body.single-studio_event .post-navigation .nav-subtitle {
  color: #9b968d;
}

body.single-studio_event .post-navigation .nav-title {
  color: #f4f1ea;
}

body.single-studio_event .single-back-link,
body.single-studio_event .single-meta-line,
body.single-studio_event .single-article-excerpt,
body.single-studio_event .single-share-label {
  color: #c9c3b8;
}

body.single-studio_event .single-back-link {
  background: #191919;
  border-color: rgba(255,255,255,0.15);
}

body.single-studio_event .single-back-link:hover {
  background: #191919;
  border-color: rgba(255,255,255,0.15);
  color: #c9c3b8;
}

body.single-studio_event .single-article-title,
body.single-studio_event .single-article-content,
body.single-studio_event .single-article-content p,
body.single-studio_event .single-article-content li,
body.single-studio_event .single-article-content h2,
body.single-studio_event .single-article-content h3,
body.single-studio_event .single-article-content h4 {
  color: #f4f1ea !important;
}

body.single-studio_event .single-article-content a,
body.single-studio_event .single-meta-line a,
body.single-studio_event .post-navigation a {
  color: #f4f1ea;
}

body.single-studio_event .single-article-content a {
  text-decoration-color: rgba(244,241,234,0.55);
}

body.single-studio_event .single-article-content a:hover {
  color: #fff;
  text-decoration-color: #fff;
}

body.single-studio_event .single-article-content blockquote {
  border-left-color: #f4f1ea;
  color: #f4f1ea;
}

body.single-studio_event .single-article-content pre,
body.single-studio_event .single-article-content code {
  background: #191919;
  color: #f4f1ea;
}

@media (max-width: 980px) {
  body.single-studio_event .single-event-shell {
    grid-template-columns: 1fr;
  }

  body.single-studio_event .single-event-column {
    order: 1;
  }

  body.single-studio_event .single-event-rail {
    order: 2;
  }

  body.single-studio_event .single-event-rail-card {
    position: static;
  }
}

/* =============================================
   VIDEO SINGLE
   ============================================= */
.video-embed-wrap {
  width: 100%;
  aspect-ratio: 16/9;
  background: #000;
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: 2rem;
}

.video-embed-wrap iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

/* =============================================
   YOUTUBE-STYLE SINGLE VIDEO LAYOUT
   ============================================= */
.yt-layout {
  max-width: 1400px;
  margin: 0 auto;
  padding: 5.5rem 1.5rem 4rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 2rem;
  align-items: start;
}

.yt-layout .video-embed-wrap {
  margin-bottom: 0;
  border-radius: var(--radius);
}

.yt-title {
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 2.5vw, 1.6rem);
  font-weight: 700;
  color: var(--text);
  margin: 1rem 0 0;
  line-height: 1.3;
}

.yt-meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem 0.65rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--border);
}

.yt-meta-sep {
  color: var(--border);
  font-size: 0.7rem;
}

.yt-meta-item {
  font-size: 0.82rem;
  color: var(--text-dim);
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

.yt-badge-platform {
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.2em 0.65em;
  border-radius: var(--radius-pill);
  background: rgba(255, 68, 68, 0.15);
  color: #ff5555;
  text-transform: capitalize;
  letter-spacing: 0.03em;
}

.yt-badge-platform.vimeo {
  background: rgba(26, 183, 234, 0.15);
  color: #1ab7ea;
}

.yt-actions {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
  padding: 1rem 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: 1.25rem;
}

.yt-engagement {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}

.yt-engagement-button {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 32px;
  padding: 0.4rem 0.8rem;
  border: 1px solid color-mix(in srgb, var(--video-border) 68%, transparent);
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--video-title) 10%, transparent);
  color: var(--video-filter-text);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 800;
  cursor: pointer;
  transition: background var(--ease), border-color var(--ease), color var(--ease), opacity var(--ease), transform var(--ease);
}

.yt-engagement-button:hover,
.yt-engagement-button:focus-visible {
  border-color: color-mix(in srgb, var(--video-badge-bg) 58%, transparent);
  background: color-mix(in srgb, var(--video-badge-bg) 20%, transparent);
  color: var(--video-badge-text);
  transform: translateY(-1px);
}

.yt-engagement-button.is-liked,
.yt-share-button.is-copied {
  border-color: color-mix(in srgb, var(--video-badge-bg) 72%, transparent);
  background: var(--video-badge-bg);
  color: var(--video-badge-text);
}

.yt-like-button:disabled {
  cursor: wait;
  opacity: 0.72;
}

.yt-engagement-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.yt-like-icon {
  color: var(--video-badge-bg);
  font-size: 1rem;
  line-height: 1;
}

.yt-engagement-button:hover .yt-like-icon,
.yt-like-button.is-liked .yt-like-icon {
  color: var(--video-badge-text);
}

.yt-description { padding: 0.25rem 0 0; }

.yt-description .entry-content { font-size: 0.9rem; }

.yt-nav-wrap {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border);
}

/* Desktop: card nav visible; float bar hidden */
.yt-nav-desktop { display: block; }

.yt-nav-float { display: none; }

@media (max-width: 640px) {
  .yt-nav-desktop { display: none; }

  /* Fixed bottom bar */
  .yt-nav-float {
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 200;
    border-top: 1px solid var(--border);
    background: rgba(13, 13, 13, 0.82);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  .yt-nav-float-btn {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.9rem 1.25rem;
    color: var(--text-muted);
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    transition: color 0.15s, background 0.15s;
  }

  .yt-nav-float-btn:not(.is-disabled):active {
    background: rgba(255, 255, 255, 0.06);
    color: var(--text);
  }

  body.single-studio_video .yt-nav-float-btn:not(.is-disabled):hover,
  body.single-studio_video .yt-nav-float-btn:not(.is-disabled):focus-visible {
    color: var(--video-nav-card-hover-text, var(--video-title));
    box-shadow: inset 0 0 0 1px var(--video-nav-card-hover-border, color-mix(in srgb, var(--video-badge-bg) 54%, transparent));
  }

  .yt-nav-float-prev {
    justify-content: flex-start;
    border-right: 1px solid var(--border);
  }

  .yt-nav-float-next {
    justify-content: flex-end;
  }

  .yt-nav-float-btn:not(.is-disabled) {
    color: var(--text);
  }

  .yt-nav-float-btn.is-disabled {
    opacity: 0.3;
    pointer-events: none;
  }

  /* Push page content above the fixed bar */
  .site-main { padding-bottom: 3.5rem; }
}

/* Sidebar */
.yt-sidebar {
  position: sticky;
  top: 6rem;
  max-height: calc(100vh - 7rem);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--border) transparent;
}

.yt-sidebar-heading {
  font-family: var(--font-display);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-dim);
  margin-bottom: 0.85rem;
}

.yt-related-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.yt-related-item {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 0.7rem;
  align-items: start;
  text-decoration: none;
  border-radius: var(--radius);
  padding: 0.4rem;
  transition: background var(--ease);
}

.yt-related-item:hover { background: var(--video-sidebar-bg, var(--bg-card)); }

.yt-related-thumb {
  position: relative;
  aspect-ratio: 16/9;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--bg-3);
  flex-shrink: 0;
}

.yt-related-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.yt-related-item:hover .yt-related-thumb img { transform: scale(1.04); }

.yt-related-thumb-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
}

.yt-related-duration {
  position: absolute;
  bottom: 4px;
  right: 4px;
  background: rgba(0,0,0,0.85);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 600;
  padding: 1px 5px;
  border-radius: 3px;
  line-height: 1.5;
}

.yt-related-info {
  min-width: 0;
  padding-top: 0.1rem;
}

.yt-related-title {
  font-family: var(--font-display);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text);
  line-height: 1.35;
  margin: 0 0 0.3rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.yt-related-meta {
  font-size: 0.75rem;
  color: var(--text-dim);
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

@media (max-width: 1100px) {
  .yt-layout { grid-template-columns: 1fr; }
  .yt-sidebar {
    position: static;
    max-height: none;
    overflow-y: visible;
  }
  .yt-related-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 0.75rem;
  }
}

@media (max-width: 640px) {
  .yt-layout { padding: 5rem 1rem 3rem; }
  .yt-related-item { grid-template-columns: 120px 1fr; }
}

/* =============================================
   FOOTER
   ============================================= */
.site-footer {
  background: var(--footer-bg);
  border-top: 1px solid var(--footer-border);
  width: 100%;
  margin: 0;
  padding: 0;
}

.footer-main {
  padding: 4rem 0 3rem;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, 1fr);
  gap: 3rem;
}

@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
}

@media (max-width: 560px) {
  .footer-grid { grid-template-columns: 1fr; }
}

.footer-brand p {
  font-size: 0.85rem;
  color: var(--footer-text);
  margin: 1rem 0;
  line-height: 1.7;
  max-width: 260px;
}

.footer-logo {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--footer-heading);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.footer-logo img { max-height: 36px; width: auto; }

.footer-social {
  display: flex;
  gap: 0.5rem;
  margin-top: 1.25rem;
  flex-wrap: wrap;
}

.footer-social a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--footer-social-bg);
  border: 1px solid var(--footer-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  color: var(--footer-social-icon);
  text-decoration: none;
  transition: all var(--ease);
}

.footer-social a:hover {
  background: var(--footer-social-hover-bg);
  border-color: var(--footer-social-hover-bg);
  color: var(--footer-social-hover-icon);
}

.footer-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.85rem;
  margin-top: 0.9rem;
}

/* Strategic partnerships */
.partnership-main {
  background: #f7f7f5;
  color: #141414;
}

.partnership-hero {
  padding: 9rem 0 4.5rem;
  background:
    radial-gradient(circle at 82% 14%, var(--partner-hero-gradient-glow), transparent 34rem),
    linear-gradient(135deg, var(--partner-hero-gradient-accent), transparent 42%),
    linear-gradient(180deg, var(--partner-hero-gradient-start), var(--partner-hero-gradient-end));
  color: #f5f2ea;
}

.partnership-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 2rem;
  align-items: end;
}

.partnership-hero-copy h1 {
  max-width: 760px;
  margin: 0.55rem 0 1rem;
  color: #fff;
  font-size: clamp(2.6rem, 7vw, 6.4rem);
  font-weight: 800;
  line-height: 0.95;
}

.partnership-hero-copy p {
  max-width: 680px;
  margin: 0;
  color: rgba(245, 242, 234, 0.78);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.7;
}

.partnership-hero-actions,
.partnership-single-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.8rem;
}

.partnership-hero-actions .partnership-hero-button {
  min-height: 50px;
  padding: 0.85rem 1.35rem;
  border: 0;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: none;
}

.partnership-hero-button-icon {
  display: inline-flex;
  flex: 0 0 auto;
  width: 1.35rem;
  height: 1.35rem;
  align-items: center;
  justify-content: center;
}

.partnership-hero-button-play::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin-left: 0.15rem;
  border-top: 0.42rem solid transparent;
  border-bottom: 0.42rem solid transparent;
  border-left: 0.62rem solid currentColor;
}

.partnership-hero-button-info {
  border: 2px solid currentColor;
  border-radius: 999px;
  font-family: Arial, sans-serif;
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1;
}

.partnership-hero-panel,
.partnership-single-panel,
.partnership-empty {
  border: 1px solid rgba(20, 20, 20, 0.1);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
}

.partnership-hero-panel {
  padding: 1.5rem;
  color: var(--partner-panel-text, #4a4a4a);
}

.partnership-hero-panel strong {
  display: block;
  margin-bottom: 0.65rem;
  font-size: 1.15rem;
}

.partnership-hero-panel p {
  margin: 0 0 1rem;
  color: var(--partner-panel-p-color, #7a7a7a);
  line-height: 1.6;
}

.partnership-hero-panel ul {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--partner-panel-ul-color, #5e5e5e);
}

.partnership-directory {
  padding: 4rem 0 6rem;
  background: var(--partner-dir-bg, #111111);
}

.partnership-directory-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 2.5rem;
  align-items: start;
}

.partnership-sidebar {
  position: sticky;
  top: 6rem;
  padding: 1.5rem;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 10px;
  background: var(--partner-sidebar-bg, #ffffff);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.partnership-sidebar h2 {
  margin: 0 0 0.3rem;
  color: var(--partner-sidebar-heading, #111111);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.partnership-sidebar p {
  margin: 0 0 1.25rem;
  color: var(--partner-sidebar-text, #6d6d6d);
  font-size: 0.78rem;
}

.partnership-search {
  position: relative;
  margin-bottom: 1.5rem;
}

.partnership-search input {
  width: 100%;
  min-height: 42px;
  padding: 0.7rem 2.65rem 0.7rem 0.95rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  background: #f4f4f2;
  color: #151515;
  font-size: 0.88rem;
  transition: border-color 150ms ease, background 150ms ease;
}

.partnership-search input:focus {
  outline: none;
  border-color: var(--accent, #d00000);
  background: #fff;
}

.partnership-search button {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--partner-sidebar-text, #6d6d6d);
  cursor: pointer;
  transition: color 150ms ease;
}

.partnership-filter {
  display: grid;
  gap: 0.15rem;
  margin-top: 0.5rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.partnership-filter a {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.42rem 0.5rem;
  border-radius: 6px;
  color: var(--partner-filter-text, #555555);
  font-size: 0.875rem;
  text-decoration: none;
  transition: background 150ms ease, color 150ms ease;
}

.partnership-filter a span {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border: 1.5px solid #c8c8c4;
  border-radius: 50%;
  background: transparent;
  transition: background 150ms ease, border-color 150ms ease;
}

.partnership-filter a:hover,
.partnership-filter a.is-active {
  background: rgba(0, 0, 0, 0.04);
  color: var(--partner-filter-active, #111111);
}

.partnership-filter a.is-active span {
  border-color: var(--accent, #d00000);
  background: var(--accent, #d00000);
}

.partnership-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem;
}

.partnership-card {
  min-height: 200px;
  border: 1px solid var(--partner-card-border, #e8e8e3);
  border-radius: 10px;
  background: var(--partner-card-bg, #ffffff);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.partnership-card:hover {
  transform: translateY(-3px);
  border-color: var(--accent, #d00000);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.1);
}

.partnership-card-link {
  display: flex;
  min-height: 200px;
  padding: 1.4rem 1.2rem 1.1rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #111;
  text-align: center;
  text-decoration: none;
}

.partnership-logo-wrap {
  display: flex;
  width: 100%;
  min-height: 90px;
  align-items: center;
  justify-content: center;
}

.partnership-logo-wrap img {
  display: block;
  max-width: min(170px, 82%);
  max-height: 64px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.partnership-logo-fallback,
.partnership-single-logo span {
  display: inline-flex;
  width: 70px;
  height: 70px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f0f0ee;
  color: var(--accent, #d00000);
  font-size: 1.8rem;
  font-weight: 700;
  text-transform: uppercase;
}

.partnership-card-name {
  width: 100%;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(0, 0, 0, 0.07);
  color: #111;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.partnership-card-meta {
  margin-top: 0.3rem;
  color: #888;
  font-size: 0.72rem;
}

.partnership-empty {
  padding: 3rem 2rem;
  text-align: center;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.07);
}

.partnership-empty h2 {
  margin: 0 0 0.6rem;
  color: #111;
  font-size: 1.4rem;
}

.partnership-empty p {
  max-width: 480px;
  margin: 0 auto 1.5rem;
  color: #666;
  font-size: 0.95rem;
  line-height: 1.6;
}

.partnership-single-main {
  background: var(--partner-single-content-bg, #ffffff);
  color: var(--partner-single-content-text, #242424);
}

.partnership-single-hero {
  padding: 9rem 0 4.5rem;
  background: #111;
  color: #f5f2ea;
}

.partnership-single-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 2rem;
  align-items: center;
}

.partnership-single-title {
  margin: 0.8rem 0 1rem;
  color: #fff;
  font-size: clamp(2.6rem, 7vw, 6.4rem);
  font-weight: 800;
  line-height: 0.95;
}

.partnership-single-summary {
  max-width: 680px;
  margin: 0;
  color: rgba(245, 242, 234, 0.78);
  font-size: 1.1rem;
  line-height: 1.7;
}

.partnership-single-panel {
  padding: 1.4rem;
}

.partnership-single-logo {
  display: flex;
  min-height: 180px;
  align-items: center;
  justify-content: center;
  border: 1px solid #e4e4df;
  border-radius: 8px;
  background: #fff;
}

.partnership-single-logo img {
  max-width: 78%;
  max-height: 110px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.partnership-single-facts {
  display: grid;
  gap: 0.8rem;
  margin-top: 1rem;
}

.partnership-single-facts div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid #ecece8;
  padding-top: 0.8rem;
}

.partnership-single-facts span {
  color: #777;
  font-size: 0.75rem;
  text-transform: uppercase;
}

.partnership-single-facts strong {
  color: #111;
  text-align: right;
}

.partnership-single-body {
  padding: 4rem 0 5rem;
  background: var(--partner-single-content-bg, #ffffff);
}

.partnership-content {
  max-width: 820px;
  margin: 0 auto;
  color: var(--partner-single-content-text, #242424);
  font-size: 1.08rem;
  line-height: 1.8;
}

.partnership-content p,
.partnership-content li {
  color: var(--partner-single-content-text, #242424);
}

.partnership-content h1,
.partnership-content h2,
.partnership-content h3,
.partnership-content h4,
.partnership-content h5,
.partnership-content h6 {
  color: var(--partner-single-content-heading, #151515);
}

.partnership-content figcaption,
.partnership-content small {
  color: var(--partner-single-content-muted, #666666);
}

.partnership-content a {
  color: var(--partner-single-content-link, #d00000);
}

.partnership-single-actions .btn,
.partnership-content .wp-block-button__link,
.partnership-content .wp-element-button,
.partnership-content button,
.partnership-content input[type="button"],
.partnership-content input[type="submit"],
.partnership-content input[type="reset"] {
  background: var(--partner-single-button-bg, #d00000);
  background-color: var(--partner-single-button-bg, #d00000);
  border-radius: 8px;
  color: var(--partner-single-button-text, #ffffff);
  -webkit-text-fill-color: var(--partner-single-button-text, #ffffff);
}

.partnership-single-actions .btn:hover,
.partnership-single-actions .btn:focus-visible,
.partnership-content .wp-block-button__link:hover,
.partnership-content .wp-block-button__link:focus-visible,
.partnership-content .wp-element-button:hover,
.partnership-content .wp-element-button:focus-visible,
.partnership-content button:hover,
.partnership-content button:focus-visible,
.partnership-content input[type="button"]:hover,
.partnership-content input[type="button"]:focus-visible,
.partnership-content input[type="submit"]:hover,
.partnership-content input[type="submit"]:focus-visible,
.partnership-content input[type="reset"]:hover,
.partnership-content input[type="reset"]:focus-visible {
  background: var(--partner-single-button-hover, #dc2f02);
  background-color: var(--partner-single-button-hover, #dc2f02);
  color: var(--partner-single-button-hover-text, #ffffff);
  -webkit-text-fill-color: var(--partner-single-button-hover-text, #ffffff);
}

@media (max-width: 980px) {
  .partnership-hero-inner,
  .partnership-single-grid,
  .partnership-directory-layout {
    grid-template-columns: 1fr;
  }

  .partnership-sidebar {
    position: static;
  }

  .partnership-filter {
    display: flex;
    flex-wrap: wrap;
  }
}

@media (max-width: 720px) {
  .partnership-hero,
  .partnership-single-hero {
    padding: 7rem 0 3.5rem;
  }

  .partnership-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .partnership-grid {
    grid-template-columns: 1fr;
  }

  .partnership-card,
  .partnership-card-link {
    min-height: 170px;
  }
}

.footer-legal-links a {
  color: var(--footer-link);
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  transition: color var(--ease);
}

.footer-legal-links a:hover {
  color: var(--footer-link-hover);
}

.footer-col h4 {
  font-family: var(--font-display);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--footer-heading);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 0 1.25rem;
}

.footer-col ul { list-style: none; margin: 0; padding: 0; }
.footer-col ul li { margin-bottom: 0.65rem; }
.footer-col ul li a { font-size: 0.875rem; color: var(--footer-link); text-decoration: none; transition: color var(--ease); }
.footer-col ul li a:hover { color: var(--footer-link-hover); }

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.85rem;
  color: var(--footer-text);
  margin-bottom: 0.75rem;
  line-height: 1.5;
}

.footer-contact-item span:first-child {
  flex: 0 0 1.25rem;
  color: var(--footer-icon);
  margin-top: 0.15rem;
}

.footer-contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
}

.footer-contact-icon svg {
  display: block;
  width: 1rem;
  height: 1rem;
}

.footer-contact-item a {
  color: var(--footer-link);
  text-decoration: none;
  transition: color var(--ease);
}

.footer-contact-item a:hover { color: var(--footer-link-hover); }

.footer-bottom {
  background: var(--footer-bottom-bg);
  padding: 1.5rem 0;
  border-top: 1px solid var(--footer-border);
}

.footer-bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.footer-bottom-inner p {
  font-size: 0.78rem;
  color: var(--footer-text);
  margin: 0;
}

.footer-bottom-inner a { color: var(--footer-link); }
.footer-bottom-inner a:hover { color: var(--footer-link-hover); }

.footer-bottom-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-bottom-menu a {
  font-size: 0.78rem;
  color: var(--footer-link);
  text-decoration: none;
}

.footer-reg {
  font-size: 0.72rem;
  color: var(--footer-text);
  opacity: 0.7;
}

.footer-widgets {
  padding: 0 0 3rem;
}

/* =============================================
   BACK TO TOP
   ============================================= */
.back-to-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  background: var(--accent);
  color: #0a0a0a;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  font-size: 18px;
  font-weight: bold;
  opacity: 0;
  visibility: hidden;
  transform: translateY(16px);
  transition: all var(--ease);
  box-shadow: 0 4px 16px rgba(208,0,0,0.3);
}

.back-to-top:hover { background: var(--accent-light); color: #0a0a0a; transform: translateY(-3px); }
.back-to-top.show { opacity: 1; visibility: visible; transform: translateY(0); }

/* =============================================
   FOCUS STYLES (ACCESSIBILITY)
   ============================================= */
a:focus-visible, button:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 1024px) {
  .container { padding: 0 1.5rem; }
  .section { padding: 4rem 0; }
  .card-grid-2 { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .container { padding: 0 1.25rem; }
  .section { padding: 3rem 0; }
  .section-header { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
  .hero-content { padding-top: 5rem; }
  .hero-title { letter-spacing: -0.02em; }
  .post-grid { grid-template-columns: 1fr; }
  .card-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
  .services-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .back-to-top { bottom: 1.25rem; right: 1.25rem; width: 40px; height: 40px; font-size: 16px; }
}

@media (max-width: 480px) {
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { justify-content: center; }
  .card-grid { grid-template-columns: 1fr; }
  .event-card { flex-direction: column; }
  .event-date-block { width: 100%; padding: 0.75rem; flex-direction: row; gap: 0.5rem; justify-content: center; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  .contact-cta-actions {
    flex-wrap: nowrap !important;
    gap: 0.6rem !important;
  }

  .contact-cta-actions .btn {
    flex: 1 1 0;
    min-width: 0;
    padding: 0.78rem 0.62rem;
    font-size: 0.9rem;
    white-space: nowrap;
  }
}

/* =============================================
   HOMEPAGE — REDESIGNED (Aiken-inspired)
   ============================================= */

/* Front-page: each section owns its own spacing — zero out site-main padding */
body.home {
  --hp-surface:    var(--hp-page-bg);
  --hp-surface-2:  var(--hp-gradient-start);
  --hp-surface-3:  var(--hp-bento-bg);
  --hp-line:       var(--hp-bento-border);
  --hp-line-soft:  var(--hp-step-border);
  --hp-copy:       var(--hp-hero-desc);
  --hp-muted:      var(--hp-hero-eyebrow);
  --hp-faint:      #62626b;
  --hp-ember:      var(--hp-hero-accent-end, #d00000);
  --hp-orange:     #e85d04;
  --hp-gold:       var(--hp-hero-accent);
  --hp-green:      #16a34a;
  --hp-blue:       #38bdf8;
  background: var(--hp-page-bg);
  overflow-x: hidden;
}

body.home .site-main {
  padding: 0;
  background:
    linear-gradient(180deg, var(--hp-gradient-end) 0%, var(--hp-page-bg) 34rem, var(--hp-gradient-start) 100%);
}

/* ── Large button variant ── */
.btn-lg {
  min-height: 3rem;
  padding: 0.9rem 1.5rem;
  font-size: 1rem;
  border-radius: 999px;
  white-space: nowrap;
}

/* ── Slash accent character ── */
.hp-slash {
  color: var(--accent);
  font-weight: 700;
  font-family: var(--font-display);
}
body.home .hp-slash {
  color: var(--hp-hero-eyebrow);
}

/* ────────────────────────────────────────────
   HERO
──────────────────────────────────────────── */
.hp-hero-section {
  position: relative;
  min-height: calc(100vh - 3.35rem);      /* fallback for browsers without svh */
  min-height: calc(100svh - 3.35rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(115deg, rgba(208,0,0,0.16), transparent 28%),
    linear-gradient(245deg, rgba(56,189,248,0.1), transparent 32%),
    linear-gradient(180deg, var(--hp-gradient-end) 0%, var(--hp-gradient-start) 56%, var(--hp-page-bg) 100%);
}

.hp-hero-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.028) 1px, transparent 1px);
  background-size: 86px 86px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.85), transparent 88%);
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,0.85), transparent 88%);
}

.hp-hero-noise {
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  pointer-events: none;
  opacity: 0.28;
  mix-blend-mode: screen;
}

.hp-hero-container {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-top: clamp(6rem, 11vh, 9rem);
  padding-bottom: clamp(4.5rem, 9vh, 6rem);
}

/* Eyebrow */
.hp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--hp-copy);
  margin-bottom: 1.75rem;
  padding: 0.4rem 1rem 0.4rem 0.75rem;
  border: 1px solid var(--hp-line);
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,0.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
  width: fit-content;
  max-width: 100%;
}

/* Headline */
.hp-headline {
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 7vw, var(--hp-hero-title-size, var(--fp-title-size, 6.4rem)));
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: 0;
  color: var(--title-color);
  max-width: 11ch;
  margin: 0 0 clamp(2rem, 5vw, 3rem);
  text-wrap: balance;
}

.hp-headline em {
  font-style: normal;
  color: transparent;
  background: linear-gradient(90deg, var(--hp-gold), var(--hp-orange) 48%, var(--hp-ember));
  -webkit-background-clip: text;
  background-clip: text;
  position: relative;
}

/* Desc + CTAs row */
.hp-hero-bottom {
  display: grid;
  grid-template-columns: minmax(0, 33rem) auto;
  align-items: center;
  gap: clamp(1.5rem, 5vw, 4rem);
  padding-bottom: 3rem;
  border-bottom: 1px solid var(--hp-line);
}

.hp-hero-desc {
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  color: var(--hp-copy);
  line-height: 1.7;
  max-width: 33rem;
  margin: 0;
}

.hp-hero-actions {
  display: flex;
  gap: 0.875rem;
  flex-shrink: 0;
  align-items: center;
}

/* Inline stats strip */
.hp-hero-stats {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 2.25rem 0 0;
  overflow-x: auto;   /* prevent horizontal blowout on narrow screens */
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.hp-hero-stats::-webkit-scrollbar {
  display: none;
}

.hp-hero-stat {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: max-content;
  padding: 0 clamp(1.4rem, 3.5vw, 3rem);
}

.hp-hero-stat:first-child { padding-left: 0; }
.hp-hero-stat:last-child  { padding-right: 0; }

.hp-hero-stat-num {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3.5vw, 2.45rem);
  font-weight: 800;
  color: var(--title-color);
  line-height: 1;
}

.hp-hero-stat-label {
  font-size: 0.75rem;
  color: var(--hp-muted);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hp-hero-stat-div {
  width: 1px;
  height: 2.5rem;
  background: var(--hp-line);
  flex-shrink: 0;
}

/* ────────────────────────────────────────────
   TICKER / MARQUEE
──────────────────────────────────────────── */
.hp-scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 1rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  color: var(--text);
  text-decoration: none;
  transform: translateX(-50%);
  animation: hp-scroll-bounce 1.8s ease-in-out infinite;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.hp-scroll-cue:hover {
  border-color: rgba(255,255,255,0.34);
  background: rgba(255,255,255,0.08);
  color: var(--text);
}

.hp-scroll-cue span {
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}

@keyframes hp-scroll-bounce {
  0%, 100% { transform: translate(-50%, 0); }
  50% { transform: translate(-50%, 8px); }
}

@media (prefers-reduced-motion: reduce) {
  .hp-scroll-cue {
    animation: none;
  }
}

.hp-ticker {
  overflow: hidden;
  background: var(--hp-ticker-bg);
  border-top: 1px solid rgba(0,0,0,0.08);
  border-bottom: 1px solid rgba(0,0,0,0.08);
  padding: 0.9rem 0;
  cursor: default;
}

.hp-ticker-track {
  overflow: hidden;
  white-space: nowrap;
}

.hp-ticker-inner {
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
  animation: hp-tick 30s linear infinite;
  will-change: transform;
}

.hp-ticker:hover .hp-ticker-inner {
  animation-play-state: paused;
}

.hp-ticker-item {
  font-family: var(--font-display);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--hp-ticker-text);
  white-space: nowrap;
  transition: color var(--ease);
}

.hp-ticker-sep {
  color: var(--hp-ticker-sep);
  font-size: 0.55rem;
  flex-shrink: 0;
}

@keyframes hp-tick {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ────────────────────────────────────────────
   SECTION INTRO ROW (/ number + heading)
──────────────────────────────────────────── */
.hp-section-intro {
  display: flex;
  align-items: flex-end;
  gap: 2rem;
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--hp-line-soft);
}

.hp-section-num {
  font-family: var(--font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--hp-section-num);
  padding-bottom: 4px;
  flex-shrink: 0;
  opacity: 0.8;
}

.hp-section-services {
  background: var(--hp-surface);
  scroll-margin-top: 5rem;
}
.hp-section-process   { background: var(--hp-page-bg); color: var(--hp-step-title); }
.hp-section-products  { background: var(--hp-surface); }
.hp-section-work      { background: var(--hp-gradient-start); }
.hp-section-clients   { background: var(--hp-page-bg); color: var(--hp-section-title); }

.hp-section-process .section-title,
.hp-section-process .hp-step h3 {
  color: var(--hp-step-title);
}

.hp-section-clients .section-title {
  color: var(--hp-section-title);
}

.hp-section-process .hp-step p {
  color: var(--hp-step-text);
}

.hp-section-process .section-label,
.hp-section-clients .section-label {
  color: var(--hp-section-label);
}

.hp-section-process .hp-section-intro {
  border-bottom-color: var(--hp-step-border);
}

.hp-section-clients .hp-section-intro {
  border-bottom-color: var(--hp-bento-border);
}

.hp-client-grid {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  grid-auto-flow: dense;
  gap: 0.85rem;
}

.hp-client-logo {
  min-height: 84px;
  padding: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--ease), opacity var(--ease);
}

.hp-client-logo.is-wide {
  grid-column: span 2;
}

.hp-client-logo img {
  display: block;
  max-width: 100%;
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: 0.75;
  transition: opacity var(--ease), transform var(--ease);
}

a.hp-client-logo:hover,
a.hp-client-logo:focus-visible {
  transform: translateY(-2px);
  outline: none;
}

a.hp-client-logo:hover img,
a.hp-client-logo:focus-visible img {
  opacity: 1;
  transform: scale(1.03);
}

/* Products horizontal scroll */
.hp-products-scroll-wrap {
  position: relative;
  overflow: visible;
  margin-inline: -0.25rem;
  padding: 0.25rem 0.25rem 1.5rem;
}

.hp-row-scroll-wrap {
  position: relative;
}

.hp-row-scroll {
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.hp-row-scroll::-webkit-scrollbar {
  display: none;
}

.hp-featured-rail {
  display: grid;
  grid-auto-flow: column;
  gap: 1rem;
  width: max-content;
  padding: 0.5rem 0;
}

.hp-featured-work-rail {
  grid-auto-columns: minmax(12.5rem, 22vw);
  gap: 0.8rem;
}

.hp-featured-products-rail {
  grid-auto-columns: minmax(12.5rem, 22vw);
}

.hp-featured-work-rail .card,
.hp-featured-products-rail .product-card {
  width: 100%;
  min-width: 0;
}

.hp-featured-work-rail .card {
  border-radius: 8px;
}

.hp-featured-work-rail .card-thumb {
  aspect-ratio: 1 / 1;
}

.hp-featured-work-rail .card-body {
  padding: 0.95rem;
}

.hp-featured-work-rail .card-title {
  font-size: 0.98rem;
}

.hp-featured-work-rail .card-excerpt {
  display: none;
}

.hp-featured-work-rail .card-meta {
  font-size: 0.72rem;
}

.hp-scroll-btn {
  position: absolute;
  top: 0.25rem;
  bottom: 1rem;
  z-index: 6;
  width: 44px;
  border: 0;
  background: rgba(10,10,10,0.68);
  color: var(--text);
  font-size: 2.2rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  transition: opacity var(--ease), background var(--ease);
}

.hp-row-scroll-wrap:hover .hp-scroll-btn {
  opacity: 1;
}

.hp-scroll-btn:hover {
  background: rgba(10,10,10,0.86);
}

.hp-scroll-prev { left: 0; }
.hp-scroll-next { right: 0; }

.hp-products-track {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 0.8rem;
  width: 100%;
  padding: 0.5rem 0;
}

body.home.lkr-layout-fixed .hp-products-track {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1024px) {
  body.home.lkr-layout-fixed .hp-products-track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: unset;
    width: 100%;
  }

  body.home.lkr-layout-fixed .hp-row-scroll .hp-featured-work-rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: unset;
    width: 100%;
  }
}

@media (max-width: 640px) {
  body.home.lkr-layout-fixed .hp-products-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: unset;
    width: 100%;
  }

  body.home.lkr-layout-fixed .hp-row-scroll .hp-featured-work-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: unset;
    width: 100%;
  }
}

.hp-products-track .product-card {
  width: 100%;
  min-width: 0;
  border-radius: 8px;
}

.hp-products-track .product-card-content {
  padding: 0.95rem;
}

.hp-products-track .product-card-category {
  margin-bottom: 0.55rem;
}

.hp-products-track .product-card-excerpt {
  display: none;
}

.hp-products-track .product-card-footer {
  padding-top: 0.9rem;
}

.hp-products-track .product-card-price,
.hp-products-track .badge {
  font-size: 0.72rem;
}

.hp-products-track .product-card-cta {
  display: none;
}

.hp-products-track .product-card-media {
  aspect-ratio: 1 / 1;
}

.hp-products-track .card-thumb {
  aspect-ratio: 1 / 1;
}

body.home .hp-row-scroll .hp-featured-work-rail,
body.home .hp-row-scroll .hp-featured-products-rail {
  grid-template-columns: none;
  grid-auto-flow: column;
  width: max-content;
}

body.home.lkr-layout-fixed .hp-row-scroll .hp-featured-products-rail {
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: minmax(12.5rem, 22vw);
  width: max-content;
}

@media (max-width: 1179px) {
  .hp-products-track {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(11rem, 24vw);
    width: max-content;
  }

  .hp-featured-work-rail {
    grid-auto-columns: minmax(11rem, 24vw);
  }
}

@media (max-width: 640px) {
  .hp-products-track {
    grid-auto-columns: minmax(14rem, 78vw);
  }

  .hp-products-track .product-card {
    min-width: 0;
  }

  .hp-featured-work-rail {
    grid-auto-columns: minmax(14rem, 78vw);
  }

  .hp-scroll-btn {
    display: none;
  }
}

/* ────────────────────────────────────────────
   BENTO GRID — SERVICES
──────────────────────────────────────────── */
.hp-bento {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  grid-template-areas:
    "hp-b-web  hp-b-web  hp-b-saas"
    "hp-b-apps hp-b-mobile hp-b-ai"
    "hp-b-ar   hp-b-ar   hp-b-biz";
}

.hp-b-web    { grid-area: hp-b-web; }
.hp-b-saas   { grid-area: hp-b-saas; }
.hp-b-apps   { grid-area: hp-b-apps; }
.hp-b-mobile { grid-area: hp-b-mobile; }
.hp-b-ai     { grid-area: hp-b-ai; }
.hp-b-ar     { grid-area: hp-b-ar; }
.hp-b-biz    { grid-area: hp-b-biz; }

.hp-bento-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018)),
    var(--hp-surface-3);
  border: 1px solid var(--hp-line);
  border-radius: 8px;
  padding: clamp(1.35rem, 2.6vw, 2rem);
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  overflow: hidden;
  transition: background var(--ease), border-color var(--ease), transform var(--ease), box-shadow var(--ease);
  min-height: 210px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}

/* Featured wide cards get a richer background */
.hp-b-web,
.hp-b-ar {
  background:
    linear-gradient(135deg, rgba(208,0,0,0.16), transparent 54%),
    linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02)),
    #171718;
  border-color: rgba(255,255,255,0.12);
  padding: clamp(1.7rem, 3vw, 2.5rem);
}

.hp-bento-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,186,8,0.09) 0%, transparent 58%);
  opacity: 0;
  transition: opacity var(--ease);
  pointer-events: none;
}

.hp-bento-card:hover {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.026)),
    #202024;
  border-color: rgba(232,93,4,0.32);
  transform: translateY(-3px);
  box-shadow: 0 20px 48px rgba(0,0,0,0.25);
}

.hp-b-web:hover,
.hp-b-ar:hover {
  background:
    linear-gradient(135deg, rgba(208,0,0,0.18), transparent 54%),
    linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.024)),
    #1b1b1d;
}

.hp-bento-card:hover::after { opacity: 1; }

.hp-bento-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.hp-bento-icon {
  font-size: 2.25rem;
  line-height: 1;
  width: 3.25rem;
  height: 3.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(255,255,255,0.06);
}

.hp-b-web  .hp-bento-icon,
.hp-b-ar   .hp-bento-icon { font-size: 2.75rem; }

.hp-bento-badge {
  font-size: 0.68rem;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
}

.hp-bento-card h3 {
  font-family: var(--font-display);
  font-size: var(--hp-service-card-title-size, 1.15rem);
  font-weight: 700;
  color: var(--feature-title-color);
  margin: 0 0 0.75rem;
  line-height: 1.2;
}

.hp-b-web h3,
.hp-b-ar  h3 { font-size: calc(var(--hp-service-card-title-size, 1.15rem) * 1.22); }

.hp-bento-card p {
  font-size: 0.875rem;
  color: var(--hp-muted);
  line-height: 1.7;
  margin: 0;
  margin-top: auto;
  padding-top: 0.5rem;
}

/* ────────────────────────────────────────────
   PROCESS — HORIZONTAL STEPS
──────────────────────────────────────────── */
.hp-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.hp-step {
  padding: 0 2.5rem;
  border-right: 1px solid rgba(0,0,0,0.12);
  position: relative;
}

.hp-step:first-child { padding-left: 0; }
.hp-step:last-child  { padding-right: 0; border-right: none; }

.hp-step-num {
  display: block;
  font-family: var(--font-display);
  font-size: 3.5rem;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 1.5rem;
  -webkit-text-stroke: 1px var(--hp-step-num);
  color: transparent;
  transition: color var(--ease-out), -webkit-text-stroke var(--ease-out);
}

.hp-step:hover .hp-step-num {
  color: var(--hp-step-num);
  -webkit-text-stroke: 1px transparent;
}

.hp-step h3 {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 0.75rem;
}

.hp-step p {
  font-size: 0.875rem;
  color: var(--text-muted);
  line-height: 1.7;
  margin: 0;
}

/* ────────────────────────────────────────────
   CTA SECTION
──────────────────────────────────────────── */
.hp-cta-section {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 10vw, 8rem) 0;
  background:
    linear-gradient(135deg, rgba(208,0,0,0.18), transparent 38%),
    linear-gradient(315deg, rgba(56,189,248,0.09), transparent 36%),
    var(--hp-cta-bg);
}

.hp-cta-glow {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 78px 78px;
  pointer-events: none;
  mask-image: linear-gradient(180deg, transparent 0%, #000 28%, #000 76%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 28%, #000 76%, transparent 100%);
}

.hp-cta-wrap {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.hp-cta-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 1.5rem;
}

.hp-cta-title {
  font-family: var(--font-display);
  font-size: clamp(2.35rem, 6vw, 4.35rem);
  font-weight: 800;
  color: var(--text);
  margin: 0 0 1.25rem;
  line-height: 1.1;
  letter-spacing: 0;
  text-wrap: balance;
}

.hp-cta-desc {
  font-size: 1.05rem;
  color: var(--text-muted);
  line-height: 1.7;
  margin: 0 0 2.75rem;
}

.hp-cta-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* ────────────────────────────────────────────
   RESPONSIVE
──────────────────────────────────────────── */
@media (max-width: 1024px) {
  .hp-bento {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas:
      "hp-b-web   hp-b-saas"
      "hp-b-apps  hp-b-mobile"
      "hp-b-ai    hp-b-ar"
      "hp-b-biz   hp-b-biz";
  }
  .hp-hero-container { padding-top: 6rem; }
  .hp-steps { gap: 0; }
  .hp-client-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  .hp-hero-bottom {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .hp-hero-actions { flex-wrap: wrap; }
  .hp-hero-stats   { flex-wrap: wrap; gap: 1.5rem; overflow-x: visible; }
  .hp-hero-stat    { padding: 0; flex: 1 1 auto; }
  .hp-hero-stat-div { display: none; }
  /* Steps: 2-column grid — rows 1 and 2, add bottom border on row 1 only */
  .hp-steps {
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }
  .hp-step {
    border-right: none;
    padding: 1.5rem;
    border-bottom: 1px solid rgba(0,0,0,0.12);
  }
  /* row 1 = steps 1 & 2, row 2 = steps 3 & 4 */
  .hp-step:nth-child(3),
  .hp-step:nth-child(4) { border-bottom: none; }
  /* add a vertical divider inside each row */
  .hp-step:nth-child(odd) { border-right: 1px solid rgba(0,0,0,0.12); }
  .hp-client-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .hp-hero-section {
    min-height: auto;
  }
  .hp-hero-container {
    width: 100vw;
    max-width: 100vw;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 5.5rem;
    padding-bottom: 4rem;
  }
  .hp-headline {
    font-size: clamp(2.05rem, 9.5vw, 2.7rem);
    line-height: 1.02;
    max-width: 100%;
    overflow-wrap: break-word;
  }
  .hp-bento {
    grid-template-columns: 1fr;
    grid-template-areas:
      "hp-b-web"
      "hp-b-saas"
      "hp-b-apps"
      "hp-b-mobile"
      "hp-b-ai"
      "hp-b-ar"
      "hp-b-biz";
  }
  /* Steps: single column, stacked */
  .hp-steps { grid-template-columns: 1fr; }
  .hp-step  {
    border-right: none;
    border-bottom: 1px solid rgba(0,0,0,0.12);
    padding: 1.5rem 0;
  }
  .hp-step:last-child { border-bottom: none; }
  .hp-section-intro { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
  .hp-hero-bottom   { gap: 1.25rem; }
  .hp-hero-bottom,
  .hp-hero-desc,
  .hp-hero-actions {
    width: min(100%, 20rem) !important;
    max-width: 20rem !important;
  }
  .hp-hero-desc {
    overflow-wrap: break-word;
  }
  .hp-hero-actions  { flex-direction: row; align-items: stretch; gap: 0.6rem; }
  .hp-hero-actions .btn {
    justify-content: center;
    width: auto;
    min-width: 0;
    flex: 1 1 0;
  }
  body.home .hp-section-services .section-title {
    font-size: calc(var(--hp-services-title-size, 2.2rem) * 0.7);
  }
  body.home .hp-section-products .section-title {
    font-size: calc(var(--hp-products-title-size, 2.2rem) * 0.7);
  }
  body.home .hp-section-process .section-title {
    font-size: calc(var(--hp-process-title-size, 2.2rem) * 0.7);
  }
  body.home .hp-section-work .section-title {
    font-size: calc(var(--hp-portfolio-title-size, 2.2rem) * 0.7);
  }
  body.home .hp-cta-title {
    font-size: clamp(1.45rem, 6.2vw, calc(var(--hp-cta-title-size, 4.35rem) * 0.7));
  }
  .hp-hero-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }
  .hp-hero-stat {
    min-width: 0;
  }
  .hp-client-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hp-client-logo,
  .hp-client-logo.is-wide { grid-column: span 1; min-height: 72px; }
}

/* =============================================
   INTERACTIVE ELEMENTS — ORANGE
   Buttons and links use orange; red stays for
   brand spots (labels, stats, active states).
   ============================================= */

/* Base links */
a                    { color: var(--color-btn); }
a:hover              { color: var(--color-btn-hover); }

/* Primary button */
.btn-primary         { background: var(--color-btn); color: var(--button-text); }
.btn-primary:hover   { background: var(--color-btn-hover); color: var(--button-text); }

.hp-headline,
.hero-title,
.nf-hero-title,
.single-hero .entry-title,
.entry-title,
.blog-card-title a,
.card-title,
.card-title a,
.product-card-title,
.event-card-title,
.section-title {
  color: var(--title-color);
}

.entry-content,
.entry-content p,
.entry-content li {
  color: var(--text);
}

.hero-desc,
.nf-hero-desc,
.entry-summary,
.section-desc,
.hp-hero-desc {
  color: var(--text-muted);
}

body.home .hp-hero-desc,
body.home .hp-cta-desc {
  color: var(--hp-copy);
}

body.home .hp-headline         { color: var(--hp-hero-title); }
body.home .hp-hero-stat-num    { color: var(--hp-stat-num); }
body.home .hp-hero-stat-label  { color: var(--hp-stat-label); }

body.home .hp-hero-actions .btn-primary       { background: var(--hp-hero-btn-bg); color: var(--hp-hero-btn-text) !important; border-radius: 999px; }
body.home .hp-hero-actions .btn-primary:hover { background: var(--hp-hero-btn-hover); color: var(--hp-hero-btn-text) !important; }
body.home .hp-hero-actions .btn-ghost         { background: var(--hp-hero-ghost-bg); color: var(--hp-hero-ghost-text); border-color: var(--hp-hero-ghost-border); border-radius: 999px; }
body.home .hp-hero-actions .btn-ghost:hover   { background: var(--hp-hero-ghost-bg-hover); color: var(--hp-hero-ghost-text); border-color: var(--hp-hero-ghost-border); }

body.home .section-label       { color: var(--hp-section-label); }
body.home .hp-section-services .section-title {
  color: var(--hp-section-title);
  font-size: var(--hp-services-title-size, 2.2rem);
}

body.home .hp-section-clients .section-title {
  color: var(--hp-section-title);
  font-size: var(--hp-clients-title-size, 2.2rem);
}

body.home .hp-section-process .section-title {
  font-size: var(--hp-process-title-size, 2.2rem);
}

body.home .hp-section-work .section-title {
  color: var(--hp-section-title);
  font-size: var(--hp-portfolio-title-size, 2.2rem);
}

body.home .hp-section-products .section-title {
  color: var(--hp-section-title);
  font-size: var(--hp-products-title-size, 2.2rem);
}

body.home .hp-cta-title {
  color: var(--hp-cta-title);
  font-size: clamp(1.88rem, 4.8vw, calc(var(--hp-cta-title-size, 4.35rem) * 0.8));
}
body.home .hp-cta-label        { color: var(--hp-hero-eyebrow); }
body.home .hp-cta-desc         { color: var(--hp-cta-desc); }
body.home .hp-cta-section .btn-primary        { background: var(--hp-cta-btn-bg); color: var(--hp-cta-btn-text) !important; }
body.home .hp-cta-section .btn-primary:hover  { background: var(--hp-cta-btn-hover); color: var(--hp-cta-btn-text) !important; }
body.home .hp-cta-section .btn-ghost          { background: var(--hp-cta-ghost-bg); color: var(--hp-cta-ghost-text); border-color: var(--hp-cta-ghost-border); }
body.home .hp-cta-section .btn-ghost:hover    { background: var(--hp-cta-ghost-bg-hover); color: var(--hp-cta-ghost-text); border-color: var(--hp-cta-ghost-border); }

body.home .hp-section-process .section-title,
body.home .hp-section-process .hp-step h3 {
  color: var(--hp-step-title);
}

body.home .hp-section-process .hp-step h3 {
  font-size: var(--hp-process-step-title-size, 1.05rem);
}

body.home .hp-section-process .hp-step p {
  color: var(--hp-step-text);
}

.btn-primary,
.btn-primary:hover,
.nav-cta,
.nav-cta:hover,
.back-to-top,
.back-to-top:hover,
.search-form input[type="submit"],
.search-form input[type="submit"]:hover,
.comment-form input[type="submit"] {
  color: var(--button-text) !important;
}

.hp-bento-card,
.service-card,
.card,
.post,
.product-card {
  background: var(--feature-card-bg);
}

.hp-bento-card:hover,
.service-card:hover,
.card:hover,
.post:hover,
.product-card:hover {
  background: var(--feature-card-bg-hover);
}

.hp-bento-card h3,
.service-card h3 {
  color: var(--feature-title-color);
}

.hp-bento-card p,
.service-card p {
  color: var(--feature-text-color);
}

body.home .hp-bento-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018)),
    var(--hp-surface-3);
}
body.home .hp-bento-card h3  { color: var(--hp-bento-title); }
body.home .hp-bento-badge    { background: var(--hp-bento-badge-bg); color: var(--hp-bento-badge-text); }

body.home .hp-section-work .card-grid:not(.hp-featured-rail) .card-title,
body.home .hp-section-work .card-grid:not(.hp-featured-rail) .card-title a {
  font-size: var(--hp-portfolio-card-title-size, 1.15rem);
}

body.home .hp-section-work .card-grid:not(.hp-featured-rail) {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.85rem, 1.4vw, 1.15rem);
}

body.home .hp-section-work .card-grid:not(.hp-featured-rail) .card-thumb {
  aspect-ratio: 1 / 1;
}

@media (max-width: 1024px) {
  body.home .hp-section-work .card-grid:not(.hp-featured-rail) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }
}

@media (max-width: 640px) {
  body.home .hp-section-work .card-grid:not(.hp-featured-rail) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
  }
}

body.home .hp-products-track .product-card-title,
body.home .hp-products-track .product-card-title a {
  font-size: var(--hp-product-card-title-size, 1rem);
  font-family: var(--font-body);
  font-weight: 700;
  line-height: 1.25;
}

body.home .hp-featured-work-rail .card-title,
body.home .hp-featured-work-rail .card-title a {
  font-size: var(--hp-product-card-title-size, 1rem);
  font-family: var(--font-body);
  font-weight: 700;
  line-height: 1.25;
}

body.home .hp-b-web,
body.home .hp-b-ar {
  background:
    linear-gradient(135deg, rgba(208,0,0,0.16), transparent 54%),
    linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02)),
    var(--hp-bento-bg);
}

body.home .hp-bento-card:hover {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.026)),
    var(--hp-bento-hover);
}

body.home .hp-b-web:hover,
body.home .hp-b-ar:hover {
  background:
    linear-gradient(135deg, rgba(208,0,0,0.18), transparent 54%),
    linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.024)),
    var(--hp-bento-hover);
}

body.home .hp-bento-card p {
  color: var(--hp-muted);
}

/* Nav CTA */
.nav-cta             { background: var(--color-btn) !important; }
.nav-cta:hover       { background: var(--color-btn-hover) !important; }

/* Back to top */
.back-to-top         { background: #ffffff; color: #111111 !important; box-shadow: 0 4px 16px rgba(0,0,0,0.22); }
.back-to-top:hover   { background: #f2f2f2; color: #111111 !important; }

/* Comment & search form submits */
.comment-form input[type="submit"],
.search-form  input[type="submit"]       { background: var(--color-btn); }
.comment-form input[type="submit"]:hover,
.search-form  input[type="submit"]:hover { background: var(--color-btn-hover); }

/* Pagination active page */
.pagination-wrap .nav-links .current    { background: var(--color-btn); border-color: var(--color-btn); }

/* =============================================
   DEFAULT PAGE — EDITORIAL DARK LAYOUT
   ============================================= */
body.page-template-default:not(.home) {
  background: #0f0f0f;
  color: #f4f1ea;
}

body.page-template-default:not(.home) .site-header {
  display: block;
  position: sticky;
  top: 0;
  background: rgba(15,15,15,0.92);
  border-bottom: 1px solid rgba(255,255,255,0.09);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: none;
}

body.page-template-default:not(.home).admin-bar .site-header {
  top: 32px;
}

body.page-template-default:not(.home) .header-inner {
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}

body.page-template-default:not(.home) .site-title,
body.page-template-default:not(.home) .site-title a,
body.page-template-default:not(.home) .site-header .footer-logo {
  color: #f4f1ea;
}

body.page-template-default:not(.home) .main-navigation a {
  color: #d7d2c8;
}

body.page-template-default:not(.home) .main-navigation a:hover,
body.page-template-default:not(.home) .main-navigation a:focus,
body.page-template-default:not(.home) .main-navigation .current-menu-item > a,
body.page-template-default:not(.home) .main-navigation .current-menu-ancestor > a {
  color: #fff;
  background: rgba(255,255,255,0.08);
}

body.page-template-default:not(.home) .main-navigation .menu-toggle {
  border-color: rgba(255,255,255,0.18);
  color: #f4f1ea;
}

body.page-template-default:not(.home) .main-navigation .menu-toggle:hover {
  background: #242424;
}

body.page-template-default:not(.home) .main-navigation ul.sub-menu {
  background: #191919;
  border-color: rgba(255,255,255,0.12);
  box-shadow: 0 12px 28px rgba(0,0,0,0.35);
}

body.page-template-default:not(.home) .menu-toggle .menu-icon,
body.page-template-default:not(.home) .menu-toggle .menu-icon::before,
body.page-template-default:not(.home) .menu-toggle .menu-icon::after {
  background: #f4f1ea;
}

body.page-template-default:not(.home) .main-navigation.toggled .menu-icon {
  background: transparent;
}

.default-page-main {
  padding: 0;
  background: #0f0f0f;
}

.default-page-article {
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
  color: #f4f1ea;
}

.default-page-article:hover {
  transform: none;
  box-shadow: none;
  background: transparent;
}

.default-page-shell {
  width: min(820px, calc(100% - 3rem));
  margin: 0 auto;
  padding: clamp(2.4rem, 6vw, 4.8rem) 0 6rem;
}

body.lkr-layout-full-width .default-page-shell {
  width: min(820px, calc(100% - 3rem));
}

.default-page-header {
  padding-bottom: clamp(2rem, 4vw, 2.8rem);
}

.default-page-kicker {
  margin: 0 0 0.75rem;
  color: #9b968d;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.default-page-title {
  margin: 0;
  color: #f4f1ea;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3.15rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.05;
  overflow-wrap: break-word;
}

.default-page-excerpt {
  max-width: 700px;
  margin: 1.2rem 0 0;
  color: #c9c3b8;
  font-family: var(--font-body);
  font-size: 1.2rem;
  line-height: 1.55;
}

.default-page-featured-media {
  margin: 0 0 2.6rem;
}

.default-page-featured-media img {
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  border-radius: 6px;
}

.default-page-content {
  max-width: 760px;
}

.default-page-content > .alignwide,
.default-page-content > .wp-block-image,
.default-page-content > .wp-block-gallery,
.default-page-content > .wp-block-embed,
.default-page-content > .wp-block-video {
  width: min(100%, 820px);
  max-width: none;
}

.default-page-content img {
  border-radius: 6px;
}

.default-page-footer,
body.page-template-default:not(.home) .comments-area {
  border-color: rgba(255,255,255,0.12);
}

.default-page-footer,
.default-page-footer a,
body.page-template-default:not(.home) .comment-reply-title small a,
body.page-template-default:not(.home) .logged-in-as a {
  color: #f4f1ea;
}

body.page-template-default:not(.home) .comments-area {
  margin-top: 3.5rem;
}

body.page-template-default:not(.home) .comments-title,
body.page-template-default:not(.home) .comment-reply-title,
body.page-template-default:not(.home) .comment-author,
body.page-template-default:not(.home) .comment-content {
  color: #f4f1ea;
}

body.page-template-default:not(.home) .comment-meta,
body.page-template-default:not(.home) .comment-meta a,
body.page-template-default:not(.home) .comment-respond,
body.page-template-default:not(.home) .comment-notes,
body.page-template-default:not(.home) .logged-in-as,
body.page-template-default:not(.home) .comment-form-cookies-consent,
body.page-template-default:not(.home) .required-field-message,
body.page-template-default:not(.home) .comment-form label {
  color: #c9c3b8;
}

body.page-template-default:not(.home) .comment-form input[type="text"],
body.page-template-default:not(.home) .comment-form input[type="email"],
body.page-template-default:not(.home) .comment-form input[type="url"],
body.page-template-default:not(.home) .comment-form textarea {
  background: #191919;
  border-color: rgba(255,255,255,0.12);
  color: #f4f1ea;
}

body.page-template-default:not(.home) .comment-form input:focus,
body.page-template-default:not(.home) .comment-form textarea:focus {
  border-color: rgba(255,255,255,0.35);
  box-shadow: 0 0 0 3px rgba(244,241,234,0.08);
}

body.page-template-default:not(.home) .comment-form input[type="submit"],
body.page-template-default:not(.home) .search-form input[type="submit"] {
  background: #f4f1ea;
  color: #111;
}

body.page-template-default:not(.home) .comment-form input[type="submit"]:hover,
body.page-template-default:not(.home) .search-form input[type="submit"]:hover {
  background: #fff;
  color: #111;
}

.default-page-content.single-article-content,
.default-page-content.single-article-content p,
.default-page-content.single-article-content li {
  color: var(--text);
}

.default-page-content.single-article-content h2,
.default-page-content.single-article-content h3,
.default-page-content.single-article-content h4,
.default-page-content.single-article-content h5,
.default-page-content.single-article-content h6 {
  color: var(--title-color);
}

.default-page-content.single-article-content a {
  color: var(--accent);
  text-decoration-color: var(--accent-muted);
}

.default-page-content.single-article-content a:hover {
  color: var(--accent-light);
  text-decoration-color: var(--accent-light);
}

.default-page-content.single-article-content blockquote {
  border-left-color: var(--accent);
  color: var(--text);
}

.default-page-content.single-article-content pre,
.default-page-content.single-article-content code {
  background: var(--bg-3);
  border-color: var(--border);
  color: var(--text);
}

/* =============================================
   SINGLE BLOG ARTICLE — EDITORIAL LIGHT LAYOUT
   ============================================= */
body.single-post {
  background: #f7f7f5;
  color: #191919;
}

body.single-post .site-header {
  display: block;
  position: sticky;
  top: 0;
  background: rgba(247,247,245,0.92);
  border-bottom: 1px solid #e3e3df;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: none;
}

body.single-post.admin-bar .site-header {
  top: 32px;
}

body.single-post .header-inner {
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}

body.single-post .site-title,
body.single-post .site-title a,
body.single-post .site-header .footer-logo {
  color: #191919;
}

body.single-post .main-navigation a {
  color: #454545;
}

body.single-post .main-navigation a:hover,
body.single-post .main-navigation a:focus,
body.single-post .main-navigation .current-menu-item > a,
body.single-post .main-navigation .current-menu-ancestor > a {
  color: #191919;
  background: #ededeb;
}

body.single-post .main-navigation .menu-toggle {
  border-color: #d7d7d2;
  color: #191919;
}

body.single-post .main-navigation .menu-toggle:hover {
  background: #ededeb;
}

body.single-post .main-navigation ul.sub-menu {
  background: #fff;
  border-color: #d7d7d2;
  box-shadow: 0 12px 28px rgba(25,25,25,0.12);
}

body.single-post .menu-toggle .menu-icon,
body.single-post .menu-toggle .menu-icon::before,
body.single-post .menu-toggle .menu-icon::after {
  background: #191919;
}

body.single-post .main-navigation.toggled .menu-icon {
  background: transparent;
}

.single-article-main {
  padding: 0;
  background: #f7f7f5;
}

.single-article {
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
  color: #191919;
}

.single-article:hover {
  transform: none;
  box-shadow: none;
  background: transparent;
}

.single-article-shell {
  display: grid;
  grid-template-columns: minmax(150px, 210px) minmax(0, 760px);
  gap: clamp(2rem, 5.5vw, 4.75rem);
  width: min(1160px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 2.4rem 0 6rem;
}

body.lkr-layout-full-width .single-article-shell {
  width: 100%;
  padding-left: clamp(1.25rem, 4vw, 4rem);
  padding-right: clamp(1.25rem, 4vw, 4rem);
}

.single-article-rail {
  position: relative;
  min-height: 100%;
  padding-top: 0.15rem;
}

.single-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.42rem 0.78rem;
  border: 1px solid #d7d7d2;
  border-radius: 999px;
  background: #fff;
  color: #777;
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: background var(--ease), border-color var(--ease), color var(--ease);
}

.single-back-link:hover {
  background: #ededeb;
  border-color: #bdbdb7;
  color: #191919;
}

.single-share {
  position: sticky;
  top: 2rem;
  margin-top: 12.5rem;
}

.single-share-inline {
  display: none;
}

.single-share-label {
  margin: 0 0 0.7rem;
  color: #777;
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.single-share-links {
  display: flex;
  align-items: center;
  gap: 0.72rem;
}

.single-share-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  color: #686868;
  text-decoration: none;
}

.single-share-links a:hover {
  color: #191919;
}

.single-share-links svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.single-article-column {
  min-width: 0;
}

.single-article-header {
  padding-bottom: 2.6rem;
}

.single-article-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.single-meta-line {
  margin: 0;
  color: #777;
  font-size: 0.82rem;
  line-height: 1.45;
}

.single-meta-line a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.single-meta-line a:hover {
  color: #191919;
}

.single-theme-toggle {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 0.45rem;
  min-height: 32px;
  padding: 0.35rem 0.6rem;
  border: 1px solid #d7d7d2;
  border-radius: 999px;
  background: #fff;
  color: #454545;
  font-family: var(--font-body);
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--ease), border-color var(--ease), color var(--ease);
}

.single-theme-toggle-header {
  display: none;
}

.single-theme-toggle:hover {
  background: #ededeb;
  color: #191919;
}

.single-theme-toggle-icon {
  width: 0.78rem;
  height: 0.78rem;
  border-radius: 999px;
  background: #191919;
  box-shadow: inset -3px -2px 0 #fff;
}

.single-article-title {
  margin: 0;
  color: #191919;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.8vw, 3.05rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.05;
  overflow-wrap: break-word;
}

body.single-post .single-article-title,
body.single-studio_event .single-article-title {
  font-size: clamp(1.53rem, 2.92vw, 2.34rem);
}

.single-article-excerpt {
  max-width: 700px;
  margin: 1.2rem 0 0;
  color: #505050;
  font-family: var(--font-body);
  font-size: 1.2rem;
  line-height: 1.55;
}

.single-byline {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.35rem;
}

.single-byline-avatar {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  overflow: hidden;
  background: #191919;
  flex: 0 0 auto;
  display: block;
}

a.single-byline-avatar { transition: opacity var(--ease); }
a.single-byline-avatar:hover { opacity: 0.8; }

.single-byline-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-byline-copy {
  display: flex;
  flex-direction: column;
  color: #454545;
  font-size: 0.82rem;
  line-height: 1.25;
}

.single-byline-copy strong {
  color: #191919;
  font-weight: 600;
}

.single-byline-copy a {
  color: inherit;
  text-decoration: none;
}

.single-byline-copy a:hover strong { color: var(--accent); }

.single-byline-copy em {
  color: #8a8a8a;
  font-size: 0.78rem;
  font-style: normal;
}

.single-featured-media {
  margin: 0 0 2.6rem;
}

.single-featured-media img {
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  border-radius: 6px;
}

.single-article-content {
  color: #191919;
  font-family: var(--font-body);
  font-size: clamp(0.95rem, 1.05vw, 1.04rem);
  line-height: 1.62;
}

.single-article-content p,
.single-article-content li {
  color: #191919;
}

.single-article-content p {
  margin: 0 0 1.05em;
}

.single-article-content a {
  color: #191919;
  text-decoration-color: rgba(25,25,25,0.55);
  text-underline-offset: 2px;
}

.single-article-content a:hover {
  color: #000;
  text-decoration-color: #000;
}

.single-article-content h2,
.single-article-content h3,
.single-article-content h4 {
  color: #191919;
  font-family: var(--font-display);
  letter-spacing: 0;
  line-height: 1.12;
}

.single-article-content h2 {
  margin: 2.35em 0 0.55em;
  font-size: clamp(1.55rem, 3vw, 2.05rem);
  font-weight: 800;
}

.single-article-content h3 {
  margin: 2em 0 0.5em;
  font-size: clamp(1.25rem, 2.2vw, 1.55rem);
}

.single-article-content ul,
.single-article-content ol {
  margin: 0 0 1.25em;
  padding-left: 1.35rem;
  color: #191919;
}

.single-article-content blockquote {
  margin: 2rem 0;
  padding: 0.15rem 0 0.15rem 1.3rem;
  border-left: 3px solid #191919;
  border-radius: 0;
  background: transparent;
  color: #191919;
}

.single-article-content pre,
.single-article-content code {
  background: #ededeb;
  color: #191919;
}

.single-entry-footer,
body.single-post .post-navigation,
body.single-post .comments-area {
  border-color: #deded9;
}

body.single-post .post-navigation {
  margin-top: 3.5rem;
}

body.single-post .post-navigation .nav-links {
  border-top-color: #deded9;
}

body.single-post .post-navigation .nav-previous a,
body.single-post .post-navigation .nav-next a {
  background: #fff;
  border: 1px solid #d7d7d2;
  color: #191919;
  box-shadow: none;
}

body.single-post .post-navigation .nav-previous a:hover,
body.single-post .post-navigation .nav-next a:hover {
  background: #ededeb;
  border-color: #bdbdb7;
  color: #191919;
  transform: none;
}

body.single-post .nav-subtitle,
body.single-post .comment-meta,
body.single-post .comment-meta a {
  color: #777;
}

body.single-post .nav-title,
body.single-post .comments-title,
body.single-post .comment-reply-title,
body.single-post .comment-author,
body.single-post .comment-content {
  color: #191919;
}

body.single-post #reply-title,
body.single-post h3#reply-title.comment-reply-title {
  color: #191919 !important;
}

body.single-post .post-navigation .nav-subtitle {
  color: #777;
}

body.single-post .post-navigation .nav-title {
  color: #191919;
}

body.single-post .tags-links a {
  background: #ededeb;
  border-color: #deded9;
  color: #454545;
}

body.single-post .tags-links a:hover {
  background: #191919;
  border-color: #191919;
  color: #fff;
}

body.single-post .comment-form label {
  color: #454545;
}

body.single-post .comment-respond,
body.single-post .comment-notes,
body.single-post .logged-in-as,
body.single-post .comment-form-cookies-consent,
body.single-post .required-field-message {
  color: #454545;
}

body.single-post .comment-reply-title small a,
body.single-post .logged-in-as a {
  color: #191919;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.single-post .required {
  color: #9d0208;
}

body.single-post .comment-form input[type="text"],
body.single-post .comment-form input[type="email"],
body.single-post .comment-form input[type="url"],
body.single-post .comment-form textarea {
  background: #fff;
  border-color: #d7d7d2;
  color: #191919;
}

body.single-post .comment-form input:focus,
body.single-post .comment-form textarea:focus {
  border-color: #191919;
  box-shadow: 0 0 0 3px rgba(25,25,25,0.08);
}

body.single-post .comment-form input[type="submit"],
body.single-post .search-form input[type="submit"] {
  background: #191919;
  color: #fff;
}

body.single-post .comment-form input[type="submit"]:hover,
body.single-post .search-form input[type="submit"]:hover {
  background: #3a3a38;
  color: #fff;
}

body.single-post .post-navigation a {
  color: #191919;
}

body.single-post .post-navigation a:hover .nav-title {
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.single-post.single-post-dark,
body.single-post.single-post-dark .single-article-main {
  background: #0f0f0f;
  color: #f4f1ea;
}

body.single-post.single-post-dark .site-header {
  background: rgba(15,15,15,0.92);
  border-bottom-color: rgba(255,255,255,0.09);
}

body.single-post.single-post-dark .site-title,
body.single-post.single-post-dark .site-title a,
body.single-post.single-post-dark .site-header .footer-logo,
body.single-post.single-post-dark .main-navigation a {
  color: #d7d2c8;
}

body.single-post.single-post-dark .main-navigation a:hover,
body.single-post.single-post-dark .main-navigation a:focus,
body.single-post.single-post-dark .main-navigation .current-menu-item > a,
body.single-post.single-post-dark .main-navigation .current-menu-ancestor > a {
  color: #fff;
  background: rgba(255,255,255,0.08);
}

body.single-post.single-post-dark .main-navigation .menu-toggle {
  border-color: rgba(255,255,255,0.18);
  color: #f4f1ea;
}

body.single-post.single-post-dark .main-navigation .menu-toggle:hover,
body.single-post.single-post-dark .main-navigation ul.sub-menu,
body.single-post.single-post-dark .main-navigation .menu-item-has-children .sub-menu {
  background: #191919;
  border-color: rgba(255,255,255,0.12);
}

body.single-post.single-post-dark .menu-toggle .menu-icon,
body.single-post.single-post-dark .menu-toggle .menu-icon::before,
body.single-post.single-post-dark .menu-toggle .menu-icon::after {
  background: #f4f1ea;
}

body.single-post.single-post-dark .main-navigation.toggled .menu-icon {
  background: transparent;
}

body.single-post.single-post-dark .single-article {
  color: #f4f1ea;
}

body.single-post.single-post-dark .single-back-link,
body.single-post.single-post-dark .single-meta-line,
body.single-post.single-post-dark .single-share-label,
body.single-post.single-post-dark .single-byline-copy em,
body.single-post.single-post-dark .nav-subtitle,
body.single-post.single-post-dark .comment-meta,
body.single-post.single-post-dark .comment-meta a {
  color: #9b968d;
}

body.single-post.single-post-dark .single-back-link {
  background: #191919;
  border-color: rgba(255,255,255,0.15);
}

body.single-post.single-post-dark .single-back-link:hover,
body.single-post.single-post-dark .single-meta-line a:hover,
body.single-post.single-post-dark .single-share-links a:hover {
  color: #fff;
}

body.single-post.single-post-dark .single-back-link:hover {
  background: #242424;
  border-color: rgba(255,255,255,0.24);
}

body.single-post.single-post-dark .single-theme-toggle {
  background: #191919;
  border-color: rgba(255,255,255,0.15);
  color: #f4f1ea;
}

body.single-post.single-post-dark .single-theme-toggle:hover {
  background: #242424;
}

body.single-post.single-post-dark .single-theme-toggle-icon {
  background: #f4f1ea;
  box-shadow: none;
}

body.single-post.single-post-dark .single-share-links a {
  color: #9b968d;
}

body.single-post.single-post-dark .single-article-title,
body.single-post.single-post-dark .single-article-content,
body.single-post.single-post-dark .single-article-content p,
body.single-post.single-post-dark .single-article-content li,
body.single-post.single-post-dark .single-article-content h2,
body.single-post.single-post-dark .single-article-content h3,
body.single-post.single-post-dark .single-article-content h4,
body.single-post.single-post-dark .single-byline-copy strong,
body.single-post.single-post-dark .nav-title,
body.single-post.single-post-dark .comments-title,
body.single-post.single-post-dark .comment-reply-title,
body.single-post.single-post-dark #reply-title,
body.single-post.single-post-dark h3#reply-title.comment-reply-title,
body.single-post.single-post-dark .comment-author,
body.single-post.single-post-dark .comment-content {
  color: #f4f1ea !important;
}

body.single-post.single-post-dark .single-article-excerpt,
body.single-post.single-post-dark .single-byline-copy,
body.single-post.single-post-dark .comment-respond,
body.single-post.single-post-dark .comment-notes,
body.single-post.single-post-dark .logged-in-as,
body.single-post.single-post-dark .comment-form-cookies-consent,
body.single-post.single-post-dark .required-field-message,
body.single-post.single-post-dark .comment-form label {
  color: #c9c3b8;
}

body.single-post.single-post-dark .single-article-content a,
body.single-post.single-post-dark .single-meta-line a,
body.single-post.single-post-dark .comment-reply-title small a,
body.single-post.single-post-dark .logged-in-as a,
body.single-post.single-post-dark .post-navigation a {
  color: #f4f1ea;
}

body.single-post.single-post-dark .single-article-content blockquote {
  border-left-color: #f4f1ea;
  color: #f4f1ea;
}

body.single-post.single-post-dark .single-article-content pre,
body.single-post.single-post-dark .single-article-content code,
body.single-post.single-post-dark .tags-links a,
body.single-post.single-post-dark .post-navigation .nav-previous a,
body.single-post.single-post-dark .post-navigation .nav-next a,
body.single-post.single-post-dark .comment-form input[type="text"],
body.single-post.single-post-dark .comment-form input[type="email"],
body.single-post.single-post-dark .comment-form input[type="url"],
body.single-post.single-post-dark .comment-form textarea {
  background: #191919;
  border-color: rgba(255,255,255,0.12);
  color: #f4f1ea;
}

body.single-post.single-post-dark .post-navigation .nav-previous a:hover,
body.single-post.single-post-dark .post-navigation .nav-next a:hover,
body.single-post.single-post-dark .tags-links a:hover {
  background: #242424;
  border-color: rgba(255,255,255,0.22);
  color: #fff;
}

body.single-post.single-post-dark .single-entry-footer,
body.single-post.single-post-dark .post-navigation,
body.single-post.single-post-dark .post-navigation .nav-links,
body.single-post.single-post-dark .comments-area {
  border-color: rgba(255,255,255,0.12);
}

body.single-post.single-post-dark .comment-form input[type="submit"],
body.single-post.single-post-dark .search-form input[type="submit"] {
  background: #f4f1ea;
  color: #111;
}

body.single-post.single-post-dark .comment-form input[type="submit"]:hover,
body.single-post.single-post-dark .search-form input[type="submit"]:hover {
  background: #fff;
  color: #111;
}

@media (max-width: 900px) {
  .single-article-shell {
    grid-template-columns: 1fr;
    gap: 2.2rem;
    width: min(780px, calc(100% - 2.5rem));
    padding-top: 1.4rem;
  }

  .single-article-rail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }

  .single-share {
    position: static;
    margin-top: 0;
  }

  .single-share-label {
    display: none;
  }

  .single-article-header {
    padding-bottom: 2rem;
  }
}

@media screen and (max-width: 782px) {
  body.page-template-default:not(.home).admin-bar .site-header {
    top: 46px;
  }

  body.single-post.admin-bar .site-header {
    top: 46px;
  }
}

@media (max-width: 768px) {
  body.page-template-default:not(.home) .header-inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  body.page-template-default:not(.home) .main-navigation .menu-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    position: relative;
    z-index: 1001;
  }

  body.page-template-default:not(.home) .menu-toggle .menu-icon {
    display: inline-block !important;
  }

  body.page-template-default:not(.home) .main-navigation.toggled ul {
    background: rgba(15,15,15,0.98);
  }

  body.page-template-default:not(.home) .main-navigation .menu-item-has-children .sub-menu {
    background: #191919;
  }

  body.page-template-default:not(.home) .main-navigation.toggled a {
    color: #f4f1ea;
  }

  body.single-post .header-inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  body.single-post .main-navigation .menu-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    position: relative;
    z-index: 1001;
  }

  body.single-post .single-theme-toggle-header {
    display: inline-flex;
    min-height: 42px;
    position: relative;
    z-index: 1001;
  }

  body.single-post .single-article-topline .single-theme-toggle {
    display: none;
  }

  body.single-post .menu-toggle .menu-icon {
    display: inline-block !important;
  }

  body.single-post .main-navigation.toggled ul {
    background: rgba(247,247,245,0.98);
  }

  body.single-post .main-navigation .menu-item-has-children .sub-menu {
    background: #ededeb;
  }

  body.single-post .main-navigation.toggled a {
    color: #191919;
  }
}

@media (max-width: 560px) {
  .default-page-shell {
    width: min(100% - 2rem, 720px);
    padding-bottom: 4rem;
  }

  .default-page-title {
    font-size: clamp(1.95rem, 9vw, 2.55rem);
  }

  .default-page-excerpt {
    font-size: 1.08rem;
  }

  .single-article-shell {
    width: min(100% - 2rem, 720px);
    padding-bottom: 4rem;
  }

  .single-article-topline {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.7rem;
  }

  .single-article-rail {
    display: block;
  }

  .single-article-rail .single-share {
    display: none;
  }

  .single-share-inline {
    display: block;
    position: static;
    margin-top: 1rem;
  }

  .single-share-label {
    display: block;
    margin-bottom: 0.55rem;
    font-size: 0.64rem;
  }

  .single-share-links {
    gap: 0.55rem;
  }

  .single-share-links a {
    width: 16px;
    height: 16px;
  }

  .single-article-title {
    font-size: clamp(1.95rem, 9vw, 2.55rem);
  }

  body.single-post .single-article-title,
  body.single-studio_event .single-article-title {
    font-size: clamp(1.50rem, 6.92vw, 1.96rem);
  }

  .single-article-content {
    font-size: 0.96rem;
  }
}

/* =============================================
   THEME STYLE COVERAGE FOR CUSTOM LAYOUTS
   Keep this late so Customizer tokens can reach
   archive pages, single custom posts, and pages
   that previously used one-off colours.
   ============================================= */
.site-header {
  background: transparent;
  background: color-mix(in srgb, var(--header-bg) 0%, transparent);
}

.site-header.scrolled,
body.single-portfolio .site-header.scrolled,
body.single-product .site-header.scrolled,
body.page-template-default:not(.home) .site-header,
body.single-post .site-header,
body.single-post.single-post-dark .site-header {
  background: var(--header-bg-scrolled);
}

.site-title,
.site-title a,
.site-header .footer-logo,
.main-navigation a,
body.single-portfolio .site-title,
body.single-portfolio .site-title a,
body.single-portfolio .site-header .footer-logo,
body.single-portfolio .main-navigation a,
body.single-product .site-title,
body.single-product .site-title a,
body.single-product .site-header .footer-logo,
body.single-product .main-navigation a,
body.page-template-default:not(.home) .site-title,
body.page-template-default:not(.home) .site-title a,
body.page-template-default:not(.home) .site-header .footer-logo,
body.page-template-default:not(.home) .main-navigation a,
body.single-post .site-title,
body.single-post .site-title a,
body.single-post .site-header .footer-logo,
body.single-post .main-navigation a {
  color: var(--header-link);
}

.main-navigation a:hover,
.main-navigation a:focus,
.main-navigation .current-menu-item > a,
.main-navigation .current-menu-ancestor > a,
body.single-portfolio .main-navigation a:hover,
body.single-portfolio .main-navigation a:focus,
body.single-portfolio .main-navigation .current-menu-item > a,
body.single-portfolio .main-navigation .current-menu-ancestor > a,
body.single-product .main-navigation a:hover,
body.single-product .main-navigation a:focus,
body.single-product .main-navigation .current-menu-item > a,
body.single-product .main-navigation .current-menu-ancestor > a,
body.page-template-default:not(.home) .main-navigation a:hover,
body.page-template-default:not(.home) .main-navigation a:focus,
body.page-template-default:not(.home) .main-navigation .current-menu-item > a,
body.page-template-default:not(.home) .main-navigation .current-menu-ancestor > a,
body.single-post .main-navigation a:hover,
body.single-post .main-navigation a:focus,
body.single-post .main-navigation .current-menu-item > a,
body.single-post .main-navigation .current-menu-ancestor > a {
  color: var(--header-link-hover);
  background: var(--header-hover-bg);
}

.portfolio-archive-main,
.product-archive-main,
.product-market-main,
.portfolio-project-main,
.portfolio-project-header,
.portfolio-project-stage,
.portfolio-project-cover-frame,
.product-single-main,
.product-hero,
.product-body,
.event-hero,
.partnership-main,
.partnership-hero,
.partnership-single-hero,
body.page-template-default:not(.home),
body.single-post,
body.single-post.single-post-dark,
body.single-post.single-post-dark .single-article-main {
  background-color: var(--bg);
}

.page-header,
.portfolio-archive-hero,
.product-shop-header,
.event-hero,
.partnership-hero,
.partnership-single-hero {
  background-color: var(--bg-2);
}

.portfolio-feature-panel,
.product-feature-card,
.product-card,
.product-promo-card,
.product-ad-card,
.event-info-box,
.portfolio-project-facts div,
.product-conversion-panel,
.product-facts div,
.default-page-shell,
.single-article,
body.single-post .post-navigation .nav-previous a,
body.single-post .post-navigation .nav-next a,
body.single-post .comments-area {
  background-color: var(--bg-card);
}

.portfolio-feature-panel:hover,
.product-feature-card:hover,
.product-card:hover,
.product-promo-card:hover,
body.single-post .post-navigation .nav-previous a:hover,
body.single-post .post-navigation .nav-next a:hover {
  background-color: var(--bg-card-hover);
}

.portfolio-archive-copy h1,
.product-shop-title,
.product-market-heading h1,
.product-category-info strong,
.product-promo-content strong,
.product-row-header h2,
.product-card-title,
.product-title,
.product-price strong,
.product-facts strong,
.product-includes h2,
.page-title,
.event-info-header .event-big-date,
.partnership-hero-copy h1,
.partnership-single-title,
.portfolio-project-title,
.portfolio-project-facts strong,
.portfolio-project-content h2,
.portfolio-project-content h3,
.portfolio-project-content h4,
.default-page-title,
.single-article-title,
body.single-post .nav-title,
body.single-post .comments-title,
body.single-post .comment-reply-title {
  color: var(--title-color);
}

/* Keep major page and hero titles large but less heavy than before. */
.portfolio-archive-copy h1,
.product-shop-title,
.product-market-heading h1,
.product-title,
.page-title,
.partnership-hero-copy h1,
.partnership-single-title,
.portfolio-project-title,
.default-page-title,
.single-article-title,
.hp-headline,
.nf-hero-title {
  font-size: clamp(2rem, 5.5vw, 4.7rem);
  font-weight: 700;
  line-height: 0.98;
}

.product-content,
.product-content p,
.product-content li,
.portfolio-project-content,
.portfolio-project-content p,
.portfolio-project-content li,
.default-page-content,
.default-page-content p,
.default-page-content li,
.single-article-content,
.single-article-content p,
.single-article-content li {
  color: #191919;
}

.partnership-content,
.partnership-content p,
.partnership-content li {
  color: var(--partner-single-content-text, #242424);
}

.partnership-content h1,
.partnership-content h2,
.partnership-content h3,
.partnership-content h4,
.partnership-content h5,
.partnership-content h6 {
  color: var(--partner-single-content-heading, #151515);
}

.portfolio-archive-copy p,
.product-shop-description,
.product-market-heading p,
.product-category-info small,
.product-card-excerpt,
.product-summary,
.product-includes li,
.archive-description,
.event-info-text span,
.partnership-hero-copy p,
.partnership-single-summary,
.portfolio-project-summary,
.default-page-excerpt,
.single-article-excerpt {
  color: #55555a;
}

.product-single-main .product-title {
  color: var(--product-title);
}

.product-single-main .product-content,
.product-single-main .product-content p,
.product-single-main .product-content li {
  color: var(--product-text);
}

.product-single-main .product-summary,
.product-market-main .product-market-heading p {
  color: var(--product-text-muted);
}

.product-single-main .product-back-link,
.product-market-main .product-category-info small {
  color: var(--product-text-muted);
}

.product-kicker,
.product-card-price,
.product-promo-content small,
.product-promo-content em,
.portfolio-project-kicker,
.single-meta-line a,
.single-article-content a,
.portfolio-project-content a,
.product-content a {
  color: var(--hp-orange);
}

.partnership-content a {
  color: var(--partner-single-content-link, #d00000);
}

.btn,
.product-card-cta,
.product-panel-cta,
.partnership-hero-actions .btn {
  background-color: var(--color-btn);
  color: var(--button-text);
}

.btn:hover,
.product-card-cta:hover,
.product-panel-cta:hover,
.partnership-hero-actions .btn:hover {
  background-color: var(--color-btn-hover);
  color: var(--button-text);
}

.partnership-single-actions .btn,
.partnership-content .wp-block-button__link,
.partnership-content .wp-element-button,
.partnership-content button,
.partnership-content input[type="button"],
.partnership-content input[type="submit"],
.partnership-content input[type="reset"] {
  background: var(--partner-single-button-bg, #d00000);
  background-color: var(--partner-single-button-bg, #d00000);
  border-radius: 8px;
  color: var(--partner-single-button-text, #ffffff);
  -webkit-text-fill-color: var(--partner-single-button-text, #ffffff);
}

.partnership-single-actions .btn:hover,
.partnership-single-actions .btn:focus-visible,
.partnership-content .wp-block-button__link:hover,
.partnership-content .wp-block-button__link:focus-visible,
.partnership-content .wp-element-button:hover,
.partnership-content .wp-element-button:focus-visible,
.partnership-content button:hover,
.partnership-content button:focus-visible,
.partnership-content input[type="button"]:hover,
.partnership-content input[type="button"]:focus-visible,
.partnership-content input[type="submit"]:hover,
.partnership-content input[type="submit"]:focus-visible,
.partnership-content input[type="reset"]:hover,
.partnership-content input[type="reset"]:focus-visible {
  background: var(--partner-single-button-hover, #dc2f02);
  background-color: var(--partner-single-button-hover, #dc2f02);
  color: var(--partner-single-button-hover-text, #ffffff);
  -webkit-text-fill-color: var(--partner-single-button-hover-text, #ffffff);
}

.product-card-cta,
.product-panel-cta,
.product-hero-actions .btn-primary {
  background: var(--product-button-bg);
  color: var(--product-button-text) !important;
}

.product-card-cta:hover,
.product-panel-cta:hover,
.product-hero-actions .btn-primary:hover,
.product-hero-actions .btn-primary:focus-visible {
  background: var(--product-button-hover);
  color: var(--product-button-text) !important;
}

.product-hero-actions .btn-ghost {
  background-color: var(--product-ghost-bg);
  border: 0;
  color: var(--product-ghost-text);
}

.product-hero-actions .btn-ghost:hover,
.product-hero-actions .btn-ghost:focus-visible {
  background-color: var(--product-ghost-hover);
  color: var(--product-ghost-text);
}

body.single-product .product-hero-actions .btn-primary,
body.single-product .product-panel-cta {
  background: var(--product-button-bg);
  color: var(--product-button-text) !important;
  border: 0;
  border-radius: 8px;
  min-height: 50px;
  padding: 0.85rem 1.35rem;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: none;
}

body.single-product .product-hero-actions .btn-primary:hover,
body.single-product .product-hero-actions .btn-primary:focus-visible,
body.single-product .product-panel-cta:hover,
body.single-product .product-panel-cta:focus-visible {
  background: var(--product-button-hover);
  color: var(--product-button-text) !important;
  transform: translateY(-1px);
}

body.single-product .product-hero-actions .btn-ghost,
body.single-product .product-hero-actions .btn-ghost:hover,
body.single-product .product-hero-actions .btn-ghost:focus-visible {
  border-radius: 8px;
  min-height: 50px;
  padding: 0.85rem 1.35rem;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: none;
}

body.single-product .product-hero-actions .btn-ghost:hover,
body.single-product .product-hero-actions .btn-ghost:focus-visible {
  transform: translateY(-1px);
}

.product-ad-card.is-primary .product-promo-content small {
  color: var(--product-shelf-label);
}

.product-ad-card.is-primary .product-promo-content strong {
  color: var(--product-shelf-title);
}

.product-ad-card.is-primary .product-promo-content em {
  color: var(--product-shelf-desc);
}

.product-ad-card.is-primary .product-promo-content b {
  color: var(--product-shelf-cta);
}

.portfolio-archive-main,
.portfolio-project-main,
.portfolio-project-stage,
.portfolio-project-cover-frame {
  background: var(--portfolio-page-bg);
}

.portfolio-archive-hero,
.portfolio-project-header {
  background:
    radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--portfolio-hero-glow) 55%, transparent), transparent 32rem),
    linear-gradient(135deg, color-mix(in srgb, var(--portfolio-gradient-accent) 70%, transparent), transparent 42%),
    linear-gradient(180deg, var(--portfolio-gradient-start), var(--portfolio-gradient-end));
}

.portfolio-archive-hero-overlay {
  background:
    radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--portfolio-hero-glow) 40%, transparent), transparent 30rem),
    linear-gradient(135deg, color-mix(in srgb, var(--portfolio-gradient-accent) 48%, transparent), transparent 46%),
    linear-gradient(90deg, color-mix(in srgb, var(--portfolio-hero-overlay) 92%, transparent) 0%, color-mix(in srgb, var(--portfolio-hero-overlay) 68%, transparent) 45%, color-mix(in srgb, var(--portfolio-hero-overlay) 18%, transparent) 100%),
    linear-gradient(180deg, color-mix(in srgb, var(--portfolio-gradient-start) 18%, transparent) 0%, color-mix(in srgb, var(--portfolio-gradient-end) 92%, transparent) 100%);
}

.portfolio-archive-hero-fade {
  background: linear-gradient(180deg, transparent, var(--portfolio-page-bg));
}

.portfolio-archive-copy h1,
.portfolio-project-title,
.portfolio-project-facts strong,
.portfolio-project-content h2,
.portfolio-project-content h3,
.portfolio-project-content h4 {
  color: var(--portfolio-title);
}

.portfolio-archive-copy p,
.portfolio-project-summary,
.portfolio-project-content,
.portfolio-project-content p,
.portfolio-project-content li,
.portfolio-feature-panel em {
  color: var(--portfolio-text);
}

.portfolio-project-author-line,
.portfolio-project-share-label,
.portfolio-project-share-links a,
.portfolio-project-facts span,
.portfolio-project-tags a,
.portfolio-project-back,
.portfolio-action-button {
  color: var(--portfolio-text-muted);
}

.portfolio-project-kicker,
.portfolio-project-content a {
  color: var(--portfolio-accent);
}

.portfolio-feature-panel {
  border-color: color-mix(in srgb, var(--portfolio-border) 70%, transparent);
  background: color-mix(in srgb, var(--portfolio-feature-bg) 72%, transparent);
  color: var(--portfolio-title);
}

.portfolio-feature-panel:hover {
  border-color: color-mix(in srgb, var(--portfolio-border) 100%, var(--portfolio-title) 18%);
  color: var(--portfolio-title);
}

.portfolio-feature-panel span {
  color: var(--portfolio-feature-label);
}

.portfolio-feature-panel strong {
  color: var(--portfolio-title);
}

.portfolio-archive-list .card {
  background-color: var(--portfolio-card-bg);
}

.portfolio-archive-list .card:hover {
  background-color: var(--portfolio-card-hover);
}

.portfolio-archive-list .badge-portfolio {
  background-color: var(--portfolio-badge-bg);
  color: var(--portfolio-badge-text);
}

.portfolio-archive-list .card-title,
.portfolio-archive-list .card-title a {
  color: var(--portfolio-card-title);
}

.portfolio-archive-list .card-title a:hover {
  color: var(--portfolio-accent);
}

.portfolio-archive-list .card-meta,
.portfolio-archive-list .card-excerpt,
.portfolio-archive-list .card-meta-separator {
  color: var(--portfolio-card-meta);
}

.portfolio-archive-list .card-thumb-overlay .overlay-btn {
  background-color: var(--portfolio-overlay-bg);
  color: var(--portfolio-overlay-icon);
}

.portfolio-category-pills a,
.portfolio-tab {
  border-color: color-mix(in srgb, var(--portfolio-border) 70%, transparent);
  background: color-mix(in srgb, var(--portfolio-filter-bg) 65%, transparent);
  color: var(--portfolio-filter-text);
}

.portfolio-category-pills a:hover,
.portfolio-category-pills a.is-active,
.portfolio-tab:hover,
.portfolio-tab.is-active {
  border-color: color-mix(in srgb, var(--portfolio-accent) 52%, transparent);
  background: color-mix(in srgb, var(--portfolio-filter-active-bg) 65%, transparent);
  color: var(--portfolio-filter-active-text);
}

body.tax-video_category .nf-category-tabs .portfolio-tab,
body.tax-video_series .nf-series-switcher .portfolio-tab {
  border-color: color-mix(in srgb, var(--video-border) 70%, transparent);
  background: var(--video-filter-bg);
  color: var(--video-filter-text);
}

body.tax-video_category .nf-category-tabs .portfolio-tab:hover,
body.tax-video_category .nf-category-tabs .portfolio-tab.is-active,
body.tax-video_series .nf-series-switcher .portfolio-tab:hover,
body.tax-video_series .nf-series-switcher .portfolio-tab.is-active {
  border-color: color-mix(in srgb, var(--video-badge-bg) 58%, transparent);
  background: var(--video-filter-active-bg);
  color: var(--video-filter-active-text);
}

.netflix-dashboard .nf-category-tabs .portfolio-tab {
  border-color: color-mix(in srgb, var(--video-border) 70%, transparent);
  background: var(--video-filter-bg);
  color: var(--video-filter-text);
}

.netflix-dashboard .nf-category-tabs .portfolio-tab:hover,
.netflix-dashboard .nf-category-tabs .portfolio-tab.is-active {
  border-color: color-mix(in srgb, var(--video-badge-bg) 58%, transparent);
  background: var(--video-filter-active-bg);
  color: var(--video-filter-active-text);
}

.portfolio-project-back,
.portfolio-project-facts div,
.portfolio-project-tags a,
.portfolio-share-menu,
.portfolio-project-content .nav-previous a,
.portfolio-project-content .nav-next a {
  border-color: color-mix(in srgb, var(--portfolio-border) 70%, transparent);
}

.portfolio-project-back,
.portfolio-project-content .nav-previous a,
.portfolio-project-content .nav-next a {
  background-color: var(--portfolio-fact-bg);
}

body.single-portfolio .portfolio-project-facts div {
  background: none;
  background-color: var(--portfolio-fact-bg);
}

.portfolio-project-back:hover,
.portfolio-project-content .nav-previous a:hover,
.portfolio-project-content .nav-next a:hover,
.portfolio-share-menu a:hover {
  background: color-mix(in srgb, var(--portfolio-title) 8%, transparent);
  color: var(--portfolio-title);
}

body.single-portfolio .portfolio-action-button {
  color: var(--portfolio-action-text);
}

body.single-portfolio .portfolio-action-button span,
body.single-portfolio .portfolio-share-menu span {
  background: none;
  background-color: var(--portfolio-action-bg);
  color: var(--portfolio-action-icon);
}

.portfolio-action-button:hover,
.portfolio-project-share-links a:hover,
.portfolio-project-tags a:hover {
  color: var(--portfolio-title);
}

.portfolio-share-menu {
  background: color-mix(in srgb, var(--portfolio-feature-bg) 96%, transparent);
}

.portfolio-share-menu a {
  color: var(--portfolio-title);
}

body.blog,
body.category,
body.tag,
body.date,
body.blog .site-main,
body.category .site-main,
body.tag .site-main,
body.date .site-main {
  background-color: var(--blog-page-bg);
}

body.blog .site-main,
body.category .site-main,
body.tag .site-main,
body.date .site-main {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--blog-gradient-accent) 46%, transparent), transparent 38%),
    linear-gradient(180deg, var(--blog-gradient-start), var(--blog-gradient-end));
}

.blog-site-name {
  color: var(--blog-sidebar-title);
}

.blog-site-desc {
  color: var(--blog-sidebar-text);
}

.blog-search-form input[type="search"] {
  border-color: var(--blog-sidebar-border);
  color: var(--blog-category-active);
}

.blog-search-form input[type="search"]::placeholder {
  color: var(--blog-category-text);
}

.blog-sidebar-divider {
  border-top-color: var(--blog-sidebar-border);
}

.blog-cat-link {
  color: var(--blog-category-text);
}

.blog-cat-link:hover,
.blog-cat-link.active {
  color: var(--blog-category-active);
}

@media (max-width: 900px) {
  .blog-cat-link {
    border-color: var(--blog-sidebar-border);
  }

  .blog-cat-link.active {
    background: var(--blog-category-active);
    border-color: var(--blog-category-active);
    color: var(--blog-page-bg);
  }
}

.blog-card-img-wrap {
  background-color: var(--blog-card-image-bg);
}

.blog-card-cat {
  color: var(--blog-card-label);
}

.blog-card-title,
.blog-card-title a {
  color: var(--blog-card-title);
}

.blog-card-title a:hover,
.blog-card-author-name:hover {
  color: var(--blog-accent);
}

.blog-card-excerpt {
  color: var(--blog-card-excerpt);
}

.blog-card-author-name {
  color: var(--blog-card-author);
}

.blog-card-author-meta {
  color: var(--blog-card-meta);
}

body.single-post:not(.single-post-dark),
body.single-post:not(.single-post-dark) .single-article-main {
  background-color: var(--blog-single-light-bg);
  color: var(--blog-single-light-text);
}

body.single-post:not(.single-post-dark) .single-article,
body.single-post:not(.single-post-dark) .single-article:hover {
  background: transparent;
  background-color: transparent;
  box-shadow: none;
  transform: none;
}

body.single-post:not(.single-post-dark) .site-header {
  background: color-mix(in srgb, var(--blog-single-light-bg) 92%, transparent);
  border-bottom-color: var(--blog-single-light-border);
}

body.single-post:not(.single-post-dark) .site-title,
body.single-post:not(.single-post-dark) .site-title a,
body.single-post:not(.single-post-dark) .site-header .footer-logo,
body.single-post:not(.single-post-dark) .single-article-title,
body.single-post:not(.single-post-dark) .single-article-content,
body.single-post:not(.single-post-dark) .single-article-content p,
body.single-post:not(.single-post-dark) .single-article-content li,
body.single-post:not(.single-post-dark) .single-article-content h2,
body.single-post:not(.single-post-dark) .single-article-content h3,
body.single-post:not(.single-post-dark) .single-article-content h4,
body.single-post:not(.single-post-dark) .single-byline-copy strong,
body.single-post:not(.single-post-dark) .nav-title,
body.single-post:not(.single-post-dark) .comments-title,
body.single-post:not(.single-post-dark) .comment-reply-title,
body.single-post:not(.single-post-dark) .comment-author,
body.single-post:not(.single-post-dark) .comment-content {
  color: var(--blog-single-light-title);
}

body.single-post:not(.single-post-dark) .main-navigation a,
body.single-post:not(.single-post-dark) .single-byline-copy,
body.single-post:not(.single-post-dark) .comment-form label,
body.single-post:not(.single-post-dark) .comment-respond,
body.single-post:not(.single-post-dark) .comment-notes,
body.single-post:not(.single-post-dark) .logged-in-as,
body.single-post:not(.single-post-dark) .comment-form-cookies-consent,
body.single-post:not(.single-post-dark) .required-field-message {
  color: var(--blog-single-light-text);
}

body.single-post:not(.single-post-dark) .single-back-link,
body.single-post:not(.single-post-dark) .single-meta-line,
body.single-post:not(.single-post-dark) .single-share-label,
body.single-post:not(.single-post-dark) .single-byline-copy em,
body.single-post:not(.single-post-dark) .single-share-links a,
body.single-post:not(.single-post-dark) .nav-subtitle,
body.single-post:not(.single-post-dark) .comment-meta,
body.single-post:not(.single-post-dark) .comment-meta a,
body.single-post:not(.single-post-dark) .single-article-excerpt {
  color: var(--blog-single-light-muted);
}

body.single-post:not(.single-post-dark) .single-back-link,
body.single-post:not(.single-post-dark) .single-theme-toggle,
body.single-post:not(.single-post-dark) .post-navigation .nav-previous a,
body.single-post:not(.single-post-dark) .post-navigation .nav-next a,
body.single-post:not(.single-post-dark) .comment-form input[type="text"],
body.single-post:not(.single-post-dark) .comment-form input[type="email"],
body.single-post:not(.single-post-dark) .comment-form input[type="url"],
body.single-post:not(.single-post-dark) .comment-form textarea {
  background-color: var(--blog-single-light-surface);
  border-color: var(--blog-single-light-border);
  color: var(--blog-single-light-text);
}

body.single-post:not(.single-post-dark) .single-back-link:hover,
body.single-post:not(.single-post-dark) .single-theme-toggle:hover,
body.single-post:not(.single-post-dark) .post-navigation .nav-previous a:hover,
body.single-post:not(.single-post-dark) .post-navigation .nav-next a:hover,
body.single-post:not(.single-post-dark) .tags-links a {
  background-color: var(--blog-single-light-soft);
}

body.single-post:not(.single-post-dark) .single-entry-footer,
body.single-post:not(.single-post-dark) .post-navigation,
body.single-post:not(.single-post-dark) .post-navigation .nav-links,
body.single-post:not(.single-post-dark) .comments-area {
  border-color: var(--blog-single-light-border);
}

body.single-post:not(.single-post-dark) .comments-area,
body.single-post:not(.single-post-dark) .comment-respond {
  background: var(--blog-single-light-bg);
  background-color: var(--blog-single-light-bg);
}

body.single-post:not(.single-post-dark) .single-article-content a,
body.single-post:not(.single-post-dark) .single-meta-line a,
body.single-post:not(.single-post-dark) .comment-reply-title small a,
body.single-post:not(.single-post-dark) .logged-in-as a,
body.single-post:not(.single-post-dark) .post-navigation a {
  color: var(--blog-accent);
}

body.single-post:not(.single-post-dark) .comment-form input[type="submit"],
body.single-post:not(.single-post-dark) .search-form input[type="submit"],
body.single-post:not(.single-post-dark) .tags-links a:hover {
  background-color: var(--blog-single-light-button);
  color: var(--blog-single-light-button-text);
}

body.single-post:not(.single-post-dark) .comment-form input[type="submit"]:hover,
body.single-post:not(.single-post-dark) .search-form input[type="submit"]:hover,
body.single-post:not(.single-post-dark) .comment-form input[type="submit"]:focus-visible,
body.single-post:not(.single-post-dark) .search-form input[type="submit"]:focus-visible {
  background: var(--blog-single-light-button-hover);
  background-color: var(--blog-single-light-button-hover);
  color: var(--blog-single-light-button-text);
}

body.single-post.single-post-dark,
body.single-post.single-post-dark .single-article-main {
  background-color: var(--blog-single-dark-bg);
  color: var(--blog-single-dark-text);
}

body.single-post.single-post-dark .single-article,
body.single-post.single-post-dark .single-article:hover {
  background: transparent;
  background-color: transparent;
  box-shadow: none;
  transform: none;
}

body.single-post.single-post-dark .site-header {
  background: var(--header-bg-scrolled);
  border-bottom-color: var(--blog-single-dark-border);
}

body.single-post.single-post-dark .main-navigation a:hover,
body.single-post.single-post-dark .main-navigation a:focus,
body.single-post.single-post-dark .main-navigation .current-menu-item > a,
body.single-post.single-post-dark .main-navigation .current-menu-ancestor > a {
  background: var(--header-hover-bg);
  color: var(--header-link-hover);
}

body.single-post.single-post-dark .site-title,
body.single-post.single-post-dark .site-title a,
body.single-post.single-post-dark .site-header .footer-logo,
body.single-post.single-post-dark .single-article-title,
body.single-post.single-post-dark .single-article-content,
body.single-post.single-post-dark .single-article-content p,
body.single-post.single-post-dark .single-article-content li,
body.single-post.single-post-dark .single-article-content h2,
body.single-post.single-post-dark .single-article-content h3,
body.single-post.single-post-dark .single-article-content h4,
body.single-post.single-post-dark .single-byline-copy strong,
body.single-post.single-post-dark .nav-title,
body.single-post.single-post-dark .comments-title,
body.single-post.single-post-dark .comment-reply-title,
body.single-post.single-post-dark #reply-title,
body.single-post.single-post-dark h3#reply-title.comment-reply-title,
body.single-post.single-post-dark .comment-author,
body.single-post.single-post-dark .comment-content {
  color: var(--blog-single-dark-title) !important;
}

body.single-post.single-post-dark .main-navigation a,
body.single-post.single-post-dark .single-article-content a,
body.single-post.single-post-dark .single-meta-line a,
body.single-post.single-post-dark .comment-reply-title small a,
body.single-post.single-post-dark .logged-in-as a,
body.single-post.single-post-dark .post-navigation a {
  color: var(--blog-single-dark-text);
}

body.single-post.single-post-dark .single-back-link,
body.single-post.single-post-dark .single-meta-line,
body.single-post.single-post-dark .single-share-label,
body.single-post.single-post-dark .single-byline-copy em,
body.single-post.single-post-dark .single-share-links a,
body.single-post.single-post-dark .nav-subtitle,
body.single-post.single-post-dark .comment-meta,
body.single-post.single-post-dark .comment-meta a {
  color: var(--blog-single-dark-muted);
}

body.single-post.single-post-dark .single-article-excerpt,
body.single-post.single-post-dark .single-byline-copy,
body.single-post.single-post-dark .comment-respond,
body.single-post.single-post-dark .comment-notes,
body.single-post.single-post-dark .logged-in-as,
body.single-post.single-post-dark .comment-form-cookies-consent,
body.single-post.single-post-dark .required-field-message,
body.single-post.single-post-dark .comment-form label {
  color: var(--blog-single-dark-muted);
}

body.single-post.single-post-dark .single-back-link,
body.single-post.single-post-dark .single-theme-toggle,
body.single-post.single-post-dark .main-navigation ul.sub-menu,
body.single-post.single-post-dark .main-navigation .menu-item-has-children .sub-menu,
body.single-post.single-post-dark .post-navigation .nav-previous a,
body.single-post.single-post-dark .post-navigation .nav-next a,
body.single-post.single-post-dark .tags-links a,
body.single-post.single-post-dark .comment-form input[type="text"],
body.single-post.single-post-dark .comment-form input[type="email"],
body.single-post.single-post-dark .comment-form input[type="url"],
body.single-post.single-post-dark .comment-form textarea {
  background-color: var(--blog-single-dark-surface);
  border-color: var(--blog-single-dark-border);
  color: var(--blog-single-dark-text);
}

body.single-post.single-post-dark .single-back-link:hover,
body.single-post.single-post-dark .single-theme-toggle:hover,
body.single-post.single-post-dark .post-navigation .nav-previous a:hover,
body.single-post.single-post-dark .post-navigation .nav-next a:hover,
body.single-post.single-post-dark .tags-links a:hover,
body.single-post.single-post-dark .single-article-content pre,
body.single-post.single-post-dark .single-article-content code {
  background-color: var(--blog-single-dark-soft);
  border-color: var(--blog-single-dark-border);
  color: var(--blog-single-dark-title);
}

body.single-post.single-post-dark .single-entry-footer,
body.single-post.single-post-dark .post-navigation,
body.single-post.single-post-dark .post-navigation .nav-links,
body.single-post.single-post-dark .comments-area {
  border-color: var(--blog-single-dark-border);
}

body.single-post.single-post-dark .comments-area,
body.single-post.single-post-dark .comment-respond {
  background: var(--blog-single-dark-bg);
  background-color: var(--blog-single-dark-bg);
}

body.single-post.single-post-dark .comment-form input[type="submit"],
body.single-post.single-post-dark .comment-form .form-submit .submit,
body.single-post.single-post-dark .comment-form #submit,
body.single-post.single-post-dark .search-form input[type="submit"] {
  background: var(--blog-single-dark-button) !important;
  background-color: var(--blog-single-dark-button) !important;
  background-image: none !important;
  color: var(--blog-single-dark-button-text) !important;
  -webkit-text-fill-color: var(--blog-single-dark-button-text);
  cursor: pointer;
  pointer-events: auto;
  position: relative;
  z-index: 1;
}

body.single-post.single-post-dark .comment-form input[type="submit"]:hover,
body.single-post.single-post-dark .comment-form .form-submit .submit:hover,
body.single-post.single-post-dark .comment-form #submit:hover,
body.single-post.single-post-dark .search-form input[type="submit"]:hover,
body.single-post.single-post-dark .comment-form input[type="submit"]:focus-visible,
body.single-post.single-post-dark .comment-form .form-submit .submit:focus-visible,
body.single-post.single-post-dark .comment-form #submit:focus-visible,
body.single-post.single-post-dark .search-form input[type="submit"]:focus-visible {
  background: var(--blog-single-dark-button-hover) !important;
  background-color: var(--blog-single-dark-button-hover) !important;
  background-image: none !important;
  color: var(--blog-single-dark-button-text) !important;
  -webkit-text-fill-color: var(--blog-single-dark-button-text);
  transform: none;
}

body.single-post.single-post-dark .comment-form .form-submit input#submit.submit:hover,
body.single-post.single-post-dark .comment-form .form-submit input#submit.submit:focus-visible {
  background: var(--blog-single-dark-button-hover) !important;
  background-color: var(--blog-single-dark-button-hover) !important;
  background-image: none !important;
  color: var(--blog-single-dark-button-text) !important;
  -webkit-text-fill-color: var(--blog-single-dark-button-text);
}

body.single-post .comments-area,
body.single-post .comment-respond,
body.single-post .comment-form,
body.single-post .comment-form .form-submit {
  position: relative;
}

body.single-post .comment-form .form-submit {
  z-index: 5;
}

body.single-post:not(.single-post-dark) #respond form.comment-form p.form-submit input#submit.submit,
body.single-post.single-post-dark #respond form.comment-form p.form-submit input#submit.submit {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  cursor: pointer;
  pointer-events: auto;
  position: relative;
  z-index: 6;
}

body.single-post:not(.single-post-dark) #respond form.comment-form p.form-submit input#submit.submit {
  background: var(--blog-single-light-button) !important;
  background-color: var(--blog-single-light-button) !important;
  background-image: none !important;
  color: var(--blog-single-light-button-text) !important;
  -webkit-text-fill-color: var(--blog-single-light-button-text);
}

body.single-post:not(.single-post-dark) #respond form.comment-form p.form-submit input#submit.submit:hover,
body.single-post:not(.single-post-dark) #respond form.comment-form p.form-submit input#submit.submit:focus-visible {
  background: var(--blog-single-light-button-hover) !important;
  background-color: var(--blog-single-light-button-hover) !important;
  background-image: none !important;
  color: var(--blog-single-light-button-text) !important;
  -webkit-text-fill-color: var(--blog-single-light-button-text);
  transform: none !important;
}

body.single-post.single-post-dark #respond form.comment-form p.form-submit input#submit.submit {
  background: var(--blog-single-dark-button) !important;
  background-color: var(--blog-single-dark-button) !important;
  background-image: none !important;
  color: var(--blog-single-dark-button-text) !important;
  -webkit-text-fill-color: var(--blog-single-dark-button-text);
}

body.single-post.single-post-dark #respond form.comment-form p.form-submit input#submit.submit:hover,
body.single-post.single-post-dark #respond form.comment-form p.form-submit input#submit.submit:focus-visible {
  background: var(--blog-single-dark-button-hover) !important;
  background-color: var(--blog-single-dark-button-hover) !important;
  background-image: none !important;
  color: var(--blog-single-dark-button-text) !important;
  -webkit-text-fill-color: var(--blog-single-dark-button-text);
  transform: none !important;
}

body.single-post .comment-list {
  color: var(--blog-comment-text);
}

body.single-post .comment-list .comment {
  margin-bottom: 1.25rem;
  padding: 1.1rem;
  border: 1px solid var(--blog-comment-border);
  border-left: 3px solid var(--blog-comment-link);
  border-radius: 8px;
  background: var(--blog-comment-bg);
  background-color: var(--blog-comment-bg);
  color: var(--blog-comment-text);
}

body.single-post .comment-list .children {
  margin: 1rem 0 0 1.25rem;
  padding: 0;
  list-style: decimal;
}

body.single-post .comment-list .children .comment {
  background: var(--blog-comment-reply-bg);
  background-color: var(--blog-comment-reply-bg);
}

body.single-post .comment-author,
body.single-post .comment-author .fn,
body.single-post .comment-author .says {
  color: var(--blog-comment-author) !important;
}

body.single-post .comment-meta,
body.single-post .comment-meta a,
body.single-post .comment-metadata,
body.single-post .comment-metadata a {
  color: var(--blog-comment-meta) !important;
}

body.single-post .comment-content,
body.single-post .comment-content p {
  color: var(--blog-comment-text) !important;
}

body.single-post .comment-reply-link,
body.single-post .comment-edit-link,
body.single-post .comment-list a {
  color: var(--blog-comment-link);
}

body.single-post .comment-reply-link:hover,
body.single-post .comment-edit-link:hover,
body.single-post .comment-list a:hover {
  color: var(--blog-comment-author);
}

.contact-form .contact-submit {
  background-color: var(--contact-submit-bg);
  color: var(--contact-submit-text);
}

.contact-form .contact-submit:hover,
.contact-form .contact-submit:focus-visible {
  background-color: var(--contact-submit-hover);
  color: var(--contact-submit-text);
}

.partnership-hero-actions .partnership-hero-button-primary {
  background-color: var(--partner-hero-primary-bg, #ffffff);
  color: var(--partner-hero-primary-text, #0a0a0a);
}

.partnership-hero-actions .partnership-hero-button-primary:hover,
.partnership-hero-actions .partnership-hero-button-primary:focus-visible {
  background-color: var(--partner-hero-primary-hover, #eeeeee);
  color: var(--partner-hero-primary-text, #0a0a0a);
  transform: translateY(-1px);
}

.partnership-hero-actions .partnership-hero-button-secondary {
  background-color: var(--partner-hero-secondary-bg, #4f4f4f);
  color: var(--partner-hero-secondary-text, #ffffff);
}

.partnership-hero-actions .partnership-hero-button-secondary:hover,
.partnership-hero-actions .partnership-hero-button-secondary:focus-visible {
  background-color: var(--partner-hero-secondary-hover, #666666);
  color: var(--partner-hero-secondary-text, #ffffff);
  transform: translateY(-1px);
}

/* =============================================
   AUTHOR ARCHIVE PAGE
   ============================================= */

.author-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.82rem;
  color: var(--text-muted);
  text-decoration: none;
  margin-bottom: 1.75rem;
  transition: color var(--ease);
}

.author-back-link:hover { color: var(--text); }

/* Hero: full-width author bio above post grid */
.author-hero {
  padding: 6rem 0 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: 0;
}

.author-hero-inner {
  display: flex;
  align-items: flex-start;
  gap: 1.75rem;
  padding-bottom: 2.5rem;
}

.author-hero-avatar {
  width: 96px;
  height: 96px;
  border-radius: 14px;
  overflow: hidden;
  background: var(--bg-card);
  flex-shrink: 0;
}

.author-hero-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.author-hero-copy {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-top: 0.25rem;
}

.author-hero-name {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 800;
  color: var(--text);
  margin: 0;
  line-height: 1.1;
}

.author-hero-bio {
  font-size: 0.92rem;
  color: var(--text-muted);
  line-height: 1.65;
  margin: 0;
  max-width: 56ch;
}

.author-hero-count {
  font-size: 0.8rem;
  color: var(--text-dim);
  font-weight: 500;
}

/* Tighter top padding when hero precedes the grid */
.author-hero + .blog-layout {
  padding-top: 3rem;
}

@media (max-width: 600px) {
  .author-hero-inner {
    flex-direction: column;
    gap: 1rem;
  }

  .author-hero-avatar {
    width: 72px;
    height: 72px;
    border-radius: 10px;
  }

  .author-hero-name { font-size: 1.5rem; }
}

/* Portfolio-like hero spacing for Product + Partnership pages */
.product-market-header,
.product-hero,
.partnership-hero,
.partnership-single-hero {
  display: flex;
  align-items: flex-end;
  min-height: 72vh;
  min-height: 72svh;
  padding: 0;
}

.product-market-header > .container,
.product-hero-grid,
.partnership-hero-inner,
.partnership-single-grid {
  width: 100%;
  padding-top: 8rem;
  padding-bottom: 4rem;
}

@media (max-width: 900px) {
  .product-market-header,
  .product-hero,
  .partnership-hero,
  .partnership-single-hero {
    min-height: 68vh;
    min-height: 68svh;
  }

  .product-market-header > .container,
  .product-hero-grid,
  .partnership-hero-inner,
  .partnership-single-grid {
    padding-top: 6.5rem;
    padding-bottom: 3rem;
  }
}

@media (max-width: 640px) {
  .product-market-header,
  .product-hero,
  .partnership-hero,
  .partnership-single-hero {
    min-height: 62vh;
    min-height: 62svh;
  }

  .product-market-header > .container,
  .product-hero-grid,
  .partnership-hero-inner,
  .partnership-single-grid {
    padding-top: 4rem;
    padding-bottom: 4.5rem;
  }
}

/* Product category archive should use a compact header, not roomy hero spacing. */
body.tax-product_category .product-market-header.product-category-header {
  display: block;
  min-height: 0;
  padding: 6.5rem 0 1.25rem;
}

body.tax-product_category .product-market-header.product-category-header > .container {
  padding-top: 0;
  padding-bottom: 0;
}

@media (max-width: 640px) {
  body.tax-product_category .product-market-header.product-category-header {
    padding: 5.75rem 0 1rem;
  }
}

/* Portfolio category archive should follow product category header spacing. */
body.tax-portfolio_category .product-market-header.product-category-header {
  display: block;
  min-height: 0;
  padding: 6.5rem 0 1.25rem;
}

body.tax-portfolio_category .product-market-header.product-category-header > .container {
  padding-top: 0;
  padding-bottom: 0;
}

@media (max-width: 640px) {
  body.tax-portfolio_category .product-market-header.product-category-header {
    padding: 5.75rem 0 1rem;
  }
}

/* Product single page should also stay compact (no roomy hero). */
body.single-product .product-hero {
  display: block;
  min-height: 0;
  padding: 6.5rem 0 3.25rem;
}

body.single-product .product-hero-grid {
  align-items: start;
  padding-top: 0;
  padding-bottom: 0;
}

@media (max-width: 900px) {
  body.single-product .product-hero {
    padding: 6.25rem 0 2.5rem;
  }
}

@media (max-width: 640px) {
  body.single-product .product-hero {
    padding: 5.75rem 0 2.25rem;
  }
}

/* Home hero headline: +30% for stronger impact on desktop and mobile. */
body.home .hp-headline {
  font-size: clamp(2.6rem, 7.15vw, 6.1rem);
}

@media (max-width: 600px) {
  body.home .hp-headline {
    font-size: clamp(3.12rem, 14.2vw, 4.1rem);
    line-height: 1.02;
  }
}

/* Make default page/archive titles larger while keeping balance across screens. */
.page-title,
.default-page-title {
  font-size: clamp(3rem, 8.1vw, 6.5rem);
  line-height: 1.02;
}

@media (max-width: 640px) {
  .page-title,
  .default-page-title {
    font-size: clamp(2.67rem, 11.4vw, 4.03rem);
    line-height: 1.08;
  }
}

/* Featured cards: square thumbnail boxes with no crop/distortion on all screens. */
body.home .hp-row-scroll .hp-products-track .product-card-media,
body.home .hp-row-scroll .hp-featured-work-rail .card-thumb {
  aspect-ratio: 1 / 1 !important;
  background: var(--bg-3);
}

body.home .hp-row-scroll .hp-featured-work-rail,
body.home .hp-row-scroll .hp-featured-products-rail {
  grid-auto-columns: minmax(12.5rem, 22vw) !important;
}

@media (max-width: 1179px) {
  body.home .hp-row-scroll .hp-featured-work-rail,
  body.home .hp-row-scroll .hp-featured-products-rail {
    grid-auto-columns: minmax(11rem, 24vw) !important;
  }
}

@media (max-width: 640px) {
  body.home .hp-row-scroll .hp-featured-work-rail,
  body.home .hp-row-scroll .hp-featured-products-rail {
    grid-auto-columns: minmax(14rem, 78vw) !important;
  }
}

body.home .hp-row-scroll .hp-products-track .product-card-media img,
body.home .hp-row-scroll .hp-featured-work-rail .card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center;
}

/* Portfolio + Product listings: square media, no crop/distortion. */
.portfolio-archive-list .card-thumb,
body.post-type-archive-product .product-card-media,
body.tax-product_category .product-card-media {
  aspect-ratio: 1 / 1 !important;
  background: var(--bg-3);
}

.portfolio-archive-list .card-thumb img,
body.post-type-archive-product .product-card-media img,
body.tax-product_category .product-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center;
}

/* Keep both featured rails as horizontal scrollers on all breakpoints. */
body.home .hp-row-scroll .hp-featured-work-rail,
body.home .hp-row-scroll .hp-featured-products-rail {
  grid-template-columns: none !important;
  grid-auto-flow: column !important;
  width: max-content !important;
}

