/** Shopify CDN: Minification failed

Line 90:15 Expected identifier but found whitespace
Line 90:26 Unexpected ";"
Line 415:15 Expected identifier but found whitespace
Line 415:26 Unexpected ";"
Line 564:15 Expected identifier but found whitespace
Line 564:26 Unexpected ";"

**/
/* ═══════════════════════════════════════════════════
   LUND STUDIO v10 — THE LION
   ═══════════════════════════════════════════════════
   
   Structure:
   01. Tokens & Reset
   02. Navigation
   03. Hero
   04. Ticker
   05. Lundr CTA & Vortex
   06. Transitions & Editorial
   07. Disciplines
   08. Work / Projects
   09. Pricing
   10. Founder
   11. Grove Homepage Section
   12. Contact
   13. Footer
   14. Reveals & Animations
   15. Responsive
   ═══════════════════════════════════════════════════ */

/* ═══════════════ 01. TOKENS & RESET ═══════════════ */

:root {
    --grove: #2d7a4f;
    --grove-bright: #35915d;
    --deep-forest: #1a4a31;
    --sage: #7fb069;
    --gold: #c8a84e;
    --gold-light: #d4b965;
    --midnight: #050505;
    --warm-white: #f5f2ed;
    --cream: #eae6df;
    --stone: #c8c3ba;
    --text-dark: #0a0a0c;
    --text-mid: #2a2a2e;
    --text-light: #3d3d40;
    --serif: 'Cormorant Garamond', Georgia, serif;
    --sans: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --mono: 'JetBrains Mono', monospace;
    --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --duration-fast: 0.3s;
    --duration-mid: 0.5s;
    --duration-slow: 0.9s;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }

/* ═══════════════════════════════════════════════════════
   LUND SURFACE — LIQUID GLASS · 2050 INTERACTION LAYER
   Every element breathes. Every surface refracts.
   The future is not flat. The future is translucent.
   ═══════════════════════════════════════════════════════ */

@keyframes atmosShift {
  0%, 100% { opacity: 0.6; }
  33% { opacity: 1; }
  66% { opacity: 0.8; }
}

/* PRISMATIC SELECTION — text selection is golden, not generic */
::selection { background: rgba(200,168,78,0.25); color: #fff; text-shadow: 0 0 20px rgba(200,168,78,0.3); }

/* LIQUID GLASS — universal glass morphism for interactive elements */
input, select, textarea, button {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* CURSOR GLOW — the cursor leaves a trace of light */
body {

  overflow-x: hidden;
}
a, button, [onclick] {
}
    word-break: break-word;
    overflow-wrap: break-word;

/* LIQUID GLASS SURFACES — all bordered containers get glass treatment */
[style*="border"], .proj, .pricing-home__tier {
  border-color: rgba(200,168,78,0.04) !important;
  transition: border-color 0.5s, box-shadow 0.5s, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* HOVER WARP — elements lift and refract on hover */
a:hover, button:hover {
  text-shadow: 0 0 30px rgba(200,168,78,0.06);
}



/* GLOBAL BREATH — subtle opacity pulse on decorative elements */
@keyframes globalBreath {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 1; }
}

/* GLASS BORDERS — borders refract light */
hr, [class*="divider"], [class*="dv"] {
  border-image: linear-gradient(90deg, transparent, rgba(200,168,78,0.08), rgba(45,122,79,0.06), transparent) 1 !important;
}

/* SURFACE DEPTH — images and media have depth */
img {
  transition: filter 0.5s, transform 0.5s;
}
img:hover {
  filter: brightness(1.05);
}

/* LINK UNDERLINE GROW — all links have growing gold underlines */
.nav-mega a, .mob-section-body a {
  position: relative;
}
.nav-mega a::after, .mob-section-body a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 1px;
  background: var(--gold);
  transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1), left 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.nav-mega a:hover::after, .mob-section-body a:hover::after {
  width: 100%;
  left: 0;
}

/* SECTION REVEAL — sections fade in on scroll */
section, [class*="sect"], [class*="section"] {
  opacity: 1;
}
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.vis {
  opacity: 1;
  transform: translateY(0);
}

/* GOLDEN FOCUS — focus states are golden rings, not blue outlines */
:focus-visible {
  outline: 1px solid rgba(200,168,78,0.3) !important;
  outline-offset: 2px;
  box-shadow: 0 0 20px rgba(200,168,78,0.06);
}

/* LOADING SHIMMER — skeleton loading effect */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.shimmer {
  background: linear-gradient(90deg, rgba(200,168,78,0.02), rgba(200,168,78,0.06), rgba(200,168,78,0.02));
  background-size: 200% 100%;
  animation: none;
}

/* SMOOTH PAGE TRANSITIONS — elements ease in on page load */
body > *:not(.nav):not(script):not(style):not(link) {
}

/* FROSTED NAV on solid state — deeper glass */
.nav.solid {
  background: rgba(5,5,5,0.85) !important;
  backdrop-filter: blur(40px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.2) !important;
  border-bottom: 1px solid rgba(200,168,78,0.03) !important;
}

/* HOVER LIFT — universal micro-interaction for clickable items */
.proj:hover, .pricing-home__tier:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.3), 0 0 20px rgba(200,168,78,0.02) !important;
}

/* TEXT GLOW ON HEADINGS — headings have a faint luminous presence */
h1, h2, h3 {
  text-rendering: optimizeLegibility;
    word-break: break-word;
    overflow-wrap: break-word;
}
h1 {
  text-shadow: 0 0 60px rgba(200,168,78,0.04), 0 0 120px rgba(200,168,78,0.02);
}

/* FOOTER GLASS — the footer is a glass surface */
.ft-main, [class*="footer"], [class*="foot"] {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* SMOOTH SCROLL MOMENTUM — sections have parallax hints */
@supports (scroll-timeline-name: --main) {
  .hero, [class*="hero"] {
    transform: translateZ(0);
    will-change: transform;
  }
}


body {
    font-family: var(--sans);
    background: #050505;
    color: #fff;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    word-break: break-word;
    overflow-wrap: break-word;
    -moz-osx-font-smoothing: grayscale;
    max-width: 100vw;
    text-rendering: optimizeLegibility;
    word-break: break-word;
    overflow-wrap: break-word;
}
::selection { background: var(--grove); color: #fff; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }

/* ═══════════════ 02. NAVIGATION ═══════════════ */

.nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    display: flex; align-items: center; justify-content: space-between;
    padding: 28px 48px;
    transition: all 0.6s var(--ease-out-expo);
    background: linear-gradient(180deg, rgba(5,5,5,0.6) 0%, transparent 100%);
}
.nav::after {
    content: '';
    position: absolute;
    bottom: 0; left: 10%; right: 10%; height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(45,122,79,0.15) 15%,
        rgba(200,169,110,0.12) 35%,
        rgba(107,63,160,0.1) 55%,
        rgba(45,122,79,0.12) 75%,
        transparent);
    opacity: 0.6;
    animation: navCosmicShift 12s ease-in-out infinite;
}
@keyframes navCosmicShift {
    0%,100% { opacity: 0.4; background-position: 0% 50%; }
    50% { opacity: 0.8; background-position: 100% 50%; }
}
.nav.solid {
    background: rgba(10,10,10,0.95);
    backdrop-filter: blur(32px); -webkit-backdrop-filter: blur(32px);
    padding: 18px 48px;
    border-bottom: none;
    box-shadow: 0 4px 40px rgba(0,0,0,0.4), 0 1px 0 rgba(45,122,79,0.06);
}
.nav.solid::after {
    opacity: 0.9;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 5%,
        rgba(45,122,79,0.2) 20%,
        rgba(200,169,110,0.15) 40%,
        rgba(107,63,160,0.12) 60%,
        rgba(45,122,79,0.15) 80%,
        transparent 95%);
}
.nav-logo { display: flex; align-items: center; gap: 16px; text-decoration: none; color: #fff; }
.nav-mark { display: flex; flex-direction: column; align-items: center; gap: 3px; filter: drop-shadow(0 0 4px rgba(45,122,79,0.3)); }
.nav-mark i { display: block; border-radius: 50%; background: var(--grove); transition: filter 0.3s; }
.nav-logo:hover .nav-mark { filter: drop-shadow(0 0 8px rgba(45,122,79,0.5)) drop-shadow(0 0 16px rgba(45,122,79,0.2)); }
.nav-mark i:nth-child(1) { width: 11px; height: 11px; }
.nav-mark i:nth-child(2) { width: 9px; height: 9px; }
.nav-mark i:nth-child(3) { width: 7px; height: 7px; }
.nav-name { font-family: var(--serif); font-size: 1.2rem; font-weight: 400; letter-spacing: 0.14em; }
.nav-right { display: flex; align-items: center; gap: 28px; }
.nav-links { display: flex; gap: 24px; list-style: none; }
.nav-links a {
    color: #fff; text-decoration: none;
    font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase;
    opacity: 0.45; transition: opacity 0.3s, text-shadow 0.3s, color 0.3s;
    position: relative; white-space: nowrap;
}
.nav-links a:hover { opacity: 1; text-shadow: 0 0 8px rgba(45,122,79,0.5), 0 0 20px rgba(45,122,79,0.2), 0 0 40px rgba(45,122,79,0.08); }
@media(max-width:1400px) and (min-width:1101px){.nav-links{gap:16px;}.nav-links a{font-size:14px;letter-spacing:0.04em;}.nav-right{gap:20px;}.nav-contact{padding:8px 16px;font-size:14px;}}
.nav-contact {
    font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase;
    color: #fff; text-decoration: none;
    padding: 10px 24px; border: 1px solid rgba(255,255,255,0.12);
    transition: all 0.3s;
    box-shadow: 0 0 12px rgba(45,122,79,0.04);
}
.nav-contact:hover { background: rgba(45,122,79,0.08); color: #fff; border-color: rgba(45,122,79,0.3); box-shadow: 0 0 20px rgba(45,122,79,0.12), 0 0 40px rgba(45,122,79,0.04); }
.mob-btn { display: none; background: none; border: none; cursor: pointer; width: 32px; height: 20px; position: relative; }
.mob-btn span { display: block; width: 100%; height: 1px; background: #fff; position: absolute; left: 0; transition: all var(--duration-fast); }
.mob-btn span:first-child { top: 0; } .mob-btn span:nth-child(2) { top: 50%; } .mob-btn span:last-child { bottom: 0; }
.mob-overlay {
    position: fixed; inset: 0;
    background: #050505;
    z-index: 10000;
    display: flex; flex-direction: column; justify-content: flex-start;
    padding: 0;
    opacity: 0; pointer-events: none; transition: opacity 0.3s ease;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
}
.mob-overlay::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(to right, var(--grove), var(--gold), var(--grove));
    opacity: 0.4;
    z-index: 1;
}
.mob-overlay::after {
    content: '';
    position: absolute; top: 15%; left: 0; width: 100%; height: 70%;
    background: radial-gradient(ellipse at 30% 30%, rgba(45,122,79,0.04) 0%, transparent 60%);
    pointer-events: none;
}
.mob-overlay.open { opacity: 1; pointer-events: all; }
.mob-overlay a {
    font-family: var(--serif); font-size: clamp(1.6rem,5vw,2.4rem); color: #fff; text-decoration: none;
    font-weight: 300; display: block; margin-bottom: 12px; opacity: 0.6; transition: all var(--duration-fast);
    letter-spacing: 0.01em;
}
.mob-overlay a:hover { opacity: 1; color: var(--grove-bright); text-shadow: 0 0 20px rgba(45,122,79,0.4), 0 0 40px rgba(45,122,79,0.2); }
.mob-close { position: absolute; top: 24px; right: 48px; background: none; border: none; color: #fff; font-size: 1.5rem; cursor: pointer; opacity: 0.5; }

/* ═══════════════ 03. HERO ═══════════════ */

.hero {
    height: 100vh; min-height: 700px;
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    text-align: center; position: relative; overflow: hidden;
}
.hero-noise { position: absolute; inset: 0; opacity: 0.02; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.hero-glow { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 1000px; height: 1000px; background: radial-gradient(circle, rgba(45,122,79,0.08) 0%, rgba(200,168,78,0.03) 30%, transparent 55%); pointer-events: none; }
.hero-content { position: relative; z-index: 10; max-width: 900px; padding: 0 32px; }
.hero h1 { font-family: var(--serif); font-size: clamp(3.5rem, 7.5vw, 6.5rem); font-weight: 300; line-height: 1.08; letter-spacing: -0.02em; color: #F2EDE6; opacity: 0; animation: fadeUp 1s ease-out 0.3s forwards; }
.hero h1 em { font-style: italic; color: var(--gold-light); }
.hero h1 .soul { color: #fff; text-shadow: 0 0 10px rgba(255,255,255,0.6), 0 0 30px rgba(255,255,255,0.4), 0 0 60px rgba(255,255,255,0.25), 0 0 100px rgba(255,255,255,0.15), 0 0 150px rgba(200,168,78,0.1), 0 0 200px rgba(200,168,78,0.06); animation: none; }
@keyframes soulPulse {
    0% { text-shadow: 0 0 10px rgba(255,255,255,0.6), 0 0 30px rgba(255,255,255,0.4), 0 0 60px rgba(255,255,255,0.25), 0 0 100px rgba(255,255,255,0.15), 0 0 150px rgba(200,168,78,0.1), 0 0 200px rgba(200,168,78,0.06); }
    100% { text-shadow: 0 0 15px rgba(255,255,255,0.8), 0 0 40px rgba(255,255,255,0.5), 0 0 80px rgba(255,255,255,0.35), 0 0 120px rgba(255,255,255,0.2), 0 0 180px rgba(200,168,78,0.15), 0 0 250px rgba(200,168,78,0.1); }
}
.hero-sub { font-family: var(--serif); font-size: clamp(1.05rem, 1.8vw, 1.25rem); color: var(--gold); margin-top: 36px; font-weight: 300; font-style: italic; line-height: 1.7; letter-spacing: 0.01em; opacity: 0; animation: fadeUp 0.8s ease-out 0.8s forwards; }
.hero-scroll { position: absolute; bottom: 48px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 10px; opacity: 0; animation: fadeUp 0.6s ease-out 1.2s forwards; }
.hero-scroll span { font-family: var(--mono); font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255,255,255,0.49); }
.scroll-bar { width: 1px; height: 48px; background: rgba(255,255,255,0.06); position: relative; overflow: hidden; }
.scroll-bar::after { content: ''; position: absolute; top: -100%; left: 0; width: 100%; height: 100%; background: var(--grove); animation: scrollD 2s ease-in-out infinite; }
@keyframes scrollD { 0% { top: -100%; } 50% { top: 100%; } 100% { top: 100%; } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

/* ═══════════════ 04. TICKER ═══════════════ */

.ticker { border-top: 1px solid rgba(255,255,255,0.06); border-bottom: 1px solid rgba(255,255,255,0.06); padding: 20px 0; overflow: hidden; white-space: nowrap; position: relative; z-index: 2; max-width: 100%; }
.ticker-track { display: inline-flex; animation: marquee 35s linear infinite; }
.ticker-item { font-family: var(--mono); font-size: 14px; letter-spacing: 0.15em; text-transform: uppercase; color: #fff; padding: 0 48px; text-shadow: 0 0 12px rgba(255,255,255,0.4), 0 0 30px rgba(255,255,255,0.15); }
.ticker-item .dot { display: inline-block; width: 4px; height: 4px; background: var(--gold); border-radius: 50%; margin: 0 16px; vertical-align: middle; box-shadow: 0 0 8px rgba(200,168,78,0.6); }
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* ═══════════════ 05. LUNDR CTA & VORTEX ═══════════════ */

.lundr-cta { min-height: 80vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 100px 32px; position: relative; overflow: hidden; background: #050505; border-top: 1px solid rgba(255,255,255,0.04); border-bottom: 1px solid rgba(255,255,255,0.04); }
.vortex { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); pointer-events: none; }
.vortex-ring { position: absolute; top: 50%; left: 50%; border-radius: 50%; border-style: solid; border-width: 1px; transform: translate(-50%,-50%); }
.vortex-ring:nth-child(1) { width: 800px; height: 800px; border-color: rgba(200,168,78,0.03); animation: vortexSpin 120s linear infinite; }
.vortex-ring:nth-child(2) { width: 650px; height: 650px; border-color: rgba(200,168,78,0.04); animation: vortexSpin 90s linear infinite reverse; }
.vortex-ring:nth-child(3) { width: 520px; height: 520px; border-color: rgba(45,122,79,0.05); animation: vortexSpin 70s linear infinite; }
.vortex-ring:nth-child(4) { width: 400px; height: 400px; border-color: rgba(200,168,78,0.06); animation: vortexSpin 55s linear infinite reverse; }
.vortex-ring:nth-child(5) { width: 300px; height: 300px; border-color: rgba(45,122,79,0.07); animation: vortexSpin 40s linear infinite; }
.vortex-ring:nth-child(6) { width: 210px; height: 210px; border-color: rgba(200,168,78,0.08); animation: vortexSpin 30s linear infinite reverse; }
.vortex-ring:nth-child(7) { width: 130px; height: 130px; border-color: rgba(45,122,79,0.1); animation: vortexSpin 20s linear infinite; }
.vortex-ring:nth-child(8) { width: 80px; height: 80px; border-color: rgba(200,168,78,0.12); animation: vortexSpin 14s linear infinite reverse; }
@keyframes vortexSpin { from { transform: translate(-50%,-50%) rotate(0deg); } to { transform: translate(-50%,-50%) rotate(360deg); } }
.vortex-core { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 40px; height: 40px; border-radius: 50%; background: radial-gradient(circle, rgba(200,168,78,0.08) 0%, transparent 70%); }
.vortex-ambient { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); border-radius: 50%; pointer-events: none; }
.vortex-ambient--grove { width: 600px; height: 600px; background: radial-gradient(circle, rgba(45,122,79,0.04) 0%, transparent 60%); }
.vortex-ambient--gold { width: 300px; height: 300px; background: radial-gradient(circle, rgba(200,168,78,0.03) 0%, transparent 70%); }
.lundr-beam { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 1px; height: 40%; background: linear-gradient(to top, rgba(200,168,78,0.15), transparent); }

/* Four Marks */
.four-marks { display: flex; flex-direction: column; align-items: center; gap: 5px; margin-bottom: 28px; position: relative; z-index: 2; }
.four-marks__halo { position: relative; display: flex; align-items: center; justify-content: center; }
.four-marks__halo-ring { width: 26px; height: 26px; border-radius: 50%; border: 1px solid rgba(200,168,78,0.5); position: absolute; box-shadow: 0 0 20px rgba(200,168,78,0.15); }
.four-marks__dot { border-radius: 50%; background: #2d7a4f; }
.four-marks__dot--sm { width: 7px; height: 7px; opacity: 0.35; }
.four-marks__dot--md { width: 10px; height: 10px; opacity: 0.65; }
.four-marks__dot--lg { width: 14px; height: 14px; opacity: 1; }

.lundr-cta__eyebrow { font-family: var(--mono); font-size: 14px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); margin-bottom: 24px; position: relative; z-index: 2; }
.lundr-cta__heading { font-family: var(--serif); font-size: clamp(32px,5vw,56px); font-weight: 300; line-height: 1.1; color: #fff; max-width: 650px; position: relative; z-index: 2; letter-spacing: -0.5px; }
.lundr-cta__heading em { font-style: italic; color: var(--gold); }
.lundr-cta__rule { width: 1px; height: 40px; margin: 28px auto; background: linear-gradient(to bottom, var(--gold), transparent); position: relative; z-index: 2; }
.lundr-cta__body { font-family: var(--serif); font-style: italic; font-size: clamp(15px,1.8vw,19px); color: rgba(255,255,255,0.5); max-width: 480px; line-height: 1.85; position: relative; z-index: 2; margin-bottom: 40px; }
.lundr-cta__actions { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; position: relative; z-index: 2; }
.lundr-cta__btn-primary { padding: 16px 40px; background: var(--gold); color: #050505; font-family: var(--mono); font-size: 14px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; transition: all var(--duration-fast); border: none; cursor: pointer; }
.lundr-cta__btn-primary:hover { background: var(--gold-light); transform: translateY(-2px); box-shadow: 0 8px 30px rgba(200,168,78,0.2); }
.lundr-cta__btn-ghost { padding: 16px 40px; background: transparent; border: 1px solid rgba(255,255,255,0.15); color: rgba(255,255,255,0.6); font-family: var(--mono); font-size: 14px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; transition: all var(--duration-fast); cursor: pointer; }
.lundr-cta__btn-ghost:hover { border-color: rgba(255,255,255,0.4); color: #fff; transform: translateY(-1px); }
    word-break: break-word;
    overflow-wrap: break-word;
.lundr-cta__meta { display: flex; gap: 24px; justify-content: center; flex-wrap: wrap; margin-top: 36px; position: relative; z-index: 2; }
.lundr-cta__meta-item { font-family: var(--mono); font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,0.49); }

/* ═══════════════ 06. TRANSITIONS & EDITORIAL ═══════════════ */

.grad-dl { height: 400px; background: linear-gradient(to bottom, var(--midnight) 0%, #1a1917 40%, #d5d1ca 75%, var(--warm-white) 100%); position: relative; z-index: 2; }
.grad-ld { height: 400px; background: linear-gradient(to bottom, var(--warm-white) 0%, #d5d1ca 25%, #1a1917 60%, var(--midnight) 100%); position: relative; z-index: 2; }
.editorial { background: var(--warm-white); color: var(--text-dark); padding: 120px 48px 140px; position: relative; z-index: 2; }
.editorial-inner { max-width: 850px; margin: 0 auto; }
.ed-label { font-family: var(--mono); font-size: 14px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--grove); margin-bottom: 48px; }
.ed-text { font-family: var(--serif); font-size: clamp(1.6rem,3.2vw,2.4rem); font-weight: 300; line-height: 1.6; color: var(--text-dark); }
.ed-text em { font-style: italic; color: var(--grove); }
.ed-rule { width: 60px; height: 1px; background: var(--stone); margin: 56px 0; }
.ed-aside { font-size: 1rem; color: var(--text-light); line-height: 1.8; max-width: 560px; }

/* ═══════════════ 07. DISCIPLINES ═══════════════ */

.disc { background: var(--warm-white); color: var(--text-dark); padding: 0 48px 160px; position: relative; z-index: 2; }
.disc-header { max-width: 1300px; margin: 0 auto 80px; }
.disc-eyebrow { font-family: var(--mono); font-size: 14px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--grove); margin-bottom: 20px; }
.disc-heading { font-family: var(--serif); font-size: clamp(2.2rem,4.5vw,3.4rem); font-weight: 300; color: var(--text-dark); max-width: 560px; line-height: 1.2; }
.disc-list { max-width: 1300px; margin: 0 auto; }
.disc-row { display: flex; align-items: center; justify-content: space-between; padding: 28px 0; cursor: pointer; position: relative; overflow: hidden; text-decoration: none; color: inherit; transition: padding var(--duration-fast); }
.disc-row::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: linear-gradient(to right, var(--stone) 0%, transparent 100%); opacity: 0.4; }
.disc-row:last-child::after { display: none; }
.disc-left { display: flex; align-items: baseline; gap: 24px; }
.disc-num { font-family: var(--mono); font-size: 14px; color: var(--stone); letter-spacing: 0.1em; min-width: 24px; transition: color 0.4s; }
.disc-name { font-family: var(--serif); font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 300; color: var(--text-dark); transition: color 0.4s; line-height: 1.2; }
.disc-right { display: flex; align-items: center; gap: 20px; }
.disc-scope { font-size: 14px; color: var(--text-light); max-width: 340px; text-align: right; line-height: 1.6; opacity: 0; transform: translateX(12px); transition: all 0.5s var(--ease-out-expo); }
.disc-arrow { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--stone); opacity: 0; transform: translateX(10px); transition: all 0.4s var(--ease-out-expo); flex-shrink: 0; }
.disc-arrow svg { width: 16px; height: 16px; stroke: var(--text-dark); transition: stroke var(--duration-fast); }
.disc-row:hover .disc-scope { opacity: 1; transform: translateX(0); }
.disc-row:hover .disc-arrow { opacity: 1; transform: translateX(0); border-color: var(--grove); }
.disc-row:hover .disc-arrow svg { stroke: var(--grove); }
.disc-row:hover .disc-name { color: var(--grove); }
.disc-row:hover .disc-num { color: var(--grove-bright); }

/* Discipline detail panels */
.disc-detail { position: relative; z-index: 2; background: #0a0a0a; }
.disc-detail__inner { max-width: 1000px; margin: 0 auto; padding: 80px 48px; }
.disc-detail__back { font-family: var(--mono); font-size: 14px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--grove); background: none; border: none; cursor: pointer; margin-bottom: 32px; opacity: 0.6; transition: opacity var(--duration-fast); }
.disc-detail__back:hover { opacity: 1; }
.disc-detail__eyebrow { font-family: var(--mono); font-size: 14px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--grove); margin-bottom: 12px; }
.disc-detail__title { font-family: var(--serif); font-size: clamp(2rem,4vw,3rem); font-weight: 300; color: #fff; margin-bottom: 12px; }
.disc-detail__desc { font-size: 0.95rem; color: rgba(242,237,230,0.52); max-width: 600px; margin-bottom: 48px; }
.disc-detail__section-label { font-family: var(--mono); font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--grove); margin-bottom: 20px; opacity: 0.6; }
.disc-detail__approach-title { font-family: var(--serif); font-size: 1.4rem; font-weight: 300; color: rgba(242,237,230,0.7); max-width: 600px; margin-bottom: 24px; }
.disc-detail__text { font-size: 0.88rem; color: rgba(242,237,230,0.52); line-height: 1.8; margin-bottom: 14px; }
.process-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-bottom: 48px; }
.proc-step { padding: 28px; border: 1px solid rgba(255,255,255,0.06); transition: border-color var(--duration-fast), background var(--duration-fast); }
.proc-step:hover { border-color: rgba(45,122,79,0.2); background: rgba(45,122,79,0.03); }
.proc-num { font-family: var(--mono); font-size: 14px; color: var(--grove); letter-spacing: 0.1em; margin-bottom: 12px; }
.proc-name { font-family: var(--serif); font-size: 1.1rem; font-weight: 400; color: #fff; margin-bottom: 8px; }
.proc-desc { font-size: 14px; color: rgba(242,237,230,0.52); line-height: 1.7; }
.incl-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-bottom: 48px; }
.incl-item { display: flex; align-items: center; gap: 12px; font-size: 14px; color: rgba(242,237,230,0.52); padding: 10px 0; }
.incl-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--grove); opacity: 0.5; flex-shrink: 0; }

/* ═══════════════ 08. WORK / PROJECTS ═══════════════ */

.work { background: #000; padding: 140px 0; position: relative; z-index: 2; }
.work-hdr { padding: 0 48px; max-width: 1300px; margin: 0 auto 80px; display: flex; justify-content: space-between; align-items: flex-end; }
.work-title { font-family: var(--serif); font-size: clamp(2.8rem,5.5vw,4.5rem); font-weight: 300; color: #fff; }
.work-ct { font-family: var(--mono); font-size: 14px; color: rgba(242,237,230,0.52); letter-spacing: 0.1em; }
.proj { max-width: 1300px; margin: 0 auto; cursor: pointer; }
.proj-in { display: grid; grid-template-columns: 1fr 1fr; min-height: 580px; border-top: 1px solid rgba(255,255,255,0.06); transition: background 0.6s; }
.proj:hover .proj-in { background: rgba(255,255,255,0.02); }
.proj-vis { display: flex; align-items: center; justify-content: center; padding: 60px; }
.proj-info { display: flex; flex-direction: column; justify-content: center; padding: 60px 48px 60px 40px; }
.proj-cat { font-family: var(--mono); font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--grove); margin-bottom: 24px; }
.proj-name { font-family: var(--serif); font-size: clamp(2.2rem,4vw,3.4rem); font-weight: 300; color: #fff; margin-bottom: 20px; line-height: 1.15; }
.proj-desc { font-size: 0.95rem; color: rgba(242,237,230,0.6); line-height: 1.75; max-width: 440px; margin-bottom: 36px; }
.proj-tags { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 40px; }
.proj-tag { font-family: var(--mono); font-size: 14px; letter-spacing: 0.08em; color: rgba(242,237,230,0.52); padding: 6px 14px; border: 1px solid rgba(242,237,230,0.12); transition: all var(--duration-fast); }
.proj-tag:hover { border-color: rgba(45,122,79,0.3); color: rgba(242,237,230,0.7); }
.proj-link { font-family: var(--mono); font-size: 14px; letter-spacing: 0.12em; text-transform: uppercase; color: #fff; text-decoration: none; display: inline-flex; align-items: center; gap: 10px; opacity: 0.4; transition: opacity var(--duration-fast); }
.proj:hover .proj-link { opacity: 1; }
.proj-link .arr { transition: transform var(--duration-fast); }
.proj:hover .proj-link .arr { transform: translateX(6px); }
.case-lund { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.case-lund .cd { border-radius: 50%; background: var(--grove); transition: transform 0.6s var(--ease-out-expo); }
.proj:hover .case-lund .cd { transform: scale(1.08); }
.case-lund .cd:nth-child(1) { width: 110px; height: 110px; }
.case-lund .cd:nth-child(2) { width: 88px; height: 88px; }
.case-lund .cd:nth-child(3) { width: 66px; height: 66px; }
.proj-ph .proj-vis { background: rgba(255,255,255,0.015); }
.ph-shape { width: 180px; height: 180px; border: 1px solid rgba(255,255,255,0.05); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.ph-shape span { font-family: var(--serif); font-size: 2.8rem; font-weight: 300; color: rgba(255,255,255,0.06); }
.proj-soon { font-family: var(--mono); font-size: 14px; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255,255,255,0.49); }

/* ═══════════════ 09. PRICING (Homepage) ═══════════════ */

.pricing-home { padding: 120px 48px; position: relative; z-index: 2; }
.pricing-home__inner { max-width: 1100px; margin: 0 auto; }
.pricing-home__header { text-align: center; margin-bottom: 64px; }
.pricing-home__eyebrow { font-family: var(--mono); font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--grove); margin-bottom: 24px; }
.pricing-home__heading { font-family: var(--serif); font-size: clamp(2rem,4vw,3rem); font-weight: 300; color: #fff; line-height: 1.15; }
.pricing-home__heading em { font-style: italic; color: var(--gold); }
.pricing-home__subtitle { font-family: var(--serif); font-style: italic; font-size: clamp(0.95rem,1.6vw,1.15rem); color: rgba(242,237,230,0.52); margin-top: 16px; line-height: 1.7; }
.pricing-home__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 64px; }
.pricing-home__tier { border: 1px solid rgba(255,255,255,0.08); padding: 40px 32px; transition: border-color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast); }
.pricing-home__tier:hover { border-color: rgba(45,122,79,0.2); background: rgba(45,122,79,0.03); transform: translateY(-4px); }
.pricing-home__tier--featured { border-color: rgba(45,122,79,0.15); }
.pricing-home__tier-label { font-family: var(--mono); font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--grove); margin-bottom: 20px; }
.pricing-home__tier-price { font-family: var(--serif); font-size: 2.8rem; font-weight: 300; color: #fff; margin-bottom: 8px; }
.pricing-home__tier-price--grove { color: var(--grove-bright); }
.pricing-home__tier-name { font-family: var(--serif); font-size: 1.3rem; color: #fff; font-weight: 300; margin-bottom: 16px; }
.pricing-home__tier-desc { font-size: 14px; color: rgba(242,237,230,0.52); line-height: 1.75; margin-bottom: 24px; }
.pricing-home__tier-meta { font-family: var(--mono); font-size: 14px; letter-spacing: 0.1em; color: rgba(242,237,230,0.52); }
.pricing-home__funnel { max-width: 700px; margin: 0 auto; text-align: center; }
.pricing-home__funnel-label { font-family: var(--mono); font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--grove); margin-bottom: 24px; opacity: 0.6; }
.pricing-home__funnel-text { font-family: var(--serif); font-size: clamp(1.1rem, 2vw, 1.4rem); font-weight: 300; color: rgba(242,237,230,0.7); line-height: 1.8; margin-bottom: 24px; }
.pricing-home__funnel-sub { font-size: 14px; color: rgba(242,237,230,0.52); line-height: 1.7; margin-bottom: 40px; }

/* ═══════════════ 10. FOUNDER ═══════════════ */

.founder { background: var(--warm-white); color: var(--text-dark); padding: 160px 48px; position: relative; z-index: 2; }
.founder-in { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; align-items: center; }
.f-mono { font-family: var(--mono); font-size: 14px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--grove); margin-bottom: 36px; }
.f-heading { font-family: var(--serif); font-size: clamp(2.2rem,4vw,3rem); font-weight: 300; line-height: 1.25; margin-bottom: 32px; color: #2a2520; }
.f-text { font-size: 1rem; color: rgba(42,37,32,0.68); line-height: 1.85; margin-bottom: 20px; }
.f-ety { margin-top: 44px; padding: 28px 32px; background: var(--cream); border-left: 2px solid var(--grove); }
.f-ety p { font-family: var(--serif); font-size: 1.05rem; font-style: italic; color: var(--text-mid); line-height: 1.7; }
.f-ety span { color: var(--grove); font-weight: 500; }
.f-right { display: flex; flex-direction: column; align-items: center; }
.f-mark i { display: block; border-radius: 50%; background: var(--grove); margin: 0 auto; }
.f-mark i:nth-child(1) { width: 130px; height: 130px; margin-bottom: 16px; }
.f-mark i:nth-child(2) { width: 104px; height: 104px; margin-bottom: 14px; }
.f-mark i:nth-child(3) { width: 78px; height: 78px; }
.f-mark-label { margin-top: 40px; text-align: center; }
.f-mark-label span { font-family: var(--mono); font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text-light); }

/* ═══════════════ 11. GROVE HOMEPAGE SECTION ═══════════════ */

.grove-section { padding: 100px 48px; background: #08090a; position: relative; overflow: hidden; border-top: 1px solid rgba(255,255,255,0.04); }
.grove-section__glow { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(200,168,78,0.03) 0%, transparent 70%); pointer-events: none; }
.grove-section__inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.grove-section__eyebrow { font-family: var(--mono); font-size: 14px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); margin-bottom: 20px; }
.grove-section__heading { font-family: var(--serif); font-size: clamp(28px,4vw,44px); font-weight: 300; color: #f0ece2; line-height: 1.15; margin-bottom: 16px; }
.grove-section__heading em { font-style: italic; color: var(--gold); }
.grove-section__body { font-size: 0.9rem; color: rgba(240,236,226,0.53); line-height: 1.8; margin-bottom: 24px; }
.grove-section__quote { font-family: var(--serif); font-style: italic; font-size: 1rem; color: rgba(240,236,226,0.53); margin-bottom: 32px; }
.grove-section__cta { display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); text-decoration: none; border: 1px solid rgba(200,168,78,0.25); padding: 14px 28px; transition: all var(--duration-fast); }
.grove-section__cta:hover { background: rgba(200,168,78,0.08); border-color: var(--gold); transform: translateY(-2px); }
.living-feed { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 3px; }
.living-feed__cell { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(45,122,79,0.06); transition: border-color var(--duration-fast); }
    word-break: break-word;
    overflow-wrap: break-word;
.living-feed__cell:hover { border-color: rgba(200,168,78,0.15); }
.living-feed__label { text-align: center; margin-top: 16px; font-family: var(--mono); font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: rgba(200,168,78,0.73); }
@keyframes grovePulse { 0%,100% { opacity: 0.3; transform: scale(1); } 50% { opacity: 0.7; transform: scale(1.15); } }

/* ═══════════════ 12. CONTACT ═══════════════ */

.contact { background: var(--midnight); padding: 72px 48px 48px; text-align: center; position: relative; z-index: 2; }
.contact-glow { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 700px; height: 700px; background: radial-gradient(circle, rgba(30,90,55,0.1) 0%, rgba(20,60,35,0.05) 40%, transparent 60%); pointer-events: none; }
.contact-in { position: relative; max-width: 560px; margin: 0 auto; }
.ct-label { font-family: var(--mono); font-size: 14px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--grove); margin-bottom: 40px; }
.contact h2 { font-family: var(--serif); font-size: clamp(2.8rem,5.5vw,4.5rem); font-weight: 300; color: #fff; margin-bottom: 16px; line-height: 1.15; }
.ct-text { font-size: 0.95rem; color: #fff; line-height: 1.8; margin-bottom: 52px; text-shadow: 0 0 12px rgba(255,255,255,0.4), 0 0 30px rgba(255,255,255,0.15); }
.ct-form { text-align: left; }
.ct-field { width: 100%; background: transparent; border: none; border-bottom: 1px solid rgba(255,255,255,0.1); color: #fff; font-family: var(--sans); font-size: 1rem; padding: 18px 0; margin-bottom: 8px; outline: none; transition: border-color 0.4s, box-shadow 0.4s; }
.ct-field::placeholder { color: rgba(255,255,255,0.49); font-weight: 300; }
.ct-field:focus { border-color: var(--grove); box-shadow: 0 1px 0 0 var(--grove), 0 4px 20px rgba(45,122,79,0.15), 0 8px 40px rgba(45,122,79,0.08); }
.ct-field-wrap { position: relative; margin-bottom: 12px; }
.ct-field-label { font-family: var(--mono); font-size: 14px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold); margin-bottom: 4px; display: block; }
textarea.ct-field { resize: none; height: 100px; font-family: var(--sans); }
.ct-submit { margin-top: 40px; width: 100%; padding: 20px 40px; background: linear-gradient(180deg, #3da768 0%, #2d7a4f 40%, #236b42 100%); color: #fff; border: none; border-top: 1px solid rgba(255,255,255,0.2); font-family: var(--mono); font-size: 14px; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: all 0.4s; position: relative; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.3), 0 0 20px rgba(45,122,79,0.15), inset 0 1px 0 rgba(255,255,255,0.15); text-shadow: 0 1px 2px rgba(0,0,0,0.3); }
.ct-submit:hover { background: linear-gradient(180deg, #45b873 0%, #35915d 40%, #2d7a4f 100%); box-shadow: 0 4px 16px rgba(0,0,0,0.3), 0 0 40px rgba(45,122,79,0.3), 0 0 80px rgba(45,122,79,0.15), inset 0 1px 0 rgba(255,255,255,0.2); transform: translateY(-1px); }
.ct-submit:active { transform: translateY(0); background: linear-gradient(180deg, #2d7a4f 0%, #236b42 40%, #1a5535 100%); box-shadow: 0 1px 4px rgba(0,0,0,0.4), inset 0 1px 3px rgba(0,0,0,0.2); }
.ct-or { text-align: center; margin-top: 32px; }
.ct-or span { font-size: 14px; color: rgba(255,255,255,0.49); }
.ct-email { font-family: var(--serif); font-size: 1.1rem; color: rgba(255,255,255,0.49); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.08); transition: all var(--duration-fast); display: inline-block; margin-top: 12px; }
.ct-email:hover { color: var(--grove-bright); border-color: var(--grove); }
.ct-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.ct-select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c8a84e' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0 center; cursor: pointer; }
.ct-select option { background: #111; color: #fff; }
.ct-closing { text-align: center; margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.04); }
.ct-closing-mark { display: flex; flex-direction: column; align-items: center; gap: 3px; margin-bottom: 20px; }
.ct-closing-mark i { display: block; border-radius: 50%; background: var(--grove); opacity: 0.25; }
.ct-closing-mark i:nth-child(1) { width: 10px; height: 10px; }
.ct-closing-mark i:nth-child(2) { width: 8px; height: 8px; }
.ct-closing-mark i:nth-child(3) { width: 6px; height: 6px; }
.ct-closing p { font-family: var(--mono); font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(242,237,230,0.52); margin-bottom: 8px; }
.ct-closing span { font-family: var(--serif); font-size: 1.05rem; font-style: italic; color: var(--gold); opacity: 0.55; }

/* ═══════════════ 13. FOOTER ═══════════════ */

.footer { background: var(--midnight); position: relative; overflow: hidden; padding: 0; border: none; z-index: 2; }
.footer-canvas { position: relative; height: 180px; overflow: hidden; }

/* ═══════════════ 14. REVEALS & ANIMATIONS ═══════════════ */

.reveal { opacity: 0; transform: translateY(32px); transition: all var(--duration-slow) var(--ease-out-expo); }
.reveal.vis { opacity: 1; transform: translateY(0); }
.rstag { opacity: 0; transform: translateY(24px); transition: all 0.7s var(--ease-out-expo); }
.rstag.vis { opacity: 1; transform: translateY(0); }

/* ═══════════════ 15. RESPONSIVE ═══════════════ */

@media (max-width: 1100px) {
    .disc-scope { display: none; }
    .pricing-home__grid { grid-template-columns: 1fr; max-width: 500px; margin-left: auto; margin-right: auto; }
}
@media (max-width: 900px) {
    .nav { padding: 20px 28px; } .nav.solid { padding: 14px 28px; }
    .nav-links, .nav-contact { display: none !important; } .nav-mob-btn { display: flex !important; }
    .hero { padding: 0 28px; }
    .editorial { padding: 80px 28px; }
    .disc { padding: 0 28px 100px; } .disc-header { margin-bottom: 48px; }
    .proj-in { grid-template-columns: 1fr; min-height: auto; }
    .proj-vis { min-height: 280px; } .proj-info { padding: 40px 28px; }
    .work-hdr { padding: 0 28px; flex-direction: column; align-items: flex-start; gap: 12px; }
    .founder { padding: 80px 28px; } .founder-in { grid-template-columns: 1fr; gap: 60px; } .f-right { order: -1; }
    .contact { padding: 56px 24px 40px; }
    .ct-submit { padding: 16px 28px; } .ct-row { grid-template-columns: 1fr; }
    .footer-canvas { height: 120px; }
    .lundr-cta { padding: 80px 28px; min-height: 70vh; }
    .grove-section { padding: 80px 28px; }
    .grove-section__inner { grid-template-columns: 1fr; gap: 40px; }
    .pricing-home { padding: 80px 28px; }
    .pricing-home__grid { grid-template-columns: 1fr; max-width: 500px; }
}
@media (max-width: 600px) {
    .disc-name { font-size: 1.4rem; }
    .hero h1 { font-size: 2.8rem; }
    .vortex-ring:nth-child(1) { width: 400px; height: 400px; }
    .vortex-ring:nth-child(2) { width: 320px; height: 320px; }
    .vortex-ring:nth-child(3) { width: 260px; height: 260px; }
    .vortex-ring:nth-child(4) { width: 200px; height: 200px; }
    .lundr-cta__actions { flex-direction: column; align-items: center; }
    .lundr-cta__btn-primary, .lundr-cta__btn-ghost { width: 100%; max-width: 280px; text-align: center; justify-content: center; }
}

/* ═══ OVERFLOW FIXES — Global Protection ═══ */
/* Prevent horizontal overflow on all major containers */
body { overflow-x: hidden; word-break: break-word; overflow-wrap: break-word; }
.hero, .lundr-cta, .work, .pricing-home, .grove-section, section { overflow-x: hidden; }

/* Text overflow on long content */
.proj-name, .proj-desc, .disc-name, h1, h2, h3 { overflow-wrap: break-word; word-break: break-word; }

/* Card text truncation */
.proj-cat, .ba-card-tag, .ba-card-desc { overflow: hidden; text-overflow: ellipsis; }

/* Mega menu columns — prevent text bleed */
.nav-mega-col { overflow: hidden; }
.nav-mega a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-vent-footer span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Mobile menu — ensure scrollability and no overflow */
.mob-overlay { overflow: hidden !important; }
.mob-scroll { overflow-y: auto; overflow-x: hidden; }
.mob-section-body a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }

/* Fix hero text on very small screens */
@media (max-width: 480px) {
  .hero h1 { font-size: 2.2rem !important; letter-spacing: -0.01em; }
  .hero-sub { font-size: 0.95rem !important; }
  .lundr-cta__heading { font-size: 1.6rem !important; }
  .work-title { font-size: 2rem !important; }
  .disc-name { font-size: 1.5rem !important; }
  .proj-name { font-size: 1.5rem !important; }
  .proj-in { grid-template-columns: 1fr !important; min-height: auto !important; }
  .proj-vis { min-height: 200px !important; }
  .proj-info { padding: 24px 16px !important; }
  .nav { padding: 16px 16px !important; }
}

/* Prevent Lund Surface canvas from blocking interaction */

/* ═══ PERFORMANCE — Pause animations when not needed ═══ */
/* Reduce paint for infinite animations */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
/* GPU hints for animated elements */
.nav, .nav-mega, canvas, [class*="glow"] {
  will-change: auto;
  contain: layout style;
}
/* Contain mega menus */
.nav-mega {
  contain: layout style paint;
  content-visibility: auto;
}
/* SCROLLBAR — golden, thick, works everywhere */
html::-webkit-scrollbar { width: 20px; }
html::-webkit-scrollbar-track { background: #080808; }
html::-webkit-scrollbar-thumb { 
  background: rgba(200,168,78,0.3); 
  border-radius: 10px; 
  border: 4px solid #080808;
}
html::-webkit-scrollbar-thumb:hover { background: rgba(200,168,78,0.5); }
html::-webkit-scrollbar-thumb:active { background: rgba(200,168,78,0.7); }
/* Firefox */
html { scrollbar-width: auto; scrollbar-color: rgba(200,168,78,0.3) #080808; }


/* ═══════════════════════════════════════════════════════════════════
   SPATIAL AXIS SYSTEM™ — Invention #114 · Lund Studio LLC
   Applied across all sections: nav, hero, editorial, disc, work,
   founder, pricing, grove, contact, footer.
   φ = 1.618 · Priority Date: March 29, 2026
   ═══════════════════════════════════════════════════════════════════

   AXIS I   (L→R):  primary content at 61.8% from left
   AXIS III (radial): glows/halos peak at 61.8% of radius
   AXIS V   (T→B):  φ fold at 61.8% of viewport / section
   AXIS VI  (B→T):  entrances travel 61.8% at 61.8% of duration
   AXIS VII (TL→BR): gradients 135° midpoint at 61.8%
   ═══════════════════════════════════════════════════════════════════ */

/* ── NAV — Axis I: logo left-anchored, links centered in φ zone ── */
/* Nav bar: logo = left origin, links occupy center, CTA = φ right anchor */
/* φ: left 38.2% = logo+space, center 23.6% = nav links, right 38.2% = breathing+CTA */
.ls-nav {
  /* The nav itself spans 100% — logo at origin, CTA at 61.8% from left */
  display: flex;
  align-items: center;
  justify-content: space-between;
}
/* Desktop nav links: flex centered in available space */
/* Axis I applied: link group occupies the minor zone (38.2%),
   content (logo+links+CTA) fills the major zone (61.8%) */
.ls-nav-links {
  /* Center the link group in the middle third — optical center, not geometric */
  flex: 1;
  justify-content: center;
}

/* Mega panel: Axis III (radial) — glow peaks at 61.8% of panel radius */
/* Inner glow radiates from center, peak opacity at φ⁻¹ of panel width */
.ls-mega-inner::before {
  background:
    /* Axis III: radial glow centered, peak at 61.8% radius = 38.2% from edge */
    radial-gradient(ellipse 61.8% 61.8% at 50% 0%, rgba(45,122,79,.07), transparent 61.8%),
    radial-gradient(ellipse 38.2% 61.8% at 100% 100%, rgba(200,168,78,.05), transparent 61.8%),
    radial-gradient(ellipse 23.6% 38.2% at 50% 50%, rgba(255,255,255,.02), transparent 61.8%);
}

/* Mega footer stat bar: Axis I — items at φ-proportioned gaps */
.ls-mf {
  /* Axis I: content reads L→R, gaps are φ-proportioned (21px = φ × 13) */
  gap: 21px;
  padding: 13px 0 4px;
}

/* ── HERO — Axis V (T→B): φ fold at 61.8% of viewport height ── */
/* Hero content block: centered horizontally (Axis III symmetric on mobile),
   vertically positioned at optical center = 45% (above geometric 50%) */
.hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* Axis V: primary content at 61.8% of viewport from top
     Achieved by padding: top=38.2%, content fills φ band */
  justify-content: center;
  /* padding-top pushes content to φ zone — not centered, φ-centered */
  padding-top: 0;
}
.hero-content {
  position: relative;
  z-index: 10;
  max-width: 900px;
  padding: 0 32px;
  /* Axis I: hero text left-anchored within max-width, not centered-centered */
  text-align: center;
  /* Axis V: content block sits at 38.2% from top to 61.8% — the φ band */
  /* This is achieved via the parent's flex centering + vh-based padding */
}

/* Axis V: h1 — the primary fold element */
/* On a 900px viewport: h1 baseline should be at ~556px = 61.8% from top */
/* This means padding-top of ~(556 - h1_height/2 - nav_height) */
/* Let the flex center handle it — it naturally places content at optical center */
/* Then we bias downward slightly via margin-top */
.hero-content h1 {
  /* Axis I: left-edge reading, full measure for impact */
  text-align: center; /* hero is symmetric — Axis III applies, not I */
  /* Axis VII: text-shadow angles TL→BR at 135° */
  text-shadow: 0 0 60px rgba(200,168,78,.06), 0 0 120px rgba(200,168,78,.03);
}

/* Axis VI: hero entrance — fade up (B→T ascent) */
/* Travels 61.8% of 32px = 20px at 61.8% of 1s = 618ms */
@keyframes fadeUp {
  0%   { opacity: 0; transform: translateY(21px); }   /* 21px = φ-scale */
  61.8% { transform: translateY(8px); opacity: 0.618; } /* 61.8% traveled at 61.8% time */
  100% { opacity: 1; transform: translateY(0); }
}
.hero h1  { animation: fadeUp 1s cubic-bezier(.16,1,.3,1) .3s both; }
.hero-sub { animation: fadeUp 0.8s cubic-bezier(.16,1,.3,1) .8s both; }

/* Scroll indicator: Axis VI (B→T) — ascends from bottom */
/* Axis V: positioned at bottom 6.18% of viewport (61.8px on 1000px screen) */
.hero-scroll {
  position: absolute;
  bottom: 55px; /* φ-scale: 55px = Fibonacci */
  left: 50%;
  transform: translateX(-50%);
}

/* ── EDITORIAL — Axis I + V ── */
/* Axis I: editorial is a L→R reading surface */
/* Primary content block width: 61.8% of 1300px container = 803px → 850px (rounded to φ-scale) */
.editorial { padding: 89px 48px 144px; } /* 89 = φ⁷×13, 144 = φ⁸×13 */
.editorial-inner {
  max-width: 850px; /* 1300 × 0.618 × 1.06 ≈ 850 */
  margin: 0 auto;
  /* Axis I: text reads L→R, left-anchored within column */
}

/* ── DISCIPLINES — Axis I: disc rows L→R, φ left/right split ── */
.disc { padding: 0 48px 144px; } /* φ-scale bottom */

/* disc-row: Axis I applied to internal split */
/* Name (primary) : Scope (secondary) = φ ratio */
/* Disc name gets 61.8% of row width, scope gets 38.2% */
.disc-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 21px 0; /* 21px = φ-scale */
}
.disc-left {
  /* Axis I: primary content in major zone (61.8%) */
  flex: 0 0 61.8%;
  display: flex;
  align-items: baseline;
  gap: 21px; /* φ gap */
}
.disc-right {
  /* Axis I: secondary content in minor zone (38.2%) */
  flex: 0 0 36%;
  display: flex;
  align-items: center;
  gap: 13px; /* φ gap */
  justify-content: flex-end;
}
.disc-scope {
  max-width: 340px;
  text-align: right;
}

/* Disc detail panel: Axis I */
.disc-detail__inner {
  max-width: 987px; /* φ-scale: 610×1.618=987 */
  margin: 0 auto;
  padding: 89px 48px; /* φ-scale top */
}

/* ── WORK SECTION — Axis I: header split ── */
/* Work header: Axis I — title on L (major zone 61.8%), count on R (minor 38.2%) */
.work-hdr {
  padding: 0 55px; /* φ-scale: 55px */
  max-width: 1440px;
  margin: 0 auto 55px; /* φ-scale */
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.work-title {
  /* Axis I: primary focal element — left-anchored reading axis */
  flex: 0 0 61.8%;
}
/* work count: minor axis (38.2%) — right-anchored */

/* Card hover: Axis VI (B→T ascent on hover) */
/* Axis VII: shadow follows TL→BR diagonal */
.wk-card:hover {
  transform: translateY(-5px); /* 5px ≈ φ × 3 */
  box-shadow:
    0 13px 34px rgba(0,0,0,.4),   /* diagonal shadow: y=13, spread=34 (Fibonacci) */
    0 0 0 1px rgba(200,168,78,.04),
    inset 0 1px 0 rgba(200,168,78,.06);
}

/* Project rows: Axis I applied to grid split */
/* Left (visual) = 38.2%, Right (content) = 61.8% — REVERSE: content is primary */
.proj-in {
  grid-template-columns: 38.2fr 61.8fr; /* φ split: visual minor, content major */
  min-height: 580px;
}
.proj-vis {
  /* Axis III: visual is the radial/atmospheric zone */
  padding: 55px; /* φ-scale */
}
.proj-info {
  /* Axis I: reading content — left-anchored text block */
  padding: 55px 55px 55px 34px; /* φ-scale: right and top 55, left 34 */
  /* text reads L→R; primary desc max-width at 61.8% of column */
}
.proj-desc {
  max-width: 440px; /* 61.8% of ~710px content column */
}

/* ── PRICING — Axis V + I ── */
/* Axis V: pricing is a T→B descent surface — header at top, tiers in middle, CTA at bottom */
/* Axis I: header text L→R centered in max-width, tiers in 3-col grid */
.pricing-home { padding: 89px 48px 144px; }
.pricing-home__inner { max-width: 1100px; margin: 0 auto; }

/* Header: Axis III (radial — centered content radiates outward) */
.pricing-home__header {
  text-align: center;
  margin-bottom: 55px; /* φ-scale */
  /* Axis III: text block centered, breathing zone = φ-ring outside */
}

/* Tier cards: Axis VII — hover shadow follows TL→BR */
.pricing-home__tier {
  padding: 34px 21px; /* φ-scale: 34 top/bottom, 21 sides */
  transition: border-color .233s, background .233s, transform .377s cubic-bezier(.16,1,.3,1);
  /* φ timing: 233ms normal, 377ms moderate */
}
.pricing-home__tier:hover {
  transform: translateY(-5px); /* Axis VI: subtle ascent on hover */
  box-shadow: 0 13px 34px rgba(0,0,0,.15), 0 0 0 1px rgba(45,122,79,.08);
}
/* Featured tier: Axis III — glows radially outward */
.pricing-home__tier--featured {
  border-color: rgba(45,122,79,.2);
  position: relative;
}
.pricing-home__tier--featured::before {
  content: '';
  position: absolute;
  inset: 0;
  /* Axis III: glow peaks at 61.8% of card size from center */
  background: radial-gradient(ellipse 61.8% 61.8% at 50% 38.2%, rgba(45,122,79,.05), transparent);
  pointer-events: none;
  border-radius: inherit;
}

/* Funnel block: Axis I — reads L→R, max-width 61.8% of container */
.pricing-home__funnel {
  max-width: 680px; /* 1100 × 0.618 = 680 */
  margin: 0 auto;
  text-align: center;
}

/* ── FOUNDER SECTION — Axis I: φ grid split ── */
/* Photo (minor, left): 38.2%, Text (major, right): 61.8% */
.founder { padding: 144px 48px; } /* φ-scale: 144px */
.founder-in {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  /* Axis I: photo=minor(38.2%), text=major(61.8%) */
  grid-template-columns: 38.2fr 61.8fr;
  gap: 55px; /* φ-scale */
  align-items: center;
}
/* Etymology block: Axis I — left-border marks the reading origin */
.f-ety {
  margin-top: 34px; /* φ-scale */
  padding: 21px 21px 21px 21px; /* φ-scale all sides */
  border-left: 2px solid var(--grove);
}

/* ── GROVE SECTION — Axis I: φ grid ── */
/* Same φ split: left content (major 61.8%), right feed (minor 38.2%) */
.grove-section__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  /* Axis I: content=major(61.8%), feed=minor(38.2%) */
  grid-template-columns: 61.8fr 38.2fr;
  gap: 55px; /* φ-scale */
  align-items: center;
}

/* Grove glow: Axis III — peaks at 61.8% of 600px radius = 371px */
.grove-section__glow {
  width: 600px;
  height: 600px;
  background: radial-gradient(
    circle,
    rgba(200,168,78,.05) 0%,       /* center origin */
    rgba(200,168,78,.03) 38.2%,    /* inner zone */
    transparent 61.8%              /* φ ring — edge of glow */
  );
}

/* ══════════════════════════════════════════════════════════
   CONTACT SECTION — INTERSTELLAR LAUNCH
   Gold. Rocket fuel. Your business, about to ignite.
   Spatial Axis System™: Axis III radial + Axis V descent
══════════════════════════════════════════════════════════ */
.contact {
  padding: 89px 48px 144px;
  background:
    radial-gradient(ellipse 80% 60% at 50% 38.2%,
      rgba(200,168,78,.06) 0%,
      rgba(180,140,50,.03) 38.2%,
      transparent 61.8%),
    radial-gradient(ellipse 60% 80% at 50% 100%,
      rgba(45,122,79,.04) 0%,
      transparent 61.8%),
    #050505;
  position:relative;
}

/* ── Axis III: launch glow — peaks at 61.8% of radius ── */
.contact-glow {
  width: 1100px;
  height: 1100px;
  background: radial-gradient(
    ellipse at 50% 61.8%,
    rgba(200,168,78,.18) 0%,
    rgba(180,140,50,.10) 21%,
    rgba(200,168,78,.05) 38.2%,
    rgba(200,168,78,.02) 61.8%,
    transparent 80%
  );
  animation: none;
}
@keyframes ctGlowBreath {
  0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1);}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.06);}
}

/* ── Contact wrapper — widened for launch ── */
.contact-in {
  max-width: 760px;
  margin: 0 auto;
  position: relative; z-index: 2;
}

/* ── Section label ── */
.ct-label {
  font-family: var(--mono);
  font-size: 14px; letter-spacing: .22em; text-transform: uppercase;
  color: rgba(200,168,78,0.73);
  margin-bottom: 13px;
}

/* ── Heading ── */
.contact h2 {
  font-family: var(--serif);
  font-size: clamp(2.2rem,4.5vw,3.4rem);
  font-weight: 300; color: rgba(242,237,230,.92);
  margin-bottom: 8px; line-height: 1.1;
}
.contact h2 em {
  font-style: italic; color: var(--gold);
  text-shadow: 0 0 34px rgba(200,168,78,.5), 0 0 89px rgba(200,168,78,.2);
}

.ct-text {
  font-family: var(--serif); font-size: 15px;
  color: rgba(242,237,230,0.52); line-height: 1.9;
  margin-bottom: 55px; font-weight: 300; font-style: italic;
}

/* ══ THE FORM — interstellar gold treatment ══ */
.ct-form { text-align: left; }

/* Two-column grid rows */
.ct-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 21px; /* φ-scale */
}

.ct-field-wrap { position: relative; margin-bottom: 21px; }

.ct-field-label {
  font-family: var(--mono);
  font-size: 14px; letter-spacing: .2em; text-transform: uppercase;
  color: rgba(200,168,78,0.73);
  margin-bottom: 8px; display: block;
  transition: color .3s;
}

/* ── THE FIELD — gold-bordered, launch-ready ── */
.ct-field {
  width: 100%;
  background: rgba(200,168,78,.025);
  border: 1px solid rgba(200,168,78,.14);
  border-radius: 2px;
  color: rgba(242,237,230,.88);
  font-family: var(--sans); font-size: 15px;
  padding: 16px 18px;
  outline: none;
  transition:
    border-color .377s cubic-bezier(.16,1,.3,1),
    background .377s ease,
    box-shadow .377s cubic-bezier(.16,1,.3,1);
}
.ct-field::placeholder {
  color: rgba(242,237,230,0.52);
  font-weight: 300;
}
/* Focus: ignition — gold flare activates */
.ct-field:focus {
  border-color: rgba(200,168,78,.55);
  background: rgba(200,168,78,.04);
  box-shadow:
    0 0 0 1px rgba(200,168,78,.12),
    0 0 21px rgba(200,168,78,.12),
    0 0 55px rgba(200,168,78,.06),
    inset 0 1px 0 rgba(200,168,78,.06);
}
.ct-field:focus + .ct-field-label,
.ct-field-wrap:focus-within .ct-field-label {
  color: rgba(200,168,78,.9);
}

/* Select dropdown */
.ct-field.ct-select {
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(200,168,78,0.4)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
}
.ct-field.ct-select option {
  background: #0A0A0A;
  color: rgba(242,237,230,.88);
}

/* Textarea */
textarea.ct-field {
  resize: vertical;
  min-height: 100px;
  font-family: var(--sans);
  line-height: 1.7;
}

/* ══ THE LAUNCH BUTTON ══
   This is the rocket. Gold. Burning. About to go.
*/
.ct-submit {
  margin-top: 55px;
  width: 100%;
  padding: 22px 40px;
  position: relative; overflow: hidden;
  border: none; border-radius: 3px;
  cursor: pointer;
  font-family: var(--mono);
  font-size: 14px; letter-spacing: .22em; text-transform: uppercase;
  color: #050505;
  font-weight: 700;

  /* The gold launch gradient */
  background: linear-gradient(135deg,
    #FFE87A 0%,
    #F5C842 21%,
    #C8A84E 38.2%,
    #D4A840 50%,
    #C8943A 61.8%,
    #B07A28 80%,
    #8A5A18 100%
  );

  /* Launch glow — the rocket exhaust */
  box-shadow:
    0 0 34px rgba(200,168,78,.55),
    0 0 89px rgba(200,168,78,.25),
    0 0 144px rgba(200,168,78,.10),
    0 8px 34px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(255,255,200,.4),
    inset 0 -1px 0 rgba(100,60,0,.3);

  transition:
    transform .233s cubic-bezier(.16,1,.3,1),
    box-shadow .377s ease,
    filter .377s ease;

  text-shadow: 0 1px 2px rgba(100,60,0,.4);
  animation: none;
}

@keyframes ctLaunchPulse {
  0%,100%{
    box-shadow:
      0 0 34px rgba(200,168,78,.55),
      0 0 89px rgba(200,168,78,.25),
      0 0 144px rgba(200,168,78,.10),
      0 8px 34px rgba(0,0,0,.5),
      inset 0 1px 0 rgba(255,255,200,.4),
      inset 0 -1px 0 rgba(100,60,0,.3);
  }
  50%{
    box-shadow:
      0 0 55px rgba(200,168,78,.75),
      0 0 144px rgba(200,168,78,.40),
      0 0 233px rgba(200,168,78,.18),
      0 8px 34px rgba(0,0,0,.5),
      inset 0 1px 0 rgba(255,255,220,.5),
      inset 0 -1px 0 rgba(100,60,0,.3);
  }
}

/* Launch trail — gold shimmer sweep */
.ct-submit::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(105deg,
    transparent 30%,
    rgba(255,255,200,.18) 50%,
    transparent 70%
  );
  transform: translateX(-100%);
  transition: transform .7s cubic-bezier(.16,1,.3,1);
}
.ct-submit:hover::before { transform: translateX(100%); }

.ct-submit:hover {
  transform: translateY(-3px);
  filter: brightness(1.08);
  box-shadow:
    0 0 89px rgba(200,168,78,.85),
    0 0 144px rgba(200,168,78,.50),
    0 0 233px rgba(200,168,78,.25),
    0 13px 55px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(255,255,220,.5);
}
.ct-submit:active { transform: translateY(-1px); filter: brightness(.95); }

/* ── Closing mark ── */
.ct-closing {
  text-align: center; margin-top: 55px;
}
.ct-closing-mark {
  display: flex; flex-direction: column; align-items: center; gap: 3px;
  margin: 0 auto 16px;
}
.ct-closing-mark i {
  display: block; border-radius: 50%;
  background: var(--grove-bright);
}
.ct-closing-mark i:nth-child(1){width:9px;height:9px;box-shadow:0 0 8px rgba(79,196,126,.5);}
.ct-closing-mark i:nth-child(2){width:7px;height:7px;opacity:.65;}
.ct-closing-mark i:nth-child(3){width:5px;height:5px;opacity:.35;}
.ct-closing p {
  font-family: var(--mono); font-size: 14px; letter-spacing: .16em;
  color: rgba(242,237,230,0.52); text-transform: uppercase;
}
.ct-closing span {
  font-family: var(--serif); font-size: 14px; font-style: italic;
  color: rgba(200,168,78,0.73);
  display: block; margin-top: 6px;
}

@media(max-width:768px){
  .ct-row { grid-template-columns: 1fr; }
  .ct-submit { padding: 18px 28px; }
  .contact { padding: 55px 20px 89px; }
}

/* ── FOOTER CONTACT FORM — Axis I ── */
/* Two-column form rows: Axis I split, each pair L 61.8% / R 38.2% */
.ft-ct-row {
  display: grid;
  /* Axis I: both fields equal (symmetric) — footer is a symmetric radial zone */
  grid-template-columns: 1fr 1fr;
  gap: 21px; /* φ-scale */
}

/* ── WH-REVEAL — Axis VI (B→T) — all scroll reveals ── */
/* Rule VI.2: fade-up starts at +21px (φ-scale), eases with phi-ease-out */
/* Rule VI: 61.8% of travel at 61.8% of duration */
.wh-reveal {
  opacity: 0;
  transform: translateY(21px); /* φ-scale rise distance */
  transition:
    opacity 0.610s cubic-bezier(.16,1,.3,1),    /* 610ms = φ-scale */
    transform 0.610s cubic-bezier(.16,1,.3,1);
  will-change: opacity, transform;
}
.wh-reveal.wh-visible {
  opacity: 1;
  transform: translateY(0);
}
/* φ stagger on successive elements (Axis VI: each delayed by φ × previous) */
.wh-reveal:nth-of-type(2) { transition-delay: 89ms; }   /* φ-scale */
.wh-reveal:nth-of-type(3) { transition-delay: 144ms; }
.wh-reveal:nth-of-type(4) { transition-delay: 233ms; }
.wh-reveal:nth-of-type(5) { transition-delay: 377ms; }

/* ── TICKER — Axis I (L→R continuous reading flow) ── */
/* Ticker moves L→R endlessly — Axis I with no terminal φ point */
/* Duration: 21s (φ-scale × 13 = 21) */
/* The fade edges are at 38.2% on each side (minor zones) */
.ticker { contain: layout style; overflow: hidden; }
.ticker-track { will-change: transform; }

/* ── SECTION SPACING — Axis V: φ intervals ── */
/* Visual rest elements every 610px of vertical scroll (φ⁷ × 13) */
/* Section padding rhythm: 89px → 144px → 89px (Fibonacci) */

/* ── SCROLL-TRIGGER THRESHOLD — Axis V Rule V.3 ── */
/* IntersectionObserver threshold: 0.382 (= 1/φ²) */
/* Element fires when 38.2% visible — eye sees it before it fully arrives */
/* This is set in JS — documented here as the governing law */

/* ── DIAGONAL — Axis VII: shadow offsets ── */
/* All shadows follow TL→BR at y:x = φ ratio */
/* At 13px: x=8px y=13px. At 21px: x=13px y=21px. At 34px: x=21px y=34px */
/* Standard gradient angle: 135° (TL→BR), midpoint shifted to 61.8% */

/* ── MOBILE — Axis III (radial) replaces Axis I for all narrow screens ── */
/* On mobile, horizontal space is too constrained for φ L→R split */
/* All content becomes centered (Axis III: symmetric radial) */
/* Spacing tokens remain Fibonacci throughout */
@media (max-width: 768px) {
  .founder-in {
    grid-template-columns: 1fr; /* Axis III: single column, centered */
    gap: 34px; /* φ-scale */
  }
  .grove-section__inner {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .proj-in {
    grid-template-columns: 1fr; /* Axis III on mobile */
    min-height: auto;
  }
  .disc-left { flex: 1; }
  .disc-right { flex: 0 0 auto; }
  .disc-scope { display: none; }
  .pricing-home__grid {
    grid-template-columns: 1fr;
    gap: 13px; /* φ-scale */
  }
  .work-title { flex: 1; }
  .editorial { padding: 55px 21px 89px; } /* φ-scale mobile */
  .disc { padding: 0 21px 89px; }
  .founder { padding: 89px 21px; }
  .pricing-home { padding: 55px 21px 89px; }
  .contact { padding: 55px 21px 55px; }
}

/* ── INTERSECTION OBSERVER PATCH — Axis V Rule V.3 ── */
/* Sets 0.382 threshold globally for wh-reveal */
/* Implemented in JS below — CSS marker only */
.wh-reveal[data-phi-threshold] { --phi-threshold: 0.382; }

/* ═══ GLOBAL SHIELD FIX — April 12, 2026 ═══ */
/* Prevent shields from blocking nav or dominating mobile screens */
.ga-page-shield {
  transition: opacity 0.3s, transform 0.3s;
}
@media (max-width: 900px) {
  .ga-page-shield {
    display: none !important;
  }
}
/* Ensure shields never overlap mega menus */
.ls-mega, .ls-mega-inner {
  z-index: 95 !important;
}


/* 22.7.20 · THE VOID — the welcome page stays in the space void black end to end. The cream passages become void with light ink at full contrast
   (their inner rules all read the palette variables, redefined here inside them), and the two light transition bands become void. No light band anywhere. */
.editorial,.disc,.founder{background:var(--midnight)!important;color:#F2EDE6!important;--warm-white:#0b0d12;--cream:#0f1218;--stone:rgba(242,237,230,.26);--text-dark:#F2EDE6;--text-mid:rgba(242,237,230,.86);--text-light:rgba(242,237,230,.72)}
.grad-dl,.grad-ld{background:var(--midnight)!important;height:160px!important}
.work{background:var(--midnight)!important}
.wk-vis{background:#0b0d12!important}
