/* MaariCare V2 -- 2026 Premium Landing Page
   Palette: Chartreuse Army, Deep Chartreuse, Burnt Orange, Redwood Choc, Peachy Sand */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400;1,9..40,500&display=swap');

:root {
  /* Primary */
  --primary:#5E6322; --primary-deep:#424615; --primary-light:#7A8135;
  /* Accent */
  --accent:#D78A56; --accent-warm:#E09B6A; --accent-deep:#C07840;
  /* Dark */
  --redwood:#592B22; --redwood-deep:#3D1C16;
  /* Neutrals */
  --peachy:#F7EFEA; --peachy-warm:#EDE2DA; --peachy-deep:#D9C9BC;
  --warm-black:#1E120D; --espresso:#2C1A12;
  /* Semantic aliases */
  --text-primary:#F7EFEA; --text-secondary:rgba(247,239,234,0.92);
  --text-muted:rgba(247,239,234,0.7);
  --surface-dark:#2C1A12; --surface-card:rgba(89,43,34,0.55);
  --font-heading:'Playfair Display',Georgia,serif;
  --font-body:'DM Sans',system-ui,sans-serif;
  --text-display:clamp(3rem,5vw + 0.5rem,5rem);
  --text-section:clamp(2.2rem,4vw + 0.3rem,3.6rem);
  --text-lg:1.25rem; --text-base:1.05rem; --text-sm:0.95rem; --text-xs:0.8rem;
  --ease-out:cubic-bezier(0,0,0.2,1);
  --ease-cinematic:cubic-bezier(0.77,0,0.175,1);
  --ease-spring:cubic-bezier(0.34,1.56,0.64,1);
  /* Safe area insets for notched devices */
  --safe-top:env(safe-area-inset-top, 0px);
  --safe-bottom:env(safe-area-inset-bottom, 0px);
  --safe-left:env(safe-area-inset-left, 0px);
  --safe-right:env(safe-area-inset-right, 0px);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);color:var(--text-primary);background:var(--warm-black);overflow-x:hidden;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.1;letter-spacing:-0.02em}
.w{width:100%;max-width:1320px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}

/* Community Strip */
/* Reel Carousel (Section 2) */
.reel-section{padding:clamp(48px,6vh,80px) 0;background:var(--warm-black);overflow:hidden;position:relative}
.reel-section::before{content:'';position:absolute;top:-80px;left:0;right:0;height:80px;background:linear-gradient(to bottom,transparent,var(--warm-black));pointer-events:none}
.reel-header{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:1200px;margin:0 auto clamp(32px,4vh,48px);position:relative;z-index:4}
.reel-header .section-label { font-size: clamp(0.9rem, 1.5vw, 1.2rem); font-weight: 700; margin-bottom: 12px; }
.reel-wrapper{position:relative;display:flex;align-items:center;width:100%;max-width:1440px;margin:0 auto; overflow: hidden;}
.reel-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center;padding:40px 0;}
.reel-track::before, .reel-track::after { content: ''; flex: 0 0 calc(50vw - min(140px, 13vw)); }
.reel-track::-webkit-scrollbar{display:none}
.reel-card{flex:0 0 auto;width:clamp(220px,26vw,300px);aspect-ratio:9/16;border-radius:24px;overflow:hidden;position:relative;scroll-snap-align:center;cursor:pointer;box-shadow:0 12px 40px rgba(0,0,0,.6);transition: transform 0.6s var(--ease-spring), box-shadow 0.6s var(--ease-cinematic), filter 0.6s var(--ease-cinematic), opacity 0.6s var(--ease-cinematic); transform: scale(0.85); opacity: 0.4; filter: brightness(0.5); z-index: 1;}

.reel-card.is-near { transform: scale(0.92); opacity: 0.75; filter: brightness(0.85); z-index: 5; }
.reel-card.is-center{transform: scale(1.08); opacity: 1; filter: brightness(1); z-index: 10; box-shadow:0 32px 80px rgba(0,0,0,.8), 0 0 0 1px rgba(215,138,86,.4);}
.reel-card img{width:100%;height:100%;object-fit:cover}
.reel-card video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}

/* Reel Overlays */
.reel-gradient { position: absolute; inset: 0; background: linear-gradient(to top, rgba(30,18,13,0.95) 0%, rgba(30,18,13,0.4) 30%, transparent 60%); pointer-events: none; transition: opacity 0.5s ease; opacity: 0.8; }
.reel-card.is-center .reel-gradient { opacity: 1; }
.reel-content { position: absolute; bottom: 0; left: 0; right: 0; padding: 28px 24px; color: var(--peachy); transform: translateY(15px); opacity: 0; transition: all 0.5s var(--ease-out); pointer-events: none; }
.reel-card.is-center .reel-content { transform: translateY(0); opacity: 1; transition-delay: 0.15s; }
.reel-title { font-family: var(--font-heading); font-size: 1.25rem; font-weight: 700; line-height: 1.15; margin-bottom: 14px; text-shadow: 0 4px 16px rgba(0,0,0,0.9); }
.reel-product-tag { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.12); backdrop-filter: blur(12px); padding: 8px 16px; border-radius: 100px; font-size: 0.8rem; font-weight: 600; border: 1px solid rgba(255,255,255,0.15); box-shadow: 0 4px 12px rgba(0,0,0,0.2); }
.reel-product-tag svg { width: 16px; height: 16px; }

/* Reel Play */
.reel-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;transition:all .4s var(--ease-spring);opacity:0; pointer-events:none;}
.reel-play::after{content:'';width:0;height:0;border-style:solid;border-width:12px 0 12px 18px;border-color:transparent transparent transparent #fff;margin-left:4px}
.reel-card.is-center .reel-play{opacity:0.9;}
.reel-card.is-center:hover .reel-play{background:rgba(215,138,86,.85);border-color:var(--accent);transform:translate(-50%,-50%) scale(1.15);opacity:1;}

/* Reel Arrows */
.reel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:1px solid rgba(247,239,234,.15);background:rgba(30,18,13,.7);backdrop-filter:blur(16px);color:var(--peachy);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s var(--ease-out);z-index:20;opacity:0.8;}
.reel-arrow.reel-prev{left:0;}
.reel-arrow.reel-next{right:0;}
.reel-arrow:hover{border-color:var(--accent);color:var(--accent);background:rgba(215,138,86,.15);transform:translateY(-50%) scale(1.1);opacity:1;}
.reel-arrow:active{transform:scale(0.95);}

/* Hero Badge */
.hero-badge{display:inline-block;font-family:var(--font-body);font-size:clamp(.75rem,1.2vw,.9rem);font-weight:700;color:var(--accent-warm);margin-top:32px;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 2px 24px rgba(0,0,0,.7);background:rgba(247,239,234,0.08);border:1px solid rgba(247,239,234,0.15);padding:8px 20px;border-radius:100px}

/* Shop Dropdown */
.nav-shop-trigger{position:relative}
.nav-shop-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding:12px 20px;background:rgba(44,26,18,.96);backdrop-filter:blur(16px);border-radius:12px;border:1px solid rgba(247,239,234,.1);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;transform:translateX(-50%) translateY(8px);white-space:nowrap;margin-top:8px}
.nav-shop-trigger:hover .nav-shop-dropdown{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.dropdown-label{font-size:var(--text-xs);color:var(--peachy);font-weight:500}

/* Principle Description Paragraphs */
.principle-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.75;margin-bottom:12px}
.principle-desc em{color:var(--accent);font-style:italic}

/* Scroll Progress */
.scroll-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,var(--primary-light),var(--accent),var(--accent));z-index:1000;transition:width .05s linear}

/* Nav */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:calc(var(--safe-top) + 22px) 0 22px;transition:all .4s var(--ease-out);background:linear-gradient(to bottom, rgba(66,70,21,0.45) 0%, rgba(30,18,13,0.3) 50%, transparent 100%)}
nav.scrolled{background:rgba(44,26,18,0.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:calc(var(--safe-top) + 12px) 0 12px;box-shadow:0 4px 32px rgba(0,0,0,.35)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding-left:clamp(16px,3vw,24px)}
.nav-logo{font-family:var(--font-heading);font-size:1.4rem;font-weight:700;color:var(--accent);letter-spacing:-0.02em}
.nav-links{display:flex;align-items:center;gap:36px}
.nav-links a{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);transition:all .3s;border-bottom:2px solid transparent;padding-bottom:4px}
.nav-links a:hover{color:var(--primary-light)}
.nav-links a.active{color:var(--primary-light);border-bottom-color:var(--primary-light);font-weight:700}
.nav-cta{padding:10px 24px!important;border-radius:100px;background:var(--primary-light)!important;color:#fff!important;font-weight:700!important;transition:all .3s!important}
.nav-cta:hover{background:var(--primary)!important;transform:translateY(-1px);box-shadow:0 4px 16px rgba(94,99,34,0.35)}
.mob-toggle{display:none;background:none;border:none;cursor:pointer;width:44px;height:44px;justify-content:center;align-items:center;flex-direction:column;gap:5px}
.mob-toggle span{display:block;width:22px;height:2px;background:var(--accent);transition:all .2s}

/* Hero */
.hero{min-height:100dvh;display:flex;align-items:center;position:relative;overflow:hidden}
.hero-video-wrap{position:absolute;inset:0;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-vid-slide{opacity:0;transition:opacity 1.5s ease-in-out}
.hero-vid-slide.active{opacity:1;object-position:center 20%}
.hero-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(to bottom,rgba(30,18,13,.3) 0%,transparent 30%),linear-gradient(to top,rgba(30,18,13,.85) 0%,rgba(30,18,13,.1) 50%),linear-gradient(to right,rgba(30,18,13,.5) 0%,transparent 60%)}
.hero-particles{position:absolute;inset:0;z-index:3;pointer-events:none}
.hero-text{position:relative;z-index:4;padding:clamp(120px,14vh,180px) 0 clamp(80px,10vh,120px);padding-left:clamp(24px,6vw,100px);max-width:720px}
.hero-title{font-size:clamp(3rem,7vw,5.5rem);font-weight:800;color:var(--peachy);line-height:.95;margin-bottom:24px;text-shadow:0 4px 40px rgba(0,0,0,.7),0 0 80px rgba(0,0,0,.3)}
.hero-title em{font-style:italic;color:var(--accent);display:block}
.hero-sub{font-size:clamp(1rem,1.3vw + .3rem,1.2rem);font-weight:400;color:rgba(247,239,234,.92);max-width:500px;line-height:1.7;margin-bottom:40px;text-shadow:0 2px 20px rgba(0,0,0,.8)}
.hero-principle-tagline{font-family:var(--font-heading);font-size:clamp(1.8rem,3.5vw,2.8rem);color:var(--accent);font-weight:700;letter-spacing:.02em;text-shadow:0 2px 20px rgba(0,0,0,.6);margin-bottom:24px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.hero-principles{display:flex;gap:32px;margin-top:48px}
.hero-principle{display:flex;flex-direction:column;align-items:center;gap:6px}
.hero-principle-line{width:1px;height:24px;background:var(--accent);opacity:.4}
.hero-principle span{font-size:var(--text-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);text-shadow:0 2px 12px rgba(0,0,0,.6)}

/* Buttons */
.btn-warm{display:inline-flex;align-items:center;gap:8px;padding:16px 34px;border-radius:100px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;border:none;cursor:pointer;min-height:48px;transition:all .3s var(--ease-out);position:relative;overflow:hidden}
.btn-warm.fill{background:var(--accent);color:var(--warm-black)}
.btn-warm.fill:hover{background:var(--peachy);transform:translateY(-2px);box-shadow:0 12px 40px rgba(215,138,86,.25)}
.btn-warm.ghost{background:transparent;color:var(--text-secondary);border:1.5px solid rgba(247,239,234,.25)}
.btn-warm.ghost:hover{border-color:var(--accent);color:var(--accent)}

/* Section Tokens */
.section-label{display:block;font-size:clamp(0.85rem,1.4vw,1.1rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.section-heading{font-family:var(--font-heading);font-size:var(--text-section);font-weight:700;color:var(--peachy);line-height:1.08;letter-spacing:-0.02em;margin-bottom:24px}
.section-heading em{font-style:italic;color:var(--accent)}

/* Scroll Reveal */
[data-r]{opacity:0;transition:opacity .9s var(--ease-out),transform .9s var(--ease-out),filter .9s var(--ease-out)}
[data-r="up"]{transform:translateY(50px)}
[data-r="left"]{transform:translateX(-50px)}
[data-r="right"]{transform:translateX(50px)}
[data-r="scale"]{transform:scale(0.9)}
[data-r="blur"]{filter:blur(10px)}
[data-r="fade"]{opacity:0}
[data-r].v{opacity:1;transform:none;filter:none}
[data-stagger]>*{opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
[data-stagger].v>*{opacity:1;transform:none}
[data-stagger].v>*:nth-child(1){transition-delay:0s}
[data-stagger].v>*:nth-child(2){transition-delay:.12s}
[data-stagger].v>*:nth-child(3){transition-delay:.24s}
[data-stagger].v>*:nth-child(4){transition-delay:.36s}

/* About */
.about{position:relative;padding:clamp(48px,6vh,80px) 0;overflow:hidden;min-height:auto}
.about-bg{position:absolute;inset:0;z-index:0}
.about-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(1.1) brightness(0.4)}
.about-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(66,70,21,.85) 0%,rgba(66,70,21,.75) 50%,rgba(30,18,13,.8) 100%)}
.about-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:center}
.about-glass{background:rgba(94,99,34,.6);backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);border-radius:24px;padding:clamp(22px,3vw,36px);border:1px solid rgba(94,99,34,.3);box-shadow:0 32px 80px rgba(0,0,0,.3),inset 0 1px 0 rgba(94,99,34,.1)}
.about-glass .section-heading{font-size:clamp(1.8rem,3.2vw,2.8rem);margin-bottom:16px}
.about-glass p{color:rgba(247,239,234,.9);font-size:var(--text-sm);line-height:1.7;max-width:520px;margin-bottom:14px}
.about-glass blockquote{font-family:var(--font-heading);font-size:clamp(1rem,1.6vw,1.3rem);font-style:italic;color:var(--accent);line-height:1.4;margin:20px 0;padding-left:20px;border-left:3px solid var(--accent)}
.about-collage-inline{width:100%;border-radius:14px;margin-top:16px;box-shadow:0 8px 32px rgba(0,0,0,.3);animation:collageFloat 6s ease-in-out infinite}
.about-collage{display:flex;justify-content:center;align-items:center}
.about-collage img{width:100%;max-width:400px;border-radius:24px;box-shadow:0 32px 80px rgba(0,0,0,.45),0 0 0 1px rgba(247,239,234,.06);transition:transform .7s var(--ease-cinematic)}
.about-collage img:hover{transform:scale(1.02) rotate(-0.5deg)}
@keyframes collageFloat{0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-6px) rotate(0.3deg)}100%{transform:translateY(0) rotate(0deg)}}

/* Section Blending — smooth gradient transitions between sections */
.section-blend-top,.section-blend-bottom{position:absolute;left:0;right:0;height:80px;z-index:3;pointer-events:none}
.section-blend-top{top:0;background:linear-gradient(to bottom,var(--warm-black),transparent)}
.section-blend-bottom{bottom:0;background:linear-gradient(to top,var(--warm-black),transparent)}

.problem{position:relative;padding:clamp(56px,7vh,90px) 0;overflow:hidden;background:linear-gradient(180deg,rgba(66,70,21,.2) 0%,rgba(30,18,13,1) 100%)}
.problem-texture{position:absolute;inset:0;z-index:0;opacity:.30}
.problem-texture img{width:100%;height:100%;object-fit:cover;filter:brightness(0.6)}
.problem .w{position:relative;z-index:1}
.problem-header{text-align:center;max-width:680px;margin:0 auto clamp(48px,6vh,72px)}
.problem-narrative{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,24px)}
.problem-block{display:flex;flex-direction:column;text-align:center;padding:clamp(24px,3vw,36px) clamp(16px,2vw,24px);border-radius:20px;background:rgba(94,99,34,.5);border:1px solid rgba(94,99,34,.5);transition:all .4s var(--ease-out)}
.problem-block:hover{background:rgba(94,99,34,.45);border-color:rgba(94,99,34,.5);transform:translateY(-4px)}
.problem-num{font-family:var(--font-heading);font-size:clamp(2rem,3.5vw,2.8rem);font-weight:800;color:var(--accent);line-height:1;margin-bottom:clamp(12px,1.5vh,18px);text-shadow:0 2px 16px rgba(215,138,86,.2);white-space:nowrap}
.problem-block p{font-size:var(--text-sm);color:var(--peachy);line-height:1.6}
.problem-block cite{display:block;margin-top:auto;padding-top:12px;font-size:var(--text-xs);color:var(--text-muted);font-style:italic}

/* ============================================ */
/* JOURNEYS V2 — Carousel Persona Showcases     */
/* ============================================ */
.journeys-v2{position:relative;padding:clamp(56px,7vh,90px) 0;overflow:hidden;background:linear-gradient(180deg,rgba(30,18,13,.98) 0%,rgba(50,30,20,.95) 25%,rgba(30,18,13,.98) 50%,rgba(45,35,20,.95) 75%,rgba(30,18,13,.98) 100%)}
.jv2-texture{display:none}
.jv2-texture img{width:100%;height:100%;object-fit:cover}
.jv2-animated-bg{position:absolute;inset:0;z-index:0;opacity:.15;background:radial-gradient(ellipse at 30% 50%,rgba(215,138,86,.3),transparent 60%);transition:background 1.2s ease-in-out}
.journeys-v2 .w{position:relative;z-index:1}
.jv2-header{text-align:center;max-width:680px;margin:0 auto clamp(40px,5vh,56px)}

/* Two-column layout: panels left, content right */
.jv2-layout{display:grid;grid-template-columns:1fr;gap:clamp(32px,4vw,48px)}

/* Accordion Panels: all 4 visible, one expanded (9:16 mobile ratio) */
.jv2-panels{display:flex;gap:6px;height:clamp(420px,70dvh,560px);border-radius:24px;overflow:hidden}
.jv2-panel{position:relative;flex:0.5;min-width:0;border-radius:16px;overflow:hidden;cursor:pointer;transition:flex .7s var(--ease-cinematic)}
.jv2-panel.active{flex:5;cursor:default}
.jv2-panel-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}
.jv2-panel-overlay{position:absolute;inset:0;background:transparent;transition:background .5s}
.jv2-panel:not(.active) .jv2-panel-overlay{background:rgba(30,18,13,.6)}
.jv2-panel:not(.active):hover .jv2-panel-overlay{background:rgba(30,18,13,.35)}

/* Volume button — centered in panel */
.jv2-vol-btn{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:6;opacity:.7;transition:opacity .3s}
.jv2-panel.active .jv2-vol-btn{display:flex}
.jv2-vol-btn:hover{opacity:1}
.jv2-vol-btn svg{width:18px;height:18px}

/* Persona Content Panes */
.jv2-persona-content{position:relative;min-height:200px}
.jv2-pane{display:none;opacity:0;transform:translateY(16px);animation:staggerIn .5s ease-out forwards}
.jv2-pane.active{display:block;opacity:1;transform:none}
.jv2-pane-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.jv2-persona-name{font-family:var(--font-heading);font-size:clamp(1.4rem,2.5vw,2.5rem);font-weight:700;line-height:1.1}
.jv2-journey-badge{display:inline-block;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--jc,var(--accent));padding:10px 22px;border-radius:100px;border:1.5px solid var(--jc,var(--accent));background:rgba(0,0,0,.3);animation:pulseGlow 3s ease-in-out infinite;white-space:nowrap}
.jv2-tagline{font-size:var(--text-sm);font-style:italic;color:var(--peachy-warm);margin-bottom:4px}
.jv2-desc{font-size:var(--text-sm);color:var(--peachy);line-height:1.6}

/* Persona image cycling — scaled down, no crop, no page jump */
.jv2-pane-images{position:relative;width:100%;height:clamp(260px,45dvh,350px);margin:20px 0;border-radius:16px;overflow:hidden;background:rgba(30,18,13,.4)}
.jv2-pane-images img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:100%;max-height:clamp(260px,45dvh,350px);width:auto;height:auto;object-fit:contain;border-radius:16px;opacity:0;transition:opacity .8s ease-in-out}
.jv2-pane-images img.jv2-img-active{opacity:1}

.jv2-mindset{background:rgba(94,99,34,.22);border-radius:16px;padding:18px 22px;border:1px solid rgba(94,99,34,.25);border-left:4px solid var(--accent);margin:12px 0}
.jv2-mindset q{font-family:var(--font-heading);font-size:1.15rem;font-style:italic;color:var(--accent-warm);line-height:1.45;quotes:none}
.jv2-facts{margin-top:8px}
.jv2-facts h4{font-family:var(--font-body);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:12px}
.jv2-facts ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.jv2-facts li{font-size:var(--text-sm);color:var(--peachy);line-height:1.55;padding-left:18px;position:relative}
.jv2-facts li::before{content:'';position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.jv2-facts cite{font-size:var(--text-xs);color:var(--text-muted);font-style:italic;font-weight:400}

/* Principles */
.principles{position:relative;padding:clamp(56px,7vh,90px) 0;overflow:hidden;background:linear-gradient(180deg,rgba(94,99,34,.12) 0%,rgba(30,18,13,1) 100%)}
.principles-texture{position:absolute;inset:0;z-index:0;opacity:.08}
.principles-texture img{width:100%;height:100%;object-fit:cover;filter:blur(2px)}
.principles .w{position:relative;z-index:1}
.principles-header{text-align:center;max-width:680px;margin:0 auto clamp(48px,6vh,72px)}
.principles-grid{display:grid;grid-template-columns:1fr;gap:28px}
.principle-card{border-radius:24px;overflow:hidden;background:linear-gradient(180deg,rgba(94,99,34,.12) 0%,rgba(89,43,34,.1) 100%);border:1px solid rgba(94,99,34,.15);transition:all .5s var(--ease-spring);display:flex;flex-direction:column}
.principle-card:hover{transform:translateY(-8px);box-shadow:0 28px 72px rgba(0,0,0,.4);border-color:var(--accent)}
.principle-img{width:100%;height:260px;overflow:hidden}
.principle-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-cinematic)}
.principle-card:hover .principle-img img{transform:scale(1.06)}
.principle-body{padding:clamp(28px,3.5vw,40px);display:flex;flex-direction:column;flex:1}
.principle-icon{font-family:var(--font-heading);font-size:1.8rem;font-weight:300;font-style:italic;margin-bottom:14px;color:var(--accent);opacity:.4}
.principle-body h3{font-size:clamp(1.5rem,2.2vw,1.9rem);font-weight:700;color:var(--peachy);margin-bottom:14px}
.principle-why{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.7;margin-bottom:18px}
.principle-points{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.principle-points li{font-size:var(--text-sm);color:var(--text-muted);padding-left:20px;position:relative;line-height:1.55}
.principle-points li::before{content:'';position:absolute;left:0;top:7px;width:8px;height:1px;background:var(--accent)}
.principle-resources{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:1px solid rgba(247,239,234,.06)}
.resource-link{font-size:var(--text-xs);font-weight:600;color:var(--accent);transition:color .2s}
.resource-link:hover{color:var(--peachy)}

/* CTA */
.cta{position:relative;padding:clamp(80px,10vh,140px) 0;overflow:hidden;min-height:50dvh;display:flex;align-items:center;background:var(--redwood)}
.cta-bg{position:absolute;inset:0;z-index:0}
.cta-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(1.1) brightness(0.35)}
.cta-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(89,43,34,.8) 0%,rgba(61,28,22,.7) 50%,rgba(66,70,21,.3) 100%)}
.cta-inner{position:relative;z-index:2;display:flex;justify-content:center}
.cta-glass{background:rgba(89,43,34,.5);backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);border-radius:36px;padding:clamp(44px,6vw,80px);max-width:720px;text-align:center;border:1px solid rgba(247,239,234,.1);box-shadow:0 40px 100px rgba(0,0,0,.45),inset 0 1px 0 rgba(247,239,234,.06)}
.cta-title{font-family:var(--font-heading);font-size:clamp(3rem,6vw,4.5rem);font-weight:800;color:var(--peachy);line-height:1;margin-bottom:24px}
.cta-title .text-accent{color:var(--accent);font-style:italic}
.cta-subtitle{font-size:clamp(1.1rem,2vw,1.4rem);color:var(--primary-light);font-weight:600;margin-bottom:32px;letter-spacing:0.02em}
.cta-hero-img{width:100%;max-width:400px;border-radius:24px;margin:0 auto 32px;box-shadow:0 16px 48px rgba(0,0,0,.4);display:block}
.cta-glass p{font-size:var(--text-base);color:var(--peachy);line-height:1.75;margin:0 0 24px}
.cta-form{display:flex;gap:12px;max-width:480px;margin:0 auto}
.cta-form input{flex:1;padding:16px 22px;border-radius:100px;border:1.5px solid rgba(247,239,234,.15);background:rgba(30,18,13,.5);color:var(--peachy);font-family:var(--font-body);font-size:16px;outline:none;transition:border-color .3s,box-shadow .3s}
.cta-form input::placeholder{color:var(--text-muted)}
.cta-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(215,138,86,.2)}
.cta-form button{padding:16px 30px;border-radius:100px;border:none;background:var(--accent);color:var(--warm-black);font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:all .3s;white-space:nowrap}
.cta-form button:hover{background:var(--peachy);transform:translateY(-2px);box-shadow:0 8px 28px rgba(215,138,86,.25)}
.cta-note{display:block;font-size:var(--text-xs);color:var(--text-muted);margin-top:18px}

/* Footer */
footer{background:var(--warm-black);padding:clamp(48px,6vh,72px) 0 calc(var(--safe-bottom) + clamp(48px,6vh,72px));border-top:1px solid rgba(247,239,234,.05)}
.ftr{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.ftr-links{display:flex;gap:28px}
.ftr-links a{font-size:var(--text-sm);color:var(--text-muted);transition:color .2s;min-height:44px;display:inline-flex;align-items:center}
.ftr-links a:hover{color:var(--accent)}
.ftr-copy{font-size:var(--text-xs);color:rgba(247,239,234,.2);text-align:center}

/* ═══ Parallax + Motion ═══ */
.parallax-img{transform:scale(1.15);transition:transform .1s linear;will-change:transform}
@keyframes slowDrift{0%{transform:scale(1) translate(0,0)}50%{transform:scale(1.06) translate(-1%,-1%)}100%{transform:scale(1) translate(0,0)}}
@keyframes bgFloat{0%{opacity:.12;transform:scale(1)}50%{opacity:.18;transform:scale(1.04)}100%{opacity:.12;transform:scale(1)}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(215,138,86,0)}50%{box-shadow:0 0 16px 4px rgba(215,138,86,.15)}}
@keyframes staggerIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
.about-bg img,.problem-texture img,.jv2-texture img,.principles-texture img{animation:slowDrift 20s ease-in-out infinite}
.jv2-animated-bg{animation:bgFloat 8s ease-in-out infinite}
.jv2-facts li{animation:staggerIn .5s ease-out both}
.jv2-facts li:nth-child(1){animation-delay:.1s}.jv2-facts li:nth-child(2){animation-delay:.2s}.jv2-facts li:nth-child(3){animation-delay:.3s}.jv2-facts li:nth-child(4){animation-delay:.4s}.jv2-facts li:nth-child(5){animation-delay:.5s}

/* ═══ Responsive: Mobile-First (min-width) ═══ */

/* Base (0-767px): single column */
.nav-links{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(89,43,34,.98);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);flex-direction:column;justify-content:center;gap:32px;opacity:0;pointer-events:none;transition:opacity .35s;z-index:99}
nav.open .nav-links{opacity:1;pointer-events:auto}
.nav-links a{font-size:1.3rem;color:var(--peachy);min-height:44px;display:flex;align-items:center;justify-content:center}
.mob-toggle{display:flex;z-index:101}
.hero-text{padding-left:24px;padding-right:24px;max-width:100%}
.about-inner{grid-template-columns:1fr;text-align:center}
.about-glass{order:2}
.about-collage{order:1}
.problem-narrative{grid-template-columns:repeat(2,1fr)}
.jv2-panels{height:clamp(380px,65dvh,480px)}
.jv2-panel{flex:0.4}
.jv2-panel.active{flex:4}
.jv2-pane-images{grid-template-columns:repeat(3,1fr)}
.principles-grid{grid-template-columns:1fr}
.principle-card{display:flex;flex-direction:column}
.cta-form{flex-direction:column}
.ftr{flex-direction:column;gap:16px;text-align:center}
.ftr-links{flex-wrap:wrap;justify-content:center;gap:16px}
.hero-principles{flex-wrap:wrap;gap:20px;justify-content:center}
.hero-actions{flex-direction:column;width:100%}
.btn-warm{width:100%;justify-content:center}

/* Tablet (768px+) */
@media(min-width:768px){
  .nav-links{position:static;flex-direction:row;opacity:1;pointer-events:auto;background:none;backdrop-filter:none;gap:36px}
  .nav-links a{font-size:var(--text-sm);color:var(--text-secondary)}
  .mob-toggle{display:none}
  .hero-text{padding-left:clamp(24px,6vw,100px);padding-right:0;max-width:720px}
  .about-inner{grid-template-columns:.9fr 1.1fr;text-align:left}
  .about-glass{order:unset}
  .about-collage{order:unset}
  .problem-narrative{grid-template-columns:repeat(4,1fr)}
  .jv2-layout{grid-template-columns:1fr 1fr}
  .jv2-panels{height:clamp(450px,70dvh,620px)}
  .jv2-panel{flex:1}
  .jv2-panel.active{flex:3.5}
  .cta-form{flex-direction:row}
  .ftr{flex-direction:row;text-align:left}
  .hero-principles{flex-wrap:nowrap}
  .hero-actions{flex-direction:row;width:auto}
  .btn-warm{width:auto}
  .principles-grid{grid-template-columns:repeat(2,1fr)}
}

@media(min-width:1024px){
  .principles-grid{grid-template-columns:repeat(3,1fr)}
}

@media(min-width:1280px){
  .jv2-layout{grid-template-columns:1.1fr .9fr}
  .jv2-panels{height:clamp(520px,75dvh,680px)}
}

/* Reduced Motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}
  .hero-particles{display:none}
  .parallax-img{transform:none!important}
}
