@import url('https://fonts.googleapis.com/css2?family=Allura&family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Montserrat:wght@400;500;600&display=swap');

:root {
  --midnight: #070d26;
  --deep-blue: #0d1740;
  --violet: #33235d;
  --lavender: #8e7bb4;
  --mist: #e7def0;
  --dawn: #f3d8c8;
  --ivory: #fff8e9;
  --gold: #e2b75f;
  --bright-gold: #ffd985;
  --ink: #151a38;
  --muted: #726d86;
  --line-dark: rgba(255, 217, 133, .24);
  --line-light: rgba(40, 34, 72, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--midnight); color: var(--ivory); font-family: Montserrat, Arial, sans-serif; }
a { color: inherit; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; z-index: 30; padding: .8rem; background: white; color: var(--ink); }

.site-header {
  height: 94px; padding: 0 clamp(1.25rem, 6vw, 6rem); display: flex; align-items: center;
  justify-content: space-between; border-bottom: 1px solid var(--line-dark); position: absolute;
  inset: 0 0 auto; z-index: 10; background: linear-gradient(to bottom, rgba(6, 10, 34, .86), transparent);
}
.brand { text-decoration: none; line-height: 1; }
.brand strong { display: block; font: 400 2rem Allura, cursive; color: var(--bright-gold); }
.brand span { display: block; margin-top: .25rem; font-size: .58rem; text-transform: uppercase; letter-spacing: .34em; color: var(--ivory); }
.site-header nav { display: flex; align-items: center; gap: 2rem; }
.site-header nav a, footer nav a, footer nav span { text-decoration: none; font-size: .7rem; letter-spacing: .08em; }
.nav-cta { border: 1px solid var(--gold); padding: .72rem 1rem; color: var(--bright-gold); }
.menu-button { display: none; background: transparent; color: var(--ivory); border: 1px solid var(--line-dark); padding: .65rem .8rem; }

.hero { min-height: 100vh; display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; position: relative; background:
  radial-gradient(circle at 10% 22%, rgba(103, 73, 165, .4), transparent 29rem),
  radial-gradient(circle at 68% 80%, rgba(213, 112, 113, .24), transparent 34rem),
  linear-gradient(135deg, #070b20 0%, #111944 47%, #2b1749 100%);
}
.hero::before, .closing::before { content: ""; position: absolute; inset: 0; opacity: .5; pointer-events: none; background-image:
  radial-gradient(circle at 8% 18%, #fff 0 1px, transparent 1.6px), radial-gradient(circle at 32% 8%, #e7bc69 0 1px, transparent 1.8px),
  radial-gradient(circle at 58% 23%, #fff 0 1px, transparent 1.6px), radial-gradient(circle at 81% 12%, #d29cff 0 1px, transparent 2px),
  radial-gradient(circle at 92% 43%, #fff 0 1px, transparent 1.5px), radial-gradient(circle at 70% 66%, #e7bc69 0 1px, transparent 1.8px),
  radial-gradient(circle at 18% 71%, #fff 0 1px, transparent 1.6px), radial-gradient(circle at 44% 88%, #bc9cff 0 1px, transparent 1.8px);
}
.hero-copy { padding: clamp(9rem, 15vw, 13rem) clamp(1.5rem, 4vw, 5rem) clamp(5rem, 9vw, 8rem) clamp(1.5rem, 7vw, 8rem); align-self: center; z-index: 2; }
.eyebrow, .kicker { margin: 0 0 1rem; text-transform: uppercase; letter-spacing: .2em; font-size: .64rem; font-weight: 600; color: var(--gold); }
h1, h2, h3 { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; }
.hero h1 { font-size: clamp(3.7rem, 6.6vw, 7.7rem); line-height: .88; letter-spacing: -.025em; margin: 0; max-width: 12ch; text-shadow: 0 4px 32px rgba(0,0,0,.4); }
.hero h1::first-line { color: var(--ivory); }
.lede { font: 400 clamp(1.08rem, 1.5vw, 1.35rem)/1.75 "Cormorant Garamond", Georgia, serif; color: #d7cee8; max-width: 38rem; margin: 2rem 0; }
.hero-actions { display: flex; gap: 1.6rem; align-items: center; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; text-decoration: none; padding: 1rem 1.25rem; font-size: .72rem; font-weight: 600; letter-spacing: .05em; }
.button.primary { background: linear-gradient(135deg, #f0cb7d, #c38c35); color: #16142c; box-shadow: 0 12px 35px rgba(202, 146, 56, .2); }
.button.light { background: var(--ivory); color: var(--ink); }
.text-link, .soft-link { font: 400 1rem "Cormorant Garamond", Georgia, serif; text-underline-offset: .35rem; }
.free-note { font-size: .68rem; color: #bdb5cf; margin-top: 1.5rem; }
.free-note span { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 9px var(--gold); margin-right: .4rem; }

.hero-art { position: relative; min-height: 650px; z-index: 1; background:
  radial-gradient(ellipse at 50% 88%, rgba(255, 198, 106, .6), transparent 24%),
  radial-gradient(circle at 50% 52%, rgba(237, 186, 101, .18), transparent 32%); }
.hero-art::after { content: ""; position: absolute; left: -15%; right: -15%; bottom: -6%; height: 38%; filter: blur(18px); opacity: .75; background:
  radial-gradient(ellipse at 30% 90%, #d67d9f 0 5%, transparent 33%),
  radial-gradient(ellipse at 70% 90%, #7659ac 0 8%, transparent 40%); }
.moon { position: absolute; width: min(34vw, 530px); aspect-ratio: 1; border-radius: 50%; top: 49%; left: 48%; transform: translate(-50%,-50%); background:
  radial-gradient(circle at 32% 28%, rgba(255,255,255,.72), transparent 7%),
  radial-gradient(circle at 60% 66%, rgba(112,73,100,.22), transparent 11%),
  radial-gradient(circle at 50% 45%, #ffe9ae 0%, #e9bb6e 53%, #a75e4c 100%);
  border: 1px solid #ffe6a5; box-shadow: 0 0 40px rgba(255, 220, 139, .85), 0 0 140px rgba(196, 120, 100, .42), inset -38px -20px 75px rgba(83, 38, 74, .42); }
.moon::before, .moon::after, .moon i { content: ""; position: absolute; border-radius: 50%; background: rgba(90,55,78,.14); }
.moon::before { width: 28%; height: 16%; left: 18%; top: 27%; }
.moon::after { width: 17%; height: 13%; right: 20%; bottom: 28%; }
.moon i { width: 10%; height: 9%; left: 36%; bottom: 18%; }
.orbit { position: absolute; border: 1px solid rgba(234, 188, 103, .34); border-radius: 50%; left: 50%; top: 50%; transform: translate(-50%,-50%) rotate(-18deg); box-shadow: 0 0 18px rgba(218, 171, 91, .08); }
.orbit.one { width: 76%; height: 48%; }.orbit.two { width: 97%; height: 67%; transform: translate(-50%,-50%) rotate(19deg); }
.star { position: absolute; color: var(--bright-gold); text-shadow: 0 0 15px currentColor; }.s1 { left: 16%; top: 18%; font-size: 1.2rem; }.s2 { right: 14%; top: 30%; font-size: 3rem; }.s3 { left: 24%; bottom: 20%; }

.invitation { text-align: center; padding: clamp(6rem, 10vw, 10rem) 1.5rem; color: var(--ink); position: relative; overflow: hidden; background:
  radial-gradient(circle at 50% 115%, rgba(255,188,102,.9), transparent 35%),
  linear-gradient(180deg, #d5cde5, #f2d9d1 66%, #fff1dc); }
.invitation::before, .invitation::after { content:""; position:absolute; border:1px solid rgba(114,87,153,.25); border-radius:50%; width:30rem; height:13rem; top:50%; transform:translateY(-50%) rotate(22deg); }
.invitation::before { left:-18rem; }.invitation::after { right:-18rem; transform:translateY(-50%) rotate(-22deg); }
.invitation p { font: 400 1.6rem Allura, cursive; color: #75529b; }
.invitation h2 { font-size: clamp(2.3rem, 4.3vw, 4.6rem); line-height: 1.14; max-width: 21ch; margin: 1rem auto; position:relative; z-index:1; }

.experiences { padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 7vw, 8rem); background:
  radial-gradient(circle at 100% 0, rgba(91,58,148,.48), transparent 35rem), linear-gradient(135deg, #070d26, #11173a); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 3rem; margin-bottom: 3rem; }
.section-heading h2 { font-size: clamp(2.9rem, 5vw, 5.2rem); margin: 0; }.section-heading > p { max-width: 31rem; line-height: 1.7; color: #bfb6d2; }
.experience { border: 1px solid var(--line-dark); position: relative; }
.experience.featured { display: grid; grid-template-columns: 70px 1fr minmax(240px,35%); min-height: 530px; background: linear-gradient(145deg, rgba(37,38,91,.8), rgba(32,20,62,.82)); box-shadow: 0 28px 70px rgba(0,0,0,.25); }
.experience-number { font: 400 1rem Georgia, serif; color: var(--gold); padding: 1.7rem; border-right: 1px solid var(--line-dark); }
.experience-copy { padding: clamp(2rem, 5vw, 5rem); }.status { display:inline-block; border:1px solid var(--line-dark); padding:.45rem .7rem; border-radius:2rem; font-size:.61rem; text-transform:uppercase; letter-spacing:.12em; color:#beb4d4; margin-bottom:2rem; }.status.live { color:var(--bright-gold); }
.experience h3 { font-size: clamp(2.7rem,5vw,5.3rem); margin:.4rem 0 1rem; }.experience p,.experience li { line-height:1.75; color:#c8bed9; }.experience ul { padding-left:1.2rem; margin-bottom:2rem; }
.experience-symbol { display:grid; place-items:center; overflow:hidden; position:relative; background: radial-gradient(circle at 50% 48%, #d8a15d 0 3%, #74436c 24%, #2d225c 54%, #101534 76%); }
.experience-symbol::before { content:""; width:68%; aspect-ratio:1; border:1px solid var(--gold); border-radius:50%; box-shadow:0 0 45px rgba(238,184,86,.4), inset 0 0 45px rgba(220,153,62,.2); }.cosmic-symbol span { position:absolute; font-size:6rem; color:var(--bright-gold); filter:drop-shadow(0 0 30px #e1b179); }
.experience-grid { display:grid; grid-template-columns:1fr 1fr; }.experience.compact { padding:3rem 3rem 3.5rem; background:rgba(13,20,53,.8); }.experience.compact + .experience.compact { border-left:0; }.experience.compact .experience-number { position:absolute; right:0; top:0; border:0; }.experience.compact h3 { font-size:3rem; }.soft-link { display:inline-block; margin-top:1rem; }.unavailable { color:var(--gold); text-decoration:none; font-size:.9rem; }

.about { display:grid; grid-template-columns:.8fr 1.2fr; color:var(--ink); padding:clamp(5rem,9vw,9rem) clamp(1.25rem,10vw,12rem); gap:clamp(3rem,8vw,9rem); align-items:center; background:
  radial-gradient(circle at 20% 70%, rgba(175,143,199,.35), transparent 24rem), linear-gradient(145deg,#f1e3e6,#ddd7ec 55%,#f7e8d6); }
.portrait-placeholder { aspect-ratio:4/5; border:1px solid rgba(139,98,72,.3); display:grid; place-items:center; position:relative; overflow:hidden; background:
  radial-gradient(circle at 50% 43%, rgba(255,221,142,.95) 0 4%, rgba(213,151,100,.5) 5% 14%, transparent 34%),
  radial-gradient(circle at 50% 52%, #725494, #202149 68%); box-shadow:0 25px 60px rgba(43,29,70,.22); }
.portrait-placeholder::before { content:""; position:absolute; width:72%; aspect-ratio:1; border:1px solid rgba(255,220,148,.5); border-radius:50%; box-shadow:0 0 40px rgba(255,200,108,.26); }
.portrait-placeholder span { font:400 clamp(5rem,12vw,10rem) Allura,cursive; color:rgba(255,237,197,.9); text-shadow:0 0 28px rgba(255,208,111,.45); z-index:1; }.portrait-placeholder p { position:absolute; bottom:1rem; font-size:.6rem; color:rgba(255,255,255,.55); z-index:1; }
.about h2 { font-size:clamp(2.8rem,5vw,5.2rem); line-height:1.05; margin:0 0 2rem; }.about-copy > p:not(.eyebrow) { font:400 1.17rem/1.8 "Cormorant Garamond",Georgia,serif; color:#534c66; }.about .text-link { display:inline-block; margin-top:1rem; color:#624a83; }

.approach { padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,8rem); color:var(--ink); background:#fff9ef; }.principles { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light); }.principles article { padding:2.5rem; }.principles article + article { border-left:1px solid var(--line-light); }.principles span { color:#966d3b; font-family:Georgia,serif; }.principles h3 { font-size:2.2rem; }.principles p { color:var(--muted); line-height:1.7; }
.closing { text-align:center; color:var(--ivory); padding:clamp(7rem,12vw,12rem) 1.5rem; position:relative; overflow:hidden; background:
  radial-gradient(ellipse at 50% 110%, rgba(255,188,80,.95), transparent 34%), radial-gradient(circle at 50% 66%, rgba(180,87,124,.4), transparent 30rem), linear-gradient(180deg,#15103e,#34184b 72%,#7d3d55); }
.closing > * { position:relative; z-index:1; }.closing h2 { font-size:clamp(3rem,6vw,6.5rem); line-height:.98; max-width:14ch; margin:1rem auto; }.closing > p:not(.eyebrow) { color:#d8cee6; margin:2rem auto; }.closing .button { margin-top:1rem; }
footer { padding:4rem clamp(1.25rem,7vw,8rem); display:grid; grid-template-columns:.7fr 1.2fr 1fr; gap:4rem; border-top:1px solid var(--line-dark); background:#060a1d; }.footer-copy p { font:400 1.22rem "Cormorant Garamond",Georgia,serif; }.footer-copy small { display:block; color:#9690a8; line-height:1.6; }.footer-copy + nav { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }footer nav span { color:#8e879f; }

@media(max-width:850px) {
  .menu-button { display:block; }.site-header nav { display:none; position:absolute; top:94px; left:0; right:0; padding:1.5rem; flex-direction:column; align-items:stretch; border-bottom:1px solid var(--line-dark); background:#090e29; }.site-header nav.open { display:flex; }
  .hero { grid-template-columns:1fr; }.hero-art { min-height:540px; grid-row:1; }.hero-copy { grid-row:2; padding-top:5rem; }.moon { width:min(70vw,440px); }.section-heading { display:block; }.experience.featured { grid-template-columns:54px 1fr; }.experience-symbol { display:none; }.experience-grid,.about { grid-template-columns:1fr; }.experience.compact + .experience.compact { border-left:1px solid var(--line-dark); border-top:0; }.portrait-placeholder { max-width:430px; width:100%; margin:auto; }.principles { grid-template-columns:1fr; }.principles article + article { border-left:0; border-top:1px solid var(--line-light); }footer { grid-template-columns:1fr; gap:2rem; }
}
@media(max-width:520px) {
  .site-header { height:78px; }.site-header nav { top:78px; }.hero-art { min-height:400px; }.hero-copy { padding-block:4rem; }.hero h1 { font-size:3.35rem; }.experience.featured { grid-template-columns:1fr; }.experience-number { border-right:0; border-bottom:1px solid var(--line-dark); padding:1rem; }.experience-copy,.experience.compact { padding:2rem 1.4rem; }.section-heading h2 { font-size:2.9rem; }.about { padding-block:5rem; }footer nav { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Production artwork */
.hero-art { overflow: hidden; background: #080e27; }
.hero-art::after, .hero-art .moon, .hero-art .orbit, .hero-art .star { display: none; }
.hero-art img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 62% center; }
.experience-symbol { display: block; background: #090d24; }
.experience-symbol::before { display: none; }
.experience-symbol img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.portrait-art { aspect-ratio: 4 / 5; margin: 0; overflow: hidden; border: 1px solid rgba(139,98,72,.3); box-shadow: 0 25px 60px rgba(43,29,70,.22); background: #241d43; }
.portrait-art img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
@media(max-width:850px) { .hero-art img { object-position: 64% center; } .experience-symbol { grid-column: 1 / -1; height: 440px; } .portrait-art { max-width: 430px; width: 100%; margin: auto; } }
@media(max-width:520px) { .experience-symbol { height: 360px; } }

/* Julia Faye emblem */
.brand { display: inline-flex; align-items: center; gap: .7rem; }
.brand > img { width: 56px; height: 56px; object-fit: contain; flex: 0 0 auto; filter: drop-shadow(0 0 8px rgba(236,190,99,.18)); }
.brand .brand-copy { display: block; margin: 0; color: inherit; letter-spacing: normal; text-transform: none; }
.brand .brand-copy strong { display: block; font: 400 2rem Allura, cursive; color: var(--bright-gold); white-space: nowrap; }
.brand .brand-copy small { display: block; margin-top: .2rem; font-size: .55rem; text-transform: uppercase; letter-spacing: .32em; color: var(--ivory); white-space: nowrap; }
footer .brand { align-self: start; }
footer .brand > img { width: 78px; height: 78px; }
@media(max-width:520px) { .site-header .brand > img { width: 46px; height: 46px; } .site-header .brand .brand-copy strong { font-size: 1.65rem; } }
