@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');

:root {
  --lavender: #c9ccec;
  --lavender-deep: #7d86b8;
  --lavender-pale: #e9e9f6;
  --cream: #fbf5eb;
  --cream-deep: #f2e5d2;
  --ink: #25263a;
  --muted: #5f6078;
  --gold: #bd8e43;
  --line: rgba(189, 142, 67, .55);
  --shadow: 0 12px 35px rgba(45, 43, 66, .09);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; color: var(--ink); background: var(--cream);
  font-family: 'Cormorant Garamond', Georgia, serif; font-size: 19px; line-height: 1.55;
}
a { color: inherit; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.site-header {
  background: linear-gradient(120deg, rgba(201,204,236,.98), rgba(233,233,246,.98));
  border-bottom: 1px solid var(--line); position: relative; z-index: 2;
}
.header-inner {
  max-width: 1180px; margin: auto; padding: 17px 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.brand { text-decoration: none; font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1; white-space: nowrap; }
.brand::before, .brand::after { content: "✦"; color: var(--gold); font-size: .6em; vertical-align: .35em; padding: 0 .45em; }
.main-nav ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px 22px; padding: 0; margin: 0; }
.main-nav a { text-decoration: none; font-size: 1rem; border-bottom: 1px solid transparent; padding: 5px 0; }
.main-nav a:hover, .main-nav a[aria-current="page"] { border-color: var(--gold); }
.menu-toggle { display: none; border: 1px solid var(--lavender-deep); border-radius: 999px; padding: 8px 14px; background: transparent; color: var(--ink); font: inherit; cursor: pointer; }
.hero {
  position: relative; overflow: hidden; isolation: isolate;
  background:
    radial-gradient(ellipse at 15% 90%, rgba(255,255,255,.72), transparent 42%),
    radial-gradient(ellipse at 82% 15%, rgba(255,255,255,.48), transparent 35%),
    linear-gradient(125deg, #d5d7ef, #f3e8dc 72%, #e4e4f3);
  border-bottom: 1px solid var(--line);
}
.hero::before {
  content: "☾  ✧       ✦          ✧      ☼       ✦";
  position: absolute; inset: 15px 2% auto; color: rgba(189,142,67,.6);
  font-size: clamp(1.2rem, 3vw, 2.4rem); letter-spacing: .65em; white-space: nowrap; pointer-events: none;
}
.hero-inner { max-width: 1180px; margin: auto; padding: 90px 24px 82px; text-align: center; position: relative; }
.eyebrow { text-transform: uppercase; letter-spacing: .22em; font: 600 .76rem 'DM Sans', sans-serif; color: var(--muted); }
h1, h2, h3 { font-weight: 500; line-height: 1.12; margin-top: 0; }
.hero h1 { font-size: clamp(2.6rem, 6.4vw, 5.2rem); font-style: italic; margin: 15px auto 18px; max-width: 900px; }
.hero .lead { font-size: clamp(1.2rem, 2.2vw, 1.7rem); font-style: italic; color: #454967; max-width: 730px; margin: 0 auto 30px; }
.button, .button:visited {
  display: inline-block; text-decoration: none; border: 1px solid var(--lavender-deep);
  background: var(--lavender-deep); color: white; padding: 12px 27px; border-radius: 999px;
  font: 600 .88rem 'DM Sans', sans-serif; letter-spacing: .02em; transition: transform .2s, background .2s;
}
.button:hover { transform: translateY(-2px); background: #6873a8; }
.button.secondary { background: transparent; color: var(--ink); border-color: var(--gold); }
.button.secondary:hover { background: rgba(255,255,255,.5); }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; max-width: 850px; margin: 38px auto 30px; }
.stat-card { padding: 17px 12px; border: 1px solid var(--line); background: rgba(255,250,241,.68); border-radius: 15px; }
.stat-number { display: block; font-size: 2.2rem; line-height: 1.1; color: #8a6138; }
.stat-label { display: block; font: 600 .76rem 'DM Sans', sans-serif; text-transform: uppercase; letter-spacing: .09em; color: var(--lavender-deep); margin: 0 0 7px; }
.stat-value { display: block; font-size: 1.15rem; line-height: 1.25; color: var(--ink); overflow-wrap: anywhere; }
.character-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 1050px; }
.character-stats .stat-card { min-height: 104px; display: flex; flex-direction: column; justify-content: center; }
.section { max-width: 1050px; margin: auto; padding: 68px 24px; }
.section-title { text-align: center; font-size: clamp(2.2rem, 4vw, 3.4rem); font-style: italic; margin-bottom: 12px; }
.section-intro { max-width: 740px; text-align: center; margin: 0 auto 35px; color: var(--muted); }
.title-rule { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 0 auto 20px; color: var(--gold); }
.title-rule::before, .title-rule::after { content: ""; width: 90px; height: 1px; background: var(--line); }
.about-grid { display: grid; grid-template-columns: 1.5fr .8fr; gap: 42px; align-items: center; }
.about-copy p { margin-top: 0; }
.moon-art {
  min-height: 280px; border: 1px solid var(--line); border-radius: 48% 48% 16px 16px;
  background: radial-gradient(circle at 50% 40%, rgba(255,255,255,.8), transparent 55%), linear-gradient(145deg, #eeeaf3, #f6e9d8);
  display: grid; place-items: center; color: var(--gold); font-size: 7rem;
}
.cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.card { background: rgba(255,255,255,.62); border: 1px solid rgba(189,142,67,.35); border-radius: 16px; padding: 24px; box-shadow: var(--shadow); }
.card h3 { font-size: 1.55rem; margin-bottom: 8px; }
.card p { margin: 0 0 12px; }
.card .small { font: .82rem 'DM Sans', sans-serif; color: var(--muted); }
.page-hero { background: linear-gradient(120deg, var(--lavender-pale), var(--cream-deep)); border-bottom: 1px solid var(--line); text-align: center; padding: 64px 24px 52px; }
.page-hero h1 { font-size: clamp(2.5rem, 5vw, 4rem); font-style: italic; margin: 8px 0 12px; }
.page-hero p { margin: auto; max-width: 700px; color: var(--muted); }
.content-panel { background: rgba(255,255,255,.48); border: 1px solid rgba(189,142,67,.35); padding: clamp(20px, 4vw, 36px); border-radius: 18px; }
.resume-row { display: grid; grid-template-columns: 145px 1fr; gap: 20px; padding: 18px 0; border-bottom: 1px solid rgba(125,134,184,.25); }
.resume-row:last-child { border-bottom: 0; }
.resume-year { font: 600 .82rem 'DM Sans', sans-serif; color: var(--lavender-deep); text-transform: uppercase; letter-spacing: .08em; }
.resume-row h3 { margin: 0 0 5px; font-size: 1.35rem; }
.resume-row p { margin: 0; color: var(--muted); }
.video-placeholder, .gallery-placeholder {
  min-height: 220px; border: 1px dashed var(--lavender-deep); border-radius: 13px;
  display: grid; place-items: center; text-align: center; padding: 25px;
  background: linear-gradient(135deg, rgba(201,204,236,.35), rgba(255,255,255,.55));
}
.video-placeholder .symbol { font-size: 3rem; color: var(--lavender-deep); display: block; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.gallery-placeholder { min-height: 300px; }
.gallery-placeholder span { display: block; color: var(--muted); font-size: .95rem; }
.writing-item { padding: 22px 0; border-bottom: 1px solid rgba(125,134,184,.25); }
.writing-item:last-child { border-bottom: 0; }
.writing-item h3 { margin-bottom: 6px; }
.tag { display: inline-block; font: 600 .72rem 'DM Sans', sans-serif; color: #555d91; background: var(--lavender-pale); border-radius: 999px; padding: 5px 10px; margin-bottom: 10px; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.contact-link { color: #555d91; text-underline-offset: 4px; overflow-wrap: anywhere; }
.site-footer { background: linear-gradient(110deg, var(--lavender), var(--lavender-pale)); border-top: 1px solid var(--line); }
.footer-inner { max-width: 1180px; margin: auto; padding: 23px 24px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.footer-inner p { margin: 0; font-size: .95rem; }
.social-links { display: flex; gap: 20px; flex-wrap: wrap; font: .75rem 'DM Sans', sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.social-links a { text-decoration: none; }
.social-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.note { color: var(--muted); font-size: .95rem; }
@media (max-width: 850px) {
  .header-inner { align-items: flex-start; flex-wrap: wrap; }
  .menu-toggle { display: block; margin-left: auto; }
  .main-nav { display: none; width: 100%; }
  .main-nav.open { display: block; }
  .main-nav ul { justify-content: flex-start; flex-direction: column; gap: 8px; padding: 12px 0 4px; }
  .main-nav a { display: inline-block; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .character-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .about-grid, .contact-grid { grid-template-columns: 1fr; }
  .moon-art { min-height: 190px; }
  .cards, .gallery-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) {
  body { font-size: 18px; }
  .header-inner { padding: 16px; }
  .brand { font-size: 1.8rem; }
  .hero-inner { padding: 72px 18px 58px; }
  .stats-grid { gap: 9px; }
  .stat-card { padding: 14px 7px; }
  .stat-number { font-size: 1.8rem; }
  .stat-label { font-size: .72rem; }
  .stat-value { font-size: 1rem; }
  .section { padding: 48px 18px; }
  .cards, .gallery-grid { grid-template-columns: 1fr; }
  .resume-row { grid-template-columns: 1fr; gap: 5px; }
  .gallery-placeholder { min-height: 220px; }
  .footer-inner { flex-direction: column; text-align: center; }
}


/* Hero portrait space: intentionally a placeholder until the actor adds a photo. */
.hero-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(230px, .75fr); align-items: center; gap: clamp(24px, 4vw, 54px); text-align: left; }
.hero-copy { min-width: 0; }
.hero-copy .hero h1 { text-align: left; }
.hero-copy .eyebrow { letter-spacing: .18em; }
.hero-copy .lead { margin-left: 0; margin-right: 0; }
.hero-copy .stats-grid { margin-left: 0; margin-right: 0; }
.headshot-frame {
  width: 100%; max-width: 360px; justify-self: center; padding: 10px;
  border: 1px solid var(--gold); border-radius: 48% 48% 18px 18px;
  background: rgba(255,250,241,.48); box-shadow: var(--shadow);
}
.headshot-placeholder {
  min-height: 410px; border: 1px dashed rgba(125,134,184,.75);
  border-radius: 46% 46% 12px 12px; display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center; gap: 12px;
  padding: 25px; color: var(--lavender-deep);
  background: radial-gradient(circle at 50% 35%, rgba(255,255,255,.8), transparent 58%), linear-gradient(150deg, #e8e8f5, #f7eadc);
  font: 600 .76rem 'DM Sans', sans-serif; letter-spacing: .13em;
}
.headshot-placeholder small { max-width: 180px; font: italic 1rem 'Cormorant Garamond', Georgia, serif; letter-spacing: 0; color: var(--muted); }
.headshot-sparkle { font-size: 2.4rem; color: var(--gold); }
@media (max-width: 850px) {
  .hero-layout { grid-template-columns: 1fr; text-align: center; }
  .hero-copy .eyebrow { text-align: center; }
  .hero-copy .hero h1, .hero-copy .lead { text-align: center; margin-left: auto; margin-right: auto; }
  .hero-copy .stats-grid { margin-left: auto; margin-right: auto; }
  .hero-copy .button { margin-top: 2px; }
  .headshot-frame { max-width: 300px; width: min(100%, 300px); }
  .headshot-placeholder { min-height: 340px; }
}


/* Requested hero order: heading, portrait placeholder, casting stats, CTA. */
.hero-layout { grid-template-columns: 1fr; text-align: center; }
.hero-copy { display: contents; }
.hero-copy .eyebrow { grid-row: 1; text-align: center; }
.hero-copy h1 { grid-row: 2; text-align: center; }
.hero-copy .lead { grid-row: 3; text-align: center; margin-left: auto; margin-right: auto; }
.headshot-frame { grid-row: 4; grid-column: 1; width: min(100%, 310px); margin: 12px auto 8px; }
.hero-copy .stats-grid { grid-row: 5; grid-column: 1; width: 100%; margin: 24px auto 28px; }
.hero-copy .button { grid-row: 6; grid-column: 1; justify-self: center; }
@media (min-width: 851px) {
  .hero-layout { max-width: 1080px; }
  .hero-copy { display: contents; }
  .hero-copy .eyebrow, .hero-copy h1, .hero-copy .lead { grid-column: 1; }
  .headshot-frame { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
  .hero-copy .stats-grid, .hero-copy .button { grid-column: 1 / -1; }
  .hero-copy .stats-grid { grid-row: 4; }
  .hero-copy .button { grid-row: 5; }
}


/* Refined, compact hero: portrait beside small casting-detail bubbles. */
.hero-inner { padding-top: 55px; padding-bottom: 48px; }
.hero-intro { max-width: 880px; margin: 0 auto 28px; text-align: center; }
.hero-intro h1 { font-size: clamp(2.4rem, 5.2vw, 4.35rem); margin: 12px auto; }
.hero-intro .lead { font-size: clamp(1.1rem, 2vw, 1.45rem); margin: 0 auto; max-width: 680px; }
.casting-profile {
  max-width: 790px; margin: 0 auto 24px; display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  align-items: center; gap: clamp(18px, 3vw, 32px);
}
.headshot-frame {
  width: 100%; max-width: 220px; justify-self: center; padding: 6px;
  border: 1px solid rgba(189,142,67,.72); border-radius: 20px;
  background: rgba(255,250,241,.55); box-shadow: 0 7px 20px rgba(45,43,66,.06);
}
.headshot-placeholder {
  min-height: 250px; border: 1px dashed rgba(125,134,184,.65);
  border-radius: 14px; display: flex; flex-direction: column; align-items: center;
  justify-content: center; text-align: center; gap: 9px; padding: 15px;
  color: var(--lavender-deep); font: 600 .68rem 'DM Sans', sans-serif;
  letter-spacing: .1em;
  background: radial-gradient(circle at 50% 35%, rgba(255,255,255,.82), transparent 58%), linear-gradient(150deg, #e8e8f5, #f7eadc);
}
.headshot-placeholder small { max-width: 150px; font: italic .95rem 'Cormorant Garamond', Georgia, serif; letter-spacing: 0; color: var(--muted); }
.headshot-sparkle { font-size: 1.8rem; color: var(--gold); }
.character-stats {
  max-width: none; width: 100%; margin: 0; display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
}
.character-stats .stat-card {
  min-height: 76px; padding: 12px 14px; border-radius: 999px;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  border: 1px solid rgba(189,142,67,.45); background: rgba(255,250,241,.7);
  box-shadow: none;
}
.character-stats .stat-label { font-size: .65rem; letter-spacing: .1em; margin-bottom: 3px; }
.character-stats .stat-value { font-size: 1.03rem; line-height: 1.15; text-align: center; }
.character-stats .stat-card:last-child { grid-column: 1 / -1; min-height: 66px; }
.hero-cta { margin-top: 0; }
@media (max-width: 560px) {
  .hero-inner { padding: 44px 16px 38px; }
  .hero-intro { margin-bottom: 22px; }
  .hero-intro h1 { font-size: clamp(2.1rem, 8vw, 2.8rem); }
  .hero-intro .lead { max-width: 360px; }
  .casting-profile { grid-template-columns: minmax(112px,  .78fr) minmax(0, 1.22fr); gap: 12px; margin-bottom: 22px; }
  .headshot-frame { padding: 4px; border-radius: 15px; }
  .headshot-placeholder { min-height: 205px; padding: 9px; border-radius: 11px; font-size: .58rem; }
  .headshot-placeholder small { font-size: .82rem; }
  .character-stats { gap: 7px; }
  .character-stats .stat-card { min-height: 63px; padding: 8px 5px; }
  .character-stats .stat-label { font-size: .56rem; letter-spacing: .06em; }
  .character-stats .stat-value { font-size: .88rem; }
  .character-stats .stat-card:last-child { min-height: 58px; }
}


/* Softer headshot treatment: a fine outline and almost no frame. */
.headshot-frame {
  padding: 3px;
  border: 1px solid rgba(189,142,67,.5);
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(45,43,66,.045);
  background: rgba(255,250,241,.28);
}
.headshot-placeholder {
  border: 1px dashed rgba(125,134,184,.38);
  border-radius: 11px;
}
@media (max-width: 560px) {
  .headshot-frame { padding: 2px; border-radius: 12px; }
  .headshot-placeholder { border-radius: 9px; }
}


/* Interactive horizontal headshot gallery */
/* Large editorial gallery: one prominent image at a time, browsed with arrows */
.gallery-carousel {
  position: relative;
  display: block;
  width: min(100%, 1180px);
  margin: 0 auto;
  padding: 0 clamp(0px, 1vw, 12px);
}
.gallery-stage { min-width: 0; position: relative; }
.gallery-slide { display: none; animation: galleryFade .25s ease; }
.gallery-slide.is-active { display: block; }
@keyframes galleryFade { from { opacity: .45; transform: translateX(5px); } to { opacity: 1; transform: translateX(0); } }
.gallery-photo-placeholder {
  width: 100%; max-width: none; aspect-ratio: 16 / 9; max-height: 72vh; min-height: 300px;
  margin: 0 auto; border: 1px solid rgba(189,142,67,.5); border-radius: 4px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 10px; padding: 20px; text-align: center; color: var(--lavender-deep);
  background: radial-gradient(circle at 50% 38%, rgba(255,255,255,.8), transparent 54%), linear-gradient(145deg,#e7e8f4,#f7eadc);
}
.gallery-photo-placeholder strong { font-size: 1.5rem; font-weight: 500; color: var(--ink); }
.gallery-photo-placeholder > span:last-child { font-size: .98rem; color: var(--muted); }
.gallery-photo-placeholder .photo-mark { font-size: 2.4rem; color: var(--gold); }
.gallery-photo-placeholder.tone-two { background: linear-gradient(145deg,#f1e3dd,#e6e7f3); }
.gallery-photo-placeholder.tone-three { background: linear-gradient(145deg,#e4e9e4,#f7ebdc); }
.gallery-photo-placeholder.tone-four { background: linear-gradient(145deg,#e4e1f0,#f1e3dc); }
.gallery-photo { display: block; width: 100%; max-width: none; max-height: 72vh; aspect-ratio: 16 / 9; object-fit: contain; background: #f4f0f8; margin: auto; border: 1px solid rgba(189,142,67,.5); border-radius: 4px; }
.gallery-caption { text-align: center; margin: 16px auto 0; display: flex; flex-direction: column; gap: 3px; }
.gallery-caption strong { font-size: 1.35rem; font-weight: 500; }
.gallery-caption span { color: var(--muted); font-size: 1rem; }
.gallery-arrow {
  position: absolute; z-index: 2; top: 50%; transform: translateY(-50%);
  width: 48px; height: 64px; border: 1px solid rgba(189,142,67,.55); border-radius: 3px;
  background: rgba(250,247,255,.88); color: var(--ink); font-size: 2.5rem; line-height: 1;
  cursor: pointer; display: grid; place-items: center; transition: background .2s, opacity .2s;
  box-shadow: 0 3px 14px rgba(39,32,55,.08);
}
.gallery-prev { left: 22px; }
.gallery-next { right: 22px; }
.gallery-arrow:hover { background: var(--lavender-pale); }
.gallery-arrow:focus-visible, .gallery-dot:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.gallery-controls { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 22px; }
.gallery-dots { display: flex; gap: 10px; align-items: center; }
.gallery-dot { width: 8px; height: 8px; border: 0; border-radius: 50%; padding: 0; background: #c5c5d9; cursor: pointer; }
.gallery-dot.is-active { background: var(--lavender-deep); outline: 1px solid var(--lavender-deep); outline-offset: 3px; }
.gallery-counter { margin: 0; font: .75rem 'DM Sans', sans-serif; color: var(--muted); letter-spacing: .08em; }
.gallery-help { text-align: center; margin: 15px auto 28px; }
.gallery-add-note { max-width: 800px; margin: 0 auto; overflow-wrap: anywhere; }
.gallery-add-note p { margin: 8px 0; }
@media (max-width: 560px) {
  .gallery-carousel { grid-template-columns: 34px minmax(0,1fr) 34px; gap: 6px; }
  .gallery-arrow { width: 32px; height: 32px; font-size: 1.6rem; }
  .gallery-photo-placeholder { min-height: 250px; max-height: 54vh; }
  .gallery-photo { max-height: 54vh; }
  .gallery-caption strong { font-size: 1.2rem; }
}

@media (max-width: 640px) {
  .gallery-photo-placeholder { aspect-ratio: 4 / 3; min-height: 240px; }
  .gallery-photo { aspect-ratio: 4 / 3; max-height: 58vh; }
  .gallery-arrow { width: 38px; height: 52px; font-size: 2rem; }
  .gallery-prev { left: 8px; }
  .gallery-next { right: 8px; }
  .gallery-caption strong { font-size: 1.2rem; }
}


/* Final mobile layout correction: portrait and casting bubbles remain side by side. */
@media (max-width: 560px) {
  .casting-profile {
    display: grid !important;
    grid-template-columns: minmax(105px, 0.82fr) minmax(0, 1.18fr) !important;
    align-items: center;
    gap: 10px !important;
    max-width: 100%;
    margin: 0 auto 22px !important;
  }
  .headshot-frame {
    width: 100% !important;
    max-width: 150px !important;
    justify-self: stretch !important;
    padding: 2px !important;
  }
  .headshot-placeholder {
    min-height: 205px !important;
    padding: 8px 5px !important;
    gap: 8px !important;
    font-size: .55rem !important;
  }
  .headshot-placeholder small { font-size: .78rem !important; }
  .headshot-sparkle { font-size: 1.55rem !important; }
  .character-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100%;
    min-width: 0;
  }
  .character-stats .stat-card {
    min-width: 0;
    min-height: 66px !important;
    padding: 7px 3px !important;
    border-radius: 50% !important;
    overflow-wrap: anywhere;
  }
  .character-stats .stat-label {
    font-size: .53rem !important;
    letter-spacing: .04em !important;
    margin-bottom: 3px;
  }
  .character-stats .stat-value {
    font-size: .78rem !important;
    line-height: 1.12 !important;
    overflow-wrap: anywhere;
  }
  .character-stats .stat-card:last-child {
    grid-column: 1 / -1;
    min-height: 48px !important;
    border-radius: 999px !important;
  }
  .hero-cta { margin-top: 0; }
}


/* Gallery should be an image-first, edge-to-edge viewing experience. */
.gallery-section {
  max-width: none;
  width: 100%;
  padding: 38px clamp(12px, 2.5vw, 32px) 70px;
}
.gallery-carousel {
  width: 100%;
  max-width: 1400px;
  padding: 0;
}
.gallery-photo-placeholder, .gallery-photo {
  width: 100%;
  max-width: none;
  aspect-ratio: 16 / 9;
  height: min(68vh, 760px);
  max-height: none;
  min-height: 0;
  border-radius: 3px;
}
.gallery-photo-placeholder { padding: 20px; }
.gallery-arrow {
  top: 50%;
  width: 48px;
  height: 64px;
}
.gallery-prev { left: 14px; }
.gallery-next { right: 14px; }
.gallery-caption, .gallery-controls, .gallery-help, .gallery-add-note { display: none !important; }
@media (max-width: 560px) {
  .gallery-section { padding: 28px 10px 55px; }
  .gallery-photo-placeholder, .gallery-photo {
    aspect-ratio: auto;
    height: 64vh;
    min-height: 390px;
    max-height: 680px;
  }
  .gallery-arrow {
    width: 38px;
    height: 54px;
    font-size: 2rem;
  }
  .gallery-prev { left: 8px; }
  .gallery-next { right: 8px; }
}


/* Definitive casting-profile layout override */
.hero .hero-inner .casting-profile {
  display: grid !important;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(18px, 3vw, 34px) !important;
  width: 100% !important;
  max-width: 820px !important;
  margin: 28px auto 24px !important;
}
.hero .hero-inner .profile-headshot {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 260px !important;
  justify-self: stretch !important;
  align-self: center !important;
}
.hero .hero-inner .profile-stats {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-content: center !important;
  align-self: center !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  gap: 10px !important;
}
.hero .hero-inner .profile-stats .stat-card {
  min-width: 0 !important;
  min-height: 74px !important;
  padding: 10px 8px !important;
  border-radius: 999px !important;
}
.hero .hero-inner .profile-stats .stat-card:last-child {
  grid-column: 1 / -1 !important;
  min-height: 60px !important;
}
@media (max-width: 560px) {
  .hero .hero-inner { padding: 38px 18px 42px !important; }
  .hero .hero-inner .hero-intro { margin-bottom: 24px !important; }
  .hero .hero-inner .hero-intro h1 {
    font-size: clamp(2rem, 7.5vw, 2.65rem) !important;
    line-height: 1.12 !important;
  }
  .hero .hero-inner .hero-intro .lead { font-size: 1.12rem !important; }
  .hero .hero-inner .casting-profile {
    grid-template-columns: minmax(112px, .9fr) minmax(0, 1.1fr) !important;
    gap: 10px !important;
    margin: 22px auto 22px !important;
    align-items: center !important;
  }
  .hero .hero-inner .profile-headshot {
    grid-column: 1 !important;
    grid-row: 1 !important;
    max-width: none !important;
    width: 100% !important;
  }
  .hero .hero-inner .headshot-placeholder {
    min-height: 205px !important;
    padding: 8px 5px !important;
    gap: 8px !important;
  }
  .hero .hero-inner .headshot-placeholder small { font-size: .78rem !important; }
  .hero .hero-inner .profile-stats {
    grid-column: 2 !important;
    grid-row: 1 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  .hero .hero-inner .profile-stats .stat-card {
    min-height: 62px !important;
    padding: 7px 3px !important;
    border-radius: 50% !important;
  }
  .hero .hero-inner .profile-stats .stat-label {
    font-size: .52rem !important;
    letter-spacing: .03em !important;
    margin-bottom: 3px !important;
  }
  .hero .hero-inner .profile-stats .stat-value {
    font-size: .76rem !important;
    line-height: 1.12 !important;
    overflow-wrap: anywhere !important;
  }
  .hero .hero-inner .profile-stats .stat-card:last-child {
    grid-column: 1 / -1 !important;
    min-height: 48px !important;
    border-radius: 999px !important;
  }
  .hero .hero-inner .hero-cta { margin-top: 0 !important; }
}

/* MERGED EDITORIAL HOME + LARGE SINGLE-PHOTO GALLERY */
body.merged-editorial{--mi:#252943;--ml:#686e96;--mp:#8588bd;--mc:#fbf6ed;--mg:#c7a16c;--mb:rgba(199,161,108,.62);margin:0;background:var(--mc);color:var(--mi);font-family:Lato,sans-serif}
.merged-editorial *{box-sizing:border-box}
.merged-editorial .site-header{position:relative;background:rgba(251,246,237,.97);border-bottom:1px solid rgba(199,161,108,.35);z-index:5}
.merged-nav{max-width:1320px;min-height:66px;padding:0 4.5%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.merged-brand{font:1.08rem 'Playfair Display',serif;letter-spacing:.17em;text-decoration:none;color:var(--mi);white-space:nowrap}.merged-brand span{color:var(--mg)}
.merged-links{display:flex;align-items:center;gap:clamp(14px,2.2vw,30px)}.merged-links a{font: .95rem 'Playfair Display',serif;color:var(--mi);text-decoration:none;padding:8px 0;border-bottom:1px solid transparent}.merged-links a:hover,.merged-links a[aria-current=page]{border-bottom-color:var(--mi)}.merged-links .merged-contact-link{border:1px solid var(--mg);border-radius:22px;padding:8px 16px}
.merged-menu{display:none;background:none;border:0;padding:8px;cursor:pointer}.merged-menu span{display:block;width:23px;height:1px;background:var(--mi);margin:5px}
.merged-hero{max-width:1320px;margin:auto;padding:clamp(34px,5vw,68px) 4.5% 40px;display:grid;grid-template-columns:minmax(190px,.9fr) minmax(180px,.85fr) minmax(190px,.95fr);align-items:center;gap:clamp(18px,2.3vw,34px);background:radial-gradient(ellipse at 0 0,rgba(206,202,242,.42),transparent 38%),radial-gradient(ellipse at 100% 40%,rgba(231,220,243,.45),transparent 36%),var(--mc)}
.merged-eyebrow{font-size:.66rem;letter-spacing:.18em;color:var(--ml);margin:0 0 16px}.merged-eyebrow span{color:var(--mg)}.merged-intro h1{font:400 clamp(3.7rem,6.1vw,6.3rem)/.91 'Playfair Display',serif;letter-spacing:-.05em;margin:0}.merged-intro h1 em{font-weight:400}
.merged-rule{display:flex;align-items:center;gap:12px;max-width:230px;margin:21px 0 16px;color:var(--mg)}.merged-rule:before,.merged-rule:after{content:'';height:1px;background:var(--mb);flex:1}.merged-rule span{font-size:1.1rem}.merged-tagline{font:italic clamp(1.2rem,2vw,1.55rem)/1.4 'Playfair Display',serif;color:var(--ml);margin:0}
.merged-headshot{aspect-ratio:3/4;min-height:320px;border:1px solid var(--mb);border-radius:15px;background:radial-gradient(ellipse at 50% 28%,rgba(255,255,255,.55),transparent 25%),linear-gradient(145deg,#d7d2c4,#9c9b91 48%,#645e58);box-shadow:0 8px 28px rgba(43,40,60,.08);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:18px;color:#fff9f0;text-align:center}.merged-headshot span{align-self:flex-end;margin-bottom:auto;font-size:1.8rem;color:#f5d9a7}.merged-headshot strong{font-size:.72rem;letter-spacing:.2em}.merged-headshot small{font-size:.72rem;margin-top:8px}
.merged-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.merged-stats>div{min-height:66px;border:1px solid var(--mb);border-radius:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:9px 6px;background:rgba(255,255,255,.2)}.merged-stats small{font-size:.56rem;letter-spacing:.17em;color:var(--ml);margin-bottom:5px}.merged-stats strong{font:400 .92rem 'Playfair Display',serif}.merged-stats .merged-wide{grid-column:1/-1}.merged-cta{grid-column:1/-1;min-height:51px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:28px;background:var(--mp);color:white;text-decoration:none;font:1rem 'Playfair Display',serif}
.merged-divider{max-width:1220px;margin:auto;padding:0 4.5%;display:flex;align-items:center;gap:12px;color:var(--mg)}.merged-divider:before,.merged-divider:after{content:'';height:1px;background:var(--mb);flex:1}
.merged-about{max-width:1220px;margin:auto;padding:34px 4.5% 42px;display:grid;grid-template-columns:1fr .95fr;gap:clamp(28px,6vw,78px);align-items:center}.merged-about h2,.merged-contact-section h2{font:italic 400 clamp(2rem,3.2vw,3rem) 'Playfair Display',serif;margin:0 0 14px}.merged-about p{font:1rem/1.7 'Playfair Display',serif;color:#5d6074}.merged-outline{display:inline-flex;gap:12px;align-items:center;margin-top:5px;padding:10px 21px;border:1px solid var(--mg);border-radius:24px;color:var(--mi);text-decoration:none;font-family:'Playfair Display',serif}.merged-about-image{min-height:220px;border-radius:9px;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff7eb;background:linear-gradient(0deg,rgba(28,29,37,.65),transparent 65%),radial-gradient(ellipse at 35% 35%,#d6c5a4,transparent 24%),linear-gradient(135deg,#9c8f7c,#474344 70%)}.merged-about-image span{font-size:2rem}.merged-about-image small{font-family:'Playfair Display',serif}
.merged-contact-section{padding:32px 4.5% 38px;text-align:center;background:radial-gradient(ellipse at 10% 20%,rgba(204,201,240,.42),transparent 42%),#f4edf2;border-top:1px solid rgba(199,161,108,.2)}.merged-contact-section h2{font-size:clamp(1.65rem,2.5vw,2.2rem);font-style:normal;margin-bottom:7px}.merged-contact-section>p{font:1rem 'Playfair Display',serif;color:var(--ml);margin:0 0 24px}.merged-contact-cards{max-width:900px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:22px;text-align:left}.merged-contact-cards article{border:1px solid rgba(199,161,108,.48);border-radius:10px;padding:20px 24px;background:rgba(255,255,255,.18)}.merged-contact-cards small{font-size:.62rem;letter-spacing:.18em;color:var(--ml)}.merged-contact-cards h3{font:400 1.2rem 'Playfair Display',serif;margin:8px 0}.merged-contact-cards p{color:#5d6074;line-height:1.5}.merged-contact-cards a{color:var(--mi);overflow-wrap:anywhere}
.merged-editorial .site-footer{border-top:1px solid rgba(199,161,108,.3);background:var(--mc)}.merged-footer{max-width:1320px;margin:auto;padding:17px 4.5%;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#5d6074;font: .78rem 'Playfair Display',serif}.merged-footer p{margin:0}.merged-footer div{display:flex;gap:18px}.merged-footer a{color:var(--mi);text-decoration:none}
.merged-gallery-heading{text-align:center;padding:clamp(34px,5vw,62px) 20px 10px;background:radial-gradient(ellipse at 0 0,rgba(206,202,242,.42),transparent 38%),var(--mc)}.merged-gallery-heading h1{font:italic 400 clamp(3rem,6vw,5rem)/1.1 'Playfair Display',serif;margin:0}.merged-gallery-heading p{font:1.05rem 'Playfair Display',serif;color:var(--ml);margin:10px 0 0}.merged-gallery-heading .merged-rule{margin:20px auto 8px}
.merged-gallery-wrap{padding:10px 4.5% 42px}.merged-carousel{max-width:920px;margin:auto;position:relative}.merged-gallery-stage{position:relative;height:min(68vh,690px);min-height:390px;overflow:hidden;border-radius:10px;background:#e5dfd5}.merged-slide{position:absolute;inset:0;display:none;margin:0}.merged-slide.is-active{display:block}.merged-photo {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: 75vh;
  padding: 0;
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
  background: none;
}.merged-photo-two{background:radial-gradient(ellipse at 52% 32%,rgba(203,190,170,.55),transparent 22%),linear-gradient(135deg,#444347,#27272f 60%,#6e655e)}.merged-photo-three{background:radial-gradient(ellipse at 54% 32%,rgba(255,241,214,.72),transparent 25%),linear-gradient(140deg,#d5c4a6,#988a78 50%,#635b55)}.merged-photo-four{background:radial-gradient(ellipse at 50% 35%,rgba(255,255,255,.6),transparent 25%),linear-gradient(140deg,#c5b7a0,#9d8e7e 55%,#76695f)}.merged-photo span{font-size:2.2rem;color:#f3d8a8}.merged-photo strong{font-size:.8rem;letter-spacing:.22em}.merged-photo small{font-size:.82rem}.merged-slide figcaption{position:absolute;bottom:17px;left:0;right:0;text-align:center;color:white;text-shadow:0 1px 8px rgba(0,0,0,.7);font:1rem 'Playfair Display',serif}
.merged-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(35,37,53,.4);color:white;font:2rem/1 'Playfair Display',serif;cursor:pointer;display:grid;place-items:center}.merged-arrow:hover{background:rgba(35,37,53,.75)}.merged-prev{left:16px}.merged-next{right:16px}
@media(max-width:760px){.merged-nav{min-height:62px}.merged-menu{display:block}.merged-links{display:none;position:absolute;top:61px;left:0;right:0;background:var(--mc);border-bottom:1px solid var(--mb);padding:12px 5% 18px;flex-direction:column;align-items:stretch;gap:4px}.merged-links.nav-open{display:flex}.merged-links a{display:block;padding:10px 0}.merged-links .merged-contact-link{display:inline-block;align-self:flex-start;padding:8px 16px}.merged-hero{padding:30px 5% 28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.merged-intro{grid-column:1/-1}.merged-intro h1{font-size:clamp(3.6rem,17vw,5.2rem)}.merged-intro .merged-rule{margin:15px 0 12px}.merged-tagline br{display:none}.merged-headshot{min-height:240px}.merged-stats{gap:7px;align-self:center}.merged-stats>div{min-height:59px;padding:7px 4px}.merged-stats small{font-size:.5rem}.merged-stats strong{font-size:.78rem}.merged-cta{min-height:44px}.merged-about{grid-template-columns:1fr;padding:30px 5% 34px;gap:20px}.merged-about-image{min-height:175px}.merged-contact-section{padding:27px 5%}.merged-contact-cards{grid-template-columns:1fr;gap:12px}.merged-footer{align-items:flex-start;flex-direction:column;gap:10px;padding:17px 5%}.merged-gallery-heading{padding-top:34px}.merged-gallery-heading h1{font-size:3.2rem}.merged-gallery-heading p{font-size:.96rem}.merged-gallery-wrap{padding:12px 4% 28px}.merged-gallery-stage{height:64vh;min-height:390px}.merged-arrow{width:40px;height:40px}.merged-prev{left:10px}.merged-next{right:10px}}
@media(max-width:390px){.merged-headshot{min-height:210px}.merged-stats strong{font-size:.73rem}}

/* FINAL MERGE: arched portrait + spacious blue-tinted hero from the new concept */
.merged-editorial .merged-hero {
  grid-template-columns: minmax(190px, .9fr) minmax(180px, .85fr) minmax(190px, .95fr);
  background:
    radial-gradient(ellipse at 91% 15%, rgba(179,205,224,.54), transparent 34%),
    radial-gradient(ellipse at 2% 0%, rgba(228,218,245,.34), transparent 38%),
    var(--mc);
}
.merged-editorial .merged-arched-headshot {
  border-radius: 200px 200px 0 0;
  box-shadow: 18px 18px 0 #c7d8e9;
  border-color: rgba(199,161,108,.4);
  background:
    radial-gradient(ellipse at 50% 28%, rgba(255,255,255,.5), transparent 24%),
    linear-gradient(145deg, #c9c4b5, #85877f 48%, #56504c);
}
.merged-editorial .merged-cta {
  background: #c7d8e9;
  color: #252943;
  letter-spacing: .12em;
  text-transform: uppercase;
  font: 500 .72rem Lato, sans-serif;
}
.merged-editorial .merged-cta:hover { background: #b3cde0; }
.merged-editorial .merged-stats {
  align-self: center;
}
.merged-editorial .merged-stats > div {
  background: rgba(253,251,247,.42);
}
.merged-editorial .merged-divider {
  margin-top: 0;
}
@media (min-width: 761px) {
  .merged-editorial .merged-hero {
    min-height: 480px;
  }
}
@media (max-width: 760px) {
  .merged-editorial .merged-hero {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  }
  .merged-editorial .merged-arched-headshot {
    border-radius: 150px 150px 0 0;
    min-height: 225px;
    box-shadow: 10px 10px 0 #c7d8e9;
  }
}


/* Portfolio integration: writing, contact, and reel page refinements */
.writing-panel .section-intro { margin-bottom: 2rem; }
.writing-item { padding: 1.5rem 0; border-bottom: 1px solid rgba(120, 111, 150, .22); }
.writing-item:first-of-type { margin-top: 1rem; }
.writing-item:last-of-type { border-bottom: 0; }
.writing-item h2 { margin: .65rem 0 .55rem; }
.writing-tag { display: inline-block; color: #8d784f; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.writing-note { margin-top: 1.25rem; font-size: .9rem; opacity: .78; }
.reel-video { width: 100%; max-width: 900px; margin: 1.5rem auto; }
.reel-video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
.reel-video .video-placeholder { min-height: 260px; }
.contact-page-panel .contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.contact-page-panel .card { padding: 1.5rem; }
.contact-page-panel .contact-link { display: inline-block; margin-top: .5rem; }
.gallery-help { margin: 1rem auto 2rem; text-align: center; font-size: .85rem; opacity: .75; }
@media (max-width: 680px) { .contact-page-panel .contact-grid { grid-template-columns: 1fr; } }


/* Homepage social links beside Get in Touch */
.merged-contact-title-row { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 7px; }
.merged-contact-title-row h2 { margin: 0; }
.merged-social-links { display: inline-flex; align-items: center; gap: 9px; }
.merged-social-icon { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(199,161,108,.75); border-radius: 50%; color: var(--mi); text-decoration: none; transition: background .2s ease, transform .2s ease; }
.merged-social-icon:hover { background: rgba(255,255,255,.65); transform: translateY(-1px); }
.merged-social-icon svg { width: 18px; height: 18px; display: block; }
.merged-social-icon.merged-imdb-icon { width: 40px; height: 25px; border-radius: 5px; font: 700 .72rem/1 Arial, sans-serif; letter-spacing: -.04em; }
@media (max-width: 480px) { .merged-contact-title-row { gap: 11px; flex-wrap: wrap; } .merged-social-icon { width: 32px; height: 32px; } }

/* Fix gallery photos without stretching */
.merged-gallery-stage .merged-slide img.merged-photo {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}

/* Keep the carousel centered */
.merged-gallery-stage .merged-slide {
  align-items: center;
  justify-content: center;
}

/* Keep images inside the available gallery space */
.merged-gallery-stage {
  overflow: hidden;
}

.merged-arched-headshot {
  display: block;
  width: 100%;
  max-width: 320px;
  height: 420px;
  object-fit: cover;
  object-position: center top;
  margin: 0 auto;
}

img.merged-about-image {
  display: block !important;
  width: 100% !important;
  max-width: 320px !important;
  height: 350px !important;
  min-height: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  margin: 0 auto !important;
  flex: none !important;
}