/*
Theme Name: Where I Live
Description: Cinematic film website for Where I Live
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: whereilive
*/

/* === 1. VARIABLES & RESET === */
:root {
    --color-void: #0a0a0a;
    --color-paper: #f4f1ea;
    --color-marigold: #F7A81B;
    --color-marigold-light: #F5A83A;
    --color-rust: #8a4b38;
    --color-sky: #6B9AC4;
    --color-cream-dark: #E8E2D3;
    --color-text-muted: #6B6860;
    --font-serif: 'Playfair Display', serif;
    --font-sans: 'Manrope', sans-serif;
    --font-hand: 'Caveat', cursive;
    --easing-cinema: cubic-bezier(0.25, 1, 0.5, 1);
}
*{margin:0;padding:0;box-sizing:border-box;cursor:none;}
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden;}
body{background:var(--color-paper);color:var(--color-void);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden;}
::selection{background:var(--color-rust);color:var(--color-paper);}
img{max-width:100%;height:auto;}

/* === 2. CINEMATIC TEXTURES === */
.noise-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9999;opacity:.08;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    animation:projectorFlicker 3s infinite;}
@keyframes projectorFlicker{0%,100%{opacity:.08}5%{opacity:.12}10%{opacity:.08}55%{opacity:.11}60%{opacity:.08}}

.timecode-display{position:fixed;bottom:2rem;right:2rem;font-family:'Courier New',monospace;font-size:.8rem;color:var(--color-marigold);background:rgba(10,10,10,.6);padding:.2rem .5rem;border-radius:4px;z-index:1000;opacity:.7;pointer-events:none;backdrop-filter:blur(4px);border:1px solid rgba(247,168,27,.3);letter-spacing:.1em;}

.cursor-dot,.cursor-outline{position:fixed;top:0;left:0;transform:translate(-50%,-50%);border-radius:50%;z-index:10000;pointer-events:none;mix-blend-mode:exclusion;}
.cursor-dot{width:8px;height:8px;background:var(--color-marigold);}
.cursor-outline{width:40px;height:40px;border:1px solid var(--color-marigold);transition:width .2s,height .2s,background-color .2s,top .1s ease-out,left .1s ease-out;}
body.hovering .cursor-outline{width:70px;height:70px;background:rgba(247,168,27,.2);border-color:transparent;backdrop-filter:blur(2px);}

/* === 3. TYPOGRAPHY & ANIMATIONS === */
h1,h2,h3{font-family:var(--font-serif);font-weight:400;}
.breathing-type{animation:breathe 8s infinite ease-in-out;}
@keyframes breathe{0%,100%{letter-spacing:-.02em}50%{letter-spacing:0em}}

.text-reveal{opacity:0;transform:translateY(30px);filter:blur(10px);transition:opacity 1.4s var(--easing-cinema),transform 1.4s var(--easing-cinema),filter 1.2s ease;will-change:opacity,transform,filter;}
.text-reveal.visible{opacity:1;transform:translateY(0);filter:blur(0);}

/* === 4. LAYOUT === */
.content-section{padding:15vh 10vw;max-width:1600px;margin:0 auto;position:relative;z-index:2;background:var(--color-paper);}

/* === 5. SPINE (Sticky Parallax) === */
.spine-wrapper{height:120vh;width:100%;position:sticky;top:0;z-index:1;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.spine-img-container{width:100%;height:120%;position:absolute;top:0;left:0;will-change:transform;}
.spine-img-container img{width:100%;height:100%;object-fit:cover;animation:cameraShake 20s infinite alternate ease-in-out;}
@keyframes cameraShake{0%{transform:scale(1.05) translate(0,0) rotate(0deg)}33%{transform:scale(1.05) translate(-10px,5px) rotate(.5deg)}66%{transform:scale(1.05) translate(5px,-10px) rotate(-.5deg)}100%{transform:scale(1.05) translate(0,0) rotate(0deg)}}

/* === 6. HERO === */
.hero{height:100vh;width:100%;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;background:#000;z-index:2;}
.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;}
.hero-video-crop{width:100%;height:100%;transform:scale(1.15);transform-origin:center;position:absolute;top:0;left:0;}
.hero-vignette-mask{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;
    background:radial-gradient(circle at center,transparent 0%,rgba(0,0,0,.2) 100%),linear-gradient(to bottom,transparent 75%,rgba(0,0,0,.9) 100%);z-index:1;}
.hero-content{z-index:2;text-align:center;color:var(--color-paper);mix-blend-mode:overlay;}
.hero h1{font-size:clamp(3.5rem,12vw,9rem);line-height:.9;letter-spacing:-.03em;}
.hero-tagline{font-size:1.1rem;letter-spacing:.3em;text-transform:uppercase;margin-top:1.5rem;opacity:.9;}
.scroll-petal{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);font-size:2rem;color:var(--color-marigold);animation:floatPetal 4s ease-in-out infinite;z-index:10;background:none;border:none;cursor:none;}
@keyframes floatPetal{0%,100%{transform:translate(-50%,0) rotate(0deg);opacity:.6}50%{transform:translate(-50%,15px) rotate(10deg);opacity:1}}

/* === 7. SYNOPSIS === */
.synopsis-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:6rem;align-items:center;}
.synopsis-text p{font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.7;font-weight:300;margin-bottom:1.5rem;}
.synopsis-img{position:relative;transform:translateY(40px) translateX(20px);box-shadow:-20px 20px 0 var(--color-void);transition:transform 1s var(--easing-cinema);}
.synopsis-img img{width:100%;display:block;filter:grayscale(100%);transition:filter 1s ease;}
.synopsis-img:hover img{filter:grayscale(0%);}

/* === 8. DIRECTOR'S STATEMENT === */
.director-section{background:var(--color-void);color:var(--color-paper);padding:20vh 10vw;position:relative;z-index:2;}
.director-content{max-width:800px;margin:0 auto;}
.director-content h2{color:var(--color-marigold);margin-bottom:3rem;font-size:2.5rem;}
.director-content p{font-family:var(--font-serif);font-size:clamp(1.25rem,2.5vw,1.5rem);line-height:1.6;margin-bottom:2rem;opacity:.9;font-weight:300;}
.director-sig{font-family:var(--font-hand);font-size:2rem;color:var(--color-marigold);margin-top:3rem;text-align:right;transform:rotate(-2deg);}

/* === 9. CHARACTERS === */
.character-section{padding:15vh 0;background:var(--color-paper);overflow:hidden;z-index:2;position:relative;}
.char-intro{padding:0 10vw;margin-bottom:3rem;max-width:800px;}
.char-gallery{display:flex;gap:4vw;padding:0 10vw 4rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}
.char-gallery::-webkit-scrollbar{display:none;}
.char-gallery:hover .char-card{opacity:.3;filter:blur(2px);}
.char-card{min-width:350px;width:25vw;position:relative;transition:all .6s var(--easing-cinema);scroll-snap-align:center;opacity:1;}
.char-gallery .char-card:hover{opacity:1;transform:scale(1.05);filter:blur(0);z-index:10;}
.char-img-wrap{width:100%;aspect-ratio:3/4;overflow:hidden;position:relative;margin-bottom:0;}
.char-img-wrap img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.1);transition:transform 1.5s ease,filter .5s ease;}
.char-card:hover .char-img-wrap img{transform:scale(1.1);filter:grayscale(0%) contrast(1.1);}
.char-name{font-family:var(--font-serif);font-size:1.5rem;padding-top:.75rem;}
.char-bio-tooltip{position:absolute;bottom:0;left:0;width:100%;padding:2rem 1.5rem;background:linear-gradient(to top,rgba(10,10,10,.95),transparent);color:var(--color-paper);font-size:1rem;line-height:1.4;opacity:0;transform:translateY(20px);transition:all .6s var(--easing-cinema);z-index:5;pointer-events:none;border-left:2px solid var(--color-marigold);margin-left:1rem;}
.char-card:hover .char-bio-tooltip{opacity:1;transform:translateY(0);}

/* === 10. CREATIVE TEAM === */
.team-intro{max-width:700px;margin-bottom:3rem;}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem;border-top:2px solid var(--color-marigold);padding-top:3rem;}
.team-member{transition:all .5s ease;}
.team-member h3{font-size:1.4rem;margin-bottom:.5rem;}
.team-role{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-rust);display:block;margin-bottom:1rem;}
.team-desc{font-size:.95rem;opacity:.8;font-weight:300;line-height:1.7;}
.team-grid:hover .team-member:not(:hover){opacity:.4;filter:blur(1px) grayscale(50%);}

/* === 11. WHY NOW === */
.why-now{text-align:center;max-width:900px;margin:0 auto;}
.why-now h2{font-size:4rem;line-height:1;margin-bottom:2rem;}
.why-now-body{font-size:1.5rem;font-weight:300;max-width:60ch;margin:0 auto;text-align:left;}
.why-now-body p{margin-bottom:2rem;}

/* === 12. FOLLOW THE JOURNEY (NEW) === */
.journey-section{background:var(--color-void);color:var(--color-paper);padding:14vh 10vw;position:relative;z-index:2;}
.journey-inner{max-width:680px;margin:0 auto;text-align:center;}
.journey-inner h2{color:var(--color-marigold);font-size:2.4rem;margin-bottom:1rem;}
.journey-inner .journey-lead{font-family:var(--font-serif);font-size:1.15rem;line-height:1.7;opacity:.85;margin-bottom:2.5rem;font-weight:300;}
.journey-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;max-width:520px;margin-left:auto;margin-right:auto;}
.journey-form-grid input{font-family:var(--font-sans);font-size:14px;padding:12px 16px;background:rgba(255,255,255,.07);border:.5px solid rgba(255,255,255,.18);border-radius:6px;color:var(--color-paper);outline:none;transition:border-color .2s;width:100%;}
.journey-form-grid input::placeholder{color:#6B6860;}
.journey-form-grid input:focus{border-color:var(--color-marigold);}
.journey-btn{font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:14px 36px;background:var(--color-marigold);color:#fff;border:none;border-radius:4px;cursor:none;transition:background .2s;margin-top:.5rem;}
.journey-btn:hover{background:var(--color-marigold-light);}
.journey-btn:disabled{opacity:.6;}
.form-success-msg{display:none;background:rgba(247,168,27,.12);border:.5px solid var(--color-marigold);border-radius:6px;padding:.75rem 1rem;color:var(--color-marigold-light);font-size:14px;margin-top:1rem;text-align:center;}

/* === 13. SUPPORT THE FILM (ENHANCED) === */
.donate-wrapper{padding:16vh 10vw 20vh;display:flex;flex-direction:column;align-items:center;background:var(--color-paper);z-index:2;position:relative;}
.donate-wrapper::before{content:'';display:block;width:60px;height:2px;background:var(--color-marigold);margin:0 auto 4rem;opacity:.6;}
.donate-inner{max-width:1100px;text-align:center;}
.donate-eyebrow{letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.5rem;font-size:.85rem;}
.support-intro{font-size:1.1rem;line-height:1.7;margin-bottom:1.5rem;max-width:640px;margin-left:auto;margin-right:auto;}
.donate-hook{font-family:var(--font-serif);font-size:1.6rem;font-style:italic;line-height:1.4;color:var(--color-rust);border-left:3px solid var(--color-marigold);padding-left:1.5rem;text-align:left;margin:1.5rem auto 2.5rem;max-width:640px;}
.support-cards-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:stretch;}
/* --- Donate Card (matches DAF card) --- */
.support-card{border-radius:12px;overflow:hidden;text-align:left;display:flex;flex-direction:column;}
.support-card--donate{background:var(--color-void);border:1px solid rgba(244,241,234,.12);}
.support-card-inner{padding:2.5rem 2.5rem 2rem;display:flex;flex-direction:column;flex:1;}
.support-card-eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-marigold);margin-bottom:.75rem;}
.support-card-headline{font-family:var(--font-serif);font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:400;color:var(--color-paper);margin-bottom:1rem;line-height:1.3;}
.support-card-body{font-size:.95rem;line-height:1.75;color:#B0ADA5;margin-bottom:1.5rem;max-width:600px;flex:1;}
.support-card-form .donate-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;text-align:left;}
.support-card-form .donate-form-grid label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#B0ADA5;display:block;margin-bottom:4px;}
.support-card-form .donate-form-grid input{font-family:var(--font-sans);font-size:14px;padding:12px 16px;background:rgba(255,255,255,.07);border:.5px solid rgba(255,255,255,.18);border-radius:6px;color:var(--color-paper);outline:none;transition:border-color .2s;width:100%;}
.support-card-form .donate-form-grid input::placeholder{color:#6B6860;}
.support-card-form .donate-form-grid input:focus{border-color:var(--color-marigold);}
.support-card-form .donate-cta-btn{margin-top:.5rem;}
.donate-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;text-align:left;}
.donate-form-grid label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);display:block;margin-bottom:4px;}
.donate-form-grid input{font-family:var(--font-sans);font-size:14px;padding:12px 16px;background:#fff;border:.5px solid var(--color-cream-dark);border-radius:6px;color:var(--color-void);outline:none;transition:border-color .2s;width:100%;}
.donate-form-grid input:focus{border-color:var(--color-marigold);}
.donate-form-full{grid-column:1/-1;}
.donate-cta-btn{font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:14px 40px;background:var(--color-marigold);color:#fff;border:none;border-radius:4px;cursor:none;transition:background .2s;margin-top:1rem;}
.donate-cta-btn:hover{background:var(--color-marigold-light);}
.donate-cta-btn:disabled{opacity:.6;}
.daf-hero-card{border-radius:12px;overflow:hidden;background:var(--color-void);border:1px solid rgba(247,168,27,.25);text-align:left;display:flex;flex-direction:column;}
.daf-hero-card-inner{padding:2.5rem 2.5rem 2rem;display:flex;flex-direction:column;flex:1;}
.daf-hero-eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-marigold);margin-bottom:.75rem;}
.daf-hero-headline{font-family:var(--font-serif);font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:400;color:var(--color-paper);margin-bottom:1rem;line-height:1.3;}
.daf-hero-body{font-size:.95rem;line-height:1.75;color:#B0ADA5;margin-bottom:1.5rem;max-width:600px;flex:1;}
.daf-hero-btn{display:inline-block;font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:14px 36px;background:var(--color-marigold);color:#fff;border:none;border-radius:4px;text-decoration:none;transition:background .2s,transform .2s;cursor:none;}
.daf-hero-btn:hover{background:var(--color-marigold-light);transform:translateY(-2px);}
.donate-divider-row{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;}
.donate-divider-line{flex:1;height:1px;background:var(--color-cream-dark);}
.donate-divider-text{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;}

/* === 14. FINAL SPINE + FOOTER === */
.final-spine-container{position:sticky;bottom:0;height:100vh;width:100%;z-index:0;}
.final-spine-container img{width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 50%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 50%,rgba(0,0,0,0) 100%);}
.contact-footer{min-height:80vh;background:transparent;display:flex;align-items:flex-end;justify-content:center;padding-bottom:10vh;position:relative;z-index:2;pointer-events:none;}
.contact-content{text-align:center;pointer-events:auto;}
.contact-link{font-size:1.5rem;color:var(--color-void);text-decoration:none;background:linear-gradient(to top,var(--color-marigold) 0%,var(--color-marigold) 100%);background-size:100% 2px;background-repeat:no-repeat;background-position:left bottom;transition:background-size .3s ease;display:block;margin-bottom:.5rem;}
.contact-link:hover{background-size:100% 100%;}

/* === 15. DAF PAGE === */
.daf-wrap{font-family:var(--font-sans);max-width:860px;margin:0 auto;padding:3rem 2rem 4rem;}
.daf-back-nav{padding:1.5rem 2rem;position:relative;z-index:3;}
.daf-back-nav a{font-family:var(--font-sans);font-size:.85rem;color:var(--color-text-muted);text-decoration:none;letter-spacing:.05em;transition:color .2s;}
.daf-back-nav a:hover{color:var(--color-marigold);}
.section-eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-marigold);margin-bottom:1rem;}
.section-headline{font-family:var(--font-serif);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;line-height:1.25;margin-bottom:1.25rem;max-width:640px;}
.section-intro{font-size:15px;line-height:1.75;color:var(--color-text-muted);max-width:640px;margin-bottom:2.5rem;}
.daf-divider{width:48px;height:2px;background:var(--color-marigold);margin:2rem 0;}
.stat-bar{background:var(--color-void);border-radius:8px;padding:1.75rem 2rem;margin-bottom:2.5rem;display:flex;flex-wrap:wrap;gap:2rem;align-items:center;}
.stat-item{flex:1;min-width:160px;}
.stat-number{font-family:var(--font-serif);font-size:2.2rem;font-weight:400;color:var(--color-marigold-light);line-height:1;margin-bottom:6px;}
.stat-label{font-size:12px;font-weight:300;letter-spacing:.05em;color:#B0ADA5;line-height:1.5;}
.daf-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2.5rem;}
.daf-card{background:#fff;border:.5px solid var(--color-cream-dark);border-radius:10px;padding:1.5rem;}
.daf-card-title{font-family:var(--font-serif);font-size:1.05rem;font-weight:500;margin-bottom:.6rem;}
.daf-card-body{font-size:13.5px;line-height:1.7;color:var(--color-text-muted);}
.accent-block{border-left:3px solid var(--color-marigold);padding-left:1.25rem;margin:2rem 0;}
.accent-block p{font-family:var(--font-serif);font-size:1.1rem;font-style:italic;line-height:1.6;}
.pathway-block{background:var(--color-cream-dark);border-radius:10px;padding:2rem;margin-bottom:2.5rem;}
.pathway-block h3{font-family:var(--font-serif);font-size:1.1rem;font-weight:500;margin-bottom:1.25rem;}
.pathway-item{margin-bottom:1.25rem;}
.pathway-main{font-size:14px;font-weight:700;line-height:1.5;}
.pathway-detail{margin-top:6px;padding-left:1rem;}
.pathway-detail p{font-size:13px;color:var(--color-text-muted);line-height:1.6;margin-bottom:4px;}
.pathway-detail p::before{content:"— ";color:var(--color-marigold);}
.cta-block{background:var(--color-void);border-radius:10px;padding:2rem 2.5rem;}
.cta-headline{font-family:var(--font-serif);font-size:1.3rem;font-weight:400;color:var(--color-paper);margin-bottom:.5rem;}
.cta-sub{font-size:13.5px;color:#B0ADA5;line-height:1.7;margin-bottom:1.75rem;}
.daf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.daf-form-field{display:flex;flex-direction:column;gap:6px;}
.daf-form-field.full{grid-column:1/-1;}
.daf-form-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#B0ADA5;}
.optional-tag{font-size:10px;font-weight:400;color:#6B6860;margin-left:6px;letter-spacing:.05em;text-transform:none;}
.daf-form-input,.daf-form-textarea{font-family:var(--font-sans);font-size:14px;background:rgba(255,255,255,.07);border:.5px solid rgba(255,255,255,.18);border-radius:6px;padding:10px 14px;color:var(--color-paper);outline:none;transition:border-color .2s;width:100%;}
.daf-form-input::placeholder,.daf-form-textarea::placeholder{color:#6B6860;}
.daf-form-input:focus,.daf-form-textarea:focus{border-color:var(--color-marigold);}
.daf-form-textarea{resize:vertical;min-height:90px;}
.daf-submit-btn{margin-top:.5rem;font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:12px 32px;background:var(--color-marigold);color:#fff;border:none;border-radius:4px;cursor:none;transition:background .2s;}
.daf-submit-btn:hover{background:var(--color-marigold-light);}
.daf-submit-btn:disabled{opacity:.6;}
.daf-privacy-note{font-size:11px;color:#6B6860;margin-top:.75rem;line-height:1.6;}
.daf-verify{margin-top:1.25rem;padding-top:1.25rem;border-top:.5px solid rgba(255,255,255,.1);font-size:12.5px;color:#6B6860;line-height:1.7;}
.daf-verify a{color:var(--color-marigold-light);text-decoration:none;}
.daf-verify a:hover{text-decoration:underline;}

/* === 16. RESPONSIVE === */
@media(max-width:1024px){
    .content-section,.director-section,.donate-wrapper{padding:12vh 6vw;}
    .char-gallery{gap:2rem;padding:0 6vw 3rem;}
    .char-card{min-width:300px;width:40vw;}
}
@media(max-width:900px){
    .synopsis-grid{grid-template-columns:1fr;gap:4rem;}
    .synopsis-img{transform:none;margin-top:1rem;box-shadow:-10px 10px 0 var(--color-void);}
    .team-grid{grid-template-columns:repeat(2,1fr);gap:3rem;}
    .hero h1{font-size:clamp(3rem,15vw,6rem);}
    .daf-two-col{grid-template-columns:1fr;}
    .support-cards-row{grid-template-columns:1fr;}
}
@media(max-width:600px){
    .team-grid{grid-template-columns:1fr;gap:3rem;}
    .content-section,.director-section,.donate-wrapper,.journey-section{padding:10vh 5vw;}
    .char-card{width:80vw;min-width:auto;}
    .char-bio-tooltip{position:relative;transform:none;opacity:1;background:var(--color-void);padding:1.5rem;margin-top:-5px;border-left:2px solid var(--color-marigold);}
    .char-gallery:hover .char-card{opacity:1;filter:none;}
    .char-gallery .char-card:hover{transform:none;z-index:1;}
    .director-sig{font-size:1.5rem;margin-top:2rem;}
    .text-reveal{transform:translateY(20px);}
    .journey-form-grid{grid-template-columns:1fr;}
    .donate-form-grid{grid-template-columns:1fr;}
    .support-card-form .donate-form-grid{grid-template-columns:1fr;}
    .daf-form-grid{grid-template-columns:1fr;}
    .why-now h2{font-size:2.5rem;}
}
@media(hover:none) and (pointer:coarse){
    .cursor-dot,.cursor-outline{display:none;}
    *{cursor:auto !important;}
    .hero-video-crop{transform:scale(1);}
}
