@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Inter:wght@300;400;500&display=swap');
:root{--cream:#f5f0e8;--parchment:#ede5d4;--stone:#c4b99a;--terracotta:#b5693a;--gold:#e0c097;--shadow:#2a2118;--ink:#1a1510;--dust:#7a6e5f;--obsidian:#0a0a0c;--gold-bright:#d4af37;--ease-out:cubic-bezier(0.33,1,0.68,1)}

/* ══ MOIRAI TECH SECTION ══════════════════════════════════════════════ */
.moirai-tech-section {
  padding: 10rem 2rem;
  background: transparent;
}

/* Old diagram styles moved to tech-page.css */
.arch-diagram {
  background: rgba(255,255,255,0.01);
  border: 1px solid rgba(196,185,154,0.12);
  border-radius: 8px;
  padding: 4rem 3rem;
  position: relative;
  overflow: visible;
  max-width: 1200px;
  margin: 3rem auto 0;
}

.diagram-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 4rem;
  border-bottom: 1px solid rgba(196, 185, 154, 0.1);
  padding-bottom: 1.5rem;
}

.system-tag {
  font-size: 0.65rem;
  color: var(--terracotta);
  letter-spacing: 0.3em;
  font-weight: 600;
  display: block;
  margin-bottom: 0.5rem;
}

.system-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem;
  color: var(--cream);
  margin: 0;
}

.system-status {
  font-size: 0.6rem;
  color: var(--stone);
  letter-spacing: 0.2em;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.status-dot {
  width: 8px;
  height: 8px;
  background: var(--terracotta);
  border-radius: 50%;
  animation: statusPulse 2s infinite;
}

@keyframes statusPulse {
  0%, 100% { opacity: 0.4; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.2); box-shadow: 0 0 10px var(--terracotta); }
}

.diagram-canvas {
  position: relative;
  padding: 2rem 0;
  min-height: 400px;
}

.canvas-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.flow-path {
  fill: none;
  stroke: var(--terracotta);
  stroke-width: 2;
  stroke-dasharray: 8, 12;
  opacity: 0.15;
  animation: pathFlow 10s linear infinite;
}

.flow-path-sub {
  fill: none;
  stroke: var(--terracotta);
  stroke-width: 1;
  stroke-dasharray: 4, 8;
  opacity: 0.1;
}

@keyframes pathFlow {
  to { stroke-dashoffset: -100; }
}

.diagram-pillars {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 2;
}

.pillar {
  width: 22%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.pillar-label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.4em;
  color: var(--stone);
  opacity: 0.6;
  margin-bottom: 1rem;
}

.node {
  width: 100%;
  background: rgba(10, 10, 12, 0.9);
  border: 1px solid rgba(196, 185, 154, 0.2);
  padding: 1.5rem;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  transition: all 0.4s ease;
  position: relative;
}

.node:hover {
  border-color: var(--terracotta);
  background: rgba(181, 105, 58, 0.05);
  transform: translateY(-5px);
}

.node-icon {
  font-size: 1.2rem;
  color: var(--terracotta);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(181, 105, 58, 0.1);
  border-radius: 50%;
}

.node-text {
  text-align: left;
}

.node-title {
  display: block;
  font-size: 0.9rem;
  color: var(--cream);
  font-weight: 500;
  margin-bottom: 0.2rem;
}

.node-desc {
  display: block;
  font-size: 0.65rem;
  color: var(--stone);
  opacity: 0.7;
}

.node.sub-node {
  padding: 1rem;
  border-style: dashed;
  background: rgba(255, 255, 255, 0.02);
}

.node.sub-node .node-title {
  font-size: 0.75rem;
}

.node.highlight {
  border-color: var(--terracotta);
  box-shadow: 0 0 30px rgba(181, 105, 58, 0.1);
}

.node-sub-connector {
  width: 1px;
  height: 2rem;
  background: linear-gradient(to bottom, var(--terracotta), transparent);
  opacity: 0.3;
}

.core-ring {
  position: absolute;
  inset: -5px;
  border: 1px solid var(--terracotta);
  border-radius: 10px;
  opacity: 0;
  animation: ringExpand 3s infinite;
}

@keyframes ringExpand {
  0% { transform: scale(1); opacity: 0.4; }
  100% { transform: scale(1.1); opacity: 0; }
}

.data-particle {
  position: absolute;
  width: 6px;
  height: 6px;
  background: var(--terracotta);
  border-radius: 50%;
  filter: blur(1px);
  box-shadow: 0 0 10px var(--terracotta);
  z-index: 10;
  animation: particleFlow 4s infinite linear;
}

@keyframes particleFlow {
  0% { left: -10%; top: 50%; opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { left: 450%; top: 50%; opacity: 0; }
}

.diagram-footer {
  margin-top: 4rem;
  text-align: center;
  padding-top: 2rem;
  border-top: 1px solid rgba(196, 185, 154, 0.05);
}

.diagram-footer p {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--stone);
  opacity: 0.4;
  max-width: none;
}

@media (max-width: 1024px) {
  .diagram-pillars {
    flex-direction: column;
    gap: 3rem;
  }
  .pillar {
    width: 100%;
  }
  .canvas-svg {
    display: none;
  }
  @keyframes particleFlow {
    0% { left: 50%; top: -10%; opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { left: 50%; top: 450%; opacity: 0; }
  }
}

*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{background-color:var(--ink);color:var(--cream);font-family:'Inter',sans-serif;font-weight:300;font-size:16px;line-height:1.7;overflow-x:hidden}
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 2rem;
  background: linear-gradient(rgba(15,12,9,0.65), rgba(15,12,9,0.65)),
              url('assets/img/refined/hero.png');
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 50%, rgba(0,0,0,0.4) 0%, transparent 70%);
  pointer-events: none;
}

.hero-split-layout {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 1.25rem;
  width: 100%;
  max-width: 1100px;
  align-items: center;
  z-index: 2;
  position: relative;
}

.hero-left-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.hero-right-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 0;
}

.hero-main-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(4.5rem, 12vw, 9rem);
  font-weight: 300;
  line-height: 0.85;
  color: var(--cream);
  margin-bottom: 4rem;
  text-transform: none;
  letter-spacing: -0.02em;
}

.hero-main-title em {
  font-style: italic;
  color: var(--stone);
}

.hero-text-block {
  margin-bottom: 2.5rem;
}

.hero-text-block p {
  font-family: 'Inter', sans-serif;
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  line-height: 1.5;
  color: var(--cream);
  max-width: none;
  margin: 0;
  font-weight: 400;
}

.hero-text-block.lighter p {
  opacity: 0.85;
}

.hero-text-block.highlight p {
  color: var(--gold);
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  line-height: 1.2;
  font-weight: 400;
  opacity: 1;
  font-style: italic;
}

.hero-main-title em {
  font-style: italic;
  color: var(--stone);
}

.hero-main-title:hover em {
  color: var(--gold);
}

.hero-cta-button {
  display: inline-flex;
  align-items: center;
  background-color: var(--gold);
  color: var(--ink);
  text-decoration: none;
  padding: 1.1rem 2.8rem;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  position: relative;
  z-index: 5;
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color 0.3s;
}

.hero-cta-button:hover {
  transform: scale(1.05);
  background-color: var(--cream);
}

.hero-cta-button .arrow {
  margin-left: 1.5rem;
  font-size: 1.2rem;
  line-height: 1;
}
.scroll-hint{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--dust);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase}
.scroll-hint::after{content:'';display:block;width:1px;height:40px;background:linear-gradient(to bottom,var(--dust),transparent)}
section{padding:7rem 2rem;max-width:1100px;margin:0 auto}
.section-label{font-size:.65rem;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:var(--terracotta);margin-bottom:1.5rem}
h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:300;line-height:1.1;color:var(--cream);margin-bottom:1.5rem}
h2 em{font-style:italic;color:var(--stone)}
p{color:var(--stone);margin-bottom:1.2rem;font-size:1rem}
.divider{width:100%;height:1px;background:linear-gradient(to right,transparent,rgba(196,185,154,.2),transparent)}
.enclosure{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;padding:7rem 2rem;max-width:1100px;margin:0 auto;position:relative}
.enclosure-img{z-index: 1;}
.enclosure > div:first-child { z-index: 2; position: relative; }

.enclosure-img.circle {
  width: 110%;
  aspect-ratio: 3 / 4;
  border-radius: 50%;
  overflow: hidden;
  margin-left: 0;
  border: 1px solid rgba(196,185,154,.15);
  box-shadow: 0 0 50px rgba(0,0,0,0.5);
}

.enclosure-img.circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.1); /* Start slightly zoomed in to allow smooth zooming to center? Or start at 1 and zoom to 1.3 */
}
.enclosure.reverse {
  grid-template-columns: 1fr 1fr;
}
.enclosure.reverse div:first-child {
  order: 2;
}
.enclosure.reverse .enclosure-img {
  order: 1;
}
.features{background:linear-gradient(to bottom,transparent,rgba(196,185,154,.04),transparent);padding:7rem 2rem}
.features-inner{max-width:1100px;margin:0 auto}
.features-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem 5rem;margin-top:4rem}
.feature-card{border-top:1px solid rgba(196,185,154,.15);padding-top:2rem}
.feature-number{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:300;color:rgba(181,105,58,.25);line-height:1;margin-bottom:1rem}
.feature-card h3{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--cream);margin-bottom:.75rem}
.feature-card p{font-size:.9rem;max-width:none}
.feature-card {
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.feature-card:hover {
  transform: translateY(-10px);
}

/* Feature card with image slot */
.feature-card-visual {
  background: rgba(196,185,154,0.03);
  border: 1px solid rgba(196,185,154,0.08);
  border-radius: 4px;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), border-color 0.4s ease;
}
.feature-card-visual:hover {
  transform: translateY(-8px);
  border-color: rgba(181,105,58,0.3);
}
.feature-card-visual .feature-img-slot {
  width: 100%;
  aspect-ratio: 16/9;
  background: linear-gradient(135deg, rgba(181,105,58,0.08) 0%, rgba(196,185,154,0.04) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid rgba(196,185,154,0.08);
  position: relative;
  overflow: hidden;
}
.feature-card-visual .feature-img-slot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.feature-card-visual .feature-img-slot .slot-icon {
  font-size: 2rem;
  opacity: 0.15;
  color: var(--stone);
  position: absolute;
}

.feature-card-visual .feature-img-frame {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 2px;
  background: #000;
  margin-bottom: 1.5rem;
}

.feature-img-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.4) contrast(1.1);
  transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), filter 0.5s ease;
}

.feature-card-visual:hover .feature-img-frame img {
  transform: scale(1.05);
  filter: grayscale(0) contrast(1.1);
}

.photo-card {
  display: flex;
  flex-direction: column;
}

.feature-card-visual {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.feature-card-body {
  flex-grow: 1;
  padding: 2rem 1.8rem 2.5rem;
}
.feature-card-visual h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--cream);
  margin-bottom: 0.75rem;
}
.feature-card-visual p {
  font-size: 0.9rem;
  max-width: none;
  margin: 0;
  color: var(--stone);
}
.auggie-section{padding:7rem 2rem;max-width:1100px;margin:0 auto}
.auggie-quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.4rem,3vw,2rem);color:var(--cream);line-height:1.4;border-left:2px solid var(--terracotta);padding-left:2rem;margin:3rem 0;max-width:700px}
.auggie-traits{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}
.trait{display:flex;align-items:baseline;gap:.75rem;font-size:.9rem;color:var(--stone);max-width:620px}
.trait-mark{color:var(--terracotta);font-size:.6rem;flex-shrink:0}.trait strong{color:var(--cream);font-weight:400}
.threads-section{padding:7rem 2rem;max-width:1100px;margin:0 auto;position:relative}
.threads-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, transparent 0%, rgba(26,21,16,0.8) 100%);
  pointer-events: none;
}
.threads-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;background:transparent;margin-top:4rem}
.thread-card{background:rgba(196,185,154,0.03);padding:2.5rem 2rem;border: 1px solid rgba(196,185,154,0.08); border-radius: 4px;}
.thread-card h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;color:var(--cream);margin-bottom:.75rem}
.thread-card p{font-size:.88rem;max-width:none;margin:0}
.thread-card {
  transition: background 0.3s, transform 0.4s ease;
  border: 1px solid transparent;
}
.thread-card:hover {
  background: #1e1914;
  transform: scale(1.02);
  border-color: rgba(181, 105, 58, 0.2);
}
.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(196,185,154,.1);margin-top:4rem}
.world-cell{background:var(--ink);padding:2rem 2rem 2.5rem;text-align:center}
.world-cell h4{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:400;color:var(--cream);margin-bottom:.5rem}
.world-cell p{font-size:.85rem;max-width:none;margin:0}
.comms-section{background:linear-gradient(135deg,rgba(181,105,58,.06) 0%,transparent 60%);padding:7rem 2rem}
.comms-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.cast-section{padding:7rem 2rem;max-width:1100px;margin:0 auto}
.cast-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px;background:rgba(196,185,154,.08);margin-top:4rem}
.cast-card{background:var(--ink);padding:0}
.cast-card-body{padding:1.4rem 2rem 2.8rem}
.cast-card h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  font-weight: 400;
  color: #fff;
  margin-bottom: 0.1rem;
}
.cast-role {
  font-size: 0.55rem;
  font-weight: 500;
  letter-spacing: normal;
  text-transform: uppercase;
  color: var(--terracotta);
  margin-bottom: 0.8rem;
}
.cast-card p {
  font-size: .85rem;
  max-width: none;
  margin: 0;
}
.refs-section{background:linear-gradient(to bottom,transparent,rgba(196,185,154,.03),transparent);padding:7rem 2rem}
.refs-inner{max-width:1100px;margin:0 auto}
.refs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:3rem;margin-top:4rem}
.ref-item{border-top:1px solid rgba(196,185,154,.12);padding-top:1.5rem}
.ref-item h4{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;color:var(--cream);margin-bottom:.4rem}
.ref-year{font-size:.65rem;letter-spacing:.2em;color:var(--terracotta);margin-bottom:.75rem}
.ref-item p{font-size:.85rem;max-width:none;margin:0}
.specs-section{padding:7rem 2rem;max-width:1100px;margin:0 auto}
.specs-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:4rem}
.spec-group h4{font-size:.65rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--terracotta);margin-bottom:1.5rem}
.spec-row{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid rgba(196,185,154,.08);padding:.75rem 0;font-size:.9rem}
.spec-row .spec-label{color:var(--dust)}.spec-row .spec-value{color:var(--cream)}

/* --- Living World Carousel --- */
.world-carousel-container {
  padding: 7rem 0;
  overflow: hidden;
}
.world-carousel-container h2, .world-carousel-container .section-label {
  padding: 0 2rem;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.main-carousel {
  margin-top: 4rem;
  position: relative;
  width: 100%;
}
.carousel-track {
  display: flex;
  transition: transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  width: 300%; /* 3 slides */
}
.world-slide {
  width: 33.333%;
  padding: 0 2rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  opacity: 0.3;
  transition: opacity 0.8s ease;
}
.world-slide.active {
  opacity: 1;
}
.slide-img {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}
.slide-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 12s linear;
}
.world-slide.active .slide-img img {
  transform: scale(1.15);
}
.slide-content {
  max-width: 600px;
}
.slide-content h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  color: var(--cream);
  margin-bottom: 1rem;
}
.slide-content p {
  font-size: 1.1rem;
  line-height: 1.6;
}
.carousel-nav {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin-top: 4rem;
  padding: 0 2rem;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.carousel-btn {
  background: none;
  border: 1px solid rgba(196,185,154,0.2);
  color: var(--cream);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.2rem;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.carousel-btn:hover {
  border-color: var(--terracotta);
  color: var(--terracotta);
  background: rgba(181, 105, 58, 0.05);
}
.carousel-pagination {
  display: flex;
  gap: 1rem;
}
.p-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(196,185,154,0.2);
  cursor: pointer;
  transition: all 0.3s ease;
}
.p-dot.active {
  background: var(--terracotta);
  transform: scale(1.5);
}

footer{border-top:1px solid rgba(196,185,154,.1);padding:3rem 2rem;text-align:center;color:var(--dust);font-size:.8rem;letter-spacing:.05em}
footer .footer-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;color:var(--stone);margin-bottom:.5rem}

.cta-engagement-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  margin-top: 5rem;
}

.cta-card {
  text-align: center;
  padding: 3rem 2rem;
  background: rgba(26, 21, 16, 0.85);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(196, 185, 154, 0.1);
  transition: all 0.4s ease;
}

.cta-card:hover {
  background: rgba(196, 185, 154, 0.05);
  border-color: var(--terracotta);
  transform: translateY(-8px);
}

.cta-icon {
  font-size: 1.2rem;
  color: var(--terracotta);
  margin-bottom: 1.5rem;
  opacity: 0.8;
}

.cta-card h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  color: var(--cream);
  margin-bottom: 1.2rem;
}

.cta-card p {
  font-size: 0.88rem;
  line-height: 1.7;
  color: var(--stone);
  margin: 0;
  max-width: none;
}

.final-cta-container {
  position: relative;
  background: linear-gradient(to bottom, rgba(26,21,16,0.92) 0%, rgba(26,21,16,0.8) 50%, rgba(26,21,16,0.92) 100%), 
              url('assets/img/refined/night.png');
  background-size: cover;
  background-position: center;
  padding: 6rem 2rem;
  border-top: 1px solid rgba(196, 185, 154, 0.12);
}

.final-cta-inner {
  max-width: 1100px;
  margin: 0 auto;
}

/* Image placeholders */
.img-ph{width:100%;background:rgba(196,185,154,.07);border:1px dashed rgba(196,185,154,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}
.img-ph-icon{font-size:2rem;opacity:.2;color:var(--stone)}
.img-ph-label{font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--dust);text-align:center}
.img-banner .img-ph{min-height:380px}
.world-cell-img .img-ph{min-height:140px}
.auggie-float{float:right;width:38%;margin:0 0 2rem 3rem}
.auggie-float .img-ph{padding-top:120%}
.cast-portrait .img-ph{padding-top:100%}
.cast-portrait { position: relative; }
.placeholder-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0,0,0,0.7);
  color: #fff;
  padding: 0.5rem 1rem;
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  pointer-events: none;
  z-index: 10;
  border-radius: 4px;
}

.enclosure-img .img-ph{min-height:380px}

/* Interstitials */
.interstitial{padding:5rem 2rem;text-align:center}
.it-terracotta{background:var(--terracotta)}
.it-parchment{background:var(--parchment)}
.it-stone{background:var(--stone)}
.it-label{font-size:.65rem;font-weight:500;letter-spacing:.35em;text-transform:uppercase;margin-bottom:1rem;opacity:.6;color:var(--ink)}
.it-terracotta .it-label{color:var(--cream);opacity:.7}
.it-headline{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:300;line-height:1.2;color:var(--ink)}
.it-terracotta .it-headline{color:var(--cream)}

/* WhatsApp phone mockup */
.phone-slideshow{display:flex;flex-direction:column;align-items:center;gap:2rem}
.phone-track{position:relative;width:300px;height:590px}
.phone-screen{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .4s ease}
.phone-screen.active{opacity:1;pointer-events:auto}
.phone-frame{width:300px;height:590px;background:#ECE5DD;border-radius:38px;border:8px solid #0d0d0d;overflow:hidden;box-shadow:0 28px 72px rgba(0,0,0,.65);display:flex;flex-direction:column;position:relative}
.phone-frame::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:80px;height:6px;background:#0d0d0d;border-radius:0 0 6px 6px;z-index:10}
.wa-header{background:#075E54;padding:.8rem 1rem .8rem;display:flex;align-items:center;gap:.75rem;flex-shrink:0;padding-top:1.2rem}
.wa-avatar{width:34px;height:34px;border-radius:50%;background:#128C7E;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:1rem;color:#fff;flex-shrink:0;font-weight:600}
.wa-contact{display:flex;flex-direction:column}
.wa-name{font-size:.78rem;font-weight:600;color:#fff;line-height:1.2}
.wa-status{font-size:.58rem;color:rgba(255,255,255,.7)}
.wa-chat{flex:1;overflow-y:auto;padding:.6rem .5rem;display:flex;flex-direction:column;gap:.35rem}
.wa-date-label{text-align:center;font-size:.55rem;color:#777;background:rgba(255,255,255,.75);border-radius:8px;padding:.2rem .7rem;margin:.2rem auto .4rem;display:inline-block;align-self:center}
.wa-msg{max-width:82%;padding:.45rem .7rem .3rem;border-radius:7px;position:relative}
.wa-recv{background:#fff;align-self:flex-start;border-top-left-radius:0}
.wa-sent{background:#DCF8C6;align-self:flex-end;border-top-right-radius:0}
.wa-msg p{margin:0;font-family:'Inter',sans-serif;font-size:.7rem;line-height:1.45;color:#111}
.wa-msg em{font-style:italic}
.wa-time{display:block;font-size:.52rem;color:#999;text-align:right;margin-top:.15rem}
.wa-ticks{color:#53bdeb}
.wa-input-bar{background:#F0F0F0;border-top:1px solid #ddd;padding:.45rem .6rem;display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.wa-input-field{flex:1;background:#fff;border-radius:20px;padding:.3rem .7rem;font-size:.65rem;color:#aaa;font-family:'Inter',sans-serif}
.wa-send{width:30px;height:30px;background:#128C7E;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem}
.slideshow-controls{display:flex;align-items:center;gap:1.5rem}
.slide-btn{background:none;border:1px solid rgba(196,185,154,.3);color:var(--stone);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1rem;transition:border-color .2s,color .2s;line-height:1}
.slide-btn:hover{border-color:var(--terracotta);color:var(--terracotta)}
.slide-dots{display:flex;gap:.6rem}
.dot{width:8px;height:8px;border-radius:50%;background:rgba(196,185,154,.25);cursor:pointer;transition:background .2s}
.dot.active{background:var(--terracotta)}

/* CTA */
.cta-section{padding:9rem 2rem;max-width:900px;margin:0 auto;text-align:center}
.cta-section h2{margin-bottom:2rem}
.cta-statement{max-width:540px;margin:0 auto 3.5rem;font-size:1rem;color:var(--stone)}
.cta-button{display:inline-block;border:1px solid var(--terracotta);color:var(--terracotta);text-decoration:none;font-size:.75rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;padding:1.1rem 3.5rem;transition:background .3s,color .3s}
.cta-button:hover{background:var(--terracotta);color:var(--ink)}

/* --- Custom Cursor --- */
body, a, button, .slide-btn, .dot, .wa-send, .hero-cta, .cta-button, .nav-logo { cursor: none; }
.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--terracotta);
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, background-color 0.3s ease, mix-blend-mode 0.3s ease;
  mix-blend-mode: normal;
}
.custom-cursor.hovered {
  width: 60px;
  height: 60px;
  background: var(--cream);
  mix-blend-mode: difference;
}

/* --- Quotes --- */
.quote-interstitial {
  padding: 8rem 2rem;
  text-align: center;
  background: rgba(196,185,154,.02);
  border-top: 1px solid rgba(196,185,154,.08);
  border-bottom: 1px solid rgba(196,185,154,.08);
}
.quote-interstitial h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 300;
  font-style: italic;
  color: var(--stone);
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.3;
}

/* --- Scroll Reveal Base --- */
.reveal { visibility: hidden; }

/* --- Magnetic Elements --- */
.hero-cta, .cta-button {
  transition: transform 0.1s ease-out, background .3s, color .3s;
}

/* --- Navbar --- */
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 1.5rem 2rem;
  z-index: 1000;
  background: rgba(26, 21, 16, 0.85);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(196,185,154,.1);
}
.nav-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.nav-logo {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  color: var(--cream);
  text-decoration: none;
}
.nav-logo em {
  font-style: italic;
  color: var(--stone);
}
.nav-links {
  display: flex;
  gap: 2.5rem;
}
.nav-links a {
  color: var(--stone);
  text-decoration: none;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transition: color 0.3s;
}
.nav-links a:hover, .nav-links a.active {
  color: var(--terracotta);
}
/* --- Navigation Toggle --- */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 28px;
  height: 14px;
  background: none;
  border: none;
  padding: 0;
  cursor: none;
  z-index: 1100;
}
.nav-toggle span {
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--cream);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.nav-toggle span:nth-child(2) {
  width: 60%;
  align-self: flex-end;
}
.nav-toggle.active span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
.nav-toggle.active span:nth-child(2) {
  transform: translateY(-7px) rotate(-45deg);
  width: 100%;
}

/* --- Mobile Menu Overlay --- */
.mobile-menu {
  position: fixed;
  inset: 0;
  background: var(--ink);
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease;
}
.mobile-menu.active {
  opacity: 1;
  pointer-events: all;
}
.mobile-menu-inner {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  text-align: center;
}
.mobile-menu-inner a {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.2rem;
  color: var(--stone);
  text-decoration: none;
  transition: color 0.3s, transform 0.3s;
  letter-spacing: 0.05em;
}
.mobile-menu-inner a.active, .mobile-menu-inner a:hover {
  color: var(--cream);
}
.mobile-menu-footer {
  margin-top: 4rem;
  font-size: 0.6rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--dust);
  opacity: 0.5;
}
.page-header {
  padding: 10rem 2rem 5rem;
  text-align: center;
  max-width: 1100px;
  margin: 0 auto;
}
.page-header h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3rem, 8vw, 6rem);
  font-weight: 300;
  line-height: 1;
  color: var(--cream);
  margin-bottom: 1rem;
}
.page-header h1 em {
  font-style: italic;
  color: var(--stone);
}

/* --- Roadmap Section --- */
.roadmap-section {
  padding: 7rem 2rem;
  max-width: 1100px;
  margin: 0 auto;
}
.roadmap-timeline {
  position: relative;
  margin-top: 5rem;
  padding: 2rem 0;
}
.timeline-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: rgba(196,185,154,.15);
  transform: translateX(-50%);
  z-index: 1;
}
.timeline-progress {
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  background: var(--terracotta);
  transform: translateX(-50%);
  z-index: 2;
  height: 0; 
  box-shadow: 0 0 15px var(--terracotta);
}
.timeline-nodes {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  position: relative;
  z-index: 3;
}
.timeline-node {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
.timeline-node:nth-child(even) {
  flex-direction: row-reverse;
}
.node-time {
  width: 45%;
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  padding: 0 3rem;
}
.timeline-node:nth-child(even) .node-time {
  text-align: left;
  align-items: flex-start;
}
.node-time .year {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.5rem;
  color: var(--cream);
  line-height: 1;
  font-weight: 300;
  letter-spacing: 0.05em;
}
.node-time .unit {
  font-size: 0.7rem;
  color: var(--terracotta);
  letter-spacing: 0.3em;
  text-transform: uppercase;
  margin-top: 0.4rem;
}
.node-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--ink);
  border: 2px solid var(--stone);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.4s ease;
  box-shadow: 0 0 0 6px var(--ink);
}
.node-dot.pulse {
  background: var(--terracotta);
  border-color: var(--terracotta);
  box-shadow: 0 0 0 0 rgba(181, 105, 58, 0.7), 0 0 0 6px var(--ink);
  animation: pulse-dot 2s infinite;
}
@keyframes pulse-dot {
  0% { box-shadow: 0 0 0 0 rgba(181, 105, 58, 0.7), 0 0 0 6px var(--ink); }
  70% { box-shadow: 0 0 0 15px rgba(181, 105, 58, 0), 0 0 0 6px var(--ink); }
  100% { box-shadow: 0 0 0 0 rgba(181, 105, 58, 0), 0 0 0 6px var(--ink); }
}
.node-content {
  width: 45%;
  padding: 2.5rem;
  background: rgba(196,185,154,.03);
  border: 1px solid rgba(196,185,154,.08);
  border-radius: 4px;
  backdrop-filter: blur(10px);
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease, border-color 0.4s ease;
}
.node-content:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.4);
  border-color: rgba(181,105,58,.3);
}
.timeline-node.future .node-content {
  background: transparent;
  border: 1px dashed rgba(196,185,154,.15);
  opacity: 0.6;
}
.timeline-node.future .node-content:hover {
  opacity: 1;
}
.node-content.expandable {
  cursor: none; /* keep custom cursor */
}
.node-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}
.node-content h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--cream);
  margin-bottom: 0;
}
.active-node .node-content h3 {
  color: var(--terracotta);
}
.expand-icon {
  width: 24px;
  height: 24px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.expand-icon span {
  position: absolute;
  background: rgba(196,185,154,.4);
  border-radius: 2px;
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), background 0.3s ease;
}
.expand-icon span:nth-child(1) {
  width: 14px;
  height: 2px;
}
.expand-icon span:nth-child(2) {
  width: 2px;
  height: 14px;
}
.node-content:hover .expand-icon span {
  background: var(--terracotta);
}
.node-content.expanded .expand-icon span:nth-child(2) {
  transform: rotate(90deg) scaleY(0);
}
.node-content.expanded .expand-icon span:nth-child(1) {
  background: var(--terracotta);
}
.node-summary {
  font-size: 0.85rem;
  max-width: none;
  margin: 0;
  line-height: 1.6;
  color: var(--stone);
  opacity: 0.85;
}
.node-details {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.5s ease, opacity 0.5s ease, margin-top 0.5s ease;
}
.node-content.expanded .node-details {
  max-height: 600px; /* large enough for content */
  opacity: 1;
  margin-top: 1rem;
}
.node-content ul {
  padding-left: 1rem;
  list-style-type: none;
}
.node-content li {
  font-size: 0.85rem;
  color: var(--stone);
  margin-bottom: 0.4rem;
  position: relative;
}
.node-content li::before {
  content: '→';
  position: absolute;
  left: -1rem;
  color: var(--terracotta);
}

/* --- Diagram Grid (Section 3) --- */
.diagram-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 2.5rem;
  margin-top: 3rem;
}
.diagram-point {
  border-top: 1px solid rgba(196,185,154,.15);
  padding-top: 1.2rem;
  cursor: pointer;
  transition: all 0.3s ease;
}
.diagram-point h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--cream);
  margin-bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.diagram-point h3::after {
  content: '+';
  color: var(--terracotta);
  font-size: 1.5rem;
  font-weight: 300;
  transition: transform 0.3s ease;
}
.diagram-point.expanded h3::after {
  content: '−';
  transform: rotate(180deg);
}
.diagram-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.4s ease, margin-top 0.4s ease;
}
.diagram-point.expanded .diagram-content {
  max-height: 300px;
  opacity: 1;
  margin-top: 1.5rem;
}
.diagram-content p {
  color: var(--gold); /* yellow text upon expansion */
  font-size: 0.95rem;
  margin: 0;
  max-width: none;
}
.diagram-point:hover h3 {
  color: var(--gold);
}

/* --- DLC Chapter Cards --- */
.chapters-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 4rem;
}
.chapter-card {
  position: relative;
  background: linear-gradient(165deg, rgba(181,105,58,0.06) 0%, rgba(26,21,16,0.95) 40%);
  border: 1px solid rgba(196,185,154,0.1);
  border-radius: 6px;
  overflow: hidden;
  padding: 0;
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), border-color 0.4s ease, box-shadow 0.4s ease;
}
.chapter-card:hover {
  transform: translateY(-8px);
  border-color: rgba(181,105,58,0.35);
  box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}
.chapter-card .chapter-badge {
  display: inline-block;
  padding: 0.4rem 1rem;
  background: rgba(181,105,58,0.15);
  color: var(--terracotta);
  font-size: 0.55rem;
  font-weight: 600;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  margin: 1.5rem 0 0 1.5rem;
  border-radius: 2px;
}
.chapter-card .chapter-body {
  padding: 1.5rem 1.8rem 2rem;
}
.chapter-card h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--cream);
  margin-bottom: 0.75rem;
  line-height: 1.2;
}
.chapter-card p {
  font-size: 0.85rem;
  max-width: none;
  margin: 0;
  color: var(--stone);
  line-height: 1.7;
}
.chapter-card .chapter-status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.2rem;
  font-size: 0.6rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--terracotta);
  opacity: 0.7;
}
.chapter-card .chapter-status::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--terracotta);
}

/* --- Typing Animation --- */
.typing-indicator {
  display: flex;
  gap: 4px;
  padding: 0.6rem 0.8rem;
  align-items: center;
}
.typing-indicator span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #999;
  animation: typing-bounce 1.4s infinite ease-in-out;
}
.typing-indicator span:nth-child(2) { animation-delay: 0.2s; }
.typing-indicator span:nth-child(3) { animation-delay: 0.4s; }
@keyframes typing-bounce {
  0%, 80%, 100% { transform: translateY(0); opacity: 0.4; }
  40% { transform: translateY(-5px); opacity: 1; }
}
.chat-msg-animated {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.chat-msg-animated.visible {
  opacity: 1;
  transform: translateY(0);
}

/* --- Condensed Question Section --- */
.question-visual {
  padding: 5rem 2rem;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.question-visual .question-text h2 {
  margin-bottom: 1.5rem;
}
.question-visual .question-text p {
  font-size: 1rem;
  line-height: 1.8;
}
.question-visual .question-graphic {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  background: radial-gradient(circle, rgba(181,105,58,0.08) 0%, transparent 70%);
  border: 1px solid rgba(196,185,154,0.06);
  border-radius: 50%;
  position: relative;
}
.question-visual .question-graphic .q-symbol {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(6rem, 12vw, 10rem);
  font-weight: 300;
  font-style: italic;
  color: rgba(181,105,58,0.15);
  line-height: 1;
  user-select: none;
}

/* --- Friend on the inside label --- */
.friend-label {
  color: #c4a035;
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}

@media(max-width:768px){
  .hero-split-layout { grid-template-columns: 1fr; gap: 4rem; }
  .hero-right-col { padding-top: 0; }
  .hero { padding: 8rem 2rem 4rem; align-items: center; text-align: center; }
  .hero-left-col { align-items: center; }
  .hero-right-col { align-items: center; }
  .hero-main-title { margin-bottom: 2rem; }
  .enclosure{grid-template-columns:1fr;gap:3rem}
  .comms-inner{grid-template-columns:1fr;gap:3rem}
  .specs-grid{grid-template-columns:1fr;gap:2rem}
  .world-grid{grid-template-columns:1fr}
  .features-grid, .threads-grid, .cta-engagement-grid { grid-template-columns: 1fr; gap: 2rem; }
  .auggie-float{float:none;width:100%;margin:0 0 2rem 0}
  .phone-track{width:280px;height:550px}
  .phone-frame{width:280px;height:550px}
  .navbar .nav-links { display: none; }
  .nav-toggle { display: flex; }
  
  /* Roadmap Mobile */
  .timeline-line, .timeline-progress { left: 20px; transform: none; }
  .timeline-node { flex-direction: column !important; align-items: flex-start; }
  .node-time { width: 100%; text-align: left !important; align-items: flex-start !important; padding: 0; margin-bottom: 0.5rem; padding-left: 50px; }
  .node-dot { left: 20px; transform: translateX(-50%); top: 1.5rem; }
  .node-content { width: 100%; padding: 0; padding-left: 50px; background: transparent; border: none; padding-bottom: 2rem; }
  .timeline-node.future .node-content { border: none; }
  .node-content:hover { transform: none; box-shadow: none; border-color: transparent; }
  .chapters-grid { grid-template-columns: 1fr; }
  .question-visual { grid-template-columns: 1fr; gap: 2rem; }
  .question-visual .question-graphic { max-width: 200px; margin: 0 auto; }
  .features-grid.visual-grid { grid-template-columns: 1fr; }
}

/* --- Tech Stack Grid --- */
.tech-stack-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin: 3rem 0;
}

.stack-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(196, 185, 154, 0.1);
  padding: 2rem;
  text-align: center;
  transition: all 0.3s ease;
}

.stack-card:hover {
  background: rgba(181, 105, 58, 0.05);
  border-color: var(--terracotta);
  transform: translateY(-5px);
}

.stack-icon {
  width: 40px;
  height: 40px;
  background: var(--terracotta);
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 700;
  border-radius: 50%;
  margin: 0 auto 1.5rem;
}

.stack-card h4 {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--cream);
  margin-bottom: 0.5rem;
}

.stack-card p {
  font-size: 0.8rem;
  color: var(--stone);
  margin: 0;
}

.moirai-origin-insert {
  margin-top: 3rem;
  padding: 1.5rem;
  background: rgba(196, 185, 154, 0.05);
  border-left: 2px solid var(--terracotta);
  max-width: 400px;
}

.moirai-origin-insert h4 {
  font-family: 'Inter', sans-serif;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--terracotta);
  margin-bottom: 1rem;
}

.origin-img-frame {
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(196, 185, 154, 0.1);
  margin-bottom: 1rem;
}

.origin-img-frame img {
  width: 100%;
  display: block;
  filter: grayscale(1) contrast(1.1);
  transition: filter 0.5s ease;
}

.moirai-origin-insert:hover img {
  filter: grayscale(0.5) contrast(1.1);
}
