/* Evolori, homepage-only editorial layer. Loaded after styles.css, index.html only. */

/* ---------- split hero ---------- */
.split-hero{
  display:grid;grid-template-columns:1fr;
}
.split-hero-media{order:1;position:relative;min-height:52vh;overflow:hidden;}
.split-hero-copy{
  order:2;display:flex;flex-direction:column;justify-content:center;position:relative;
  padding:64px 24px 56px;
}
@media(min-width:960px){
  .split-hero{grid-template-columns:1.15fr 0.85fr;min-height:92vh;}
  .split-hero-copy{order:1;padding:0 24px 0 64px;}
  .split-hero-media{order:2;min-height:100%;}
}

.hero-eyebrow{
  font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#7a7669;
  margin-bottom:22px;display:inline-block;
}
.kinetic{
  font-family:'DM Serif Display',serif;font-weight:400;font-size:40px;line-height:1.1;color:var(--charcoal);
}
@media(min-width:640px){.kinetic{font-size:52px;}}
@media(min-width:960px){.kinetic{font-size:66px;}}
@media(min-width:1240px){.kinetic{font-size:76px;}}

.sub-lg{font-size:17px;line-height:1.7;color:#4a473f;max-width:440px;margin:18px 0 34px;}

/* kinetic word reveal */
.word{display:inline-block;overflow:hidden;vertical-align:top;}
.word-inner{display:inline-block;transform:translateY(115%);animation:riseUp .9s cubic-bezier(.22,1,.36,1) forwards;}
@keyframes riseUp{to{transform:translateY(0);}}

/* scroll cue */
.scroll-cue{display:none;align-items:center;gap:10px;margin-top:8px;}
@media(min-width:960px){.scroll-cue{display:flex;position:absolute;left:64px;bottom:56px;}}
.scroll-cue .line{width:1px;height:40px;background:rgba(43,42,39,0.18);position:relative;overflow:hidden;}
.scroll-cue .line::after{
  content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--terracotta);
  animation:scrollDrop 2s ease-in-out infinite;
}
@keyframes scrollDrop{0%{top:-100%;}55%{top:100%;}100%{top:100%;}}
.scroll-cue .txt{
  font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:#8f897a;
  writing-mode:vertical-rl;
}

/* edge label on hero image */
.edge-label{
  position:absolute;top:26px;right:20px;writing-mode:vertical-rl;
  font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(246,241,231,0.75);z-index:2;
}

/* ---------- marquee ---------- */
.marquee{
  overflow:hidden;white-space:nowrap;background:var(--ivory-2);
  border-top:0.5px solid rgba(43,42,39,0.1);border-bottom:0.5px solid rgba(43,42,39,0.1);
  padding:15px 0;
}
.marquee-track{display:inline-block;animation:marqueeScroll 32s linear infinite;}
.marquee-track span{
  font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#7a7669;margin-right:44px;
}
.marquee-track span::after{content:"\2013";margin-left:44px;color:var(--terracotta);}
@keyframes marqueeScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- statement / manifesto ---------- */
.statement{padding:96px 0;}
@media(min-width:960px){.statement{padding:150px 0;}}
.statement-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:860px){.statement-grid{grid-template-columns:200px 1fr;gap:48px;}}
.statement-label{
  font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--terracotta);font-weight:700;
}
.statement-text{
  font-family:'DM Serif Display',serif;font-weight:400;font-size:30px;line-height:1.28;max-width:900px;margin:0;
}
@media(min-width:640px){.statement-text{font-size:38px;}}
@media(min-width:960px){.statement-text{font-size:54px;}}
.statement-text .line{
  display:block;opacity:0;transform:translateY(26px);
  transition:opacity .8s ease,transform .8s ease;
}
.statement-text .line.is-visible{opacity:1;transform:translateY(0);}

/* ---------- number tag ---------- */
.num-tag{
  font-family:'DM Serif Display',serif;font-size:13px;letter-spacing:0.03em;color:var(--stone);
  display:inline-block;
}

/* ---------- collage (about) ---------- */
.about-editorial{display:grid;grid-template-columns:1fr;gap:52px;align-items:center;}
@media(min-width:960px){.about-editorial{grid-template-columns:1fr 0.92fr;gap:64px;}}
.collage{position:relative;margin-bottom:16px;}
@media(min-width:960px){.collage{margin-bottom:0;}}
.collage-main{aspect-ratio:4/5;}
.collage-accent{
  position:absolute;width:48%;aspect-ratio:4/5;right:-6%;bottom:-9%;
  border:6px solid var(--ivory);box-shadow:0 24px 44px rgba(43,42,39,0.18);
}
@media(max-width:959px){
  .collage-accent{width:56%;right:auto;left:16px;bottom:-30px;}
}

/* ---------- magazine spread (featured experience) ---------- */
.mag-spread{display:grid;grid-template-columns:1fr;}
@media(min-width:960px){.mag-spread{grid-template-columns:1.05fr 0.95fr;align-items:stretch;}}
.mag-media{min-height:44vh;position:relative;}
@media(min-width:960px){.mag-media{min-height:100%;}}
.mag-copy{padding:44px 24px 56px;display:flex;flex-direction:column;justify-content:center;}
@media(min-width:960px){.mag-copy{padding:64px 72px;}}

/* ---------- text link ---------- */
.text-link{
  display:inline-block;margin-top:20px;font-size:14px;padding-bottom:2px;
  border-bottom:0.5px solid currentColor;
}

/* ---------- zigzag belief list ---------- */
.zigzag{list-style:none;margin:0 auto;padding:0;max-width:820px;}
.zigzag li{
  padding:24px 0;border-top:0.5px solid rgba(43,42,39,0.15);
  font-family:'DM Serif Display',serif;font-size:19px;
  opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease;
}
.zigzag li.is-visible{opacity:1;transform:translateY(0);}
.zigzag li:last-child{border-bottom:0.5px solid rgba(43,42,39,0.15);}
@media(min-width:700px){
  .zigzag li:nth-child(even){text-align:right;padding-left:18%;}
  .zigzag li:nth-child(odd){text-align:left;padding-right:18%;}
}

/* ---------- immersive full-bleed ---------- */
.immersive{
  position:relative;min-height:70vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--forest);
}
@media(min-width:960px){.immersive{min-height:86vh;}}
.immersive > .ph{position:absolute;inset:0;height:100%;}
.immersive::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(20,26,20,0.15) 0%,rgba(16,20,16,0.82) 88%);
}
.immersive-copy{position:relative;z-index:2;padding:56px 24px 64px;color:var(--ivory);max-width:560px;}
@media(min-width:960px){.immersive-copy{padding:0 0 96px 72px;}}

/* ---------- editorial quote ---------- */
.quote-editorial{position:relative;text-align:center;padding:100px 24px;overflow:hidden;}
.quote-editorial::before{
  content:"\201C";font-family:'DM Serif Display',serif;font-size:220px;line-height:1;
  position:absolute;top:-10px;left:50%;transform:translateX(-50%);color:rgba(43,42,39,0.05);z-index:0;
}
@media(min-width:960px){.quote-editorial::before{font-size:320px;}}
.quote-editorial p{
  position:relative;z-index:1;font-family:'DM Serif Display',serif;font-weight:400;font-style:italic;
  font-size:23px;max-width:680px;margin:0 auto;line-height:1.5;
}
@media(min-width:960px){.quote-editorial p{font-size:30px;}}

/* ---------- close / newsletter split ---------- */
.close-split{display:grid;grid-template-columns:1fr;background:var(--charcoal);color:var(--ivory);}
@media(min-width:900px){.close-split{grid-template-columns:1fr 1fr;}}
.close-media{min-height:280px;position:relative;}
@media(min-width:900px){.close-media{min-height:100%;}}
.close-copy{padding:56px 24px;display:flex;flex-direction:column;justify-content:center;}
@media(min-width:900px){.close-copy{padding:64px 72px;}}

/* ---------- Ken Burns + grain, homepage photography only ---------- */
.ph.kb{overflow:hidden;}
.ph.kb::before{
  content:"";position:absolute;inset:-6%;background:inherit;z-index:0;
  animation:kbZoom 20s ease-in-out infinite alternate;
}
.ph.kb::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,0.08),transparent 60%),
                    radial-gradient(circle at 80% 75%,rgba(0,0,0,0.12),transparent 55%);
  mix-blend-mode:overlay;
}
.ph.kb .cap,.ph.kb .edge-label{position:relative;z-index:2;}
.ph.kb img{animation:kbZoom 20s ease-in-out infinite alternate;}
@keyframes kbZoom{from{transform:scale(1);}to{transform:scale(1.07);}}

@media(prefers-reduced-motion:reduce){
  .word-inner{animation:none;transform:none;}
  .ph.kb::before{animation:none;}
  .ph.kb img{animation:none;}
  .marquee-track{animation:none;}
  .scroll-cue .line::after{animation:none;}
  .statement-text .line,.zigzag li{transition:none;opacity:1;transform:none;}
  [data-parallax]{transform:none !important;}
}
