:root{--bg:#050508;--panel:#0e1110;--panel2:#121613;--text:#ffffff;--muted:#a0a0b0;--line:rgba(201,169,98,.2);--gold:#c9a962;--cream:#e8dfc9;--green:#9fb89b;--serif:'Space Grotesk',sans-serif;--sans:'Outfit',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6;overflow-x:hidden}.grain{position:fixed;inset:0;pointer-events:none;opacity:.05;z-index:50;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}.cursor-glow{position:fixed;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,98,.08),transparent 68%);transform:translate(-50%,-50%);pointer-events:none;z-index:1}.site-header{position:sticky;top:0;z-index:20;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);background:rgba(5,5,8,.8);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);transition:.35s}.site-header.scrolled{height:66px;background:rgba(5,5,8,.92)}.brand{display:flex;gap:11px;align-items:center;color:var(--text);text-decoration:none}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid rgba(201,169,98,.45);border-radius:50%;font-family:var(--serif);font-size:21px;color:var(--gold)}.brand-logo{width:75px;height:75px;border-radius:50%;object-fit:cover;filter:drop-shadow(0 0 12px rgba(201,169,98,.5));opacity:1;transition:all .3s ease}.brand-logo:hover{transform:scale(1.05)}.site-header.scrolled .brand-logo{transform:scale(.92);opacity:.9}.brand-text{display:flex;flex-direction:column;align-items:flex-start;gap:0}.brand strong{display:block;font-family:var(--serif);font-size:2rem;font-weight:700;line-height:1;background:linear-gradient(90deg,#fff,var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:1.5px;text-shadow:0 0 15px rgba(201,169,98,.5);transition:transform .3s ease}.site-header.scrolled .brand strong{transform:scale(.95);transform-origin:left center}.brand small{display:block;margin-top:5px;color:var(--gold);font-size:1.1rem;font-weight:400;letter-spacing:3px;text-transform:uppercase;opacity:.85}.nav{display:flex;gap:30px;justify-content:flex-end}.nav a{color:var(--text);text-decoration:none;font-size:.95rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;position:relative;transition:all .3s ease}.nav a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--gold);transition:width .3s ease;box-shadow:0 0 8px rgba(201,169,98,.4)}.nav a:hover{color:var(--gold)}.nav a:hover:after{width:100%}.nav a.active{color:var(--gold)}.nav a.active:after{width:100%}.menu-btn{display:none;background:none;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:8px 10px}.hero{min-height:calc(100vh - 78px);position:relative;display:grid;place-items:center;overflow:hidden;padding:100px 7vw}.hero-copy{max-width:760px;position:relative;z-index:3;margin-right:38vw}.eyebrow{display:inline-block;color:var(--gold);font-size:10px;letter-spacing:3px;text-transform:uppercase}.hero h1{font-family:var(--serif);font-size:clamp(58px,8vw,118px);line-height:.94;font-weight:500;letter-spacing:-4px;margin:18px 0 25px}.hero h1 em,.manifesto h2 em{font-weight:500;color:var(--cream)}.hero p{max-width:620px;color:#a0a0b0;font-size:18px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;gap:12px;padding:13px 18px;border-radius:999px;text-decoration:none;font-size:12px;letter-spacing:.8px;text-transform:uppercase;transition:.3s}.button.primary{background:var(--cream);color:#050508}.button.primary:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(232,223,201,.12)}.button.ghost{border:1px solid var(--line);color:var(--text);background:rgba(255,255,255,.02)}.button.ghost:hover{border-color:rgba(201,169,98,.5);transform:translateY(-3px)}.hero-orbit{position:absolute;border:1px solid rgba(201,169,98,.13);border-radius:50%;left:68%;top:48%;transform:translate(-50%,-50%)}.orbit-a{width:min(55vw,700px);height:min(55vw,700px);animation:spin 28s linear infinite}.orbit-b{width:min(38vw,480px);height:min(38vw,480px);animation:spin 18s linear infinite reverse;border-color:rgba(159,184,155,.11)}.lens-visual{position:absolute;left:63%;top:50%;width:min(31vw,410px);height:min(31vw,410px);transform:translate(-50%,-50%);z-index:2}.lens-ring{width:100%;height:100%;border:1px solid rgba(201,169,98,.38);border-radius:50%;padding:14%;box-shadow:0 0 80px rgba(201,169,98,.08),inset 0 0 60px rgba(201,169,98,.05);animation:breathe 6s ease-in-out infinite}.lens-core{height:100%;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 40% 35%,rgba(201,169,98,.16),rgba(5,5,8,.94) 62%);border:1px solid rgba(201,169,98,.16)}.lens-core span{font-size:9px;letter-spacing:4px;color:var(--gold)}.lens-core b{font-family:var(--serif);font-size:clamp(22px,3vw,38px);font-weight:500;color:var(--text)}.scan-line{position:absolute;left:15%;right:15%;height:1px;top:50%;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7;animation:scan 4s ease-in-out infinite}.scroll-cue{position:absolute;bottom:30px;left:7vw;font-size:9px;letter-spacing:2px;color:#a0a0b0}.scroll-cue span{margin-left:10px;color:var(--gold)}.section{max-width:1240px;margin:auto;padding:130px 5vw}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:45px}.section-head h2{font-family:var(--serif);font-size:clamp(38px,5vw,70px);line-height:1;margin:10px 0 0;font-weight:500;color:var(--text)}.section-head p{max-width:420px;color:var(--muted);margin:0}.section-number{font-family:var(--serif);color:#a0a0b0;font-size:28px}.feature-card{display:grid;grid-template-columns:1.1fr .9fr;min-height:560px;border:1px solid var(--line);background:linear-gradient(145deg,#121612,#080810);overflow:hidden}.feature-art,.story-art,.category-art{position:relative;overflow:hidden;background:#080810}.feature-art:before,.story-art:before,.category-art:before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(112deg,transparent 0 36px,rgba(201,169,98,.08) 37px 38px),repeating-linear-gradient(20deg,transparent 0 70px,rgba(159,184,155,.07) 71px 72px);transform:rotate(-7deg);transition:transform .8s}.feature-card:hover .feature-art:before,.story-card:hover .story-art:before,.category-card:hover .category-art:before{transform:rotate(2deg) scale(1.06)}.art-city{background:radial-gradient(circle at 60% 40%,rgba(201,169,98,.18),transparent 28%),#080810}.art-archive{background:radial-gradient(circle at 35% 30%,rgba(159,184,155,.15),transparent 30%),#080810}.art-science{background:radial-gradient(circle at 65% 45%,rgba(110,150,170,.16),transparent 30%),#080810}.art-people{background:radial-gradient(circle at 50% 40%,rgba(201,142,105,.15),transparent 28%),#080810}.art-future{background:radial-gradient(circle at 45% 40%,rgba(126,116,190,.16),transparent 28%),#080810}.art-label{position:absolute;top:24px;left:24px;font-size:9px;letter-spacing:2px;color:var(--gold);z-index:2}.art-title{position:absolute;left:7%;bottom:8%;font-family:var(--serif);font-size:clamp(42px,5vw,76px);line-height:.86;z-index:2;color:var(--text)}.grid-lines{position:absolute;inset:12%;border:1px solid rgba(201,169,98,.2);transform:rotate(-12deg)}.feature-copy{padding:clamp(30px,5vw,70px);display:flex;flex-direction:column;justify-content:center}.category,.story-copy>span{font-size:9px;letter-spacing:2px;color:var(--gold)}.feature-copy h2{font-family:var(--serif);font-size:clamp(42px,5vw,68px);font-weight:500;line-height:1.02;margin:14px 0 18px;color:var(--text)}.feature-copy p,.story-copy p{color:var(--muted);font-size:15px}.story-meta{display:flex;gap:18px;flex-wrap:wrap;color:#a0a0b0;font-size:10px;letter-spacing:1px;text-transform:uppercase;margin:24px 0}.text-button{border:0;background:none;color:var(--cream);font:600 11px var(--sans);letter-spacing:1.5px;text-transform:uppercase;padding:0;text-align:left;cursor:pointer}.text-button:hover{color:var(--gold)}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.category-card{grid-column:span 2;min-height:330px;border:1px solid var(--line);background:var(--panel);color:var(--text);text-decoration:none;padding:18px;display:flex;flex-direction:column;transition:.4s;position:relative;overflow:hidden}.category-card:nth-child(4),.category-card:nth-child(5){grid-column:span 3}.category-card:hover{transform:translateY(-8px);border-color:rgba(201,169,98,.38);background:#111512}.category-card>span{font-size:10px;color:#a0a0b0;position:relative;z-index:2}.category-art{height:140px;margin:10px 0 18px;border:1px solid rgba(255,255,255,.04)}.category-card h3{font-family:var(--serif);font-size:28px;font-weight:500;margin:0 0 4px;color:var(--text)}.category-card p{margin:0;color:var(--muted);font-size:13px}.category-card b{margin-top:auto;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold)}.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filter{background:transparent;border:1px solid var(--line);color:#a0a0b0;border-radius:999px;padding:8px 12px;font-size:10px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:.25s}.filter:hover,.filter.active{color:#050508;background:var(--cream);border-color:var(--cream)}.story-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.story-card{border:1px solid var(--line);background:var(--panel);display:grid;grid-template-columns:42% 58%;min-height:300px;overflow:hidden;transition:.4s}.story-card:hover{transform:translateY(-5px);border-color:rgba(201,169,98,.35)}.story-card:nth-child(5){grid-column:1/-1}.story-art{min-height:220px}.story-art span{position:absolute;top:18px;left:18px;color:var(--gold);font-size:9px;letter-spacing:2px;z-index:2}.story-copy{padding:28px;display:flex;flex-direction:column;justify-content:center}.story-copy h3{font-family:var(--serif);font-size:28px;line-height:1.05;font-weight:500;margin:9px 0;color:var(--text)}.story-copy .text-button{margin-top:14px}.manifesto{max-width:900px;text-align:center;padding-top:150px;padding-bottom:170px}.manifesto-mark{margin:0 auto 30px;width:58px;height:58px;border:1px solid rgba(201,169,98,.4);border-radius:50%;display:grid;place-items:center;font:30px var(--serif);color:var(--gold)}.manifesto h2{font:500 clamp(52px,8vw,100px)/.9 var(--serif);margin:14px 0 24px;letter-spacing:-3px;color:var(--text)}.manifesto p{max-width:620px;margin:auto;color:var(--muted);font-size:17px}.manifesto-links{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;margin-top:35px}.manifesto-links a,.footer a{color:var(--cream);text-decoration:none;font-size:11px;letter-spacing:1.3px;text-transform:uppercase}.manifesto-links a:hover,.footer a:hover{color:var(--gold)}.footer{border-top:1px solid var(--line);padding:35px 5vw;display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;color:#a0a0b0}.footer strong{font-size:11px;letter-spacing:2px;color:var(--text)}.footer p{margin:4px 0 0;font-size:12px;color:var(--muted)}.footer div:nth-child(2){display:flex;gap:22px}.footer small{font-size:10px}.story-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.story-modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(5,5,8,.85);backdrop-filter:blur(8px)}.modal-card{position:relative;z-index:2;max-width:620px;background:#111512;border:1px solid rgba(201,169,98,.28);padding:42px;box-shadow:0 30px 100px rgba(0,0,0,.5)}.modal-card h2{font:500 42px/1 var(--serif);margin:12px 0;color:var(--text)}.modal-card p{color:var(--muted)}.modal-note{margin-top:22px;padding:13px;border-left:2px solid var(--gold);color:#a0a0b0;font-size:12px}.modal-close{position:absolute;right:16px;top:12px;border:0;background:none;color:var(--text);font-size:28px;cursor:pointer}.reveal{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.5,0,0,1)}.reveal.active{opacity:1;transform:none}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.keyboard-nav *:focus{outline:2px solid var(--gold);outline-offset:2px}.parallax{transform-style:preserve-3d}.parallax-layer{will-change:transform;transition:transform .1s linear}.card-3d{transform-style:preserve-3d;perspective:1000px}.card-3d:hover{transform:rotateY(5deg) rotateX(5deg) translateZ(20px);box-shadow:0 25px 50px rgba(201,169,98,.2)}.hover-lift{transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s ease}.hover-lift:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.3)}.hover-glow:hover{box-shadow:0 0 30px rgba(201,169,98,.4),0 0 60px rgba(201,169,98,.2)}.text-reveal{overflow:hidden}.text-reveal span{display:inline-block;transform:translateY(100%);animation:textReveal .8s cubic-bezier(.5,0,0,1) forwards}@keyframes textReveal{to{transform:translateY(0)}}.text-stagger>*{opacity:0;transform:translateY(20px);animation:staggerIn .6s ease forwards}.text-stagger>*:nth-child(1){animation-delay:.1s}.text-stagger>*:nth-child(2){animation-delay:.2s}.text-stagger>*:nth-child(3){animation-delay:.3s}.text-stagger>*:nth-child(4){animation-delay:.4s}@keyframes staggerIn{to{opacity:1;transform:translateY(0)}}.gradient-animate{background-size:200% 200%;animation:gradientShift 8s ease infinite}@keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}.glass-enhanced{background:rgba(255,255,255,.05);backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px rgba(0,0,0,.3)}.img-zoom{overflow:hidden}.img-zoom img{transition:transform .6s cubic-bezier(.25,.46,.45,.94)}.img-zoom:hover img{transform:scale(1.1)}.magnetic{transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.magnetic:hover{transform:scale(1.05)}.scroll-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,var(--gold),#fff);z-index:1000;transition:width .1s linear}.float{animation:float 6s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}.pulse-glow{animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,100%{box-shadow:0 0 20px rgba(201,169,98,.3)}50%{box-shadow:0 0 40px rgba(201,169,98,.6)}}@media(prefers-reduced-motion:reduce){.reveal{transition:none;opacity:1;transform:none}.cursor-glow{display:none}.grain{display:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes breathe{50%{transform:scale(1.025);box-shadow:0 0 110px rgba(201,169,98,.12),inset 0 0 80px rgba(201,169,98,.07)}}@keyframes scan{0%,100%{transform:translateY(-100px);opacity:0}35%,65%{opacity:.7}50%{transform:translateY(100px)}}@media(max-width:900px){.hero-copy{margin-right:0;max-width:650px}.lens-visual{opacity:.38;left:78%;width:480px;height:480px}.category-grid{grid-template-columns:repeat(2,1fr)}.category-card,.category-card:nth-child(4),.category-card:nth-child(5){grid-column:span 1}.story-grid{grid-template-columns:1fr}.story-card:nth-child(5){grid-column:auto}.feature-card{grid-template-columns:1fr}.feature-art{min-height:420px}}@media(max-width:700px){.site-header{height:68px}.nav{position:absolute;left:15px;right:15px;top:74px;display:none;flex-direction:column;gap:0;background:#080810;border:1px solid var(--line);padding:8px}.nav.open{display:flex}.nav a{padding:13px}.menu-btn{display:block}.hero{min-height:calc(100vh - 68px);padding:80px 22px}.hero h1{font-size:clamp(52px,16vw,78px);letter-spacing:-2px}.hero p{font-size:16px}.lens-visual{left:82%;opacity:.22}.section{padding:90px 22px}.section-head{display:block}.section-head>p{margin-top:15px}.filters{justify-content:flex-start;margin-top:20px}.category-grid{grid-template-columns:1fr}.category-card,.category-card:nth-child(4),.category-card:nth-child(5){grid-column:auto}.story-card{grid-template-columns:1fr}.story-art{min-height:190px}.footer{grid-template-columns:1fr}.footer div:nth-child(2){flex-wrap:wrap}.modal-card{padding:32px 24px}.modal-card h2{font-size:34px}}
/* 2026 Visual Enhancements - Lens Page Identity */

/* Hero - Dramatic Entrance */
.hero {
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(ellipse at center, rgba(201, 169, 98, 0.15) 0%, transparent 50%);
  animation: heroPulse 8s ease-in-out infinite;
  pointer-events: none;
}

@keyframes heroPulse {
  0%, 100% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.1); opacity: 0.8; }
}

/* Hero Title - Dramatic */
.hero h1 {
  animation: titleReveal 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  opacity: 0;
}

@keyframes titleReveal {
  0% { opacity: 0; transform: translateY(60px) skewY(5deg); filter: blur(10px); }
  100% { opacity: 1; transform: translateY(0) skewY(0); filter: blur(0); }
}

/* Feature Cards - 3D Flip */
.feature-card {
  position: relative;
  overflow: hidden;
  transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  transform-style: preserve-3d;
}

.feature-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(201, 169, 98, 0.2), transparent);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 1;
}

.feature-card:hover::before { opacity: 1; }

.feature-card:hover {
  transform: translateY(-15px) rotateX(5deg) scale(1.02);
  box-shadow: 0 40px 80px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(201, 169, 98, 0.3);
}

/* Feature Art - Zoom */
.feature-art { overflow: hidden; transition: transform 0.6s ease; }
.feature-card:hover .feature-art { transform: scale(1.05); }

/* Category Cards - 3D Flip */
.category-card {
  position: relative;
  overflow: hidden;
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  transform-style: preserve-3d;
}

.category-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(201, 169, 98, 0.2), transparent);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 1;
}

.category-card:hover::before { opacity: 1; }

.category-card:hover {
  transform: translateY(-12px) rotateX(5deg);
  border-color: rgba(201, 169, 98, 0.4);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
}

.category-art { overflow: hidden; transition: transform 0.6s ease; }
.category-card:hover .category-art { transform: scale(1.1); }

/* Story Cards - Slide Effect */
.story-card {
  position: relative;
  overflow: hidden;
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
}

.story-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--gold), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s ease;
}

.story-card:hover::after { transform: scaleX(1); }

.story-card:hover {
  transform: translateY(-8px);
  border-color: rgba(201, 169, 98, 0.3);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.story-art { overflow: hidden; transition: transform 0.6s ease; }
.story-card:hover .story-art { transform: scale(1.05); }

/* Text Buttons - Magnetic */
.text-button {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.text-button::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.text-button:hover::before { transform: scaleX(1); }
.text-button:hover { transform: translateX(5px); }

/* Filter Buttons - Fill */
.filter {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.filter::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--cream);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
  z-index: -1;
}

.filter:hover::before,
.filter.active::before { transform: scaleX(1); }

/* Modal - Enhanced */
.modal-card {
  animation: modalReveal 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  max-height: 85vh;
  overflow-y: auto;
}

@keyframes modalReveal {
  from { opacity: 0; transform: scale(0.9) translateY(20px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

/* Manifesto Float */
.manifesto-mark {
  animation: manifestoFloat 4s ease-in-out infinite;
}

@keyframes manifestoFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-10px) rotate(5deg); }
}

/* Button Hover */
.button {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.button::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.button:hover::before { opacity: 1; }
.button:hover { transform: translateY(-3px); box-shadow: 0 12px 35px rgba(232, 223, 201, 0.15); }

/* Grain Movement */
.grain {
  animation: grainMove 0.5s steps(10) infinite;
}

@keyframes grainMove {
  0%, 100% { transform: translate(0, 0); }
  10% { transform: translate(-5%, -10%); }
  20% { transform: translate(-15%, 5%); }
  30% { transform: translate(7%, -25%); }
  40% { transform: translate(-5%, 25%); }
  50% { transform: translate(-15%, 10%); }
  60% { transform: translate(15%, 0%); }
  70% { transform: translate(0%, 15%); }
  80% { transform: translate(3%, 35%); }
  90% { transform: translate(-10%, 10%); }
}

/* Cursor Glow - Pulse */
.cursor-glow {
  animation: cursorPulse 3s ease-in-out infinite;
}

@keyframes cursorPulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
  50% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
}

/* Scroll Progress - Gradient */
.scroll-progress {
  background: linear-gradient(90deg, var(--gold), #fff, var(--gold));
  background-size: 200% 100%;
  animation: progressGradient 3s linear infinite;
}

@keyframes progressGradient {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* Section Headers - Line Draw */
.section-head h2::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--gold);
  transition: width 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.section-head.visible h2::after { width: 100%; }

/* Admin link in footer */
.admin-link {
  opacity: 0.4;
  font-size: 0.75rem;
  transition: opacity 0.2s;
}
.admin-link:hover {
  opacity: 1;
  color: var(--gold);
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none}.orbit-a,.orbit-b,.lens-ring,.scan-line{animation:none}.button,.category-card,.story-card{transition:none}}

/* ═══════════════════════════════════════════
   STORY IMAGES & MEDIA
   ═══════════════════════════════════════════ */

/* Story card with image */
.story-art.story-art-img {
  position: relative;
  overflow: hidden;
  background: var(--panel);
}
.story-art.story-art-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.story-art.story-art-img:hover img {
  transform: scale(1.05);
}

/* Story tags on card */
.story-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.5rem 0;
}
.story-tags span {
  font-size: 0.7rem;
  padding: 0.2rem 0.6rem;
  background: rgba(201, 169, 98, 0.1);
  border: 1px solid var(--line);
  border-radius: 20px;
  color: var(--gold);
  font-family: var(--sans);
  letter-spacing: 0.03em;
}

/* Featured art with image */
.feature-art.feature-art-with-img {
  background: var(--panel);
  overflow: hidden;
}
.feature-art-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.feature-art.feature-art-with-img:hover .feature-art-img {
  transform: scale(1.03);
}

/* Modal cover image */
.modal-cover {
  margin: -2rem -2rem 1.5rem;
  overflow: hidden;
  border-radius: 0;
}
.modal-cover img {
  width: 100%;
  max-height: 320px;
  object-fit: cover;
  display: block;
}

/* Modal gallery */
.modal-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 0.75rem;
  margin: 1.5rem 0;
}
.modal-gallery-item {
  border-radius: 8px;
  overflow: hidden;
  background: var(--panel);
}
.modal-gallery-item img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  transition: transform 0.4s;
}
.modal-gallery-item:hover img {
  transform: scale(1.04);
}
.modal-gallery-item span {
  display: block;
  padding: 0.5rem 0.75rem;
  font-size: 0.78rem;
  color: var(--muted);
}

/* Modal embeds */
.modal-embed {
  margin: 1.5rem 0;
  border-radius: 8px;
  overflow: hidden;
  background: var(--panel);
}
.modal-embed iframe {
  width: 100%;
  aspect-ratio: 16/9;
  display: block;
  border: none;
}

/* Modal tags */
.modal-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 1.5rem;
}
.modal-tags span {
  font-size: 0.72rem;
  padding: 0.25rem 0.65rem;
  background: rgba(201, 169, 98, 0.08);
  border: 1px solid var(--line);
  border-radius: 20px;
  color: var(--gold);
  font-family: var(--sans);
}

/* ═══════════════════════════════════════════
   LENS ADMIN PANEL
   ═══════════════════════════════════════════ */

#lens-admin-panel {
  display: none;
  min-height: 100vh;
}
body.lens-admin-open #site-header { display: none; }
body.lens-admin-open .grain,
body.lens-admin-open .cursor-glow { display: none; }
body.lens-admin-open { background: #f5f5f5; color: #1a1a2e; }

.lens-admin-sidebar {
  width: 220px;
  background: #fff;
  border-right: 1px solid #e5e5e5;
  position: fixed;
  top: 0; left: 0; bottom: 0;
  display: flex;
  flex-direction: column;
  z-index: 100;
}
.lens-admin-sidebar-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 1rem;
  border-bottom: 1px solid #eee;
}
.lens-admin-logo {
  width: 36px; height: 36px;
  border-radius: 8px;
  object-fit: cover;
}
.lens-admin-sidebar-head strong {
  display: block;
  font-size: 0.9rem;
  color: #1a1a2e;
}
.lens-admin-sidebar-head small {
  color: #888;
  font-size: 0.72rem;
}
.lens-admin-nav {
  flex: 1;
  padding: 0.5rem 0;
}
.lens-admin-nav-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  padding: 0.6rem 1rem;
  background: none;
  border: none;
  color: #555;
  font-size: 0.88rem;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s;
}
.lens-admin-nav-item:hover { background: #f5f5f5; color: #1a1a2e; }
.lens-admin-nav-item.active { background: #f0f0f0; color: #1a1a2e; font-weight: 600; }
.lens-admin-nav-item span { margin-left: auto; background: #e5e5e5; padding: 0.1rem 0.45rem; border-radius: 8px; font-size: 0.7rem; }

.lens-admin-main {
  flex: 1;
  margin-left: 220px;
  background: #f5f5f5;
  min-height: 100vh;
}
.lens-admin-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 2rem;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
}
.lens-admin-topbar h2 {
  font-size: 1.1rem;
  margin: 0;
  color: #1a1a2e;
}
.lens-admin-content { padding: 1.5rem 2rem 3rem; }

/* Breadcrumb */
.lens-breadcrumb { font-size: 0.85rem; color: #888; }
.lens-breadcrumb button { background: none; border: none; color: #555; text-decoration: underline; cursor: pointer; font-size: 0.85rem; }
.lens-breadcrumb span { margin: 0 0.35rem; }

/* Stories table */
.lens-stories-table {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  overflow: hidden;
}
.lens-stories-header, .lens-stories-row {
  display: grid;
  grid-template-columns: 56px 1fr 100px 120px 110px;
  gap: 1rem;
  align-items: center;
  padding: 0.75rem 1.25rem;
}
.lens-stories-header {
  background: #fafafa;
  border-bottom: 1px solid #e5e5e5;
  font-size: 0.75rem;
  font-weight: 600;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.lens-stories-row {
  border-bottom: 1px solid #f0f0f0;
  font-size: 0.88rem;
}
.lens-stories-row:last-child { border-bottom: none; }
.lens-stories-row:hover { background: #fafafa; }
.lens-stories-row strong { color: #1a1a2e; }
.lens-stories-row small { display: block; color: #888; font-size: 0.72rem; }
.lens-stories-thumb {
  width: 44px; height: 44px;
  border-radius: 6px;
  overflow: hidden;
  background: #eee;
}
.lens-stories-thumb img { width: 100%; height: 100%; object-fit: cover; }
.lens-no-img { font-size: 0.6rem; color: #bbb; display: grid; place-items: center; height: 100%; }
.lens-cat-badge {
  display: inline-block;
  padding: 0.2rem 0.55rem;
  border-radius: 12px;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: capitalize;
}
.lens-cat-badge.places { background: #dbeafe; color: #2563eb; }
.lens-cat-badge.history { background: #fef3c7; color: #d97706; }
.lens-cat-badge.science { background: #dcfce7; color: #16a34a; }
.lens-cat-badge.people { background: #fce7f3; color: #db2777; }
.lens-cat-badge.future { background: #ede9fe; color: #7c3aed; }
.lens-row-actions { display: flex; gap: 0.4rem; }

/* Buttons */
.lens-btn {
  padding: 0.55rem 1.1rem;
  border-radius: 8px;
  font-size: 0.88rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: all 0.15s;
}
.lens-btn.primary { background: #1a1a2e; color: #fff; }
.lens-btn.primary:hover { background: #2d2d4a; }
.lens-btn.ghost { background: none; color: #555; border: 1px solid #d5d5d5; }
.lens-btn.ghost:hover { border-color: #aaa; }
.lens-btn-sm {
  padding: 0.3rem 0.6rem;
  border-radius: 6px;
  font-size: 0.78rem;
  border: 1px solid #d5d5d5;
  background: #fff;
  color: #555;
  cursor: pointer;
  transition: all 0.15s;
}
.lens-btn-sm:hover { border-color: #999; color: #1a1a2e; }
.lens-btn-sm.danger { color: #ef4444; border-color: #fecaca; }
.lens-btn-sm.danger:hover { background: #fef2f2; }

/* Story form */
.lens-story-form { max-width: 720px; }
.lens-form-card {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  padding: 1.5rem;
  margin-bottom: 1.25rem;
}
.lens-form-card h3 { margin: 0 0 0.5rem; font-size: 1.05rem; color: #1a1a2e; }
.lens-form-hint { color: #888; font-size: 0.8rem; margin: 0 0 1rem; }
.lens-form-group { margin-bottom: 1rem; }
.lens-form-group label { display: block; font-size: 0.88rem; font-weight: 600; color: #1a1a2e; margin-bottom: 0.35rem; }
.lens-form-row { display: flex; gap: 1rem; }
.lens-form-group.half { flex: 1; }
.req { color: #ef4444; margin-left: 0.1rem; }
.lens-input, .lens-select, .lens-textarea {
  width: 100%;
  padding: 0.65rem 0.9rem;
  border: 1px solid #d5d5d5;
  border-radius: 8px;
  font-size: 0.88rem;
  color: #1a1a2e;
  background: #fff;
  font-family: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.lens-input:focus, .lens-select:focus, .lens-textarea:focus {
  outline: none;
  border-color: #d97706;
  box-shadow: 0 0 0 3px rgba(217,119,6,0.12);
}
.lens-select { appearance: auto; }
.lens-textarea { resize: vertical; }
.lens-textarea.tall { min-height: 180px; }
.lens-check { display: flex; align-items: center; gap: 0.5rem; font-weight: 400; color: #555; cursor: pointer; }
.lens-check input { width: 16px; height: 16px; accent-color: #1a1a2e; }
.lens-form-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e5e5e5;
}
.lens-form-actions-right { display: flex; gap: 0.75rem; }

/* Image preview */
.lens-img-preview {
  margin-top: 0.75rem;
  border-radius: 8px;
  overflow: hidden;
  max-height: 200px;
  background: #f0f0f0;
}
.lens-img-preview img {
  width: 100%;
  max-height: 200px;
  object-fit: cover;
  display: block;
}
.lens-img-placeholder {
  padding: 2rem;
  text-align: center;
  color: #bbb;
  font-size: 0.85rem;
}

/* Gallery items */
.lens-gallery-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  margin-bottom: 0.5rem;
  background: #fafafa;
}
.lens-gallery-thumb {
  width: 56px; height: 56px;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
  background: #eee;
}
.lens-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }
.lens-gallery-fields { flex: 1; display: flex; flex-direction: column; gap: 0.4rem; }
.lens-gallery-fields .lens-input { font-size: 0.82rem; padding: 0.45rem 0.7rem; }
.lens-add-gallery {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.lens-add-gallery .lens-input { flex: 1; font-size: 0.82rem; }

/* Embed items */
.lens-embed-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.lens-embed-item .lens-input { flex: 1; font-size: 0.82rem; }
.lens-add-embed {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.lens-add-embed .lens-input { flex: 1; }

@media(max-width:768px){
  .lens-admin-sidebar { width: 180px; }
  .lens-admin-main { margin-left: 180px; }
  .lens-stories-header, .lens-stories-row { grid-template-columns: 44px 1fr 80px 90px; }
  .lens-stories-header span:nth-child(4), .lens-stories-row span:nth-child(4) { display: none; }
  .lens-form-row { flex-direction: column; gap: 0; }
  .lens-add-gallery { flex-direction: column; }
}
@media(max-width:600px){
  .lens-admin-sidebar { display: none; }
  .lens-admin-main { margin-left: 0; }
  .lens-admin-content { padding: 1rem; }
}

/* ═══════════════════════════════════════════
   AUTO-FETCH NEWS SECTION
   ═══════════════════════════════════════════ */

.latest-news-section {
  border-top: 1px solid var(--line);
  padding-top: 3rem;
}
.lens-auto-note {
  color: var(--muted);
  font-size: 0.85rem;
  margin: 0.5rem 0 0;
}
.news-card {
  transition: transform 0.3s, box-shadow 0.3s;
}
.news-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(201, 169, 98, 0.12);
}
.news-card .story-copy a {
  color: var(--gold);
  font-weight: 600;
  font-size: 0.85rem;
}
.news-card .story-copy a:hover {
  text-decoration: underline;
}

/* ═══════════════════════════════════════════
   RSS CONFIG (Admin Panel)
   ═══════════════════════════════════════════ */

.lens-rss-topic-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0.5rem;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  background: #fafafa;
}
.lens-rss-topic-item .lens-input {
  flex: 1;
  font-size: 0.85rem;
  border: none;
  background: transparent;
  padding: 0.3rem 0.5rem;
}
.lens-rss-topic-item .lens-input:focus {
  box-shadow: none;
}
.lens-rss-cat-badge {
  padding: 0.15rem 0.5rem;
  border-radius: 10px;
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: capitalize;
  background: #e5e5e5;
  color: #666;
  white-space: nowrap;
}
.lens-add-topic {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.lens-add-topic .lens-input { flex: 1; font-size: 0.85rem; }
.lens-add-topic .lens-select { width: 120px; font-size: 0.82rem; flex-shrink: 0; }
.lens-news-status {
  display: flex;
  gap: 2rem;
  margin-top: 1.25rem;
  padding: 1rem;
  background: #fafafa;
  border-radius: 8px;
  font-size: 0.85rem;
  color: #666;
}

/* News preview in modal */
.news-preview {
  padding: 1.5rem 0;
}
.news-source {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--gold);
  margin-bottom: 0.25rem;
}
.news-date {
  font-size: 0.8rem;
  color: var(--muted);
  margin-bottom: 1rem;
}
.news-body {
  margin-bottom: 1.5rem;
}
.news-body p {
  color: var(--text);
  line-height: 1.75;
  margin-bottom: 1rem;
}
.news-read-btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: var(--gold);
  color: var(--bg);
  text-decoration: none;
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.9rem;
  transition: background 0.2s, transform 0.15s;
}
.news-read-btn:hover {
  background: #b8963a;
  transform: translateY(-1px);
}
.lens-news-status strong { color: #1a1a2e; }

/* Toast notifications */
.toast {
  position: fixed;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: rgba(15, 15, 20, 0.95);
  color: var(--text);
  border: 1px solid var(--gold);
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-size: 0.85rem;
  z-index: 200;
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
  pointer-events: none;
  backdrop-filter: blur(10px);
}
.toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
