@font-face {
  font-family: 'TangerineDreams';
  src: url('TangerineDreams.otf') format('opentype');
}

```
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --parchment: #f0ead8;
  --parchment-dark: #e8dfc8;
  --indigo: #1a2456;
  --indigo-mid: #2a3666;
  --indigo-light: #4a5890;
  --indigo-pale: #8898c8;
  --cream: #faf6ee;
}

html { scroll-behavior: smooth; }
body { font-family: 'Jost', sans-serif; background: var(--cream); color: var(--indigo); overflow-x: hidden; }

/* ── SHIBORI SVG BACKGROUND PATTERN ── */
.shibori-bg {
  background-image: url("images/pattern-shibori-bg.svg");
}

.indigo-section {
  background: var(--indigo);
  color: var(--parchment);
}

/* ── NAV ── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: var(--cream);
  border-bottom: 1px solid rgba(26,36,86,0.12);
  padding: 0 3rem;
  display: flex; flex-direction: column; align-items: center;
}
.nav-top { padding: 0.9rem 0 0.4rem; display: flex; align-items: center; gap: 1rem; }
.nav-wordmark { font-family: 'TangerineDreams', cursive; font-size: 1.8rem; color: var(--indigo); line-height: 1; }
.nav-links { display: flex; gap: 2.5rem; padding-bottom: 0.7rem; list-style: none; }
.nav-links a { font-size: 0.62rem; font-weight: 400; letter-spacing: 0.2em; text-transform: uppercase; color: var(--indigo-light); text-decoration: none; transition: color 0.2s; }
.nav-links a:hover { color: var(--indigo); }

/* ── HERO ── */
.hero {
  margin-top: 90px;
  min-height: 96vh;
  background: var(--parchment);
  display: flex; align-items: center; justify-content: center;
  text-align: center;
  position: relative; overflow: hidden;
}

/* Shibori spiral pattern background */
.hero-pattern {
  position: absolute; inset: 0;
  opacity: 0.06;
  background-image: url("images/pattern-hero.svg");
  background-size: 300px 300px;
}

/* decorative corner starbursts */
.hero-star { position: absolute; }
.hero-star svg { fill: none; stroke: var(--indigo); }
.star-tl { top: 2rem; left: 2rem; }
.star-tr { top: 2rem; right: 2rem; }
.star-bl { bottom: 2rem; left: 2rem; }
.star-br { bottom: 2rem; right: 2rem; }

.hero-content { position: relative; z-index: 2; padding: 4rem 2rem; max-width: 700px; }
.hero-eyebrow { font-size: 0.6rem; letter-spacing: 0.28em; text-transform: uppercase; color: var(--indigo-pale); margin-bottom: 1.5rem; display: block; animation: fadeUp 0.8s ease forwards; opacity: 0; }

/* Big spiral SVG behind title */
.hero-spiral {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 420px; height: 420px;
  opacity: 0.07;
}

.hero-title { position: relative; z-index: 2; }
.hero-script { font-family: 'TangerineDreams', cursive; font-size: clamp(4rem, 9vw, 8rem); color: var(--indigo); line-height: 0.95; display: block; animation: fadeUp 0.8s ease 0.1s forwards; opacity: 0; }
.hero-sub-title { font-family: 'TangerineDreams', cursive; font-size: clamp(4rem, 9vw, 8rem); color: var(--indigo); line-height: 0.95; display: block; animation: fadeUp 0.8s ease 0.2s forwards; opacity: 0; }
.hero-tagline { font-family: 'Jost', sans-serif; font-size: 0.72rem; font-weight: 300; letter-spacing: 0.22em; text-transform: uppercase; color: var(--indigo-light); margin: 1.8rem 0 2.5rem; display: block; animation: fadeUp 0.8s ease 0.3s forwards; opacity: 0; }

.btn { display: inline-block; padding: 0.8rem 2rem; border: 1.5px solid var(--indigo); border-radius: 0; font-family: 'Jost', sans-serif; font-size: 0.65rem; font-weight: 400; letter-spacing: 0.18em; text-transform: uppercase; color: var(--indigo); text-decoration: none; cursor: pointer; background: transparent; transition: all 0.3s; animation: fadeUp 0.8s ease 0.4s forwards; opacity: 0; }
.btn:hover { background: var(--indigo); color: var(--parchment); }
.btn-static { animation: none; opacity: 1; }
.btn-light { border-color: var(--parchment); color: var(--parchment); }
.btn-light:hover { background: var(--parchment); color: var(--indigo); }

/* ── SECTION COMMONS ── */
.section-eyebrow { font-size: 0.58rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--indigo-pale); margin-bottom: 1rem; display: block; }
.section-title { font-family: 'TangerineDreams', cursive; font-size: clamp(2.5rem, 4.5vw, 4rem); color: var(--indigo); line-height: 1.1; margin-bottom: 1.2rem; }
.section-body { font-size: 0.92rem; font-weight: 300; line-height: 1.95; color: var(--indigo-light); margin-bottom: 2rem; }

/* ── DIVIDER ── */
.divider { display: flex; align-items: center; gap: 1.5rem; justify-content: center; padding: 2.5rem 0; }
.div-line { height: 1px; width: 80px; background: rgba(26,36,86,0.15); }

/* ── INTRO SPLIT ── */
.split { display: grid; grid-template-columns: 1fr 1fr; min-height: 80vh; }
.split-img { background: var(--indigo); display: flex; align-items: center; justify-content: center; min-height: 480px; position: relative; overflow: hidden; }
.split-img-pattern {
  position: absolute; inset: 0; opacity: 0.15;
  background-image: url("images/pattern-split.svg");
  background-size: 80px 80px;
}
.split-img-placeholder { font-family: 'Jost', sans-serif; font-size: 0.75rem; letter-spacing: 0.15em; color: rgba(240,234,216,0.3); position: relative; z-index: 1; text-transform: uppercase; }
.split-text { background: var(--cream); padding: 6rem 5rem; display: flex; flex-direction: column; justify-content: center; }
.split-text-parchment { background: var(--parchment); }

/* ── PILLARS ── */
.pillars-section { background: var(--indigo); padding: 7rem 4rem; color: var(--parchment); }
.pillars-section .section-eyebrow { color: var(--indigo-pale); }
.pillars-section .section-title { color: var(--parchment); }
.pillars-header { text-align: center; margin-bottom: 5rem; }
.pillars-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 3rem; max-width: 1100px; margin: 0 auto; }
.pillar { text-align: center; }

/* SVG icons for pillars */
.pillar-icon { width: 64px; height: 64px; margin: 0 auto 1.5rem; display: block; }

.pillar h4 { font-family: 'Jost', sans-serif; font-size: 0.68rem; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--parchment); margin-bottom: 0.7rem; }
.pillar p { font-size: 0.82rem; font-weight: 300; color: rgba(240,234,216,0.65); line-height: 1.8; }

/* ── QUOTE SECTION ── */
.quote-section {
  background: var(--parchment);
  padding: 8rem 4rem;
  text-align: center;
  position: relative; overflow: hidden;
}
.quote-spiral {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 500px; height: 500px;
  opacity: 0.05;
}
.quote-inner { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; }
.quote-text { font-family: 'TangerineDreams', cursive; font-size: clamp(2rem, 4vw, 3.5rem); color: var(--indigo); line-height: 1.25; margin-bottom: 1.5rem; }
.quote-sub { font-size: 0.88rem; font-weight: 300; line-height: 1.9; color: var(--indigo-light); max-width: 480px; margin: 0 auto 2.5rem; }

/* ── FOUNDER ── */
.founder-text { background: var(--parchment); padding: 6rem 5rem; display: flex; flex-direction: column; justify-content: center; }
.founder-img { background: var(--indigo-mid); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.founder-img-pattern {
  position: absolute; inset: 0; opacity: 0.12;
  background-image: url("images/pattern-founder.svg");
  background-size: 60px 60px;
}

/* ── EVENTS ── */
.events-section { background: var(--cream); padding: 7rem 4rem; }
.events-inner { max-width: 1100px; margin: 0 auto; }
.events-header { text-align: center; margin-bottom: 3rem; }
.events-coming { text-align: center; padding: 1rem 0 3rem; }
.events-coming-title { font-family: 'TangerineDreams', cursive; font-size: 3.5rem; color: var(--indigo); opacity: 0.5; line-height: 1; margin-bottom: 0.8rem; }
.events-coming-sub { font-size: 0.82rem; font-weight: 300; color: var(--indigo-light); letter-spacing: 0.04em; max-width: 480px; margin: 0 auto 2.5rem; line-height: 1.9; }
.events-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(26,36,86,0.12); }
.event-card { padding: 2.5rem 2rem; border-right: 1px solid rgba(26,36,86,0.1); transition: background 0.3s; }
.event-card:last-child { border-right: none; }
.event-card:hover { background: var(--parchment); }
.event-tag { display: inline-block; font-size: 0.58rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--indigo-light); border: 1px solid rgba(26,36,86,0.25); padding: 0.25rem 0.7rem; border-radius: 0; margin-bottom: 1.2rem; }
.event-card h3 { font-family: 'TangerineDreams', cursive; font-size: 1.9rem; color: var(--indigo); margin-bottom: 0.8rem; line-height: 1.2; }
.event-card p { font-size: 0.83rem; font-weight: 300; color: var(--indigo-light); line-height: 1.85; margin-bottom: 1.8rem; }

/* ── PRIVATE ── */
.private-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 80vh; }
.private-left { background: var(--cream); padding: 6rem 5rem; display: flex; flex-direction: column; justify-content: center; }
.private-right { background: var(--parchment); padding: 5rem 4rem; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
.private-right-pattern {
  position: absolute; inset: 0; opacity: 0.06;
  background-image: url("images/pattern-private.svg");
  background-size: 100px 100px;
}
.private-right-inner { position: relative; z-index: 1; }
.private-list { list-style: none; margin: 0 0 2rem; }
.private-list li { font-size: 0.84rem; font-weight: 300; color: var(--indigo-light); padding: 0.55rem 0; border-bottom: 1px solid rgba(26,36,86,0.08); display: flex; align-items: center; gap: 0.6rem; }
.form-group { margin-bottom: 1.2rem; }
.form-group label { display: block; font-size: 0.58rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--indigo-pale); margin-bottom: 0.45rem; }
.form-group input, .form-group select, .form-group textarea { width: 100%; padding: 0.75rem 0; border: none; border-bottom: 1px solid rgba(26,36,86,0.2); background: transparent; font-family: 'Jost', sans-serif; font-size: 0.88rem; font-weight: 300; color: var(--indigo); outline: none; border-radius: 0; -webkit-appearance: none; transition: border-color 0.3s; }
.form-group input::placeholder, .form-group textarea::placeholder { color: rgba(26,36,86,0.2); }
.form-group select { color: rgba(26,36,86,0.5); cursor: pointer; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-bottom-color: var(--indigo); }
.form-group textarea { resize: none; min-height: 80px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.btn-submit { margin-top: 1.5rem; width: 100%; padding: 0.82rem; border: 1.5px solid var(--indigo); background: transparent; font-family: 'Jost', sans-serif; font-size: 0.65rem; font-weight: 400; letter-spacing: 0.18em; text-transform: uppercase; color: var(--indigo); cursor: pointer; transition: all 0.3s; }
.btn-submit:hover { background: var(--indigo); color: var(--parchment); }

/* ── NEWSLETTER ── */
.newsletter {
  background: var(--indigo);
  padding: 9rem 4rem;
  text-align: center;
  position: relative; overflow: hidden;
}
.nl-pattern {
  position: absolute; inset: 0; opacity: 0.07;
  background-image: url("images/pattern-newsletter.svg");
  background-size: 150px 150px;
}
.nl-inner { position: relative; z-index: 1; max-width: 520px; margin: 0 auto; }
.nl-title { font-family: 'TangerineDreams', cursive; font-size: clamp(2.5rem, 5vw, 4.5rem); color: var(--parchment); line-height: 1.1; margin-bottom: 1rem; }
.nl-body { font-size: 0.88rem; font-weight: 300; color: rgba(240,234,216,0.6); line-height: 1.9; margin-bottom: 2.5rem; }
.nl-form { display: flex; border-bottom: 1px solid rgba(240,234,216,0.3); max-width: 380px; margin: 0 auto; }
.nl-form input { flex: 1; padding: 0.75rem 0; border: none; background: transparent; font-family: 'Jost', sans-serif; font-size: 0.88rem; font-weight: 300; color: var(--parchment); outline: none; }
.nl-form input::placeholder { color: rgba(240,234,216,0.25); }
.nl-form button { background: transparent; border: none; font-family: 'Jost', sans-serif; font-size: 0.62rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--parchment); cursor: pointer; padding-left: 1rem; opacity: 0.7; transition: opacity 0.2s; }
.nl-form button:hover { opacity: 1; }
.nl-note { font-size: 0.65rem; color: rgba(240,234,216,0.3); margin-top: 1.2rem; letter-spacing: 0.06em; }

/* ── IG ── */
.ig-strip { background: var(--parchment); padding: 5rem 4rem; }
.ig-head { max-width: 1100px; margin: 0 auto 2rem; display: flex; justify-content: space-between; align-items: flex-end; }
.ig-handle { font-family: 'TangerineDreams', cursive; font-size: 1.8rem; color: var(--indigo); }
.ig-link { font-size: 0.6rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--indigo-light); text-decoration: none; border-bottom: 1px solid rgba(26,36,86,0.2); padding-bottom: 0.15rem; }
.ig-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0.8rem; max-width: 1100px; margin: 0 auto; }
.ig-tile { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; letter-spacing: 0.1em; color: rgba(26,36,86,0.25); text-transform: uppercase; position: relative; overflow: hidden; }
.ig-tile:nth-child(odd) { background: var(--indigo); }
.ig-tile:nth-child(even) { background: var(--parchment-dark); border: 1px solid rgba(26,36,86,0.1); }
.ig-tile-pattern {
  position: absolute; inset: 0; opacity: 0.12;
  background-image: url("images/pattern-ig-tile.svg");
  background-size: 60px 60px;
}
.ig-tile span { position: relative; z-index: 1; color: rgba(240,234,216,0.3); font-size: 0.65rem; }
.ig-tile:nth-child(even) span { color: rgba(26,36,86,0.2); }

/* ── FOOTER ── */
footer { background: var(--indigo); padding: 4rem; text-align: center; border-top: 1px solid rgba(240,234,216,0.08); }
.footer-wordmark { font-family: 'TangerineDreams', cursive; font-size: 2.2rem; color: var(--parchment); margin-bottom: 0.4rem; line-height: 1; }
.footer-tagline { font-family: 'Jost', sans-serif; font-size: 0.6rem; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(240,234,216,0.3); margin-bottom: 2rem; }
.footer-links { display: flex; justify-content: center; gap: 2.5rem; margin-bottom: 2rem; list-style: none; }
.footer-links a { font-size: 0.6rem; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(240,234,216,0.3); text-decoration: none; transition: color 0.2s; }
.footer-links a:hover { color: rgba(240,234,216,0.7); }
.footer-ig a { font-family: 'Jost', sans-serif; font-size: 0.7rem; letter-spacing: 0.1em; color: rgba(240,234,216,0.35); text-decoration: none; }
.footer-copy { font-size: 0.58rem; letter-spacing: 0.08em; color: rgba(240,234,216,0.12); margin-top: 1.5rem; }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
.reveal { opacity:0; transform:translateY(20px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ── RESPONSIVE ── */
@media (max-width: 860px) {
  nav { padding: 0 1.5rem; }
  .nav-links { gap: 1.2rem; flex-wrap: wrap; justify-content: center; }
  .hero { margin-top: 110px; }
  .split, .private-section { grid-template-columns: 1fr; }
  .split-img, .founder-img { min-height: 300px; }
  .split-text, .founder-text, .private-left { padding: 4rem 2rem; }
  .private-right { padding: 4rem 2rem; }
  .pillars-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .events-grid { grid-template-columns: 1fr; }
  .ig-grid { grid-template-columns: 1fr 1fr; }
  .events-section, .pillars-section, .quote-section, .newsletter, .ig-strip { padding: 5rem 1.5rem; }
  footer { padding: 3rem 1.5rem; }
  .form-row { grid-template-columns: 1fr; }
}
```